This commit includes comprehensive codebase cleanup and refactoring: ## Code Cleanup - Remove dead TypeScript code (types/monitoring.ts - 194 lines duplicate) - Remove unused Go functions (GetClusterNodes, MigratePassword, GetClusterHealthInfo) - Clean up commented-out code blocks across multiple files - Remove unused TypeScript exports (helpTextClass, private tag color helpers) - Delete obsolete test files and components ## localStorage Consolidation - Centralize all storage keys into STORAGE_KEYS constant - Update 5 files to use centralized keys: * utils/apiClient.ts (AUTH, LEGACY_TOKEN) * components/Dashboard/Dashboard.tsx (GUEST_METADATA) * components/Docker/DockerHosts.tsx (DOCKER_METADATA) * App.tsx (PLATFORMS_SEEN) * stores/updates.ts (UPDATES) - Benefits: Single source of truth, prevents typos, better maintainability ## Previous Work Committed - Docker monitoring improvements and disk metrics - Security enhancements and setup fixes - API refactoring and cleanup - Documentation updates - Build system improvements ## Testing - All frontend tests pass (29 tests) - All Go tests pass (15 packages) - Production build successful - Zero breaking changes Total: 186 files changed, 5825 insertions(+), 11602 deletions(-)
70 lines
1.7 KiB
Makefile
70 lines
1.7 KiB
Makefile
# Pulse Makefile for development
|
|
|
|
.PHONY: build run dev frontend backend all clean distclean dev-hot lint lint-backend lint-frontend format format-backend format-frontend
|
|
|
|
FRONTEND_DIR := frontend-modern
|
|
FRONTEND_DIST := $(FRONTEND_DIR)/dist
|
|
FRONTEND_EMBED_DIR := internal/api/frontend-modern
|
|
|
|
# Build everything
|
|
all: frontend backend
|
|
|
|
# Build frontend only
|
|
frontend:
|
|
npm --prefix $(FRONTEND_DIR) run build
|
|
@echo "================================================"
|
|
@echo "Copying frontend to internal/api/ for Go embed"
|
|
@echo "This is REQUIRED - Go cannot embed external paths"
|
|
@echo "================================================"
|
|
rm -rf $(FRONTEND_EMBED_DIR)
|
|
mkdir -p $(FRONTEND_EMBED_DIR)
|
|
cp -r $(FRONTEND_DIST) $(FRONTEND_EMBED_DIR)/
|
|
@echo "✓ Frontend copied for embedding"
|
|
|
|
# Build backend only (includes embedded frontend)
|
|
backend:
|
|
go build -o pulse ./cmd/pulse
|
|
|
|
# Build both and run
|
|
build: frontend backend
|
|
|
|
# Run the built binary
|
|
run: build
|
|
./pulse
|
|
|
|
# Development - rebuild everything and restart service
|
|
dev: frontend backend
|
|
sudo systemctl restart pulse-hot-dev
|
|
|
|
dev-hot:
|
|
./scripts/hot-dev.sh
|
|
|
|
# Clean build artifacts
|
|
clean:
|
|
rm -f pulse
|
|
rm -rf $(FRONTEND_DIST) $(FRONTEND_EMBED_DIR)
|
|
|
|
distclean: clean
|
|
./scripts/cleanup.sh
|
|
|
|
# Quick rebuild and restart for development
|
|
restart: frontend backend
|
|
sudo systemctl restart pulse-hot-dev
|
|
|
|
# Run linters for both backend and frontend
|
|
lint: lint-backend lint-frontend
|
|
|
|
lint-backend:
|
|
golangci-lint run ./...
|
|
|
|
lint-frontend:
|
|
npm --prefix $(FRONTEND_DIR) run lint
|
|
|
|
# Apply formatters
|
|
format: format-backend format-frontend
|
|
|
|
format-backend:
|
|
gofmt -w cmd internal pkg
|
|
|
|
format-frontend:
|
|
npm --prefix $(FRONTEND_DIR) run format
|