Microsoft/TypeScript

Allow `import.meta.url` when `module` is `node16` or `node18`

Open

#61.441 aberto em 17 de mar. de 2025

Ver no GitHub
 (2 comments) (3 reactions) (0 assignees)TypeScript (6.726 forks)batch import
BugDomain: Node ESMHelp Wanted

Métricas do repositório

Stars
 (48.455 stars)
Métricas de merge de PR
 (Mesclagem média 6d 17h) (9 fundiu PRs em 30d)

Description

🔎 Search Terms

import.meta' meta-property '--module' option 'es2020' 'es2022' 'esnext' 'system' 'node12' 'nodenext'

🕗 Version & Regression Information

  • This is the behavior in every version I tried, and I reviewed the FAQ for entries about the module option

⏯ Playground Link

https://www.typescriptlang.org/play/?moduleResolution=99&target=99&module=100&ts=5.8.2#code/MYewdgziA2CmB00QHMAUBLAtgBxAJwBd5NYCBDeAVz2gEoBuAWACgg

💻 Code

console.log(import.meta.url);

🙁 Actual behavior

When setting the module option to node16 or node18 you get the error message:

The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node12', or 'nodenext'.

🙂 Expected behavior

node16 and node18 should be supported. import.meta.url is available in those versions of Node and it makes no sense that this setting would say that it's available in Node 12 and the latest version of Node, but not the intermediate versions of Node.

Additional information about the issue

No response

Guia do colaborador