Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): bump RA versions #4611

Open
wants to merge 6 commits into
base: canary
Choose a base branch
from
Open

Conversation

wingkwong
Copy link
Member

@wingkwong wingkwong commented Jan 20, 2025

Closes #4598

📝 Description

bump upstream RA versions to avoid issues due to incompatibilities

ref: https://react-spectrum.adobe.com/releases/2025-01-15.html

⛳️ Current behavior (updates)

🚀 New behavior

💣 Is this a breaking change (Yes/No):

📝 Additional Information

Summary by CodeRabbit

  • Dependency Updates

    • Comprehensive version updates across multiple @heroui packages
    • Minor version increments for @react-aria, @react-stately, and @react-types dependencies
    • Updates span components, hooks, and utility packages
  • Scope of Changes

    • Routine maintenance and dependency compatibility improvements
    • No significant functional changes reported
    • Likely includes bug fixes and minor enhancements
  • Key Observations

    • Most packages received small version bumps
    • Focus on keeping ecosystem libraries synchronized
    • No breaking changes detected in the updates

Copy link

changeset-bot bot commented Jan 20, 2025

🦋 Changeset detected

Latest commit: 7cbe851

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 54 packages
Name Type
@heroui/use-intersection-observer Patch
@heroui/use-aria-accordion-item Patch
@heroui/use-aria-modal-overlay Patch
@heroui/use-aria-multiselect Patch
@heroui/use-aria-accordion Patch
@heroui/autocomplete Patch
@heroui/breadcrumbs Patch
@heroui/date-picker Patch
@heroui/date-input Patch
@heroui/pagination Patch
@heroui/use-aria-button Patch
@heroui/accordion Patch
@heroui/input-otp Patch
@heroui/use-disclosure Patch
@heroui/use-pagination Patch
@heroui/aria-utils Patch
@heroui/calendar Patch
@heroui/checkbox Patch
@heroui/dropdown Patch
@heroui/progress Patch
@heroui/use-aria-link Patch
@heroui/use-draggable Patch
@heroui/divider Patch
@heroui/listbox Patch
@heroui/popover Patch
@heroui/snippet Patch
@heroui/tooltip Patch
@heroui/avatar Patch
@heroui/button Patch
@heroui/navbar Patch
@heroui/select Patch
@heroui/slider Patch
@heroui/switch Patch
@heroui/alert Patch
@heroui/input Patch
@heroui/modal Patch
@heroui/radio Patch
@heroui/table Patch
@heroui/card Patch
@heroui/chip Patch
@heroui/form Patch
@heroui/link Patch
@heroui/menu Patch
@heroui/tabs Patch
@heroui/user Patch
@heroui/system-rsc Patch
@heroui/kbd Patch
@heroui/system Patch
@heroui/react Patch
@heroui/drawer Patch
@heroui/code Patch
@heroui/spacer Patch
@heroui/spinner Patch
@heroui/framer-utils Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link

vercel bot commented Jan 20, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
heroui ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 20, 2025 1:24pm
heroui-sb ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 20, 2025 1:24pm

@wingkwong wingkwong added this to the v2.6.15 milestone Jan 20, 2025
Copy link
Contributor

coderabbitai bot commented Jan 20, 2025

Walkthrough

This pull request involves a comprehensive update of dependency versions across multiple packages in the @heroui library. The changes primarily focus on incrementing minor versions of various @react-aria, @react-stately, and @react-types dependencies. These updates span across components, hooks, and utility packages, suggesting a systematic maintenance effort to ensure compatibility and incorporate recent improvements.

Changes

File/Path Change Summary
.changeset/tame-donuts-relate.md Added patch entries for multiple @heroui components and utilities
packages/components/**/package.json Updated dependency versions for various React Aria and React Types packages across multiple components
packages/core/react/package.json Updated @react-aria/visually-hidden version
packages/core/system-rsc/package.json Updated @react-types/shared version
packages/core/system/package.json Updated versions for several React Aria and React Types dependencies
packages/hooks/**/package.json Updated dependency versions for various hooks packages
packages/utilities/aria-utils/package.json Updated dependency versions

Possibly related PRs

  • chore: update brand name #4600: The changes in this PR involve updating the brand name, which may relate to the overall project branding but do not directly connect to the specific updates made to the @heroui library components and utilities in the main PR.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@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: 1

🧹 Nitpick comments (2)
packages/hooks/use-aria-modal-overlay/package.json (1)

Line range hint 37-48: Overall update strategy looks solid.

The coordinated update of React Aria dependencies across multiple packages follows a consistent pattern:

  • Minor version bumps (e.g., @react-aria/utils from 3.26.0 to 3.27.0)
  • Patch updates for specific fixes
  • Maintained compatibility between interdependent packages

This systematic approach to dependency management helps prevent potential compatibility issues.

Consider adding a package.json at the workspace root to enforce consistent versions across all packages using something like syncpack to maintain version alignment.

packages/components/avatar/package.json (1)

46-48: LGTM! Core utility updates are consistent across packages.

The dependency updates maintain version consistency with other packages in the workspace.

