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

RUN dnf -y install shadow-utils && \
    npm install -g yarn && \
    /usr/sbin/useradd -c 'lambda user' -m -d /home/lambdauser -s /bin/bash lambdauser && \
    chown -R lambdauser:lambdauser /var/task

USER    lambdauser
COPY    --chown=lambdauser:lambdauser .npmrc package.json yarn.lock ./
RUN     --mount=type=secret,id=GITHUB_NPM_TOKEN,required=true,uid=1000 GITHUB_NPM_TOKEN=$(cat /run/secrets/GITHUB_NPM_TOKEN) yarn install --ignore-optional


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
COPY    --chown=lambdauser:lambdauser  scripts/output-subscriptions.js ./scripts/output-subscriptions.js
RUN     rm -Rf ./tests/integration

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