From 65eb1d3b1bb309d9e0566c183a0aece1e6f4c1cb Mon Sep 17 00:00:00 2001 From: "Benjamin D. Brodie" <113984758+bdb-dd@users.noreply.github.com> Date: Wed, 29 May 2024 16:35:42 +0200 Subject: [PATCH] Chore/fix yarn cache folder (#60) * Use Yarn PnP resolver mode --- .gitignore | 1 + .yarn/unplugged/.gitkeep | 0 .yarnrc.yml | 4 ++-- Dockerfile | 23 +++++++++++++++-------- 4 files changed, 18 insertions(+), 10 deletions(-) delete mode 100644 .yarn/unplugged/.gitkeep diff --git a/.gitignore b/.gitignore index fe939ee..a0c37d9 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ node_modules .env* **/yarn-error.log .yarn/cache +!.yarn/cache/.gitkeep diff --git a/.yarn/unplugged/.gitkeep b/.yarn/unplugged/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/.yarnrc.yml b/.yarnrc.yml index 25b748b..031e5ce 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,3 +1,3 @@ -nodeLinker: node-modules - +nodeLinker: pnp +enableGlobalCache: false yarnPath: .yarn/releases/yarn-4.2.2.cjs diff --git a/Dockerfile b/Dockerfile index e755f67..e112e9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,19 +4,23 @@ FROM node as builder ARG VITE_SLACK_APP_SUPABASE_API_URL=default \ VITE_SLACK_APP_SUPABASE_ANON_KEY=default -ENV YARN_VERSION 4.2.2 + USER root -RUN corepack enable yarn \ - && yarn policies set-version $YARN_VERSION +ENV YARN_VERSION 4.2.2 +ENV YARN_CACHE_FOLDER .yarn/cache +RUN corepack enable yarn +RUN yarn policies set-version $YARN_VERSION \ + && yarn -v # Create app directory WORKDIR /usr/src/app # Install app dependencies +COPY . . +COPY package.json yarn.lock .yarnrc.yml ./ COPY .yarn ./.yarn COPY apps/ ./apps/ COPY packages/ ./packages/ -COPY package.json yarn.lock ./ # important to prefix envvar with 'VITE_' so that is included in the build artifact ENV VITE_SLACK_APP_SUPABASE_API_URL=$VITE_SLACK_APP_SUPABASE_API_URL @@ -25,19 +29,22 @@ ENV VITE_SLACK_APP_SUPABASE_ANON_KEY=$VITE_SLACK_APP_SUPABASE_ANON_KEY RUN yarn install RUN yarn build + # production image - START FROM node:slim as runner +ENV YARN_CACHE_FOLDER .yarn/cache ENV NODE_ENV production -# switch back to non-root user -USER node - # Create app directory WORKDIR /usr/src/app # Install app dependencies COPY --from=builder /usr/src/app/ . +# switch back to non-root user +USER node + EXPOSE 3000 -CMD node ./apps/slack-app/dist/src/app.js +ENV PORT 3000 +CMD yarn run:slack-app