mirror of
https://github.com/oven-sh/bun
synced 2026-02-10 10:58:56 +00:00
* WIP * Updates * Document deepEquals * WIP * Update typeS * Update TLS docs for Bun.serve * Update types for tls * Draft binary data page. Add Streams page. * Update test runner docs * Add hashing, flesh out utils * Grammar * Update types * Fix * Add import.meta docs * Tee
1.6 KiB
1.6 KiB
The import.meta object is a way for a module to access information about itself. It's part of the JavaScript language, but its contents are not standardized. Each "host" (browser, runtime, etc) is free to implement any properties it wishes on the import.meta object.
Bun implements the following properties.
import.meta.dir; // => "/path/to/project"
import.meta.file; // => "file.ts"
import.meta.path; // => "/path/to/project/file.ts"
import.meta.main; // `true` if this file is directly executed by `bun run`
// `false` otherwise
import.meta.resolveSync("zod")
// resolve an import specifier relative to the directory
{% table %}
import.meta.dir- Absolute path to the directory containing the current fil, e.g.
/path/to/project. Equivalent to__dirnamein Node.js.
import.meta.file- The name of the current file, e.g.
index.tsx. Equivalent to__filenamein Node.js.
import.meta.path- Absolute path to the current file, e.g.
/path/to/project/index.tx.
import.meta.mainbooleanIndicates whether the current file is the entrypoint to the currentbunprocess. Is the file being directly executed bybun runor is it being imported?
-
import.meta.resolve{Sync} -
Resolve a module specifier (e.g.
"zod"or"./file.tsx) to an absolute path. While file would be imported if the specifier were imported from this file?import.meta.resolveSync("zod"); // => "/path/to/project/node_modules/zod/index.ts" import.meta.resolveSync("./file.tsx"); // => "/path/to/project/file.tsx"
{% /table %}