razzle-plugin-purgecss
v1.0.1
Published
Razzle plugin to Remove unused CSS
Readme
Razzle Plugin PurgeCSS
This package contains a plugin to Remove unused CSS with Razzle.
Usage in Razzle Projects
Install
razzle-plugin-purgecssif you're using
yarnyarn add razzle-plugin-purgecss --devif you're using
npmnpm install razzle-plugin-purgecss --save-devcreate a
razzle.config.jsfile in root directory of project (next to the package.json) and put this content inside it// razzle.config.js const path = require('path'); module.exports = { plugins: [ { name: 'purgecss', options: { // This path options is required for PurgeCSS to analyzed all of yours content path: path.resolve(__dirname, 'src/**/*'), } } ], };
Options
only You can specify entrypoints to the
purgecsswith the optiononly:// razzle.config.js const path = require('path'); module.exports = { plugins: [ { name: 'purgecss', options: { path: path.resolve(__dirname, 'src/**/*'), only: ['bundle', 'vendor'], } } ], };whitelist (default: []) You can
whitelistselectors to stop PurgeCSS from removing them from your CSS. This can be accomplished with the optionswhitelistandwhitelistPatterns.// razzle.config.js const path = require('path'); module.exports = { plugins: [ { name: 'purgecss', options: { path: path.resolve(__dirname, 'src/**/*'), whitelist: ['random', 'yep', 'button'], } } ], };whitelistPatterns (default: []) You can whitelist selectors based on a regular expression with whitelistPatterns.
// razzle.config.js const path = require('path'); module.exports = { plugins: [ { name: 'purgecss', options: { path: path.resolve(__dirname, 'src/**/*'), whitelistPatterns: [/red$/], } } ], };keyframes (default: false) If you are using a CSS animation library such as animate.css, you can remove unused keyframes by setting the keyframes option to true.
// razzle.config.js const path = require('path'); module.exports = { plugins: [ { name: 'purgecss', options: { path: path.resolve(__dirname, 'src/**/*'), keyframes: true } } ], };fontFace (default: false) If there are any unused @font-face rules in your css, you can remove them by setting the fontFace option to true
// razzle.config.js const path = require('path'); module.exports = { plugins: [ { name: 'purgecss', options: { path: path.resolve(__dirname, 'src/**/*'), fontFace: true, } } ], };rejected (default: false) It can sometimes be more practical to scan through the removed list to see if there's anything obviously wrong. If you want to do it, use the rejected option.
// razzle.config.js const path = require('path'); module.exports = { plugins: [ { name: 'purgecss', options: { path: path.resolve(__dirname, 'src/**/*'), rejected: true, } } ], };
See PurgeCSS for more information.
