0.6.0 • Published 7 years ago
webpack-configure v0.6.0
webpack-configure
A webpack config file builder.
Setup
Add the webpack-configure package to your application via npm.
$ npm i -D webpack-configure
Usage
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 test
To run the tests by themselves without the linter:
$ npm run test:scripts
Linting
Linting is done via eslint on the eslint-config-airbnb configuration.
Linting can be run together with the tests with:
$ npm test
To run linting alone without the tests:
$ npm run lint