github quasarframework/quasar @quasar/app-vite-v3.5.0

5 hours ago

New

  • feat(app-vite): "quasar mode add" can now run non-interactively — new params: --webserver/-w [hono|fastify|express|koa] (SSR), --filename-based-routing (SSG), --app-id (Cordova & Capacitor) and --app-name (Capacitor). An explicitly supplied value wins (validated); CI/non-TTY runs fall back to validated defaults instead of aborting; interactive terminals keep their prompts. The quasar dev/build -m <mode> auto-install inherits the same fallbacks, so e.g. building SSR in CI without a committed /src-ssr now works
  • feat(app-vite): Electron dev -> now prints the running banner like every other mode, including a new "Electron PID" line
  • feat(app-vite): Electron -> the scaffolded /src-electron pnpm-workspace.yaml allowlists electron's postinstall script (pnpm blocks lifecycle scripts by default; a no-op for electron >= 43, required for older version pins)

Fixes

  • fix(app-vite): Electron dev on macOS -> possible deadlock (main process alive, no window, no error) when app code has circular imports (#18505)
  • fix(app-vite): Electron dev on Windows -> UNRESOLVED_ENTRY on the virtual main entry (#18504)
  • fix(app-vite): PWA -> navigateFallbackDenylist never matched the hashed workbox runtime chunk in production GenerateSW builds
  • fix(app-vite): App Extensions -> "quasar describe" could not resolve an API file registered through api.registerDescribeApi() with a relative path
  • fix(app-vite): App Extensions -> detecting a not-installed extension package could stall the CLI for ~20-45s (unbounded internal recursion); detection is now instant
  • fix(app-vite): "quasar clean" -> removes the whole node_modules/.q-cache; per-mode/target dev caches used to survive it
  • fix(app-vite): SSR/Electron -> workspace:-protocol dependencies are now pinned to the exact installed version in the generated package.json, so dist/ssr installs outside the app's own monorepo workspace
  • fix(app-vite): build -> a symlinked dist folder now gets its resolved directory emptied with the link preserved (previously the link itself was replaced by a real dir on the next build)
  • fix(app-vite): build summary -> unreadable files render "-" instead of "NaN KB"; the totals banner sizes itself on the real file count
  • fix(app-vite): clear "The project dependencies are not installed." error instead of a TypeError crash when the quasar/vite packages are unresolvable
  • fix(app-vite): logger -> a suppressed fatal() still exits the process instead of letting the run continue past fatal errors
  • fix(app-vite): subprocesses terminated by a signal (e.g. an OOM-killed install) are reported with the signal name instead of "Command not found! Please install it globally."
  • fix(app-vite): perf -> the package.json read cache never hit (re-parsed on every access); concurrent cache-module initialization no longer runs twice

Other

  • Massive automated-testing expansion: a colocated unit suite (~530 tests) plus a playground-driven e2e suite exercising every mode through the real CLI (builds, dev servers with real HTTP checks, the production SSR webserver, quasar.config hot-reload, vue-tsc typechecking and the full App Extension lifecycle). Both gate CI and npm publishing
  • Docs: the new non-interactive "quasar mode add" params across the commands list and the SSR/SSG/Cordova/Capacitor preparation pages

Donations

Quasar Framework is an open-source MIT-licensed project made possible due to the generous contributions by sponsors and backers. If Quasar is useful in your workflow and you want to support ongoing maintenance, please consider the following:

Don't miss a new quasar release

NewReleases is sending notifications on new releases.