Skip to content

chore(deps): bump dependencies across monorepo#61

Merged
Michael0520 merged 1 commit intomainfrom
chore/bump-deps
Feb 1, 2026
Merged

chore(deps): bump dependencies across monorepo#61
Michael0520 merged 1 commit intomainfrom
chore/bump-deps

Conversation

@Michael0520
Copy link
Copy Markdown
Owner

@Michael0520 Michael0520 commented Feb 1, 2026

Summary

  • Bump 22 minor/patch dependencies (elysia, turbo, prettier, oxlint, motion, react-hook-form, etc.)
  • Bump 8 major dependencies: @tanstack/ai* 0.2→0.3, @hookform/resolvers 4→5, lucide-react 0.544→0.563, unplugin-icons 22→23, zod 3→4, vis-timeline 7→8, libphonenumber-metadata-generator 1→2, @paper-design/shaders-react 0.0.68→0.0.71
  • Adapt Groq provider to @tanstack/ai-openai v0.3 breaking change (openaiTextcreateOpenaiChat)
  • Add elysia as web devDependency to fix Eden Treaty type mismatch

Test plan

  • bun run type-check — passes
  • bun run lint — 0 errors
  • bun run build — all apps build successfully
  • cd apps/api && bun test — 64/64 tests pass

Summary by CodeRabbit

  • Chores
    • Updated dependencies and developer tooling across the repo for improved stability and tooling support.
  • Improvements
    • Updated AI/chat integration to a newer provider variant for better model compatibility and configuration.
  • Performance
    • Bumped several UI, form, and runtime libraries to latest minor/patch versions for reliability and small performance gains.

✏️ Tip: You can customize this high-level summary in your review settings.

@vercel
Copy link
Copy Markdown
Contributor

vercel bot commented Feb 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
milo-api Ready Ready Preview, Comment Feb 1, 2026 7:18pm
milo-web Ready Ready Preview, Comment Feb 1, 2026 7:18pm

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 1, 2026

📝 Walkthrough

Walkthrough

Dependency version bumps across multiple packages in the monorepo and a small API adapter change switching the groq provider integration from openaiText to createOpenaiChat.

Changes

Cohort / File(s) Summary
API package manifest
apps/api/package.json
Bumped 7 dependencies: @elysiajs/openapi, @tanstack/ai, @tanstack/ai-gemini, @tanstack/ai-openai, @upstash/redis, elysia, elysia-rate-limit.
API AI adapter
apps/api/src/infra/ai/adapter.ts
Replaced use of openaiText with createOpenaiChat in the groq provider branch; updated imports and call to pass model, GROQ_API_KEY, and baseURL.
Slides package manifest
apps/slides/package.json
Bumped unocss, vis-timeline (major), and playwright-chromium devDependency.
Web package manifest
apps/web/package.json
Multiple dependency upgrades including zod (^3 → ^4), @tanstack/ai-react, @hookform/resolvers, lucide-react, motion, react-hook-form, plus added elysia devDependency.
Root & other packages
package.json, packages/query/package.json, packages/ui/package.json
Updated root package manager to bun@1.3.8, bumped several devDependencies (eslint-plugin-oxlint, oxlint, prettier, turbo, typescript-eslint, unplugin-icons, vite), and small dependency bumps (@tanstack/react-query, lucide-react, motion, react-hook-form).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Poem

🐰 I nibble updates, one by one,
Versions hop towards the sun,
Chat code swaps a tiny part,
Packages bloom — a fresh new start,
Hooray! The repo’s having fun. 🌱

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title clearly and accurately summarizes the main change: a broad dependency update across the monorepo. The title is concise, specific enough for scanning history, and directly reflects the primary objective of the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/bump-deps

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Minor/patch: elysia, turbo, prettier, oxlint, typescript-eslint,
motion, react-hook-form, @tanstack/react-query, and others.

Major: @tanstack/ai* 0.2→0.3, @hookform/resolvers 4→5,
lucide-react 0.544→0.563, unplugin-icons 22→23, zod 3→4,
vis-timeline 7→8, libphonenumber-metadata-generator 1→2.

