Commit 244572d

Anton Golub <antongolub@antongolub.com>
2025-04-20 09:05:19
ci: update zizmor and osv scan actions (#1200)
* ci: update zizmor and osv scan actions * docs: minot docs imprs * ci: pin deno and bun actions versions
1 parent 7891813
.github/workflows/osv.yml
@@ -30,12 +30,11 @@ jobs:
       security-events: write
       contents: read
       actions: read
-    uses: 'google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@126676819209c3a606f31bc46ad974fba4f2012c' # v1.9.2
+    uses: 'google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml@be9015f3256940e63d99b9d1a009f99c7dc4d8ec' # v2.0.1
     with:
       # Example of specifying custom arguments
       scan-args: |-
         -r
-        --skip-git
         ./
   scan-pr:
     if: ${{ github.event_name == 'pull_request' || github.event_name == 'merge_group' }}
@@ -43,10 +42,9 @@ jobs:
       security-events: write
       contents: read
       actions: read
-    uses: 'google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml@126676819209c3a606f31bc46ad974fba4f2012c' # v1.9.2
+    uses: 'google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml@be9015f3256940e63d99b9d1a009f99c7dc4d8ec' # v2.0.1
     with:
       # Example of specifying custom arguments
       scan-args: |-
         -r
-        --skip-git
         ./
.github/workflows/test.yml
@@ -153,7 +153,7 @@ jobs:
           persist-credentials: false
 
       - name: Setup Bun
-        uses: antongolub/action-setup-bun@v1
+        uses: antongolub/action-setup-bun@f0b9f339a7ce9ba1174a58484e4dc9bbd6f7b133 # v1.13.2
       - uses: actions/download-artifact@v4
         with:
           name: build
@@ -175,7 +175,7 @@ jobs:
         with:
           persist-credentials: false
       - name: Setup Deno
-        uses: denoland/setup-deno@v2
+        uses: denoland/setup-deno@909cc5acb0fdd60627fb858598759246509fa755 # v2.0.2
         with:
           deno-version: ${{ matrix.deno-version }}
       - run: deno install npm:types/node npm:types/fs-extra
.github/workflows/zizmor.yml
@@ -22,9 +22,9 @@ jobs:
           persist-credentials: false
 
       - name: Install the latest version of uv
-        uses: astral-sh/setup-uv@v5
+        uses: astral-sh/setup-uv@d4b2f3b6ecc6e67c4457f6d3e41ec42d3d0fcb86 #v5.4.2
         with:
           enable-cache: false
 
       - name: Run zizmor
-        run: uvx zizmor@1.5.0 .github/workflows -v -p --min-severity=medium
+        run: uvx zizmor@1.6.0 .github/workflows -v -p --min-severity=medium
docs/cli.md
@@ -15,7 +15,7 @@ node --import zx/globals script.mjs
 
 ## No extensions
 
-If script does not have a file extension (like `.git/hooks/pre-commit`), zx
+If the script does not have a file extension (like `.git/hooks/pre-commit`), zx
 assumes that it is
 an [ESM](https://nodejs.org/api/modules.html#modules_module_createrequire_filename)
 module unless the `--ext` option is specified.
docs/configuration.md
@@ -101,14 +101,14 @@ $.log = (entry: LogEntry) => {
 }
 ```
 
-Log mostly acts like a debugger, so by default it uses `process.error` for output.
-Set `log.output` to change the stream.
+The log mostly acts like a debugger, so by default it uses `process.error` for output.
+Override the `$.log.output` to change the stream.
 
 ```ts
 $.log.output = process.stdout
 ```
 
-Set `log.formatters` to customize each log entry kind printing:
+Define `$.log.formatters` to customize each log entry kind printing:
 
 ```ts
 $.log.formatters = {
package-lock.json
@@ -22,7 +22,7 @@
         "c8": "10.1.3",
         "chalk": "5.4.1",
         "create-require": "1.1.1",
-        "cronometro": "4.0.3",
+        "cronometro": "5.3.0",
         "depseek": "0.4.1",
         "dts-bundle-generator": "9.5.1",
         "envapi": "0.2.3",
@@ -38,7 +38,7 @@
         "get-port": "7.1.0",
         "globby": "14.1.0",
         "jsr": "0.13.4",
-        "lefthook": "1.11.9",
+        "lefthook": "1.11.10",
         "madge": "8.0.0",
         "minimist": "1.2.8",
         "node-fetch-native": "1.6.4",
@@ -685,20 +685,6 @@
         "node": ">= 8"
       }
     },
-    "node_modules/@oxc-resolver/binding-darwin-arm64": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-5.0.1.tgz",
-      "integrity": "sha512-lY5mi+6ztYGM9tiyMhHbzZteE7LFaexu9PjDL2N0stCNuGkSHO1eeeabi2ckxGWBbu9EW01XovbQqir12NbA6A==",
-      "cpu": [
-        "arm64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "darwin"
-      ]
-    },
     "node_modules/@pkgjs/parseargs": {
       "version": "0.11.0",
       "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -844,59 +830,6 @@
         "size-limit": "11.2.0"
       }
     },
