Skip to content

Upgrading happy-dom 2 to 3

Breaking2.55.0 → 3.2.2Breaking2New4Fixed3Other1

BreakingUpgrade verdict

2 breaking changes.

  • 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).
2 items need code or config changes
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).

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 }