diff --git a/packages/router/add-dts-module-augmentation.mjs b/packages/router/add-dts-module-augmentation.mjs new file mode 100644 index 000000000..84d738583 --- /dev/null +++ b/packages/router/add-dts-module-augmentation.mjs @@ -0,0 +1,24 @@ +import * as fs from 'node:fs/promises' + +async function patchVueRouterDts() { + const content = await fs.readFile('./src/globalExtensions.ts', { + encoding: 'utf-8', + }) + const moduleAugmentationIdx = content.indexOf('/**') + if (moduleAugmentationIdx === -1) { + throw new Error( + 'Cannot find module augmentation in globalExtensions.ts, first /** comment is expected to start module augmentation' + ) + } + const targetContent = await fs.readFile('./dist/vue-router.d.ts', { + encoding: 'utf-8', + }) + await fs.writeFile( + './dist/vue-router.d.ts', + `${targetContent} +${content.slice(moduleAugmentationIdx)}`, + { encoding: 'utf8' } + ) +} + +patchVueRouterDts() diff --git a/packages/router/package.json b/packages/router/package.json index ba06a10be..d519c72c1 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -91,7 +91,7 @@ "dev": "vitest --ui", "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 1", "build": "rimraf dist && rollup -c rollup.config.mjs", - "build:dts": "api-extractor run --local --verbose && tail -n +10 src/globalExtensions.ts >> dist/vue-router.d.ts", + "build:dts": "api-extractor run --local --verbose && node ./add-dts-module-augmentation.mjs", "build:playground": "vue-tsc --noEmit && vite build --config playground/vite.config.ts", "build:e2e": "vue-tsc --noEmit && vite build --config e2e/vite.config.mjs", "build:size": "pnpm run build && rollup -c size-checks/rollup.config.mjs",