metalsmith-tracer v2.0.5
metalsmith-tracer
A tool to automatically trace and measure Metalsmith build time.
The Metalsmith build process has no progress output to indicate how many plugins have been processed and how many more are left. Build pipelines with a lot of plugins can take a long time to finish, and it's very difficult to know which plugins take the most time. This package is a wrapper around Metalsmith that outputs meaningful build progress.
Here is example console output when wrapped around the metalsmith/startbootstrap-clean-blog example:
------- Build process started -------
4.7ms (unnamed)
32.5ms (unnamed)
2.3ms @metalsmith/collections
0.4ms metalsmith.js
511.9ms @metalsmith/layouts
1.8s @metalsmith/sass
0.3ms metalsmith.js
2.4s Total build time
Build finishedInstallation
npm install --save metalsmith-tracerJavaScript Usage
This plugin requires ES6 syntax.
metalsmith-tracer wraps the root metalsmith call:
import path from 'path';
import Metalsmith from 'metalsmith';
import tracer from 'metalsmith-tracer';
tracer(Metalsmith(path.resolve()), {
// options here
})
.build((err) => {
if (err) {
throw err;
}
});Options
log (optional)
Type: (...data: unknown[]) => void Default: console.log
The logger function.
Limitations
setImmediate()Plugins that use
setImmediate()to call theirdonecallback will not print their real name due to howmetalsmith-traceruses the call stack.metalsmith-ifUsing
metalsmith-ifwill mask the name of the plugin actually being used.
Changelog
11 months ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago