Skip to content

Babel plugin to transpile import() to a deferred require(), for node

License

Notifications You must be signed in to change notification settings

airbnb/babel-plugin-dynamic-import-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a683888 · Apr 22, 2020

History

84 Commits
Apr 21, 2020
Apr 21, 2020
Jun 7, 2018
Nov 9, 2016
Nov 9, 2016
Jun 21, 2017
Nov 9, 2016
Jun 21, 2017
Apr 20, 2020
Apr 21, 2020
Oct 26, 2016
Apr 22, 2020
Apr 21, 2020
Jun 18, 2019

Repository files navigation

babel-plugin-dynamic-import-node

Babel plugin to transpile import() to a deferred require(), for node. Matches the proposed spec.

NOTE: Babylon >= v6.12.0 is required to correctly parse dynamic imports.

NOTE: This plugin generates code compatible with Node.js. Webpack >= 2 supports import() natively, and for Webpack 1 you can use babel-plugin-dynamic-import-webpack that generates Webpack-compatible output.

Installation

npm install babel-plugin-dynamic-import-node --save-dev

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["dynamic-import-node"]
}

Options

  • noInterop - A boolean value, that if true will not interop the require calls. Useful to avoid using require('module').default on commonjs modules.
{
  "plugins": [
    ["dynamic-import-node", { "noInterop": true }]
  ]
}

Via CLI

$ babel --plugins dynamic-import-node script.js

Via Node API

require('babel-core').transform('code', {
  plugins: ['dynamic-import-node']
});

Code Example

Promise.all([
  import('./lib/import1'),
  import('./lib/import2')
 ]).then(([
   Import1,
   Import2
  ]) => {
   console.log(Import1);
   /* CODE HERE*/
  });

About

Babel plugin to transpile import() to a deferred require(), for node

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published