[Bug]: 27.4.0 TypeScript typechecking fails for `@types/jsdom` when run without DOM lib
See original GitHub issueVersion
27.4.0
Steps to reproduce
See repo at https://github.com/ryanvanoss/jest-27.4-types:
git clone git@github.com:ryanvanoss/jest-27.4-types.git
npm i .
# The main branch pins @jest/* and jest* to 27.3.1; typechecking succeeds
npm run types
# This branch uses jest@27.4.0; typechecking fails
git checkout jest-27.4
git clean -dfx
npm i .
npm run types
# This branch uses jest@27.4.0 and adds ["DOM"] to tsconfig.json's lib configuration; typechecking succeeds
git checkout jest-27.4-with-DOM
git clean -dfx
npm i .
npm run types
Expected behavior
Typechecking should succeed
Actual behavior
Typechecking fails due to missing DOM types:
Click to view failiures
node_modules/@types/jsdom/base.d.ts:24:40 - error TS2304: Cannot find name 'DocumentFragment'.
24 static fragment(html: string): DocumentFragment;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:41:28 - error TS2304: Cannot find name 'Node'.
41 nodeLocation(node: Node): ElementLocation | null;
~~~~
node_modules/@types/jsdom/base.d.ts:172:19 - error TS2304: Cannot find name 'HTMLScriptElement'.
172 element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement | undefined;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:172:39 - error TS2304: Cannot find name 'HTMLLinkElement'.
172 element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement | undefined;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:172:57 - error TS2304: Cannot find name 'HTMLIFrameElement'.
172 element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement | undefined;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:172:77 - error TS2304: Cannot find name 'HTMLImageElement'.
172 element?: HTMLScriptElement | HTMLLinkElement | HTMLIFrameElement | HTMLImageElement | undefined;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:181:38 - error TS2304: Cannot find name 'Window'.
181 interface DOMWindow extends Omit<Window, "top" | "self" | "window"> {
~~~~~~
node_modules/@types/jsdom/base.d.ts:185:24 - error TS2304: Cannot find name 'Window'.
185 Window: typeof Window;
~~~~~~
node_modules/@types/jsdom/base.d.ts:250:29 - error TS2304: Cannot find name 'WebAssembly'.
250 WebAssembly: typeof WebAssembly;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:253:30 - error TS2304: Cannot find name 'DOMException'.
253 DOMException: typeof DOMException;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:255:21 - error TS2304: Cannot find name 'URL'.
255 URL: typeof URL;
~~~
node_modules/@types/jsdom/base.d.ts:256:33 - error TS2304: Cannot find name 'URLSearchParams'.
256 URLSearchParams: typeof URLSearchParams;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:258:29 - error TS2304: Cannot find name 'EventTarget'.
258 EventTarget: typeof EventTarget;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:260:30 - error TS2304: Cannot find name 'NamedNodeMap'.
260 NamedNodeMap: typeof NamedNodeMap;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:261:22 - error TS2304: Cannot find name 'Node'.
261 Node: typeof Node;
~~~~
node_modules/@types/jsdom/base.d.ts:262:22 - error TS2304: Cannot find name 'Attr'.
262 Attr: typeof Attr;
~~~~
node_modules/@types/jsdom/base.d.ts:263:25 - error TS2304: Cannot find name 'Element'.
263 Element: typeof Element;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:264:34 - error TS2304: Cannot find name 'DocumentFragment'.
264 DocumentFragment: typeof DocumentFragment;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:265:35 - error TS2304: Cannot find name 'DOMImplementation'.
265 DOMImplementation: typeof DOMImplementation;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:266:26 - error TS2304: Cannot find name 'Document'.
266 Document: typeof Document;
~~~~~~~~
node_modules/@types/jsdom/base.d.ts:267:30 - error TS2304: Cannot find name 'HTMLDocument'.
267 HTMLDocument: typeof HTMLDocument;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:268:29 - error TS2304: Cannot find name 'XMLDocument'.
268 XMLDocument: typeof XMLDocument;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:269:31 - error TS2304: Cannot find name 'CharacterData'.
269 CharacterData: typeof CharacterData;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:270:22 - error TS2304: Cannot find name 'Text'.
270 Text: typeof Text;
~~~~
node_modules/@types/jsdom/base.d.ts:271:30 - error TS2304: Cannot find name 'CDATASection'.
271 CDATASection: typeof CDATASection;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:272:39 - error TS2304: Cannot find name 'ProcessingInstruction'.
272 ProcessingInstruction: typeof ProcessingInstruction;
~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:273:25 - error TS2304: Cannot find name 'Comment'.
273 Comment: typeof Comment;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:274:30 - error TS2304: Cannot find name 'DocumentType'.
274 DocumentType: typeof DocumentType;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:275:26 - error TS2304: Cannot find name 'NodeList'.
275 NodeList: typeof NodeList;
~~~~~~~~
node_modules/@types/jsdom/base.d.ts:276:32 - error TS2304: Cannot find name 'HTMLCollection'.
276 HTMLCollection: typeof HTMLCollection;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:277:39 - error TS2304: Cannot find name 'HTMLOptionsCollection'.
277 HTMLOptionsCollection: typeof HTMLOptionsCollection;
~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:278:30 - error TS2304: Cannot find name 'DOMStringMap'.
278 DOMStringMap: typeof DOMStringMap;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:279:30 - error TS2304: Cannot find name 'DOMTokenList'.
279 DOMTokenList: typeof DOMTokenList;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:281:32 - error TS2304: Cannot find name 'StyleSheetList'.
281 StyleSheetList: typeof StyleSheetList;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:283:29 - error TS2304: Cannot find name 'HTMLElement'.
283 HTMLElement: typeof HTMLElement;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:284:33 - error TS2304: Cannot find name 'HTMLHeadElement'.
284 HTMLHeadElement: typeof HTMLHeadElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:285:34 - error TS2304: Cannot find name 'HTMLTitleElement'.
285 HTMLTitleElement: typeof HTMLTitleElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:286:33 - error TS2304: Cannot find name 'HTMLBaseElement'.
286 HTMLBaseElement: typeof HTMLBaseElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:287:33 - error TS2304: Cannot find name 'HTMLLinkElement'.
287 HTMLLinkElement: typeof HTMLLinkElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:288:33 - error TS2304: Cannot find name 'HTMLMetaElement'.
288 HTMLMetaElement: typeof HTMLMetaElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:289:34 - error TS2304: Cannot find name 'HTMLStyleElement'.
289 HTMLStyleElement: typeof HTMLStyleElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:290:33 - error TS2304: Cannot find name 'HTMLBodyElement'.
290 HTMLBodyElement: typeof HTMLBodyElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:291:36 - error TS2304: Cannot find name 'HTMLHeadingElement'.
291 HTMLHeadingElement: typeof HTMLHeadingElement;
~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:292:38 - error TS2304: Cannot find name 'HTMLParagraphElement'.
292 HTMLParagraphElement: typeof HTMLParagraphElement;
~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:293:31 - error TS2304: Cannot find name 'HTMLHRElement'.
293 HTMLHRElement: typeof HTMLHRElement;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:294:32 - error TS2304: Cannot find name 'HTMLPreElement'.
294 HTMLPreElement: typeof HTMLPreElement;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:295:34 - error TS2304: Cannot find name 'HTMLUListElement'.
295 HTMLUListElement: typeof HTMLUListElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:296:34 - error TS2304: Cannot find name 'HTMLOListElement'.
296 HTMLOListElement: typeof HTMLOListElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:297:31 - error TS2304: Cannot find name 'HTMLLIElement'.
297 HTMLLIElement: typeof HTMLLIElement;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:298:33 - error TS2304: Cannot find name 'HTMLMenuElement'.
298 HTMLMenuElement: typeof HTMLMenuElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:299:34 - error TS2304: Cannot find name 'HTMLDListElement'.
299 HTMLDListElement: typeof HTMLDListElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:300:32 - error TS2304: Cannot find name 'HTMLDivElement'.
300 HTMLDivElement: typeof HTMLDivElement;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:301:35 - error TS2304: Cannot find name 'HTMLAnchorElement'.
301 HTMLAnchorElement: typeof HTMLAnchorElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:302:33 - error TS2304: Cannot find name 'HTMLAreaElement'.
302 HTMLAreaElement: typeof HTMLAreaElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:303:31 - error TS2304: Cannot find name 'HTMLBRElement'.
303 HTMLBRElement: typeof HTMLBRElement;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:304:35 - error TS2304: Cannot find name 'HTMLButtonElement'.
304 HTMLButtonElement: typeof HTMLButtonElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:305:35 - error TS2304: Cannot find name 'HTMLCanvasElement'.
305 HTMLCanvasElement: typeof HTMLCanvasElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:306:33 - error TS2304: Cannot find name 'HTMLDataElement'.
306 HTMLDataElement: typeof HTMLDataElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:307:37 - error TS2304: Cannot find name 'HTMLDataListElement'.
307 HTMLDataListElement: typeof HTMLDataListElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:308:36 - error TS2304: Cannot find name 'HTMLDetailsElement'.
308 HTMLDetailsElement: typeof HTMLDetailsElement;
~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:310:20 - error TS2304: Cannot find name 'HTMLDialogElement'.
310 new(): HTMLDialogElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:311:33 - error TS2304: Cannot find name 'HTMLDialogElement'.
311 readonly prototype: HTMLDialogElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:313:38 - error TS2304: Cannot find name 'HTMLDirectoryElement'.
313 HTMLDirectoryElement: typeof HTMLDirectoryElement;
~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:314:37 - error TS2304: Cannot find name 'HTMLFieldSetElement'.
314 HTMLFieldSetElement: typeof HTMLFieldSetElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:315:33 - error TS2304: Cannot find name 'HTMLFontElement'.
315 HTMLFontElement: typeof HTMLFontElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:316:33 - error TS2304: Cannot find name 'HTMLFormElement'.
316 HTMLFormElement: typeof HTMLFormElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:317:33 - error TS2304: Cannot find name 'HTMLHtmlElement'.
317 HTMLHtmlElement: typeof HTMLHtmlElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:318:34 - error TS2304: Cannot find name 'HTMLImageElement'.
318 HTMLImageElement: typeof HTMLImageElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:319:34 - error TS2304: Cannot find name 'HTMLInputElement'.
319 HTMLInputElement: typeof HTMLInputElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:320:34 - error TS2304: Cannot find name 'HTMLLabelElement'.
320 HTMLLabelElement: typeof HTMLLabelElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:321:35 - error TS2304: Cannot find name 'HTMLLegendElement'.
321 HTMLLegendElement: typeof HTMLLegendElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:322:32 - error TS2304: Cannot find name 'HTMLMapElement'.
322 HTMLMapElement: typeof HTMLMapElement;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:323:36 - error TS2304: Cannot find name 'HTMLMarqueeElement'.
323 HTMLMarqueeElement: typeof HTMLMarqueeElement;
~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:324:34 - error TS2304: Cannot find name 'HTMLMediaElement'.
324 HTMLMediaElement: typeof HTMLMediaElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:325:34 - error TS2304: Cannot find name 'HTMLMeterElement'.
325 HTMLMeterElement: typeof HTMLMeterElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:326:32 - error TS2304: Cannot find name 'HTMLModElement'.
326 HTMLModElement: typeof HTMLModElement;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:327:37 - error TS2304: Cannot find name 'HTMLOptGroupElement'.
327 HTMLOptGroupElement: typeof HTMLOptGroupElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:328:35 - error TS2304: Cannot find name 'HTMLOptionElement'.
328 HTMLOptionElement: typeof HTMLOptionElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:329:35 - error TS2304: Cannot find name 'HTMLOutputElement'.
329 HTMLOutputElement: typeof HTMLOutputElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:330:36 - error TS2304: Cannot find name 'HTMLPictureElement'.
330 HTMLPictureElement: typeof HTMLPictureElement;
~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:331:37 - error TS2304: Cannot find name 'HTMLProgressElement'.
331 HTMLProgressElement: typeof HTMLProgressElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:332:34 - error TS2304: Cannot find name 'HTMLQuoteElement'.
332 HTMLQuoteElement: typeof HTMLQuoteElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:333:35 - error TS2304: Cannot find name 'HTMLScriptElement'.
333 HTMLScriptElement: typeof HTMLScriptElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:334:35 - error TS2304: Cannot find name 'HTMLSelectElement'.
334 HTMLSelectElement: typeof HTMLSelectElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:335:33 - error TS2304: Cannot find name 'HTMLSlotElement'.
335 HTMLSlotElement: typeof HTMLSlotElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:336:35 - error TS2304: Cannot find name 'HTMLSourceElement'.
336 HTMLSourceElement: typeof HTMLSourceElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:337:33 - error TS2304: Cannot find name 'HTMLSpanElement'.
337 HTMLSpanElement: typeof HTMLSpanElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:338:41 - error TS2304: Cannot find name 'HTMLTableCaptionElement'.
338 HTMLTableCaptionElement: typeof HTMLTableCaptionElement;
~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:339:38 - error TS2304: Cannot find name 'HTMLTableCellElement'.
339 HTMLTableCellElement: typeof HTMLTableCellElement;
~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:340:37 - error TS2304: Cannot find name 'HTMLTableColElement'.
340 HTMLTableColElement: typeof HTMLTableColElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:341:34 - error TS2304: Cannot find name 'HTMLTableElement'.
341 HTMLTableElement: typeof HTMLTableElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:342:33 - error TS2304: Cannot find name 'HTMLTimeElement'.
342 HTMLTimeElement: typeof HTMLTimeElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:343:37 - error TS2304: Cannot find name 'HTMLTableRowElement'.
343 HTMLTableRowElement: typeof HTMLTableRowElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:344:41 - error TS2304: Cannot find name 'HTMLTableSectionElement'.
344 HTMLTableSectionElement: typeof HTMLTableSectionElement;
~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:345:37 - error TS2304: Cannot find name 'HTMLTemplateElement'.
345 HTMLTemplateElement: typeof HTMLTemplateElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:346:37 - error TS2304: Cannot find name 'HTMLTextAreaElement'.
346 HTMLTextAreaElement: typeof HTMLTextAreaElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:347:36 - error TS2304: Cannot find name 'HTMLUnknownElement'.
347 HTMLUnknownElement: typeof HTMLUnknownElement;
~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:348:34 - error TS2304: Cannot find name 'HTMLFrameElement'.
348 HTMLFrameElement: typeof HTMLFrameElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:349:37 - error TS2304: Cannot find name 'HTMLFrameSetElement'.
349 HTMLFrameSetElement: typeof HTMLFrameSetElement;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:350:35 - error TS2304: Cannot find name 'HTMLIFrameElement'.
350 HTMLIFrameElement: typeof HTMLIFrameElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:351:34 - error TS2304: Cannot find name 'HTMLEmbedElement'.
351 HTMLEmbedElement: typeof HTMLEmbedElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:352:35 - error TS2304: Cannot find name 'HTMLObjectElement'.
352 HTMLObjectElement: typeof HTMLObjectElement;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:353:34 - error TS2304: Cannot find name 'HTMLParamElement'.
353 HTMLParamElement: typeof HTMLParamElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:354:34 - error TS2304: Cannot find name 'HTMLVideoElement'.
354 HTMLVideoElement: typeof HTMLVideoElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:355:34 - error TS2304: Cannot find name 'HTMLAudioElement'.
355 HTMLAudioElement: typeof HTMLAudioElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:356:34 - error TS2304: Cannot find name 'HTMLTrackElement'.
356 HTMLTrackElement: typeof HTMLTrackElement;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:358:28 - error TS2304: Cannot find name 'SVGElement'.
358 SVGElement: typeof SVGElement;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:359:36 - error TS2304: Cannot find name 'SVGGraphicsElement'.
359 SVGGraphicsElement: typeof SVGGraphicsElement;
~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:360:31 - error TS2304: Cannot find name 'SVGSVGElement'.
360 SVGSVGElement: typeof SVGSVGElement;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:361:33 - error TS2304: Cannot find name 'SVGTitleElement'.
361 SVGTitleElement: typeof SVGTitleElement;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:362:35 - error TS2304: Cannot find name 'SVGAnimatedString'.
362 SVGAnimatedString: typeof SVGAnimatedString;
~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:363:27 - error TS2304: Cannot find name 'SVGNumber'.
363 SVGNumber: typeof SVGNumber;
~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:364:31 - error TS2304: Cannot find name 'SVGStringList'.
364 SVGStringList: typeof SVGStringList;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:366:23 - error TS2304: Cannot find name 'Event'.
366 Event: typeof Event;
~~~~~
node_modules/@types/jsdom/base.d.ts:367:28 - error TS2304: Cannot find name 'CloseEvent'.
367 CloseEvent: typeof CloseEvent;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:368:29 - error TS2304: Cannot find name 'CustomEvent'.
368 CustomEvent: typeof CustomEvent;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:369:30 - error TS2304: Cannot find name 'MessageEvent'.
369 MessageEvent: typeof MessageEvent;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:370:28 - error TS2304: Cannot find name 'ErrorEvent'.
370 ErrorEvent: typeof ErrorEvent;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:371:33 - error TS2304: Cannot find name 'HashChangeEvent'.
371 HashChangeEvent: typeof HashChangeEvent;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:372:31 - error TS2304: Cannot find name 'PopStateEvent'.
372 PopStateEvent: typeof PopStateEvent;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:373:30 - error TS2304: Cannot find name 'StorageEvent'.
373 StorageEvent: typeof StorageEvent;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:374:31 - error TS2304: Cannot find name 'ProgressEvent'.
374 ProgressEvent: typeof ProgressEvent;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:375:37 - error TS2304: Cannot find name 'PageTransitionEvent'.
375 PageTransitionEvent: typeof PageTransitionEvent;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:377:25 - error TS2304: Cannot find name 'UIEvent'.
377 UIEvent: typeof UIEvent;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:378:28 - error TS2304: Cannot find name 'FocusEvent'.
378 FocusEvent: typeof FocusEvent;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:379:28 - error TS2304: Cannot find name 'MouseEvent'.
379 MouseEvent: typeof MouseEvent;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:380:31 - error TS2304: Cannot find name 'KeyboardEvent'.
380 KeyboardEvent: typeof KeyboardEvent;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:381:28 - error TS2304: Cannot find name 'TouchEvent'.
381 TouchEvent: typeof TouchEvent;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:382:34 - error TS2304: Cannot find name 'CompositionEvent'.
382 CompositionEvent: typeof CompositionEvent;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:383:28 - error TS2304: Cannot find name 'WheelEvent'.
383 WheelEvent: typeof WheelEvent;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:385:25 - error TS2304: Cannot find name 'BarProp'.
385 BarProp: typeof BarProp;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:386:26 - error TS2304: Cannot find name 'Location'.
386 Location: typeof Location;
~~~~~~~~
node_modules/@types/jsdom/base.d.ts:387:25 - error TS2304: Cannot find name 'History'.
387 History: typeof History;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:388:24 - error TS2304: Cannot find name 'Screen'.
388 Screen: typeof Screen;
~~~~~~
node_modules/@types/jsdom/base.d.ts:389:29 - error TS2304: Cannot find name 'Performance'.
389 Performance: typeof Performance;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:390:27 - error TS2304: Cannot find name 'Navigator'.
390 Navigator: typeof Navigator;
~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:392:29 - error TS2304: Cannot find name 'PluginArray'.
392 PluginArray: typeof PluginArray;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:393:31 - error TS2304: Cannot find name 'MimeTypeArray'.
393 MimeTypeArray: typeof MimeTypeArray;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:394:24 - error TS2304: Cannot find name 'Plugin'.
394 Plugin: typeof Plugin;
~~~~~~
node_modules/@types/jsdom/base.d.ts:395:26 - error TS2304: Cannot find name 'MimeType'.
395 MimeType: typeof MimeType;
~~~~~~~~
node_modules/@types/jsdom/base.d.ts:397:28 - error TS2304: Cannot find name 'FileReader'.
397 FileReader: typeof FileReader;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:398:22 - error TS2693: 'Blob' only refers to a type, but is being used as a value here.
398 Blob: typeof Blob;
~~~~
node_modules/@types/jsdom/base.d.ts:399:22 - error TS2304: Cannot find name 'File'.
399 File: typeof File;
~~~~
node_modules/@types/jsdom/base.d.ts:400:26 - error TS2304: Cannot find name 'FileList'.
400 FileList: typeof FileList;
~~~~~~~~
node_modules/@types/jsdom/base.d.ts:401:31 - error TS2304: Cannot find name 'ValidityState'.
401 ValidityState: typeof ValidityState;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:403:27 - error TS2304: Cannot find name 'DOMParser'.
403 DOMParser: typeof DOMParser;
~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:404:31 - error TS2304: Cannot find name 'XMLSerializer'.
404 XMLSerializer: typeof XMLSerializer;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:406:26 - error TS2304: Cannot find name 'FormData'.
406 FormData: typeof FormData;
~~~~~~~~
node_modules/@types/jsdom/base.d.ts:407:43 - error TS2304: Cannot find name 'XMLHttpRequestEventTarget'.
407 XMLHttpRequestEventTarget: typeof XMLHttpRequestEventTarget;
~~~~~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:408:38 - error TS2304: Cannot find name 'XMLHttpRequestUpload'.
408 XMLHttpRequestUpload: typeof XMLHttpRequestUpload;
~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:409:32 - error TS2304: Cannot find name 'XMLHttpRequest'.
409 XMLHttpRequest: typeof XMLHttpRequest;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:410:27 - error TS2304: Cannot find name 'WebSocket'.
410 WebSocket: typeof WebSocket;
~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:412:28 - error TS2304: Cannot find name 'NodeFilter'.
412 NodeFilter: typeof NodeFilter;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:413:30 - error TS2304: Cannot find name 'NodeIterator'.
413 NodeIterator: typeof NodeIterator;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:414:28 - error TS2304: Cannot find name 'TreeWalker'.
414 TreeWalker: typeof TreeWalker;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:416:31 - error TS2304: Cannot find name 'AbstractRange'.
416 AbstractRange: typeof AbstractRange;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:417:23 - error TS2304: Cannot find name 'Range'.
417 Range: typeof Range;
~~~~~
node_modules/@types/jsdom/base.d.ts:418:29 - error TS2304: Cannot find name 'StaticRange'.
418 StaticRange: typeof StaticRange;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:419:27 - error TS2304: Cannot find name 'Selection'.
419 Selection: typeof Selection;
~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:421:25 - error TS2304: Cannot find name 'Storage'.
421 Storage: typeof Storage;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:423:39 - error TS2304: Cannot find name 'CustomElementRegistry'.
423 CustomElementRegistry: typeof CustomElementRegistry;
~~~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:424:28 - error TS2304: Cannot find name 'ShadowRoot'.
424 ShadowRoot: typeof ShadowRoot;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:426:34 - error TS2304: Cannot find name 'MutationObserver'.
426 MutationObserver: typeof MutationObserver;
~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:427:32 - error TS2304: Cannot find name 'MutationRecord'.
427 MutationRecord: typeof MutationRecord;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:429:25 - error TS2304: Cannot find name 'Headers'.
429 Headers: typeof Headers;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:434:28 - error TS2304: Cannot find name 'StyleSheet'.
434 StyleSheet: typeof StyleSheet;
~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:435:27 - error TS2304: Cannot find name 'MediaList'.
435 MediaList: typeof MediaList;
~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:436:31 - error TS2304: Cannot find name 'CSSStyleSheet'.
436 CSSStyleSheet: typeof CSSStyleSheet;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:437:25 - error TS2304: Cannot find name 'CSSRule'.
437 CSSRule: typeof CSSRule;
~~~~~~~
node_modules/@types/jsdom/base.d.ts:438:30 - error TS2304: Cannot find name 'CSSStyleRule'.
438 CSSStyleRule: typeof CSSStyleRule;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:439:30 - error TS2304: Cannot find name 'CSSMediaRule'.
439 CSSMediaRule: typeof CSSMediaRule;
~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:440:31 - error TS2304: Cannot find name 'CSSImportRule'.
440 CSSImportRule: typeof CSSImportRule;
~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:441:37 - error TS2304: Cannot find name 'CSSStyleDeclaration'.
441 CSSStyleDeclaration: typeof CSSStyleDeclaration;
~~~~~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:445:33 - error TS2304: Cannot find name 'XPathExpression'.
445 XPathExpression: typeof XPathExpression;
~~~~~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:446:29 - error TS2304: Cannot find name 'XPathResult'.
446 XPathResult: typeof XPathResult;
~~~~~~~~~~~
node_modules/@types/jsdom/base.d.ts:447:32 - error TS2304: Cannot find name 'XPathEvaluator'.
447 XPathEvaluator: typeof XPathEvaluator;
~~~~~~~~~~~~~~
node_modules/@types/jsdom/ts4.0/index.d.ts:7:28 - error TS2304: Cannot find name 'InputEvent'.
7 InputEvent: typeof InputEvent;
~~~~~~~~~~
node_modules/@types/jsdom/ts4.0/index.d.ts:8:26 - error TS2304: Cannot find name 'External'.
8 External: typeof External;
~~~~~~~~
Found 178 errors.
Additional context
No response
Environment
For the main
branch:
System:
OS: macOS 12.0.1
CPU: (8) arm64 Apple M1
Binaries:
Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
npmPackages:
jest: 27.3.1 => 27.4.0
For the jest-27.4
branch:
System:
OS: macOS 12.0.1
CPU: (8) arm64 Apple M1
Binaries:
Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
npmPackages:
jest: 27.4.0 => 27.4.0
For the jest-27.4-with-DOM
branch:
System:
OS: macOS 12.0.1
CPU: (8) arm64 Apple M1
Binaries:
Node: 16.13.0 - ~/.nvm/versions/node/v16.13.0/bin/node
npm: 8.1.0 - ~/.nvm/versions/node/v16.13.0/bin/npm
npmPackages:
jest: 27.4.0 => 27.4.0
Issue Analytics
- State:
- Created 2 years ago
- Reactions:24
- Comments:20 (2 by maintainers)
Top Results From Across the Web
Missing basic DOM types in TypeScript project - Stack Overflow
Your build will not fail if you use a variable 'event' that is not defined in that file, because lib.dom.d.ts is declaring 'event'...
Read more >ts-loader - npm
To output a built .d.ts file, you can use the DeclarationBundlerPlugin in your webpack config. Failing the build on TypeScript compilation error.
Read more >Methods for TypeScript runtime type checking - LogRocket Blog
Explore five methods of performing TypeScript type checks at runtime in this post and learn each of their advantages and disadvantages.
Read more >Documentation - TypeScript 4.7
This code works in CommonJS modules, but will fail in ES modules because relative import paths ... lib/index.js , TypeScript would look for...
Read more >Announcing TypeScript 4.4 - Microsoft Developer Blogs
In previous versions of TypeScript, this would be an error – even though argIsString was ... The above example works with no errors!...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
jest-environment-jsdom
will be removed from default dependency tree in Jest 28Please give https://github.com/facebook/jest/releases/tag/v27.4.3 a whirl