decaffeinate: rename app/coffee dir to app/js

This commit is contained in:
mserranom
2020-02-19 12:14:34 +01:00
parent c056ca6968
commit 4576ef54fb
26 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,74 @@
/* eslint-disable
camelcase,
handle-callback-err,
no-return-assign,
no-unused-vars,
*/
// TODO: This file was created by bulk-decaffeinate.
// Fix any style issues and re-enable lint.
/*
* decaffeinate suggestions:
* DS101: Remove unnecessary use of Array.from
* DS102: Remove unnecessary code created because of implicit returns
* DS207: Consider shorter variations of null checks
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
let CommandRunner;
const { spawn } = require("child_process");
const logger = require("logger-sharelatex");
logger.info("using standard command runner");
module.exports = (CommandRunner = {
run(project_id, command, directory, image, timeout, environment, callback) {
let key, value;
if (callback == null) { callback = function(error) {}; }
command = (Array.from(command).map((arg) => arg.toString().replace('$COMPILE_DIR', directory)));
logger.log({project_id, command, directory}, "running command");
logger.warn("timeouts and sandboxing are not enabled with CommandRunner");
// merge environment settings
const env = {};
for (key in process.env) { value = process.env[key]; env[key] = value; }
for (key in environment) { value = environment[key]; env[key] = value; }
// run command as detached process so it has its own process group (which can be killed if needed)
const proc = spawn(command[0], command.slice(1), {cwd: directory, env});
let stdout = "";
proc.stdout.on("data", data=> stdout += data);
proc.on("error", function(err){
logger.err({err, project_id, command, directory}, "error running command");
return callback(err);
});
proc.on("close", function(code, signal) {
let err;
logger.info({code, signal, project_id}, "command exited");
if (signal === 'SIGTERM') { // signal from kill method below
err = new Error("terminated");
err.terminated = true;
return callback(err);
} else if (code === 1) { // exit status from chktex
err = new Error("exited");
err.code = code;
return callback(err);
} else {
return callback(null, {"stdout": stdout});
}
});
return proc.pid;
}, // return process id to allow job to be killed if necessary
kill(pid, callback) {
if (callback == null) { callback = function(error) {}; }
try {
process.kill(-pid); // kill all processes in group
} catch (err) {
return callback(err);
}
return callback();
}
});