-    "node_modules/@swc-node/core": {
-      "version": "1.13.3",
-      "resolved": "https://registry.npmjs.org/@swc-node/core/-/core-1.13.3.tgz",
-      "integrity": "sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/Brooooooklyn"
-      },
-      "peerDependencies": {
-        "@swc/core": ">= 1.4.13",
-        "@swc/types": ">= 0.1"
-      }
-    },
-    "node_modules/@swc-node/register": {
-      "version": "1.10.10",
-      "resolved": "https://registry.npmjs.org/@swc-node/register/-/register-1.10.10.tgz",
-      "integrity": "sha512-jYWaI2WNEKz8KZL3sExd2KVL1JMma1/J7z+9iTpv0+fRN7LGMF8VTGGuHI2bug/ztpdZU1G44FG/Kk6ElXL9CQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@swc-node/core": "^1.13.3",
-        "@swc-node/sourcemap-support": "^0.5.1",
-        "colorette": "^2.0.20",
-        "debug": "^4.3.5",
-        "oxc-resolver": "^5.0.0",
-        "pirates": "^4.0.6",
-        "tslib": "^2.6.3"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/Brooooooklyn"
-      },
-      "peerDependencies": {
-        "@swc/core": ">= 1.4.13",
-        "typescript": ">= 4.3"
-      }
-    },
-    "node_modules/@swc-node/sourcemap-support": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/@swc-node/sourcemap-support/-/sourcemap-support-0.5.1.tgz",
-      "integrity": "sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "source-map-support": "^0.5.21",
-        "tslib": "^2.6.3"
-      }
-    },
     "node_modules/@swc/core": {
       "version": "1.11.13",
       "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.11.13.tgz",
@@ -904,6 +837,7 @@
       "dev": true,
       "hasInstallScript": true,
       "license": "Apache-2.0",
+      "optional": true,
       "peer": true,
       "dependencies": {
         "@swc/counter": "^0.1.3",
@@ -961,6 +895,7 @@
       "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==",
       "dev": true,
       "license": "Apache-2.0",
+      "optional": true,
       "peer": true
     },
     "node_modules/@swc/types": {
@@ -969,6 +904,7 @@
       "integrity": "sha512-/rlIpxwKrhz4BIplXf6nsEHtqlhzuNN34/k3kMAXH4/lvVoA3cdq+60aqVNnyvw2uITEaCi0WV3pxBe4dQqoXQ==",
       "dev": true,
       "license": "Apache-2.0",
+      "optional": true,
       "peer": true,
       "dependencies": {
         "@swc/counter": "^0.1.3"
@@ -1900,13 +1836,6 @@
         "ieee754": "^1.1.13"
       }
     },
-    "node_modules/buffer-from": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
-      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/bytes-iec": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/bytes-iec/-/bytes-iec-3.1.1.tgz",
@@ -2112,13 +2041,6 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/colorette": {
-      "version": "2.0.20",
-      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
-      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/comma-separated-tokens": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
@@ -2185,19 +2107,18 @@
       "license": "MIT"
     },
     "node_modules/cronometro": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/cronometro/-/cronometro-4.0.3.tgz",
