FROM php:8.4-cli AS base

RUN apt-get update && \
    apt-get install -y \
        libzip-dev \
        zip && \
    docker-php-ext-install zip

COPY --from=composer:latest /usr/bin/composer /usr/local/bin/composer

FROM base AS node-builder

## Install nvm
ENV NVM_DIR /usr/local/nvm
ENV NODE_VERSION 18.17.1

RUN mkdir /usr/local/nvm

RUN curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash \
    && . $NVM_DIR/nvm.sh \
    && nvm install $NODE_VERSION \
    && nvm alias default $NODE_VERSION \
    && nvm use default \
    && npm install --global @2fd/graphdoc \
    && corepack enable \
    && yarn set version stable \
    && yarn set version 3.x

ENV NODE_PATH $NVM_DIR/versions/node/v$NODE_VERSION/lib/node_modules
ENV PATH      $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH

WORKDIR /app
