fix(deps): revert TS6/ESLint10/webpack-cli7 majors and gate future majors #43
Reference in New Issue
Block a user
Delete Branch "fix/deps/revert-typescript-eslint-majors"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Three Renovate major bumps merged silently because
nx affecteddoesn't see deps-only PRs as affecting any project — CI passed trivially, the breakage only surfaced whennx run-manywas run locally:tsconfig.lib.jsonfails withTS5101: Option 'baseUrl' is deprecated. Revert to 5.9.x.@nx/eslint@22.7.1not compatible: project graph fails with "Unable to find eslint". Revert eslint,@eslint/js,jsonc-eslint-parser,eslint-plugin-playwrightto ESLint-9-compatible versions.--node-env=productionflag Nx generates. Revert to 5.x.Bonus side-fix: the
ajv@<8.18.0override added in #42 was over-broad and was forcing ESLint's bundled ajv to v8 (incompatible with ESLint 9's option contract). Narrow the override to@angular-devkit/core>ajv@<8.18.0so only the targeted nestjs-prisma chain is bumped.Prevention — gate majors behind the dependency dashboard
Add a Renovate
packageRulewithdependencyDashboardApproval: trueformatchUpdateTypes: ["major"]. Renovate stops auto-creating PRs for majors; they appear as checkboxes in the dashboard issue, and only get a PR after a human ticks the box (presumably after reading the changelog and confirming Nx-plugin / Angular / NestJS readiness).This is the surgical fix for the gap. The deeper fix (making
nx affectedcorrectly mark all projects as affected on package.json changes) is a separate investigation worth doing later — but the dashboard gate prevents the same trap regardless.Verification
Locally on this branch:
pnpm exec nx run-many -t lint test build --parallel=2→ ✓ 8 projects pass.pnpm audit --audit-level=moderate→ 0 vulnerabilities.Test plan
checkjob goes green on this PR (would have caught the regressions ifnx affectedwere broader).Out of scope (follow-up)
Investigate why
nx affectedmisses package.json-only changes. Likely a missing entry innx.jsonnamedInputs(default) ortargetDefaults. Worth its own focused PR; the dashboard gate is the conservative fix in the meantime.