#!/bin/bash
# Rebuilds ../vendor from ../src. Output is rebuildable; never edit vendor/ by hand.
set -eu
cd "$(dirname "$0")"
[ -d node_modules ] || npm install --silent
OUT=../vendor
export NODE_PATH="$PWD/node_modules"
rm -rf "${OUT:?}" && mkdir -p "$OUT"
npx esbuild ../src/worker.js --bundle --format=esm --splitting --outdir="$OUT" --target=es2022 --minify --charset=utf8 \
  --external:node:* --external:fs --external:path --loader:.wasm=file --legal-comments=linked --log-level=warning
# language packs this edition never loads (German, Japanese, Chinese, Russian): ephone references them lazily only
rm -f "$OUT"/gmw-*.js "$OUT"/jpx-*.js "$OUT"/sit-*.js "$OUT"/zlx-*.js
cp node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.wasm "$OUT/"
cp node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.mjs "$OUT/ort-wasm-simd-threaded.js"  # .js: the host serves .mjs as octet-stream
ls -la "$OUT" | awk '{print $5, $9}'
