Dentolize · Prisma CLI Devdependency Move Walkthrough
On this pageStep 1 — the sandbox's running servicesStep 2 — checking the server image after the fixWhat to take away

Walkthrough (sandbox evidence)

This PR has no UI screens — it edits one line of a package.json. So instead of clicking through screens, this walkthrough drives the sandbox terminal for the perf/sandbox-image-slim branch (the branch this PR ships on) to show what actually happens when the change is built and run.

Step 1 — the sandbox's running services

Opening the sandbox terminal shows the containers this branch's preview environment actually runs:

Sandbox terminal container picker showing clinic-web, cron, minio, postgres, queue, redis, server, and terminal — no whatsapp or auth-api container
Sandbox terminal container picker showing clinic-web, cron, minio, postgres, queue, redis, server, and terminal — no whatsapp or auth-api container

Note what's not there: no auth-api container, and no whatsapp container (this sandbox has WhatsApp disabled — whatsapp=false in its settings). That matches the Dockerfile's own header comment that the auth-server target doesn't exist on this branch. The PR description's mention of an "auth-api" image doesn't correspond to anything this Dockerfile builds today.

Step 2 — checking the server image after the fix

The sandbox was built from this PR's own head commit, so its server container already reflects the dependenciesdevDependencies move. Opening a shell in the server container and checking both the manifest and the actual installed files:

Terminal output: dependencies.prisma is undefined, devDependencies.prisma is 7.4.2, but node_modules/.bin/prisma still exists as a symlink and node_modules/prisma is still 41M on disk
Terminal output: dependencies.prisma is undefined, devDependencies.prisma is 7.4.2, but node_modules/.bin/prisma still exists as a symlink and node_modules/prisma is still 41M on disk

Reading this top to bottom:

  • dependencies.prisma = undefined — confirms the PR's edit landed:

prisma is no longer under dependencies in the running image's copy of packages/server/package.json.

  • devDependencies.prisma = 7.4.2 — confirms it now lives in

devDependencies instead, at the same pinned version as before.

  • /app/node_modules/.bin/prisma still exists as a symlink into

../prisma/build/index.js, and /app/node_modules/prisma is still 41 MB on disk.

In other words: the manifest changed exactly as the PR intends, but the server image that's actually running in this sandbox did not get smaller. That's expected once you read Dockerfile:303-308 (see Feature breakdown) — the server image build step never passes --production, so it installs devDependencies right alongside dependencies regardless of which section a package sits in.

What to take away

This isn't a bug in the terminal session or a stale image — it's the Dockerfile's build stage doing exactly what its own comment says it does. The evidence here is the honest, current-state answer to "did this PR shrink the server image?" for this repository as it stands today: no, not by itself. See Feature breakdown for where the change does matter, and For Quality for what a tester should check before treating the image-size goal as met.