Commit 66cd748
authored
##### Description of Change
**Problem:** `docker-compose up --build` in
`deployments/advisor-demo-docker/` fails to build `lif-advisor-app`:
```
npm error `npm ci` can only install packages when your package.json and package-lock.json ... are in sync.
npm error Missing: esbuild@0.28.1 from lock file (+ 25 @esbuild/<platform> packages)
```
Compose aborts the batch, so `lif-advisor-api` is cancelled too and the
advisor demo never comes up.
**Root cause:** #978 (Issue #972) added `vitest@^4.1.8` to
`frontends/lif_advisor_app/package.json` without regenerating
`package-lock.json`. `vitest@4.1.8` pulls a nested `vite@8` whose peer
dep is `esbuild@^0.27 || ^0.28`; that tree was never written to the lock
(which only had `esbuild@0.21.5`). Local `npm install` (loose)
reconciled silently; the Dockerfile's `npm ci` (strict) does not — so it
only broke in compose.
**Solution:**
- Regenerated `package-lock.json` **with npm 10.8.2 inside
`node:20-alpine`** (the build image). Regenerating with npm 11 produces
no diff and does not fix the container, so the version match matters.
- Re-enabled (uncommented) `lif-advisor-api` / `lif-advisor-app` in
`deployments/advisor-demo-docker/docker-compose.yml` — they had been
commented out during the LDE work (#906/#958) — so the demo runs
end-to-end again.
**Side effects / limitations:** none expected; change is confined to the
advisor-demo deployment and the advisor-app lockfile. No application
source changed.
**How to test:** see Testing below.
##### Related Issues
Closes #1002
##### Type of Change
- [x] Bug fix (non-breaking change which fixes an issue)
- [x] Infrastructure/deployment change
##### Project Area(s) Affected
- [x] frontends/
- [x] deployments/
---
##### Checklist
- [x] commit message follows commit guidelines (see
commitlint.config.mjs)
- [x] configuration changes: relevant folder README updated — n/a (no
README change needed; usage unchanged)
##### Testing
- [x] Manual testing performed
In `node:20-alpine` (the Dockerfile base):
- `npm ci` succeeds with the regenerated lock.
- `npm run build` (vite) produces `dist/` cleanly.
Full stack via `docker compose up --build`:
- 29 services up; advisor UI `http://localhost:5174/` → 200, advisor API
`http://localhost:8004/health` → 200, plus MDR UI/API, GraphQL, Dagster
all 200.
##### Additional Notes
The lockfile must be regenerated with the same npm major as the Docker
build image. To avoid recurrence, a CI smoke build of the compose stack
(see #584) would catch lock drift before merge.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
2 files changed
Lines changed: 551 additions & 69 deletions
File tree
- deployments/advisor-demo-docker
- frontends/lif_advisor_app
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
413 | | - | |
414 | | - | |
415 | | - | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | | - | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
452 | 452 | | |
453 | 453 | | |
454 | 454 | | |
| |||
0 commit comments