-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
base: canary
Are you sure you want to change the base?
Conversation
🦋 Changeset detectedLatest commit: 7cbe851 The changes in this PR will be included in the next version bump. This PR includes changesets to release 54 packages
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 |
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
WalkthroughThis pull request involves a comprehensive update of dependency versions across multiple packages in the Changes
Possibly related PRs
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? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this 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
⛔ 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 jsonLength 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:
- @react-aria/[email protected]
- @react-types/[email protected]
- @react-aria/[email protected]
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:
- @react-aria/[email protected]
- @react-stately/[email protected]
- @react-stately/[email protected]
- @react-types/[email protected]
- @react-types/[email protected]
✅ 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:
- @react-aria/[email protected]
- @react-stately/[email protected]
✅ 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" doneLength 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 doneLength 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 jsonLength 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.jsonLength 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:
- @react-types/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
- @react-aria/[email protected]
🏁 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 jsonLength 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 jsonLength 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 jsonLength of output: 453
packages/components/button/package.json (2)
46-54
: LGTM! Consistent version updates across components.The dependency updates follow a coherent pattern:
- Shared packages (@react-aria/utils, @react-types/shared) are consistently updated across all components
- Component-specific packages are updated to their latest minor versions
- 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 jsonLength 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 doneLength 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 doneLength 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 doneLength 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 doneLength 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 doneLength 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:
- Verify the versions are the latest stable releases as of January 2025
- Ensure interdependencies between React Spectrum packages are compatible
- Validate workspace dependency compatibility
- Check framer-motion compatibility with updated packages
- 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" {} doneLength 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 -cLength 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 } } }' doneLength 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.
There was a problem hiding this 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 wheninputValue
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
⛔ 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] peerDependenciesLength 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 indate-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}
tospellCheck="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 typescriptLength 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 jsonLength 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 2Length 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 2Length 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 jsonLength 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 jsonLength 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]" peerDependenciesLength of output: 761
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
@heroui
packages@react-aria
,@react-stately
, and@react-types
dependenciesScope of Changes
Key Observations