Command runner.
npm install @hackbg/confLoads configuration from environment.
Parses the values of "empty string", false, no, and 0 as negatives.
Example usage with TypeScript:
``typescript
import { Env, EnvConfig } from '@hackbg/conf'
export class MyConfig extends EnvConfig {
/** This constructor must be copied into every subclass to support the passing of defaults.
This is dumb, TODO fix in next version. /
constructor (
env: Env = {},
cwd: string = '',
defaults: Partial
) {
super(env, cwd)
this.override(defaults)
}
/ If you provide no default, when the env var is not defined and error will be thrown /
myStringField
= this.getString('MY_STRING_FIELD')
/ To provide a default value pass a function that returns the default /
myNumberField
= this.getNumber('MY_NUMBER_FIELD', () => 0)
/ To provide a default value pass a function that returns the default /
myBooleanField
= this.getFlag('MY_BOOLEAN_FIELD', () =>
this.getFlag('MY_FLAG', () =>
this.getFlag('MY_OTHER_FLAG', () => {
if (Math.random() > 0.5) {
return true
} else {
return false
}
})))
}
const currentConfig = new MyConfig(process.env, process.cwd, / {}: defaults /)
``
---
Made with #%&! @ Hack.bg