Skip to content

mythmon/ganzu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ganzu

Load configuration from multiple sources, with support for predefined environments.

Packages

This is a monorepo. See the individual packages for usage information and documentation:

Development

# Install dependencies
$ npm install
# Run all checks
$ npm run dev

There are a few scripts defined in package.json that operate on all packages:

  • npm run build - Bundle and transpile to JS
  • npm run test - Run tests
  • npm run lint - Run ESLint
  • npm run lint:fix - Run ESLint and fix any auto-fixable issues
  • npm run format - Run Prettier and fix any auto-fixable issues
  • npm run format:check - Run Prettier, but don't change any files

Additionally, there is a combination of all of these: npm run dev, which could be used as the basis of a pre-commit hook.

For more fine-grained tasks, you can change into the individual package you're working on, or use turbo to filter tasks. For example:

# Run tests in the ganzu package
$ npx turbo run test --filter=ganzu

# Run lint in the json package
$ npx turbo run lint --filter=@ganzu/json

Using turbo this way will also run any dependencies of the package, such as building the ganzu when testing ganzu-json.

Inspiration

Ganzu is inspired by django-configurations and zod-config.

Name

The word "ganzu" is a Lojban word whose full English definition is:

x1 organizes x2 [relative chaos] into x3 [ordered/organized result] by system/principle(s) x4

Depending on how it is used, this can be used to refer to the organizer, the thing being organized, the result, or the system of organization. The simplest translation is something like "organizer" or "to organize".

About

Organized configuration

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •