microsoft / TypeScript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
https://www.typescriptlang.org
Apache License 2.0
98.27k stars 12.2k forks source link

Treat the input file name from referenced project as "ts" rather than file extension it is when determining eliding file for program construction #58308

Closed sheetalkamat closed 2 weeks ago

sheetalkamat commented 2 weeks ago

During tsc -b the resolutions are shared across projects if the setting match. This means that if you resolved your own package name before building the project, you will get the "input" file as the resolution. And when we go to project that references this package and config, the input file will be used as resolution. This normally works out because we have rule to redirect to d.ts file and report error. But the issue is that if the input file is js file, it has rules for eliding imports. So if the file is input file name from referenced project, treat it as d.ts file for purpose of deciding eliding of imports and whether to include file or not.

Fixes https://github.com/microsoft/TypeScript/issues/57652