davianspace_configuration 1.0.3 copy "davianspace_configuration: ^1.0.3" to clipboard
davianspace_configuration: ^1.0.3 copied to clipboard

Flexible configuration system for Dart and Flutter with multi-source providers, hierarchical settings, environment overrides, JSON support, and runtime reload.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.


1.0.3 — 2026-02-25 #

Added #

  • davianspace_dependencyinjection integrationConfiguration, ConfigurationRoot, and a fluent ConfigurationBuilder setup are now injectable singletons via the new addConfiguration() and addConfigurationBuilder() extension methods on ServiceCollection (shipped as part of davianspace_dependencyinjection ^1.0.3). No changes to this package's public API are required; consumers import both packages and use the extensions from the DI package.

1.0.0 — 2025-07-19 #

Added #

  • ConfigurationBuilder — fluent builder composing multiple sources into a single ConfigurationRoot.
  • ConfigurationRoot — merged configuration root with reverse-precedence provider iteration.
  • ConfigurationManager — mutable live configuration; adding a provider takes effect immediately.
  • ConfigurationSection — scoped, path-aware view into a configuration sub-tree.
  • MemoryConfigurationProvider / MemoryConfigurationSource — flat Map<String, String?> provider.
  • MapConfigurationProvider / MapConfigurationSource — recursive Map<String, dynamic> and List flattening.
  • EnvironmentConfigurationProvider / EnvironmentConfigurationSource — optional prefix filtering with __: key mapping; web stub returns empty map.
  • JsonStringConfigurationProvider / JsonStringConfigurationSource — all-platform JSON string parsing.
  • JsonFileConfigurationProvider / JsonFileConfigurationSource — native file loading with optional reloadOnChange support via dart:io file watching.
  • ConfigurationPath — colon-separated path utilities (combine, combineAll, getSectionKey, getParentPath, getSegments).
  • KeyNormalizer — lowercase key normalisation and equality helpers.
  • ChangeToken / TokenRegistration / NeverChangeToken — reload notification abstractions.
  • ReloadToken — single-use, synchronously-firing change token.
  • ChangeNotifier — rotating reload-token manager consumed by ConfigurationRoot.
  • Zero runtime dependencies.
  • 80 unit tests, all passing.
0
likes
160
points
141
downloads

Documentation

API reference

Publisher

verified publisherdavian.space

Weekly Downloads

Flexible configuration system for Dart and Flutter with multi-source providers, hierarchical settings, environment overrides, JSON support, and runtime reload.

Repository (GitHub)
View/report issues
Contributing

Topics

#configuration #app-settings #environment #architecture #config-management

License

MIT (license)

More

Packages that depend on davianspace_configuration