https://github.com/pfist/figg
A simple utility for managing YAML configuration files. Also supports JSON.
https://github.com/pfist/figg
config configuration configuration-management json yaml yml
Last synced: 2 months ago
JSON representation
A simple utility for managing YAML configuration files. Also supports JSON.
- Host: GitHub
- URL: https://github.com/pfist/figg
- Owner: pfist
- License: mit
- Created: 2017-04-13T04:55:07.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-01-29T16:49:12.000Z (over 8 years ago)
- Last Synced: 2025-12-19T20:59:33.260Z (6 months ago)
- Topics: config, configuration, configuration-management, json, yaml, yml
- Language: JavaScript
- Homepage:
- Size: 37.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: license
Awesome Lists containing this project
README
# Figg
> A simple utility for managing YAML configuration files. Also supports JSON.
[](https://travis-ci.org/polymoon/figg)
## Install
NPM:
```
$ npm install figg
```
Yarn:
```
$ yarn add figg
```
## Usage
```js
const Figg = require('figg')
const config = new Figg()
// Add a single property
config.set('name', 'John Div')
// Add multiple properties
config.set({
description: 'A stylish web designer',
url: 'http://johndiv.cool',
stylish: true
})
// Get a property
console.log(config.get('name'))
// 'John Div'
// Save config file (config.yml by default)
config.save()
// Load existing config file as an object
let myConfig = config.load()
```
## API
### Figg([options])
#### options.name
Type: `string`
Default: `'config'`
Name of the config without the extension
#### options.extension
Type: `string`
Default: `'.yml'`
The file extension used when loading and saving config files. Valid extensions are `'.yml'`, `'.yaml'` and `'.json'`.
#### options.path
Type: `string`
Default: Current working directory
Path to the directory where the config file is loaded/saved.
#### Examples
This example uses the default options. In this case, Figg will load/save your config at `./config.yml`.
```js
const config = new Figg()
```
In this example, Figg will load/save your config at `./app/settings.json`.
```js
const config = new Figg({
name: 'settings',
extension: '.json',
path: './app'
})
```
### Instance Methods
#### config.get(key)
Returns the value of `key` if it exists.
#### config.set(key, value)
Add a new property to the config.
#### config.set(object)
Add multiple properties at once.
#### config.has(key)
Check if a property exists.
#### config.load()
Load a config file. Returns an object.
#### config.save()
Save a config file.
## License
MIT © Nick Pfisterer