qcobjects-cli
Advanced tools
Comparing version 0.0.5 to 0.0.6
{ | ||
"name": "qcobjects-cli", | ||
"version": "0.0.5", | ||
"version": "0.0.6", | ||
"description": "qcobjects cli command line tool", | ||
@@ -5,0 +5,0 @@ "main": "qcobjects-cli.js", |
@@ -14,2 +14,3 @@ #!/usr/bin/env node | ||
const vm = require('vm'); | ||
require('qcobjects'); | ||
let sandbox = { | ||
@@ -19,9 +20,5 @@ require:require, | ||
__dirname:'./', | ||
__filename:'qcobjects-shell-file.js', | ||
global:global, | ||
__filename:'qcobjects-shell-file.js' | ||
}; | ||
require('qcobjects'); | ||
sandbox = Object.assign(sandbox,this); | ||
sandbox = Object.assign(sandbox,global); | ||
const context = vm.createContext(sandbox); | ||
global.context = vm.createContext(sandbox); | ||
@@ -33,4 +30,3 @@ | ||
const backgroundRunScript = (code)=>{ | ||
var script = new vm.Script(code,options); | ||
var output = script.runInContext(context); | ||
var output = vm.runInContext(code,global.context,options); | ||
return output; | ||
@@ -47,4 +43,13 @@ } | ||
const syncGlobal = ()=>{ | ||
var s = 'Object.assign(this,this.constructor.constructor(\'return this\')())'; | ||
runScript(s); | ||
} | ||
const readline = require('readline'); | ||
readline.emitKeypressEvents(process.stdin); | ||
if (process.stdin.isTTY) | ||
process.stdin.setRawMode(true); | ||
const rl = readline.createInterface({ | ||
@@ -56,3 +61,2 @@ input: process.stdin, | ||
const protected_symbols = [ 'clearInterval', | ||
@@ -84,11 +88,6 @@ 'clearTimeout', | ||
const preloaded_scripts = [ | ||
"require('qcobjects')" | ||
"require('qcobjects')", | ||
"Object.assign(this,this.constructor.constructor(\'return this\')())" | ||
]; | ||
for (var prop in protected_symbols){ | ||
var s = protected_symbols[prop] + '=' + 'global.'+protected_symbols[prop]+';'; | ||
preloaded_scripts.push(s); | ||
} | ||
for (var k in preloaded_scripts){ | ||
@@ -98,6 +97,7 @@ runScript(preloaded_scripts[k].trim()); | ||
console.log(welcometo); | ||
console.log(logo); | ||
console.log(instructions); | ||
rl.prompt(); | ||
rl.prompt(true); | ||
@@ -116,2 +116,3 @@ rl.on('line', (line) => { | ||
runScript(codeline,true); | ||
syncGlobal(sandbox); | ||
}catch (e){ | ||
@@ -118,0 +119,0 @@ console.log('An exeption ocurred while trying to run your awesome code! '); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
21759
430