-
Notifications
You must be signed in to change notification settings - Fork 13.1k
Description
Our rules for loading files from wildcard matches prioritize .d.ts files over .json files (and at the same priority as .js files). Now that we support declaration files for .json and .js files, this is undesirable, as when declarations are emitted in-place (ie, with emitDeclarationsOnly), subsequent compilations using wildcard lookups will load the generated declaration files over the original source .js (maybe) and .json (definitely) files. Fixing this would require rejiggering the extension priority machinery in src\compiler\utilities.ts, so that declaration files are truly the lowest priority extension to load. This comment thread has a bit more discussion on the topic. A cursory glance also leads me to believe that extension priorities for extraFileExtensions as passed into getSupportedExtensions are largely unhandled, so there's probably a fair chunk of work here to revisit this system.
In the meantime, if you encounter an issue likely caused by this discrepancy, the workaround is pretty simple: Use the outDir compiler option.