FROM    086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:lambda-node24 AS base

WORKDIR /var/task
COPY    scripts/setup.sh .npmrc.shadow package.json yarn.lock tsconfig.json tsconfig.build.json ./

RUN     --mount=type=secret,id=tokens,uid=1010,required npm install -g yarn@latest \
        && ./setup.sh true

FROM    base AS build
COPY    --chown=worker:worker src ./src
RUN     --mount=type=secret,id=tokens,uid=1010,required ./setup.sh false \
        && yarn build

FROM    086679231553.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:lambda-node24 AS runner

WORKDIR /var/task

# Add Datadog Lambda extension
COPY    --from=public.ecr.aws/datadog/lambda-extension:92 /opt/. /opt/

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

# Copy production dependencies
COPY    --from=base --chown=worker:worker /var/task/node_modules ./node_modules
# Copy build
COPY    --from=build --chown=worker:worker /var/task/build ./

ENV     DD_LAMBDA_HANDLER=app.handler

CMD     [ "node_modules/datadog-lambda-js/dist/handler.handler" ]
