Every line of 'exec node' code snippets is scanned for vulnerabilities by our powerful machine learning engine that combs millions of open source libraries, ensuring your JavaScript code is secure.
80 async execNode(executable: string, args: any) { 81 // TODO: better 82 const loaderPrefix = this.componentName ? `isolating ${this.componentName}` : ''; 83 const log = message => (this.componentName ? loader.setText(`${loaderPrefix}: ${message}`) : {}); 84 const { patchFileSystem } = librarian.api(); 85 const onScriptRun = () => 86 this.componentName ? loader.setText(`running build for ${this.componentName} in an isolated environment`) : {}; // TODO: do this from the compiler/tester so we can customize the message 87 await patchFileSystem(executable, { args, cwd: this.container.path, log, onScriptRun }); 88 }
477 function nodeExec(cmdLine, cwd, name, toShowOutput, toShowStdErr, fileParams) { 478 var root; 479 var replList = []; 480 function addRepl(list, prefix, filename, root_) { 481 var parts = filename.match(/^(.*)\/([^\/]*)$/); 482 var relFile = filename.indexOf(root_) === 0 ? filename.substr(root_.length) : filename; 483 list.push([prefix, filename]); 484 list.push([prefix + 'file', parts ? parts[2] : '']); 485 list.push([prefix + 'path', parts ? parts[1] : '']); 486 list.push([prefix + 'relfile', relFile]); 487 } 488 if (fileParams) { 489 root = getProjectRoot(); 490 Object.keys(fileParams).forEach(function (key) { 491 addRepl(replList, key, fileParams[key], root); 492 }); 493 replList.forEach(function (macro) { 494 cmdLine = cmdLine.replace('{{' + macro[0] + '}}', macro[1]); 495 }); 496 } 497 ixDomains.exec('exec', cmdLine, cwd).fail(function (out) { 498 if (toShowStdErr) { 499 displayNodeResult(false, out, name); 500 } 501 }).done(function (out) { 502 if (toShowOutput) { 503 displayNodeResult(true, out, name); 504 } 505 }); 506 }