Files
smartspawn/ts/smartspawn.wrap.ts
T

25 lines
599 B
TypeScript

import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const spawnWrap = require('spawn-wrap') as (
spawnArgvArg: string[],
envArg?: NodeJS.ProcessEnv,
) => () => void;
let unwrap: (() => void) | null = null;
export const startSpawnWrap = (filePath: string, cliArgs: string[] = [], envArgs: NodeJS.ProcessEnv = {}) => {
const spawnArray = [filePath];
for (const cliArg of cliArgs) {
spawnArray.push(cliArg);
}
unwrap = spawnWrap(spawnArray, envArgs);
};
export const endSpawnWrap = () => {
if (unwrap) {
unwrap();
unwrap = null;
}
};