#!/usr/bin/env nu # Get cache paths using PAP-compliant manifest system # Usage: nu scripts/cache-paths.nu [client|server|build|deployment] def main [cache_type?: string = "build"] { # Load the manifest configuration (this would be the TOML file when implemented) # For now, use the current structure from the Rust build system let workspace_root = (pwd) # Default manifest values (these should come from rustelo.toml when implemented) let cache_build_path = "site_build/devtools/build-cache" let cache_deployment_path = "cache" let build_cache_root = ($workspace_root | path join "target" $cache_build_path) match $cache_type { "client" => { $build_cache_root | path join "client" }, "server" => { $build_cache_root | path join "server" }, "build" => { $build_cache_root }, "deployment" => { $workspace_root | path join $cache_deployment_path }, _ => { error make {msg: $"Unknown cache type: ($cache_type). Use: client|server|build|deployment"} } } } # TODO: When rustelo.toml is implemented, use this function def load_manifest_config [] { # This would load the actual manifest file # let manifest = (open rustelo.toml | from toml) # { # cache_build_path: $manifest.build.cache_build_path, # cache_deployment_path: $manifest.deployment.cache_path # } # For now return defaults { cache_build_path: "site_build/devtools/build-cache", cache_deployment_path: "cache" } }