{"record":{"id":"e069a778561f7fa5","repo":"quasarframework/quasar","slug":"please-add-entrypointmarkup-to-index-html-insi","errorCode":null,"errorMessage":"Please add ${entryPointMarkup} to /index.html inside of <body>","messagePattern":"Please add (.+?) to /index\\.html inside of <body>","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"app-vite/lib/utils/app-files-validations.js","lineNumber":25,"sourceCode":"  let valid = true\n\n  const file = appPaths.resolve.app('index.html')\n\n  if (!fs.existsSync(file)) {\n    warn('The file /index.html is missing. Please add it back.\\n')\n    return false\n  }\n\n  const content = fs.readFileSync(file, 'utf8')\n\n  if (content.includes(attachMarkup)) {\n    warn(`Please remove ${attachMarkup} from\n    /index.html inside of <body>\\n`)\n    valid = false\n  }\n\n  if (!content.includes(entryPointMarkup)) {\n    warn(`Please add ${entryPointMarkup} to\n    /index.html inside of <body>\\n`)\n    valid = false\n  }\n\n  return valid\n}\n","sourceCodeStart":7,"sourceCodeEnd":32,"githubUrl":"https://github.com/quasarframework/quasar/blob/4841521b5f635a971eb9e2710e5542efd194691b/app-vite/lib/utils/app-files-validations.js#L7-L32","documentation":"appFilesValidations requires the marker comment '<!-- quasar:entry-point -->' inside <body> of /index.html. Quasar replaces it at build time with the app mount markup and the entry script tag; without it the app cannot be bootstrapped, so the validation warns and marks the project invalid.","triggerScenarios":"Running quasar dev/build with a root index.html lacking <!-- quasar:entry-point --> inside <body> (removed during editing or a hand-written template); called from #computeConfig via appFilesValidations.","commonSituations":"Cleaning up 'unused-looking' comments in the HTML template, creating a custom index.html from scratch, or copying an HTML file from a non-Quasar Vite project.","solutions":["Add <!-- quasar:entry-point --> inside the <body> of index.html.","If you also deleted <div id=\"q-app\"></div>, that's fine — just keep the entry-point comment as the sole injection point."],"exampleFix":"<!-- before -->\n<body>\n  <div id=\"app\"></div>\n</body>\n<!-- after -->\n<body>\n  <!-- quasar:entry-point -->\n</body>","handlingStrategy":"validation","validationCode":"import { readFileSync } from 'node:fs'\nif (!readFileSync('index.html', 'utf8').includes('<!-- quasar:entry-point -->')) {\n  throw new Error('index.html must contain <!-- quasar:entry-point --> inside <body>')\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Never delete the <!-- quasar:entry-point --> comment when editing the template.","Add an editor file-watcher/snippet that flags its removal.","When writing custom index.html, start from the official Quasar template."],"tags":["index-html","entry-point","validation"],"backgroundTag":"missing-entry-point-markup","analyzedSha":"4841521b5f635a971eb9e2710e5542efd194691b","analyzedAt":"2026-08-30T01:13:14.944Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}