From 242cefd35cb3f95a8d2558c3402a6fc83712126e Mon Sep 17 00:00:00 2001 From: Carlos Valente Date: Thu, 11 Dec 2025 17:52:54 +0100 Subject: [PATCH] tooling: lax typechecking in tests --- apps/client/tsconfig.json | 12 ++++++++-- apps/client/tsconfig.tests.json | 35 ++++++++++++++++++++++++++++++ apps/resolver/tsconfig.json | 7 ++++++ apps/resolver/tsconfig.tests.json | 21 ++++++++++++++++++ apps/server/tsconfig.json | 10 ++++++++- apps/server/tsconfig.tests.json | 18 +++++++++++++++ packages/utils/tsconfig.json | 13 +++++++---- packages/utils/tsconfig.tests.json | 19 ++++++++++++++++ tsconfig.common.json | 3 ++- tsconfig.tests.json | 17 +++++++++++++++ 10 files changed, 147 insertions(+), 8 deletions(-) create mode 100644 apps/client/tsconfig.tests.json create mode 100644 apps/resolver/tsconfig.tests.json create mode 100644 apps/server/tsconfig.tests.json create mode 100644 packages/utils/tsconfig.tests.json create mode 100644 tsconfig.tests.json diff --git a/apps/client/tsconfig.json b/apps/client/tsconfig.json index 399f0207b..2d20ba7df 100644 --- a/apps/client/tsconfig.json +++ b/apps/client/tsconfig.json @@ -9,8 +9,7 @@ ], "types": [ "vite/client", - "vite-plugin-svgr/client", - "vitest/globals" + "vite-plugin-svgr/client" ], "module": "esnext", "moduleResolution": "node", @@ -31,5 +30,14 @@ "exclude": [ "node_modules", "build", + "src/**/*.test.ts", + "src/**/*.test.tsx", + "src/**/*.spec.ts", + "src/**/*.spec.tsx", + ], + "references": [ + { + "path": "./tsconfig.tests.json" + } ] } diff --git a/apps/client/tsconfig.tests.json b/apps/client/tsconfig.tests.json new file mode 100644 index 000000000..d62d5243f --- /dev/null +++ b/apps/client/tsconfig.tests.json @@ -0,0 +1,35 @@ +{ + "extends": "../../tsconfig.tests.json", + "compilerOptions": { + "target": "esnext", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "types": [ + "vite/client", + "vite-plugin-svgr/client", + "vitest/globals" + ], + "module": "esnext", + "moduleResolution": "node", + "allowUnusedLabels": false, + "removeComments": true, + "preserveConstEnums": true, + "allowJs": true, + "baseUrl": "src", + "jsx": "react-jsx", + "outDir": "build", + "composite": true + }, + "include": [ + "src/**/*.test.ts", + "src/**/*.test.tsx", + "src/**/*.spec.ts", + "src/**/*.spec.tsx", + ], + "typeRoots": [ + "./src/declarations/**" + ] +} diff --git a/apps/resolver/tsconfig.json b/apps/resolver/tsconfig.json index a9db8ad39..7a6b17b62 100644 --- a/apps/resolver/tsconfig.json +++ b/apps/resolver/tsconfig.json @@ -18,5 +18,12 @@ ], "exclude": [ "node_modules", + "src/**/*.test.ts", + "src/**/*.spec.ts", + ], + "references": [ + { + "path": "./tsconfig.tests.json" + } ] } diff --git a/apps/resolver/tsconfig.tests.json b/apps/resolver/tsconfig.tests.json new file mode 100644 index 000000000..375027dd4 --- /dev/null +++ b/apps/resolver/tsconfig.tests.json @@ -0,0 +1,21 @@ +{ + "extends": "../../tsconfig.tests.json", + "compilerOptions": { + "target": "esnext", + "module": "preserve", + "moduleResolution": "bundler", + "allowUnusedLabels": false, + "removeComments": true, + "preserveConstEnums": true, + "allowJs": true, + "declaration": true, + "outDir": "dist", + "sourceMap": true, + "baseUrl": "src", + "composite": true + }, + "include": [ + "src/**/*.test.ts", + "src/**/*.spec.ts", + ] +} diff --git a/apps/server/tsconfig.json b/apps/server/tsconfig.json index 9ce3abf48..39a64f855 100644 --- a/apps/server/tsconfig.json +++ b/apps/server/tsconfig.json @@ -7,7 +7,6 @@ "noImplicitReturns": false, //TODO: fix this "allowJs": true, "esModuleInterop": true, - "types": ["vitest/globals"], "outDir": "dist", "experimentalDecorators": true, }, @@ -15,4 +14,13 @@ "src/**/*.ts", "src/**/*.js", ], + "exclude": [ + "src/**/*.test.ts", + "src/**/*.spec.ts", + ], + "references": [ + { + "path": "./tsconfig.tests.json" + } + ] } diff --git a/apps/server/tsconfig.tests.json b/apps/server/tsconfig.tests.json new file mode 100644 index 000000000..8b485e145 --- /dev/null +++ b/apps/server/tsconfig.tests.json @@ -0,0 +1,18 @@ +{ + "extends": "../../tsconfig.tests.json", + "compilerOptions": { + "target": "esnext", + "module": "node16", + "moduleResolution": "node16", + "allowJs": true, + "esModuleInterop": true, + "types": ["vitest/globals"], + "outDir": "dist", + "experimentalDecorators": true, + "composite": true + }, + "include": [ + "src/**/*.test.ts", + "src/**/*.spec.ts", + ] +} diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json index 32313be24..ea3c173ce 100644 --- a/packages/utils/tsconfig.json +++ b/packages/utils/tsconfig.json @@ -8,14 +8,19 @@ "removeComments": true, "preserveConstEnums": true, "allowJs": true, - "baseUrl": "src", - "types": ["vitest/globals"] + "baseUrl": "src" }, "include": [ - "src", - "../node_modules/.pnpm/vitest@0.26.3/node_modules/vitest/globals.d.ts" + "src" ], "exclude": [ "node_modules", + "src/**/*.test.ts", + "src/**/*.spec.ts", + ], + "references": [ + { + "path": "./tsconfig.tests.json" + } ] } diff --git a/packages/utils/tsconfig.tests.json b/packages/utils/tsconfig.tests.json new file mode 100644 index 000000000..2b3ed90e3 --- /dev/null +++ b/packages/utils/tsconfig.tests.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.tests.json", + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "moduleResolution": "node", + "allowUnusedLabels": false, + "removeComments": true, + "preserveConstEnums": true, + "allowJs": true, + "baseUrl": "src", + "types": ["vitest/globals"], + "composite": true + }, + "include": [ + "src/**/*.test.ts", + "src/**/*.spec.ts", + ] +} diff --git a/tsconfig.common.json b/tsconfig.common.json index 53cc6e0ed..113031e2e 100644 --- a/tsconfig.common.json +++ b/tsconfig.common.json @@ -11,6 +11,7 @@ "noFallthroughCasesInSwitch": true, "noUnusedLocals": true, "noUnusedParameters": true, - "allowUnreachableCode": false + "allowUnreachableCode": false, + "noUncheckedIndexedAccess": false } } diff --git a/tsconfig.tests.json b/tsconfig.tests.json new file mode 100644 index 000000000..3868659df --- /dev/null +++ b/tsconfig.tests.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "compilerOptions": { + "strict": true, + "skipLibCheck": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "noImplicitReturns": false, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": false, + "noUnusedParameters": false, + "allowUnreachableCode": false, + "noUncheckedIndexedAccess": false + } +}