{"id":32281222,"url":"https://github.com/platelk/dconf","last_synced_at":"2025-10-23T00:55:12.920Z","repository":{"id":56827993,"uuid":"177337422","full_name":"platelk/dconf","owner":"platelk","description":"Dart package inspired by viper in golang to manage configuration","archived":false,"fork":false,"pushed_at":"2020-02-02T14:46:20.000Z","size":14,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-23T00:55:12.144Z","etag":null,"topics":["configuration","dart","library","utility"],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/platelk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-23T20:34:18.000Z","updated_at":"2023-05-30T08:22:08.000Z","dependencies_parsed_at":"2022-08-29T02:40:45.328Z","dependency_job_id":null,"html_url":"https://github.com/platelk/dconf","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/platelk/dconf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platelk%2Fdconf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platelk%2Fdconf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platelk%2Fdconf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platelk%2Fdconf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/platelk","download_url":"https://codeload.github.com/platelk/dconf/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/platelk%2Fdconf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280540649,"owners_count":26347724,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-22T02:00:06.515Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","dart","library","utility"],"created_at":"2025-10-23T00:55:10.212Z","updated_at":"2025-10-23T00:55:12.914Z","avatar_url":"https://github.com/platelk.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dconf\nDart package inspired by [viper](https://github.com/spf13/viper) in golang to manage configuration\n\n## Why Dconf ?\n\nWhen building a modern application, you don’t want to worry about configuration file formats; you want to focus on building awesome software\n\nDconf provide :\n\n* Find, load, and unmarshal a configuration file in JSON or YAML formats.\n* Provide an alias system to easily rename parameters without breaking existing code.\n* Automatic binding from environment variable\n\n## Putting values\n\nYou can put values in the configuration by simply create a configuration holder object\n\n```dart\nimport 'package:dconf/dconf.dart';\n\nvoid main() {\n\tvar conf = new Config();\n\tconf[\"http.address\"] = \"localhost\";\n\tconf[\"http.port\"] = \"8080\";\n}\n```\n\n## Reading Config Files\nDconf requires minimal configuration so it knows where to look for config files. Dconf can search multiple paths, but currently a single Dconf instance only supports a single configuration file. Dconf does not default to any configuration search paths leaving defaults decision to an application.\n\nHere is an example of how to use Dconf to search for and read a configuration file. None of the specific paths are required, but at least one path should be provided where a configuration file is expected.\n\n```dart\nimport 'package:dconf/dconf.dart';\n\nvoid main() {\n\tvar load = new IOLoader();\n\tload.addPath(\"./conf\"); // Add lookup path\n    load.addPath(\".\");\n\tvar conf = load.load();\n}\n```\n\n## Register alias\n\nAliases permit a single value to be referenced by multiple keys\n\n```dart\nimport 'package:dconf/dconf.dart';\n\nvoid main() {\n\tvar conf = new Config();\n\tconf[\"http.address\"] = \"localhost\";\n\tconf[\"http.port\"] = \"8080\";\n\tconf.alias(\"server\", \"http\");\n\tprint(conf[\"server.port\"]); // \"8080\"\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatelk%2Fdconf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplatelk%2Fdconf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplatelk%2Fdconf/lists"}