The Protevus Platform: Unified Full-Stack Development https://protevus.com
Find a file
2016-09-19 16:31:32 -04:00
lib Barback transformer 2016-09-19 16:24:26 -04:00
test Barback transformer 2016-09-19 16:24:26 -04:00
.gitignore Done? 2016-04-21 21:19:38 -04:00
LICENSE Initial commit 2016-04-21 19:36:59 -04:00
pubspec.yaml README 2016-09-19 16:31:32 -04:00
README.md README 2016-09-19 16:31:32 -04:00

Angel Configuration

Isomorphic YAML configuration loader for Angel.

About

Any web app needs different configuration for development and production. This plugin will search for a config/default.yaml file. If it is found, configuratiom from it is loaded into angel.properties. Then, it will look for a config/$ANGEL_ENV file. (i.e. config/development.yaml). If this found, all of its configuration be loaded, and will override anything loaded from the default.yaml file. This allows for your app to work under different conditions without you re-coding anything. :)

Installation

In pubspec.yaml:

dependencies:
    angel_configuration: ^1.0.0-dev

Usage

Server-side

import 'dart:io';
import 'package:angel_framework/angel_framework.dart';
import 'package:angel_configuration/angel_configuration.dart';

main() async {
    Angel angel = new Angel();
    angel.configure(loadConfigurationFile()); // It's that easy!
}

loadConfigurationFile also accepts a sourceDirectory or overrideEnvironmentName parameter. The former will allow you to search in a directory other than config, and the latter lets you override $ANGEL_ENV by specifying a specific configuration name to look for (i.e. 'production').

In the Browser

You can easily load configuration values within your client-side app, and they will be automatically replaced by a Barback transformer.

import 'package:angel_configuration/browser.dart';

main() async {
    print(config("some_key.other.nested_key"));
}