#!/bin/bash # Fetch the pinned browser runtime: transformers.js and the exact # onnxruntime-web build it bundles, whose .wasm files it loads at run time. # Usage: vendor.sh OUT_DIR set -euo pipefail OUT=$1 TJS=4.3.1 ORT=1.31.0-dev.20260914-8d85527a0 WORK=$(mktemp -d); trap 'rm -rf "$WORK"' EXIT cd "$WORK" npm pack --silent "@huggingface/transformers@$TJS" "onnxruntime-web@$ORT" >/dev/null mkdir t o && tar xzf huggingface-transformers-$TJS.tgz -C t && tar xzf onnxruntime-web-$ORT.tgz -C o grep -q "$ORT" t/package/dist/transformers.min.js || { echo "transformers.js $TJS does not bundle ORT $ORT" >&2; exit 1; } mkdir -p "$OUT" cp t/package/dist/transformers.min.js o/package/dist/ort-wasm-simd-threaded*.{mjs,wasm} "$OUT/" cp t/package/LICENSE "$OUT/LICENSE-transformers.js" && cp o/package/LICENSE "$OUT/LICENSE-onnxruntime-web" 2>/dev/null || true ls -la "$OUT"