diff --git a/crates/oxc_codegen/src/gen.rs b/crates/oxc_codegen/src/gen.rs index 01f538de82925..e72763a549d4f 100644 --- a/crates/oxc_codegen/src/gen.rs +++ b/crates/oxc_codegen/src/gen.rs @@ -2056,6 +2056,7 @@ impl GenExpr for ImportExpression<'_> { p.add_source_mapping(self.span); p.print_str("import"); if let Some(phase) = self.phase { + p.print_ascii_byte(b'.'); p.print_str(phase.as_str()); } p.print_ascii_byte(b'('); diff --git a/crates/oxc_codegen/tests/integration/esbuild.rs b/crates/oxc_codegen/tests/integration/esbuild.rs index 68442b099ee32..cf69fcbe24637 100644 --- a/crates/oxc_codegen/tests/integration/esbuild.rs +++ b/crates/oxc_codegen/tests/integration/esbuild.rs @@ -722,7 +722,17 @@ fn test_import() { test("import(/* before */ foo)", "import(\n\t/* before */\n\tfoo\n);\n"); test("import(/* before */ 'foo')", "import(\n\t/* before */\n\t\"foo\"\n);\n"); test("import(foo /* after */)", "import(\n\tfoo\n\t/* after */\n);\n"); - test("import('foo' /* after */)", "import(\n\t\"foo\"\n\t/* after */\n);\n"); + test("import('foo' /* after */)", "import( + \"foo\" + /* after */ +); +"); + + // Test import.defer and import.source phases + test("import.defer(\"foo\");", "import.defer(\"foo\"); +"); + test("import.source(\"bar\");", "import.source(\"bar\"); +"); } #[test] diff --git a/tasks/coverage/node-compat-table b/tasks/coverage/node-compat-table new file mode 160000 index 0000000000000..ed0d6ba557905 --- /dev/null +++ b/tasks/coverage/node-compat-table @@ -0,0 +1 @@ +Subproject commit ed0d6ba55790519d9ad3f6f776ca2cd303cc1e0b