diff options
Diffstat (limited to 'node_modules/configstore')
-rw-r--r-- | node_modules/configstore/index.js | 106 | ||||
-rw-r--r-- | node_modules/configstore/package.json | 47 | ||||
-rw-r--r-- | node_modules/configstore/readme.md | 116 |
3 files changed, 0 insertions, 269 deletions
diff --git a/node_modules/configstore/index.js b/node_modules/configstore/index.js deleted file mode 100644 index fb944204b..000000000 --- a/node_modules/configstore/index.js +++ /dev/null @@ -1,106 +0,0 @@ -'use strict'; -const path = require('path'); -const os = require('os'); -const fs = require('graceful-fs'); -const makeDir = require('make-dir'); -const xdgBasedir = require('xdg-basedir'); -const writeFileAtomic = require('write-file-atomic'); -const dotProp = require('dot-prop'); -const uniqueString = require('unique-string'); - -const configDir = xdgBasedir.config || path.join(os.tmpdir(), uniqueString()); -const permissionError = 'You don\'t have access to this file.'; -const makeDirOptions = {mode: 0o0700}; -const writeFileOptions = {mode: 0o0600}; - -class Configstore { - constructor(id, defaults, opts) { - opts = opts || {}; - - const pathPrefix = opts.globalConfigPath ? - path.join(id, 'config.json') : - path.join('configstore', `${id}.json`); - - this.path = path.join(configDir, pathPrefix); - this.all = Object.assign({}, defaults, this.all); - } - - get all() { - try { - return JSON.parse(fs.readFileSync(this.path, 'utf8')); - } catch (err) { - // Create dir if it doesn't exist - if (err.code === 'ENOENT') { - makeDir.sync(path.dirname(this.path), makeDirOptions); - return {}; - } - - // Improve the message of permission errors - if (err.code === 'EACCES') { - err.message = `${err.message}\n${permissionError}\n`; - } - - // Empty the file if it encounters invalid JSON - if (err.name === 'SyntaxError') { - writeFileAtomic.sync(this.path, '', writeFileOptions); - return {}; - } - - throw err; - } - } - - set all(val) { - try { - // Make sure the folder exists as it could have been deleted in the meantime - makeDir.sync(path.dirname(this.path), makeDirOptions); - - writeFileAtomic.sync(this.path, JSON.stringify(val, null, '\t'), writeFileOptions); - } catch (err) { - // Improve the message of permission errors - if (err.code === 'EACCES') { - err.message = `${err.message}\n${permissionError}\n`; - } - - throw err; - } - } - - get size() { - return Object.keys(this.all || {}).length; - } - - get(key) { - return dotProp.get(this.all, key); - } - - set(key, val) { - const config = this.all; - - if (arguments.length === 1) { - for (const k of Object.keys(key)) { - dotProp.set(config, k, key[k]); - } - } else { - dotProp.set(config, key, val); - } - - this.all = config; - } - - has(key) { - return dotProp.has(this.all, key); - } - - delete(key) { - const config = this.all; - dotProp.delete(config, key); - this.all = config; - } - - clear() { - this.all = {}; - } -} - -module.exports = Configstore; diff --git a/node_modules/configstore/package.json b/node_modules/configstore/package.json deleted file mode 100644 index 6a862f526..000000000 --- a/node_modules/configstore/package.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "name": "configstore", - "version": "3.1.2", - "description": "Easily load and save config without having to think about where and how", - "license": "BSD-2-Clause", - "repository": "yeoman/configstore", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "config", - "store", - "storage", - "conf", - "configuration", - "settings", - "preferences", - "json", - "data", - "persist", - "persistent", - "save" - ], - "dependencies": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" - }, - "devDependencies": { - "ava": "*", - "xo": "*" - } -} diff --git a/node_modules/configstore/readme.md b/node_modules/configstore/readme.md deleted file mode 100644 index 6af37719b..000000000 --- a/node_modules/configstore/readme.md +++ /dev/null @@ -1,116 +0,0 @@ -# configstore [](https://travis-ci.org/yeoman/configstore) - -> Easily load and persist config without having to think about where and how - -Config is stored in a JSON file located in `$XDG_CONFIG_HOME` or `~/.config`.<br> -Example: `~/.config/configstore/some-id.json` - -*If you need this for Electron, check out [`electron-store`](https://github.com/sindresorhus/electron-store) instead.* - - -## Usage - -```js -const Configstore = require('configstore'); -const pkg = require('./package.json'); - -// create a Configstore instance with an unique ID e.g. -// Package name and optionally some default values -const conf = new Configstore(pkg.name, {foo: 'bar'}); - -console.log(conf.get('foo')); -//=> 'bar' - -conf.set('awesome', true); -console.log(conf.get('awesome')); -//=> true - -// Use dot-notation to access nested properties -conf.set('bar.baz', true); -console.log(conf.get('bar')); -//=> {baz: true} - -conf.delete('awesome'); -console.log(conf.get('awesome')); -//=> undefined -``` - - -## API - -### Configstore(packageName, [defaults], [options]) - -Returns a new instance. - -#### packageName - -Type: `string` - -Name of your package. - -#### defaults - -Type: `Object` - -Default config. - -#### options - -##### globalConfigPath - -Type: `boolean`<br> -Default: `false` - -Store the config at `$CONFIG/package-name/config.json` instead of the default `$CONFIG/configstore/package-name.json`. This is not recommended as you might end up conflicting with other tools, rendering the "without having to think" idea moot. - -### Instance - -You can use [dot-notation](https://github.com/sindresorhus/dot-prop) in a `key` to access nested properties. - -### .set(key, value) - -Set an item. - -### .set(object) - -Set multiple items at once. - -### .get(key) - -Get an item. - -### .has(key) - -Check if an item exists. - -### .delete(key) - -Delete an item. - -### .clear() - -Delete all items. - -### .size - -Get the item count. - -### .path - -Get the path to the config file. Can be used to show the user where the config file is located or even better open it for them. - -### .all - -Get all the config as an object or replace the current config with an object: - -```js -conf.all = { - hello: 'world' -}; -``` - - -## License - -[BSD license](http://opensource.org/licenses/bsd-license.php)<br> -Copyright Google |