Upgrading happy-dom 2 to 3
Breaking2.55.0 → 3.2.2Breaking2New4Fixed3Other1
BreakingUpgrade verdict
2 breaking changes.
In plain terms
- You no longer have to execute VM.createContext(window) as the default Window class is already a VM context.
- Changes target language from ES5 to ES2020 (CommonJS will still be used as module system).
Must act 2 items need code or config changes
What you must change
Breaking2
You no longer have to execute VM.createContext(window) as the default Window class is already a VM context.
VM.createContext(window)Changes target language from ES5 to ES2020 (CommonJS will still be used as module system).
API changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- added:
method Event.composedPath(): IEventTarget[]
- changed:
property IUIEventInit.view?: Window → property IUIEventInit.view?: IWindow
- changed:
readonly property UIEvent.view: Window → readonly property UIEvent.view: IWindow
- removed:
export { AsyncWindow } - added:
export { GlobalWindow }
- changed:
get Document.defaultView(): Window → get Document.defaultView(): IWindow - changed:
set Document.defaultView(defaultView: Window) → set Document.defaultView(defaultView: IWindow)
- changed:
readonly property IDocument.defaultView: Window → readonly property IDocument.defaultView: IWindow
- removed:
constructor AsyncWindow() - removed:
default class AsyncWindow extends Window
- added:
default class GlobalWindow extends Window - added:
method GlobalWindow.eval(code: string): unknown - added:
property GlobalWindow.AbortController: { new (): AbortController; prototype: AbortController } - added:
property GlobalWindow.AbortSignal: { new (): AbortSignal; prototype: AbortSignal } - added:
property GlobalWindow.Array: ArrayConstructor - added:
property GlobalWindow.ArrayBuffer: ArrayBufferConstructor - added:
property GlobalWindow.Boolean: BooleanConstructor - added:
property GlobalWindow.Buffer: typeof Buffer - added:
property GlobalWindow.DataView: DataViewConstructor - added:
property GlobalWindow.Date: DateConstructor - added:
property GlobalWindow.Error: ErrorConstructor - added:
property GlobalWindow.EvalError: EvalErrorConstructor - added:
property GlobalWindow.Float32Array: Float32ArrayConstructor - added:
property GlobalWindow.Float64Array: Float64ArrayConstructor - added:
property GlobalWindow.Function: FunctionConstructor - added:
property GlobalWindow.GLOBAL: any - added:
property GlobalWindow.Infinity: number - added:
property GlobalWindow.Int16Array: Int16ArrayConstructor - added:
property GlobalWindow.Int32Array: Int32ArrayConstructor - added:
property GlobalWindow.Int8Array: Int8ArrayConstructor - added:
property GlobalWindow.Intl: typeof Intl - added:
property GlobalWindow.JSON: JSON - added:
property GlobalWindow.Map: MapConstructor - added:
property GlobalWindow.Math: Math - added:
property GlobalWindow.NaN: number - added:
property GlobalWindow.Number: NumberConstructor - added:
property GlobalWindow.Object: ObjectConstructor - added:
property GlobalWindow.Promise: PromiseConstructor - added:
property GlobalWindow.RangeError: RangeErrorConstructor - added:
property GlobalWindow.ReferenceError: ReferenceErrorConstructor - added:
property GlobalWindow.Reflect: ArrayBufferConstructor - added:
property GlobalWindow.RegExp: RegExpConstructor - added:
property GlobalWindow.Set: SetConstructor - added:
property GlobalWindow.String: StringConstructor - added:
property GlobalWindow.Symbol: SymbolConstructor - added:
property GlobalWindow.SyntaxError: SyntaxErrorConstructor - added:
property GlobalWindow.TypeError: TypeErrorConstructor - added:
property GlobalWindow.URIError: URIErrorConstructor - added:
property GlobalWindow.Uint16Array: Uint16ArrayConstructor - added:
property GlobalWindow.Uint32Array: Uint32ArrayConstructor - added:
property GlobalWindow.Uint8Array: Uint8ArrayConstructor - added:
property GlobalWindow.Uint8ClampedArray: Uint8ClampedArrayConstructor - added:
property GlobalWindow.WeakMap: WeakMapConstructor - added:
property GlobalWindow.WeakSet: WeakSetConstructor - added:
property GlobalWindow.clearImmediate: typeof clearImmediate - added:
property GlobalWindow.decodeURI: typeof decodeURI - added:
property GlobalWindow.decodeURIComponent: typeof decodeURIComponent - added:
property GlobalWindow.encodeURI: typeof encodeURI - added:
property GlobalWindow.encodeURIComponent: typeof encodeURIComponent - added:
property GlobalWindow.escape: typeof escape - added:
property GlobalWindow.gc: any - added:
property GlobalWindow.global: NodeJS.Global & typeof globalThis - added:
property GlobalWindow.isFinite: typeof isFinite - added:
property GlobalWindow.isNaN: typeof isNaN - added:
property GlobalWindow.parseFloat: typeof parseFloat - added:
property GlobalWindow.parseInt: typeof parseInt - added:
property GlobalWindow.process: NodeJS.Process - added:
property GlobalWindow.queueMicrotask: typeof queueMicrotask - added:
property GlobalWindow.root: ArrayBufferConstructor - added:
property GlobalWindow.setImmediate: typeof setImmediate - added:
property GlobalWindow.undefined: ArrayBufferConstructor - added:
property GlobalWindow.unescape: typeof unescape - added:
property GlobalWindow.v8debug: any - added:
protected method GlobalWindow._setupVMContext(): void
- changed:
default interface IWindow extends IEventTarget → default interface IWindow extends IEventTarget, NodeJS.Global - changed:
method IWindow.getComputedStyle(element: HTMLElement): CSSStyleDeclaration → method IWindow.getComputedStyle(element: IHTMLElement): CSSStyleDeclaration - added:
method IWindow.getSelection(): Selection - added:
method IWindow.matchMedia(mediaQueryString: string): MediaQueryList - added:
readonly property IWindow.performance: Performance
- added:
const _default: '\nthis.ArrayBuffer = globalThis.ArrayBuffer;\nthis.Boolean = globalThis.Boolean;\nthis.DataView = globalThis.DataView;\nthis.Date = globalThis.Date;\nthis.Err… - added:
default _default
- removed:
get Window.Array(): typeof globalThis.Array - removed:
get Window.Function(): typeof globalThis.Function - removed:
get Window.Headers(): { new (init?: IHeadersInit): IHeaders } - removed:
get Window.Object(): typeof globalThis.Object - removed:
get Window.Request(): { new (input: string | { href: string } | IRequest, init?: IRequestInit): IRequest } - removed:
get Window.Response(): { new (body?: NodeJS.ReadableStream | null, init?: IResponseInit): IResponse } - changed:
default class Window extends EventTarget implements IWindow, NodeJS.Global → default class Window extends EventTarget implements IWindow - changed:
property Window.AbortController: { new (): AbortController; prototype: AbortController } → property Window.AbortController: any - changed:
property Window.AbortSignal: { new (): AbortSignal; prototype: AbortSignal } → property Window.AbortSignal: any - changed:
property Window.ArrayBuffer: ArrayBufferConstructor → property Window.ArrayBuffer: any - changed:
property Window.Boolean: BooleanConstructor → property Window.Boolean: any - changed:
property Window.Buffer: any → property Window.Buffer: typeof globalThis.Buffer - changed:
property Window.DataView: DataViewConstructor → property Window.DataView: any - changed:
property Window.Date: DateConstructor → property Window.Date: any - changed:
property Window.Error: ErrorConstructor → property Window.Error: any - changed:
property Window.EvalError: EvalErrorConstructor → property Window.EvalError: any - changed:
property Window.Float32Array: Float32ArrayConstructor → property Window.Float32Array: any - changed:
property Window.Float64Array: Float64ArrayConstructor → property Window.Float64Array: any - changed:
property Window.Infinity: number → property Window.Infinity: any - changed:
property Window.Int16Array: Int16ArrayConstructor → property Window.Int16Array: any - changed:
property Window.Int32Array: Int32ArrayConstructor → property Window.Int32Array: any - changed:
property Window.Int8Array: Int8ArrayConstructor → property Window.Int8Array: any - changed:
property Window.Intl: typeof Intl → property Window.Intl: any - changed:
property Window.JSON: JSON → property Window.JSON: any - changed:
property Window.Map: MapConstructor → property Window.Map: any - changed:
property Window.Math: Math → property Window.Math: any - changed:
property Window.NaN: number → property Window.NaN: any - changed:
property Window.Number: NumberConstructor → property Window.Number: any - changed:
property Window.Promise: PromiseConstructor → property Window.Promise: any - changed:
property Window.RangeError: RangeErrorConstructor → property Window.RangeError: any - changed:
property Window.ReferenceError: ReferenceErrorConstructor → property Window.ReferenceError: any - changed:
property Window.Reflect: typeof Reflect → property Window.Reflect: any - changed:
property Window.RegExp: RegExpConstructor → property Window.RegExp: any - changed:
property Window.Set: SetConstructor → property Window.Set: any - changed:
property Window.String: StringConstructor → property Window.String: any - changed:
property Window.Symbol: Function & SymbolConstructor → property Window.Symbol: any - changed:
property Window.SyntaxError: SyntaxErrorConstructor → property Window.SyntaxError: any - changed:
property Window.TypeError: TypeErrorConstructor → property Window.TypeError: any - changed:
property Window.URIError: URIErrorConstructor → property Window.URIError: any - changed:
property Window.Uint16Array: Uint16ArrayConstructor → property Window.Uint16Array: any - changed:
property Window.Uint32Array: Uint32ArrayConstructor → property Window.Uint32Array: any - changed:
property Window.Uint8Array: Uint8ArrayConstructor → property Window.Uint8Array: any - changed:
property Window.Uint8ClampedArray: Uint8ClampedArrayConstructor → property Window.Uint8ClampedArray: any - changed:
property Window.WeakMap: WeakMapConstructor → property Window.WeakMap: any - changed:
property Window.WeakSet: WeakSetConstructor → property Window.WeakSet: any - changed:
property Window.decodeURI: typeof decodeURI → property Window.decodeURI: any - changed:
property Window.decodeURIComponent: typeof decodeURIComponent → property Window.decodeURIComponent: any - changed:
property Window.encodeURI: typeof encodeURI → property Window.encodeURI: any - changed:
property Window.encodeURIComponent: typeof encodeURIComponent → property Window.encodeURIComponent: any - changed:
property Window.escape: ((str: string) => string) & typeof escape → property Window.escape: any - changed:
property Window.isFinite: typeof isFinite → property Window.isFinite: any - changed:
property Window.isNaN: typeof isNaN → property Window.isNaN: any - changed:
property Window.parseFloat: typeof parseFloat → property Window.parseFloat: any - changed:
property Window.parseInt: typeof parseInt → property Window.parseInt: any - changed:
property Window.queueMicrotask: typeof queueMicrotask → property Window.queueMicrotask: any - changed:
property Window.unescape: ((str: string) => string) & typeof unescape → property Window.unescape: any - added:
method Window.getSelection(): Selection - added:
property Window.Array: any - added:
property Window.Function: any - added:
property Window.Object: any - added:
protected method Window._setupVMContext(): void - added:
readonly property Window.Headers: { new (init?: IHeadersInit): IHeaders } - added:
readonly property Window.Request: { new (input: string | { href: string } | IRequest, init?: IRequestInit): IRequest } - added:
readonly property Window.Response: { new (body?: NodeJS.ReadableStream | null, init?: IResponseInit): IResponse }