From 44aa3581e4cb69045196b873fa9b531dfa466745 Mon Sep 17 00:00:00 2001 From: sorrycc Date: Thu, 15 May 2025 20:10:08 +0800 Subject: [PATCH] feat: add transformRuntime config for bundle builder --- docs/config.md | 7 +++++++ src/builder/bundle/index.ts | 2 +- src/features/configPlugins/schema.ts | 3 +++ src/types.ts | 10 ++++++++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/docs/config.md b/docs/config.md index fa89f5dc..394a0443 100644 --- a/docs/config.md +++ b/docs/config.md @@ -213,6 +213,13 @@ export default { 指定产物的输出目录及输出文件名,输出目录的默认值为 `dist/umd`,输出文件名在单 `entry` 时默认以 NPM 包名命名、多 `entry` 时默认与源码文件同名。 +#### transformRuntime + +- 类型:`{ absoluteRuntime?: string }` +- 默认值:`{}` + +配置 transform-runtime 插件的部分功能。 + #### externals - 类型:`Record` diff --git a/src/builder/bundle/index.ts b/src/builder/bundle/index.ts index a4bc36ba..0f3d9e9e 100644 --- a/src/builder/bundle/index.ts +++ b/src/builder/bundle/index.ts @@ -106,7 +106,7 @@ async function bundle(opts: IBundleOpts): Promise { opts.cwd, ), presetTypeScript: {}, - pluginTransformRuntime: {}, + pluginTransformRuntime: config.transformRuntime || {}, pluginLockCoreJS: {}, pluginDynamicImportNode: false, }, diff --git a/src/features/configPlugins/schema.ts b/src/features/configPlugins/schema.ts index 1bfc9dd4..26033fd4 100644 --- a/src/features/configPlugins/schema.ts +++ b/src/features/configPlugins/schema.ts @@ -65,6 +65,9 @@ export function getSchemas(): Record any> { Joi.array(), ), generateUnminified: Joi.boolean().optional(), + transformRuntime: Joi.object({ + absoluteRuntime: Joi.string().optional(), + }).optional(), chainWebpack: Joi.function().optional(), extractCSS: Joi.boolean().optional(), name: Joi.string().optional(), diff --git a/src/types.ts b/src/types.ts index fb973ffe..41fb7ae7 100644 --- a/src/types.ts +++ b/src/types.ts @@ -123,6 +123,16 @@ export interface IFatherBaseConfig { */ extraBabelPlugins?: IBundlerWebpackConfig['extraBabelPlugins']; + /** + * configure transform runtime + */ + transformRuntime?: { + /** + * absolute dir path which contains @babel/runtime + */ + absoluteRuntime?: string; + }; + /** * output sourcemap */