Microsoft/TypeScript

Trailing comma in dynamic import should be allowed also when used in a `typeof` type

Open

#61,489 建立於 2025年3月26日

在 GitHub 查看
 (1 留言) (2 反應) (0 負責人)TypeScript (6,726 fork)batch import
Domain: ES ModulesHelp WantedPossible Improvement

倉庫指標

Star
 (48,455 star)
PR 合併指標
 (平均合併 6天 17小時) (30 天內合併 9 個 PR)

描述

🔎 Search Terms

trailing comma dynamic import

🕗 Version & Regression Information

  • This is the behavior in every version I tried

⏯ Playground Link

https://www.typescriptlang.org/play/?#code/CYUwxgNghgTiAEBbA9sArhBAiAZs5W8A3gL4BQZYyAdgM4Au8AbvALzxQDuUAloz4gAOyGPQAUufFgA0ASgDcZegE9BCACpt4KtchzwBw0RLwE5iyjQbMATFq69+QkeMlnS5pao132OkHoGzsZuMh4KZEA

💻 Code

declare module "foo" {}

const v = await import("foo",);
type T = typeof import("foo",);

const v2 = await import("foo",{},);
type T2 = typeof import("foo",{},);

🙁 Actual behavior

The trailing commas in the type-level import()s are reported as syntax error

🙂 Expected behavior

The syntax of import() at the type-level should match the one at the value level, thus allowing trailing commas.

Additional information about the issue

Note that the error was correct before import attributes, but import attributes changed the dynamic import syntax to allow trailing commas.

貢獻者指南