diff --git a/e2e/cases/typescript/extension-alias/index.test.ts b/e2e/cases/typescript/extension-alias/index.test.ts
deleted file mode 100644
index 23e8ff6c85..0000000000
--- a/e2e/cases/typescript/extension-alias/index.test.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { build } from '@e2e/helper';
-import { expect, test } from '@playwright/test';
-
-test('should allow to import TS files with .js extension', async ({ page }) => {
- await build({
- cwd: __dirname,
- page,
- });
- expect(await page.evaluate(() => window.test)).toBe(1);
-});
diff --git a/e2e/cases/typescript/extension-alias/src/bar.tsx b/e2e/cases/typescript/extension-alias/src/bar.tsx
deleted file mode 100644
index 36903f1a8f..0000000000
--- a/e2e/cases/typescript/extension-alias/src/bar.tsx
+++ /dev/null
@@ -1,3 +0,0 @@
-export const bar = () => {
- return
bar
;
-};
diff --git a/e2e/cases/typescript/extension-alias/src/foo.ts b/e2e/cases/typescript/extension-alias/src/foo.ts
deleted file mode 100644
index bb1843d113..0000000000
--- a/e2e/cases/typescript/extension-alias/src/foo.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const foo = 1;
diff --git a/e2e/cases/typescript/extension-alias/src/index.ts b/e2e/cases/typescript/extension-alias/src/index.ts
deleted file mode 100644
index 80accd5394..0000000000
--- a/e2e/cases/typescript/extension-alias/src/index.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { bar } from './bar.js';
-import { foo } from './foo.js';
-
-declare global {
- interface Window {
- test: number;
- }
-}
-
-window.test = foo;
-
-console.log(bar);
diff --git a/e2e/cases/typescript/extension-alias/tsconfig.json b/e2e/cases/typescript/extension-alias/tsconfig.json
deleted file mode 100644
index 899dd0e3e3..0000000000
--- a/e2e/cases/typescript/extension-alias/tsconfig.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "extends": "@rsbuild/config/tsconfig",
- "compilerOptions": {
- "jsx": "react-jsx",
- "baseUrl": "./",
- "outDir": "./dist",
- "paths": {
- "@/*": ["./src/*"]
- }
- },
- "include": ["src", "*.test.ts"]
-}
diff --git a/e2e/cases/typescript/const-enum/index.test.ts b/e2e/cases/typescript/index.test.ts
similarity index 100%
rename from e2e/cases/typescript/const-enum/index.test.ts
rename to e2e/cases/typescript/index.test.ts
diff --git a/e2e/cases/typescript/const-enum/src/foo.ts b/e2e/cases/typescript/src/foo.ts
similarity index 100%
rename from e2e/cases/typescript/const-enum/src/foo.ts
rename to e2e/cases/typescript/src/foo.ts
diff --git a/e2e/cases/typescript/const-enum/src/index.ts b/e2e/cases/typescript/src/index.ts
similarity index 100%
rename from e2e/cases/typescript/const-enum/src/index.ts
rename to e2e/cases/typescript/src/index.ts
diff --git a/e2e/cases/typescript/const-enum/tsconfig.json b/e2e/cases/typescript/tsconfig.json
similarity index 100%
rename from e2e/cases/typescript/const-enum/tsconfig.json
rename to e2e/cases/typescript/tsconfig.json
diff --git a/packages/compat/webpack/tests/__snapshots__/default.test.ts.snap b/packages/compat/webpack/tests/__snapshots__/default.test.ts.snap
index 1589479166..3ff421417a 100644
--- a/packages/compat/webpack/tests/__snapshots__/default.test.ts.snap
+++ b/packages/compat/webpack/tests/__snapshots__/default.test.ts.snap
@@ -325,13 +325,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly 1`] = `
},
],
"resolve": {
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
@@ -690,13 +683,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when produ
},
],
"resolve": {
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
@@ -1004,13 +990,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when targe
},
],
"resolve": {
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
@@ -1301,13 +1280,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when targe
},
],
"resolve": {
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
diff --git a/packages/core/package.json b/packages/core/package.json
index 8e8fdd1945..8e81acb6a1 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -90,7 +90,7 @@
"reduce-configs": "^1.0.0",
"rsbuild-dev-middleware": "0.1.1",
"rslog": "^1.2.3",
- "rspack-chain": "^1.0.3",
+ "rspack-chain": "^1.0.1",
"rspack-manifest-plugin": "5.0.1",
"sirv": "^2.0.4",
"style-loader": "3.3.4",
diff --git a/packages/core/src/plugins/resolve.ts b/packages/core/src/plugins/resolve.ts
index 668c22096c..b7fbbffea5 100644
--- a/packages/core/src/plugins/resolve.ts
+++ b/packages/core/src/plugins/resolve.ts
@@ -24,13 +24,7 @@ function applyFullySpecified({
.resolve.set('fullySpecified', false);
}
-function applyExtensions({
- chain,
- tsconfigPath,
-}: {
- chain: RspackChain;
- tsconfigPath: string | undefined;
-}) {
+function applyExtensions({ chain }: { chain: RspackChain }) {
const extensions = [
// most projects are using TypeScript, resolve .ts(x) files first to reduce resolve time.
'.ts',
@@ -42,13 +36,6 @@ function applyExtensions({
];
chain.resolve.extensions.merge(extensions);
-
- if (tsconfigPath) {
- // TypeScript allows importing TS files with `.js` extension
- chain.resolve.extensionAlias.merge({
- '.js': ['.ts', '.tsx', '.js'],
- });
- }
}
function applyAlias({
@@ -103,7 +90,7 @@ export const pluginResolve = (): RsbuildPlugin => ({
handler: (chain, { environment, CHAIN_ID }) => {
const { config, tsconfigPath } = environment;
- applyExtensions({ chain, tsconfigPath });
+ applyExtensions({ chain });
applyAlias({
chain,
diff --git a/packages/core/tests/__snapshots__/default.test.ts.snap b/packages/core/tests/__snapshots__/default.test.ts.snap
index 5fc3481d82..b7658bc1fa 100644
--- a/packages/core/tests/__snapshots__/default.test.ts.snap
+++ b/packages/core/tests/__snapshots__/default.test.ts.snap
@@ -373,13 +373,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly 1`] = `
"alias": {
"@swc/helpers": "/node_modules//@swc/helpers",
},
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
@@ -809,13 +802,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when prod
"alias": {
"@swc/helpers": "/node_modules//@swc/helpers",
},
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
@@ -1143,13 +1129,6 @@ exports[`applyDefaultPlugins > should apply default plugins correctly when targe
"alias": {
"@swc/helpers": "/node_modules//@swc/helpers",
},
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
@@ -1550,13 +1529,6 @@ exports[`tools.rspack > should match snapshot 1`] = `
"alias": {
"@swc/helpers": "/node_modules//@swc/helpers",
},
- "extensionAlias": {
- ".js": [
- ".ts",
- ".tsx",
- ".js",
- ],
- },
"extensions": [
".ts",
".tsx",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index d945f176c6..33f91684c5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -709,8 +709,8 @@ importers:
specifier: ^1.2.3
version: 1.2.3
rspack-chain:
- specifier: ^1.0.3
- version: 1.0.3
+ specifier: ^1.0.1
+ version: 1.0.1
rspack-manifest-plugin:
specifier: 5.0.1
version: 5.0.1(@rspack/core@1.0.7(@swc/helpers@0.5.13))
@@ -6189,8 +6189,8 @@ packages:
resolution: {integrity: sha512-antALPJaKBRPBU1X2q9t085K4htWDOOv/K1qhTUk7h0l1ePU/KbDqKJn19eKP0dk7PqMioeA0+fu3gyPXCsXxQ==}
engines: {node: '>=14.17.6'}
- rspack-chain@1.0.3:
- resolution: {integrity: sha512-U6PAlAClpX0ZYliwi97p0FyJAzdnG2XPIqPE1LR3jTTXlGKbctici1jsjG6c9mG9x7l+3TuKy2QWLIEHljxCtg==}
+ rspack-chain@1.0.1:
+ resolution: {integrity: sha512-WuKu6d7Vj+rGz6gHnBMha41qNTEleXjKyJhwUjnfiJ3Hxksn3hKl9zPdXUopYTBIJAbpKfDgIRewp/aGca1YeQ==}
rspack-manifest-plugin@5.0.1:
resolution: {integrity: sha512-K2g7kcOdj+cHTi+xvzwdLZ4rdL1nnphJhs9P8VH5sVcoQd1U/FxpNXnEm5ARxhE7qZO0yfqaL74aXwcQH0T0Ig==}
@@ -13343,7 +13343,7 @@ snapshots:
rslog@1.2.3: {}
- rspack-chain@1.0.3:
+ rspack-chain@1.0.1:
dependencies:
deepmerge: 4.3.1
javascript-stringify: 2.1.0