The systematic approach to updating RA dependencies across all packages helps maintain compatibility and prevents version conflicts. This is a good practice for managing dependencies in a monorepo structure.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 66efa0a and f55b73f.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (50)
  • .changeset/tame-donuts-relate.md (1 hunks)
  • packages/components/accordion/package.json (1 hunks)
  • packages/components/alert/package.json (1 hunks)
  • packages/components/autocomplete/package.json (2 hunks)
  • packages/components/avatar/package.json (1 hunks)
  • packages/components/breadcrumbs/package.json (1 hunks)
  • packages/components/button/package.json (1 hunks)
  • packages/components/calendar/package.json (1 hunks)
  • packages/components/card/package.json (1 hunks)
  • packages/components/checkbox/package.json (1 hunks)
  • packages/components/chip/package.json (1 hunks)
  • packages/components/date-input/package.json (1 hunks)
  • packages/components/date-picker/package.json (1 hunks)
  • packages/components/divider/package.json (1 hunks)
  • packages/components/dropdown/package.json (1 hunks)
  • packages/components/form/package.json (1 hunks)
  • packages/components/input-otp/package.json (1 hunks)
  • packages/components/input/package.json (1 hunks)
  • packages/components/kbd/package.json (1 hunks)
  • packages/components/link/package.json (1 hunks)
  • packages/components/listbox/package.json (1 hunks)
  • packages/components/menu/package.json (1 hunks)
  • packages/components/modal/package.json (1 hunks)
  • packages/components/navbar/package.json (1 hunks)
  • packages/components/pagination/package.json (1 hunks)
  • packages/components/popover/package.json (1 hunks)
  • packages/components/progress/package.json (1 hunks)
  • packages/components/radio/package.json (1 hunks)
  • packages/components/select/package.json (2 hunks)
  • packages/components/slider/package.json (1 hunks)
  • packages/components/snippet/package.json (1 hunks)
  • packages/components/switch/package.json (1 hunks)
  • packages/components/table/package.json (2 hunks)
  • packages/components/tabs/package.json (1 hunks)
  • packages/components/tooltip/package.json (1 hunks)
  • packages/components/user/package.json (1 hunks)
  • packages/core/react/package.json (1 hunks)
  • packages/core/system-rsc/package.json (1 hunks)
  • packages/core/system/package.json (1 hunks)
  • packages/hooks/use-aria-accordion-item/package.json (1 hunks)
  • packages/hooks/use-aria-accordion/package.json (1 hunks)
  • packages/hooks/use-aria-button/package.json (1 hunks)
  • packages/hooks/use-aria-link/package.json (1 hunks)
  • packages/hooks/use-aria-modal-overlay/package.json (1 hunks)
  • packages/hooks/use-aria-multiselect/package.json (1 hunks)
  • packages/hooks/use-disclosure/package.json (1 hunks)
  • packages/hooks/use-draggable/package.json (1 hunks)
  • packages/hooks/use-intersection-observer/package.json (1 hunks)
  • packages/hooks/use-pagination/package.json (1 hunks)
  • packages/utilities/aria-utils/package.json (1 hunks)
✅ Files skipped from review due to trivial changes (6)
  • packages/hooks/use-pagination/package.json
  • packages/components/snippet/package.json
  • packages/components/breadcrumbs/package.json
  • packages/hooks/use-aria-link/package.json
  • packages/components/input-otp/package.json
  • .changeset/tame-donuts-relate.md
🔇 Additional comments (45)
packages/hooks/use-disclosure/package.json (1)

41-41: Verify the @react-aria/utils version update.

The minor version bump from 3.26.0 to 3.27.0 needs verification against the React Spectrum release notes.

✅ Verification successful

Version update to @react-aria/[email protected] is correct

The version is consistent with most packages in the codebase. However, @heroui/docs is using an older version (3.26.0) and should be updated for consistency.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if other packages are using different versions of @react-aria/utils
echo "Checking for version inconsistencies..."
rg -l '"@react-aria/utils"' | xargs cat | grep "@react-aria/utils"

# Check for potential breaking changes in the dependency chain
echo "Checking dependency chain..."
fd package.json | xargs cat | jq -r 'select(.dependencies."@react-aria/utils" != null) | .name + " -> @react-aria/utils@" + .dependencies."@react-aria/utils"'

Length of output: 8023

packages/hooks/use-aria-accordion-item/package.json (1)

37-40: Verify compatibility between updated React Aria dependencies.

Multiple React Aria dependencies have been updated. Need to verify compatibility between:

  • @react-aria/button (3.11.1)
  • @react-aria/focus (3.19.1)
  • @react-stately/tree (3.8.7)
  • @react-types/shared (3.27.0)
✅ Verification successful

Dependencies are compatible

The updated React Aria dependencies form a compatible set with consistent versioning across the codebase. All version bumps are patch or minor updates that maintain backward compatibility.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for version inconsistencies across all React Aria dependencies
echo "Checking React Aria dependency versions..."
rg -l '@react-aria/|@react-stately/|@react-types/' | xargs cat | grep -E '@react-aria/|@react-stately/|@react-types/'

# Check for any peer dependency requirements
echo "Checking peer dependencies..."
fd package.json | xargs cat | jq -r 'select(.peerDependencies != null) | select((.peerDependencies | keys[] | contains("@react-aria/")) or (.peerDependencies | keys[] | contains("@react-stately/")) or (.peerDependencies | keys[] | contains("@react-types/"))) | .name + " -> " + (.peerDependencies | to_entries | map("\(.key)@\(.value)") | join(", "))'

Length of output: 66312

packages/components/divider/package.json (1)

45-45: Verify the @react-types/shared version update.

The minor version bump from 3.26.0 to 3.27.0 needs verification for consistency across all components.

✅ Verification successful

Version update is consistent with other components

All components in the packages/components/ directory are using @react-types/[email protected], confirming this is the intended version.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if other packages are using different versions of @react-types/shared
echo "Checking for version inconsistencies..."
rg -l '"@react-types/shared"' | xargs cat | grep "@react-types/shared"

# Check components directory specifically
echo "Checking components directory..."
fd package.json -p "packages/components/" | xargs cat | jq -r 'select(.dependencies."@react-types/shared" != null) | .name + " -> @react-types/shared@" + .dependencies."@react-types/shared"'

Length of output: 7433

packages/components/kbd/package.json (1)

45-45: Verify the @react-aria/utils version update.

The minor version bump from 3.26.0 to 3.27.0 needs verification for consistency across all components.

✅ Verification successful

Version update to @react-aria/[email protected] is correct

The version bump in kbd/package.json aligns with all other component packages which are consistently using version 3.27.0. Note: The docs app is using an older version and should be updated separately.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if other packages are using different versions of @react-aria/utils
echo "Checking for version inconsistencies..."
rg -l '"@react-aria/utils"' | xargs cat | grep "@react-aria/utils"

# Check components directory specifically
echo "Checking components directory..."
fd package.json -p "packages/components/" | xargs cat | jq -r 'select(.dependencies."@react-aria/utils" != null) | .name + " -> @react-aria/utils@" + .dependencies."@react-aria/utils"'

Length of output: 7538


Script:

#!/bin/bash
# Find the exact location of version 3.26.0
rg -l '"@react-aria/utils": "3.26.0"' --type json

Length of output: 74

packages/hooks/use-intersection-observer/package.json (1)

37-37: Verify compatibility between updated React Aria dependencies.

