From 3dfb75ea83ce3e7fa79a57d7cb88f684f8e8bc11 Mon Sep 17 00:00:00 2001 From: lila Date: Fri, 20 Mar 2026 14:01:48 +0100 Subject: [PATCH] chore: configure typescript project references and shared compiler options --- apps/api/tsconfig.json | 12 ++++++++++++ apps/web/tsconfig.json | 4 ++++ package.json | 3 ++- packages/db/tsconfig.json | 9 +++++++++ packages/shared/src/index.ts | 0 packages/shared/tsconfig.json | 9 +++++++++ pnpm-lock.yaml | 10 ++++++++++ tsconfig.base.json | 29 +++++++++++++++++++++++++++++ tsconfig.json | 9 +++++++++ 9 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 apps/api/tsconfig.json create mode 100644 apps/web/tsconfig.json create mode 100644 packages/db/tsconfig.json create mode 100644 packages/shared/src/index.ts create mode 100644 packages/shared/tsconfig.json create mode 100644 tsconfig.base.json create mode 100644 tsconfig.json diff --git a/apps/api/tsconfig.json b/apps/api/tsconfig.json new file mode 100644 index 0000000..71f4e55 --- /dev/null +++ b/apps/api/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../tsconfig.base.json", + "references": [ + { "path": "../../packages/shared" }, + { "path": "../../packages/db" }, + ], + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + }, + "include": ["src"], +} diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json new file mode 100644 index 0000000..93675b1 --- /dev/null +++ b/apps/web/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.base.json", + "references": [{ "path": "../../packages/shared" }], +} diff --git a/package.json b/package.json index da49943..2b4ce75 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ }, "packageManager": "pnpm@10.32.1", "devDependencies": { - "concurrently": "^9.2.1" + "concurrently": "^9.2.1", + "typescript": "^5.9.3" } } diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json new file mode 100644 index 0000000..ce5d26d --- /dev/null +++ b/packages/db/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "outDir": "./dist", + }, + "include": ["src"], +} diff --git a/packages/shared/src/index.ts b/packages/shared/src/index.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json new file mode 100644 index 0000000..ce5d26d --- /dev/null +++ b/packages/shared/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "outDir": "./dist", + }, + "include": ["src"], +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 46d710c..cbee284 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: concurrently: specifier: ^9.2.1 version: 9.2.1 + typescript: + specifier: ^5.9.3 + version: 5.9.3 apps/api: dependencies: @@ -114,6 +117,11 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} @@ -204,6 +212,8 @@ snapshots: tslib@2.8.1: {} + typescript@5.9.3: {} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 0000000..e125a65 --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "allowJs": true, + "composite": true, + "declaration": true, + "declarationMap": true, + "erasableSyntaxOnly": true, + "esModuleInterop": true, + "exactOptionalPropertyTypes": true, + "forceConsistentCasingInFileNames": true, + "isolatedModules": true, + "moduleDetection": "force", + "noFallthroughCasesInSwitch": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noPropertyAccessFromIndexSignature": true, + "noUncheckedIndexedAccess": true, + "noUncheckedSideEffectImports": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "outDir": "dist", + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "target": "es2022", + "verbatimModuleSyntax": true, + }, +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..0d5a0ff --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,9 @@ +{ + "references": [ + { "path": "./packages/shared" }, + { "path": "./packages/db" }, + { "path": "./apps/web" }, + { "path": "./apps/api" }, + ], + "files": [], +}