62 lines
1.8 KiB
Bash
Executable file
62 lines
1.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
|
|
DATE=$(date +%Y-%m-%d)
|
|
RELEASE_DIR="/tmp/foamking-release-${TIMESTAMP}"
|
|
ZIP_NAME="foamking-beregner-${DATE}.zip"
|
|
PROJECT_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
|
|
echo "FoamKing Release Builder"
|
|
echo "========================"
|
|
echo ""
|
|
|
|
# Create temp directory
|
|
mkdir -p "${RELEASE_DIR}"
|
|
echo "Build directory: ${RELEASE_DIR}"
|
|
|
|
# Copy shipping files
|
|
echo "Copying files..."
|
|
cp -r "${PROJECT_DIR}/app" "${RELEASE_DIR}/"
|
|
cp -r "${PROJECT_DIR}/components" "${RELEASE_DIR}/"
|
|
cp -r "${PROJECT_DIR}/lib" "${RELEASE_DIR}/"
|
|
cp -r "${PROJECT_DIR}/public" "${RELEASE_DIR}/"
|
|
mkdir -p "${RELEASE_DIR}/scripts"
|
|
cp "${PROJECT_DIR}/scripts/setup.js" "${RELEASE_DIR}/scripts/"
|
|
cp "${PROJECT_DIR}/middleware.ts" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/package.json" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/tsconfig.json" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/tailwind.config.ts" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/postcss.config.mjs" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/eslint.config.mjs" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/next.config.ts" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/.env.example" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/SETUP.md" "${RELEASE_DIR}/"
|
|
cp "${PROJECT_DIR}/OPSÆTNING.md" "${RELEASE_DIR}/"
|
|
|
|
# Copy .prettierrc if it exists
|
|
[ -f "${PROJECT_DIR}/.prettierrc.json" ] && cp "${PROJECT_DIR}/.prettierrc.json" "${RELEASE_DIR}/"
|
|
|
|
# Verify build
|
|
echo ""
|
|
echo "Installing dependencies..."
|
|
cd "${RELEASE_DIR}"
|
|
npm install --ignore-scripts 2>&1 | tail -1
|
|
|
|
echo "Verifying build..."
|
|
npm run build 2>&1 | tail -3
|
|
|
|
# Clean up build artifacts
|
|
echo ""
|
|
echo "Cleaning up..."
|
|
rm -rf "${RELEASE_DIR}/node_modules"
|
|
rm -rf "${RELEASE_DIR}/.next"
|
|
|
|
# Create zip
|
|
cd /tmp
|
|
zip -rq "${ZIP_NAME}" "foamking-release-${TIMESTAMP}"
|
|
|
|
echo ""
|
|
echo "Release built successfully!"
|
|
echo "Zip: /tmp/${ZIP_NAME}"
|
|
echo "Size: $(du -h "/tmp/${ZIP_NAME}" | cut -f1)"
|