Webpack Boilerplate
Minimal Webpack 4 boilerplate with Babel, core-js, Sass, Pug, ESlint and a lot mor. It also includes optimization for development and production build.
Clone the repo and install dependencies
git clone https://github.com/tomik23/webpack-boilerplate.git
cd webpack-boilerplate
npm i
Usage
Development server
npm run dev
Production build
npm run prod
Features
Dependencies
Webpack
webpack
- Module and asset bundlerwebpack-cli
- Command line interface for Webpackwebpack-dev-server
- Development server for Webpackwebpack-merge
- Simplify development and production configurationcross-env
- Cross platform configuration
Babel
@babel/core
- Transpile ES6+ to backwards compatible JavaScript@babel/preset-env
- Smart defaults for Babelbabel-eslint
- Lint Babel codeeslint
- ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript codeeslint-config-airbnb-base
- This package provides Airbnb's base JS- https://github.com/prettier/eslint-config-prettier - Turns off all rules that are unnecessary or might conflict with Prettier
eslint-plugin-html
An ESLint plugin to extract and lint scripts from HTML fileseslint-plugin-import
ESLint plugin with rules that help validate proper importseslint-plugin-prettier
ESLint plugin for Prettier formatting
core-js
- Modular standard library for JavaScript, includes many polyfills
Loaders
babel-loader
- Transpile files with Babel and Webpacksass-loader
- Load SCSS and compile to CSSsass-resources-loader
- @import your SASS resources into every required SASS modulenode-sass
- Node Sasspostcss-loader
- Process CSS with PostCSScssnano
- Optimize and compress PostCSSautoprefixer
- Parse CSS and add vendor prefixes
css-loader
- Resolves CSS imports into JSpug-loader
- Pug loader templatestyle-loader
- Inject CSS into the DOMfile-loader
- Copy files to build folder
Plugins
html-webpack-plugin
- Generate HTML files from template in our case pugclean-webpack-plugin
- Remove/clean build folderscopy-webpack-plugin
- Copy files to build directorymini-css-extract-plugin
- Extract CSS into separate filesterser-webpack-plugin
- Minify JavaScriptworkbox-webpack-plugin
- Workbox provides two webpack plugins: one that generates a complete service worker for you and one that generates a list of assets to precache that is injected into a service worker file.
License
This project is open source and available under the MIT License.