From 57c7af0bd6e12cb683894c39303affa2111f8ea0 Mon Sep 17 00:00:00 2001 From: Ahn Date: Mon, 30 Mar 2020 19:30:15 +0200 Subject: [PATCH 01/23] fix(config): set default outDir for enabled allowJs without outDir (#1472) --- src/config/config-set.spec.ts | 4 ++++ src/config/config-set.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/src/config/config-set.spec.ts b/src/config/config-set.spec.ts index fa7593768a..bee8825f0c 100644 --- a/src/config/config-set.spec.ts +++ b/src/config/config-set.spec.ts @@ -495,6 +495,10 @@ describe('typescript', () => { }) }) + it('should include default outDir $$ts-jest$$ when allowJs is enabled and no outDir from config', () => { + expect(get(void 0, { tsConfig: { allowJs: true } }).options.outDir).toBe('$$ts-jest$$') + }) + it('should be able to read extends', () => { const cs = createConfigSet({ tsJestConfig: { tsConfig: 'tsconfig.build.json' }, diff --git a/src/config/config-set.ts b/src/config/config-set.ts index 47214ab300..c75f7fbaa8 100644 --- a/src/config/config-set.ts +++ b/src/config/config-set.ts @@ -714,6 +714,10 @@ export class ConfigSet { finalOptions.allowSyntheticDefaultImports = true } } + // Make sure when allowJs is enabled, outDir is set otherwise we run into error: Cannot write file ... because it would overwrite input + if (finalOptions.allowJs && !finalOptions.outDir) { + finalOptions.outDir = '$$ts-jest$$' + } // ensure undefined are removed and other values are overridden for (const key of Object.keys(forcedOptions)) { From 60e7196e6ef0a64ded64cda443cff568bc84873f Mon Sep 17 00:00:00 2001 From: Ahn Date: Mon, 30 Mar 2020 19:45:38 +0200 Subject: [PATCH 02/23] chore(e2e): update dependencies for e2e templates (#1473) --- CHANGELOG.md | 31 +-- e2e/__templates__/default/package-lock.json | 240 +++++++++--------- e2e/__templates__/default/package.json | 2 +- .../package-lock.json | 240 +++++++++--------- .../with-babel-7-string-config/package.json | 4 +- .../with-babel-7/package-lock.json | 240 +++++++++--------- e2e/__templates__/with-babel-7/package.json | 4 +- .../with-typescript-2-7/package-lock.json | 240 +++++++++--------- .../with-typescript-2-7/package.json | 2 +- .../package-lock.json | 240 +++++++++--------- .../with-unsupported-version/package.json | 2 +- package.json | 6 +- 12 files changed, 619 insertions(+), 632 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 250ff06d06..5b1f91c644 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,16 @@ -# [25.3.0](https://github.com/kulshekhar/ts-jest/compare/25.2.1...25.3.0) (2020-03-30) +# [25.3.0](https://github.com/kulshekhar/ts-jest/compare/25.2.1...v25.3.0) (2020-03-30) ### Bug Fixes -* add jest-config to dependencies list ([6d9e0d8](https://github.com/kulshekhar/ts-jest/commit/6d9e0d8)) -* always do type check for all files provided to ts-jest transformer ([#1450](https://github.com/kulshekhar/ts-jest/issues/1450)) ([107e062](https://github.com/kulshekhar/ts-jest/commit/107e062)) -* **docs:** correct changelog, correct version in package.json ([#1406](https://github.com/kulshekhar/ts-jest/issues/1406)) ([542e181](https://github.com/kulshekhar/ts-jest/commit/542e181)) +* add `jest-config` to dependencies list ([6d9e0d8](https://github.com/kulshekhar/ts-jest/commit/6d9e0d8)) +* always do type check for all files provided to ts-jest transformer for non-watch mode ([#1450](https://github.com/kulshekhar/ts-jest/issues/1450)) ([107e062](https://github.com/kulshekhar/ts-jest/commit/107e062)) ### Chores -* **config:** improve diagnostics message ([#1444](https://github.com/kulshekhar/ts-jest/issues/1444)) ([96cd9b3](https://github.com/kulshekhar/ts-jest/commit/96cd9b3)) +* **docs:** add `TROUBLESHOOTING` ([96cd9b3](https://github.com/kulshekhar/ts-jest/commit/b8ebf36)) ### Features @@ -22,12 +21,12 @@ ### BREAKING CHANGES -* **config:** This will affect to any snapshots or assertion against diagnostics messages +* **config:** improve diagnostics message ([#1444](https://github.com/kulshekhar/ts-jest/issues/1444)) ([96cd9b3](https://github.com/kulshekhar/ts-jest/commit/96cd9b3)). This will affect to any snapshots or assertion against diagnostics messages -## [25.2.1](https://github.com/kulshekhar/ts-jest/compare/v25.2.0...25.2.1) (2020-02-21) +# [25.2.1](https://github.com/kulshekhar/ts-jest/compare/25.2.0...25.2.1) (2020-02-21) ### Bug Fixes @@ -45,12 +44,7 @@ ### Bug Fixes -* **config:** comment out unused codes ([dff1332](https://github.com/kulshekhar/ts-jest/commit/dff1332)) -* **config:** pass plain config object to babel-jest transformer ([e0895da](https://github.com/kulshekhar/ts-jest/commit/e0895da)) -* **config:** remove unused codes ([7aa3928](https://github.com/kulshekhar/ts-jest/commit/7aa3928)) -* **config:** remove unused import ([81897e1](https://github.com/kulshekhar/ts-jest/commit/81897e1)) -* **test:** improve unit tests for babel config ([ebd9380](https://github.com/kulshekhar/ts-jest/commit/ebd9380)) -* **test:** update snapshot ([0e1190d](https://github.com/kulshekhar/ts-jest/commit/0e1190d)) +* **config:** let babel-jest handle loading babel config ([#1370](https://github.com/kulshekhar/ts-jest/issues/1370)) @@ -60,7 +54,7 @@ ### Bug Fixes -* jest 25 type definitions ([ba82a9e](https://github.com/kulshekhar/ts-jest/commit/ba82a9e)) +* jest 25 type definitions ([#1363](https://github.com/kulshekhar/ts-jest/issues/1363)) ([ba82a9e](https://github.com/kulshekhar/ts-jest/commit/ba82a9e)) @@ -68,16 +62,9 @@ # [25.0.0](https://github.com/kulshekhar/ts-jest/compare/v24.3.0...v25.0.0) (2020-01-23) -### Bug Fixes - -* Fix tests for version checks v2 ([154f1d6](https://github.com/kulshekhar/ts-jest/commit/154f1d6)) -* Try to fix snapshots ([ea0ea50](https://github.com/kulshekhar/ts-jest/commit/ea0ea50)) -* Try to fix snapshots v2 ([82445bb](https://github.com/kulshekhar/ts-jest/commit/82445bb)) - - ### Features -* support Jest 25 ([ffc2cfe](https://github.com/kulshekhar/ts-jest/commit/ffc2cfe)) +* support Jest 25 ([#1355](https://github.com/kulshekhar/ts-jest/issues/1355)) diff --git a/e2e/__templates__/default/package-lock.json b/e2e/__templates__/default/package-lock.json index ae1b8c9f72..54e59505f1 100644 --- a/e2e/__templates__/default/package-lock.json +++ b/e2e/__templates__/default/package-lock.json @@ -360,33 +360,33 @@ } }, "@jest/core": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.3.tgz", - "integrity": "sha512-Ifz3aEkGvZhwijLMmWa7sloZVEMdxpzjFv3CKHv3eRYRShTN8no6DmyvvxaZBjLalOlRalJ7HDgc733J48tSuw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.4.tgz", + "integrity": "sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/reporters": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/reporters": "^25.2.4", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", "jest-changed-files": "^25.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-resolve-dependencies": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-resolve-dependencies": "^25.2.4", + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", - "jest-watcher": "^25.2.3", + "jest-watcher": "^25.2.4", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -396,39 +396,39 @@ } }, "@jest/environment": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.3.tgz", - "integrity": "sha512-zRypAMQnNo8rD0rCbI9+5xf+Lu+uvunKZNBcIWjb3lTATSomKbgYO+GYewGDYn7pf+30XCNBc6SH1rnBUN1ioA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.4.tgz", + "integrity": "sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==", "dev": true, "requires": { - "@jest/fake-timers": "^25.2.3", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3" } }, "@jest/fake-timers": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.3.tgz", - "integrity": "sha512-B6Qxm86fl613MV8egfvh1mRTMu23hMNdOUjzPhKl/4Nm5cceHz6nwLn0nP0sJXI/ue1vu71aLbtkgVBCgc2hYA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.4.tgz", + "integrity": "sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==", "dev": true, "requires": { "@jest/types": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.3.tgz", - "integrity": "sha512-S0Zca5e7tTfGgxGRvBh6hktNdOBzqc6HthPzYHPRFYVW81SyzCqHTaNZydtDIVehb9s6NlyYZpcF/I2vco+lNw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.4.tgz", + "integrity": "sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", @@ -463,34 +463,34 @@ } }, "@jest/test-result": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.3.tgz", - "integrity": "sha512-cNYidqERTcT+xqZZ5FPSvji7Bd2YYq9M/VJCEUmgTVRFZRPOPSu65crEzQJ4czcDChEJ9ovzZ65r3UBlajnh3w==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.4.tgz", + "integrity": "sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.3.tgz", - "integrity": "sha512-trHwV/wCrxWyZyNyNBUQExsaHyBVQxJwH3butpEcR+KBJPfaTUxtpXaxfs38IXXAhH68J4kPZgAaRRfkFTLunA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz", + "integrity": "sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3" + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4" } }, "@jest/transform": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.3.tgz", - "integrity": "sha512-w1nfAuYP4OAiEDprFkE/2iwU86jL/hK3j1ylMcYOA3my5VOHqX0oeBcBxS2fUKWse2V4izuO2jqes0yNTDMlzw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", + "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", "dev": true, "requires": { "@babel/core": "^7.1.0", @@ -821,12 +821,12 @@ "dev": true }, "babel-jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.3.tgz", - "integrity": "sha512-03JjvEwuDrEz/A45K8oggAv+Vqay0xcOdNTJxYFxiuZvB5vlHKo1iZg9Pi5vQTHhNCKpGLb7L/jvUUafyh9j7g==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", + "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", "dev": true, "requires": { - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", @@ -1482,16 +1482,16 @@ } }, "expect": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.3.tgz", - "integrity": "sha512-kil4jFRFAK2ySyCyXPqYrphc3EiiKKFd9BthrkKAyHcqr1B84xFTuj5kO8zL+eHRRjT2jQsOPExO0+1Q/fuUXg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.4.tgz", + "integrity": "sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==", "dev": true, "requires": { "@jest/types": "^25.2.3", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1" } }, @@ -2116,30 +2116,30 @@ } }, "jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-UbUmyGeZt0/sCIj/zsWOY0qFfQsx2qEFIZp0iEj8yVH6qASfR22fJOf12gFuSPsdSufam+llZBB0MdXWCg6EEQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.4.tgz", + "integrity": "sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ==", "dev": true, "requires": { - "@jest/core": "^25.2.3", + "@jest/core": "^25.2.4", "import-local": "^3.0.2", - "jest-cli": "^25.2.3" + "jest-cli": "^25.2.4" }, "dependencies": { "jest-cli": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.3.tgz", - "integrity": "sha512-T7G0TOkFj0wr33ki5xoq3bxkKC+liwJfjV9SmYIKBozwh91W4YjL1o1dgVCUTB1+sKJa/DiAY0p+eXYE6v2RGw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.4.tgz", + "integrity": "sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==", "dev": true, "requires": { - "@jest/core": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/core": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "prompts": "^2.0.1", @@ -2243,22 +2243,22 @@ } }, "jest-config": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.3.tgz", - "integrity": "sha512-UpTNxN8DgmLLCXFizGuvwIw+ZAPB0T3jbKaFEkzJdGqhSsQrVrk1lxhZNamaVIpWirM2ptYmqwUzvoobGCEkiQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.4.tgz", + "integrity": "sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.3", + "@jest/test-sequencer": "^25.2.4", "@jest/types": "^25.2.3", - "babel-jest": "^25.2.3", + "babel-jest": "^25.2.4", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.2.3", - "jest-environment-node": "^25.2.3", + "jest-environment-jsdom": "^25.2.4", + "jest-environment-node": "^25.2.4", "jest-get-type": "^25.2.1", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", "jest-util": "^25.2.3", @@ -2303,13 +2303,13 @@ } }, "jest-environment-jsdom": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.3.tgz", - "integrity": "sha512-TLg7nizxIYJafz6tOBAVSmO5Ekswf6Cf3Soseov+mgonXfdYi1I0OZlHlZMJb2fGyXem2ndYFCLrMkwcWPKAnQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz", + "integrity": "sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2317,13 +2317,13 @@ } }, "jest-environment-node": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.3.tgz", - "integrity": "sha512-Tu/wlGXfoLtBR4Ym+isz58z3TJkMYX4VnFTkrsxaTGYAxNLN7ArCwL51Ki0WrMd89v+pbCLDj/hDjrb4a2sOrw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.4.tgz", + "integrity": "sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2357,25 +2357,25 @@ } }, "jest-jasmine2": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.3.tgz", - "integrity": "sha512-x9PEGPFdnkSwJj1UG4QxG9JxFdyP8fuJ/UfKXd/eSpK8w9x7MP3VaQDuPQF0UQhCT0YeOITEPkQyqS+ptt0suA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz", + "integrity": "sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "is-generator-fn": "^2.0.0", "jest-each": "^25.2.3", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-message-util": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "pretty-format": "^25.2.3", "throat": "^5.0.0" @@ -2404,13 +2404,13 @@ } }, "jest-message-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.3.tgz", - "integrity": "sha512-DcyDmdO5LVIeS0ngRvd7rk701XL60dAakUeQJ1tQRby27fyLYXD+V0nqVaC194W7fIlohjVQOZPHmKXIjn+Byw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.4.tgz", + "integrity": "sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", @@ -2455,37 +2455,37 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.3.tgz", - "integrity": "sha512-mcWlvjXLlNzgdE9EQxHuaeWICNxozanim87EfyvPwTY0ryWusFZbgF6F8u3E0syJ4FFSooEm0lQ6fgYcnPGAFw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz", + "integrity": "sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==", "dev": true, "requires": { "@jest/types": "^25.2.3", "jest-regex-util": "^25.2.1", - "jest-snapshot": "^25.2.3" + "jest-snapshot": "^25.2.4" } }, "jest-runner": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.3.tgz", - "integrity": "sha512-E+u2Zm2TmtTOFEbKs5jllLiV2fwiX77cYc08RdyYZNe/s06wQT3P47aV6a8Rv61L7E2Is7OmozLd0KI/DITRpg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.4.tgz", + "integrity": "sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-docblock": "^25.2.3", "jest-haste-map": "^25.2.3", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-leak-detector": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", - "jest-runtime": "^25.2.3", + "jest-runtime": "^25.2.4", "jest-util": "^25.2.3", "jest-worker": "^25.2.1", "source-map-support": "^0.5.6", @@ -2493,16 +2493,16 @@ } }, "jest-runtime": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.3.tgz", - "integrity": "sha512-PZRFeUVF08N24v2G73SDF0b0VpLG7cRNOJ3ggj5TnArBVHkkrWzM3z7txB9OupWu7OO8bH/jFogk6sSjnHLFXQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.4.tgz", + "integrity": "sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", @@ -2510,13 +2510,13 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "realpath-native": "^2.0.0", @@ -2532,20 +2532,20 @@ "dev": true }, "jest-snapshot": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.3.tgz", - "integrity": "sha512-HlFVbE6vOZ541mtkwjuAe0rfx9EWhB+QXXneLNOP/s3LlHxGQtX7WFXY5OiH4CkAnCc6BpzLNYS9nfINNRb4Zg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.4.tgz", + "integrity": "sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^25.2.3", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "jest-diff": "^25.2.3", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", @@ -2580,12 +2580,12 @@ } }, "jest-watcher": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.3.tgz", - "integrity": "sha512-F6ERbdvJk8nbaRon9lLQVl4kp+vToCCHmy+uWW5QQ8/8/g2jkrZKJQnlQINrYQp0ewg31Bztkhs4nxsZMx6wDg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.4.tgz", + "integrity": "sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", diff --git a/e2e/__templates__/default/package.json b/e2e/__templates__/default/package.json index c9f55913d6..66eda2d911 100644 --- a/e2e/__templates__/default/package.json +++ b/e2e/__templates__/default/package.json @@ -5,7 +5,7 @@ "devDependencies": { "@types/jest": "25.1.4", "@types/node": "12.12.32", - "jest": "25.2.3", + "jest": "25.2.4", "typescript": "3.8.3" }, "wantedDependencies": { diff --git a/e2e/__templates__/with-babel-7-string-config/package-lock.json b/e2e/__templates__/with-babel-7-string-config/package-lock.json index 06de56a49f..266b6caa03 100644 --- a/e2e/__templates__/with-babel-7-string-config/package-lock.json +++ b/e2e/__templates__/with-babel-7-string-config/package-lock.json @@ -338,33 +338,33 @@ } }, "@jest/core": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.3.tgz", - "integrity": "sha512-Ifz3aEkGvZhwijLMmWa7sloZVEMdxpzjFv3CKHv3eRYRShTN8no6DmyvvxaZBjLalOlRalJ7HDgc733J48tSuw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.4.tgz", + "integrity": "sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/reporters": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/reporters": "^25.2.4", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", "jest-changed-files": "^25.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-resolve-dependencies": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-resolve-dependencies": "^25.2.4", + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", - "jest-watcher": "^25.2.3", + "jest-watcher": "^25.2.4", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -426,39 +426,39 @@ } }, "@jest/environment": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.3.tgz", - "integrity": "sha512-zRypAMQnNo8rD0rCbI9+5xf+Lu+uvunKZNBcIWjb3lTATSomKbgYO+GYewGDYn7pf+30XCNBc6SH1rnBUN1ioA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.4.tgz", + "integrity": "sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==", "dev": true, "requires": { - "@jest/fake-timers": "^25.2.3", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3" } }, "@jest/fake-timers": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.3.tgz", - "integrity": "sha512-B6Qxm86fl613MV8egfvh1mRTMu23hMNdOUjzPhKl/4Nm5cceHz6nwLn0nP0sJXI/ue1vu71aLbtkgVBCgc2hYA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.4.tgz", + "integrity": "sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==", "dev": true, "requires": { "@jest/types": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.3.tgz", - "integrity": "sha512-S0Zca5e7tTfGgxGRvBh6hktNdOBzqc6HthPzYHPRFYVW81SyzCqHTaNZydtDIVehb9s6NlyYZpcF/I2vco+lNw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.4.tgz", + "integrity": "sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", @@ -559,34 +559,34 @@ } }, "@jest/test-result": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.3.tgz", - "integrity": "sha512-cNYidqERTcT+xqZZ5FPSvji7Bd2YYq9M/VJCEUmgTVRFZRPOPSu65crEzQJ4czcDChEJ9ovzZ65r3UBlajnh3w==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.4.tgz", + "integrity": "sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.3.tgz", - "integrity": "sha512-trHwV/wCrxWyZyNyNBUQExsaHyBVQxJwH3butpEcR+KBJPfaTUxtpXaxfs38IXXAhH68J4kPZgAaRRfkFTLunA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz", + "integrity": "sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3" + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4" } }, "@jest/transform": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.3.tgz", - "integrity": "sha512-w1nfAuYP4OAiEDprFkE/2iwU86jL/hK3j1ylMcYOA3my5VOHqX0oeBcBxS2fUKWse2V4izuO2jqes0yNTDMlzw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", + "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", "dev": true, "requires": { "@babel/core": "^7.1.0", @@ -1026,12 +1026,12 @@ "dev": true }, "babel-jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.3.tgz", - "integrity": "sha512-03JjvEwuDrEz/A45K8oggAv+Vqay0xcOdNTJxYFxiuZvB5vlHKo1iZg9Pi5vQTHhNCKpGLb7L/jvUUafyh9j7g==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", + "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", "dev": true, "requires": { - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", @@ -1743,16 +1743,16 @@ } }, "expect": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.3.tgz", - "integrity": "sha512-kil4jFRFAK2ySyCyXPqYrphc3EiiKKFd9BthrkKAyHcqr1B84xFTuj5kO8zL+eHRRjT2jQsOPExO0+1Q/fuUXg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.4.tgz", + "integrity": "sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==", "dev": true, "requires": { "@jest/types": "^25.2.3", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1" }, "dependencies": { @@ -2437,14 +2437,14 @@ } }, "jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-UbUmyGeZt0/sCIj/zsWOY0qFfQsx2qEFIZp0iEj8yVH6qASfR22fJOf12gFuSPsdSufam+llZBB0MdXWCg6EEQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.4.tgz", + "integrity": "sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ==", "dev": true, "requires": { - "@jest/core": "^25.2.3", + "@jest/core": "^25.2.4", "import-local": "^3.0.2", - "jest-cli": "^25.2.3" + "jest-cli": "^25.2.4" }, "dependencies": { "ansi-styles": { @@ -2489,19 +2489,19 @@ "dev": true }, "jest-cli": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.3.tgz", - "integrity": "sha512-T7G0TOkFj0wr33ki5xoq3bxkKC+liwJfjV9SmYIKBozwh91W4YjL1o1dgVCUTB1+sKJa/DiAY0p+eXYE6v2RGw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.4.tgz", + "integrity": "sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==", "dev": true, "requires": { - "@jest/core": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/core": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "prompts": "^2.0.1", @@ -2614,22 +2614,22 @@ } }, "jest-config": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.3.tgz", - "integrity": "sha512-UpTNxN8DgmLLCXFizGuvwIw+ZAPB0T3jbKaFEkzJdGqhSsQrVrk1lxhZNamaVIpWirM2ptYmqwUzvoobGCEkiQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.4.tgz", + "integrity": "sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.3", + "@jest/test-sequencer": "^25.2.4", "@jest/types": "^25.2.3", - "babel-jest": "^25.2.3", + "babel-jest": "^25.2.4", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.2.3", - "jest-environment-node": "^25.2.3", + "jest-environment-jsdom": "^25.2.4", + "jest-environment-node": "^25.2.4", "jest-get-type": "^25.2.1", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", "jest-util": "^25.2.3", @@ -2830,13 +2830,13 @@ } }, "jest-environment-jsdom": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.3.tgz", - "integrity": "sha512-TLg7nizxIYJafz6tOBAVSmO5Ekswf6Cf3Soseov+mgonXfdYi1I0OZlHlZMJb2fGyXem2ndYFCLrMkwcWPKAnQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz", + "integrity": "sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2844,13 +2844,13 @@ } }, "jest-environment-node": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.3.tgz", - "integrity": "sha512-Tu/wlGXfoLtBR4Ym+isz58z3TJkMYX4VnFTkrsxaTGYAxNLN7ArCwL51Ki0WrMd89v+pbCLDj/hDjrb4a2sOrw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.4.tgz", + "integrity": "sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2892,25 +2892,25 @@ } }, "jest-jasmine2": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.3.tgz", - "integrity": "sha512-x9PEGPFdnkSwJj1UG4QxG9JxFdyP8fuJ/UfKXd/eSpK8w9x7MP3VaQDuPQF0UQhCT0YeOITEPkQyqS+ptt0suA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz", + "integrity": "sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "is-generator-fn": "^2.0.0", "jest-each": "^25.2.3", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-message-util": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "pretty-format": "^25.2.3", "throat": "^5.0.0" @@ -3043,13 +3043,13 @@ } }, "jest-message-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.3.tgz", - "integrity": "sha512-DcyDmdO5LVIeS0ngRvd7rk701XL60dAakUeQJ1tQRby27fyLYXD+V0nqVaC194W7fIlohjVQOZPHmKXIjn+Byw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.4.tgz", + "integrity": "sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", @@ -3198,37 +3198,37 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.3.tgz", - "integrity": "sha512-mcWlvjXLlNzgdE9EQxHuaeWICNxozanim87EfyvPwTY0ryWusFZbgF6F8u3E0syJ4FFSooEm0lQ6fgYcnPGAFw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz", + "integrity": "sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==", "dev": true, "requires": { "@jest/types": "^25.2.3", "jest-regex-util": "^25.2.1", - "jest-snapshot": "^25.2.3" + "jest-snapshot": "^25.2.4" } }, "jest-runner": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.3.tgz", - "integrity": "sha512-E+u2Zm2TmtTOFEbKs5jllLiV2fwiX77cYc08RdyYZNe/s06wQT3P47aV6a8Rv61L7E2Is7OmozLd0KI/DITRpg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.4.tgz", + "integrity": "sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-docblock": "^25.2.3", "jest-haste-map": "^25.2.3", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-leak-detector": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", - "jest-runtime": "^25.2.3", + "jest-runtime": "^25.2.4", "jest-util": "^25.2.3", "jest-worker": "^25.2.1", "source-map-support": "^0.5.6", @@ -3288,16 +3288,16 @@ } }, "jest-runtime": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.3.tgz", - "integrity": "sha512-PZRFeUVF08N24v2G73SDF0b0VpLG7cRNOJ3ggj5TnArBVHkkrWzM3z7txB9OupWu7OO8bH/jFogk6sSjnHLFXQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.4.tgz", + "integrity": "sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", @@ -3305,13 +3305,13 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "realpath-native": "^2.0.0", @@ -3379,20 +3379,20 @@ "dev": true }, "jest-snapshot": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.3.tgz", - "integrity": "sha512-HlFVbE6vOZ541mtkwjuAe0rfx9EWhB+QXXneLNOP/s3LlHxGQtX7WFXY5OiH4CkAnCc6BpzLNYS9nfINNRb4Zg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.4.tgz", + "integrity": "sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^25.2.3", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "jest-diff": "^25.2.3", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", @@ -3589,12 +3589,12 @@ } }, "jest-watcher": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.3.tgz", - "integrity": "sha512-F6ERbdvJk8nbaRon9lLQVl4kp+vToCCHmy+uWW5QQ8/8/g2jkrZKJQnlQINrYQp0ewg31Bztkhs4nxsZMx6wDg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.4.tgz", + "integrity": "sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", diff --git a/e2e/__templates__/with-babel-7-string-config/package.json b/e2e/__templates__/with-babel-7-string-config/package.json index 8cfe95ce06..d948c513e7 100644 --- a/e2e/__templates__/with-babel-7-string-config/package.json +++ b/e2e/__templates__/with-babel-7-string-config/package.json @@ -6,8 +6,8 @@ "@babel/core": "7.9.0", "@types/jest": "25.1.4", "@types/node": "12.12.32", - "babel-jest": "25.2.3", - "jest": "25.2.3", + "babel-jest": "25.2.4", + "jest": "25.2.4", "typescript": "3.8.3" }, "wantedDependencies": { diff --git a/e2e/__templates__/with-babel-7/package-lock.json b/e2e/__templates__/with-babel-7/package-lock.json index 31c95ccb61..16727e5629 100644 --- a/e2e/__templates__/with-babel-7/package-lock.json +++ b/e2e/__templates__/with-babel-7/package-lock.json @@ -338,33 +338,33 @@ } }, "@jest/core": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.3.tgz", - "integrity": "sha512-Ifz3aEkGvZhwijLMmWa7sloZVEMdxpzjFv3CKHv3eRYRShTN8no6DmyvvxaZBjLalOlRalJ7HDgc733J48tSuw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.4.tgz", + "integrity": "sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/reporters": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/reporters": "^25.2.4", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", "jest-changed-files": "^25.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-resolve-dependencies": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-resolve-dependencies": "^25.2.4", + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", - "jest-watcher": "^25.2.3", + "jest-watcher": "^25.2.4", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -426,39 +426,39 @@ } }, "@jest/environment": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.3.tgz", - "integrity": "sha512-zRypAMQnNo8rD0rCbI9+5xf+Lu+uvunKZNBcIWjb3lTATSomKbgYO+GYewGDYn7pf+30XCNBc6SH1rnBUN1ioA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.4.tgz", + "integrity": "sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==", "dev": true, "requires": { - "@jest/fake-timers": "^25.2.3", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3" } }, "@jest/fake-timers": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.3.tgz", - "integrity": "sha512-B6Qxm86fl613MV8egfvh1mRTMu23hMNdOUjzPhKl/4Nm5cceHz6nwLn0nP0sJXI/ue1vu71aLbtkgVBCgc2hYA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.4.tgz", + "integrity": "sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==", "dev": true, "requires": { "@jest/types": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.3.tgz", - "integrity": "sha512-S0Zca5e7tTfGgxGRvBh6hktNdOBzqc6HthPzYHPRFYVW81SyzCqHTaNZydtDIVehb9s6NlyYZpcF/I2vco+lNw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.4.tgz", + "integrity": "sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", @@ -559,34 +559,34 @@ } }, "@jest/test-result": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.3.tgz", - "integrity": "sha512-cNYidqERTcT+xqZZ5FPSvji7Bd2YYq9M/VJCEUmgTVRFZRPOPSu65crEzQJ4czcDChEJ9ovzZ65r3UBlajnh3w==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.4.tgz", + "integrity": "sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.3.tgz", - "integrity": "sha512-trHwV/wCrxWyZyNyNBUQExsaHyBVQxJwH3butpEcR+KBJPfaTUxtpXaxfs38IXXAhH68J4kPZgAaRRfkFTLunA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz", + "integrity": "sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3" + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4" } }, "@jest/transform": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.3.tgz", - "integrity": "sha512-w1nfAuYP4OAiEDprFkE/2iwU86jL/hK3j1ylMcYOA3my5VOHqX0oeBcBxS2fUKWse2V4izuO2jqes0yNTDMlzw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", + "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", "dev": true, "requires": { "@babel/core": "^7.1.0", @@ -1026,12 +1026,12 @@ "dev": true }, "babel-jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.3.tgz", - "integrity": "sha512-03JjvEwuDrEz/A45K8oggAv+Vqay0xcOdNTJxYFxiuZvB5vlHKo1iZg9Pi5vQTHhNCKpGLb7L/jvUUafyh9j7g==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", + "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", "dev": true, "requires": { - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", @@ -1743,16 +1743,16 @@ } }, "expect": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.3.tgz", - "integrity": "sha512-kil4jFRFAK2ySyCyXPqYrphc3EiiKKFd9BthrkKAyHcqr1B84xFTuj5kO8zL+eHRRjT2jQsOPExO0+1Q/fuUXg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.4.tgz", + "integrity": "sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==", "dev": true, "requires": { "@jest/types": "^25.2.3", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1" }, "dependencies": { @@ -2437,14 +2437,14 @@ } }, "jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-UbUmyGeZt0/sCIj/zsWOY0qFfQsx2qEFIZp0iEj8yVH6qASfR22fJOf12gFuSPsdSufam+llZBB0MdXWCg6EEQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.4.tgz", + "integrity": "sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ==", "dev": true, "requires": { - "@jest/core": "^25.2.3", + "@jest/core": "^25.2.4", "import-local": "^3.0.2", - "jest-cli": "^25.2.3" + "jest-cli": "^25.2.4" }, "dependencies": { "ansi-styles": { @@ -2489,19 +2489,19 @@ "dev": true }, "jest-cli": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.3.tgz", - "integrity": "sha512-T7G0TOkFj0wr33ki5xoq3bxkKC+liwJfjV9SmYIKBozwh91W4YjL1o1dgVCUTB1+sKJa/DiAY0p+eXYE6v2RGw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.4.tgz", + "integrity": "sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==", "dev": true, "requires": { - "@jest/core": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/core": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "prompts": "^2.0.1", @@ -2614,22 +2614,22 @@ } }, "jest-config": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.3.tgz", - "integrity": "sha512-UpTNxN8DgmLLCXFizGuvwIw+ZAPB0T3jbKaFEkzJdGqhSsQrVrk1lxhZNamaVIpWirM2ptYmqwUzvoobGCEkiQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.4.tgz", + "integrity": "sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.3", + "@jest/test-sequencer": "^25.2.4", "@jest/types": "^25.2.3", - "babel-jest": "^25.2.3", + "babel-jest": "^25.2.4", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.2.3", - "jest-environment-node": "^25.2.3", + "jest-environment-jsdom": "^25.2.4", + "jest-environment-node": "^25.2.4", "jest-get-type": "^25.2.1", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", "jest-util": "^25.2.3", @@ -2830,13 +2830,13 @@ } }, "jest-environment-jsdom": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.3.tgz", - "integrity": "sha512-TLg7nizxIYJafz6tOBAVSmO5Ekswf6Cf3Soseov+mgonXfdYi1I0OZlHlZMJb2fGyXem2ndYFCLrMkwcWPKAnQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz", + "integrity": "sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2844,13 +2844,13 @@ } }, "jest-environment-node": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.3.tgz", - "integrity": "sha512-Tu/wlGXfoLtBR4Ym+isz58z3TJkMYX4VnFTkrsxaTGYAxNLN7ArCwL51Ki0WrMd89v+pbCLDj/hDjrb4a2sOrw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.4.tgz", + "integrity": "sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2892,25 +2892,25 @@ } }, "jest-jasmine2": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.3.tgz", - "integrity": "sha512-x9PEGPFdnkSwJj1UG4QxG9JxFdyP8fuJ/UfKXd/eSpK8w9x7MP3VaQDuPQF0UQhCT0YeOITEPkQyqS+ptt0suA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz", + "integrity": "sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "is-generator-fn": "^2.0.0", "jest-each": "^25.2.3", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-message-util": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "pretty-format": "^25.2.3", "throat": "^5.0.0" @@ -3043,13 +3043,13 @@ } }, "jest-message-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.3.tgz", - "integrity": "sha512-DcyDmdO5LVIeS0ngRvd7rk701XL60dAakUeQJ1tQRby27fyLYXD+V0nqVaC194W7fIlohjVQOZPHmKXIjn+Byw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.4.tgz", + "integrity": "sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", @@ -3198,37 +3198,37 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.3.tgz", - "integrity": "sha512-mcWlvjXLlNzgdE9EQxHuaeWICNxozanim87EfyvPwTY0ryWusFZbgF6F8u3E0syJ4FFSooEm0lQ6fgYcnPGAFw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz", + "integrity": "sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==", "dev": true, "requires": { "@jest/types": "^25.2.3", "jest-regex-util": "^25.2.1", - "jest-snapshot": "^25.2.3" + "jest-snapshot": "^25.2.4" } }, "jest-runner": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.3.tgz", - "integrity": "sha512-E+u2Zm2TmtTOFEbKs5jllLiV2fwiX77cYc08RdyYZNe/s06wQT3P47aV6a8Rv61L7E2Is7OmozLd0KI/DITRpg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.4.tgz", + "integrity": "sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-docblock": "^25.2.3", "jest-haste-map": "^25.2.3", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-leak-detector": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", - "jest-runtime": "^25.2.3", + "jest-runtime": "^25.2.4", "jest-util": "^25.2.3", "jest-worker": "^25.2.1", "source-map-support": "^0.5.6", @@ -3288,16 +3288,16 @@ } }, "jest-runtime": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.3.tgz", - "integrity": "sha512-PZRFeUVF08N24v2G73SDF0b0VpLG7cRNOJ3ggj5TnArBVHkkrWzM3z7txB9OupWu7OO8bH/jFogk6sSjnHLFXQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.4.tgz", + "integrity": "sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", @@ -3305,13 +3305,13 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "realpath-native": "^2.0.0", @@ -3379,20 +3379,20 @@ "dev": true }, "jest-snapshot": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.3.tgz", - "integrity": "sha512-HlFVbE6vOZ541mtkwjuAe0rfx9EWhB+QXXneLNOP/s3LlHxGQtX7WFXY5OiH4CkAnCc6BpzLNYS9nfINNRb4Zg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.4.tgz", + "integrity": "sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^25.2.3", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "jest-diff": "^25.2.3", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", @@ -3589,12 +3589,12 @@ } }, "jest-watcher": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.3.tgz", - "integrity": "sha512-F6ERbdvJk8nbaRon9lLQVl4kp+vToCCHmy+uWW5QQ8/8/g2jkrZKJQnlQINrYQp0ewg31Bztkhs4nxsZMx6wDg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.4.tgz", + "integrity": "sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", diff --git a/e2e/__templates__/with-babel-7/package.json b/e2e/__templates__/with-babel-7/package.json index 31b46cea69..7c845f4eb4 100644 --- a/e2e/__templates__/with-babel-7/package.json +++ b/e2e/__templates__/with-babel-7/package.json @@ -6,8 +6,8 @@ "@babel/core": "7.9.0", "@types/jest": "25.1.4", "@types/node": "12.12.32", - "babel-jest": "25.2.3", - "jest": "25.2.3", + "babel-jest": "25.2.4", + "jest": "25.2.4", "typescript": "3.8.3" }, "wantedDependencies": { diff --git a/e2e/__templates__/with-typescript-2-7/package-lock.json b/e2e/__templates__/with-typescript-2-7/package-lock.json index 9744b1050a..9e108e1785 100644 --- a/e2e/__templates__/with-typescript-2-7/package-lock.json +++ b/e2e/__templates__/with-typescript-2-7/package-lock.json @@ -360,33 +360,33 @@ } }, "@jest/core": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.3.tgz", - "integrity": "sha512-Ifz3aEkGvZhwijLMmWa7sloZVEMdxpzjFv3CKHv3eRYRShTN8no6DmyvvxaZBjLalOlRalJ7HDgc733J48tSuw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.4.tgz", + "integrity": "sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/reporters": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/reporters": "^25.2.4", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", "jest-changed-files": "^25.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-resolve-dependencies": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-resolve-dependencies": "^25.2.4", + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", - "jest-watcher": "^25.2.3", + "jest-watcher": "^25.2.4", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -396,39 +396,39 @@ } }, "@jest/environment": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.3.tgz", - "integrity": "sha512-zRypAMQnNo8rD0rCbI9+5xf+Lu+uvunKZNBcIWjb3lTATSomKbgYO+GYewGDYn7pf+30XCNBc6SH1rnBUN1ioA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.4.tgz", + "integrity": "sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==", "dev": true, "requires": { - "@jest/fake-timers": "^25.2.3", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3" } }, "@jest/fake-timers": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.3.tgz", - "integrity": "sha512-B6Qxm86fl613MV8egfvh1mRTMu23hMNdOUjzPhKl/4Nm5cceHz6nwLn0nP0sJXI/ue1vu71aLbtkgVBCgc2hYA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.4.tgz", + "integrity": "sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==", "dev": true, "requires": { "@jest/types": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.3.tgz", - "integrity": "sha512-S0Zca5e7tTfGgxGRvBh6hktNdOBzqc6HthPzYHPRFYVW81SyzCqHTaNZydtDIVehb9s6NlyYZpcF/I2vco+lNw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.4.tgz", + "integrity": "sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", @@ -463,34 +463,34 @@ } }, "@jest/test-result": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.3.tgz", - "integrity": "sha512-cNYidqERTcT+xqZZ5FPSvji7Bd2YYq9M/VJCEUmgTVRFZRPOPSu65crEzQJ4czcDChEJ9ovzZ65r3UBlajnh3w==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.4.tgz", + "integrity": "sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.3.tgz", - "integrity": "sha512-trHwV/wCrxWyZyNyNBUQExsaHyBVQxJwH3butpEcR+KBJPfaTUxtpXaxfs38IXXAhH68J4kPZgAaRRfkFTLunA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz", + "integrity": "sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3" + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4" } }, "@jest/transform": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.3.tgz", - "integrity": "sha512-w1nfAuYP4OAiEDprFkE/2iwU86jL/hK3j1ylMcYOA3my5VOHqX0oeBcBxS2fUKWse2V4izuO2jqes0yNTDMlzw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", + "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", "dev": true, "requires": { "@babel/core": "^7.1.0", @@ -821,12 +821,12 @@ "dev": true }, "babel-jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.3.tgz", - "integrity": "sha512-03JjvEwuDrEz/A45K8oggAv+Vqay0xcOdNTJxYFxiuZvB5vlHKo1iZg9Pi5vQTHhNCKpGLb7L/jvUUafyh9j7g==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", + "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", "dev": true, "requires": { - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", @@ -1482,16 +1482,16 @@ } }, "expect": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.3.tgz", - "integrity": "sha512-kil4jFRFAK2ySyCyXPqYrphc3EiiKKFd9BthrkKAyHcqr1B84xFTuj5kO8zL+eHRRjT2jQsOPExO0+1Q/fuUXg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.4.tgz", + "integrity": "sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==", "dev": true, "requires": { "@jest/types": "^25.2.3", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1" } }, @@ -2116,30 +2116,30 @@ } }, "jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-UbUmyGeZt0/sCIj/zsWOY0qFfQsx2qEFIZp0iEj8yVH6qASfR22fJOf12gFuSPsdSufam+llZBB0MdXWCg6EEQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.4.tgz", + "integrity": "sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ==", "dev": true, "requires": { - "@jest/core": "^25.2.3", + "@jest/core": "^25.2.4", "import-local": "^3.0.2", - "jest-cli": "^25.2.3" + "jest-cli": "^25.2.4" }, "dependencies": { "jest-cli": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.3.tgz", - "integrity": "sha512-T7G0TOkFj0wr33ki5xoq3bxkKC+liwJfjV9SmYIKBozwh91W4YjL1o1dgVCUTB1+sKJa/DiAY0p+eXYE6v2RGw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.4.tgz", + "integrity": "sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==", "dev": true, "requires": { - "@jest/core": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/core": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "prompts": "^2.0.1", @@ -2243,22 +2243,22 @@ } }, "jest-config": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.3.tgz", - "integrity": "sha512-UpTNxN8DgmLLCXFizGuvwIw+ZAPB0T3jbKaFEkzJdGqhSsQrVrk1lxhZNamaVIpWirM2ptYmqwUzvoobGCEkiQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.4.tgz", + "integrity": "sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.3", + "@jest/test-sequencer": "^25.2.4", "@jest/types": "^25.2.3", - "babel-jest": "^25.2.3", + "babel-jest": "^25.2.4", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.2.3", - "jest-environment-node": "^25.2.3", + "jest-environment-jsdom": "^25.2.4", + "jest-environment-node": "^25.2.4", "jest-get-type": "^25.2.1", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", "jest-util": "^25.2.3", @@ -2303,13 +2303,13 @@ } }, "jest-environment-jsdom": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.3.tgz", - "integrity": "sha512-TLg7nizxIYJafz6tOBAVSmO5Ekswf6Cf3Soseov+mgonXfdYi1I0OZlHlZMJb2fGyXem2ndYFCLrMkwcWPKAnQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz", + "integrity": "sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2317,13 +2317,13 @@ } }, "jest-environment-node": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.3.tgz", - "integrity": "sha512-Tu/wlGXfoLtBR4Ym+isz58z3TJkMYX4VnFTkrsxaTGYAxNLN7ArCwL51Ki0WrMd89v+pbCLDj/hDjrb4a2sOrw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.4.tgz", + "integrity": "sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2357,25 +2357,25 @@ } }, "jest-jasmine2": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.3.tgz", - "integrity": "sha512-x9PEGPFdnkSwJj1UG4QxG9JxFdyP8fuJ/UfKXd/eSpK8w9x7MP3VaQDuPQF0UQhCT0YeOITEPkQyqS+ptt0suA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz", + "integrity": "sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "is-generator-fn": "^2.0.0", "jest-each": "^25.2.3", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-message-util": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "pretty-format": "^25.2.3", "throat": "^5.0.0" @@ -2404,13 +2404,13 @@ } }, "jest-message-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.3.tgz", - "integrity": "sha512-DcyDmdO5LVIeS0ngRvd7rk701XL60dAakUeQJ1tQRby27fyLYXD+V0nqVaC194W7fIlohjVQOZPHmKXIjn+Byw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.4.tgz", + "integrity": "sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", @@ -2455,37 +2455,37 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.3.tgz", - "integrity": "sha512-mcWlvjXLlNzgdE9EQxHuaeWICNxozanim87EfyvPwTY0ryWusFZbgF6F8u3E0syJ4FFSooEm0lQ6fgYcnPGAFw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz", + "integrity": "sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==", "dev": true, "requires": { "@jest/types": "^25.2.3", "jest-regex-util": "^25.2.1", - "jest-snapshot": "^25.2.3" + "jest-snapshot": "^25.2.4" } }, "jest-runner": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.3.tgz", - "integrity": "sha512-E+u2Zm2TmtTOFEbKs5jllLiV2fwiX77cYc08RdyYZNe/s06wQT3P47aV6a8Rv61L7E2Is7OmozLd0KI/DITRpg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.4.tgz", + "integrity": "sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-docblock": "^25.2.3", "jest-haste-map": "^25.2.3", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-leak-detector": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", - "jest-runtime": "^25.2.3", + "jest-runtime": "^25.2.4", "jest-util": "^25.2.3", "jest-worker": "^25.2.1", "source-map-support": "^0.5.6", @@ -2493,16 +2493,16 @@ } }, "jest-runtime": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.3.tgz", - "integrity": "sha512-PZRFeUVF08N24v2G73SDF0b0VpLG7cRNOJ3ggj5TnArBVHkkrWzM3z7txB9OupWu7OO8bH/jFogk6sSjnHLFXQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.4.tgz", + "integrity": "sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", @@ -2510,13 +2510,13 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "realpath-native": "^2.0.0", @@ -2532,20 +2532,20 @@ "dev": true }, "jest-snapshot": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.3.tgz", - "integrity": "sha512-HlFVbE6vOZ541mtkwjuAe0rfx9EWhB+QXXneLNOP/s3LlHxGQtX7WFXY5OiH4CkAnCc6BpzLNYS9nfINNRb4Zg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.4.tgz", + "integrity": "sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^25.2.3", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "jest-diff": "^25.2.3", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", @@ -2580,12 +2580,12 @@ } }, "jest-watcher": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.3.tgz", - "integrity": "sha512-F6ERbdvJk8nbaRon9lLQVl4kp+vToCCHmy+uWW5QQ8/8/g2jkrZKJQnlQINrYQp0ewg31Bztkhs4nxsZMx6wDg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.4.tgz", + "integrity": "sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", diff --git a/e2e/__templates__/with-typescript-2-7/package.json b/e2e/__templates__/with-typescript-2-7/package.json index db2807292d..0cda0a2cb1 100644 --- a/e2e/__templates__/with-typescript-2-7/package.json +++ b/e2e/__templates__/with-typescript-2-7/package.json @@ -5,7 +5,7 @@ "devDependencies": { "@types/jest": "25.1.4", "@types/node": "12.12.32", - "jest": "25.2.3", + "jest": "25.2.4", "typescript": "2.7.2" }, "wantedDependencies": { diff --git a/e2e/__templates__/with-unsupported-version/package-lock.json b/e2e/__templates__/with-unsupported-version/package-lock.json index b074333d2b..9f839c94fa 100644 --- a/e2e/__templates__/with-unsupported-version/package-lock.json +++ b/e2e/__templates__/with-unsupported-version/package-lock.json @@ -360,33 +360,33 @@ } }, "@jest/core": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.3.tgz", - "integrity": "sha512-Ifz3aEkGvZhwijLMmWa7sloZVEMdxpzjFv3CKHv3eRYRShTN8no6DmyvvxaZBjLalOlRalJ7HDgc733J48tSuw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.4.tgz", + "integrity": "sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/reporters": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/reporters": "^25.2.4", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", "jest-changed-files": "^25.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-resolve-dependencies": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-resolve-dependencies": "^25.2.4", + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", - "jest-watcher": "^25.2.3", + "jest-watcher": "^25.2.4", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -396,39 +396,39 @@ } }, "@jest/environment": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.3.tgz", - "integrity": "sha512-zRypAMQnNo8rD0rCbI9+5xf+Lu+uvunKZNBcIWjb3lTATSomKbgYO+GYewGDYn7pf+30XCNBc6SH1rnBUN1ioA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.4.tgz", + "integrity": "sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==", "dev": true, "requires": { - "@jest/fake-timers": "^25.2.3", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3" } }, "@jest/fake-timers": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.3.tgz", - "integrity": "sha512-B6Qxm86fl613MV8egfvh1mRTMu23hMNdOUjzPhKl/4Nm5cceHz6nwLn0nP0sJXI/ue1vu71aLbtkgVBCgc2hYA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.4.tgz", + "integrity": "sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==", "dev": true, "requires": { "@jest/types": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.3.tgz", - "integrity": "sha512-S0Zca5e7tTfGgxGRvBh6hktNdOBzqc6HthPzYHPRFYVW81SyzCqHTaNZydtDIVehb9s6NlyYZpcF/I2vco+lNw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.4.tgz", + "integrity": "sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^25.2.3", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", @@ -463,34 +463,34 @@ } }, "@jest/test-result": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.3.tgz", - "integrity": "sha512-cNYidqERTcT+xqZZ5FPSvji7Bd2YYq9M/VJCEUmgTVRFZRPOPSu65crEzQJ4czcDChEJ9ovzZ65r3UBlajnh3w==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.4.tgz", + "integrity": "sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.3.tgz", - "integrity": "sha512-trHwV/wCrxWyZyNyNBUQExsaHyBVQxJwH3butpEcR+KBJPfaTUxtpXaxfs38IXXAhH68J4kPZgAaRRfkFTLunA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz", + "integrity": "sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-runner": "^25.2.3", - "jest-runtime": "^25.2.3" + "jest-runner": "^25.2.4", + "jest-runtime": "^25.2.4" } }, "@jest/transform": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.3.tgz", - "integrity": "sha512-w1nfAuYP4OAiEDprFkE/2iwU86jL/hK3j1ylMcYOA3my5VOHqX0oeBcBxS2fUKWse2V4izuO2jqes0yNTDMlzw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", + "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", "dev": true, "requires": { "@babel/core": "^7.1.0", @@ -821,12 +821,12 @@ "dev": true }, "babel-jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.3.tgz", - "integrity": "sha512-03JjvEwuDrEz/A45K8oggAv+Vqay0xcOdNTJxYFxiuZvB5vlHKo1iZg9Pi5vQTHhNCKpGLb7L/jvUUafyh9j7g==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", + "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", "dev": true, "requires": { - "@jest/transform": "^25.2.3", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", @@ -1482,16 +1482,16 @@ } }, "expect": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.3.tgz", - "integrity": "sha512-kil4jFRFAK2ySyCyXPqYrphc3EiiKKFd9BthrkKAyHcqr1B84xFTuj5kO8zL+eHRRjT2jQsOPExO0+1Q/fuUXg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.4.tgz", + "integrity": "sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==", "dev": true, "requires": { "@jest/types": "^25.2.3", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-regex-util": "^25.2.1" } }, @@ -2116,30 +2116,30 @@ } }, "jest": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.3.tgz", - "integrity": "sha512-UbUmyGeZt0/sCIj/zsWOY0qFfQsx2qEFIZp0iEj8yVH6qASfR22fJOf12gFuSPsdSufam+llZBB0MdXWCg6EEQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.4.tgz", + "integrity": "sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ==", "dev": true, "requires": { - "@jest/core": "^25.2.3", + "@jest/core": "^25.2.4", "import-local": "^3.0.2", - "jest-cli": "^25.2.3" + "jest-cli": "^25.2.4" }, "dependencies": { "jest-cli": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.3.tgz", - "integrity": "sha512-T7G0TOkFj0wr33ki5xoq3bxkKC+liwJfjV9SmYIKBozwh91W4YjL1o1dgVCUTB1+sKJa/DiAY0p+eXYE6v2RGw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.4.tgz", + "integrity": "sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==", "dev": true, "requires": { - "@jest/core": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/core": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "prompts": "^2.0.1", @@ -2243,22 +2243,22 @@ } }, "jest-config": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.3.tgz", - "integrity": "sha512-UpTNxN8DgmLLCXFizGuvwIw+ZAPB0T3jbKaFEkzJdGqhSsQrVrk1lxhZNamaVIpWirM2ptYmqwUzvoobGCEkiQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.4.tgz", + "integrity": "sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.3", + "@jest/test-sequencer": "^25.2.4", "@jest/types": "^25.2.3", - "babel-jest": "^25.2.3", + "babel-jest": "^25.2.4", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.2.3", - "jest-environment-node": "^25.2.3", + "jest-environment-jsdom": "^25.2.4", + "jest-environment-node": "^25.2.4", "jest-get-type": "^25.2.1", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", "jest-util": "^25.2.3", @@ -2303,13 +2303,13 @@ } }, "jest-environment-jsdom": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.3.tgz", - "integrity": "sha512-TLg7nizxIYJafz6tOBAVSmO5Ekswf6Cf3Soseov+mgonXfdYi1I0OZlHlZMJb2fGyXem2ndYFCLrMkwcWPKAnQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz", + "integrity": "sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2317,13 +2317,13 @@ } }, "jest-environment-node": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.3.tgz", - "integrity": "sha512-Tu/wlGXfoLtBR4Ym+isz58z3TJkMYX4VnFTkrsxaTGYAxNLN7ArCwL51Ki0WrMd89v+pbCLDj/hDjrb4a2sOrw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.4.tgz", + "integrity": "sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==", "dev": true, "requires": { - "@jest/environment": "^25.2.3", - "@jest/fake-timers": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/fake-timers": "^25.2.4", "@jest/types": "^25.2.3", "jest-mock": "^25.2.3", "jest-util": "^25.2.3", @@ -2357,25 +2357,25 @@ } }, "jest-jasmine2": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.3.tgz", - "integrity": "sha512-x9PEGPFdnkSwJj1UG4QxG9JxFdyP8fuJ/UfKXd/eSpK8w9x7MP3VaQDuPQF0UQhCT0YeOITEPkQyqS+ptt0suA==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz", + "integrity": "sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "is-generator-fn": "^2.0.0", "jest-each": "^25.2.3", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", - "jest-runtime": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-message-util": "^25.2.4", + "jest-runtime": "^25.2.4", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "pretty-format": "^25.2.3", "throat": "^5.0.0" @@ -2404,13 +2404,13 @@ } }, "jest-message-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.3.tgz", - "integrity": "sha512-DcyDmdO5LVIeS0ngRvd7rk701XL60dAakUeQJ1tQRby27fyLYXD+V0nqVaC194W7fIlohjVQOZPHmKXIjn+Byw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.4.tgz", + "integrity": "sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", @@ -2455,37 +2455,37 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.3.tgz", - "integrity": "sha512-mcWlvjXLlNzgdE9EQxHuaeWICNxozanim87EfyvPwTY0ryWusFZbgF6F8u3E0syJ4FFSooEm0lQ6fgYcnPGAFw==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz", + "integrity": "sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==", "dev": true, "requires": { "@jest/types": "^25.2.3", "jest-regex-util": "^25.2.1", - "jest-snapshot": "^25.2.3" + "jest-snapshot": "^25.2.4" } }, "jest-runner": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.3.tgz", - "integrity": "sha512-E+u2Zm2TmtTOFEbKs5jllLiV2fwiX77cYc08RdyYZNe/s06wQT3P47aV6a8Rv61L7E2Is7OmozLd0KI/DITRpg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.4.tgz", + "integrity": "sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", - "@jest/test-result": "^25.2.3", + "@jest/environment": "^25.2.4", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-docblock": "^25.2.3", "jest-haste-map": "^25.2.3", - "jest-jasmine2": "^25.2.3", + "jest-jasmine2": "^25.2.4", "jest-leak-detector": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", - "jest-runtime": "^25.2.3", + "jest-runtime": "^25.2.4", "jest-util": "^25.2.3", "jest-worker": "^25.2.1", "source-map-support": "^0.5.6", @@ -2493,16 +2493,16 @@ } }, "jest-runtime": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.3.tgz", - "integrity": "sha512-PZRFeUVF08N24v2G73SDF0b0VpLG7cRNOJ3ggj5TnArBVHkkrWzM3z7txB9OupWu7OO8bH/jFogk6sSjnHLFXQ==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.4.tgz", + "integrity": "sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==", "dev": true, "requires": { "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.3", + "@jest/environment": "^25.2.4", "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.3", - "@jest/transform": "^25.2.3", + "@jest/test-result": "^25.2.4", + "@jest/transform": "^25.2.4", "@jest/types": "^25.2.3", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", @@ -2510,13 +2510,13 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.3", + "jest-config": "^25.2.4", "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-mock": "^25.2.3", "jest-regex-util": "^25.2.1", "jest-resolve": "^25.2.3", - "jest-snapshot": "^25.2.3", + "jest-snapshot": "^25.2.4", "jest-util": "^25.2.3", "jest-validate": "^25.2.3", "realpath-native": "^2.0.0", @@ -2532,20 +2532,20 @@ "dev": true }, "jest-snapshot": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.3.tgz", - "integrity": "sha512-HlFVbE6vOZ541mtkwjuAe0rfx9EWhB+QXXneLNOP/s3LlHxGQtX7WFXY5OiH4CkAnCc6BpzLNYS9nfINNRb4Zg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.4.tgz", + "integrity": "sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^25.2.3", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.3", + "expect": "^25.2.4", "jest-diff": "^25.2.3", "jest-get-type": "^25.2.1", "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.3", + "jest-message-util": "^25.2.4", "jest-resolve": "^25.2.3", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", @@ -2580,12 +2580,12 @@ } }, "jest-watcher": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.3.tgz", - "integrity": "sha512-F6ERbdvJk8nbaRon9lLQVl4kp+vToCCHmy+uWW5QQ8/8/g2jkrZKJQnlQINrYQp0ewg31Bztkhs4nxsZMx6wDg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.4.tgz", + "integrity": "sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==", "dev": true, "requires": { - "@jest/test-result": "^25.2.3", + "@jest/test-result": "^25.2.4", "@jest/types": "^25.2.3", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", diff --git a/e2e/__templates__/with-unsupported-version/package.json b/e2e/__templates__/with-unsupported-version/package.json index db9d26e5f0..7fb409535f 100644 --- a/e2e/__templates__/with-unsupported-version/package.json +++ b/e2e/__templates__/with-unsupported-version/package.json @@ -5,7 +5,7 @@ "devDependencies": { "@types/jest": "25.1.4", "@types/node": "12.12.32", - "jest": "25.2.3", + "jest": "25.2.4", "typescript": "2.5.3" }, "wantedDependencies": { diff --git a/package.json b/package.json index 9b619939fb..544ab43b68 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "doc:unlink": "git worktree prune", "doc:build": "cd docs && bundle exec jekyll build", "doc:build-commit": "npm run doc:build && cd docs/_site && git add --all && git commit -m \"Updates github pages\"", - "changelog": "node_modules/.bin/conventional-changelog -p angular -i CHANGELOG.md -s -r 0", + "changelog": "node_modules/.bin/conventional-changelog -p angular -i CHANGELOG.md -s -r 2", "prepare": "npm run build", "prepublishOnly": "npm run test", "preversion": "npm run test", @@ -70,7 +70,7 @@ "mkdirp": "1.x", "resolve": "1.x", "semver": "6.x", - "yargs-parser": "^18.1.1" + "yargs-parser": "18.x" }, "peerDependencies": { "jest": ">=25 <26" @@ -103,7 +103,7 @@ "@types/resolve": "latest", "@types/semver": "latest", "@types/yargs": "latest", - "@types/yargs-parser": "^15.0.0", + "@types/yargs-parser": "15.x", "conventional-changelog-cli": "2.x", "cross-spawn": "latest", "eslint": "latest", From 8b6e4dbea9b59ad6d3cf4e5b04090c4378623fbd Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2020 20:03:40 +0200 Subject: [PATCH 03/23] build(deps-dev): bump lint-staged from 10.0.10 to 10.1.0 (#1474) Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.0.10 to 10.1.0. - [Release notes](https://github.com/okonet/lint-staged/releases) - [Commits](https://github.com/okonet/lint-staged/compare/v10.0.10...v10.1.0) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index c612d5022d..18339b209f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6403,9 +6403,9 @@ "dev": true }, "lint-staged": { - "version": "10.0.10", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.0.10.tgz", - "integrity": "sha512-91vNy3eYStExElLWw1Idva5lghKpFaXh9AJqjcyrJXf7AYZrThi4EhQ+GpmiHdPmJJauKhZMMSzQR1bMB90MtA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.1.0.tgz", + "integrity": "sha512-WzZ/T+O/aEaaT679sMgI4JqK5mnG69V5KQSouzVsShzZ8wGWte39HT3z61LsxjVNeCf8m/ChhvWJa2wTiQLy5A==", "dev": true, "requires": { "chalk": "^3.0.0", From 40399cf58cd167e0677f3d9f6fecdb3fdbc92eeb Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 30 Mar 2020 23:46:16 +0000 Subject: [PATCH 04/23] build(deps-dev): bump @types/node from 10.17.17 to 10.17.18 Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 10.17.17 to 10.17.18. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 18339b209f..2de4f335b0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1412,9 +1412,9 @@ } }, "@types/node": { - "version": "10.17.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.17.tgz", - "integrity": "sha512-gpNnRnZP3VWzzj5k3qrpRC6Rk3H/uclhAVo1aIvwzK5p5cOrs9yEyQ8H/HBsBY0u5rrWxXEiVPQ0dEB6pkjE8Q==", + "version": "10.17.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.18.tgz", + "integrity": "sha512-DQ2hl/Jl3g33KuAUOcMrcAOtsbzb+y/ufakzAdeK9z/H/xsvkpbETZZbPNMIiQuk24f5ZRMCcZIViAwyFIiKmg==", "dev": true }, "@types/normalize-package-data": { From c8b929ded8ed791c7f0c32daf0fd40f44d06cc54 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2020 04:37:08 +0000 Subject: [PATCH 05/23] build(deps-dev): bump @types/react from 16.9.27 to 16.9.29 Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.27 to 16.9.29. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2de4f335b0..ed111edd2f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1442,9 +1442,9 @@ "dev": true }, "@types/react": { - "version": "16.9.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.27.tgz", - "integrity": "sha512-j+RvQb9w7a2kZFBOgTh+s/elCwtqWUMN6RJNdmz0ntmwpeoMHKnyhUcmYBu7Yw94Rtj9938D+TJSn6WGcq2+OA==", + "version": "16.9.29", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.29.tgz", + "integrity": "sha512-aE5sV9XVqKvIR8Lqa73hXvlqBzz5hBG0jtV9jZ1uuEWRmW8KN/mdQQmsYlPx6z/b2xa8zR3jtk7WoT+2/m4suA==", "dev": true, "requires": { "@types/prop-types": "*", @@ -2728,9 +2728,9 @@ } }, "csstype": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.9.tgz", - "integrity": "sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q==", + "version": "2.6.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.10.tgz", + "integrity": "sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==", "dev": true }, "currently-unhandled": { From 398d80d3bb78bbca85f077e117673317e21038d8 Mon Sep 17 00:00:00 2001 From: Ahn Date: Tue, 31 Mar 2020 11:56:37 +0200 Subject: [PATCH 06/23] chore: mark some codes as internal (#1478) --- src/config/config-set.spec.ts | 40 ------------------ src/config/config-set.ts | 77 +++++++++++++++++++++++++++++++---- src/ts-jest-transformer.ts | 5 ++- src/types.ts | 4 +- 4 files changed, 75 insertions(+), 51 deletions(-) diff --git a/src/config/config-set.spec.ts b/src/config/config-set.spec.ts index bee8825f0c..abfe04013c 100644 --- a/src/config/config-set.spec.ts +++ b/src/config/config-set.spec.ts @@ -159,39 +159,6 @@ describe('tsJest', () => { expect(getTsJest()).toMatchSnapshot() }) - describe('tsconfig', () => { - it('should be correct for default value', () => { - const EXPECTED = { - kind: 'file', - value: undefined, - } - expect(getTsJest().tsConfig).toEqual(EXPECTED) - expect(getTsJest({ tsConfig: true }).tsConfig).toEqual(EXPECTED) - }) - - it('should be correct for false', () => { - expect(getTsJest({ tsConfig: false }).tsConfig).toBeUndefined() - }) - - it('should be correct for given file', () => { - const FILE = 'bar/tsconfig.foo.json' - const EXPECTED = { - kind: 'file', - value: defaultResolve(FILE), - } - expect(getTsJest({ tsConfig: FILE }).tsConfig).toEqual(EXPECTED) - }) - - it('should be correct for inline config', () => { - const CONFIG = { foo: 'bar' } - const EXPECTED = { - kind: 'inline', - value: CONFIG, - } - expect(getTsJest({ tsConfig: CONFIG as any }).tsConfig).toEqual(EXPECTED) - }) - }) // tsconfig - describe('packageJson', () => { it('should be correct when packageJson is true', () => { const EXPECTED = { @@ -851,13 +818,6 @@ describe('tsJestDigest', () => { }) }) // tsJestDigest -describe('tsconfig', () => { - it('should return input tsconfig', () => { - const cs = createConfigSet({ tsJestConfig: { tsConfig: { target: 'ES6' } } as any }) - expect(cs.tsconfig.compilerOptions.target).toBe('ES6') - }) -}) // tsconfig - describe('shouldStringifyContent', () => { it('should return correct value is defined', () => { const cs = createConfigSet({ tsJestConfig: { tsConfig: false, stringifyContentPathRegex: '\\.str$' } as any }) diff --git a/src/config/config-set.ts b/src/config/config-set.ts index c75f7fbaa8..f0a378fa4d 100644 --- a/src/config/config-set.ts +++ b/src/config/config-set.ts @@ -112,6 +112,9 @@ const toDiagnosticCodeList = (items: any, into: number[] = []): number[] => { } export class ConfigSet { + /** + * @internal + */ @Memoize() get projectPackageJson(): Record { const { @@ -145,6 +148,9 @@ export class ConfigSet { return {} } + /** + * @internal + */ @Memoize() get projectDependencies(): Record { const { projectPackageJson: pkg } = this @@ -162,6 +168,9 @@ export class ConfigSet { }, {} as Record) } + /** + * @internal + */ @Memoize() get jest(): Config.ProjectConfig { const config = backportJestConfig(this.logger, this._jestConfig) @@ -178,6 +187,9 @@ export class ConfigSet { return config } + /** + * @internal + */ @Memoize() get tsJest(): TsJestConfig { const parsedConfig = this.jest @@ -280,14 +292,16 @@ export class ConfigSet { return res } + /** + * @internal + */ get typescript(): ParsedCommandLine { return this._typescript.resolved } - get tsconfig(): any { - return this._typescript.input - } - + /** + * Use by e2e, don't mark as internal + */ @Memoize() get versions(): Record { const modules = ['jest', this.tsJest.compiler] @@ -330,7 +344,7 @@ export class ConfigSet { * @internal */ @Memoize() - get raiseDiagnostics() { + get raiseDiagnostics(): (diagnostics: Diagnostic[], filePath?: string, logger?: Logger) => void | never { const { createTsError, filterDiagnostics, @@ -353,6 +367,9 @@ export class ConfigSet { } } + /** + * @internal + */ @Memoize() get babel(): BabelConfig | undefined { const { @@ -385,11 +402,17 @@ export class ConfigSet { return base } + /** + * @internal + */ @Memoize() get compilerModule(): TTypeScript { return importer.typescript(ImportReasons.TsJest, this.tsJest.compiler) } + /** + * @internal + */ @Memoize() get babelJestTransformer(): BabelJestTransformer | undefined { const { babel } = this @@ -403,11 +426,17 @@ export class ConfigSet { return createCompiler(this) } + /** + * @internal + */ @Memoize() - get astTransformers(): AstTransformerDesc[] { + private get astTransformers(): AstTransformerDesc[] { return [...internalAstTransformers, ...this.tsJest.transformers.map(m => require(m))] } + /** + * @internal + */ @Memoize() get tsCustomTransformers(): CustomTransformers { return { @@ -415,6 +444,9 @@ export class ConfigSet { } } + /** + * @internal + */ @Memoize() get hooks(): TsJestHooksMap { let hooksFile = process.env.TS_JEST_HOOKS @@ -430,7 +462,7 @@ export class ConfigSet { * @internal */ @Memoize() - get filterDiagnostics() { + get filterDiagnostics(): (diagnostics: Diagnostic[], filePath?: string) => Diagnostic[] { const { tsJest: { diagnostics: { ignoreCodes }, @@ -451,6 +483,9 @@ export class ConfigSet { } } + /** + * @internal + */ @Memoize() get shouldReportDiagnostic(): (filePath: string) => boolean { const { @@ -464,6 +499,9 @@ export class ConfigSet { } } + /** + * @internal + */ @Memoize() get shouldStringifyContent(): (filePath: string) => boolean { const { stringifyContentPathRegex } = this.tsJest @@ -479,7 +517,7 @@ export class ConfigSet { * @internal */ @Memoize() - get createTsError() { + get createTsError(): (diagnostics: ReadonlyArray) => TSError { const { diagnostics: { pretty }, } = this.tsJest @@ -501,6 +539,9 @@ export class ConfigSet { } } + /** + * @internal + */ @Memoize() get tsCacheDir(): string | undefined { if (!this.jest.cache) { @@ -523,8 +564,11 @@ export class ConfigSet { return res } + /** + * @internal + */ @Memoize() - get overriddenCompilerOptions(): Partial { + private get overriddenCompilerOptions(): Partial { const options: Partial = { // we handle sourcemaps this way and not another sourceMap: true, @@ -554,16 +598,25 @@ export class ConfigSet { return options } + /** + * @internal + */ @Memoize() get rootDir(): string { return normalize(this.jest.rootDir || this.cwd) } + /** + * @internal + */ @Memoize() get cwd(): string { return normalize(this.jest.cwd || process.cwd()) } + /** + * Use by e2e, don't mark as internal + */ @Memoize() get tsJestDigest(): string { return MY_DIGEST @@ -595,6 +648,9 @@ export class ConfigSet { }) } + /** + * @internal + */ get cacheKey(): string { return this.jsonValue.serialized } @@ -732,6 +788,9 @@ export class ConfigSet { return { input, resolved: result } } + /** + * @internal + */ resolvePath( inputPath: string, { throwIfMissing = true, nodeResolve = false }: { throwIfMissing?: boolean; nodeResolve?: boolean } = {}, diff --git a/src/ts-jest-transformer.ts b/src/ts-jest-transformer.ts index 3bd7efcfb8..641121a21f 100644 --- a/src/ts-jest-transformer.ts +++ b/src/ts-jest-transformer.ts @@ -23,7 +23,7 @@ function checkDefinitionFile(filePath: string): boolean { } function checkJsFile(filePath: string): boolean { - return !checkDefinitionFile(filePath) && /\.jsx?$/.test(filePath) + return /\.jsx?$/.test(filePath) } function checkTsFile(filePath: string): boolean { @@ -67,6 +67,9 @@ export class TsJestTransformer implements Transformer { return `[object TsJestTransformer<#${this.id}>]` } + /** + * Use by e2e, don't mark as internal + */ configsFor(jestConfig: Config.ProjectConfig | string): ConfigSet { let csi: ConfigSetIndexItem | undefined let jestConfigObj: Config.ProjectConfig diff --git a/src/types.ts b/src/types.ts index 641554131e..0f7d144bed 100644 --- a/src/types.ts +++ b/src/types.ts @@ -223,7 +223,9 @@ export interface CompilerInstance { diagnoseFn?: DiagnoseFn program?: _ts.Program } - +/** + * @internal + */ export interface AstTransformerDesc { name: string version: number From 537c67aa732b5053978ea0262a752c3cc2afa543 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2020 16:55:31 +0000 Subject: [PATCH 07/23] build(deps-dev): bump lint-staged from 10.1.0 to 10.1.1 Bumps [lint-staged](https://github.com/okonet/lint-staged) from 10.1.0 to 10.1.1. - [Release notes](https://github.com/okonet/lint-staged/releases) - [Commits](https://github.com/okonet/lint-staged/compare/v10.1.0...v10.1.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ed111edd2f..250facf2eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6403,9 +6403,9 @@ "dev": true }, "lint-staged": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.1.0.tgz", - "integrity": "sha512-WzZ/T+O/aEaaT679sMgI4JqK5mnG69V5KQSouzVsShzZ8wGWte39HT3z61LsxjVNeCf8m/ChhvWJa2wTiQLy5A==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.1.1.tgz", + "integrity": "sha512-wAeu/ePaBAOfwM2+cVbgPWDtn17B0Sxiv0NvNEqDAIvB8Yhvl60vafKFiK4grcYn87K1iK+a0zVoETvKbdT9/Q==", "dev": true, "requires": { "chalk": "^3.0.0", From 204559d21f31f6fd0e355a394a083e12a57d365e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2020 19:00:38 +0000 Subject: [PATCH 08/23] build(deps-dev): bump @types/react from 16.9.29 to 16.9.30 Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.29 to 16.9.30. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 250facf2eb..2c65b768bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1442,9 +1442,9 @@ "dev": true }, "@types/react": { - "version": "16.9.29", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.29.tgz", - "integrity": "sha512-aE5sV9XVqKvIR8Lqa73hXvlqBzz5hBG0jtV9jZ1uuEWRmW8KN/mdQQmsYlPx6z/b2xa8zR3jtk7WoT+2/m4suA==", + "version": "16.9.30", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.30.tgz", + "integrity": "sha512-nx+ixghmJkzcDYhtqvmf/jPcBvyH87yfLM+dUDH2n8lE356t18p2flj3mzkT/VO0N1wh6RCjtmWGFI3r/KhCxw==", "dev": true, "requires": { "@types/prop-types": "*", From 8c05ad328cba64622d4c05f8fddc596e88c7fc48 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2020 23:06:04 +0000 Subject: [PATCH 09/23] build(deps-dev): bump @types/babel__core from 7.1.6 to 7.1.7 Bumps [@types/babel__core](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/babel__core) from 7.1.6 to 7.1.7. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/babel__core) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2c65b768bc..edd75458a6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -208,9 +208,9 @@ } }, "@babel/parser": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz", - "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==", + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.4.tgz", + "integrity": "sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==", "dev": true }, "@babel/plugin-syntax-bigint": { @@ -1236,9 +1236,9 @@ } }, "@types/babel__core": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.6.tgz", - "integrity": "sha512-tTnhWszAqvXnhW7m5jQU9PomXSiKXk2sFxpahXvI20SZKu9ylPi8WtIxueZ6ehDWikPT0jeFujMj3X4ZHuf3Tg==", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.7.tgz", + "integrity": "sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw==", "dev": true, "requires": { "@babel/parser": "^7.1.0", From 1a2c9073ca68658ea893bedae88e06d0f4902f19 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Wed, 1 Apr 2020 15:09:07 +0200 Subject: [PATCH 10/23] build(deps-dev): bump @types/react from 16.9.30 to 16.9.31 (#1481) Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.30 to 16.9.31. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index edd75458a6..c0b0b53f1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1442,9 +1442,9 @@ "dev": true }, "@types/react": { - "version": "16.9.30", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.30.tgz", - "integrity": "sha512-nx+ixghmJkzcDYhtqvmf/jPcBvyH87yfLM+dUDH2n8lE356t18p2flj3mzkT/VO0N1wh6RCjtmWGFI3r/KhCxw==", + "version": "16.9.31", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.31.tgz", + "integrity": "sha512-NpYJpNMWScFXtx3A2BJMeew2G3+9SEslVWMdxNJ6DLvxIuxWjY1bizK9q5Y1ujhln31vtjmhjOAYDr9Xx3k9FQ==", "dev": true, "requires": { "@types/prop-types": "*", From 85498262ab388cade1f4029646124092f135763e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2020 02:33:25 +0000 Subject: [PATCH 11/23] build(deps-dev): bump tslint from 6.1.0 to 6.1.1 Bumps [tslint](https://github.com/palantir/tslint) from 6.1.0 to 6.1.1. - [Release notes](https://github.com/palantir/tslint/releases) - [Changelog](https://github.com/palantir/tslint/blob/master/CHANGELOG.md) - [Commits](https://github.com/palantir/tslint/compare/6.1.0...6.1.1) Signed-off-by: dependabot-preview[bot] --- package-lock.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index c0b0b53f1e..95a10763ca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9090,9 +9090,9 @@ "dev": true }, "tslint": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.0.tgz", - "integrity": "sha512-fXjYd/61vU6da04E505OZQGb2VCN2Mq3doeWcOIryuG+eqdmFUXTYVwdhnbEu2k46LNLgUYt9bI5icQze/j0bQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.1.tgz", + "integrity": "sha512-kd6AQ/IgPRpLn6g5TozqzPdGNZ0q0jtXW4//hRcj10qLYBaa3mTUU2y2MCG+RXZm8Zx+KZi0eA+YCrMyNlF4UA==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -9103,7 +9103,7 @@ "glob": "^7.1.1", "js-yaml": "^3.13.1", "minimatch": "^3.0.4", - "mkdirp": "^0.5.1", + "mkdirp": "^0.5.3", "resolve": "^1.3.2", "semver": "^5.3.0", "tslib": "^1.10.0", From dbc0a08445f0a6fa4e4c9a510e601231ba39e7a3 Mon Sep 17 00:00:00 2001 From: Ahn Date: Thu, 2 Apr 2020 10:34:23 +0200 Subject: [PATCH 12/23] fix: only do type checking while compiling file (#1483) --- e2e/__cases__/compiler-host/main.spec.ts | 6 - e2e/__cases__/compiler-host/main.ts | 1 - e2e/__cases__/diagnostics/main.spec.ts | 14 +- e2e/__cases__/diagnostics/main.ts | 4 +- e2e/__cases__/isolated-modules/main.spec.ts | 11 + e2e/__cases__/isolated-modules/main.ts | 1 + e2e/__helpers__/templates.ts | 8 +- .../__snapshots__/compiler-host.test.ts.snap | 213 ---- .../__snapshots__/diagnostics.test.ts.snap | 944 +++++++++++++++++- .../isolated-modules.test.ts.snap | 8 +- .../__snapshots__/logger.test.ts.snap | 48 +- e2e/__tests__/compiler-host.test.ts | 52 - e2e/__tests__/diagnostics.test.ts | 290 +++++- e2e/__tests__/isolated-modules.test.ts | 2 +- jest.config.js | 1 + package-lock.json | 25 +- package.json | 4 +- src/__helpers__/fakers.ts | 1 + src/__mocks__/main.spec.ts | 3 + src/__mocks__/main.ts | 3 + src/__mocks__/thing.spec.ts | 5 + .../__snapshots__/program.spec.ts.snap | 8 +- src/compiler/compiler-utils.spec.ts | 74 ++ src/compiler/compiler-utils.ts | 50 + src/compiler/instance.ts | 39 +- src/compiler/language-service.spec.ts | 106 +- src/compiler/language-service.ts | 101 +- src/compiler/program.spec.ts | 352 ++++--- src/compiler/program.ts | 181 ++-- src/compiler/transpile-module.spec.ts | 54 +- src/compiler/transpile-module.ts | 14 +- src/config/config-set.spec.ts | 4 - src/config/config-set.ts | 12 +- src/ts-jest-transformer.spec.ts | 65 +- src/ts-jest-transformer.ts | 31 +- src/types.ts | 10 +- tslint.json | 1 - 37 files changed, 1861 insertions(+), 885 deletions(-) delete mode 100644 e2e/__cases__/compiler-host/main.spec.ts delete mode 100644 e2e/__cases__/compiler-host/main.ts create mode 100644 e2e/__cases__/isolated-modules/main.spec.ts create mode 100644 e2e/__cases__/isolated-modules/main.ts delete mode 100644 e2e/__tests__/__snapshots__/compiler-host.test.ts.snap delete mode 100644 e2e/__tests__/compiler-host.test.ts create mode 100644 src/__mocks__/main.spec.ts create mode 100644 src/__mocks__/main.ts create mode 100644 src/__mocks__/thing.spec.ts create mode 100644 src/compiler/compiler-utils.spec.ts create mode 100644 src/compiler/compiler-utils.ts diff --git a/e2e/__cases__/compiler-host/main.spec.ts b/e2e/__cases__/compiler-host/main.spec.ts deleted file mode 100644 index 04bff66dc8..0000000000 --- a/e2e/__cases__/compiler-host/main.spec.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { g } from './main' - -it('should pass', () => { - const x: string = g(5) - expect(x).toBe(5) -}) diff --git a/e2e/__cases__/compiler-host/main.ts b/e2e/__cases__/compiler-host/main.ts deleted file mode 100644 index 62b8101c36..0000000000 --- a/e2e/__cases__/compiler-host/main.ts +++ /dev/null @@ -1 +0,0 @@ -export const g = (v: number) => v diff --git a/e2e/__cases__/diagnostics/main.spec.ts b/e2e/__cases__/diagnostics/main.spec.ts index 4a6c38bbcd..4eb3db74e5 100644 --- a/e2e/__cases__/diagnostics/main.spec.ts +++ b/e2e/__cases__/diagnostics/main.spec.ts @@ -1,5 +1,11 @@ -import { strInNumOut } from './main' +import { Thing } from "./main"; -it('should pass', () => { - expect(strInNumOut('1')).toBe('1') -}) +export const thing: Thing = { a: 1 }; + +function doTheThing() { + return 1 + 2; +} + +it("should do the thing", () => { + expect(doTheThing()).toEqual(3); +}); diff --git a/e2e/__cases__/diagnostics/main.ts b/e2e/__cases__/diagnostics/main.ts index 56484de330..a4d045ad90 100644 --- a/e2e/__cases__/diagnostics/main.ts +++ b/e2e/__cases__/diagnostics/main.ts @@ -1,3 +1 @@ -export function strInNumOut(input: string): number { - return input -} +export type Thing = { a: number, b: number } diff --git a/e2e/__cases__/isolated-modules/main.spec.ts b/e2e/__cases__/isolated-modules/main.spec.ts new file mode 100644 index 0000000000..d1b342a18a --- /dev/null +++ b/e2e/__cases__/isolated-modules/main.spec.ts @@ -0,0 +1,11 @@ +import { Thing } from "./main"; + +// See the Thing definition. Changing the type definition should result in a compile failure here. +export const thing: Thing = { a: 1 }; +function doTheThing() { + return 1 + 2; +} + +it("should do the thing", () => { + expect(doTheThing()).toEqual(3); +}); diff --git a/e2e/__cases__/isolated-modules/main.ts b/e2e/__cases__/isolated-modules/main.ts new file mode 100644 index 0000000000..a4d045ad90 --- /dev/null +++ b/e2e/__cases__/isolated-modules/main.ts @@ -0,0 +1 @@ +export type Thing = { a: number, b: number } diff --git a/e2e/__helpers__/templates.ts b/e2e/__helpers__/templates.ts index ff20228f6b..30560cff53 100644 --- a/e2e/__helpers__/templates.ts +++ b/e2e/__helpers__/templates.ts @@ -6,7 +6,7 @@ export enum PackageSets { // invalid unsupportedVersion = 'with-unsupported-version', } -export const allValidPackageSets = [PackageSets.default, PackageSets.babel7, PackageSets.babel7StringConfig, PackageSets.typescript2_7], - allPackageSetsWithPreset = [PackageSets.default, PackageSets.babel7, PackageSets.babel7StringConfig, PackageSets.typescript2_7], - allPackageSetsWithProgram = [PackageSets.default, PackageSets.babel7, PackageSets.babel7StringConfig], - allPackageSetsWithoutProgram = [PackageSets.typescript2_7, PackageSets.unsupportedVersion] +export const allValidPackageSets = [PackageSets.default, PackageSets.babel7, PackageSets.babel7StringConfig, PackageSets.typescript2_7] +export const allPackageSetsWithPreset = [PackageSets.default, PackageSets.babel7, PackageSets.babel7StringConfig, PackageSets.typescript2_7] +export const allPackageSetsWithProgram = [PackageSets.default, PackageSets.babel7, PackageSets.babel7StringConfig] +export const allPackageSetsWithoutProgram = [PackageSets.typescript2_7, PackageSets.unsupportedVersion] diff --git a/e2e/__tests__/__snapshots__/compiler-host.test.ts.snap b/e2e/__tests__/__snapshots__/compiler-host.test.ts.snap deleted file mode 100644 index 1f5899ccb8..0000000000 --- a/e2e/__tests__/__snapshots__/compiler-host.test.ts.snap +++ /dev/null @@ -1,213 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`With compilerHost enabled and incremental disabled should fail using template "with-typescript-2-7" 1`] = ` - × jest --no-cache - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined - - at Object.createProgram (../../__templates__/with-typescript-2-7/node_modules/typescript/lib/typescript.js:73929:51) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental disabled should fail using template "with-unsupported-version" 1`] = ` - × jest --no-cache - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined - - at Object.createProgram (../../__templates__/with-unsupported-version/node_modules/typescript/lib/typescript.js:69709:51) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental disabled should pass using template "default" 1`] = ` - √ jest --no-cache - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:4:9 - error TS2322: Type 'number' is not assignable to type 'string'. - - 4 const x: string = g(5) - ~ - PASS ./main.spec.ts - √ should pass - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental disabled should pass using template "with-babel-7" 1`] = ` - √ jest --no-cache - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:4:9 - error TS2322: Type 'number' is not assignable to type 'string'. - - 4 const x: string = g(5) - ~ - PASS ./main.spec.ts - √ should pass - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental disabled should pass using template "with-babel-7-string-config" 1`] = ` - √ jest --no-cache - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:4:9 - error TS2322: Type 'number' is not assignable to type 'string'. - - 4 const x: string = g(5) - ~ - PASS ./main.spec.ts - √ should pass - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental enabled should fail using template "with-typescript-2-7" 1`] = ` - × jest --no-cache - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined - - at Object.createProgram (../../__templates__/with-typescript-2-7/node_modules/typescript/lib/typescript.js:73929:51) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental enabled should fail using template "with-unsupported-version" 1`] = ` - × jest --no-cache - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined - - at Object.createProgram (../../__templates__/with-unsupported-version/node_modules/typescript/lib/typescript.js:69709:51) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental enabled should pass using template "default" 1`] = ` - √ jest --no-cache - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:4:9 - error TS2322: Type 'number' is not assignable to type 'string'. - - 4 const x: string = g(5) - ~ - PASS ./main.spec.ts - √ should pass - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental enabled should pass using template "with-babel-7" 1`] = ` - √ jest --no-cache - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:4:9 - error TS2322: Type 'number' is not assignable to type 'string'. - - 4 const x: string = g(5) - ~ - PASS ./main.spec.ts - √ should pass - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With compilerHost enabled and incremental enabled should pass using template "with-babel-7-string-config" 1`] = ` - √ jest --no-cache - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:4:9 - error TS2322: Type 'number' is not assignable to type 'string'. - - 4 const x: string = g(5) - ~ - PASS ./main.spec.ts - √ should pass - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; diff --git a/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap b/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap index 1d81a46716..aba886485f 100644 --- a/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap +++ b/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap @@ -1,6 +1,6 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`With diagnostics, first throws should fail using template "default" 1`] = ` +exports[`With diagnostics throw using incremental program first throw should fail using template "default" 1`] = ` × jest ↳ exit code: 1 ===[ STDOUT ]=================================================================== @@ -9,10 +9,42 @@ exports[`With diagnostics, first throws should fail using template "default" 1`] FAIL ./main.spec.ts ● Test suite failed to run - main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - 2 return input - ~~~~~~~~~~~~ + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using incremental program first throw should fail using template "with-babel-7" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. Test Suites: 1 failed, 1 total Tests: 0 total @@ -22,7 +54,7 @@ exports[`With diagnostics, first throws should fail using template "default" 1`] ================================================================================ `; -exports[`With diagnostics, first throws should fail using template "with-babel-7" 1`] = ` +exports[`With diagnostics throw using incremental program first throw should fail using template "with-babel-7-string-config" 1`] = ` × jest ↳ exit code: 1 ===[ STDOUT ]=================================================================== @@ -31,10 +63,15 @@ exports[`With diagnostics, first throws should fail using template "with-babel-7 FAIL ./main.spec.ts ● Test suite failed to run - main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - 2 return input - ~~~~~~~~~~~~ + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. Test Suites: 1 failed, 1 total Tests: 0 total @@ -44,7 +81,58 @@ exports[`With diagnostics, first throws should fail using template "with-babel-7 ================================================================================ `; -exports[`With diagnostics, first throws should fail using template "with-babel-7-string-config" 1`] = ` +exports[`With diagnostics throw using incremental program then passed when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using incremental program then passed when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using incremental program then passed when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using incremental program with unsupported version should fail using template "with-typescript-2-7" 1`] = ` × jest ↳ exit code: 1 ===[ STDOUT ]=================================================================== @@ -53,10 +141,9 @@ exports[`With diagnostics, first throws should fail using template "with-babel-7 FAIL ./main.spec.ts ● Test suite failed to run - main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + TypeError: ts.createIncrementalCompilerHost is not a function - 2 return input - ~~~~~~~~~~~~ + at Object.exports.compileUsingProgram (../../__templates__/with-typescript-2-7/node_modules/ts-jest/dist/compiler/program.js:47:19) Test Suites: 1 failed, 1 total Tests: 0 total @@ -66,19 +153,19 @@ exports[`With diagnostics, first throws should fail using template "with-babel-7 ================================================================================ `; -exports[`With diagnostics, first throws should fail using template "with-typescript-2-7" 1`] = ` +exports[`With diagnostics throw using incremental program with unsupported version should fail using template "with-unsupported-version" 1`] = ` × jest ↳ exit code: 1 ===[ STDOUT ]=================================================================== ===[ STDERR ]=================================================================== + ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. FAIL ./main.spec.ts ● Test suite failed to run - main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + TypeError: ts.createIncrementalCompilerHost is not a function - 2 return input - ~~~~~~~~~~~~ + at Object.exports.compileUsingProgram (../../__templates__/with-unsupported-version/node_modules/ts-jest/dist/compiler/program.js:47:19) Test Suites: 1 failed, 1 total Tests: 0 total @@ -88,18 +175,118 @@ exports[`With diagnostics, first throws should fail using template "with-typescr ================================================================================ `; -exports[`With diagnostics, warn only should pass using template "default" 1`] = ` - √ jest --no-cache - ↳ exit code: 0 +exports[`With diagnostics throw using language service first throw should fail using template "default" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using language service first throw should fail using template "with-babel-7" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using language service first throw should fail using template "with-babel-7-string-config" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using language service first throw should fail using template "with-typescript-2-7" 1`] = ` + × jest + ↳ exit code: 1 ===[ STDOUT ]=================================================================== ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2322: Type '{ a: number; }' is not assignable to type 'Thing'. + Property 'b' is missing in type '{ a: number; }'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using language service then passed when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== - 2 return input - ~~~~~~~~~~~~ + ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total @@ -109,18 +296,31 @@ exports[`With diagnostics, warn only should pass using template "default" 1`] = ================================================================================ `; -exports[`With diagnostics, warn only should pass using template "with-babel-7" 1`] = ` - √ jest --no-cache +exports[`With diagnostics throw using language service then passed when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` + √ jest ↳ exit code: 0 ===[ STDOUT ]=================================================================== ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using language service then passed when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== - 2 return input - ~~~~~~~~~~~~ + ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total @@ -130,18 +330,112 @@ exports[`With diagnostics, warn only should pass using template "with-babel-7" 1 ================================================================================ `; -exports[`With diagnostics, warn only should pass using template "with-babel-7-string-config" 1`] = ` - √ jest --no-cache +exports[`With diagnostics throw using language service then passed when content has changed to valid base on cache of the previous run should pass using template "with-typescript-2-7" 1`] = ` + √ jest ↳ exit code: 0 ===[ STDOUT ]=================================================================== ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using program first throw should fail using template "default" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using program first throw should fail using template "with-babel-7" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using program first throw should fail using template "with-babel-7-string-config" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - 2 return input - ~~~~~~~~~~~~ + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using program then passed when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total @@ -151,18 +445,31 @@ exports[`With diagnostics, warn only should pass using template "with-babel-7-st ================================================================================ `; -exports[`With diagnostics, warn only should pass using template "with-typescript-2-7" 1`] = ` - √ jest --no-cache +exports[`With diagnostics throw using program then passed when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` + √ jest ↳ exit code: 0 ===[ STDOUT ]=================================================================== ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.ts:2:3 - error TS2322: Type 'string' is not assignable to type 'number'. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using program then passed when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== - 2 return input - ~~~~~~~~~~~~ + ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total @@ -171,3 +478,558 @@ exports[`With diagnostics, warn only should pass using template "with-typescript Ran all test suites. ================================================================================ `; + +exports[`With diagnostics throw using program with unsupported version should fail using template "with-typescript-2-7" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined + + at Object.createProgram (../../__templates__/with-typescript-2-7/node_modules/typescript/lib/typescript.js:73929:51) + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics throw using program with unsupported version should fail using template "with-unsupported-version" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. + FAIL ./main.spec.ts + ● Test suite failed to run + + TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined + + at Object.createProgram (../../__templates__/with-unsupported-version/node_modules/typescript/lib/typescript.js:69709:51) + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program first show warning should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program first show warning should pass using template "with-babel-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program first show warning should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program then not showing warning when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program with unsupported version should fail using template "with-typescript-2-7" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + TypeError: ts.createIncrementalCompilerHost is not a function + + at Object.exports.compileUsingProgram (../../__templates__/with-typescript-2-7/node_modules/ts-jest/dist/compiler/program.js:47:19) + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using incremental program with unsupported version should fail using template "with-unsupported-version" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. + FAIL ./main.spec.ts + ● Test suite failed to run + + TypeError: ts.createIncrementalCompilerHost is not a function + + at Object.exports.compileUsingProgram (../../__templates__/with-unsupported-version/node_modules/ts-jest/dist/compiler/program.js:47:19) + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service first show warning should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service first show warning should pass using template "with-babel-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service first show warning should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service first show warning should pass using template "with-typescript-2-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2322: Type '{ a: number; }' is not assignable to type 'Thing'. + Property 'b' is missing in type '{ a: number; }'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-typescript-2-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program first show warning should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program first show warning should pass using template "with-babel-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program first show warning should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. + + 3 export const thing: Thing = { a: 1 }; + ~~~~~ + + main.ts:1:34 + 1 export type Thing = { a: number, b: number } + ~ + 'b' is declared here. + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program then not show warning when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program then not show warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program then not show warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` + √ jest + ↳ exit code: 0 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + PASS ./main.spec.ts + √ should do the thing + + Test Suites: 1 passed, 1 total + Tests: 1 passed, 1 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program with unsupported version should fail using template "with-typescript-2-7" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + FAIL ./main.spec.ts + ● Test suite failed to run + + TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined + + at Object.createProgram (../../__templates__/with-typescript-2-7/node_modules/typescript/lib/typescript.js:73929:51) + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; + +exports[`With diagnostics warn only using program with unsupported version should fail using template "with-unsupported-version" 1`] = ` + × jest + ↳ exit code: 1 + ===[ STDOUT ]=================================================================== + + ===[ STDERR ]=================================================================== + ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. + FAIL ./main.spec.ts + ● Test suite failed to run + + TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined + + at Object.createProgram (../../__templates__/with-unsupported-version/node_modules/typescript/lib/typescript.js:69709:51) + + Test Suites: 1 failed, 1 total + Tests: 0 total + Snapshots: 0 total + Time: XXs + Ran all test suites. + ================================================================================ +`; diff --git a/e2e/__tests__/__snapshots__/isolated-modules.test.ts.snap b/e2e/__tests__/__snapshots__/isolated-modules.test.ts.snap index 26b6a3e2c1..2a39f6fafc 100644 --- a/e2e/__tests__/__snapshots__/isolated-modules.test.ts.snap +++ b/e2e/__tests__/__snapshots__/isolated-modules.test.ts.snap @@ -7,7 +7,7 @@ exports[`With isolatedModules enabled should pass using template "default" 1`] = ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total @@ -24,7 +24,7 @@ exports[`With isolatedModules enabled should pass using template "with-babel-7" ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total @@ -41,7 +41,7 @@ exports[`With isolatedModules enabled should pass using template "with-babel-7-s ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total @@ -58,7 +58,7 @@ exports[`With isolatedModules enabled should pass using template "with-typescrip ===[ STDERR ]=================================================================== PASS ./main.spec.ts - √ should pass + √ should do the thing Test Suites: 1 passed, 1 total Tests: 1 passed, 1 total diff --git a/e2e/__tests__/__snapshots__/logger.test.ts.snap b/e2e/__tests__/__snapshots__/logger.test.ts.snap index 1bc7b07701..9956fddb97 100644 --- a/e2e/__tests__/__snapshots__/logger.test.ts.snap +++ b/e2e/__tests__/__snapshots__/logger.test.ts.snap @@ -12,30 +12,28 @@ Array [ "[level:20] backporting config", "[level:20] normalized jest config", "[level:20] normalized ts-jest config", + "[level:20] babel is disabled", "[level:20] loaded module typescript", "[level:20] patching typescript", "[level:20] checking version of typescript: OK", "[level:20] readTsConfig(): reading /tsconfig.json", "[level:20] normalized typescript config", + "[level:20] processing /Hello.spec.ts", "[level:20] file caching disabled", "[level:20] compileUsingLanguageService(): create typescript compiler", "[level:20] compileUsingLanguageService(): creating language service", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", - "[level:20] babel is disabled", - "[level:20] processing /Hello.spec.ts", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.spec.ts using language service", "[level:20] computing cache key for /Hello.ts", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", "[level:20] processing /Hello.ts", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.ts using language service", ] `; @@ -51,35 +49,33 @@ Array [ "[level:20] backporting config", "[level:20] normalized jest config", "[level:20] normalized ts-jest config", + "[level:20] normalized babel config via ts-jest option", "[level:20] loaded module typescript", "[level:20] patching typescript", "[level:20] checking version of typescript: OK", "[level:20] readTsConfig(): reading /tsconfig.json", "[level:20] normalized typescript config", - "[level:20] file caching disabled", - "[level:20] compileUsingLanguageService(): create typescript compiler", - "[level:20] compileUsingLanguageService(): creating language service", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", - "[level:20] normalized babel config via ts-jest option", "[level:20] processing /Hello.spec.ts", "[level:20] creating babel-jest transformer", "[level:20] loaded module babel-jest", "[level:20] patching babel-jest", "[level:20] checking version of babel-jest: OK", + "[level:20] file caching disabled", + "[level:20] compileUsingLanguageService(): create typescript compiler", + "[level:20] compileUsingLanguageService(): creating language service", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.spec.ts using language service", "[level:20] calling babel-jest processor", "[level:20] computing cache key for /Hello.ts", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", "[level:20] processing /Hello.ts", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.ts using language service", "[level:20] calling babel-jest processor", ] `; @@ -97,35 +93,33 @@ Array [ "[level:20] normalized jest config", "[level:20] resolved path from babel.config.js to /babel.config.js", "[level:20] normalized ts-jest config", + "[level:20] normalized babel config via ts-jest option", "[level:20] loaded module typescript", "[level:20] patching typescript", "[level:20] checking version of typescript: OK", "[level:20] readTsConfig(): reading /tsconfig.json", "[level:20] normalized typescript config", - "[level:20] file caching disabled", - "[level:20] compileUsingLanguageService(): create typescript compiler", - "[level:20] compileUsingLanguageService(): creating language service", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", - "[level:20] normalized babel config via ts-jest option", "[level:20] processing /Hello.spec.ts", "[level:20] creating babel-jest transformer", "[level:20] loaded module babel-jest", "[level:20] patching babel-jest", "[level:20] checking version of babel-jest: OK", + "[level:20] file caching disabled", + "[level:20] compileUsingLanguageService(): create typescript compiler", + "[level:20] compileUsingLanguageService(): creating language service", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.spec.ts using language service", "[level:20] calling babel-jest processor", "[level:20] computing cache key for /Hello.ts", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", "[level:20] processing /Hello.ts", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.ts using language service", "[level:20] calling babel-jest processor", ] `; @@ -142,30 +136,28 @@ Array [ "[level:20] backporting config", "[level:20] normalized jest config", "[level:20] normalized ts-jest config", + "[level:20] babel is disabled", "[level:20] loaded module typescript", "[level:20] patching typescript", "[level:20] checking version of typescript: OK", "[level:20] readTsConfig(): reading /tsconfig.json", "[level:20] normalized typescript config", + "[level:20] processing /Hello.spec.ts", "[level:20] file caching disabled", "[level:20] compileUsingLanguageService(): create typescript compiler", "[level:20] compileUsingLanguageService(): creating language service", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", - "[level:20] babel is disabled", - "[level:20] processing /Hello.spec.ts", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.spec.ts using language service", "[level:20] computing cache key for /Hello.ts", - "[level:20] updateMemoryCache(): update memory cache for language service", - "[level:20] compileFn(): computing diagnostics for language service", "[level:20] processing /Hello.ts", "[level:20] readThrough(): no cache", "[level:20] compileFn(): compiling using language service", "[level:20] updateMemoryCache(): update memory cache for language service", "[level:20] visitSourceFileNode(): hoisting", + "[level:20] diagnoseFn(): computing diagnostics for /Hello.ts using language service", ] `; diff --git a/e2e/__tests__/compiler-host.test.ts b/e2e/__tests__/compiler-host.test.ts deleted file mode 100644 index 21625f4b8d..0000000000 --- a/e2e/__tests__/compiler-host.test.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { allPackageSetsWithProgram, allPackageSetsWithoutProgram } from '../__helpers__/templates' -import { configureTestCase } from '../__helpers__/test-case' - -describe('With compilerHost enabled and incremental disabled', () => { - const testCase = configureTestCase('compiler-host', { - tsJestConfig: { compilerHost: true, incremental: false, diagnostics: { warnOnly: true } }, - noCache: true, - }) - - testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - // tslint:disable-next-line:no-console - console.log = jest.fn() - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - - testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(1) - expect(result).toMatchSnapshot() - }) - }) -}) - -describe('With compilerHost enabled and incremental enabled', () => { - const testCase = configureTestCase('compiler-host', { - tsJestConfig: { compilerHost: true, incremental: false, diagnostics: { warnOnly: true } }, - noCache: true, - }) - - testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - // tslint:disable-next-line:no-console - console.log = jest.fn() - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - - testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(1) - expect(result).toMatchSnapshot() - }) - }) -}) diff --git a/e2e/__tests__/diagnostics.test.ts b/e2e/__tests__/diagnostics.test.ts index a118b33e6a..5d88887fc4 100644 --- a/e2e/__tests__/diagnostics.test.ts +++ b/e2e/__tests__/diagnostics.test.ts @@ -1,29 +1,285 @@ -import { allValidPackageSets } from '../__helpers__/templates' +import { writeFileSync } from 'fs' +import { join } from 'path' + +import { allPackageSetsWithProgram, allPackageSetsWithoutProgram, allValidPackageSets } from '../__helpers__/templates' import { configureTestCase } from '../__helpers__/test-case' -describe('With diagnostics, first throws', () => { - const testCase = configureTestCase('diagnostics') +describe('With diagnostics throw', () => { + describe('using language service', () => { + const testCase = configureTestCase('diagnostics') + + describe('first throw', () => { + testCase.runWithTemplates(allValidPackageSets, 1, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(1) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('then passed when content has changed to valid base on cache of the previous run', () => { + beforeAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { + a: number; + // b: number; +}`) + }) + + afterAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) + }) + + testCase.runWithTemplates(allValidPackageSets, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + }) + + describe('using program', () => { + const testCase = configureTestCase('diagnostics', { + tsJestConfig: { + compilerHost: true, + incremental: false, + }, + }) + + describe('first throw', () => { + testCase.runWithTemplates(allPackageSetsWithProgram, 1, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(1) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('then passed when content has changed to valid base on cache of the previous run', () => { + beforeAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { + a: number; + // b: number; +}`) + }) + + afterAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) + }) + + testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('with unsupported version', () => { + testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(1) + expect(result).toMatchSnapshot() + }) + }) + }) + }) + + describe('using incremental program', () => { + const testCase = configureTestCase('diagnostics', { + tsJestConfig: { + compilerHost: true, + incremental: true, + }, + }) + + describe('first throw', () => { + testCase.runWithTemplates(allPackageSetsWithProgram, 1, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(1) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('then passed when content has changed to valid base on cache of the previous run', () => { + beforeAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { + a: number; + // b: number; +}`) + }) + + afterAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) + }) + + testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) - testCase.runWithTemplates(allValidPackageSets, 1, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(1) - expect(result).toMatchSnapshot() + describe('with unsupported version', () => { + testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(1) + expect(result).toMatchSnapshot() + }) + }) }) }) }) -describe('With diagnostics, warn only', () => { - const testCase = configureTestCase('diagnostics', { - tsJestConfig: { diagnostics: { warnOnly: true } }, - noCache: true, // warnings shown only on first compilation +describe('With diagnostics warn only', () => { + describe('using language service', () => { + const testCase = configureTestCase('diagnostics', { + tsJestConfig: { + diagnostics: { warnOnly: true }, + }, + }) + + describe('first show warning', () => { + testCase.runWithTemplates(allValidPackageSets, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('then not showing warning when content has changed to valid base on cache of the previous run', () => { + beforeAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { + a: number; + // b: number; +}`) + }) + + afterAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) + }) + + testCase.runWithTemplates(allValidPackageSets, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + }) + + describe('using program', () => { + const testCase = configureTestCase('diagnostics', { + tsJestConfig: { + compilerHost: true, + incremental: false, + diagnostics: { warnOnly: true }, + }, + }) + + describe('first show warning', () => { + testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('then not show warning when content has changed to valid base on cache of the previous run', () => { + beforeAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { + a: number; + // b: number; +}`) + }) + + afterAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) + }) + + testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('with unsupported version', () => { + testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(1) + expect(result).toMatchSnapshot() + }) + }) + }) }) - testCase.runWithTemplates(allValidPackageSets, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() + describe('using incremental program', () => { + const testCase = configureTestCase('diagnostics', { + tsJestConfig: { + compilerHost: true, + incremental: true, + diagnostics: { warnOnly: true }, + }, + }) + + describe('first show warning', () => { + testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('then not showing warning when content has changed to valid base on cache of the previous run', () => { + beforeAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { + a: number; + // b: number; +}`) + }) + + afterAll(() => { + writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) + }) + + testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() + }) + }) + }) + + describe('with unsupported version', () => { + testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(1) + expect(result).toMatchSnapshot() + }) + }) }) }) }) diff --git a/e2e/__tests__/isolated-modules.test.ts b/e2e/__tests__/isolated-modules.test.ts index 0f1eb31251..0bda1cc770 100644 --- a/e2e/__tests__/isolated-modules.test.ts +++ b/e2e/__tests__/isolated-modules.test.ts @@ -2,7 +2,7 @@ import { allValidPackageSets } from '../__helpers__/templates' import { configureTestCase } from '../__helpers__/test-case' describe('With isolatedModules enabled', () => { - const testCase = configureTestCase('diagnostics', { + const testCase = configureTestCase('isolated-modules', { tsJestConfig: { isolatedModules: true }, }) diff --git a/jest.config.js b/jest.config.js index 9b6a9ccd93..fea7bdb9e6 100644 --- a/jest.config.js +++ b/jest.config.js @@ -5,6 +5,7 @@ module.exports = { '\\.ts$': '/dist/index.js', }, testMatch: ['/src/**/*.spec.ts'], + testPathIgnorePatterns: ['/src/__mocks__/*'], collectCoverageFrom: [ '/src/**/*.ts', '!/src/**/*.d.ts', diff --git a/package-lock.json b/package-lock.json index 95a10763ca..3e90859906 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1289,6 +1289,12 @@ } } }, + "@types/braces": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@types/braces/-/braces-3.0.0.tgz", + "integrity": "sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw==", + "dev": true + }, "@types/buffer-from": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@types/buffer-from/-/buffer-from-1.1.0.tgz", @@ -1402,6 +1408,15 @@ "@types/lodash": "*" } }, + "@types/micromatch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/micromatch/-/micromatch-4.0.1.tgz", + "integrity": "sha512-my6fLBvpY70KattTNzYOK6KU1oR1+UCz9ug/JbcF5UrEmeCt9P7DV2t7L8+t18mMPINqGQCE4O8PLOPbI84gxw==", + "dev": true, + "requires": { + "@types/braces": "*" + } + }, "@types/mkdirp": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@types/mkdirp/-/mkdirp-1.0.0.tgz", @@ -1921,7 +1936,6 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, "requires": { "fill-range": "^7.0.1" } @@ -3523,7 +3537,6 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, "requires": { "to-regex-range": "^5.0.1" } @@ -4586,8 +4599,7 @@ "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-obj": { "version": "1.0.1", @@ -7073,7 +7085,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", - "dev": true, "requires": { "braces": "^3.0.1", "picomatch": "^2.0.5" @@ -7595,8 +7606,7 @@ "picomatch": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz", - "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==", - "dev": true + "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==" }, "pidtree": { "version": "0.3.1", @@ -9046,7 +9056,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "requires": { "is-number": "^7.0.0" } diff --git a/package.json b/package.json index 544ab43b68..8be9c64f08 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "json5": "2.x", "lodash.memoize": "4.x", "make-error": "1.x", + "micromatch": "4.x", "mkdirp": "1.x", "resolve": "1.x", "semver": "6.x", @@ -97,9 +98,10 @@ "@types/lodash.memoize": "4.x", "@types/lodash.merge": "4.x", "@types/lodash.set": "4.x", + "@types/micromatch": "4.x", "@types/mkdirp": "latest", "@types/node": "10.x", - "@types/react": "^16.x", + "@types/react": "16.x", "@types/resolve": "latest", "@types/semver": "latest", "@types/yargs": "latest", diff --git a/src/__helpers__/fakers.ts b/src/__helpers__/fakers.ts index d5ec454953..fcac848db3 100644 --- a/src/__helpers__/fakers.ts +++ b/src/__helpers__/fakers.ts @@ -69,6 +69,7 @@ export function makeCompiler({ ...(tsJestConfig.diagnostics as any), pretty: false, } + jestConfig = { ...jestConfig, testMatch: ['^.+\\.tsx?$'], testRegex: ['^.+\\.[tj]sx?$'] } const cs = new ConfigSet(getJestConfig(jestConfig, tsJestConfig), parentConfig) return createCompiler(cs) diff --git a/src/__mocks__/main.spec.ts b/src/__mocks__/main.spec.ts new file mode 100644 index 0000000000..40e5da46d6 --- /dev/null +++ b/src/__mocks__/main.spec.ts @@ -0,0 +1,3 @@ +import { Thing } from './main' + +export const thing: Thing = { a: 1 } diff --git a/src/__mocks__/main.ts b/src/__mocks__/main.ts new file mode 100644 index 0000000000..fea8e002b1 --- /dev/null +++ b/src/__mocks__/main.ts @@ -0,0 +1,3 @@ +export interface Thing { + a: number +} diff --git a/src/__mocks__/thing.spec.ts b/src/__mocks__/thing.spec.ts new file mode 100644 index 0000000000..bc40cfb36e --- /dev/null +++ b/src/__mocks__/thing.spec.ts @@ -0,0 +1,5 @@ +interface Thing { + a: number +} + +export const thing: Thing = { a: 1 } diff --git a/src/compiler/__snapshots__/program.spec.ts.snap b/src/compiler/__snapshots__/program.spec.ts.snap index ff4913cad6..b566e22448 100644 --- a/src/compiler/__snapshots__/program.spec.ts.snap +++ b/src/compiler/__snapshots__/program.spec.ts.snap @@ -50,6 +50,10 @@ This is usually the result of a faulty configuration or import. Make sure there exports[`cannot compile should throw error with normal program 2`] = `"Unable to read file: test-cannot-compile.jsx"`; +exports[`diagnostics incremental program should report diagnostics with pathRegex config matches file name 1`] = `"test-typings.ts(3,7): error TS2322: Type 'number' is not assignable to type 'string'."`; + +exports[`diagnostics normal program should report diagnostics with pathRegex config matches file name 1`] = `"test-typings.ts(3,7): error TS2322: Type 'number' is not assignable to type 'string'."`; + exports[`jsx preserve should compile tsx file for with incremental program 1`] = ` ===[ FILE: test-jsx-preserve.tsx ]============================================== "use strict"; @@ -145,7 +149,3 @@ exports[`other jsx options should compile tsx file for with program 1`] = ` version: 3 ================================================================================ `; - -exports[`typings incremental program should report diagnostics with pathRegex config matches file name 1`] = `"test-typings.ts(3,7): error TS2322: Type 'number' is not assignable to type 'string'."`; - -exports[`typings normal program should report diagnostics with pathRegex config matches file name 1`] = `"test-typings.ts(3,7): error TS2322: Type 'number' is not assignable to type 'string'."`; diff --git a/src/compiler/compiler-utils.spec.ts b/src/compiler/compiler-utils.spec.ts new file mode 100644 index 0000000000..7066393a30 --- /dev/null +++ b/src/compiler/compiler-utils.spec.ts @@ -0,0 +1,74 @@ +import { logger } from 'bs-logger' +import * as fs from 'fs' +import { resolve } from 'path' + +import { makeCompiler } from '../__helpers__/fakers' +import { logTargetMock } from '../__helpers__/mocks' +import { tempDir } from '../__helpers__/path' +import { MemoryCache } from '../types' + +import { cacheResolvedModules, getResolvedModulesCache } from './compiler-utils' + +const memoryCache: MemoryCache = { + contents: Object.create(null), + versions: Object.create(null), + outputs: Object.create(null), + resolvedModules: Object.create(null), +} + +const logTarget = logTargetMock() + +describe('cacheResolvedModules', () => { + let spy: jest.SpyInstance + + beforeAll(() => { + // tslint:disable-next-line:no-empty + spy = jest.spyOn(fs, 'writeFileSync') + }) + + beforeEach(() => { + memoryCache.resolvedModules = Object.create(null) + }) + + afterEach(() => { + spy.mockClear() + spy.mockReset() + spy.mockRestore() + }) + + it('should store resolved modules in memory cache and file system when there are resolved modules', () => { + const tmp = tempDir('compiler') + const compiler = makeCompiler({ + jestConfig: { cache: true, cacheDirectory: tmp }, + tsJestConfig: { tsConfig: false }, + }) + const fileName = 'src/__mocks__/main.spec.ts' + const source = JSON.stringify(require('../__mocks__/main.spec')) + + compiler.compile(source, fileName) + + logTarget.clear() + cacheResolvedModules(fileName, memoryCache, compiler.program!, tmp, logger) + + expect(memoryCache.resolvedModules[fileName]).toContain(resolve('src/__mocks__/main.ts')) + expect(spy).toHaveBeenCalledWith(getResolvedModulesCache(tmp), JSON.stringify(memoryCache.resolvedModules)) + }) + + it(`should store resolved modules in memory cache but not file system when there aren't resolved modules`, () => { + const tmp = tempDir('compiler') + const compiler = makeCompiler({ + jestConfig: { cache: true, cacheDirectory: tmp }, + tsJestConfig: { tsConfig: false }, + }) + const fileName = 'src/__mocks__/thing.spec.ts' + const source = JSON.stringify(require('../__mocks__/thing.spec')) + + compiler.compile(source, fileName) + + logTarget.clear() + cacheResolvedModules(fileName, memoryCache, compiler.program!, tmp, logger) + + expect(memoryCache.resolvedModules[fileName]).toBe(undefined) + expect(spy).not.toHaveBeenCalled() + }) +}) diff --git a/src/compiler/compiler-utils.ts b/src/compiler/compiler-utils.ts new file mode 100644 index 0000000000..7bb3b19195 --- /dev/null +++ b/src/compiler/compiler-utils.ts @@ -0,0 +1,50 @@ +import { Logger } from 'bs-logger' +import { writeFileSync } from 'fs' +import { join, normalize } from 'path' +import * as _ts from 'typescript' + +import { MemoryCache } from '../types' +import { sha1 } from '../util/sha1' + +/** + * @internal + */ +export const hasOwn = Object.prototype.hasOwnProperty +/** + * @internal + */ +export function getResolvedModulesCache(cachedir: string): string { + return join(cachedir, sha1('ts-jest-resolved-modules', '\x00')) +} + +/** + * @internal + * Get resolved modules of a test file and put into memory cache + */ +export function cacheResolvedModules( + fileName: string, + memoryCache: MemoryCache, + program: _ts.Program, + cacheDir: string, + logger: Logger, +) { + // @ts-ignore + const importReferences = program.getSourceFile(fileName)!.imports + /** + * Ugly trick while waiting for https://github.com/microsoft/TypeScript/issues/33994 + */ + if (importReferences.length) { + logger.debug({ fileName }, `cacheResolvedModules(): get resolved modules of test file ${fileName}`) + + memoryCache.resolvedModules[fileName] = importReferences + .filter((importReference: any) => importReference.parent.parent.resolvedModules?.get(importReference.text)) + .map((importReference: any) => { + return normalize( + (importReference.parent.parent.resolvedModules.get(importReference.text) as _ts.ResolvedModule) + .resolvedFileName, + ) + }) + .reduce((a: any, b: any) => a.concat(b), []) + writeFileSync(getResolvedModulesCache(cacheDir), JSON.stringify(memoryCache.resolvedModules)) + } +} diff --git a/src/compiler/instance.ts b/src/compiler/instance.ts index 20cf839946..b991e97fb2 100644 --- a/src/compiler/instance.ts +++ b/src/compiler/instance.ts @@ -38,6 +38,7 @@ import { ConfigSet } from '../config/config-set' import { CompileFn, CompilerInstance, MemoryCache, TsCompiler } from '../types' import { sha1 } from '../util/sha1' +import { getResolvedModulesCache } from './compiler-utils' import { compileUsingLanguageService } from './language-service' import { compileUsingProgram } from './program' import { compileUsingTranspileModule } from './transpile-module' @@ -100,7 +101,9 @@ const readThrough = ( if (!cachedir) { return (code: string, fileName: string, lineOffset?: number) => { const normalizedFileName = normalize(fileName) + logger.debug({ normalizedFileName }, 'readThrough(): no cache') + const [value, sourceMap] = compileFn(code, normalizedFileName, lineOffset) const output = updateOutput(value, fileName, sourceMap, getExtension) memoryCache.outputs[normalizedFileName] = output @@ -111,12 +114,17 @@ const readThrough = ( // Make sure the cache directory exists before continuing. mkdirp.sync(cachedir) + try { + const resolvedModulesCache = readFileSync(getResolvedModulesCache(cachedir), 'utf-8') + /* istanbul ignore next (covered by e2e) */ + memoryCache.resolvedModules = JSON.parse(resolvedModulesCache) + } catch (e) {} return (code: string, fileName: string, lineOffset?: number) => { - const normalizedFileName = normalize(fileName), - cachePath = join(cachedir, getCacheName(code, normalizedFileName)), - extension = getExtension(normalizedFileName), - outputPath = `${cachePath}${extension}` + const normalizedFileName = normalize(fileName) + const cachePath = join(cachedir, getCacheName(code, normalizedFileName)) + const extension = getExtension(normalizedFileName) + const outputPath = `${cachePath}${extension}` try { const output = readFileSync(outputPath, 'utf8') if (isValidCacheContent(output)) { @@ -129,8 +137,8 @@ const readThrough = ( logger.debug({ fileName }, 'readThrough(): cache miss') - const [value, sourceMap] = compileFn(code, normalizedFileName, lineOffset), - output = updateOutput(value, normalizedFileName, sourceMap, getExtension) + const [value, sourceMap] = compileFn(code, normalizedFileName, lineOffset) + const output = updateOutput(value, normalizedFileName, sourceMap, getExtension) logger.debug({ normalizedFileName, outputPath }, 'readThrough(): writing caches') @@ -151,14 +159,15 @@ export const createCompiler = (configs: ConfigSet): TsCompiler => { typescript: { options: compilerOptions, fileNames }, tsJest, } = configs - const cachedir = configs.tsCacheDir, - ts = configs.compilerModule, // Require the TypeScript compiler and configuration. - extensions = ['.ts', '.tsx'], - memoryCache: MemoryCache = { - contents: Object.create(null), - versions: Object.create(null), - outputs: Object.create(null), - } + const cachedir = configs.tsCacheDir + const ts = configs.compilerModule // Require the TypeScript compiler and configuration. + const extensions = ['.ts', '.tsx'] + const memoryCache: MemoryCache = { + contents: Object.create(null), + versions: Object.create(null), + outputs: Object.create(null), + resolvedModules: Object.create(null), + } // Enable `allowJs` when flag is set. if (compilerOptions.allowJs) { extensions.push('.js') @@ -184,5 +193,5 @@ export const createCompiler = (configs: ConfigSet): TsCompiler => { } const compile = readThrough(cachedir, memoryCache, compilerInstance.compileFn, getExtension, logger) - return { cwd: configs.cwd, compile, program: compilerInstance.program, diagnose: compilerInstance.diagnoseFn } + return { cwd: configs.cwd, compile, program: compilerInstance.program } } diff --git a/src/compiler/language-service.spec.ts b/src/compiler/language-service.spec.ts index 34893c0e90..7fba8ab490 100644 --- a/src/compiler/language-service.spec.ts +++ b/src/compiler/language-service.spec.ts @@ -14,13 +14,13 @@ describe('language service', () => { }) it('should use the cache', () => { - const tmp = tempDir('compiler'), - compiler = makeCompiler({ - jestConfig: { cache: true, cacheDirectory: tmp }, - tsJestConfig: { tsConfig: false }, - }), - source = 'console.log("hello")', - fileName = 'test-cache.ts' + const tmp = tempDir('compiler') + const compiler = makeCompiler({ + jestConfig: { cache: true, cacheDirectory: tmp }, + tsJestConfig: { tsConfig: false }, + }) + const source = 'console.log("hello")' + const fileName = 'test-cache.ts' writeFileSync(fileName, source, 'utf8') @@ -36,6 +36,8 @@ describe('language service', () => { "[level:20] updateMemoryCache(): update memory cache for language service ", "[level:20] visitSourceFileNode(): hoisting + ", + "[level:20] diagnoseFn(): computing diagnostics for test-cache.ts using language service ", "[level:20] readThrough(): writing caches ", @@ -59,11 +61,11 @@ describe('language service', () => { }) it('should compile js file for allowJs true', () => { - const fileName = `test-allow-js.js`, - compiler = makeCompiler({ - tsJestConfig: { tsConfig: { allowJs: true, outDir: '$$ts-jest$$' } }, - }), - source = 'export default 42' + const fileName = `test-allow-js.js` + const compiler = makeCompiler({ + tsJestConfig: { tsConfig: { allowJs: true, outDir: '$$ts-jest$$' } }, + }) + const source = 'export default 42' writeFileSync(fileName, source, 'utf8') const compiled = compiler.compile(source, fileName) @@ -74,15 +76,15 @@ describe('language service', () => { }) it('should compile tsx file for jsx preserve', () => { - const fileName = 'test-jsx-preserve.tsx', - compiler = makeCompiler({ - tsJestConfig: { - tsConfig: { - jsx: 'preserve' as any, - }, + const fileName = 'test-jsx-preserve.tsx' + const compiler = makeCompiler({ + tsJestConfig: { + tsConfig: { + jsx: 'preserve' as any, }, - }), - source = ` + }, + }) + const source = ` const App = () => { return <>Test } @@ -96,15 +98,15 @@ describe('language service', () => { }) it('should compile tsx file for other jsx options', () => { - const fileName = 'test-jsx-options.tsx', - compiler = makeCompiler({ - tsJestConfig: { - tsConfig: { - jsx: 'react' as any, - }, + const fileName = 'test-jsx-options.tsx' + const compiler = makeCompiler({ + tsJestConfig: { + tsConfig: { + jsx: 'react' as any, }, - }), - source = ` + }, + }) + const source = ` const App = () => { return <>Test } @@ -118,9 +120,9 @@ describe('language service', () => { }) it('should have correct source maps', () => { - const compiler = makeCompiler({ tsJestConfig: { tsConfig: false } }), - source = 'const gsm = (v: number) => v\nconst h: number = gsm(5)', - fileName = 'test-source-map.ts' + const compiler = makeCompiler({ tsJestConfig: { tsConfig: false } }) + const source = 'const gsm = (v: number) => v\nconst h: number = gsm(5)' + const fileName = 'test-source-map.ts' writeFileSync(fileName, source, 'utf8') const compiled = compiler.compile(source, fileName) @@ -135,49 +137,47 @@ describe('language service', () => { }) it('should report diagnostics related to typings with pathRegex config matches file name', () => { - const fileName = 'test-match-regex-diagnostics.ts', - source = ` + const fileName = 'test-match-regex-diagnostics.ts' + const source = ` const g = (v: number) => v const x: string = g(5) -`, - compiler = makeCompiler({ - tsJestConfig: { tsConfig: false, diagnostics: { pathRegex: fileName } }, - }) +` + const compiler = makeCompiler({ + tsJestConfig: { tsConfig: false, diagnostics: { pathRegex: fileName } }, + }) writeFileSync(fileName, source, 'utf8') - compiler.compile(source, fileName) - expect(() => compiler.diagnose!(source, fileName)).toThrowErrorMatchingSnapshot() + expect(() => compiler.compile(source, fileName)).toThrowErrorMatchingSnapshot() removeSync(fileName) }) it('should not report diagnostics related to typings with pathRegex config does not match file name', () => { - const fileName = 'test-non-match-regex-diagnostics.ts', - source = ` + const fileName = 'test-non-match-regex-diagnostics.ts' + const source = ` const f = (v: number) => v const t: string = f(5) -`, - compiler = makeCompiler({ - tsJestConfig: { tsConfig: false, diagnostics: { pathRegex: 'bar.ts' } }, - }) +` + const compiler = makeCompiler({ + tsJestConfig: { tsConfig: false, diagnostics: { pathRegex: 'bar.ts' } }, + }) writeFileSync(fileName, source, 'utf8') - compiler.compile(source, fileName) - expect(() => compiler.diagnose!(source, fileName)).not.toThrowError() + expect(() => compiler.compile(source, fileName)).not.toThrowError() removeSync(fileName) }) it('should throw error when cannot compile', () => { - const fileName = 'test-cannot-compile.d.ts', - source = ` + const fileName = 'test-cannot-compile.d.ts' + const source = ` interface Foo { a: string } - `, - compiler = makeCompiler({ - tsJestConfig: { tsConfig: false }, - }) + ` + const compiler = makeCompiler({ + tsJestConfig: { tsConfig: false }, + }) writeFileSync(fileName, source, 'utf8') expect(() => compiler.compile(source, fileName)).toThrowErrorMatchingSnapshot() diff --git a/src/compiler/language-service.ts b/src/compiler/language-service.ts index 25a8082cbb..ed18aef5b7 100644 --- a/src/compiler/language-service.ts +++ b/src/compiler/language-service.ts @@ -1,5 +1,6 @@ import { LogContexts, LogLevels, Logger } from 'bs-logger' import memoize = require('lodash.memoize') +import micromatch = require('micromatch') import { basename, normalize, relative } from 'path' import * as _ts from 'typescript' @@ -7,7 +8,16 @@ import { ConfigSet } from '../config/config-set' import { CompilerInstance, MemoryCache, SourceOutput } from '../types' import { Errors, interpolate } from '../util/messages' -const hasOwn = Object.prototype.hasOwnProperty +import { cacheResolvedModules, hasOwn } from './compiler-utils' + +function doTypeChecking(configs: ConfigSet, fileName: string, service: _ts.LanguageService, logger: Logger) { + if (configs.shouldReportDiagnostic(fileName)) { + // Get the relevant diagnostics - this is 3x faster than `getPreEmitDiagnostics`. + const diagnostics = service.getSemanticDiagnostics(fileName).concat(service.getSyntacticDiagnostics(fileName)) + // will raise or just warn diagnostics depending on config + configs.raiseDiagnostics(diagnostics, fileName, logger) + } +} /** * @internal @@ -19,21 +29,22 @@ export const compileUsingLanguageService = ( ): CompilerInstance => { logger.debug('compileUsingLanguageService(): create typescript compiler') - const ts = configs.compilerModule, - cwd = configs.cwd, - { options } = configs.typescript, - serviceHostTraceCtx = { - namespace: 'ts:serviceHost', - call: null, - [LogContexts.logLevel]: LogLevels.trace, - } + const ts = configs.compilerModule + const cwd = configs.cwd + const cacheDir = configs.tsCacheDir + const { options } = configs.typescript + const serviceHostTraceCtx = { + namespace: 'ts:serviceHost', + call: null, + [LogContexts.logLevel]: LogLevels.trace, + } let projectVersion = 1 // Set the file contents into cache. const updateMemoryCache = (code: string, fileName: string) => { logger.debug({ fileName }, `updateMemoryCache(): update memory cache for language service`) - const fileVersion = memoryCache.versions[fileName] ?? 0, - isFileInCache = fileVersion !== 0 + const fileVersion = memoryCache.versions[fileName] ?? 0 + const isFileInCache = fileVersion !== 0 if (!isFileInCache) { memoryCache.versions[fileName] = 1 } @@ -48,8 +59,8 @@ export const compileUsingLanguageService = ( getProjectVersion: () => String(projectVersion), getScriptFileNames: () => Object.keys(memoryCache.versions), getScriptVersion: (fileName: string) => { - const normalizedFileName = normalize(fileName), - version = memoryCache.versions[normalizedFileName] + const normalizedFileName = normalize(fileName) + const version = memoryCache.versions[normalizedFileName] // We need to return `undefined` and not a string here because TypeScript will use // `getScriptVersion` and compare against their own version - which can be `undefined`. @@ -59,19 +70,16 @@ export const compileUsingLanguageService = ( return version === undefined ? ((undefined as any) as string) : String(version) }, getScriptSnapshot(fileName: string) { - const normalizedFileName = normalize(fileName), - hit = hasOwn.call(memoryCache.contents, normalizedFileName) + const normalizedFileName = normalize(fileName) + const hit = hasOwn.call(memoryCache.contents, normalizedFileName) logger.trace({ normalizedFileName, cacheHit: hit }, `getScriptSnapshot():`, 'cache', hit ? 'hit' : 'miss') // Read contents from TypeScript memory cache. - if (!hit) { - memoryCache.contents[normalizedFileName] = ts.sys.readFile(normalizedFileName) - } + if (!hit) memoryCache.contents[normalizedFileName] = ts.sys.readFile(normalizedFileName) const contents = memoryCache.contents[normalizedFileName] - if (contents === undefined) { - return - } + + if (contents === undefined) return return ts.ScriptSnapshot.fromString(contents) }, @@ -99,12 +107,44 @@ export const compileUsingLanguageService = ( // Must set memory cache before attempting to read file. updateMemoryCache(code, normalizedFileName) const output: _ts.EmitOutput = service.getEmitOutput(normalizedFileName) - + // Do type checking by getting TypeScript diagnostics + logger.debug(`diagnoseFn(): computing diagnostics for ${normalizedFileName} using language service`) + + doTypeChecking(configs, normalizedFileName, service, logger) + /** + * We don't need the following logic with no cache run because no cache always gives correct typing + */ + /* istanbul ignore next (covered by e2e) */ + if (cacheDir) { + if (micromatch.isMatch(normalizedFileName, configs.testMatchPatterns)) { + cacheResolvedModules(normalizedFileName, memoryCache, service.getProgram()!, cacheDir, logger) + } else { + /* istanbul ignore next (covered by e2e) */ + Object.entries(memoryCache.resolvedModules) + .filter(entry => { + /** + * When imported modules change, we only need to check whether the test file is compiled previously or not + * base on memory cache. By checking memory cache, we can avoid repeatedly doing type checking against + * test file for 1st time run after clearing cache because + */ + return ( + entry[1].find(modulePath => modulePath === normalizedFileName) && + !hasOwn.call(memoryCache.outputs, entry[0]) + ) + }) + .forEach(entry => { + logger.debug( + `diagnoseFn(): computing diagnostics for test file that imports ${normalizedFileName} using language service`, + ) + + doTypeChecking(configs, entry[0], service, logger) + }) + } + } /* istanbul ignore next (this should never happen but is kept for security) */ if (output.emitSkipped) { throw new TypeError(`${relative(cwd, normalizedFileName)}: Emit skipped for language service`) } - // Throw an error when requiring `.d.ts` files. if (!output.outputFiles.length) { throw new TypeError( @@ -116,21 +156,6 @@ export const compileUsingLanguageService = ( return [output.outputFiles[1].text, output.outputFiles[0].text] }, - diagnoseFn: (code: string, filePath: string) => { - const normalizedFileName = normalize(filePath) - updateMemoryCache(code, normalizedFileName) - if (configs.shouldReportDiagnostic(normalizedFileName)) { - logger.debug({ normalizedFileName }, 'compileFn(): computing diagnostics for language service') - - // Get the relevant diagnostics - this is 3x faster than `getPreEmitDiagnostics`. - const diagnostics = service - .getCompilerOptionsDiagnostics() - .concat(service.getSyntacticDiagnostics(normalizedFileName)) - .concat(service.getSemanticDiagnostics(normalizedFileName)) - // will raise or just warn diagnostics depending on config - configs.raiseDiagnostics(diagnostics, normalizedFileName, logger) - } - }, program: service.getProgram(), } } diff --git a/src/compiler/program.spec.ts b/src/compiler/program.spec.ts index 183591b132..8761bbbd47 100644 --- a/src/compiler/program.spec.ts +++ b/src/compiler/program.spec.ts @@ -13,93 +13,9 @@ const baseTsJestConfig = { compilerHost: true, } -describe('typings', () => { - const fileName = 'test-typings.ts', - source = ` -const f = (v: number) => v -const t: string = f(5) -` - - beforeAll(() => { - writeFileSync(fileName, source, 'utf8') - }) - - afterAll(() => { - removeSync(fileName) - }) - - describe('normal program', () => { - it('should report diagnostics with pathRegex config matches file name', () => { - const compiler = makeCompiler({ - tsJestConfig: { - ...baseTsJestConfig, - incremental: false, - diagnostics: { pathRegex: fileName }, - }, - }) - - try { - compiler.compile(source, fileName) - } catch (e) {} - - expect(() => compiler.diagnose!(source, fileName)).toThrowErrorMatchingSnapshot() - }) - - it('should not report diagnostics with pathRegex config matches file name', () => { - const compiler = makeCompiler({ - tsJestConfig: { - ...baseTsJestConfig, - incremental: false, - diagnostics: { pathRegex: 'foo.ts' }, - }, - }) - - try { - compiler.compile(source, fileName) - } catch (e) {} - - expect(() => compiler.diagnose!(source, fileName)).not.toThrowError() - }) - }) - - describe('incremental program', () => { - it('should report diagnostics with pathRegex config matches file name', () => { - const compiler = makeCompiler({ - tsJestConfig: { - ...baseTsJestConfig, - incremental: true, - diagnostics: { pathRegex: fileName }, - }, - }) - - try { - compiler.compile(source, fileName) - } catch (e) {} - - expect(() => compiler.diagnose!(source, fileName)).toThrowErrorMatchingSnapshot() - }) - - it('should not report diagnostics with pathRegex config does not match file name', () => { - const compiler = makeCompiler({ - tsJestConfig: { - ...baseTsJestConfig, - incremental: true, - diagnostics: { pathRegex: 'foo.ts' }, - }, - }) - - try { - compiler.compile(source, fileName) - } catch (e) {} - - expect(() => compiler.diagnose!(source, fileName)).not.toThrowError() - }) - }) -}) - -describe('source-maps', () => { - const fileName = 'source-maps-test.ts', - source = 'console.log("hello")' +describe('cache', () => { + const fileName = 'test-cache.ts' + const source = 'console.log("hello")' beforeAll(() => { writeFileSync(fileName, source, 'utf8') @@ -109,74 +25,29 @@ describe('source-maps', () => { removeSync(fileName) }) - it('should have correct source maps with normal program', () => { + it('should use the cache with normal program', () => { + const tmp = tempDir('program-compiler') const compiler = makeCompiler({ + jestConfig: { cache: true, cacheDirectory: tmp }, tsJestConfig: { ...baseTsJestConfig, incremental: false, }, }) - const compiled = compiler.compile(source, fileName) - - expect(new ProcessedSource(compiled, fileName).outputSourceMaps).toMatchObject({ - file: fileName, - sources: [fileName], - sourcesContent: [source], - }) - }) - - it('should have correct source maps with incremental program', () => { - const compiler = makeCompiler({ - tsJestConfig: { - ...baseTsJestConfig, - incremental: true, - }, - }) - - const compiled = compiler.compile(source, fileName) - - expect(new ProcessedSource(compiled, fileName).outputSourceMaps).toMatchObject({ - file: fileName, - sources: [fileName], - sourcesContent: [source], - }) - }) -}) - -describe('cache', () => { - const fileName = 'test-cache.ts', - source = 'console.log("hello")' - - beforeAll(() => { - writeFileSync(fileName, source, 'utf8') - }) - - afterAll(() => { - removeSync(fileName) - }) - - it('should use the cache with normal program', () => { - const tmp = tempDir('program-compiler'), - compiler = makeCompiler({ - jestConfig: { cache: true, cacheDirectory: tmp }, - tsJestConfig: { - ...baseTsJestConfig, - incremental: false, - }, - }) - logTarget.clear() const compiled1 = compiler.compile(source, fileName) expect(logTarget.filteredLines(LogLevels.debug, Infinity)).toMatchInlineSnapshot(` Array [ "[level:20] readThrough(): cache miss - ", - "[level:20] compileFn(): compiling using program ", "[level:20] updateMemoryCache(): update memory cache for program + ", + "[level:20] compileFn(): compiling using program ", "[level:20] visitSourceFileNode(): hoisting + ", + "[level:20] diagnoseFn(): computing diagnostics for test-cache.ts using program ", "[level:20] readThrough(): writing caches ", @@ -196,31 +67,33 @@ describe('cache', () => { }) it('should use the cache with incremental program', () => { - const tmp = tempDir('incremental-program-compiler'), - compiler = makeCompiler({ - jestConfig: { cache: true, cacheDirectory: tmp }, - tsJestConfig: { - ...baseTsJestConfig, - incremental: true, - }, - }) + const tmp = tempDir('incremental-program-compiler') + const compiler = makeCompiler({ + jestConfig: { cache: true, cacheDirectory: tmp }, + tsJestConfig: { + ...baseTsJestConfig, + incremental: true, + }, + }) logTarget.clear() const compiled1 = compiler.compile(source, fileName) expect(logTarget.filteredLines(LogLevels.debug, Infinity)).toMatchInlineSnapshot(` -Array [ - "[level:20] readThrough(): cache miss -", - "[level:20] compileFn(): compiling using incremental program -", - "[level:20] updateMemoryCache(): update memory cache for incremental program -", - "[level:20] visitSourceFileNode(): hoisting -", - "[level:20] readThrough(): writing caches -", -] -`) + Array [ + "[level:20] readThrough(): cache miss + ", + "[level:20] updateMemoryCache(): update memory cache for incremental program + ", + "[level:20] compileFn(): compiling using incremental program + ", + "[level:20] visitSourceFileNode(): hoisting + ", + "[level:20] diagnoseFn(): computing diagnostics for test-cache.ts using incremental program + ", + "[level:20] readThrough(): writing caches + ", + ] + `) logTarget.clear() const compiled2 = compiler.compile(source, fileName) @@ -236,9 +109,9 @@ Array [ }) describe('allowJs', () => { - const fileName = 'test-allowJs.test.js', - source = 'export default 42', - tsConfig = { allowJs: true, outDir: '$$ts-jest$$' } + const fileName = 'test-allowJs.test.js' + const source = 'export default 42' + const tsConfig = { allowJs: true, outDir: '$$ts-jest$$' } beforeAll(() => { writeFileSync(fileName, source, 'utf8') @@ -270,15 +143,15 @@ describe('allowJs', () => { }) describe('jsx preserve', () => { - const fileName = 'test-jsx-preserve.tsx', - source = ` + const fileName = 'test-jsx-preserve.tsx' + const source = ` const App = () => { return <>Test } - `, - tsConfig = { - jsx: 'preserve' as any, - } + ` + const tsConfig = { + jsx: 'preserve' as any, + } beforeAll(() => { writeFileSync(fileName, source, 'utf8') @@ -310,15 +183,15 @@ describe('jsx preserve', () => { }) describe('other jsx options', () => { - const fileName = 'test-jsx-options.tsx', - source = ` + const fileName = 'test-jsx-options.tsx' + const source = ` const App = () => { return <>Test } - `, - tsConfig = { - jsx: 'react' as any, - } + ` + const tsConfig = { + jsx: 'react' as any, + } beforeAll(() => { writeFileSync(fileName, source, 'utf8') @@ -349,10 +222,133 @@ describe('other jsx options', () => { }) }) +describe('diagnostics', () => { + const fileName = 'test-typings.ts' + const source = ` +const f = (v: number) => v +const t: string = f(5) +` + + beforeAll(() => { + writeFileSync(fileName, source, 'utf8') + }) + + afterAll(() => { + removeSync(fileName) + }) + + describe('normal program', () => { + it('should report diagnostics with pathRegex config matches file name', () => { + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + incremental: false, + diagnostics: { pathRegex: fileName }, + }, + }) + + expect(() => compiler.compile(source, fileName)).toThrowErrorMatchingSnapshot() + }) + + it('should not report diagnostics with pathRegex config matches file name', () => { + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + incremental: false, + diagnostics: { pathRegex: 'foo.ts' }, + }, + }) + + try { + compiler.compile(source, fileName) + } catch (e) { + expect(e).not.toContain('TypeScript diagnostics') + } + }) + }) + + describe('incremental program', () => { + it('should report diagnostics with pathRegex config matches file name', () => { + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + incremental: true, + diagnostics: { pathRegex: fileName }, + }, + }) + + expect(() => compiler.compile(source, fileName)).toThrowErrorMatchingSnapshot() + }) + + it('should not report diagnostics with pathRegex config does not match file name', () => { + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + incremental: true, + diagnostics: { pathRegex: 'foo.ts' }, + }, + }) + + try { + compiler.compile(source, fileName) + } catch (e) { + expect(e).not.toContain('TypeScript diagnostics') + } + }) + }) +}) + +describe('source-maps', () => { + const fileName = 'source-maps-test.ts' + const source = 'console.log("hello")' + + beforeAll(() => { + writeFileSync(fileName, source, 'utf8') + }) + + afterAll(() => { + removeSync(fileName) + }) + + it('should have correct source maps with normal program', () => { + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + incremental: false, + }, + }) + + const compiled = compiler.compile(source, fileName) + + expect(new ProcessedSource(compiled, fileName).outputSourceMaps).toMatchObject({ + file: fileName, + sources: [fileName], + sourcesContent: [source], + }) + }) + + it('should have correct source maps with incremental program', () => { + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + incremental: true, + }, + }) + + const compiled = compiler.compile(source, fileName) + + expect(new ProcessedSource(compiled, fileName).outputSourceMaps).toMatchObject({ + file: fileName, + sources: [fileName], + sourcesContent: [source], + }) + }) +}) + describe('cannot compile', () => { - const fileName1 = 'test-cannot-compile.d.ts', - fileName2 = 'test-cannot-compile.jsx', - source = ` + const fileName1 = 'test-cannot-compile.d.ts' + const fileName2 = 'test-cannot-compile.jsx' + const source = ` interface Foo { a: string } diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 0cef7b999b..d4d925d643 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1,5 +1,6 @@ import { LogContexts, LogLevels, Logger } from 'bs-logger' import memoize = require('lodash.memoize') +import micromatch = require('micromatch') import { basename, normalize, relative } from 'path' import * as _ts from 'typescript' @@ -7,7 +8,16 @@ import { ConfigSet } from '../config/config-set' import { CompilerInstance, MemoryCache, SourceOutput } from '../types' import { Errors, interpolate } from '../util/messages' -const hasOwn = Object.prototype.hasOwnProperty +import { cacheResolvedModules, hasOwn } from './compiler-utils' + +function doTypeChecking(configs: ConfigSet, fileName: string, program: _ts.Program, logger: Logger) { + if (configs.shouldReportDiagnostic(fileName)) { + const sourceFile = program.getSourceFile(fileName) + const diagnostics = program.getSemanticDiagnostics(sourceFile).concat(program.getSyntacticDiagnostics(sourceFile)) + // will raise or just warn diagnostics depending on config + configs.raiseDiagnostics(diagnostics, fileName, logger) + } +} /** * @internal @@ -15,30 +25,33 @@ const hasOwn = Object.prototype.hasOwnProperty export const compileUsingProgram = (configs: ConfigSet, logger: Logger, memoryCache: MemoryCache): CompilerInstance => { logger.debug('compileUsingProgram(): create typescript compiler') - const ts = configs.compilerModule, - cwd = configs.cwd, - { options, projectReferences, errors } = configs.typescript, - incremental = configs.tsJest.incremental + const ts = configs.compilerModule + const cwd = configs.cwd + const { options, projectReferences, errors } = configs.typescript + const incremental = configs.tsJest.incremental + const programDebugText = `${incremental ? 'incremental program' : 'program'}` + const cacheDir = configs.tsCacheDir const compilerHostTraceCtx = { - namespace: 'ts:compilerHost', - call: null, - [LogContexts.logLevel]: LogLevels.trace, - }, - sys = { - ...ts.sys, - readFile: logger.wrap(compilerHostTraceCtx, 'readFile', memoize(ts.sys.readFile)), - readDirectory: memoize(ts.sys.readDirectory), - getDirectories: memoize(ts.sys.getDirectories), - fileExists: memoize(ts.sys.fileExists), - directoryExists: memoize(ts.sys.directoryExists), - resolvePath: memoize(ts.sys.resolvePath), - realpath: memoize(ts.sys.realpath!), - getCurrentDirectory: () => cwd, - getNewLine: () => '\n', - getCanonicalFileName: (fileName: string) => - ts.sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(), - } - let builderProgram: _ts.EmitAndSemanticDiagnosticsBuilderProgram, program: _ts.Program, host: _ts.CompilerHost + namespace: 'ts:compilerHost', + call: null, + [LogContexts.logLevel]: LogLevels.trace, + } + const sys = { + ...ts.sys, + readFile: logger.wrap(compilerHostTraceCtx, 'readFile', memoize(ts.sys.readFile)), + readDirectory: memoize(ts.sys.readDirectory), + getDirectories: memoize(ts.sys.getDirectories), + fileExists: memoize(ts.sys.fileExists), + directoryExists: memoize(ts.sys.directoryExists), + resolvePath: memoize(ts.sys.resolvePath), + realpath: memoize(ts.sys.realpath!), + getCurrentDirectory: () => cwd, + getNewLine: () => '\n', + getCanonicalFileName: (fileName: string) => (ts.sys.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase()), + } + let builderProgram: _ts.EmitAndSemanticDiagnosticsBuilderProgram + let program: _ts.Program + let host: _ts.CompilerHost if (incremental) { host = ts.createIncrementalCompilerHost(options, sys) builderProgram = ts.createIncrementalProgram({ @@ -72,51 +85,43 @@ export const compileUsingProgram = (configs: ConfigSet, logger: Logger, memoryCa }) } // Read and cache custom transformers. - const customTransformers = configs.tsCustomTransformers, - updateMemoryCache = (code: string, fileName: string): void => { - logger.debug( - { fileName }, - `updateMemoryCache(): update memory cache for ${incremental ? 'incremental program' : 'program'}`, - ) - - const sourceFile = incremental ? builderProgram.getSourceFile(fileName) : program.getSourceFile(fileName) - if (!hasOwn.call(memoryCache.versions, fileName)) { - memoryCache.versions[fileName] = 1 - } - if (memoryCache.contents[fileName] !== code) { - memoryCache.contents[fileName] = code - memoryCache.versions[fileName] = (memoryCache.versions[fileName] || 0) + 1 + const customTransformers = configs.tsCustomTransformers + const updateMemoryCache = (code: string, fileName: string): void => { + logger.debug({ fileName }, `updateMemoryCache(): update memory cache for ${programDebugText}`) + + const sourceFile = incremental ? builderProgram.getSourceFile(fileName) : program.getSourceFile(fileName) + if (!hasOwn.call(memoryCache.versions, fileName)) { + memoryCache.versions[fileName] = 1 + } + if (memoryCache.contents[fileName] !== code) { + memoryCache.contents[fileName] = code + memoryCache.versions[fileName] = (memoryCache.versions[fileName] || 0) + 1 + } + // Update program when file changes. + if (sourceFile === undefined || sourceFile.text !== code || program.isSourceFileFromExternalLibrary(sourceFile)) { + const programOptions = { + rootNames: Object.keys(memoryCache.versions), + options, + host, + configFileParsingDiagnostics: errors, + projectReferences, } - // Update program when file changes. - if (sourceFile === undefined || sourceFile.text !== code || program.isSourceFileFromExternalLibrary(sourceFile)) { - const programOptions = { - rootNames: Object.keys(memoryCache.versions), - options, - host, - configFileParsingDiagnostics: errors, - projectReferences, - } - if (incremental) { - builderProgram = ts.createIncrementalProgram(programOptions) - program = builderProgram.getProgram() - } else { - program = ts.createProgram({ - ...programOptions, - oldProgram: program, - }) - } + if (incremental) { + builderProgram = ts.createIncrementalProgram(programOptions) + program = builderProgram.getProgram() + } else { + program = ts.createProgram({ + ...programOptions, + oldProgram: program, + }) } } + } return { compileFn: (code: string, fileName: string): SourceOutput => { - const normalizedFileName = normalize(fileName), - output: [string, string] = ['', ''] - - logger.debug( - { normalizedFileName }, - `compileFn(): compiling using ${incremental ? 'incremental program' : 'program'}`, - ) + const normalizedFileName = normalize(fileName) + const output: [string, string] = ['', ''] // Must set memory cache before attempting to read file. updateMemoryCache(code, normalizedFileName) const sourceFile = incremental @@ -125,6 +130,8 @@ export const compileUsingProgram = (configs: ConfigSet, logger: Logger, memoryCa if (!sourceFile) throw new TypeError(`Unable to read file: ${fileName}`) + logger.debug({ normalizedFileName }, `compileFn(): compiling using ${programDebugText}`) + const result: _ts.EmitResult = incremental ? builderProgram.emit( sourceFile, @@ -144,7 +151,40 @@ export const compileUsingProgram = (configs: ConfigSet, logger: Logger, memoryCa undefined, customTransformers, ) + // Do type checking by getting TypeScript diagnostics + logger.debug(`diagnoseFn(): computing diagnostics for ${normalizedFileName} using ${programDebugText}`) + doTypeChecking(configs, normalizedFileName, program, logger) + /** + * We don't need the following logic with no cache run because no cache always gives correct typing + */ + /* istanbul ignore next (covered by e2e) */ + if (cacheDir) { + if (micromatch.isMatch(normalizedFileName, configs.testMatchPatterns)) { + cacheResolvedModules(normalizedFileName, memoryCache, program, cacheDir, logger) + } else { + /* istanbul ignore next (covered by e2e) */ + Object.entries(memoryCache.resolvedModules) + .filter(entry => { + /** + * When imported modules change, we only need to check whether the test file is compiled previously or not + * base on memory cache. By checking memory cache, we can avoid repeatedly doing type checking against + * test file for 1st time run after clearing cache because + */ + return ( + entry[1].find(modulePath => modulePath === normalizedFileName) && + !hasOwn.call(memoryCache.outputs, entry[0]) + ) + }) + .forEach(entry => { + logger.debug( + `diagnoseFn(): computing diagnostics for test file that imports ${normalizedFileName} using ${programDebugText}`, + ) + + doTypeChecking(configs, entry[0], program, logger) + }) + } + } if (result.emitSkipped) { throw new TypeError(`${relative(cwd, fileName)}: Emit skipped`) } @@ -160,21 +200,6 @@ export const compileUsingProgram = (configs: ConfigSet, logger: Logger, memoryCa return output }, - diagnoseFn: (code: string, filePath: string) => { - const normalizedFileName = normalize(filePath) - updateMemoryCache(code, normalizedFileName) - if (configs.shouldReportDiagnostic(normalizedFileName)) { - logger.debug( - { normalizedFileName }, - `compileFn(): computing diagnostics for ${incremental ? 'incremental program' : 'program'}`, - ) - - const sourceFile = program.getSourceFile(normalizedFileName), - diagnostics = program.getSemanticDiagnostics(sourceFile).concat(program.getSyntacticDiagnostics(sourceFile)) - // will raise or just warn diagnostics depending on config - configs.raiseDiagnostics(diagnostics, normalizedFileName, logger) - } - }, program, } } diff --git a/src/compiler/transpile-module.spec.ts b/src/compiler/transpile-module.spec.ts index 855998628b..67e5d0cb71 100644 --- a/src/compiler/transpile-module.spec.ts +++ b/src/compiler/transpile-module.spec.ts @@ -17,8 +17,8 @@ describe('transpile module with isolatedModule: true', () => { }) it('should compile using transpileModule and not use cache', () => { - const compiler = makeCompiler({ tsJestConfig: { ...baseTsJestConfig, tsConfig: false } }), - spy = jest.spyOn(require('typescript'), 'transpileModule') + const compiler = makeCompiler({ tsJestConfig: { ...baseTsJestConfig, tsConfig: false } }) + const spy = jest.spyOn(require('typescript'), 'transpileModule') logTarget.clear() const compiled = compiler.compile('export default 42', __filename) @@ -40,11 +40,11 @@ describe('transpile module with isolatedModule: true', () => { }) it('should compile js file for allowJs true', () => { - const fileName = `${__filename}.test.js`, - compiler = makeCompiler({ - tsJestConfig: { ...baseTsJestConfig, tsConfig: { allowJs: true, outDir: '$$ts-jest$$' } }, - }), - source = 'export default 42' + const fileName = `${__filename}.test.js` + const compiler = makeCompiler({ + tsJestConfig: { ...baseTsJestConfig, tsConfig: { allowJs: true, outDir: '$$ts-jest$$' } }, + }) + const source = 'export default 42' writeFileSync(fileName, source, 'utf8') const compiled = compiler.compile(source, fileName) @@ -55,16 +55,16 @@ describe('transpile module with isolatedModule: true', () => { }) it('should compile tsx file for jsx preserve', () => { - const fileName = `foo.tsx`, - compiler = makeCompiler({ - tsJestConfig: { - ...baseTsJestConfig, - tsConfig: { - jsx: 'preserve' as any, - }, + const fileName = `foo.tsx` + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + tsConfig: { + jsx: 'preserve' as any, }, - }), - source = ` + }, + }) + const source = ` const App = () => { return <>Test } @@ -79,16 +79,16 @@ describe('transpile module with isolatedModule: true', () => { }) it('should compile tsx file for other jsx options', () => { - const fileName = `foo.tsx`, - compiler = makeCompiler({ - tsJestConfig: { - ...baseTsJestConfig, - tsConfig: { - jsx: 'react' as any, - }, + const fileName = `foo.tsx` + const compiler = makeCompiler({ + tsJestConfig: { + ...baseTsJestConfig, + tsConfig: { + jsx: 'react' as any, }, - }), - source = ` + }, + }) + const source = ` const App = () => { return <>Test } @@ -103,8 +103,8 @@ describe('transpile module with isolatedModule: true', () => { }) it('should have correct source maps', () => { - const compiler = makeCompiler({ tsJestConfig: { ...baseTsJestConfig, tsConfig: false } }), - source = 'const f = (v: number) => v\nconst t: number = f(5)' + const compiler = makeCompiler({ tsJestConfig: { ...baseTsJestConfig, tsConfig: false } }) + const source = 'const f = (v: number) => v\nconst t: number = f(5)' const compiled = compiler.compile(source, __filename) diff --git a/src/compiler/transpile-module.ts b/src/compiler/transpile-module.ts index 8d04ad94e9..cc7cb6c2cb 100644 --- a/src/compiler/transpile-module.ts +++ b/src/compiler/transpile-module.ts @@ -14,13 +14,13 @@ export const compileUsingTranspileModule = (configs: ConfigSet, logger: Logger): compileFn: (code: string, fileName: string): SourceOutput => { logger.debug({ fileName }, 'getOutput(): compiling as isolated module') - const normalizedFileName = normalize(fileName), - result = configs.compilerModule.transpileModule(code, { - fileName: normalizedFileName, - transformers: configs.tsCustomTransformers, - compilerOptions: configs.typescript.options, - reportDiagnostics: configs.shouldReportDiagnostic(normalizedFileName), - }) + const normalizedFileName = normalize(fileName) + const result = configs.compilerModule.transpileModule(code, { + fileName: normalizedFileName, + transformers: configs.tsCustomTransformers, + compilerOptions: configs.typescript.options, + reportDiagnostics: configs.shouldReportDiagnostic(normalizedFileName), + }) if (result.diagnostics && configs.shouldReportDiagnostic(normalizedFileName)) { configs.raiseDiagnostics(result.diagnostics, normalizedFileName, logger) diff --git a/src/config/config-set.spec.ts b/src/config/config-set.spec.ts index abfe04013c..5f99046a1c 100644 --- a/src/config/config-set.spec.ts +++ b/src/config/config-set.spec.ts @@ -462,10 +462,6 @@ describe('typescript', () => { }) }) - it('should include default outDir $$ts-jest$$ when allowJs is enabled and no outDir from config', () => { - expect(get(void 0, { tsConfig: { allowJs: true } }).options.outDir).toBe('$$ts-jest$$') - }) - it('should be able to read extends', () => { const cs = createConfigSet({ tsJestConfig: { tsConfig: 'tsconfig.build.json' }, diff --git a/src/config/config-set.ts b/src/config/config-set.ts index f0a378fa4d..276bdeb9df 100644 --- a/src/config/config-set.ts +++ b/src/config/config-set.ts @@ -187,6 +187,14 @@ export class ConfigSet { return config } + /** + * @internal + */ + @Memoize() + get testMatchPatterns(): string[] { + return this.jest.testMatch.concat(this.jest.testRegex) + } + /** * @internal */ @@ -770,10 +778,6 @@ export class ConfigSet { finalOptions.allowSyntheticDefaultImports = true } } - // Make sure when allowJs is enabled, outDir is set otherwise we run into error: Cannot write file ... because it would overwrite input - if (finalOptions.allowJs && !finalOptions.outDir) { - finalOptions.outDir = '$$ts-jest$$' - } // ensure undefined are removed and other values are overridden for (const key of Object.keys(forcedOptions)) { diff --git a/src/ts-jest-transformer.spec.ts b/src/ts-jest-transformer.spec.ts index 6165edb061..7c7e52a5a8 100644 --- a/src/ts-jest-transformer.spec.ts +++ b/src/ts-jest-transformer.spec.ts @@ -238,20 +238,11 @@ Array [ }) describe('getCacheKey', () => { - let tr: TsJestTransformer - - beforeEach(() => { - tr = new TsJestTransformer() - }) - it('should be different for each argument value', () => { - jest.spyOn(tr, 'configsFor').mockImplementation( - jestConfigStr => - (({ - cacheKey: jestConfigStr, - tsCompiler: {}, - } as unknown) as ConfigSet), - ) + const tr = new TsJestTransformer() + jest + .spyOn(tr, 'configsFor') + .mockImplementation(jestConfigStr => (({ cacheKey: jestConfigStr } as unknown) as ConfigSet)) const input = { fileContent: 'export default "foo"', fileName: 'foo.ts', @@ -272,52 +263,4 @@ describe('getCacheKey', () => { // unique array should have same length expect(keys.filter((k, i, all) => all.indexOf(k) === i)).toHaveLength(keys.length) }) - - it('should call diagnose() to do type checking for js/jsx/ts/tsx file but not d.ts file', () => { - const tsCompilerStub = { diagnose: jest.fn() }, - baseInput = { - fileContent: 'export default "foo"', - jestConfigStr: '{"foo": "bar"}', - options: { instrument: false, rootDir: '/foo' }, - } - jest.spyOn(tr, 'configsFor').mockImplementation( - jestConfigStr => - (({ - cacheKey: jestConfigStr, - tsCompiler: tsCompilerStub, - } as unknown) as ConfigSet), - ) - const jsInput = { - ...baseInput, - fileName: 'foo.js', - }, - jsxInput = { - ...baseInput, - fileName: 'foo.jsx', - }, - tsInput = { - ...baseInput, - fileName: 'foo.ts', - }, - tsxInput = { - ...baseInput, - fileName: 'foo.tsx', - }, - dtsInput = { - ...baseInput, - fileContent: 'type Foo = (code: string) => void', - fileName: 'foo.d.ts', - } - tr.getCacheKey(jsInput.fileContent, jsInput.fileName, jsInput.jestConfigStr, jsInput.options) - tr.getCacheKey(jsxInput.fileContent, jsxInput.fileName, jsxInput.jestConfigStr, jsxInput.options) - tr.getCacheKey(tsInput.fileContent, tsInput.fileName, tsInput.jestConfigStr, tsInput.options) - tr.getCacheKey(tsxInput.fileContent, tsxInput.fileName, tsxInput.jestConfigStr, tsxInput.options) - tr.getCacheKey(dtsInput.fileContent, dtsInput.fileName, dtsInput.jestConfigStr, dtsInput.options) - - expect(tsCompilerStub.diagnose).toHaveBeenCalledTimes(4) - expect(tsCompilerStub.diagnose).toHaveBeenNthCalledWith(1, jsInput.fileContent, jsInput.fileName) - expect(tsCompilerStub.diagnose).toHaveBeenNthCalledWith(2, jsxInput.fileContent, jsxInput.fileName) - expect(tsCompilerStub.diagnose).toHaveBeenNthCalledWith(3, tsInput.fileContent, tsInput.fileName) - expect(tsCompilerStub.diagnose).toHaveBeenNthCalledWith(4, tsxInput.fileContent, tsxInput.fileName) - }) }) diff --git a/src/ts-jest-transformer.ts b/src/ts-jest-transformer.ts index 641121a21f..d4e7514706 100644 --- a/src/ts-jest-transformer.ts +++ b/src/ts-jest-transformer.ts @@ -18,18 +18,6 @@ interface ConfigSetIndexItem { jestConfig: JsonableValue } -function checkDefinitionFile(filePath: string): boolean { - return filePath.endsWith('.d.ts') -} - -function checkJsFile(filePath: string): boolean { - return /\.jsx?$/.test(filePath) -} - -function checkTsFile(filePath: string): boolean { - return !checkDefinitionFile(filePath) && /\.tsx?$/.test(filePath) -} - export class TsJestTransformer implements Transformer { /** * @internal @@ -114,14 +102,14 @@ export class TsJestTransformer implements Transformer { this.logger.debug({ fileName: filePath, transformOptions }, 'processing', filePath) let result: string | TransformedSource - const source: string = input, - configs = this.configsFor(jestConfig), - { hooks } = configs, - stringify = configs.shouldStringifyContent(filePath), - babelJest = stringify ? undefined : configs.babelJestTransformer, - isDefinitionFile = checkDefinitionFile(filePath), - isJsFile = checkJsFile(filePath), - isTsFile = checkTsFile(filePath) + const source: string = input + const configs = this.configsFor(jestConfig) + const { hooks } = configs + const stringify = configs.shouldStringifyContent(filePath) + const babelJest = stringify ? undefined : configs.babelJestTransformer + const isDefinitionFile = filePath.endsWith('.d.ts') + const isJsFile = /\.jsx?$/.test(filePath) + const isTsFile = !isDefinitionFile && /\.tsx?$/.test(filePath) if (stringify) { // handles here what we should simply stringify result = `module.exports=${JSON.stringify(source)}` @@ -189,9 +177,6 @@ export class TsJestTransformer implements Transformer { const configs = this.configsFor(jestConfigStr) // we do not instrument, ensure it is false all the time const { instrument = false, rootDir = configs.rootDir } = transformOptions - if (configs.tsCompiler.diagnose && (checkJsFile(filePath) || checkTsFile(filePath))) { - configs.tsCompiler.diagnose(fileContent, filePath) - } return sha1( configs.cacheKey, diff --git a/src/types.ts b/src/types.ts index 0f7d144bed..c50b63f2ea 100644 --- a/src/types.ts +++ b/src/types.ts @@ -185,10 +185,6 @@ export interface TsCompiler { * @internal */ compile(code: string, fileName: string, lineOffset?: number): string - /** - * @internal - */ - diagnose: DiagnoseFn | undefined program: _ts.Program | undefined } @@ -206,21 +202,17 @@ export interface MemoryCache { contents: { [filePath: string]: string | undefined } versions: { [filePath: string]: number } outputs: { [filePath: string]: string } + resolvedModules: { [testFilePath: string]: string[] } } /** * @internal */ export type CompileFn = (code: string, fileName: string, lineOffset?: number) => SourceOutput -/** - * @internal - */ -export type DiagnoseFn = (code: string, filePath: string) => void /** * @internal */ export interface CompilerInstance { compileFn: CompileFn - diagnoseFn?: DiagnoseFn program?: _ts.Program } /** diff --git a/tslint.json b/tslint.json index e21fb54d77..7669513b00 100644 --- a/tslint.json +++ b/tslint.json @@ -47,7 +47,6 @@ "no-string-throw": true, "no-var-keyword": true, "object-literal-sort-keys": false, - "one-variable-per-declaration": false, "ordered-imports": [ true, { From f8f8bf63730e678c2f0a7e372c9ff9a6b569f6c0 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2020 14:16:56 +0200 Subject: [PATCH 13/23] build(deps-dev): bump @jest/types from 25.2.3 to 25.2.6 (#1486) Bumps [@jest/types](https://github.com/facebook/jest/tree/HEAD/packages/jest-types) from 25.2.3 to 25.2.6. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v25.2.6/packages/jest-types) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3e90859906..df9ca98086 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1126,9 +1126,9 @@ } }, "@jest/types": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.3.tgz", - "integrity": "sha512-6oLQwO9mKif3Uph3RX5J1i3S7X7xtDHWBaaaoeKw8hOzV6YUd0qDcYcHZ6QXMHDIzSr7zzrEa51o2Ovlj6AtKQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-25.2.6.tgz", + "integrity": "sha512-myJTTV37bxK7+3NgKc4Y/DlQ5q92/NOwZsZ+Uch7OXdElxOg61QYc72fPYNAjlvbnJ2YvbXLamIsa9tj48BmyQ==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.0", From ccc92ca840e4df7e38c4ad399d7b4a133f4d3ce6 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2020 14:48:09 +0200 Subject: [PATCH 14/23] build(deps-dev): bump @jest/transform from 25.2.4 to 25.2.6 (#1488) Bumps [@jest/transform](https://github.com/facebook/jest/tree/HEAD/packages/jest-transform) from 25.2.4 to 25.2.6. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/commits/v25.2.6/packages/jest-transform) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 83 +++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 73 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index df9ca98086..a1a229f562 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1038,21 +1038,21 @@ } }, "@jest/transform": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.4.tgz", - "integrity": "sha512-6eRigvb+G6bs4kW5j1/y8wu4nCrmVuIe0epPBbiWaYlwawJ8yi1EIyK3d/btDqmBpN5GpN4YhR6iPPnDmkYdTA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-25.2.6.tgz", + "integrity": "sha512-rZnjCjZf9avPOf9q/w9RUZ9Uc29JmB53uIXNJmNz04QbDMD5cR/VjfikiMKajBsXe2vnFl5sJ4RTt+9HPicauQ==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "babel-plugin-istanbul": "^6.0.0", "chalk": "^3.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.0.0", "graceful-fs": "^4.2.3", - "jest-haste-map": "^25.2.3", - "jest-regex-util": "^25.2.1", - "jest-util": "^25.2.3", + "jest-haste-map": "^25.2.6", + "jest-regex-util": "^25.2.6", + "jest-util": "^25.2.6", "micromatch": "^4.0.2", "pirates": "^4.0.1", "realpath-native": "^2.0.0", @@ -1108,6 +1108,60 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "jest-haste-map": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.6.tgz", + "integrity": "sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA==", + "dev": true, + "requires": { + "@jest/types": "^25.2.6", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.1.2", + "graceful-fs": "^4.2.3", + "jest-serializer": "^25.2.6", + "jest-util": "^25.2.6", + "jest-worker": "^25.2.6", + "micromatch": "^4.0.2", + "sane": "^4.0.3", + "walker": "^1.0.7", + "which": "^2.0.2" + } + }, + "jest-regex-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", + "dev": true + }, + "jest-serializer": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.6.tgz", + "integrity": "sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ==", + "dev": true + }, + "jest-util": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.6.tgz", + "integrity": "sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q==", + "dev": true, + "requires": { + "@jest/types": "^25.2.6", + "chalk": "^3.0.0", + "is-ci": "^2.0.0", + "make-dir": "^3.0.0" + } + }, + "jest-worker": { + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.6.tgz", + "integrity": "sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA==", + "dev": true, + "requires": { + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -1122,6 +1176,15 @@ "requires": { "has-flag": "^4.0.0" } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -9530,9 +9593,9 @@ } }, "write-file-atomic": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz", - "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", "dev": true, "requires": { "imurmurhash": "^0.1.4", From 330afe33c36e74edffc24ab40e03546e847d56e3 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2020 15:52:54 +0200 Subject: [PATCH 15/23] build(deps-dev): bump jest from 25.2.4 to 25.2.6 (#1489) Bumps [jest](https://github.com/facebook/jest) from 25.2.4 to 25.2.6. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v25.2.4...v25.2.6) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 676 +++++++++++++++++++++++----------------------- 1 file changed, 337 insertions(+), 339 deletions(-) diff --git a/package-lock.json b/package-lock.json index a1a229f562..dc9ed26645 100644 --- a/package-lock.json +++ b/package-lock.json @@ -698,14 +698,14 @@ "dev": true }, "@jest/console": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.2.3.tgz", - "integrity": "sha512-k+37B1aSvOt9tKHWbZZSOy1jdgzesB0bj96igCVUG1nAH1W5EoUfgc5EXbBVU08KSLvkVdWopLXaO3xfVGlxtQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-25.2.6.tgz", + "integrity": "sha512-bGp+0PicZVCEhb+ifnW9wpKWONNdkhtJsRE7ap729hiAfTvCN6VhGx0s/l/V/skA2pnyqq+N/7xl9ZWfykDpsg==", "dev": true, "requires": { - "@jest/source-map": "^25.2.1", + "@jest/source-map": "^25.2.6", "chalk": "^3.0.0", - "jest-util": "^25.2.3", + "jest-util": "^25.2.6", "slash": "^3.0.0" }, "dependencies": { @@ -762,33 +762,33 @@ } }, "@jest/core": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.4.tgz", - "integrity": "sha512-WcWYShl0Bqfcb32oXtjwbiR78D/djhMdJW+ulp4/bmHgeODcsieqUJfUH+kEv8M7VNV77E6jds5aA+WuGh1nmg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.6.tgz", + "integrity": "sha512-uMwUtpS4CWc7SadHcHEQ3VdrZ8A5u+UVbHIVUqhXcxlQ/bBC5+/T9IJGSu0o8e+/EXmFrTtl4zGr1nRPFq0Wlg==", "dev": true, "requires": { - "@jest/console": "^25.2.3", - "@jest/reporters": "^25.2.4", - "@jest/test-result": "^25.2.4", - "@jest/transform": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/console": "^25.2.6", + "@jest/reporters": "^25.2.6", + "@jest/test-result": "^25.2.6", + "@jest/transform": "^25.2.6", + "@jest/types": "^25.2.6", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-changed-files": "^25.2.3", - "jest-config": "^25.2.4", - "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.4", - "jest-regex-util": "^25.2.1", - "jest-resolve": "^25.2.3", - "jest-resolve-dependencies": "^25.2.4", - "jest-runner": "^25.2.4", - "jest-runtime": "^25.2.4", - "jest-snapshot": "^25.2.4", - "jest-util": "^25.2.3", - "jest-validate": "^25.2.3", - "jest-watcher": "^25.2.4", + "jest-changed-files": "^25.2.6", + "jest-config": "^25.2.6", + "jest-haste-map": "^25.2.6", + "jest-message-util": "^25.2.6", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.2.6", + "jest-resolve-dependencies": "^25.2.6", + "jest-runner": "^25.2.6", + "jest-runtime": "^25.2.6", + "jest-snapshot": "^25.2.6", + "jest-util": "^25.2.6", + "jest-validate": "^25.2.6", + "jest-watcher": "^25.2.6", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -874,40 +874,40 @@ } }, "@jest/environment": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.4.tgz", - "integrity": "sha512-wA4xlhD19/gukkDpJ5HQsTle0pgnzI5qMFEjw267lpTDC8d9N7Ihqr5pI+l0p8Qn1SQhai+glSqxrGdzKy4jxw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-25.2.6.tgz", + "integrity": "sha512-17WIw+wCb9drRNFw1hi8CHah38dXVdOk7ga9exThhGtXlZ9mK8xH4DjSB9uGDGXIWYSHmrxoyS6KJ7ywGr7bzg==", "dev": true, "requires": { - "@jest/fake-timers": "^25.2.4", - "@jest/types": "^25.2.3", - "jest-mock": "^25.2.3" + "@jest/fake-timers": "^25.2.6", + "@jest/types": "^25.2.6", + "jest-mock": "^25.2.6" } }, "@jest/fake-timers": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.4.tgz", - "integrity": "sha512-oC1TJiwfMcBttVN7Wz+VZnqEAgYTiEMu0QLOXpypR89nab0uCB31zm/QeBZddhSstn20qe3yqOXygp6OwvKT/Q==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-25.2.6.tgz", + "integrity": "sha512-A6qtDIA2zg/hVgUJJYzQSHFBIp25vHdSxW/s4XmTJAYxER6eL0NQdQhe4+232uUSviKitubHGXXirt5M7blPiA==", "dev": true, "requires": { - "@jest/types": "^25.2.3", - "jest-message-util": "^25.2.4", - "jest-mock": "^25.2.3", - "jest-util": "^25.2.3", + "@jest/types": "^25.2.6", + "jest-message-util": "^25.2.6", + "jest-mock": "^25.2.6", + "jest-util": "^25.2.6", "lolex": "^5.0.0" } }, "@jest/reporters": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.4.tgz", - "integrity": "sha512-VHbLxM03jCc+bTLOluW/IqHR2G0Cl0iATwIQbuZtIUast8IXO4fD0oy4jpVGpG5b20S6REA8U3BaQoCW/CeVNQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-25.2.6.tgz", + "integrity": "sha512-DRMyjaxcd6ZKctiXNcuVObnPwB1eUs7xrUVu0J2V0p5/aZJei5UM9GL3s/bmN4hRV8Mt3zXh+/9X2o0Q4ClZIA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^25.2.3", - "@jest/test-result": "^25.2.4", - "@jest/transform": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/console": "^25.2.6", + "@jest/test-result": "^25.2.6", + "@jest/transform": "^25.2.6", + "@jest/types": "^25.2.6", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", @@ -917,10 +917,10 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.0.0", - "jest-haste-map": "^25.2.3", - "jest-resolve": "^25.2.3", - "jest-util": "^25.2.3", - "jest-worker": "^25.2.1", + "jest-haste-map": "^25.2.6", + "jest-resolve": "^25.2.6", + "jest-util": "^25.2.6", + "jest-worker": "^25.2.6", "node-notifier": "^6.0.0", "slash": "^3.0.0", "source-map": "^0.6.0", @@ -988,9 +988,9 @@ } }, "@jest/source-map": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.2.1.tgz", - "integrity": "sha512-PgScGJm1U27+9Te/cxP4oUFqJ2PX6NhBL2a6unQ7yafCgs8k02c0LSyjSIx/ao0AwcAdCczfAPDf5lJ7zoB/7A==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-25.2.6.tgz", + "integrity": "sha512-VuIRZF8M2zxYFGTEhkNSvQkUKafQro4y+mwUxy5ewRqs5N/ynSFUODYp3fy1zCnbCMy1pz3k+u57uCqx8QRSQQ==", "dev": true, "requires": { "callsites": "^3.0.0", @@ -1013,28 +1013,27 @@ } }, "@jest/test-result": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.4.tgz", - "integrity": "sha512-AI7eUy+q2lVhFnaibDFg68NGkrxVWZdD6KBr9Hm6EvN0oAe7GxpEwEavgPfNHQjU2mi6g+NsFn/6QPgTUwM1qg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-25.2.6.tgz", + "integrity": "sha512-gmGgcF4qz/pkBzyfJuVHo2DA24kIgVQ5Pf/VpW4QbyMLSegi8z+9foSZABfIt5se6k0fFj/3p/vrQXdaOgit0w==", "dev": true, "requires": { - "@jest/console": "^25.2.3", - "@jest/transform": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/console": "^25.2.6", + "@jest/types": "^25.2.6", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.4.tgz", - "integrity": "sha512-TEZm/Rkd6YgskdpTJdYLBtu6Gc11tfWPuSpatq0duH77ekjU8dpqX2zkPdY/ayuHxztV5LTJoV5BLtI9mZfXew==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.6.tgz", + "integrity": "sha512-6sHqVeXbEapfxoGb77NKCywNn9jc4WlIPtFqhwCKGhigGnpl42AuyLxclRWxbFx+V63ozzfjnemYxqHlkcoikQ==", "dev": true, "requires": { - "@jest/test-result": "^25.2.4", - "jest-haste-map": "^25.2.3", - "jest-runner": "^25.2.4", - "jest-runtime": "^25.2.4" + "@jest/test-result": "^25.2.6", + "jest-haste-map": "^25.2.6", + "jest-runner": "^25.2.6", + "jest-runtime": "^25.2.6" } }, "@jest/transform": { @@ -1787,16 +1786,16 @@ "dev": true }, "babel-jest": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.4.tgz", - "integrity": "sha512-+yDzlyJVWrqih9i2Cvjpt7COaN8vUwCsKGtxJLzg6I0xhxD54K8mvDUCliPKLufyzHh/c5C4MRj4Vk7VMjOjIg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-25.2.6.tgz", + "integrity": "sha512-MDJOAlwtIeIQiGshyX0d2PxTbV73xZMpNji40ivVTPQOm59OdRR9nYCkffqI7ugtsK4JR98HgNKbDbuVf4k5QQ==", "dev": true, "requires": { - "@jest/transform": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/transform": "^25.2.6", + "@jest/types": "^25.2.6", "@types/babel__core": "^7.1.0", "babel-plugin-istanbul": "^6.0.0", - "babel-preset-jest": "^25.2.1", + "babel-preset-jest": "^25.2.6", "chalk": "^3.0.0", "slash": "^3.0.0" }, @@ -1867,9 +1866,9 @@ } }, "babel-plugin-jest-hoist": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.1.tgz", - "integrity": "sha512-HysbCQfJhxLlyxDbKcB2ucGYV0LjqK4h6dBoI3RtFuOxTiTWK6XGZMsHb0tGh8iJdV4hC6Z2GCHzVvDeh9i0lQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.2.6.tgz", + "integrity": "sha512-qE2xjMathybYxjiGFJg0mLFrz0qNp83aNZycWDY/SuHiZNq+vQfRQtuINqyXyue1ELd8Rd+1OhFSLjms8msMbw==", "dev": true, "requires": { "@types/babel__traverse": "^7.0.6" @@ -1895,14 +1894,14 @@ } }, "babel-preset-jest": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.1.tgz", - "integrity": "sha512-zXHJBM5iR8oEO4cvdF83AQqqJf3tJrXy3x8nfu2Nlqvn4cneg4Ca8M7cQvC5S9BzDDy1O0tZ9iXru9J6E3ym+A==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-25.2.6.tgz", + "integrity": "sha512-Xh2eEAwaLY9+SyMt/xmGZDnXTW/7pSaBPG0EMo7EuhvosFKVWYB6CqwYD31DaEQuoTL090oDZ0FEqygffGRaSQ==", "dev": true, "requires": { "@babel/plugin-syntax-bigint": "^7.0.0", "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "babel-plugin-jest-hoist": "^25.2.1" + "babel-plugin-jest-hoist": "^25.2.6" } }, "babel-runtime": { @@ -2284,9 +2283,9 @@ "dev": true }, "collect-v8-coverage": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.0.tgz", - "integrity": "sha512-VKIhJgvk8E1W28m5avZ2Gv2Ruv5YiF56ug2oclvaG9md69BuZImMG2sk9g7QNKLUbtYAKQjXjYxbYZVUlMMKmQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, "collection-visit": { @@ -3391,17 +3390,17 @@ } }, "expect": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.4.tgz", - "integrity": "sha512-hfuPhPds4yOsZtIw4kwAg70r0hqGmpqekgA+VX7pf/3wZ6FY+xIOXZhNsPMMMsspYG/YIsbAiwqsdnD4Ht+bCA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.6.tgz", + "integrity": "sha512-hMqqX3OX5Erw7CLoXXcawqi6xThhz/rYk+vEufhoCAyzDC2PW99ypYc/pvcgKjyuwbOB1wjqqClmwvlOL36Inw==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-styles": "^4.0.0", - "jest-get-type": "^25.2.1", - "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.4", - "jest-regex-util": "^25.2.1" + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.2.6", + "jest-message-util": "^25.2.6", + "jest-regex-util": "^25.2.6" }, "dependencies": { "ansi-styles": { @@ -3430,9 +3429,9 @@ "dev": true }, "jest-get-type": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz", - "integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true } } @@ -4881,14 +4880,14 @@ } }, "jest": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.4.tgz", - "integrity": "sha512-Lu4LXxf4+durzN/IFilcAoQSisOwgHIXgl9vffopePpSSwFqfj1Pj4y+k3nL8oTbnvjxgDIsEcepy6he4bWqnQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.6.tgz", + "integrity": "sha512-AA9U1qmYViBTfoKWzQBbBmck53Tsw8av7zRYdE4EUBU6r04mddPQaflpPBy/KC308HF7u8fLLxEJFt/LiFzYFQ==", "dev": true, "requires": { - "@jest/core": "^25.2.4", + "@jest/core": "^25.2.6", "import-local": "^3.0.2", - "jest-cli": "^25.2.4" + "jest-cli": "^25.2.6" }, "dependencies": { "ansi-styles": { @@ -4933,21 +4932,21 @@ "dev": true }, "jest-cli": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.4.tgz", - "integrity": "sha512-zeY2pRDWKj2LZudIncvvguwLMEdcnJqc2jJbwza1beqi80qqLvkPF/BjbFkK2sIV3r+mfTJS+7ITrvK6pCdRjg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.6.tgz", + "integrity": "sha512-i31HkagK5veFOUg1ZqxxfP+ZeKDggmI5qZhK6/Cp0ohuaKFQdtS43AqqnXg13JWKCV0E38Nu/K0W4NsFlXLNEA==", "dev": true, "requires": { - "@jest/core": "^25.2.4", - "@jest/test-result": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/core": "^25.2.6", + "@jest/test-result": "^25.2.6", + "@jest/types": "^25.2.6", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.4", - "jest-util": "^25.2.3", - "jest-validate": "^25.2.3", + "jest-config": "^25.2.6", + "jest-util": "^25.2.6", + "jest-validate": "^25.2.6", "prompts": "^2.0.1", "realpath-native": "^2.0.0", "yargs": "^15.3.1" @@ -4965,12 +4964,12 @@ } }, "jest-changed-files": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.2.3.tgz", - "integrity": "sha512-EFxy94dvvbqRB36ezIPLKJ4fDIC+jAdNs8i8uTwFpaXd6H3LVc3ova1lNS4ZPWk09OCR2vq5kSdSQgar7zMORg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-25.2.6.tgz", + "integrity": "sha512-F7l2m5n55jFnJj4ItB9XbAlgO+6umgvz/mdK76BfTd2NGkvGf9x96hUXP/15a1K0k14QtVOoutwpRKl360msvg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "execa": "^3.2.0", "throat": "^5.0.0" }, @@ -5032,28 +5031,28 @@ } }, "jest-config": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.4.tgz", - "integrity": "sha512-fxy3nIpwJqOUQJRVF/q+pNQb6dv5b9YufOeCbpPZJ/md1zXpiupbhfehpfODhnKOfqbzSiigtSLzlWWmbRxnqQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.6.tgz", + "integrity": "sha512-R82bUaOHU/2nPSXmvrwLZtQRRr5x1V7qEXE0i4Pybv55XDqVl2/yKNBkYPneG3uSL3n5f6EJeP0/9HNxQu/SZg==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.4", - "@jest/types": "^25.2.3", - "babel-jest": "^25.2.4", + "@jest/test-sequencer": "^25.2.6", + "@jest/types": "^25.2.6", + "babel-jest": "^25.2.6", "chalk": "^3.0.0", "deepmerge": "^4.2.2", "glob": "^7.1.1", - "jest-environment-jsdom": "^25.2.4", - "jest-environment-node": "^25.2.4", - "jest-get-type": "^25.2.1", - "jest-jasmine2": "^25.2.4", - "jest-regex-util": "^25.2.1", - "jest-resolve": "^25.2.3", - "jest-util": "^25.2.3", - "jest-validate": "^25.2.3", + "jest-environment-jsdom": "^25.2.6", + "jest-environment-node": "^25.2.6", + "jest-get-type": "^25.2.6", + "jest-jasmine2": "^25.2.6", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.2.6", + "jest-util": "^25.2.6", + "jest-validate": "^25.2.6", "micromatch": "^4.0.2", - "pretty-format": "^25.2.3", + "pretty-format": "^25.2.6", "realpath-native": "^2.0.0" }, "dependencies": { @@ -5099,18 +5098,18 @@ "dev": true }, "jest-get-type": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz", - "integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "pretty-format": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz", - "integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", + "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -5192,25 +5191,25 @@ } }, "jest-docblock": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.2.3.tgz", - "integrity": "sha512-d3/tmjLLrH5fpRGmIm3oFa3vOaD/IjPxtXVOrfujpfJ9y1tCDB1x/tvunmdOVAyF03/xeMwburl6ITbiQT1mVA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-25.2.6.tgz", + "integrity": "sha512-VAYrljEq0upq0oERfIaaNf28gC6p9gORndhHstCYF8NWGNQJnzoaU//S475IxfWMk4UjjVmS9rJKLe5Jjjbixw==", "dev": true, "requires": { "detect-newline": "^3.0.0" } }, "jest-each": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.2.3.tgz", - "integrity": "sha512-RTlmCjsBDK2c9T5oO4MqccA3/5Y8BUtiEy7OOQik1iyCgdnNdHbI0pNEpyapZPBG0nlvZ4mIu7aY6zNUvLraAQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-25.2.6.tgz", + "integrity": "sha512-OgQ01VINaRD6idWJOhCYwUc5EcgHBiFlJuw+ON2VgYr7HLtMFyCcuo+3mmBvuLUH4QudREZN7cDCZviknzsaJQ==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "chalk": "^3.0.0", - "jest-get-type": "^25.2.1", - "jest-util": "^25.2.3", - "pretty-format": "^25.2.3" + "jest-get-type": "^25.2.6", + "jest-util": "^25.2.6", + "pretty-format": "^25.2.6" }, "dependencies": { "ansi-styles": { @@ -5255,18 +5254,18 @@ "dev": true }, "jest-get-type": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz", - "integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "pretty-format": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz", - "integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", + "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -5284,30 +5283,30 @@ } }, "jest-environment-jsdom": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.4.tgz", - "integrity": "sha512-5dm+tNwrLmhELdjAwiQnVGf/U9iFMWdTL4/wyrMg2HU6RQnCiuxpWbIigLHUhuP1P2Ak0F4k3xhjrikboKyShA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-25.2.6.tgz", + "integrity": "sha512-/o7MZIhGmLGIEG5j7r5B5Az0umWLCHU+F5crwfbm0BzC4ybHTJZOQTFQWhohBg+kbTCNOuftMcqHlVkVduJCQQ==", "dev": true, "requires": { - "@jest/environment": "^25.2.4", - "@jest/fake-timers": "^25.2.4", - "@jest/types": "^25.2.3", - "jest-mock": "^25.2.3", - "jest-util": "^25.2.3", + "@jest/environment": "^25.2.6", + "@jest/fake-timers": "^25.2.6", + "@jest/types": "^25.2.6", + "jest-mock": "^25.2.6", + "jest-util": "^25.2.6", "jsdom": "^15.2.1" } }, "jest-environment-node": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.4.tgz", - "integrity": "sha512-Jkc5Y8goyXPrLRHnrUlqC7P4o5zn2m4zw6qWoRJ59kxV1f2a5wK+TTGhrhCwnhW/Ckpdl/pm+LufdvhJkvJbiw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-25.2.6.tgz", + "integrity": "sha512-D1Ihj14fxZiMHGeTtU/LunhzSI+UeBvlr/rcXMTNyRMUMSz2PEhuqGbB78brBY6Dk3FhJDk7Ta+8reVaGjLWhA==", "dev": true, "requires": { - "@jest/environment": "^25.2.4", - "@jest/fake-timers": "^25.2.4", - "@jest/types": "^25.2.3", - "jest-mock": "^25.2.3", - "jest-util": "^25.2.3", + "@jest/environment": "^25.2.6", + "@jest/fake-timers": "^25.2.6", + "@jest/types": "^25.2.6", + "jest-mock": "^25.2.6", + "jest-util": "^25.2.6", "semver": "^6.3.0" } }, @@ -5318,19 +5317,19 @@ "dev": true }, "jest-haste-map": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.3.tgz", - "integrity": "sha512-pAP22OHtPr4qgZlJJFks2LLgoQUr4XtM1a+F5UaPIZNiCRnePA0hM3L7aiJ0gzwiNIYwMTfKRwG/S1L28J3A3A==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-25.2.6.tgz", + "integrity": "sha512-nom0+fnY8jwzelSDQnrqaKAcDZczYQvMEwcBjeL3PQ4MlcsqeB7dmrsAniUw/9eLkngT5DE6FhnenypilQFsgA==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "fsevents": "^2.1.2", "graceful-fs": "^4.2.3", - "jest-serializer": "^25.2.1", - "jest-util": "^25.2.3", - "jest-worker": "^25.2.1", + "jest-serializer": "^25.2.6", + "jest-util": "^25.2.6", + "jest-worker": "^25.2.6", "micromatch": "^4.0.2", "sane": "^4.0.3", "walker": "^1.0.7", @@ -5355,27 +5354,27 @@ } }, "jest-jasmine2": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.4.tgz", - "integrity": "sha512-juoKrmNmLwaheNbAg71SuUF9ovwUZCFNTpKVhvCXWk+SSeORcIUMptKdPCoLXV3D16htzhTSKmNxnxSk4SrTjA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.6.tgz", + "integrity": "sha512-0429YtThQjol9EElh0mLMsfMBB++yFCjWuGv3xNK4QPrvralJRlpHbuhfSVaOsHC91RrRBbKfM7jSA+FiVG+Jg==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", - "@jest/environment": "^25.2.4", - "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/environment": "^25.2.6", + "@jest/source-map": "^25.2.6", + "@jest/test-result": "^25.2.6", + "@jest/types": "^25.2.6", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.4", + "expect": "^25.2.6", "is-generator-fn": "^2.0.0", - "jest-each": "^25.2.3", - "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.4", - "jest-runtime": "^25.2.4", - "jest-snapshot": "^25.2.4", - "jest-util": "^25.2.3", - "pretty-format": "^25.2.3", + "jest-each": "^25.2.6", + "jest-matcher-utils": "^25.2.6", + "jest-message-util": "^25.2.6", + "jest-runtime": "^25.2.6", + "jest-snapshot": "^25.2.6", + "jest-util": "^25.2.6", + "pretty-format": "^25.2.6", "throat": "^5.0.0" }, "dependencies": { @@ -5421,12 +5420,12 @@ "dev": true }, "pretty-format": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz", - "integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", + "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -5444,13 +5443,13 @@ } }, "jest-leak-detector": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.2.3.tgz", - "integrity": "sha512-yblCMPE7NJKl7778Cf/73yyFWAas5St0iiEBwq7RDyaz6Xd4WPFnPz2j7yDb/Qce71A1IbDoLADlcwD8zT74Aw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-25.2.6.tgz", + "integrity": "sha512-n+aJUM+j/x1kIaPVxzerMqhAUuqTU1PL5kup46rXh+l9SP8H6LqECT/qD1GrnylE1L463/0StSPkH4fUpkuEjA==", "dev": true, "requires": { - "jest-get-type": "^25.2.1", - "pretty-format": "^25.2.3" + "jest-get-type": "^25.2.6", + "pretty-format": "^25.2.6" }, "dependencies": { "ansi-styles": { @@ -5479,18 +5478,18 @@ "dev": true }, "jest-get-type": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz", - "integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "pretty-format": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz", - "integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", + "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -5499,15 +5498,15 @@ } }, "jest-matcher-utils": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.2.3.tgz", - "integrity": "sha512-ZmiXiwQRVM9MoKjGMP5YsGGk2Th5ncyRxfXKz5AKsmU8m43kgNZirckVzaP61MlSa9LKmXbevdYqVp1ZKAw2Rw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.2.6.tgz", + "integrity": "sha512-+6IbC98ZBw3X7hsfUvt+7VIYBdI0FEvhSBjWo9XTHOc1KAAHDsrSHdeyHH/Su0r/pf4OEGuWRRLPnjkhS2S19A==", "dev": true, "requires": { "chalk": "^3.0.0", - "jest-diff": "^25.2.3", - "jest-get-type": "^25.2.1", - "pretty-format": "^25.2.3" + "jest-diff": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.2.6" }, "dependencies": { "ansi-styles": { @@ -5546,9 +5545,9 @@ "dev": true }, "diff-sequences": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.1.tgz", - "integrity": "sha512-foe7dXnGlSh3jR1ovJmdv+77VQj98eKCHHwJPbZ2eEf0fHwKbkZicpPxEch9smZ+n2dnF6QFwkOQdLq9hpeJUg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true }, "has-flag": { @@ -5558,30 +5557,30 @@ "dev": true }, "jest-diff": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.2.3.tgz", - "integrity": "sha512-VtZ6LAQtaQpFsmEzps15dQc5ELbJxy4L2DOSo2Ev411TUEtnJPkAMD7JneVypeMJQ1y3hgxN9Ao13n15FAnavg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.2.6.tgz", + "integrity": "sha512-KuadXImtRghTFga+/adnNrv9s61HudRMR7gVSbP35UKZdn4IK2/0N0PpGZIqtmllK9aUyye54I3nu28OYSnqOg==", "dev": true, "requires": { "chalk": "^3.0.0", - "diff-sequences": "^25.2.1", - "jest-get-type": "^25.2.1", - "pretty-format": "^25.2.3" + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.2.6" } }, "jest-get-type": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz", - "integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "pretty-format": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz", - "integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", + "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -5599,14 +5598,13 @@ } }, "jest-message-util": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.4.tgz", - "integrity": "sha512-9wWMH3Bf+GVTv0GcQLmH/FRr0x0toptKw9TA8U5YFLVXx7Tq9pvcNzTyJrcTJ+wLqNbMPPJlJNft4MnlcrtF5Q==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-25.2.6.tgz", + "integrity": "sha512-Hgg5HbOssSqOuj+xU1mi7m3Ti2nwSQJQf/kxEkrz2r2rp2ZLO1pMeKkz2WiDUWgSR+APstqz0uMFcE5yc0qdcg==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@jest/test-result": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "@types/stack-utils": "^1.0.1", "chalk": "^3.0.0", "micromatch": "^4.0.2", @@ -5667,12 +5665,12 @@ } }, "jest-mock": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.2.3.tgz", - "integrity": "sha512-xlf+pyY0j47zoCs8zGGOGfWyxxLximE8YFOfEK8s4FruR8DtM/UjNj61um+iDuMAFEBDe1bhCXkqiKoCmWjJzg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-25.2.6.tgz", + "integrity": "sha512-vc4nibavi2RGPdj/MyZy/azuDjZhpYZLvpfgq1fxkhbyTpKVdG7CgmRVKJ7zgLpY5kuMjTzDYA6QnRwhsCU+tA==", "dev": true, "requires": { - "@jest/types": "^25.2.3" + "@jest/types": "^25.2.6" } }, "jest-pnp-resolver": { @@ -5682,18 +5680,18 @@ "dev": true }, "jest-regex-util": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.1.tgz", - "integrity": "sha512-wroFVJw62LdqTdkL508ZLV82FrJJWVJMIuYG7q4Uunl1WAPTf4ftPKrqqfec4SvOIlvRZUdEX2TFpWR356YG/w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", + "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", "dev": true }, "jest-resolve": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.2.3.tgz", - "integrity": "sha512-1vZMsvM/DBH258PnpUNSXIgtzpYz+vCVCj9+fcy4akZl4oKbD+9hZSlfe9RIDpU0Fc28ozHQrmwX3EqFRRIHGg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-25.2.6.tgz", + "integrity": "sha512-7O61GVdcAXkLz/vNGKdF+00A80/fKEAA47AEXVNcZwj75vEjPfZbXDaWFmAQCyXj4oo9y9dC9D+CLA11t8ieGw==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "browser-resolve": "^1.11.3", "chalk": "^3.0.0", "jest-pnp-resolver": "^1.2.1", @@ -5754,39 +5752,39 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.4.tgz", - "integrity": "sha512-qhUnK4PfNHzNdca7Ub1mbAqE0j5WNyMTwxBZZJjQlUrdqsiYho/QGK65FuBkZuSoYtKIIqriR9TpGrPEc3P5Gg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.6.tgz", + "integrity": "sha512-SJeRBCDZzXVy/DjbwBH3KzjxPw5Q/j3foDkWZYu2GIa6SHqy34qVaw1mL7SJg9r6GApwjIoKP6fGwU6c/afg0A==", "dev": true, "requires": { - "@jest/types": "^25.2.3", - "jest-regex-util": "^25.2.1", - "jest-snapshot": "^25.2.4" + "@jest/types": "^25.2.6", + "jest-regex-util": "^25.2.6", + "jest-snapshot": "^25.2.6" } }, "jest-runner": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.4.tgz", - "integrity": "sha512-5xaIfqqxck9Wg2CV4b9KmJtf/sWO7zWQx7O+34GCLGPzoPcVmB3mZtdrQI1/jS3Reqjru9ycLjgLHSf6XoxRqA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.6.tgz", + "integrity": "sha512-sN45p3jxvpsG7UjeQFqyC+JR5+THLrIT9oXAHwQQIDWfpmZBFko2RROn1fvdQNWhuPzDeUf/oHykbhNRGo9eWg==", "dev": true, "requires": { - "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.4", - "@jest/test-result": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/console": "^25.2.6", + "@jest/environment": "^25.2.6", + "@jest/test-result": "^25.2.6", + "@jest/types": "^25.2.6", "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.4", - "jest-docblock": "^25.2.3", - "jest-haste-map": "^25.2.3", - "jest-jasmine2": "^25.2.4", - "jest-leak-detector": "^25.2.3", - "jest-message-util": "^25.2.4", - "jest-resolve": "^25.2.3", - "jest-runtime": "^25.2.4", - "jest-util": "^25.2.3", - "jest-worker": "^25.2.1", + "jest-config": "^25.2.6", + "jest-docblock": "^25.2.6", + "jest-haste-map": "^25.2.6", + "jest-jasmine2": "^25.2.6", + "jest-leak-detector": "^25.2.6", + "jest-message-util": "^25.2.6", + "jest-resolve": "^25.2.6", + "jest-runtime": "^25.2.6", + "jest-util": "^25.2.6", + "jest-worker": "^25.2.6", "source-map-support": "^0.5.6", "throat": "^5.0.0" }, @@ -5850,32 +5848,32 @@ } }, "jest-runtime": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.4.tgz", - "integrity": "sha512-6ehOUizgIghN+aV5YSrDzTZ+zJ9omgEjJbTHj3Jqes5D52XHfhzT7cSfdREwkNjRytrR7mNwZ7pRauoyNLyJ8Q==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.6.tgz", + "integrity": "sha512-u0iNjO7VvI46341igiQP/bnm1TwdXV6IjVEo7DMVqRbTDTz4teTNOUXChuSMdoyjQcfJ3zmI7/jVktUpjnZhYw==", "dev": true, "requires": { - "@jest/console": "^25.2.3", - "@jest/environment": "^25.2.4", - "@jest/source-map": "^25.2.1", - "@jest/test-result": "^25.2.4", - "@jest/transform": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/console": "^25.2.6", + "@jest/environment": "^25.2.6", + "@jest/source-map": "^25.2.6", + "@jest/test-result": "^25.2.6", + "@jest/transform": "^25.2.6", + "@jest/types": "^25.2.6", "@types/yargs": "^15.0.0", "chalk": "^3.0.0", "collect-v8-coverage": "^1.0.0", "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.4", - "jest-haste-map": "^25.2.3", - "jest-message-util": "^25.2.4", - "jest-mock": "^25.2.3", - "jest-regex-util": "^25.2.1", - "jest-resolve": "^25.2.3", - "jest-snapshot": "^25.2.4", - "jest-util": "^25.2.3", - "jest-validate": "^25.2.3", + "jest-config": "^25.2.6", + "jest-haste-map": "^25.2.6", + "jest-message-util": "^25.2.6", + "jest-mock": "^25.2.6", + "jest-regex-util": "^25.2.6", + "jest-resolve": "^25.2.6", + "jest-snapshot": "^25.2.6", + "jest-util": "^25.2.6", + "jest-validate": "^25.2.6", "realpath-native": "^2.0.0", "slash": "^3.0.0", "strip-bom": "^4.0.0", @@ -5947,30 +5945,30 @@ } }, "jest-serializer": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.1.tgz", - "integrity": "sha512-fibDi7M5ffx6c/P66IkvR4FKkjG5ldePAK1WlbNoaU4GZmIAkS9Le/frAwRUFEX0KdnisSPWf+b1RC5jU7EYJQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-25.2.6.tgz", + "integrity": "sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ==", "dev": true }, "jest-snapshot": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.4.tgz", - "integrity": "sha512-nIwpW7FZCq5p0AE3Oyqyb6jL0ENJixXzJ5/CD/XRuOqp3gS5OM3O/k+NnTrniCXxPFV4ry6s9HNfiPQBi0wcoA==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.6.tgz", + "integrity": "sha512-Zw/Ba6op5zInjPHoA2xGUrCw1G/iTHOGMhV02PzlrWhF9uTl2/jjk/bpOMkPaW8EyylmQbjQ2oj4jCfYwpDKng==", "dev": true, "requires": { "@babel/types": "^7.0.0", - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.4", - "jest-diff": "^25.2.3", - "jest-get-type": "^25.2.1", - "jest-matcher-utils": "^25.2.3", - "jest-message-util": "^25.2.4", - "jest-resolve": "^25.2.3", + "expect": "^25.2.6", + "jest-diff": "^25.2.6", + "jest-get-type": "^25.2.6", + "jest-matcher-utils": "^25.2.6", + "jest-message-util": "^25.2.6", + "jest-resolve": "^25.2.6", "make-dir": "^3.0.0", "natural-compare": "^1.4.0", - "pretty-format": "^25.2.3", + "pretty-format": "^25.2.6", "semver": "^6.3.0" }, "dependencies": { @@ -6010,9 +6008,9 @@ "dev": true }, "diff-sequences": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.1.tgz", - "integrity": "sha512-foe7dXnGlSh3jR1ovJmdv+77VQj98eKCHHwJPbZ2eEf0fHwKbkZicpPxEch9smZ+n2dnF6QFwkOQdLq9hpeJUg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true }, "has-flag": { @@ -6022,30 +6020,30 @@ "dev": true }, "jest-diff": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.2.3.tgz", - "integrity": "sha512-VtZ6LAQtaQpFsmEzps15dQc5ELbJxy4L2DOSo2Ev411TUEtnJPkAMD7JneVypeMJQ1y3hgxN9Ao13n15FAnavg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-25.2.6.tgz", + "integrity": "sha512-KuadXImtRghTFga+/adnNrv9s61HudRMR7gVSbP35UKZdn4IK2/0N0PpGZIqtmllK9aUyye54I3nu28OYSnqOg==", "dev": true, "requires": { "chalk": "^3.0.0", - "diff-sequences": "^25.2.1", - "jest-get-type": "^25.2.1", - "pretty-format": "^25.2.3" + "diff-sequences": "^25.2.6", + "jest-get-type": "^25.2.6", + "pretty-format": "^25.2.6" } }, "jest-get-type": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz", - "integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "pretty-format": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz", - "integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", + "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -6063,12 +6061,12 @@ } }, "jest-util": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.3.tgz", - "integrity": "sha512-7tWiMICVSo9lNoObFtqLt9Ezt5exdFlWs5fLe1G4XLY2lEbZc814cw9t4YHScqBkWMfzth8ASHKlYBxiX2rdCw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-25.2.6.tgz", + "integrity": "sha512-gpXy0H5ymuQ0x2qgl1zzHg7LYHZYUmDEq6F7lhHA8M0eIwDB2WteOcCnQsohl9c/vBKZ3JF2r4EseipCZz3s4Q==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "chalk": "^3.0.0", "is-ci": "^2.0.0", "make-dir": "^3.0.0" @@ -6127,17 +6125,17 @@ } }, "jest-validate": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.2.3.tgz", - "integrity": "sha512-GObn91jzU0B0Bv4cusAwjP6vnWy78hJUM8MOSz7keRfnac/ZhQWIsUjvk01IfeXNTemCwgR57EtdjQMzFZGREg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-25.2.6.tgz", + "integrity": "sha512-a4GN7hYbqQ3Rt9iHsNLFqQz7HDV7KiRPCwPgo5nqtTIWNZw7gnT8KchG+Riwh+UTSn8REjFCodGp50KX/fRNgQ==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "camelcase": "^5.3.1", "chalk": "^3.0.0", - "jest-get-type": "^25.2.1", + "jest-get-type": "^25.2.6", "leven": "^3.1.0", - "pretty-format": "^25.2.3" + "pretty-format": "^25.2.6" }, "dependencies": { "ansi-styles": { @@ -6188,18 +6186,18 @@ "dev": true }, "jest-get-type": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.1.tgz", - "integrity": "sha512-EYjTiqcDTCRJDcSNKbLTwn/LcDPEE7ITk8yRMNAOjEsN6yp+Uu+V1gx4djwnuj/DvWg0YGmqaBqPVGsPxlvE7w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "pretty-format": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.3.tgz", - "integrity": "sha512-IP4+5UOAVGoyqC/DiomOeHBUKN6q00gfyT2qpAsRH64tgOKB2yF7FHJXC18OCiU0/YFierACup/zdCOWw0F/0w==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", + "integrity": "sha512-DEiWxLBaCHneffrIT4B+TpMvkV9RNvvJrd3lY9ew1CEQobDzEXmYT1mg0hJhljZty7kCc10z13ohOFAE8jrUDg==", "dev": true, "requires": { - "@jest/types": "^25.2.3", + "@jest/types": "^25.2.6", "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" @@ -6217,16 +6215,16 @@ } }, "jest-watcher": { - "version": "25.2.4", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.4.tgz", - "integrity": "sha512-p7g7s3zqcy69slVzQYcphyzkB2FBmJwMbv6k6KjI5mqd6KnUnQPfQVKuVj2l+34EeuxnbXqnrjtUFmxhcL87rg==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.6.tgz", + "integrity": "sha512-yzv5DBeo03dQnSsSrn1mdOU1LSDd1tZaCTvSE5JYfcv6Z66PdDNhO9MNDdLKA/oQlJNj0S6TiYgLdOY5wL5cMA==", "dev": true, "requires": { - "@jest/test-result": "^25.2.4", - "@jest/types": "^25.2.3", + "@jest/test-result": "^25.2.6", + "@jest/types": "^25.2.6", "ansi-escapes": "^4.2.1", "chalk": "^3.0.0", - "jest-util": "^25.2.3", + "jest-util": "^25.2.6", "string-length": "^3.1.0" }, "dependencies": { @@ -6283,9 +6281,9 @@ } }, "jest-worker": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.1.tgz", - "integrity": "sha512-IHnpekk8H/hCUbBlfeaPZzU6v75bqwJp3n4dUrQuQOAgOneI4tx3jV2o8pvlXnDfcRsfkFIUD//HWXpCmR+evQ==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.2.6.tgz", + "integrity": "sha512-FJn9XDUSxcOR4cwDzRfL1z56rUofNTFs539FGASpd50RHdb6EVkhxQqktodW2mI49l+W3H+tFJDotCHUQF6dmA==", "dev": true, "requires": { "merge-stream": "^2.0.0", From c1dc228108b21298b328d6da13d0ed5aeb5af8f4 Mon Sep 17 00:00:00 2001 From: Ahn Date: Thu, 2 Apr 2020 18:31:18 +0200 Subject: [PATCH 16/23] chore: add GitHub PR, issue templates (#1487) --- .github/CODEOWNERS | 5 + .github/ISSUE_TEMPLATE.md | 22 +- .github/ISSUE_TEMPLATE/bug.md | 37 ++ .github/ISSUE_TEMPLATE/feature.md | 17 + .github/ISSUE_TEMPLATE/question.md | 15 + .github/ISSUE_TEMPLATE/regression.md | 43 ++ .github/PULL_REQUEST_TEMPLATE.md | 22 + .github/SUPPORT.md | 1 + .../__snapshots__/diagnostics.test.ts.snap | 420 +----------------- e2e/__tests__/diagnostics.test.ts | 145 +----- src/types.ts | 1 + 11 files changed, 156 insertions(+), 572 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/ISSUE_TEMPLATE/bug.md create mode 100644 .github/ISSUE_TEMPLATE/feature.md create mode 100644 .github/ISSUE_TEMPLATE/question.md create mode 100644 .github/ISSUE_TEMPLATE/regression.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/SUPPORT.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..702b3a6fac --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,5 @@ +# These owners will be the default owners for everything in +# the repo. Unless a later match takes precedence, +# @global-owner1 and @global-owner2 will be requested for +# review when someone opens a pull request. +* @kulshekhar diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md index be6284e1ff..9b4379becd 100644 --- a/.github/ISSUE_TEMPLATE.md +++ b/.github/ISSUE_TEMPLATE.md @@ -1,24 +1,6 @@ -## Issue : +## 👉 [Please follow one of these issue templates](https://github.com/kulshekhar/ts-jest/issues/new/choose) 👈 - -## Expected behavior : - - -## Debug log: -
-log file content - -```bash -# content of ts-jest.log : - -``` -
- - -## Minimal repo : - - - +Note: to keep the backlog clean and actionable, issues may be immediately closed if they do not follow one of the above issue templates. diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 0000000000..4edc16e12d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,37 @@ +--- +name: 🐛 Bug report +labels: ':bug:Bug', Needs Triage, Needs Repo +about: Create a report to help us improve +--- + +## 🐛 Bug Report + + + +## To Reproduce + +Steps to reproduce the behavior: + +## Expected behavior + + + +## Link to repo (highly encouraged) + + + +## envinfo + +``` +System: + OS: + +Npm packages: + jest: + ts-jest: + typescript: + babel(optional): +``` diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md new file mode 100644 index 0000000000..3a0ce56a06 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -0,0 +1,17 @@ +--- +name: 🚀 Feature Proposal +labels: ':rocket: Feature Request' +about: Submit a proposal for a new feature +--- + +## 🚀 Feature Proposal + + + +## Motivation + + + +## Example + + diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 0000000000..3ca9d47da2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,15 @@ +--- +name: 💬 Questions / Help +label: ':speech_balloon: Question' +about: If you have questions, please check our Slack or StackOverflow +--- + +## 💬 Questions and Help + +### Please note that this issue tracker is not a help forum and this issue will be closed. + +For questions or help please see: + +- [The ts-jest online documentation](https://kulshekhar.github.io/ts-jest) +- [Our Slack channel](https://bit.ly/3bRHFPQ) +- The [ts-jest](https://stackoverflow.com/questions/tagged/ts-jest) tag on [StackOverflow](https://stackoverflow.com/questions/ask) diff --git a/.github/ISSUE_TEMPLATE/regression.md b/.github/ISSUE_TEMPLATE/regression.md new file mode 100644 index 0000000000..894cbb0836 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/regression.md @@ -0,0 +1,43 @@ +--- +name: 💥 Regression Report +labels: ':boom: Regression' +about: Report unexpected behavior that worked in previous versions +--- + +## 💥 Regression Report + + + +## Last working version + +Worked up to version: + +Stopped working in version: + +## To Reproduce + +Steps to reproduce the behavior: + +## Expected behavior + + + +## Link to repo (highly encouraged) + + + +## envinfo + +``` +System: + OS: + +Npm packages: + jest: + ts-jest: + typescript: + babel(optional): +``` diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..f503d60d08 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,22 @@ + + +## Summary + + + + +## Test plan + + + + +## Does this PR introduce a breaking change? + +- [ ] Yes +- [ ] No + + + + +## Other information + diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md new file mode 100644 index 0000000000..b5a3acdd20 --- /dev/null +++ b/.github/SUPPORT.md @@ -0,0 +1 @@ +Please note this issue tracker is not a help forum. We recommend using [StackOverflow](https://stackoverflow.com/questions/tagged/ts-jest) or our [Slack channel](https://bit.ly/3bRHFPQ) for questions. diff --git a/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap b/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap index aba886485f..0941bc1649 100644 --- a/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap +++ b/e2e/__tests__/__snapshots__/diagnostics.test.ts.snap @@ -522,7 +522,7 @@ exports[`With diagnostics throw using program with unsupported version should fa ================================================================================ `; -exports[`With diagnostics warn only using incremental program first show warning should pass using template "default" 1`] = ` +exports[`With diagnostics warn only should pass using template "default" 1`] = ` √ jest ↳ exit code: 0 ===[ STDOUT ]=================================================================== @@ -548,7 +548,7 @@ exports[`With diagnostics warn only using incremental program first show warning ================================================================================ `; -exports[`With diagnostics warn only using incremental program first show warning should pass using template "with-babel-7" 1`] = ` +exports[`With diagnostics warn only should pass using template "with-babel-7" 1`] = ` √ jest ↳ exit code: 0 ===[ STDOUT ]=================================================================== @@ -574,7 +574,7 @@ exports[`With diagnostics warn only using incremental program first show warning ================================================================================ `; -exports[`With diagnostics warn only using incremental program first show warning should pass using template "with-babel-7-string-config" 1`] = ` +exports[`With diagnostics warn only should pass using template "with-babel-7-string-config" 1`] = ` √ jest ↳ exit code: 0 ===[ STDOUT ]=================================================================== @@ -600,179 +600,7 @@ exports[`With diagnostics warn only using incremental program first show warning ================================================================================ `; -exports[`With diagnostics warn only using incremental program then not showing warning when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using incremental program then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using incremental program then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using incremental program with unsupported version should fail using template "with-typescript-2-7" 1`] = ` - × jest - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: ts.createIncrementalCompilerHost is not a function - - at Object.exports.compileUsingProgram (../../__templates__/with-typescript-2-7/node_modules/ts-jest/dist/compiler/program.js:47:19) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using incremental program with unsupported version should fail using template "with-unsupported-version" 1`] = ` - × jest - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: ts.createIncrementalCompilerHost is not a function - - at Object.exports.compileUsingProgram (../../__templates__/with-unsupported-version/node_modules/ts-jest/dist/compiler/program.js:47:19) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using language service first show warning should pass using template "default" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - - 3 export const thing: Thing = { a: 1 }; - ~~~~~ - - main.ts:1:34 - 1 export type Thing = { a: number, b: number } - ~ - 'b' is declared here. - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using language service first show warning should pass using template "with-babel-7" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - - 3 export const thing: Thing = { a: 1 }; - ~~~~~ - - main.ts:1:34 - 1 export type Thing = { a: number, b: number } - ~ - 'b' is declared here. - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using language service first show warning should pass using template "with-babel-7-string-config" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - - 3 export const thing: Thing = { a: 1 }; - ~~~~~ - - main.ts:1:34 - 1 export type Thing = { a: number, b: number } - ~ - 'b' is declared here. - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using language service first show warning should pass using template "with-typescript-2-7" 1`] = ` +exports[`With diagnostics warn only should pass using template "with-typescript-2-7" 1`] = ` √ jest ↳ exit code: 0 ===[ STDOUT ]=================================================================== @@ -793,243 +621,3 @@ exports[`With diagnostics warn only using language service first show warning sh Ran all test suites. ================================================================================ `; - -exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using language service then not showing warning when content has changed to valid base on cache of the previous run should pass using template "with-typescript-2-7" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program first show warning should pass using template "default" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - - 3 export const thing: Thing = { a: 1 }; - ~~~~~ - - main.ts:1:34 - 1 export type Thing = { a: number, b: number } - ~ - 'b' is declared here. - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program first show warning should pass using template "with-babel-7" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - - 3 export const thing: Thing = { a: 1 }; - ~~~~~ - - main.ts:1:34 - 1 export type Thing = { a: number, b: number } - ~ - 'b' is declared here. - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program first show warning should pass using template "with-babel-7-string-config" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[ts-compiler] (WARN) main.spec.ts:3:14 - error TS2741: Property 'b' is missing in type '{ a: number; }' but required in type 'Thing'. - - 3 export const thing: Thing = { a: 1 }; - ~~~~~ - - main.ts:1:34 - 1 export type Thing = { a: number, b: number } - ~ - 'b' is declared here. - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program then not show warning when content has changed to valid base on cache of the previous run should pass using template "default" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program then not show warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program then not show warning when content has changed to valid base on cache of the previous run should pass using template "with-babel-7-string-config" 1`] = ` - √ jest - ↳ exit code: 0 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - PASS ./main.spec.ts - √ should do the thing - - Test Suites: 1 passed, 1 total - Tests: 1 passed, 1 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program with unsupported version should fail using template "with-typescript-2-7" 1`] = ` - × jest - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined - - at Object.createProgram (../../__templates__/with-typescript-2-7/node_modules/typescript/lib/typescript.js:73929:51) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; - -exports[`With diagnostics warn only using program with unsupported version should fail using template "with-unsupported-version" 1`] = ` - × jest - ↳ exit code: 1 - ===[ STDOUT ]=================================================================== - - ===[ STDERR ]=================================================================== - ts-jest[versions] (WARN) Version 2.5.3 of typescript installed has not been tested with ts-jest. If you're experiencing issues, consider using a supported version (>=2.7.0 <4.0.0). Please do not report issues in ts-jest if you are using unsupported versions. - FAIL ./main.spec.ts - ● Test suite failed to run - - TypeError: Cannot read property 'maxNodeModuleJsDepth' of undefined - - at Object.createProgram (../../__templates__/with-unsupported-version/node_modules/typescript/lib/typescript.js:69709:51) - - Test Suites: 1 failed, 1 total - Tests: 0 total - Snapshots: 0 total - Time: XXs - Ran all test suites. - ================================================================================ -`; diff --git a/e2e/__tests__/diagnostics.test.ts b/e2e/__tests__/diagnostics.test.ts index 5d88887fc4..c9057efe6f 100644 --- a/e2e/__tests__/diagnostics.test.ts +++ b/e2e/__tests__/diagnostics.test.ts @@ -142,144 +142,17 @@ describe('With diagnostics throw', () => { }) describe('With diagnostics warn only', () => { - describe('using language service', () => { - const testCase = configureTestCase('diagnostics', { - tsJestConfig: { - diagnostics: { warnOnly: true }, - }, - }) - - describe('first show warning', () => { - testCase.runWithTemplates(allValidPackageSets, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - }) - - describe('then not showing warning when content has changed to valid base on cache of the previous run', () => { - beforeAll(() => { - writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { - a: number; - // b: number; -}`) - }) - - afterAll(() => { - writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) - }) - - testCase.runWithTemplates(allValidPackageSets, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - }) + const testCase = configureTestCase('diagnostics', { + tsJestConfig: { + diagnostics: { warnOnly: true }, + }, }) - describe('using program', () => { - const testCase = configureTestCase('diagnostics', { - tsJestConfig: { - compilerHost: true, - incremental: false, - diagnostics: { warnOnly: true }, - }, - }) - - describe('first show warning', () => { - testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - }) - - describe('then not show warning when content has changed to valid base on cache of the previous run', () => { - beforeAll(() => { - writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { - a: number; - // b: number; -}`) - }) - - afterAll(() => { - writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) - }) - - testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - }) - - describe('with unsupported version', () => { - testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(1) - expect(result).toMatchSnapshot() - }) - }) - }) - }) - - describe('using incremental program', () => { - const testCase = configureTestCase('diagnostics', { - tsJestConfig: { - compilerHost: true, - incremental: true, - diagnostics: { warnOnly: true }, - }, - }) - - describe('first show warning', () => { - testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - }) - - describe('then not showing warning when content has changed to valid base on cache of the previous run', () => { - beforeAll(() => { - writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { - a: number; - // b: number; -}`) - }) - - afterAll(() => { - writeFileSync(join(__dirname, '../__cases__/diagnostics/main.ts'), `export type Thing = { a: number, b: number }\n`) - }) - - testCase.runWithTemplates(allPackageSetsWithProgram, 0, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(0) - expect(result).toMatchSnapshot() - }) - }) - }) - - describe('with unsupported version', () => { - testCase.runWithTemplates(allPackageSetsWithoutProgram, 1, (runTest, { testLabel }) => { - it(testLabel, () => { - const result = runTest() - expect(result.status).toBe(1) - expect(result).toMatchSnapshot() - }) - }) + testCase.runWithTemplates(allValidPackageSets, 0, (runTest, { testLabel }) => { + it(testLabel, () => { + const result = runTest() + expect(result.status).toBe(0) + expect(result).toMatchSnapshot() }) }) }) diff --git a/src/types.ts b/src/types.ts index c50b63f2ea..3f135fc337 100644 --- a/src/types.ts +++ b/src/types.ts @@ -130,6 +130,7 @@ interface TsJestConfig$diagnostics { ignoreCodes: number[] pathRegex?: string | undefined throws: boolean + warnOnly?: boolean } interface TsJestConfig$babelConfig$file { kind: 'file' From 628efcfb546c0aa2b9d7bbee149adbbaa5d82bb2 Mon Sep 17 00:00:00 2001 From: Ahn Date: Thu, 2 Apr 2020 19:04:18 +0200 Subject: [PATCH 17/23] chore: fix bug template not appearing (#1491) --- .github/ISSUE_TEMPLATE/bug.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md index 4edc16e12d..e9350c7ad9 100644 --- a/.github/ISSUE_TEMPLATE/bug.md +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -1,6 +1,6 @@ --- name: 🐛 Bug report -labels: ':bug:Bug', Needs Triage, Needs Repo +labels: Bug Report, Needs Triage, Needs Repo about: Create a report to help us improve --- From ecdf1ab1e2cbc398f910f3770d8d7ea3a2153f1a Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Thu, 2 Apr 2020 20:19:54 +0200 Subject: [PATCH 18/23] build(deps-dev): bump @types/jest from 25.1.4 to 25.1.5 (#1492) Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 25.1.4 to 25.1.5. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index dc9ed26645..83cb20b64f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1416,13 +1416,13 @@ } }, "@types/jest": { - "version": "25.1.4", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.1.4.tgz", - "integrity": "sha512-QDDY2uNAhCV7TMCITrxz+MRk1EizcsevzfeS6LykIlq2V1E5oO4wXG8V2ZEd9w7Snxeeagk46YbMgZ8ESHx3sw==", + "version": "25.1.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-25.1.5.tgz", + "integrity": "sha512-FBmb9YZHoEOH56Xo/PIYtfuyTL0IzJLM3Hy0Sqc82nn5eqqXgefKcl/eMgChM8eSGVfoDee8cdlj7K74T8a6Yg==", "dev": true, "requires": { - "jest-diff": "^25.1.0", - "pretty-format": "^25.1.0" + "jest-diff": "25.1.0", + "pretty-format": "25.1.0" } }, "@types/js-yaml": { @@ -2984,9 +2984,9 @@ "dev": true }, "diff-sequences": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.1.0.tgz", - "integrity": "sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", + "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", "dev": true }, "doctrine": { @@ -5311,9 +5311,9 @@ } }, "jest-get-type": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.1.0.tgz", - "integrity": "sha512-yWkBnT+5tMr8ANB6V+OjmrIJufHtCAqI5ic2H40v+tRqxDmE0PGnIiTyvRWFOMtmVHYpwRqyazDbTnhpjsGvLw==", + "version": "25.2.6", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", + "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", "dev": true }, "jest-haste-map": { From 4f3b3336d1453906c73eacba61b3b4b8d34bf07e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2020 00:36:38 +0200 Subject: [PATCH 19/23] build(deps-dev): bump @types/react from 16.9.31 to 16.9.32 (#1493) Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.31 to 16.9.32. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83cb20b64f..ffae451a38 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1519,9 +1519,9 @@ "dev": true }, "@types/react": { - "version": "16.9.31", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.31.tgz", - "integrity": "sha512-NpYJpNMWScFXtx3A2BJMeew2G3+9SEslVWMdxNJ6DLvxIuxWjY1bizK9q5Y1ujhln31vtjmhjOAYDr9Xx3k9FQ==", + "version": "16.9.32", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.32.tgz", + "integrity": "sha512-fmejdp0CTH00mOJmxUPPbWCEBWPvRIL4m8r0qD+BSDUqmutPyGQCHifzMpMzdvZwROdEdL78IuZItntFWgPXHQ==", "dev": true, "requires": { "@types/prop-types": "*", From 54ba14d0dbca25d318023707c6a6497eee054859 Mon Sep 17 00:00:00 2001 From: Ahn Date: Fri, 3 Apr 2020 14:00:39 +0200 Subject: [PATCH 20/23] chore: fix program unit tests fail for local machine (#1495) * chore: fix program unit tests fail for local machine * chore: run diagnostics e2e tests for warning without cache --- e2e/__tests__/diagnostics.test.ts | 1 + src/compiler/program.spec.ts | 21 ++++++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/e2e/__tests__/diagnostics.test.ts b/e2e/__tests__/diagnostics.test.ts index c9057efe6f..73a67b4ba0 100644 --- a/e2e/__tests__/diagnostics.test.ts +++ b/e2e/__tests__/diagnostics.test.ts @@ -145,6 +145,7 @@ describe('With diagnostics warn only', () => { const testCase = configureTestCase('diagnostics', { tsJestConfig: { diagnostics: { warnOnly: true }, + noCache: true, // warnings shown only on first compilation }, }) diff --git a/src/compiler/program.spec.ts b/src/compiler/program.spec.ts index 8761bbbd47..7703ede6f1 100644 --- a/src/compiler/program.spec.ts +++ b/src/compiler/program.spec.ts @@ -14,19 +14,12 @@ const baseTsJestConfig = { } describe('cache', () => { - const fileName = 'test-cache.ts' const source = 'console.log("hello")' - beforeAll(() => { - writeFileSync(fileName, source, 'utf8') - }) - - afterAll(() => { - removeSync(fileName) - }) - it('should use the cache with normal program', () => { + const fileName = 'test-cache-program.ts' const tmp = tempDir('program-compiler') + writeFileSync(fileName, source, 'utf8') const compiler = makeCompiler({ jestConfig: { cache: true, cacheDirectory: tmp }, tsJestConfig: { @@ -47,7 +40,7 @@ describe('cache', () => { ", "[level:20] visitSourceFileNode(): hoisting ", - "[level:20] diagnoseFn(): computing diagnostics for test-cache.ts using program + "[level:20] diagnoseFn(): computing diagnostics for test-cache-program.ts using program ", "[level:20] readThrough(): writing caches ", @@ -64,10 +57,14 @@ describe('cache', () => { `) expect(compiled2).toBe(compiled1) + + removeSync(fileName) }) it('should use the cache with incremental program', () => { + const fileName = 'test-cache-incremental-program.ts' const tmp = tempDir('incremental-program-compiler') + writeFileSync(fileName, source, 'utf8') const compiler = makeCompiler({ jestConfig: { cache: true, cacheDirectory: tmp }, tsJestConfig: { @@ -88,7 +85,7 @@ describe('cache', () => { ", "[level:20] visitSourceFileNode(): hoisting ", - "[level:20] diagnoseFn(): computing diagnostics for test-cache.ts using incremental program + "[level:20] diagnoseFn(): computing diagnostics for test-cache-incremental-program.ts using incremental program ", "[level:20] readThrough(): writing caches ", @@ -105,6 +102,8 @@ describe('cache', () => { `) expect(compiled2).toBe(compiled1) + + removeSync(fileName) }) }) From 8079a45580f4c6457547e124976e9003982230d9 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2020 14:45:29 +0200 Subject: [PATCH 21/23] build(deps-dev): bump jest from 25.2.6 to 25.2.7 (#1496) Bumps [jest](https://github.com/facebook/jest) from 25.2.6 to 25.2.7. - [Release notes](https://github.com/facebook/jest/releases) - [Changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/facebook/jest/compare/v25.2.6...v25.2.7) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Kulshekhar Kabra --- package-lock.json | 186 ++++++++++++++++------------------------------ 1 file changed, 66 insertions(+), 120 deletions(-) diff --git a/package-lock.json b/package-lock.json index ffae451a38..851e7f8f69 100644 --- a/package-lock.json +++ b/package-lock.json @@ -762,9 +762,9 @@ } }, "@jest/core": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.6.tgz", - "integrity": "sha512-uMwUtpS4CWc7SadHcHEQ3VdrZ8A5u+UVbHIVUqhXcxlQ/bBC5+/T9IJGSu0o8e+/EXmFrTtl4zGr1nRPFq0Wlg==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-25.2.7.tgz", + "integrity": "sha512-Nd6ELJyR+j0zlwhzkfzY70m04hAur0VnMwJXVe4VmmD/SaQ6DEyal++ERQ1sgyKIKKEqRuui6k/R0wHLez4P+g==", "dev": true, "requires": { "@jest/console": "^25.2.6", @@ -777,18 +777,18 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.3", "jest-changed-files": "^25.2.6", - "jest-config": "^25.2.6", + "jest-config": "^25.2.7", "jest-haste-map": "^25.2.6", "jest-message-util": "^25.2.6", "jest-regex-util": "^25.2.6", "jest-resolve": "^25.2.6", - "jest-resolve-dependencies": "^25.2.6", - "jest-runner": "^25.2.6", - "jest-runtime": "^25.2.6", - "jest-snapshot": "^25.2.6", + "jest-resolve-dependencies": "^25.2.7", + "jest-runner": "^25.2.7", + "jest-runtime": "^25.2.7", + "jest-snapshot": "^25.2.7", "jest-util": "^25.2.6", "jest-validate": "^25.2.6", - "jest-watcher": "^25.2.6", + "jest-watcher": "^25.2.7", "micromatch": "^4.0.2", "p-each-series": "^2.1.0", "realpath-native": "^2.0.0", @@ -1025,15 +1025,15 @@ } }, "@jest/test-sequencer": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.6.tgz", - "integrity": "sha512-6sHqVeXbEapfxoGb77NKCywNn9jc4WlIPtFqhwCKGhigGnpl42AuyLxclRWxbFx+V63ozzfjnemYxqHlkcoikQ==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-25.2.7.tgz", + "integrity": "sha512-s2uYGOXONDSTJQcZJ9A3Zkg3hwe53RlX1HjUNqjUy3HIqwgwCKJbnAKYsORPbhxXi3ARMKA7JNBi9arsTxXoYw==", "dev": true, "requires": { "@jest/test-result": "^25.2.6", "jest-haste-map": "^25.2.6", - "jest-runner": "^25.2.6", - "jest-runtime": "^25.2.6" + "jest-runner": "^25.2.7", + "jest-runtime": "^25.2.7" } }, "@jest/transform": { @@ -3390,15 +3390,15 @@ } }, "expect": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.6.tgz", - "integrity": "sha512-hMqqX3OX5Erw7CLoXXcawqi6xThhz/rYk+vEufhoCAyzDC2PW99ypYc/pvcgKjyuwbOB1wjqqClmwvlOL36Inw==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/expect/-/expect-25.2.7.tgz", + "integrity": "sha512-yA+U2Ph0MkMsJ9N8q5hs9WgWI6oJYfecdXta6LkP/alY/jZZL1MHlJ2wbLh60Ucqf3G+51ytbqV3mlGfmxkpNw==", "dev": true, "requires": { "@jest/types": "^25.2.6", "ansi-styles": "^4.0.0", "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.2.6", + "jest-matcher-utils": "^25.2.7", "jest-message-util": "^25.2.6", "jest-regex-util": "^25.2.6" }, @@ -3427,12 +3427,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true - }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true } } }, @@ -4880,14 +4874,14 @@ } }, "jest": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.6.tgz", - "integrity": "sha512-AA9U1qmYViBTfoKWzQBbBmck53Tsw8av7zRYdE4EUBU6r04mddPQaflpPBy/KC308HF7u8fLLxEJFt/LiFzYFQ==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest/-/jest-25.2.7.tgz", + "integrity": "sha512-XV1n/CE2McCikl4tfpCY950RytHYvxdo/wvtgmn/qwA8z1s16fuvgFL/KoPrrmkqJTaPMUlLVE58pwiaTX5TdA==", "dev": true, "requires": { - "@jest/core": "^25.2.6", + "@jest/core": "^25.2.7", "import-local": "^3.0.2", - "jest-cli": "^25.2.6" + "jest-cli": "^25.2.7" }, "dependencies": { "ansi-styles": { @@ -4932,19 +4926,19 @@ "dev": true }, "jest-cli": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.6.tgz", - "integrity": "sha512-i31HkagK5veFOUg1ZqxxfP+ZeKDggmI5qZhK6/Cp0ohuaKFQdtS43AqqnXg13JWKCV0E38Nu/K0W4NsFlXLNEA==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-25.2.7.tgz", + "integrity": "sha512-OOAZwY4Jkd3r5WhVM5L3JeLNFaylvHUczMLxQDVLrrVyb1Cy+DNJ6MVsb5TLh6iBklB42m5TOP+IbOgKGGOtMw==", "dev": true, "requires": { - "@jest/core": "^25.2.6", + "@jest/core": "^25.2.7", "@jest/test-result": "^25.2.6", "@jest/types": "^25.2.6", "chalk": "^3.0.0", "exit": "^0.1.2", "import-local": "^3.0.2", "is-ci": "^2.0.0", - "jest-config": "^25.2.6", + "jest-config": "^25.2.7", "jest-util": "^25.2.6", "jest-validate": "^25.2.6", "prompts": "^2.0.1", @@ -5031,13 +5025,13 @@ } }, "jest-config": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.6.tgz", - "integrity": "sha512-R82bUaOHU/2nPSXmvrwLZtQRRr5x1V7qEXE0i4Pybv55XDqVl2/yKNBkYPneG3uSL3n5f6EJeP0/9HNxQu/SZg==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-25.2.7.tgz", + "integrity": "sha512-rIdPPXR6XUxi+7xO4CbmXXkE6YWprvlKc4kg1SrkCL2YV5m/8MkHstq9gBZJ19Qoa3iz/GP+0sTG/PcIwkFojg==", "dev": true, "requires": { "@babel/core": "^7.1.0", - "@jest/test-sequencer": "^25.2.6", + "@jest/test-sequencer": "^25.2.7", "@jest/types": "^25.2.6", "babel-jest": "^25.2.6", "chalk": "^3.0.0", @@ -5046,7 +5040,7 @@ "jest-environment-jsdom": "^25.2.6", "jest-environment-node": "^25.2.6", "jest-get-type": "^25.2.6", - "jest-jasmine2": "^25.2.6", + "jest-jasmine2": "^25.2.7", "jest-regex-util": "^25.2.6", "jest-resolve": "^25.2.6", "jest-util": "^25.2.6", @@ -5097,12 +5091,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, "pretty-format": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", @@ -5253,12 +5241,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, "pretty-format": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", @@ -5354,9 +5336,9 @@ } }, "jest-jasmine2": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.6.tgz", - "integrity": "sha512-0429YtThQjol9EElh0mLMsfMBB++yFCjWuGv3xNK4QPrvralJRlpHbuhfSVaOsHC91RrRBbKfM7jSA+FiVG+Jg==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-25.2.7.tgz", + "integrity": "sha512-HeQxEbonp8fUvik9jF0lkU9ab1u5TQdIb7YSU9Fj7SxWtqHNDGyCpF6ZZ3r/5yuertxi+R95Ba9eA91GMQ38eA==", "dev": true, "requires": { "@babel/traverse": "^7.1.0", @@ -5366,13 +5348,13 @@ "@jest/types": "^25.2.6", "chalk": "^3.0.0", "co": "^4.6.0", - "expect": "^25.2.6", + "expect": "^25.2.7", "is-generator-fn": "^2.0.0", "jest-each": "^25.2.6", - "jest-matcher-utils": "^25.2.6", + "jest-matcher-utils": "^25.2.7", "jest-message-util": "^25.2.6", - "jest-runtime": "^25.2.6", - "jest-snapshot": "^25.2.6", + "jest-runtime": "^25.2.7", + "jest-snapshot": "^25.2.7", "jest-util": "^25.2.6", "pretty-format": "^25.2.6", "throat": "^5.0.0" @@ -5477,12 +5459,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, "pretty-format": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", @@ -5498,9 +5474,9 @@ } }, "jest-matcher-utils": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.2.6.tgz", - "integrity": "sha512-+6IbC98ZBw3X7hsfUvt+7VIYBdI0FEvhSBjWo9XTHOc1KAAHDsrSHdeyHH/Su0r/pf4OEGuWRRLPnjkhS2S19A==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-25.2.7.tgz", + "integrity": "sha512-jNYmKQPRyPO3ny0KY1I4f0XW4XnpJ3Nx5ovT4ik0TYDOYzuXJW40axqOyS61l/voWbVT9y9nZ1THL1DlpaBVpA==", "dev": true, "requires": { "chalk": "^3.0.0", @@ -5544,12 +5520,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -5568,12 +5538,6 @@ "pretty-format": "^25.2.6" } }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, "pretty-format": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", @@ -5752,20 +5716,20 @@ } }, "jest-resolve-dependencies": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.6.tgz", - "integrity": "sha512-SJeRBCDZzXVy/DjbwBH3KzjxPw5Q/j3foDkWZYu2GIa6SHqy34qVaw1mL7SJg9r6GApwjIoKP6fGwU6c/afg0A==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-25.2.7.tgz", + "integrity": "sha512-IrnMzCAh11Xd2gAOJL+ThEW6QO8DyqNdvNkQcaCticDrOAr9wtKT7yT6QBFFjqKFgjjvaVKDs59WdgUhgYnHnQ==", "dev": true, "requires": { "@jest/types": "^25.2.6", "jest-regex-util": "^25.2.6", - "jest-snapshot": "^25.2.6" + "jest-snapshot": "^25.2.7" } }, "jest-runner": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.6.tgz", - "integrity": "sha512-sN45p3jxvpsG7UjeQFqyC+JR5+THLrIT9oXAHwQQIDWfpmZBFko2RROn1fvdQNWhuPzDeUf/oHykbhNRGo9eWg==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-25.2.7.tgz", + "integrity": "sha512-RFEr71nMrtNwcpoHzie5+fe1w3JQCGMyT2xzNwKe3f88+bK+frM2o1v24gEcPxQ2QqB3COMCe2+1EkElP+qqqQ==", "dev": true, "requires": { "@jest/console": "^25.2.6", @@ -5775,14 +5739,14 @@ "chalk": "^3.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.6", + "jest-config": "^25.2.7", "jest-docblock": "^25.2.6", "jest-haste-map": "^25.2.6", - "jest-jasmine2": "^25.2.6", + "jest-jasmine2": "^25.2.7", "jest-leak-detector": "^25.2.6", "jest-message-util": "^25.2.6", "jest-resolve": "^25.2.6", - "jest-runtime": "^25.2.6", + "jest-runtime": "^25.2.7", "jest-util": "^25.2.6", "jest-worker": "^25.2.6", "source-map-support": "^0.5.6", @@ -5848,9 +5812,9 @@ } }, "jest-runtime": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.6.tgz", - "integrity": "sha512-u0iNjO7VvI46341igiQP/bnm1TwdXV6IjVEo7DMVqRbTDTz4teTNOUXChuSMdoyjQcfJ3zmI7/jVktUpjnZhYw==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-25.2.7.tgz", + "integrity": "sha512-Gw3X8KxTTFylu2T/iDSNKRUQXQiPIYUY0b66GwVYa7W8wySkUljKhibQHSq0VhmCAN7vRBEQjlVQ+NFGNmQeBw==", "dev": true, "requires": { "@jest/console": "^25.2.6", @@ -5865,13 +5829,13 @@ "exit": "^0.1.2", "glob": "^7.1.3", "graceful-fs": "^4.2.3", - "jest-config": "^25.2.6", + "jest-config": "^25.2.7", "jest-haste-map": "^25.2.6", "jest-message-util": "^25.2.6", "jest-mock": "^25.2.6", "jest-regex-util": "^25.2.6", "jest-resolve": "^25.2.6", - "jest-snapshot": "^25.2.6", + "jest-snapshot": "^25.2.7", "jest-util": "^25.2.6", "jest-validate": "^25.2.6", "realpath-native": "^2.0.0", @@ -5951,19 +5915,19 @@ "dev": true }, "jest-snapshot": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.6.tgz", - "integrity": "sha512-Zw/Ba6op5zInjPHoA2xGUrCw1G/iTHOGMhV02PzlrWhF9uTl2/jjk/bpOMkPaW8EyylmQbjQ2oj4jCfYwpDKng==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-25.2.7.tgz", + "integrity": "sha512-Rm8k7xpGM4tzmYhB6IeRjsOMkXaU8/FOz5XlU6oYwhy53mq6txVNqIKqN1VSiexzpC80oWVxVDfUDt71M6XPOA==", "dev": true, "requires": { "@babel/types": "^7.0.0", "@jest/types": "^25.2.6", "@types/prettier": "^1.19.0", "chalk": "^3.0.0", - "expect": "^25.2.6", + "expect": "^25.2.7", "jest-diff": "^25.2.6", "jest-get-type": "^25.2.6", - "jest-matcher-utils": "^25.2.6", + "jest-matcher-utils": "^25.2.7", "jest-message-util": "^25.2.6", "jest-resolve": "^25.2.6", "make-dir": "^3.0.0", @@ -6007,12 +5971,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "diff-sequences": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", - "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -6031,12 +5989,6 @@ "pretty-format": "^25.2.6" } }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, "pretty-format": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", @@ -6185,12 +6137,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-get-type": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", - "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true - }, "pretty-format": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-25.2.6.tgz", @@ -6215,9 +6161,9 @@ } }, "jest-watcher": { - "version": "25.2.6", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.6.tgz", - "integrity": "sha512-yzv5DBeo03dQnSsSrn1mdOU1LSDd1tZaCTvSE5JYfcv6Z66PdDNhO9MNDdLKA/oQlJNj0S6TiYgLdOY5wL5cMA==", + "version": "25.2.7", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-25.2.7.tgz", + "integrity": "sha512-RdHuW+f49tahWtluTnUdZ2iPliebleROI2L/J5phYrUS6DPC9RB3SuUtqYyYhGZJsbvRSuLMIlY/cICJ+PIecw==", "dev": true, "requires": { "@jest/test-result": "^25.2.6", From a434ae5cc76bd9e5a7a0a5956b2ff743785bcaf1 Mon Sep 17 00:00:00 2001 From: Kulshekhar Kabra Date: Fri, 3 Apr 2020 18:41:00 +0530 Subject: [PATCH 22/23] chore: update package-lock.json --- package-lock.json | 44 +++++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 851e7f8f69..2ba5e8bba2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8129,9 +8129,9 @@ "dev": true }, "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", + "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", "dev": true, "requires": { "tslib": "^1.9.0" @@ -8747,24 +8747,46 @@ "es-abstract": "^1.17.0-next.1" } }, + "string.prototype.trimend": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.0.tgz", + "integrity": "sha512-EEJnGqa/xNfIg05SxiPSqRS7S9qwDhYts1TSLR1BQfYUfPe1stofgGKvwERK9+9yf+PpfBMlpBaCHucXGPQfUA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "string.prototype.trimleft": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz", - "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", + "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5", + "string.prototype.trimstart": "^1.0.0" } }, "string.prototype.trimright": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz", - "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", + "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", "dev": true, "requires": { "define-properties": "^1.1.3", - "function-bind": "^1.1.1" + "es-abstract": "^1.17.5", + "string.prototype.trimend": "^1.0.0" + } + }, + "string.prototype.trimstart": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.0.tgz", + "integrity": "sha512-iCP8g01NFYiiBOnwG1Xc3WZLyoo+RuBymwIlWncShXDDJYWN6DbnM3odslBJdgCdRlq94B5s63NWAZlcn2CS4w==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" } }, "string_decoder": { From 335ffd2ee870892b629b9f7ff31cb7475839f161 Mon Sep 17 00:00:00 2001 From: Kulshekhar Kabra Date: Fri, 3 Apr 2020 18:54:17 +0530 Subject: [PATCH 23/23] chore(release): 25.3.1 --- CHANGELOG.md | 39 +++++++++++++++++++++++++++++++++++++++ package-lock.json | 2 +- package.json | 2 +- 3 files changed, 41 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b1f91c644..3a05aab9e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,42 @@ + +## [25.3.1](https://github.com/kulshekhar/ts-jest/compare/v25.3.0...v25.3.1) (2020-04-03) + + +### Bug Fixes + +* only do type checking while compiling file ([#1483](https://github.com/kulshekhar/ts-jest/issues/1483)) ([dbc0a08](https://github.com/kulshekhar/ts-jest/commit/dbc0a08)) +* **config:** set default outDir for enabled allowJs without outDir ([#1472](https://github.com/kulshekhar/ts-jest/issues/1472)) ([57c7af0](https://github.com/kulshekhar/ts-jest/commit/57c7af0)) + + + + +# [25.3.0](https://github.com/kulshekhar/ts-jest/compare/25.2.1...v25.3.0) (2020-03-30) + + +### Bug Fixes + +* add jest-config to dependencies list ([6d9e0d8](https://github.com/kulshekhar/ts-jest/commit/6d9e0d8)) +* always do type check for all files provided to ts-jest transformer ([#1450](https://github.com/kulshekhar/ts-jest/issues/1450)) ([107e062](https://github.com/kulshekhar/ts-jest/commit/107e062)) +* **docs:** correct changelog, correct version in package.json ([#1406](https://github.com/kulshekhar/ts-jest/issues/1406)) ([542e181](https://github.com/kulshekhar/ts-jest/commit/542e181)) + + +### Chores + +* **config:** improve diagnostics message ([#1444](https://github.com/kulshekhar/ts-jest/issues/1444)) ([96cd9b3](https://github.com/kulshekhar/ts-jest/commit/96cd9b3)) + + +### Features + +* **compiler:** expose internal ts `Program` via ConfigSet `TsCompiler` ([#1433](https://github.com/kulshekhar/ts-jest/issues/1433)) ([7153246](https://github.com/kulshekhar/ts-jest/commit/7153246)) +* **config:** add incremental option ([#1418](https://github.com/kulshekhar/ts-jest/issues/1418)) ([5a69bce](https://github.com/kulshekhar/ts-jest/commit/5a69bce)) + + +### BREAKING CHANGES + +* **config:** This will affect to any snapshots or assertion against diagnostics messages + + + # [25.3.0](https://github.com/kulshekhar/ts-jest/compare/25.2.1...v25.3.0) (2020-03-30) diff --git a/package-lock.json b/package-lock.json index 2ba5e8bba2..6800441a60 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "ts-jest", - "version": "25.3.0", + "version": "25.3.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 8be9c64f08..17e234214e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ts-jest", - "version": "25.3.0", + "version": "25.3.1", "main": "dist/index.js", "types": "dist/index.d.ts", "bin": "cli.js",