Registry /
devops / optimize-css-assets-webpack-plugin
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslnode 18–226 runs
build_error
glibcnode 18–226 runs
build_error
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
OptimizeCssAssetsPlugin
✓ const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
✗ import OptimizeCssAssetsPlugin from 'optimize-css-assets-webpack-plugin';
CommonJS require is the recommended pattern; ESM import may fail if the package does not provide an ESM entry.
OptimizeCssAssetsPlugin
✓ const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
✗ const { OptimizeCssAssetsPlugin } = require('optimize-css-assets-webpack-plugin');
The package exports a single constructor function, not a named export. Destructuring will result in undefined.
OptimizeCssAssetsPlugin
✓ const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
✗ const Opt = require('optimize-css-assets-webpack-plugin').default;
CommonJS module does not have a default export; accessing .default yields undefined.
Configures webpack v4 with extract-text-webpack-plugin and optimize-css-assets-webpack-plugin to extract CSS into a separate file and minimize it using cssnano.
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js'
},
module: {
rules: [
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: 'css-loader'
})
}
]
},
plugins: [
new ExtractTextPlugin('styles.css'),
new OptimizeCssAssetsPlugin({
assetNameRegExp: /\.optimize\.css$/g,
cssProcessor: require('cssnano'),
cssProcessorPluginOptions: {
preset: ['default', { discardComments: { removeAll: true } }]
},
canPrint: true
})
]
};
Errors
Common errors & fixes
TypeError: OptimizeCssAssetsPlugin is not a constructor
Using import statement that returns an object without default export.
fixUse const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); Error: Cannot find module 'cssnano'
cssnano is not installed; it is required as a peer or direct dependency.
fixnpm install --save-dev cssnano
Error: webpack < 4 is not supported
Using webpack v3 with v4+ of the plugin.
fixUse optimize-css-assets-webpack-plugin@3.2.0 for webpack v3.
Audit
Dependencies
webpackrequiredPeer dependency; plugin runs as a webpack plugin