nsconfig
v0.5.2
Published
Netsuite Auth Configuration
Downloads
133
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 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
fileSearches for a
~/.ns/nsconfig.json
(on windows~
isX:/Users/<user>
)Environment variables found with the syntax
NSCONF_<UPPERCASE_PARAMETER_NAME>
. E.g. theemail
param 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
conffile
parameter;setting the environment variable
NSCONF
orNSCONF_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
}