deps(deps): group related dependabot updates (#144)

Group npm packages by feature area so related libraries land in a
single PR rather than as separate, racing updates. This avoids the
package-lock.json conflicts we saw when sequential PRs all touched
the same lockfile entries (e.g. tailwindcss + @tailwindcss/vite),
and reduces churn for users that watch the dependencies label.

Groups:
- tailwind, tanstack, i18next, react, react-router, testing,
  eslint, monaco, xterm, types

High-impact packages that are not assigned to a group (vite,
framer-motion, axios, posthog-js, lucide-react, etc.) still get
their own PR so each can be reviewed and tested independently.

GitHub Actions updates are now also grouped into a single weekly PR.

Co-authored-by: openhands <openhands@all-hands.dev>
This commit is contained in:
Graham Neubig
2026-05-07 12:32:33 -04:00
committed by GitHub
co-authored by openhands
parent 988cfed5c6
commit dbcbe506fc
+74
View File
@@ -17,6 +17,76 @@ updates:
labels:
- dependencies
- npm
# Group related packages together so they ship in a single PR.
# Packages that aren't matched by any group still get their own PR
# (the default behavior), which is what we want for high-impact deps
# like vite, react-router, framer-motion, etc.
groups:
tailwind:
patterns:
- "tailwindcss"
- "@tailwindcss/*"
- "tailwind-merge"
- "tailwind-scrollbar"
tanstack:
patterns:
- "@tanstack/*"
i18next:
patterns:
- "i18next"
- "i18next-*"
- "react-i18next"
- "eslint-plugin-i18next"
react:
patterns:
- "react"
- "react-dom"
- "@types/react"
- "@types/react-dom"
- "@types/react-*"
- "eslint-plugin-react"
- "eslint-plugin-react-hooks"
react-router:
patterns:
- "react-router"
- "@react-router/*"
- "@vercel/react-router"
- "isbot"
testing:
patterns:
- "vitest"
- "@vitest/*"
- "@testing-library/*"
- "jsdom"
- "@playwright/test"
- "msw"
- "@mswjs/*"
eslint:
patterns:
- "eslint"
- "eslint-config-*"
- "eslint-plugin-*"
- "@typescript-eslint/*"
- "prettier"
exclude-patterns:
# These are grouped under their feature area instead.
- "eslint-plugin-i18next"
- "eslint-plugin-react"
- "eslint-plugin-react-hooks"
monaco:
patterns:
- "monaco-editor"
- "@monaco-editor/*"
xterm:
patterns:
- "@xterm/*"
types:
patterns:
- "@types/*"
exclude-patterns:
- "@types/react"
- "@types/react-dom"
- "@types/react-*"
- package-ecosystem: github-actions
directory: "/"
@@ -34,3 +104,7 @@ updates:
labels:
- dependencies
- github-actions
groups:
actions:
patterns:
- "*"