Skip to content

Commit fef6e54

Browse files
committed
Release 5.1.0
Image optimisation plugins based on `imagemin`.
1 parent e6e1bda commit fef6e54

6 files changed

Lines changed: 1136 additions & 1710 deletions

File tree

CHANGELOG.md

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,49 @@
11
# Change log
22

3+
## [5.1.0](https://github.com/WeAreAthlon/frontend-webpack-boilerplate/releases/tag/v5.1.0)
4+
### 01/12/2020
5+
6+
### New Features
7+
8+
* Image optimisation is now done using [`image-minimizer-webpack-plugin`](https://github.com/webpack-contrib/image-minimizer-webpack-plugin)
9+
* We have **removed** te usage of the [`imagemin-webpack-plugin`](https://github.com/Klathmon/imagemin-webpack-plugin)
10+
11+
### Updates
12+
13+
* Updated `webpack.config.js` to configure the new image optimisation plugin.
14+
* Updated *README* file with more clear features description and language style fixes.
15+
16+
### Added New Packages
17+
18+
* [`image-minimizer-webpack-plugin@1.0.0`](https://github.com/webpack-contrib/image-minimizer-webpack-plugin) - Plugin and Loader for webpack to optimize (compress) all images using imagemin. Do not worry about size of images, now they are always optimized/compressed.
19+
* [`imagemin`](https://github.com/imagemin/imagemin) image optimisation packages for *loseless* image optimisation:
20+
* [`imagemin-jpegtran@7.0.0`](https://www.npmjs.com/package/imagemin-jpegtran/v/7.0.0) - for optimizing *JPG* images
21+
* [`imagemin-optipng@8.0.0`](https://www.npmjs.com/package/imagemin-optipng) - for optimizing *PNG* images
22+
* [`imagemin-gifsicle@7.0.0`](https://www.npmjs.com/package/imagemin-gifsicle) - for optimizing *GIF* images
23+
* [`imagemin-svgo@8.0.0`](https://www.npmjs.com/package/imagemin-svgo) - for optimizing *SVG* images
24+
25+
### Removed Packags
26+
27+
* [`imagemin-webpack-plugin`](https://github.com/Klathmon/imagemin-webpack-plugin)
28+
29+
### Package Version Updates
30+
31+
* `autoprefixer@10.0.4` change log can be found on the official [release notes](https://github.com/postcss/autoprefixer/releases/tag/10.0.4).
32+
* `@babel/core@7.12.9` change log can be found on the official [release notes](https://github.com/babel/babel/releases/tag/v7.12.9).
33+
* `@babel/preset-env@7.12.7` change log can be found on the official [release notes](https://github.com/babel/babel/releases/tag/v7.12.9).
34+
* `copy-webpack-plugin@6.3.0` change log can be found on the official [release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases/tag/v6.3.0).
35+
* `css-loader@5.0.1` change log can be found on the official [release notes](https://github.com/webpack-contrib/postcss-loader/releases/tag/v5.0.1).
36+
* `eslint-config-airbnb@18.2.1` change log can be found on the official [release notes](https://github.com/airbnb/javascript/releases/tag/eslint-config-airbnb-v18.2.1).
37+
* `eslint@7.14.0` change log can be found on the official [release notes](https://github.com/eslint/eslint/releases/tag/v7.14.0).
38+
* `mini-css-extract-plugin@1.3.0` change log can be found on the official [release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases/tag/v1.3.0).
39+
* `postcss@8.1.6` change log can be found on the official [release notes](https://github.com/postcss/postcss/releases/tag/8.1.6).
40+
* `postcss-loader@4.1.0` change log can be found on the official [release notes](https://github.com/webpack-contrib/postcss-loader/releases/tag/v4.1.0).
41+
* `sass@1.29.0` change log can be found on the official [release notes](https://github.com/sass/dart-sass/releases/tag/1.29.0).
42+
* `sass-loader@10.1.0` change log can be found on the official [release notes](https://github.com/webpack-contrib/sass-loader/releases/tag/v10.1.0).
43+
* `webpack@5.9.0` change log can be found on the official [release notes](https://github.com/webpack/webpack/releases/tag/v5.9.0).
44+
* `webpack-cli@4.2.0` change log can be found on the official [release notes](https://github.com/webpack/webpack-cli/releases/tag/v4.2.0).
45+
* `webpack-merge@5.4.0` change log can be found on the official [change log](https://github.com/survivejs/webpack-merge/blob/master/CHANGELOG.md).
46+
347
## [5.0.1](https://github.com/WeAreAthlon/frontend-webpack-boilerplate/releases/tag/v5.0.1)
448
### 28/10/2020
549

@@ -72,7 +116,7 @@
72116

73117
### Packages Minor Version Updates
74118

75-
* `@babel/core@7.12.1` change log can be found on the official [release notes](https://github.com/babel/babel/releases/tag/v7.12.0).
119+
* `@babel/core@7.12.1` change log can be found on the official [release notes](https://github.com/babel/babel/releases/tag/v7.12.1).
76120
* `@babel/preset-env@7.12.1` change log can be found on the official [release notes](https://github.com/babel/babel/releases/tag/v7.12.1).
77121
* `ajv@6.12.6` change log can be found on the official [release notes](https://github.com/epoberezkin/ajv/releases/tag/v6.12.6).
78122
* `copy-webpack-plugin@6.2.1` change log can be found on the official [release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases/tag/v6.2.1).
@@ -83,7 +127,7 @@
83127
* `file-loader@6.1.1` change log can be found on the official [release notes](https://github.com/webpack-contrib/file-loader/releases/tag/v6.1.1).
84128
* `postcss@8.1.4` change log can be found on the official [release notes](https://github.com/postcss/postcss/releases/tag/8.1.4).
85129
* `postcss-loader@4.0.4` change log can be found on the official [release notes](https://github.com/webpack-contrib/postcss-loader/releases/tag/v4.0.4).
86-
* `sass@1.27.0` change log can be found on the official [release notes](https://github.com/sass/dart-sass/releases/tag/1.27.0)
130+
* `sass@1.27.0` change log can be found on the official [release notes](https://github.com/sass/dart-sass/releases/tag/1.27.0).
87131
* `sass-loader@10.0.4` change log can be found on the official [release notes](https://github.com/webpack-contrib/sass-loader/releases/tag/v10.0.4).
88132
* `url-loader@4.1.1` change log can be found on the official [release notes](https://github.com/webpack-contrib/url-loader/releases/tag/v4.1.1).
89133

@@ -102,7 +146,7 @@
102146

103147
### Packages Major Version Updates
104148

105-
* `autoprefixer@10.0.0` from `9.x` new features and braking changes can be found on the official [release notes](https://github.com/postcss/autoprefixer/releases/tag/9.8.6).
149+
* `autoprefixer@10.0.0` from `9.x` new features and braking changes can be found on the official [release notes](https://github.com/postcss/autoprefixer/releases/tag/10.0.0).
106150
* `postcss-loader@4.0.2` from `3.x` new features and braking changes can be found on the official [release notes](https://github.com/webpack-contrib/postcss-loader/releases/tag/v4.0.0).
107151
* `sass-loader@10.0.2` from `9.x` new features and braking changes can be found on the official [release notes](https://github.com/webpack-contrib/sass-loader/releases/tag/v9.0.3).
108152

@@ -212,8 +256,8 @@
212256
* `eslint-config-airbnb@18.2.0` change log can be found on the official [release notes](https://github.com/airbnb/javascript/releases/tag/eslint-config-airbnb-v18.2.0).
213257
* `eslint-plugin-jsx-a11y@6.3.1` change log can be found on the official [release notes](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/releases/tag/v6.3.1)
214258
* `eslint-plugin-import@2.21.2` change log can be found on the official [release notes](https://github.com/benmosher/eslint-plugin-import/releases/tag/v2.21.2).
215-
* `sass@1.26.9` change log can be found on the official [release notes](https://github.com/sass/dart-sass/releases/tag/1.26.9)
216-
* `webpack-cli@3.3.12` change log can be found on the official [release notes](https://github.com/webpack/webpack-cli/releases/tag/v3.3.12)
259+
* `sass@1.26.9` change log can be found on the official [release notes](https://github.com/sass/dart-sass/releases/tag/1.26.9).
260+
* `webpack-cli@3.3.12` change log can be found on the official [release notes](https://github.com/webpack/webpack-cli/releases/tag/v3.3.12).
217261

218262
## [4.2.6](https://github.com/WeAreAthlon/frontend-webpack-boilerplate/releases/tag/v4.2.6)
219263
### 03/06/2020

README.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Webpack 5 Boilerplate
22

33
![Maintenance](https://img.shields.io/maintenance/yes/2020?logo=github)
4-
![webpack-current](https://img.shields.io/badge/webpack-v5.3.1-green?logo=webpack)
4+
![webpack-current](https://img.shields.io/badge/webpack-v5.9.0-green?logo=webpack)
55
![node-current (scoped)](https://img.shields.io/node/v/@weareathlon/frontend-webpack-boilerplate)
66
[![Build Status](https://api.travis-ci.org/weareathlon/frontend-webpack-boilerplate.svg?branch=master)](https://travis-ci.org/weareathlon/frontend-webpack-boilerplate)
77
[![GitHub Issues](https://img.shields.io/github/issues-raw/WeAreAthlon/frontend-webpack-boilerplate)](https://github.com/WeAreAthlon/frontend-webpack-boilerplate/issues)
@@ -27,27 +27,28 @@
2727
"> 5%"
2828
]
2929
```
30-
* The build CSS / JavaScript files will respect the configured supported browsers using the following tools:
30+
* The built CSS / JavaScript files will respect the **configured supported browsers** using the following tools:
3131
* [`autoprefixer`](https://github.com/postcss/autoprefixer) - automatically adds vendor prefixes to CSS rules
32-
* [`babel-preset-env`](https://babeljs.io/docs/en/babel-preset-env) - smart preset that allows you to use the latest JavaScript without needing to micromanage which syntax transforms (and optionally, browser polyfills) are needed by your target environment(s)
33-
* Demo project for reference and **demo example** building of:
32+
* [`babel-preset-env`](https://babeljs.io/docs/en/babel-preset-env) - smart preset that allows you to use the latest JavaScript without needing to micromanage which syntax transforms (*and optionally, browser polyfills*) are needed by your target environment(s).
33+
* Demo project files to be used as a reference and **demo example** building of:
3434
* *JavaScript*
3535
* *SASS / PostCSS*
3636
* *HTML* templates
37-
* *Images*
37+
* *Images* (*CSS backgrounds and image tags*)
3838
* *Fonts*
39-
* Support for **assets optimization** for production:
40-
* **Minification** of *JavaScript* and *CSS* files.
41-
* **Inline** **images** / **fonts** files having file size below a *configurable* threshold value.
42-
* Configured Code style and formatting **linters** that analyze source code to flag programming errors, bugs, stylistic errors, and suspicious constructs:
43-
* **SASS/PostCSS** - you can change or add additional rules in `.sasslintrc` file. Configuration options can be found on [`sass-lint`](https://github.com/sasstools/sass-lint/blob/master/lib/config/sass-lint.yml) documentation.
44-
* **JavaScript** - following the `airbnb` style, you can review and configure the rules in `.eslintrc` file. Configuration options can be found on [`eslint`](https://eslint.org/docs/user-guide/configuring) documentation.
39+
* Support for **assets optimization** for production environment with ability to configure:
40+
* **Code Minification** of *JavaScript* and *CSS* processed files.
41+
* **Optimize Assets Loading** - inline and embed **images** / **fonts** files having file size below a *configurable* threshold value.
42+
* **Images Optimisation** - optimize `jpeg`, `jpg`, `png`, `gif`, `svg` filesize and loading type via [`imagemin`](https://github.com/imagemin/imagemin). Plugin and Loader for webpack to optimize (*compress*) all images using `imagemin`. Do not worry about size of images, now they are always optimized/compressed.
43+
* Support for **source code syntax style and formatting linters** that analyze source code to flag programming errors, bugs, stylistic errors, and suspicious constructs:
44+
* **SASS/PostCSS syntax cheker** - you can change or add additional rules in `.sasslintrc` file. Configuration options can be found on [`sass-lint`](https://github.com/sasstools/sass-lint/blob/master/lib/config/sass-lint.yml) documentation.
45+
* **JavaScript syntax checker** - following the `airbnb` style, you can review and configure the rules in `.eslintrc` file. Configuration options can be found on [`eslint`](https://eslint.org/docs/user-guide/configuring) documentation.
4546
* Latest [Webpack 5](https://github.com/webpack/webpack) - *JavaScript* module bundler.
4647
* Latest [SASS/PostCSS](https://github.com/sass/sass) compiler based on Dart `sass`.
4748
* Latest [Babel 7](https://github.com/babel/babel) (`@babel/core`) - JavaScript compiler - _Use next generation JavaScript, today._
4849
* Integration with [Travis CI](https://travis-ci.org/)
4950
* [Demo deployment available to GitHub pages](https://weareathlon.github.io/frontend-webpack-boilerplate/)
50-
* Configured and ready to use **Webpack Dev Server** plugin - [`webpack-dev-server`](https://webpack.js.org/configuration/dev-server/)
51+
* Configured and ready to use **Webpack Dev Server** plugin for faster local development - [`webpack-dev-server`](https://webpack.js.org/configuration/dev-server/)
5152

5253
## Requirements
5354

@@ -58,9 +59,9 @@
5859

5960
## Installation
6061

61-
1. Choose and download the template from [List of Releases](https://github.com/WeAreAthlon/frontend-webpack-boilerplate/releases).
62+
1. Choose and download the latest template release from [List of Releases](https://github.com/WeAreAthlon/frontend-webpack-boilerplate/releases).
6263
2. Extract the release archive to a new directory, rename it to your project name and browse the directory.
63-
3. Install all dependencies using `npm` clean install.
64+
3. Install all dependencies using `npm` *clean install* command.
6465

6566
```sh
6667
$ npm ci
@@ -97,7 +98,7 @@ $ npm ci
9798
You can additionally configure `webpack` for specific environment:
9899
* `development` - [`configuration/webpack.dev.config.js`](configuration/webpack.dev.config.js)
99100
* `production` - [`configuration/webpack.prod.config.js`](configuration/webpack.prod.config.js)
100-
** Note that if you prefer to build and deploy [`sourcemap`](https://webpack.js.org/configuration/devtool/#production) files:
101+
* Note that if you prefer to build and deploy [`sourcemap`](https://webpack.js.org/configuration/devtool/#production) files:
101102
> You should configure your server to disallow access to the Source Map file for normal users!
102103
103104
## Development
@@ -109,7 +110,7 @@ You can additionally configure `webpack` for specific environment:
109110
* **Image** files are located under `src/images/`
110111
* **Font** files are located under `src/fonts/`
111112
* **HTML** files are located under `src/templates/`
112-
* It will **automatically** build **all files** placed under `src/templates/` directory, no need to manually configure each template anymore!
113+
* It will **automatically** build **all HTML files** placed under `src/templates/` directory, no need to manually configure each template anymore!
113114

114115
## Build Assets
115116

@@ -127,7 +128,7 @@ $ npm run watch
127128

128129
This command is suitable if you develop with external web server.
129130

130-
*Note:* Watching does not work with *NFS* (*Windows*) and machines in *VirtualBox*.
131+
**Note:** File watching does not work with *NFS* (*Windows*) and machines in *VirtualBox*.
131132
Extend the configuration in such cases by:
132133

133134
```js

0 commit comments

Comments
 (0)