nsconfig

    0.5.2 • Public • Published

    nsconfig NPM version Build Status Coveralls Status

    Configuration options for netsuite-related packages.

    Set up authentication and custom parameters environment-wise or project-wise.

    Required

    • node.js 0.10+ or io.js 1+ or node.js 4+

    Install Dependency Status devDependency Status

        npm install nsconfig

    Usage

    nsconfig( overrideParams : any , projectParams? : ParamsDef[] , noThrow? : boolean )

    Reads configuration parameters from the following sources (overriding each parameter on the same order):

    • overrideParams argument;

    • Searches up to 5 levels above cwd for a nsconfig.json file

    • Searches for a ~/.ns/nsconfig.json (on windows ~ is X:/Users/<user>)

    • Environment variables found with the syntax NSCONF_<UPPERCASE_PARAMETER_NAME>. E.g. the email param can be forced to something else by exporting NSCONF_EMAIL=email@example.com.

    When working with multiple netsuite environments you may override the file name nsconfig.json with e.g. nsconfig-myproject.json by either:

    • setting the conffile parameter;

    • setting the environment variable NSCONF or NSCONF_CONFFILE.

    projectParams

    Set additional parameters that your module may want to look up.

    The default parameters are:

    [
        {name: 'email', required: true},
        {name: 'password', required: true},
        {name: 'account', required: true},
        {name: 'realm', def: 'system.netsuite.com'},
        {name: 'role'}
    ]

    Currently accepted options for each custom parameter are:

    interface ParamsDef {
        name : string;
        required? : boolean; //throws an error if this parameter is not defined
        def? : boolean;      //defaults to this value if this parameter is not defined
    }

    passwords and passwordHash

    Instead of setting the password key, you may set passwordHash with a base64 encoded password.

    Or you may use one the following options in order to avoid storing the password directly into the project's nsconfig.json:

    • Set up the password as environment variable (NSCONF_PASSWORD)

    • Set the the password at ~/.ns/nsconfig.json

    Example

    Both configuration files below yield the same output:

    var params = nsconfig()
    

    yields

    {
        "email": "email@suiteplus.com",
        "password": "*****",
        "account": "DDAA12321",
        "realm": "netsuite.com",
        "role": 3
    }

    Install

    npm i nsconfig

    DownloadsWeekly Downloads

    18

    Version

    0.5.2

    License

    MIT

    Last publish

    Collaborators

    • suiteplus