crafty

The task runner that binds them all

APACHE-2.0 License

Downloads
17K
Stars
30
Committers
16

Bot releases are hidden (Show)

crafty - [1.17.1] ESLint 8, Dropping IE11 support

Published by onigoetz almost 3 years ago

Highlights

  • We updated the list of browsers, IE 11 is no longer in the list
  • ESLint 8

IE 11 support removed

We updated the list of supported browsers to the following: Edge >= 18, Safari >= 13, iOS >= 13, Chrome >= 77, and_chr >= 77, Firefox >= 69
Before this change it was : > 0.25%, Edge >= 17, Safari >= 11, iOS >= 11, Chrome >= 66, Firefox >= 60, IE >= 11, not op_mini all

You can still change this in your projects if you wish to have a larger or narrower browser support using the browsers field in crafty.config.js, more details In the docs

ESLint 8

ESLint 8 was released a few weeks ago, we updated Crafty to support it along with all the related plugins.

Full Changelog

Dependency updates

  • eslint 7.32.0 to 8.1.0

  • eslint-webpack-plugin 3.0.1 to 3.1.0

  • gulp-eslint7 replaced with gulp-eslint-new

  • @typescript-eslint/* 5.0.0 to 5.2.0

  • @rollup/plugin-node-resolve 13.0.5 to 13.0.6

  • @swc/core 1.2.95 to 1.2.103

  • @swc/jest 0.2.4 to 0.2.5

  • babel-plugin-istanbul 6.0.0 to 6.1.1

  • babel-loader to 8.2.2 to 8.2.3

  • browserslist 4.17.3 to 4.17.5

  • fork-ts-checker-webpack-plugin 6.3.4 to 6.4.0

  • jest 27.2.5 to 27.3.1

  • mini-css-extract-plugin 2.4.2 to 2.4.3

  • postcss-loader 6.1.1 to 6.2.0

  • style-loader 6.1.1 to 6.2.0

  • ts-jest 27.0.5 to 27.0.7

  • rollup 2.58.0 to 2.58.3

  • webpack 5.58.2 to 5.60.0

crafty - [1.17.0] Release failed, please ignore

Published by onigoetz almost 3 years ago

crafty - [1.16.3] Fix dependencies issues

Published by onigoetz about 3 years ago

What's Changed

Full Changelog: https://github.com/swissquote/crafty/compare/v1.16.1...v1.16.3

crafty - [1.16.2]

Published by onigoetz about 3 years ago

This release is broken, don't try to install

crafty - [1.16.1] More pre-compilation

Published by onigoetz about 3 years ago

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: https://github.com/swissquote/crafty/compare/v1.16.0...v1.16.1

crafty - [1.16.0] Webpack 5, TypeScript 4.4

Published by onigoetz about 3 years ago

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

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

Published by onigoetz over 3 years ago

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.

crafty - [1.14.0] Updates and fixes

Published by onigoetz over 3 years ago

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"

crafty - [1.13.7] ESLint plugin resolution fix

Published by onigoetz almost 4 years ago

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
crafty - [1.13.6]

Published by onigoetz almost 4 years ago

Release failed, please ignore

crafty - [1.13.5] Small bugfix

Published by onigoetz about 4 years ago

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
crafty - [1.13.4] Small bugfix

Published by onigoetz about 4 years ago

  • Improve ESLint plugin finding patching for multiple ESLint versions
  • Update to ESLint 7.11.0
crafty - [1.13.3] Small bugfix

Published by onigoetz about 4 years ago

  • Fix watch mode startup
  • Update and fix documentation theme
crafty - [1.13.2] Small bugfix

Published by onigoetz about 4 years ago

Fix runtime detection in babel configuration in case the package doesn't have dependencies

crafty - [1.13.1] Failed release

Published by onigoetz about 4 years ago

Please ignore this

crafty - [1.13.0] TypeScript 4, ESLint 7, lots of improvements

Published by onigoetz about 4 years ago

Highlights

  • Upgraded to TypeScript 4.
  • Upgraded to ESLint 7, including some configuration improvements.
  • Fixed a bug with node_modules imports in Jest.
  • Removed Enzyme from crafty-preset-react.
  • TypeScript files are now run through Babel for all three current runners. (only Webpack was doing it before)
  • Treat @babel/runtime as an external dependency to reduce bundle sizes.
  • @swissquote/rollup-plugin-eslint replaces rollup-plugin-eslint.
  • Extract Terser options into @swissquote/crafty-preset-terser.

TypeScript 4

TypeScript 4 is out and brings a lot of new features like Variadic Tuple Types, Labeled Tuple Elements and inference of types from constructor types.

All runners have been updated to support those features.

For more details you can check their release notes : https://devblogs.microsoft.com/typescript/announcing-typescript-4-0/

ESLint 7 and configuration improvements

ESLint 7 has been released and while it changes a lot internally and in the way it's configured.
Crafty's upgrade does all the heavy lifting for you.

For more information you can check their release notes : https://eslint.org/blog/2020/05/eslint-v7.0.0-released

Some configuration improvements

  • Fix typescript-eslint/naming-convention configuration; shouldn't report any false positives anymore.
  • Add eslint-plugin-react-hooks to our ESLint preset. The official rules for React Hooks, should help catch some gotchas in your React Hooks.
  • A newer version of eslint-plugin-react was making too many false positives in jsx-handler-names and it has been disabled while we investigate the matter.

Jest module imports bugfix

A configuration mistake in Jest broke module resolution sometimes, this has now been fixed and module resolution should be more reliable now.

If you had a workaround like this in your crafty.config.js:

  jest(crafty, options) {
    options.moduleDirectories.push("node_modules");
  }

You can now remove it safely

Removed Enzyme from crafty-preset-react

It's used by only few people and making it work with multiple versions of React makes it's not worth it to keep around.

TypeScript files are now run through Babel for all three current runners

When using crafty-preset-typescript with the gulp and rollup runner, compilation will also go through Babel (Webpack already did the same). This makes it easier to add optimization for all cases.

Treat @babel/runtime as an external dependency to reduce bundle sizes

When compiling with Babel, some code has to be added to files (to handle default imports, class creations, destructuring ...)
If you compile using the gulp or Rollup runners (meant for libraries) These pieces of code are better left outside of your codebase, since re-declaring exactly the same snippets of code for each module or even file, can become big very fast.

Now, if you add @babel/runtime as a dependency to your project. Crafty will automatically keep these snippets external to your codebase.
This way it is the job of the final project to import all helpers and it can do a better job at de-duplicating them.

You can override this behaviour with the inlineRuntime option for your bundles.
Defaults to true when nothing is specified, and to false when a dependency to @babel/runtime is found.

@swissquote/rollup-plugin-eslint replaces rollup-plugin-eslint

This plugin is a fork of rollup-plugin-eslint with a few differences

  1. It's compatible with ESLint 7
  2. Linting is done on all files and a single report is printed at the end of the run
    this allows to lint all files and not fail after the first one.

Extract Terser options into @swissquote/crafty-preset-terser

Options for Terser were duplicated and scattered accross multiple files.
These options are now moved to a separate preset, and the uglifyJS option has been renamed to terser.

Updates

ESLint related updates

  • eslint from 6.8.0 to 7.10.0
  • @typescript-eslint/eslint-plugin from 3.6.0 to 4.4.0
  • @typescript-eslint/parser from 3.6.0 to 4.4.0
  • gulp-eslint replaced with gulp-eslint7
  • eslint-config-prettier from 6.11.0 to 6.12.0
  • eslint-import-resolver-typescript from 2.0.0 to 2.3.0
  • eslint-plugin-import from 2.22.0 to 2.22.1
  • eslint-plugin-react from 7.20.3 to 7.21.3

Rollup related updates

  • @rollup/plugin-commonjs from 13.0.1 to 15.1.0
  • @rollup/plugin-node-resolve from 8.4.0 to 9.0.0
  • rollup from 2.21.0 to 2.28.2
  • rollup-plugin-babel replaced with @rollup/plugin-babel
  • rollup-plugin-terser from 6.1.0 to 7.0.2
  • rollup-plugin-typescript2 from 0.27.1 to 0.27.3

Webpack related updates

  • mini-css-extract-plugin from 0.9.0 to 0.12.0
  • fork-ts-checker-webpack-plugin from 4.1.6 to 5.2.0
  • terser-webpack-plugin from 3.0.6 to 4.2.3
  • webpack from 4.43.0 to 4.44.2
  • webpack-chain from 6.5.0 to 6.5.1
  • webpack-merge from 5.0.9 to 5.2.0
  • style-loader from 1.2.1 to 1.3.0
  • ts-loader from 8.0.0 to 8.0.4

PostCSS Related updates

  • browserslist from 4.13.0 to 4.14.5
  • css-loader from 3.6.0 to 4.3.0
  • postcss from 7.0.32 to 7.0.35
  • postcss-loader from 3.0.0 to 4.0.3
  • postcss-selector-parser from 6.0.2 to 6.0.4

Other updates

  • babel from 7.10.* to 7.11.*
  • jest from 26.1.0 to 26.5.2
  • gulp-terser from 1.2.0 to 1.4.0
  • enhanced-resolve from 4.2.0 to 5.2.0
  • find-up from ^4.0.0 to ^5.0.0
  • react-hot-loader from 4.12.21 to 4.13.0
  • stylelint from 13.6.1 to 13.7.2
  • ts-jest from 26.1.2 to 26.4.1
  • typescript from 3.9.6 to 4.0.3
  • undertaker from 1.2.1 to 1.3.0
  • yargs-parser from ^18.0.0 to ^20.0.0

Internal

  • Replace Lerna with oao
  • Replace glob-watcher with an inlined, up-to-date, version
crafty - [1.12.0] Jest 26, TypeScript 3.9, Babel 7.10, Browser list update

Published by onigoetz over 4 years ago

Highlights

  • Change default list of supported browsers to > 0.25%, Edge >= 17, Safari >= 11, iOS >= 11, Chrome >= 66, Firefox >= 60, IE >= 11, not op_mini all
  • New crafty browsers command ton know for which browsers you compile
  • Jest 26
  • TypeScript 3.9
  • Babel 7.10

Browser list update

With the recent update of the list of supported browsers at Swissquote we are now updating our tooling to reflect that.
With that change comes a new crafty command, that shows the current resolved configuration and what browsers it includes :

❯ crafty browsers
[17:20:44] Starting Crafty 1.12.0...
Your browserslist query:
    '> 0.25%, Edge >= 17, Safari >= 11, iOS >= 11, Chrome >= 66, Firefox >= 60, IE >= 11, not op_mini all'
Contains 63 browsers covering 93.08% of global usage.

Chrome for Android       81
UC Browser for Android   12.12
Chrome                   83, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 49
Edge                     83, 81, 80, 79, 18, 17
Firefox                  78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60
IE                       11
iOS Safari               13.4-13.5, 13.3, 13.2, 13.0-13.1, 12.2-12.4, 12.0-12.1, 11.3-11.4, 11.0-11.2
Opera                    68
Safari                   13.1, 13, 12.1, 12, 11.1, 11
Samsung Internet         11.1-11.2, 4

This should help fine tune your queries and debug if you aren't sure what browsers should be supported. Note that the browserslist 'your_browserlist' command is similar, however it gives less information.

Updates

Package from to
autoprefixer 9.7.6 9.8.5
@babel/* 7.9.* 7.10.*
browserslist 4.11.1 4.13.0
css-loader 3.5.2 3.6.0
enhanced-resolve 4.1.1 4.2.0
eslint-config-prettier 6.10.1 6.11.0
eslint-loader 4.0.0 4.0.2
eslint-plugin-import 2.20.2 2.22.0
eslint-plugin-react 7.19.0 7.20.3
fork-ts-checker-webpack-plugin 4.1.3 4.1.6
gulp-svgmin 2.2.0 3.0.0
inspectpack 4.4.0 4.5.2
jest 25.3.0 26.1.0
postcss 7.0.27 7.0.32
postcss-color-hex-alpha 5.0.3 6.0.0
postcss-color-rebeccapurple 5.0.0 6.0.0
postcss-font-family-system-ui 4.2.0 4.3.0
postcss-nested 4.2.1 4.2.3
postcss-scss 2.0.0 2.1.1
postcss-value-parser 4.0.3 4.1.0
react-hot-loader 4.12.20 4.12.21
@rollup/plugin-commonjs 11.1.0 13.0.1
@rollup/plugin-json 4.0.2 4.1.0
@rollup/plugin-node-resolve 7.1.3 8.4.0
rollup 2.6.1 2.21.0
rollup-plugin-terser 5.3.0 6.1.0
rollup-plugin-typescript2 0.27.0 0.27.1
style-loader 1.1.3 1.2.1
stylelint 13.3.2 13.6.1
stylelint-scss 13.17.0 13.18.0
terser-webpack-plugin 2.3.5 3.0.6
through2 ^3.0.0 ^4.0.0
tmp 0.1.0 0.2.1
ts-jest 25.3.1 26.1.2
ts-loader 6.2.2 8.0.0
typescript 3.8.3 2.9.6
@typescript-eslint/eslint-plugin 2.28.0 3.6.0
webpack 4.42.1 4.43.0
webpack-chain 6.4.0 6.5.0
webpack-dev-server 3.10.3 3.11.0
webpack-merge 4.2.2 5.0.9
crafty - [1.11.1] Fix linting

Published by onigoetz over 4 years ago

Highlights

  • Linting bugfixes
  • Remove eslintReactVersion settting

Linting bugfixes

  • Using jsLint --preset format did not work correctly with ES2015+
  • Using jsLint --preset recommended --preset node did not parse TypeScript correctly.
  • Add eslint-config-prettier 6.10.1 to disable all prettier-related rules automatically
  • Add eslint-import-resolver-typescript 2.0.0 to disable all rules handled by TypeScript

Remove eslintReactVersion from crafty.config.js

use detect as React's version in eslint-plugin-react, can still be overriden with the eslint configuration

Package Updates

  • Update jest to 25.3.0
  • Update @babel/* to 7.9.5
  • Update eslint-loader to 4.0.0
  • Update css-loader to 3.5.2
  • Update stylelint to 13.3.2
  • Update fork-ts-checker-webpack-plugin to 4.1.3
  • Update rollup-plugin-typescript2 to 0.27.0
  • Update @rollup/plugin-commonjs to 11.1.0
  • Update @rollup/plugin-node-resolve to 7.1.3
  • Update rollup to 2.6.1
  • Update mkdirp to 1.0.4
  • Update autoprefixer to 9.7.6
  • Update browserslist to 4.11.1
  • Update stylelint-scss to 3.17.0
  • Update @typescript-eslint/eslint-plugin to 2.28.0
  • Update eslint-plugin-import 2.20.2
  • Update eslint-plugin-prettier 3.1.3
crafty - Rollup 2, TypeScript 3.8, Jest 25, Other updates

Published by onigoetz over 4 years ago

Highlights

  • Update to Jest 25.2
  • Update to TypeScript 3.8.3
  • Update to Rollup 2.2.0
  • Update to Babel 7.9

Jest 25

https://jestjs.io/blog/2020/01/21/jest-25

TypeScript 3.8

https://devblogs.microsoft.com/typescript/announcing-typescript-3-8/

Rollup 2.2.0

https://github.com/rollup/rollup/releases/tag/v2.0.0

Babel 7.9

https://babeljs.io/blog/2020/03/16/7.9.0

Disabled no-explicit-any for typescript

This rule can be annoying and we mostly ignore it because it's a warning, we trust you to use it responsibly.

Updates

Dependency Old Now
jest 24.9.0 25.2.3
@babel/* 7.8.3 7.9.4
babel-loader 8.0.6 8.1.0
babel-preset-jest 24.9.0 25.2.1
rollup-plugin-babel 4.3.3 4.4.0
gulp-imagemin 7.0.0 7.1.0
postcss 7.0.26 7.0.27
stylelint 13.0.0 13.2.1
webpack 4.41.5 4.42.1
react-hot-loader 4.12.18 4.12.20
react-test-renderer 16.12.0 16.13.1
fork-ts-checker-webpack-plugin 3.1.1 4.1.2
rollup-plugin-typescript2 0.25.3 0.26.0
ts-jest 24.3.0 25.2.1
ts-loader 6.2.1 6.2.2
typescript 3.7.5 3.8.3
@rollup/plugin-commonjs 11.0.1 11.0.2
@rollup/plugin-json 4.0.1 4.0.2
@rollup/plugin-node-resolve 7.0.0 7.1.1
@rollup/plugin-replace 2.3.0 2.3.1
rollup 1.29.1 2.2.0
rollup-plugin-terser 5.2.0 5.3.0
inspectpack 4.3.1 4.4.0
mkdirp 0.5.1 1.0.3
terser-webpack-plugin 2.3.2 2.3.5
webpack-chain 6.3.0 6.4.0
webpack-dev-server 3.10.1 3.10.3
browserslist 4.8.5 4.11.0
yargs-parser ^16 ^18
@typescript-eslint/* 2.17.0 2.25.0
babel-eslint 10.0.3 10.1.0
eslint-plugin-import 2.20.0 2.20.1
eslint-plugin-react 7.18.0 7.19.0
autoprefixer 9.7.4 9.7.5
postcss-advanced-variables 3.0.0 3.0.1
postcss-calc 7.0.1 7.0.2
postcss-color-rebeccapurple 4.0.1 5.0.0
postcss-color-rgba-fallback 3.0.0 4.0.0
postcss-value-parser 4.0.2 4.0.3
stylelint-scss 3.13.0 3.16.0
crafty - Dependencies updates and small fixes

Published by onigoetz over 4 years ago

Highlights

  • Allow to use Crafty's ESLint integration as a global tool
  • Webpack configuration improvements
  • Drop Node 8 support

ESLint module resolver patch

The node module resolution used by ESLint depends on finding modules in the current working directory.
If used within a GitHub hook, or similar, it won't work. We are currently patching ESLint to allow this to work. With the hope to be able to remove it once ESLint offers more configuration options for global modules

Webpack options changes

  • Automatically exclude the dist folder from watch, to avoid compilation loops
  • Allow to change the host for the devServer
  • Read the port from the configuration for the devServer in case it was changed by a preset
  • Set the publicPath only if it wasn't defined yet

Drop Node 8 support

Since node 8 isn't supported anymore and many of our dependencies dropped it; we are dropping the support as well.

Internal

  • Replace Dependabot with Renovate
  • Remove most of the builds from Travis, use Github Actions instead

Dependency Replacement

  • rollup-plugin-commonjs replaced with @rollup/plugin-commonjs
  • rollup-plugin-json replaced with @rollup/plugin-json
  • rollup-plugin-node-resolve replaced with @rollup/plugin-node-resolve
  • rollup-plugin-replace replaced with @rollup/plugin-replace

Dependency Updates

  • node to >=10.0.0
  • @babel/* from 7.7.5 to 7.8.3
  • autoprefixer from 9.7.3 to 9.7.4
  • babel-plugin-istanbulfrom 5.2.0 to 6.0.0
  • browserslist from 4.8.2 to 4.8.5
  • case-sensitive-paths-webpack-plugin from 2.2.0 to 2.3.0
  • css-loader from 3.3.2 to 3.4.2
  • enzyme-adapter-react-16 from 1.15.1 to 1.15.2
  • enzyme from 3.10.0 to 3.11.0
  • eslint from 6.7.2 to 6.8.0
  • eslint-plugin-import from 2.19.1 to 2.20.0
  • eslint-plugin-prettier from 3.1.1 to 3.1.2
  • eslint-plugin-react from 7.17.0 to 7.18.0
  • execa from 3.2.0 to 4.0.0
  • gulp-imagemin from 6.2.0 to 7.0.0
  • inspectpack from 4.2.2 to 4.3.1
  • mini-css-extract-plugin from 0.8.0 to 0.9.0
  • postcss-font-family-system-ui from 4.1.1 to 4.2.0
  • postcss from 7.0.24 to 7.0.26
  • rollup from 1.27.12 to 1.29.1
  • rollup-plugin-pnp-resolve from ^1.0.1 to ^2.0.0
  • rollup-plugin-terser from 5.1.3 to 5.2.0
  • stylelint from 12.0.0 to 13.0.0
  • stylelint-prettier from 1.1.1 to 1.1.2
  • style-loader from 1.0.1 to 1.1.3
  • terser-webpack-plugin from 2.3.0 to 2.3.2
  • ts-jest from 24.2.0 to 24.3.0
  • @typescript-eslint/* from 2.11.0 to 2.17.0
  • typescript from 3.7.3 to 3.7.5
  • typescript from 3.7.3 to 3.7.5
  • webpack-chain from 6.0.0 to 6.3.0
  • webpack-dev-server from 3.9.0 to 3.10.1
  • webpack from 4.41.2 to 4.41.5
  • xml2js from 0.4.22 to 0.4.23
Package Rankings
Top 3.99% on Npmjs.org
Badges
Extracted from project README
Latest Version license Build Status Build Status Quality Gate Status npm Renovate
Related Projects