diff --git a/packages/core/package.json b/packages/core/package.json index 6a242c4949..a4bf54c6be 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -54,7 +54,8 @@ "@rspack/core": "1.2.2", "@rspack/lite-tapable": "~1.0.1", "@swc/helpers": "^0.5.15", - "core-js": "~3.40.0" + "core-js": "~3.40.0", + "jiti": "2.4.2" }, "devDependencies": { "@rslib/core": "0.3.2", @@ -75,7 +76,6 @@ "dotenv-expand": "12.0.1", "html-rspack-plugin": "6.0.2", "http-proxy-middleware": "^2.0.6", - "jiti": "^1.21.7", "launch-editor-middleware": "^2.9.1", "mrmime": "^2.0.0", "on-finished": "2.4.1", diff --git a/packages/core/prebundle.config.mjs b/packages/core/prebundle.config.mjs index 16dff4bd81..44f5f3b861 100644 --- a/packages/core/prebundle.config.mjs +++ b/packages/core/prebundle.config.mjs @@ -51,12 +51,6 @@ export default { ); }, }, - { - name: 'jiti', - // jiti has been minified, we do not need to prettier it - prettier: false, - ignoreDts: true, - }, { name: 'launch-editor-middleware', ignoreDts: true, @@ -154,7 +148,7 @@ export default { { name: 'postcss-loader', externals: { - jiti: '../jiti', + jiti: 'jiti', postcss: '../postcss', }, ignoreDts: true, @@ -163,16 +157,14 @@ export default { name: 'postcss-load-config', externals: { yaml: 'yaml', - '../jiti': '../jiti', + jiti: 'jiti', }, ignoreDts: true, // this is a trick to avoid ncc compiling the dynamic import syntax // https://github.com/vercel/ncc/issues/935 beforeBundle(task) { replaceFileContent(join(task.depPath, 'src/req.js'), (content) => - content - .replaceAll('await import', 'await __import') - .replaceAll(`import('jiti')`, `import('../jiti/index.js')`), + content.replaceAll('await import', 'await __import'), ); }, afterBundle(task) { diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index 1e16e7ae75..84916c5c33 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -474,15 +474,16 @@ export async function loadConfig({ try { if (configExport! === undefined) { - const { default: jiti } = await import('../compiled/jiti/index.js'); - const loadConfig = jiti(__filename, { - esmResolve: true, + const { createJiti } = await import('jiti'); + const jiti = createJiti(__filename, { // disable require cache to support restart CLI and read the new config - requireCache: false, + moduleCache: false, interopDefault: true, }); - configExport = loadConfig(configFilePath) as RsbuildConfigExport; + configExport = await jiti.import(configFilePath, { + default: true, + }); } } catch (err) { logger.error(`Failed to load file with jiti: ${color.dim(configFilePath)}`); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e730c715a0..faa47fefa1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -605,6 +605,9 @@ importers: core-js: specifier: ~3.40.0 version: 3.40.0 + jiti: + specifier: 2.4.2 + version: 2.4.2 devDependencies: '@rslib/core': specifier: 0.3.2 @@ -660,9 +663,6 @@ importers: http-proxy-middleware: specifier: ^2.0.6 version: 2.0.7 - jiti: - specifier: ^1.21.7 - version: 1.21.7 launch-editor-middleware: specifier: ^2.9.1 version: 2.9.1 @@ -683,7 +683,7 @@ importers: version: 8.5.1 postcss-load-config: specifier: 6.0.1 - version: 6.0.1(jiti@1.21.7)(postcss@8.5.1)(yaml@2.6.0) + version: 6.0.1(jiti@2.4.2)(postcss@8.5.1)(yaml@2.6.0) postcss-loader: specifier: 8.1.1 version: 8.1.1(patch_hash=7f10237e1665e9913e0f735a822545af08363f5cc67eacc2c37408aee7553d47)(@rspack/core@1.2.2(@swc/helpers@0.5.15))(postcss@8.5.1)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.9(@swc/helpers@0.5.15))) @@ -11871,14 +11871,6 @@ snapshots: '@polka/url': 0.5.0 trouter: 2.0.1 - postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.1)(yaml@2.6.0): - dependencies: - lilconfig: 3.1.3 - optionalDependencies: - jiti: 1.21.7 - postcss: 8.5.1 - yaml: 2.6.0 - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.1)(yaml@2.6.0): dependencies: lilconfig: 3.1.3 @@ -11886,7 +11878,6 @@ snapshots: jiti: 2.4.2 postcss: 8.5.1 yaml: 2.6.0 - optional: true postcss-loader@8.1.1(patch_hash=7f10237e1665e9913e0f735a822545af08363f5cc67eacc2c37408aee7553d47)(@rspack/core@1.2.2(@swc/helpers@0.5.15))(postcss@8.5.1)(typescript@5.7.3)(webpack@5.97.1(@swc/core@1.10.9(@swc/helpers@0.5.15))): dependencies: