diff --git a/.changeset/five-suits-learn.md b/.changeset/five-suits-learn.md new file mode 100644 index 000000000000..92a8c72f4920 --- /dev/null +++ b/.changeset/five-suits-learn.md @@ -0,0 +1,7 @@ +--- +'@modern-js/builder': patch +--- + +feat(builder): use jiti to load config + +feat(builder): 使用 jiti 来加载配置 diff --git a/packages/builder/builder/package.json b/packages/builder/builder/package.json index c88cecbd9b72..1689739f5557 100644 --- a/packages/builder/builder/package.json +++ b/packages/builder/builder/package.json @@ -62,10 +62,10 @@ "dependencies": { "@modern-js/builder-shared": "workspace:*", "@modern-js/monorepo-utils": "workspace:*", - "@modern-js/node-bundle-require": "workspace:*", "@modern-js/utils": "workspace:*", "@svgr/webpack": "8.0.1", - "@swc/helpers": "0.5.1" + "@swc/helpers": "0.5.1", + "jiti": "^1.20.0" }, "devDependencies": { "@modern-js/builder-webpack-provider": "workspace:*", diff --git a/packages/builder/builder/src/cli/config.ts b/packages/builder/builder/src/cli/config.ts index 52ad6b08efd6..9bd656658b19 100644 --- a/packages/builder/builder/src/cli/config.ts +++ b/packages/builder/builder/src/cli/config.ts @@ -1,7 +1,7 @@ +import jiti from 'jiti'; import { join } from 'path'; import { findExists } from '@modern-js/utils'; import { existsSync } from '@modern-js/utils/fs-extra'; -import { bundleRequire } from '@modern-js/node-bundle-require'; import type { BuilderEntry, BuilderPlugin } from '@modern-js/builder-shared'; import type { BuilderConfig as WebpackBuilderConfig } from '@modern-js/builder-webpack-provider'; import type { BuilderConfig as RspackBuilderConfig } from '@modern-js/builder-rspack-provider'; @@ -22,8 +22,8 @@ export async function loadConfig(): Promise { const configFile = join(process.cwd(), 'builder.config.ts'); if (existsSync(configFile)) { - const mod = await bundleRequire(configFile); - return mod.default || mod; + const loadConfig = jiti(__filename, { interopDefault: true }); + return loadConfig(configFile); } return {}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51ea17e64bf8..71e78e7e210b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -81,9 +81,6 @@ importers: '@modern-js/monorepo-utils': specifier: workspace:* version: link:../../toolkit/monorepo-utils - '@modern-js/node-bundle-require': - specifier: workspace:* - version: link:../../toolkit/node-bundle-require '@modern-js/utils': specifier: workspace:* version: link:../../toolkit/utils @@ -93,6 +90,9 @@ importers: '@swc/helpers': specifier: 0.5.1 version: 0.5.1 + jiti: + specifier: ^1.20.0 + version: 1.20.0 devDependencies: '@modern-js/builder-rspack-provider': specifier: workspace:* @@ -25677,8 +25677,8 @@ packages: - ts-node dev: true - /jiti@1.19.3: - resolution: {integrity: sha512-5eEbBDQT/jF1xg6l36P+mWGGoH9Spuy0PCdSr2dtWRDGC6ph/w9ZCL4lmESW8f8F7MwT3XKescfP0wnZWAKL9w==} + /jiti@1.20.0: + resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} hasBin: true /jju@1.4.0: @@ -33262,7 +33262,7 @@ packages: fast-glob: 3.3.0 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.19.3 + jiti: 1.20.0 lilconfig: 2.1.0 micromatch: 4.0.5 normalize-path: 3.0.0