ARG NODE_IMAGE_NAME=18-bullseye
FROM node:${NODE_IMAGE_NAME} AS deps
RUN npm install -g npm

WORKDIR /app
ARG NODE_ENV=development
ENV NODE_ENV=${NODE_ENV}

COPY package*.json .
RUN npm ci

FROM node:${NODE_IMAGE_NAME} AS builder
RUN npm install -g npm

WORKDIR /app
ARG NODE_ENV=development
ENV NODE_ENV=${NODE_ENV} NEXT_TELEMETRY_DISABLED=1

COPY . .
COPY --from=deps /app/node_modules ./node_modules
RUN npm run storybook:build
RUN sed -i 's#<head>#<head>\n<base href=\"/ui-kit/\">#' ./storybook-static/index.html

FROM node:${NODE_IMAGE_NAME}
RUN npm install -g npm
RUN npm install -g http-server

WORKDIR /app

COPY --from=builder /app/.storybook ./.storybook
COPY --from=builder /app/storybook-static ./storybook-static
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json /app/tsconfig.json /app/tailwind.config.js /app/postcss.config.js ./

EXPOSE 8080

CMD ["npx", "http-server", "./storybook-static"]
