From c92cdd26c436680bfd61d86060a4e96c1157770f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Fri, 17 Nov 2023 03:15:12 +0800 Subject: [PATCH] feat: size report for runtime vapor --- package.json | 2 +- scripts/usage-size.ts | 28 ++++++++++++++++++++-------- 2 files changed, 21 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 8c34405c9..421313741 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "size": "run-s \"size-*\" && tsx scripts/usage-size.ts", "size-global": "node scripts/build.js vue runtime-dom -f global -p --size", "size-esm-runtime": "node scripts/build.js vue -f esm-bundler-runtime", - "size-esm": "node scripts/build.js runtime-dom runtime-core reactivity shared -f esm-bundler", + "size-esm": "node scripts/build.js runtime-dom runtime-vapor runtime-core reactivity shared -f esm-bundler", "check": "tsc --incremental --noEmit", "lint": "eslint --cache --ext .ts packages/*/{src,__tests__}/**.ts", "format": "prettier --write --cache \"**/*.[tj]s?(x)\"", diff --git a/scripts/usage-size.ts b/scripts/usage-size.ts index 1a1013b78..7c96136bc 100644 --- a/scripts/usage-size.ts +++ b/scripts/usage-size.ts @@ -7,17 +7,23 @@ import replace from '@rollup/plugin-replace' import { brotliCompressSync, gzipSync } from 'node:zlib' const sizeDir = path.resolve('temp/size') -const entry = path.resolve('./packages/vue/dist/vue.runtime.esm-bundler.js') +const vue = path.resolve('./packages/vue/dist/vue.runtime.esm-bundler.js') +const vapor = path.resolve('./packages/vue/vapor/index.mjs') interface Preset { name: string - imports: string[] + imports: '*' | string[] + from: string } const presets: Preset[] = [ - { name: 'createApp', imports: ['createApp'] }, - { name: 'createSSRApp', imports: ['createSSRApp'] }, - { name: 'defineCustomElement', imports: ['defineCustomElement'] }, + { name: 'createApp', imports: ['createApp'], from: vue }, + { name: 'createSSRApp', imports: ['createSSRApp'], from: vue }, + { + name: 'defineCustomElement', + imports: ['defineCustomElement'], + from: vue + }, { name: 'overall', imports: [ @@ -27,8 +33,10 @@ const presets: Preset[] = [ 'Transition', 'KeepAlive', 'Suspense' - ] - } + ], + from: vue + }, + { name: 'vapor', imports: '*', from: vapor } ] main() @@ -53,7 +61,11 @@ async function main() { async function generateBundle(preset: Preset) { const id = 'virtual:entry' - const content = `export { ${preset.imports.join(', ')} } from '${entry}'` + const exportSpecifiers = + preset.imports === '*' + ? `* as ${preset.name}` + : `{ ${preset.imports.join(', ')} }` + const content = `export ${exportSpecifiers} from '${preset.from}'` const result = await rollup({ input: id, plugins: [