diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index cd9350a72..1d3f355fd 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -227,21 +227,27 @@ export const composeAutoExternalConfig = (options: { return {}; } + // User externals configuration has higher priority than autoExternal + // eg: autoExternal: ['react'], user: output: { externals: { react: 'react-1' } } + // Only handle the case where the externals type is object, string / string[] does not need to be processed, other types are too complex. + const userExternalKeys = + userExternals && isObject(userExternals) ? Object.keys(userExternals) : []; + const externalOptions = { dependencies: true, + optionalDependencies: true, peerDependencies: true, devDependencies: false, ...(autoExternal === true ? {} : autoExternal), }; - // User externals configuration has higher priority than autoExternal - // eg: autoExternal: ['react'], user: output: { externals: { react: 'react-1' } } - // Only handle the case where the externals type is object, string / string[] does not need to be processed, other types are too complex. - const userExternalKeys = - userExternals && isObject(userExternals) ? Object.keys(userExternals) : []; - const externals = ( - ['dependencies', 'peerDependencies', 'devDependencies'] as const + [ + 'dependencies', + 'peerDependencies', + 'devDependencies', + 'optionalDependencies', + ] as const ) .reduce((prev, type) => { if (externalOptions[type]) { diff --git a/packages/core/src/types/utils.ts b/packages/core/src/types/utils.ts index 8b3d31293..bc99ee756 100644 --- a/packages/core/src/types/utils.ts +++ b/packages/core/src/types/utils.ts @@ -1,6 +1,7 @@ export type PkgJson = { + type?: 'module' | 'commonjs'; dependencies?: Record; peerDependencies?: Record; devDependencies?: Record; - [key: string]: unknown; + optionalDependencies?: Record; }; diff --git a/packages/plugin-dts/src/dts.ts b/packages/plugin-dts/src/dts.ts index d30252052..d689f335a 100644 --- a/packages/plugin-dts/src/dts.ts +++ b/packages/plugin-dts/src/dts.ts @@ -26,6 +26,7 @@ export const calcBundledPackages = (options: { dependencies?: Record; peerDependencies?: Record; devDependencies?: Record; + optionalDependencies?: Record; }; try { @@ -42,6 +43,7 @@ export const calcBundledPackages = (options: { ? { dependencies: true, peerDependencies: true, + optionalDependencies: true, devDependencies: false, ...(autoExternal === true ? {} : autoExternal), }