Skip to content

Latest commit

 

History

History
61 lines (46 loc) · 1.3 KB

README.md

File metadata and controls

61 lines (46 loc) · 1.3 KB

A simple Sandbox implementation for JavaScript

Preview

preview

Demo

Edit quirky-microservice-8oqog

How to use

Install from the npm

npm install z-sandbox
# or
yarn add z-sandbox

Use in your code

import { createSandbox } from 'z-sandbox';

const sandboxOptions = {
    // default: false
    useStrict: false,
    // default: true
    inheritGlobal: true,
    // default: []
    blacklist: ['blacklistContent']
};

const context = {
    blacklistContent: "this content is in the blacklist, you can't get it in the sandbox",
    hello: 'hello z-sandbox'
};

const sandbox = createSandbox(context, sandboxOptions);

sandbox`
    // should be undefined
    console.log(blacklistContent);
    // should be undefined
    console.log(window.blacklistContent);
    // should be undefined
    console.log(this.blacklistContent);
    // should be undefined
    console.log(self.blacklistContent);

    // should be 'hello z-sandbox'
    console.log(hello);

    window.testInject = true;
    // should be true
    console.log(window.testInject);
`;
// should be undefined, false
console.log(window.testInject, 'testInject' in window);