Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@buildery-it/config

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@buildery-it/config

Shared config for universal JavaScript apps

  • 1.0.0
  • unpublished
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
Maintainers
1
Weekly downloads
 
Created
Source

@buildery-it/config

Shared config for universal JavaScript apps.

Loads configs in a certain order, next config always overriding previous one. Performs a deep merge of nested properties.

To use this module create a config folder next to your node_modules folder with one of the following files (loaded in this order):

  1. default.js
  2. mycustomenv.js where mycustomenv is what you would set NODE_ENV to
  3. local.js

Defaults:

By default config object is supplied with the following properties:

  • environment is the value of NODE_ENV environment variable or 'development'
  • debug is true if environment is development
  • sandbox is true if SANDBOX environment variable is set to true or debug is true

Options:

All options can be set in the process environment:

  • NODE_ENV sets node environment, default: development
  • SANDBOX sets sandbox mode, default: (empty), accepts: true
  • CONFIG_DIR sets the name/path to config folder, relative to the project root, default: config

Usage:

const config = require('@buildery-it/config');
// use your config

There is a special ConfigPlugin for Webpack to bundle config in your client app:

const ConfigPlugin = require('@buildery-it/config/plugin');
// ...
plugins: [
  new ConfigPlugin(options),
],

ConfigPlugin accepts an options object:

const options = {
  // An optional function to filter full config and hide secrets from the client app.
  // By default entire config object will be accessible to the client.
  // It's highly recommended to pass this function to filter your full config and only output
  // client relevant portions preserving original object structure.
  getConfig: (fullConfig) => {
    const { clientSafePortion } = fullConfig;
    const configWithoutSecrets = { clientSafePortion };
    return configWithoutSecrets;
  },
  // An optional boolean flag that switches internal loader output
  // between ES Module (default) and Common JS format
  esModule: true,
};

Keywords

FAQs

Package last updated on 20 Jul 2023

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