Skip to content

Commit 27c9cc5

Browse files
committed
feat: add ts-jest
1 parent cb93374 commit 27c9cc5

File tree

3 files changed

+116
-39
lines changed

3 files changed

+116
-39
lines changed

jest.config.js

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,21 @@
1+
const { default: tsJestPreset } = require('ts-jest')
2+
13
const defaults = {
4+
...tsJestPreset,
25
coverageDirectory: './coverage/',
36
collectCoverage: true,
4-
testURL: 'http://localhost'
7+
testURL: 'http://localhost',
58
}
69

7-
const testFolderPath = folderName => `<rootDir>/test/${folderName}/**/*.js`
10+
const testFolderPath = (folderName) =>
11+
`<rootDir>/test/${folderName}/**/*.{js,ts,tsx}`
812

913
const NORMAL_TEST_FOLDERS = ['components', 'hooks', 'integration', 'utils']
1014

1115
const standardConfig = {
1216
...defaults,
1317
displayName: 'ReactDOM',
14-
testMatch: NORMAL_TEST_FOLDERS.map(testFolderPath)
18+
testMatch: NORMAL_TEST_FOLDERS.map(testFolderPath),
1519
}
1620

1721
const rnConfig = {
@@ -20,10 +24,10 @@ const rnConfig = {
2024
testMatch: [testFolderPath('react-native')],
2125
preset: 'react-native',
2226
transform: {
23-
'^.+\\.js$': '<rootDir>/node_modules/react-native/jest/preprocessor.js'
24-
}
27+
'^.+\\.js$': '<rootDir>/node_modules/react-native/jest/preprocessor.js',
28+
},
2529
}
2630

