Skip to content

Dependency versions and compatibility

Reviewed on 2026-08-02 against registry metadata and the sibling Fast.ESLint.Config 2.0.5 strategy.

This package selects the newest release that ESLint 8.57 Legacy Config can load through CommonJS. It does not force incompatible latest majors.

Compatibility boundary

LayerRangeReason
Runtime Node^22.18.0 || ^24.18.0Matches the maintained Flat Config project matrix
CI Node22.18.0 and 24.18.0Shared quality matrix; Node 26 is not tested yet
ESLint^8.57.0The package's only lint-engine product boundary
TypeScript^4.0.0 || ^5.0.0 || ^6.0.0Published TypeScript compatibility range
Build toolsTypeScript 6.0.3, tsdown 0.23.0, pnpm 11Output targets Node 22; lockfile pins exact packages

The package intentionally uses the same maintained Node baseline as @fast-china/eslint-config. ESLint 8 compatibility describes the configuration format, not a promise to preserve end-of-life Node releases.

Package-manager decision

The repository uses pnpm 11:

  • pnpm-lock.yaml is the sole dependency lockfile.
  • pnpm-workspace.yaml#allowBuilds records reviewed dependency build scripts.
  • CI uses pnpm/action-setup and a frozen pnpm lockfile, matching the Flat Config project.
  • Published packages remain package-manager neutral.

The manifest constrains only pnpm 11 through engines.pnpm; it does not pin a patch-level packageManager value.

Current latest releases

These direct dependencies are current as of the review date:

DependencyVersionPurpose
@typescript-eslint/eslint-plugin8.70.0ESLint 8 and TypeScript 6 rules
@typescript-eslint/parser8.70.0TypeScript and Vue script parsing
eslint-config-prettier10.1.8Formatting-conflict disable layer
eslint-plugin-import-x4.17.1CommonJS Legacy import rules
eslint-plugin-jsx-a11y6.10.2React JSX accessibility
eslint-plugin-markdown5.1.0ESLint 8 recommended-legacy processor
eslint-plugin-promise7.3.0Promise recommendations
eslint-plugin-react7.37.5React Legacy recommendations
eslint-plugin-react-hooks7.1.1Hooks and React Compiler diagnostics
eslint-plugin-vue10.11.0Vue 2/3 Legacy Config
vue-eslint-parser10.4.1Vue SFC parser
@arethetypeswrong/core0.18.5Published type-resolution checks
prettier3.9.6Repository formatting
publint0.3.22Package-structure checks
react19.2.8React consumer tests
tsdown0.23.0CommonJS multi-entry and declaration build

@types/node uses the Node 24 line, matching the active CI and development baseline. tsdown still targets Node 22 syntax.

Intentional ESLint 8 compatibility lines

DependencyCurrentLatestWhy it stays
Angular ESLint plugin/template/parser21.4.022.1.022.x peers accept ESLint 9/10 only
eslint-plugin-jsonc2.21.13.3.03.x needs ESLint 9.38+ and is ESM-only
eslint-plugin-regexp2.10.03.1.13.x needs ESLint 9.38+
eslint-plugin-yml1.19.13.7.03.x needs ESLint 9.38+ and is ESM-only
jsonc-eslint-parser2.4.23.1.03.x cannot be synchronously loaded as a Legacy parser
yaml-eslint-parser1.3.22.1.02.x cannot be synchronously loaded as a Legacy parser
eslint8.57.110.8.0The package intentionally exposes ESLint 8.57 .eslintrc
@types/eslint8.56.129.6.1Declarations must model the ESLint 8 API
@types/node24.13.426.xTypes follow the maintained development baseline
typescript6.0.37.0.2typescript-eslint 8.70 requires TypeScript below 6.1

eslint-plugin-markdown 5.1.0 is deprecated upstream, but its replacement targets the newer ESLint configuration model. This package retains the final recommended-legacy release while it supports ESLint 8 Legacy Config.

Resolver and build-script boundary

As in Fast.ESLint.Config, this package inherits only plugin:import-x/recommended: it does not guess a consumer's TypeScript/Vite alias resolver, and resolver-sensitive rules remain disabled by default.

unrs-resolver remains transitively required by import-x and contains a standard platform-binding selector script. pnpm permits it through the reviewed allowBuilds list. Review the resolved version and script source whenever import-x changes.

Upgrade verification

sh
pnpm typegen
pnpm check
pnpm audit
pnpm --config.ignore-scripts=true pack --dry-run

Entries in the compatibility table are expected in pnpm outdated. Do not use --force, peer overrides, or automatic major upgrades merely to reach “zero outdated.”