Fix: WebUI was missing some options.

This commit is contained in:
Herbert Wolverson committed 2026-07-06 14:33:41 -05:00
1 parent c6e5dc4966
commit 7322dcd5a3
3 files changed
+102 -20

No files matched your search

+17 -9
View File
@@ -1,11 +1,19 @@
#!/bin/bash
set -e
echo "Copying static"
mkdir -p ../../bin/static2/
cp -v -R src/node_manager/static2/* ../../bin/static2/
echo "Done"
pushd src/node_manager/js_build || exit
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
STATIC_SOURCE_DIR="${SCRIPT_DIR}/src/node_manager/static2"
JS_BUILD_DIR="${SCRIPT_DIR}/src/node_manager/js_build"
STATIC_TARGET_DIR="${SCRIPT_DIR}/../../bin/static2"
pushd "${JS_BUILD_DIR}" >/dev/null
./esbuild.sh
./test-build-contract.sh
popd || exit
cp -R src/node_manager/js_build/out/* ../../bin/static2/
popd >/dev/null
echo "Copying static"
rm -rf "${STATIC_TARGET_DIR:?}"
mkdir -p "${STATIC_TARGET_DIR}"
cp -v -R "${STATIC_SOURCE_DIR}/." "${STATIC_TARGET_DIR}/"
cp -R "${JS_BUILD_DIR}/out/." "${STATIC_TARGET_DIR}/"
echo "Done"
@@ -1,4 +1,4 @@
# Site_build
# js_build
This assembles the JavaScript for the node_manager site using `esbuild`.
@@ -13,14 +13,17 @@ This assembles the JavaScript for the node_manager site using `esbuild`.
- `./esbuild.sh`
- `./test-build-contract.sh`
`esbuild.sh` prefers a locally installed `esbuild` binary when available. If none is found, it falls back to downloading a standalone binary into `/tmp/esbuild`.
`esbuild.sh` uses `ESBUILD_BIN` when set and matching `ESBUILD_VERSION`. Explicit `ESBUILD_BIN` overrides must already report the expected version. Otherwise it uses an `esbuild` on `PATH` only when its version matches `ESBUILD_VERSION`; if no matching binary is available, it downloads a standalone binary into the default managed cache at `src/rust/target/esbuild`. Set `ESBUILD_INSTALL_DIR` to relocate that cache.
Defaults:
- fallback esbuild version: `0.25.3`
- browser targets: `chrome85,firefox78,safari14`
- fallback cache: `src/rust/target/esbuild`
Optional overrides:
- `ESBUILD_BIN`
- `ESBUILD_VERSION`
- `ESBUILD_TARGETS`
- `ESBUILD_INSTALL_DIR`
@@ -7,23 +7,94 @@ SRC_DIR="${SCRIPT_DIR}/src"
OUT_DIR="${SCRIPT_DIR}/out"
ESBUILD_VERSION="${ESBUILD_VERSION:-0.25.3}"
ESBUILD_TARGETS="${ESBUILD_TARGETS:-chrome85,firefox78,safari14}"
ESBUILD_INSTALL_DIR="${ESBUILD_INSTALL_DIR:-${SCRIPT_DIR}/../../../../target/esbuild}"
ESBUILD_STAGE_PATTERN="${ESBUILD_INSTALL_DIR}/staging.XXXXXX"
if [[ ! -f "${ENTRYPOINTS_FILE}" ]]; then
echo "Missing entrypoints file: ${ENTRYPOINTS_FILE}" >&2
exit 1
fi
if [[ -z "${ESBUILD_BIN:-}" ]]; then
ESBUILD_BIN="$(command -v esbuild || true)"
MANAGED_ESBUILD=0
REQUESTED_ESBUILD_BIN="${ESBUILD_BIN:-}"
ESBUILD_BIN=""
ESBUILD_BIN_VERSION=""
esbuild_version() {
local bin="$1"
if [[ -x "${bin}" ]]; then
"${bin}" --version 2>/dev/null || true
fi
}
install_managed_esbuild() {
local stage_dir=""
local stage_bin=""
local stage_installer=""
local stage_tmp=""
local stage_version=""
mkdir -p "${ESBUILD_INSTALL_DIR}"
stage_dir="$(mktemp -d "${ESBUILD_STAGE_PATTERN}")"
stage_bin="${stage_dir}/esbuild"
stage_installer="${stage_dir}/install-esbuild.sh"
stage_tmp="${stage_dir}/tmp"
mkdir -p "${stage_tmp}"
curl -fsSL "https://esbuild.github.io/dl/v${ESBUILD_VERSION}" -o "${stage_installer}"
pushd "${stage_dir}" >/dev/null
TMPDIR="${stage_tmp}" sh "${stage_installer}"
popd >/dev/null
chmod a+x "${stage_bin}"
stage_version="$(esbuild_version "${stage_bin}")"
if [[ "${stage_version}" != "${ESBUILD_VERSION}" ]]; then
echo "Downloaded esbuild version ${stage_version:-unknown} does not match ${ESBUILD_VERSION}: ${stage_bin}" >&2
exit 1
fi
mv -f "${stage_bin}" "${ESBUILD_BIN}"
rm -rf "${stage_dir}"
}
if [[ -n "${REQUESTED_ESBUILD_BIN}" ]]; then
ESBUILD_BIN="${REQUESTED_ESBUILD_BIN}"
if [[ ! -x "${ESBUILD_BIN}" ]]; then
echo "Configured ESBUILD_BIN is not executable: ${ESBUILD_BIN}" >&2
exit 1
fi
ESBUILD_BIN_VERSION="$(esbuild_version "${ESBUILD_BIN}")"
else
SYSTEM_ESBUILD_BIN="$(command -v esbuild || true)"
if [[ -n "${SYSTEM_ESBUILD_BIN}" ]]; then
SYSTEM_ESBUILD_VERSION="$(esbuild_version "${SYSTEM_ESBUILD_BIN}")"
if [[ "${SYSTEM_ESBUILD_VERSION}" == "${ESBUILD_VERSION}" ]]; then
ESBUILD_BIN="${SYSTEM_ESBUILD_BIN}"
ESBUILD_BIN_VERSION="${SYSTEM_ESBUILD_VERSION}"
fi
fi
if [[ -z "${ESBUILD_BIN}" ]]; then
ESBUILD_BIN="${ESBUILD_INSTALL_DIR}/esbuild"
ESBUILD_BIN_VERSION="$(esbuild_version "${ESBUILD_BIN}")"
MANAGED_ESBUILD=1
fi
fi
if [[ -z "${ESBUILD_BIN}" ]]; then
mkdir -p /tmp/esbuild
pushd /tmp/esbuild >/dev/null
curl -fsSL "https://esbuild.github.io/dl/v${ESBUILD_VERSION}" | sh
popd >/dev/null
chmod a+x /tmp/esbuild/esbuild
ESBUILD_BIN="/tmp/esbuild/esbuild"
if [[ "${MANAGED_ESBUILD}" -eq 1 && "${ESBUILD_BIN_VERSION}" != "${ESBUILD_VERSION}" ]]; then
install_managed_esbuild
ESBUILD_BIN_VERSION="$(esbuild_version "${ESBUILD_BIN}")"
fi
if [[ ! -x "${ESBUILD_BIN}" ]]; then
echo "esbuild is not executable: ${ESBUILD_BIN}" >&2
exit 1
fi
if [[ "${ESBUILD_BIN_VERSION}" != "${ESBUILD_VERSION}" ]]; then
echo "esbuild version ${ESBUILD_BIN_VERSION:-unknown} does not match ${ESBUILD_VERSION}: ${ESBUILD_BIN}" >&2
exit 1
fi
mkdir -p "${OUT_DIR}"