@sesamecare-oss/confit is a modern rewrite of confit in Typescript using Promises and bundling the standard shortstop handlers. The general approach of stackable environment-aware configurations is retained, but we add proper typing for key lookups and just generally modernize the build pipeline. We also bundle the shortstop infrastructure and the common shortstop handlers.
The env shortstop handler accepts the following format specificiations:
env:SOMEVAR|u
- Return the variable if it exists and is non-empty, else undefinedenv:SOMEVAR|ud
- Return the variable as a number if it exists, or undefinedenv:SOMEVAR|d
- Return the value as a decimal, or NaN if not thereenv:SOMEVAR|b
- Return the value as a boolean - empty, false, 0 and undefined will be falseenv:SOMEVAR|!b
- Return the value as a boolean but inverted so that empty/undefined/0/false are true
The file handler uses the pipe character to allow specifying the encoding with which to read the file. The valid encodings are
base64|binary|hex|utf8|ucs2|utf16le|ascii
. If you somehow have a pipe with one of these values at the end your filename (wow), use |binary
at the end to make it clearer and behave as normal.