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+
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~
isX:/Users/<user>
) -
Environment variables found with the syntax
NSCONF_<UPPERCASE_PARAMETER_NAME>
. E.g. theemail
param can be forced to something else by exportingNSCONF_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
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:
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