fix(#411): resolve CI lint crash from ajv override
All checks were successful
ci/woodpecker/push/orchestrator Pipeline was successful
ci/woodpecker/push/web Pipeline was successful
ci/woodpecker/push/api Pipeline was successful

Drop the global ajv override that forced ESLint onto an incompatible major, then move @mosaic/config lint tooling deps to devDependencies so production audit stays clean without impacting runtime deps.
This commit is contained in:
Jason Woltje
2026-02-17 14:28:55 -06:00
parent ad428598a9
commit 57d0f5d2a3
3 changed files with 59 additions and 27 deletions

View File

@@ -66,7 +66,6 @@
"form-data": ">=2.5.4", "form-data": ">=2.5.4",
"lodash": ">=4.17.23", "lodash": ">=4.17.23",
"lodash-es": ">=4.17.23", "lodash-es": ">=4.17.23",
"ajv": ">=8.18.0",
"request": "npm:@cypress/request@3.0.10", "request": "npm:@cypress/request@3.0.10",
"qs": ">=6.15.0", "qs": ">=6.15.0",
"tough-cookie": ">=4.1.3", "tough-cookie": ">=4.1.3",

View File

@@ -13,7 +13,7 @@
"./eslint/nestjs": "./eslint/nestjs.js", "./eslint/nestjs": "./eslint/nestjs.js",
"./prettier": "./prettier/index.js" "./prettier": "./prettier/index.js"
}, },
"dependencies": { "devDependencies": {
"@eslint/js": "^9.21.0", "@eslint/js": "^9.21.0",
"@typescript-eslint/eslint-plugin": "^8.26.0", "@typescript-eslint/eslint-plugin": "^8.26.0",
"@typescript-eslint/parser": "^8.26.0", "@typescript-eslint/parser": "^8.26.0",
@@ -22,9 +22,7 @@
"eslint-plugin-prettier": "^5.2.3", "eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-security": "^3.0.1", "eslint-plugin-security": "^3.0.1",
"prettier": "^3.5.3", "prettier": "^3.5.3",
"typescript": "^5.8.2",
"typescript-eslint": "^8.26.0" "typescript-eslint": "^8.26.0"
},
"devDependencies": {
"typescript": "^5.8.2"
} }
} }

79
pnpm-lock.yaml generated
View File

