nsconfig
v0.5.2
Published
Netsuite Auth Configuration
Readme
nsconfig

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

npm install nsconfigUsage
nsconfig( overrideParams : any , projectParams? : ParamsDef[] , noThrow? : boolean )
Reads configuration parameters from the following sources (overriding each parameter on the same order):
overrideParamsargument;Searches up to 5 levels above cwd for a
nsconfig.jsonfileSearches for a
~/.ns/nsconfig.json(on windows~isX:/Users/<user>)Environment variables found with the syntax
NSCONF_<UPPERCASE_PARAMETER_NAME>. E.g. theemailparam can be forced to something else by exporting[email protected].
When working with multiple netsuite environments you may override the file
name nsconfig.json with e.g. nsconfig-myproject.json by either:
setting the
conffileparameter;setting the environment variable
NSCONForNSCONF_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:
- Raw password: nsconfig.json
- Hash password: nsconfig.json
var params = nsconfig()yields
{
"email": "[email protected]",
"password": "*****",
"account": "DDAA12321",
"realm": "netsuite.com",
"role": 3
}