Spaces:
Running
Running
| // Minimal module-resolution hook so `node --test` can load source files that use the `@/` path | |
| // alias (mapped to apps/web/src in tsconfig). Type-only imports are erased by type stripping, so | |
| // only value imports reach this hook. Test-only; not used by Next.js (which resolves `@/` itself). | |
| import { existsSync } from "node:fs"; | |
| import { resolve as resolvePath } from "node:path"; | |
| import { pathToFileURL } from "node:url"; | |
| const srcDir = resolvePath(import.meta.dirname, "../src"); | |
| export async function resolve(specifier, context, nextResolve) { | |
| if (specifier.startsWith("@/")) { | |
| let p = resolvePath(srcDir, specifier.slice(2)); | |
| if (!/\.(ts|tsx|js|mjs|cjs|json)$/.test(p)) { | |
| if (existsSync(p + ".ts")) p += ".ts"; | |
| else if (existsSync(p + ".tsx")) p += ".tsx"; | |
| } | |
| return nextResolve(pathToFileURL(p).href, context); | |
| } | |
| return nextResolve(specifier, context); | |
| } | |