Microsoft/TypeScript

ImportType attributes can include JS expressions

開放

#62,179 建立於 2025年8月3日

 (1 則留言) (1 個反應) (0 位負責人)TypeScript (13,395 個分叉)batch import
BugDomain: ES ModulesHelp Wanted

倉庫指標

星標
 (108,860 顆星)
PR 合併指標
 (平均合併 6天 17小時) (30 天內合併 9 個 PR)

描述

🔎 Search Terms

importtype, import type parsing

🕗 Version & Regression Information

  • This changed between versions 4.6.4 and 4.7.4 (with the old assert keyword)

⏯ Playground Link

https://www.typescriptlang.org/play/?ts=6.0.0-dev.20250802#code/CYUwxgNghgTiAEBbA9sArhBAiA7lALlgNwBQ+AngA4ID68AvPBdcgGbwCWilyM+AFLgJYANPADeJePCgBnWSD4AuCVOkyV-fgEoGAPlXr1YZADtZyTADoIyAOaCcAC3LwwUU-HLI08HDA58BAArWXgnRRAAfhiorG1SIwBfbR0RNSSSFNIgA

💻 Code

declare module "wat";
type _ = typeof import("wat", {
  assert: {
    a: (() => {
      console.log("why can you write js here????");
    })(),
  }
});

🙁 Actual behavior

parser accepts arbitrary JS expressions inside a type expression

🙂 Expected behavior

parser only allows string literal values or arbitrary type values

Additional information about the issue

No response

貢獻者指南