5.1.2 • Published 1 year ago
@universityofwarwick/webpack-config-builder v5.1.2
webpack-config-builder
Reusable builder to tame our Webpack boilerplate.
Requirements
Some NPM modules need to be directly installed in your project, because of the way Node dependencies work:
webpack-cli
to provide thewebpack
command@babel/register
if you are using Webpack's Babel support (i.e. if your config filename containsbabel
)css-loader
,less-loader
,postcss-loader
,babel-loader
,eslint-loader
,babel-eslint
,@babel/preset-env
Example webpack.config.babel.js
There are various options - there should be enough JSDoc coming from the module that once you have created a builder instance you will get completion hints about what methods you can call.
import * as builder from '@universityofwarwick/webpack-config-builder';
export default builder.create().playApp()
.jsEntries({
admin: './app/assets/js/admin.js',
render: './app/assets/js/render.js',
})
.cssEntries({
style: './app/assets/css/main.less',
admin: './app/assets/css/admin.less',
})
.momentTimezonesFrom(2020)
.momentTimezonesLondonOnly()
.addBrowserLevel({ id: 'modern', suffix: '-modern',
babelTargets: {
chrome: '75',
edge: '44',
firefox: '70',
safari: '11.0',
samsung: '8.0',
}
})
.copyModule('@universityofwarwick/id7', 'dist', 'lib/ id7')
.copyModule('@fortawesome/fontawesome-pro','webfonts', 'lib/fontawesome-pro/webfonts')
.build();