diff --git a/changelog.md b/changelog.md index 76aa828..500b140 100644 --- a/changelog.md +++ b/changelog.md @@ -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 diff --git a/ts/00_commitinfo_data.ts b/ts/00_commitinfo_data.ts index 61d917f..bff22e5 100644 --- a/ts/00_commitinfo_data.ts +++ b/ts/00_commitinfo_data.ts @@ -3,6 +3,6 @@ */ export const commitinfo = { name: '@git.zone/tsrun', - version: '1.6.0', + version: '1.6.1', description: 'run typescript programs efficiently' } diff --git a/ts/index.ts b/ts/index.ts index 0481734..15e901e 100644 --- a/ts/index.ts +++ b/ts/index.ts @@ -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; diff --git a/ts/plugins.ts b/ts/plugins.ts index 93ca4c4..e1fe8e0 100644 --- a/ts/plugins.ts +++ b/ts/plugins.ts @@ -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