crafty

The task runner that binds them all

APACHE-2.0 License

Downloads
17K
Stars
30
Committers
16

Bot releases are hidden (Show)

crafty - Fix crafty jest not failing when tests fail

Published by onigoetz almost 5 years ago

This release fixes that when jest tests fail in crafty test it doesn't set the exit code to 1.

crafty - Lots of updates, TypeScript 3.7, configuration fine tuning

Published by onigoetz almost 5 years ago

Highlights

  • Change how configuration is done for the jest test runner, #611 Thanks @vitalishapovalov
  • Change Webpack devServer configuration, allows HTTPS to be used. #578, #622 Thanks @AdrienS-SQ
  • Improve Webpack's TypeScript loader configuration to use the new experimental Watcher API

JavaScript Updates

  • @babel/* to 7.7.6

TypeScript Updates

  • fork-ts-checker-webpack-plugin from 1.5.0 to 3.1.1
  • rollup-plugin-typescript2 0.24.1 0.25.3
  • ts-loader from 6.1.0 to 6.2.1
  • typescript from 3.6.3 to 3.7.3

Styles Updates

  • autoprefixer from 9.6.1 to 9.7.3
  • css-loader from 3.2.0 to 3.3.2
  • postcss from 7.0.18 to 7.0.24
  • postcss-csso from 3.0.0 to 4.0.0
  • postcss-initial from 3.0.1 to 3.0.2
  • postcss-nested 4.1.2 to 4.2.1
  • style-loader from 1.0.0 to 1.0.1

Eslint Updates

  • eslint from 6.3.0 to 6.7.2
  • eslint-loader from 3.0.0 to 3.0.3
  • eslint-plugin-import from 2.18.2 to 2.19.1
  • eslint-plugin-prettier from 3.1.0 to 3.1.1
  • eslint-plugin-react from 7.14.3 to 7.17.0
  • eslint-plugin-sonarjs from 0.4.0 to 0.5.0
  • @typescript-eslint/* from 2.2.0 to 2.11.0
  • confusing-browser-globals from 1.0.8 to 1.0.9

Stylelint updates

  • stylelint from 10.1.0 to 12.0.0
  • stylelint-no-unsupported-browser-features from 3.0.2 to 4.0.0
  • stylelint-scss from 3.10.1 to 3.13.0

Webpack updates

  • terser-webpack-plugin from 2.0.1 to 2.3.0
  • webpack from 4.39.3 to 4.41.2
  • webpack-dev-server from 3.8.0 to 3.9.0

Rollup updates

  • rollup from 1.21.2 to 1.27.12
  • rollup-plugin-terser from 5.1.1 to 5.1.3

React updates

  • react-hot-loader 4.12.12 to 4.12.18
  • react-test-renderer 16.9.0 to 16.12.0

Other Updates

  • browserslist from 4.7.0 to 4.8.2
  • end-of-stream from 1.4.1 to 1.4.4
  • enhanced-resolve 4.1.0 to 4.1.1
  • enzyme-adapter-react-16 from 1.14.0 to 1.15.1
  • execa from 2.0.4 to 3.2.0
  • gulp-imagemin from 6.1.0 to 6.2.0
  • gulp-rename 1.4.0 to 2.0.0
  • ts-jest from 24.0.2 to 24.2.0
  • yargs-parser 14.0.0 to 16.0.0
crafty - Drop old browsers, TypeScript 3.6, Webpack jsonp method uniqueness

Published by onigoetz about 5 years ago

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
crafty - TypeScript 3.5, Yarn Plug'n'play now second class citizen

Published by onigoetz over 5 years ago

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
crafty - Disable some TypeScript linting rules

Published by onigoetz over 5 years ago

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
crafty - Rerelease

Published by onigoetz over 5 years ago

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

crafty - ESLint all the things, IDE Integration, Prettier

Published by onigoetz over 5 years ago

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
crafty - Yarn PNP, Jest Integration improvement, TypeScript 3.4

Published by onigoetz over 5 years ago

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)
crafty - TypeScript 3.3, Jest 24, Rollup 1 and various improvements

Published by onigoetz over 5 years ago

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)
crafty - Drop node 6. Go from uglify-es to Terser

Published by onigoetz almost 6 years ago

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
crafty - Babel 7, TypeScript 3, PostCSS 7

Published by onigoetz about 6 years ago

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

crafty - Babel and webpack updates

Published by onigoetz about 6 years ago

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

crafty - React Hot Loader 4, TypeScript 2.9.0

Published by onigoetz over 6 years ago

Highlights

  • Updated to React Hot Loader 4, easier to install and use
  • Updated to Typescript 2.9
  • Lazy load dependencies for faster command startup and not loading unused libraries
  • Change UglifyJS configuration to compress faster
  • Added crafty help to list available tasks and commands

Changes

crafty-preset-react

React Hot Loader 4

Moving from React Hot Loader 3 to 4 meant a lot of changes inside Crafty, especially for TypeScript, but will only require a small change on your side.

React Hot Loader 3 required this :

import React from "react";
import ReactDOM from "react-dom";
import {AppContainer} from "react-hot-loader";

import App from "./containers/App";
 
const render = Component => {
  ReactDOM.render(
    <AppContainer>
      <Component />
    </AppContainer>,
    document.getElementById("root"),
  );
};

render(App);

// Webpack Hot Module Replacement API
if (module.hot) {
  module.hot.accept("./containers/App", () => {
    render(App);
  });
}

Which can now be returned to

import React from "react";
import ReactDOM from "react-dom";

import App from "./containers/App";

ReactDOM.render(
  <App />,
  document.getElementById("root"),
);

But in exchange the App Component (The root of your react app) must be wrapped in hot(module)(YourComponent);

import React from 'react'
import { hot } from 'react-hot-loader'

const App = () => <div>Hello World!</div>

export default hot(module)(App);

crafty-preset-typescript

TypeScript 2.9

No change is required on your side to benefit from this update.

Running Babel after TypeScript in Webpack

After running the TypeScript loader, we now run babel in order to apply the optimizations that babel can do, like inlining React components and applying plugins like React Hot Loader

crafty-preset-jest

  • Fix code coverage collection in Jest #21

UglifyJS Configuration

We made some changes to the UglifyJS Configuration to disable advanced compression techniques as they are slow and don't bring a lot of improvement overall.
You can re-enable these options if you wish in your own crafty.config.js

Internal Changes

  • Use yarn for development instead of npm
  • Lazy load dependencies to make crafty faster

Version updates

[babel-preset-swissquote, crafty-preset-babel, crafty-preset-typescript] Update @babel/* to 7.0.0-beta.52
[babel-preset-swissquote] Updated babel-plugin-transform-react-remove-prop-types from 0.4.12 to 0.4.13
[crafty-preset-babel] Updated babel-loader to 8.0.0-beta.3
[crafty-preset-babel] Updated babel-preset-jest to 23.2.0
[crafty-preset-babel] Updated eslint to 5.1.0
[crafty-preset-babel] Updated gulp-eslint to 5.0.0
[crafty-preset-babel] Updated rollup-plugin-babel to 4.0.0-beta.5
[crafty-preset-jest] Updated jest-cli to 23.3.0
[crafty-preset-postcss] Updated css-loader to 1.0.0
[crafty-preset-postcss] Updated gulp-rename to 1.3.0
[crafty-preset-postcss] Updated mini-css-extract-plugin to 0.4.1
[crafty-preset-postcss] Updated postcss to 6.0.23
[crafty-preset-postcss] Updated postcss-loader to 2.1.5
[crafty-preset-postcss] Updated postcss-scss to 1.0.6
[crafty-preset-postcss] Updated stylelint to 9.3.0
[crafty-preset-postcss] Updated webpack to 4.15.1
[crafty-preset-react] Updated react-hot-loader to 4.3.3
[crafty-preset-react] Updated react-test-renderer to 16.4.1
[crafty-preset-typescript] Updated rollup-plugin-typescript2 to 0.15.1
[crafty-preset-typescript] Updated ts-jest to 23.0.0
[crafty-preset-typescript] Updated tslint to 5.10.0
[crafty-preset-typescript] Updated tslint-eslint-rules to 5.3.1
[crafty-preset-typescript] Updated typescript to 2.9.2
[crafty-runner-rollup] Updated rollup to 0.62.0
[crafty-runner-rollup] Updated rollup-plugin-json to 3.0.0
[crafty-runner-rollup] Updated rollup-plugin-uglify to 4.0.0
[crafty-runner-webpack] Removed service-port, replaced by hash-index
[crafty-runner-webpack] Updated uglifyjs-webpack-plugin to 1.2.7
[crafty-runner-webpack] Updated webpack to 4.15.1
[crafty-runner-webpack] Updated webpack-chain to 4.8.0
[crafty-runner-webpack] Updated webpack-merge to 4.1.3
[crafty] Update browserslist to 4.0.0
[crafty] Update enhanced-resolve to 4.1.0
[eslint-plugin-swissquote] Updated babel-eslint to 9.0.0-beta.1
[eslint-plugin-swissquote] Updated eslint-plugin-import to 2.13.0
[eslint-plugin-swissquote] Updated eslint-plugin-react to 7.10.0
[postcss-swissquote-preset] Updated autoprefixer to 8.6.5
[postcss-swissquote-preset] Updated browserslist to 4.0.0
[postcss-swissquote-preset] Updated postcss to 6.0.23
[postcss-swissquote-preset] Updated postcss-dir-pseudo-class to 4.0.0
[stylelint-config-swissquote] Updated stylelint-scss to 3.1.3

crafty - crafty-preset-jest minor fixes

Published by onigoetz over 6 years ago

Exclude json files from valid test files in @swissquote/crafty-preset-jest #19

Thanks @Elendev for the contribution

crafty - crafty-preset-react minor fixes

Published by onigoetz over 6 years ago

  • Use ES5 in @swissquote/crafty-preset-react so that it works even if @swissquote/crafty-preset-babel isn't used
  • Minor changes in the documentation to advertise about Jest typings for TypeScript. #18

Thanks @Elendev for the bug reports and contibutions

crafty - Webpack 4, Babel 7

Published by onigoetz over 6 years ago

Highlights

  • Webpack 4 migration from Webpack 3 #9
  • Use Babel 7 instead of Babel 6
  • Changed the list of supported browsers

Changes

babel-preset-swissquote

  • Use babel 7
  • Added a deduplicateHelpers option to allow helpers function to be declared only once. crafty-preset-webpack uses that option now.
  • Added a useESModules option to use ES imports for helper functions.
  • Remove prop types in production automatically

crafty-preset-postcss

  • Fix a bug when compiling styles with gulp, timestamp wasn't updated on created files, which broke reloading in browsers. Thanks @mariepw for the fix #13 #14
  • Replace extract-text-webpack-plugin was replaced with mini-css-extract-plugin for Webpack 4, features and options stay the same.

crafty

  • Changed default browsers to "> 0.25%, Firefox ESR, Edge >= 13, Safari >= 7.1, iOS >= 7.1, Chrome >= 32, Firefox >= 24, Opera >= 24, IE >= 9" This now excludes older browsers like IE8 and largely unused browsers.
  • Use browserslist's standard way to read browser list, fallback to crafty's default if nothing else is found.

eslint-plugin-swissquote

  • Added eslint-plugin-sonarjs to check on some more advanced rules for your JavaScript code. #12
  • Enabled sonarjs's recommended rules in our recommended preset.

stylelint-config-swissquote

  • Added stylelint-scss to plugins. #10
  • Replaced at-rule-no-unknown with scss/at-rule-no-unknown

Documentation

  • Fix typos in documentation, thanks @Elendev for contributions.

Internal

  • added npm clean to run lerna clean
  • added a postinstall script to run lerna bootstrap right after npm install

Version updates

  • [babel-preset-swissquote, crafty-preset-babel] Update @babel/core to 7.0.0-beta.46
  • [babel-preset-swissquote] Replace [email protected] with @babel/[email protected]
  • [babel-preset-swissquote] Replace [email protected] with @babel/[email protected]
  • [babel-preset-swissquote] Replace [email protected] with @babel/[email protected]
  • [babel-preset-swissquote] Replace [email protected] with @babel/[email protected]
  • [babel-preset-swissquote] Replace [email protected] with @babel/[email protected]
  • [babel-preset-swissquote] Replace [email protected] with @babel/[email protected]
  • [babel-preset-swissquote] Replace [email protected] with @babel/[email protected]
  • [babel-preset-swissquote, crafty-preset-babel] Replace babel-runtime@^6.23.0 with @babel/[email protected]
  • [babel-preset-swissquote] Replace [email protected] with [email protected]
  • [babel-preset-swissquote] Replace [email protected], [email protected], [email protected], [email protected] with @babel/[email protected]
  • [crafty-preset-babel] Update babel-loader from 7.1.4 to 8.0.0-beta.2
  • [crafty-preset-babel] Update babel-plugin-istanbul from 4.1.5 to 4.1.6
  • [crafty-preset-babel] Update babel-preset-jest from 22.4.1 to 22.4.3
  • [crafty-preset-babel] Update gulp-babel from 7.0.1 to 8.0.0-beta.2
  • [crafty-preset-babel] Update rollup-plugin-babel from 3.0.3 to 4.0.0-beta.2
  • [crafty-preset-polyfills] Update core-js from 2.5.4 to 2.5.5
  • [crafty-preset-postcss, postcss-swissquote-preset] Update postcss from 6.0.21 to 6.0.22
  • [crafty-preset-postcss] Update postcss-loader from 2.1.3 to 2.1.4
  • [crafty-preset-postcss] Update postcss-scss from 1.0.4 to 1.0.5
  • [crafty-preset-postcss] Update style-loader from 0.20.3 to 0.21.0
  • [crafty-preset-postcss] Update stylelint from 9.1.3 to 9.2.0
  • [crafty-preset-postcss] Replace [email protected] with mini-css-extract-plugin@^0.4.0
  • [crafty-preset-react] Update react-test-renderer from 16.2.0 to 16.3.2
  • [crafty-preset-typescript] Update rollup-plugin-typescript2 from 0.12.0 to 0.13.0
  • [crafty-preset-typescript] Update ts-loader from 3.5.0 to 4.2.0
  • [crafty-preset-typescript] Update tslint-loader from 3.5.3 to 3.6.0
  • [crafty-preset-typescript] Update typescript from 2.8.1 to 2.8.3
  • [crafty-runner-rollup] Update rollup from 0.57.1 to 0.58.2
  • [crafty-runner-rollup] Update rollup-plugin-commonjs from 9.1.0 to 9.1.3
  • [crafty-runner-webpack, crafty-preset-postcss] Update webpack from 3.10.0 to 4.6.0
  • [crafty-runner-webpack] Added uglifyjs-webpack-plugin from ^1.2.5
  • [crafty-runner-webpack] Update webpack-chain from 4.5.0 to 4.6.0
  • [crafty-runner-webpack] Update webpack-dev-server from 2.11.1 to 3.1.4
  • [crafty-runner-webpack] Update webpack-stylish from 0.1.7 to 0.1.8
  • [crafty] Update enhanced-resolve from 3.4.1 to 4.0.0
  • [crafty] Update meow from 4.0.0 to 5.0.0
  • [crafty, postcss-swissquote-preset] Update browserslist from 3.2.3 to 3.2.6
  • [eslint-plugin-swissquote] Update babel-eslint from 7.2.3 to 8.2.3
  • [eslint-plugin-swissquote] Update eslint-plugin-import from 2.9.0 to 2.11.0
  • [eslint-plugin-swissquote] Added eslint-plugin-sonarjs version ^0.1.0
  • [postcss-swissquote-preset] Update autoprefixer from 8.2.0 to 8.4.1
  • [postcss-swissquote-preset] Update postcss-dir-pseudo-class from ^2.1.0 to 3.0.0
  • [postcss-swissquote-preset] Update postcss-url from 7.3.1 to 7.3.2
crafty - Dependencies updates and tweaks

Published by onigoetz over 6 years ago

Highlights

  • [crafty-runner-webpack] Webpack's output is now cleaner with the help of webpack-stylish
  • [crafty-preset-babel] Use uglify-es in when using the Gulp runner
  • [crafty-runner-webpack] Create an UMD package by default with webpack instead of an AMD package
  • [stylelint-config-swissquote] added selector-max-compound-selectors rule with a default of 6.
  • [stylelint-config-swissquote] created swissquote/no-block-inside-block rule, it's not enabled by default.
  • [crafty-preset-typescript] Updated to TypeScript 2.8.1

TypeScript 2.8.1

The TypeScript preset now comes with TypeScript 2.8.1. ( instead of 2.6.2 )

We'll not go into details on the new features, but I invite you to check the team's announcements

Documentation

  • Fix spelling and typos in the documentation
  • Use a separate theme
  • Added search

Version updates

  • [crafty-preset-babel] babel-loader from 7.1.2 to 7.1.4
  • [crafty-preset-babel] babel-preset-jest from 21.2.0 to 22.4.1
  • [crafty-preset-babel] eslint from 4.15.0 to 4.19.1
  • [crafty-preset-babel] eslint-loader from 1.9.0 to 2.0.0
  • [crafty-preset-babel] gulp-babel from 7.0.0 to 7.0.1
  • [crafty-preset-babel] gulp-eslint from 4.0.1 to 4.0.2
  • [crafty-preset-babel] gulp-sourcemaps from 2.6.3 to 2.6.4
  • [crafty-preset-babel] tmp from 0.0.33 to 0.0.33
  • [crafty-preset-polyfills] core-js from 2.5.3 to 2.5.4
  • [crafty-preset-postcss] css-loader from 0.28.8 to 0.28.11
  • [crafty-preset-postcss] gulp-sourcemaps from 2.6.3 to 2.6.4
  • [crafty-preset-postcss] lodash from 4.17.4 to 4.17.5
  • [crafty-preset-postcss] [postcss-swissquote-preset] postcss from 6.0.16 to 6.0.21
  • [crafty-preset-postcss] postcss-loader from 2.0.10 to 2.1.3
  • [crafty-preset-postcss] postcss-scss from 1.0.3 to 1.0.4
  • [crafty-preset-postcss] style-loader from 0.19.1 to 0.20.3
  • [crafty-preset-postcss] stylelint from 8.4.0 to 9.1.3
  • [crafty-preset-typescript] gulp-sourcemaps from 2.6.3 to 2.6.4
  • [crafty-preset-typescript] gulp-tslint from 8.1.2 to 8.1.3
  • [crafty-preset-typescript] gulp-typescript from 3.2.3 to 4.0.2
  • [crafty-preset-typescript] gulp-plugin-typescript2 from 0.10.0 to 0.12.0
  • [crafty-preset-typescript] ts-loader from 3.2.0 to 3.5.0
  • [crafty-preset-typescript] tslint-eslint-rules from 4.1.1 to 5.1.0
  • [crafty-preset-rollup] [crafty-runner-webpack] chalk from 2.3.0 to 2.3.2
  • [crafty-preset-rollup] rollup from 0.54.0 to 0.57.1
  • [crafty-preset-rollup] rollup-plugin-commonjs from 8.2.6 to 9.1.0
  • [crafty-preset-rollup] rollup-plugin-node-resolve from 3.0.2 to 3.3.0
  • [crafty-preset-rollup] rollup-plugin-uglify from 2.0.1 to 3.0.0
  • [crafty-preset-rollup] uglify-es from 3.3.7 to 3.3.9
  • [crafty-runner-gulp] [crafty] glob-watcher from 5.0.0 to 5.0.1
  • [crafty-runner-webpack] case-sensitive-paths-webpack-plugin from 2.1.1 to 2.1.2
  • [crafty-runner-webpack] glob-to-regexp from 0.3.0 to 0.4.0
  • [crafty-runner-webpack] webpack-dev-server from 2.11.0 to 2.11.1
  • [crafty-runner-webpack] webpack-merge from 4.1.1 to 4.1.2
  • [eslint-plugin-swissquote] eslint-plugin-import from 2.8.0 to 2.9.0
  • [eslint-plugin-swissquote] eslint-plugin-react from 7.5.1 to 7.7.0
  • [eslint-plugin-swissquote] eslint from 4.12.1 to 4.19.1
  • [postcss-swissquote-preset] autoprefixer from 7.2.5 to 8.2.0
  • [postcss-swissquote-preset] browserslist from 2.11.3 to 3.2.3
  • [postcss-swissquote-preset] postcss-advanced-variables from 2.3.0 to 2.3.3
  • [postcss-swissquote-preset] postcss-cssnext from 3.0.2 to 3.1.0
  • [postcss-swissquote-preset] postcss-import from 11.0.0 to 11.1.0
  • [postcss-swissquote-preset] postcss-url from 7.3.0 to 7.3.1
  • [stylelint-config-swissquote] stylelint from 8.3.1 to 9.1.3
crafty - Dependencies updates and bugfixes

Published by onigoetz almost 7 years ago

Bugfixes

  • [eslint-plugin-swissquote] React rules default options were done incorrectly.

Documentation

  • Added more badges to the README
  • Updated list of supported browsers to be in sync with the code.
  • Updated crafty-preset-babel's homepage to preset Babel and not CSS (unlucky copy/paste)

Updates

  • [internal] lerna from 2.5.1 to 2.7.1
  • [internal] markdownlint-cli from 0.5.0 to 0.6.0
  • [crafty-preset-babel] eslint from 4.13.1 to 4.15.0
  • [crafty-preset-babel] gulp-eslint from 4.0.0 to 4.0.1
  • [crafty-preset-babel] [crafty-preset-images] [crafty-preset-typescript] gulp-newer from 1.3.0 to 1.4.0
  • [crafty-preset-babel] [crafty-preset-postcss] [crafty-preset-typescript] gulp-sourcemaps from 2.6.1 to 2.6.3
  • [crafty-preset-babel] rollup-plugin-babel from 3.0.2 to 3.0.3
  • [crafty-preset-images] gulp-imagemin from 4.0.0 to 4.1.0
  • [crafty-preset-postcss] css-loader from 0.28.7 to 0.28.8
  • [crafty-preset-postcss] end-of-stream from 1.4.0 to 1.4.1
  • [crafty-preset-postcss] gulp-postcss from 7.0.0 to 7.0.1
  • [crafty-preset-postcss] postcss from 6.0.14 to 6.0.16
  • [crafty-preset-postcss] postcss-loader from 2.0.9 to 2.0.10
  • [crafty-preset-postcss] postcss-scss from 1.0.2 to 1.0.3
  • [crafty-preset-react] enzyme from 3.2.0 to 3.3.0
  • [crafty-preset-react] enzyme-adapter-react-16 from 1.1.0 to 1.1.1
  • [crafty-preset-typescript] rollup-plugin-typescript2 from 0.8.4 to 0.10.0
  • [crafty-preset-typescript] tslint from 5.8.0 to 5.9.1
  • [crafty] [crafty-runner-gulp] glob-watcher from 4.0.0 to 5.0.0
  • [crafty-runner-gulp] gulp-plumber from 1.1.0 to 1.2.0
  • [crafty-runner-rollup] rollup from 0.52.1 to 0.54.0
  • [crafty-runner-rollup] rollup-plugin-node-resolve from 3.0.0 to 3.0.2
  • [crafty-runner-rollup] uglify-es from 3.2.2 to 3.3.7
  • [crafty-runner-webpack] webpack-dev-server from 2.9.7 to 2.11.0
  • [postcss-swissquote-preset] autoprefixer from 7.2.3 to 7.2.5
  • [postcss-swissquote-preset] browserslist from 2.10.0 to 2.11.3
  • [postcss-swissquote-preset] postcss from 6.0.14 to 6.0.16
  • [postcss-swissquote-preset] postcss-advanced-variables from 1.2.2 to 2.3.0
  • [postcss-swissquote-preset] postcss-sassy-mixins removed because its feature is now covered by postcss-advanced-variables
crafty - Initial Release

Published by onigoetz almost 7 years ago

This is the first release of Crafty and all of its presets.

Instead of changes, this will be a quick overview of each package's feature.

@swissquote/crafty

  • The core package of Crafty, it gives the foundations to load presets and execute the tasks and commands created by them.
  • Contains the run, test and watch commands

Runners

@swissquote/crafty-runner-webpack

  • Bundle your JavaScript using EcmaScript 2015 imports or commonjs imports
  • Your code is Uglified after compilation.
  • Configurable output formats
  • Automatically integrates with watch mode, re-compiles your files on changes

@swissquote/crafty-runner-gulp

  • Create any gulp task
  • Combine tasks in parallel or in series
  • Create file watchers that run tasks or anything else on change.

@swissquote/crafty-runner-rollup

  • Bundle your JavaScript using EcmaScript 2015 imports or commonjs imports
  • Your code is Uglified after compilation.
  • Configurable output formats
  • Automatically integrates with watch mode, re-compiles your files on changes

Presets

@swissquote/crafty-preset-babel

  • Integrated with Webpack or Rollup or simply outputs your code file by file using Gulp
  • Uses a carefully crafted preset of babel plugins
  • Lints your code with ESLint

@swissquote/crafty-preset-images

  • Compress jpg/png/gif or svg images

@swissquote/crafty-preset-images-simple

  • Works the same as crafty-preset-images but doesn't compress images. Is meant if you build your projects behind a corporate proxy and can't download the compression binaries.

@swissquote/crafty-preset-jest

  • Configures Jest to work out of the box with crafty-preset-babel and crafty-preset-typescript
  • All jest features work the same, without special configuration

@swissquote/crafty-preset-maven

  • Automatically set the destination of your files according to maven's target works for webapps and webjars.

@swissquote/crafty-preset-polyfills

Doesn't work yet.

@swissquote/crafty-preset-postcss

  • Compiles your CSS using PostCSS with our postcss preset
  • Lints your CSS using Stylelint

@swissquote/crafty-preset-react

  • Configures Webpack for Hot Module Replacement
  • Configures Jest to easily test React components

@swissquote/crafty-preset-typescript

  • Integrates TypeScript with Webpack or Rollup or simply outputs your code file by file using Gulp
  • Lints your code using TSLint

Presets for other tools

@swissquote/babel-preset-swissquote

  • Transform EcmaScript 2015+ using babel-preset-env
  • Convert JSX to JavaScript for React
  • polyfills for async/await and generators when needed
  • Is used inside @swissquote/crafty-preset-babel

@swissquote/eslint-plugin-swissquote

  • Contains Swissquote's JavaScript Styleguide
  • Is used inside @swissquote/crafty-preset-babel

@swissquote/postcss-swissquote-preset

  • Contains Swissqute's CSS Presets
  • Transpiles CSS level 4 to valid CSS level 3
  • Understands the scss syntax and many of its features (loops, conditions, variables)
  • Embed images or get their size
  • Is used inside @swissquote/crafty-preset-postcss

@swissquote/stylelint-config-swissquote

  • Contains Swissquote's CSS styleguide and Stylelint plugins
  • Is used inside @swissquote/crafty-preset-postcss
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