commit-sheriff 1.6.1 → 1.6.2

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.
package/README.md CHANGED
@@ -310,16 +310,22 @@ It installs whatever it needs automatically (via `npm install --save-dev`, same
310
310
  `lint-staged`/`eslint`/`prettier`), skipping anything already present:
311
311
 
312
312
  ```bash
313
- npm install --save-dev eslint@^9 typescript @typescript-eslint/parser \
314
- @typescript-eslint/eslint-plugin @eslint/js @eslint/eslintrc eslint-plugin-sonarjs \
313
+ npm install --save-dev eslint@^9 typescript@^5 @typescript-eslint/parser \
314
+ @typescript-eslint/eslint-plugin @eslint/js@^9 @eslint/eslintrc eslint-plugin-sonarjs \
315
315
  eslint-plugin-import eslint-plugin-prettier eslint-config-prettier eslint-plugin-react \
316
316
  eslint-plugin-react-hooks eslint-plugin-jsx-a11y eslint-plugin-testing-library \
317
317
  @vitest/eslint-plugin eslint-plugin-jest prettier
318
318
  ```
319
319
 
320
- `eslint` is pinned to `^9` on purpose rather than left to resolve to whatever `latest` is — plugins
321
- like `eslint-plugin-react` have historically taken a while to support each new ESLint major, so an
322
- unpinned install can grab a version the rest of the toolchain doesn't work with yet.
320
+ `eslint`, `@eslint/js`, and `typescript` are pinned on purpose rather than left to resolve to
321
+ whatever `latest` is the plugin ecosystem here regularly lags behind both. Two concrete
322
+ conflicts this has already caused: `@eslint/js`'s own `latest` declares a hard peer on
323
+ `eslint@^10`, so leaving it unpinned next to `eslint@^9` is an instant `ERESOLVE`; and
324
+ `@typescript-eslint/eslint-plugin` currently only supports `typescript` up to `<6.1.0`, so an
325
+ unpinned `typescript` install (which resolves to its own `latest`, e.g. `7.x`) crashes plugin
326
+ loading with "typescript-eslint does not support TS 7.0". Pinning `eslint`/`@eslint/js` together
327
+ to `^9` and `typescript` to `^5` keeps the whole toolchain on versions that are actually
328
+ compatible with each other today.
323
329
 
324
330
  If the install fails (offline, registry issue, etc.), it prints this exact command so you can run
325
331
  it yourself.
@@ -202,11 +202,19 @@ function init() {
202
202
  const ESLINT_REACT_DEV_DEPS = [
203
203
  // Pinned (not left to resolve to "latest") — see the comment on the eslint@^9 install in
204
204
  // mergeConfig() for why: the plugin ecosystem here regularly lags behind ESLint's newest major.
205
+ // @eslint/js in particular is versioned in lockstep with ESLint core and its `latest` (10.x)
206
+ // declares a hard peerDependency on eslint@^10 — installing it unpinned alongside eslint@^9
207
+ // produces an immediate ERESOLVE conflict, which is exactly what this pin prevents.
205
208
  "eslint@^9",
206
- "typescript",
209
+ // Same lag problem, different package: @typescript-eslint/eslint-plugin@8.65.0 declares
210
+ // `typescript: ">=4.8.4 <6.1.0"` as a peer, but unpinned "typescript" resolves to npm's
211
+ // "latest" (7.x once TypeScript ships a 7.0) — that's outside the supported range and
212
+ // crashes plugin loading with "typescript-eslint does not support TS 7.0". Pinning to the
213
+ // latest 5.x line keeps us inside the range the plugin actually supports today.
214
+ "typescript@^5",
207
215
  "@typescript-eslint/parser",
208
216
  "@typescript-eslint/eslint-plugin",
209
- "@eslint/js",
217
+ "@eslint/js@^9",
210
218
  "@eslint/eslintrc",
211
219
  "eslint-plugin-sonarjs",
212
220
  "eslint-plugin-import",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commit-sheriff",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "Shared husky commit-msg / pre-commit hooks enforcing ticket-based commit messages and branch naming",
5
5
  "main": "index.js",
6
6
  "bin": {