Skip to content

Commit 7da8b91

Browse files
committed
Run tests against multiple React versions
1 parent 439fb0a commit 7da8b91

File tree

4 files changed

+55
-2
lines changed

4 files changed

+55
-2
lines changed

.github/workflows/status-check.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ jobs:
3636
- name: Install dependencies
3737
run: yarn install --frozen-lockfile
3838

39-
- name: Run tests
39+
- name: Run tests (React v18)
40+
run: yarn test
41+
42+
- name: Run tests (React v17)
43+
env:
44+
REACT_VERSION: v17
4045
run: yarn test
4146

4247
- name: Build

jest.config.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,13 @@ module.exports = {
2424

2525
testEnvironment: 'jsdom',
2626
};
27+
28+
if (process.env.REACT_VERSION === 'v17') {
29+
module.exports.cacheDirectory = '.cache/jest-cache-react-17';
30+
module.exports.moduleNameMapper = {
31+
...module.exports.moduleNameMapper,
32+
'^react-dom((\\/.*)?)$': 'react-dom-17$1',
33+
'^react((\\/.*)?)$': 'react-17$1',
34+
'^@testing-library/react((\\/.*)?)$': '@testing-library/react-12$1',
35+
};
36+
}

package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"devDependencies": {
2222
"@testing-library/jest-dom": "^5.14.1",
2323
"@testing-library/react": "^13.0.0",
24+
"@testing-library/react-12": "npm:@testing-library/react@^12.1.2",
2425
"@testing-library/react-hooks": "^7.0.2",
2526
"@types/jest": "^27.0.2",
2627
"@types/react": "^18.0.0",
@@ -42,7 +43,9 @@
4243
"lint-staged": "^11.2.0",
4344
"prettier": "^2.4.1",
4445
"react": "^18.0.0",
46+
"react-17": "npm:react@^17.0.2",
4547
"react-dom": "^18.0.0",
48+
"react-dom-17": "npm:react-dom@^17.0.2",
4649
"react-fast-compare": "^3.2.0",
4750
"react-hooks-testing-library": "^0.6.0",
4851
"release-it": "^14.11.6",
@@ -75,6 +78,7 @@
7578
"release:minor": "release-it minor",
7679
"release:major": "release-it major",
7780
"test": "jest -c ./jest.config.js --env=jsdom",
81+
"test:react17": "REACT_VERSION=true yarn test",
7882
"test:watch": "jest -c ./jest.config.js --watch --env=jsdom"
7983
},
8084
"peerDependencies": {

yarn.lock

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@
710710
dependencies:
711711
defer-to-connect "^2.0.0"
712712

713-
"@testing-library/dom@^8.5.0":
713+
"@testing-library/dom@^8.0.0", "@testing-library/dom@^8.5.0":
714714
version "8.13.0"
715715
resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.13.0.tgz#bc00bdd64c7d8b40841e27a70211399ad3af46f5"
716716
integrity sha512-9VHgfIatKNXQNaZTtLnalIy0jNZzY35a4S3oi08YAt9Hv1VsfZ/DfA45lM8D/UhtHBGJ4/lGwp0PZkVndRkoOQ==
@@ -739,6 +739,15 @@
739739
lodash "^4.17.15"
740740
redent "^3.0.0"
741741

742+
"@testing-library/react-12@npm:@testing-library/react@^12.1.2":
743+
version "12.1.4"
744+
resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.4.tgz#09674b117e550af713db3f4ec4c0942aa8bbf2c0"
745+
integrity sha512-jiPKOm7vyUw311Hn/HlNQ9P8/lHNtArAx0PisXyFixDDvfl8DbD6EUdbshK5eqauvBSvzZd19itqQ9j3nferJA==
746+
dependencies:
747+
"@babel/runtime" "^7.12.5"
748+
"@testing-library/dom" "^8.0.0"
749+
"@types/react-dom" "*"
750+
742751
"@testing-library/react-hooks@^7.0.2":
743752
version "7.0.2"
744753
resolved "https://registry.yarnpkg.com/@testing-library/react-hooks/-/react-hooks-7.0.2.tgz#3388d07f562d91e7f2431a4a21b5186062ecfee0"
@@ -4381,6 +4390,23 @@ rc@^1.2.8:
43814390
minimist "^1.2.0"
43824391
strip-json-comments "~2.0.1"
43834392

4393+
"react-17@npm:react@^17.0.2":
4394+
version "17.0.2"
4395+
resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
4396+
integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
4397+
dependencies:
4398+
loose-envify "^1.1.0"
4399+
object-assign "^4.1.1"
4400+
4401+
"react-dom-17@npm:react-dom@^17.0.2":
4402+
version "17.0.2"
4403+
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
4404+
integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
4405+
dependencies:
4406+
loose-envify "^1.1.0"
4407+
object-assign "^4.1.1"
4408+
scheduler "^0.20.2"
4409+
43844410
react-dom@^18.0.0:
43854411
version "18.0.0"
43864412
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.0.0.tgz#26b88534f8f1dbb80853e1eabe752f24100d8023"
@@ -4654,6 +4680,14 @@ saxes@^5.0.1:
46544680
dependencies:
46554681
xmlchars "^2.2.0"
46564682

4683+
scheduler@^0.20.2:
4684+
version "0.20.2"
4685+
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
4686+
integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
4687+
dependencies:
4688+
loose-envify "^1.1.0"
4689+
object-assign "^4.1.1"
4690+
46574691
scheduler@^0.21.0:
46584692
version "0.21.0"
46594693
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.21.0.tgz#6fd2532ff5a6d877b6edb12f00d8ab7e8f308820"

0 commit comments

Comments
 (0)