FROM node:alpine as files WORKDIR /app COPY [ "package-lock.json", "package.json", "index.ts", "tsconfig.json", "./" ] COPY server ./server FROM files as proddependencies ENV NODE_ENV=production RUN npm ci --omit=dev FROM proddependencies as compile RUN npm run build CMD ["npm","run","start"] FROM files as dependencies RUN npm ci FROM dependencies as test COPY jest.config.js . COPY tests ./tests RUN npm run test