Package Exports
- preferences
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (preferences) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Preferences
Node.JS Module for handling encrypted user preferences.
Designed for CLI applications.
Installation
npm install --save preferencesUsage
var Preferences = require("preferences");
// Init preference file with an unique identifier and an optional default data
var prefs = new Preferences('com.your.app.identifier',{
account: {
username: 'MrRobot',
password: 'fsociety'
},
test: {
cycles: 1
}
});
// Preferences can be accessed directly
prefs.test.cycles++;
console.log(prefs);Preferences are automatically saved on disk before process exit.
Options
Encryption
Encryption uses your private ssh key if founded, otherwise it will automatically use an identifier dependant generated password.
You can override the default key path in the options:
var prefs = new Preferences('com.foo.bar',{}, {
key: '~/certs/my-custom-key.pem'
});You can disable encryption for plain text preferences by setting encrypt to false.
var prefs = new Preferences('com.foo.bar',{}, {
encrypt: false
});Location
The preference file defaults to being saved in /.config/preferences/IDENTIFIER.pref. For example, the following would create ```/.config/preferences/com.foo.bar.pref```.
var prefs = new Preferences('com.foo.bar');Human Editable
You can use the format option to specify the format for serialization. The supported types are json and yaml. This option is most useful when disabling encryption as it provides a human editable file.
var prefs = new Preferences('com.foo.bar',{}, {
encrypt: false,
file: path.join(path.dirname(process.cwd()), '.foo'),
format: 'yaml'
});License
MIT. Copyright (c) 2015 Caffeina.
