Description
🔎 Search Terms
"rewriteRelativeImportExtensions", "extensions", "declaration", ".d.ts"
🕗 Version & Regression Information
- This is the behavior in every version I tried (even in the next 5.8.0), and I reviewed the FAQ for entries about "rewriteRelativeImportExtensions"
⏯ Playground Link
No response
💻 Code
In an index.ts file:
export * from './file.ts';
then build it with tsc
and "rewriteRelativeImportExtensions": true
& "declaration": true
in the compilerOptions
of your tsconfig.json
🙁 Actual behavior
Built files content:
In the JS file, index.js
, the extension is rewritten to .js:
export * from './file.js';
In the declaration file, index.d.ts
, the extension is not rewritten to .js:
export * from './file.ts';
🙂 Expected behavior
In the declaration file, the extension should be rewritten to .js too:
export * from './file.js';
Additional information about the issue
It occurs in the current TS 5.7.3 and in the next version (5.8.0-dev.20250123 at this time). Even if TS correctly interprets .d.ts
files with .ts
extensions in import
/export
, it's not the case of the IDE I use, PhpStorm. It can't provide a real code assistance with these declaration files.
In fact, I don't really know if it's a feature, a bug or an oversight in tsc
, or if rewriteRelativeImportExtensions
is just too new to be completely supported by all IDEs! Let me know!