Conversation
The Dockerfile uses --no-frozen-lockfile (no lockfile in build context), so pnpm installs the latest ^11.x which added an exports field that hides ./dist/constants. The decorator package @nanogiants/nestjs-swagger-api-exception-decorator imports this subpath, causing ERR_PACKAGE_PATH_NOT_EXPORTED at runtime. Also fixes node running .ts scripts by installing tsx and using it for fetch-spec and docker-build recipes.
Uses pnpm --filter scripts docker-build which runs tsx with --env-file=.env to load database credentials.
Switch FROM node:24 to node:24-alpine for the final stage to eliminate unnecessary OS packages in the production image.
Set pull_policy: never and image: backend:latest so docker compose uses the locally built image instead of pulling from GHCR.
Client and auth getters lacked explicit return type annotations, causing type inference failures in GitHub Actions CI.
scripts/docker-build-backend.ts wraps docker build with --build-arg for DATABASE_CLOUD_URL and DIRECT_CLOUD_URL, invocable via 'just docker-build'. scripts/.env.template documents the required env vars.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements to the development workflow, Docker configuration, type safety, and dependency management. The most notable changes are the addition of a
justfilefor consistent developer commands, updates to Docker and Compose files for local development, enhancements to TypeScript typings, and dependency updates (including security-related deprecations and new package versions).Developer workflow improvements:
justfileat the project root to standardize and simplify common development tasks such as install, prepare, run, Docker build/compose, and dependency cleanup/reset.Docker and Compose configuration:
backend/Dockerfileto use the lighternode:24-alpinebase image, reducing image size and improving build efficiency.backend/compose.dev.ymlto use the locally builtbackend:latestimage withpull_policy: never, facilitating local development without requiring remote image pulls.TypeScript and code quality enhancements:
SupabaseServiceby explicitly annotating the return types of theclientandauthgetters.@nestjs/swaggerdependency inbackend/package.jsonto use an exact version string for improved reproducibility.Dependency and security updates:
tsxpackage from4.20.5to4.22.4inpnpm-lock.yaml, and added it to thescriptsworkspace. [1] [2] [3]esbuild@0.28.0topnpm-lock.yaml. [1] [2]glob,tar,@ungap/structured-clone) as deprecated due to security vulnerabilities, with recommendations to update. [1] [2] [3]