FROM node:alpine as files 
ENV TZ="Europe/Berlin"
WORKDIR /app
COPY [ "package-lock.json", "package.json", "index.ts", "tsconfig.json", "./" ]

FROM files as proddependencies
ENV NODE_ENV=production
RUN npm ci --omit=dev

FROM proddependencies as compile 
COPY server ./server
RUN npm run build
CMD ["npm","run","start"]

FROM files as dependencies
RUN npm ci

FROM dependencies as test
COPY server ./server
COPY jest.config.js .
COPY tests ./tests
RUN npm run test
