You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

optimize-css-assets-webpack-plugin

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

optimize-css-assets-webpack-plugin - npm Package Compare versions

Comparing version

to
1.3.2

89

index.js

@@ -6,15 +6,15 @@ var _ = require('underscore');

this.options = options || {};
if (this.options.assetNameRegExp === undefined) {
this.options.assetNameRegExp = /\.css$/g;
}
if (this.options.cssProcessor === undefined) {
this.options.cssProcessor = require('cssnano');
}
if (this.options.cssProcessorOptions === undefined) {
this.options.cssProcessorOptions = {};
}
if (this.options.canPrint === undefined) {

@@ -27,3 +27,3 @@ this.options.canPrint = true;

if (this.options.canPrint) {
console.log.apply(console, arguments);
console.log.apply(console, arguments);
}

@@ -33,3 +33,3 @@ };

OptimizeCssAssetsPlugin.prototype.processCss = function(css, assetName) {
return this.options.cssProcessor.process(css, Object.assign({ to: assetName }, this.options.cssProcessorOptions));
return this.options.cssProcessor.process(css, Object.assign({ to: assetName }, this.options.cssProcessorOptions));
};

@@ -42,59 +42,62 @@

OptimizeCssAssetsPlugin.prototype.apply = function(compiler) {
var self = this;
compiler.plugin('emit', function(compilation, compileCallback) {
self.print('\nStarting to optimize CSS...');
var assets = compilation.assets;
var cssAssetNames = _.filter(
_.keys(assets),
function(assetName) {
_.keys(assets),
function(assetName) {
return assetName.match(self.options.assetNameRegExp);
}
);
var hasErrors = false;
var promises = [];
_.each(
cssAssetNames,
function(assetName) {
self.print('Processing ' + assetName + '...');
var asset = assets[assetName];
var originalCss = asset.source();
var promise = self.processCss(originalCss, assetName);
promise.then(
function (result) {
if (hasErrors) {
self.print('Skiping ' + assetName + ' because of an error.');
return;
var promise = self
.processCss(originalCss, assetName)
.then(
function (result) {
if (hasErrors) {
self.print('Skiping ' + assetName + ' because of an error.');
return;
}
var processedCss = result.css;
assets[assetName] = self.createCssAsset(processedCss, asset);
self.print('Processed ' + assetName + ', before: ' + originalCss.length + ', after: ' + processedCss.length + ', ratio: ' + (Math.round(((processedCss.length * 100) / originalCss.length) * 100) / 100) + '%');
}
var processedCss = result.css;
assets[assetName] = self.createCssAsset(processedCss, asset);
self.print('Processed ' + assetName + ', before: ' + originalCss.length + ', after: ' + processedCss.length + ', ratio: ' + (Math.round(((processedCss.length * 100) / originalCss.length) * 100) / 100) + '%');
}, function(err) {
hasErrors = true;
self.print('Error processing file: ' + assetName);
console.error(err);
}
);
).catch(function(err) {
hasErrors = true;
self.print('Error processing file: ' + assetName);
throw err;
}
);
promises.push(promise);
}
);
Promise.all(promises).then(function () { compileCallback(); }, compileCallback);
Promise.all(promises)
.then(function () { compileCallback(); })
.catch(compileCallback);
});

@@ -101,0 +104,0 @@ };

{
"name": "optimize-css-assets-webpack-plugin",
"version": "1.3.1",
"version": "1.3.2",
"author": "Nuno Rodrigues",

@@ -5,0 +5,0 @@ "description": "A Webpack plugin to optimize \\ minimize CSS assets.",