diff --git a/Dockerfile b/Dockerfile index 77765c4..d63b5f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,8 @@ # Stage 1: Dependencies FROM node:22-alpine AS deps WORKDIR /app -COPY package.json pnpm-lock.yaml ./ -# pnpm v10+ có cơ chế "approve build scripts"; CI/Docker không tương tác được. -# Dòng dưới đảm bảo Prisma/Sharp được phép build khi cài deps. -RUN corepack enable pnpm \ - && pnpm approve-builds --all \ - && pnpm install --frozen-lockfile +COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./ +RUN corepack enable pnpm && pnpm install --frozen-lockfile # Stage 2: Builder FROM node:22-alpine AS builder diff --git a/package.json b/package.json index 49e5102..4a7febe 100644 --- a/package.json +++ b/package.json @@ -81,12 +81,5 @@ "tw-animate-css": "1.3.3", "typescript": "5.7.3" }, - "pnpm": { - "onlyBuiltDependencies": [ - "@prisma/client", - "@prisma/engines", - "prisma", - "sharp" - ] - } + "pnpm": {} } diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4edf605..ffb65a8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,10 @@ +packages: + - "." + +# pnpm v10+ có cơ chế chặn build scripts trong môi trường không tương tác. +# Whitelist các package cần build (Prisma/Sharp) để CI/Docker không fail với ERR_PNPM_IGNORED_BUILDS. allowBuilds: - '@prisma/client': false - '@prisma/engines': false - prisma: false - sharp: false + "@prisma/client": true + "@prisma/engines": true + prisma: true + sharp: true