🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

postcss-partial-import

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-partial-import - npm Package Compare versions

Comparing version

to
1.3.0

6

CHANGELOG.md

@@ -0,1 +1,7 @@

## 1.3.0 (2015-09-14)
Added: Support for generating imported files
Updated: Switched to `fs-promise` from `fs` and `mkdirp`
Updated: Switched to `assign` from `_extend`
## 1.2.0 (2015-09-09)

@@ -2,0 +8,0 @@

42

index.js

@@ -1,16 +0,18 @@

var extend = require('util')._extend;
var fs = require('fs');
var assign = require('object-assign');
var fs = require('fs-promise');
var hash = require('string-hash');
var mkdirp = require('mkdirp');
var path = require('path');
var postcss = require('postcss');
var readFile = require('fs-readfile-promise');
module.exports = postcss.plugin('postcss-partial-import', function (opts) {
var cacheDir = opts && opts.cachedir;
var cacheFile = cacheDir && path.join(cacheDir, 'imports.json');
var enc = opts && opts.encoding || 'utf8';
var ext = opts && opts.extension || 'css';
var pre = opts && opts.prefix || '_';
opts = assign({
encoding: 'utf8',
extension: 'css',
prefix: '_'
}, opts);
if (opts.cachedir) {
opts.cachefile = path.join(opts.cachedir, 'imports.json');
}
var getModified = function (filename) {

@@ -52,5 +54,5 @@ return fs.statSync(filename).mtime.getTime();

readFile(fileCache, { encoding: enc }).then(function (contents) {
fs.readFile(fileCache, { encoding: opts.encoding }).then(function (contents) {
var processor = postcss();
var options = extend({}, result.opts);
var options = assign({}, result.opts);

@@ -67,3 +69,3 @@ options.from = filename;

var getPath = function (file, fromPath) {
if (!path.extname(file)) file = path.join(path.dirname(file), pre + path.basename(file) + '.' + ext);
if (!path.extname(file)) file = path.join(path.dirname(file), opts.prefix + path.basename(file) + '.' + opts.extension);

@@ -88,5 +90,7 @@ return path.resolve(path.dirname(fromPath), file);

readFile(file, { encoding: enc }).then(function (css) {
(opts.generate ? fs.ensureFile(file) : Promise.resolve()).then(function () {
return fs.readFile(file, { encoding: opts.encoding });
}).then(function (css) {
var processor = postcss();
var options = extend({}, result.opts);
var options = assign({}, result.opts);

@@ -148,3 +152,3 @@ options.from = file;

var output = css.toResult().css;
var cacheFilename = path.resolve(cacheDir, hash(output) + '.css');
var cacheFilename = path.resolve(opts.cachedir, hash(output) + '.css');

@@ -167,7 +171,7 @@ cache[fromPath].cache = cacheFilename;

if (cacheDir) {
mkdirp.sync(cacheDir);
if (opts.cachedir) {
fs.mkdirsSync(opts.cachedir);
try {
cache = require(cacheFile);
cache = require(opts.cachefile);
} catch (error) {

@@ -179,3 +183,3 @@ cache = {};

parseStyles(css, result, cache).then(function () {
if (cache) fs.writeFileSync(cacheFile, JSON.stringify(cache));
if (cache) fs.writeFileSync(opts.cachefile, JSON.stringify(cache));

@@ -182,0 +186,0 @@ resolve();

{
"name": "postcss-partial-import",
"version": "1.2.0",
"version": "1.3.0",
"description": "PostCSS plugin that imports like Sass",

@@ -25,5 +25,6 @@ "keywords": [

"dependencies": {
"fs-readfile-promise": "^2.0.1",
"mkdirp": "^0.5.1",
"postcss": "^5.0.4",
"fs-extra": "^0.24.0",
"fs-promise": "^0.3.1",
"object-assign": "^4.0.1",
"postcss": "^5.0.5",
"string-hash": "^1.1.0"

@@ -30,0 +31,0 @@ },