The minor version updates should be verified against React Spectrum's release notes to ensure there are no compatibility issues between:

Also applies to: 39-40

✅ Verification successful

Dependencies are compatible with each other

The updated React Aria dependencies are part of the same release cycle and no compatibility issues are reported in the React Spectrum release notes.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any compatibility warnings or breaking changes in the updated versions

# Fetch the latest release notes for the updated packages
gh api graphql -f query='
{
  repository(owner: "adobe", name: "react-spectrum") {
    releases(first: 5, orderBy: {field: CREATED_AT, direction: DESC}) {
      nodes {
        name
        description
        tagName
        createdAt
      }
    }
  }
}'

Length of output: 9577

packages/core/system-rsc/package.json (1)

49-49: LGTM! Version update is consistent with other packages.

The update to @react-types/[email protected] maintains version consistency across the codebase.

packages/components/user/package.json (1)

46-47: Verify the importance of the focus patch update.

The update includes both a patch (@react-aria/focus) and a minor version (@react-aria/utils) update. Let's verify if the patch update addresses any critical issues.

packages/utilities/aria-utils/package.json (1)

44-48: Verify interdependencies between updated React Aria packages.

This package has the most comprehensive update of React Aria dependencies. Let's verify there are no conflicts between:

✅ Verification successful

Dependencies are properly aligned and compatible

The updated React Aria packages are used consistently across the codebase with no version conflicts or compatibility issues. The comprehensive dependency analysis shows that these versions are properly aligned in all consuming components.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any dependency conflicts or warnings

# Check package.json files in react-spectrum repo for these specific versions
ast-grep --pattern 'version": "$_"' | rg -A 1 '3\.(27\.0|12\.1|6\.13|8\.12)'

Length of output: 78


Script:

#!/bin/bash
# Check peer dependencies and version requirements
echo "=== Checking package dependencies ==="
rg -A 5 -B 5 '"@react-(aria|stately|types)/(utils|collections|overlays|shared)"' --type json

echo -e "\n=== Checking imports ==="
# Check how these packages are imported/used
rg -l '@react-(aria|stately|types)/(utils|collections|overlays|shared)'

Length of output: 57863

packages/hooks/use-aria-modal-overlay/package.json (1)

37-40: Verify coordination between overlay-related package updates.

The updates include multiple overlay-related packages. Let's verify the coordination between:

✅ Verification successful

Version coordination between overlay packages is properly maintained

The version updates are correctly coordinated across the codebase, with consistent usage of @react-aria/[email protected] and @react-stately/[email protected] in all dependent packages including modal, popover, and tooltip components.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any coordination issues between overlay packages

# Fetch changelogs for overlay-related packages
gh api graphql -f query='
{
  repository(owner: "adobe", name: "react-spectrum") {
    overlaysAria: object(expression: "main:packages/@react-aria/overlays/CHANGELOG.md") {
      ... on Blob {
        text
      }
    }
    overlaysStately: object(expression: "main:packages/@react-stately/overlays/CHANGELOG.md") {
      ... on Blob {
        text
      }
    }
  }
}'

Length of output: 440


Script:

#!/bin/bash
# Search for files importing both overlay packages
echo "=== Files importing both packages ==="
rg -l "@react-aria/overlays.*@react-stately/overlays|@react-stately/overlays.*@react-aria/overlays" --type ts --type tsx

echo -e "\n=== Usage patterns of both packages ==="
rg "@react-(aria|stately)/overlays" -A 2 --type ts --type tsx

echo -e "\n=== Package dependencies ==="
fd "package.json" -x grep -l "react-.*overlays"

Length of output: 944


Script:

#!/bin/bash
# Check version patterns across dependent packages
echo "=== Modal overlay package versions ==="
cat packages/hooks/use-aria-modal-overlay/package.json

echo -e "\n=== Other dependent package versions ==="
for pkg in packages/components/modal/package.json packages/components/popover/package.json packages/components/tooltip/package.json
do
  echo -e "\n--- $pkg ---"
  cat $pkg | grep -A 5 -B 5 "react-.*overlays"
done

Length of output: 4316

packages/hooks/use-aria-accordion/package.json (1)

37-43: LGTM! Version updates follow semantic versioning.

The dependency updates are consistent and follow semantic versioning principles, suggesting these are backward-compatible changes.

Let's verify version compatibility across the workspace:

✅ Verification successful

Version updates are consistent with workspace dependencies

