Socket
Socket
Sign inDemoInstall

roc-config

Package Overview
Dependencies
Maintainers
2
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

roc-config

Configuration manager for the Roc ecosystem


Version published
Weekly downloads
2
Maintainers
2
Weekly downloads
 
Created
Source

roc-config

Configuration manager for the Roc ecosystem.

DEPRECATED

This module is no longer used by Roc. All relevant code is now a part of the Roc module itself.

stability alpha roc Build Status Coverage Status Code Climate Issue Count Dependency Status

Important

This project will look for two environment variables; ROC_CONFIG and ROC_CONFIG_OBJECT.
If ROC_CONFIG_OBJECT is found those will be used instead of what has been appended during runtime elsewhere.

If there is a conflict where both an environment variable is set and something is appended manually, there will a a clear warning given to the user.

Once imported to your project the configuration and all its internal states will persist throughout the process lifetime.

Documentation

To generate documentation please run npm run docs.

Configuration source priority

Configurations provided by environment ROC_CONFIG_OBJECT have highest priority amongst appends. This overwrites all other appended properties without merge.

If a configuration file path is provided by environment ROC_CONFIG it will load this instead of a configuration file within the project, without merging the two. Note that it is subject to programmatic appends, it just loads from a different file.

getFinalConfig() will merge any appended programmatic configuration (or environment object) into configurations loaded from file and then finally merge this into it's own optional configuration parameter.

Application Configuration Format

For roc-config to understand a roc.config.js provided by the CLI or ROC_CONFIG it needs to export an object with a config key. This example should give a basic idea. Configurations will vary amongst Roc extensions, but they must always expose the config key at the time that it is called.

module.exports = {
    config: {
        port: 8080,
        serve: 'files',
        build: {
            entry: {
                client: 'client.js',
                server: 'server.js'
            }
        },
        dev: {
            open: true
        }
    }
};

This example works with roc-web

API Examples

Use configuration:

import { getFinalConfig } from 'roc-config';

const config = getFinalConfig();

Extend configuration with custom configuration and use it:

import { getFinalConfig } from 'roc-config';

const customConfig = {
    property: 'value'
};

const config = getFinalConfig(customConfig);

Perform multiple modifications and use:

import { getFinalConfig, appendConfig } from 'roc-config';

// deep merges parameter to current appended configuration state
appendConfig({
    value: 'value'
});

appendConfig({
    value2: 'value2'
});

// config will hold { "value": "value", "value2": "value2" }
const config = getFinalConfig();

Keywords

FAQs

Package last updated on 15 Jan 2016

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