Releases: swissquote/crafty
Drop old browsers, TypeScript 3.6, Webpack jsonp method uniqueness
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
- Use another polling method in TypeScript
UseFsEventsWithFallbackDynamicPolling
(https://blog.johnnyreilly.com/2019/05/typescript-and-high-cpu-usage-watch.html) - When using
webpackChunkName
in code splitting we now put that in the output file name.
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.0autoprefixer
from 9.6.0 to 9.6.1babel-plugin-istanbul
from 5.1.4 to 5.2.0browserslist
from 4.6.3 to 4.7.0confusing-browser-globals
from 1.0.7 to 1.0.8eslint
from 5.16.0 to 6.3.0eslint-loader
from 2.1.2 to 3.0.0eslint-plugin-import
from 2.17.3 to 2.18.2eslint-plugin-react
from 7.13.0 to 7.14.3fork-ts-checker-wepack-plugin
from 1.3.7 to 1.5.0gulp-eslint
from 5.0.0 to 6.0.0gulp-imagemin
from 6.0.0 to 6.1.0inspectpack
from 4.2.1 to 4.2.2jest
from 24.8.0 to 24.9.0mini-css-extract-plugin
from 0.7.0 to 0.8.0postcss-font-family-system-ui
from 4.1.0 to 4.1.1postcss
from 7.0.17 to 7.0.18postcss-initial
from 3.0.0 to 3.0.1postcss-nesting
from 7.0.0 to 7.0.1postcss-value-parser
from 4.0.0 to 4.0.2react-hot-loader
from 4.11.1 to 4.12.2react-test-renderer
from 16.8.6 to 16.9.0rollup
from 1.15.6 to 1.21.2rollup-plugin-babel
from 4.3.2 to 4.3.3rollup-plugin-eslint
from 6.0.0 to 7.0.0rollup-plugin-node-resolve
from 5.0.3 to 5.2.0rollup-plugin-terser
from 5.0.0 to 5.1.1rollup-plugin-typescript2
from 0.21.2 to 0.24.1rollup-plugin-typescript
from 10.0.0 to 10.1.0stylelint-scss
from 3.8.0 to 3.10.1style-loader
from 0.23.1 to 1.0.0terser-webpack-plugin
from 1.3.0 to 2.0.1ts-loader
from 6.0.3 to 6.1.0typescript
from 3.5.2 to 3.6.3webpack-dev-server
from 3.7.2 to 3.8.0webpack
from 4.35.0 to 4.39.3webpack
from 4.35.0 to 4.39.3webpack-merge
from 4.2.1 to 4.2.2xml2js
from 0.4.19 to 0.4.22yargs-parser
from ^13 to ^14
TypeScript 3.5, Yarn Plug'n'play now second class citizen
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.2ansi-colors
from 3.2.4 to 4.0.0autoprefixer
from 9.5.1 to 9.6.0babel-eslint
from 10.0.1 to 10.0.2browserslist
from 4.6.0 to 4.6.3camelcase-keys
from 5.2.0 to 6.0.0css-loader
from 2.1.1 to 3.0.0enzyme-adapter-react-16
from 1.13.1 to 1.14.0enzyme
from 3.9.0 to 3.10.0eslint-plugin-import
from 2.17.2 to 2.17.3eslint-plugin-sonarjs
from 0.3.0 to 0.4.0fork-ts-checker-webpack-plugin
from 1.3.4 to 1.3.7gulp-imagemin
from 5.0.3 to 6.0.0mini-css-extract-plugin
from 0.6.0 to 0.7.0postcss-logical
from 3.0.0 to 4.0.2postcss-value-parser
from 3.3.1 to 4.0.0postcss
from 7.0.16 to 7.0.17react-hot-loader
from 4.8.8 to 4.11.1rollup-plugin-node-resolve
from 5.0.0 to 5.0.3rollup-plugin-typescript2
from 0.21.1 to 0.21.2rollup
from 1.12.3 to 1.15.6stylelint-prettier
from 1.1.0 to 1.1.1stylelint-scss
from 3.6.1 to 3.8.0stylelint
from 10.0.1 to 10.1.0terser-webpack-plugin
from 1.2.4 to 1.3.0ts-loader
from 6.0.1 to 6.0.3typescript
from 3.4.5 to 3.5.2webpack-dev-server
from 3.4.1 to 3.7.2webpack
from 4.32.2 to 4.35.0
Disable some TypeScript linting rules
Disable some TypeScript linting rules
dot-notation
- Produce false positives and breaks valid codeno-undef
- This check is done by the TypeScript compilerno-explicit-any
- We won't force this on our users. Let them be the judge
Updates
@babel/*
from 7.4.4 to 7.4.5rollup-plugin-eslint
from 5.1.0 to 6.0.0webpack
from 4.32.0 to 4.32.2react-hot-loader
from 4.8.7 to 4.8.8fork-ts-checker-webpack-plugin
from 1.3.3 to 1.3.4rollup-plugin-terser
from 4.0.4 to 5.0.0
Rerelease
ESLint all the things, IDE Integration, Prettier
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 nowcrafty 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
withansi-colors
- Replace
meow
with a direct use ofyargs-parser
- Lazy load
jest-cli
andcaniuse-cli
for faster initial start
Stylelint Changes
- Use Prettier to format CSS
- Added Stylelint rule to detect use of
-var
and recommend to usecalc(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.
- Warns on webpack configuration in case of missing
Updates
autoprefixer
from 9.5.0 to 9.5.1@babel/*
from 7.4.0 to 7.4.4babel-loader
from 8.0.5 to 8.0.6babel-plugin-istanbul
from 5.1.1 to 5.1.4browserslist
from 4.5.3 to 4.6.0confusing-browser-globals
from 1.0.6 to 1.0.7enzyme-adapter-react-16
from 1.11.2 to 1.13.0eslint-plugin-import
from 2.16.0 to 2.17.2eslint-plugin-react
from 7.12.4 to 7.13.0gulp-svgmin
from 2.1.0 to 2.2.0gulp-terser
from 1.1.7 to 1.2.0inspectpack
from 4.1.2 to 4.2.1jest-cli
from 24.6.0 to 24.8.0jest
from 24.6.0 to 24.8.0postcss
from 7.0.14 to 7.0.16react-hot-loader
from 4.8.2 to 4.8.7resolve-from
from 4.0.0 to 5.0.0rollup
from 1.8.0 to 1.12.3rollup-plugin-commonjs
from 9.2.3 to 10.0.0rollup-plugin-node-resolve
from 4.0.1 to 5.0.0rollup-plugin-replace
from 2.1.1 to 2.2.0stylelint
from 9.10.1 to 10.0.1stylelint-scss
from 3.5.4 to 3.6.1terser-webpack-plugin
from 1.2.3 to 1.2.4ts-jest
from 24.0.1 to 24.0.2ts-loader
from 5.3.3 to 6.0.1typescript
from 3.4.1 to 3.4.5undertaker
from 1.2.0 to 1.2.1webpack-chain
from 5.2.4 to 6.0.0webpack-dev-server
from 3.2.1 to 3.4.1webpack
from 4.29.6 to 4.32.0
Yarn PNP, Jest Integration improvement, TypeScript 3.4
Highlights
- Lots of improvements on Jest integration
- Added Jest integration tests to test Jest integration
- Added a transformer to transform
import
andexport
from within node_modules - use
setupFilesAfterEnv
instead ofsetupTestFrameworkScriptFile
- 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
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
Highlights
- Drop node 6 (Because dependencies dropped it)
- Replace
uglify-es
withterser
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 thecrafty.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
withgulp-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
withrollup-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
withterser-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
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
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