From 57d0f5d2a3b136c245bd6001c3de1f5f12c49c99 Mon Sep 17 00:00:00 2001 From: Jason Woltje Date: Tue, 17 Feb 2026 14:28:55 -0600 Subject: [PATCH] fix(#411): resolve CI lint crash from ajv override 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. --- package.json | 1 - packages/config/package.json | 6 +-- pnpm-lock.yaml | 79 ++++++++++++++++++++++++++---------- 3 files changed, 59 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index b141968..bc5f6d4 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,6 @@ "form-data": ">=2.5.4", "lodash": ">=4.17.23", "lodash-es": ">=4.17.23", - "ajv": ">=8.18.0", "request": "npm:@cypress/request@3.0.10", "qs": ">=6.15.0", "tough-cookie": ">=4.1.3", diff --git a/packages/config/package.json b/packages/config/package.json index 98de936..8338697 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -13,7 +13,7 @@ "./eslint/nestjs": "./eslint/nestjs.js", "./prettier": "./prettier/index.js" }, - "dependencies": { + "devDependencies": { "@eslint/js": "^9.21.0", "@typescript-eslint/eslint-plugin": "^8.26.0", "@typescript-eslint/parser": "^8.26.0", @@ -22,9 +22,7 @@ "eslint-plugin-prettier": "^5.2.3", "eslint-plugin-security": "^3.0.1", "prettier": "^3.5.3", + "typescript": "^5.8.2", "typescript-eslint": "^8.26.0" - }, - "devDependencies": { - "typescript": "^5.8.2" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ecfacda..8b9c2a8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,6 @@ overrides: form-data: '>=2.5.4' lodash: '>=4.17.23' lodash-es: '>=4.17.23' - ajv: '>=8.18.0' request: npm:@cypress/request@3.0.10 qs: '>=6.15.0' tough-cookie: '>=4.1.3' @@ -480,7 +479,7 @@ importers: packages/cli-tools: {} packages/config: - dependencies: + devDependencies: '@eslint/js': specifier: ^9.21.0 version: 9.39.2 @@ -505,13 +504,12 @@ importers: prettier: specifier: ^3.5.3 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: specifier: ^5.8.2 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: devDependencies: @@ -3293,7 +3291,7 @@ packages: ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: - ajv: '>=8.18.0' + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -3301,7 +3299,7 @@ packages: ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: - ajv: '>=8.18.0' + ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -3309,12 +3307,18 @@ packages: ajv-keywords@3.5.2: resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} peerDependencies: - ajv: '>=8.18.0' + ajv: ^6.9.1 ajv-keywords@5.1.0: resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} 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: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} @@ -4580,6 +4584,9 @@ packages: fast-fifo@1.3.2: 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: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} @@ -5063,6 +5070,9 @@ packages: resolution: {integrity: sha512-+DWg8jCJG2TEnpy7kOm/7/AxaYoaRbjVB4LFZLySZlWn8exGs3A4OLJR966cVvU26N7X9TWxl+Jsw7dzAqKT6g==} engines: {node: '>=16'} + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} @@ -6651,6 +6661,9 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + use-sync-external-store@1.6.0: resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: @@ -7034,8 +7047,8 @@ snapshots: '@angular-devkit/core@19.2.17(chokidar@4.0.3)': dependencies: - ajv: 8.18.0 - ajv-formats: 3.0.1(ajv@8.18.0) + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) jsonc-parser: 3.3.1 picomatch: 4.0.2 rxjs: 7.8.1 @@ -7045,8 +7058,8 @@ snapshots: '@angular-devkit/core@19.2.19(chokidar@4.0.3)': dependencies: - ajv: 8.18.0 - ajv-formats: 3.0.1(ajv@8.18.0) + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) jsonc-parser: 3.3.1 picomatch: 4.0.2 rxjs: 7.8.1 @@ -7730,7 +7743,7 @@ snapshots: '@eslint/eslintrc@3.3.3': dependencies: - ajv: 8.18.0 + ajv: 6.12.6 debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 @@ -10238,19 +10251,33 @@ snapshots: optionalDependencies: ajv: 8.18.0 - ajv-formats@3.0.1(ajv@8.18.0): + ajv-formats@3.0.1(ajv@8.17.1): 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: - ajv: 8.18.0 + ajv: 6.12.6 ajv-keywords@5.1.0(ajv@8.18.0): dependencies: ajv: 8.18.0 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: dependencies: fast-deep-equal: 3.1.3 @@ -11409,7 +11436,7 @@ snapshots: '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - ajv: 8.18.0 + ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 @@ -11573,6 +11600,8 @@ snapshots: fast-fifo@1.3.2: {} + fast-json-stable-stringify@2.1.0: {} + fast-levenshtein@2.0.6: {} fast-safe-stringify@2.1.1: {} @@ -12087,6 +12116,8 @@ snapshots: '@babel/runtime': 7.28.6 ts-algebra: 2.0.0 + json-schema-traverse@0.4.1: {} + json-schema-traverse@1.0.0: {} json-schema@0.4.0: {} @@ -13159,8 +13190,8 @@ snapshots: schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 - ajv: 8.18.0 - ajv-keywords: 3.5.2(ajv@8.18.0) + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) schema-utils@4.3.3: dependencies: @@ -13814,6 +13845,10 @@ snapshots: escalade: 3.2.0 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): dependencies: react: 19.2.4