electron-settings
Advanced tools
Comparing version 3.2.0 to 4.0.0
{ | ||
"name": "electron-settings", | ||
"version": "3.2.0", | ||
"description": "A simple persistent user settings framework for Electron.", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "npm run test:main && npm run test:renderer", | ||
"test:main": "electron-mocha tests", | ||
"test:renderer": "electron-mocha tests --renderer" | ||
"version": "4.0.0", | ||
"description": "A simple and robust settings management library for Electron.", | ||
"license": "MIT", | ||
"main": "dist/settings.js", | ||
"types": "dist/settings.d.ts", | ||
"website": "https://electron-settings.js.org/docs", | ||
"author": { | ||
"name": "Nathan Buchar", | ||
"email": "hello@nathanbuchar.com", | ||
"url": "https://www.nathanbuchar.com" | ||
}, | ||
@@ -15,4 +18,2 @@ "repository": { | ||
}, | ||
"author": "Nathan Buchar <hello@nathanbuchar.com>", | ||
"license": "ISC", | ||
"keywords": [ | ||
@@ -26,26 +27,50 @@ "electron", | ||
"storage", | ||
"json", | ||
"has", | ||
"get", | ||
"getAll", | ||
"set", | ||
"setAll", | ||
"delete", | ||
"deleteAll", | ||
"watch", | ||
"file" | ||
"json" | ||
], | ||
"scripts": { | ||
"build": "tsc", | ||
"lint": "eslint src --ext .ts", | ||
"docs": "typedoc && echo \"electron-settings.js.org\" > docs/CNAME", | ||
"release": "standard-version", | ||
"prepublishOnly": "tsc", | ||
"test": "npm run lint && npm run test:main && npm run test:renderer", | ||
"test:main": "electron-mocha --reporter spec --require ts-node/register 'src/**/*.test.ts'", | ||
"test:renderer": "electron-mocha --renderer --reporter spec --require ts-node/register 'src/**/*.test.ts'" | ||
}, | ||
"dependencies": { | ||
"clone": "^2.1.1", | ||
"jsonfile": "^4.0.0" | ||
"lodash.get": "^4.4.2", | ||
"lodash.has": "^4.5.2", | ||
"lodash.set": "^4.3.2", | ||
"lodash.unset": "^4.5.2", | ||
"mkdirp": "^1.0.4", | ||
"write-file-atomic": "^3.0.3" | ||
}, | ||
"devDependencies": { | ||
"electron": "^1.7.8", | ||
"electron-mocha": "^4.0.3", | ||
"eslint": "^4.7.2", | ||
"eslint-config-airbnb-base": "^12.0.0", | ||
"eslint-plugin-import": "^2.7.0", | ||
"mocha": "^3.5.3", | ||
"randomstring": "^1.1.5" | ||
"@types/lodash.get": "^4.4.6", | ||
"@types/lodash.has": "^4.5.6", | ||
"@types/lodash.set": "^4.3.6", | ||
"@types/lodash.unset": "^4.5.6", | ||
"@types/mkdirp": "^1.0.0", | ||
"@types/mocha": "^7.0.2", | ||
"@types/node": "^14.0.5", | ||
"@types/randomstring": "^1.1.6", | ||
"@types/rimraf": "^3.0.0", | ||
"@types/write-file-atomic": "^3.0.0", | ||
"@typescript-eslint/eslint-plugin": "^3.0.0", | ||
"@typescript-eslint/parser": "^3.0.0", | ||
"electron": "^9.0.0", | ||
"electron-mocha": "^8.2.2", | ||
"eslint": "^7.1.0", | ||
"eslint-config-airbnb-base": "^14.1.0", | ||
"eslint-plugin-import": "^2.20.2", | ||
"randomstring": "^1.1.5", | ||
"rimraf": "^3.0.2", | ||
"standard-version": "^8.0.0", | ||
"ts-node": "^8.10.1", | ||
"typedoc": "^0.17.7", | ||
"typescript": "^3.9.3" | ||
}, | ||
"peerDependencies": { | ||
"electron": "^2.0.0" | ||
} | ||
} |
@@ -1,4 +0,7 @@ | ||
electron-settings | ||
================= | ||
# Electron Settings | ||
A simple and robust settings management library for [Electron](https://electronjs.org). | ||
Born from Atom's original internal configuration manager and the settings manager of choice for Electron's own [API Demos app](https://github.com/electron/electron-api-demos), Electron Settings allows you to persist user settings and other data between app loads simply and easily. | ||
[![Npm version][badge_npm-version]][external_npm] | ||
@@ -8,57 +11,37 @@ [![Npm downloads][badge_npm-downloads]][external_npm] | ||
[![Travis][badge_travis]][external_travis] | ||
[![Gitter][badge_gitter]][external_gitter] | ||
A simple persistent user settings framework for [Electron][external_electron]. | ||
Originally adapted from Atom's own configuration manager and the settings manager of choice for [Electron's own demo app](https://github.com/electron/electron-api-demos), electron-settings allows you to persist user settings and other data simply and easily. | ||
Also, you can [subscribe to properties](https://github.com/nathanbuchar/electron-settings/wiki/API-documentation#watch) and get notified when their values change. So that's pretty nifty. | ||
<br/> | ||
### Install | ||
Install | ||
------- | ||
``` | ||
$ npm install --save electron-settings | ||
npm install electron-settings | ||
``` | ||
### Demo | ||
Demo | ||
---- | ||
```ts | ||
import settings from 'electron-settings'; | ||
```js | ||
const { app } = require('electron'); | ||
const settings = require('electron-settings'); | ||
await settings.set('color', { | ||
name: 'cerulean', | ||
code: { | ||
rgb: [0, 179, 230], | ||
hex: '#003BE6' | ||
} | ||
}); | ||
app.on('ready', () => { | ||
await settings.get('color.name'); | ||
// => "cerulean" | ||
settings.set('name', { | ||
first: 'Cosmo', | ||
last: 'Kramer' | ||
}); | ||
settings.get('name.first'); | ||
// => "Cosmo" | ||
settings.has('name.middle'); | ||
// => false | ||
}); | ||
await settings.get('color.code.rgb[1]'); | ||
// => 179 | ||
``` | ||
:warning: **Please note:** Any and all interaction with electron-settings must be executed after the Electron app has fired the `ready` event, otherwise your app may encounter unexpected errors or data loss. | ||
### API Docs | ||
API docs and can be found at [electron-settings.js.org](https://electron-settings.js.org). | ||
Resources | ||
--------- | ||
* [Wiki][wiki_home] | ||
* [API Documentation][wiki_api] | ||
* [FAQs][wiki_faq] | ||
* [Changelog][wiki_changelog] | ||
* [License (ISC)][license] | ||
<br/> | ||
@@ -74,5 +57,4 @@ <br/> | ||
[docs]: https://nathanbuchar.github.io/electron-settings/ | ||
[license]: ./LICENSE.md | ||
[badge_npm-version]: https://img.shields.io/npm/v/electron-settings.svg | ||
@@ -82,9 +64,3 @@ [badge_npm-downloads]: https://img.shields.io/npm/dm/electron-settings.svg | ||
[badge_travis]: https://img.shields.io/travis/nathanbuchar/electron-settings/master.svg | ||
[badge_gitter]: https://img.shields.io/gitter/room/nathanbuchar/electron-settings.svg | ||
[wiki_home]: https://github.com/nathanbuchar/electron-settings/wiki | ||
[wiki_api]: https://github.com/nathanbuchar/electron-settings/wiki/API-documentation | ||
[wiki_faq]: https://github.com/nathanbuchar/electron-settings/wiki/FAQs | ||
[wiki_changelog]: https://github.com/nathanbuchar/electron-settings/wiki/Changelog | ||
[external_david]: https://david-dm.org/nathanbuchar/electron-settings | ||
@@ -91,0 +67,0 @@ [external_electron]: https://electron.atom.io |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
44771
8
1099
7
23
1
68
1
+ Addedlodash.get@^4.4.2
+ Addedlodash.has@^4.5.2
+ Addedlodash.set@^4.3.2
+ Addedlodash.unset@^4.5.2
+ Addedmkdirp@^1.0.4
+ Addedwrite-file-atomic@^3.0.3
+ Added@types/node@8.10.66(transitive)
+ Addedajv@6.12.6(transitive)
+ Addedansi-regex@2.1.1(transitive)
+ Addedasn1@0.2.6(transitive)
+ Addedassert-plus@1.0.0(transitive)
+ Addedasynckit@0.4.0(transitive)
+ Addedaws-sign2@0.7.0(transitive)
+ Addedaws4@1.13.2(transitive)
+ Addedbalanced-match@1.0.2(transitive)
+ Addedbcrypt-pbkdf@1.0.2(transitive)
+ Addedbrace-expansion@1.1.11(transitive)
+ Addedbuffer-crc32@0.2.13(transitive)
+ Addedbuffer-from@1.1.2(transitive)
+ Addedcaseless@0.12.0(transitive)
+ Addedcode-point-at@1.1.0(transitive)
+ Addedcombined-stream@1.0.8(transitive)
+ Addedconcat-map@0.0.1(transitive)
+ Addedconcat-stream@1.6.2(transitive)
+ Addedcore-util-is@1.0.21.0.3(transitive)
+ Addeddashdash@1.14.1(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddeep-extend@0.6.0(transitive)
+ Addeddelayed-stream@1.0.0(transitive)
+ Addedecc-jsbn@0.1.2(transitive)
+ Addedelectron@2.0.18(transitive)
+ Addedelectron-download@3.3.0(transitive)
+ Addedes6-promise@4.2.8(transitive)
+ Addedextend@3.0.2(transitive)
+ Addedextract-zip@1.7.0(transitive)
+ Addedextsprintf@1.3.0(transitive)
+ Addedfast-deep-equal@3.1.3(transitive)
+ Addedfast-json-stable-stringify@2.1.0(transitive)
+ Addedfd-slicer@1.1.0(transitive)
+ Addedforever-agent@0.6.1(transitive)
+ Addedform-data@2.3.3(transitive)
+ Addedfs-extra@0.30.0(transitive)
+ Addedfs.realpath@1.0.0(transitive)
+ Addedgetpass@0.1.7(transitive)
+ Addedglob@7.2.3(transitive)
+ Addedhar-schema@2.0.0(transitive)
+ Addedhar-validator@5.1.5(transitive)
+ Addedhome-path@1.0.7(transitive)
+ Addedhttp-signature@1.2.0(transitive)
+ Addedimurmurhash@0.1.4(transitive)
+ Addedinflight@1.0.6(transitive)
+ Addedinherits@2.0.4(transitive)
+ Addedini@1.3.8(transitive)
+ Addedis-fullwidth-code-point@1.0.0(transitive)
+ Addedis-typedarray@1.0.0(transitive)
+ Addedisarray@0.0.11.0.0(transitive)
+ Addedisstream@0.1.2(transitive)
+ Addedjsbn@0.1.1(transitive)
+ Addedjson-schema@0.4.0(transitive)
+ Addedjson-schema-traverse@0.4.1(transitive)
+ Addedjson-stringify-safe@5.0.1(transitive)
+ Addedjsonfile@2.4.0(transitive)
+ Addedjsprim@1.4.2(transitive)
+ Addedklaw@1.3.1(transitive)
+ Addedlodash.get@4.4.2(transitive)
+ Addedlodash.has@4.5.2(transitive)
+ Addedlodash.set@4.3.2(transitive)
+ Addedlodash.unset@4.5.2(transitive)
+ Addedmime-db@1.52.0(transitive)
+ Addedmime-types@2.1.35(transitive)
+ Addedminimatch@3.1.2(transitive)
+ Addedminimist@1.2.8(transitive)
+ Addedmkdirp@0.5.61.0.4(transitive)
+ Addedms@2.0.0(transitive)
+ Addednugget@2.2.0(transitive)
+ Addednumber-is-nan@1.0.1(transitive)
+ Addedoauth-sign@0.9.0(transitive)
+ Addedobject-keys@0.4.0(transitive)
+ Addedonce@1.4.0(transitive)
+ Addedpath-exists@2.1.0(transitive)
+ Addedpath-is-absolute@1.0.1(transitive)
+ Addedpend@1.2.0(transitive)
+ Addedperformance-now@2.1.0(transitive)
+ Addedpinkie@2.0.4(transitive)
+ Addedpinkie-promise@2.0.1(transitive)
+ Addedpretty-bytes@4.0.2(transitive)
+ Addedprocess-nextick-args@2.0.1(transitive)
+ Addedprogress-stream@1.2.0(transitive)
+ Addedpsl@1.15.0(transitive)
+ Addedpunycode@2.3.1(transitive)
+ Addedqs@6.5.3(transitive)
+ Addedrc@1.2.8(transitive)
+ Addedreadable-stream@1.1.142.3.8(transitive)
+ Addedrequest@2.88.2(transitive)
+ Addedrimraf@2.7.1(transitive)
+ Addedsafe-buffer@5.1.2(transitive)
+ Addedsafer-buffer@2.1.2(transitive)
+ Addedsemver@5.7.2(transitive)
+ Addedsignal-exit@3.0.7(transitive)
+ Addedsingle-line-log@1.1.2(transitive)
+ Addedspeedometer@0.1.4(transitive)
+ Addedsshpk@1.18.0(transitive)
+ Addedstring-width@1.0.2(transitive)
+ Addedstring_decoder@0.10.311.1.1(transitive)
+ Addedstrip-ansi@3.0.1(transitive)
+ Addedstrip-json-comments@2.0.1(transitive)
+ Addedsumchecker@1.3.1(transitive)
+ Addedthrottleit@0.0.2(transitive)
+ Addedthrough2@0.2.3(transitive)
+ Addedtough-cookie@2.5.0(transitive)
+ Addedtunnel-agent@0.6.0(transitive)
+ Addedtweetnacl@0.14.5(transitive)
+ Addedtypedarray@0.0.6(transitive)
+ Addedtypedarray-to-buffer@3.1.5(transitive)
+ Addeduri-js@4.4.1(transitive)
+ Addedutil-deprecate@1.0.2(transitive)
+ Addeduuid@3.4.0(transitive)
+ Addedverror@1.10.0(transitive)
+ Addedwrappy@1.0.2(transitive)
+ Addedwrite-file-atomic@3.0.3(transitive)
+ Addedxtend@2.1.2(transitive)
+ Addedyauzl@2.10.0(transitive)
- Removedclone@^2.1.1
- Removedjsonfile@^4.0.0
- Removedclone@2.1.2(transitive)
- Removedjsonfile@4.0.0(transitive)