@commercetools-backend/eslint-config-node 27.2.0 → 27.4.0

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/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @commercetools-backend/eslint-config-node
2
2
 
3
+ ## 27.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#3967](https://github.com/commercetools/merchant-center-application-kit/pull/3967) [`54907ff`](https://github.com/commercetools/merchant-center-application-kit/commit/54907ff2fa6c3840b14ab59820d485306f3e6445) Thanks [@valoriecarli](https://github.com/valoriecarli)! - -Remove `jest-runner-eslint` from starter templates to fix `npm install` failures caused by its stale `eslint@^7 || ^8` peer dependency declaration, which hard-fails under npm's strict resolution when ESLint 9 is present.
8
+ -The `lint` script now calls `eslint .` directly.
9
+ -Migration guides updated with recommended steps and a workaround for projects that prefer to keep `jest-runner-eslint`.
10
+
11
+ ## 27.3.0
12
+
3
13
  ## 27.2.0
4
14
 
5
15
  ## 27.1.0
package/migrations/v27.md CHANGED
@@ -240,9 +240,24 @@ If you maintain custom ESLint rule plugins, update deprecated APIs:
240
240
 
241
241
  Also update the plugin's `peerDependencies` to `"eslint": "9.x"`.
242
242
 
243
- ### `jest-runner-eslint` compatibility
243
+ ### `jest-runner-eslint`
244
244
 
245
- If using `jest-runner-eslint`, note that the `rules` key in `cliOptions` is not supported in flat config mode move those rule overrides into `eslint.config.js` instead. You may also need a `pnpm.overrides` (or npm `overrides`) entry if the package's peer dependency still specifies ESLint 8:
245
+ `jest-runner-eslint` has a stale peer dependency declaration (`eslint@^7 || ^8`) that causes `npm install` to fail with an `ERESOLVE` error when used alongside ESLint 9. The code itself is functionally compatible with ESLint 9, but the undeclared peer dep makes npm hard-fail on install.
246
+
247
+ **Recommended:** replace it with a direct ESLint call.
248
+
249
+ 1. Remove `jest-runner-eslint` and `jest-watch-typeahead` from `package.json`
250
+ 2. Delete `jest.eslint.config.js` and `jest-runner-eslint.config.js`
251
+ 3. Update the `lint` script:
252
+
253
+ ```diff
254
+ - "lint": "jest --config jest.eslint.config.js"
255
+ + "lint": "eslint ."
256
+ ```
257
+
258
+ This produces standard ESLint output instead of Jest-style per-file PASS/FAIL reporting, but works correctly with both npm and pnpm.
259
+
260
+ If you prefer to keep `jest-runner-eslint`, add an override to suppress the peer dep conflict:
246
261
 
247
262
  ```json
248
263
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commercetools-backend/eslint-config-node",
3
- "version": "27.2.0",
3
+ "version": "27.4.0",
4
4
  "description": "ESLint config for Node.js projects.",
5
5
  "bugs": "https://github.com/commercetools/merchant-center-application-kit/issues",
6
6
  "repository": {