#!/usr/bin/env bash
# Pastikan semua path ./*.mjs yang direferensikan server.mjs benar-benar ada di disk.
# Mencegah error runtime: Cannot find module '.../team-XXXX.mjs' (build parsial / rsync setengah / .output korup).

set -euo pipefail

ROOT="$(cd "$(dirname "$0")/.." && pwd)"
SERVER_M="${ROOT}/.output/server/chunks/build/server.mjs"
DIR="${ROOT}/.output/server/chunks/build"

if [[ ! -f "${SERVER_M}" ]]; then
  echo "verify-nitro-server-chunks: tidak ada ${SERVER_M} — jalankan npm run build (atau build:clean) di ${ROOT}" >&2
  exit 1
fi

missing=0
while IFS= read -r line; do
  rel="${line#./}"
  if [[ ! -f "${DIR}/${rel}" ]]; then
    echo "verify-nitro-server-chunks: chunk hilang: ${DIR}/${rel} (direferensikan ${SERVER_M})" >&2
    echo "  Perbaikan: cd ${ROOT} && npm run build:clean && npm run verify:output && pm2 restart workpulse-fe" >&2
    missing=1
  fi
done < <(grep -oE '\./[A-Za-z0-9_.-]+\.mjs' "${SERVER_M}" | sort -u)

exit "${missing}"
