Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
2896cc396f | |||
e76ad2fb58 | |||
6b6ecee0ed | |||
e5b57c894b |
14
changelog.md
14
changelog.md
@@ -1,5 +1,19 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-10-17 - 1.6.2 - fix(ts/index)
|
||||
Use cli.js as the spawned CLI entry point instead of cli.child.js
|
||||
|
||||
- Replace references to ../cli.child.js with ../cli.js in ts/index.ts (runInChildProcess and spawnPath) to ensure child processes spawn the correct CLI entry point.
|
||||
- This change fixes child process spawning failures caused by referencing a non-existent cli.child.js file.
|
||||
- Add local .claude/settings.local.json (local runner/editor permissions configuration).
|
||||
|
||||
## 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
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@git.zone/tsrun",
|
||||
"version": "1.6.0",
|
||||
"version": "1.6.2",
|
||||
"description": "run typescript programs efficiently",
|
||||
"main": "dist_ts/index.js",
|
||||
"typings": "dist_ts/index.d.ts",
|
||||
|
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsrun',
|
||||
version: '1.6.0',
|
||||
version: '1.6.2',
|
||||
description: 'run typescript programs efficiently'
|
||||
}
|
||||
|
14
ts/index.ts
14
ts/index.ts
@@ -98,13 +98,13 @@ export const runCli = async (pathArg?: string, options?: IRunOptions) => {
|
||||
const runInChildProcess = async (pathArg: string | undefined, cwd: string): Promise<void> => {
|
||||
const { spawn } = await import('child_process');
|
||||
|
||||
// Resolve cli.child.js relative to this file
|
||||
const cliChildPath = plugins.path.join(__dirname, '../cli.child.js');
|
||||
// Resolve cli.js relative to this file
|
||||
const cliPath = plugins.path.join(__dirname, '../cli.js');
|
||||
|
||||
// Build args: [Node flags, entry point, script path, script args]
|
||||
const args = [
|
||||
...process.execArgv, // Preserve --inspect, etc.
|
||||
cliChildPath,
|
||||
cliPath,
|
||||
...process.argv.slice(2) // Original CLI args (not spliced)
|
||||
];
|
||||
|
||||
@@ -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(
|
||||
@@ -174,10 +172,10 @@ export const spawnPath = (
|
||||
: filePath;
|
||||
|
||||
// 2. Build spawn args
|
||||
const cliChildPath = plugins.path.join(__dirname, '../cli.child.js');
|
||||
const cliPath = plugins.path.join(__dirname, '../cli.js');
|
||||
const args = [
|
||||
...process.execArgv,
|
||||
cliChildPath,
|
||||
cliPath,
|
||||
resolvedPath,
|
||||
...(options?.args || [])
|
||||
];
|
||||
@@ -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;
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user