Meet npm Pro: unlimited public & private packages + package-based permissions.Learn more »

rewrite-imports

2.0.3 • Public • Published

rewrite-imports Build Status

Transforms various import statements into require() calls, using regular expressions.

Looking for something more backwards compatible?
Check out v1.4.0 which 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-module or check out @taskr/esnext for an example.

The output requires a JavaScript runtime that supports require calls and destructuring assignments with Objects.

  • At least Node 6.x is required

  • Or, for browsers:

    • A require shim is always needed – see fn
    • Ensure your target browsers support destructuring – see chart

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 import statement 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

Install

npm i rewrite-imports

DownloadsWeekly Downloads

201,957

Version

2.0.3

License

MIT

Unpacked Size

7.13 kB

Total Files

6

Last publish

Collaborators

  • avatar