-      "integrity": "sha512-AZ9sGTTIm6StFxpBow243QU1pOuAtbhM10SKclLpBAE0o8UA/DazPBs8F30F9hvVIn+2nncFYTQFK5PT0kw2Ww==",
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/cronometro/-/cronometro-5.3.0.tgz",
+      "integrity": "sha512-Oj67Ccu/CSaG12rDnmZV6W/tTbjwtpQXRMeMphiFC06Zri7gylC0jAeWporNQbJFxX98rxOzTwJPGGnPkVHSrQ==",
       "dev": true,
       "license": "ISC",
       "dependencies": {
-        "@swc-node/register": "^1.10.9",
         "acquerello": "^3.0.1",
         "hdr-histogram-js": "^3.0.0",
         "table": "^6.9.0"
       },
       "engines": {
-        "node": ">= 20.18.0"
+        "node": ">= 22.6.0"
       }
     },
     "node_modules/cross-spawn": {
@@ -3797,9 +3718,9 @@
       "license": "MIT"
     },
     "node_modules/lefthook": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.11.9.tgz",
-      "integrity": "sha512-waXl9yTGXx1AC+1mlaga6yd1WwsKKqgP+1/csPVWtHdnid35MNN+3/iZlHThQFLXCUxet5aS++nDvTARlKvtsg==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.11.10.tgz",
+      "integrity": "sha512-nuiRqBADcRiU6dzwf2H1zBCsdcWGEOsxY8hqoXw5nkEuoTEYN1Bwi2vskHXjIzJ62iCOCo4FZhcHBAzT9gwL5g==",
       "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
@@ -3807,22 +3728,22 @@
         "lefthook": "bin/index.js"
       },
       "optionalDependencies": {
-        "lefthook-darwin-arm64": "1.11.9",
-        "lefthook-darwin-x64": "1.11.9",
-        "lefthook-freebsd-arm64": "1.11.9",
-        "lefthook-freebsd-x64": "1.11.9",
-        "lefthook-linux-arm64": "1.11.9",
-        "lefthook-linux-x64": "1.11.9",
-        "lefthook-openbsd-arm64": "1.11.9",
-        "lefthook-openbsd-x64": "1.11.9",
-        "lefthook-windows-arm64": "1.11.9",
-        "lefthook-windows-x64": "1.11.9"
+        "lefthook-darwin-arm64": "1.11.10",
+        "lefthook-darwin-x64": "1.11.10",
+        "lefthook-freebsd-arm64": "1.11.10",
+        "lefthook-freebsd-x64": "1.11.10",
+        "lefthook-linux-arm64": "1.11.10",
+        "lefthook-linux-x64": "1.11.10",
+        "lefthook-openbsd-arm64": "1.11.10",
+        "lefthook-openbsd-x64": "1.11.10",
+        "lefthook-windows-arm64": "1.11.10",
+        "lefthook-windows-x64": "1.11.10"
       }
     },
     "node_modules/lefthook-darwin-arm64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.11.9.tgz",
-      "integrity": "sha512-AumwegQCcApnXSAEeWFuY6eI5Z9W/uIi3jN7WfEaXihm3sbCVQkE01f7KVsGQT6FdHHTc/oZv4GnMN8yFqxmtg==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.11.10.tgz",
+      "integrity": "sha512-Rufl8BRP77GRFtgNwW95/FHPD0VDfu5bRyzASPcyVrFczJiBK1glAHRdYrErBDNqJhEEjkyv9+EkCZS/MnDKPQ==",
       "cpu": [
         "arm64"
       ],
@@ -3834,9 +3755,9 @@
       ]
     },
     "node_modules/lefthook-darwin-x64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.11.9.tgz",
-      "integrity": "sha512-L9nt6Oq6NTEsRsTFqV9e6WR33yO4vbdQkv5SGHl1nrHkalmV34GO3Xo1NLhQ9fYsvydO3gHAwXw61eutOK1PkA==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.11.10.tgz",
+      "integrity": "sha512-3ReMyC103S+RozcYQlej9RVa1tKr9t8/PGqXbCiWcPAgA9To3GywPk8533qzTs7Nz9fYDiqJMYyQoXovX0Q4SA==",
       "cpu": [
         "x64"
       ],
@@ -3848,9 +3769,9 @@
       ]
     },
     "node_modules/lefthook-freebsd-arm64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.11.9.tgz",
