Socket
Book a DemoInstallSign in
Socket

mwp-config

Package Overview
Dependencies
Maintainers
1
Versions
1338
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mwp-config

All the config you might ever need for a MWP app

latest
Source
npmnpm
Version
27.0.28
Version published
Maintainers
1
Created
Source

Config

This is the 'main' config for all Meetup Web Platform applications. It is intended to consolidate both buildtime and runtime configuration properties and rules, including Babel and Webpack configuration, Node server config, and configuration needed to to interface with external services such as Travis CI and Transifex.

By consolidating all of this configuration into a single module/package, all downstream dependencies can explicitly opt-in to reading configuration values that determine the behavior of the system.

Important: browser-run scripts should never directly import configuration values. Instead, config should be read from the application state provided to the client on initial render.

General config

The root-level modules of the config package each organize some information that is used by many different packages. For the most part, they describe the application environment, e.g. standard file paths, env values, and package config values.

Babel config

All Babel plugins and presets are defined in the /babel module.

Server config

The /server module defines the runtime configuration of the Node application server. It is essentially an extension of the /env config, but adds a few more host and authentication configuration values.

Server config code uses node-convict for configuration management. The platform will automatically provide a base set of dev-friendly defaults for all non-secret values.

All default values can be overwritten via a local config file or environment vars. Using a config file is preferred in order to not interfere with other apps running in the same environment.

Configuration precedence

Configuration values are read in the following order of precedence:

  • Environment variable
  • Application root config.<NODE_ENV>.json file
  • Default value - see server/index.js

Config file API

Config files should be placed in the root of the application repo, and be named with the format config.<target NODE_ENV>.json, e.g.

  • config.test.json (can be committed - should not contain secrets)
  • config.development.json (must be .gitignored)
  • config.production.json (must be .gitignored)

process.env keys supported in client code

Although process.env is typically only available in server-side code, our bundling process can automatically inject certain environment values into the client bundle wherever it finds a supported process.env.YOUR_ENV_VAR expression.

Supported environment variables are declared using the webpack.EnvironmentPlugin in browserAppConfig

FAQs

Package last updated on 19 Apr 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