Subscribe on changes!

HTMLElement is not defined in v3.2 (knightly)

avatar
Jul 16th 2021

Version

3.2.0 knightly build (3.1.4-knightly-3-2.202107160112)

Reproduction link

https://github.com/cexbrayat/vue-v313/pull/2

Steps to reproduce

In a classic CLI project, use the knightly build of the v3.2 branch

  "resolutions": {
    "vue": "npm:@knightly/vue@3-2",
    "@vue/runtime-dom": "npm:@knightly/vue__runtime-dom@3-2",
    "@vue/compiler-sfc": "npm:@knightly/vue__compiler-sfc@3-2"
  }

Then serve the project:

yarn serve

What is expected?

It should start without errors

What is actually happening?

It throws:

ReferenceError: HTMLElement is not defined
ReferenceError: HTMLElement is not defined
    at Object.<anonymous> (/Users/ced-pro/Code/test/vue-cli-tests/vue-v313/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:481:26)

This comes from:

class VueElement extends HTMLElement {

introduced in ee2882e31554cacb8909da32bfce6f2d47965917 for defineCustmElement

avatar
Jul 16th 2021

Yeah it seems we need to lazy define the VueElement class for SSR env. But I'm curious why the cjs build of @vue/runtime-dom is loaded here...