Skip to content

beyondjs/config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@beyond-js/config

A dynamic configuration processor for managing complex configuration objects and collections.

Installation

npm install @beyond-js/config

Features

  • Dynamic processing of configuration objects and arrays
  • File-based configuration support
  • Hierarchical configuration structure
  • Error and warning handling
  • Watching for file changes

Usage

const { Config, ConfigCollection } = require('@beyond-js/config');

// Create a configuration object
const config = new Config('/path/to/config/root', {
	applications: 'array',
	'applications/children': 'object'
});

// Set configuration data
config.data = 'config.json';

// Access configuration properties
config.ready.then(() => {
	console.log(config.value);
	console.log(config.errors);
	console.log(config.warnings);
});

// Create a configuration collection
class MyCollection extends ConfigCollection {
	_createItem(config) {
		return new MyItem(config);
	}
}

const collection = new MyCollection(config);

// Process the collection
collection.ready.then(() => {
	console.log(collection.size);
	for (const [key, item] of collection) {
		console.log(key, item);
	}
});

API

Config

  • constructor(rootPath, branchesSpecs)
  • data: Get/set the configuration data
  • value: Get the processed configuration value
  • errors: Get configuration errors
  • warnings: Get configuration warnings
  • valid: Check if the configuration is valid

ConfigCollection

  • constructor(config)
  • config: Get the underlying configuration object
  • errors: Get collection errors
  • warnings: Get collection warnings
  • valid: Check if the collection is valid

License

MIT © [BeyondJS]

About

A powerful and flexible configuration management library for JavaScript applications. @beyond-js/config provides dynamic processing of complex configuration objects and collections, supporting file-based configs, hierarchical structures, and real-time file watching. Ideal for large-scale projects requiring robust configuration handling.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages