JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 297
  • Score
    100M100P100Q94844F
  • License MIT

Streaming environment variable reader

Package Exports

  • env-reader

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (env-reader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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. Now also handles removing the 'export' keyword from the start of env var 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

export EXPORTED_VAR=true

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
EXPORTED_VAR=true

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