diff --git a/build/build-info.ts b/build/build-info.ts index 05b7190546..349bd8e4be 100644 --- a/build/build-info.ts +++ b/build/build-info.ts @@ -8,6 +8,7 @@ export type Module = typeof modules[number] export interface BuildInfo { module: 'ESNext' | 'CommonJS' format: ModuleFormat + ext: 'mjs' | 'cjs' | 'js' output: { /** e.g: `es` */ name: string @@ -25,6 +26,7 @@ export const buildConfig: Record = { esm: { module: 'ESNext', format: 'esm', + ext: 'mjs', output: { name: 'es', path: path.resolve(epOutput, 'es'), @@ -36,6 +38,7 @@ export const buildConfig: Record = { cjs: { module: 'CommonJS', format: 'cjs', + ext: 'js', output: { name: 'lib', path: path.resolve(epOutput, 'lib'), diff --git a/build/modules.ts b/build/modules.ts index bb01bdd4b3..3eeecf9ce0 100644 --- a/build/modules.ts +++ b/build/modules.ts @@ -48,6 +48,7 @@ export const buildModules = async () => { preserveModules: true, preserveModulesRoot: epRoot, sourcemap: true, + entryFileNames: `[name].${config.ext}`, } }) ) diff --git a/packages/element-plus/package.json b/packages/element-plus/package.json index 477c73d446..b8c3afd8a3 100644 --- a/packages/element-plus/package.json +++ b/packages/element-plus/package.json @@ -12,8 +12,17 @@ "vue" ], "license": "MIT", + "exports": { + ".": { + "require": "./lib/index.js", + "import": "./es/index.mjs" + }, + "./es": "./es/index.mjs", + "./lib": "./lib/index.js", + "./*": "./*" + }, "main": "lib/index.js", - "module": "es/index.js", + "module": "es/index.mjs", "style": "dist/index.css", "unpkg": "dist/index.full.js", "jsdelivr": "dist/index.full.js",