github quasarframework/quasar @quasar/app-v3.0.0-beta.16

pre-release3 years ago

We're just a small step away from the final release now.
Use this package along with Quasar v2.0.0-beta.13+.

If you encounter any yarn/npm issues while upgrading to q/app v3.0.0-beta.16 (it may be possible due to glitches in these package managers) then please edit /package.json manually ("@quasar/app": "^3.0.0-beta.16"), delete node_modules and yarn.lock/package-lock.json then yarn/install again.

Breaking changes

We have upgraded "@quasar/app" to Webpack 5. As a result, there will be no more problems with support on Node v13+. However, due to webpack 5 subpackages, we are now forced to request at Node v12.22.1+ (LTS) as the minimum version.

You may need to check each of your manually installed webpack plugins for Webpack 5 compatibility. For example, if you are using the PWA mode, you will need to upgrade to workbox-webpack-plugin v6.

As part of the upgrade to Webpack 5, Quasar CLI now supplies webpack-dev-server v4 and webpack-dev-middleware v4 which come with their own breaking changes. This influences quasar.conf.js > devServer options. Below are some of the most used props:

Prop name Type Description
devMiddleware Object Configuration supplied to webpack-dev-middleware v4
https Boolean/Object Same as before with webpack 4
onBeforeSetupMiddleware Function Replaces "before"
onAfterSetupMiddleware Function Replaces "after"
proxy Object/Array Same as before with webpack 4

If you have been using quasar.conf.js > build > rtl in the form of an Object, then you must match these options now, since we've switched from the unmaintained postcss-rtl to postcss-rtlcss package.

At the moment of writing these lines, webpack-chain has not been updated to fully support Webpack 5. This has impact over all quasar.conf.js > chainWebpack() methods. While these methods will still work, the newer parts of the configuration introduced in Webpack 5 are not (yet) available. For those parts, the extendWebpack() methods should be used, until webpack-chain is fully Webpack 5 compatible.

New

  • Webpack 5
  • New terminal error reporting and new status reporting
  • The ready devserver banner now includes app URLs for all network interfaces
  • perf(app): improve preFetch algorithm #8915 (#8922)
  • feat(ssr-helpers): turn ssrContext._onRenderedList into a public method ssrContext.onRendered(fn)
  • feat(docs): Add page for ssrContext
  • feat(app/TS): updated most definitions for best accuracy
  • perf(app): various other noticeable improvements perf-wise

Fixes

  • fix(SSR): Correctly trigger post-hydration #8924
  • fix(app/preFetch): fix preFetch for class components #8915 (#8922)
  • fix(app): preFetch's currentRoute is a ref instead of the actual value #8974
  • fix(app): correctly reboot devserver; avoid reconstructing webpack conf if not needed
  • fix(app): small glitch in inject.style-rules which was duplicating postcss plugins when RTL was enabled

Don't miss a new quasar release

NewReleases is sending notifications on new releases.