07c382914c
Included hash in wasm file. Added a manifest file that contains the wasm file name for worker access. Reworked worker setup to query the manifest file without caching, ensuring the correct wasm file name is always retrieved. The worker will first attempt to retrieve the cached wasm file, but will refetch it with a cache reload if an error occurs. Change-Id: Ic4ef68e502b318a29243bf275c041863ec1275ee
30 lines
907 B
Bash
Executable File
30 lines
907 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Copy wasm javascript to match the go version
|
|
cp "$(go env GOROOT)/misc/wasm/wasm_exec.js" ./static/wasm
|
|
|
|
# Compress wasm javascript using brotli
|
|
brotli -k -f ./static/wasm/wasm_exec.js
|
|
|
|
# Build wasm code
|
|
GOOS=js GOARCH=wasm go build -o ./static/wasm/access.wasm storj.io/storj/satellite/console/wasm
|
|
|
|
# Take a hash of generated wasm code
|
|
if command -v sha256sum > /dev/null; then
|
|
hash=$(sha256sum ./static/wasm/access.wasm | awk '{print $1}')
|
|
else
|
|
hash=$(shasum -a 256 ./static/wasm/access.wasm | awk '{print $1}')
|
|
fi
|
|
|
|
# Define new file name
|
|
filename="access.${hash:0:8}.wasm"
|
|
|
|
# Rename the file to include the hash
|
|
mv ./static/wasm/access.wasm ./static/wasm/$filename
|
|
|
|
# Compress wasm code using brotli
|
|
brotli -k -f ./static/wasm/$filename
|
|
|
|
# Generate the manifest which would contain our new file name
|
|
echo "{\"fileName\": \"$filename\"}" > ./static/wasm/wasm-manifest.json
|