25 lines
599 B
TypeScript
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;
|
|
}
|
|
};
|