Skip to content

Releases: swissquote/crafty

[1.16.3] Fix dependencies issues

13 Oct 18:30
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.16.1...v1.16.3

[1.16.2]

13 Oct 18:27
Compare
Choose a tag to compare
[1.16.2] Pre-release
Pre-release

This release is broken, don't try to install

[1.16.1] More pre-compilation

12 Oct 18:59
Compare
Choose a tag to compare

Pre-compile some dependencies of @swissquote/crafty-preset-typescript

Some dependencies of @swissquote/crafty-preset-typescript are compiled in a single bundle.

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

Fixes #1279

Update dependencies

  • Jest 27.2.4 → 27.2.5
  • @babel/* → 7.15.8
  • @typescript-eslint/* 4.33.0 → 5.0.0
  • @swc/core 1.2.93 → 1.2.95
  • c8 7.9.0 → 7.10.0
  • css-loader 6.3.0 → 6.4.0
  • eslint-plugin-import 2.24.2 → 2.25.1
  • fork-ts-checker-webpack-plugin 6.3.3 → 6.3.4
  • gulp-svgmin 4.0.1 → 4.1.0
  • mini-css-extract-plugin 2.4.1 → 2.4.2
  • webpack 5.57.1 → 5.58.1
  • webpack-bundle-analyzer 4.4.2 → 4.5.0

Full Changelog: v1.16.0...v1.16.1

[1.16.0] Webpack 5, TypeScript 4.4

06 Oct 15:16
Compare
Choose a tag to compare

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

[1.15.0] Node 12, Jest 27, TypeScript 4.3, SWC

07 Jun 12:51
Compare
Choose a tag to compare

Highlights

  • Update from Jest 26 to Jest 27
  • TypeScript 4.3
  • Removed Support for Node 10
  • Added support for SWC to replace Babel
  • Babel Update to 7.14
  • Replace eslint-loader with eslint-webpack-plugin

Update from Jest 26 to Jest 27

Jest 27 is out, I'll invite you to read the release blog post to read more about it.

One thing that changes for Crafty users is that by default the test environment is changed from jsdom to node

If you have tests involving DOM elements, I'll invite you to change the following configuration in your crafty.config.js to get the previous behaviour:

jest(crafty, options) {
  options.testEnvironment = "jsdom";
}

The jsdom environment is heavier to start than the node environment, thus if you don't specifically need it, the new default should make your tests run faster.

TypeScript 4.3

TypeScript 4.3 is out, a few new features on this one

Check their release notes for the details

Removed Support for Node 10

Node 10 is out of support, some of our dependencies dropped its support which encouraged us to drop it as well.
Crafty is now tested and works on Node 12, 14 and 16

Added support for SWC to replace Babel

swc is a typescript / javascript compiler. It is similar to Babel but written in Rust, and is ~20x faster than babel on single thread.

swc also supports compiling TypeScript, but this feature isn't implemented in Crafty yet.

Today you can use @swissquote/crafty-preset-swc to replace @swissquote/crafty-preset-babel it works with the Webpack, Rollup and Gulp runners.

Check the documentation

Replace eslint-loader with eslint-webpack-plugin

A mostly internal change, eslint-loader was replaced with eslint-webpack-plugin. It now leverages ESLint's cache and lints only changed files.

[1.14.0] Updates and fixes

08 Mar 19:52
Compare
Choose a tag to compare

Eslint module paths patch

The patch stopped working with a recent update to ESLint, this version fixes it in a more reliable way for future updates

imagemin replaced by WebAssembly

The imagemin module used to download binaries (mozjpeg, oxipng, gifsicle) but they didn't work behind a corporate proxy. They were now replaced by a webassembly version that is bundled with the module and removed 140 dependencies. This adds support for webp images

@swissquote/rollup-plugin-eslint bugfix

Fix ignored paths from node_modules, they were processed incorrectly and we improved the performance in the process

TypeScript 4.2

We updated TypeScript from 4.0 to 4.2

Changelogs from these versions are available here

Internal

  • Build With NodeJS 14 as well
  • Run linting along with CI
  • Use Daux 0.15 to generate documentation
  • Compute coverage in integration tests

Updates

  • Jest 26.6.3

  • @babel/* 7.13.8

  • eslint 7.21.0

  • stylelint 13.12.0

  • webpack 4.46.0

  • typescript 4.2.3

  • oao 2.0.1

  • write-good 1.0.8

  • @rollup/plugin-babel 5.3.0

  • @rollup/plugin-commonjs 17.1.0

  • @rollup/plugin-node-resolve 11.2.0

  • @rollup/plugin-replace 2.4.1

  • rollup 2.40.0

  • babel-loader 8.2.2

  • babel-preset-jest 26.6.2

  • gulp-sourcemaps 3.0.0

  • gulp-terser 2.0.1

  • css-loader 5.1.1

  • mini-css-extract-plugin 1.3.9

  • fork-ts-checker-webpack-plugin 6.1.1

  • rollup-plugin-typescript2 0.30.0

  • ts-jest 26.5.3

  • ts-loader 8.0.17

  • case-sensitive-webpack-plugin 2.4.0

  • inspectpack 4.6.1

  • webpack-bundle-analyzer 4.0.0

  • webpack-dev-server 3.11.2

  • webpack-merge 5.7.3

  • browserslist 4.16.3

  • enhanced-resolve 5.7.0

  • @typescript-eslint/* 4.16.1

  • eslint-config-prettier 8.1.0

  • eslint-import-resolver-typescript 2.4.0

  • eslint-plugin-prettier 3.3.1

  • eslint-plugin-react 7.22.0

  • eslint-plugin-sonarjs 0.6.0

  • stylelint-no-unsupported-browser-feature 4.1.4

  • stylelint-prettier 1.2.0

  • stylelint-scss 3.19.0

  • replaced "merge" with "merge-anything" and "copy-anything"

[1.13.7] ESLint plugin resolution fix

27 Oct 09:44
Compare
Choose a tag to compare

ESLint plugin resolution fixed

A change in ESLint 7.12.0 broke the patch for module resolution, this dependency is transitive and comes in some cases when using eslint through the gulp runner.

This fix makes it work again for versions 7.12 and future versions of ESLint

Updates

  • Update ESLint to 7.12.0
  • Upate Jest to 26.6.1
  • Update mini-css-extract-plugin to 1.2.0
  • ts-jest to 26.4.2
  • ts-loader to 8.0.7
  • rollup to 2.32.1
  • enhanced-resolve to 5.3.1
  • @typescript-eslint/* to 4.6.0
  • confusing-browsers-globals to 1.0.10
  • eslint-config-prettier to 6.14.0
  • eslint-plugin-react to 7.21.5
  • eslint-plugin-react-hooks to 4.2.0

[1.13.6]

27 Oct 09:38
Compare
Choose a tag to compare

Release failed, please ignore

[1.13.5] Small bugfix

19 Oct 11:49
Compare
Choose a tag to compare

Bugfixes

  • Fix path to babel runtime in case of transpiled generators
  • Change Terser configuration to preserve PURE comments when minifying (useful for libraries)

Internal

  • Separate Github Actions for Documentation Generation and Continuous Integration
  • Clean some old TODOs and integration tests specifics

Updates

  • @babel/* to 7.12.*
  • Jest to 26.5.3
  • css-loader to 5.0.0
  • postcss-loader to 4.0.4
  • rollup-plugin-typescript2 to 0.28.0
  • ts-loader to 8.0.5
  • rollup to 2.32.0
  • eslint-config-prettier to 6.13.0
  • eslint-plugin-react to 7.21.4
  • react/react-dom to 16.14.0

[1.13.4] Small bugfix

19 Oct 11:42
Compare
Choose a tag to compare
  • Improve ESLint plugin finding patching for multiple ESLint versions
  • Update to ESLint 7.11.0