Quellcode durchsuchen

fix: ensure customElements API ssr compatibility

fix #4129
Evan You vor 4 Jahren
Ursprung
Commit
de32cfa43e

+ 5 - 1
packages/runtime-dom/src/apiCustomElement.ts

@@ -157,7 +157,11 @@ export const defineSSRCustomElement = ((options: any) => {
   return defineCustomElement(options, hydrate)
 }) as typeof defineCustomElement
 
-export class VueElement extends HTMLElement {
+const BaseClass = (typeof HTMLElement !== 'undefined'
+  ? HTMLElement
+  : class {}) as typeof HTMLElement
+
+export class VueElement extends BaseClass {
   /**
    * @internal
    */

+ 4 - 0
packages/server-renderer/__tests__/render.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import {
   createApp,
   h,

+ 4 - 0
packages/server-renderer/__tests__/ssrAttrFallthrough.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { createApp } from 'vue'
 import { renderToString } from '../src/renderToString'
 

+ 4 - 0
packages/server-renderer/__tests__/ssrDirectives.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { renderToString } from '../src/renderToString'
 import {
   createApp,

+ 4 - 0
packages/server-renderer/__tests__/ssrDynamicComponent.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { createApp, createVNode } from 'vue'
 import { renderToString } from '../src/renderToString'
 

+ 4 - 0
packages/server-renderer/__tests__/ssrInterpolate.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { ssrInterpolate } from '../src/helpers/ssrInterpolate'
 import { escapeHtml } from '@vue/shared'
 

+ 4 - 0
packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import {
   ssrRenderAttrs,
   ssrRenderClass,

+ 4 - 0
packages/server-renderer/__tests__/ssrRenderList.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { ssrRenderList } from '../src/helpers/ssrRenderList'
 
 describe('ssr: renderList', () => {

+ 4 - 0
packages/server-renderer/__tests__/ssrScopeId.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { createApp, h, mergeProps, withCtx } from 'vue'
 import { renderToString } from '../src/renderToString'
 import { ssrRenderComponent, ssrRenderAttrs, ssrRenderSlot } from '../src'

+ 4 - 0
packages/server-renderer/__tests__/ssrSuspense.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { createApp, h, Suspense } from 'vue'
 import { renderToString } from '../src/renderToString'
 

+ 4 - 0
packages/server-renderer/__tests__/ssrTeleport.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import { createApp, h, Teleport } from 'vue'
 import { renderToString } from '../src/renderToString'
 import { SSRContext } from '../src/render'

+ 4 - 0
packages/server-renderer/__tests__/ssrVModelHelpers.spec.ts

@@ -1,3 +1,7 @@
+/**
+ * @jest-environment node
+ */
+
 import {
   ssrRenderDynamicModel,
   ssrGetDynamicModelProps