envimist
TypeScript icon, indicating that this package has built-in type declarations

0.0.4 • Public • Published

envimist

Applies minimist to process.env

lcov npm

Oh...

Status

Working draft

Install

yarn add envimist

Usage

import envimist from 'envimist'

const envs = envimist()

envs.path   // '/users/username/go/bin:/users/username/.kube:..'
envs.shell  // '/bin/zsh'
envs.user   // 'username'
// ...

You can provide some extra options to instruct the parser.

// Pass env records to parse. Defaults to process.env
const env = {
  FOO: 'false' 
}

// Regular minimist.Opts. Follow its docs for details
// https://github.com/minimistjs/minimist
const opts = {
  boolean: ['foo']
}
const envs = envimist(env, opts)

envs.foo // === false

To resolve variables as arrays, set splitting params:

const env = {
  FOO: 'bar,baz,qux',
  ABC: 'a,b,c',
  PATH: '/some/bin/path:/another/bin/dir'
}
const opts = {
  split: ['foo']
}

// You can also specify a custom separator:
const opts1 = {
  split: [['foo', ':']]
}
// Compbine diff vars with diff separators
const opts2 = {
  split: [['path', ':'], ['foo', 'abc', ',']]
}

envimist(env, opts2)
// {
//   foo: ['bar', 'baz', 'qux'],
//   abc: ['a', 'b', 'c'],
//   path: ['/some/bin/path', '/another/bin/dir'],
//   _: []
// }

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i envimist

Weekly Downloads

2

Version

0.0.4

License

MIT

Unpacked Size

8.75 kB

Total Files

6

Last publish

Collaborators

  • antongolub