-      "integrity": "sha512-5cQP6jukDiBn5B8snNbFcFfHElQfw+8AyY4SmbTBOuycxoK/S0YVYcfIAhrdW5ER6/UhgjaHWcWAYwUqHGnU9g==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.11.10.tgz",
+      "integrity": "sha512-UQOdQuvoVEe0HnoVX4Uz8beegndBDKE6Igo5flV3OkrBuO1Cz7dGbTQwzsYg6gBLYUOa8Ecb3Xur80oviQqwnA==",
       "cpu": [
         "arm64"
       ],
@@ -3862,9 +3783,9 @@
       ]
     },
     "node_modules/lefthook-freebsd-x64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.11.9.tgz",
-      "integrity": "sha512-gqiAC4Rui8ToX9F+fVxqBGFwweYwqQCllKt7RLCdRgQeuSNP33ZBZ1L0hL7hrcxlfmqYcPs99DV6uJWO4WkytA==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.11.10.tgz",
+      "integrity": "sha512-IkoywmTzw9dKDtN34HJ8AZkbY3CGu1XpAVU08pIIvlhv0y7PlLGHYTdmx90SC1d4FhTlTMyiANgXyIaAnXjucw==",
       "cpu": [
         "x64"
       ],
@@ -3876,9 +3797,9 @@
       ]
     },
     "node_modules/lefthook-linux-arm64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.11.9.tgz",
-      "integrity": "sha512-BHHtqLyRHVTecgSgacTwAKVSaer8IKnbo1feJPkPfCNq1FWKWOdqtSDhONuYctYJp80Fyhny3SjPWXR70hW71A==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.11.10.tgz",
+      "integrity": "sha512-l/lH4FSljNSIetcptPKLI5sTBpjS6dJZ4gk9oXoGM0ftvb22AlLcZI4l6NFCC1oLVWM0CbhkbStDGTI5txsVaA==",
       "cpu": [
         "arm64"
       ],
@@ -3890,9 +3811,9 @@
       ]
     },
     "node_modules/lefthook-linux-x64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.11.9.tgz",
-      "integrity": "sha512-ls8nIMhKF7/dPrAD8V9xR9KUIrUwS8kML6QuEIeCz9ex9Q66/lR2AcjTVrHI2l+trSvwG9NLcWXOM5+k5h4krQ==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.11.10.tgz",
+      "integrity": "sha512-yAIIP711p7t0Z9zLfPtdSx1d7pSgtnuVC5B9PANud3I0JOs82aCzmqpc9Q/zp+imWXdI2PpZlFyKx8GLrDW5BQ==",
       "cpu": [
         "x64"
       ],
@@ -3904,9 +3825,9 @@
       ]
     },
     "node_modules/lefthook-openbsd-arm64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.11.9.tgz",
-      "integrity": "sha512-1YJBUmImP0gtq+1WjkDKHmaipj9h7JSTpwYLBZfNOzbZZ9UKQX0zdpWkTF1Y3FKntr/2iCjdq7FadbqAQc8+CQ==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.11.10.tgz",
+      "integrity": "sha512-OAqg9BLsTaeioCJduzZrRLupA2dhTOwHOX0GkO4HTSrOD85JuEPqr5RbYoJ7zuzTQcJEXTJYzaeATM2QHjp/aQ==",
       "cpu": [
         "arm64"
       ],
@@ -3918,9 +3839,9 @@
       ]
     },
     "node_modules/lefthook-openbsd-x64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.11.9.tgz",
-      "integrity": "sha512-Ze3GZw0lV2R+2bI/p0+S/fSI8SCnr9J9iXIp6qU8V6srFdcznhrRN95NnSLVCq2OA2bdPo8GGOgK4GzGQbSRuQ==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.11.10.tgz",
+      "integrity": "sha512-EiUU3mFvqcUdnj3gt0V0gRpQQp0b70cLDSA0LgZyFMM4UimeMbA7OgNYl72RKJgrHcTPHrQc4Vj7Mowbhb/X5w==",
       "cpu": [
         "x64"
       ],
@@ -3932,9 +3853,9 @@
       ]
     },
     "node_modules/lefthook-windows-arm64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.11.9.tgz",
