2 Commits

Author SHA1 Message Date
Ryan Walters
71ddaadaa0 chore(config): reduce renovate commit frequency to weekly
Consolidates dependency updates to reduce noise:
- Schedule changed to weekly (Monday mornings only)
- All non-major updates grouped into single weekly PR
- Major updates still get individual PRs for review
- Security updates remain immediate (unchanged)

This reduces commit frequency from 10-15/week to ~1-2/week while
maintaining test requirements and security responsiveness.
2025-11-05 23:26:28 -06:00
renovate[bot]
b50e575946 chore(deps): update testing packages to v4.0.6 (#18)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-06 04:52:21 +00:00
2 changed files with 65 additions and 103 deletions

52
.github/renovate.json vendored
View File

@@ -7,7 +7,7 @@
":automergeDigest",
":automergeMinor"
],
"schedule": ["after 10pm every weekday", "before 5am every weekday", "every weekend"],
"schedule": ["before 5am on monday"],
"timezone": "America/Chicago",
"prConcurrentLimit": 3,
"prCreation": "not-pending",
@@ -20,61 +20,23 @@
},
"packageRules": [
{
"description": "Automerge dev dependencies",
"matchDepTypes": ["devDependencies"],
"description": "Group all non-major dependency updates together",
"groupName": "all non-major dependencies",
"matchUpdateTypes": ["minor", "patch", "digest"],
"automerge": true,
"automergeType": "pr",
"minimumReleaseAge": "3 days"
},
{
"description": "Automerge TypeScript type packages",
"automerge": true,
"automergeType": "pr",
"matchPackageNames": ["/^@types//"]
},
{
"description": "Group ESLint packages together",
"groupName": "eslint packages",
"automerge": true,
"matchPackageNames": ["/^eslint/", "/^@typescript-eslint//"]
},
{
"description": "Group testing packages together",
"groupName": "testing packages",
"automerge": true,
"matchPackageNames": ["/^vitest/", "/^@vitest//", "/^@testing-library//"]
},
{
"description": "Group Next.js related packages",
"matchPackageNames": ["next", "eslint-config-next"],
"groupName": "Next.js packages",
"minimumReleaseAge": "7 days"
},
{
"description": "Group React packages",
"matchPackageNames": ["react", "react-dom", "@types/react", "@types/react-dom"],
"groupName": "React packages",
"description": "Major updates get individual PRs for review",
"matchUpdateTypes": ["major"],
"automerge": false,
"minimumReleaseAge": "7 days"
},
{
"description": "Pin Node.js major versions",
"matchPackageNames": ["node"],
"enabled": false
},
{
"description": "Group Tailwind CSS packages",
"groupName": "Tailwind CSS packages",
"matchPackageNames": [
"/^tailwindcss/",
"/^@tailwindcss//",
"/prettier-plugin-tailwindcss/"
]
},
{
"description": "Group font packages",
"groupName": "font packages",
"automerge": true,
"matchPackageNames": ["/^@fontsource/"]
}
],
"postUpdateOptions": ["pnpmDedupe"],

116
pnpm-lock.yaml generated
View File

