webpack-configure
v0.6.0
Published
Builds webpack config files
Readme
webpack-configure
A webpack config file builder.
Setup
Add the webpack-configure package to your application via npm.
$ npm i -D webpack-configureUsage
Use webpack-configure inside the webpack.config.js file to generate the config for you:
const webpackConfigure = require('webpack-configure');
module.exports = webpackConfigure();Options
A list of options can be passed to webpackConfigure(), they are all optional:
Name | Type | Default | Description
--------------------------|-----------|------------------|----------------------------------------------------
build.namedModules | Boolean | true | Enables the NamedModules plugin
build.vendor | Boolean | false | Creates a vendor bundle build
devServer.hot | Boolean | true | Enables hot module reload on the development server
devServer.isEnabled | Boolean | true | Adds webpack-dev-server as a development server
devServer.logLevel | String | error | The log level for webpack-dev-server
devServer.port | Integer | 2222 | The port that webpack-dev-server will listen on
entry.app | String | index.jsx | The main entry file into the application
entry.vendor | String | vendor.js | The main entry file into the vendor build
html.isEnabled | Boolean | true | Whether an html template must be used
html.template | String | index.html | The location of the html template file
languages.css | Boolean | true | Whether CSS is used in the application
languages.javascript | Boolean | true | Whether JavaScript is used in the application
languages.jsx | Boolean | true | Whether JSX is used in the application
languages.sass | Boolean | true | Whether Sass is used in the application
output.app | String | bundle.js | The name of the output bundle of the application
output.vendor | String | vendor.js | The name of the output file of the vendor bundle
packages.npm | Boolean | true | Whether npm is used to install packages in the application
packages.reactFlexboxGrid | Boolean | true | Whether a rule for the react-flexbox-grid package is to be loaded
packages.reactToolbox | Boolean | true | Whether a rule for the react-toolbox package is to be loaded
paths.app | String | app | The application folder location
paths.build | String | build | The build folder location
paths.root | string | ../../../../ | The path to the root of the application relative to webpack-configure
Contributing
Testing
All tests are run through mocha, with the chai assertion library.
To run the tests (and the linter - more on that below):
$ npm testTo run the tests by themselves without the linter:
$ npm run test:scriptsLinting
Linting is done via eslint on the eslint-config-airbnb configuration.
Linting can be run together with the tests with:
$ npm testTo run linting alone without the tests:
$ npm run lint