@quasar/app-v3.0.0-beta.16
Pre-releaseWe'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