FROM    public.ecr.aws/lambda/nodejs:16 AS builder

# Add Sentry Lambda extension
COPY    --from=public.ecr.aws/sentry/sentry-node-serverless-sdk:28 /opt/ /opt

ARG     PACKAGECLOUD_USER
ARG     GITHUB_TOKEN

RUN     yum -y install shadow-utils
RUN     npm install -g yarn

RUN     /usr/sbin/useradd -c 'lambda user' -m -d /home/lambdauser -s /bin/bash lambdauser
RUN     chown -R lambdauser:lambdauser /var/task

USER    lambdauser
COPY    --chown=lambdauser:lambdauser scripts/setup-local.sh .npmrc.shadow package.json yarn.lock ./
RUN     chmod +x ./setup-local.sh && ./setup-local.sh


FROM    builder
COPY    --chown=lambdauser:lambdauser scripts/lint-and-test.sh tsconfig.json tsconfig.build.json jest.config.json ./
COPY    --chown=lambdauser:lambdauser  src ./src
COPY    --chown=lambdauser:lambdauser  tests ./tests

ENTRYPOINT [ "/var/task/lint-and-test.sh" ]
