|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
set -e |
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
|
|
PROJECT_DIR="$(dirname "$SCRIPT_DIR")" |
|
|
|
|
|
|
|
|
cd "$PROJECT_DIR" |
|
|
|
|
|
echo "π§ ComfyUI-SwissArmyKnife Cache Busting Utility" |
|
|
echo "================================================" |
|
|
|
|
|
|
|
|
VERSION=$(python3 -c "import tomllib; f=open('pyproject.toml', 'rb'); data=tomllib.load(f); print(data['project']['version']); f.close()" 2>/dev/null || echo "unknown") |
|
|
|
|
|
echo "π¦ Current version: $VERSION" |
|
|
|
|
|
|
|
|
JS_FILE="$PROJECT_DIR/web/js/swiss-army-knife.js" |
|
|
if [ -f "$JS_FILE" ]; then |
|
|
echo "π Updating version in JavaScript file..." |
|
|
|
|
|
|
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then |
|
|
|
|
|
sed -i '' "s/const EXTENSION_VERSION = \"[^\"]*\"/const EXTENSION_VERSION = \"$VERSION\"/" "$JS_FILE" |
|
|
else |
|
|
|
|
|
sed -i "s/const EXTENSION_VERSION = \"[^\"]*\"/const EXTENSION_VERSION = \"$VERSION\"/" "$JS_FILE" |
|
|
fi |
|
|
|
|
|
echo "β
Updated JavaScript version to $VERSION" |
|
|
else |
|
|
echo "β JavaScript file not found: $JS_FILE" |
|
|
exit 1 |
|
|
fi |
|
|
|
|
|
|
|
|
if command -v sha256sum >/dev/null 2>&1; then |
|
|
HASH=$(sha256sum "$JS_FILE" | cut -d' ' -f1 | head -c 8) |
|
|
elif command -v shasum >/dev/null 2>&1; then |
|
|
HASH=$(shasum -a 256 "$JS_FILE" | cut -d' ' -f1 | head -c 8) |
|
|
else |
|
|
HASH=$(date +%s) |
|
|
fi |
|
|
|
|
|
echo "π File hash: $HASH" |
|
|
|
|
|
|
|
|
cat > "$PROJECT_DIR/cache_info.json" << EOF |
|
|
{ |
|
|
"version": "$VERSION", |
|
|
"hash": "$HASH", |
|
|
"timestamp": "$(date -u +"%Y-%m-%dT%H:%M:%SZ")", |
|
|
"files": { |
|
|
"swiss-army-knife.js": { |
|
|
"path": "web/js/swiss-army-knife.js", |
|
|
"hash": "$HASH" |
|
|
} |
|
|
} |
|
|
} |
|
|
EOF |
|
|
|
|
|
echo "π Created cache_info.json" |
|
|
|
|
|
echo "" |
|
|
echo "π― Cache Busting Complete!" |
|
|
echo " Version: $VERSION" |
|
|
echo " Hash: $HASH" |
|
|
echo "" |
|
|
echo "π‘ To force browser cache refresh:" |
|
|
echo " β’ Hard refresh: Ctrl+F5 (Windows/Linux) or Cmd+Shift+R (Mac)" |
|
|
echo " β’ Or clear browser cache and reload ComfyUI" |
|
|
echo "" |
|
|
echo "π For development, restart ComfyUI server to ensure changes are loaded." |