generated from 8iq/nodejs-hackathon-boilerplate-starter-kit
-
Notifications
You must be signed in to change notification settings - Fork 112
Open
Description
When deploying a single app from the monorepo, the current Docker flow still behaves monorepo-wide:
- Build stage runs root-level
yarn build. - Runtime stage copies the full
/appdirectory.
This makes app-level deploys expensive in build time and image size.
Current behavior
- Builder runs
yarn buildfrom repo root (Dockerfile:65). - Runtime copies full
/appfrom builder (Dockerfile:75). - CI prepares
./out, but it is not app-scoped and includes workspace manifests broadly (.github/workflows/nodejs.condo.ci.yml:70,bin/prune.sh:1).
Why this is a problem
- Slower CI/CD for app-specific releases.
- Larger push/pull payloads for single-service deploys.
- Runtime image includes dependencies unrelated to the target app.
- In practice, runtime deploys may require transferring very large
node_modulesdirectories, even for a single app.
Reproduction (current state)
- Build image from repository root.
- Measure build duration and final image size.
- Inspect runtime image contents and verify unrelated apps/dependencies are present.
Expected behavior
For app-level deployment (@app/<name>):
- Each sub-project can be built independently (without monorepo-wide build coupling).
- Build scope is limited to target app + required workspace dependencies only.
- Runtime image contains only required runtime artifacts/dependencies for target app.
- Runtime image does not include monorepo-wide
node_modulesand unrelated app sources. - Running one app should not require shipping huge monorepo
node_modules.
Request
Could maintainers advise on the recommended Condo approach for:
- app-scoped Docker builds (instead of root monorepo-wide build),
- app-scoped runtime dependency packaging,
- avoiding full
/appcopy into runtime for single-service deploys?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels