iisnode-env

1.0.3 • Public • Published

iisnode-env

NPM version js-standard-style

iisnode-env is a zero-dependency module that loads environment variables from the <appSettings>-section of a web.config file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.

When hosting a node app on iisnode (for instance in an Azure WebApp), iisnode automatically provides appSettings from web.config via process.env.

As such iisnode-env does nothing if process.env.IISNODE_VERSION is defined and aims only to simplify the move between running an app inside and outside of iisnode.

Install

npm i -S iisnode-env

Usage

As early as possible in your application, require and configure iisnode-env

require('iisnode-env').config();
 
// or use the alias
require('iisnode-env').load();

The module will do nothing if process.env.IISNODE_VERSION is defined. In that case iisnode will have already loaded the variables.

Config

Alias: load

config will read your web.config file, parse the contents, assign it to process.env and return the loaded content or an error key if it failed.

const result = require('iisnode-env').config()
 
if(result.error) {
  throw result.error
}
 
console.log(result.parsed)

If process.env.IISNODE_VERSION is defined, config returns an empty object.

You can additionally, pass options to config

Options

Path

Default: web.config

require('iisnode-env').config({ path: '/custom/path/to/web.config' })
Encoding

Default: utf8

require('iisnode-env').config({ encoding: 'base64' })

Limits

This is i very simple module and as such there is no support (at this time) for doing this:

<appSettings file="relative file name">
</appSettings>

We only get the values we find inside of the <appSettings>-section.

Credits

Inspired by and based on

License

MIT: http://tolu.mit-license.org

Readme

Keywords

Package Sidebar

Install

npm i iisnode-env

Weekly Downloads

5

Version

1.0.3

License

SEE LICENSE IN LICENSE

Last publish

Collaborators

  • tolu