60 lines
2.6 KiB
Bash
Executable File
60 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
web_dir="${repo_root}/web"
|
|
|
|
check_sha256() {
|
|
local expected="$1"
|
|
local path="$2"
|
|
local actual
|
|
actual="$(sha256sum "${path}" | cut -d ' ' -f 1)"
|
|
if [[ "${actual}" != "${expected}" ]]; then
|
|
echo "local dependency checksum mismatch: ${path}" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
node "${web_dir}/-check-runtime-deps.mjs"
|
|
node "${repo_root}/tools/web/check-manifest-assets.mjs" \
|
|
"${web_dir}/app/public/engine-manifest.json" "${web_dir}/app/public"
|
|
node "${repo_root}/tools/web/check-three-vendor.mjs"
|
|
|
|
if rg -n --glob '!vendor/**' --glob '!*.map' 'https?://(unpkg|cdn\.jsdelivr|esm\.sh|skypack|jsdelivr)' \
|
|
"${web_dir}/app/src" "${web_dir}/app/index.html" "${web_dir}/app/vite.config.ts"; then
|
|
echo "remote runtime module reference found" >&2
|
|
exit 1
|
|
fi
|
|
|
|
test -s "${web_dir}/app/src/vendor/three/three.core.js"
|
|
test -s "${web_dir}/app/src/vendor/three/three.module.js"
|
|
test -s "${web_dir}/app/src/vendor/three/addons/controls/OrbitControls.js"
|
|
test -s "${web_dir}/app/src/vendor/blender/web_engine.js"
|
|
test -s "${web_dir}/app/src/vendor/blender/web_engine.wasm"
|
|
test -s "${web_dir}/app/public/vendor/blender/web_engine.js"
|
|
test -s "${web_dir}/app/public/vendor/blender/web_engine.wasm"
|
|
cmp "${web_dir}/app/src/vendor/blender/web_engine.js" "${web_dir}/app/public/vendor/blender/web_engine.js"
|
|
cmp "${web_dir}/app/src/vendor/blender/web_engine.wasm" "${web_dir}/app/public/vendor/blender/web_engine.wasm"
|
|
test -s "${repo_root}/blender-5.2.0/extern/zlib/CMakeLists.txt"
|
|
test -s "${repo_root}/blender-5.2.0/extern/zstd/build/cmake/CMakeLists.txt"
|
|
test -s "${repo_root}/blender-5.2.0/extern/opensubdiv-source/CMakeLists.txt"
|
|
test -s "${repo_root}/blender-5.2.0/extern/gmp-wasm/include/gmp.h"
|
|
test -s "${repo_root}/blender-5.2.0/extern/gmp-wasm/include/gmpxx.h"
|
|
test -s "${repo_root}/blender-5.2.0/extern/gmp-wasm/lib/libgmp.a"
|
|
test -s "${repo_root}/blender-5.2.0/extern/gmp-wasm/lib/libgmpxx.a"
|
|
check_sha256 \
|
|
"f843eb49daf20264007d807cbc64516a1fed9cdb1149aaf84ff47691d97491f9" \
|
|
"${repo_root}/blender-5.2.0/extern/opensubdiv-source/opensubdiv-v3_7_0.tar.gz"
|
|
check_sha256 \
|
|
"bd2966e6d277f79328e894a5a9f3ba3fbf2ed2be81def5f48623e30c23fb1572" \
|
|
"${repo_root}/blender-5.2.0/extern/gmp-source/gmp_6.3.0+dfsg.orig.tar.xz"
|
|
test -s "${web_dir}/dist/index.html"
|
|
test -n "$(find "${web_dir}/dist" -maxdepth 2 -type f -name 'index-*.js' -print -quit)"
|
|
|
|
if rg -n 'https?://(unpkg|cdn\.jsdelivr|esm\.sh|skypack|jsdelivr)' "${web_dir}/dist"; then
|
|
echo "remote runtime URL found in dist" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "local-dependencies-ok"
|