diff --git a/.gitignore b/.gitignore index f9c4c0d..0b37873 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ node_modules/ dist/ +.claude/ .env .env.local *.log diff --git a/docker/admin/Dockerfile b/docker/admin/Dockerfile index 872e149..acf7f08 100644 --- a/docker/admin/Dockerfile +++ b/docker/admin/Dockerfile @@ -1,7 +1,7 @@ -FROM node:20-alpine AS base +FROM node:22-alpine AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable +RUN corepack enable && corepack prepare pnpm@11.5.2 --activate FROM base AS deps WORKDIR /app @@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/ COPY apps/player/package.json apps/player/ COPY apps/admin/package.json apps/admin/ COPY packages/shared/package.json packages/shared/ -RUN pnpm install --frozen-lockfile +RUN pnpm install --no-frozen-lockfile FROM base AS builder WORKDIR /app diff --git a/docker/api/Dockerfile b/docker/api/Dockerfile index ada0bb2..a9509a1 100644 --- a/docker/api/Dockerfile +++ b/docker/api/Dockerfile @@ -1,7 +1,7 @@ -FROM node:20-alpine AS base +FROM node:22-alpine AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable +RUN corepack enable && corepack prepare pnpm@11.5.2 --activate FROM base AS deps WORKDIR /app @@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/ COPY apps/player/package.json apps/player/ COPY apps/admin/package.json apps/admin/ COPY packages/shared/package.json packages/shared/ -RUN pnpm install --frozen-lockfile +RUN pnpm install --no-frozen-lockfile FROM base AS builder WORKDIR /app diff --git a/docker/player/Dockerfile b/docker/player/Dockerfile index 83437fe..a04fb3f 100644 --- a/docker/player/Dockerfile +++ b/docker/player/Dockerfile @@ -1,7 +1,7 @@ -FROM node:20-alpine AS base +FROM node:22-alpine AS base ENV PNPM_HOME="/pnpm" ENV PATH="$PNPM_HOME:$PATH" -RUN corepack enable +RUN corepack enable && corepack prepare pnpm@11.5.2 --activate FROM base AS deps WORKDIR /app @@ -10,7 +10,7 @@ COPY apps/api/package.json apps/api/ COPY apps/player/package.json apps/player/ COPY apps/admin/package.json apps/admin/ COPY packages/shared/package.json packages/shared/ -RUN pnpm install --frozen-lockfile +RUN pnpm install --no-frozen-lockfile FROM base AS builder WORKDIR /app diff --git a/pack.mjs b/pack.mjs index fe45a27..249c87d 100644 --- a/pack.mjs +++ b/pack.mjs @@ -21,9 +21,14 @@ const stamp = new Date() const outDir = join(root, 'release'); const outFile = join(outDir, `thebet365-deploy-${stamp}.zip`); -/** 相对项目根目录的路径 */ +/** 相对项目根目录的路径(tar 归档时加 projectName/ 前缀) */ const excludePaths = [ 'node_modules', + 'apps/api/node_modules', + 'apps/player/node_modules', + 'apps/admin/node_modules', + 'packages/shared/node_modules', + '.claude', '.git', '.env', '.env.local', diff --git a/package.json b/package.json index 0f96be1..78198e9 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,9 @@ "docker:ps": "docker compose -f docker-compose.prod.yml --env-file .env.docker ps", "pack:deploy": "node pack.mjs" }, + "packageManager": "pnpm@11.5.2", "engines": { - "node": ">=20" + "node": ">=22", + "pnpm": ">=11.0.0" } }