fix(deps): add @eslint/js, which ESLint 10 no longer brings, so lint loads again

Merged
EV
18d ago
+6-0

Problem

Every ESLint run in the repo fails before it reads a single file:

Error: Cannot find module '@eslint/js'
Require stack:
- node_modules/@nx/eslint-plugin/dist/src/flat-configs/typescript.js
- eslint.config.js
- packages/core/eslint.config.js

This breaks yarn nx run-many -t lint, the static-checks step Run ESLint (report only), and linting in editors.

Cause. @nx/eslint-plugin's flat configs require('@eslint/js'), but the workspace never declared it. ESLint 9 depended on @eslint/js, so it was hoisted into node_modules and the missing declaration went unnoticed. ESLint 10, which this repo now uses (eslint ^10.12.0), no longer depends on it, so after the upgrade the module was simply absent.

Fix

  • Add @eslint/js ^10.0.1 as a devDependency. This is the release that matches ESLint 10. It has no dependencies of its own (only an optional peer on eslint ^10), so the lockfile gains a single entry, resolved from registry.npmjs.org like its neighbours.
  • yarn install --frozen-lockfile resolves and fetches without asking for a lockfile update.

Verified locally

  • Every package that the 64 eslint.config.* files import now resolves.
  • ESLint now runs and reports rule findings on a sample from each config flavour: an Angular app .ts, an Angular template .html, a ui-core library, a React plugin, apps/api, and a package.json (JSON rules).
  • The step stays non-blocking (continue-on-error). It now reports the existing rule backlog again; the backlog itself is unchanged by this PR.

🤖 Generated with Claude Code