mirror of https://github.com/vuejs/core.git
feat: size report for runtime vapor
This commit is contained in:
parent
2a0a3dd059
commit
c92cdd26c4
|
@ -11,7 +11,7 @@
|
||||||
"size": "run-s \"size-*\" && tsx scripts/usage-size.ts",
|
"size": "run-s \"size-*\" && tsx scripts/usage-size.ts",
|
||||||
"size-global": "node scripts/build.js vue runtime-dom -f global -p --size",
|
"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-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",
|
"check": "tsc --incremental --noEmit",
|
||||||
"lint": "eslint --cache --ext .ts packages/*/{src,__tests__}/**.ts",
|
"lint": "eslint --cache --ext .ts packages/*/{src,__tests__}/**.ts",
|
||||||
"format": "prettier --write --cache \"**/*.[tj]s?(x)\"",
|
"format": "prettier --write --cache \"**/*.[tj]s?(x)\"",
|
||||||
|
|
|
@ -7,17 +7,23 @@ import replace from '@rollup/plugin-replace'
|
||||||
import { brotliCompressSync, gzipSync } from 'node:zlib'
|
import { brotliCompressSync, gzipSync } from 'node:zlib'
|
||||||
|
|
||||||
const sizeDir = path.resolve('temp/size')
|
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 {
|
interface Preset {
|
||||||
name: string
|
name: string
|
||||||
imports: string[]
|
imports: '*' | string[]
|
||||||
|
from: string
|
||||||
}
|
}
|
||||||
|
|
||||||
const presets: Preset[] = [
|
const presets: Preset[] = [
|
||||||
{ name: 'createApp', imports: ['createApp'] },
|
{ name: 'createApp', imports: ['createApp'], from: vue },
|
||||||
{ name: 'createSSRApp', imports: ['createSSRApp'] },
|
{ name: 'createSSRApp', imports: ['createSSRApp'], from: vue },
|
||||||
{ name: 'defineCustomElement', imports: ['defineCustomElement'] },
|
{
|
||||||
|
name: 'defineCustomElement',
|
||||||
|
imports: ['defineCustomElement'],
|
||||||
|
from: vue
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'overall',
|
name: 'overall',
|
||||||
imports: [
|
imports: [
|
||||||
|
@ -27,8 +33,10 @@ const presets: Preset[] = [
|
||||||
'Transition',
|
'Transition',
|
||||||
'KeepAlive',
|
'KeepAlive',
|
||||||
'Suspense'
|
'Suspense'
|
||||||
]
|
],
|
||||||
}
|
from: vue
|
||||||
|
},
|
||||||
|
{ name: 'vapor', imports: '*', from: vapor }
|
||||||
]
|
]
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
@ -53,7 +61,11 @@ async function main() {
|
||||||
|
|
||||||
async function generateBundle(preset: Preset) {
|
async function generateBundle(preset: Preset) {
|
||||||
const id = 'virtual:entry'
|
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({
|
const result = await rollup({
|
||||||
input: id,
|
input: id,
|
||||||
plugins: [
|
plugins: [
|
||||||
|
|
Loading…
Reference in New Issue