aliensmn's picture
Mirror from https://github.com/sammykumar/ComfyUI-SwissArmyKnife
0997c23 verified
#!/bin/bash
# ComfyUI-SwissArmyKnife Cache Busting Utility
# This script helps with cache busting during development
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
# Change to project directory for consistent file access
cd "$PROJECT_DIR"
echo "πŸ”§ ComfyUI-SwissArmyKnife Cache Busting Utility"
echo "================================================"
# Get current version from pyproject.toml
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"
# Update version in JavaScript file
JS_FILE="$PROJECT_DIR/web/js/swiss-army-knife.js"
if [ -f "$JS_FILE" ]; then
echo "πŸ”„ Updating version in JavaScript file..."
# Use sed to update the version in the JavaScript file
if [[ "$OSTYPE" == "darwin"* ]]; then
# macOS
sed -i '' "s/const EXTENSION_VERSION = \"[^\"]*\"/const EXTENSION_VERSION = \"$VERSION\"/" "$JS_FILE"
else
# Linux
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
# Generate cache busting hash based on file content
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"
# Create cache busting info file
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."