Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@testring/child-process

Package Overview
Dependencies
Maintainers
1
Versions
166
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@testring/child-process - npm Package Compare versions

Comparing version
0.8.5
to
0.8.6
+1
-1
dist/fork.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../src/fork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AA+E5E,wBAAsB,IAAI,CACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,EACxB,OAAO,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAoC5B"}
{"version":3,"file":"fork.d.ts","sourceRoot":"","sources":["../src/fork.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AA+E5E,wBAAsB,IAAI,CACtB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,EACxB,OAAO,GAAE,OAAO,CAAC,wBAAwB,CAAM,GAChD,OAAO,CAAC,iBAAiB,CAAC,CAmD5B"}

@@ -99,17 +99,32 @@ "use strict";

if (IS_WIN) {
childProcess = (0, spawn_1.spawn)('node', [
...processArgs,
...getAdditionalParameters(filePath),
filePath,
childArg,
...args,
]);
childProcess = mergedOptions.debug
? (0, spawn_1.spawnDebug)('node', [
...processArgs,
...getAdditionalParameters(filePath),
filePath,
childArg,
...args,
])
: (0, spawn_1.spawn)('node', [
...processArgs,
...getAdditionalParameters(filePath),
filePath,
childArg,
...args,
]);
}
else {
childProcess = (0, spawn_1.spawn)(getExecutor(filePath), [
...processArgs,
filePath,
childArg,
...args,
]);
childProcess = mergedOptions.debug
? (0, spawn_1.spawnDebug)(getExecutor(filePath), [
...processArgs,
filePath,
childArg,
...args,
])
: (0, spawn_1.spawn)(getExecutor(filePath), [
...processArgs,
filePath,
childArg,
...args,
]);
}

@@ -116,0 +131,0 @@ const childProcessExtended = childProcess;

@@ -1,1 +0,1 @@

{"version":3,"file":"fork.js","sourceRoot":"","sources":["../src/fork.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"fork.js","sourceRoot":"","sources":["../src/fork.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkFA,oBAuDC;AAzID,2CAA6B;AAC7B,gEAAmC;AACnC,2CAAiD;AAEjD,qDAA+C;AAC/C,mCAA0C;AAO1C,SAAS,cAAc,CAAC,KAAa,EAAE,GAAW;IAC9C,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG,CAAC;IAE3B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,qBAAqB,GAAkB;IACzC,yBAAyB;IACzB,IAAI;IACJ,IAAI;IACJ,kCAAkC;IAClC,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,GAAG,sBAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AAC5C,MAAM,gBAAgB,GAAkB,EAAE,CAAC;AAC3C,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACnD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC;AAExC,MAAM,oBAAoB,GAA6B;IACnD,KAAK,EAAE,KAAK;IACZ,cAAc,EAAE,qBAAqB;CACxC,CAAC;AAEF,SAAS,uBAAuB,CAAC,QAAgB;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,KAAK;YACN,OAAO,gBAAgB,CAAC;QAE5B,KAAK,KAAK;YACN,OAAO,eAAe,CAAC;QAE3B,KAAK,EAAE;YACH,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC5B,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,gBAAgB,CAAC;QAE3B;YACI,OAAO,gBAAgB,CAAC;IAChC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEzC,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,KAAK;YACN,OAAO,sBAAO,CAAC,QAAQ,CAAC;QAE5B,KAAK,KAAK;YACN,OAAO,IAAA,8BAAa,EAAC,SAAS,CAAC,CAAC;QAEpC,KAAK,EAAE;YACH,OAAO,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;gBAC5B,CAAC,CAAC,IAAA,8BAAa,EAAC,SAAS,CAAC;gBAC1B,CAAC,CAAC,sBAAO,CAAC,QAAQ,CAAC;QAE3B;YACI,OAAO,sBAAO,CAAC,QAAQ,CAAC;IAChC,CAAC;AACL,CAAC;AAED,MAAM,cAAc,GAAG,CACnB,OAA0C,EAClB,EAAE,CAAC,CAAC;IAC5B,GAAG,oBAAoB;IACvB,GAAG,OAAO;CACb,CAAC,CAAC;AAEI,KAAK,UAAU,IAAI,CACtB,QAAgB,EAChB,OAAsB,EAAE,EACxB,UAA6C,EAAE;IAE/C,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,yBAAyB,sBAAO,CAAC,GAAG,EAAE,CAAC;IAExD,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,SAAS,GAAG,MAAM,IAAA,wBAAgB,EAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAEjE,WAAW,CAAC,IAAI,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,YAA0B,CAAC;IAC/B,IAAI,MAAM,EAAE,CAAC;QACT,YAAY,GAAG,aAAa,CAAC,KAAK;YAC9B,CAAC,CAAC,IAAA,kBAAU,EAAC,MAAM,EAAE;gBACjB,GAAG,WAAW;gBACd,GAAG,uBAAuB,CAAC,QAAQ,CAAC;gBACpC,QAAQ;gBACR,QAAQ;gBACR,GAAG,IAAI;aACV,CAAC;YACF,CAAC,CAAC,IAAA,aAAK,EAAC,MAAM,EAAE;gBACZ,GAAG,WAAW;gBACd,GAAG,uBAAuB,CAAC,QAAQ,CAAC;gBACpC,QAAQ;gBACR,QAAQ;gBACR,GAAG,IAAI;aACV,CAAC,CAAC;IACX,CAAC;SAAM,CAAC;QACJ,YAAY,GAAG,aAAa,CAAC,KAAK;YAC9B,CAAC,CAAC,IAAA,kBAAU,EAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBAChC,GAAG,WAAW;gBACd,QAAQ;gBACR,QAAQ;gBACR,GAAG,IAAI;aACV,CAAC;YACF,CAAC,CAAC,IAAA,aAAK,EAAC,WAAW,CAAC,QAAQ,CAAC,EAAE;gBAC3B,GAAG,WAAW;gBACd,QAAQ;gBACR,QAAQ;gBACR,GAAG,IAAI;aACV,CAAC,CAAC;IACX,CAAC;IAED,MAAM,oBAAoB,GAAG,YAAqC,CAAC;IAEnE,oBAAoB,CAAC,SAAS,GAAG,SAAS,CAAC;IAE3C,OAAO,oBAAoB,CAAC;AAChC,CAAC"}
export { spawn } from './spawn';
export { spawnDebug } from './spawn';
export { spawnWithPipes } from './spawn-with-pipes';

@@ -3,0 +4,0 @@ export { fork } from './fork';

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,EAAC,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAC"}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isChildProcess = exports.fork = exports.spawnWithPipes = exports.spawn = void 0;
exports.isChildProcess = exports.fork = exports.spawnWithPipes = exports.spawnDebug = exports.spawn = void 0;
var spawn_1 = require("./spawn");
Object.defineProperty(exports, "spawn", { enumerable: true, get: function () { return spawn_1.spawn; } });
var spawn_2 = require("./spawn");
Object.defineProperty(exports, "spawnDebug", { enumerable: true, get: function () { return spawn_2.spawnDebug; } });
var spawn_with_pipes_1 = require("./spawn-with-pipes");

@@ -7,0 +9,0 @@ Object.defineProperty(exports, "spawnWithPipes", { enumerable: true, get: function () { return spawn_with_pipes_1.spawnWithPipes; } });

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,uDAAkD;AAA1C,kHAAA,cAAc,OAAA;AACtB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,iCAAuC;AAA/B,uGAAA,cAAc,OAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAAtB,8FAAA,KAAK,OAAA;AACb,iCAAmC;AAA3B,mGAAA,UAAU,OAAA;AAClB,uDAAkD;AAA1C,kHAAA,cAAc,OAAA;AACtB,+BAA4B;AAApB,4FAAA,IAAI,OAAA;AACZ,iCAAuC;AAA/B,uGAAA,cAAc,OAAA"}

@@ -1,1 +0,1 @@

{"version":3,"file":"spawn-with-pipes.d.ts","sourceRoot":"","sources":["../src/spawn-with-pipes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,wBAAgB,cAAc,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,GACzB,YAAY,CAAC,YAAY,CAY3B"}
{"version":3,"file":"spawn-with-pipes.d.ts","sourceRoot":"","sources":["../src/spawn-with-pipes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,wBAAgB,cAAc,CAC1B,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,GACzB,YAAY,CAAC,YAAY,CAU3B"}

@@ -33,3 +33,5 @@ "use strict";

function spawnWithPipes(command, args = []) {
const child = childProcess.spawn(command, args, {
// Note: child.unref() removed to prevent orphaned processes
// Node.js will now wait for child process to exit before main process exits
return childProcess.spawn(command, args, {
stdio: ['pipe', 'pipe', 'pipe'], // Use pipes for proper control

@@ -40,6 +42,3 @@ cwd: node_process_1.default.cwd(),

});
// Ensure child does not keep the event loop active
child.unref();
return child;
}
//# sourceMappingURL=spawn-with-pipes.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"spawn-with-pipes.js","sourceRoot":"","sources":["../src/spawn-with-pipes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wCAeC;AAlBD,4DAA8C;AAC9C,gEAAmC;AAEnC,SAAgB,cAAc,CAC1B,OAAe,EACf,OAAsB,EAAE;IAExB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QAC5C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,+BAA+B;QAChE,GAAG,EAAE,sBAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,KAAK,EAAE,2CAA2C;QAC5D,WAAW,EAAE,IAAI,EAAE,qCAAqC;KAC3D,CAAC,CAAC;IAEH,mDAAmD;IACnD,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,OAAO,KAAK,CAAC;AACjB,CAAC"}
{"version":3,"file":"spawn-with-pipes.js","sourceRoot":"","sources":["../src/spawn-with-pipes.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,wCAaC;AAhBD,4DAA8C;AAC9C,gEAAmC;AAEnC,SAAgB,cAAc,CAC1B,OAAe,EACf,OAAsB,EAAE;IAExB,4DAA4D;IAC5D,4EAA4E;IAE5E,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACrC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,+BAA+B;QAChE,GAAG,EAAE,sBAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,KAAK,EAAE,2CAA2C;QAC5D,WAAW,EAAE,IAAI,EAAE,qCAAqC;KAC3D,CAAC,CAAC;AACP,CAAC"}
import * as childProcess from 'child_process';
export declare function spawn(command: string, args?: Array<string>): childProcess.ChildProcess;
export declare function spawnDebug(command: string, args?: Array<string>): childProcess.ChildProcess;
//# sourceMappingURL=spawn.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,wBAAgB,KAAK,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,GACzB,YAAY,CAAC,YAAY,CAM3B"}
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,eAAe,CAAC;AAG9C,wBAAgB,KAAK,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,GACzB,YAAY,CAAC,YAAY,CAM3B;AAED,wBAAgB,UAAU,CACtB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,KAAK,CAAC,MAAM,CAAM,GACzB,YAAY,CAAC,YAAY,CAM3B"}

@@ -30,2 +30,3 @@ "use strict";

exports.spawn = spawn;
exports.spawnDebug = spawnDebug;
const childProcess = __importStar(require("child_process"));

@@ -37,5 +38,12 @@ const node_process_1 = __importDefault(require("node:process"));

cwd: node_process_1.default.cwd(),
detached: true,
detached: true, // Keep detached: true for normal operation
});
}
function spawnDebug(command, args = []) {
return childProcess.spawn(command, args, {
stdio: [null, null, null, 'ipc'],
cwd: node_process_1.default.cwd(),
detached: false, // Not detached in debug mode to prevent orphaned processes
});
}
//# sourceMappingURL=spawn.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,sBASC;AAZD,4DAA8C;AAC9C,gEAAmC;AAEnC,SAAgB,KAAK,CACjB,OAAe,EACf,OAAsB,EAAE;IAExB,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACrC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;QAChC,GAAG,EAAE,sBAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,IAAI;KACjB,CAAC,CAAC;AACP,CAAC"}
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../src/spawn.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,sBASC;AAED,gCASC;AAvBD,4DAA8C;AAC9C,gEAAmC;AAEnC,SAAgB,KAAK,CACjB,OAAe,EACf,OAAsB,EAAE;IAExB,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACrC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;QAChC,GAAG,EAAE,sBAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,IAAI,EAAE,2CAA2C;KAC9D,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,UAAU,CACtB,OAAe,EACf,OAAsB,EAAE;IAExB,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;QACrC,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;QAChC,GAAG,EAAE,sBAAO,CAAC,GAAG,EAAE;QAClB,QAAQ,EAAE,KAAK,EAAE,2DAA2D;KAC/E,CAAC,CAAC;AACP,CAAC"}
{
"name": "@testring/child-process",
"version": "0.8.5",
"version": "0.8.6",
"main": "./dist/index.js",

@@ -11,4 +11,4 @@ "types": "./src/index.ts",

"dependencies": {
"@testring/types": "0.8.5",
"@testring/utils": "0.8.5"
"@testring/types": "0.8.6",
"@testring/utils": "0.8.6"
},

@@ -15,0 +15,0 @@ "scripts": {

@@ -6,3 +6,3 @@ import * as path from 'path';

import {resolveBinary} from './resolve-binary';
import {spawn} from './spawn';
import {spawn, spawnDebug} from './spawn';
import {ChildProcess} from 'child_process';

@@ -103,16 +103,31 @@

if (IS_WIN) {
childProcess = spawn('node', [
...processArgs,
...getAdditionalParameters(filePath),
filePath,
childArg,
...args,
]);
childProcess = mergedOptions.debug
? spawnDebug('node', [
...processArgs,
...getAdditionalParameters(filePath),
filePath,
childArg,
...args,
])
: spawn('node', [
...processArgs,
...getAdditionalParameters(filePath),
filePath,
childArg,
...args,
]);
} else {
childProcess = spawn(getExecutor(filePath), [
...processArgs,
filePath,
childArg,
...args,
]);
childProcess = mergedOptions.debug
? spawnDebug(getExecutor(filePath), [
...processArgs,
filePath,
childArg,
...args,
])
: spawn(getExecutor(filePath), [
...processArgs,
filePath,
childArg,
...args,
]);
}

@@ -119,0 +134,0 @@

export {spawn} from './spawn';
export {spawnDebug} from './spawn';
export {spawnWithPipes} from './spawn-with-pipes';
export {fork} from './fork';
export {isChildProcess} from './utils';

@@ -8,3 +8,6 @@ import * as childProcess from 'child_process';

): childProcess.ChildProcess {
const child = childProcess.spawn(command, args, {
// Note: child.unref() removed to prevent orphaned processes
// Node.js will now wait for child process to exit before main process exits
return childProcess.spawn(command, args, {
stdio: ['pipe', 'pipe', 'pipe'], // Use pipes for proper control

@@ -15,7 +18,2 @@ cwd: process.cwd(),

});
// Ensure child does not keep the event loop active
child.unref();
return child;
}

@@ -11,4 +11,15 @@ import * as childProcess from 'child_process';

cwd: process.cwd(),
detached: true,
detached: true, // Keep detached: true for normal operation
});
}
export function spawnDebug(
command: string,
args: Array<string> = [],
): childProcess.ChildProcess {
return childProcess.spawn(command, args, {
stdio: [null, null, null, 'ipc'],
cwd: process.cwd(),
detached: false, // Not detached in debug mode to prevent orphaned processes
});
}