Skip to content

Commit ecd9403

Browse files
authored
test: use ts-jest for better coverage on TS files (#39)
test: use ts-jest for better coverage on TS files
2 parents aa8e4f0 + 0500d5f commit ecd9403

6 files changed

Lines changed: 97 additions & 14 deletions

File tree

packages/react-isomorphic-data/jest.config.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const transformers = {
2-
'\\.(js|jsx|ts|tsx)$': '<rootDir>/babelJestTransformer.js',
2+
'\\.(js|jsx)$': '<rootDir>/babelJestTransformer.js',
3+
'\\.(ts|tsx)$': 'ts-jest',
34
};
45

56
const config = {
@@ -11,9 +12,15 @@ const config = {
1112
moduleFileExtensions: ['ts', 'tsx', 'js', 'json'],
1213
collectCoverageFrom: [
1314
'src/**/*.{js,jsx,ts,tsx}',
15+
'!src/utils/querystringify/*',
1416
'!src/**/__tests__/*.{js,jsx,ts,tsx}'
1517
],
1618
setupFiles: ['<rootDir>/src/setupTests.ts'],
19+
globals: {
20+
'ts-jest': {
21+
tsConfig: 'tsconfig.test.json',
22+
},
23+
},
1724
projects: [
1825
{
1926
displayName: 'Core',

packages/react-isomorphic-data/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
"scripts": {
1010
"dev": "rollup -c --watch",
1111
"test": "jest",
12-
"test:coverage": "jest --coverage",
12+
"test:coverage": "jest --coverage --watchAll=false",
1313
"build": "NODE_ENV=production rollup -c",
1414
"prepack": "yarn build",
1515
"deploy": "npm publish"
@@ -68,6 +68,7 @@
6868
"rollup-plugin-terser": "^5.1.1",
6969
"rollup-plugin-typescript2": "^0.22.1",
7070
"rollup-plugin-visualizer": "^2.6.0",
71+
"ts-jest": "^25.1.0",
7172
"typescript": "^3.7.4"
7273
},
7374
"peerDependencies": {

packages/react-isomorphic-data/src/hooks/utils/useCacheSubscription.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import * as React from 'react';
22
import { DataContext, DataClient } from '../../common';
33
import { DataHookState } from '../types';
44
import useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';

packages/react-isomorphic-data/tsconfig.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"experimentalDecorators": true,
1313
"emitDecoratorMetadata": true,
1414
"resolveJsonModule": true,
15+
"esModuleInterop": true,
1516
"declarationDir": "dist/types",
1617
"outDir": "dist/lib",
1718
"typeRoots": [
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"compilerOptions": {
3+
"inlineSourceMap": true,
4+
"moduleResolution": "node",
5+
"target": "es5",
6+
"module":"es2015",
7+
"lib": ["es2015", "es2016", "es2017", "es2018", "es2019", "dom"],
8+
"strict": true,
9+
"sourceMap": true,
10+
"jsx": "react",
11+
"declaration": true,
12+
"allowSyntheticDefaultImports": true,
13+
"experimentalDecorators": true,
14+
"emitDecoratorMetadata": true,
15+
"resolveJsonModule": true,
16+
"esModuleInterop": true,
17+
"declarationDir": "dist/types",
18+
"outDir": "dist/lib",
19+
"typeRoots": [
20+
"node_modules/@types"
21+
],
22+
"types": ["node", "jest"]
23+
},
24+
"include": [
25+
"src"
26+
]
27+
}

yarn.lock

Lines changed: 58 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3869,6 +3869,13 @@ browserslist@^4.0.0, browserslist@^4.6.0, browserslist@^4.6.4, browserslist@^4.7
38693869
electron-to-chromium "^1.3.295"
38703870
node-releases "^1.1.38"
38713871

3872+
bs-logger@0.x:
3873+
version "0.2.6"
3874+
resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
3875+
integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==
3876+
dependencies:
3877+
fast-json-stable-stringify "2.x"
3878+
38723879
bser@^2.0.0:
38733880
version "2.1.1"
38743881
resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
@@ -3886,7 +3893,7 @@ buffer-equal@0.0.1:
38863893
resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b"
38873894
integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=
38883895

3889-
buffer-from@^1.0.0:
3896+
buffer-from@1.x, buffer-from@^1.0.0:
38903897
version "1.1.1"
38913898
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
38923899
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
@@ -6316,6 +6323,11 @@ fast-glob@^2.0.2, fast-glob@^2.2.6:
63166323
merge2 "^1.2.3"
63176324
micromatch "^3.1.10"
63186325

6326+
fast-json-stable-stringify@2.x:
6327+
version "2.1.0"
6328+
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
6329+
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
6330+
63196331
fast-json-stable-stringify@^2.0.0:
63206332
version "2.0.0"
63216333
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
@@ -9129,6 +9141,13 @@ json3@^3.3.2:
91299141
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
91309142
integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
91319143

9144+
json5@2.x, json5@^2.1.0:
9145+
version "2.1.1"
9146+
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6"
9147+
integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==
9148+
dependencies:
9149+
minimist "^1.2.0"
9150+
91329151
json5@^0.5.0, json5@^0.5.1:
91339152
version "0.5.1"
91349153
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
@@ -9141,13 +9160,6 @@ json5@^1.0.1:
91419160
dependencies:
91429161
minimist "^1.2.0"
91439162

9144-
json5@^2.1.0:
9145-
version "2.1.1"
9146-
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.1.tgz#81b6cb04e9ba496f1c7005d07b4368a2638f90b6"
9147-
integrity sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==
9148-
dependencies:
9149-
minimist "^1.2.0"
9150-
91519163
jsonfile@^4.0.0:
91529164
version "4.0.0"
91539165
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
@@ -9443,7 +9455,7 @@ lodash.map@^4.5.1:
94439455
resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3"
94449456
integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=
94459457

9446-
lodash.memoize@^4.1.2:
9458+
lodash.memoize@4.x, lodash.memoize@^4.1.2:
94479459
version "4.1.2"
94489460
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
94499461
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
@@ -9583,6 +9595,11 @@ make-dir@^3.0.0:
95839595
dependencies:
95849596
semver "^6.0.0"
95859597

9598+
make-error@1.x:
9599+
version "1.3.5"
9600+
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8"
9601+
integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==
9602+
95869603
make-fetch-happen@^5.0.0:
95879604
version "5.0.1"
95889605
resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.1.tgz#fac65400ab5f7a9c001862a3e9b0f417f0840175"
@@ -9970,7 +9987,7 @@ mkdirp-promise@^5.0.1:
99709987
dependencies:
99719988
mkdirp "*"
99729989

9973-
mkdirp@*, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
9990+
mkdirp@*, mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1:
99749991
version "0.5.1"
99759992
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
99769993
integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
@@ -12691,6 +12708,13 @@ resolve@1.11.1:
1269112708
dependencies:
1269212709
path-parse "^1.0.6"
1269312710

12711+
resolve@1.x:
12712+
version "1.15.0"
12713+
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5"
12714+
integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw==
12715+
dependencies:
12716+
path-parse "^1.0.6"
12717+
1269412718
resolve@^1.1.5, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.3.2, resolve@^1.5.0, resolve@^1.8.1:
1269512719
version "1.12.0"
1269612720
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6"
@@ -13018,7 +13042,7 @@ semver-compare@^1.0.0:
1301813042
resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
1301913043
integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
1302013044

13021-
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0:
13045+
"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.1, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0:
1302213046
version "5.7.1"
1302313047
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
1302413048
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
@@ -14221,6 +14245,22 @@ trim-right@^1.0.1:
1422114245
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
1422214246
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
1422314247

14248+
ts-jest@^25.1.0:
14249+
version "25.1.0"
14250+
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.1.0.tgz#06e776c4cce8a4da8eec4945f36a5823d0c0f9ba"
14251+
integrity sha512-1Lf576ulKhbxX5og+tG8udVg/5cgcMLPBxp1iCqbbf6VvUK4gEsgAtzMjl8u98izhLrzKMPB0LxCBKEZ5l19Hw==
14252+
dependencies:
14253+
bs-logger "0.x"
14254+
buffer-from "1.x"
14255+
fast-json-stable-stringify "2.x"
14256+
json5 "2.x"
14257+
lodash.memoize "4.x"
14258+
make-error "1.x"
14259+
mkdirp "0.x"
14260+
resolve "1.x"
14261+
semver "^5.5"
14262+
yargs-parser "10.x"
14263+
1422414264
ts-loader@^5.2.1:
1422514265
version "5.4.5"
1422614266
resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-5.4.5.tgz#a0c1f034b017a9344cef0961bfd97cc192492b8b"
@@ -15156,6 +15196,13 @@ yaml@^1.7.2:
1515615196
dependencies:
1515715197
"@babel/runtime" "^7.6.3"
1515815198

15199+
yargs-parser@10.x:
15200+
version "10.1.0"
15201+
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8"
15202+
integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==
15203+
dependencies:
15204+
camelcase "^4.1.0"
15205+
1515915206
yargs-parser@^11.1.1:
1516015207
version "11.1.1"
1516115208
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4"

0 commit comments

Comments
 (0)