Skip to content
This repository has been archived by the owner on Feb 10, 2023. It is now read-only.

sergeysova/babel-plugin-import-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

babel-plugin-import-node

Babel plugin to transpile import() to requireAsync().

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

Installation

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

Example

In:

const asyncRoutes = [
  import('./root').then(module => module.default),
  import(`./named_${subRoute}`),
]

Out:

var _requireAsync = function requireAsync(modulePath) {
  return Promise.resolve().then(function() {
    return require(modulePath);
  });
};

const asyncRoutes = [
  _requireAsync('./root').then(module => module.default),
  _requireAsync(`./named_${subRoute}`),
]

Usage

Via .babelrc (Recommended)

.babelrc

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

Via CLI

$ babel --plugins import-node script.js

Via Node API

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