mirror of
https://gitee.com/element-plus/element-plus.git
synced 2024-12-04 20:27:44 +08:00
4e99d0b5ba
* build!: simplify build & support native esm import * build: refactor build * refactor: reorganize files * refactor: refactor build * build: improve perf * fix: scripts * build: add rollup-plugin-filesize * chore: scripts ignore no-console * build: disable tree-shaking * build: improve code * build: add sourcemap * build: add banner * refactor: remove annotation * build!: improve esm exports (#3871) * build: improve esm import * refactor: change mjs for esm version * chore: improve exports map * fix: add sideEffects * refactor: improve alias * build: upgrade dependencies
30 lines
848 B
TypeScript
30 lines
848 B
TypeScript
import { EP_PKG, EP_PREFIX } from '../utils/constants'
|
|
import { getDistPackages } from '../utils/pkg'
|
|
import type { Plugin } from 'rollup'
|
|
|
|
export async function ElementPlusAlias(): Promise<Plugin> {
|
|
const pkgs = await getDistPackages()
|
|
|
|
return {
|
|
name: 'element-plus-alias-plugin',
|
|
resolveId(id, importer, options) {
|
|
if (!id.startsWith(EP_PREFIX)) return
|
|
|
|
const THEME_CHALK = `${EP_PREFIX}/theme-chalk`
|
|
if (id.startsWith(THEME_CHALK)) {
|
|
return {
|
|
id: id.replaceAll(THEME_CHALK, `${EP_PKG}/theme-chalk`),
|
|
external: 'absolute',
|
|
}
|
|
}
|
|
|
|
let updatedId = id
|
|
for (const pkg of pkgs) {
|
|
if (id.startsWith(pkg.name))
|
|
updatedId = updatedId.replace(pkg.name, pkg.dir)
|
|
}
|
|
return this.resolve(id, importer, { skipSelf: true, ...options })
|
|
},
|
|
}
|
|
}
|