{"record":{"id":"ec0e8276cf575168","repo":"quasarframework/quasar","slug":"ssr-support-detected-already-aborting","errorCode":null,"errorMessage":"SSR support detected already. Aborting.","messagePattern":"SSR support detected already\\. Aborting\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"app-vite/lib/modes/ssr/ssr-installation.js","lineNumber":29,"sourceCode":"\n/**\n * @param {{\n *   ctx: import('../../../types/configuration/context').InternalQuasarContext,\n *   silent: boolean,\n *   webserver?: string\n * }} options\n */\nexport async function addMode({ ctx, silent, webserver }) {\n  const { appPaths, cacheProxy } = ctx\n\n  if (isModeInstalled(appPaths, 'ssr')) {\n    const forceInstall = await ensureModePackageJsonAndWorkspace('ssr', ctx, {\n      webserver\n    })\n    await ensureModeDeps('ssr', ctx, forceInstall)\n\n    if (silent !== true) {\n      warn('SSR support detected already. Aborting.')\n    }\n\n    return\n  }\n\n  const promptSession = await createPromptSession('Installing SSR Mode...')\n\n  const answer = {\n    webserver: await resolveSsrWebserver({\n      promptSession,\n      webserver,\n      message: 'What production web server should Quasar use?'\n    })\n  }\n\n  const copyTask = promptSession.taskLog({ title: 'Creating /src-ssr...' })\n\n  await copyModeWorkspace('ssr', ctx)","sourceCodeStart":11,"sourceCodeEnd":47,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/app-vite/lib/modes/ssr/ssr-installation.js#L11-L47","documentation":"This is a warning (not an exception) emitted by `quasar mode add ssr` when the SSR mode is already installed in the project. The command stops early: it only refreshes the mode's package.json/workspace files and dependencies, prints this message (unless silent), and returns without re-creating /src-ssr.","triggerScenarios":"Running `quasar mode add ssr` (or a flow that calls addMode) in a project where /src-ssr already exists (isModeInstalled returns true).","commonSituations":"Re-running the mode-add command after a partial setup; script in CI that always runs `mode add ssr`; developer forgetting SSR mode was already added; converting a SPA project that already has src-ssr.","solutions":["Do nothing — SSR mode is already installed; just run `quasar dev`/`quasar build`.","If you want a fresh /src-ssr, delete the src-ssr folder and re-run `quasar mode add ssr` (or use `quasar mode remove ssr` first).","Suppress the message in scripts with the appropriate silent flag or by checking mode support first (`quasar mode --help` / project inspection)."],"exampleFix":"// before (CI script always installs)\nnpx quasar mode add ssr\n// after\nif [ ! -d src-ssr ]; then npx quasar mode add ssr; fi","handlingStrategy":"validation","validationCode":"// Before running mode add in scripts:\nimport fs from 'node:fs'\nif (!fs.existsSync('src-ssr')) {\n  // run: quasar mode add ssr\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Make install scripts idempotent by checking for src-ssr existence first.","Track src-ssr in git so teammates know SSR mode is present.","Use silent mode flags in CI to keep logs clean."],"tags":["ssr","cli","mode-installation","idempotent"],"backgroundTag":"mode-already-installed","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}