chore: update dev and CI dependencies to latest#23
Open
bnimit wants to merge 2 commits into
Open
Conversation
Bumps all devDependencies and CI tooling to their latest versions and adjusts configs for the resulting breaking changes. Majors: vite 7->8, @vitejs/plugin-react 5->6, eslint 9->10, eslint-config-reearth 0.3.8->0.4.0, typescript 5.9->6, jsdom 27->29, vite-plugin-dts 4->5, vite-plugin-svgr 4->5, vite-plugin-css-injected-by-js 3->5. Minors/patches: vitest, prettier, postcss, react/react-dom, @types/react. Resolutions: @babel/runtime, js-yaml. Example app brought up from vite 3 / ts 4.8 / plugin-react 2. CI: actions/checkout v6.0.2 -> v6.0.3 (SHA-pinned). Config changes required by the upgrades: - Rename vite.config.ts -> vite.config.mts so Vite 8 loads the config as ESM (vite-plugin-css-injected-by-js@5 is ESM-only). - vite-plugin-dts@5 renamed `rollupTypes` -> `bundleTypes`; add @microsoft/api-extractor (now a required peer for type bundling). - moduleResolution "node" -> "bundler" (TS 6 deprecates node10). - example: esModuleInterop false -> true (TS 6 deprecates setting false). Bugs surfaced and fixed: - Add a `types` condition to the package `exports` map so modern consumers (bundler/node16 resolution) can resolve the library's types. - Add example/src/vite-env.d.ts for vite/client ambient types. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
eslint-config-reearth@0.4.0 requires Node >=22.13.0, which broke the Node 20 CI job at install. Node 20 reached EOL on 2026-04-30, so drop it rather than pin the config back: - CI matrix 20.x/22.x -> 22.x/24.x - release.yml setup-node 20 -> 22 (it also runs `yarn install`) - engines.node ">=20" -> ">=22.13.0" Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Summary
Updates all dev/CI tooling to its latest versions and adjusts configs for the breaking changes. The library and example app both build, type-check, lint, and test clean.
Packages
Majors:
vite7→8.0.16 ·@vitejs/plugin-react5→6.0.2 ·eslint9→10.5.0 ·eslint-config-reearth0.3.8→0.4.0 ·typescript5.9→6.0.3 ·jsdom27→29.1.1 ·vite-plugin-dts4→5.0.2 ·vite-plugin-svgr4→5.2.0 ·vite-plugin-css-injected-by-js3→5.0.1Minors/patches:
vitest→4.1.9 ·prettier→3.8.4 ·postcss→8.5.15 ·react/react-dom→19.2.7 ·@types/react→19.2.17Resolutions:
@babel/runtime→7.29.7 ·js-yaml→4.2.0Added:
@microsoft/api-extractor7.58.9 (required peer for.d.tsbundling)Example app: brought up from
vite3 /typescript4.8 /@vitejs/plugin-react2CI:
actions/checkoutv6.0.2 → v6.0.3 (SHA-pinned, all 3 workflows)Config changes required by the upgrades
vite.config.ts→vite.config.mtsvite-plugin-css-injected-by-js@5is ESM-only; Vite 8 loaded the CJS-default config viarequireand failed..mtsforces ESM loading without making the package"type":"module"(which would break the UMDrequireoutput).rollupTypes: true→bundleTypes: truevite-plugin-dts@5(nowunplugin-dts) renamed the option; the old name was silently ignored, splitting types instead of bundling into oneindex.d.ts.moduleResolution: "node"→"bundler"(both tsconfigs)node10resolution.esModuleInterop: false→truefalse.Bugs surfaced & fixed
exportsmap had notypescondition — modern consumers (moduleResolution: bundler/node16) couldn't resolve the library's types. Added"types"as the first export condition. (Masked before because the example used legacynoderesolution.)src/vite-env.d.ts— added the standardvite/clientreference so CSS side-effect imports type-check.Verification
install --frozen-lockfilelinttype(tsc)testbuild.mjs+.umd.js+ bundledindex.d.ts)🤖 Generated with Claude Code