generated from coulomb/repo-seed
Vendor whynot-design Layer 1 (tokens, CSS) and Layer 2 (<wn-*> components) via scripts/sync-whynot-design.sh with a pinned ref. Migrate the observatory shell to canonical web components, keep observatory-specific layout in styles.css, and add vendor integrity tests plus correct JS MIME types on the dev server.
47 lines
1.6 KiB
Bash
Executable File
47 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Synchronises the vendored copy of whynot-design from a pinned upstream commit.
|
|
# Source: ~/whynot-design (worktree) or a clone from gitea.
|
|
#
|
|
# Usage: ./scripts/sync-whynot-design.sh [<commit-or-ref>]
|
|
# Default: reads .whynot-design-ref from the vendor directory, else HEAD.
|
|
#
|
|
# Pulls Layer 1 (tokens + CSS) and Layer 2 (Lit web components) so the
|
|
# observatory UI picks up design-system changes on re-run.
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
VENDOR_DIR="$ROOT/ui/vendor/whynot-design"
|
|
REF_FILE="$VENDOR_DIR/.whynot-design-ref"
|
|
SRC_REPO="${WHYNOT_DESIGN_SRC:-$HOME/whynot-design}"
|
|
|
|
REF="${1:-}"
|
|
if [[ -z "$REF" && -f "$REF_FILE" ]]; then
|
|
REF="$(cat "$REF_FILE")"
|
|
fi
|
|
if [[ -z "$REF" ]]; then
|
|
REF="HEAD"
|
|
fi
|
|
|
|
if [[ ! -d "$SRC_REPO/.git" ]]; then
|
|
echo "Source not found: $SRC_REPO" >&2
|
|
echo "Set WHYNOT_DESIGN_SRC or clone gitea:whynot/whynot-design there." >&2
|
|
exit 1
|
|
fi
|
|
|
|
mkdir -p "$VENDOR_DIR/tokens" "$VENDOR_DIR/elements"
|
|
|
|
git -C "$SRC_REPO" show "$REF:src/styles/colors_and_type.css" > "$VENDOR_DIR/colors_and_type.css"
|
|
git -C "$SRC_REPO" show "$REF:src/styles/components.css" > "$VENDOR_DIR/components.css"
|
|
git -C "$SRC_REPO" show "$REF:src/index.js" > "$VENDOR_DIR/index.js"
|
|
|
|
for f in atoms.js chrome.js form.js icons.js layout.js _styles.js; do
|
|
git -C "$SRC_REPO" show "$REF:src/elements/$f" > "$VENDOR_DIR/elements/$f"
|
|
done
|
|
|
|
for f in colors.json type.json spacing.json index.json; do
|
|
git -C "$SRC_REPO" show "$REF:tokens/$f" > "$VENDOR_DIR/tokens/$f"
|
|
done
|
|
|
|
git -C "$SRC_REPO" rev-parse "$REF" > "$REF_FILE"
|
|
|
|
echo "Vendor synced → $VENDOR_DIR (ref: $(cat "$REF_FILE"))" |