The updated versions in use-aria-accordion align with the majority of packages in the workspace. While the docs app uses slightly older versions, this doesn't impact the library's functionality as all version differences are minor/patch updates following semver.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for version mismatches of @react-aria/* and @react-types/* dependencies across all package.json files

# Find all package.json files and extract dependency versions
echo "Checking version consistency across workspace packages..."
find . -name "package.json" -type f -exec sh -c '
  echo "\nFile: {}"
  jq -r ".dependencies | to_entries | .[] | select(.key | startswith(\"@react-\")) | \"\(.key): \(.value)\"" {}
' \;

Length of output: 13909

packages/hooks/use-aria-button/package.json (1)

41-45: LGTM! Dependency versions are consistent with other packages.

The updates maintain version consistency with other packages in the workspace.

packages/components/form/package.json (1)

47-50: LGTM! Form-specific dependencies are properly aligned.

The updates include form-specific dependencies (@react-stately/form, @react-types/form) while maintaining consistency with core RA utilities.

Let's verify the form-specific dependencies across the workspace:

✅ Verification successful

Form-specific dependencies are properly aligned across the workspace

All packages using @react-stately/form share the same version (3.1.1), and @react-types/form is correctly scoped to the form component package.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for form-related dependency versions

echo "Checking form-related dependency versions..."
find . -name "package.json" -type f -exec sh -c '
  echo "\nFile: {}"
  jq -r ".dependencies | with_entries(select(.key | test(\"@react-(stately|types)/form\"))) | to_entries[] | \"\(.key): \(.value)\"" {}
' \;

Length of output: 6226

packages/components/chip/package.json (1)

46-49: LGTM! Dependencies are properly aligned with component requirements.

The updates maintain consistency with core RA utilities while adding necessary checkbox types for chip functionality.

packages/components/alert/package.json (1)

51-51: Verify React Aria Utils version compatibility.

Let's confirm the version exists and check for any breaking changes.

✅ Verification successful

✓ Version update is correct and maintains consistency

The update to @react-aria/utils 3.27.0 aligns with the version used across all other component packages in the codebase.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if the specified version exists in npm registry
curl -s https://registry.npmjs.org/@react-aria/utils | jq '.versions | has("3.27.0")'

# Check the changelog for breaking changes
curl -s "https://raw.githubusercontent.com/adobe/react-spectrum/main/packages/@react-aria/utils/CHANGELOG.md" | grep -A 5 "3.27.0"

Length of output: 221


Script:

#!/bin/bash
# Find all package.json files and check for @react-aria/utils dependency
fd package.json --type f --exec grep -l "@react-aria/utils" {} \; | while read -r file; do
    echo "=== $file ==="
    grep "@react-aria/utils" "$file" -A 1 -B 1
done

# Try to fetch changelog from npm instead
curl -s https://registry.npmjs.org/@react-aria/utils/3.27.0 | jq -r '.description, .time'

Length of output: 13965

packages/core/system/package.json (1)

59-64: Verify version compatibility between React Aria packages.

Let's confirm these versions are compatible with each other and check for any breaking changes.

✅ Verification successful

✓ React Aria package versions are compatible

All specified versions are published and have compatible peer dependencies. The minor version updates don't introduce breaking changes.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if all specified versions exist in npm registry
echo "Checking @react-aria/[email protected]..."
curl -s https://registry.npmjs.org/@react-aria/i18n | jq '.versions | has("3.12.5")'

echo "Checking @react-aria/[email protected]..."
curl -s https://registry.npmjs.org/@react-aria/overlays | jq '.versions | has("3.25.0")'

echo "Checking @react-types/[email protected]..."
curl -s https://registry.npmjs.org/@react-types/datepicker | jq '.versions | has("3.10.0")'

# Check for any peer dependency conflicts
for pkg in @react-aria/[email protected] @react-aria/[email protected] @react-aria/[email protected] @react-types/[email protected]; do
  echo "Checking peer dependencies for $pkg..."
  npm info $pkg peerDependencies --json
done

Length of output: 2286

packages/components/progress/package.json (1)

46-49: Verify Progress component specific package versions.

Let's confirm the progress-specific package versions exist and are compatible.

✅ Verification successful

Progress component package versions are compatible and correct.

The specified versions exist in the npm registry and maintain proper dependency relationships. @react-aria/[email protected] correctly depends on @react-types/[email protected].

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if progress-specific versions exist
echo "Checking @react-aria/[email protected]..."
curl -s https://registry.npmjs.org/@react-aria/progress | jq '.versions | has("3.4.19")'

echo "Checking @react-types/[email protected]..."
curl -s https://registry.npmjs.org/@react-types/progress | jq '.versions | has("3.5.9")'

# Check for any breaking changes in progress packages
curl -s "https://raw.githubusercontent.com/adobe/react-spectrum/main/packages/@react-aria/progress/CHANGELOG.md" | grep -A 5 "3.4.19"
curl -s "https://raw.githubusercontent.com/adobe/react-spectrum/main/packages/@react-types/progress/CHANGELOG.md" | grep -A 5 "3.5.9"

Length of output: 633


Script:

#!/bin/bash
# Check @react-aria/progress package.json for its dependency on @react-types/progress
echo "Checking @react-aria/progress dependencies..."
curl -s https://registry.npmjs.org/@react-aria/progress/3.4.19 | jq -r '.dependencies["@react-types/progress"]'

# Try to get changelog information using npm view
echo -e "\nChecking recent changes for @react-aria/progress..."
npm view @react-aria/[email protected] time --json | jq -r '.'

echo -e "\nChecking recent changes for @react-types/progress..."
npm view @react-types/[email protected] time --json | jq -r '.'

Length of output: 67357

packages/components/link/package.json (1)

47-50: Verify Link component specific package versions.

Let's confirm the link-specific package versions exist and are compatible.

✅ Verification successful

Dependencies are compatible and correctly versioned

All package versions exist in the npm registry and follow consistent version patterns. The updates maintain compatibility with no breaking changes in the dependency structure.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if link-specific versions exist
echo "Checking @react-aria/[email protected]..."
curl -s https://registry.npmjs.org/@react-aria/link | jq '.versions | has("3.7.8")'

echo "Checking @react-aria/[email protected]..."
curl -s https://registry.npmjs.org/@react-aria/focus | jq '.versions | has("3.19.1")'

echo "Checking @react-types/[email protected]..."
curl -s https://registry.npmjs.org/@react-types/link | jq '.versions | has("3.5.10")'

# Check for any breaking changes in link packages
curl -s "https://raw.githubusercontent.com/adobe/react-spectrum/main/packages/@react-aria/link/CHANGELOG.md" | grep -A 5 "3.7.8"

Length of output: 648


Script:

#!/bin/bash
# Check for any breaking changes by comparing package.json files
echo "Checking @react-aria/link dependencies..."
curl -s https://registry.npmjs.org/@react-aria/link/3.7.7 | jq -r '.dependencies'
echo -e "\nNew version:"
curl -s https://registry.npmjs.org/@react-aria/link/3.7.8 | jq -r '.dependencies'

echo -e "\nChecking @react-types/link dependencies..."
curl -s https://registry.npmjs.org/@react-types/link/3.5.9 | jq -r '.dependencies'
echo -e "\nNew version:"
curl -s https://registry.npmjs.org/@react-types/link/3.5.10 | jq -r '.dependencies'

Length of output: 1103

packages/components/pagination/package.json (1)

48-51: Verify version consistency across all packages.

Let's confirm all package versions are compatible and check for any breaking changes in the interactions package.

✅ Verification successful

Dependencies are consistent and safely updated

All @react-aria packages are consistently versioned across the codebase, and the updates are non-breaking.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check if interactions version exists
echo "Checking @react-aria/[email protected]..."
curl -s https://registry.npmjs.org/@react-aria/interactions | jq '.versions | has("3.23.0")'

# Check for any breaking changes in interactions package
curl -s "https://raw.githubusercontent.com/adobe/react-spectrum/main/packages/@react-aria/interactions/CHANGELOG.md" | grep -A 5 "3.23.0"

# Verify version consistency across all package.json files
echo "Checking version consistency for @react-aria/utils..."
rg -l '"@react-aria/utils": "3\.27\.0"' packages/

echo "Checking version consistency for @react-aria/i18n..."
rg -l '"@react-aria/i18n": "3\.12\.5"' packages/

Length of output: 2923

packages/components/slider/package.json (1)

46-52: Verify dependency updates are complete for slider functionality.

The version updates look consistent with minor version bumps. However, let's verify that all required dependencies are updated.

✅ Verification successful

Dependencies are properly updated and complete

The slider component includes all necessary React Aria dependencies with consistent version updates. No missing or outdated dependencies were found.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any missed dependency updates in slider-related packages

# Search for additional slider-related dependencies that might need updates
rg -l "@react-(aria|types|stately).*slider" --type json

# Check for version inconsistencies in slider-related packages
rg '"@react-(aria|types|stately).*slider":\s*"[^"]*"' --type json

Length of output: 318


Script:

#!/bin/bash
# Search for any imports or requires related to slider functionality
rg -A 3 "import.*from.*@react-(aria|stately)/slider" --type typescript

# Check package.json for any other React Aria dependencies that might be slider-related
cat packages/components/slider/package.json

Length of output: 1953

packages/components/radio/package.json (1)

46-53: Cross-check shared dependency versions with other components.

The version updates look consistent. Let's verify the versions of shared dependencies across components.

✅ Verification successful

Dependencies are properly aligned across components

The shared dependency versions in the radio component are consistent with other components in the workspace. All components use the same versions:

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check version consistency of shared dependencies

# Check versions of shared dependencies across all package.json files
rg '"@react-(aria|types)/shared":\s*"[^"]*"' --type json
rg '"@react-aria/(focus|interactions|utils)":\s*"[^"]*"' --type json

Length of output: 10461

packages/components/date-input/package.json (1)

47-52: Verify compatibility between datepicker-related packages.

The updates include both datepicker-specific and shared dependencies. Let's verify compatibility across date-related components.

✅ Verification successful

Dependencies are properly aligned across components

The datepicker-related packages are consistently versioned across both date-input and date-picker components, ensuring compatibility.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check compatibility of datepicker-related packages

# Search for all date-related components and their dependencies
rg -l "@react-(aria|types|stately).*date" --type json

# Check versions of date-related packages across components
rg '"@react-(aria|types|stately).*(date|calendar)":\s*"[^"]*"' --type json

Length of output: 580


Script:

#!/bin/bash
# Check specific versions in date-picker package
cat packages/components/date-picker/package.json | jq '.dependencies | with_entries(select(.key | test("@react-(aria|types|stately).*(date|calendar)")))'

# Check specific versions in date-input package (for confirmation)
cat packages/components/date-input/package.json | jq '.dependencies | with_entries(select(.key | test("@react-(aria|types|stately).*(date|calendar)")))'

Length of output: 552

packages/components/switch/package.json (1)

46-52: Cross-reference toggle state management versions.

The updates include switch-specific packages and shared dependencies. Let's verify the versions across toggle-related components.

✅ Verification successful

Toggle state management versions are properly aligned

All components using @react-stately/toggle (switch, navbar, and checkbox) are consistently using version 3.8.1.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check toggle-related dependencies

# Search for components using toggle state management
rg -l "@react-stately/toggle" --type json

# Check versions of toggle-related packages
rg '"@react-stately/toggle":\s*"[^"]*"' --type json

Length of output: 453

packages/components/button/package.json (2)

46-54: LGTM! Consistent version updates across components.

The dependency updates follow a coherent pattern:

  1. Shared packages (@react-aria/utils, @react-types/shared) are consistently updated across all components
  2. Component-specific packages are updated to their latest minor versions
  3. All updates are non-breaking changes

49-54: Verify button-specific package updates and shared dependencies.

The updates look consistent with other components. Let's verify the complete dependency chain.

✅ Verification successful

Dependencies are properly aligned across the codebase

All button-specific packages (@react-aria/[email protected], @react-types/[email protected]) and shared dependencies are consistently versioned across the component packages. The minor version difference of @react-types/shared in the root package.json and docs doesn't affect component functionality.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify button dependencies and shared package versions

# Check button-specific package versions
rg '"@react-(aria|types)/button":\s*"[^"]*"' --type json

# Verify consistent versions of shared dependencies
rg '"@react-(aria|types)/shared":\s*"[^"]*"' --type json

Length of output: 3243

packages/components/input/package.json (1)

48-54: Verify compatibility with the latest React Spectrum releases.

Let's ensure these versions are the latest stable releases as of January 2025.

✅ Verification successful

All React Spectrum package versions are up-to-date and compatible

The specified versions match the latest stable releases as of January 2025, and there are no breaking changes that would affect these packages.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for the latest versions of React Spectrum packages
# and any potential breaking changes in the release notes.

# Get the latest versions from npm
echo "Latest versions from npm:"
for pkg in "@react-aria/focus" "@react-aria/interactions" "@react-aria/textfield" "@react-aria/utils" "@react-types/shared" "@react-types/textfield"; do
  echo "$pkg:"
  npm view "$pkg" version
done

# Check GitHub releases for breaking changes
echo -e "\nChecking for breaking changes in React Spectrum releases:"
gh api graphql -f query='
{
  repository(owner: "adobe", name: "react-spectrum") {
    releases(first: 10, orderBy: {field: CREATED_AT, direction: DESC}) {
      nodes {
        tagName
        name
        publishedAt
        description
      }
    }
  }
}'

Length of output: 14212

packages/hooks/use-aria-multiselect/package.json (1)

37-50: Verify interdependencies between React Spectrum packages.

The multiselect functionality relies on multiple React Spectrum packages. Let's ensure these versions are compatible with each other.

✅ Verification successful

Dependencies are compatible

All React Spectrum packages have consistent peer dependencies and follow semantic versioning. The minor version updates maintain backward compatibility.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for version compatibility between interdependent packages
# and any mismatched peer dependencies.

echo "Checking package interdependencies:"
for pkg in "@react-aria/i18n" "@react-aria/interactions" "@react-aria/label" "@react-aria/listbox" "@react-aria/menu" "@react-aria/selection" "@react-aria/utils" "@react-stately/form" "@react-stately/list" "@react-stately/menu" "@react-types/button" "@react-types/overlays" "@react-types/select" "@react-types/shared"; do
  echo -e "\n$pkg:"
  npm view "$pkg" peerDependencies
done

Length of output: 7420

packages/components/menu/package.json (1)

48-55: Verify compatibility with workspace dependencies.

The menu component has workspace dependencies on other @heroui packages. Let's ensure these updates maintain compatibility.

✅ Verification successful

Dependencies are compatible across workspace packages

The minor version updates in React Spectrum packages maintain backward compatibility, and all workspace packages (@heroui/use-aria-multiselect, @heroui/menu, @heroui/dropdown) have aligned peer dependencies and consistent version requirements.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for potential breaking changes in workspace dependencies
# and verify package compatibility.

# Find all workspace dependencies that use React Spectrum
echo "Checking workspace dependencies that use React Spectrum:"
fd -e json package.json -x jq -r 'select(.dependencies != null) | select(.dependencies["@react-aria/menu"] != null or .dependencies["@react-stately/menu"] != null) | .name' {}

# Check for any potential breaking changes in the updated packages
echo -e "\nChecking for breaking changes in menu-related packages:"
for pkg in "@react-aria/menu" "@react-stately/menu" "@react-types/menu"; do
  echo -e "\n$pkg:"
  npm view "$pkg" version description
done

Length of output: 1219


Script:

#!/bin/bash
# Check version ranges in dependent packages and peer dependencies
echo "Checking version ranges in dependent packages:"
for pkg in "use-aria-multiselect" "menu" "dropdown"; do
  echo -e "\n@heroui/$pkg package.json:"
  fd -g "packages/*/$pkg/package.json" -x cat {}
