Skip to content

Required triple-slash types reference no longer generated in TS 5.5Β #58985

Closed
@justinfagnani

Description

@justinfagnani

πŸ”Ž 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):

import {foo} from '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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions