consul-env-webpack-plugin v1.0.2
A webpack plugin that convert the KV Store Endpoints in environment variables.
The KV Store Endpoints is a feature of consul.io.
Installation
Include the package locally in your repository.
npm install consul-env-webpack-plugin -D
yarn add consul-env-webpack-plugin -DDescription
consul-env-webpack-plugin wraps node-consul and Webpack.DefinePlugin. As such, it takes the JSON from the consul server and parse the keys to process.env with Webpack.DefinePlugin.
Usage
The plugin can be installed with little configuration needed. Once installed, you can access the variables within your code using process.env.
The example bellow shows a standard use-case
Configure the JSON in your consul server
{ "MY_API": "https://10.5.1.1" }Add it to your Webpack config file
// webpack.config.js const ConsulPlugin = require('consul-env-webpack-plugin')
module.exports = { ... plugins: new ConsulPlugin({ path: 'config/front/data', //path to keys consul: { ... //node-consul options - see https://github.com/silas/node-consul } }) ... };
> ##### Use in your code
```javascript
// provider.js
console.log(process.env.MY_API);
// 'https://10.5.1.1'Properties
Use the following properties to configure your instance.
- path (
'config/front/data') - The path API to your data endpoints. - consul (
options) - This options are necessary to config your consul, see default options in node-consul.
The following example shows how to set any/all arguments.
module.exports = {
...
plugins: [
new ConsulPlugin({
path: 'config/front/data',
consul: null //load the default options of node-consul
})
]
...
};