-      "integrity": "sha512-l/36PvLtjM1TqoYeCEyBzJFq1VTgAhQ+5QYfc7FQ3xgKZk77WwuW+431+YbGrugP0Pe6O7X8Eyhhcd3av8zf/w==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.11.10.tgz",
+      "integrity": "sha512-clKfI95dCpzxJ1zVgcuYWlSl2oNbtAALoMGqYrzJsoy+CAi+vIs54sqJoGOE60+zrVbdk65z8hriCoYNr98SgA==",
       "cpu": [
         "arm64"
       ],
@@ -3946,9 +3867,9 @@
       ]
     },
     "node_modules/lefthook-windows-x64": {
-      "version": "1.11.9",
-      "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.11.9.tgz",
-      "integrity": "sha512-DL/JV5+4DZdmVN9O97ksynkF9o2n2AM0OHGcUQ3PnFtZMCv1J2hB7XW/DBVI04qMiH7pOePykkhFDWHDjidmkg==",
+      "version": "1.11.10",
+      "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.11.10.tgz",
+      "integrity": "sha512-zpf/0sG50xsGnwVG/a2giUbmaM/g0uIRqxN5qBbmwKCf0P4PPD2r1xiFZNDb520+tUTC1lWe0RWVoSSwZbBQRA==",
       "cpu": [
         "x64"
       ],
@@ -4641,29 +4562,6 @@
         "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/oxc-resolver": {
-      "version": "5.0.1",
-      "resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-5.0.1.tgz",
-      "integrity": "sha512-BbclyCSxgnqO5mo05RGcwp8rkVdZL7sf0ugEnFWK67DIBAMq5wR0/GQlQCdPiPkpiv9GESAVX2cbh1DMFux/TQ==",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/Boshen"
-      },
-      "optionalDependencies": {
-        "@oxc-resolver/binding-darwin-arm64": "5.0.1",
-        "@oxc-resolver/binding-darwin-x64": "5.0.1",
-        "@oxc-resolver/binding-freebsd-x64": "5.0.1",
-        "@oxc-resolver/binding-linux-arm-gnueabihf": "5.0.1",
-        "@oxc-resolver/binding-linux-arm64-gnu": "5.0.1",
-        "@oxc-resolver/binding-linux-arm64-musl": "5.0.1",
-        "@oxc-resolver/binding-linux-x64-gnu": "5.0.1",
-        "@oxc-resolver/binding-linux-x64-musl": "5.0.1",
-        "@oxc-resolver/binding-wasm32-wasi": "5.0.1",
-        "@oxc-resolver/binding-win32-arm64-msvc": "5.0.1",
-        "@oxc-resolver/binding-win32-x64-msvc": "5.0.1"
-      }
-    },
     "node_modules/p-limit": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
@@ -4850,16 +4748,6 @@
         "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/pirates": {
-      "version": "4.0.7",
-      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
-      "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 6"
-      }
-    },
     "node_modules/plur": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz",
@@ -5709,6 +5597,7 @@
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
       "dev": true,
       "license": "BSD-3-Clause",
+      "optional": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -5723,17 +5612,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/source-map-support": {
-      "version": "0.5.21",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
-      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
     "node_modules/space-separated-tokens": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
@@ -6337,13 +6215,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/tslib": {
-      "version": "2.8.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
-      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
-      "dev": true,
-      "license": "0BSD"
-    },
     "node_modules/tsx": {
       "version": "4.19.3",
       "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.19.3.tgz",
package.json
@@ -107,7 +107,7 @@
     "c8": "10.1.3",
     "chalk": "5.4.1",
     "create-require": "1.1.1",
-    "cronometro": "4.0.3",
+    "cronometro": "5.3.0",
     "depseek": "0.4.1",
     "dts-bundle-generator": "9.5.1",
     "envapi": "0.2.3",
@@ -123,7 +123,7 @@
     "get-port": "7.1.0",
     "globby": "14.1.0",
     "jsr": "0.13.4",
-    "lefthook": "1.11.9",
+    "lefthook": "1.11.10",
     "madge": "8.0.0",
     "minimist": "1.2.8",
     "node-fetch-native": "1.6.4",