Report #22910
[bug\_fix] Error: Cannot find module '@app/utils' or its corresponding type declarations.
For Node.js execution, register the \`tsconfig-paths\` package at runtime \(e.g., \`node -r tsconfig-paths/register dist/index.js\`\) to resolve the paths defined in tsconfig.json; alternatively, configure your bundler \(Vite/Webpack\) to handle the aliasing during the build step.
Journey Context:
Developer sets up path mapping in \`tsconfig.json\` \(\`"@app/\*": \["src/app/\*"\]\`\) to escape relative path hell \(\`../../../utils\`\). VS Code shows no red squiggles, IntelliSense works, and \`tsc --noEmit\` passes. However, upon compiling with \`tsc\` and running \`node dist/server.js\`, the process crashes with "Cannot find module '@app/utils'". The developer inspects the emitted \`dist/server.js\` and sees \`require\("@app/utils"\)\` unchanged, realizing TypeScript's path mapping is purely for compile-time type resolution and does not rewrite module specifiers in output. After searching, they discover that Node.js knows nothing about tsconfig paths. The solution involves either using a bundler that rewrites imports or, for pure Node apps, installing \`tsconfig-paths\` and requiring it via \`-r tsconfig-paths/register\` to patch Node's module resolution at runtime, bridging the gap between the compiler's world and the runtime.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T16:51:59.928847+00:00— report_created — created