{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", ":separateMajorMinor", ":pinAllExceptPeerDependencies", "helpers:disableTypesNodeMajor" ], "labels": ["dependencies"], "rangeStrategy": "bump", "dependencyDashboard": true, "dependencyDashboardTitle": "Dependency Dashboard", "commitMessagePrefix": "chore(deps):", "commitMessageAction": "update", "schedule": ["before 6am every day"], "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 } ] }