@blast-engine/context
v2.0.10
Published
This is a package to help control different contexts on your node/web application.
Downloads
19
Readme
Context
This is a package to help control different contexts on your node/web application.
Installation Guide
Run yarn add @blast-engine/context
or npm i @blast-engine/context
.
Usage
Run yarn context:select
to select a previously declared context.
Run yarn context:current
to see the currently selected context.
Run yarn context:set [context]
to explicitly set your current context to the specified context name.
Setting Up Different Contexts
On the root directory of your application, create a file called contexts.config.js
. In this file, you need to declare your different contexts. Your contexts.config.js
file should follow this format:
module.exports = () => ({
onSelect: context => null,
// after selecting a context using `yarn context:select`,
// this function will be called with the selected contexts values
// as a parameter to the function
contexts: {
prod: {
_showInSelect: true,
// if set to false, the context will not appear
// in `yarn context:select`
yourConfigKeys: {
apiKey: "apiKey"
},
importantEnvParamForContext: "super important"
},
dev1: {
_showInSelect: true,
yourConfigKeys: {
apiKey: "apiKey"
},
importantEnvParamForContext: "less important"
}
}
})
After selecting a context, a file called active-context
will be automatically generated, listing your active context. Make sure to add active-context
file to your .gitignore
.
To have access to the environment parameters based on different context, you can edit the onSelect
function such that it would write the specified parameters in the context into a file:
onSelect: context => fs.writeFileSync(
'./__env_config__.json',
JSON.stringify(context.yourConfigKeys)
)