FROM golang:1.16.3

RUN apt-get update && apt-get install -y \
    software-properties-common \
    npm

RUN npm install npm@latest -g && \
    npm install n -g && \
    n latest

RUN mkdir /spade-code-gen
WORKDIR /spade-code-gen

COPY package.json package-lock.json preinstall.js /spade-code-gen/
RUN npm ci --ignore-scripts

ADD . /spade-code-gen/
RUN make build