chore(deps): bump the npm-major group across 1 directory with 7 updates - #548
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps the npm-major group with 7 updates in the /ui directory: | Package | From | To | | --- | --- | --- | | [@solidjs/router](https://github.com/solidjs/solid-router) | `0.16.2` | `1.0.0` | | [maplibre-gl](https://github.com/maplibre/maplibre-gl-js) | `5.24.0` | `6.11.2` | | [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) | `6.9.1` | `7.0.1` | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `4.1.10` | `5.0.2` | | [jsdom](https://github.com/jsdom/jsdom) | `29.1.1` | `30.1.1` | | [typescript](https://github.com/microsoft/TypeScript) | `6.0.3` | `7.0.2` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `4.1.10` | `5.0.2` | Updates `@solidjs/router` from 0.16.2 to 1.0.0 - [Release notes](https://github.com/solidjs/solid-router/releases) - [Changelog](https://github.com/solidjs/solid-router/blob/main/CHANGELOG.md) - [Commits](https://github.com/solidjs/solid-router/commits) Updates `maplibre-gl` from 5.24.0 to 6.11.2 - [Release notes](https://github.com/maplibre/maplibre-gl-js/releases) - [Changelog](https://github.com/maplibre/maplibre-gl-js/blob/main/CHANGELOG.md) - [Commits](maplibre/maplibre-gl-js@v5.24.0...v6.11.2) Updates `@testing-library/jest-dom` from 6.9.1 to 7.0.1 - [Release notes](https://github.com/testing-library/jest-dom/releases) - [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md) - [Commits](testing-library/jest-dom@v6.9.1...v7.0.1) Updates `@vitest/coverage-v8` from 4.1.10 to 5.0.2 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.2/packages/coverage-v8) Updates `jsdom` from 29.1.1 to 30.1.1 - [Release notes](https://github.com/jsdom/jsdom/releases) - [Commits](jsdom/jsdom@v29.1.1...v30.1.1) Updates `typescript` from 6.0.3 to 7.0.2 - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Commits](microsoft/TypeScript@v6.0.3...v7.0.2) Updates `vitest` from 4.1.10 to 5.0.2 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.2/packages/vitest) --- updated-dependencies: - dependency-name: "@solidjs/router" dependency-version: 1.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: npm-major - dependency-name: "@testing-library/jest-dom" dependency-version: 7.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-major - dependency-name: "@vitest/coverage-v8" dependency-version: 5.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-major - dependency-name: jsdom dependency-version: 30.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-major - dependency-name: maplibre-gl dependency-version: 6.8.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: npm-major - dependency-name: typescript dependency-version: 7.0.2 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-major - dependency-name: vitest dependency-version: 5.0.0 dependency-type: direct:development update-type: version-update:semver-major dependency-group: npm-major ... Signed-off-by: dependabot[bot] <support@github.com>
251afa0 to
b7bd717
Compare
|
Ratatoskr reviewed this pull request. Changes requested on Finished 2026-10-02 21:58 UTC. |
fank
left a comment
There was a problem hiding this comment.
Request changes: 3 blocking findings. npm ci fails, the production build breaks on maplibre-gl 6, and TypeScript 7 breaks ESLint.
Review details
I chose request changes because the PR can't be installed or built as it stands. The UI check job already fails at its first step. The same npm ci runs in the Dockerfile (line 4), so merging would also break the release image build on main.
I reproduced all of the following locally on head b7bd717b, using a scratch copy of ui/ and Node 24.
Blocking
1. npm ci fails: maplibre-gl@6 conflicts with the peer range of @maplibre/maplibre-gl-leaflet@0.1.3
The lockfile still pins @maplibre/maplibre-gl-leaflet to 0.1.3. That version's peer range is maplibre-gl@"^2.4.0 || ^3.3.1 || ^4.3.2 || ^5.0.0", so npm fails with ERESOLVE. This matches the failing CI run (job 110911653184).
0.1.4 is published, and its peer range adds ^6.0.0. The fix is to bump it in ui/package.json and regenerate the lockfile in the same PR.
2. The production build fails even when you force past the peer conflict
maplibre-gl 6 is ESM-only: its exports["."] has only types and import. @maplibre/maplibre-gl-leaflet@0.1.3 is a UMD bundle that does require('maplibre-gl'). The dynamic import in src/renderers/leaflet/leafletRenderer.ts:386 pulls in that UMD bundle, so npm run build fails with:
"." is not exported under the conditions ["solid", "module", "browser", "production", "require"] from package .../node_modules/maplibre-gl
Bumping to @maplibre/maplibre-gl-leaflet@^0.1.4 fixed the build in my scratch copy. That version ships an ESM entry (dist/leaflet-maplibre-gl.mjs) that imports maplibre-gl as ESM. It still assigns L.maplibreGL, which leafletRenderer.ts:387 relies on. I did not check the MapLibre basemap at runtime in a browser. maplibre-gl 6 is a major release, so someone should load a recording with a MapLibre style before merging.
3. TypeScript 7 breaks npx eslint src/
@typescript-eslint/parser and @typescript-eslint/eslint-plugin 8.x (latest is 8.71.0) declare typescript: ">=4.8.4 <6.1.0". That is a second peer conflict, which npm ci will report once item 1 is fixed. If you force past it, ESLint crashes at load time:
Error: typescript-eslint does not support TS 7.0.
npx tsc --noEmit passes with TS 7.0.2, so only the lint step is affected. typescript-eslint has no TS 7 support yet (typescript-eslint/typescript-eslint#10940). Keep typescript on ^6.0.3 for now, or follow the side-by-side TS 6/TS 7 setup that the TS 7 announcement describes. I'd also add a Dependabot ignore rule for typescript major versions so this group doesn't keep proposing it.
Needs a test fix
4. jsdom 30 breaks AboutModal.test.tsx > close button calls onClose
With the PR's dependencies, 1 of 1628 tests fails, every time:
TypeError: Cannot read properties of null (reading 'querySelector')
at src/pages/recording-playback/__tests__/AboutModal.test.tsx:67-68
To isolate the cause, I swapped only jsdom back to 29.1.1 in the PR tree, and the test passed. It also passes on main. The test uses modal.querySelector("[class*='header']"), but the element's class comes from ui.dialogHeader (AboutModal.tsx:47), which has a capital H. jsdom 30.1.0 fixed attribute selectors to be case-sensitive, as the spec requires, so the lowercase substring no longer matches.
The component is fine; the test only passed because of the old jsdom bug. A robust fix would be to query the close button by role or label, or to add a data-testid. Changing the selector to [class*='Header'] would also work but is still brittle.
Fine as far as I can tell
@solidjs/router0.16.2 → 1.0.0: the changelog calls this a version realignment, and nothing in the diff or test suite showed a problem.@testing-library/jest-dom7: its new required peer@testing-library/dom@10.4.1is already in the lockfile.- vitest and
@vitest/coverage-v85.0.2: apart from item 4, the suite and coverage ran normally (1627 of 1628 tests passed).
Checks run
| Command | Result |
|---|---|
npm ci |
ERESOLVE (matches CI) |
npm ci --legacy-peer-deps |
ok |
npx tsc --noEmit |
exit 0 |
npx eslint src/ |
exit 2, TS 7 unsupported |
npm run test:coverage |
1 failed / 1627 passed |
npm run build |
fails on maplibre-gl exports |
npm run build after @maplibre/maplibre-gl-leaflet@^0.1.4 |
builds |
AboutModal.test.tsx on main |
12/12 pass |
AboutModal.test.tsx on PR deps with jsdom@29.1.1 |
12/12 pass |
This PR had no earlier review threads to follow up on.
Since four of the seven bumps need code or config changes, it may be easier to split them: maplibre-gl + maplibre-gl-leaflet together, jsdom + the test fix together, and TypeScript held back until typescript-eslint supports it.
Bumps the npm-major group with 7 updates in the /ui directory:
0.16.21.0.05.24.06.11.26.9.17.0.14.1.105.0.229.1.130.1.16.0.37.0.24.1.105.0.2Updates
@solidjs/routerfrom 0.16.2 to 1.0.0Changelog
Sourced from @solidjs/router's changelog.
Commits
Updates
maplibre-glfrom 5.24.0 to 6.11.2Release notes
Sourced from maplibre-gl's releases.
... (truncated)
Changelog
Sourced from maplibre-gl's changelog.
... (truncated)
Commits
acb7b72Bump js version to 6.11.2 (#8555)d28f844fix: Map#once with layerId unsubscribes only after a real hit (#8499)99d0160Support multiple glyph variants (#8488)98268d3Fix globe cameraForBoxAndBearing throwing when padding exceeds the viewport (...f560a83Size the canvas to whole device pixels (#8513)7a897d0Remove hillshade gradient toward the poles (#8551)0dff33aFix camera settings being undone during camera movement (#8550)c2031bfGM2.8 Upload projection data once per tile instead of once per draw (#8545)728a44cFix zoom and drag above the horizon moving the map the wrong way (#8544)3dfdce0refactor: one method builds the mercator animation's end transform (#8546)Updates
@testing-library/jest-domfrom 6.9.1 to 7.0.1Release notes
Sourced from @testing-library/jest-dom's releases.
Commits
3782c78fix: declare vitest as an optional peer dependency (#733)1e39089feat: add toContainAnyBy* and toContainOneBy* query matcherscae44dffeat: add toContainAnyBy* and toContainOneBy* query matchers (#731)55c07ceci: switch release to npm trusted publishing (#726)213256fdocs: move toHaveSelection from the deprecated section (#717)Maintainer changes
This version was pushed to npm by GitHub Actions, a new releaser for
@testing-library/jest-domsince your current version.Updates
@vitest/coverage-v8from 4.1.10 to 5.0.2Release notes
Sourced from @vitest/coverage-v8's releases.
... (truncated)
Commits
428e2e5chore: release v5.0.2 (#11357)03630a5chore: release v5.0.1 (#11275)f441c6fchore: release v5.0.0 (#11130)c4473e4fix(coverage): prevent crash on/@fs/prepended virtual files (#11119)897f51fchore: release v5.0.0-rc.4 (#11107)7db80dcchore: release v5.0.0-rc.3 (#11089)5f6a5e8feat(coverage): switch to@vitest/istanbuljspackages (#11053)c6174a6fix(coverage): v8 to ignore Vite SSR's generated import bindings (#11023)af83d1bchore: release v5.0.0-rc.2 (#10976)a7fa111chore: release v5.0.0-rc.1 (#10920)Updates
jsdomfrom 29.1.1 to 30.1.1Release notes
Sourced from jsdom's releases.
... (truncated)
Commits
0a117f430.1.1103f67dRemove unnecessary window cleanup from API testscdda00aTest HTTP/2 document and subresource loading7ab92ceUpdate@asamuzakjp/dom-selectorto v9.2.1d940c20Share jsdom settings across descendant windows6ba40cbFix and simplify option propagation3b3be70Preserve CSS priorities across declaration updates97b2758Align focusing and unfocusing with HTMLb7b460bUpdate w3c-xmlserializer to v671d562fUpdate html-encoding-sniffer to v7Updates
typescriptfrom 6.0.3 to 7.0.2Release notes
Sourced from typescript's releases.
Commits
1e4744dMerge branch 'main' into ts7-releasea5a219cmicrosoft/typescript-go#4558ecfe30dUpdate status localization5de25b5Hide executable name in TypeScript statusd7ce74aShow bundled TypeScript version for packaged servers29be66aCorrect TS 7 release version to 7.0.2ed2bd1bMerge branch 'main' into ts7-release8873075Bump the github-actions group across 1 directory with 3 updates (microsoft/ty...9427131Set up stable / nightly extension split, other prep (microsoft/typescript-go#...d4eaca5microsoft/typescript-go#4549Maintainer changes
This version was pushed to npm by microsoft1es, a new releaser for typescript since your current version.
Updates
vitestfrom 4.1.10 to 5.0.2Release notes
Sourced from vitest's releases.