astro/packages/webapi/src/exclusions.ts
Erika c55fbcb8ed
Remove more unnecessary polyfills from webapi for Node 16 (#5814)
* feat(webapi): Remove unnecessary polyfills now that we dropped support for Node 14

* feat(webapi): Removed more unnecessary polyfills for Node 16

* chore: changeset
2023-01-10 15:29:06 +01:00

57 lines
1.2 KiB
TypeScript

const exclusionsForHTMLElement = [
'CustomElementsRegistry',
'HTMLElement',
'HTMLBodyElement',
'HTMLCanvasElement',
'HTMLDivElement',
'HTMLHeadElement',
'HTMLHtmlElement',
'HTMLImageElement',
'HTMLStyleElement',
'HTMLTemplateElement',
'HTMLUnknownElement',
'Image',
]
const exclusionsForElement = ['Element', ...exclusionsForHTMLElement] as const
const exclusionsForDocument = [
'CustomElementsRegistry',
'Document',
'HTMLDocument',
'document',
'customElements',
] as const
const exclusionsForNode = [
'Node',
'DocumentFragment',
'ShadowRoot',
...exclusionsForDocument,
...exclusionsForElement,
] as const
const exclusionsForEventTarget = [
'Event',
'CustomEvent',
'EventTarget',
'OffscreenCanvas',
'MediaQueryList',
'Window',
...exclusionsForNode,
] as const
const exclusionsForEvent = [
'Event',
'CustomEvent',
'EventTarget',
'MediaQueryList',
'OffscreenCanvas',
'Window',
...exclusionsForNode,
] as const
export const exclusions = {
'Document+': exclusionsForDocument,
'Element+': exclusionsForElement,
'Event+': exclusionsForEvent,
'EventTarget+': exclusionsForEventTarget,
'HTMLElement+': exclusionsForHTMLElement,
'Node+': exclusionsForNode,
'StyleSheet+': ['StyleSheet', 'CSSStyleSheet'],
}