{"_id":"notevil","_rev":"45298","name":"notevil","description":"Evalulate javascript like the built-in eval() method but safely","dist-tags":{"latest":"1.3.3"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"time":{"modified":"2021-06-03T10:13:56.000Z","created":"2013-11-02T02:44:42.825Z","1.3.3":"2020-03-04T03:14:57.497Z","1.3.2":"2019-08-29T06:09:16.148Z","1.3.1":"2019-05-08T05:56:51.913Z","1.3.0":"2019-05-08T05:55:34.359Z","1.2.0":"2019-05-03T06:36:17.141Z","1.1.0":"2017-02-05T00:20:17.654Z","1.0.0":"2015-03-18T23:39:39.300Z","0.8.1":"2014-07-03T05:01:26.348Z","0.8.0":"2013-12-03T03:40:52.019Z","0.7.0":"2013-11-25T23:36:25.945Z","0.6.0":"2013-11-25T08:55:34.127Z","0.5.0":"2013-11-25T01:00:07.792Z","0.4.0":"2013-11-24T21:46:24.282Z","0.3.0":"2013-11-24T04:00:40.681Z","0.2.0":"2013-11-24T02:57:02.915Z","0.1.0":"2013-11-24T02:12:26.220Z","0.0.2":"2013-11-24T00:23:27.119Z","0.0.1":"2013-11-02T03:11:47.721Z","0.0.0":"2013-11-02T02:44:42.825Z"},"users":{"shawnbot":true,"moimikey":true,"dkordik":true},"author":{"name":"Matt McKegg"},"repository":{"type":"git","url":"git+https://github.com/mmckegg/notevil.git"},"versions":{"1.3.3":{"name":"notevil","version":"1.3.3","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mmckegg/notevil.git"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"^4.11.0"},"gitHead":"bd10b651233cddccc8b372d1b4d8eb3f4d64bb69","homepage":"https://github.com/mmckegg/notevil#readme","_id":"notevil@1.3.3","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"shasum":"56b8a935d8978e0c000749621aca3928b823cb01","size":8508,"noattachment":false,"key":"/notevil/-/notevil-1.3.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-1.3.3.tgz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/notevil_1.3.3_1583291697386_0.5820642971919627"},"_hasShrinkwrap":false,"publish_time":1583291697497,"_cnpm_publish_time":1583291697497},"1.3.2":{"name":"notevil","version":"1.3.2","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mmckegg/notevil.git"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"^4.11.0"},"gitHead":"a9eb884e2e41f27d8be6c30a9e9876028ff6d92c","homepage":"https://github.com/mmckegg/notevil#readme","_id":"notevil@1.3.2","_nodeVersion":"10.16.0","_npmVersion":"6.8.0","dist":{"shasum":"8b35c39ad02b080eea6cb217e5ad3d34ac615a26","size":8407,"noattachment":false,"key":"/notevil/-/notevil-1.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-1.3.2.tgz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/notevil_1.3.2_1567058955978_0.05287240661347559"},"_hasShrinkwrap":false,"publish_time":1567058956148,"_cnpm_publish_time":1567058956148},"1.3.1":{"name":"notevil","version":"1.3.1","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mmckegg/notevil.git"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"gitHead":"43b3e5262b9256d5ce601fe45451e2bd13b8ed30","homepage":"https://github.com/mmckegg/notevil#readme","_id":"notevil@1.3.1","_nodeVersion":"8.9.4","_npmVersion":"6.8.0","dist":{"shasum":"c5f7d689ffab67b4df22f7e07eb33333d998c363","size":8282,"noattachment":false,"key":"/notevil/-/notevil-1.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-1.3.1.tgz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/notevil_1.3.1_1557295011778_0.26816936093660715"},"_hasShrinkwrap":false,"publish_time":1557295011913,"_cnpm_publish_time":1557295011913},"1.3.0":{"name":"notevil","version":"1.3.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mmckegg/notevil.git"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"gitHead":"e3ec28741e9df184dbeb3b43bb2c6a9eb7a34f33","homepage":"https://github.com/mmckegg/notevil#readme","_id":"notevil@1.3.0","_nodeVersion":"8.9.4","_npmVersion":"6.8.0","dist":{"shasum":"dde2dba001ebfdc272677be509d961737abb55bd","size":8286,"noattachment":false,"key":"/notevil/-/notevil-1.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-1.3.0.tgz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/notevil_1.3.0_1557294934207_0.01700966005208482"},"_hasShrinkwrap":false,"publish_time":1557294934359,"_cnpm_publish_time":1557294934359},"1.2.0":{"name":"notevil","version":"1.2.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mmckegg/notevil.git"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"gitHead":"88dc9956c7fe6440b63b80860d381bb509c0a8ee","homepage":"https://github.com/mmckegg/notevil#readme","_id":"notevil@1.2.0","_nodeVersion":"8.9.4","_npmVersion":"6.8.0","dist":{"shasum":"575d2053fd207cbdc94be6ea001f5f228d254cd8","size":7911,"noattachment":false,"key":"/notevil/-/notevil-1.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-1.2.0.tgz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/notevil_1.2.0_1556865376959_0.9124699292292449"},"_hasShrinkwrap":false,"publish_time":1556865377141,"_cnpm_publish_time":1556865377141},"1.1.0":{"name":"notevil","version":"1.1.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tape test/*.js"},"repository":{"type":"git","url":"git+https://github.com/mmckegg/notevil.git"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"gitHead":"3b09e0de2044658484b74f96f009f9a82738b508","homepage":"https://github.com/mmckegg/notevil#readme","_id":"notevil@1.1.0","_shasum":"174d037491997f7120f247bad9618e91f12e98b2","_from":".","_npmVersion":"3.10.3","_nodeVersion":"6.4.0","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"dist":{"shasum":"174d037491997f7120f247bad9618e91f12e98b2","size":7964,"noattachment":false,"key":"/notevil/-/notevil-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-1.1.0.tgz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/notevil-1.1.0.tgz_1486254017421_0.6844587340019643"},"directories":{},"publish_time":1486254017654,"_cnpm_publish_time":1486254017654,"_hasShrinkwrap":false},"1.0.0":{"name":"notevil","version":"1.0.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"gitHead":"ea655bc732bf3378ca0380edecf89c370ff6b128","homepage":"https://github.com/mmckegg/notevil","_id":"notevil@1.0.0","_shasum":"6f4408ce93926ec6a843bef1e56d27422ac9e938","_from":".","_npmVersion":"1.4.28","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"dist":{"shasum":"6f4408ce93926ec6a843bef1e56d27422ac9e938","size":7818,"noattachment":false,"key":"/notevil/-/notevil-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-1.0.0.tgz"},"directories":{},"publish_time":1426721979300,"_cnpm_publish_time":1426721979300,"_hasShrinkwrap":false},"0.8.1":{"name":"notevil","version":"0.8.1","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"homepage":"https://github.com/mmckegg/notevil","_id":"notevil@0.8.1","dist":{"shasum":"1a6c0cb80b1f268192737d59edef9f2ad595894a","size":7764,"noattachment":false,"key":"/notevil/-/notevil-0.8.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.8.1.tgz"},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1404363686348,"_cnpm_publish_time":1404363686348,"_hasShrinkwrap":false},"0.8.0":{"name":"notevil","version":"0.8.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.8.0","dist":{"shasum":"21138f0da8a899fe1eb32fe22b987f4c6240efa0","size":7773,"noattachment":false,"key":"/notevil/-/notevil-0.8.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.8.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1386042052019,"_cnpm_publish_time":1386042052019,"_hasShrinkwrap":false},"0.7.0":{"name":"notevil","version":"0.7.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0","hoister":"~0.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.7.0","dist":{"shasum":"b50d9eeeecefd2e7ea9114d815a58684e702aafd","size":6571,"noattachment":false,"key":"/notevil/-/notevil-0.7.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.7.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385422585945,"_cnpm_publish_time":1385422585945,"_hasShrinkwrap":false},"0.6.0":{"name":"notevil","version":"0.6.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.6.0","dist":{"shasum":"e84986b10dcb2bd23301416d826cd8969eb69d07","size":5726,"noattachment":false,"key":"/notevil/-/notevil-0.6.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.6.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385369734127,"_cnpm_publish_time":1385369734127,"_hasShrinkwrap":false},"0.5.0":{"name":"notevil","version":"0.5.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.5.0","dist":{"shasum":"736ea0e9095fda6fe000de6797e1f1151e4889f2","size":4297,"noattachment":false,"key":"/notevil/-/notevil-0.5.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.5.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385341207792,"_cnpm_publish_time":1385341207792,"_hasShrinkwrap":false},"0.4.0":{"name":"notevil","version":"0.4.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.4.0","dist":{"shasum":"6a423e487990dc516749e6eb25cff2aa89424960","size":3394,"noattachment":false,"key":"/notevil/-/notevil-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.4.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385329584282,"_cnpm_publish_time":1385329584282,"_hasShrinkwrap":false},"0.3.0":{"name":"notevil","version":"0.3.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.3.0","dist":{"shasum":"0d42409a589d2027d4de6319d3f19e798d2b395a","size":3053,"noattachment":false,"key":"/notevil/-/notevil-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.3.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385265640681,"_cnpm_publish_time":1385265640681,"_hasShrinkwrap":false},"0.2.0":{"name":"notevil","version":"0.2.0","description":"Evalulate javascript like the built-in eval() method but safely","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.2.0","dist":{"shasum":"91da6da706b055275aea2f97b3c9f90714a60eab","size":2688,"noattachment":false,"key":"/notevil/-/notevil-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.2.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385261822915,"_cnpm_publish_time":1385261822915,"_hasShrinkwrap":false},"0.1.0":{"name":"notevil","version":"0.1.0","description":"Safely evalulate javascript using esprima and static-eval","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"esprima":"~1.0"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.1.0","dist":{"shasum":"cfed5f9126e8a28af72587c90916a67bb610ad57","size":2421,"noattachment":false,"key":"/notevil/-/notevil-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.1.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385259146220,"_cnpm_publish_time":1385259146220,"_hasShrinkwrap":false},"0.0.2":{"name":"notevil","version":"0.0.2","description":"Safely evalulate javascript using esprima and static-eval","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"static-eval":"0.0.0","esprima":"~1.0.4"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.0.2","dist":{"shasum":"bce652cf4b5522aae24a80bf2cc9c0a2a37a45dd","size":1756,"noattachment":false,"key":"/notevil/-/notevil-0.0.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.0.2.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1385252607119,"_cnpm_publish_time":1385252607119,"_hasShrinkwrap":false},"0.0.1":{"name":"notevil","version":"0.0.1","description":"Safely evalulate javascript using esprima and static-eval","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"static-eval":"0.0.0","esprima":"~1.0.4"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.0.1","dist":{"shasum":"f6fe2a4889b333559660da7bd3df3526532ba74a","size":1718,"noattachment":false,"key":"/notevil/-/notevil-0.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.0.1.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1383361907721,"_cnpm_publish_time":1383361907721,"_hasShrinkwrap":false},"0.0.0":{"name":"notevil","version":"0.0.0","description":"Safely evalulate javascript using esprima and static-eval","main":"index.js","scripts":{"test":"tap test/*.js"},"repository":{"type":"git","url":"https://github.com/mmckegg/notevil"},"keywords":["eval","sandbox","esprima","safe","expression"],"author":{"name":"Matt McKegg"},"license":"MIT","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"dependencies":{"static-eval":"0.0.0","esprima":"~1.0.4"},"devDependencies":{"tape":"*"},"readmeFilename":"README.md","_id":"notevil@0.0.0","dist":{"shasum":"ee578093979201700b0ba21848988653c11faaf3","size":1690,"noattachment":false,"key":"/notevil/-/notevil-0.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/notevil/download/notevil-0.0.0.tgz"},"_from":".","_npmVersion":"1.2.25","_npmUser":{"name":"mmckegg","email":"matt@wetsand.co.nz"},"maintainers":[{"name":"mmckegg","email":"matt@wetsand.co.nz"}],"directories":{},"publish_time":1383360282825,"_cnpm_publish_time":1383360282825,"_hasShrinkwrap":false}},"readme":"notevil\n===\n\nEvalulate javascript like the built-in javascript `eval()` method but **safely**. \n\nThis module uses [esprima](https://github.com/ariya/esprima) to parse the javascript AST then walks each node and evaluates the result. \n\nLike built-in `eval`, the result of the last expression will be returned. Unlike built-in, there is no access to global objects, only the context that is passed in as the second object.\n\nBuilt in types such as `Object` and `String` are still available, but they are wrapped so that any changes to prototypes are contained in the eval instance.\n\n[![NPM](https://nodei.co/npm/notevil.png?compact=true)](https://nodei.co/npm/notevil/)\n\n## Example\n\n```js\nvar safeEval = require('notevil')\n\n// basic math\nvar result = safeEval('1+2+3')\nconsole.log(result) // 6\n\n// context and functions\nvar result = safeEval('1+f(2,3)+x', {\n  x: 100, \n  f: function(a,b){\n    return a*b\n  }\n})\nconsole.log(result) // 107\n\n// multiple statements, variables and if statements\nvar result = safeEval('var x = 100, y = 200; if (x > y) { \"cats\" } else { \"dogs\" }')\nconsole.log(result) // dogs\n\n// inner functions\nvar result = safeEval('[1,2,3,4].map(function(item){ return item*100 })')\nconsole.log(result) // [100, 200, 300, 400]\n```\n\n### Updating context from safeEval\n\n```js\nvar context = { x: 1, obj: {y: 2} }\n\n// update context global\nsafeEval('x = 300', context)\nconsole.log(context.x) // 300\n\n// update property on object\nsafeEval('obj.y = 300', context)\nconsole.log(context.obj.y) // 300\n```\n\n### Creating functions\n```js\nvar func = safeEval.Function('param', 'return param * 100')\nvar result = func(2)\nconsole.log(result) // 200\n```\n\n### Tracing errors\n\nA `.trace` property is available on error objects generated by code running inside of the sandbox. It contains an array containing the esprima node stack which has a `loc` property, allowing you to get the line and column where the error occurred.\n\n```\ntry {\n  safeEval('throw \"some error\"')\n} catch (ex) {\n  ex.trace //=> [...esprimaAstTrace]\n  ex.trace[0].loc.start.line //=> 1\n}\n```","_attachments":{},"homepage":"https://github.com/mmckegg/notevil#readme","bugs":{"url":"https://github.com/mmckegg/notevil/issues"},"license":"MIT"}