################### # BUILD FOR CI TESTING ################### FROM node:18-alpine3.16 # Create app directory WORKDIR /usr/src/app # A wildcard is used to ensure both package.json AND package-lock.json are copied COPY package*.json ./ # Install app dependencies RUN npm ci # Bundle app source COPY . . # Generate prisma client RUN npx prisma generate # Create a "dist" folder RUN npm run build # Run unit tests RUN npm run test:unit:ci # ESLint / Prettier RUN npm run lint:check RUN npm run pretty:check # Start the server CMD [ "node", "dist/main.js" ]