tyson
gookit/config
tyson | gookit/config | |
---|---|---|
11 | 3 | |
530 | 523 | |
0.8% | 0.6% | |
6.9 | 7.7 | |
about 1 month ago | 2 months ago | |
Go | Go | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
tyson
- TySON: TypeScript Object Notation
- TySON (TypeScript Object Notation)
- TySON: Use TypeScript as a Configuration Language
-
Rethinking Infrastructure as Code from Scratch
I have a similar view to yours: as soon as you need variables, imports, functions or any other type of logic ... the existing "data-only" formats break down. Over time people either invent new configuration languages that enable logic (i.e. cue or jsonnet), or they try to bolt-in some limited version of these primitives into their configuration.
My personal take is that at some point you are better of just using a full programming langugage like TypeScript. We created TySON https://github.com/jetpack-io/tyson to experiment with that idea.
- Show HN: TySON – TypeScript as Configuration
- TySON: a native go library that lets you use TypeScript as an embedded configuration language without depending on Node or V8
-
TySON: TypeScript as an embeddable configuration language, without depending on Node or V8
Apparently "not depending on Node or V8" means depending on some random Go JS engine instead.
gookit/config
-
topoconfig: enhancing config declarations with graphs
gookit/config
-
How to read .env file with a variable that contains $ ?
In that case, you should not be using the shell to read the .env file; instead, use a library. I recommend https://github.com/gookit/config
- GitHub - gookit/config: 📝 Go configuration manage(load,get,set,export). support JSON, YAML, TOML, Properties, INI, HCL, ENV and Flags. Multi file load, data override merge, parse ENV var, binding data to struct.
What are some alternatives?
json5-spec - The JSON5 Data Interchange Format
viper - Go configuration with fangs
cdk-ecs-service-extensions
go-env - Golang handling of environment values
json5 - JSON5 — JSON for Humans
konfig - Composable, observable and performant config handling for Go for the distributed processing era
dhall-lang - Maintainable configuration files
gcfg - read INI-style configuration files into Go structs; supports user-defined types and subsections
goConfig - goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
ini - Package ini provides INI file read and write functionality in Go
goja - ECMAScript/JavaScript engine in pure Go
toml - Instream TOML to JSON encoder