Closed3

はじめてのpnpm

shuntakashuntaka

pnpm使う場合(with NestJS)

FROM node:20-alpine3.17 AS build

WORKDIR /app

RUN npm install -g pnpm

COPY pnpm-lock.yaml /app
COPY pnpm-workspace.yaml /app
COPY packages/server/tsconfig.build.json /app/packages/server/
COPY packages/server/tsconfig.json /app/packages/server/
COPY packages/server/package.json /app/packages/server/
COPY packages/server/.env /app/packages/server/
COPY packages/server/src /app/packages/server/src

RUN pnpm install \
  --frozen-lockfile \
  --filter server
RUN cd /app/packages/server &&\
  pnpm exec nest build
RUN pnpm install \
  --frozen-lockfile \
  --filter server \
  --prod

FROM node:20-alpine3.17

ENV PORT=80

WORKDIR /app

COPY --from=build /app/node_modules /app/node_modules
COPY --from=build /app/packages/server/node_modules /app/packages/server/node_modules
COPY --from=build /app/packages/server/dist /app/packages/server/dist
COPY --from=build /app/packages/server/package.json /app/packages/server/
COPY --from=build /app/packages/server/.env /app/packages/server/

EXPOSE 80
ENTRYPOINT [ "node" ]
CMD [ "packages/server/dist/main.js" ]
このスクラップは2023/10/14にクローズされました