@@ -9,7 +9,6 @@ overrides:
form-data: '>=2.5.4' form-data: '>=2.5.4'
lodash: '>=4.17.23' lodash: '>=4.17.23'
lodash-es: '>=4.17.23' lodash-es: '>=4.17.23'
ajv: '>=8.18.0'
request: npm:@cypress/request@3.0.10 request: npm:@cypress/request@3.0.10
qs: '>=6.15.0' qs: '>=6.15.0'
tough-cookie: '>=4.1.3' tough-cookie: '>=4.1.3'
@@ -480,7 +479,7 @@ importers:
packages/cli-tools: {} packages/cli-tools: {}
packages/config: packages/config:
dependencies: devDependencies:
'@eslint/js': '@eslint/js':
specifier: ^9.21.0 specifier: ^9.21.0
version: 9.39.2 version: 9.39.2
@@ -505,13 +504,12 @@ importers:
prettier: prettier:
specifier: ^3.5.3 specifier: ^3.5.3
version: 3.8.1 version: 3.8.1
typescript-eslint:
specifier: ^8.26.0
version: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
devDependencies:
typescript: typescript:
specifier: ^5.8.2 specifier: ^5.8.2
version: 5.9.3 version: 5.9.3
typescript-eslint:
specifier: ^8.26.0
version: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
packages/shared: packages/shared:
devDependencies: devDependencies:
@@ -3293,7 +3291,7 @@ packages:
ajv-formats@2.1.1: ajv-formats@2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependencies: peerDependencies:
ajv: '>=8.18.0' ajv: ^8.0.0
peerDependenciesMeta: peerDependenciesMeta:
ajv: ajv:
optional: true optional: true
@@ -3301,7 +3299,7 @@ packages:
ajv-formats@3.0.1: ajv-formats@3.0.1:
resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
peerDependencies: peerDependencies:
ajv: '>=8.18.0' ajv: ^8.0.0
peerDependenciesMeta: peerDependenciesMeta:
ajv: ajv:
optional: true optional: true
@@ -3309,12 +3307,18 @@ packages:
ajv-keywords@3.5.2: ajv-keywords@3.5.2:
resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
peerDependencies: peerDependencies:
ajv: '>=8.18.0' ajv: ^6.9.1
ajv-keywords@5.1.0: ajv-keywords@5.1.0:
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
peerDependencies: peerDependencies:
ajv: '>=8.18.0' ajv: ^8.8.2
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
ajv@8.17.1:
resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
ajv@8.18.0: ajv@8.18.0:
resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==}
@@ -4580,6 +4584,9 @@ packages:
fast-fifo@1.3.2: fast-fifo@1.3.2:
resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
fast-levenshtein@2.0.6: fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
@@ -5063,6 +5070,9 @@ packages:
resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==} resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==}
engines: {node: '>=16'} engines: {node: '>=16'}
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
json-schema-traverse@1.0.0: json-schema-traverse@1.0.0:
resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
@@ -6651,6 +6661,9 @@ packages:
peerDependencies: peerDependencies:
browserslist: '>= 4.21.0' browserslist: '>= 4.21.0'
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
use-sync-external-store@1.6.0: use-sync-external-store@1.6.0:
resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==}
peerDependencies: peerDependencies:
@@ -7034,8 +7047,8 @@ snapshots:
'@angular-devkit/core@19.2.17(chokidar@4.0.3)': '@angular-devkit/core@19.2.17(chokidar@4.0.3)':
dependencies: dependencies:
ajv: 8.18.0 ajv: 8.17.1
ajv-formats: 3.0.1(ajv@8.18.0) ajv-formats: 3.0.1(ajv@8.17.1)
jsonc-parser: 3.3.1 jsonc-parser: 3.3.1
picomatch: 4.0.2 picomatch: 4.0.2
rxjs: 7.8.1 rxjs: 7.8.1
@@ -7045,8 +7058,8 @@ snapshots:
'@angular-devkit/core@19.2.19(chokidar@4.0.3)': '@angular-devkit/core@19.2.19(chokidar@4.0.3)':
dependencies: dependencies:
ajv: 8.18.0 ajv: 8.17.1
ajv-formats: 3.0.1(ajv@8.18.0) ajv-formats: 3.0.1(ajv@8.17.1)
jsonc-parser: 3.3.1 jsonc-parser: 3.3.1
picomatch: 4.0.2 picomatch: 4.0.2
rxjs: 7.8.1 rxjs: 7.8.1
@@ -7730,7 +7743,7 @@ snapshots:
'@eslint/eslintrc@3.3.3': '@eslint/eslintrc@3.3.3':
dependencies: dependencies:
ajv: 8.18.0 ajv: 6.12.6
debug: 4.4.3 debug: 4.4.3
espree: 10.4.0 espree: 10.4.0
globals: 14.0.0 globals: 14.0.0
@@ -10238,19 +10251,33 @@ snapshots:
optionalDependencies: optionalDependencies:
ajv: 8.18.0 ajv: 8.18.0
ajv-formats@3.0.1(ajv@8.18.0): ajv-formats@3.0.1(ajv@8.17.1):
optionalDependencies: optionalDependencies:
ajv: 8.18.0 ajv: 8.17.1
ajv-keywords@3.5.2(ajv@8.18.0): ajv-keywords@3.5.2(ajv@6.12.6):
dependencies: dependencies:
ajv: 8.18.0 ajv: 6.12.6
ajv-keywords@5.1.0(ajv@8.18.0): ajv-keywords@5.1.0(ajv@8.18.0):
dependencies: dependencies:
ajv: 8.18.0 ajv: 8.18.0
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
ajv@6.12.6:
dependencies:
fast-deep-equal: 3.1.3
fast-json-stable-stringify: 2.1.0
json-schema-traverse: 0.4.1
uri-js: 4.4.1
ajv@8.17.1:
dependencies:
fast-deep-equal: 3.1.3
fast-uri: 3.1.0
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
ajv@8.18.0: ajv@8.18.0:
dependencies: dependencies:
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
@@ -11409,7 +11436,7 @@ snapshots:
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.4.3 '@humanwhocodes/retry': 0.4.3
'@types/estree': 1.0.8 '@types/estree': 1.0.8
ajv: 8.18.0 ajv: 6.12.6
chalk: 4.1.2 chalk: 4.1.2
cross-spawn: 7.0.6 cross-spawn: 7.0.6
debug: 4.4.3 debug: 4.4.3
@@ -11573,6 +11600,8 @@ snapshots:
fast-fifo@1.3.2: {} fast-fifo@1.3.2: {}
fast-json-stable-stringify@2.1.0: {}
fast-levenshtein@2.0.6: {} fast-levenshtein@2.0.6: {}
fast-safe-stringify@2.1.1: {} fast-safe-stringify@2.1.1: {}
@@ -12087,6 +12116,8 @@ snapshots:
'@babel/runtime': 7.28.6 '@babel/runtime': 7.28.6
ts-algebra: 2.0.0 ts-algebra: 2.0.0
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {} json-schema-traverse@1.0.0: {}
json-schema@0.4.0: {} json-schema@0.4.0: {}
@@ -13159,8 +13190,8 @@ snapshots:
schema-utils@3.3.0: schema-utils@3.3.0:
dependencies: dependencies:
'@types/json-schema': 7.0.15 '@types/json-schema': 7.0.15
ajv: 8.18.0 ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@8.18.0) ajv-keywords: 3.5.2(ajv@6.12.6)
schema-utils@4.3.3: schema-utils@4.3.3:
dependencies: dependencies:
@@ -13814,6 +13845,10 @@ snapshots:
escalade: 3.2.0 escalade: 3.2.0
picocolors: 1.1.1 picocolors: 1.1.1
uri-js@4.4.1:
dependencies:
punycode: 2.3.1
use-sync-external-store@1.6.0(react@19.2.4): use-sync-external-store@1.6.0(react@19.2.4):
dependencies: dependencies:
react: 19.2.4 react: 19.2.4