Skip to content

matt-in-a-hat/env-reader

 
 

Repository files navigation

Build Status

NPM

Media Suite

env-reader

Streaming environment variable reader

Accepts simple key=value data and passes it on after performing some basic filtering out of things like blank lines, comment lines and invalid env lines

Examples

Require the module

var env = require('env-reader')()

Listening for data events

env.on('data', function (envLine) {
  //do something
})

Writing data

env.write('\n#comment line\ninvalid line\nvalid=line\n    \n')

//only valid=line would be passed emitted, the rest would be disguarded

This module was built with the following type of input in mind:

#ENV config file

#environment definition
ENV=development

#database definition
DB_HOST=localhost
DB_USER=user
DB_PASS=password
DB_NAME=development

and will emit the following lines from such a file one after another:

ENV=development
DB_HOST=localhost
DB_USER=user
DB_PASS=password
DB_NAME=development

if streamed the data in the following way:

fs.createReadStream('example.file').pipe(env)

If you were to send it all the data at once like:

var envFileString = "#ENV config file\n#environment definition\nENV=development\n\n" +
  "#database definition\nDB_HOST=localhost\nDB_USER=user\nDB_PASS=password\n" +
  "DB_NAME=development"

env.write(envFileString)

it would still break the string apart and emit the cleaned up env pieces 1 after another

About

Streaming environment variable reader

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published