Log execution time for each plugin in a PostCSS instance.
npm install postcss-devtools> 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:
`js
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.
`
#### options
##### precise
Type: boolean false
Default:
This adds extra precision to the times that are reported.
##### silent
Type: boolean false
Default:
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.
`js
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
[ci]: https://travis-ci.org/postcss/postcss-devtools
[npm]: http://badge.fury.io/js/postcss-devtools
[postcss]: https://github.com/postcss/postcss