fix(plugins): Export child_process.spawn from plugins and use plugins.spawn in spawnPath to remove direct require and unify process spawning

This commit is contained in:
2025-10-17 06:26:00 +00:00
parent ec2db7af72
commit e5b57c894b
4 changed files with 11 additions and 5 deletions

View File

@@ -1,5 +1,12 @@
# Changelog
## 2025-10-17 - 1.6.1 - fix(plugins)
Export child_process.spawn from plugins and use plugins.spawn in spawnPath to remove direct require and unify process spawning
- Exported spawn from ts/plugins.ts so native child_process.spawn is available via the plugins module
- Removed require('child_process') from ts/index.ts and switched to plugins.spawn when spawning child processes in spawnPath
- No public API changes; this unifies internal imports and fixes inconsistent spawn usage that could cause runtime issues
## 2025-10-17 - 1.6.0 - feat(core)
Add spawnPath child-process API with timeout/abort/terminate support, export native types, and expand README

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@git.zone/tsrun',
version: '1.6.0',
version: '1.6.1',
description: 'run typescript programs efficiently'
}

View File

@@ -159,8 +159,6 @@ export const spawnPath = (
fromFileUrl?: string | URL,
options?: ISpawnOptions
): ITsrunChildProcess => {
const { spawn } = require('child_process');
// 1. Resolve path (similar to runPath)
const resolvedPath = fromFileUrl
? plugins.path.join(
@@ -192,7 +190,7 @@ export const spawnPath = (
};
// 4. Spawn child process
const child = spawn(process.execPath, args, spawnOptions);
const child = plugins.spawn(process.execPath, args, spawnOptions);
// 5. Set up timeout if provided
let timeoutId: NodeJS.Timeout | undefined;

View File

@@ -1,10 +1,11 @@
// node native
import * as path from 'path';
import * as url from 'url';
import { spawn } from 'child_process';
import type { ChildProcess } from 'child_process';
import type { Readable } from 'stream';
export { path, url };
export { path, url, spawn };
export type { ChildProcess, Readable };
// @pushrocks scope