From 6725ed5b4035462825bb8dd1764994c6c91bbc9b Mon Sep 17 00:00:00 2001 From: Brian Gann Date: Thu, 17 Jul 2025 00:35:43 -0400 Subject: [PATCH] working dev mode --- Dockerfile | 6 +++--- Makefile | 11 +++++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 67a47eca913..477725ad65b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,7 @@ FROM --platform=${JS_PLATFORM} node:22-alpine AS js-builder-base # Javascript build stage FROM --platform=${JS_PLATFORM} ${JS_IMAGE} AS js-builder ARG JS_NODE_ENV=production +ARG JS_YARN_INSTALL_FLAG=--immutable ARG JS_YARN_BUILD_FLAG=build ENV NODE_OPTIONS=--max_old_space_size=8000 @@ -36,13 +37,12 @@ COPY conf/defaults.ini ./conf/defaults.ini COPY e2e e2e RUN apk add --no-cache make build-base python3 - +# # Set the node env according to defaults or argument passed # ENV NODE_ENV=${JS_NODE_ENV} # -# immutable causes failure in dev mode -RUN if [ "$NODE_ENV" = "dev" ]; then \ +RUN if [ "$JS_YARN_INSTALL_FLAG" = "" ]; then \ yarn install; \ else \ yarn install --immutable; \ diff --git a/Makefile b/Makefile index 60762662f8a..f39a01b5db0 100644 --- a/Makefile +++ b/Makefile @@ -404,26 +404,31 @@ PLATFORM=linux/amd64 # DOCKER_JS_NODE_ENV_FLAG = production DOCKER_JS_YARN_BUILD_FLAG = build +DOCKER_JS_YARN_INSTALL_FLAG = --immutable # # if go is in dev mode, also build node in dev mode ifeq ($(GO_BUILD_DEV), dev) DOCKER_JS_NODE_ENV_FLAG = dev DOCKER_JS_YARN_BUILD_FLAG = dev + DOCKER_JS_YARN_INSTALL_FLAG = endif # if NODE_ENV is set in the environment to dev, build frontend in dev mode, and allow go builds to use their default ifeq (${NODE_ENV}, dev) DOCKER_JS_NODE_ENV_FLAG = dev DOCKER_JS_YARN_BUILD_FLAG = dev + DOCKER_JS_YARN_INSTALL_FLAG = endif .PHONY: build-docker-full build-docker-full: ## Build Docker image for development. - @echo "build docker container" + @echo "build docker container mode=($(DOCKER_JS_NODE_ENV_FLAG))" tar -ch . | \ docker buildx build - \ --platform $(PLATFORM) \ --build-arg BINGO=false \ --build-arg NODE_ENV=$(DOCKER_JS_NODE_ENV_FLAG) \ + --build-arg JS_NODE_ENV=$(DOCKER_JS_NODE_ENV_FLAG) \ + --build-arg JS_YARN_INSTALL_FLAG=$(DOCKER_JS_YARN_INSTALL_FLAG) \ --build-arg JS_YARN_BUILD_FLAG=$(DOCKER_JS_YARN_BUILD_FLAG) \ --build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \ --build-arg WIRE_TAGS=$(WIRE_TAGS) \ @@ -434,12 +439,14 @@ build-docker-full: ## Build Docker image for development. .PHONY: build-docker-full-ubuntu build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development. - @echo "build docker container" + @echo "build docker container mode=($(DOCKER_JS_NODE_ENV_FLAG))" tar -ch . | \ docker buildx build - \ --platform $(PLATFORM) \ --build-arg BINGO=false \ --build-arg NODE_ENV=$(DOCKER_JS_NODE_ENV_FLAG) \ + --build-arg JS_NODE_ENV=$(DOCKER_JS_NODE_ENV_FLAG) \ + --build-arg JS_YARN_INSTALL_FLAG=$(DOCKER_JS_YARN_INSTALL_FLAG) \ --build-arg JS_YARN_BUILD_FLAG=$(DOCKER_JS_YARN_BUILD_FLAG) \ --build-arg GO_BUILD_TAGS=$(GO_BUILD_TAGS) \ --build-arg WIRE_TAGS=$(WIRE_TAGS) \