Skip to content

Commit 0a16eae

Browse files
committed
chore: log stats in size script
1 parent 90caac4 commit 0a16eae

File tree

1 file changed

+26
-1
lines changed

1 file changed

+26
-1
lines changed

scripts/usage-size.ts

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,20 @@ import nodeResolve from '@rollup/plugin-node-resolve'
55
import { minify } from '@swc/core'
66
import replace from '@rollup/plugin-replace'
77
import { brotliCompressSync, gzipSync } from 'node:zlib'
8+
import { parseArgs } from 'node:util'
9+
import pico from 'picocolors'
10+
import prettyBytes from 'pretty-bytes'
11+
12+
const {
13+
values: { write },
14+
} = parseArgs({
15+
options: {
16+
write: {
17+
type: 'boolean',
18+
default: false,
19+
},
20+
},
21+
})
822

923
const sizeDir = path.resolve('temp/size')
1024
const entry = path.resolve('./packages/vue/dist/vue.runtime.esm-bundler.js')
@@ -34,6 +48,7 @@ const presets: Preset[] = [
3448
main()
3549

3650
async function main() {
51+
console.log()
3752
const tasks: ReturnType<typeof generateBundle>[] = []
3853
for (const preset of presets) {
3954
tasks.push(generateBundle(preset))
@@ -46,7 +61,7 @@ async function main() {
4661
await mkdir(sizeDir, { recursive: true })
4762
await writeFile(
4863
path.resolve(sizeDir, '_usages.json'),
49-
JSON.stringify(results),
64+
JSON.stringify(results, null, 2),
5065
'utf-8',
5166
)
5267
}
@@ -91,6 +106,16 @@ async function generateBundle(preset: Preset) {
91106
const gzip = gzipSync(minified).length
92107
const brotli = brotliCompressSync(minified).length
93108

109+
if (write) {
110+
await writeFile(path.resolve(sizeDir, preset.name + '.js'), bundled)
111+
}
112+
113+
console.log(
114+
`${pico.green(pico.bold(preset.name))} - min:${prettyBytes(
115+
size,
116+
)} / gzip:${prettyBytes(gzip)} / brotli:${prettyBytes(brotli)}`,
117+
)
118+
94119
return {
95120
name: preset.name,
96121
size,

0 commit comments

Comments
 (0)