rewrite-imports
A tiny (349B) utility to rewrite import statements as require()s; via RegExp
A tiny (349B) utility to transform 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, use
rewrite-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
import { rewrite } from 'rewrite-imports';
// or
const { rewrite } = require('rewrite-imports');
rewrite(`import foo from '../bar'`);
//=> const foo = require('../bar');
rewrite(`import { foo } from 'bar'`);
//=> const { foo } = require('bar');
rewrite(`import * as path from 'path';`);
//=> const path = require('path');
rewrite(`import { foo as bar, baz as bat, lol } from 'quz';`);
//=> const { foo:bar, baz:bat, lol } = require('quz');
rewrite(`import foobar, { foo as FOO, bar } from 'foobar';`);
//=> const foobar = require('foobar');
//=> const { foo:FOO, bar } = foobar;
#API
#rewrite(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
See also
clsx(3), @polka/cluster(3), @pwa/cli(3), uvu(3), taskr(3), sockette(3), klona(3), kleur(3), dequal(3), sirv-cli(3)