117 lines
3.7 KiB
JSON
117 lines
3.7 KiB
JSON
{
|
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
"extends": [
|
|
"config:recommended",
|
|
":pinAllExceptPeerDependencies",
|
|
"helpers:disableTypesNodeMajor"
|
|
],
|
|
"labels": ["dependencies"],
|
|
"rangeStrategy": "bump",
|
|
"dependencyDashboard": true,
|
|
"dependencyDashboardTitle": "Dependency Dashboard",
|
|
"commitMessagePrefix": "chore(deps):",
|
|
"commitMessageAction": "update",
|
|
"schedule": ["at any time"],
|
|
"timezone": "Europe/Amsterdam",
|
|
"rebaseWhen": "conflicted",
|
|
"prCreation": "immediate",
|
|
"prConcurrentLimit": 5,
|
|
"packageRules": [
|
|
{
|
|
"description": "Group Next.js core and tooling",
|
|
"matchPackageNames": ["next", "@next/bundle-analyzer", "next-auth", "next-intl", "next-view-transitions"],
|
|
"groupName": "Next.js",
|
|
"groupSlug": "nextjs"
|
|
},
|
|
{
|
|
"description": "Group Prisma packages",
|
|
"matchPackageNames": ["prisma", "@prisma/client", "@prisma/adapter-mariadb"],
|
|
"groupName": "Prisma",
|
|
"groupSlug": "prisma"
|
|
},
|
|
{
|
|
"description": "Group React core and types",
|
|
"matchPackageNames": ["react", "react-dom", "@types/react", "@types/react-dom"],
|
|
"groupName": "React",
|
|
"groupSlug": "react"
|
|
},
|
|
{
|
|
"description": "Group Tailwind CSS packages",
|
|
"matchPackageNames": ["tailwindcss", "@tailwindcss/postcss", "@tailwindcss/forms", "@tailwindcss/typography", "tailwindcss-animate", "tailwind-merge"],
|
|
"groupName": "Tailwind CSS",
|
|
"groupSlug": "tailwind"
|
|
},
|
|
{
|
|
"description": "Group DnD kit packages",
|
|
"matchPackageNames": ["@dnd-kit/core", "@dnd-kit/sortable", "@dnd-kit/utilities"],
|
|
"groupName": "DnD Kit",
|
|
"groupSlug": "dnd-kit"
|
|
},
|
|
{
|
|
"description": "Group Biome with ESLint tooling",
|
|
"matchPackageNames": ["@biomejs/biome", "eslint", "@eslint/js", "eslint-plugin-unused-imports", "typescript-eslint"],
|
|
"groupName": "Linting",
|
|
"groupSlug": "linting"
|
|
},
|
|
{
|
|
"description": "Group TypeScript and types",
|
|
"matchPackageNames": ["typescript", "typescript-eslint"],
|
|
"groupName": "TypeScript",
|
|
"groupSlug": "typescript"
|
|
},
|
|
{
|
|
"description": "Group Vitest and testing packages",
|
|
"matchPackageNames": ["vitest", "@vitest/coverage-v8", "vite", "@playwright/test"],
|
|
"groupName": "Testing",
|
|
"groupSlug": "testing"
|
|
},
|
|
{
|
|
"description": "Group Sentry packages",
|
|
"matchPackageNames": ["@sentry/nextjs"],
|
|
"groupName": "Sentry",
|
|
"groupSlug": "sentry"
|
|
},
|
|
{
|
|
"description": "Group hashing/crypto packages",
|
|
"matchPackageNames": ["bcrypt", "@types/bcrypt", "hash-wasm", "otplib"],
|
|
"groupName": "Cryptography",
|
|
"groupSlug": "crypto"
|
|
},
|
|
{
|
|
"description": "Group hook form packages",
|
|
"matchPackageNames": ["react-hook-form", "@hookform/resolvers"],
|
|
"groupName": "React Hook Form",
|
|
"groupSlug": "react-hook-form"
|
|
},
|
|
{
|
|
"description": "Automerge minor and patch updates for production deps (already >=1.0.0)",
|
|
"matchUpdateTypes": ["minor", "patch"],
|
|
"matchCurrentVersion": ">=1.0.0",
|
|
"automerge": true
|
|
},
|
|
{
|
|
"description": "Automerge all devDependency updates",
|
|
"matchDepTypes": ["devDependencies"],
|
|
"automerge": true
|
|
},
|
|
{
|
|
"description": "Major updates need manual review",
|
|
"matchUpdateTypes": ["major"],
|
|
"labels": ["dependencies", "major"],
|
|
"automerge": false,
|
|
"assignees": [],
|
|
"reviewers": []
|
|
},
|
|
{
|
|
"description": "Disable updates for engine pins",
|
|
"matchPackageNames": ["node", "pnpm"],
|
|
"enabled": false
|
|
},
|
|
{
|
|
"description": "Disable server-only (abandoned, pinned at 0.0.1)",
|
|
"matchPackageNames": ["server-only"],
|
|
"enabled": false
|
|
}
|
|
]
|
|
}
|