#!/bin/bash

## Runs `wasm-pack` for the client Rust code, and `npm install` to bundle it to JavaScript.
## Requires wasm-pack

set -e
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
project_dir=${dir}/..
cd $project_dir

cd crates/client
wasm-pack build

cd www
npm install
rm -rf dist
npm run build

cd dist

for file in *.wasm; do
  echo "###: ${file%.module.wasm}"
  sed -i "" "s/${file%.module.wasm}/dbui/g" bootstrap.js

  mv "$file" "dbui.module.wasm"
done

mkdir -p ../../../assets/embed/wasm/
cp dbui.module.wasm ../../../assets/embed/wasm/

cat 0.bootstrap.js bootstrap.js > client.js
cp client.js ../../../assets/embed
