A smart configuration plugin and singleton service layer for Aurelia 1 applications.
Aurelia-Configuration is a plugin for Aurelia 1 applications that provides a singleton service for managing configuration settings. It allows developers to load configuration from JSON files, support environment-specific values, and dynamically switch configurations based on the current environment. It solves the problem of managing different settings for development, staging, and production environments in a structured way.
Aurelia 1 developers who need a robust and flexible way to handle application configuration, especially those building applications that require environment-specific settings or dynamic configuration switching.
Developers choose Aurelia-Configuration because it integrates seamlessly with Aurelia's dependency injection, offers environment-aware configuration with cascading fallbacks, and provides a simple API for accessing and overriding settings without modifying the original configuration files.
Smart configuration for your Aurelia applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports cascading values across environments like development and production, allowing clean separation and fallback, as detailed in the setEnvironment method with examples in the README.
Automatically switches environments based on URL domains using setEnvironments, simplifying multi-environment deployments without manual intervention.
Allows customization of configuration file location and name via setDirectory and setConfig, adapting to various project structures and needs.
Provides simple methods like get with dot notation and set for temporary overrides, making configuration easy to access and modify without persisting changes.
Only compatible with Aurelia 1, making it obsolete for teams using or migrating to Aurelia 2 or other modern frameworks, limiting long-term adoption.
Requires manual edits to aurelia.json for Aurelia CLI users, as noted in the README, adding setup overhead compared to more integrated solutions.
Initial configuration is loaded from JSON files, which may not integrate well with modern DevOps practices that favor environment variables or dynamic secret stores.