done

echo -e "\nChecking peer dependencies of React Spectrum packages:"
for pkg in "@react-aria/menu" "@react-stately/menu" "@react-types/menu"; do
  echo -e "\n$pkg peer dependencies:"
  npm view "$pkg" peerDependencies
done

Length of output: 1702


Script:

#!/bin/bash
# Try alternative path pattern to find package.json files
echo "Checking dependent packages with alternative path pattern:"
for pkg in "use-aria-multiselect" "menu" "dropdown"; do
  echo -e "\n@heroui/$pkg package.json:"
  rg -l "\"name\": \"@heroui/$pkg\"" -g "package.json" | xargs cat
done

Length of output: 6548

packages/components/tooltip/package.json (1)

50-56: Verify compatibility with framer-motion.

The tooltip component uses framer-motion for animations. Let's ensure these React Spectrum updates maintain compatibility with framer-motion.

✅ Verification successful

React Spectrum updates are compatible with framer-motion integration

The tooltip component uses stable framer-motion APIs and recent optimizations ensure robust animation support. The React Spectrum updates are minor version bumps that don't affect the animation implementation.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check compatibility between React Spectrum updates
# and framer-motion peer dependency.

# Check framer-motion peer dependency range
echo "Checking framer-motion compatibility:"
npm view framer-motion@">=11.5.6 || >=12.0.0-alpha.1" version

# Check for any animation-related changes in React Spectrum
echo -e "\nChecking for animation-related changes:"
for pkg in "@react-aria/overlays" "@react-aria/tooltip" "@react-stately/tooltip"; do
  echo -e "\n$pkg changelog:"
  npm view "$pkg" changelog
done

Length of output: 2488


Script:

#!/bin/bash
# Check framer-motion usage in tooltip component
echo "Checking framer-motion usage in tooltip component:"
rg -A 5 "framer-motion" packages/components/tooltip/

# Check for animation-related code
echo -e "\nChecking animation-related code:"
rg -A 5 "animate|motion|transition|animation" packages/components/tooltip/

Length of output: 25660

packages/components/card/package.json (2)

Line range hint 1-1: Summary of dependency updates.

The changes consist of minor version bumps to React Spectrum packages across multiple @heroui components. While these updates should maintain backward compatibility according to semver, we should:

  1. Verify the versions are the latest stable releases as of January 2025
  2. Ensure interdependencies between React Spectrum packages are compatible
  3. Validate workspace dependency compatibility
  4. Check framer-motion compatibility with updated packages
  5. Verify component composition remains intact

48-52: Verify impact on component composition.

The card component is composed of multiple @heroui components. Let's ensure these updates maintain proper component composition.

✅ Verification successful

Dependencies are properly aligned across components

The dependency versions in the card component are consistent with other components in the ecosystem, particularly with @heroui/button and @heroui/avatar which share the same @react-aria dependencies. These minor version updates maintain proper component composition.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for potential breaking changes in component composition
# and verify dependency updates in related components.

# Find all components that depend on the card component
echo "Checking components that depend on @heroui/card:"
fd -e json package.json -x jq -r 'select(.dependencies != null) | select(.dependencies["@heroui/card"] != null) | .name' {}

# Check if devDependencies need similar updates
echo -e "\nChecking if devDependencies need updates:"
for pkg in "@heroui/button" "@heroui/avatar" "@heroui/image"; do
  echo -e "\n$pkg dependencies:"
  fd -e json "package.json" -x jq -r "select(.name == \"$pkg\") | .dependencies" {}
done

Length of output: 1787

packages/components/dropdown/package.json (1)

49-53: LGTM! Version updates look compatible.

The minor/patch version updates for React Aria dependencies are safe and maintain compatibility with the existing peer dependencies.

Let's verify version compatibility across components:

✅ Verification successful

Version compatibility verified across packages ✅

The dropdown package uses versions that are consistent with all other component packages in the repository. Only the documentation app uses slightly older versions, which is expected and doesn't affect the component's functionality.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for version inconsistencies across package.json files
echo "Checking @react-aria/utils version consistency..."
rg '"@react-aria/utils":\s*"([^"]*)"' -g 'package.json'

echo "Checking @react-aria/focus version consistency..."
rg '"@react-aria/focus":\s*"([^"]*)"' -g 'package.json'

Length of output: 6095

packages/components/listbox/package.json (1)

49-55: LGTM! Dependencies are properly aligned.

Version updates are consistent with other components and maintain compatibility with the virtual list implementation.

packages/components/popover/package.json (1)

52-59: LGTM! Overlay dependencies are properly updated.

Version updates maintain compatibility with framer-motion animations and overlay functionality.

Verify framer-motion compatibility:

✅ Verification successful

Framer-motion compatibility verified ✓

The popover package maintains consistent framer-motion versioning with other components, ensuring animation compatibility.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check framer-motion peer dependency consistency
echo "Checking framer-motion peer dependency..."
rg '"framer-motion":\s*"([^"]*)"' -g 'package.json'

Length of output: 3274

packages/components/checkbox/package.json (1)

48-56: LGTM! Form-related dependencies are properly updated.

Version updates maintain compatibility with form functionality and accessibility features.

packages/components/table/package.json (1)

48-56: LGTM! Table and data handling dependencies are properly updated.

Version updates maintain compatibility with table virtualization and data management features.

Verify data handling compatibility:

Also applies to: 68-68

✅ Verification successful

Dependencies are properly aligned across packages

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check data handling dependencies consistency
echo "Checking @react-stately/data version..."
rg '"@react-stately/data":\s*"([^"]*)"' -g 'package.json'

echo "Checking @react-stately/virtualizer version..."
rg '"@react-stately/virtualizer":\s*"([^"]*)"' -g 'package.json'

Length of output: 692

packages/components/tabs/package.json (1)

50-56: LGTM! Version updates look consistent.

The minor version bumps across React Aria dependencies are aligned and follow a consistent pattern. No breaking changes detected.

Let's verify version consistency across the codebase:

✅ Verification successful

Version consistency verified across component packages

The React Aria dependency versions in the tabs package are correctly aligned with all other component packages. The only minor version differences are in the docs app, which is expected and doesn't impact component functionality.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for any inconsistent versions of React Aria dependencies
rg '"@react-aria/[^"]+": "[^"]+"' -g 'package.json' | sort | uniq -c

Length of output: 14664

packages/components/navbar/package.json (1)

49-54: LGTM! Version updates are consistent with other components.

The minor version bumps align with the updates in other components, maintaining consistency across the library.

packages/components/date-picker/package.json (1)

54-61: LGTM! Date-specific dependencies properly updated.

The version updates maintain consistency with other components while properly handling date-specific dependencies like @react-aria/datepicker.

packages/components/accordion/package.json (1)

58-64: Verify stability of alpha dependency.

While most version updates are consistent, note that @react-types/accordion is still in alpha (3.0.0-alpha.26). Consider potential stability implications.

Let's check the release notes and issues for this alpha version:

✅ Verification successful

Alpha dependency usage appears low-risk

The @react-types/accordion package is used solely for TypeScript type definitions (AriaAccordionProps) in two files, with no runtime dependencies. While still in alpha, its usage pattern suggests minimal stability risk.

  • Consider adding a comment in package.json documenting the intentional use of the alpha version
  • Monitor the package's release channel for breaking type changes
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for any reported issues with the alpha version
gh api graphql -f query='
{
  search(query: "repo:adobe/react-spectrum @react-types/accordion", type: ISSUE, first: 5) {
    nodes {
      ... on Issue {
        title
        state
        createdAt
      }
    }
  }
}'

Length of output: 631


Script:

#!/bin/bash
# Search for accordion type imports and usage
echo "=== Searching for type imports ==="
rg -g '*.{ts,tsx}' '@react-types/accordion' -B 1 -A 1

echo -e "\n=== Checking package details ==="
curl -s https://registry.npmjs.org/@react-types/accordion/3.0.0-alpha.26 | jq '.description, .time.modified, .dist-tags'

Length of output: 1076

packages/components/modal/package.json (1)

53-59: LGTM! Overlay-specific dependencies properly updated.

The version updates maintain consistency while properly handling overlay-specific dependencies like @react-aria/overlays and @react-aria/dialog.

packages/components/calendar/package.json (2)

52-62: Verify the latest secure versions of React Aria dependencies.

Let's ensure these version updates align with the latest secure releases.

✅ Verification successful

All React Aria dependencies are up-to-date and secure

The package versions match the latest releases from npm registry and no security vulnerabilities were found.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check latest versions and security advisories for React Aria packages
for pkg in "@react-aria/calendar" "@react-aria/focus" "@react-aria/i18n" "@react-stately/calendar" "@react-types/button" "@react-aria/visually-hidden" "@react-aria/utils" "@react-types/calendar" "@react-aria/interactions" "@react-types/shared"; do
  echo "Checking $pkg..."
  curl -s "https://registry.npmjs.org/$pkg" | jq -r '.["dist-tags"].latest'
  
  # Check for any security advisories
  gh api graphql -f query='{
    securityVulnerabilities(first: 1, ecosystem: NPM, package: "'${pkg}'") {
      nodes {
        advisory {
          summary
          severity
        }
        vulnerableVersionRange
      }
    }
  }'
done

Length of output: 7159


Line range hint 36-39: Consider restricting Framer Motion peer dependency to stable versions.

The current peer dependency allows alpha versions (>=12.0.0-alpha.1) which might introduce instability. Consider restricting to stable versions only.

packages/components/select/package.json (1)

56-61: LGTM! Version updates are consistent.

The patch version updates align with the changes in other packages and follow semantic versioning.

packages/components/autocomplete/package.json (1)

57-65: LGTM! Version updates are consistent.

The patch version updates align with the changes in other packages and follow semantic versioning.

packages/core/react/package.json (1)

92-92: Verify if other React Aria dependencies are needed.

Only @react-aria/visually-hidden is updated here. Consider checking if other React Aria dependencies should be added or updated for consistency with the component packages.

packages/hooks/use-draggable/package.json Show resolved Hide resolved
Copy link
Contributor

@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: 0

🧹 Nitpick comments (2)
apps/docs/app/examples/perf/client-page.tsx (2)

Line range hint 26-89: Consider generating Radio items programmatically for better maintainability.

While this appears to be a performance test component, manually listing 62 Radio items makes the code harder to maintain. Consider refactoring to generate items programmatically:

-      <Radio value="1">Radio 1</Radio>
-      <Radio value="2">Radio 2</Radio>
-      // ... 60 more items
+      {Array.from({length: 62}, (_, i) => {
+        const value = String(i + 1);
+        return (
+          <Radio key={value} value={value}>
+            Radio {value}
+          </Radio>
+        );
+      })}