@@ -119,10 +119,10 @@ importers:
version: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3)
'@vitest/coverage-v8':
specifier: ^4.0.1
version: 4.0.5(vitest@4.0.5)
version: 4.0.6(vitest@4.0.6)
'@vitest/ui':
specifier: ^4.0.1
version: 4.0.5(vitest@4.0.5)
version: 4.0.6(vitest@4.0.6)
eslint:
specifier: ^9.38.0
version: 9.38.0(jiti@2.6.1)
@@ -155,7 +155,7 @@ importers:
version: 5.9.3
vitest:
specifier: ^4.0.1
version: 4.0.5(@types/node@24.9.2)(@vitest/ui@4.0.5)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1)
version: 4.0.6(@types/node@24.9.2)(@vitest/ui@4.0.6)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1)
packages:
@@ -2057,20 +2057,20 @@ packages:
cpu: [x64]
os: [win32]
'@vitest/coverage-v8@4.0.5':
resolution: {integrity: sha512-Yn5Dx0UVvllE3uatQw+ftObWtM/TjAOdbd8WvygaR04iyFXdNmtvZ/nJ2/JndyzfPQtbAWw0F+GJY5+lgM/7qg==}
'@vitest/coverage-v8@4.0.6':
resolution: {integrity: sha512-cv6pFXj9/Otk7q1Ocoj8k3BUVVwnFr3jqcqpwYrU5LkKClU9DpaMEdX+zptx/RyIJS+/VpoxMWmfISXchmVDPQ==}
peerDependencies:
'@vitest/browser': 4.0.5
vitest: 4.0.5
'@vitest/browser': 4.0.6
vitest: 4.0.6
peerDependenciesMeta:
'@vitest/browser':
optional: true
'@vitest/expect@4.0.5':
resolution: {integrity: sha512-DJctLVlKoddvP/G389oGmKWNG6GD9frm2FPXARziU80Rjo7SIYxQzb2YFzmQ4fVD3Q5utUYY8nUmWrqsuIlIXQ==}
'@vitest/expect@4.0.6':
resolution: {integrity: sha512-5j8UUlBVhOjhj4lR2Nt9sEV8b4WtbcYh8vnfhTNA2Kn5+smtevzjNq+xlBuVhnFGXiyPPNzGrOVvmyHWkS5QGg==}
'@vitest/mocker@4.0.5':
resolution: {integrity: sha512-iYHIy72LfbK+mL5W8zXROp6oOcJKXWeKcNjcPPsqoa18qIEDrhB6/Z08o0wRajTd6SSSDNw8NCSIHVNOMpz0mw==}
'@vitest/mocker@4.0.6':
resolution: {integrity: sha512-3COEIew5HqdzBFEYN9+u0dT3i/NCwppLnO1HkjGfAP1Vs3vti1Hxm/MvcbC4DAn3Szo1M7M3otiAaT83jvqIjA==}
peerDependencies:
msw: ^2.4.9
vite: ^6.0.0 || ^7.0.0-0
@@ -2080,25 +2080,25 @@ packages:
vite:
optional: true
'@vitest/pretty-format@4.0.5':
resolution: {integrity: sha512-t1T/sSdsYyNc5AZl0EMeD0jW9cpJe2cODP0R++ZQe1kTkpgrwEfxGFR/yCG4w8ZybizbXRTHU7lE8sTDD/QsGw==}
'@vitest/pretty-format@4.0.6':
resolution: {integrity: sha512-4vptgNkLIA1W1Nn5X4x8rLJBzPiJwnPc+awKtfBE5hNMVsoAl/JCCPPzNrbf+L4NKgklsis5Yp2gYa+XAS442g==}
'@vitest/runner@4.0.5':
resolution: {integrity: sha512-CQVVe+YEeKSiFBD5gBAmRDQglm4PnMBYzeTmt06t5iWtsUN9StQeeKhYCea/oaqBYilf8sARG6fSctUcEL/UmQ==}
'@vitest/runner@4.0.6':
resolution: {integrity: sha512-trPk5qpd7Jj+AiLZbV/e+KiiaGXZ8ECsRxtnPnCrJr9OW2mLB72Cb824IXgxVz/mVU3Aj4VebY+tDTPn++j1Og==}
'@vitest/snapshot@4.0.5':
resolution: {integrity: sha512-jfmSAeR6xYNEvcD+/RxFGA1bzpqHtkVhgxo2cxXia+Q3xX7m6GpZij07rz+WyQcA/xEGn4eIS1OItkMyWsGBmQ==}
'@vitest/snapshot@4.0.6':
resolution: {integrity: sha512-PaYLt7n2YzuvxhulDDu6c9EosiRuIE+FI2ECKs6yvHyhoga+2TBWI8dwBjs+IeuQaMtZTfioa9tj3uZb7nev1g==}
'@vitest/spy@4.0.5':
resolution: {integrity: sha512-TUmVQpAQign7r8+EnZsgTF3vY9BdGofTUge1rGNbnHn2IN3FChiQoT9lrPz7A7AVUZJU2LAZXl4v66HhsNMhoA==}
'@vitest/spy@4.0.6':
resolution: {integrity: sha512-g9jTUYPV1LtRPRCQfhbMintW7BTQz1n6WXYQYRQ25qkyffA4bjVXjkROokZnv7t07OqfaFKw1lPzqKGk1hmNuQ==}
'@vitest/ui@4.0.5':
resolution: {integrity: sha512-msuwwWsWSKKOid91osirrm0hDUFojT9wde4GSefCj7BHz9SrXbFJSbrrKKEow0AmGhQi/k2FxIWnVifioWbMVg==}
'@vitest/ui@4.0.6':
resolution: {integrity: sha512-1ekpBsYNUm0Xv/0YsTvoSRmiRkmzz9Pma7qQ3Ui76sg2gwp2/ewSWqx4W/HfaN5dF0E8iBbidFo1wGaeqXYIrQ==}
peerDependencies:
vitest: 4.0.5
vitest: 4.0.6
'@vitest/utils@4.0.5':
resolution: {integrity: sha512-V5RndUgCB5/AfNvK9zxGCrRs99IrPYtMTIdUzJMMFs9nrmE5JXExIEfjVtUteyTRiLfCm+dCRMHf/Uu7Mm8/dg==}
'@vitest/utils@4.0.6':
resolution: {integrity: sha512-bG43VS3iYKrMIZXBo+y8Pti0O7uNju3KvNn6DrQWhQQKcLavMB+0NZfO1/QBAEbq0MaQ3QjNsnnXlGQvsh0Z6A==}
JSONStream@1.3.5:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
@@ -4112,18 +4112,18 @@ packages:
yaml:
optional: true
vitest@4.0.5:
resolution: {integrity: sha512-4H+J28MI5oeYgGg3h5BFSkQ1g/2GKK1IR8oorH3a6EQQbb7CwjbnyBjH4PGxw9/6vpwAPNzaeUMp4Js4WJmdXQ==}
vitest@4.0.6:
resolution: {integrity: sha512-gR7INfiVRwnEOkCk47faros/9McCZMp5LM+OMNWGLaDBSvJxIzwjgNFufkuePBNaesGRnLmNfW+ddbUJRZn0nQ==}
engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
'@types/debug': ^4.1.12
'@types/node': ^20.0.0 || ^22.0.0 || >=24.0.0
'@vitest/browser-playwright': 4.0.5
'@vitest/browser-preview': 4.0.5
'@vitest/browser-webdriverio': 4.0.5
'@vitest/ui': 4.0.5
'@vitest/browser-playwright': 4.0.6
'@vitest/browser-preview': 4.0.6
'@vitest/browser-webdriverio': 4.0.6
'@vitest/ui': 4.0.6
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -6049,10 +6049,10 @@ snapshots:
'@unrs/resolver-binding-win32-x64-msvc@1.11.1':
optional: true
'@vitest/coverage-v8@4.0.5(vitest@4.0.5)':
'@vitest/coverage-v8@4.0.6(vitest@4.0.6)':
dependencies:
'@bcoe/v8-coverage': 1.0.2
'@vitest/utils': 4.0.5
'@vitest/utils': 4.0.6
ast-v8-to-istanbul: 0.3.8
debug: 4.4.3
istanbul-lib-coverage: 3.2.2
@@ -6062,58 +6062,58 @@ snapshots:
magicast: 0.3.5
std-env: 3.10.0
tinyrainbow: 3.0.3
vitest: 4.0.5(@types/node@24.9.2)(@vitest/ui@4.0.5)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1)
vitest: 4.0.6(@types/node@24.9.2)(@vitest/ui@4.0.6)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
'@vitest/expect@4.0.5':
'@vitest/expect@4.0.6':
dependencies:
'@standard-schema/spec': 1.0.0
'@types/chai': 5.2.3
'@vitest/spy': 4.0.5
'@vitest/utils': 4.0.5
'@vitest/spy': 4.0.6
'@vitest/utils': 4.0.6
chai: 6.2.0
tinyrainbow: 3.0.3
'@vitest/mocker@4.0.5(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1))':
'@vitest/mocker@4.0.6(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1))':
dependencies:
'@vitest/spy': 4.0.5
'@vitest/spy': 4.0.6
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
vite: 7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1)
'@vitest/pretty-format@4.0.5':
'@vitest/pretty-format@4.0.6':
dependencies:
tinyrainbow: 3.0.3
'@vitest/runner@4.0.5':
'@vitest/runner@4.0.6':
dependencies:
'@vitest/utils': 4.0.5
'@vitest/utils': 4.0.6
pathe: 2.0.3
'@vitest/snapshot@4.0.5':
'@vitest/snapshot@4.0.6':
dependencies:
'@vitest/pretty-format': 4.0.5
'@vitest/pretty-format': 4.0.6
magic-string: 0.30.21
pathe: 2.0.3
'@vitest/spy@4.0.5': {}
'@vitest/spy@4.0.6': {}
'@vitest/ui@4.0.5(vitest@4.0.5)':
'@vitest/ui@4.0.6(vitest@4.0.6)':
dependencies:
'@vitest/utils': 4.0.5
'@vitest/utils': 4.0.6
fflate: 0.8.2
flatted: 3.3.3
pathe: 2.0.3
sirv: 3.0.2
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
vitest: 4.0.5(@types/node@24.9.2)(@vitest/ui@4.0.5)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1)
vitest: 4.0.6(@types/node@24.9.2)(@vitest/ui@4.0.6)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1)
'@vitest/utils@4.0.5':
'@vitest/utils@4.0.6':
dependencies:
'@vitest/pretty-format': 4.0.5
'@vitest/pretty-format': 4.0.6
tinyrainbow: 3.0.3
JSONStream@1.3.5:
@@ -8323,15 +8323,15 @@ snapshots:
sass: 1.93.3
yaml: 2.8.1
vitest@4.0.5(@types/node@24.9.2)(@vitest/ui@4.0.5)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1):
vitest@4.0.6(@types/node@24.9.2)(@vitest/ui@4.0.6)(happy-dom@20.0.10)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1):
dependencies:
'@vitest/expect': 4.0.5
'@vitest/mocker': 4.0.5(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1))
'@vitest/pretty-format': 4.0.5
'@vitest/runner': 4.0.5
'@vitest/snapshot': 4.0.5
'@vitest/spy': 4.0.5
'@vitest/utils': 4.0.5
'@vitest/expect': 4.0.6
'@vitest/mocker': 4.0.6(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.93.3)(yaml@2.8.1))
'@vitest/pretty-format': 4.0.6
'@vitest/runner': 4.0.6
'@vitest/snapshot': 4.0.6
'@vitest/spy': 4.0.6
'@vitest/utils': 4.0.6
debug: 4.4.3
es-module-lexer: 1.7.0
expect-type: 1.2.2
@@ -8347,7 +8347,7 @@ snapshots:
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 24.9.2
'@vitest/ui': 4.0.5(vitest@4.0.5)
'@vitest/ui': 4.0.6(vitest@4.0.6)
happy-dom: 20.0.10
transitivePeerDependencies:
- jiti