Skip to content

chore: centralize eslint toolchain versions with pnpm catalog#634

Merged
vishxrad merged 1 commit into
thesysdev:mainfrom
Shinyaigeek:chore/catalog-eslint
Jun 11, 2026
Merged

chore: centralize eslint toolchain versions with pnpm catalog#634
vishxrad merged 1 commit into
thesysdev:mainfrom
Shinyaigeek:chore/catalog-eslint

Conversation

@Shinyaigeek

Copy link
Copy Markdown
Contributor

What

Move the eslint toolchain version specs into the pnpm catalog: and reference them from the consuming manifests, so each version is declared in one place. Follows the pattern established in #612.

Why

The eslint toolchain was declared with identical version specs in two manifests — the root package.json and packages/react-ui/package.json. Centralizing them in the catalog removes the duplication and keeps the two in lockstep going forward.

Cataloged

No declared-version changes — root and react-ui already shared one spec each:

dep spec
@typescript-eslint/eslint-plugin ^8.56.1
eslint ^9.0.0
eslint-config-prettier ^10.1.8
eslint-plugin-prettier ^5.5.5
eslint-plugin-react-hooks ^7.0.1
eslint-plugin-react-refresh ^0.5.2
eslint-plugin-storybook ^10.2.14
eslint-plugin-unused-imports ^4.4.1

Scope

examples/ and docs/ use a looser eslint: ^9 plus eslint-config-next (which no workspace package uses), so folding them in would change resolved specs rather than just centralizing them. Left out to match #612's "no resolved-version changes" principle. The other packages/* don't declare eslint themselves (they rely on hoisting), so there was nothing to convert.

Lockfile churn

The diff is large because pnpm install deduped a stale transitive @typescript-eslint 8.56.1 sub-tree onto 8.59.4. The top-level @typescript-eslint/eslint-plugin already resolved to 8.59.4 before this change, so no top-level resolution moved.

Verification

  • pnpm install clean (only pre-existing, unrelated peer warnings)
  • pnpm --filter @openuidev/react-ui run lint:check passes — eslint v9.29.0 resolves from the catalog, plugins load, 0 errors (pre-existing react-hooks/exhaustive-deps warnings only)

🤖 Generated with Claude Code

The eslint toolchain was declared with identical version specs in two
manifests (root package.json and packages/react-ui). Move those specs
into the pnpm catalog and reference them via the "catalog:" protocol so
the version lives in a single place, mirroring thesysdev#612.

Cataloged (no declared-version changes — root and react-ui already
shared one spec each):
- @typescript-eslint/eslint-plugin  "^8.56.1"
- eslint                            "^9.0.0"
- eslint-config-prettier            "^10.1.8"
- eslint-plugin-prettier            "^5.5.5"
- eslint-plugin-react-hooks         "^7.0.1"
- eslint-plugin-react-refresh       "^0.5.2"
- eslint-plugin-storybook           "^10.2.14"
- eslint-plugin-unused-imports      "^4.4.1"

The lockfile churn is pnpm deduping a stale transitive @typescript-eslint
8.56.1 sub-tree onto 8.59.4; the top-level eslint-plugin already resolved
to 8.59.4, so no top-level resolution moved.

Scope: examples/ and docs/ use a looser `eslint: ^9` plus
eslint-config-next (which no workspace package uses), so folding them in
would change resolved specs rather than just centralizing them — left
out to match thesysdev#612's "no resolved-version changes" principle.

Verified: react-ui lint:check passes (eslint v9.29.0 resolved from the
catalog, plugins load, 0 errors).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Shinyaigeek Shinyaigeek force-pushed the chore/catalog-eslint branch from c07b301 to 0e7513a Compare June 11, 2026 07:12

@vishxrad vishxrad left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you for your contribution :)

@vishxrad vishxrad merged commit 6e7bfe9 into thesysdev:main Jun 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants