config-webpack-plugin

1.1.0 • Public • Published

config-webpack-plugin

💫 Merge one or more configuration files together with environment variables too.

Installation

npm install config-webpack-plugin --save-dev

How it works?

webpack.config.js:

const ConfigPlugin = require('config-webpack-plugin')
 
module.exports = {
    plugins: [
        new ConfigPlugin([
            './config.js',
            './config.local.js'
        ])
    ]
}

How it works?

  1. The config-webpack-plugin will merge all specified configuration file contents from right to left, thus creating a ‘merged configuration’.
  2. If the ‘merged configuration’ contains a key matching a current environment variable then the related value will be replaced by the environment variable's value.
  3. Finally, the config-webpack-plugin will intercept the ‘main configuration’ file (the first specified) during webpack's module resolution and will replace its source with the ‘merged configuration’.

Usage

Single configuration

const ConfigPlugin = require('config-webpack-plugin');
 
module.exports = {
    plugins: [
        new ConfigPlugin('./config.js')
    ]
}

Multiple configuration

const ConfigPlugin = require('config-webpack-plugin');
 
module.exports = {
    plugins: [
        new ConfigPlugin([
            './config.js',
            './config.local.js'
        ])
    ]
}

FAQ

What is a configuration file?

A module that export an object with key/value pairs that looks like:

module.exports = {
    API_BASE_URL: 'http://localhost/',
    NODE_ENV: 'development',
    AUTH_SPOOFED: true,
}

Does my configuration file gets modified?

No.

Development

If you want to collaborate with the development of config-webpack-plugin you need to have installed NodeJS 6 and Gulp. Then follow these instructions to make my life easier:

  1. Fork this repo.
  2. Clone your forked repo.
  3. Create a feature branch with: git checkout develop; git checkout -b feature/<name-of-feature>.
  4. Create a pull request to be merged into develop branch.

💁 Please, do not submit PR to be merged into master branch.

Roadmap

💁 Do you want to suggest a feature? Add a suggestion.

Package Sidebar

Install

npm i config-webpack-plugin

Weekly Downloads

10

Version

1.1.0

License

MIT

Last publish

Collaborators

  • rmariuzzo