91 lines
3.3 KiB
Text
91 lines
3.3 KiB
Text
# =============================================================================
|
|
# BUILD SYSTEM COMMANDS - Rustelo Framework
|
|
# =============================================================================
|
|
# Enhanced build tools and cross-platform building
|
|
|
|
# Build CSS bundles
|
|
build-css-bundles:
|
|
@echo "🎨 Building CSS bundles..."
|
|
node ./scripts/build/build-css-bundles.js
|
|
|
|
# Build design system
|
|
build-design-system:
|
|
@echo "🎨 Building design system..."
|
|
node ./scripts/build/build-design-system.js
|
|
|
|
# Build theme system
|
|
build-theme:
|
|
@echo "🎨 Building theme system..."
|
|
node ./scripts/build/build-theme.js
|
|
|
|
# Copy CSS assets to public directory
|
|
copy-css-assets:
|
|
@echo "🎨 Copying CSS assets..."
|
|
node ./scripts/build/copy-css-assets.js
|
|
|
|
# Build for production with enhanced Leptos build
|
|
build-enhanced-prod:
|
|
@echo "🔨 Building enhanced production version..."
|
|
./scripts/build/leptos-build.sh
|
|
|
|
# Cross-platform Docker build
|
|
build-cross-platform:
|
|
@echo "🐳 Building for cross-platform deployment..."
|
|
./scripts/build/build-docker-cross.sh
|
|
|
|
# Pack project for distribution
|
|
dist-pack:
|
|
@echo "📦 Packing project for distribution..."
|
|
./scripts/dist-pack.sh
|
|
|
|
# Cross-build for Linux AMD64
|
|
cross-build:
|
|
@echo "📦 Cross-building for Linux AMD64..."
|
|
./scripts/cross-build.sh
|
|
|
|
# Build all assets (CSS + JS + themes)
|
|
build-all-assets:
|
|
@echo "🎨 Building all frontend assets..."
|
|
@just build-css-bundles
|
|
@just build-design-system
|
|
@just build-theme
|
|
@just copy-css-assets
|
|
|
|
# =============================================================================
|
|
# DEPENDENCY SYNC - registry/Cargo.toml → workspace.dependencies
|
|
# =============================================================================
|
|
# `registry/Cargo.toml` is the single source of truth (editable in Zed via
|
|
# rust-analyzer's inline upgrade hints). These recipes propagate it to
|
|
# `rustelo/Cargo.toml` and to any implementation workspace.
|
|
|
|
# Propagate the registry into rustelo's own Cargo.toml managed region.
|
|
deps-sync:
|
|
@echo "🔗 Syncing rustelo/Cargo.toml from registry/Cargo.toml..."
|
|
cargo xtask sync-deps
|
|
|
|
# Verify rustelo/Cargo.toml matches the registry (exit 1 if drifted).
|
|
deps-sync-check:
|
|
@echo "🔍 Checking rustelo/Cargo.toml for drift from registry..."
|
|
cargo xtask sync-deps --check
|
|
|
|
# Propagate the registry into an implementation workspace.
|
|
# Example: just deps-sync-impl ../jpl-website
|
|
deps-sync-impl target:
|
|
@echo "🔗 Syncing {{target}}/Cargo.toml from registry/Cargo.toml..."
|
|
cargo xtask sync-deps --target {{target}}
|
|
|
|
# Verify an implementation's Cargo.toml matches the registry (exit 1 if drifted).
|
|
deps-sync-check-impl target:
|
|
@echo "🔍 Checking {{target}}/Cargo.toml for drift from registry..."
|
|
cargo xtask sync-deps --check --target {{target}}
|
|
|
|
# Sync rustelo + every implementation declared in registry/sync.toml [impls.known].
|
|
# Adding a new implementation is a registry/sync.toml edit — no recipe change needed.
|
|
deps-sync-all:
|
|
@echo "🔗 Syncing rustelo + every known implementation..."
|
|
cargo xtask sync-deps --all
|
|
|
|
# Verify rustelo + every implementation matches the registry (exit 1 if any drifts).
|
|
deps-sync-check-all:
|
|
@echo "🔍 Checking rustelo + every known implementation for drift..."
|
|
cargo xtask sync-deps --check --all
|