lint-staged 16.1.5 → 16.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import chalk from 'chalk'
2
2
  import debug from 'debug'
3
3
  import spawn from 'nano-spawn'
4
- import pidTree from 'pidtree'
4
+ import pidtree from 'pidtree'
5
5
  import { parseArgsStringToArgv } from 'string-argv'
6
6
 
7
7
  import { error, info } from './figures.js'
@@ -45,19 +45,20 @@ const handleOutput = (command, result, ctx, isError = false) => {
45
45
  const killSubprocess = async (subprocess) => {
46
46
  const childProcess = await subprocess.nodeChildProcess
47
47
 
48
- try {
49
- const childPids = await pidTree(childProcess.pid)
50
- for (const childPid of childPids) {
51
- try {
52
- process.kill(childPid)
53
- } catch (error) {
54
- debugLog(`Failed to kill process with pid "%d": %o`, childPid, error)
48
+ if (childProcess?.pid !== undefined) {
49
+ try {
50
+ for (const childPid of await pidtree(childProcess.pid)) {
51
+ try {
52
+ process.kill(childPid, 'SIGKILL')
53
+ } catch (error) {
54
+ debugLog(`Failed to kill process with pid "%d": %o`, childPid, error)
55
+ }
55
56
  }
57
+ } catch (error) {
58
+ // Suppress "No matching pid found" error. This probably means
59
+ // the process already died before executing.
60
+ debugLog(`Failed to list child processes of pid "%d": %o`, childProcess.pid, error)
56
61
  }
57
- } catch (error) {
58
- // Suppress "No matching pid found" error. This probably means
59
- // the process already died before executing.
60
- debugLog(`Failed to kill process with pid "%d": %o`, childProcess.pid, error)
61
62
  }
62
63
 
63
64
  // The child process is terminated separately in order to get the `KILLED` status.
@@ -85,7 +86,9 @@ const interruptExecutionOnError = (ctx, subprocess) => {
85
86
 
86
87
  return async () => {
87
88
  ctx.events.off(TASK_ERROR, errorListener)
88
- await killPromise
89
+ if (killPromise) {
90
+ await killPromise
91
+ }
89
92
  }
90
93
  }
91
94
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lint-staged",
3
- "version": "16.1.5",
3
+ "version": "16.1.6",
4
4
  "description": "Lint files staged by git",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -51,11 +51,11 @@
51
51
  "tag": "npx changeset tag"
52
52
  },
53
53
  "dependencies": {
54
- "chalk": "^5.5.0",
54
+ "chalk": "^5.6.0",
55
55
  "commander": "^14.0.0",
56
56
  "debug": "^4.4.1",
57
57
  "lilconfig": "^3.1.3",
58
- "listr2": "^9.0.1",
58
+ "listr2": "^9.0.3",
59
59
  "micromatch": "^4.0.8",
60
60
  "nano-spawn": "^1.0.2",
61
61
  "pidtree": "^0.6.0",
@@ -64,20 +64,20 @@
64
64
  },
65
65
  "devDependencies": {
66
66
  "@changesets/changelog-github": "0.5.1",
67
- "@changesets/cli": "2.29.5",
67
+ "@changesets/cli": "2.29.6",
68
68
  "@commitlint/cli": "19.8.1",
69
69
  "@commitlint/config-conventional": "19.8.1",
70
- "@eslint/js": "9.32.0",
70
+ "@eslint/js": "9.34.0",
71
71
  "consolemock": "1.1.0",
72
72
  "cross-env": "10.0.0",
73
- "eslint": "9.32.0",
73
+ "eslint": "9.34.0",
74
74
  "eslint-config-prettier": "10.1.8",
75
75
  "eslint-plugin-jest": "29.0.1",
76
76
  "eslint-plugin-n": "17.21.3",
77
77
  "eslint-plugin-prettier": "5.5.4",
78
78
  "eslint-plugin-simple-import-sort": "12.1.1",
79
79
  "husky": "9.1.7",
80
- "jest": "30.0.5",
80
+ "jest": "30.1.1",
81
81
  "jest-snapshot-serializer-ansi": "2.2.1",
82
82
  "mock-stdin": "1.0.0",
83
83
  "prettier": "3.6.2",