1.1.0 ā¢ Published 8 years ago
config-webpack-plugin v1.1.0
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'
])
]
}
- The
config-webpack-plugin
will merge all specified configuration file contents from right to left, thus creating a āmerged configurationā. - If the āmerged configurationā contains a
key
matching a current environment variable then the relatedvalue
will be replaced by the environment variable's value. - 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:
- Fork this repo.
- Clone your forked repo.
- Create a feature branch with:
git checkout develop; git checkout -b feature/<name-of-feature>
. Create a pull request to be merged into
develop
branch.š Please, do not submit PR to be merged into
master
branch.
Roadmap
- Add test. Please!
- Add CI. Please!
- Support multiple file (
new ConfigPlugin(['./config.default.js', '.config.local.js'])
). - Support JSON file too ā„ļø, because they are prettiest for configuration.
Add a static website using GitHub Pages (why not?).
š Do you want to suggest a feature? Add a suggestion.