build(makefile): swap npm ci for npm install so bootstrap no-ops on unchanged ui deps - #35509
Conversation
Greptile SummaryThe PR changes dashboard bootstrap from
Confidence Score: 4/5The PR should not merge until bootstrap once again detects or repairs modified and corrupted dashboard dependency trees. The current bootstrap runs Files Needing Attention: Makefile
|
| Filename | Overview |
|---|---|
| Makefile | Replaces the clean dashboard dependency installation with an incremental installation; the previously reported dependency-integrity issue remains outstanding. |
Reviews (5): Last reviewed commit: "build(makefile): swap npm ci for npm ins..." | Re-trigger Greptile
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
I checked and npm install restores deleted packages. And also, if we must repair deps each time, then we'd have to go back to reinstalling all packages, defeating the point of incremental installs, which is the whole point of this PR @greptileai given this, update your score and summary as needed |
|
npm install restores missing packages from the lockfile. Content-level corruption is rare, self-inflicted, and fixable with rm -rf node_modules. It's not worth reinstalling every run @greptileai given this, update your score and summary as needed |
TLDR
Problem this solves:
make bootstraprerunsnpm cievery time, wasting ~16s per runnpm ciwipes and reinstalls node_modules even when nothing changedHow it solves it:
npm cifornpm install, which no-ops when node_modules matches the lockfileRelevant 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
Before, at base b1fd20f (its Makefile run from the same checkout): two consecutive bootstraps both reinstall all 835 packages even though nothing changed
After, at 25b89a6: a cold run (node_modules deleted first) installs everything, the warm rerun no-ops in under a second, and the lockfile is untouched either way
Type
🚄 Infrastructure
Changes
The
npm cistep inmake bootstrapbecomesnpm install. When node_modules already matches package.json and package-lock.json, npm compares against node_modules/.package-lock.json and no-ops in well under a second instead of wiping and reinstalling everything; when they differ it installs exactly the locked versions. The one behavioral difference fromnpm ciis that an out-of-sync package.json and lockfile pair (hand-edited package.json without reinstalling, or a bad merge) gets the lockfile rewritten instead of erroring, whichgit statusmakes visible immediately