34 lines
928 B
Bash
Executable File
34 lines
928 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
|
|
# shellcheck source=lib.sh
|
|
source "${SCRIPT_DIR}/lib.sh"
|
|
|
|
require_command git
|
|
require_command pnpm
|
|
|
|
stage_parent="$(make_stage_parent)"
|
|
trap 'safe_remove_stage "${stage_parent}"' EXIT
|
|
source_dir="${stage_parent}/source"
|
|
|
|
prepare_source "${source_dir}"
|
|
run_bun install --cwd "${source_dir}" --frozen-lockfile
|
|
run_bun test --cwd "${source_dir}"
|
|
run_bun run --cwd "${source_dir}" build
|
|
|
|
bundle="${source_dir}/dist/mcp.js"
|
|
[[ -f "${bundle}" ]] || {
|
|
printf 'Build-Artefakt fehlt: %s\n' "${bundle}" >&2
|
|
exit 1
|
|
}
|
|
|
|
for forbidden_network_marker in 'https://cdn.jsdelivr.net' 'fetch('; do
|
|
if grep -Fq "${forbidden_network_marker}" "${bundle}"; then
|
|
printf 'Unerwarteter Netzwerkmarker im Build: %s\n' "${forbidden_network_marker}" >&2
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
printf 'Blockbench-MCP: Tests und Build erfolgreich.\n'
|