chore(deps): bump js-client npm dependencies - #94
Draft
claude[bot] wants to merge 5 commits into
Draft
Conversation
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
Dependency refresh for
js-client/only. Nothing outside that directory is touched. TypeScript is deliberately kept on 5.x (^5.9.3) — the TypeScript upgrade is being handled separately in #93, and neither TS 6 nor TS 7 is pulled in here.Runtime
dependencieswere not bumped; they are listed at the bottom for a maintainer decision.What moved
Nx (via
nx migrate latest)nx@nx/eslint,@nx/eslint-plugin,@nx/jest,@nx/js,@nx/rollup,@nx/workspacenx migrateproduced no migration steps and no out-of-scopepackageJsonUpdates, so there was nothing to revert. Nx 23.1.1 still peer-requires@swc/core ^1.15.8and@swc-node/register ^1.11.1, both already satisfied — no toolchain realignment needed.Safe devDependencies (minor / patch)
@types/lodashprettierts-jesttypescript-eslintverdacciotypescript-eslint8.67.0 peer-requirestypescript >=4.8.4 <6.1.0, so it is compatible with the TS 5.9 we are keeping.Intentionally excluded from this pass as Nx-managed (
rollup^4.62.2 → ^4.62.4,@swc/core1.15.43 → 1.16.0,@swc-node/register1.11.1 → 1.12.1) — these should move when Nx's peer ranges move.Majors
lernaLerna 10 is ESM-only, requires Node
^22.13 || ^24 || ^26(the repo is on Node 24.18), and requires Nx 17+ (we are on 23.1.1). The options it removed (--includeFilteredDependencies,--includeFilteredDependents,--githubRelease,--skipGit,--npmTag) are not used anywhere inlerna.jsonor the release workflow, and theuseNx/command.versionconfig we do use is still in the 10.x schema. Verified withlerna list/lerna changed.Side benefit: Lerna 10 depends on
nx >=23.1.0 <24.0.0, so it now dedupes against the workspace's own Nx instead of nesting a second copy ofnx@22.7.6— 121 packages removed from the tree.Two behavioural notes for whoever cuts the next release:
EBEHINDin CI when the checkout is behind the remote during versioning/publishing (previously local-only); tunable via--ci-behind-behavior.conventional-changelogAPIs, so generatedCHANGELOG.mdformatting may differ slightly. Version-bump behaviour and CLI options are unchanged.What was HELD, and why
typescripteslinteslint-plugin-import(2.32.0, latest) andeslint-plugin-jsx-a11y(6.10.2, latest) both cap ateslint ^9, andeslint-plugin-reactcaps at^9.7— all three are dependencies of@leancodepl/eslint-config@10.6.0, which is itself the latest release and has not declared ESLint 10 support. Installing ESLint 10 works and lint passes, but only by overriding three peer ranges, so the whole group should move together once the shared config ships ESLint 10 support.@types/node.nvmrc) and@leancodepl/pipedeclaresengines.node >=22.0.0. Staying on 24.x is correct; 24.13.3 is the newest 24.x.rollup,@swc/core,@swc-node/registernx migrateso they stay inside Nx's peer ranges.Dependabot
The repo has no
.github/dependabot.ymland there are no open Dependabot PRs, so there is nothing to auto-close or reconcile against this lockfile.npm audit
npm audit fixwas run without--force; it changed the lockfile only, no manifest entries.Resolved transitively:
ip-address,nanoid,postcss,undici,brace-expansion(partially), plus everything that disappeared with the nestednx@22.7.6tree.The remaining 11 are all dev-only and all three root causes are upstream:
brace-expansion(high), reachable vianx— npm's only "fix" is downgrading Nx to 22.6.5.js-yaml(high) andtar(moderate), reachable vialerna— npm's only "fix" is downgrading Lerna to 6.6.2.Both would be
--forcedowngrades to older majors, i.e. a regression rather than a fix, so they were not applied. None of these reach the published package: CI's integrity gate isnpm audit signatures --omit=dev, and@leancodepl/pipe's own runtime dependencies are clean.Runtime dependencies — maintainer decision
Not bumped in this PR. Only one has an update available:
@microsoft/signalr@leancodepl/pipedeclares the dependency as>=8.0.0so the published contract is unaffected.packages/pipe/__tests__/pipe.spec.tsis the gate.deep-equallodashrxjstslibVerification
Run on Node 24.18.1 with its bundled npm 11.16.0 — the exact pair
actions/setup-noderesolves fromjs-client/.nvmrc. Cleanrm -rf node_modules && npm installreproduces the lockfile with no drift, andnpm ci(used by the release workflow) resolves cleanly.npm installnpm cinx run-many -t lintnx run-many -t buildtsc -p packages/pipe/tsconfig.lib.json --noEmitnx run-many -t testThe single failing test is
pipe › assignments should work, which opens a live SignalR connection toapi.exampleapp.test.lncd.pl. It fails with403 Host not in allowlistbecause the verification sandbox blocks that host by egress policy. It fails identically on unmodifiedmain— this is not a regression, and it is expected to pass in CI. It is also the repo's only test, so the effective local gate here was lint + build + typecheck.npm audit signatures --omit=devcould not be exercised locally (the sandbox blocks the registry attestation endpoint); it is unaffected by this change and will run normally in CI.The shared ESLint config was confirmed to be genuinely loading rather than silently falling back to defaults, by linting a deliberately non-conforming snippet and checking that
import/*,unicorn/*,unused-imports/*and core rules all reported.Generated by Claude Code