diff --git a/crates/swc_ecma_ast/src/list.rs b/crates/swc_ecma_ast/src/list.rs index 9a32ab886a13..bcd0c97cbd62 100644 --- a/crates/swc_ecma_ast/src/list.rs +++ b/crates/swc_ecma_ast/src/list.rs @@ -143,7 +143,7 @@ bitflags! { | Self::SpaceBetweenSiblings.bits() | Self::SpaceBetweenBraces.bits(); const MultiLineFunctionBodyStatements = Self::MultiLine.bits(); - const ClassHeritageClauses = Self::SingleLine.bits() | Self::SpaceBetweenSiblings.bits(); + const ClassHeritageClauses = Self::CommaDelimited.bits() | Self::SingleLine.bits() | Self::SpaceBetweenSiblings.bits(); const ClassMembers = Self::Indented.bits() | Self::MultiLine.bits(); const InterfaceMembers = Self::Indented.bits() | Self::MultiLine.bits(); const EnumMembers = Self::CommaDelimited.bits() | Self::Indented.bits() | Self::MultiLine.bits(); diff --git a/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/input.js b/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/input.js new file mode 100644 index 000000000000..b11ee655939a --- /dev/null +++ b/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/input.js @@ -0,0 +1,2 @@ +class MyClass implements Interface1, Interface2 { +} diff --git a/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/output.js b/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/output.js new file mode 100644 index 000000000000..b11ee655939a --- /dev/null +++ b/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/output.js @@ -0,0 +1,2 @@ +class MyClass implements Interface1, Interface2 { +} diff --git a/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/output.min.js b/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/output.min.js new file mode 100644 index 000000000000..f6cfa7b65633 --- /dev/null +++ b/crates/swc_ecma_codegen/tests/fixture/typescript/class_implements/output.min.js @@ -0,0 +1 @@ +class MyClass implements Interface1,Interface2{}