Quasar targets 7 app formats from one Vue project
Quasar's README names 7 outputs: SPA, SSR, SSG, PWA, browser extension, hybrid mobile app, and Electron desktop app. The Quasar CLI supplies the build-mode wiring around one Vue source tree. A product team can reuse routing, state, components, and business logic while changing how the result starts and where it runs.
Quasar also owns project creation, Vite configuration, icons, mode commands, and packaging conventions. Its entry points include the full CLI, a Vite plugin for an existing application, and a UMD build for direct browser use. The CLI gets the deepest integration. Adding only the component package does not bring every surrounding mode feature with it.
Node.js 22 is the practical starting line
Quasar's quick start requires Node.js 22 or a newer LTS release, and the current app package calls for Node.js 22.22+ on even-numbered LTS majors. Pnpm users need version 11+, though npm, Yarn classic, and Bun are documented. The generator asks about TypeScript and CSS choices, then creates a project with a local development command. Basic use needs no hosted account or API credential.
The current UI build targets Chrome 121, Edge 121, Firefox 123, and Safari 17.2 or newer. Quasar refreshes these minimums with its release trains, so enterprise browser requirements need periodic review. The CLI can compile application code to a selected target, while the built Quasar UI package follows the stated current browsers.
What happened when we ran it
Our sandbox cloned commit c706649, a 67.1 MB repository containing 4,514 files and about 453,482 lines of source. Pnpm installed 1,277 packages in 23 seconds and left 686 MB on disk. The build succeeded in 9 seconds. We used a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node.js 22, and no secrets.
The test command failed with exit code 1 after 247 seconds. Its tail showed 1 QTree file with 2 failed tests and 269 unit files passing; the unit count was 6,243 passed and 2 failed out of 6,245. The tail also reported 78 passing UMD tests, 143 passing hydration tests, and 239 passing SSR end-to-end tests. A separate Vitest summary recorded 11 passed and 0 failed of 11. The log supplied no cause beyond the QTree failures.
Our scan found 14 CI workflow files and a pnpm workspace monorepo, with no Dockerfile or tests directory. The passing counts are substantial, but the command's final status still matters. Developers using commit c706649 should reproduce the 2 QTree failures before deciding whether they are environmental, timing-related, or a product regression. The supplied log does not settle that question.
Two mobile wrappers keep the interface inside a WebView
Quasar documents 2 mobile routes, Capacitor and Cordova. Both run the website inside a native WebView and expose device APIs through plugins. Capacitor focuses on iOS and Android, while Cordova supports more targets. This suits a team whose web interface already works on small screens. It does not turn Vue components into native platform controls.
Electron uses Chromium for the interface and a Node.js main process for native windows. The default template disables Node.js integration in the renderer and enables context isolation, with native access going through a preload bridge and IPC. Desktop security, packaging, signing, and platform testing remain separate work outside a successful 9-second framework build.
Tailwind CSS v4 can lose the cascade to Quasar styles
Open issue 18060 provides a Tailwind CSS v4 reproduction where a background utility does not override a Quasar card without added specificity. The issue remained open on September 8, 2026. One report cannot describe every Tailwind setup, but it is specific enough to test before mixing both systems throughout a large application.
Quasar is a visible component system, not a headless behavior kit. Teams get finished inputs, tables, trees, dialogs, and layouts quickly, while design overrides must account for component variables, classes, and defaults. A product that wants CSS utilities to have final authority should build a representative screen first, especially one with dense forms and nested controls.
September 2026 activity includes a release and issue cleanup
GitHub listed 27,211 stars, 86 combined issues and pull requests, and a last push on September 8, 2026. Release 2.30.1 arrived one day earlier. Issue work that day covered QStepper state, dark-theme styling, QInput rendering, path handling, localized digits, and debounce behavior. A current push plus current issue work is stronger health evidence than the release date alone.
The 2.30.1 notes describe guards restored across 11 directives after a queued Vue update could outlive an unmounted element. Other fixes cover QInfiniteScroll's first load, ripple option changes, null-prototype comparisons, and QTree icon sizing. That specificity helps maintainers judge an update and shows how much behavior Quasar owns between Vue and the rendered screen.
A 4,514-file toolchain pays off when formats are shared
At 4,514 files and roughly 453,482 source lines, Quasar is a platform choice rather than a casual button-library swap. It earns that weight when one Vue team owns a browser product plus packaged or server-rendered variants. For an ordinary site, PrimeVue or Vuetify may demand less build ownership. Our 9-second build makes a trial cheap; the 247-second failed test command still calls for a representative screen and a clean rerun before adoption.

