fix(externalizeDepsPlugin): supports subpath

This commit is contained in:
alex8088 2023-09-07 22:06:47 +08:00
parent 8a774ef76d
commit 566f88960e

View file

@ -19,13 +19,15 @@ export function externalizeDepsPlugin(options: ExternalOptions = {}): Plugin | n
let deps = Object.keys(pkg.dependencies || {}) let deps = Object.keys(pkg.dependencies || {})
if (include.length) { if (include.length) {
deps = deps.concat(include) deps = deps.concat(include.filter(dep => dep.trim() !== ''))
} }
if (exclude.length) { if (exclude.length) {
deps = deps.filter(dep => !exclude.includes(dep)) deps = deps.filter(dep => !exclude.includes(dep))
} }
deps = [...new Set(deps)]
return { return {
name: 'vite:externalize-deps', name: 'vite:externalize-deps',
enforce: 'pre', enforce: 'pre',
@ -33,7 +35,7 @@ export function externalizeDepsPlugin(options: ExternalOptions = {}): Plugin | n
const defaultConfig = { const defaultConfig = {
build: { build: {
rollupOptions: { rollupOptions: {
external: [...new Set(deps.map(d => new RegExp(`^${d}\/?.*`)))] external: deps.length > 0 ? [...deps, new RegExp(`^(${deps.join('|')})/.+`)] : []
} }
} }
} }