From 4b09cd9a917edae326c6b224018912c887fdeb0a Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Thu, 12 Mar 2026 22:01:00 -0600 Subject: [PATCH] =?UTF-8?q?fix:=20exclude=20packages/=20from=20test=20reso?= =?UTF-8?q?lver=20.js=E2=86=92.ts=20rewriting?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ESM resolve hook was rewriting .js imports from vendored Pi packages (packages/*/dist/) to .ts, breaking test resolution. Compiled dist/ files need their .js specifiers left intact. Co-Authored-By: Claude Opus 4.6 --- src/resources/extensions/gsd/tests/resolve-ts-hooks.mjs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/resources/extensions/gsd/tests/resolve-ts-hooks.mjs b/src/resources/extensions/gsd/tests/resolve-ts-hooks.mjs index 9740c9344..6f9411709 100644 --- a/src/resources/extensions/gsd/tests/resolve-ts-hooks.mjs +++ b/src/resources/extensions/gsd/tests/resolve-ts-hooks.mjs @@ -8,8 +8,9 @@ export function resolve(specifier, context, nextResolve) { const parentURL = context.parentURL || ''; const isFromNodeModules = parentURL.includes('/node_modules/'); + const isFromPackages = parentURL.includes('/packages/'); - if (!isFromNodeModules && !specifier.startsWith('node:')) { + if (!isFromNodeModules && !isFromPackages && !specifier.startsWith('node:')) { // Rewrite .js → .ts if (specifier.endsWith('.js')) { const tsSpecifier = specifier.replace(/\.js$/, '.ts');