# 构建阶段：用Debian系的Node20镜像，自带glibc 2.36，完美兼容Rollup4
FROM node:20-bookworm-slim AS builder

# 换国内源，下载依赖快10倍
RUN sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list.d/debian.sources \
    && apt-get update \
    && apt-get install -y ca-certificates \
    && rm -rf /var/lib/apt/lists/*

# 启用corepack，安装pnpm
RUN corepack enable && corepack prepare pnpm@latest --activate

WORKDIR /app

# 先拷依赖配置文件，利用Docker缓存，下次构建不用重新下依赖
COPY package.json pnpm-lock.yaml ./

# 安装依赖
RUN pnpm install --frozen-lockfile

# 拷贝所有源码
COPY . .

# 限制内存3G，避免把8G服务器撑爆
ENV NODE_OPTIONS=--max-old-space-size=4072
# 执行H5构建
RUN pnpm build:h5
