Files
smartspawn/ts/smartspawn.wrap.ts
T

25 lines
599 B
TypeScript
Raw Normal View History

import { createRequire } from 'module';
2018-08-02 15:31:05 +02:00
const require = createRequire(import.meta.url);
const spawnWrap = require('spawn-wrap') as (
spawnArgvArg: string[],
envArg?: NodeJS.ProcessEnv,
) => () => void;
2018-08-02 15:31:05 +02:00
let unwrap: (() => void) | null = null;
export const startSpawnWrap = (filePath: string, cliArgs: string[] = [], envArgs: NodeJS.ProcessEnv = {}) => {
2019-08-22 09:26:30 +02:00
const spawnArray = [filePath];
for (const cliArg of cliArgs) {
2018-08-02 15:31:05 +02:00
spawnArray.push(cliArg);
}
unwrap = spawnWrap(spawnArray, envArgs);
};
export const endSpawnWrap = () => {
if (unwrap) {
unwrap();
unwrap = null;
}
};