New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

stormpath-config

Package Overview
Dependencies
Maintainers
3
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

stormpath-config

Stormpath configuration loader.

  • 0.0.27
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
23
decreased by-58.18%
Maintainers
3
Weekly downloads
 
Created
Source

stormpath-node-config

Stormpath configuration loader.

NPM Version NPM Downloads Build Status Coverage Status

This library is responsible for loading the Stormpath configuration. It is an internal module used by stormpath-node-sdk, and express-stormpath, and is not meant for general consumption.

Installation

To install this library, just run:

$ npm install stormpath-config --save

Usage

First, start by including the library:

var stormpathConfig = require('stormpath-config');

Once the library is loaded, you'll need to initialize a new Loader object using the library like so:

var configLoader = new stormpathConfig.Loader([/* strategies */]);

Notice how the first argument is commented out. This needs to be an array of one or many strategies. See strategies for a list of all supported strategies and on how to create your own.

E.g. below demonstrates how the Stormpath configuration can be created and loaded from only the environment.

var strategy = stormpathConfig.strategy;

var configLoader = new StormpathConfig.Loader([
    new strategy.LoadEnvConfigStrategy(),
    new strategy.LoadFileConfigStrategy('~/stormpath.yml')
]);

Now, once you got your new Loader object all you need to do is call the configLoader.load(callback) method to load the configuration data. You can do this like so:

configLoader.load(function (err, config) {
  if (err) {
    console.error(err);
  } else {
    console.log("Configuration loaded:", config);
  }
});

Strategies

Creating your own strategy

A strategy is simply a prototype that implements a method named process that takes the parameters config and callback. All it expects is that the callback is called with the first argument as an error (null if none) and the second containing the modified/processed config. E.g. as shown below:

function MyConfigStrategy () {
}

MyConfigStrategy.prototype.process = function (config, callback) {
  // Apply strategy to config and return result in callback
  config.someNewField = "abc"; // Append someNewField to our config
  callback(null, config);
};

Supported

Some default strategies for loading a configuration has been included. These are accessible through the strategy export. I.e. require('stormpath-config').strategy.

LoadEnvConfigStrategy

Loads configuration from the system environment.

LoadAPIKeyConfigStrategy

Loads client API key configuration from a .properties file.

LoadFileConfigStrategy

Loads a configuration from either a JSON or YAML file.

ExtendConfigStrategy

Extend a the configuration with an existing object.

EnrichClientConfigStrategy

Enriches the configuration with client config resolved at runtime.

EnrichClientFromRemoteConfigStrategy

Enriches the configuration with client config resolved from the Stormpath API.

EnrichIntegrationConfigStrategy

Enriches the configuration with integration config resolved at runtime.

EnrichIntegrationFromRemoteConfigStrategy

Enriches the configuration with integration config resolved from the Stormpath API.

ValidateClientConfigStrategy

Validates the client configuration.

Resources

Below are some resources you might find useful:

Todo

  • Write unit tests.

Contributing

You can make your own contributions by forking this repository, making your changes in a feature branch, and then issuing a pull request back to this repository on the master branch.

Here's how you might do this if you wanted to contribute something:

$ git clone https://github.com/stormpath/stormpath-node-config.git
$ cd stormpath-node-config
$ git checkout -b feature-somthing-something
$ # make changes
$ git commit -m "This was easy!"
$ # submit a pull request

We regularly maintain this repository, and are quick to review pull requests and accept changes!

We <333 contributions!

Copyright ©2015 Stormpath, Inc. and contributors.

This project is open-source via the Apache 2.0 License.

Keywords

FAQs

Package last updated on 16 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc