3.2.25 • Published 5 years ago

esm v3.2.25

Weekly downloads
1,739,254
License
MIT
Repository
github
Last release
5 years ago

esm

The brilliantly simple, babel-less, bundle-less ECMAScript module loader.

esm is the world’s most advanced ECMAScript module loader. This fast, production ready, zero dependency loader is all you need to support ECMAScript modules in Node 6+. See the release post and video for details!

Install

  • New projects

    Run npm init esm or yarn create esm.

    :bulb: Use the -y flag to answer “yes” to all prompts.

  • Existing projects

    Run npm i esm or yarn add esm.

Getting started

There are two ways to enable esm.

  1. Enable esm for packages:

    Use esm to load the main ES module and export it as CommonJS.

    index.js

    // Set options as a parameter, environment variable, or rc file.
    require = require("esm")(module/*, options*/)
    module.exports = require("./main.js")

    main.js

    // ESM syntax is supported.
    export {}

    :bulb: These files are automagically created with npm init esm or yarn create esm.

  2. Enable esm for local runs:

    node -r esm main.js

    :bulb: Omit the filename to enable esm in the REPL.

Features

:clap: By default, :100: percent CJS interoperability is enabled so you can get stuff done. :lock: .mjs files are limited to basic functionality without support for esm options.

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

Options

Specify options with one of the following:

  • "esm" field in package.json
  • CJS/ESM in an .esmrc.js, .esmrc.cjs, or .esmrc.mjs file
  • JSON6 in an .esmrc or .esmrc.json file
  • JSON6 or file path in the ESM_OPTIONS environment variable
  • ESM_DISABLE_CACHE environment variable

DevOpts

Tips

Bundling

  • For bundlers like browserify+esmify, parcel-bundler, and webpack add a "module" field to package.json pointing to the main ES module.

    "main": "index.js",
    "module": "main.js"

    :bulb: This is automagically done with npm init esm or yarn create esm.

Extensions

Loading

  • Load esm before loaders/monitors like @babel/register, newrelic, sqreen, and ts-node.

  • Load esm for jasmine using the "helpers" field in jasmine.json:

    "helpers": [
      "node_modules/esm"
    ]
  • Load esm with “node-args" options of:

    • pm2: --node-args="-r esm"
  • Load esm with “require” options of ava, mocha, nodemon, nyc, qunit, tape, and webpack.

    :bulb: Builtin require cannot sideload .mjs files. However, .js files can be sideloaded or .mjs files may be loaded with dynamic import.

blobya-erroreog_seog_xx@bobthered/create-project@juaneth/discord-forge-cli@italocobains/typi@danielcoorner/calc-gap-animation@nickdam/model-service-generator@noir-lang/noir-jsagoric@dbml-aml/cli@dealing/startappcreate-sioarduinocnr-common-framedevminhcliclean-setup@ckenx/cli@felicienfouillet/dev-toolsx2fafldistinit-log4brainsvue-cli-plugin-vtec-admin@exomath/math-nodesrest-api-appcreate-blitz-projecttest-universepkg-avalon-dev-server@tiagoboeing/styleguide-cli@raisin/mf-generator-clicurlify-api-gatewaymatercolorweb-component-reactflowfinderrestful-directorybiobank-cliplacepass-dibs-cli@corinty/proxmaneo4j-simple-datasvgtojscli@keanucode/initprj@toology/use-event-listenersm-flex-nssm-flex-ns-00@atao60/dummy-cli-starter-kit@omger/create-node-appjs-code-format@yaitmou/create-web-projectemail-worker-corecreate_your_simple_webapp@wearearchangel/create-hcf-frontend@manuelosorio/test@csuriel/js-startewa-ts-cligulp-starter-kit-clizen-project@nodea/universulcreate-qoala-app@nodea/universal@sumcoding/svgtojs@modevel/cli@sazukegu/ufabclikafka-publisher-ss@eam-k/exec-multiple-process@eam-k/run-multi-process@foody-cy/cli@tripheo2410/create-gatsby-appvuepress-theme-dva@lrfmedia/lrfmedia_climuil-2tirain3d@pythonpete32/power-tools@thanoshanmv/create-appcodebase-initddavel-express-sdk@finerweb/refinerboarder-brainzcreate-codebasedelay-watchboard-meetingcyberdrop-dl@oliv76/projects@amrsaber/rand-stringwebresources-toolphabimuil-1truffle-plugin-web3-generator@snuffish/delay-watchfaucet-gorgeon@ssead/serverless-clicloud-directory@node-plex/plex-api-authcloudos-sdk-nodecli-serverlesstwohundred@malopez1578/gamesclichannels_transformercreate-algoorbit-monstrasuhail-first-package
3.2.25

5 years ago

3.2.24

5 years ago

3.2.23

5 years ago

3.2.22

5 years ago

3.2.21

5 years ago

3.2.20

5 years ago

3.2.19

5 years ago

3.2.18

5 years ago

3.2.17

5 years ago

3.2.16

5 years ago

3.2.15

5 years ago

3.2.14

5 years ago

3.2.13

5 years ago

3.2.12

5 years ago

3.2.11

5 years ago

3.2.10

5 years ago

3.2.9

5 years ago

3.2.8

5 years ago

3.2.7

5 years ago

3.2.6

5 years ago

3.2.5

5 years ago

3.2.4

5 years ago

3.2.3

5 years ago

3.2.2

5 years ago

3.2.1

5 years ago

3.2.0

5 years ago

3.1.4

5 years ago

3.1.3

5 years ago

3.1.2

5 years ago

3.1.1

5 years ago

3.1.0

5 years ago

3.0.84

6 years ago

3.0.83

6 years ago

3.0.82

6 years ago

3.0.81

6 years ago

3.0.80

6 years ago

3.0.79

6 years ago

3.0.78

6 years ago

3.0.77

6 years ago

3.0.76

6 years ago

3.0.75

6 years ago

3.0.74

6 years ago

3.0.73

6 years ago

3.0.72

6 years ago

3.0.71

6 years ago

3.0.70

6 years ago

3.0.69

6 years ago

3.0.68

6 years ago

3.0.67

6 years ago

3.0.66

6 years ago

3.0.65

6 years ago

3.0.64

6 years ago

3.0.63

6 years ago

3.0.62

6 years ago

3.0.61

6 years ago

3.0.60

6 years ago

3.0.59

6 years ago

3.0.58

6 years ago

3.0.56

6 years ago

3.0.57

6 years ago

3.0.55

6 years ago

3.0.54

6 years ago

3.0.53

6 years ago

3.0.52

6 years ago

3.0.51

6 years ago

3.0.50

6 years ago

3.0.49

6 years ago

3.0.48

6 years ago

3.0.47

6 years ago

3.0.46

6 years ago

3.0.45

6 years ago

3.0.44

6 years ago

3.0.43

6 years ago

3.0.42

6 years ago

3.0.41

6 years ago

3.0.40

6 years ago

3.0.39

6 years ago

3.0.38

6 years ago

3.0.37

6 years ago

3.0.36

6 years ago

3.0.35

6 years ago

3.0.34

6 years ago

3.0.33

6 years ago

3.0.32

6 years ago

3.0.31

6 years ago

3.0.30

6 years ago

3.0.29

6 years ago

3.0.28

6 years ago

3.0.27

6 years ago

3.0.26

6 years ago

3.0.25

6 years ago

3.0.24

6 years ago

3.0.23

6 years ago

3.0.22

6 years ago

3.0.21

6 years ago

3.0.20

6 years ago

3.0.19

6 years ago

3.0.18

6 years ago

3.0.17

6 years ago

3.0.16

6 years ago

3.0.15

6 years ago

3.0.14

6 years ago

3.0.13

6 years ago

3.0.12

6 years ago

3.0.11

6 years ago

3.0.10

6 years ago

3.0.9

6 years ago

3.0.8

6 years ago

3.0.7

6 years ago

3.0.6

6 years ago

3.0.5

6 years ago

3.0.4

6 years ago

3.0.3

6 years ago

3.0.2

6 years ago

3.0.1

6 years ago

3.0.0

6 years ago

2.2.0

6 years ago

2.1.2

8 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.9

8 years ago

2.0.8

8 years ago

2.0.7

8 years ago

2.0.6

8 years ago

2.0.5

8 years ago

2.0.4

8 years ago

2.0.3

8 years ago

2.0.2

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.0.9

9 years ago

1.0.8

9 years ago

1.0.7

9 years ago

1.0.6

9 years ago

1.0.5

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago