Remove critical CSS from your stylesheet after inlining it in your pages
If you don't understand the purpose of this module, refer to penthouse which extracts critical CSS from a file, but doesn't remove it. Using this tool you can take the styles produced by an extraction tool like penthouse and actually remove them from your stylesheet.
npm install cave --save
The cave
exposes a single function that takes the file path to a stylesheet and a string containing valid CSS you want to remove from the provided stylesheet.
The options
object contains the following properties.
Property | Description |
---|---|
css |
The CSS rules to remove from the stylesheet. e.g: a { color: #f00; } |
Cave will produce an AST and remove any matching rules, then the resulting CSS diff will be returned.
Cave works well with standard input.
cat path/to/file | cave <stylesheet> > slim.css
You can also pass in the critical CSS file as an option.
cave --css path/to/file <stylesheet> > slim.css
Run tests using npm
.
npm test
MIT