{"record":{"id":"f827a25f30c12c0c","repo":"quasarframework/quasar","slug":"ignored-route-csr-fullpath","errorCode":null,"errorMessage":"Ignored route (CSR): ${fullPath}","messagePattern":"Ignored route \\(CSR\\): (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"info","filePath":"app-vite/lib/modes/ssg/ssg-builder.js","lineNumber":141,"sourceCode":"          )\n        }\n\n        if (route.children) {\n          parseVueRouterRoutes({\n            routes: route.children,\n            parentPath: fullPath,\n            opts\n          })\n        }\n\n        continue\n      }\n\n      if (isCSRMatch?.(fullPath)) {\n        opts.acc.ignoredCsrSsgPages.push(ssgPage)\n\n        if (opts.verbose) {\n          warn(`Ignored route (CSR): ${fullPath}`, 'parseVueRouterRoutes()')\n        }\n\n        if (route.children) {\n          parseVueRouterRoutes({\n            routes: route.children,\n            parentPath: fullPath,\n            opts\n          })\n        }\n\n        continue\n      }\n\n      if (routePath.includes(':')) {\n        const dynamicMap = opts.routesDynamicParamsMap[fullPath]\n        if (dynamicMap === void 0) {\n          opts.acc.ignoredDynamicParamSsgPages.push(ssgPage)\n","sourceCodeStart":123,"sourceCodeEnd":159,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/app-vite/lib/modes/ssg/ssg-builder.js#L123-L159","documentation":"Verbose-only log from parseVueRouterRoutes when a route's fullPath is matched by isCSRMatch — the route is marked as client-side-rendering only and pushed to acc.ignoredCsrSsgPages, so it is skipped during prerendering. Informational, emitted only with opts.verbose.","triggerScenarios":"SSG build with verbose logging when a route is declared CSR-only — e.g. routes wrapped in a CSR guard/matcher (routes marked to skip SSR) whose fullPath satisfies isCSRMatch(fullPath).","commonSituations":"Routes deliberately configured to render client-side only (meta or config marking them CSR); debugging why a route is missing from the prerendered output because it was unintentionally flagged CSR.","solutions":["If intentional, nothing to do — this log confirms the route was skipped by design.","If the page should be prerendered, remove whatever marks the route as CSR (meta flag or route filter) in your router config.","Verify your route definitions don't accidentally inherit the CSR flag from a parent route."],"exampleFix":"// before\n{ path: '/about', meta: { csr: true }, component: About }\n// after\n{ path: '/about', component: About }","handlingStrategy":"validation","validationCode":"// Audit routes before build for CSR-only flags\nconst csrRoutes = routes.filter((r) => r.meta?.csr === true).map((r) => r.path)\nconsole.log('CSR-only routes:', csrRoutes)","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Only mark routes as CSR deliberately; document why.","Check parent-route flags that propagate CSR status to children.","Use verbose SSG builds to confirm expected prerender coverage."],"tags":["ssg","routing","verbose","csr"],"backgroundTag":"ssg-route-excluded","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}