Remaps import
statements to require()
statements. This is mostly useful alongside later static analysis tools (like glslify), where Babel import inter-op can often make static analysis difficult or impossible.
In:
import foobar from 'foo';
console.log(foobar());
Out:
const foobar = require('foo');
console.log(foobar());
⚠️ This only handles basic import specifiers (i.e. the above format), and does not support things like wildcard imports, destructuring, namespaces, etc. Feel free to submit a PR if you need this feature.
$ npm install babel-plugin-import-to-require
The modules
option can be used to narrow down to a specific list of modules to remap, ignoring all other import statements. If no parameter is specified, all import statements will be remapped.
.babelrc
{
"plugins": [
[ "import-to-require", { "modules": [ "foo" ] } ]
]
}
$ babel --plugins import-to-require script.js
require('babel').transform('code', {
plugins: [
[ 'import-to-require' , { modules: [ 'foo' ] } ]
]
});