Conversation
|
Warning Review limit reached
Next review available in: 4 minutes Limit details: You’ve used all 4 included reviews currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThe PR updates framework package dependency metadata, adds runtime dependency contract tests, and revises build-plugin installation guidance for optional bundler tooling and ChangesDependency contracts
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 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 |
📦 Bundle Size✅ No notable changes All bundles (14)
📦 Runtime Dependencies🟢 9 packages smaller · net -6.3 MB
All packages (10)
Skipped optional dependencies (18)
Production dependencies only. Peer dependencies and Unhead workspace packages are excluded. Skipped optional dependencies are unavailable on the CI platform. ⚡ Performance (directional)✅ No significant change (within CI noise) All benchmarks (25)
Baseline: main @ 7206ece · 2026-08-21 · gzipped is the headline size metric · perf is directional (shared-runner, gated) |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
test/runtime-dependencies.test.ts (1)
5-10: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick winAlso guard against
optionalDependencies.The test checks only
dependencies; a build package moved intooptionalDependencieswould still enter consumers’ install graph while passing this contract. AddoptionalDependenciestoPackageJsonand assert it is empty for these runtime packages.Proposed test adjustment
interface PackageJson { dependencies?: Record<string, string> devDependencies?: Record<string, string> name: string + optionalDependencies?: Record<string, string> peerDependencies?: Record<string, string> peerDependenciesMeta?: Record<string, { optional?: boolean }> } expect(Object.keys(packageJson.dependencies || {}).sort()).toEqual(contract.runtimeDependencies) + expect(Object.keys(packageJson.optionalDependencies || {})).toEqual([])Also applies to: 47-54
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@test/runtime-dependencies.test.ts` around lines 5 - 10, Extend the PackageJson interface with optionalDependencies and update the runtime-package dependency assertions in the affected test cases to require both dependencies and optionalDependencies to be empty. Preserve the existing checks for other dependency categories and apply the same guard consistently to all referenced runtime packages.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/head/1.guides/build-plugins/0.overview.md`:
- Line 25: Update the guidance in the overview so the Vite configuration
instructions explicitly apply only to /vite or /bundler users. Tell runtime-only
projects to skip the remaining plugin setup instructions, while preserving the
existing plugin guidance for applicable projects.
---
Nitpick comments:
In `@test/runtime-dependencies.test.ts`:
- Around line 5-10: Extend the PackageJson interface with optionalDependencies
and update the runtime-package dependency assertions in the affected test cases
to require both dependencies and optionalDependencies to be empty. Preserve the
existing checks for other dependency categories and apply the same guard
consistently to all referenced runtime packages.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: 3a619d60-092a-45c8-8c24-a48df04fda4f
⛔ Files ignored due to path filters (1)
pnpm-lock.yamlis excluded by!**/pnpm-lock.yaml
📒 Files selected for processing (8)
docs/head/1.guides/build-plugins/0.overview.mdpackages/react/package.jsonpackages/solid-js/package.jsonpackages/svelte/package.jsonpackages/unhead/README.mdpackages/unhead/package.jsonpackages/vue/package.jsontest/runtime-dependencies.test.ts
🤖 Harlan Agent Kit automated reviewThis was generated and posted by a robot, not Harlan's personal review. PASS · 90/100 confidence
Human merge decision still required. |
# Conflicts: # pnpm-lock.yaml
🔗 Linked issue
Follow-up to #911.
❓ Type of change
📚 Description
Moves build-only tooling out of framework runtime dependency closures and into optional peers. Runtime-only consumers keep a minimal install, while users of bundler and stream integrations must install the documented build packages.
Build plugin and stream unplugin entry points no longer install their toolchain dependencies automatically.
📝 Migration
Install the build packages listed for the entry point used by the application.