quasarframework / quasar

Quasar Framework - Build high-performance VueJS user interfaces in record time
https://quasar.dev
MIT License
25.95k stars 3.52k forks source link

Adding PWA mode errors out in @quasar/app-vite@2.0.0-beta.19 #17458

Closed FadhiliNjagi closed 2 months ago

FadhiliNjagi commented 2 months ago

What happened?

I installed a fresh Quasar project to try out the beta app/vite version. In the package.json it indicates ^2.0.0-beta.12 when in yarn.lock, yarn resolves that to ^2.0.0-beta.19. Adding PWA mode results in the following error:

node:fs:1633
  const stats = binding.lstat(
                        ^

Error: ENOENT: no such file or directory, lstat '/.../node_modules/@quasar/app-vite/templates/pwa/pwa-flag.d.ts'

When I check the path in the node_modules, it is true it does not exist. It is also not there in the latest branch on the Github repo (https://github.com/quasarframework/quasar/tree/dev/app-vite/templates/pwa). This does not seem intentional.

What did you expect to happen?

Adding PWA mode should have been successful. I also think it should be atomic: it either succeeds fully or reverts and fails.

Reproduction URL

https://stackblitz.com/edit/quasarframework-q4hbc3?file=package.json&view=editor

How to reproduce?

  1. Go to reproduction link
  2. Run yarn quasar mode remove pwa

To recreate the same repo from scratch:

  1. Install quasar the normal way (yarn create quasar)
  2. Choose "Quasar App CLI with Vite 5 (BETA | next major version - v2)"
  3. Run yarn quasar info and ensure @quasar/app-vite version is 2.0.0-beta.19. If not, manually set "@quasar/app-vite" in package.json devDependencies to "2.0.0-beta.19" and run yarn install.
  4. Run yarn quasar mode add pwa

Flavour

Quasar CLI with Vite (@quasar/cli | @quasar/app-vite)

Areas

PWA Mode

Platforms/Browsers

No response

Quasar info output

Operating System - Linux(6.8.11-amd64) - linux/x64
NodeJs - 20.13.1

Global packages
  NPM - 10.5.2
  yarn - 4.1.0
  pnpm - Not installed
  bun - Not installed
  @quasar/cli - undefined
  @quasar/icongenie - Not installed
  cordova - Not installed

Important local packages
  quasar - 2.16.9 -- Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time
  @quasar/app-vite - 2.0.0-beta.19 -- Quasar Framework App CLI with Vite
  @quasar/extras - 1.16.12 -- Quasar Framework fonts, icons and animations
  eslint-plugin-quasar - Not installed
  vue - 3.4.38 -- The progressive JavaScript framework for building modern web UI.
  vue-router - 4.4.3
  pinia - Not installed
  vuex - Not installed
  vite - 5.4.2 -- Native-ESM powered web dev build tool
  vite-plugin-checker - Not installed
  eslint - 8.57.0 -- An AST-based pattern checker for JavaScript.
  esbuild - 0.23.1 -- An extremely fast JavaScript and CSS bundler and minifier.
  typescript - 5.5.4 -- TypeScript is a language for application scale JavaScript development
  workbox-build - 7.1.1 -- A module that integrates into your build process, helping you generate a manifest of local files that workbox-sw should precache.
  register-service-worker - 1.7.2 -- Script for registering service worker, with hooks
  electron - Not installed
  @electron/packager - Not installed
  electron-builder - Not installed
  @capacitor/core - Not installed
  @capacitor/cli - Not installed
  @capacitor/android - Not installed
  @capacitor/ios - Not installed

Quasar App Extensions
  *None installed*

Networking
  Host - MACBOOK-440-PRO
  eth0 - 192.168.0.110

Relevant log output

No response

Additional context

No response

rstoenescu commented 2 months ago

Fix will be available in q/app-vite v2-beta.20 & q/app-webpack v4-beta.21