refactor: move JS vendors to vendor/ with versioned filenames

Vendor JS files to vendor/ with versioned names, symlinks in
webui/static/ select active version. Update update-vendor.sh and
AGENTS.md.
This commit is contained in:
2026-05-25 01:20:37 +00:00
parent f81be96e59
commit 5ac69dfa7e
6 changed files with 30 additions and 24 deletions
+11 -7
View File
@@ -1,6 +1,5 @@
#!/usr/bin/env bash
# Download and vendor frontend JS libraries into webui/static/
# and backend binaries into vendor/.
# Download and vendor libraries into vendor/.
# Run from the project root after updating the VERSION variables below.
set -euo pipefail
@@ -9,7 +8,8 @@ HTMX_VERSION="2.0.4"
HTMX_JSON_ENC_VERSION="2.0.0"
ACME_VERSION="3.1.3"
STATIC_DIR="webui/static"
VENDOR="vendor"
STATIC="webui/static"
download() {
local name="$1" url="$2" dest="$3"
@@ -23,16 +23,20 @@ download() {
download "htmx@${HTMX_VERSION}" \
"https://unpkg.com/htmx.org@${HTMX_VERSION}/dist/htmx.min.js" \
"${STATIC_DIR}/htmx.min.js"
"${VENDOR}/htmx-${HTMX_VERSION}.min.js"
download "htmx-ext-json-enc@${HTMX_JSON_ENC_VERSION}" \
"https://unpkg.com/htmx-ext-json-enc@${HTMX_JSON_ENC_VERSION}/json-enc.js" \
"${STATIC_DIR}/json-enc.js"
"${VENDOR}/json-enc-${HTMX_JSON_ENC_VERSION}.js"
download "acme.sh@${ACME_VERSION}" \
"https://raw.githubusercontent.com/acmesh-official/acme.sh/${ACME_VERSION}/acme.sh" \
"vendor/acme.sh"
"${VENDOR}/acme.sh"
chmod +x "vendor/acme.sh"
chmod +x "${VENDOR}/acme.sh"
# Symlinks in webui/static/ select the active version
ln -sf "../../vendor/htmx-${HTMX_VERSION}.min.js" "${STATIC}/htmx.min.js"
ln -sf "../../vendor/json-enc-${HTMX_JSON_ENC_VERSION}.js" "${STATIC}/json-enc.js"
echo "[done] All libraries vendored."