Config Importer
Developers can manage environment variables in various stages, such as production, test, development, etc. Developers can set default status by option or NODE_ENV. if you not set default status, it will be development Environment variables are created in the common.js and yourEnvironmentStatus
.js However, if an environment variable is declared in an .env file or a system environment variable, that value takes precedence.
How to use
const configImporter = require('@araxsiyual/config-importer');
const config = configImporter.import(__dirname, /*option*/);
Option
{
"env": process.env.NODE_ENV || "development",
"valueName": "valueName",
"default": "common"
}
-
env
: Environment status, it will readenv
.js file, and make config -
valueName
: If object havevalueName
, module usevalueName
's value for read System value or .env, If the object does not have avalueName
, module use object name for read System value or .env -
default
: default environment file name
Example
Import the right environment variable
common.js
module.exports = {
parent: {
childA: 0,
childB: 0
}
}
development.js
module.exports = {
parent: {
childA: 1
}
}
test.js
module.exports = {
parent: {
childA: 2
}
}
index.js
const configImporter = require('@araxsiyual/config-importer');
const config = configImporter.import(__dirname);
module.exports = config;
development
If development status is -
config is
{ parent: { childA: 1, childB: 0 } }
test
If development status is -
config is
{ parent: { childA: 2, childB: 0 } }
.env file variable name
common.js
module.exports = {
parent: {
childA: 0
}
}
.env
PARENT_CHILD_A = 1
- parent.childA will be 1
development
if development status is .env
PARENT_CHILD_A = 1
PARENT_CHILD_A_DEVELOPMENT = 2
- parent.childA will be 2
Set value name
common.js
module.exports = {
parent: {
valueName: 'p',
childA: 0
}
}
.env
P_CHILD_A = 1
- parent.childA will be 1