From a21bb3dc658a5511d0b128903077c898a7ddcc30 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann Date: Tue, 9 Aug 2022 19:44:56 +0200 Subject: [PATCH 1/4] chore: convert `helpers.js` to TypeScript (#1156) --- package.json | 3 +++ src/{helpers.js => helpers.ts} | 13 +++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) rename src/{helpers.js => helpers.ts} (88%) diff --git a/package.json b/package.json index 6881c899..a1cb7c03 100644 --- a/package.json +++ b/package.json @@ -65,6 +65,9 @@ "plugin:import/typescript" ], "rules": { + "@typescript-eslint/prefer-optional-chain": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/prefer-includes": "off", "import/prefer-default-export": "off", "import/no-unassigned-import": "off", diff --git a/src/helpers.js b/src/helpers.ts similarity index 88% rename from src/helpers.js rename to src/helpers.ts index ed356592..5a068300 100644 --- a/src/helpers.js +++ b/src/helpers.ts @@ -4,10 +4,11 @@ const TEXT_NODE = 3 function jestFakeTimersAreEnabled() { /* istanbul ignore else */ + // eslint-disable-next-line if (typeof jest !== 'undefined' && jest !== null) { return ( // legacy timers - setTimeout._isMockFunction === true || + (setTimeout as any)._isMockFunction === true || // modern timers Object.prototype.hasOwnProperty.call(setTimeout, 'clock') ) @@ -23,7 +24,7 @@ function getDocument() { } return window.document } -function getWindowFromNode(node) { +function getWindowFromNode(node: any) { if (node.defaultView) { // node is document return node.defaultView @@ -60,11 +61,11 @@ function getWindowFromNode(node) { } } -function checkContainerType(container) { +function checkContainerType(container: unknown) { if ( !container || - !(typeof container.querySelector === 'function') || - !(typeof container.querySelectorAll === 'function') + !(typeof (container as any).querySelector === 'function') || + !(typeof (container as any).querySelectorAll === 'function') ) { throw new TypeError( `Expected container to be an Element, a Document or a DocumentFragment but got ${getTypeName( @@ -73,7 +74,7 @@ function checkContainerType(container) { ) } - function getTypeName(object) { + function getTypeName(object: unknown) { if (typeof object === 'object') { return object === null ? 'null' : object.constructor.name } From 2a9ee25dc4807616cbd854968d17d1839ae7219d Mon Sep 17 00:00:00 2001 From: Nick McCurdy Date: Sat, 20 Aug 2022 21:38:55 -0400 Subject: [PATCH 2/4] docs: update octopus emoji (#1160) We should use the same version from https://testing-library.com/ --- other/octopus.png | Bin 4137 -> 14265 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/other/octopus.png b/other/octopus.png index 9fcd321c5025582a0de0a52a7905695f9918a488..906ac9bb694ed85cebf7c66785e24dfc385312ff 100644 GIT binary patch literal 14265 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 Date: Sat, 17 Sep 2022 00:01:10 -0700 Subject: [PATCH 3/4] feat: Allow disabling colorized debug output (#1166) --- src/__tests__/pretty-dom.js | 14 ++++++++++++++ src/pretty-dom.js | 27 ++++++++++++++++++++++----- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/__tests__/pretty-dom.js b/src/__tests__/pretty-dom.js index 8a4cfd49..889d0fed 100644 --- a/src/__tests__/pretty-dom.js +++ b/src/__tests__/pretty-dom.js @@ -152,3 +152,17 @@ test('prettyDOM can include all elements with a custom filter', () => { `) }) + +test('prettyDOM supports a COLORS environment variable', () => { + const {container} = render('
Hello World!
') + + const noColors = prettyDOM(container, undefined, {highlight: false}) + const withColors = prettyDOM(container, undefined, {highlight: true}) + + // process.env.COLORS is a string, so make sure we test it as such + process.env.COLORS = 'false' + expect(prettyDOM(container)).toEqual(noColors) + + process.env.COLORS = 'true' + expect(prettyDOM(container)).toEqual(withColors) +}) diff --git a/src/pretty-dom.js b/src/pretty-dom.js index 2a207cef..9b1eafa2 100644 --- a/src/pretty-dom.js +++ b/src/pretty-dom.js @@ -4,10 +4,27 @@ import {getUserCodeFrame} from './get-user-code-frame' import {getDocument} from './helpers' import {getConfig} from './config' -const inNode = () => - typeof process !== 'undefined' && - process.versions !== undefined && - process.versions.node !== undefined +const shouldHighlight = () => { + let colors + try { + colors = JSON.parse(process?.env?.COLORS) + } catch (e) { + // If this throws, process?.env?.COLORS wasn't parsable. Since we only + // care about `true` or `false`, we can safely ignore the error. + } + + if (typeof colors === 'boolean') { + // If `colors` is set explicitly (both `true` and `false`), use that value. + return colors + } else { + // If `colors` is not set, colorize if we're in node. + return ( + typeof process !== 'undefined' && + process.versions !== undefined && + process.versions.node !== undefined + ) + } +} const {DOMCollection} = prettyFormat.plugins @@ -61,7 +78,7 @@ function prettyDOM(dom, maxLength, options = {}) { const debugContent = prettyFormat.format(dom, { plugins: [createDOMElementFilter(filterNode), DOMCollection], printFunctionName: false, - highlight: inNode(), + highlight: shouldHighlight(), ...prettyFormatOptions, }) return maxLength !== undefined && dom.outerHTML.length > maxLength From ab8182cfc5164f5d0b0fea143cfde350369488c9 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Sat, 17 Sep 2022 09:01:53 +0200 Subject: [PATCH 4/4] add MynockSpit as a contributor (#1168) Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> --- .all-contributorsrc | 9 + README.md | 415 ++++++++++++++++++++++---------------------- 2 files changed, 218 insertions(+), 206 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index e0f082df..97139f07 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1562,6 +1562,15 @@ "contributions": [ "code" ] + }, + { + "login": "MynockSpit", + "name": "Than Hutchins", + "avatar_url": "https://avatars.githubusercontent.com/u/5713867?v=4", + "profile": "https://github.com/MynockSpit", + "contributions": [ + "code" + ] } ], "repoHost": "https://github.com/" diff --git a/README.md b/README.md index 9b814514..a490486a 100644 --- a/README.md +++ b/README.md @@ -131,212 +131,215 @@ Thanks goes to these people ([emoji key][emojis]): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Kent C. Dodds

πŸ’» πŸ“– πŸš‡ ⚠️

Greg BergΓ©

πŸ€”

Ryan Castner

πŸ“–

Daniel Sandiego

πŸ’»

PaweΕ‚ MikoΕ‚ajczyk

πŸ’»

Alejandro ÑÑñez Ortiz

πŸ“–

Matt Parrish

πŸ› πŸ’» πŸ“– ⚠️

Justin Hall

πŸ“¦

Anto Aravinth

πŸ’» ⚠️ πŸ“–

Jonah Moses

πŸ“–

Łukasz Gandecki

πŸ’» ⚠️ πŸ“–

Ivan Babak

πŸ› πŸ€” πŸ’» πŸ“–

Jesse Day

πŸ’»

Ernesto GarcΓ­a

πŸ’¬ πŸ’» πŸ“–

Josef Maxx Blake

πŸ’» πŸ“– ⚠️

Alex Cook

πŸ“– πŸ’‘ πŸ‘€

Daniel Cook

πŸ’» πŸ“– ⚠️

Thomas Chia

πŸ› πŸ’»

Tim Deschryver

πŸ’» ⚠️ πŸ‘€

Alex Krolick

πŸ’»

Maddi Joyce

πŸ’»

Peter Kamps

πŸ› πŸ’» ⚠️

Jonathan Stoye

πŸ“– πŸ’»

Sanghyeon Lee

πŸ’‘

Justice Mba

πŸ’» πŸ“– πŸ€”

Wayne Crouch

πŸ’»

Ben Elliott

πŸ’»

Ruben Costa

πŸ’»

Robert Smith

πŸ› πŸ€” πŸ“–

dadamssg

πŸ’»

Neil Kistner

πŸ’» ⚠️

Ben Chauvette

πŸ’»

Jeff Baumgardt

πŸ’» πŸ“–

Matan Kushner

πŸ’» πŸ“– πŸ€” ⚠️

Alex Wendte

πŸ’» πŸ“– ⚠️

Tamas Fodor

πŸ“–

Benjamin Eckardt

πŸ’»

Ryan Campbell

πŸ“–

Taylor Briggs

⚠️

John Gozde

πŸ’»

C. T. Lin

πŸ“–

Terrence Wong

πŸ’»

Soo Jae Hwang

πŸ’»

Royston Shufflebotham

πŸ› πŸ’» πŸ“– ⚠️

Vadim Brodsky

πŸ’»

Eunjae Lee

πŸ’»

David Peter

πŸ’»

Shy Alter

πŸ’» πŸ“–

Łukasz Makuch

πŸ“¦

Tyler Haas

πŸ’» ⚠️

Vesa Laakso

πŸ’» ⚠️

Tulsi Sapkota

πŸ’»

Tiago Nunes

πŸ’» ⚠️

JaxCavalera

πŸ’» πŸ‘€

bopfer

⚠️

Jan Pfitzner

πŸ’»

David

πŸ’»

Diego Hernandez

πŸ’» ⚠️

Alex Young

πŸ’»

Paul Armstrong

πŸ’» ⚠️

TamΓ‘s SzabΓ³

πŸ’» ⚠️

Dylan Piercey

πŸ’» ⚠️

Michael Lasky

πŸ’» ⚠️ πŸ“–

Sebastian Silbermann

πŸ’» ⚠️ πŸ“– πŸš‡ πŸ‘€

Dylan Vann

πŸ’»

AdriΓ  Fontcuberta

πŸ’» ⚠️ πŸ“–

Thomas Lombart

πŸ’»

Sam Horton

πŸ’» ⚠️

Andrew Hill

πŸ’»

Jan Amann

πŸ’» ⚠️

Brais PiΓ±eiro

πŸ’» ⚠️

Dominykas BlyΕΎΔ—

πŸ’» ⚠️

Olzhas Askar

πŸ’» ⚠️ πŸ“–

Max Belsky

πŸ’» ⚠️

Michael Mantel

⚠️

Tom Nagle

πŸ’»

Westbrook Johnson

πŸ’»

Mohammad Aziz

πŸ’» ⚠️

seetdev

⚠️ πŸ’»

Xavier Garcia Buils

πŸ’» ⚠️

aw-davidson

πŸ’» ⚠️

MichaΓ«l De Boey

πŸ’»

Minh Nguyen

πŸ’»

Egill SveinbjΓΆrnsson

πŸ’»

Pavel Pustovalov

πŸ“–

Adam Palaniuk

πŸ’» ⚠️

Yama-Tomo

πŸ’» ⚠️

Aaron Pettengill

πŸ’» ⚠️

Kate W. Boyd

πŸ’»

Rahul Suryakanth

πŸ’» ⚠️

Jamie

πŸ’» ⚠️

Nicolas Stepien

πŸ’»

Ken Powers

πŸ’»

MichaΕ‚ Zdunek

πŸ’»

Ali Nasserzadeh

πŸ’»

Darek Kay

πŸ“– πŸ’» ⚠️

Lukas

πŸ’» ⚠️

Tom Crockett

πŸ’» ⚠️

Kevin Brewer

πŸ’» ⚠️

Ben Monro

πŸ’» πŸ€” ⚠️ πŸ“–

Stephan Meijer

πŸ€” πŸ’» ⚠️

JoΓ£o Forja

πŸ’» ⚠️

Nick McCurdy

πŸ“– πŸ’» ⚠️ πŸ‘€ πŸš‡

Caleb Meredith

πŸ’»

Marco Moretti

πŸ’» ⚠️ πŸ‘€

Travis Jefferson

πŸ’» ⚠️

Maciej Jastrzebski

πŸ›

Geoff Harcourt

πŸ’»

Josh Goldberg

πŸ’» ⚠️

Ken Gregory

πŸ’» ⚠️

Jacob Paris

πŸ’» ⚠️

keiya sasaki

πŸ“–

Idan Entin

πŸ’» ⚠️

Deniz Susman

πŸ’»

Bianca Del Carretto

⚠️ πŸ’»

Josh Lalonde

πŸ’» ⚠️

Ioannis Papadopoulos

πŸ’» ⚠️

Maxwell Newlands

πŸ’» ⚠️

Jared Luxenberg

πŸ’» ⚠️

snizhana

πŸ’» ⚠️

Michael van Engelshoven

πŸ‘€

Asher Tuggle

πŸ›

Winter LaMon

πŸ’» ⚠️

Victor Cordova

πŸ’» ⚠️

slowselfip

πŸ›

Dmitry Semigradsky

πŸ’»

Adam

πŸ’» ⚠️

balavishnuvj

πŸ’»

Chris Colborne

πŸ’»

Romain Trotard

πŸ’»

Thomas Marshall

πŸ’» ⚠️

johnjessewood

πŸ› πŸ’»

Ari PerkkiΓΆ

πŸ› πŸ’» πŸ“–

Nathan Force

πŸ’»

Philipp Fritsche

πŸ’»

Renato Alencar

πŸ’» ⚠️

Simen Bekkhus

πŸ›

Dan Abramov

πŸ› πŸ‘€

Matan Borenkraout

πŸ’»

simcha90

πŸ’»

Amit Miran

πŸš‡

Dominik Lesch

πŸ“–

Gareth Jones

πŸ’» ⚠️

Rayat Rahman

πŸ’»

Nik Savchenko

πŸ’»

Kevin Fleischman

πŸ’» ⚠️

Beth Hitch

πŸ’»

Jack Laurence

πŸ’»

SantoJambit

πŸ’»

Yashu Mittal

πŸ“–

Ian VanSchooten

πŸ’»

Vanya Prokopovich

πŸ›

James Nail

πŸ›

Rob Caldecott

πŸ›

Dennis273

πŸ’»

Jackson Hardaker

⚠️

Robin Drexler

πŸ’»

Omer Dolev

πŸ’»

Lirlev48

πŸ’»

Tarnay KΓ‘lmΓ‘n

πŸ’»

Kent C. Dodds

πŸ’» πŸ“– πŸš‡ ⚠️

Greg BergΓ©

πŸ€”

Ryan Castner

πŸ“–

Daniel Sandiego

πŸ’»

PaweΕ‚ MikoΕ‚ajczyk

πŸ’»

Alejandro ÑÑñez Ortiz

πŸ“–

Matt Parrish

πŸ› πŸ’» πŸ“– ⚠️

Justin Hall

πŸ“¦

Anto Aravinth

πŸ’» ⚠️ πŸ“–

Jonah Moses

πŸ“–

Łukasz Gandecki

πŸ’» ⚠️ πŸ“–

Ivan Babak

πŸ› πŸ€” πŸ’» πŸ“–

Jesse Day

πŸ’»

Ernesto GarcΓ­a

πŸ’¬ πŸ’» πŸ“–

Josef Maxx Blake

πŸ’» πŸ“– ⚠️

Alex Cook

πŸ“– πŸ’‘ πŸ‘€

Daniel Cook

πŸ’» πŸ“– ⚠️

Thomas Chia

πŸ› πŸ’»

Tim Deschryver

πŸ’» ⚠️ πŸ‘€

Alex Krolick

πŸ’»

Maddi Joyce

πŸ’»

Peter Kamps

πŸ› πŸ’» ⚠️

Jonathan Stoye

πŸ“– πŸ’»

Sanghyeon Lee

πŸ’‘

Justice Mba

πŸ’» πŸ“– πŸ€”

Wayne Crouch

πŸ’»

Ben Elliott

πŸ’»

Ruben Costa

πŸ’»

Robert Smith

πŸ› πŸ€” πŸ“–

dadamssg

πŸ’»

Neil Kistner

πŸ’» ⚠️

Ben Chauvette

πŸ’»

Jeff Baumgardt

πŸ’» πŸ“–

Matan Kushner

πŸ’» πŸ“– πŸ€” ⚠️

Alex Wendte

πŸ’» πŸ“– ⚠️

Tamas Fodor

πŸ“–

Benjamin Eckardt

πŸ’»

Ryan Campbell

πŸ“–

Taylor Briggs

⚠️

John Gozde

πŸ’»

C. T. Lin

πŸ“–

Terrence Wong

πŸ’»

Soo Jae Hwang

πŸ’»

Royston Shufflebotham

πŸ› πŸ’» πŸ“– ⚠️

Vadim Brodsky

πŸ’»

Eunjae Lee

πŸ’»

David Peter

πŸ’»

Shy Alter

πŸ’» πŸ“–

Łukasz Makuch

πŸ“¦

Tyler Haas

πŸ’» ⚠️

Vesa Laakso

πŸ’» ⚠️

Tulsi Sapkota

πŸ’»

Tiago Nunes

πŸ’» ⚠️

JaxCavalera

πŸ’» πŸ‘€

bopfer

⚠️

Jan Pfitzner

πŸ’»

David

πŸ’»

Diego Hernandez

πŸ’» ⚠️

Alex Young

πŸ’»

Paul Armstrong

πŸ’» ⚠️

TamΓ‘s SzabΓ³

πŸ’» ⚠️

Dylan Piercey

πŸ’» ⚠️

Michael Lasky

πŸ’» ⚠️ πŸ“–

Sebastian Silbermann

πŸ’» ⚠️ πŸ“– πŸš‡ πŸ‘€

Dylan Vann

πŸ’»

AdriΓ  Fontcuberta

πŸ’» ⚠️ πŸ“–

Thomas Lombart

πŸ’»

Sam Horton

πŸ’» ⚠️

Andrew Hill

πŸ’»

Jan Amann

πŸ’» ⚠️

Brais PiΓ±eiro

πŸ’» ⚠️

Dominykas BlyΕΎΔ—

πŸ’» ⚠️

Olzhas Askar

πŸ’» ⚠️ πŸ“–

Max Belsky

πŸ’» ⚠️

Michael Mantel

⚠️

Tom Nagle

πŸ’»

Westbrook Johnson

πŸ’»

Mohammad Aziz

πŸ’» ⚠️

seetdev

⚠️ πŸ’»

Xavier Garcia Buils

πŸ’» ⚠️

aw-davidson

πŸ’» ⚠️

MichaΓ«l De Boey

πŸ’»

Minh Nguyen

πŸ’»

Egill SveinbjΓΆrnsson

πŸ’»

Pavel Pustovalov

πŸ“–

Adam Palaniuk

πŸ’» ⚠️

Yama-Tomo

πŸ’» ⚠️

Aaron Pettengill

πŸ’» ⚠️

Kate W. Boyd

πŸ’»

Rahul Suryakanth

πŸ’» ⚠️

Jamie

πŸ’» ⚠️

Nicolas Stepien

πŸ’»

Ken Powers

πŸ’»

MichaΕ‚ Zdunek

πŸ’»

Ali Nasserzadeh

πŸ’»

Darek Kay

πŸ“– πŸ’» ⚠️

Lukas

πŸ’» ⚠️

Tom Crockett

πŸ’» ⚠️

Kevin Brewer

πŸ’» ⚠️

Ben Monro

πŸ’» πŸ€” ⚠️ πŸ“–

Stephan Meijer

πŸ€” πŸ’» ⚠️

JoΓ£o Forja

πŸ’» ⚠️

Nick McCurdy

πŸ“– πŸ’» ⚠️ πŸ‘€ πŸš‡

Caleb Meredith

πŸ’»

Marco Moretti

πŸ’» ⚠️ πŸ‘€

Travis Jefferson

πŸ’» ⚠️

Maciej Jastrzebski

πŸ›

Geoff Harcourt

πŸ’»

Josh Goldberg

πŸ’» ⚠️

Ken Gregory

πŸ’» ⚠️

Jacob Paris

πŸ’» ⚠️

keiya sasaki

πŸ“–

Idan Entin

πŸ’» ⚠️

Deniz Susman

πŸ’»

Bianca Del Carretto

⚠️ πŸ’»

Josh Lalonde

πŸ’» ⚠️

Ioannis Papadopoulos

πŸ’» ⚠️

Maxwell Newlands

πŸ’» ⚠️

Jared Luxenberg

πŸ’» ⚠️

snizhana

πŸ’» ⚠️

Michael van Engelshoven

πŸ‘€

Asher Tuggle

πŸ›

Winter LaMon

πŸ’» ⚠️

Victor Cordova

πŸ’» ⚠️

slowselfip

πŸ›

Dmitry Semigradsky

πŸ’»

Adam

πŸ’» ⚠️

balavishnuvj

πŸ’»

Chris Colborne

πŸ’»

Romain Trotard

πŸ’»

Thomas Marshall

πŸ’» ⚠️

johnjessewood

πŸ› πŸ’»

Ari PerkkiΓΆ

πŸ› πŸ’» πŸ“–

Nathan Force

πŸ’»

Philipp Fritsche

πŸ’»

Renato Alencar

πŸ’» ⚠️

Simen Bekkhus

πŸ›

Dan Abramov

πŸ› πŸ‘€

Matan Borenkraout

πŸ’»

simcha90

πŸ’»

Amit Miran

πŸš‡

Dominik Lesch

πŸ“–

Gareth Jones

πŸ’» ⚠️

Rayat Rahman

πŸ’»

Nik Savchenko

πŸ’»

Kevin Fleischman

πŸ’» ⚠️

Beth Hitch

πŸ’»

Jack Laurence

πŸ’»

SantoJambit

πŸ’»

Yashu Mittal

πŸ“–

Ian VanSchooten

πŸ’»

Vanya Prokopovich

πŸ›

James Nail

πŸ›

Rob Caldecott

πŸ›

Dennis273

πŸ’»

Jackson Hardaker

⚠️

Robin Drexler

πŸ’»

Omer Dolev

πŸ’»

Lirlev48

πŸ’»

Tarnay KΓ‘lmΓ‘n

πŸ’»

Than Hutchins

πŸ’»