1.0.1 • Published 7 years ago

rewrite-module v1.0.1

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

rewrite-module Build Status

Rewrite a module's exports by applying string transformations, then return for immediate use! No eval()!

Install

$ npm install --save rewrite-module

Usage

// foobar.js
exports.foo = 'FOOBAR_foo';
exports.bar = 'FOOBAR_bar';
const { join } = require('path');
const read = require('fs').readFileSync;
const rewriteModule = require('rewrite-module');

const file = join(__dirname, 'foobar.js');
const data = read(file, 'utf8').replace(/FOOBAR/g, 'foobar');

rewriteModule({file, data});
//=> {foo: 'foobar_foo', bar: 'foobar_bar'}

API

rewriteModule(options)

Returns a new, useable module that's comprised of the contents you provided. The return-module directly reflects the input given; so any defined exports will be available as object keys.

Note: You can receive a function instead of an object if that's what you defined. Perhaps a refresher on exports?

options.data

Type: string Required: true

The transformed string to be evaluated in a new VM.

options.file

Type: string

The original module's filepath.

License

MIT © Luke Edwards