From a3ce3edc850c482c84bd90372be732feb24cc3ae Mon Sep 17 00:00:00 2001 From: Eduardo San Martin Morote Date: Sun, 24 Aug 2025 17:41:13 +0200 Subject: [PATCH] build: add size check --- packages/router/size-checks/rollup.config.mjs | 108 +++++++++--------- .../size-checks/webRouter_experimental.js | 7 ++ scripts/check-size.mjs | 4 + 3 files changed, 66 insertions(+), 53 deletions(-) create mode 100644 packages/router/size-checks/webRouter_experimental.js diff --git a/packages/router/size-checks/rollup.config.mjs b/packages/router/size-checks/rollup.config.mjs index e0ec8a14..98cc8411 100644 --- a/packages/router/size-checks/rollup.config.mjs +++ b/packages/router/size-checks/rollup.config.mjs @@ -9,59 +9,61 @@ import { defineConfig } from 'rollup' const __dirname = path.dirname(fileURLToPath(import.meta.url)) -const config = defineConfig({ - external: ['vue'], - output: { - file: path.resolve(__dirname, './dist/webRouter.js'), - format: 'es', - }, - input: path.resolve(__dirname, './webRouter.js'), - plugins: [ - replace({ - preventAssignment: true, - values: { - __DEV__: 'false', - // this is only used during tests - __TEST__: 'false', - // If the build is expected to run directly in the browser (global / esm builds) - __BROWSER__: 'true', - // is targeting bundlers? - __BUNDLER__: 'false', - __GLOBAL__: 'false', - // is targeting Node (SSR)? - __NODE_JS__: 'false', - __VUE_PROD_DEVTOOLS__: 'false', - 'process.env.NODE_ENV': JSON.stringify('production'), - }, - }), - ts({ - check: false, - tsconfig: path.resolve(__dirname, '../tsconfig.json'), - cacheRoot: path.resolve(__dirname, '../node_modules/.rts2_cache'), - tsconfigOverride: { - compilerOptions: { - sourceMap: false, - declaration: false, - declarationMap: false, +const configs = ['webRouter', 'webRouter_experimental'].map(file => { + return defineConfig({ + external: ['vue'], + output: { + file: path.resolve(__dirname, `./dist/${file}.js`), + format: 'es', + }, + input: path.resolve(__dirname, `./${file}.js`), + plugins: [ + replace({ + preventAssignment: true, + values: { + __DEV__: 'false', + // this is only used during tests + __TEST__: 'false', + // If the build is expected to run directly in the browser (global / esm builds) + __BROWSER__: 'true', + // is targeting bundlers? + __BUNDLER__: 'false', + __GLOBAL__: 'false', + // is targeting Node (SSR)? + __NODE_JS__: 'false', + __VUE_PROD_DEVTOOLS__: 'false', + 'process.env.NODE_ENV': JSON.stringify('production'), }, - exclude: ['__tests__', 'test-dts'], - }, - }), - resolve(), - commonjs(), - terser({ - // uncomment to debug output size changes - // mangle: false, - format: { - comments: false, - }, - module: true, - compress: { - ecma: 2015, - pure_getters: true, - }, - }), - ], + }), + ts({ + check: false, + tsconfig: path.resolve(__dirname, '../tsconfig.json'), + cacheRoot: path.resolve(__dirname, '../node_modules/.rts2_cache'), + tsconfigOverride: { + compilerOptions: { + sourceMap: false, + declaration: false, + declarationMap: false, + }, + exclude: ['__tests__', 'test-dts'], + }, + }), + resolve(), + commonjs(), + terser({ + // uncomment to debug output size changes + // mangle: false, + format: { + comments: false, + }, + module: true, + compress: { + ecma: 2015, + pure_getters: true, + }, + }), + ], + }) }) -export default config +export default configs diff --git a/packages/router/size-checks/webRouter_experimental.js b/packages/router/size-checks/webRouter_experimental.js new file mode 100644 index 00000000..97fbf59a --- /dev/null +++ b/packages/router/size-checks/webRouter_experimental.js @@ -0,0 +1,7 @@ +export { createWebHistory } from '../dist/vue-router.mjs' +export { + createFixedResolver, + experimental_createRouter, + normalizeRouteRecord, + MatcherPatternPathStatic, +} from '../dist/experimental/index.mjs' diff --git a/scripts/check-size.mjs b/scripts/check-size.mjs index e681b555..6f6ed7bd 100644 --- a/scripts/check-size.mjs +++ b/scripts/check-size.mjs @@ -40,6 +40,10 @@ async function checkFileSize(filePath) { __dirname, '../packages/router/dist/vue-router.global.prod.js' ), + path.resolve( + __dirname, + '../packages/router/size-checks/dist/webRouter_experimental.js' + ), ].map(checkFileSize) ) })() -- 2.47.3