From: Evan You Date: Fri, 16 Jul 2021 14:40:06 +0000 (-0400) Subject: fix: ensure customElements API ssr compatibility X-Git-Tag: v3.2.0-beta.1~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de32cfa43e94276c60f93ac4c560cb7b84534cfe;p=thirdparty%2Fvuejs%2Fcore.git fix: ensure customElements API ssr compatibility fix #4129 --- diff --git a/packages/runtime-dom/src/apiCustomElement.ts b/packages/runtime-dom/src/apiCustomElement.ts index dc1f8ed781..25b4622017 100644 --- a/packages/runtime-dom/src/apiCustomElement.ts +++ b/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 */ diff --git a/packages/server-renderer/__tests__/render.spec.ts b/packages/server-renderer/__tests__/render.spec.ts index b3bb498054..1a40c598cc 100644 --- a/packages/server-renderer/__tests__/render.spec.ts +++ b/packages/server-renderer/__tests__/render.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment node + */ + import { createApp, h, diff --git a/packages/server-renderer/__tests__/ssrAttrFallthrough.spec.ts b/packages/server-renderer/__tests__/ssrAttrFallthrough.spec.ts index fb974f9792..3cc2efc31e 100644 --- a/packages/server-renderer/__tests__/ssrAttrFallthrough.spec.ts +++ b/packages/server-renderer/__tests__/ssrAttrFallthrough.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment node + */ + import { createApp } from 'vue' import { renderToString } from '../src/renderToString' diff --git a/packages/server-renderer/__tests__/ssrDirectives.spec.ts b/packages/server-renderer/__tests__/ssrDirectives.spec.ts index a3ba59c957..788ba09250 100644 --- a/packages/server-renderer/__tests__/ssrDirectives.spec.ts +++ b/packages/server-renderer/__tests__/ssrDirectives.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment node + */ + import { renderToString } from '../src/renderToString' import { createApp, diff --git a/packages/server-renderer/__tests__/ssrDynamicComponent.spec.ts b/packages/server-renderer/__tests__/ssrDynamicComponent.spec.ts index dff16c781b..751c229a8b 100644 --- a/packages/server-renderer/__tests__/ssrDynamicComponent.spec.ts +++ b/packages/server-renderer/__tests__/ssrDynamicComponent.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment node + */ + import { createApp, createVNode } from 'vue' import { renderToString } from '../src/renderToString' diff --git a/packages/server-renderer/__tests__/ssrInterpolate.spec.ts b/packages/server-renderer/__tests__/ssrInterpolate.spec.ts index fc9a4a3b40..d024555825 100644 --- a/packages/server-renderer/__tests__/ssrInterpolate.spec.ts +++ b/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' diff --git a/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts b/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts index bf5c2b53e8..270c910d5a 100644 --- a/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts +++ b/packages/server-renderer/__tests__/ssrRenderAttrs.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment node + */ + import { ssrRenderAttrs, ssrRenderClass, diff --git a/packages/server-renderer/__tests__/ssrRenderList.spec.ts b/packages/server-renderer/__tests__/ssrRenderList.spec.ts index 59b5d2ddf2..744d87886e 100644 --- a/packages/server-renderer/__tests__/ssrRenderList.spec.ts +++ b/packages/server-renderer/__tests__/ssrRenderList.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment node + */ + import { ssrRenderList } from '../src/helpers/ssrRenderList' describe('ssr: renderList', () => { diff --git a/packages/server-renderer/__tests__/ssrScopeId.spec.ts b/packages/server-renderer/__tests__/ssrScopeId.spec.ts index 3091153e1e..e49c4d3b78 100644 --- a/packages/server-renderer/__tests__/ssrScopeId.spec.ts +++ b/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' diff --git a/packages/server-renderer/__tests__/ssrSuspense.spec.ts b/packages/server-renderer/__tests__/ssrSuspense.spec.ts index 4da4ce4b97..dec810221e 100644 --- a/packages/server-renderer/__tests__/ssrSuspense.spec.ts +++ b/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' diff --git a/packages/server-renderer/__tests__/ssrTeleport.spec.ts b/packages/server-renderer/__tests__/ssrTeleport.spec.ts index 1dd4aa65a6..fda9591861 100644 --- a/packages/server-renderer/__tests__/ssrTeleport.spec.ts +++ b/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' diff --git a/packages/server-renderer/__tests__/ssrVModelHelpers.spec.ts b/packages/server-renderer/__tests__/ssrVModelHelpers.spec.ts index d003c54064..4958612a4c 100644 --- a/packages/server-renderer/__tests__/ssrVModelHelpers.spec.ts +++ b/packages/server-renderer/__tests__/ssrVModelHelpers.spec.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment node + */ + import { ssrRenderDynamicModel, ssrGetDynamicModelProps