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": "node scripts/build.js",
|
||||||
"build-rollup": "node scripts/build-with-rollup.js",
|
"build-rollup": "node scripts/build-with-rollup.js",
|
||||||
"build-dts": "node scripts/build-types.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",
|
"clean": "rimraf --glob packages/*/dist temp .eslintcache",
|
||||||
"size": "run-s \"size-*\" && node scripts/usage-size.js",
|
"size": "run-s \"size-*\" && node scripts/usage-size.js",
|
||||||
"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",
|
||||||
|
|
|
@ -4,6 +4,9 @@ import { parseSync } from 'oxc-parser'
|
||||||
import { existsSync, readFileSync, readdirSync, writeFileSync } from 'node:fs'
|
import { existsSync, readFileSync, readdirSync, writeFileSync } from 'node:fs'
|
||||||
import MagicString from 'magic-string'
|
import MagicString from 'magic-string'
|
||||||
import { dts } from 'rolldown-plugin-dts'
|
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')) {
|
if (!existsSync('temp/packages')) {
|
||||||
console.warn(
|
console.warn(
|
||||||
|
@ -12,12 +15,24 @@ if (!existsSync('temp/packages')) {
|
||||||
process.exit(1)
|
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 packages = readdirSync('temp/packages')
|
||||||
const targets = process.env.TARGETS ? process.env.TARGETS.split(',') : null
|
const targets = process.env.TARGETS ? process.env.TARGETS.split(',') : null
|
||||||
const targetPackages = targets
|
const targetPackages = targets
|
||||||
? packages.filter(pkg => targets.includes(pkg))
|
? packages.filter(pkg => targets.includes(pkg))
|
||||||
: packages
|
: packages
|
||||||
|
|
||||||
|
function resolveExternal(packageName) {
|
||||||
|
const pkg = require(`${packagesDir}/${packageName}/package.json`)
|
||||||
|
return [
|
||||||
|
...Object.keys(pkg.dependencies || {}),
|
||||||
|
...Object.keys(pkg.peerDependencies || {}),
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
export default targetPackages.map(
|
export default targetPackages.map(
|
||||||
/** @returns {import('rolldown').BuildOptions} */
|
/** @returns {import('rolldown').BuildOptions} */
|
||||||
pkg => {
|
pkg => {
|
||||||
|
@ -27,6 +42,7 @@ export default targetPackages.map(
|
||||||
file: `packages/${pkg}/dist/${pkg}.d.ts`,
|
file: `packages/${pkg}/dist/${pkg}.d.ts`,
|
||||||
format: 'es',
|
format: 'es',
|
||||||
},
|
},
|
||||||
|
external: resolveExternal(pkg),
|
||||||
plugins: [dts(), patchTypes(pkg), ...(pkg === 'vue' ? [copyMts()] : [])],
|
plugins: [dts(), patchTypes(pkg), ...(pkg === 'vue' ? [copyMts()] : [])],
|
||||||
onwarn(warning, warn) {
|
onwarn(warning, warn) {
|
||||||
// during dts rolldown, everything is externalized by default
|
// during dts rolldown, everything is externalized by default
|
||||||
|
|
Loading…
Reference in New Issue