Config validator
Npm package
Warning
This package was renamed to config-validation
A library created with the objective to facilitate creating configurating configuration that are stored in JSON files. It's uses a schema defined by the user, that the loaded json file needs to have otherside the loading of the file will fail as an "Config error".
Important
In the moment this library is in pre-release, so be careful when to use it. There can be lots of bugs or some problems that needs to be fixed.
Reasong
An alternative of Convict written in Typescript, the primary reason of this library is the need of dynamically updating the configuration file in some of my projects (yeah, it has it's owns risk but I need to do it :/ and take care of all possible errors)
How to use
Setup an configuration file anywhere in your machine (be certain that the application can read the file), and use it's path in configurator
Example:
import { configurator } from "config-type";
import path from 'path';
const Configurator = configurator({
databaseUrl: {
description: 'Database url',
type: 'string',
required: true,
},
insert_invertal: {
description: 'Bach insert interval used for buffer cleaning',
type: 'number',
required: true,
},
server: {
port: {
description: 'The server port',
type: 'number',
default: 3333,
}
}
});
Configurator.load(path.join(__dirname, 'config.json'));
console.log(Configurator.get('databaseUrl'));
Configurator.set('databaseUrl', 'Another url')
console.log(Configurator.get('databaseUrl'));
Configurator.updateConfigFile();
Todo
Inspiration