Skip to content

Run code in sandbox with in-memory module resolution

License

Notifications You must be signed in to change notification settings

egoist/virtual-module

Repository files navigation

virtual-module

NPM version NPM downloads CircleCI chat

Evaluate a module in sandbox. This package is extracted and modified from vue-server-renderer.

Install

yarn add virtual-module

Usage

const { createModule } = require('virtual-module')

const evaluate = createModule({
  'entry.js': `
    const isThree = require('is-three.js')
    module.exports = context => isThree(context.a + context.b)
  `,
  'is-three.js': `
    module.exports = input => input === 3
  `
})

evaluate('entry.js')({ a: 1, b: 2 })
//=> true

evaluate('is-three.js')(4)
//=> false

API

https://virtual-module.egoist.sh

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

Author

virtual-module © EGOIST, Released under the MIT License.
Authored and maintained by EGOIST with help from contributors (list).

egoist.sh · GitHub @EGOIST · Twitter @_egoistlily