diff --git a/jest.pre.config.ts b/jest.pre.config.ts index 7c547f3b..784ecb6a 100644 --- a/jest.pre.config.ts +++ b/jest.pre.config.ts @@ -1,7 +1,7 @@ -import type { Config } from '@jest/types'; +import type { Config } from 'jest'; // Sync object -const config: Config.InitialOptions = { +const config: Config = { verbose: true, clearMocks: true, moduleFileExtensions: ['js', 'ts'], diff --git a/package-lock.json b/package-lock.json index f5f968a9..17e27d78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,8 @@ }, "devDependencies": { "@octokit/types": "^11.0.0", + "@tsconfig/node16": "^16.1.0", + "@tsconfig/strictest": "^2.0.1", "@types/jest": "^29.5.2", "@types/node": "^16.18.38", "@typescript-eslint/eslint-plugin": "^5.61.0", @@ -1914,9 +1916,15 @@ "dev": true }, "node_modules/@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-16.1.0.tgz", + "integrity": "sha512-cfwhqrdZEKS+Iqu1OPDwmKsOV/eo7q4sPhWzOXc1rU77nnPFV3+77yPg8uKQ2e8eir6mERCvrKnd+EGa4qo4bQ==", + "dev": true + }, + "node_modules/@tsconfig/strictest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/strictest/-/strictest-2.0.1.tgz", + "integrity": "sha512-7JHHCbyCsGUxLd0pDbp24yz3zjxw2t673W5oAP6HCEdr/UUhaRhYd3SSnUsGCk+VnPVJVA4mXROzbhI+nyIk+w==", "dev": true }, "node_modules/@types/babel__core": { @@ -5658,6 +5666,12 @@ } } }, + "node_modules/ts-node/node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "node_modules/tslib": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", @@ -7390,9 +7404,15 @@ "dev": true }, "@tsconfig/node16": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", - "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-16.1.0.tgz", + "integrity": "sha512-cfwhqrdZEKS+Iqu1OPDwmKsOV/eo7q4sPhWzOXc1rU77nnPFV3+77yPg8uKQ2e8eir6mERCvrKnd+EGa4qo4bQ==", + "dev": true + }, + "@tsconfig/strictest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/strictest/-/strictest-2.0.1.tgz", + "integrity": "sha512-7JHHCbyCsGUxLd0pDbp24yz3zjxw2t673W5oAP6HCEdr/UUhaRhYd3SSnUsGCk+VnPVJVA4mXROzbhI+nyIk+w==", "dev": true }, "@types/babel__core": { @@ -10023,6 +10043,14 @@ "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" + }, + "dependencies": { + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + } } }, "tslib": { diff --git a/package.json b/package.json index 7bb9451e..982bedb9 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,8 @@ }, "devDependencies": { "@octokit/types": "^11.0.0", + "@tsconfig/node16": "^16.1.0", + "@tsconfig/strictest": "^2.0.1", "@types/jest": "^29.5.2", "@types/node": "^16.18.38", "@typescript-eslint/eslint-plugin": "^5.61.0", diff --git a/tsconfig.base.json b/tsconfig.base.json deleted file mode 100644 index 7ab0cb8f..00000000 --- a/tsconfig.base.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - // Import from https://github.com/tsconfig/bases/commit/0ae4791797d8ba3dd2bca9aca880eb2d3e30e6fb - // To avoid issues around tsconfig.extends array - "$schema": "https://json.schemastore.org/tsconfig", - "display": "Node 16 + Strictest", - "compilerOptions": { - "lib": [ - "es2021" - ], - "module": "commonjs", - "target": "es2021", - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "moduleResolution": "node", - "allowUnusedLabels": false, - "allowUnreachableCode": false, - "exactOptionalPropertyTypes": true, - "noFallthroughCasesInSwitch": true, - "noImplicitOverride": true, - "noImplicitReturns": true, - "noPropertyAccessFromIndexSignature": true, - "noUncheckedIndexedAccess": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "verbatimModuleSyntax": true, - "checkJs": true - } -} diff --git a/tsconfig.json b/tsconfig.json index 20f9039b..6611e765 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,9 +1,6 @@ { - // TODO: Use tsconfig/base after all tools support tsconfig.extends array - "extends": "./tsconfig.base.json", + "extends": ["@tsconfig/strictest/tsconfig", "@tsconfig/node16/tsconfig"], "compilerOptions": { - // https://www.typescriptlang.org/docs/handbook/esm-node.html - "module": "node16", "noEmit": true, "noUnusedLocals": false },