@std/esm
Usage
- Run
npm i --save @std/esm
in your package or app directory. - Call
require("@std/esm")
before importing ECMAScript modules.
Enable ESM in the Node REPL by loading @std/esm
upon entering:
$ node
> require("@std/esm")
{}
> import { strictEqual } from "assert"
> strictEqual(2 + 2, 5)
AssertionError: 4 === 5
at repl:1:1
at REPLServer.defaultEval (repl.js:272:27)
...
Features
@std/esm | ESM in Node 10 | |
---|---|---|
Dynamic import() | ||
Live bindings | ||
Loads .mjs as ESM | ||
Loads .js as ESM | ||
Loads gzipped modules (e.g. .js.gz , .mjs.gz ) | ||
Node 4+ support | ||
Top-level await for main ES module | ||
Unordered specifiers import * as ns, v, {a,b} from "mod" | ||
import {a,b} from "cjs" | ||
export * as ns from "mod" | ||
export v from "mod" | ||
Top-level return in ESM | ||
__dirname in ESM | ||
__filename in ESM | ||
require in ESM | ||
Loads ESM with require from CJS |
* ESM expansions
** Carryover from CJS