Skip to content

Releases: swissquote/crafty

Drop old browsers, TypeScript 3.6, Webpack jsonp method uniqueness

11 Sep 15:24
Compare
Choose a tag to compare

Highlights

  • Default browser support changed
  • Webpack jsonp method uniqueness
  • TypeScript 3.6.3

Default browser support changed

We changed the Browserslist query to be :

Edge >= 15, Safari >= 10, iOS >= 10, Chrome >= 56, Firefox >= 51, IE >= 11, not op_mini all, not Safari 5.1, not kaios 2.5

Which means that browsers we supported previously, like IE 9 and 10 are no longer supported.

Webpack jsonp uniqueness

When using bundle splitting, webpack wraps the code split bundles in a webpackjsonp method.
This is not an issue by itself. It starts to become an issue once your application contains multiple bundles with code splitting build separately.

We now changed this to make unique bundle names on each run. Although to make it easier to work with in development mode, the unique hash becomes reproducible between runs.

TypeScript 3.6.3

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

Misc

Internal

run sonarqube scanner only on node 10, less computationally intensive

Dependency updates

  • @babel/* from 7.4.* to 7.6.0
  • @typescript-eslint/eslint-plugin from 1.10.2 to 2.2.0
  • @typescript-eslint/parser from 1.10.2 to 2.2.0
  • autoprefixer from 9.6.0 to 9.6.1
  • babel-plugin-istanbul from 5.1.4 to 5.2.0
  • browserslist from 4.6.3 to 4.7.0
  • confusing-browser-globals from 1.0.7 to 1.0.8
  • eslint from 5.16.0 to 6.3.0
  • eslint-loader from 2.1.2 to 3.0.0
  • eslint-plugin-import from 2.17.3 to 2.18.2
  • eslint-plugin-react from 7.13.0 to 7.14.3
  • fork-ts-checker-wepack-plugin from 1.3.7 to 1.5.0
  • gulp-eslint from 5.0.0 to 6.0.0
  • gulp-imagemin from 6.0.0 to 6.1.0
  • inspectpack from 4.2.1 to 4.2.2
  • jest from 24.8.0 to 24.9.0
  • mini-css-extract-plugin from 0.7.0 to 0.8.0
  • postcss-font-family-system-ui from 4.1.0 to 4.1.1
  • postcss from 7.0.17 to 7.0.18
  • postcss-initial from 3.0.0 to 3.0.1
  • postcss-nesting from 7.0.0 to 7.0.1
  • postcss-value-parser from 4.0.0 to 4.0.2
  • react-hot-loader from 4.11.1 to 4.12.2
  • react-test-renderer from 16.8.6 to 16.9.0
  • rollup from 1.15.6 to 1.21.2
  • rollup-plugin-babel from 4.3.2 to 4.3.3
  • rollup-plugin-eslint from 6.0.0 to 7.0.0
  • rollup-plugin-node-resolve from 5.0.3 to 5.2.0
  • rollup-plugin-terser from 5.0.0 to 5.1.1
  • rollup-plugin-typescript2 from 0.21.2 to 0.24.1
  • rollup-plugin-typescript from 10.0.0 to 10.1.0
  • stylelint-scssfrom 3.8.0 to 3.10.1
  • style-loader from 0.23.1 to 1.0.0
  • terser-webpack-plugin from 1.3.0 to 2.0.1
  • ts-loader from 6.0.3 to 6.1.0
  • typescript from 3.5.2 to 3.6.3
  • webpack-dev-server from 3.7.2 to 3.8.0
  • webpack from 4.35.0 to 4.39.3
  • webpack from 4.35.0 to 4.39.3
  • webpack-merge from 4.2.1 to 4.2.2
  • xml2js from 0.4.19 to 0.4.22
  • yargs-parser from ^13 to ^14

TypeScript 3.5, Yarn Plug'n'play now second class citizen

21 Jun 19:47
Compare
Choose a tag to compare

Highlights

  • TypeScript 3.5.2
  • Don't make Yarn Plug'n'play a first class citizen anymore. Allow build failure
  • Disable some ESLint rules for TypeScript

TypeScript 3.5.2

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

Yarn Plug N Play

Yarn Plug'n'play is very nice but is not ready for usage in Crafty's context. You might have some success using it if what you use isn't TypeScript. Module resolution doesn't work at all with TypeScript

Disable TypeScript rules

  • no-shadow - This is not as useful as we have types for our variables

Updates

  • @typescript-eslint/eslint-plugin from 1.7.0 to 1.10.2
  • @typescript-eslint/parser from 1.7..0 to 1.10.2
  • ansi-colors from 3.2.4 to 4.0.0
  • autoprefixer from 9.5.1 to 9.6.0
  • babel-eslint from 10.0.1 to 10.0.2
  • browserslist from 4.6.0 to 4.6.3
  • camelcase-keys from 5.2.0 to 6.0.0
  • css-loader from 2.1.1 to 3.0.0
  • enzyme-adapter-react-16 from 1.13.1 to 1.14.0
  • enzyme from 3.9.0 to 3.10.0
  • eslint-plugin-import from 2.17.2 to 2.17.3
  • eslint-plugin-sonarjs from 0.3.0 to 0.4.0
  • fork-ts-checker-webpack-plugin from 1.3.4 to 1.3.7
  • gulp-imagemin from 5.0.3 to 6.0.0
  • mini-css-extract-plugin from 0.6.0 to 0.7.0
  • postcss-logical from 3.0.0 to 4.0.2
  • postcss-value-parser from 3.3.1 to 4.0.0
  • postcss from 7.0.16 to 7.0.17
  • react-hot-loader from 4.8.8 to 4.11.1
  • rollup-plugin-node-resolve from 5.0.0 to 5.0.3
  • rollup-plugin-typescript2 from 0.21.1 to 0.21.2
  • rollup from 1.12.3 to 1.15.6
  • stylelint-prettier from 1.1.0 to 1.1.1
  • stylelint-scss from 3.6.1 to 3.8.0
  • stylelint from 10.0.1 to 10.1.0
  • terser-webpack-plugin from 1.2.4 to 1.3.0
  • ts-loader from 6.0.1 to 6.0.3
  • typescript from 3.4.5 to 3.5.2
  • webpack-dev-server from 3.4.1 to 3.7.2
  • webpack from 4.32.2 to 4.35.0

Disable some TypeScript linting rules

21 Jun 19:07
Compare
Choose a tag to compare

Disable some TypeScript linting rules

  • dot-notation- Produce false positives and breaks valid code
  • no-undef - This check is done by the TypeScript compiler
  • no-explicit-any - We won't force this on our users. Let them be the judge

Updates

  • @babel/* from 7.4.4 to 7.4.5
  • rollup-plugin-eslint from 5.1.0 to 6.0.0
  • webpack from 4.32.0 to 4.32.2
  • react-hot-loaderfrom 4.8.7 to 4.8.8
  • fork-ts-checker-webpack-plugin from 1.3.3 to 1.3.4
  • rollup-plugin-terser from 4.0.4 to 5.0.0

Rerelease

21 Jun 18:59
Compare
Choose a tag to compare

1.7.0 didn't work well with our company npm mirror for some reason ...

ESLint all the things, IDE Integration, Prettier

21 May 13:36
Compare
Choose a tag to compare

Highlights

  • Complete IDE Integration with the new crafty ide command ( #40 )
  • Replace TSLint with ESLint ( #290 )
  • Add Prettier for CSS, JavaScript and TypeScript formatting ( #17 )
  • Performance improvements for startup and compilation
  • Stylelint improvements

crafty ide for IDE Integration

Since the first day of Crafty, the goal has been to reduce the number of configuration
files that have to be managed by hand.
This is a big advantage for managing many projects, but is an inconveninent as IDEs can't
find the expected configuration files to configure themselves.

With the new crafty ide command, you get the best of both worlds, Crafty is still configured through a single
file and your IDE will get what it needs as this command will output the configuration files for it.

Integrations are now done for:

  • ESLint with .eslintrc.js
  • Stylelint with stylelint.config.js
  • Jest with jest.config.js
  • Prettier with prettier.config.js

On top of that, as these files are specific to your configuration and for some of them, specific to the user's environment.
A .gitignore file is automatically created, or your existing gitignore is modified.

Replace TSLint with ESLint

TSLint, while being adapted specifically for TypeScript is harder to configure, has less rules and a smaller community than ESLint.

That's some of the reasons why the TypeScript team announced they will participate in the effort of making ESLint work great with TypeScript.
The TSLint team also announced they will deprecate TSLint and help with adding the rules that didn't exist yet in ESLint.

What this means for you in practice:

  • The command crafty tsLint has been removed and now crafty jsLint works for TypeScript as well
  • All dependencies for ESLint have been moved from @swissquote/crafty-preset-babel into @swissquote/crafty-preset-eslint
  • crafty jsLint is now provided by @swissquote/crafty-preset-eslint
  • Our eslint plugin @swissquote/eslint-plugin-swissquote now supports TypeScript out of the box

One thing that might surprise you is that our ESLint configuration has way more rules enabled, so one the first update, you will probably see a lot more things reported compared to what you were used to.

Prettier

Prettier is quickly becoming the de-facto standard for code formatting in many languages.
Its approach is to format your code always the same way, with a minimum of configuration options, reducing code-formatting bike-shedding to almost non-existent.
Luckily, our code style rules, were pretty much aligned with what Prettier applies by default making the transition as painless as possible.

With this change all our CSS, JavaScript and TypeScript is formatted with Prettier.

We also disabled all our ESLint and Stylelint rules specific to formatting.

Performance improvements

  • Added fork-ts-webpack-checker-plugin to check TypeScript on a separate thread. Enabled only if you don't need declarations.
  • Replace chalk with ansi-colors
  • Replace meow with a direct use of yargs-parser
  • Lazy load jest-cli and caniuse-cli for faster initial start

Stylelint Changes

  • Use Prettier to format CSS
  • Added Stylelint rule to detect use of -var and recommend to use calc(var() * -1) instead
  • Added no-unsupported-browser-features plugin to Stylelint #287

Other changes

  • Allow a preset to depend from another preset.
  • Bugfix extractCSS configuration interpretation. #289 Thanks to @vitalishapovalov for the fix.
  • Add react-hot-loader to webpack's resolve aliases to avoid having to install it separately in a project.
  • Error management improvements
    • Warns on webpack configuration in case of missing tsconfig.json
    • Improve logging in case of incorrect stylelint configuration
    • Improve logging in case of error in a Crafty command's code.

Updates

  • autoprefixer from 9.5.0 to 9.5.1
  • @babel/* from 7.4.0 to 7.4.4
  • babel-loader from 8.0.5 to 8.0.6
  • babel-plugin-istanbul from 5.1.1 to 5.1.4
  • browserslist from 4.5.3 to 4.6.0
  • confusing-browser-globals from 1.0.6 to 1.0.7
  • enzyme-adapter-react-16 from 1.11.2 to 1.13.0
  • eslint-plugin-import from 2.16.0 to 2.17.2
  • eslint-plugin-react from 7.12.4 to 7.13.0
  • gulp-svgmin from 2.1.0 to 2.2.0
  • gulp-terser from 1.1.7 to 1.2.0
  • inspectpack from 4.1.2 to 4.2.1
  • jest-cli from 24.6.0 to 24.8.0
  • jest from 24.6.0 to 24.8.0
  • postcss from 7.0.14 to 7.0.16
  • react-hot-loader from 4.8.2 to 4.8.7
  • resolve-from from 4.0.0 to 5.0.0
  • rollup from 1.8.0 to 1.12.3
  • rollup-plugin-commonjs from 9.2.3 to 10.0.0
  • rollup-plugin-node-resolve from 4.0.1 to 5.0.0
  • rollup-plugin-replace from 2.1.1 to 2.2.0
  • stylelint from 9.10.1 to 10.0.1
  • stylelint-scss from 3.5.4 to 3.6.1
  • terser-webpack-plugin from 1.2.3 to 1.2.4
  • ts-jest from 24.0.1 to 24.0.2
  • ts-loader from 5.3.3 to 6.0.1
  • typescript from 3.4.1 to 3.4.5
  • undertaker from 1.2.0 to 1.2.1
  • webpack-chain from 5.2.4 to 6.0.0
  • webpack-dev-server from 3.2.1 to 3.4.1
  • webpack from 4.29.6 to 4.32.0

Yarn PNP, Jest Integration improvement, TypeScript 3.4

02 Apr 21:24
Compare
Choose a tag to compare

Highlights

  • Lots of improvements on Jest integration
    • Added Jest integration tests to test Jest integration
    • Added a transformer to transform import and export from within node_modules
    • use setupFilesAfterEnv instead of setupTestFrameworkScriptFile
  • Yarn Plug And Play support
    • Disable some ESLint rules related to imports that failed with PNP
  • Added the Inspectpack webpack plugin to track duplicate dependencies when build is run with --profile

Big Updates

  • typescript 3.3.3 to 3.4.1 (crafty-preset-typescript)

Updates

  • @babel/* 7.3.* to 7.4.* (babel-preset-swissquote, crafty-preset-babel, crafty-preset-typescript)
  • autoprefixer 9.4.8 to 9.5.0 (postcss-swissquote-preset)
  • browserslist 4.4.1 to 4.5.3 (crafty, postcss-swissquote-preset)
  • confusing-browser-globals 1.0.5 to 1.0.6 (eslint-plugin-swissquote)
  • css-loader 2.1.0 to 2.1.1 (crafty-preset-postcss)
  • enzyme-adapter-react-16 1.9.1 to 1.11.2 (crafty-preset-react)
  • eslint 5.14.1 to 5.16.0 (crafty-preset-babel, eslint-plugin-swissquote)
  • glob-to-regexp 0.4.0 to 0.4.1 (crafty-runner-webpack)
  • gulp-tslint 8.1.3 to 8.1.4 (crafty-preset-typescript)
  • gulp-typescript 5.0.0 to 5.0.1 (crafty-preset-typescript)
  • is-glob 4.0.0 to 4.0.1 (crafty-runner-webpack)
  • jest-cli 24.1.0 to 24.6.0 (crafty-preset-jest)
  • jest 24.1.0 to 24.6.0 (root)
  • postcss-color-function 4.0.1 to 4.1.0 (postcss-swissquote-preset)
  • postcss-color-hex-alpha 5.0.2 to 5.0.3 (postcss-swissquote-preset)
  • postcss-custom-media 7.0.7 to 7.0.8 (postcss-swissquote-preset)
  • postcss-image-set-polyfill 0.4.4 to 1.0.0 (postcss-swissquote-preset)
  • postcss-nested 4.1.1 to 4.1.2 (postcss-swissquote-preset)
  • react-hot-loader 4.7.1 to 4.8.2 (crafty-preset-react)
  • react-test-renderer 16.8.2 to 16.8.6 (crafty-preset-react)
  • rollup-plugin-commonjs 9.2.0 to 9.2.3 (crafty-runner-rollup)
  • rollup-plugin-eslint 5.0.0 to 5.1.0 (crafty-preset-babel)
  • rollup-plugin-json 3.1.0 to 4.0.0 (crafty-runner-rollup)
  • rollup-plugin-node-resolve 4.0.0 to 4.0.1 (crafty-runner-rollup)
  • rollup-plugin-replace 2.1.0 to 2.1.1 (crafty-runner-rollup)
  • rollup-plugin-typescript2 0.19.2 to 0.20.1 (crafty-preset-typescript)
  • semver 5.5.1 to 6.0.0 (root)
  • stylelint-scss 3.5.3 to 3.5.4 (stylelint-config-swissquote)
  • terser-webpack-plugin 1.2.2 to 1.2.3 (crafty-runner-webpack)
  • tmp 0.0.33 to 0.1.0 (crafty, crafty-preset-babel, crafty-preset-maven, crafty-preset-typescript)
  • ts-jest 24.0.0 to 24.0.1 (crafty-preset-typescript)
  • tslint 5.12.1 to 5.15.0 (crafty-preset-typescript)
  • webpack-chain 5.2.0 to 5.2.4 (crafty-runner-webpack)
  • webpack-dev-server 3.1.14 to 3.2.1 (crafty-runner-webpack)
  • webpack 4.29.5 to 4.29.6 (crafty-preset-postcss, crafty-runner-webpack)

TypeScript 3.3, Jest 24, Rollup 1 and various improvements

20 Feb 12:43
Compare
Choose a tag to compare

Highlights

  • Use webpack-bundle-analyzer when running webpack with --profile
  • Improved Webpack output to be less verbose
  • Added confusing-browser-globals to ESLint configuration to avoid weird errors #28
  • Improved Stylelint rule swissquote/no-type-outside-scope to trigger only once on nested errors, instead of multiple times #11

Big Updates

  • jest 23.6.0 to 24.1.0 (root, crafty-preset-jest)
  • rollup 0.66.6 to 1.2.2 (crafty-runner-rollup)
  • typescript 3.1.6 to 3.3.3 (crafty-preset-typescript)

Updates

  • autoprefixer 9.3.1 to 9.4.8 (postcss-swissquote-preset)
  • @babel/* 7.1.* to 7.3.* (babel-preset-swissquote, crafty-preset-babel, crafty-preset-typescript)
  • babel-loader 8.0.4 to 8.0.5 (crafty-preset-babel, crafty-preset-typescript)
  • babel-plugin-istanbul 5.1.0 to 5.1.1 (crafty-preset-babel)
  • babel-plugin-transform-react-remove-prop-types 0.4.19 to 0.4.24 (babel-preset-swissquote)
  • babel-preset-jest 23.2.0 to 24.1.0 (crafty-preset-babel)
  • browserslist 4.3.4 to 4.4.1 (crafty, postcss-swissquote-preset)
  • case-sensitive-paths-webpack-plugin 2.1.2 to 2.2.0 (crafty-runner-webpack)
  • css-loader 1.0.1 to 2.1.0 (crafty-preset-postcss)
  • enzyme 3.7.0 to 3.9.0 (crafty-preset-react)
  • enzyme-adapter-react-16 1.6.0 to 1.9.1 (crafty-preset-react)
  • eslint 5.8.0 to 5.14.1 (crafty-preset-babel, eslint-plugin-swissquote)
  • eslint-loader 2.1.1 to 2.1.2 (crafty-preset-babel)
  • eslint-plugin-import 2.14.0 to 2.16.0 (eslint-plugin-swissquote)
  • eslint-plugin-react 7.11.1 to 7.12.4 (eslint-plugin-swissquote)
  • eslint-plugin-sonarjs 0.2.0 to 0.3.0 (eslint-plugin-swissquote)
  • fancy-log 1.3.2 to 1.3.3 (crafty)
  • glob-watcher 5.0.1 to 5.0.3 (crafty-runner-gulp, crafty)
  • gulp-imagemin 4.1.0 to 5.0.3 (crafty-preset-images)
  • gulp-plumber 1.2.0 to 1.2.1 (crafty-runner-gulp)
  • gulp-sourcemaps 2.6.4 to 2.6.5 (crafty-preset-babel, crafty-preset-postcss, crafty-preset-typescript)
  • gulp-terser 1.1.5 to 1.1.7 (crafty-preset-babel)
  • gulp-typescript 5.0.0-alpha.3 to 5.0.0 (crafty-preset-typescript)
  • lerna downgraded to v2 (root)
  • mini-css-extract-plugin 0.4.2 to 0.5.0 (crafty-preset-postcss)
  • pixrem 4.0.0 to 5.0.0 (postcss-swissquote-preset)
  • postcss 7.0.5 to 7.0.14 (crafty-preset-postcss, postcss-swissquote-preset)
  • postcss-advanced-variables 2.3.3 to 3.0.0 (postcss-swissquote-preset)
  • postcss-attribute-case-insensitive 4.0.0 to 4.0.1 (postcss-swissquote-preset)
  • postcss-nested 4.1.0 to 4.1.1 (postcss-swissquote-preset)
  • postcss-reporter 6.0.0 to 6.0.1 (postcss-swissquote-preset)
  • react-hot-loader 4.3.12 to 4.7.1 (crafty-preset-react)
  • react-test-renderer 16.6.0 to 16.8.2 (crafty-preset-react)
  • rollup-plugin-babel 4.0.3 to 4.3.2 (crafty-preset-babel)
  • `rollup-plugin-node-resolve 3.4.0 to 4.0.0 (crafty-runner-rollup)
  • rollup-plugin-terser 3.0.0 to 4.0.4 (crafty-runner-rollup)
  • rollup-plugin-tslint 0.1.24 to 0.2.2 (crafty-preset-typescript)
  • rollup-plugin-typescript2 0.17.2 to 0.19.2 (crafty-preset-typescript)
  • stylelint 9.7.1 to 9.10.1 (crafty-preset-postcss, stylelint-config-swissquote)
  • stylelint-scss 3.3.2 to 3.5.3 (stylelint-config-swissquote)
  • terser-webpack-plugin 1.1.0 to 1.2.2 (crafty-runner-webpack)
  • ts-jest 23.10.4 to 24.0.0 (crafty-preset-typescript)
  • tslint 5.11.0 to 5.12.1 (crafty-preset-typescript)
  • ts-loader 5.3.0 to 5.3.3 (crafty-preset-typescript)
  • webpack 4.24 to 4.29.1 (crafty-preset-postcss, crafty-runner-webpack)
  • webpack-chain 5.0.1 to 4.2.0 (crafty-runner-webpack)
  • webpack-dev-server 3.1.10 to 3.1.14 (crafty-runner-webpack)
  • webpack-merge 4.1.4 to 4.2.1 (crafty-runner-webpack)

Drop node 6. Go from uglify-es to Terser

07 Nov 22:00
Compare
Choose a tag to compare

Highlights

  • Drop node 6 (Because dependencies dropped it)
  • Replace uglify-es with terser for Webpack, Rollup and Gulp
  • Add third parameter to postcss() hook with the current bundle

Minor changes

  • Resolve loader paths when creating configuration
  • Allow to override webpack's dev server host
  • Add --ignore-crafty-config to crafty to ignore the crafty.config.js file, useful in case of automated hooks for example.

Updates

  • Update @babel/core from 7.0.1 to 7.1.2
  • Update @babel/plugin-proposal-class-properties from 7.0.0 to 7.1.0
  • Update @babel/plugin-transform-classes from 7.0.0 to 7.1.0
  • Update @babel/plugin-transform-destructuring from 7.0.0 to 7.1.3
  • Update @babel/plugin-transform-runtime from 7.0.0 to 7.1.3
  • Update @babel/preset-env from 7.0.0 to 7.1.0
  • Update @babel/runtime from 7.0.0 to 7.1.2
  • Update autoprefixer from 9.1.5 to 9.3.1
  • Update babel-eslint from 9.0.0 to 10.0.1
  • Update babel-loader from 8.0.2 to 8.0.4
  • Update babel-plugin-istanbul from 5.0.1 to 5.1.0
  • Update babel-plugin-transform-dynamic-import from 2.0.0 to 2.1.0
  • Update babel-plugin-transform-react-remove-prop-types from 0.4.15 to 0.4.19
  • Update browserslist from 4.1.1 to 4.3.4
  • Update css-loader from 1.0.0 to 1.0.1
  • Update enzyme from 3.6.0 to 3.7.0
  • Update enzyme-adapter-react-16 from 1.5.0 to 1.6.0
  • Update eslint from 5.5.0 to 5.8.0
  • Update eslint-loader from 2.1.0 to 2.1.1
  • Update eslint-plugin-sonarjs from 0.1.1 to 0.2.0
  • Replace gulp-uglify with gulp-terser
  • Update gulp-svgmin from 2.0.0 to 2.1.0
  • Update merge from 1.2.0 to 1.2.1
  • Update postcss from 7.0.2 to 7.0.5
  • Update postcss-attribute-case-insensitive from 3.0.1 to 4.0.0
  • Update postcss-calc from 6.0.1 to 7.0.1
  • Update postcss-color-gray from 4.1.0 to 5.0.0
  • Update postcss-color-hex-alpha from 3.0.0 to 5.0.2
  • Update postcss-color-rebeccapurple from 3.1.0 to 4.0.1
  • Update postcss-custom-media from 6.0.0 to 7.0.7
  • Update postcss-custom-selectors from 5.0.0 to 5.1.2
  • Update postcss-dir-pseudo-class from 4.0.0 to 5.0.0
  • Update postcss-font-variant from 3.0.0 to 4.0.0
  • Update postcss-import from 12.0.0 to 12.0.1
  • Update postcss-logical from 1.1.1 to 3.0.0
  • Update postcss-media-minmax from 3.0.0 to 4.0.0
  • Update postcss-nesting from 6.0.0 to 7.0.0
  • Update postcss-pseudo-class-any-link from 5.0.0 to 6.0.0
  • Update postcss-selector-matches from 3.0.1 to 4.0.0
  • Update postcss-selector-not from 3.0.1 to 4.0.0
  • Update react-hot-loader from 4.3.7 to 4.3.12
  • Update react-test-renderer from 16.5.0 to 16.6.0
  • Update rollup from 0.65.2 to 0.66.6
  • Update rollup-plugin-commonjs from 9.1.6 to 9.2.0
  • Update rollup-plugin-json from 3.0.0 to 3.1.0
  • Update rollup-plugin-replace from 2.0.0 to 2.1.0
  • Update rollup-plugin-typescript2 from 0.17.0 to 0.17.2
  • Replace rollup-plugin-uglify with rollup-plugin-terser
  • Update style-loader from 0.23.0 to 0.23.1
  • Update stylelint from 9.5.1 to 9.7.1
  • Update stylelint-scss from 3.3.0 to 3.3.2
  • Update ts-jest from 23.1.4 to 23.10.4
  • Update ts-loader from 5.1.0 to 5.3.0
  • Update typescript from 3.0.3 to 3.1.6
  • Remove uglify-es
  • Replace uglifyjs-webpack-plugin with terser-webpack-plugin
  • Update vinyl-fs from ^2.0.0 to ^3.0.0
  • Update webpack from 4.18.1 to 4.24
  • Update webpack-chain from 4.10.0 to 5.0.1
  • Update webpack-dev-server from 3.1.8 to 3.1.10

Babel 7, TypeScript 3, PostCSS 7

13 Sep 21:20
Compare
Choose a tag to compare

Highlights

  • Update to final version of Babel 7
  • Update to TypeScript 3
  • Update to PostCSS 7, update plugins accordingly
  • Add extension to allow the modification of PostCSS plugins configuration

Changes

crafty-preset-babel

For some time we provided Babel 7.0 in beta, we are now providing the stable version.

crafty-preset-typescript

We updated TypeScript to version 3.0.0, you can now benefit from the latest features out of the box.

You don't need to update your tsconfig.json to benefit from the improvements but we recommend you check out the annoucement. As some of the new features might require explicit enabling in your configuration.

crafty-preset-postcss

There is now an API to change the configuration of the PostCSS plugins, check out the documentation

postcss-swissquote-preset

Due to the deprecation of postcss-cssnext we integrated all dependencies from it directly into postcss-swissquote-preset this allows us to update and maintain them easily.

A future update will go towards something similar to postcss-preset-env. But currently all features remained identical to the previous version.

stylelint-config-swissquote

We changed the stylelint configuration to allow for :global pseudo selector for css modules

Internal Changes

  • Update Travis configuration to deploy documentation only once

Version updates

[babel-preset-swissquote, crafty-preset-babel, crafty-preset-typescript] Update @babel/* to 7.0.0
[babel-preset-swissquote] Update babel-plugin-transform-react-remove-prop-types to 0.4.15
[babel-preset-swissquote, babel-preset-babel, crafty-runner-gulp, crafty-runner-rollup, crafty-runner-webpack, crafty, postcss-swissquote-preset] Update debug to ^4.0.0
[babel-preset-babel, crafty-preset-typescript] Update babel-loader to 8.0.2
[babel-preset-babel] Update babel-plugin-istanbul to 5.0.1
[babel-preset-babel] Update eslint to 5.5.0
[babel-preset-babel] Update gulp-babel to 8.0.0
[babel-preset-babel] Update gulp-uglify to 3.0.1
[babel-preset-babel] Update rollup-plugin-babel to 4.0.3
[crafty-preset-images] Update gulp-svgmin to 2.0.0
[crafty-preset-jest] Update jest-cli to 23.6.0
[crafty-preset-postcss] Update gulp-postcss to 8.0.0
[crafty-preset-postcss] Update gulp-rename to 1.4.0
[crafty-preset-postcss] Update mini-css-extract-plugin to ^0.4.2
[crafty-preset-postcss] Update postcss to 7.0.2
[crafty-preset-postcss] Update postcss-loader to 3.0.0
[crafty-preset-postcss] Update postcss-scss to 2.0.0
[crafty-preset-postcss] Update style-loader to 0.23.0
[crafty-preset-postcss] Update stylelint to 9.5.0
[crafty-preset-react] Update enzyme to 3.6.0
[crafty-preset-react] Update enzyme-adapter-react-16 to 1.5.0
[crafty-preset-react] Update react-hot-loader to 4.3.7
[crafty-preset-react] Update react-test-renderer to 16.5.0
[crafty-preset-typescript] Update gulp-typescript to 5.0.0-alpha.3
[crafty-preset-typescript] Update rollup-plugin-typescript2 to 0.17.0
[crafty-preset-typescript] Update ts-jest to 23.1.4
[crafty-preset-typescript] Update ts-loader to 5.1.0
[crafty-preset-typescript] Update tslint-eslint-rules to 5.4.0
[crafty-preset-typescript] Update typescript to 3.0.3
[crafty-runner-rollup] Update rollup to 0.65.2
[crafty-runner-rollup] Update rollup-plugin-commonjs to 9.1.6
[crafty-runner-rollup] Update rollup-plugin-node-resolve to 3.4.0
[crafty-preset-postcss, crafty-runner-webpack] Update webpack to 4.18.1
[crafty-runner-webpack] Update uglifyjs-webpack-plugin to 1.3.0
[crafty-runner-webpack] Update webpack-chain to 4.10.0
[crafty-runner-webpack] Update webpack-dev-server to 3.1.8
[crafty-runner-webpack] Update webpack-merge to 4.1.4
[crafty] Update browserslist to 4.1.1
[eslint-plugin-swissquote] Update babel-eslint to 9.0.0
[eslint-plugin-swissquote] Update eslint-plugin-import to 2.14.0
[eslint-plugin-swissquote] Update eslint-plugin-react to 7.11.1
[eslint-plugin-swissquote] Update eslint-plugin-sonarjs to 0.1.1
[eslint-plugin-swissquote] Update eslint to 5.5.0
[postcss-swissquote-preset] Update autoprefixer to 9.1.5
[postcss-swissquote-preset] Update browserslist to 4.1.1
[postcss-swissquote-preset] Added caniuse-api ^3.0.0
[postcss-swissquote-preset] Added chalk ^2.0.1
[postcss-swissquote-preset] Added pixrem ^4.0.0
[postcss-swissquote-preset] Added pleeease-filters ^4.0.0
[postcss-swissquote-preset] Updated postcss to 7.0.2
[postcss-swissquote-preset] Added postcss-attribute-case-insensitive 3.0.1
[postcss-swissquote-preset] Added postcss-calc 6.0.1
[postcss-swissquote-preset] Added postcss-color-function 4.0.1
[postcss-swissquote-preset] Added postcss-color-gray 4.1.0
[postcss-swissquote-preset] Added postcss-color-hex-alpha 3.0.0
[postcss-swissquote-preset] Added postcss-color-hsl 2.0.0
[postcss-swissquote-preset] Added postcss-color-hwb 3.0.0
[postcss-swissquote-preset] Added postcss-color-rebeccapurple 3.1.0
[postcss-swissquote-preset] Added postcss-color-rgb 2.0.0
[postcss-swissquote-preset] Added postcss-color-rgba-fallback 3.0.0
[postcss-swissquote-preset] Added postcss-custom-media 6.0.0
[postcss-swissquote-preset] Added postcss-custom-properties 7.0.0
[postcss-swissquote-preset] Added postcss-custom-selectors 5.0.0
[postcss-swissquote-preset] Added postcss-font-family-system-ui 4.1.0
[postcss-swissquote-preset] Added postcss-font-variant 3.0.0
[postcss-swissquote-preset] Added postcss-image-set-polyfill 0.4.4
[postcss-swissquote-preset] Updated postcss-import to 12.0.0
[postcss-swissquote-preset] Added postcss-initial 3.0.0
[postcss-swissquote-preset] Updated postcss-logical to 1.1.1
[postcss-swissquote-preset] Added postcss-media-minmax 3.0.0
[postcss-swissquote-preset] Updated postcss-nested to 4.1.0
[postcss-swissquote-preset] Added postcss-nesting 6.0.0
[postcss-swissquote-preset] Added postcss-pseudo-class-any-link 5.0.0
[postcss-swissquote-preset] Added postcss-pseudoelements 5.0.0
[postcss-swissquote-preset] Added postcss-replace-overflow-wrap 3.0.0
[postcss-swissquote-preset] Updated postcss-reporter to 6.0.0
[postcss-swissquote-preset] Added postcss-selector-matches 3.0.1
[postcss-swissquote-preset] Added postcss-selector-not 3.0.1
[postcss-swissquote-preset] Updated postcss-url to 7.3.2
[stylelint-config-swissquote] Updated stylelint to 9.5.0
[stylelint-config-swissquote] Updated stylelint-scss to 3.3.0

Babel and webpack updates

13 Sep 20:22
Compare
Choose a tag to compare

Highlights

  • Allow to change configuration of webpack devServer

Version updates

[babel-preset-swissquote, crafty-preset-babel, crafty-preset-typescript] Update @babel/* to 7.0.0-beta.54
[crafty-preset-babel, eslint-plugin-swissquote] Update eslint to 5.2.0
[crafty-preset-babel] Update eslint-loader to 2.1.0
[crafty-preset-babel] Update rollup-plugin-eslint to 5.0.0
[crafty-preset-jest] Update jest-cli to 23.4.1
[crafty-preset-postcss] Update postcss-loader to 2.1.6
[crafty-preset-postcss, crafty-runner-webpack] Update webpack to 4.16.2
[crafty-preset-typescript] Update rollup-plugin-typescript2 to 0.16.1
[crafty-preset-typescript] Update ts-jest to 23.0.1
[crafty-preset-typescript] Update tslint to 5.11.0
[crafty-runner-rollup] Update rollup to 0.63.4
[crafty-runner-webpack] Update webpack-dev-server to 3.1.5
[crafty, postcss-swissquote-preset] Update browserslist to 4.0.1
[stylelint-config-swissquote] Update stylelint-scss to 3.2.0