chore: bump npm dependencies#163
Open
claude[bot] wants to merge 22 commits into
Open
Conversation
Ran nx migrate latest (21.6.4 -> 23.0.1) for @nx/* and nx, plus aligned @swc/core, @swc-node/register and @swc/helpers to the versions nx 23 requires. Applied nx migrations (jest configs converted from export default to module.exports, nx.json lint inputs updated). Reverted nx's out-of-scope packageJsonUpdates for jest and verdaccio. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Bumped @types/lodash, @types/node, jest, jest-environment-jsdom, jest-util, jiti, lerna, protobufjs, protobufjs-cli, ts-jest and verdaccio to latest minor/patch. Held the @leancodepl eslint/prettier config bumps and eslint-plugin-prettier because they surface new lint errors that need a separate cleanup PR (lint is not part of the CI PR gate). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Bumped @commitlint/cli and @commitlint/config-conventional from ^19 to ^21 (companion pair). Node engine (>=22.12.0) is satisfied by .nvmrc's Node 22. Verified the existing CJS commitlint.config.js still lints commit messages correctly; build and test remain green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Bumped lerna from ^8.2.4 to ^9.0.7. Installs without ERESOLVE; node engine (^22.12.0) satisfied. Verified lerna resolves the workspace (lerna list finds all 9 packages) and the lerna-schema.json path referenced by lerna.json still exists. Build and test remain green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Bumped jsdom from 26.1.0 to ^29.1.1. It installs cleanly (jest-environment-jsdom bundles its own jsdom ^26 as a regular dependency, so no ERESOLVE). jsdom is not directly imported anywhere in the repo and all jest configs use the node test environment, so this is a low-risk bump; build and test remain green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Replace the legacy CJS flat-config setup with the ESM `eslint.config.mjs` layout used by leancodepl/js_corelibrary. - Root `eslint.config.mjs` spreads `@nx/eslint-plugin` flat presets plus `base` + `imports` from `@leancodepl/eslint-config` (no React parts, since this repo generates TS contracts). Adds `@nx/dependency-checks`. - Per-package `.eslintrc`-style `.cjs`/`.js` configs replaced with `eslint.config.mjs` re-exporting the root config; schema keeps its `protocol/` ignore. - Remove `eslint-plugin-prettier`; add `eslint`@^9.39.4, `typescript-eslint`@8.62.1, `eslint-config-prettier`@10.1.8, `prettier`@^3.9.4; bump `@leancodepl/eslint-config`, `@leancodepl/prettier-config`, `@leancodepl/resolve-eslint-flat-config` 9.6.3 -> 10.5.2. - Simplify `.prettierrc.js`; point nx.json lint inputs at the flat config. - Fix all resulting lint errors (perfectionist import ordering, unicorn rules, prettier) across every project so lint is fully green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Raise the `@leancodepl/utils` floor from `>=7.2.3` to `>=10.5.2` in schema,
types and generator. `@leancodepl/utils` 10.x ships pure ESM
("type": "module"), so add a `transformIgnorePatterns` to the shared Jest
preset that lets ts-jest transpile `@leancodepl/*` (and its `tiny-invariant`
dependency) instead of leaving them untransformed under node_modules.
The internal `contractsgenerator-typescript-*` cross-references stay at 1.1.3
(managed by lerna, pinned to lerna.json's version).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Raise the `zod` floor to `>=4.4.3` across the workspace (root, generator, and the raw/zod/client/contracts plugins). The source already imports the `zod/v4` subpath and uses the v4 API (`z.strictObject`, object-form `z.function`, two-argument `z.record`, etc.), so no code changes are required; the generated zod schema snapshots are unchanged and remain valid under zod 4. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Move the repo's Node version from 22 to 24.13 to match leancodepl/js_corelibrary. Both CI workflows already resolve the version via `node-version-file: .nvmrc`, and there are no `engines.node` pins, so updating `.nvmrc` is sufficient. Install, lint, build and test all verified green on Node 24.13. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
The default "zod" entry is the v4 API on zod >=4.4.3, so the "zod/v4" subpath imports are redundant. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Also widen the schema lib's protobufjs range to ^8.0.0 to match. CI (lint/build/test) stays green on the existing generated protocol files; pbjs/pbts v2 verified working via schema:proto-update. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
…ributes Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
Komoszek
reviewed
Jul 6, 2026
- Bump compilerOptions.lib to es2023 (matches js_corelibrary) so ES2023 immutable array methods are in scope now the repo runs on Node 24. - Replace the in-place .sort() workaround in schemaErrorCodes with .toSorted(), dropping the unicorn/no-array-sort disable. - Remove the non-existent tools/eslint-rules/**/* glob from the @nx/eslint:lint cache inputs (stray flat-config migration default). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012ET2dL5CiUkuFR1ZGiUrUH
…tocol chore: regenerate protobuf protocol with protobufjs-cli 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Łukasz Komoszyński · Slack thread
A full dependency-maintenance pass across the workspace.
Before / After
Before: the repo lints with a legacy CommonJS flat-config (root
eslint.base.config.cjs+ per-package.cjs/.jsfiles,eslint-plugin-prettier), lint is red on 4 pre-existing errors and excluded from the CI gate,@leancodepl/*tooling is pinned at 9.6.3, code importszod/v4, and it runs on Nx 21 / Node 22.After: the repo lints green with the shared
@leancodepl/eslint-configflat config (single ESMeslint.config.mjs, matching js_corelibrary), runs on Node 24, imports plainzod(v4), and is on Nx 23 with current tooling. CI is green on Node 24: build (9 projects), test (31 tests / 23 snapshots), and lint (all 10 projects).What changed
ESLint → flat config (js_corelibrary parity)
eslint.base.config.cjs+ all per-packageeslint.config.cjs/.jswith a single root ESMeslint.config.mjs; each package re-exports it via its owneslint.config.mjs(schema keeps itsprotocol/ignore).@nx/eslint-pluginflat presets plusbase+importsfrom@leancodepl/eslint-config(no React presets — this repo generates TS contracts); enforces@nx/enforce-module-boundaries+@nx/dependency-checks; ignores**/dist+**/*.timestamp*.eslint^9.39.4, unifiedtypescript-eslint8.62.1(removed the separate@typescript-eslint/parser+eslint-plugin),eslint-config-prettier10.1.8; removedeslint-plugin-prettier; prettier reduced to a one-line re-export of@leancodepl/prettier-config.unicorn/*rules, prettier reformatting);nx.jsonlint inputs point at the flat config.@leancodepl/*bumps@leancodepl/eslint-config/prettier-config/resolve-eslint-flat-config: 9.6.3 → 10.5.2.@leancodepl/utils(in-schema,-types,-generator):>=7.2.3→>=10.5.2. 10.x is pure ESM, so atransformIgnorePatternswas added to the shared Jest preset to let ts-jest transpile@leancodepl/*(andtiny-invariant).zod → 4
zodfloor to>=4.4.3across root, generator, and the raw/zod/client/contracts plugins.zod/v4to plainzod(on>=4.4.3the root entry already is the v4 API); generated snapshots unchanged.Other dependency bumps
nx migrate, migrations applied, aligned@swc/*).@commitlint/cli+config-conventional→ 21;lerna→ 9;jsdom→ 29.protobufjs7.5.3 → 8.6.6 (+protobufjs-cli1.1.3 → 2.5.7;-schemarange widened to^8.0.0).@types/node^24→^24.13.2(latest 24.x, aligned with the Node 24 runtime);yaml2.8.0 → 2.9.0;lodashfloor →^4.18.1;tslibfloor →^2.8.1;@swc/core→1.15.43; plus safe minor/patch devDeps (@types/lodash,jest,jest-environment-jsdom,jest-util,jiti,ts-jest,verdaccio).Node
.nvmrc22→24.13(js_corelibrary parity). Both CI workflows resolve vianode-version-file: .nvmrc; noengines.nodepins to change.Held / needs a maintainer decision
typescript5.9 → 6.0 — held. TS 6 turnsbaseUrl(TS5101) andmoduleResolution: node10(TS5107) into hard errors; needs a real tsconfig migration, so it belongs in its own PR. TypeScript stays pinned at 5.9.3.protobufjs-cli2 runs (verified viaschema:proto-update), but regenerating the protocol files is ~12k lines of purely stylistic codegen churn; CI stays green on the existing generated files.