custom-config-files
v0.0.2
Published
Output, read, and remove both local and global configs from .json, .js, .env, and .yml files with Node.js
Downloads
2
Readme
custom-config-files
Output, read, and remove both local and global configs from .json, .js, .env, and .yml files with Node.js
Highlights
- Local and global configs
- Output, read, remove
- json, js, env, yml
Install
npm install custom-config-files
yarn add custom-config-files
Usage
Documentation website coming soon!
Initialize
// import package
const Config = require('custom-config-files').default;
// setup instance
const config = new Config({
rootName: 'myconfigrc', // required, file patterns .myconfigrc.json
globalDir: '~/.config/myconfig', // required, see https://github.com/kirsle/configdir
localDir: `${process.cwd()}/myconfig`, // optional, defaults to process.cwd()
})
// edit instance variables
config.setFileRoot(fileRoot);
config.setLocalDir(localDir);
config.setGlobalDir(globalDir);
Methods
Extensions
const fileTypes = require('custom-config-files').fileTypes;
// extensions are optional, and are used to
// specify output or filter input
let extensions;
// defaults to fileTypes.json for `output` method
extensions = fileTypes.json;
// defaults to all available fileTypes for `read` and `remove` methods
extensions = [fileTypes.json, fileTypes.js, fileTypes.env, fileTypes.yml,];
Output Files
// outputs config file to local dir
config.outputLocal(extensions);
// outputs config file to global dir
config.outputGlobal(extensions);
Read Files
// find most recent local config file
config.readLocal(extensions);
// find most recent global config file
config.readGlobal(extensions);
// combination, checks local then global
config.read(extensions);
// all default to `null` if not found
Remove Files
// removes a local config file
config.removeLocal(extensions);
// removes a global config file
config.removeGlobal(extensions);
// removes the entire global config folder
// only use if you have a custom folder for your global configs
config.removeGlobalDir();
Low Level API
Documentation website coming soon. See comments in files under ./src/utils
.