-
Notifications
You must be signed in to change notification settings - Fork 294
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
Separate out Yarn major updates into separate Dependabot groups #1607
Conversation
WalkthroughThe pull request introduces comprehensive modifications to the The configuration now includes granular groups for dependencies like Storybook, Electron, Docusaurus, React, and Jotai, with separate groups for major, minor, and patch updates. These groups allow for more precise control over how and when dependencies are updated, with specific exclusion patterns for certain packages. The modifications provide a structured approach to managing dependency updates, enabling more refined dependency tracking and update strategies across different technology ecosystems within the project. The new configuration allows for more targeted and controlled dependency maintenance. 🪧 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
CodeRabbit Configuration File (
|
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)
.github/dependabot.yml (2)
97-107
: Consider including related Jotai packagesThe current pattern only matches the core "jotai" package. Consider if you need to include related packages like
jotai-devtools
or other Jotai ecosystem packages.jotai: patterns: - "jotai" + - "jotai-*"
Line range hint
1-107
: Consider standardizing update schedules across groupsWhile the current configuration successfully separates major updates, you might want to consider adding explicit schedule configurations for each group. This would allow you to:
- Run major updates less frequently than minor/patch updates
- Stagger updates across different days to spread out the review workload
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/dependabot.yml
(1 hunks)
🔇 Additional comments (6)
.github/dependabot.yml (6)
16-28
: LGTM! Dev dependencies are properly separated
The configuration correctly splits development dependencies into two groups:
- Regular updates (minor + patch) with appropriate exclusions
- Major updates with matching exclusions
34-46
: LGTM! Production dependencies are properly separated
The configuration correctly splits production dependencies into two groups with consistent exclusions and proper update type separation.
83-96
: LGTM! React configuration is well-structured
The React configuration is precise and comprehensive:
- Correctly includes both React runtime and type definitions
- Properly separates major updates from minor/patch updates
62-70
: Verify Electron package pattern coverage
The wildcard pattern *electron*
might be too broad. Let's verify the actual packages it will match.
✅ Verification successful
Electron package pattern is appropriate
The pattern *electron*
correctly matches only Electron-related packages:
- @types/electron
- electron
- electron-builder
- electron-updater
- electron-vite
All matched packages are legitimately part of the Electron ecosystem, and there are no unintended matches. The wildcard pattern is working as intended for this specific use case.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check what packages would be matched by the Electron pattern
# List all dependencies that match the Electron pattern
echo "Matching packages in package.json:"
jq -r '.dependencies + .devDependencies | keys[] | select(test("electron"; "i"))' package.json 2>/dev/null || true
Length of output: 248
47-58
: Verify Storybook package pattern coverage
The wildcard pattern *storybook*
might be too broad. Let's verify the actual packages it will match.
✅ Verification successful
Pattern *storybook*
correctly matches all Storybook-related packages
The pattern matches exactly what it should - all Storybook core packages, addons, and related utilities:
- Core:
storybook
,@storybook/react
,@storybook/react-vite
- Addons:
@storybook/addon-essentials
,@storybook/addon-interactions
,@storybook/addon-links
- UI/Theming:
@storybook/blocks
,@storybook/theming
,storybook-dark-mode
- Tools:
@storybook/builder-vite
,@storybook/test
,@chromatic-com/storybook
The wildcard pattern is appropriate and doesn't risk catching unintended packages.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check what packages would be matched by the Storybook pattern
# List all dependencies that match the Storybook pattern
echo "Matching packages in package.json:"
jq -r '.dependencies + .devDependencies | keys[] | select(test("storybook"; "i"))' package.json 2>/dev/null || true
Length of output: 428
74-82
: Verify Docusaurus package pattern coverage
The wildcard pattern *docusaurus*
might be too broad. Let's verify the actual packages it will match.
✅ Verification successful
The Docusaurus package pattern is appropriate
The wildcard pattern *docusaurus*
in the dependabot configuration is well-suited for this codebase. The scan reveals that all matched packages are legitimate Docusaurus-related dependencies, all following the @docusaurus/*
pattern (with one exception being @waveterm/docusaurus-og
which is still Docusaurus-related). The pattern effectively covers all current Docusaurus packages without matching any unrelated dependencies.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check what packages would be matched by the Docusaurus pattern
# List all dependencies that match the Docusaurus pattern
echo "Matching packages in package.json:"
jq -r '.dependencies + .devDependencies | keys[] | select(test("docusaurus"; "i"))' package.json 2>/dev/null || true
Length of output: 177
Script:
#!/bin/bash
# Let's check if there are any package.json files in the repository
echo "Finding all package.json files:"
fd package.json
# For each found package.json, check for docusaurus dependencies
echo -e "\nChecking each package.json for docusaurus packages:"
fd package.json --exec sh -c 'echo "\n=== $1 ==="; cat "$1" | jq -r ".dependencies + .devDependencies | keys[] | select(test(\"docusaurus\"; \"i\")) // empty" 2>/dev/null' sh {}
Length of output: 761
This is annoyingly verbose, but will let us still get PRs for minor and patch updates separately from major updates, so we can continue to benefit from bugfixes without having to adopt breaking changes.
Also adds a jotai update group