2731
module.exports = {
28-
projects: [standardConfig, rnConfig]
32+
projects: [standardConfig, rnConfig],
2933
}

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
"rimraf": "^3.0.2",
110110
"rollup": "^2.32.1",
111111
"rollup-plugin-terser": "^7.0.2",
112+
"ts-jest": "^27.0.3",
112113
"typescript": "^4.3.4"
113114
},
114115
"browserify": {

yarn.lock

Lines changed: 105 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -5228,6 +5228,15 @@ __metadata:
52285228
languageName: node
52295229
linkType: hard
52305230

5231+
"bs-logger@npm:0.x":
5232+
version: 0.2.6
5233+
resolution: "bs-logger@npm:0.2.6"
5234+
dependencies:
5235+
fast-json-stable-stringify: 2.x
5236+
checksum: f5f2f1315d6ceac655c3945d149086a5f5a90b3c908780757e12e938aad0125a7aa563cae2f7153ccf43443adb1b88a44960a61063903c3973e1dfdda6fc2d8c
5237+
languageName: node
5238+
linkType: hard
5239+
52315240
"bser@npm:2.1.1":
52325241
version: 2.1.1
52335242
resolution: "bser@npm:2.1.1"
@@ -5244,7 +5253,7 @@ __metadata:
52445253
languageName: node
52455254
linkType: hard
52465255

5247-
"buffer-from@npm:^1.0.0":
5256+
"buffer-from@npm:1.x, buffer-from@npm:^1.0.0":
52485257
version: 1.1.1
52495258
resolution: "buffer-from@npm:1.1.1"
52505259
checksum: 540ceb79c4f5bfcadaabbc18324fa84c50dc52905084be7c03596a339cf5a88513bee6831ce9b36ddd046fab09257a7c80686e129d0559a0cfd141da196ad956
@@ -5597,7 +5606,7 @@ __metadata:
55975606
languageName: node
55985607
linkType: hard
55995608

5600-
"ci-info@npm:^3.0.0":
5609+
"ci-info@npm:^3.0.0, ci-info@npm:^3.1.1":
56015610
version: 3.2.0
56025611
resolution: "ci-info@npm:3.2.0"
56035612
checksum: d4a898d60111d00f2b7a06a349162971fe0603aefa208fe8d1343ce9e93c48e3d37311c47211d5c9040d25b43038c817588e5b7d8eab5d17b00aec49c7b5fade
@@ -7985,7 +7994,7 @@ __metadata:
79857994
languageName: node
79867995
linkType: hard
79877996

7988-
"fast-json-stable-stringify@npm:^2.0.0":
7997+
"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0":
79897998
version: 2.1.0
79907999
resolution: "fast-json-stable-stringify@npm:2.1.0"
79918000
checksum: 7df3fabfe445d65953b2d9d9d3958bd895438b215a40fb87dae8b2165c5169a897785eb5d51e6cf0eb03523af756e3d82ea01083f6ac6341fe16db532fee3016
@@ -9685,6 +9694,17 @@ __metadata:
96859694
languageName: node
96869695
linkType: hard
96879696

9697+
"is-ci@npm:^3.0.0":
9698+
version: 3.0.0
9699+
resolution: "is-ci@npm:3.0.0"
9700+
dependencies:
9701+
ci-info: ^3.1.1
9702+
bin:
9703+
is-ci: bin.js
9704+
checksum: 1e26d3ba6634ebee83f9d22f260354c5d950eada4d609c30cc2642069f8ba52f3aeb4c9bbf8099aaf04a2f44a1ed7beef2a24485f988753c8c078a57e9b3a2fd
9705+
languageName: node
9706+
linkType: hard
9707+
96889708
"is-color-stop@npm:^1.1.0":
96899709
version: 1.1.0
96909710
resolution: "is-color-stop@npm:1.1.0"
@@ -10705,6 +10725,20 @@ __metadata:
1070510725
languageName: node
1070610726
linkType: hard
1070710727

10728+
"jest-util@npm:^27.0.0":
10729+
version: 27.0.6
10730+
resolution: "jest-util@npm:27.0.6"
10731+
dependencies:
10732+
"@jest/types": ^27.0.6
10733+
"@types/node": "*"
10734+
chalk: ^4.0.0
10735+
graceful-fs: ^4.2.4
10736+
is-ci: ^3.0.0
10737+
picomatch: ^2.2.3
10738+
checksum: a62ab3304ad58eb5fa130d66680d987890fca8c0505857a1b8bbcc8cf1de35eb3b82e19bdc5084dd10f68b3ce373234723f57f6e83781d4a4f66be1b647b488d
10739+
languageName: node
10740+
linkType: hard
10741+
1070810742
"jest-validate@npm:^24.9.0":
1070910743
version: 24.9.0
1071010744
resolution: "jest-validate@npm:24.9.0"
@@ -10977,25 +11011,25 @@ __metadata:
1097711011
languageName: node
1097811012
linkType: hard
1097911013

10980-
"json5@npm:^1.0.1":
10981-
version: 1.0.1
10982-
resolution: "json5@npm:1.0.1"
11014+
"json5@npm:2.x, json5@npm:^2.1.2":
11015+
version: 2.2.0
11016+
resolution: "json5@npm:2.2.0"
1098311017
dependencies:
10984-
minimist: ^1.2.0
11018+
minimist: ^1.2.5
1098511019
bin:
1098611020
json5: lib/cli.js
10987-
checksum: df41624f9f40bfacc546f779eef6d161a3312fbb6ec1dbd69f8c4388e9807af653b753371ab19b6d2bab22af2ca7dde62fe03c791596acf76915e1fc4ee6fd88
11021+
checksum: 07b1f90c2801dc52df2b0ac8d606cc400a85cda79130e754780fa2ab9805d0fb85a0e61b6a5cdd68e88e5d0c8f9109ec415af08283175556cdccaa8563853908
1098811022
languageName: node
1098911023
linkType: hard
1099011024

10991-
"json5@npm:^2.1.2":
10992-
version: 2.2.0
10993-
resolution: "json5@npm:2.2.0"
11025+
"json5@npm:^1.0.1":
11026+
version: 1.0.1
11027+
resolution: "json5@npm:1.0.1"
1099411028
dependencies:
10995-
minimist: ^1.2.5
11029+
minimist: ^1.2.0
1099611030
bin:
1099711031
json5: lib/cli.js
10998-
checksum: 07b1f90c2801dc52df2b0ac8d606cc400a85cda79130e754780fa2ab9805d0fb85a0e61b6a5cdd68e88e5d0c8f9109ec415af08283175556cdccaa8563853908
11032+
checksum: df41624f9f40bfacc546f779eef6d161a3312fbb6ec1dbd69f8c4388e9807af653b753371ab19b6d2bab22af2ca7dde62fe03c791596acf76915e1fc4ee6fd88
1099911033
languageName: node
1100011034
linkType: hard
1100111035

@@ -11432,7 +11466,7 @@ __metadata:
1143211466
languageName: node
1143311467
linkType: hard
1143411468

11435-
"lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.3.0, lodash@npm:^4.7.0, lodash@npm:~4.17.15":
11469+
"lodash@npm:4.x, lodash@npm:^4.17.11, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.20, lodash@npm:^4.17.21, lodash@npm:^4.3.0, lodash@npm:^4.7.0, lodash@npm:~4.17.15":
1143611470
version: 4.17.21
1143711471
resolution: "lodash@npm:4.17.21"
1143811472
checksum: 4983720b9abca930a4a46f18db163d7dad8dd00dbed6db0cc7b499b33b717cce69f80928b27bbb1ff2cbd3b19d251ee90669a8b5ea466072ca81c2ebe91e7468
@@ -11558,6 +11592,13 @@ __metadata:
1155811592
languageName: node
1155911593
linkType: hard
1156011594

11595+
"make-error@npm:1.x":
11596+
version: 1.3.6
11597+
resolution: "make-error@npm:1.3.6"
11598+
checksum: 2c780bab8409b865e8ee86697c599a2bf2765ec64d21eb67ccda27050e039f983feacad05a0d43aba3c966ea03d305d2612e94fec45474bcbc61181f57c5bb88
11599+
languageName: node
11600+
linkType: hard
11601+
1156111602
"make-fetch-happen@npm:^8.0.14":
1156211603
version: 8.0.14
1156311604
resolution: "make-fetch-happen@npm:8.0.14"
@@ -12244,6 +12285,15 @@ __metadata:
1224412285
languageName: node
1224512286
linkType: hard
1224612287

12288+
"mkdirp@npm:1.x, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4":
12289+
version: 1.0.4
12290+
resolution: "mkdirp@npm:1.0.4"
12291+
bin:
12292+
mkdirp: bin/cmd.js
12293+
checksum: 1aa3a6a2d7514f094a91329ec09994f5d32d2955a4985ecbb3d86f2aaeafc4aa11521f98d606144c1d49cd9835004d9a73342709b8c692c92e59eacf37412468
12294+
languageName: node
12295+
linkType: hard
12296+
1224712297
"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.5, mkdirp@npm:~0.5.1":
1224812298
version: 0.5.5
1224912299
resolution: "mkdirp@npm:0.5.5"
@@ -12255,15 +12305,6 @@ __metadata:
1225512305
languageName: node
1225612306
linkType: hard
1225712307

12258-
"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4":
12259-
version: 1.0.4
12260-
resolution: "mkdirp@npm:1.0.4"
12261-
bin:
12262-
mkdirp: bin/cmd.js
12263-
checksum: 1aa3a6a2d7514f094a91329ec09994f5d32d2955a4985ecbb3d86f2aaeafc4aa11521f98d606144c1d49cd9835004d9a73342709b8c692c92e59eacf37412468
12264-
languageName: node
12265-
linkType: hard
12266-
1226712308
"module-alias@npm:^2.2.2":
1226812309
version: 2.2.2
1226912310
resolution: "module-alias@npm:2.2.2"
@@ -14520,6 +14561,7 @@ __metadata:
1452014561
rimraf: ^3.0.2
1452114562
rollup: ^2.32.1
1452214563
rollup-plugin-terser: ^7.0.2
14564+
ts-jest: ^27.0.3
1452314565
typescript: ^4.3.4
1452414566
peerDependencies:
1452514567
react: ^16.8.3 || ^17
@@ -15522,16 +15564,7 @@ __metadata:
1552215564
languageName: node
1552315565
linkType: hard
1552415566

15525-
"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0":
15526-
version: 6.3.0
15527-
resolution: "semver@npm:6.3.0"
15528-
bin:
15529-
semver: ./bin/semver.js
15530-
checksum: f0d155c06a67cc7e500c92d929339f1c6efd4ce9fe398aee6acc00a2333489cca0f5b4e76ee7292beba237fcca4b5a3d4a6153471f105f56299801bdab37289f
15531-
languageName: node
15532-
linkType: hard
15533-
15534-
"semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:~7.3.0":
15567+
"semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:~7.3.0":
1553515568
version: 7.3.5
1553615569
resolution: "semver@npm:7.3.5"
1553715570
dependencies:
@@ -15542,6 +15575,15 @@ __metadata:
1554215575
languageName: node
1554315576
linkType: hard
1554415577

15578+
"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0":
15579+
version: 6.3.0
15580+
resolution: "semver@npm:6.3.0"
15581+
bin:
15582+
semver: ./bin/semver.js
15583+
checksum: f0d155c06a67cc7e500c92d929339f1c6efd4ce9fe398aee6acc00a2333489cca0f5b4e76ee7292beba237fcca4b5a3d4a6153471f105f56299801bdab37289f
15584+
languageName: node
15585+
linkType: hard
15586+
1554515587
"send@npm:0.17.1":
1554615588
version: 0.17.1
1554715589
resolution: "send@npm:0.17.1"
@@ -16921,6 +16963,29 @@ __metadata:
1692116963
languageName: node
1692216964
linkType: hard
1692316965

16966+
"ts-jest@npm:^27.0.3":
16967+
version: 27.0.3
16968+
resolution: "ts-jest@npm:27.0.3"
16969+
dependencies:
16970+
bs-logger: 0.x
16971+
buffer-from: 1.x
16972+
fast-json-stable-stringify: 2.x
16973+
jest-util: ^27.0.0
16974+
json5: 2.x
16975+
lodash: 4.x
16976+
make-error: 1.x
16977+
mkdirp: 1.x
16978+
semver: 7.x
16979+
yargs-parser: 20.x
16980+
peerDependencies:
16981+
jest: ^27.0.0
16982+
typescript: ">=3.8 <5.0"
16983+
bin:
16984+
ts-jest: cli.js
16985+
checksum: a63f3a8620a16335d745f22377a9cc118129d28a5b122c609a7c6aabbb8048c85733c771a0dd39b136e8a75401473409452bdd3c5b9e3b85317c2e3f3ac03267
16986+
languageName: node
16987+
linkType: hard
16988+
1692416989
"tsconfig-paths@npm:^3.9.0":
1692516990
version: 3.9.0
1692616991
resolution: "tsconfig-paths@npm:3.9.0"
@@ -18247,6 +18312,13 @@ __metadata:
1824718312
languageName: node
1824818313
linkType: hard
1824918314

18315+
"yargs-parser@npm:20.x":
18316+
version: 20.2.9
18317+
resolution: "yargs-parser@npm:20.2.9"
18318+
checksum: 3c58da6f6142f93c5207e309764bd90f723b9d7ed43f2e8aad0da1cefab83ee8ebf311dee2e81102646b74450c899e35b35053800b91fac23e6f433056f4c4cf
18319+
languageName: node
18320+
linkType: hard
18321+
1825018322
"yargs-parser@npm:^13.1.2":
1825118323
version: 13.1.2
1825218324
resolution: "yargs-parser@npm:13.1.2"

0 commit comments

Comments
 (0)