Files
go-away/build.sh
WeebDataHoarder 06bc5107d6 Initial commit
2025-03-31 16:24:08 +02:00

41 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
set -e
set -o pipefail
cd "$(cd -P -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)"
# Setup tinygo first
if [[ ! -d .bin/tinygo ]]; then
git clone --depth=1 --branch v0.37.0 https://github.com/tinygo-org/tinygo.git .bin/tinygo
pushd .bin/tinygo
git submodule update --init --recursive
go mod download -x && go mod verify
make binaryen STATIC=1
make wasi-libc
make llvm-source
make llvm-build
make build/release
else
pushd .bin/tinygo
fi
export TINYGOROOT="$(realpath ./build/release/tinygo/)"
export PATH="$PATH:$(realpath ./build/release/tinygo/bin/)"
popd
go generate ./...
do_compress () {
find "$1" \( -type f -name "*.wasm" -o -name "*.css" -o -name "*.js" -o -name "*.mjs" \) -exec zopfli {} \;
find "$1" \( -type f -name "*.wasm" -o -name "*.css" -o -name "*.js" -o -name "*.mjs" \) -exec brotli -v -f -9 -o {}.br {} \;
#find "$1" \( -type f -name "*.wasm" -o -name "*.css" -o -name "*.js" -o -name "*.mjs" \) -exec zstd -v -f -19 -o {}.zst {} \;
}
do_compress challenge/
do_compress assets/