diff --git a/packages/jest-config/jest-preset.js b/packages/jest-config/jest-preset.js new file mode 100644 index 0000000..8efaac7 --- /dev/null +++ b/packages/jest-config/jest-preset.js @@ -0,0 +1,61 @@ + +module.exports = { + //bail: 1, // set to stop testing after N failures + //clearMocks: true, // set to run jest.clearAllMocks() before each test + collectCoverage: true, + collectCoverageFrom: [ + "**/*.{ts,js}", + "!public-api.ts", + "!node_modules", + "!dist" + ], + coverageDirectory: "/../", // since current reporters only output json summary + coverageProvider: "babel", // maybe change to v8 for speed, if it detects full coverage good enough + coverageReporters: [ "json-summary", "text-summary", "text" ], // disabled json, lcov and clover reporters + errorOnDeprecated: true, + globals: { + 'ts-jest': { + tsconfig: { + //"allowJs": true, + //"allowUnreachableCode": true, + "baseUrl": "/", + //"checkJs": true, + //"composite": true, + "declaration": false, // differs from tsconfig + //"declarationMap": true, + "downlevelIteration": true, + //"emitDecoratorMetadata": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "forceConsistentCasingInFileNames": true, + "importHelpers": true, + "inlineSourceMap": true, // differs from tsconfig + "inlineSources": true, // differs from tsconfig + "module": "es2020", // differs from tsconfig; switch to es2020 in v27 + "moduleResolution": "node", + //"newLine": "LF", + "noFallthroughCasesInSwitch": true, + //"noImplicitOverride": true, + "noImplicitReturns": true, + //"noPropertyAccessFromIndexSignature": true, + //"noUncheckedIndexedAccess": true, + //"noUnusedLocals": true, + //"noUnusedParameters": true, + "outDir": "/dist", + "sourceMap": false, // differs from tsconfig + "strict": false, // differs from tsconfig; should be true ! + "target": "es2020" + } + }, + }, + moduleFileExtensions: [ "ts", "js" ], + preset: "ts-jest", + // resetMocks: true, // set to run jest.resetAllMocks() before each test + // restoreMocks: true, // set to run jest.restoreAllMocks() before each test + testMatch: [ "**/*.spec.ts" ], + // testTimeout: 300000, + transform: { + '^.+\\.ts?$': 'ts-jest' + }, + // verbose: true, +}; \ No newline at end of file diff --git a/packages/jest-config/jest.config.js b/packages/jest-config/jest.config.js deleted file mode 100644 index 5bdeed8..0000000 --- a/packages/jest-config/jest.config.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - collectCoverageFrom: [ '**/*.{ts,js}' ], - coverageDirectory: '../coverage', - coveragePathIgnorePatterns: [ 'public-api.ts' ], - // coverageThreshold: { - // global: { - // branches: 60, - // functions: 60, - // lines: 60, - // statements: 60, - // }, - // }, - globals: { - 'ts-jest': { - tsconfig: '/../tsconfig.spec.json', - }, - }, - moduleFileExtensions: [ 'ts', 'js' ], - preset: 'ts-jest', - rootDir: 'lib', - testRegex: '.spec.ts$', - testTimeout: 300000, - testEnvironment: 'node', - verbose: true, -}; \ No newline at end of file diff --git a/packages/jest-config/package-lock.json b/packages/jest-config/package-lock.json index ce8fe3b..bab0c68 100644 --- a/packages/jest-config/package-lock.json +++ b/packages/jest-config/package-lock.json @@ -37,15 +37,6 @@ "@types/istanbul-lib-report": "*" } }, - "@types/jest": { - "version": "26.0.22", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-26.0.22.tgz", - "integrity": "sha512-eeWwWjlqxvBxc4oQdkueW5OF/gtfSceKk4OnOAGlUSwS/liBRtZppbJuz1YkgbrbfGOoeBHun9fOvXnjNwrSOw==", - "requires": { - "jest-diff": "^26.0.0", - "pretty-format": "^26.0.0" - } - }, "@types/node": { "version": "14.14.41", "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.41.tgz", @@ -64,11 +55,6 @@ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz", "integrity": "sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA==" }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -77,11 +63,6 @@ "color-convert": "^2.0.1" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, "braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", @@ -130,21 +111,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" - }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -181,22 +147,6 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, - "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" - } - }, - "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" - }, "jest-util": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz", @@ -260,22 +210,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" }, - "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", - "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", - "react-is": "^17.0.1" - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -284,20 +218,6 @@ "lru-cache": "^6.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -331,19 +251,6 @@ "yargs-parser": "20.x" } }, - "ts-node": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz", - "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==", - "requires": { - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.17", - "yn": "3.1.1" - } - }, "typescript": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", @@ -358,11 +265,6 @@ "version": "20.2.7", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz", "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==" - }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" } } } diff --git a/packages/jest-config/package.json b/packages/jest-config/package.json index 5a57e3a..d003ff8 100644 --- a/packages/jest-config/package.json +++ b/packages/jest-config/package.json @@ -16,14 +16,12 @@ "url": "https://github.com/digita-ai/dgt-config/issues" }, "peerDependencies": { - "jest": "^26.6.3", - "jest-mock-extended": "^1.0.13" + "@types/jest": "^26.0.22", + "jest-mock-extended": "^1.0.13", + "jest": "^26.6.3" }, "dependencies": { - "@types/jest": "^26.0.22", - "@types/node": "^14.14.41", "ts-jest": "^26.5.5", - "ts-node": "^9.1.1", "typescript": "^4.2.3" } }