0.0.2 • Published 5 years ago

custom-config-files v0.0.2

Weekly downloads
3
License
MIT
Repository
github
Last release
5 years ago

custom-config-files

npm.io

Output, read, and remove both local and global configs from .json, .js, .env, and .yml files with Node.js

npm-version dependencies dev dependencies license license

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.