{"library":"purgecss-webpack-plugin","title":"PurgeCSS Webpack Plugin","description":"Webpack plugin to remove unused CSS using PurgeCSS. Version 8.0.0 (released 2025) is current stable; requires webpack 5 and ships TypeScript definitions. Key differentiators: supports mini-css-extract-plugin, dynamic paths via function for watch mode, safelist/blocklist options, and 'only' option to limit processing to specific entry points. Compatible with PurgeCSS configuration but excludes 'css' and 'content' options. Breaking changes in v8.0.0: reverted import pattern for PostCSS plugin back to default import. Release cadence: major versions every 1-2 years.","language":"javascript","status":"active","last_verified":"Sat Apr 25","install":{"commands":["npm install purgecss-webpack-plugin"],"cli":null},"imports":["import { PurgeCSSPlugin } from 'purgecss-webpack-plugin'","import type { PurgeCSSPlugin } from 'purgecss-webpack-plugin'","import { PurgeCSSPlugin } from 'purgecss-webpack-plugin';\nconst plugin: WebpackPluginInstance = new PurgeCSSPlugin({ paths: [] });"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"const path = require('path');\nconst glob = require('glob');\nconst MiniCssExtractPlugin = require('mini-css-extract-plugin');\nconst { PurgeCSSPlugin } = require('purgecss-webpack-plugin');\n\nconst PATHS = { src: path.join(__dirname, 'src') };\n\nmodule.exports = {\n  entry: './src/index.js',\n  output: {\n    filename: 'bundle.js',\n    path: path.join(__dirname, 'dist'),\n  },\n  module: {\n    rules: [\n      {\n        test: /\\.css$/,\n        use: [MiniCssExtractPlugin.loader, 'css-loader'],\n      },\n    ],\n  },\n  plugins: [\n    new MiniCssExtractPlugin({ filename: '[name].css' }),\n    new PurgeCSSPlugin({\n      paths: glob.sync(`${PATHS.src}/**/*`, { nodir: true }),\n    }),\n  ],\n};","lang":"javascript","description":"Basic webpack configuration with PurgeCSSPlugin and mini-css-extract-plugin to remove unused CSS.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}