Build time stat reporting for unplugin
npm install unplugin-time-stat[![npm version][npm-version-src]][npm-version-href]
[![CI][ci-src]][ci-href]
Build time stat reporting for unplugin.
- Each bundler has a different way of getting stats build times
- webapck / rspack: stat json generated with the --json or --analyzer option
- vite / rollup: stat via 3rd party plugin
You can hook for build output time.
example for vite plugin case:
``ts
import TimeStat from 'unplugin-time-stat/vite'
function metrics(buildTime, { start, end }) {
// Something hooking (ex. send metrics service like datadog)
// ...
// if you will return a string, it's output to console
return Build time: ${raw.end.getTime() - raw.start.getTime()}ms
}
export default {
plugins: [
TimeStat({
hook: metrics
})
]
}
`
`shUsing npm
npm install unplugin-time-stat
đ Usages
Vite
`ts
// vite.config.ts
import TimeStat from 'unplugin-time-stat/vite'export default defineConfig({
plugins: [
TimeStat({
/ options /
})
]
})
`playground/
Rollup
`ts
// rollup.config.js
import TimeStat from 'unplugin-time-stat/rollup'export default {
plugins: [
TimeStat({
/ options /
})
]
}
`
Webpack
`ts
// webpack.config.js
module.exports = {
/ ... /
plugins: [
require('unplugin-time-stat/webpack')({
/ options /
})
]
}
`
Nuxt
`ts
// nuxt.config.js
export default defineNuxtConfig({
modules: [
[
'unplugin-time-stat/nuxt',
{
/ options /
}
]
]
})
`> This module works for both Nuxt 2 and Nuxt Vite
Vue CLI
`ts
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [
require('unplugin-time-stat/webpack')({
/ options /
})
]
}
}
`
esbuild
`ts
// esbuild.config.js
import { build } from 'esbuild'
import TimeStat from 'unplugin-time-stat/esbuild'build({
plugins: [TimeStat()]
})
`
Rspack
`ts
// rspack.config.js
module.exports = {
/ ... /
plugins: [
require('unplugin-time-stat/rspack')({
/ options /
})
]
}
`
đ ī¸ Plugin options
See the here
đ Contributing guidelines
If you are interested in contributing to
unplugin-time-stat`, I highly recommend checking out the contributing guidelines here. You'll find all the relevant information such as how to make a PR, how to setup development) etc., there.[npm-version-src]: https://img.shields.io/npm/v/unplugin-time-stat?style=flat
[npm-version-href]: https://npmjs.com/package/unplugin-time-stat
[npm-downloads-src]: https://img.shields.io/npm/dm/unplugin-time-stat?style=flat
[npm-downloads-href]: https://npmjs.com/package/unplugin-time-stat
[ci-src]: https://github.com/kazupon/unplugin-time-stat/actions/workflows/ci.yml/badge.svg
[ci-href]: https://github.com/kazupon/unplugin-time-stat/actions/workflows/ci.yml