{"record":{"id":"c71047cf002cba3a","repo":"Meituan-Dianping/mpvue","slug":"mal-formatted-tag-at-end-of-template-html","errorCode":null,"errorMessage":"Mal-formatted tag at end of template: \"${html}\"","messagePattern":"Mal-formatted tag at end of template: \"(.+?)\"","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/compiler/parser/html-parser.js","lineNumber":188,"sourceCode":"            .replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g, '$1')\n        }\n        if (shouldIgnoreFirstNewline(stackedTag, text)) {\n          text = text.slice(1)\n        }\n        if (options.chars) {\n          options.chars(text)\n        }\n        return ''\n      })\n      index += html.length - rest.length\n      html = rest\n      parseEndTag(stackedTag, index - endTagLength, index)\n    }\n\n    if (html === last) {\n      options.chars && options.chars(html)\n      if (process.env.NODE_ENV !== 'production' && !stack.length && options.warn) {\n        options.warn(`Mal-formatted tag at end of template: \"${html}\"`)\n      }\n      break\n    }\n  }\n\n  // Clean up any remaining tags\n  parseEndTag()\n\n  function advance (n) {\n    index += n\n    html = html.substring(n)\n  }\n\n  function parseStartTag () {\n    const start = html.match(startTagOpen)\n    if (start) {\n      const match = {\n        tagName: start[1],","sourceCodeStart":170,"sourceCodeEnd":206,"githubUrl":"https://github.com/Meituan-Dianping/mpvue/blob/6c5d78ee04f58c6d782c456dfcf0fe63c0b7f89b/src/compiler/parser/html-parser.js#L170-L206","documentation":"Dev-only warning from parseHTML when the parser reaches the end of the template with residual unconsumed html text and an empty tag stack — i.e. trailing content that is neither text nor a well-formed tag, usually a stray '<', malformed closing markup, or an unclosed construct that consumed the rest of the input.","triggerScenarios":"Thrown at src/compiler/parser/html-parser.js:188 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the trailing fragment printed in the message and fix the malformed markup","Escape stray '<' characters as &lt; if literal text was intended","Check for unclosed comments or attribute quotes swallowing the rest of the template"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"6c5d78ee04f58c6d782c456dfcf0fe63c0b7f89b","analyzedAt":"2026-09-02T05:17:40.946Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T11:17:12.671Z"}