mirror of
https://github.com/toddbluhm/env-cmd.git
synced 2025-12-08 18:23:33 +00:00
- All env-cmd-examples repo cases passing - Added support for default .env-cmdrc.json file - Added flag and help text lib - Split up project into more reasonable files/chunks of code - Updated copyright year to 2019
33 lines
1.1 KiB
JavaScript
33 lines
1.1 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
var spawn = require("cross-spawn");
|
|
var signal_termination_1 = require("./signal-termination");
|
|
var parse_args_1 = require("./parse-args");
|
|
/**
|
|
* The main process for reading, parsing, applying and then running the process with env vars
|
|
*/
|
|
function EnvCmd(args) {
|
|
// First Parse the args from the command line
|
|
var parsedArgs = parse_args_1.parseArgs(args);
|
|
var env;
|
|
// Override the merge order if --no-override flag set
|
|
if (parsedArgs.options.noOverride) {
|
|
env = Object.assign({}, parsedArgs.envValues, process.env);
|
|
}
|
|
else {
|
|
// Add in the system environment variables to our environment list
|
|
env = Object.assign({}, process.env, parsedArgs.envValues);
|
|
}
|
|
// Execute the command with the given environment variables
|
|
var proc = spawn(parsedArgs.command, parsedArgs.commandArgs, {
|
|
stdio: 'inherit',
|
|
env: env
|
|
});
|
|
// Handle any termination signals for parent and child proceses
|
|
signal_termination_1.handleTermSignals(proc);
|
|
return env;
|
|
}
|
|
module.exports = {
|
|
EnvCmd: EnvCmd
|
|
};
|