element-plus/build/utils/rollup.ts
三咲智子 6447feb505
fix(build): fix dependencies packaging (#3665)
* Revert "fix(components): [el-date-picker] dayjs props not extended (#3662)"

This reverts commit fb8446709f.

* fix(build): fix rollup externals
2021-09-27 00:23:27 +08:00

28 lines
875 B
TypeScript

import { epPackage } from './paths'
import { getWorkspacePackages, getPackageDependencies } from './pkg'
import type { OutputOptions, RollupBuild } from 'rollup'
export const generateExternal = async (options: { full: boolean }) => {
const monoPackages = (await getWorkspacePackages())
.map((pkg) => pkg.manifest.name)
// filter root package
.filter((name): name is string => !!name)
return (id: string) => {
const packages: string[] = ['vue']
if (!options.full) {
const depPackages = getPackageDependencies(epPackage)
packages.push('@vue', ...monoPackages, ...depPackages)
}
return [...new Set(packages)].some(
(pkg) => id === pkg || id.startsWith(`${pkg}/`)
)
}
}
export function writeBundles(bundle: RollupBuild, options: OutputOptions[]) {
return Promise.all(options.map((option) => bundle.write(option)))
}