Log execution time for each plugin in a PostCSS instance.
MIT License
Log execution time for each plugin in a PostCSS instance.
With npm do:
npm install postcss-devtools --save-dev
Load postcss-devtools into a PostCSS instance and it will wrap each plugin with a function that logs the time taken for the plugin to perform its required task. Note that this plugin must be used with the asynchronous API:
var postcss = require('postcss');
var devtools = require('postcss-devtools');
var autoprefixer = require('autoprefixer');
var css = 'h1 { color: red }';
postcss([devtools(), autoprefixer()]).process(css).then(function (result) {
console.log('Done.');
});
//=> autoprefixer 37 ms
//=> Done.
Type: boolean
Default: false
This adds extra precision to the times that are reported.
Type: boolean
Default: false
Set this to true
to use your own logger for the output of this module.
Print a summary spanning across all files. Note that you should set
opts.silent
to true
to avoid outputting more than is necessary when calling
this function.
var postcss = require('postcss');
var devtools = require('postcss-devtools')({silent: true}); // disable summary for each css file
var autoprefixer = require('autoprefixer');
var cssOne = 'h1 { color: red }';
var cssTwo = 'h1 { color: blue }';
// View a summary for all plugins across all css files
Promise.all(
[
postcss([devtools, autoprefixer()]).process(cssOne),
postcss([devtools, autoprefixer()]).process(cssTwo)
]
).then(() => {
console.log('Done.');
devtools.printSummary();
});
//=> Done.
//=> Summary
//=> autoprefixer 73 ms
See the PostCSS documentation for examples for your environment.
Pull requests are welcome. If you add functionality, then please add unit tests to cover it.
MIT © Ben Briggs