{"record":{"id":"a5532cf1bcf07cb4","repo":"quasarframework/quasar","slug":"cordova-support-detected-already-aborting","errorCode":null,"errorMessage":"Cordova support detected already. Aborting.","messagePattern":"Cordova support detected already\\. Aborting\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"app-vite/lib/modes/cordova/cordova-installation.js","lineNumber":43,"sourceCode":"    pkg: { appPkg }\n  } = ctx\n\n  if (isModeInstalled(appPaths, 'cordova')) {\n    ensureWWW({ appPaths, forced: true })\n\n    if (!fse.existsSync(appPaths.resolve.cordova('package.json'))) {\n      warn(\n        '/src-cordova/package.json not found. Your setup seems broken. Please remove Cordova support and add it again.'\n      )\n      warn()\n      process.exit(1)\n    }\n\n    if (target) {\n      await ensureModeDeps('cordova', ctx)\n      await addPlatform(appPaths, target)\n    } else if (silent !== true) {\n      warn('Cordova support detected already. Aborting.')\n    }\n\n    return\n  }\n\n  const appName = appPkg.productName || appPkg.name || 'Quasar App'\n\n  if (/^[0-9]/.test(appName)) {\n    warn(\n      'App product name cannot start with a number. ' +\n        'Please change the \"productName\" prop in your /package.json then try again.'\n    )\n    return\n  }\n\n  const promptSession = await createPromptSession('Installing Cordova Mode...')\n\n  const answer = {","sourceCodeStart":25,"sourceCodeEnd":61,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/app-vite/lib/modes/cordova/cordova-installation.js#L25-L61","documentation":"`quasar mode add cordova` detects that Cordova support is already present in the project. It skips re-scaffolding and, unless running silently, prints this warning; if a target was supplied it will still ensure deps and add that platform.","triggerScenarios":"addMode in cordova-installation.js called when isModeInstalled(appPaths,'cordova') is true and target is falsy and silent!==true — e.g. plain `quasar mode add cordova` on a project with an existing src-cordova setup.","commonSituations":"Scripted setup run twice; teammate already added Cordova; following an old tutorial step out of order.","solutions":["Skip the add step — Cordova is already available; use quasar dev -m cordova or quasar build -m cordova -T android.","To add a specific platform to the existing setup, run quasar mode add cordova with a target (e.g. -T ios) or `cd src-cordova && cordova platform add ios`.","For a clean slate, remove support first (quasar mode remove cordova / delete src-cordova) and re-add."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"const fs = require('fs');\nconst alreadyInstalled = fs.existsSync('src-cordova');\nif (!alreadyInstalled) require('child_process').execSync('quasar mode add cordova', { stdio: 'inherit' });","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Guard provisioning scripts with an existence check on src-cordova before adding the mode.","Track the mode setup in your project README so teammates don't re-run add commands.","Use `quasar mode list` to see installed modes first."],"tags":["cordova","mode","already-installed"],"backgroundTag":"mode-already-installed","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}