Skip to content

Commit cdd8251

Browse files
authored
fix(project): replace jsdom with react-test-renderer (#4789)
1 parent e36efc3 commit cdd8251

File tree

4 files changed

+49
-27
lines changed

4 files changed

+49
-27
lines changed

packages/cli/files/references.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

packages/project/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,14 +33,13 @@
3333
"find-up": "^5.0.0",
3434
"graphql-request": "^7.3.3",
3535
"humanize-duration": "3.33.1",
36-
"jsdom": "^25.0.1",
3736
"lodash": "^4.17.21",
3837
"minimatch": "^5.1.6",
3938
"mqtt": "^5.14.1",
4039
"neverthrow": "^8.2.0",
4140
"p-retry": "^7.0.0",
4241
"react": "18.2.0",
43-
"react-dom": "18.2.0",
42+
"react-test-renderer": "18.3.1",
4443
"read-json-sync": "2.0.1",
4544
"replace-in-path": "^1.1.0",
4645
"serialize-error": "^12.0.0",
@@ -53,6 +52,7 @@
5352
"@types/humanize-duration": "^3.27.4",
5453
"@types/jsdom": "^21.1.7",
5554
"@types/lodash": "4.17.20",
55+
"@types/react-test-renderer": "18.3.1",
5656
"@types/read-json-sync": "^2.0.3",
5757
"rimraf": "^6.0.1",
5858
"type-fest": "^5.2.0",

packages/project/src/services/GetProjectConfigService/renderConfigWorker.tsx

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@ import "tsx/esm";
22
import { Properties, toObject } from "@webiny/react-properties";
33
import debounce from "debounce";
44
import React from "react";
5-
import { createRoot } from "react-dom/client";
5+
import Renderer from "react-test-renderer";
66
import { serializeError } from "serialize-error";
7-
8-
// @ts-expect-error jsdom types are messing up with the repo, so they're disabled in the root package.json.
9-
import { JSDOM } from "jsdom";
107
import type { RenderConfigWorkerMessageDto, RenderConfigParamsDto } from "./renderConfig.js";
118
import { ProjectModel } from "~/models/ProjectModel.js";
129

@@ -51,16 +48,7 @@ const onChange = debounce((value: any) => {
5148
process.exit(0);
5249
});
5350

54-
const { window } = new JSDOM(`<div id="root"/>`);
55-
56-
global.window = window;
57-
global.document = window.document;
58-
59-
const root = window.document.getElementById("root");
60-
61-
const reactRoot = createRoot(root);
62-
63-
reactRoot.render(
51+
Renderer.create(
6452
<Properties onChange={onChange}>
6553
<Extensions />
6654
</Properties>

yarn.lock

Lines changed: 44 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12740,6 +12740,15 @@ __metadata:
1274012740
languageName: node
1274112741
linkType: hard
1274212742

12743+
"@types/react-test-renderer@npm:18.3.1":
12744+
version: 18.3.1
12745+
resolution: "@types/react-test-renderer@npm:18.3.1"
12746+
dependencies:
12747+
"@types/react": "npm:^18"
12748+
checksum: 10/f8cc23cc8decdb6068cdc8f8c306e189eab8e569443ce97b216e757ee42eb20b18d2280ef41e2955668413f14be92765a3ba86cfcfeeae6b20c965acd9674786
12749+
languageName: node
12750+
linkType: hard
12751+
1274312752
"@types/react-transition-group@npm:^4.4.12":
1274412753
version: 4.4.12
1274512754
resolution: "@types/react-transition-group@npm:4.4.12"
@@ -16349,6 +16358,7 @@ __metadata:
1634916358
"@types/humanize-duration": "npm:^3.27.4"
1635016359
"@types/jsdom": "npm:^21.1.7"
1635116360
"@types/lodash": "npm:4.17.20"
16361+
"@types/react-test-renderer": "npm:18.3.1"
1635216362
"@types/read-json-sync": "npm:^2.0.3"
1635316363
"@webiny/aws-sdk": "npm:0.0.0"
1635416364
"@webiny/build-tools": "npm:0.0.0"
@@ -16373,14 +16383,13 @@ __metadata:
1637316383
find-up: "npm:^5.0.0"
1637416384
graphql-request: "npm:^7.3.3"
1637516385
humanize-duration: "npm:3.33.1"
16376-
jsdom: "npm:^25.0.1"
1637716386
lodash: "npm:^4.17.21"
1637816387
minimatch: "npm:^5.1.6"
1637916388
mqtt: "npm:^5.14.1"
1638016389
neverthrow: "npm:^8.2.0"
1638116390
p-retry: "npm:^7.0.0"
1638216391
react: "npm:18.2.0"
16383-
react-dom: "npm:18.2.0"
16392+
react-test-renderer: "npm:18.3.1"
1638416393
read-json-sync: "npm:2.0.1"
1638516394
replace-in-path: "npm:^1.1.0"
1638616395
rimraf: "npm:^6.0.1"
@@ -30308,6 +30317,13 @@ __metadata:
3030830317
languageName: node
3030930318
linkType: hard
3031030319

30320+
"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.3.1":
30321+
version: 18.3.1
30322+
resolution: "react-is@npm:18.3.1"
30323+
checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22
30324+
languageName: node
30325+
linkType: hard
30326+
3031130327
"react-is@npm:^16.13.1, react-is@npm:^16.7.0":
3031230328
version: 16.13.1
3031330329
resolution: "react-is@npm:16.13.1"
@@ -30322,13 +30338,6 @@ __metadata:
3032230338
languageName: node
3032330339
linkType: hard
3032430340

30325-
"react-is@npm:^18.0.0":
30326-
version: 18.3.1
30327-
resolution: "react-is@npm:18.3.1"
30328-
checksum: 10/d5f60c87d285af24b1e1e7eaeb123ec256c3c8bdea7061ab3932e3e14685708221bf234ec50b21e10dd07f008f1b966a2730a0ce4ff67905b3872ff2042aec22
30329-
languageName: node
30330-
linkType: hard
30331-
3033230341
"react-lazy-load@npm:^3.1.14":
3033330342
version: 3.1.14
3033430343
resolution: "react-lazy-load@npm:3.1.14"
@@ -30472,6 +30481,18 @@ __metadata:
3047230481
languageName: node
3047330482
linkType: hard
3047430483

30484+
"react-shallow-renderer@npm:^16.15.0":
30485+
version: 16.15.0
30486+
resolution: "react-shallow-renderer@npm:16.15.0"
30487+
dependencies:
30488+
object-assign: "npm:^4.1.1"
30489+
react-is: "npm:^16.12.0 || ^17.0.0 || ^18.0.0"
30490+
peerDependencies:
30491+
react: ^16.0.0 || ^17.0.0 || ^18.0.0
30492+
checksum: 10/06457fe5bcaa44aeca998905b6849304742ea1cc2d3841e4a0964c745ff392bc4dec07f8c779f317faacce3a0bf6f84e15020ac0fa81adb931067dbb0baf707b
30493+
languageName: node
30494+
linkType: hard
30495+
3047530496
"react-side-effect@npm:^2.1.0":
3047630497
version: 2.1.2
3047730498
resolution: "react-side-effect@npm:2.1.2"
@@ -30504,6 +30525,19 @@ __metadata:
3050430525
languageName: node
3050530526
linkType: hard
3050630527

30528+
"react-test-renderer@npm:18.3.1":
30529+
version: 18.3.1
30530+
resolution: "react-test-renderer@npm:18.3.1"
30531+
dependencies:
30532+
react-is: "npm:^18.3.1"
30533+
react-shallow-renderer: "npm:^16.15.0"
30534+
scheduler: "npm:^0.23.2"
30535+
peerDependencies:
30536+
react: ^18.3.1
30537+
checksum: 10/d53137315c677bdfba702a7179a69828233fc7635ae1e0c03b203923d643400ace72b343cb3dd3dafba8911c20bef53f55bff7aa2e4ddff3ccc423fdd9deeee2
30538+
languageName: node
30539+
linkType: hard
30540+
3050730541
"react-transition-group@npm:^4.4.5":
3050830542
version: 4.4.5
3050930543
resolution: "react-transition-group@npm:4.4.5"
@@ -31840,7 +31874,7 @@ __metadata:
3184031874
languageName: node
3184131875
linkType: hard
3184231876

31843-
"scheduler@npm:^0.23.0":
31877+
"scheduler@npm:^0.23.0, scheduler@npm:^0.23.2":
3184431878
version: 0.23.2
3184531879
resolution: "scheduler@npm:0.23.2"
3184631880
dependencies:

0 commit comments

Comments
 (0)