From: 三咲智子 Kevin Deng Date: Thu, 16 Nov 2023 19:15:12 +0000 (+0800) Subject: feat: size report for runtime vapor X-Git-Tag: v3.6.0-alpha.1~16^2~846 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c92cdd26c436680bfd61d86060a4e96c1157770f;p=thirdparty%2Fvuejs%2Fcore.git feat: size report for runtime vapor --- diff --git a/package.json b/package.json index 8c34405c92..421313741a 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 1a1013b784..7c96136bc5 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: [