Skip to main content
interface ImportMeta

Deno provides extra properties on import.meta. These are included here to ensure that these are still available when using the Deno namespace in conjunction with other type libs, like dom.

Properties

url: string

A string representation of the fully qualified module URL. When the module is loaded locally, the value will be a file URL (e.g. file:///path/module.ts).

You can also parse the string as a URL to determine more information about how the current module was loaded. For example to determine if a module was local or not:

const url = new URL(import.meta.url);
if (url.protocol === "file:") {
  console.log("this module was loaded locally");
}
main: boolean

A flag that indicates if the current module is the main module that was called when starting the program under Deno.

if (import.meta.main) {
  // this was loaded as the main module, maybe do some bootstrapping
}

Methods

resolve(specifier: string): string

A function that returns resolved specifier as if it would be imported using import(specifier).

console.log(import.meta.resolve("./foo.js"));
// file:///dev/foo.js