diff --git a/tasks/transform_conformance/snapshots/oxc.snap.md b/tasks/transform_conformance/snapshots/oxc.snap.md index 7aefa594129d4..336705c8bf7ad 100644 --- a/tasks/transform_conformance/snapshots/oxc.snap.md +++ b/tasks/transform_conformance/snapshots/oxc.snap.md @@ -1,6 +1,6 @@ commit: 91b4ce32 -Passed: 218/363 +Passed: 218/364 # All Passed: * babel-plugin-transform-class-static-block @@ -69,7 +69,7 @@ after transform: SymbolId(0): [ReferenceId(0), ReferenceId(2), ReferenceId(6), R rebuilt : SymbolId(0): [ReferenceId(0), ReferenceId(2), ReferenceId(6), ReferenceId(10)] -# babel-plugin-transform-typescript (15/47) +# babel-plugin-transform-typescript (15/48) * allow-declare-fields-false/input.ts Unresolved references mismatch: after transform: ["dce"] @@ -191,6 +191,20 @@ Symbol reference IDs mismatch for "NestInner": after transform: SymbolId(18): [ReferenceId(31), ReferenceId(32), ReferenceId(33), ReferenceId(34), ReferenceId(35)] rebuilt : SymbolId(9): [ReferenceId(25), ReferenceId(26), ReferenceId(28), ReferenceId(29), ReferenceId(30), ReferenceId(31)] +* enum-string-alias-member/input.ts +Bindings mismatch: +after transform: ScopeId(2): ["Color", "Green", "Primary", "Red"] +rebuilt : ScopeId(1): ["Color"] +Scope flags mismatch: +after transform: ScopeId(2): ScopeFlags(0x0) +rebuilt : ScopeId(1): ScopeFlags(Function) +Symbol flags mismatch for "Color": +after transform: SymbolId(4): SymbolFlags(RegularEnum) +rebuilt : SymbolId(0): SymbolFlags(FunctionScopedVariable) +Symbol reference IDs mismatch for "Color": +after transform: SymbolId(4): [ReferenceId(5), ReferenceId(6), ReferenceId(7), ReferenceId(12)] +rebuilt : SymbolId(0): [ReferenceId(6), ReferenceId(7), ReferenceId(8)] + * enum-template-literal/input.ts Bindings mismatch: after transform: ScopeId(1): ["LARGE", "SMALL", "Size"] diff --git a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/input.ts b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/input.ts new file mode 100644 index 0000000000000..938111fb84eb8 --- /dev/null +++ b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/input.ts @@ -0,0 +1,16 @@ +// https://github.com/rolldown/rolldown/issues/8866 +const enum Theme { + Light = "Light", + Dark = "Dark", + Default = Theme.Light, +} +console.log(Theme.Light); +console.log(Theme.Default); + +enum Color { + Red = "Red", + Green = "Green", + Primary = Color.Red, +} +Color.Red; +Color.Primary; diff --git a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/options.json b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/options.json new file mode 100644 index 0000000000000..560b3dbfa3c85 --- /dev/null +++ b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/options.json @@ -0,0 +1,3 @@ +{ + "plugins": [["transform-typescript", { "optimizeConstEnums": true }]] +} diff --git a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/output.js b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/output.js new file mode 100644 index 0000000000000..f72b053097a27 --- /dev/null +++ b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/enum-string-alias-member/output.js @@ -0,0 +1,10 @@ +console.log("Light"); +console.log("Light"); +var Color = /* @__PURE__ */ function(Color) { + Color["Red"] = "Red"; + Color["Green"] = "Green"; + Color["Primary"] = "Red"; + return Color; +}(Color || {}); +Color.Red; +Color.Primary;