Skip to content

Commit c9c5ce5

Browse files
Replace deprecated lerna bootstrap with npm workspaces in Dockerfiles
- Copy all package.json files upfront before npm ci - Use npm ci to install all workspace dependencies at once - Remove deprecated `lerna bootstrap` calls (removed in Lerna v9) - Keep `lerna run build` for task execution (still supported) This makes the Dockerfiles compatible with Lerna v9 while improving build efficiency.
1 parent c6ed099 commit c9c5ce5

3 files changed

Lines changed: 8 additions & 13 deletions

File tree

packages/backend-docker-manager/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@
66
FROM node:lts-alpine AS builder
77
WORKDIR /app
88

9-
# Install Lerna.
9+
# Install dependencies using npm workspaces.
1010
COPY package*.json .
11+
COPY packages/backend-docker-manager/package*.json packages/backend-docker-manager/
1112
RUN npm ci --ignore-scripts
1213
ENV PATH /app/node_modules/.bin:$PATH
1314
COPY *.json .
1415

1516
# Build backend-docker-manager.
16-
COPY packages/backend-docker-manager/package*.json packages/backend-docker-manager/
17-
RUN lerna --scope=*/backend-docker-manager bootstrap --include-dependencies
1817
COPY packages/backend-docker-manager/*.json packages/backend-docker-manager/
1918
COPY packages/backend-docker-manager/src/ packages/backend-docker-manager/src/
2019
RUN lerna --scope=*/backend-docker-manager run build

packages/backend/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,22 +18,20 @@ RUN apt-get update \
1818
&& apt-get install git ssh ca-certificates protobuf-compiler \
1919
-yq --reinstall --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages
2020

21-
# Install Lerna.
21+
# Install dependencies using npm workspaces.
2222
COPY package*.json .
23+
COPY packages/common/package*.json packages/common/
24+
COPY packages/backend/package*.json packages/backend/
2325
RUN npm ci --ignore-scripts
2426
ENV PATH /app/node_modules/.bin:$PATH
2527
COPY *.json .
2628

2729
# Build common.
28-
COPY packages/common/package*.json packages/common/
29-
RUN lerna --scope=*/common bootstrap --include-dependencies
3030
COPY packages/common/*.json packages/common/
3131
COPY packages/common/src/ packages/common/src/
3232
RUN lerna --scope=*/common run build
3333

3434
# Build backend.
35-
COPY packages/backend/package*.json packages/backend/
36-
RUN lerna --scope=*/backend bootstrap --include-dependencies
3735
COPY packages/backend/*.json packages/backend/
3836
COPY packages/backend/tools/ packages/backend/tools/
3937
COPY packages/backend/src/ packages/backend/src/

packages/web/Dockerfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,20 @@ RUN apt-get update \
1616
&& apt-get install git ssh ca-certificates \
1717
-yq --reinstall --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages
1818

19-
# Install Lerna.
19+
# Install dependencies using npm workspaces.
2020
COPY package*.json .
21+
COPY packages/common/package*.json packages/common/
22+
COPY packages/web/package*.json packages/web/
2123
RUN npm ci --ignore-scripts
2224
ENV PATH /app/node_modules/.bin:$PATH
2325
COPY *.json .
2426

2527
# Build common.
26-
COPY packages/common/package*.json packages/common/
27-
RUN lerna --scope=*/common bootstrap --include-dependencies
2828
COPY packages/common/*.json packages/common/
2929
COPY packages/common/src/ packages/common/src/
3030
RUN lerna --scope=*/common run build
3131

3232
# Build web.
33-
COPY packages/web/package*.json packages/web/
34-
RUN lerna --scope=*/web bootstrap --include-dependencies
3533
COPY packages/web/.babelrc packages/web/
3634
COPY packages/web/.browserslistrc packages/web/
3735
COPY packages/web/.env packages/web/

0 commit comments

Comments
 (0)