diff --git a/crates/oxc_transformer/src/typescript/annotations.rs b/crates/oxc_transformer/src/typescript/annotations.rs index 15ec60e70..10732afbf 100644 --- a/crates/oxc_transformer/src/typescript/annotations.rs +++ b/crates/oxc_transformer/src/typescript/annotations.rs @@ -298,7 +298,8 @@ impl<'a> TypeScriptAnnotations<'a> { ) }) .statements - .extend( + .splice( + 0..0, self.assignments .drain(..) .map(|assignment| assignment.create_this_property_assignment(ctx)), diff --git a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts index cfd9d2d3b..fd0f96674 100644 --- a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts +++ b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/input.ts @@ -1,7 +1,7 @@ class Foo { boom: number; constructor(public foo, private bar, protected zoo, readonly bang, too) { - + console.log(this.foo, this.bar, this.zoo, this.bang); } } class Bar extends Foo { diff --git a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js index 8e2e8130f..06cf6fc10 100644 --- a/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js +++ b/tasks/transform_conformance/tests/babel-plugin-transform-typescript/test/fixtures/class-constructor-arguments/output.js @@ -5,6 +5,7 @@ class Foo { this.bar = bar; this.zoo = zoo; this.bang = bang; + console.log(this.foo, this.bar, this.zoo, this.bang); } } class Bar extends Foo {