Repository navigation
chore(deps): let Renovate update the playground and group coupled majors - #379
Conversation
The playground took react, react-dom and convex from file:../node_modules, which does not exist when Renovate regenerates playground/package-lock.json, so every bump touching a React peer failed with ERESOLVE. They are now ordinary versions, and vite dedupes them so the linked @convex-dev/agent shares one React and one Convex client. Renovate groups vite with the @vitejs plugins for majors, since each plugin major peers on one vite major, and holds typescript below 6.1.0, typescript-eslint's peer range. tsconfig lists node types and drops baseUrl so TypeScript 6 builds. CI now builds the playground, so its dependency bumps are actually exercised.
commit: |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: get-convex/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review. 📝 WalkthroughWalkthroughThe playground adds pinned React, React DOM, and Convex dependencies, and Vite deduplicates those packages during resolution. TypeScript configurations remove Suggested reviewers: Merge Risk: ⚪ Minimal · up to No actionable issue remains in the supplied evidence; the playground build and dependency updates are ready for normal merge checks. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Unblocks the open Renovate PRs whose lockfile updates fail.
Playground lockfile. The playground took
react,react-domandconvexfromfile:../node_modules/.... Renovate regeneratesplayground/package-lock.jsonwithout installing the root, so those resolve to nothing and any bump of a package with a React peer fails withERESOLVE ... Found: react@undefined(#338, #242).reactandreact-domwere already independencies, so the duplicates are gone andconvexis a plain version.resolve.dedupein the playground's vite config keeps one React and one Convex client across the linked@convex-dev/agent; without it the build bundles a second copy of each.Reproduced by running
npm install --package-lock-onlyinplayground/with no rootnode_modules: on main, bumpinglucide-reactto v1 fails with the same ERESOLVE Renovate reports. On this branch,lucide-react@^1,sonner@^2,tailwind-merge@^3,vite@^8and the latest@radix-ui/react-accordionall resolve.Coupled majors.
@vitejs/plugin-react6 peers only on vite 8, and plugin-react 4 does not allow vite 8, so #351 and #249 each fail to install alone. vite and@vitejs/*majors are now one group.TypeScript. typescript-eslint, even at its latest, peers on
typescript <6.1.0, so #350 (TypeScript 7) cannot pass lint. Renovate now holdstypescriptbelow 6.1.0. TypeScript 6 stops auto-including@types/*and deprecatesbaseUrl, sotsconfig.jsonlistsnodetypes and the example and playground configs dropbaseUrl. Build, typecheck, tests and lint pass on both 5.9.3 and 6.0.3.CI. The test workflow now installs and builds the playground. Until now playground bumps (tailwind, vite, lucide) passed CI without the playground ever being built.