@essex/shellrunner
Advanced tools
Comparing version 18.0.2 to 19.0.0
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
/*! | ||
* Copyright (c) Microsoft. All rights reserved. | ||
* Licensed under the MIT license. See LICENSE file in the project. | ||
*/ | ||
__exportStar(require("./run"), exports); | ||
__exportStar(require("./types"), exports); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _exportNames = {}; | ||
var _run = _interopRequireWildcard(require("./run")); | ||
Object.keys(_run).forEach(function(key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _run[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function() { | ||
return _run[key]; | ||
} | ||
}); | ||
}); | ||
var _types = _interopRequireWildcard(require("./types")); | ||
Object.keys(_types).forEach(function(key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _types[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function() { | ||
return _types[key]; | ||
} | ||
}); | ||
}); | ||
function _interopRequireWildcard(obj) { | ||
if (obj && obj.__esModule) { | ||
return obj; | ||
} else { | ||
var newObj = {}; | ||
if (obj != null) { | ||
for(var key in obj){ | ||
if (Object.prototype.hasOwnProperty.call(obj, key)) { | ||
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; | ||
if (desc.get || desc.set) { | ||
Object.defineProperty(newObj, key, desc); | ||
} else { | ||
newObj[key] = obj[key]; | ||
} | ||
} | ||
} | ||
} | ||
newObj.default = obj; | ||
return newObj; | ||
} | ||
} | ||
//# sourceMappingURL=index.js.map |
"use strict"; | ||
var __importDefault = (this && this.__importDefault) || function (mod) { | ||
return (mod && mod.__esModule) ? mod : { "default": mod }; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.printJob = exports.debug = void 0; | ||
/*! | ||
* Copyright (c) Microsoft. All rights reserved. | ||
* Licensed under the MIT license. See LICENSE file in the project. | ||
*/ | ||
const debug_1 = __importDefault(require("debug")); | ||
const debugLog = (0, debug_1.default)('essex:shellrunner'); | ||
function debug(text, | ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.debug = debug; | ||
exports.printJob = printJob; | ||
var _debug = _interopRequireDefault(require("debug")); | ||
function _interopRequireDefault(obj) { | ||
return obj && obj.__esModule ? obj : { | ||
default: obj | ||
}; | ||
} | ||
const debugLog = (0, _debug).default('essex:shellrunner'); | ||
function debug(text, // eslint-disable-next-line @typescript-eslint/no-explicit-any | ||
...args) { | ||
debugLog(text, ...args); | ||
} | ||
exports.debug = debug; | ||
function printJob(job) { | ||
debugLog(`Job@[${[job.exec, ...job.args].join(' ')}`); | ||
debugLog(`Job@[${[ | ||
job.exec, | ||
...job.args | ||
].join(' ')}`); | ||
} | ||
exports.printJob = printJob; | ||
//# sourceMappingURL=log.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.run = void 0; | ||
/*! | ||
* Copyright (c) Microsoft. All rights reserved. | ||
* Licensed under the MIT license. See LICENSE file in the project. | ||
*/ | ||
const strategies_1 = require("./strategies"); | ||
/** | ||
* Runs a series of jobs. | ||
* Each argument is run in sequence, if the argument is an array, that array is run in parallel. | ||
* @param runs The jobs to run | ||
*/ | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.run = run; | ||
var _strategies = require("./strategies"); | ||
async function run(...jobs) { | ||
let code = 0; | ||
for (const job of jobs) { | ||
const result = await (Array.isArray(job) ? (0, strategies_1.parallel)(...job) : (0, strategies_1.single)(job)); | ||
for (const job of jobs){ | ||
const result = await (Array.isArray(job) ? (0, _strategies).parallel(...job) : (0, _strategies).single(job)); | ||
code = result.code; | ||
@@ -23,4 +16,7 @@ if (code !== 0) { | ||
} | ||
return { code }; | ||
return { | ||
code | ||
}; | ||
} | ||
exports.run = run; | ||
//# sourceMappingURL=run.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.execute = void 0; | ||
/* eslint-disable-next-line @typescript-eslint/no-var-requires */ | ||
const spawn = require('cross-spawn'); | ||
/** | ||
* Runs the given executable with the given args | ||
* @param exec The executable | ||
* @param args The args to the executable | ||
* @param toConsole If the output should be written to the console | ||
*/ | ||
function execute({ exec, args, codeMap = {}, npx, toConsole = true, }) { | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.execute = execute; | ||
/* eslint-disable-next-line @typescript-eslint/no-var-requires */ const spawn = require('cross-spawn'); | ||
function execute({ exec , args , codeMap ={} , npx , toConsole =true }) { | ||
const options = getInitialSpawnOptions(toConsole); | ||
@@ -18,5 +13,8 @@ if (exec === 'yarn') { | ||
try { | ||
const spawned = npx | ||
? spawn('npx', ['-q', ...npxPackages(npx), exec, ...args], options) | ||
: spawn(exec, args, options); | ||
const spawned = npx ? spawn('npx', [ | ||
'-q', | ||
...npxPackages(npx), | ||
exec, | ||
...args | ||
], options) : spawn(exec, args, options); | ||
let output = ''; | ||
@@ -26,9 +24,12 @@ let error = ''; | ||
if (spawned && spawned.stdout && spawned.stderr) { | ||
spawned.stdout.on('data', data => (output += data.toString())); | ||
spawned.stderr.on('data', data => (error += data.toString())); | ||
spawned.stdout.on('data', (data)=>output += data.toString() | ||
); | ||
spawned.stderr.on('data', (data)=>error += data.toString() | ||
); | ||
} | ||
} | ||
return new Promise((resolve, reject) => { | ||
spawned.on('error', err => reject(err)); | ||
spawned.on('close', childCode => { | ||
return new Promise((resolve, reject)=>{ | ||
spawned.on('error', (err)=>reject(err) | ||
); | ||
spawned.on('close', (childCode)=>{ | ||
let code = childCode; | ||
@@ -38,17 +39,17 @@ if (childCode != null && codeMap[childCode] != null) { | ||
} | ||
code = code !== null && code !== void 0 ? code : 0; | ||
code = code ?? 0; | ||
resolve({ | ||
output, | ||
error, | ||
code, | ||
code | ||
}); | ||
}); | ||
}); | ||
} | ||
catch (err) { | ||
} catch (err) { | ||
console.log(`error spawning process ${exec}`, err); | ||
return Promise.resolve({ code: 99999 }); | ||
return Promise.resolve({ | ||
code: 99999 | ||
}); | ||
} | ||
} | ||
exports.execute = execute; | ||
function getInitialSpawnOptions(toConsole) { | ||
@@ -60,7 +61,7 @@ const cwd = process.cwd(); | ||
env: process.env, | ||
stdio, | ||
stdio | ||
}; | ||
} | ||
function scrubEnvVars(env) { | ||
Object.keys(env).forEach(envVar => { | ||
Object.keys(env).forEach((envVar)=>{ | ||
if (envVar.startsWith('npm_')) { | ||
@@ -76,4 +77,7 @@ delete env[envVar]; | ||
const result = []; | ||
npx.forEach(p => result.push('-p', p)); | ||
npx.forEach((p)=>result.push('-p', p) | ||
); | ||
return result; | ||
} | ||
//# sourceMappingURL=execute.js.map |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __exportStar = (this && this.__exportStar) || function(m, exports) { | ||
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
/*! | ||
* Copyright (c) Microsoft. All rights reserved. | ||
* Licensed under the MIT license. See LICENSE file in the project. | ||
*/ | ||
__exportStar(require("./parallel"), exports); | ||
__exportStar(require("./single"), exports); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var _exportNames = {}; | ||
var _parallel = _interopRequireWildcard(require("./parallel")); | ||
Object.keys(_parallel).forEach(function(key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _parallel[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function() { | ||
return _parallel[key]; | ||
} | ||
}); | ||
}); | ||
var _single = _interopRequireWildcard(require("./single")); | ||
Object.keys(_single).forEach(function(key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _single[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function() { | ||
return _single[key]; | ||
} | ||
}); | ||
}); | ||
function _interopRequireWildcard(obj) { | ||
if (obj && obj.__esModule) { | ||
return obj; | ||
} else { | ||
var newObj = {}; | ||
if (obj != null) { | ||
for(var key in obj){ | ||
if (Object.prototype.hasOwnProperty.call(obj, key)) { | ||
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; | ||
if (desc.get || desc.set) { | ||
Object.defineProperty(newObj, key, desc); | ||
} else { | ||
newObj[key] = obj[key]; | ||
} | ||
} | ||
} | ||
} | ||
newObj.default = obj; | ||
return newObj; | ||
} | ||
} | ||
//# sourceMappingURL=index.js.map |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.parallel = void 0; | ||
/*! | ||
* Copyright (c) Microsoft. All rights reserved. | ||
* Licensed under the MIT license. See LICENSE file in the project. | ||
*/ | ||
const log = __importStar(require("../log")); | ||
const single_1 = require("./single"); | ||
/** | ||
* Run a series of jobs in parallel | ||
* @param jobs the jobs to run | ||
*/ | ||
exports.parallel = parallel; | ||
var log = _interopRequireWildcard(require("../log")); | ||
var _single = require("./single"); | ||
function _interopRequireWildcard(obj) { | ||
if (obj && obj.__esModule) { | ||
return obj; | ||
} else { | ||
var newObj = {}; | ||
if (obj != null) { | ||
for(var key in obj){ | ||
if (Object.prototype.hasOwnProperty.call(obj, key)) { | ||
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; | ||
if (desc.get || desc.set) { | ||
Object.defineProperty(newObj, key, desc); | ||
} else { | ||
newObj[key] = obj[key]; | ||
} | ||
} | ||
} | ||
} | ||
newObj.default = obj; | ||
return newObj; | ||
} | ||
} | ||
async function parallel(...jobs) { | ||
log.debug('--running parallel jobs!--'); | ||
for (const job of jobs) { | ||
log.printJob(job); | ||
for (const job1 of jobs){ | ||
log.printJob(job1); | ||
} | ||
log.debug('-------------------------'); | ||
const results = await Promise.all(jobs.map(job => (0, single_1.single)(job))); | ||
const codes = results.map(r => r.code); | ||
const results = await Promise.all(jobs.map((job)=>(0, _single).single(job) | ||
)); | ||
const codes = results.map((r)=>r.code | ||
); | ||
const code = Math.max(...codes); | ||
return { code }; | ||
return { | ||
code | ||
}; | ||
} | ||
exports.parallel = parallel; | ||
//# sourceMappingURL=parallel.js.map |
"use strict"; | ||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); | ||
}) : (function(o, m, k, k2) { | ||
if (k2 === undefined) k2 = k; | ||
o[k2] = m[k]; | ||
})); | ||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { | ||
Object.defineProperty(o, "default", { enumerable: true, value: v }); | ||
}) : function(o, v) { | ||
o["default"] = v; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
var __importStar = (this && this.__importStar) || function (mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); | ||
__setModuleDefault(result, mod); | ||
return result; | ||
}; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.single = void 0; | ||
/*! | ||
* Copyright (c) Microsoft. All rights reserved. | ||
* Licensed under the MIT license. See LICENSE file in the project. | ||
*/ | ||
const log = __importStar(require("../log")); | ||
const execute_1 = require("./execute"); | ||
exports.single = single; | ||
var log = _interopRequireWildcard(require("../log")); | ||
var _execute = require("./execute"); | ||
function _interopRequireWildcard(obj) { | ||
if (obj && obj.__esModule) { | ||
return obj; | ||
} else { | ||
var newObj = {}; | ||
if (obj != null) { | ||
for(var key in obj){ | ||
if (Object.prototype.hasOwnProperty.call(obj, key)) { | ||
var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; | ||
if (desc.get || desc.set) { | ||
Object.defineProperty(newObj, key, desc); | ||
} else { | ||
newObj[key] = obj[key]; | ||
} | ||
} | ||
} | ||
} | ||
newObj.default = obj; | ||
return newObj; | ||
} | ||
} | ||
async function single(job) { | ||
const { code } = await (0, execute_1.execute)(job); | ||
const { code } = await (0, _execute).execute(job); | ||
log.printJob(job); | ||
return { code }; | ||
return { | ||
code | ||
}; | ||
} | ||
exports.single = single; | ||
//# sourceMappingURL=single.js.map |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
//# sourceMappingURL=types.js.map |
{ | ||
"name": "@essex/shellrunner", | ||
"version": "18.0.2", | ||
"version": "19.0.0", | ||
"description": "A set of utility libraries for executing shell commands", | ||
@@ -17,3 +17,3 @@ "license": "MIT", | ||
"scripts": { | ||
"build": "tsc -b .", | ||
"build": "tsc --emitDeclarationOnly && swc src -d lib", | ||
"clean": "rimraf lib" | ||
@@ -26,9 +26,11 @@ }, | ||
"devDependencies": { | ||
"@tsconfig/node12": "^1.0.9", | ||
"@swc/cli": "^0.1.55", | ||
"@swc/core": "^1.2.126", | ||
"@tsconfig/node14": "^1.0.1", | ||
"@types/debug": "^4.1.7", | ||
"@types/node": "^16.11.11", | ||
"@types/node": "^16.11.19", | ||
"rimraf": "^3.0.2", | ||
"typescript": "^4.5.2" | ||
"typescript": "^4.5.4" | ||
}, | ||
"typings": "lib/index.d.ts" | ||
} |
{ | ||
"extends": "@tsconfig/node12", | ||
"extends": "@tsconfig/node14", | ||
"compilerOptions": { | ||
"outDir": "lib", | ||
"strict": true, | ||
"declaration": true | ||
"declaration": true | ||
}, | ||
"include": ["src/**/*.ts"] | ||
} |
28789
37
579
7