Adapt Groq provider to @tanstack/ai-openai v0.3 breaking change
(openaiText → createOpenaiChat for custom API keys). Add elysia
as web devDependency to fix Eden Treaty type mismatch.
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Fix all issues with AI agents
In `@apps/api/src/infra/ai/adapter.ts`:
- Around line 50-54: The call to createOpenaiChat in adapter.ts uses
process.env.GROQ_API_KEY! with a non-null assertion; validate GROQ_API_KEY
before calling createOpenaiChat (e.g., in the function or module that constructs
the client), and if it's missing either throw a clear error or handle a fallback
path. Locate the createOpenaiChat invocation (the "llama-3.3-70b-versatile" /
process.env.GROQ_API_KEY! call) and replace the direct non-null assertion with a
runtime check that ensures process.env.GROQ_API_KEY is defined, then pass the
validated key to createOpenaiChat or return/throw a descriptive error if absent.

Comment on lines +50 to +54
return createOpenaiChat(
"llama-3.3-70b-versatile" as "gpt-4o-mini",
process.env.GROQ_API_KEY!,
{ baseURL: "https://api.groq.com/openai/v1" }
);
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Validate environment variable before use to avoid runtime errors.

The non-null assertion (!) on process.env.GROQ_API_KEY will throw a runtime error if the environment variable is not set. Consider adding validation or a fallback.

🛡️ Proposed fix to add validation
     case "groq":
       // Groq uses OpenAI-compatible API with custom model name
+      if (!process.env.GROQ_API_KEY) {
+        throw new Error("GROQ_API_KEY environment variable is required for groq provider");
+      }
       return createOpenaiChat(
         "llama-3.3-70b-versatile" as "gpt-4o-mini",
-        process.env.GROQ_API_KEY!,
+        process.env.GROQ_API_KEY,
         { baseURL: "https://api.groq.com/openai/v1" }
       );
🤖 Prompt for AI Agents
In `@apps/api/src/infra/ai/adapter.ts` around lines 50 - 54, The call to
createOpenaiChat in adapter.ts uses process.env.GROQ_API_KEY! with a non-null
assertion; validate GROQ_API_KEY before calling createOpenaiChat (e.g., in the
function or module that constructs the client), and if it's missing either throw
a clear error or handle a fallback path. Locate the createOpenaiChat invocation
(the "llama-3.3-70b-versatile" / process.env.GROQ_API_KEY! call) and replace the
direct non-null assertion with a runtime check that ensures
process.env.GROQ_API_KEY is defined, then pass the validated key to
createOpenaiChat or return/throw a descriptive error if absent.

"unplugin-icons": "^22.5.0",
"vite": "^7.3.0",
"typescript-eslint": "^8.54.0",
"unplugin-icons": "^23.0.1",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

unplugin-icons v23.0.0 breaking changes changelog migration

💡 Result:

unplugin-icons v23.0.0 (released Jan 14, 2026): breaking changes + migration notes

Breaking changes

  1. Vue 2 support removed
  • Vue 2 compiler support and Vue 2 examples/docs were removed; Vue 2–specific peer deps (e.g. vue-template-compiler) were dropped. [2][3]
    Migration: If you’re on Vue 2, you must stay on v22.x (or earlier) or migrate your app to Vue 3 before upgrading to unplugin-icons@23. [2][3]
  1. Package is now ESM-only
  • CJS (require) entry points were removed from package.json exports, and the build output is ESM-only. [2][4]
    Migration:
  • Convert any consuming config/code that uses require() to ESM import.
  • If you must stay in CJS, switch to dynamic import (Node): const mod = await import('unplugin-icons/vite'). [2][4]

Official changelog / release notes

  • GitHub release notes for v23.0.0 (includes the “Breaking Changes” section). [2]

Sources:
[1] unplugin-icons repository README (context) (github.com)
[2] GitHub Release v23.0.0 notes (github.com)
[3] PR #430 “remove Vue 2 support” (github.com)
[4] Commit “move to ESM-only” (exports/build changes) (github.com)

Citations:


Confirm ESM compatibility and Vue 3 usage for unplugin-icons v23 upgrade.

unplugin-icons v23.0.0 introduces two breaking changes:

  • Vue 2 support removed; projects must use Vue 3
  • Package is now ESM-only; CommonJS requires dynamic import

While the build passes, explicitly verify the project uses Vue 3 and is configured for ESM (or uses dynamic imports if CJS is needed).

@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 0.16.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant