π Search Terms
triple slash reference types omitted
#57681
π Version & Regression Information
- This changed between versions 5.3.3 and 5.5.0
β― Playground Link
lit/lit#4682
π» Code
I couldn't make a playground that shows the problem, because it requires a dependency.
package.json:
"dependencies": {
"@types/trusted-types": "^2.0.2"
},
tsconfig.json
{
"compilerOptions": {
"types": ["trusted-types"]
},
}
index.ts (part of package dep)
export const foo = (html: string | TrustedHTML) => Foo;
app.js (part of package app, depends on the package dep):
π Actual behavior
When compiling the package app, the compile error is that in dep/index.d.ts, the type TrustedHTML isn't found.
π Expected behavior
No compile errors.
Additional information about the issue
The problem seems to be that a triple-slash directive used to be emitted and now isn't:
/// <reference types="trusted-types" />
This is might due to #57681 however this isn't about not preserving a reference, since the reference used to be generated by the compiler. This is about the compiler newly not generating a required reference at all.
Changing the library code to:
index.ts (as part of package dep)
/// <reference types="trusted-types" preserve="true" />
export const foo = (html: string | TrustedHTML) => Foo;
fixes the problem, but this seems like a bug because before the compiler was correctly inferring that the reference was required for the declaration file, and now it's not.
π Search Terms
triple slash reference types omitted
#57681
π Version & Regression Information
β― Playground Link
lit/lit#4682
π» Code
I couldn't make a playground that shows the problem, because it requires a dependency.
package.json:
tsconfig.json
{ "compilerOptions": { "types": ["trusted-types"] }, }index.ts (part of package
dep)app.js (part of package
app, depends on the packagedep):π Actual behavior
When compiling the package
app, the compile error is that in dep/index.d.ts, the typeTrustedHTMLisn't found.π Expected behavior
No compile errors.
Additional information about the issue
The problem seems to be that a triple-slash directive used to be emitted and now isn't:
/// <reference types="trusted-types" />This is might due to #57681 however this isn't about not preserving a reference, since the reference used to be generated by the compiler. This is about the compiler newly not generating a required reference at all.
Changing the library code to:
index.ts (as part of package
dep)fixes the problem, but this seems like a bug because before the compiler was correctly inferring that the reference was required for the declaration file, and now it's not.