chore(ui): remove eslint-metrics.json lint-count snapshot - #32930
Conversation
The eslint-metrics.json snapshot duplicated the violation counts already enforced by eslint-budgets.json. Keeping it current added a CI drift check, a pre-commit regenerate-and-flag step, and a standalone npm run lint:metrics script, none of which caught anything the budget gate did not, yet all of which failed noisily whenever the snapshot went stale. This drops the file and that machinery while leaving eslint-budgets.json as the actual ratchet gate
…itellm_/remove-eslint-metrics-63b302
Greptile SummaryThis PR removes the committed
Confidence Score: 5/5Safe to merge; all changes are confined to internal tooling with no runtime or proxy surface. Every changed file is build/CI tooling. The budget enforcement path (eslint-budgets.json + countBudgetViolations) is untouched. Removed tests correspond exactly to the deleted findDrift function, so no regression coverage is lost. The simplification of argument parsing in check-lint-budgets.mjs is consistent with its updated call sites. No files require special attention.
|
| Filename | Overview |
|---|---|
| .github/workflows/test-litellm-ui-lint.yml | Removes the --check eslint-metrics.json flag from the CI lint command; the budget enforcement step is unchanged. |
| scripts/pre_commit_lint.sh | Removes drift-detection logic (--write flag, git diff check, and stale-file error message) for eslint-metrics.json; budget enforcement via check-lint-budgets.mjs remains intact. |
| ui/litellm-dashboard/scripts/check-lint-budgets.mjs | Simplifies argument parsing from a flag-based (--check/--write) approach to plain positional args; removes the write/check blocks that maintained eslint-metrics.json. |
| ui/litellm-dashboard/scripts/lint-budget-lib.mjs | Removes the findDrift export; countBudgetViolations is unchanged. |
| ui/litellm-dashboard/tests/lint-budget-lib.test.ts | Removes findDrift test suite, which directly corresponds to the deleted function; countBudgetViolations tests are untouched. |
| ui/litellm-dashboard/scripts/update-lint-metrics.mjs | Deleted; was the standalone script behind npm run lint:metrics, no longer needed. |
| ui/litellm-dashboard/eslint-metrics.json | Deleted snapshot of per-rule violation counts; tracking has moved elsewhere so the committed file is no longer needed. |
| ui/litellm-dashboard/package.json | Removes the lint:metrics convenience script; all other scripts are unchanged. |
Reviews (1): Last reviewed commit: "Merge remote-tracking branch 'origin/lit..." | Re-trigger Greptile
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
b21c4ce
into
litellm_internal_staging
Accepts upstream's deletion of eslint-metrics.json (#32930 removed the metrics gate), which also removes this branch's recurring conflict source
Relevant issues
Linear ticket
Pre-Submission checklist
Please complete all items before asking a LiteLLM maintainer to review your PR
@greptileaito re-request a review after pushing changes)Delays in PR merge?
If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).
Screenshots / Proof of Fix
This is a CI/tooling-only change with no runtime or proxy surface, so there is nothing to curl. Verification was that the lint gate still works after the removal: running the exact CI budget command locally (
node scripts/check-lint-budgets.mjs <report> eslint-budgets.json) exits 0 and reports headroom on every rule, thelint-budget-libunit tests pass, andmake pre-commitpasses with noschema.d.tsdriftType
🧹 Refactoring
Changes
ui/litellm-dashboard/eslint-metrics.jsonwas a committed snapshot of the current lint-violation counts kept purely for internal tracking. That tracking now lives elsewhere, so carrying the snapshot inside litellm only adds internal metrics we do not want to overload the repo withThis removes the file along with the machinery that kept it in sync: the CI drift check in the UI Lint workflow, the pre-commit regenerate-and-flag step, and the standalone
npm run lint:metricsscriptThe ratchet gate itself is unchanged.
eslint-budgets.jsonstill enforces the per-rule ceilings in CI, so lint quality does not regress; only the redundant internal-metrics bookkeeping goes away