Skip to content

[1.16.0] Webpack 5, TypeScript 4.4

Compare
Choose a tag to compare
@onigoetz onigoetz released this 06 Oct 15:16
· 1395 commits to master since this release

Highlights

  • Webpack 5
  • TypeScript 4.4
  • Pre-compile Babel plugins in a single bundle
  • Pre-compile Postcss plugins in a single bundle
  • Replace babel-eslint with @babel/eslint-parser
  • Replace postcss-color-function with postcss-color-mod-function
  • Replacing webassembly image compression libraries with @squoosh/lib
  • Improvements on Rollup SWC integration
  • Various bugfixes

Webpack 5

Replace Webpack 4 with Webpack 5, also updating all related loaders and plugins.
New output style, as Webpack 5 provides more information on build.

TypeScript 4.4

This release comes with TypeScript 4.4, with a big list of improvements that you can find in the release notes

Pre-compile Babel plugins in a single bundle

Most plugins in @swissquote/babel-preset-swissquote are compiled in a single bundle.

We use NCC to bundle the plugins. This also reduces the dependencies of this package.

Pre-compile Postcss plugins in a single bundle

Most plugins in @swissquote/postcss-swissquote-preset are compiled in a single bundle.

We use NCC to bundle the plugins. This also reduces the dependencies of this package.

Replace babel-eslint with @babel/eslint-parser

babel-eslint has been replaced by @babel/eslint-parser as babel-eslint is unmaintained.

Replace postcss-color-function with postcss-color-mod-function

postcss-color-function which provides the color() function. This function has been renamed to color-mod() in the CSS Specification. postcss-color-mod-function provides color-mod().

Although both functions have been removed from the specification, we believe in backwards compatibility and will consider removing them in Crafty V2 but not before.

Replacing webassembly image compression libraries with @squoosh/lib

The previous version introduced an embedded webassembly version of the image compression. This is now replaced by an external library. Also adds support for AVIF, Webp2 and JXL.

Improvements on Rollup SWC integration

Better integration of external helpers in the SWC Rollup plugin.

Various bugfixes

  • Fix Gulp watcher watch scripts, incorrect path
  • Fix watch() function when a watch event arrives but no glob matches it

Updates

  • @babel/* 7.14.0 → 7.15.5

  • eslint 7.28.0 → 7.32.0

  • jest 27.0.4 → 27.2.4

  • typescript 4.3.2 → 4.4.3

  • webpack 4.46.0 → 5.57.1

    • css-loader 5.2.6 → 6.3.0
    • postcss-loader 4.3.0 → 6.1.1
    • style-loader 2.0.0 → 3.3.0
    • ts-loader 8.3.0 → 9.2.6
    • mini-css-extract-plugin 1.6.0 → 2.4.1
  • @rollup/plugin-commonjs 19.0.0 → 21.0.0

  • @rollup/plugin-node-resolve 13.0.0 → 13.0.5

  • @rollup/plugin-replace 2.4.2 → 3.0.0

  • @squoosh/lib 0.4.0

  • @swc/core 1.2.59 → 1.2.93

  • @swc/helpers 0.2.12 → 0.2.13

  • @swc/jest 0.1.2 → 0.2.4

  • @typescript-eslint/* 4.26.0 → 4.33.0

  • autoprefixer 9.8.7 → 9.8.8

  • babel-preset-jest 27.0.1 → 27.2.0

  • browserslist 4.16.6 → 4.17.3

  • camelcase-keys 6.2.2 → 7.0.1

  • chokidar 3.5.1 → 3.5.2

  • enhanced-resolve 5.8.2 → 5.8.3

  • eslint-import-resolver-typescript 2.4.0 → 2.5.0

  • eslint-plugin-import 2.23.4 → 2.24.2

  • eslint-plugin-prettier 3.4.0 → 3.4.1

  • eslint-plugin-react 7.24.0 → 7.26.1

  • eslint-plugin-sonarjs 0.8.0 → 0.10.0

  • eslint-webpack-plugin 2.5.4 → 3.0.1

  • fork-ts-checker-webpack-plugin 6.2.10 → 6.3.3

  • gulp-eslint7 0.3.1 → 0.3.2

  • gulp-svgmin 3.0.0 → 4.0.1

  • gulp-terser 2.0.1 → 2.1.0

  • is-glob 4.0.1 → 4.0.3

  • postcss 7.0.35 → 7.0.39

  • rollup 2.51.0 → 2.58.0

  • stylelint-no-unsupported-browser-features 5.0.1 → 5.0.2

  • stylelint-scss 3.19.0 → 3.21.0

  • swc-loader 0.1.14 → 0.1.15

  • terser-webpack-plugin 4.2.3 → 5.2.4

  • ts-jest 27.0.2 → 27.0.5

  • webpack-dev-server 3.11.2 → 4.3.1

  • webpack-merge 5.7.3 → 5.8.0

  • yargs-parser 20.2.7 → 20.2.9