47 lines
1.6 KiB
Bash
47 lines
1.6 KiB
Bash
|
|
#!/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"))"
|