unplugin-time-stat
v0.3.0
Published
Build time stat reporting for unplugin
Downloads
2,321
Maintainers
Readme
unplugin-time-stat
Build time stat reporting for unplugin.
🙋 Motivations
- 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
- webapck / rspack: stat json generated with the
🌟 Features
build time output console
custom hook
You can hook for build output time.
example for vite plugin case:
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
})
]
}
💿 Install
# Using npm
npm install unplugin-time-stat
# Using yarn
yarn add unplugin-time-stat
# Using pnpm
pnpm add unplugin-time-stat
# Using bun
bun add unplugin-time-stat
🚀 Usages
// vite.config.ts
import TimeStat from 'unplugin-time-stat/vite'
export default defineConfig({
plugins: [
TimeStat({
/* options */
})
]
})
build example: playground/
// rollup.config.js
import TimeStat from 'unplugin-time-stat/rollup'
export default {
plugins: [
TimeStat({
/* options */
})
]
}
// webpack.config.js
module.exports = {
/* ... */
plugins: [
require('unplugin-time-stat/webpack')({
/* options */
})
]
}
// nuxt.config.js
export default defineNuxtConfig({
modules: [
[
'unplugin-time-stat/nuxt',
{
/* options */
}
]
]
})
This module works for both Nuxt 2 and Nuxt Vite
// vue.config.js
module.exports = {
configureWebpack: {
plugins: [
require('unplugin-time-stat/webpack')({
/* options */
})
]
}
}
// esbuild.config.js
import { build } from 'esbuild'
import TimeStat from 'unplugin-time-stat/esbuild'
build({
plugins: [TimeStat()]
})
// 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.