webpack-boilerplate
webpack-boilerplate copied to clipboard
🛠 Minimal Webpack 5/4 boilerplate, multiple entry and output
trafficstars
Webpack Boilerplate - multiple entry
Minimal Webpack 5 boilerplate with Babel, core-js, Sass, Pug, ESlint and a lot mor. It also includes optimization for development and production build. A version with webpack 4 is also available.
Features
- Webpack
v5.88.2 - Babel
v7.22.17 - Core-js
v3.32.2 - Pug
v3.0.2 - Sass
v1.66.1 - postcss-preset-env
v9.1.3 - ESLint
v8.49.0
Clone the repo and install dependencies
git clone https://github.com/tomickigrzegorz/webpack-boilerplate.git
cd webpack-boilerplate
npm i
Usage
Development server
npm run dev
Production build
npm run prod
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 Babel@babel/eslint-parser- Is a parser that allows ESLint to run on source code that is transformed by Babel.eslint- ESLint is a tool for identifying and reporting on patterns found in ECMAScript/JavaScript codeeslint:recommended- An extends property value "eslint:recommended" enables a subset of core rules that report common problemseslint-config-prettier- Turns off all rules that are unnecessary or might conflict with Prettiereslint-plugin-htmlAn ESLint plugin to extract and lint scripts from HTML fileseslint-plugin-importESLint plugin with rules that help validate proper importseslint-plugin-prettierESLint 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 CSSpostcss-loader- Process CSS with PostCSScss-loader- Resolves CSS imports into JSpug-loader- Pug loader templatestyle-loader- Inject CSS into the DOMasset modulesreplace ral-loader, url-loader, file-loader
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.
Assets
.htaccess- optimized 100/100 in google https://web.dev/measure/ of course when there are no ads ;)manifest.json- of course you can use thefavicons-webpack-pluginthat will generate all possible elements in the manifest
License
This project is open source and available under the MIT License.