Skip to content

Commit de58cb0

Browse files
joshuaellismpeyper
andauthored
feat: react-dom and SSR compatible rendering
- Abstracted rendering out of library core to allow different types of renderers - Auto-detection of `react-test-renderer` or `react-dom` renderers. Submodules for: - `dom` (`react-dom`) - `native` (`react-test-renderer`) - `server` (`react-dom/server`) BREAKING CHANGE: - Importing from `renderHook` and `act` from `@testing-library/react-hooks` will now auto-detect which renderer to used based on the project's dependencies - `peerDependencies` are now optional to support different dependencies being required - This means there will be no warning if the dependency is not installed at all, but it will still warn if an incompatible version is installed Co-authored-by: Michael Peyper <mpeyper7@gmail.com>
1 parent 08d5bb4 commit de58cb0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+2781
-211
lines changed

.all-contributorsrc

+192-8
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
],
99
"imageSize": 100,
1010
"commit": false,
11+
"commitConvention": "none",
1112
"contributors": [
1213
{
1314
"login": "mpeyper",
@@ -16,13 +17,12 @@
1617
"profile": "https://github.com/mpeyper",
1718
"contributions": [
1819
"code",
19-
"design",
2020
"doc",
2121
"ideas",
2222
"infra",
23-
"platform",
24-
"test",
25-
"tool"
23+
"maintenance",
24+
"question",
25+
"test"
2626
]
2727
},
2828
{
@@ -201,7 +201,12 @@
201201
"avatar_url": "https://avatars0.githubusercontent.com/u/37798644?v=4",
202202
"profile": "https://github.com/joshuaellis",
203203
"contributions": [
204-
"doc"
204+
"doc",
205+
"question",
206+
"code",
207+
"ideas",
208+
"maintenance",
209+
"test"
205210
]
206211
},
207212
{
@@ -270,7 +275,186 @@
270275
"code",
271276
"test"
272277
]
278+
},
279+
{
280+
"login": "marcosvega91",
281+
"name": "Marco Moretti",
282+
"avatar_url": "https://avatars2.githubusercontent.com/u/5365582?v=4",
283+
"profile": "https://github.com/marcosvega91",
284+
"contributions": [
285+
"infra"
286+
]
287+
},
288+
{
289+
"login": "ndresx",
290+
"name": "Martin V.",
291+
"avatar_url": "https://avatars0.githubusercontent.com/u/27507295?v=4",
292+
"profile": "https://www.parkside.at/",
293+
"contributions": [
294+
"doc"
295+
]
296+
},
297+
{
298+
"login": "erozak",
299+
"name": "Erozak",
300+
"avatar_url": "https://avatars3.githubusercontent.com/u/22066282?v=4",
301+
"profile": "https://github.com/erozak",
302+
"contributions": [
303+
"doc"
304+
]
305+
},
306+
{
307+
"login": "nickmccurdy",
308+
"name": "Nick McCurdy",
309+
"avatar_url": "https://avatars0.githubusercontent.com/u/927220?v=4",
310+
"profile": "https://nickmccurdy.com/",
311+
"contributions": [
312+
"maintenance"
313+
]
314+
},
315+
{
316+
"login": "aryyya",
317+
"name": "Arya",
318+
"avatar_url": "https://avatars1.githubusercontent.com/u/29365565?v=4",
319+
"profile": "https://codepen.io/aryyya/",
320+
"contributions": [
321+
"doc"
322+
]
323+
},
324+
{
325+
"login": "numb86",
326+
"name": "numb86",
327+
"avatar_url": "https://avatars1.githubusercontent.com/u/16703337?v=4",
328+
"profile": "https://numb86.net/",
329+
"contributions": [
330+
"doc"
331+
]
332+
},
333+
{
334+
"login": "foray1010",
335+
"name": "Alex Young",
336+
"avatar_url": "https://avatars3.githubusercontent.com/u/3212221?v=4",
337+
"profile": "https://github.com/foray1010",
338+
"contributions": [
339+
"maintenance"
340+
]
341+
},
342+
{
343+
"login": "benjdlambert",
344+
"name": "Ben Lambert",
345+
"avatar_url": "https://avatars1.githubusercontent.com/u/3645856?v=4",
346+
"profile": "https://blam.sh/",
347+
"contributions": [
348+
"doc"
349+
]
350+
},
351+
{
352+
"login": "ElRatonDeFuego",
353+
"name": "David Cho-Lerat",
354+
"avatar_url": "https://avatars1.githubusercontent.com/u/12750934?v=4",
355+
"profile": "https://github.com/ElRatonDeFuego",
356+
"contributions": [
357+
"doc"
358+
]
359+
},
360+
{
361+
"login": "evanharmon",
362+
"name": "Evan Harmon",
363+
"avatar_url": "https://avatars1.githubusercontent.com/u/8229989?v=4",
364+
"profile": "https://github.com/evanharmon",
365+
"contributions": [
366+
"doc"
367+
]
368+
},
369+
{
370+
"login": "browniefed",
371+
"name": "Jason Brown",
372+
"avatar_url": "https://avatars1.githubusercontent.com/u/1714673?v=4",
373+
"profile": "http://codedaily.io/",
374+
"contributions": [
375+
"doc"
376+
]
377+
},
378+
{
379+
"login": "kahwee",
380+
"name": "KahWee Teng",
381+
"avatar_url": "https://avatars1.githubusercontent.com/u/262105?v=4",
382+
"profile": "https://github.com/kahwee",
383+
"contributions": [
384+
"doc"
385+
]
386+
},
387+
{
388+
"login": "shagabutdinov",
389+
"name": "Leonid Shagabutdinov",
390+
"avatar_url": "https://avatars2.githubusercontent.com/u/1635613?v=4",
391+
"profile": "http://shagabutdinov.com/",
392+
"contributions": [
393+
"doc"
394+
]
395+
},
396+
{
397+
"login": "LeviButcher",
398+
"name": "Levi Butcher",
399+
"avatar_url": "https://avatars2.githubusercontent.com/u/31522433?v=4",
400+
"profile": "https://levibutcher.dev/",
401+
"contributions": [
402+
"doc"
403+
]
404+
},
405+
{
406+
"login": "7michele7",
407+
"name": "Michele Settepani",
408+
"avatar_url": "https://avatars2.githubusercontent.com/u/17926167?v=4",
409+
"profile": "https://github.com/7michele7",
410+
"contributions": [
411+
"doc"
412+
]
413+
},
414+
{
415+
"login": "samnoh",
416+
"name": "Sam",
417+
"avatar_url": "https://avatars1.githubusercontent.com/u/14857416?v=4",
418+
"profile": "https://github.com/samnoh",
419+
"contributions": [
420+
"doc"
421+
]
422+
},
423+
{
424+
"login": "tanaypratap",
425+
"name": "Tanay Pratap",
426+
"avatar_url": "https://avatars0.githubusercontent.com/u/10216863?v=4",
427+
"profile": "https://github.com/tanaypratap",
428+
"contributions": [
429+
"doc"
430+
]
431+
},
432+
{
433+
"login": "techanvil",
434+
"name": "Tom Rees-Herdman",
435+
"avatar_url": "https://avatars0.githubusercontent.com/u/18395600?v=4",
436+
"profile": "https://github.com/techanvil",
437+
"contributions": [
438+
"doc"
439+
]
440+
},
441+
{
442+
"login": "iqbal125",
443+
"name": "iqbal125",
444+
"avatar_url": "https://avatars2.githubusercontent.com/u/24860061?v=4",
445+
"profile": "https://github.com/iqbal125",
446+
"contributions": [
447+
"doc"
448+
]
449+
},
450+
{
451+
"login": "cliffzhaobupt",
452+
"name": "cliffzhaobupt",
453+
"avatar_url": "https://avatars3.githubusercontent.com/u/7374506?v=4",
454+
"profile": "https://github.com/cliffzhaobupt",
455+
"contributions": [
456+
"maintenance"
457+
]
273458
}
274-
],
275-
"commitConvention": "none"
276-
}
459+
]
460+
}

.eslintignore

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
node_modules
22
coverage
33
lib
4+
dom
5+
native
6+
server
7+
pure
48
.docz
59
site

.eslintrc

+1-2
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@
66
"no-await-in-loop": "off",
77
"no-console": "off",
88
"import/no-unresolved": "off",
9-
"react-hooks/rules-of-hooks": "off",
109
"@typescript-eslint/no-floating-promises": "off",
1110
"@typescript-eslint/no-unnecessary-condition": "off",
1211
"@typescript-eslint/no-invalid-void-type": "off"
1312
},
1413
"parserOptions": {
15-
"project": ["./tsconfig.json", "./test/tsconfig.json"]
14+
"project": ["./tsconfig.json", "./test/tsconfig.json", "./scripts/tsconfig.json"]
1615
}
1716
}

.gitignore

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
node_modules
22
coverage
33
lib
4+
dom
5+
native
6+
server
7+
pure
48
.docz
5-
site
9+
site
10+
.vscode

0 commit comments

Comments
 (0)