chore(deps): jsdom 30 and an .nvmrc for the Node floor - #57
Merged
Conversation
jsdom 30 declares engines ^22.22.2 || ^24.15.0 || >=26.0.0. The toolchain was on Node 24.8.0, which satisfies none of those, so this adds an .nvmrc pinning 24.18.1 (current Krypton LTS) rather than leaving the repo running below a dependency's supported range with nothing recording it. Nothing enforced that range: there is no engine-strict setting, and the component tests do pass on 24.8.0 today. The floor still matters, because any jsdom patch is free to start using an API that only exists above it. - jsdom 29.1.1 -> 30.0.1 (apps/web, packages/ui) - .nvmrc pinning Node 24.18.1 Supersedes Dependabot #55. Verified locally on Node 24.18.1: pnpm install reports no engine warnings, and build, lint, typecheck, test, and the e2e spec all pass. The 9 component test files in packages/ui run against the new jsdom.
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.
Last of the three updates held back from #52. Supersedes #55, which closes out the Dependabot backlog.
What this changes
jsdom 29.1.1 -> 30.0.1(apps/web, packages/ui).nvmrcpinning Node 24.18.1Why the .nvmrc
jsdom 30 declares
engines: ^22.22.2 || ^24.15.0 || >=26.0.0. The toolchain here was on Node 24.8.0, which satisfies none of them, since^24.15.0means>=24.15.0 <25.0.0.Nothing was enforcing that range. There is no
engine-strictsetting, and the component tests do pass on 24.8.0 today, so this was not a hard block. The floor still matters: any jsdom patch release is free to start using an API that only exists above it, and there was nothing in the repo recording the requirement. The.nvmrcmakes it explicit and givesnvm usesomething to read.24.18.1 is the current Krypton LTS.
Verification
Run on Node 24.18.1:
pnpm installreports noEBADENGINEor unmet peer warnings.TURBO_FORCE=true.pnpm test:e2epasses.packages/uiand the 1 inapps/webrun against the new jsdom and pass.Also checked on Node 24.8.0 to establish whether the engine range was load-bearing: the component tests pass there too. That is why this is framed as recording a floor rather than fixing a break.
After merging
Anyone with an existing shell will still be on their old Node.
nvm usein the repo root now picks up 24.18.1 from the.nvmrc.With this, no Dependabot PRs remain open.
typescript 7.0.2is still outstanding and is not installable:typescript-eslint@8.65.0declares a peer oftypescript: >=4.8.4 <6.1.0, so it stays out until typescript-eslint widens that range.