quasarframework/quasar · warning

PWA support detected already. Aborting.

Error message

PWA support detected already. Aborting.

What it means

Warning emitted by `quasar mode add pwa` when PWA support is already installed. addMode detects the existing mode via isModeInstalled(appPaths, 'pwa'), optionally refreshes its dependencies, warns, and returns without re-scaffolding. It is a controlled abort, not a failure.

Source

Thrown at app-vite/lib/modes/pwa/pwa-installation.js:25

  ensureModePackageJsonAndWorkspace,
  isModeInstalled
} from '../modes-utils.js'

/**
 * @param {{
 *   ctx: import('../../../types/configuration/context').InternalQuasarContext,
 *   silent: boolean
 * }} options
 */
export async function addMode({ ctx, silent }) {
  const { appPaths, cacheProxy } = ctx

  if (isModeInstalled(appPaths, 'pwa')) {
    const forceInstall = await ensureModePackageJsonAndWorkspace('pwa', ctx)
    await ensureModeDeps('pwa', ctx, forceInstall)

    if (silent !== true) {
      warn('PWA support detected already. Aborting.')
    }

    return
  }

  const promptSession = await createPromptSession('Installing PWA Mode...')

  const copyTask = promptSession.taskLog({ title: 'Creating /src-pwa...' })

  await copyModeWorkspace('pwa', ctx)
  fse.copySync(appPaths.resolve.cli(`templates/pwa/common`), appPaths.pwaDir)
  fse.copySync(
    appPaths.resolve.cli('templates/pwa/icons'),
    appPaths.resolve.app('public/icons'),
    {
      overwrite: false
    }
  )

View on GitHub (pinned to 4841521b5f)

Solutions

  1. No fix needed — proceed with `quasar dev -m pwa` or `quasar build -m pwa`.
  2. If src-pwa deps are stale, force a dependency refresh (delete the service-work related deps or use the force flag) so ensureModeDeps reinstalls them.
  3. If src-pwa is corrupted, remove it and run `quasar mode add pwa` again.
Defensive patterns

Strategy: validation

Validate before calling

import { existsSync } from 'node:fs'
import { join } from 'node:path'
if (!existsSync(join(process.cwd(), 'src-pwa'))) {
  await execa('quasar', ['mode', 'add', 'pwa'])
}
await execa('quasar', ['build', '-m', 'pwa'])

Prevention

When it happens

Trigger: Running `quasar mode add pwa` when the project already contains src-pwa. Also fires when dev/build commands with the PWA mode internally call addMode on an already-configured project and silent is not true.

Common situations: Re-running the add command after a previous install; CI or documentation-following scripts that run `quasar mode add pwa` unconditionally; running `quasar dev -m pwa` on a project already set up for PWA.

Related errors


AI-assisted analysis of quasarframework/quasar@4841521b5f (2026-08-30). Data as JSON: /api/errors/43e1c0016f79ee72. Report an issue: GitHub.