diff --git a/packages/core/src/utils/syntax.ts b/packages/core/src/utils/syntax.ts index 108f51426..a62c93612 100644 --- a/packages/core/src/utils/syntax.ts +++ b/packages/core/src/utils/syntax.ts @@ -173,7 +173,10 @@ export function transformSyntaxToRspackTarget( ) { return 'es2022'; } - + // The es6 is the same as es2015, compatible with rspack API schema + if (normalizedSyntaxItem === 'es6') { + return 'es2015'; + } return normalizedSyntaxItem; } diff --git a/packages/core/tests/syntax.test.ts b/packages/core/tests/syntax.test.ts index 272595b70..58269e122 100644 --- a/packages/core/tests/syntax.test.ts +++ b/packages/core/tests/syntax.test.ts @@ -153,6 +153,7 @@ describe('transformSyntaxToBrowserslist', () => { describe('transformSyntaxToRspackTarget', () => { test('esX', () => { + const es6 = transformSyntaxToRspackTarget('es6'); const es2023 = transformSyntaxToRspackTarget('es2023'); const es2024 = transformSyntaxToRspackTarget('es2024'); const esnext = transformSyntaxToRspackTarget('esnext'); @@ -160,6 +161,12 @@ describe('transformSyntaxToRspackTarget', () => { expect(es2023).toEqual(es2024); expect(es2023).toEqual(esnext); + expect(es6).toMatchInlineSnapshot(` + [ + "es2015", + ] + `); + expect(es2023).toMatchInlineSnapshot( ` [ @@ -186,5 +193,14 @@ describe('transformSyntaxToRspackTarget', () => { "es2022", ] `); + + expect( + transformSyntaxToRspackTarget(['Chrome 123', 'es6']), + ).toMatchInlineSnapshot(` + [ + "browserslist:Chrome 123", + "es2015", + ] + `); }); });