From 6b8d3ff2f72e075710916e522be0f736930da28a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:16:00 +0000 Subject: [PATCH 1/3] Initial plan From 62ae62004ab7ab711de46b808fd4ff4f422bfac0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:21:49 +0000 Subject: [PATCH 2/3] Initial analysis: Identified missing dot in import.defer/source codegen Co-authored-by: Dunqing <29533304+Dunqing@users.noreply.github.com> --- tasks/coverage/node-compat-table | 1 + 1 file changed, 1 insertion(+) create mode 160000 tasks/coverage/node-compat-table 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 From 3245389a99148b7f95d522b4cac4e1a7ad6cf2bf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 21 Sep 2025 13:27:31 +0000 Subject: [PATCH 3/3] Fix missing dot in import.defer/import.source codegen and add tests Co-authored-by: Dunqing <29533304+Dunqing@users.noreply.github.com> --- crates/oxc_codegen/src/gen.rs | 1 + crates/oxc_codegen/tests/integration/esbuild.rs | 12 +++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) 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]