π 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
π Search Terms
importtype, import type parsing
π Version & Regression Information
assertkeyword)β― Playground Link
https://www.typescriptlang.org/play/?ts=6.0.0-dev.20250802#code/CYUwxgNghgTiAEBbA9sArhBAiA7lALlgNwBQ+AngA4ID68AvPBdcgGbwCWilyM+AFLgJYANPADeJePCgBnWSD4AuCVOkyV-fgEoGAPlXr1YZADtZyTADoIyAOaCcAC3LwwUU-HLI08HDA58BAArWXgnRRAAfhiorG1SIwBfbR0RNSSSFNIgA
π» Code
π 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