1.1.0 ā€¢ Published 8 years ago

config-webpack-plugin v1.1.0

Weekly downloads
7
License
MIT
Repository
github
Last release
8 years ago

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