Skip to content

Combining importHelpers: true and module: preserve results in TS2354 #57688

@jgoz

Description

@jgoz

🔎 Search Terms

TS2354 This syntax requires an imported helper but module 'tslib' cannot be found.
importHelpers
module
preserve

🕗 Version & Regression Information

Occurs in 5.4.2 and in ^5.5.0-dev.20240307.

  • This changed between versions 5.3.3 and 5.4.2

^ This is not technically true because "module": "preserve" wasn't added until 5.4.2.

⏯ Playground Link

https://github.com/jgoz/typescript-module-preserve-issue

💻 Code

export class Foo {
  #foo: boolean;

  constructor() {
    this.#foo = false; // This syntax requires an imported helper but module 'tslib' cannot be found. ts(2354)
  }

  foo(): boolean {
    return this.#foo;
  }
}
{
  "compilerOptions": {
    "moduleResolution": "bundler",
    "module": "preserve",
    "importHelpers": true,
    "outDir": "dist",
    "target": "es2021"
  }
}

🙁 Actual behavior

Error message indicates that tslib is not present, but it is.

🙂 Expected behavior

No error.

Additional information about the issue

Not sure if this is a TS issue or an issue with the export maps in tslib.

Metadata

Metadata

Assignees

Labels

Fix AvailableA PR has been opened for this issue

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions