Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f254a9e078 | |||
| 3d6a33f8d2 | |||
| d37071dae0 | |||
| 181d352e21 | |||
| 8a0a18f4da | |||
| bdc09afedd |
@@ -1,5 +1,12 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2026-03-04 - 3.3.6 - fix(smartshell)
|
||||||
|
use 'close' event on child processes to ensure exit handling and update dependency versions
|
||||||
|
|
||||||
|
- Replace child_process 'exit' listeners with 'close' in ts/classes.smartshell.ts (two occurrences) to ensure handlers run after stdio streams are closed.
|
||||||
|
- Bump devDependencies: @git.zone/tsbuild ^2.7.3 -> ^4.1.2, @git.zone/tsrun ^1.6.2 -> ^2.0.1, @git.zone/tstest ^2.8.3 -> ^3.2.0, @types/node ^22.19.13 -> ^25.3.3.
|
||||||
|
- Bump dependencies: @push.rocks/smartexit ^2.0.1 -> ^2.0.3, which ^5.0.0 -> ^6.0.1.
|
||||||
|
|
||||||
## 2026-03-03 - 3.3.2 - fix(release)
|
## 2026-03-03 - 3.3.2 - fix(release)
|
||||||
add @git.zone/cli release configuration with registries and public access
|
add @git.zone/cli release configuration with registries and public access
|
||||||
|
|
||||||
|
|||||||
16
package.json
16
package.json
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "@push.rocks/smartshell",
|
"name": "@push.rocks/smartshell",
|
||||||
"private": false,
|
"private": false,
|
||||||
"version": "3.3.2",
|
"version": "3.3.6",
|
||||||
"description": "A library for executing shell commands using promises.",
|
"description": "A library for executing shell commands using promises.",
|
||||||
"main": "dist_ts/index.js",
|
"main": "dist_ts/index.js",
|
||||||
"typings": "dist_ts/index.d.ts",
|
"typings": "dist_ts/index.d.ts",
|
||||||
@@ -33,18 +33,18 @@
|
|||||||
},
|
},
|
||||||
"homepage": "https://code.foss.global/push.rocks/smartshell",
|
"homepage": "https://code.foss.global/push.rocks/smartshell",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@git.zone/tsbuild": "^2.6.4",
|
"@git.zone/tsbuild": "^4.1.2",
|
||||||
"@git.zone/tsrun": "^1.3.3",
|
"@git.zone/tsrun": "^2.0.1",
|
||||||
"@git.zone/tstest": "^2.3.2",
|
"@git.zone/tstest": "^3.2.0",
|
||||||
"@types/node": "^22.10.2"
|
"@types/node": "^25.3.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@push.rocks/smartdelay": "^3.0.1",
|
"@push.rocks/smartdelay": "^3.0.5",
|
||||||
"@push.rocks/smartexit": "^1.1.1",
|
"@push.rocks/smartexit": "^2.0.3",
|
||||||
"@push.rocks/smartpromise": "^4.2.3",
|
"@push.rocks/smartpromise": "^4.2.3",
|
||||||
"@types/which": "^3.0.4",
|
"@types/which": "^3.0.4",
|
||||||
"tree-kill": "^1.2.2",
|
"tree-kill": "^1.2.2",
|
||||||
"which": "^5.0.0"
|
"which": "^6.0.1"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"ts/**/*",
|
"ts/**/*",
|
||||||
|
|||||||
8237
pnpm-lock.yaml
generated
8237
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartshell',
|
name: '@push.rocks/smartshell',
|
||||||
version: '3.3.2',
|
version: '3.3.6',
|
||||||
description: 'A library for executing shell commands using promises.'
|
description: 'A library for executing shell commands using promises.'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ export class Smartshell {
|
|||||||
shell: false, // SECURITY: Never use shell with untrusted input
|
shell: false, // SECURITY: Never use shell with untrusted input
|
||||||
cwd: process.cwd(),
|
cwd: process.cwd(),
|
||||||
env: options.env || process.env,
|
env: options.env || process.env,
|
||||||
detached: false,
|
detached: true, // Own process group — immune to terminal SIGINT, managed by smartexit
|
||||||
signal: options.signal,
|
signal: options.signal,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -249,7 +249,7 @@ export class Smartshell {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
execChildProcess.once('exit', handleExit);
|
execChildProcess.once('close', handleExit);
|
||||||
execChildProcess.once('error', (error) => {
|
execChildProcess.once('error', (error) => {
|
||||||
if (timeoutHandle) {
|
if (timeoutHandle) {
|
||||||
clearTimeout(timeoutHandle);
|
clearTimeout(timeoutHandle);
|
||||||
@@ -342,7 +342,7 @@ export class Smartshell {
|
|||||||
shell: true,
|
shell: true,
|
||||||
cwd: process.cwd(),
|
cwd: process.cwd(),
|
||||||
env: options.env || process.env,
|
env: options.env || process.env,
|
||||||
detached: false,
|
detached: true, // Own process group — immune to terminal SIGINT, managed by smartexit
|
||||||
signal: options.signal,
|
signal: options.signal,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -472,7 +472,7 @@ export class Smartshell {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
execChildProcess.once('exit', handleExit);
|
execChildProcess.once('close', handleExit);
|
||||||
execChildProcess.once('error', (error) => {
|
execChildProcess.once('error', (error) => {
|
||||||
if (timeoutHandle) {
|
if (timeoutHandle) {
|
||||||
clearTimeout(timeoutHandle);
|
clearTimeout(timeoutHandle);
|
||||||
|
|||||||
Reference in New Issue
Block a user