rewrite-imports 
Transforms various import statements into require() calls, using regular expressions.
Looking for something more backwards compatible?
Check outv1.4.0which does not rely on destructured assignment!
Caveats
This module returns a string and does not provide a runtime nor does it evaluate the output.
💡 For this behavior, userewrite-moduleor check out@taskr/esnextfor an example.
The output requires a JavaScript runtime that supports require calls and destructuring assignments with Objects.
-
At least
Node 6.xis required -
Or, for browsers:
If you have false positives, you may want to use an AST to find actual import statements before transformation.
Check out an example implementation.
Install
$ npm install --save rewrite-imports
Usage
const rImports = require('rewrite-imports');
rImports(`import foo from '../bar'`);
//=> const foo = require('../bar');
rImports(`import { foo } from 'bar'`);
//=> const { foo } = require('bar');
rImports(`import * as path from 'path';`);
//=> const path = require('path');
rImports(`import { foo as bar, baz as bat, lol } from 'quz';`);
//=> const { foo:bar, baz:bat, lol } = require('quz');
rImports(`import foobar, { foo as FOO, bar } from 'foobar';`);
//=> const foobar = require('foobar');
//=> const { foo:FOO, bar } = foobar;
API
rImports(input, fn)
input
Type: String
The import statement(s) or the code containing import statement(s).
See MDN for valid
importstatement syntax.
fn
Type: String
Default: 'require'
The require-like function name to use. Defaults to require but you may choose to pass the name of a custom shim function; for example, __webpack_require__ may work for webpack in the browser.
License
MIT © Luke Edwards