From b2cc7896656dc682fd87bbf1262f62135a9361d4 Mon Sep 17 00:00:00 2001 From: Anthony LC Date: Fri, 19 Apr 2024 12:57:45 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9A=A1=EF=B8=8F(docker)=20separate=20deps=20?= =?UTF-8?q?y-webrtc-signaling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We separate the install part of the signaling server from the frontend-dep stage. It will improve the build time of both of them. --- src/frontend/Dockerfile | 21 ++++++++++++++----- .../apps/y-webrtc-signaling/package.json | 1 + src/frontend/yarn.lock | 8 +++---- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/frontend/Dockerfile b/src/frontend/Dockerfile index b86243c8..2d4dc966 100644 --- a/src/frontend/Dockerfile +++ b/src/frontend/Dockerfile @@ -1,15 +1,13 @@ -FROM node:20 as frontend-deps +FROM node:20-alpine as frontend-deps-y-webrtc-signaling WORKDIR /home/frontend/ COPY ./src/frontend/package.json ./package.json COPY ./src/frontend/yarn.lock ./yarn.lock -COPY ./src/frontend/apps/impress/package.json ./apps/impress/package.json COPY ./src/frontend/apps/y-webrtc-signaling/package.json ./apps/y-webrtc-signaling/package.json -COPY ./src/frontend/packages/i18n/package.json ./packages/i18n/package.json COPY ./src/frontend/packages/eslint-config-impress/package.json ./packages/eslint-config-impress/package.json -RUN yarn install --frozen-lockfile +RUN yarn install COPY ./src/frontend/ . @@ -17,7 +15,7 @@ COPY ./src/frontend/ . COPY ./docker/files/usr/local/bin/entrypoint /usr/local/bin/entrypoint # ---- y-webrtc-signaling ---- -FROM frontend-deps as y-webrtc-signaling +FROM frontend-deps-y-webrtc-signaling as y-webrtc-signaling WORKDIR /home/frontend/apps/y-webrtc-signaling RUN yarn build @@ -30,6 +28,19 @@ ENTRYPOINT [ "/usr/local/bin/entrypoint" ] CMD ["yarn", "start"] +FROM node:20-alpine as frontend-deps + +WORKDIR /home/frontend/ + +COPY ./src/frontend/package.json ./package.json +COPY ./src/frontend/yarn.lock ./yarn.lock +COPY ./src/frontend/apps/impress/package.json ./apps/impress/package.json +COPY ./src/frontend/packages/eslint-config-impress/package.json ./packages/eslint-config-impress/package.json + +RUN yarn install --frozen-lockfile + +COPY ./src/frontend/ . + ### ---- Front-end builder image ---- FROM frontend-deps as impress diff --git a/src/frontend/apps/y-webrtc-signaling/package.json b/src/frontend/apps/y-webrtc-signaling/package.json index 60343e13..df577590 100644 --- a/src/frontend/apps/y-webrtc-signaling/package.json +++ b/src/frontend/apps/y-webrtc-signaling/package.json @@ -15,6 +15,7 @@ "node": ">=18" }, "dependencies": { + "lib0": "0.2.93", "ws": "8.16.0" }, "devDependencies": { diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index 0c163c46..953abb81 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -3556,7 +3556,7 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== -"@types/node@*", "@types/node@20.12.4": +"@types/node@*": version "20.12.4" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.4.tgz#af5921bd75ccdf3a3d8b3fa75bf3d3359268cd11" integrity sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw== @@ -3583,7 +3583,7 @@ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== -"@types/react-dom@*", "@types/react-dom@18.2.24", "@types/react-dom@^18.0.0": +"@types/react-dom@*", "@types/react-dom@^18.0.0": version "18.2.24" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.24.tgz#8dda8f449ae436a7a6e91efed8035d4ab03ff759" integrity sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg== @@ -7619,7 +7619,7 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lib0@^0.2.42, lib0@^0.2.85, lib0@^0.2.86: +lib0@0.2.93, lib0@^0.2.42, lib0@^0.2.85, lib0@^0.2.86: version "0.2.93" resolved "https://registry.yarnpkg.com/lib0/-/lib0-0.2.93.tgz#95487c2a97657313cb1d91fbcf9f6d64b7fcd062" integrity sha512-M5IKsiFJYulS+8Eal8f+zAqf5ckm1vffW0fFDxfgxJ+uiVopvDdd3PxJmz0GsVi3YNO7QCFSq0nAsiDmNhLj9Q== @@ -10487,7 +10487,7 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typescript@*, typescript@5.4.3, typescript@^5.0.4: +typescript@*, typescript@^5.0.4: version "5.4.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff" integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==