Line range hint 433-446: Consider memoizing the filtered items for better performance.

The filteredItems array is recreated on every render when inputValue changes. Consider memoizing it:

-  const filteredItems = inputValue
+  const filteredItems = useMemo(() => inputValue
    ? usersData.filter((item) => startsWith(item.name, inputValue))
-    : usersData;
+    : usersData,
+    [inputValue, startsWith]
+  );
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between f55b73f and 7cbe851.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (10)
  • apps/docs/app/examples/perf/client-page.tsx (1 hunks)
  • apps/docs/content/docs/components/date-input.mdx (6 hunks)
  • apps/docs/content/docs/components/date-picker.mdx (6 hunks)
  • apps/docs/content/docs/components/date-range-picker.mdx (7 hunks)
  • apps/docs/package.json (2 hunks)
  • package.json (1 hunks)
  • packages/components/calendar/package.json (1 hunks)
  • packages/components/date-input/package.json (1 hunks)
  • packages/components/date-picker/package.json (2 hunks)
  • packages/core/system/package.json (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • package.json
  • apps/docs/content/docs/components/date-range-picker.mdx
🚧 Files skipped from review as they are similar to previous changes (4)
  • packages/core/system/package.json
  • packages/components/date-picker/package.json
  • packages/components/date-input/package.json
  • packages/components/calendar/package.json
🔇 Additional comments (7)
apps/docs/content/docs/components/date-input.mdx (1)

107-109: Verify package version compatibility.

The updates to @internationalized/[email protected] and @react-aria/[email protected] need verification to ensure these versions exist and are compatible.

Run the following script to verify package versions:

Also applies to: 132-134, 156-158, 180-182, 203-205, 226-228

✅ Verification successful

Package versions verified and compatible

Both @internationalized/[email protected] and @react-aria/[email protected] exist and are compatible for use together.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify package versions exist and check their compatibility

# Check if versions exist on npm
echo "Checking @internationalized/[email protected]..."
npm view @internationalized/[email protected] version

echo "Checking @react-aria/[email protected]..."
npm view @react-aria/[email protected] version

# Check peer dependencies
echo "Checking peer dependencies..."
npm view @internationalized/[email protected] peerDependencies
npm view @react-aria/[email protected] peerDependencies

Length of output: 592

apps/docs/content/docs/components/date-picker.mdx (1)

122-124: LGTM! Package version updates are consistent.

The version updates for both @internationalized/date and @react-aria/i18n are consistent with the changes in date-input.mdx.

Also applies to: 147-149, 171-173, 195-197, 217-219, 249-251

apps/docs/app/examples/perf/client-page.tsx (1)

433-433: LGTM! The spellCheck property type change aligns with React's preferences.

The change from spellCheck={false} to spellCheck="false" follows React's preferred string values for HTML attributes, maintaining compatibility with the updated React Spectrum versions.

apps/docs/package.json (4)

51-53: LGTM! React Stately patch updates.

The patch updates to React Stately packages indicate bug fixes while maintaining backward compatibility.


110-112: LGTM! Verify TypeScript compatibility.

The type definition updates align with the runtime package versions.

Let's verify TypeScript compatibility:

✅ Verification successful

TypeScript compatibility verified ✓

The type definition updates are compatible with the existing codebase. All imports and usages of the updated @react-types packages are properly structured and consistent.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for any TypeScript errors after the update
rg "import.*@react-(aria|stately|types)" --type typescript

Length of output: 95


Script:

#!/bin/bash
# Find TypeScript files and search for react-types imports
fd -e ts -e tsx | xargs rg "import.*@react-(aria|stately|types)"

# Also check for type references in case they're used without imports
fd -e ts -e tsx | xargs rg "from ['|\"]@react-types"

Length of output: 66322


40-40: LGTM! Verify integration with date-related components.

The minor version bump of @internationalized/date to 3.7.0 maintains backward compatibility.

Let's verify the integration with date-related components:

✅ Verification successful

✅ Version update verified across all date-related components

All dependent packages are consistently updated to version 3.7.0:

  • apps/docs
  • packages/core/system
  • packages/components/date-picker
  • packages/components/date-input
  • packages/components/calendar
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for date-related component dependencies
rg -l "@internationalized/date" --type json

Length of output: 231


Script:

#!/bin/bash
# Check @internationalized/date versions in all package.json files
echo "=== Checking @internationalized/date versions ==="
for file in apps/docs/package.json packages/core/system/package.json packages/components/date-picker/package.json packages/components/date-input/package.json packages/components/calendar/package.json; do
    echo "=== $file ==="
    jq '.dependencies["@internationalized/date"] // .devDependencies["@internationalized/date"]' "$file"
done

# Check for direct usage patterns
echo -e "\n=== Checking usage patterns ==="
rg "@internationalized/date" --type ts --type tsx -C 2

Length of output: 2484


Script:

#!/bin/bash
# Check for direct usage patterns with correct file type flags
echo "=== Checking usage patterns ==="
rg "@internationalized/date" -t typescript -t tsx -C 2

Length of output: 162


43-46: LGTM! Verify peer dependency compatibility.

The coordinated updates across React Aria packages maintain version alignment within the ecosystem. All changes are backward compatible.

Let's check for any peer dependency warnings:

Also applies to: 48-50

✅ Verification successful

React Aria package updates are compatible with project dependencies

The updated React Aria packages are fully compatible with the project's React version (18.2.0).

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Check for peer dependency warnings in package.json files
rg "peerDependencies.*@react-aria" --type json

Length of output: 48


Script:

#!/bin/bash
# Search for React Aria package.json files
fd "package.json" | grep -i "react-aria" | xargs cat 2>/dev/null

# Also check direct dependencies on React
rg '"react":\s*"[^"]+"|"react-dom":\s*"[^"]+"' --type json

Length of output: 19246


Script:

#!/bin/bash
# Check npm info for React Aria packages
npm info "@react-aria/[email protected]" peerDependencies
npm info "@react-aria/[email protected]" peerDependencies
npm info "@react-aria/[email protected]" peerDependencies
npm info "@react-aria/[email protected]" peerDependencies

Length of output: 761

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[BUG] - Tabs component's href attribute hard reloading after moving from nextui to heroui
1 participant