Releases: swissquote/crafty
[1.16.3] Fix dependencies issues
[1.16.2]
[1.16.1] More pre-compilation
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
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
withpostcss-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
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.
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
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
- https://devblogs.microsoft.com/typescript/announcing-typescript-4-1/
- https://devblogs.microsoft.com/typescript/announcing-typescript-4-2/
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
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]
[1.13.5] Small bugfix
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
- Improve ESLint plugin finding patching for multiple ESLint versions
- Update to ESLint 7.11.0