11# ===============================================
2- FROM registry.access.redhat.com /ubi9/nodejs-22 AS appbase
2+ FROM helsinki.azurecr.io /ubi9/nodejs-24-pnpm-builder-base AS appbase
33# ===============================================
44
55# Set environment
66ARG PORT=3000
7- ENV PORT $PORT
7+ ENV PORT= $PORT
88
99WORKDIR /app
1010
11- # Install yarn
12- USER root
13- RUN curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | tee /etc/yum.repos.d/yarn.repo && \
14- yum -y install yarn
15-
16- # Yarn version
17- ENV YARN_VERSION 1.22.22
18- RUN yarn policies set-version ${YARN_VERSION}
19-
20-
2111# Set npm log verbosity level
22- ENV NPM_CONFIG_LOGLEVEL warn
12+ ENV NPM_CONFIG_LOGLEVEL= warn
2313
2414# Global npm dependencies in a non-root user directory
2515ENV NPM_CONFIG_PREFIX=/app/.npm-global
2616ENV PATH=$PATH:/app/.npm-global/bin
2717
2818# Set NODE_ENV to development in the development container
2919ARG NODE_ENV=development
30- ENV NODE_ENV $NODE_ENV
20+ ENV NODE_ENV= $NODE_ENV
3121
32- # Copy package.json and yarn. lock files
33- COPY --chown=default:root package*.json *yarn* ./
22+ # Copy package.json and pnpm- lock.yaml files
23+ COPY --chown=default:root package*.json pnpm-lock.yaml ./
3424
3525# Make scripts in dependencies available through path
36- ENV PATH /app/node_modules/.bin:$PATH
26+ ENV PATH= /app/node_modules/.bin:$PATH
3727
3828# Install dependencies including storybook addons
39- RUN yarn && yarn cache clean
29+ RUN pnpm install --frozen-lockfile --ignore-scripts && pnpm store prune
4030
4131# =============================
4232FROM appbase AS development
@@ -46,29 +36,29 @@ FROM appbase AS development
4636COPY --chown=default:root . .
4737
4838# Start command for development
49- CMD ["yarn " , "dev:no-open" ]
39+ CMD ["pnpm" , "run " , "dev:no-open" ]
5040
5141# =============================
5242FROM appbase AS staticbuilder
5343# =============================
5444
5545# Set NODE_ENV to production for build
5646ARG NODE_ENV=production
57- ENV NODE_ENV $NODE_ENV
47+ ENV NODE_ENV= $NODE_ENV
5848
5949# Copy all files, including .mdx stories
6050COPY --chown=default:root . .
6151
6252# Build Storybook
63- RUN yarn build-storybook --loglevel error
53+ RUN pnpm run build-storybook --loglevel error
6454
6555# =============================
6656FROM appbase AS production
6757# =============================
6858
6959# Set NODE_ENV to production in the production container
7060ARG NODE_ENV=production
71- ENV NODE_ENV $NODE_ENV
61+ ENV NODE_ENV= $NODE_ENV
7262
7363# Copy build folder
7464COPY --from=staticbuilder --chown=default:root /app/storybook-static/ /app/storybook-static/
0 commit comments