fix(renovate): streamline configuration and enhance package grouping (#681)

* fix(renovate): streamline configuration and enhance package grouping

* fix(renovate): clarify description for package rules in configuration
This commit is contained in:
Shintaro Jokagi 2025-06-18 17:46:11 +12:00 committed by GitHub
parent 6b7458c30e
commit c65294b834
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 59 additions and 61 deletions

View file

@ -23,6 +23,14 @@ env:
jobs: jobs:
renovate: renovate:
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
security-events: read
actions: read
checks: read
statuses: write
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View file

@ -1,93 +1,83 @@
{ {
"$schema": "https://docs.renovatebot.com/renovate-schema.json", "$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended", ":semanticCommits", "config:js-app"], "extends": ["config:js-app"],
"timezone": "UTC", "labels": ["dependencies", "renovate"],
"schedule": ["before 9am on Monday"],
"labels": ["dependencies"],
"prConcurrentLimit": 10, "prConcurrentLimit": 10,
"rebaseWhen": "conflicted",
"prHourlyLimit": 2, "prHourlyLimit": 2,
"rebaseWhen": "conflicted",
"dependencyDashboard": true,
"packageRules": [ "packageRules": [
{ {
"description": "Astro and React ecosystem packages", "description": "Group minor and patch-level updates",
"matchPackagePatterns": ["^@astrojs/", "^astro", "^react", "^@types/react"], "matchUpdateTypes": ["minor", "patch", "digest"],
"groupName": "Astro and React core" "automergeType": "branch"
}, },
{ {
"description": "Development dependencies", "description": "Group Astro related packages",
"matchDepTypes": ["devDependencies"], "groupName": "astro",
"groupName": "Dev dependencies" "matchPackageNames": ["astro*", "@astrojs*"]
}, },
{ {
"description": "Testing packages", "description": "Group React related packages",
"matchPackagePatterns": [ "groupName": "react",
"^@testing-library/", "matchPackageNames": ["react*", "@types/react*"]
"^@playwright/",
"^vitest",
"^@vitest/",
"^jsdom"
],
"groupName": "Testing packages"
}, },
{ {
"description": "ESLint and TypeScript packages", "description": "Group testing libraries",
"matchPackagePatterns": ["^@typescript-eslint/", "^eslint", "^typescript", "^@types/"], "groupName": "testing",
"excludePackagePatterns": ["^@types/react"], "matchPackageNames": ["vitest*", "@vitest*", "@testing-library*", "@playwright*", "jsdom*"]
"groupName": "TypeScript and ESLint"
}, },
{ {
"description": "Formatting and code quality tools", "description": "Group ESLint and TypeScript packages",
"groupName": "eslint-typescript",
"matchPackageNames": ["eslint*", "@eslint*", "typescript*", "@typescript-eslint*"]
},
{
"description": "Group formatting and code quality tools",
"groupName": "code-quality",
"matchPackageNames": ["prettier*", "lefthook*", "@commitlint*", "cspell*", "@cspell*"]
},
{
"description": "Group TailwindCSS ecosystem",
"groupName": "tailwindcss",
"matchPackageNames": [ "matchPackageNames": [
"prettier", "tailwind*",
"prettier-plugin-astro", "@tailwindcss*",
"prettier-plugin-tailwindcss", "autoprefixer",
"husky", "postcss",
"lint-staged" "clsx",
], "tailwind-merge"
"groupName": "Code formatting tools" ]
}, },
{ {
"description": "TailwindCSS ecosystem", "description": "Group FontAwesome packages",
"matchPackagePatterns": ["^tailwind", "^@tailwindcss/"], "groupName": "fontawesome",
"matchPackageNames": ["autoprefixer", "postcss", "clsx", "tailwind-merge"], "matchPackageNames": ["@fortawesome*"]
"groupName": "TailwindCSS ecosystem"
}, },
{ {
"description": "FontAwesome packages", "description": "Group build and bundling tools",
"matchPackagePatterns": ["^@fortawesome/"], "groupName": "build-tools",
"groupName": "FontAwesome packages" "matchPackageNames": ["turbo*", "vite*", "jiti*", "wrangler*"]
}, },
{ {
"description": "Lucide icon packages", "description": "Group type definitions",
"matchPackagePatterns": ["^lucide-"], "groupName": "type-definitions",
"groupName": "Lucide icons" "matchPackageNames": ["@types*"],
"excludePackageNames": ["@types/react*"]
},
{
"description": "Group devDependencies",
"groupName": "devDependencies",
"matchDepTypes": ["devDependencies"]
}, },
{ {
"description": "Major updates require manual review", "description": "Major updates require manual review",
"matchUpdateTypes": ["major"], "matchUpdateTypes": ["major"],
"labels": ["dependencies", "major-update"] "labels": ["dependencies", "major-update"]
},
{
"description": "Pin Node.js to LTS versions",
"matchPackageNames": ["node"],
"allowedVersions": "/^(18|20|22)\\./"
},
{
"description": "Cloudflare Workers and Wrangler",
"matchPackageNames": ["wrangler", "@astrojs/cloudflare"],
"groupName": "Cloudflare ecosystem"
} }
], ],
"vulnerabilityAlerts": { "vulnerabilityAlerts": {
"enabled": true,
"labels": ["security", "dependencies"] "labels": ["security", "dependencies"]
}, },
"osvVulnerabilityAlerts": true, "osvVulnerabilityAlerts": true
"dependencyDashboard": true,
"dependencyDashboardTitle": "Dependency Dashboard",
"dependencyDashboardHeader": "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.",
"dependencyDashboardFooter": "Configure Renovate in `renovate.json`",
"configMigration": true,
"platformAutomerge": false,
"automergeStrategy": "squash"
} }