@std/esm

Enable ES modules in Node today!

This package is discontinued. Use https://npmjs.com/esm
Last updated 2 years ago by jdalton .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @std/esm 
SYNC missed versions from official npm registry.

@std/esm

This fast, small, zero-dependency package is all you need to enable ES modules in Node 6+ today!

See the release post :book: and video :movie_camera: for all the details.

Discontinued

This package has been discontinued in favor of esm.

Getting started

Run npm i --save @std/esm in your app or package directory.

There are three ways to enable ESM with @std/esm.

  1. Enable ESM with a CJS bridge:

    index.js

    // Provide options as a parameter, environment variable, or rc file.
    require = require("@std/esm")(module/*, options*/)
    module.exports = require("./main.mjs").default
    
  2. Enable ESM in the Node CLI with the -r option:

    node -r @std/esm main.mjs
    
  3. Enable ESM in the Node REPL:

    node -r @std/esm
    

    or upon entering:

    $ node
    > require("@std/esm")
    @std/esm enabled
    

Note: All "cjs" options are unlocked in the Node REPL.

Standard Features

The @std/esm loader is as spec-compliant as possible and follows Node’s ESM rules.

:point_right: This means, by default, ESM requires the use of the .mjs file extension.
:unlock: You can unlock ESM with the .js file extension using the "js" ESM mode.

Out of the box @std/esm just works, no configuration necessary, and supports:

Unlockables

Unlock features with options specified as one of the following:

  • The "@std/esm" field in your package.json
  • JSON6 in an .esmrc or .esmrc.json file
  • JSON6 or file path in the ESM_OPTIONS environment variable
  • CJS/ESM in an .esmrc.js or .esmrc.mjs file

Commonly used options may be specified in shorthand form:

  • "@std/esm":"js" is shorthand for "@std/esm":{"mode":"js"}
  • "@std/esm":"cjs" is shorthand for "@std/esm":{"cjs":true,"mode":"js"}
{
"mode":

A string mode:

  • "all" files as ESM
  • "js" and other files with import, import.meta, export, or "use module" as ESM
"cjs":

A boolean or object to unlock CJS features in ESM.

<summary>Unlockable Features</summary>
{
"cache":

A boolean for storing ES modules in require.cache.

"extensions":

A boolean for respecting require.extensions in ESM.

"interop":

A boolean for __esModule interoperability.

"namedExports":

A boolean for importing named exports of CJS modules.

"paths":

A boolean for following CJS path rules in ESM.

"topLevelReturn":

A boolean for top-level return.

"vars":

A boolean for __dirname, __filename, and require in ESM.

}
"await":

A boolean for top-level await in modules without ESM exports. (requires Node 7.6+)

}

DevOpts

{
"cache":

A boolean for toggling cache creation or string path of the cache directory.

"debug":

A boolean for unmasking stack traces.

"sourceMap":

A boolean for including inline source maps.

"warnings":

A boolean for logging development parse and runtime warnings.

}

Tips

  • Load @std/esm before @babel/register v7+
  • Load @std/esm with the “require” option of ava, mocha, nyc, and tape
  • Load @std/esm with the --node-arg=-r --node-arg=@std/esm option of node-tap
  • Load @std/esm with the --node-args="-r @std/esm" option of pm2
  • Load @std/esm with wallaby.js
  • Use @std/esm to load jasmine
  • Use "@std/esm":"cjs" for the --watch and --watch-extensions options of mocha
  • Use "@std/esm":"cjs" for ava and webpack
  • When in doubt, use "@std/esm":"cjs"

Current Tags

  • 0.26.0                                ...           latest (2 years ago)

73 Versions

  • 0.26.0 [deprecated]           ...           2 years ago
  • 0.25.5                                ...           2 years ago
  • 0.25.4                                ...           2 years ago
  • 0.25.3                                ...           2 years ago
  • 0.25.2                                ...           2 years ago
  • 0.25.1                                ...           2 years ago
  • 0.25.0                                ...           2 years ago
  • 0.24.0                                ...           2 years ago
  • 0.23.4                                ...           2 years ago
  • 0.23.3                                ...           2 years ago
  • 0.23.2                                ...           2 years ago
  • 0.23.1                                ...           2 years ago
  • 0.23.0                                ...           2 years ago
  • 0.22.0                                ...           2 years ago
  • 0.21.7                                ...           2 years ago
  • 0.21.6                                ...           2 years ago
  • 0.21.5                                ...           2 years ago
  • 0.21.4                                ...           2 years ago
  • 0.21.3                                ...           2 years ago
  • 0.21.2                                ...           2 years ago
  • 0.21.1                                ...           2 years ago
  • 0.21.0                                ...           2 years ago
  • 0.20.0                                ...           2 years ago
  • 0.19.7                                ...           2 years ago
  • 0.19.6                                ...           2 years ago
  • 0.19.5                                ...           2 years ago
  • 0.19.4                                ...           2 years ago
  • 0.19.3                                ...           2 years ago
  • 0.19.2                                ...           2 years ago
  • 0.19.1                                ...           2 years ago
  • 0.19.0                                ...           2 years ago
  • 0.18.0                                ...           3 years ago
  • 0.17.3                                ...           3 years ago
  • 0.17.2                                ...           3 years ago
  • 0.17.1                                ...           3 years ago
  • 0.17.0                                ...           3 years ago
  • 0.16.0                                ...           3 years ago
  • 0.15.0                                ...           3 years ago
  • 0.14.0                                ...           3 years ago
  • 0.13.0                                ...           3 years ago
  • 0.12.5                                ...           3 years ago
  • 0.12.4                                ...           3 years ago
  • 0.12.3                                ...           3 years ago
  • 0.12.2                                ...           3 years ago
  • 0.12.1                                ...           3 years ago
  • 0.12.0                                ...           3 years ago
  • 0.11.3                                ...           3 years ago
  • 0.11.2                                ...           3 years ago
  • 0.11.1                                ...           3 years ago
  • 0.11.0                                ...           3 years ago
  • 0.10.2                                ...           3 years ago
  • 0.10.1                                ...           3 years ago
  • 0.10.0                                ...           3 years ago
  • 0.9.2                                ...           3 years ago
  • 0.9.1                                ...           3 years ago
  • 0.9.0                                ...           3 years ago
  • 0.8.3                                ...           3 years ago
  • 0.8.2                                ...           3 years ago
  • 0.8.1                                ...           3 years ago
  • 0.8.0                                ...           3 years ago
  • 0.7.1                                ...           3 years ago
  • 0.7.0                                ...           3 years ago
  • 0.6.0                                ...           3 years ago
  • 0.5.1                                ...           3 years ago
  • 0.5.0                                ...           3 years ago
  • 0.4.0                                ...           3 years ago
  • 0.3.0                                ...           3 years ago
  • 0.2.2                                ...           3 years ago
  • 0.2.1                                ...           3 years ago
  • 0.2.0                                ...           3 years ago
  • 0.1.1                                ...           3 years ago
  • 0.1.0                                ...           3 years ago
  • 0.0.1                                ...           3 years ago
Maintainers (2)
Downloads
Today 0
This Week 479
This Month 479
Last Day 81
Last Week 219
Last Month 1,362
Dependencies (0)
None
Dev Dependencies (0)
None
Dependents (187)

Copyright 2014 - 2016 © taobao.org |