Socket
Book a DemoInstallSign in
Socket

rewrite-module

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rewrite-module

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

latest
Source
npmnpm
Version
1.0.1
Version published
Maintainers
1
Created
Source

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

FAQs

Package last updated on 13 Feb 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts