Skip to content

Latest commit

 

History

History
22 lines (16 loc) · 3.12 KB

README.md

File metadata and controls

22 lines (16 loc) · 3.12 KB

import.meta Registry

This repository serves as a registry for properties JavaScript runtimes or frameworks may add to the import.meta mechanism defined by TC-39/EcmaScript.

Because import.meta is a kind of global namespace, and because implementations are permitted to put whatever they like there, there are potential interoperability and code portability challenges introduced for developers if runtimes and frameworks fail to coordinate their use of the namespace. Therefore, the WinterCG has established this registry to serve as a coordination point.

WinterCG compliant runtimes should never use an import.meta property that conflicts in definition with any of the properties included in this registry.

Likewise, implementations should try their best to avoid adding new import.meta properties in their implementations, or to this registry, that conflict or overlap with other properties in this registry. Given that such conflict/overlap may not be always avoidable, registrations here should take care to describe when/where/how such properties differ from others they conflict/overlap with.

The process for adding new items to this registry is to open a pull request. Registrations must include all three fields: Name, Description, and a link to a specifying document. The specifying document does not need to be a formal standard -- links to project documentation or even source code is sufficient so long as the semantics of the property are appropriately described. After one week, if there are no objections from WinterCG participants to the registration and at least one sign off on the PR, it can be added.

Property Description Link
import.meta.url A module scripts base URL https://html.spec.whatwg.org/multipage/webappapis.html#hostgetimportmetaproperties
import.meta.resolve Resolves a module specifier to a URL using the current module's URL as base. https://html.spec.whatwg.org/multipage/webappapis.html#hostgetimportmetaproperties
import.meta.main Returns whether the current module is the entry point to your program. https://deno.land/[email protected]/runtime/import_meta_api#importmeta--api
import.meta.dirname Absolute file path of the folder containing the current module, with trailing slash. Like CommonJS __dirname. import-meta-path-helpers.md
import.meta.filename Absolute file path of current module. Like CommonJS __filename. import-meta-path-helpers.md
import.meta.dir Absolute path to the directory containing the current file, e.g. /path/to/project. Equivalent to __dirname in CommonJS modules (and Node.js) https://bun.sh/docs/api/import-meta
import.meta.file The name of the current file, e.g. index.tsx https://bun.sh/docs/api/import-meta
import.meta.path Absolute path to the current file, e.g. /path/to/project/index.tx. Equivalent to __filename in CommonJS modules (and Node.js) https://bun.sh/docs/api/import-meta