Configuration
Guide & Structure
Centralized, deterministic configuration using xypriss.config.jsonc with support for dynamic variable injection.
Strict Root Loading
XyPriss only loads configuration from the absolute project root. Nested configurations in subdirectories are ignored for security and determinism.
Primary Sections
$vars
Project metadata and application-wide variables populated into the __sys__.vars namespace.
$internal
Enterprise-grade plugin authorization and isolated filesystem workspace definitions.
Dynamic Variable Injection
XyPriss supports recursive dynamic property resolution using various providers, ensuring clean separation between code and environment.
&(env).KEY
Injects environment variables with optional fallbacks.
json
"port": "&(env).PORT || 8080"&(pkg).path
Accesses properties from package.json (keys or values).
json
"version": "&(pkg).version"&(this).KEY
Self-reference other properties in the same config file.
json
"baseUrl": "http://&(this).$vars.host"&(file).path
Injects file contents (certificates, secrets) synchronously.
json
"cert": "&(file)./certs/server.crt"Accessing in TypeScript
typescript
// Securely access resolved variables anywhere
const port = __sys__.vars.get("port") || 8080;
const projectName = __sys__.vars.get("__project_name__");
console.log(`Starting ${projectName} on port ${port}...`);Network Engine
Configure HTTP/2, Compression, Rate Limiting, and Reverse Proxy plugins.
