Skip to content

iftxt/sand-require

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sand-require Build Status

require modules as sandboxed objects

What

To treat the required module as a sandboxed object, you need to avoid passing by reference somehow. There are two ways to do that. That's deep-copying or overwriting the setter of the module object. This sand-require realizes the latter. The object created through the sand-require is an object that internally generates a recursive Proxy object and allows only the getter call.

Installation

$ npm install --save sand-require

Quick example

const sandRequire = require('sand-require')
const http = sandRequire('http')

console.log(http.STATUS_CODES['200'])
// => OK

delete http.STATUS_CODES // nothing happens
console.log(http.STATUS_CODES['200'])
// => OK