50 lines
1.3 KiB
Bash
50 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
set -e
|
|
|
|
ROOT=$(cd "$(dirname "$0")" && pwd)
|
|
JS_ROOT="$ROOT"/../web/public/js
|
|
|
|
function verify_components_bundle() {
|
|
local file_path="$1"
|
|
if [ ! -f "$file_path" ]; then
|
|
echo "[error] components.js not found: $file_path"
|
|
return 1
|
|
fi
|
|
|
|
local file_size
|
|
file_size=$(wc -c < "$file_path")
|
|
if [ "$file_size" -lt 100000 ]; then
|
|
echo "[error] components.js looks too small ($file_size bytes), generate likely failed"
|
|
return 1
|
|
fi
|
|
|
|
if ! grep -q 'Vue.component("csrf-token"' "$file_path"; then
|
|
echo "[error] components.js missing csrf-token component, generate likely failed"
|
|
return 1
|
|
fi
|
|
|
|
echo "verify components.js: ok ($file_size bytes)"
|
|
return 0
|
|
}
|
|
|
|
echo "generating component.src.js ..."
|
|
env TEAROOT="$ROOT" CGO_ENABLED=0 go run -tags=community "$ROOT"/../cmd/edge-admin/main.go generate
|
|
|
|
if [ "$(which uglifyjs)" ]; then
|
|
echo "compress to component.js ..."
|
|
uglifyjs --compress --mangle -- "${JS_ROOT}"/components.src.js > "${JS_ROOT}"/components.js
|
|
|
|
echo "compress to utils.min.js ..."
|
|
uglifyjs --compress --mangle -- "${JS_ROOT}"/utils.js > "${JS_ROOT}"/utils.min.js
|
|
else
|
|
echo "copy to component.js ..."
|
|
cp "${JS_ROOT}"/components.src.js "${JS_ROOT}"/components.js
|
|
|
|
echo "copy to utils.min.js ..."
|
|
cp "${JS_ROOT}"/utils.js "${JS_ROOT}"/utils.min.js
|
|
fi
|
|
|
|
verify_components_bundle "${JS_ROOT}/components.js"
|
|
|
|
echo "ok"
|