mirror of https://github.com/vuejs/core.git
fix: add the external for dts config
This commit is contained in:
parent
d754e71dff
commit
13ac153333
|
@ -8,7 +8,7 @@
|
|||
"build": "node scripts/build.js",
|
||||
"build-rollup": "node scripts/build-with-rollup.js",
|
||||
"build-dts": "node scripts/build-types.js",
|
||||
"build-dts-tsc": "tsc -p tsconfig.build.json --noCheck && rollup -c rollup.dts.config.js",
|
||||
"build-dts-tsc": "tsc -p tsconfig.build.json --noCheck && rolldown -c rolldown.dts.config.js",
|
||||
"clean": "rimraf --glob packages/*/dist temp .eslintcache",
|
||||
"size": "run-s \"size-*\" && node scripts/usage-size.js",
|
||||
"size-global": "node scripts/build.js vue runtime-dom -f global -p --size",
|
||||
|
|
|
@ -4,6 +4,9 @@ import { parseSync } from 'oxc-parser'
|
|||
import { existsSync, readFileSync, readdirSync, writeFileSync } from 'node:fs'
|
||||
import MagicString from 'magic-string'
|
||||
import { dts } from 'rolldown-plugin-dts'
|
||||
import { createRequire } from 'node:module'
|
||||
import { fileURLToPath } from 'node:url'
|
||||
import path from 'node:path'
|
||||
|
||||
if (!existsSync('temp/packages')) {
|
||||
console.warn(
|
||||
|
@ -12,12 +15,24 @@ if (!existsSync('temp/packages')) {
|
|||
process.exit(1)
|
||||
}
|
||||
|
||||
const require = createRequire(import.meta.url)
|
||||
const __dirname = fileURLToPath(new URL('.', import.meta.url))
|
||||
const packagesDir = path.resolve(__dirname, 'packages')
|
||||
|
||||
const packages = readdirSync('temp/packages')
|
||||
const targets = process.env.TARGETS ? process.env.TARGETS.split(',') : null
|
||||
const targetPackages = targets
|
||||
? packages.filter(pkg => targets.includes(pkg))
|
||||
: packages
|
||||
|
||||
function resolveExternal(packageName) {
|
||||
const pkg = require(`${packagesDir}/${packageName}/package.json`)
|
||||
return [
|
||||
...Object.keys(pkg.dependencies || {}),
|
||||
...Object.keys(pkg.peerDependencies || {}),
|
||||
]
|
||||
}
|
||||
|
||||
export default targetPackages.map(
|
||||
/** @returns {import('rolldown').BuildOptions} */
|
||||
pkg => {
|
||||
|
@ -27,6 +42,7 @@ export default targetPackages.map(
|
|||
file: `packages/${pkg}/dist/${pkg}.d.ts`,
|
||||
format: 'es',
|
||||
},
|
||||
external: resolveExternal(pkg),
|
||||
plugins: [dts(), patchTypes(pkg), ...(pkg === 'vue' ? [copyMts()] : [])],
|
||||
onwarn(warning, warn) {
|
||||
// during dts rolldown, everything is externalized by default
|
||||
|
|
Loading…
Reference in New Issue