ImportMeta
Rsvim provides meta properties on import.meta
.
Accessors
url
Get Signature
get url(): string;
A string representation of fully qualified module URL. When the module is loaded locally, the value will be a file URL, e.g. file:///path/module.js
.
Rsvim doesn't support remote modules (at least for now), thus all modules are locally loaded from file system.
Example
// Get the url of current script file.
const value = import.meta.url;
const url = new URL(import.meta.url);
if (url.protocol === "file:") {
Rsvim.cmd.echo("this module was loaded locally");
}
Returns
string
filename
Get Signature
get filename(): string;
The absolute file path of current module. This property is only provided for local loaded modules, i.e. using file://
URLs.
Example
// Unix
Rsvim.cmd.echo(import.meta.filename); // /home/alice/.rsvim.js
// Windows
Rsvim.cmd.echo(import.meta.filename); // C:\Users\alice\.rsvim.js
Returns
string | undefined
dirname
Get Signature
get dirname(): string;
The absolute file path of the directory that containing current module. This property is only provided for local loaded modules, i.e. using file://
URLs.
Example
// Unix
Rsvim.cmd.echo(import.meta.dirname); // /home/alice
// Windows
Rsvim.cmd.echo(import.meta.dirname); // C:\Users\alice
Returns
string | undefined
main
Get Signature
get main(): boolean;
Whether current module is the main module that was called when starting Rsvim, i.e. the config entry point of Rsvim. See Configuration.
Example
const isMain = import.meta.main;
Returns
boolean
Methods
resolve()
resolve(specifier): string;
Resolves the URL for a specifier as if it would be imported using import(specifier)
.
Parameters
Parameter | Type | Description |
---|---|---|
|
| The specifier to be resolved. |
Returns
string
It returns a resolved URL by the specifier.
Example
const url = import.meta.resolve("./utils/echo.js");