microsoft / microsoft/TypeScript

[V6] `module` defaults is not `esnext`

Ouverte
#63,330 7 commentaires 5 réactions 1 personne assignée Voir sur GitHub

@DanielRosenwasser y travaille déjà.

Depuis le 1/4/2026.

Docs
Langage dominant
Go
Étoiles
111k
Forks
14.3k
Merge moyen
2 j 4 h
PR mergées (30 j)
132

Description

🔎 Search Terms

"module", "default", "esnext", "v6"

🕗 Version & Regression Information

This changed between versions V5 and V6

⏯ Playground Link

This isn't an issue in Playground, because you're required to enter a value for the module.

https://www.typescriptlang.org/play/?#code/FASwtgDg9gTgLgAgGZSsmUwIEQDoD0KUuAVgM5QB22CA7iHABYIDeCcAnhAKYBcO5KjQC+AbmDAAxlQoAbbrllQA5gAoiASlFA

💻 Code
  • package.json

    {
      "name": "testcase",
      "version": "1.0.0",
      "type": "module",
      "dependencies": {
        "typescript": "6.0.2"
      }
    }
    
  • index.ts

    import foo from "./foo.json" with { type: "json" };
    
    console.log(foo);
    
  1. npm install
  2. npc tsc index.ts
🙁 Actual behavior
index.ts:1:30 - error TS2823: Import attributes are only supported when the '--module' option is set to 'esnext', 'node18', 'node20', 'nodenext', or 'preserve'.

1 import foo from "./foo.json" with { type: "json" };
                               ~~~~~~~~~~~~~~~~~~~~~
🙂 Expected behavior

No error because module defaults to esnext.

Additional information about the issue

In Announcing TypeScript 6.0, it says module defaults to esnext: Similarly, the new default module is esnext, acknowledging that ESM is now the dominant module format.

But in TSConfig Reference, it's CommonJS if target is ES5; ES6/ES2015 otherwise.

In the code, I don't think the default value is esnext. Otherwise, we wouldn't be getting the TS2823 error.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.