www/renovate.json
2025-06-02 13:11:57 +12:00

131 lines
4.2 KiB
JSON

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended", ":semanticCommits", "config:js-app"],
"timezone": "UTC",
"schedule": ["before 9am on Monday"],
"labels": ["dependencies"],
"assignees": ["@me"],
"prConcurrentLimit": 5,
"prHourlyLimit": 2,
"lockFileMaintenance": {
"enabled": true,
"automerge": false,
"schedule": ["before 9am on Monday"]
},
"packageRules": [
{
"description": "Astro and React ecosystem packages",
"matchPackagePatterns": ["^@astrojs/", "^astro", "^react", "^@types/react"],
"groupName": "Astro and React core",
"schedule": ["before 9am on Monday"],
"automerge": false,
"reviewersFromCodeOwners": true
},
{
"description": "Development dependencies",
"matchDepTypes": ["devDependencies"],
"groupName": "Dev dependencies",
"schedule": ["before 9am on Monday"],
"automerge": false,
"automergeType": "pr",
"minimumReleaseAge": "3 days"
},
{
"description": "Testing packages",
"matchPackagePatterns": [
"^@testing-library/",
"^@playwright/",
"^vitest",
"^@vitest/",
"^jsdom"
],
"groupName": "Testing packages",
"schedule": ["before 9am on Monday"],
"automerge": false,
"automergeType": "pr"
},
{
"description": "ESLint and TypeScript packages",
"matchPackagePatterns": ["^@typescript-eslint/", "^eslint", "^typescript", "^@types/"],
"excludePackagePatterns": ["^@types/react"],
"groupName": "TypeScript and ESLint",
"schedule": ["before 9am on Monday"],
"automerge": false,
"automergeType": "pr"
},
{
"description": "Formatting and code quality tools",
"matchPackageNames": [
"prettier",
"prettier-plugin-astro",
"prettier-plugin-tailwindcss",
"husky",
"lint-staged"
],
"groupName": "Code formatting tools",
"schedule": ["before 9am on Monday"],
"automerge": false,
"automergeType": "pr"
},
{
"description": "TailwindCSS ecosystem",
"matchPackagePatterns": ["^tailwind", "^@tailwindcss/"],
"matchPackageNames": ["autoprefixer", "postcss", "clsx", "tailwind-merge"],
"groupName": "TailwindCSS ecosystem",
"schedule": ["before 9am on Monday"],
"automerge": false
},
{
"description": "FontAwesome packages",
"matchPackagePatterns": ["^@fortawesome/"],
"groupName": "FontAwesome packages",
"schedule": ["before 9am on Monday"],
"automerge": false,
"automergeType": "pr"
},
{
"description": "Lucide icon packages",
"matchPackagePatterns": ["^lucide-"],
"groupName": "Lucide icons",
"schedule": ["before 9am on Monday"],
"automerge": false,
"automergeType": "pr"
},
{
"description": "Major updates require manual review",
"matchUpdateTypes": ["major"],
"automerge": false,
"schedule": ["before 9am on Monday"],
"labels": ["dependencies", "major-update"],
"reviewersFromCodeOwners": true
},
{
"description": "Pin Node.js to LTS versions",
"matchPackageNames": ["node"],
"allowedVersions": "/^(18|20|22)\\./",
"automerge": false
},
{
"description": "Cloudflare Workers and Wrangler",
"matchPackageNames": ["wrangler", "@astrojs/cloudflare"],
"groupName": "Cloudflare ecosystem",
"schedule": ["before 9am on Monday"],
"automerge": false,
"reviewersFromCodeOwners": true
}
],
"vulnerabilityAlerts": {
"enabled": false,
"labels": ["security", "dependencies"],
"automerge": false,
"schedule": ["at any time"]
},
"osvVulnerabilityAlerts": true,
"dependencyDashboard": false,
"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"
}