Repository navigation
Next - #3946
Next#3946
Conversation
Replace explicit external package versions with pnpm 'catalog:' specifiers across package.json files to centralize dependency resolution. Add a catalog mapping to pnpm-workspace.yaml and update pnpm-lock.yaml accordingly. Also add AGENTS.md (symlink to CLAUDE.md). Files touched: apps/extension, apps/web, root package.json, packages/shared, packages/trpc, packages/ui, pnpm-workspace.yaml, pnpm-lock.yaml, and AGENTS.md.
Switch workspace to pnpm catalog specifiers
Introduce AGENTS.md (new guidance doc copied from previous CLAUDE.md) and replace the original CLAUDE.md with a pointer/symlink to AGENTS.md to consolidate agent documentation. Also set failIfNoMatch: true in pnpm-workspace.yaml to make pnpm workspace resolution stricter and fail on unmatched patterns.
Rename and reorganize agent docs and E2E guidance: move the e2e-test-generation skill from .claude/ to .agents/ and update its content (selector priority tweaks, prefer shared test constants, clarify selector anti-patterns, update test run command to `pnpm e2e`, and replace checklist with commit rules). Move pull_request_template.md into .github/, add .vscode/settings.json (TS SDK path), and update AGENTS.md (rename, expand E2E setup to include web flows, adjust build task deps, and note specialized skills location). Remove the CLAUDE.md symlink and delete bypass-links.code-workspace. These changes reorganize agent-facing docs and clarify testing conventions.
F improve agents support
Adds an "update:shadcn" script to package.json that cd's into packages/ui and iterates over src/components/ui/*.tsx, running pnpx shadcn@latest to regenerate/update shadcn components from each file. Also adds the required comma after the prepare script entry.
Rework and normalize Tailwind/class-variance styles across multiple UI components for consistency and readability. Changes include reordering and grouping utility classes, adding/standardizing group/data-slot attributes, fixing cva invocations (e.g. badge/button variants), removing stray "use client" directives where unnecessary, and minor markup/formatting tweaks. Affected files include avatar, badge, button, button-group, combobox, context-menu, dialog, field, hover-card, input-group, input, label, progress, scroll-area, select, separator, slider, sonner, spinner, switch, textarea and tooltip. These edits are stylistic and alignment-focused to make styles easier to maintain and should not change component behavior.
Expose a viewportRef prop on the ScrollArea component so callers can obtain a ref to the ScrollAreaPrimitive.Viewport (added ScrollAreaProps type and forward ref usage). Also adjust renovate.json presets: add abandonments, security, schedule:monthly and :configMigration entries and remove the duplicate schedule entry to consolidate scheduling settings.
F shadcn update
|
Extension version is updated from |
|
Warning Gemini is experiencing higher than usual traffic and was unable to create the review. Please try again in a few hours by commenting |
📝 WalkthroughWalkthroughThis PR centralizes dependency versioning by switching many package.json entries to pnpm catalog specifiers and adding a strict catalog in pnpm-workspace.yaml. The extension package version is bumped to 24.4.0. Documentation and guidance files were updated/renamed (including AGENTS.md and a refocused SKILL.md). The VS Code workspace file was removed and a local TypeScript SDK setting added. A new npm script 🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
📝 Coding Plan
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 |
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
There was a problem hiding this comment.
♻️ Duplicate comments (1)
packages/ui/src/components/ui/scroll-area.tsx (1)
44-47:⚠️ Potential issue | 🟠 MajorScroll bar orientation selectors won't match the emitted
data-orientationattribute.Base UI's
ScrollAreaPrimitive.Scrollbaremitsdata-orientation="horizontal"ordata-orientation="vertical", but the selectorsdata-horizontal:anddata-vertical:expect attributes nameddata-horizontalanddata-vertical(which don't exist). The orientation-specific styles won't be applied.Use arbitrary data attribute selectors instead:
Proposed fix
- "flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent", + "flex touch-none p-px transition-colors select-none data-[orientation=horizontal]:h-2.5 data-[orientation=horizontal]:flex-col data-[orientation=horizontal]:border-t data-[orientation=horizontal]:border-t-transparent data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2.5 data-[orientation=vertical]:border-l data-[orientation=vertical]:border-l-transparent",🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@packages/ui/src/components/ui/scroll-area.tsx` around lines 44 - 47, The orientation-specific Tailwind selectors in the Scrollbar's className (used in the ScrollAreaPrimitive.Scrollbar wrapper) use non-existent attributes `data-horizontal:` and `data-vertical:`, so the styles never apply; replace those with arbitrary attribute selectors that match the emitted attribute, e.g. `[data-orientation="horizontal"]:...` and `[data-orientation="vertical"]:...` (update the className passed to the component where `cn(...)` is built to use those `[data-orientation="..."]` selectors instead of `data-horizontal:`/`data-vertical:`).
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@packages/ui/src/components/ui/scroll-area.tsx`:
- Around line 44-47: The orientation-specific Tailwind selectors in the
Scrollbar's className (used in the ScrollAreaPrimitive.Scrollbar wrapper) use
non-existent attributes `data-horizontal:` and `data-vertical:`, so the styles
never apply; replace those with arbitrary attribute selectors that match the
emitted attribute, e.g. `[data-orientation="horizontal"]:...` and
`[data-orientation="vertical"]:...` (update the className passed to the
component where `cn(...)` is built to use those `[data-orientation="..."]`
selectors instead of `data-horizontal:`/`data-vertical:`).
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 9c74dc8c-ab6a-4af0-9458-e9d5316844e7
📒 Files selected for processing (1)
packages/ui/src/components/ui/scroll-area.tsx
Check if the Pull Request fulfils these requirements
Greptile Summary
This PR centralizes all dependency versions into a pnpm workspace catalog (
pnpm-workspace.yaml), updates the UI component library with refreshed Tailwind class ordering, new functionality (button press animation, tooltip keyboard shortcut support, exportableScrollBarcomponent), and reorganizes repository tooling files (renamingCLAUDE.md→AGENTS.md, relocating theSKILL.mddirectory).Key changes:
package.jsonare now managed centrally viacatalog:references withcatalogMode: strict, making future dependency updates a single-file changeshadcnregeneration); several components receive functional additions (e.g.active:translate-y-pxon buttons, kbd slot styling in tooltips)"use client"cleanup: Several components had the directive removed (safe where primitives handle the client boundary internally), butsonner.tsxstill callsuseTheme()— a React hook — without"use client", which will cause a runtime error in Next.js App Router server contextScrollArearefactor:ScrollBaris now a separately exported component, andviewportRefhandling is simplified by removing theuseImperativeHandleindirectionConfidence Score: 3/5
Comments Outside Diff (2)
packages/ui/src/components/ui/sonner.tsx, line 1-7 (link)"use client"directive with React hook usage"use client"was removed, but theToastercomponent directly callsuseTheme()on line 7. In Next.js App Router, any component that uses React hooks must be a Client Component. Without this directive, if<Toaster />is rendered in a Server Component (e.g., in a root layout that lacks its own"use client"boundary), Next.js will throw a runtime error:Since
useThemeis context-based, the component must remain a Client Component. The"use client"directive should be restored:Prompt To Fix With AI
packages/ui/src/components/ui/sonner.tsx, line 7 (link)"use client"directive withuseThemehook"use client"was removed from this file, butuseTheme(a React hook fromnext-themes) is still called on this line. React hooks are only valid in Client Components. IfToasteris imported in a Next.js App Router Server Component context, it will throw a runtime error.The
"use client"directive should be restored at the top of the file:Add
"use client"back above this import:Prompt To Fix With AI
Prompt To Fix All With AI
Last reviewed commit: "Update packages/ui/s..."