Add Chromium-only Blender WebEngine parity work
This commit is contained in:
59
tools/web/check-local-deps.sh
Executable file
59
tools/web/check-local-deps.sh
Executable file
@@ -0,0 +1,59 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user