title | lang | meta | |||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Gatsby | PurgeCSS |
en-US |
|
::: tip This plugin has been created by @anantoghosh and this page is an extract from the ReadMe. You can find more information on the plugin repository :::
You can remove unused css from css/sass/less/stylus files and modules in your Gatsby project using PurgeCSS. Supports tailwind, bootstrap, bulma etc.
::: warning
This is NOT an install and forget type plugin. By default, it may remove required styles too.
:::
📘 Read the latest docs here. • Changelog •
When used in gatsby-starter-bootstrap
When used in gatsby-starter-bootstrap-cv (installed by default)
.css
,.module.css
.scss
,.sass
,.module.scss
,.module.sass
(via gatsby-plugin-sass).less
,.module.less
(via gatsby-plugin-less).styl
,.module.styl
(via gatsby-plugin-stylus)
npm i gatsby-plugin-purgecss
Add the plugin AFTER other css/postcss plugins
// gatsy-config.js
module.exports = {
plugins: [
`gatsby-plugin-stylus`,
`gatsby-plugin-sass`,
`gatsby-plugin-less`,
`gatsby-plugin-postcss`,
// Add after these plugins if used
{
resolve: `gatsby-plugin-purgecss`,
options: {
printRejected: true, // Print removed selectors and processed file names
// develop: true, // Enable while using `gatsby develop`
// tailwind: true, // Enable tailwindcss support
// whitelist: ['whitelist'], // Don't remove this selector
// ignore: ['/ignored.css', 'prismjs/', 'docsearch.js/'], // Ignore files/folders
// purgeOnly : ['components/', '/main.css', 'bootstrap/'], // Purge only these files/folders
}
}
]
};
- Define options in
gatsby-config.js
, notpurgecss.config.js
. - If using tailwindcss, use the
tailwind: true
option. - Use
printRejected: true
option to print the removed selectors. - Only files processed by Webpack will be purged.
my-selector
will not matchmySelector
.- Whitelist required selectors or ignore files/folder using the Whitelist Solutions guide.
- Ignore complete packages with
ignore: ['packagename/']
. - To only purge specific files/packages use
purgeOnly: ['fileOrPackage/']
. - Only
js, jsx, ts, tsx
files are scanned for selectors by default. If you want to addmd
ormdx
usecontent: [path.join(process.cwd(), 'src/**/!(*.d).{ts,js,jsx,tsx,md,mdx}')]
or better, just whitelist the required selectors.