From: Eduardo San Martin Morote Date: Wed, 15 Oct 2025 08:25:35 +0000 (+0200) Subject: build: add deprecated vue-router.esm-bundler export X-Git-Tag: v4.6.1~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9b22edcff3acd9782dd86257b2744c1ae35a455e;p=thirdparty%2Fvuejs%2Frouter.git build: add deprecated vue-router.esm-bundler export Close #2569 --- diff --git a/packages/router/tsdown.config.ts b/packages/router/tsdown.config.ts index 99d4ddf9..ba964155 100644 --- a/packages/router/tsdown.config.ts +++ b/packages/router/tsdown.config.ts @@ -1,5 +1,10 @@ import { type Options } from 'tsdown' import pkg from './package.json' with { type: 'json' } +import fs from 'node:fs/promises' +import { dirname, resolve } from 'node:path' +import { fileURLToPath } from 'node:url' + +const __dirname = dirname(fileURLToPath(import.meta.url)) const banner = ` /*! @@ -34,6 +39,17 @@ const commonOptions = { __FEATURE_PROD_DEVTOOLS__: `__VUE_PROD_DEVTOOLS__`, }, dts: false, + // TODO: remove in v5 + async onSuccess() { + // write a stub file for vue-router.esm-bundler.js + await fs.writeFile( + resolve(__dirname, 'dist/vue-router.esm-bundler.js'), + ` +console.warn("[vue-router]: importing from 'vue-router/dist/vue-router.esm-bundler.js' is deprecated. Use 'vue-router' directly.") +export * from './vue-router.mjs' +`.trimStart() + ) + }, } satisfies Options const esm = {