41 lines
1019 B
Bash
41 lines
1019 B
Bash
#!/usr/bin/env bash
|
|||
|
|
set -euo pipefail
|
||
|
|
cd "$(dirname "$0")/.."
|
||
|
|
|
||
|
|
MIRROR="${NPM_REGISTRY:-https://registry.npmmirror.com}"
|
||
|
|
|
||
|
|
echo "==> بیلد لوکال بدون Docker"
|
||
|
|
echo "==> registry: $MIRROR"
|
||
|
|
echo "==> node: $(node -v)"
|
||
|
|
|
||
|
|
npm config set registry "$MIRROR"
|
||
|
|
|
||
|
|
# Prisma postinstall باید اجازه اجرا داشته باشد
|
||
|
|
npm config set ignore-scripts false || true
|
||
|
|
|
||
|
|
if [ ! -d node_modules ]; then
|
||
|
|
echo "==> npm ci..."
|
||
|
|
npm ci --no-audit --no-fund
|
||
|
|
fi
|
||
|
|
|
||
|
|
# اگر اسکریپتهای prisma بلاک شده باشند
|
||
|
|
npx --yes prisma generate
|
||
|
|
|
||
|
|
echo "==> nest/tsc build (با پاک کردن کش)..."
|
||
|
|
rm -rf dist tsconfig.build.tsbuildinfo
|
||
|
|
npx nest build
|
||
|
|
|
||
|
|
if [ ! -f dist/main.js ]; then
|
||
|
|
echo "==> nest build خروجی نداد؛ fallback به tsc..."
|
||
|
|
rm -rf dist tsconfig.build.tsbuildinfo
|
||
|
|
npx tsc -p tsconfig.build.json
|
||
|
|
fi
|
||
|
|
|
||
|
|
if [ ! -f dist/main.js ]; then
|
||
|
|
echo "ERROR: dist/main.js ساخته نشد"
|
||
|
|
ls -la dist || true
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "==> OK: dist/main.js ($(wc -c < dist/main.js) bytes)"
|