From cc428dfe8ead3ff9eb32d0847363e83ff7dcfe64 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Sun, 12 Jan 2025 19:46:40 -0800 Subject: [PATCH 1/2] Fix CJS resolution infinite loop --- packages/core/src/internal/esm/cjsResolve.ts | 11 +- .../fixtures/@fullcalendar__react@5.11.2.tgz | Bin 0 -> 6158 bytes .../@fullcalendar__react@5.11.2.tgz.json | 411 ++++++++++++++++++ 3 files changed, 416 insertions(+), 6 deletions(-) create mode 100644 packages/core/test/fixtures/@fullcalendar__react@5.11.2.tgz create mode 100644 packages/core/test/snapshots/@fullcalendar__react@5.11.2.tgz.json diff --git a/packages/core/src/internal/esm/cjsResolve.ts b/packages/core/src/internal/esm/cjsResolve.ts index 7689300..4a0582b 100644 --- a/packages/core/src/internal/esm/cjsResolve.ts +++ b/packages/core/src/internal/esm/cjsResolve.ts @@ -177,13 +177,12 @@ function* nodeModulesPaths(path: URL) { return; } do { - // a. if PARTS[I] = "node_modules" CONTINUE - if (path.pathname.endsWith("/node_modules/")) { - continue; + // a. if PARTS[I] = "node_modules", GOTO d. + if (!path.pathname.endsWith("/node_modules/")) { + // b. DIR = path join(PARTS[0 .. I] + "node_modules") + // c. DIRS = DIR + DIRS + yield new URL("./node_modules/", path); } - // b. DIR = path join(PARTS[0 .. I] + "node_modules") - yield new URL("./node_modules/", path); - // c. DIRS = DIR + DIRS // d. let I = I - 1 path = new URL("../", path); } while (path.pathname !== "/"); diff --git a/packages/core/test/fixtures/@fullcalendar__react@5.11.2.tgz b/packages/core/test/fixtures/@fullcalendar__react@5.11.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d15e410321d0311ddd1498870e207cc90a41ed32 GIT binary patch literal 6158 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 Date: Sun, 12 Jan 2025 19:51:49 -0800 Subject: [PATCH 2/2] Add changeset --- .changeset/small-ghosts-tie.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/small-ghosts-tie.md diff --git a/.changeset/small-ghosts-tie.md b/.changeset/small-ghosts-tie.md new file mode 100644 index 0000000..e3ee25e --- /dev/null +++ b/.changeset/small-ghosts-tie.md @@ -0,0 +1,5 @@ +--- +"@arethetypeswrong/core": patch +--- + +Fix CJS resolution infinite loop