* fix: resolve TypeScript ESM .js extension imports to .ts source files
TypeScript ESM requires imports to use .js extensions even when source
files are .ts (moduleResolution: node16/bundler). The import resolver
now strips JS-family extensions (.js/.jsx/.mjs/.cjs) and retries with
TS equivalents (.ts/.tsx/.mts/.cts) when the literal .js file does not
exist. This fallback only applies to TypeScript/JavaScript languages.
Also adds .mts/.cts to the EXTENSIONS list for completeness.
Fixes#1503
* fix: address review findings — normalization, edge-case tests, integration test
- Fix makeCtx to use production normalization (.replace backslash)
instead of .toLowerCase() (Finding 3)
- Add tests for .mjs/.cjs with competing .ts/.mts siblings (Finding 1)
- Add tests for ./dir.js → dir/index.ts boundary (Finding 2)
- Add integration test verifying full pipeline CALLS edges for ESM
.js imports (Finding 4)
- Document path alias .js limitation as known follow-up (Finding 5)
* chore(autofix): apply prettier + eslint fixes via /autofix command
* chore: retrigger CI after bot-only tip commit
Co-authored-by: Cursor <cursoragent@cursor.com>
---------
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gergo Magyar <gergomagyar@icloud.com>
Co-authored-by: Cursor <cursoragent@cursor.com>