Nonlinear Programming Methods
    Wondering what’s next for npm?Check out our public roadmap! »

    preferences
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.2 • Public • Published

    Preferences

    NPM version NPM downloads

    Node.JS Module for handling encrypted user preferences.

    Designed for CLI applications.

    js-standard-style

    Installation

    NPM

    npm install --save preferences

    Usage

    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.

    Install

    npm i preferences

    DownloadsWeekly Downloads

    1,162

    Version

    2.0.2

    License

    MIT

    Unpacked Size

    16.1 kB

    Total Files

    13

    Last publish

    Collaborators

    • avatar
    • avatar