envfile
Parse and stringify the environment configuration files and format, also known as .env files and dotenv files
What are environment configuration files?
They are files use to configure environments by applications and servers that support them. Generally they look like this:
a=1
b:2
c = 3
d : 4
They are commonly also called envfiles, .env files, and dotenv files.
Install
Install Globally
- Install:
npm install --global envfile
- Executables:
envfile2json
,json2envfile
Install Locally
- Install:
npm install --save envfile
- Executables:
npx envfile2json
,json2envfile
- Require:
require('envfile')
<script type="module">
import * as pkg from '//dev.jspm.io/envfile'
</script>
Editions
This package is published with the following editions:
-
envfile
aliasesenvfile/index.js
which uses Editions to automatically select the correct edition for the consumers environment -
envfile/source/index.js
is esnext source code with require for modules -
envfile/edition-browsers/index.js
is esnext compiled for browsers with require for modules -
envfile/edition-node-0.12/index.js
is esnext compiled for node.js 0.12 with require for modules
TypeScript
This project provides its type information via inline JSDoc Comments. To make use of this in TypeScript, set your maxNodeModuleJsDepth
compiler option to 5
or thereabouts. You can accomlish this via your tsconfig.json
file like so:
{
"compilerOptions": {
"maxNodeModuleJsDepth": 5
}
}
Usage
Via the Command Line
Requires a global installation of envfile: npm install -g envfile
# envfile to JSON
echo -e "a=1\nb:2" | envfile2json > config.json
# JSON to envfile
echo '{"a":1,"b":2}' | json2envfile > config.env
Node.js
Via// Include envfile
const envfile = require('envfile')
const sourcePath = 'file.env'
const sourceString = 'a=1\nb:2'
const sourceObject = { a: 1, b: 2 }
// Parse an envfile path
// async
envfile.parseFile(sourcePath, function(err, obj) {
console.log(err, obj)
})
// sync
console.log(envfile.parseFileSync(sourcePath))
// Parse an envfile string
// async
envfile.parse(sourceString, function(err, obj) {
console.log(err, obj)
})
// sync
console.log(envfile.parseSync(sourceString))
// Stringify a javascript object to an envfile string
// async
envfile.stringify(sourceObject, function(err, str) {
console.log(err, str)
})
// sync
console.log(envfile.stringifySync(sourceObject))
History
Discover the release history by heading on over to the HISTORY.md
file.
Contribute
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
Backers
Maintainers
These amazing people are maintaining this project:
Sponsors
No sponsors yet! Will you be the first?
Contributors
These amazing people have contributed code to this project:
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
License
Unless stated otherwise all works are:
- Copyright © 2013+ Bevry Pty Ltd
and licensed under: