From f7d9d423fab8842b78f8c2cbd6ed0c6fd0f6505a Mon Sep 17 00:00:00 2001 From: Hide_D Date: Sun, 28 Dec 2025 16:32:43 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20tsconfig=20=EB=B0=8F=20package.json=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=EC=9C=BC=EB=A1=9C=20=ED=83=80=EC=9E=85=20?= =?UTF-8?q?=EC=B2=B4=ED=81=AC=20=EB=B0=8F=20=EB=B9=8C=EB=93=9C=20=EC=84=A4?= =?UTF-8?q?=EC=A0=95=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/game-api/package.json | 2 +- app/game-api/tsconfig.build.json | 9 ++++++++ app/game-api/tsconfig.json | 3 +-- app/game-engine/package.json | 2 +- app/game-engine/tsconfig.build.json | 13 ++++++------ app/game-engine/tsconfig.json | 9 +++++--- app/game-frontend/package.json | 4 ++-- app/game-frontend/tsconfig.build.json | 10 +++++++++ app/game-frontend/tsconfig.json | 3 +-- app/gateway-api/package.json | 2 +- app/gateway-api/tsconfig.build.json | 9 ++++++++ app/gateway-api/tsconfig.json | 3 +-- app/gateway-frontend/package.json | 4 ++-- app/gateway-frontend/tsconfig.build.json | 10 +++++++++ app/gateway-frontend/tsconfig.json | 3 +-- packages/common/package.json | 2 +- packages/common/tsconfig.build.json | 9 ++++++++ packages/common/tsconfig.json | 3 +-- packages/infra/package.json | 2 +- packages/infra/tsconfig.build.json | 9 ++++++++ packages/infra/tsconfig.json | 3 +-- packages/logic/package.json | 2 +- packages/logic/tsconfig.build.json | 26 ++++++++++++++++++------ packages/logic/tsconfig.json | 8 +++++--- tsconfig.base.json | 9 -------- tsconfig.json | 14 +++++++++++++ tsconfig.paths.json | 14 +++++++++++++ 27 files changed, 138 insertions(+), 49 deletions(-) create mode 100644 app/game-api/tsconfig.build.json create mode 100644 app/game-frontend/tsconfig.build.json create mode 100644 app/gateway-api/tsconfig.build.json create mode 100644 app/gateway-frontend/tsconfig.build.json create mode 100644 packages/common/tsconfig.build.json create mode 100644 packages/infra/tsconfig.build.json create mode 100644 tsconfig.json create mode 100644 tsconfig.paths.json diff --git a/app/game-api/package.json b/app/game-api/package.json index 4acc66c..be6ef19 100644 --- a/app/game-api/package.json +++ b/app/game-api/package.json @@ -8,7 +8,7 @@ "dev": "tsdown -c ../../tsdown.config.ts -F @sammo-ts/game-api --watch", "lint": "node -e \"console.log('lint not configured')\"", "test": "node -e \"console.log('test not configured')\"", - "typecheck": "tsc -p tsconfig.json --noEmit" + "typecheck": "tsc --noEmit" }, "devDependencies": { "tsdown": "^0.18.3" diff --git a/app/game-api/tsconfig.build.json b/app/game-api/tsconfig.build.json new file mode 100644 index 0000000..a7d5865 --- /dev/null +++ b/app/game-api/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "composite": false + }, + "include": ["src"] +} diff --git a/app/game-api/tsconfig.json b/app/game-api/tsconfig.json index f94e66c..53aba2b 100644 --- a/app/game-api/tsconfig.json +++ b/app/game-api/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true diff --git a/app/game-engine/package.json b/app/game-engine/package.json index 781c4ca..7f61ae2 100644 --- a/app/game-engine/package.json +++ b/app/game-engine/package.json @@ -8,7 +8,7 @@ "dev": "tsdown -c ../../tsdown.config.ts -F @sammo-ts/game-engine --watch", "lint": "node -e \"console.log('lint not configured')\"", "test": "vitest run --config vitest.config.ts", - "typecheck": "tsc -p tsconfig.build.json --noEmit" + "typecheck": "tsc --noEmit" }, "dependencies": { "@sammo-ts/common": "workspace:*", diff --git a/app/game-engine/tsconfig.build.json b/app/game-engine/tsconfig.build.json index e4ca430..70f7979 100644 --- a/app/game-engine/tsconfig.build.json +++ b/app/game-engine/tsconfig.build.json @@ -1,12 +1,13 @@ { - "extends": "./tsconfig.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "rootDir": "../..", + "rootDir": "src", + "outDir": "dist", "composite": false }, - "include": [ - "src", - "../../packages/common/src", - "../../packages/logic/src" + "include": ["src"], + "references": [ + { "path": "../../packages/common" }, + { "path": "../../packages/logic" } ] } diff --git a/app/game-engine/tsconfig.json b/app/game-engine/tsconfig.json index f94e66c..7b1dbee 100644 --- a/app/game-engine/tsconfig.json +++ b/app/game-engine/tsconfig.json @@ -1,10 +1,13 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true }, - "include": ["src"] + "include": ["src"], + "references": [ + { "path": "../../packages/common" }, + { "path": "../../packages/logic" } + ] } diff --git a/app/game-frontend/package.json b/app/game-frontend/package.json index a8f16c9..47dd8a0 100644 --- a/app/game-frontend/package.json +++ b/app/game-frontend/package.json @@ -4,10 +4,10 @@ "version": "0.0.0", "type": "module", "scripts": { - "build": "tsc -p tsconfig.json", + "build": "tsc -p tsconfig.build.json", "dev": "node -e \"console.log('dev not configured')\"", "lint": "node -e \"console.log('lint not configured')\"", "test": "node -e \"console.log('test not configured')\"", - "typecheck": "tsc -p tsconfig.json --noEmit" + "typecheck": "tsc --noEmit" } } diff --git a/app/game-frontend/tsconfig.build.json b/app/game-frontend/tsconfig.build.json new file mode 100644 index 0000000..e7606f1 --- /dev/null +++ b/app/game-frontend/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "composite": false, + "lib": ["ES2022", "DOM", "DOM.Iterable"] + }, + "include": ["src"] +} diff --git a/app/game-frontend/tsconfig.json b/app/game-frontend/tsconfig.json index 28799f0..31072c8 100644 --- a/app/game-frontend/tsconfig.json +++ b/app/game-frontend/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true, diff --git a/app/gateway-api/package.json b/app/gateway-api/package.json index 8487f03..a28255f 100644 --- a/app/gateway-api/package.json +++ b/app/gateway-api/package.json @@ -8,7 +8,7 @@ "dev": "tsdown -c ../../tsdown.config.ts -F @sammo-ts/gateway-api --watch", "lint": "node -e \"console.log('lint not configured')\"", "test": "node -e \"console.log('test not configured')\"", - "typecheck": "tsc -p tsconfig.json --noEmit" + "typecheck": "tsc --noEmit" }, "devDependencies": { "tsdown": "^0.18.3" diff --git a/app/gateway-api/tsconfig.build.json b/app/gateway-api/tsconfig.build.json new file mode 100644 index 0000000..a7d5865 --- /dev/null +++ b/app/gateway-api/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "composite": false + }, + "include": ["src"] +} diff --git a/app/gateway-api/tsconfig.json b/app/gateway-api/tsconfig.json index f94e66c..53aba2b 100644 --- a/app/gateway-api/tsconfig.json +++ b/app/gateway-api/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true diff --git a/app/gateway-frontend/package.json b/app/gateway-frontend/package.json index 1d5e617..1aaa29f 100644 --- a/app/gateway-frontend/package.json +++ b/app/gateway-frontend/package.json @@ -4,10 +4,10 @@ "version": "0.0.0", "type": "module", "scripts": { - "build": "tsc -p tsconfig.json", + "build": "tsc -p tsconfig.build.json", "dev": "node -e \"console.log('dev not configured')\"", "lint": "node -e \"console.log('lint not configured')\"", "test": "node -e \"console.log('test not configured')\"", - "typecheck": "tsc -p tsconfig.json --noEmit" + "typecheck": "tsc --noEmit" } } diff --git a/app/gateway-frontend/tsconfig.build.json b/app/gateway-frontend/tsconfig.build.json new file mode 100644 index 0000000..e7606f1 --- /dev/null +++ b/app/gateway-frontend/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "composite": false, + "lib": ["ES2022", "DOM", "DOM.Iterable"] + }, + "include": ["src"] +} diff --git a/app/gateway-frontend/tsconfig.json b/app/gateway-frontend/tsconfig.json index 28799f0..31072c8 100644 --- a/app/gateway-frontend/tsconfig.json +++ b/app/gateway-frontend/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true, diff --git a/packages/common/package.json b/packages/common/package.json index a71e8c6..7f09d73 100644 --- a/packages/common/package.json +++ b/packages/common/package.json @@ -10,7 +10,7 @@ "dev": "tsdown -c ../../tsdown.config.ts -F @sammo-ts/common --watch", "lint": "node -e \"console.log('lint not configured')\"", "test": "vitest run --config vitest.config.ts", - "typecheck": "tsc -p tsconfig.json --noEmit" + "typecheck": "tsc --noEmit" }, "dependencies": { "js-sha512": "^0.9.0" diff --git a/packages/common/tsconfig.build.json b/packages/common/tsconfig.build.json new file mode 100644 index 0000000..a7d5865 --- /dev/null +++ b/packages/common/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "composite": false + }, + "include": ["src"] +} diff --git a/packages/common/tsconfig.json b/packages/common/tsconfig.json index f94e66c..53aba2b 100644 --- a/packages/common/tsconfig.json +++ b/packages/common/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true diff --git a/packages/infra/package.json b/packages/infra/package.json index 71620cb..6f95dae 100644 --- a/packages/infra/package.json +++ b/packages/infra/package.json @@ -10,7 +10,7 @@ "dev": "tsdown -c ../../tsdown.config.ts -F @sammo-ts/infra --watch", "lint": "node -e \"console.log('lint not configured')\"", "test": "node -e \"console.log('test not configured')\"", - "typecheck": "tsc -p tsconfig.json --noEmit" + "typecheck": "tsc --noEmit" }, "dependencies": { "@prisma/client": "^5.18.0", diff --git a/packages/infra/tsconfig.build.json b/packages/infra/tsconfig.build.json new file mode 100644 index 0000000..a7d5865 --- /dev/null +++ b/packages/infra/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "composite": false + }, + "include": ["src"] +} diff --git a/packages/infra/tsconfig.json b/packages/infra/tsconfig.json index f94e66c..53aba2b 100644 --- a/packages/infra/tsconfig.json +++ b/packages/infra/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true diff --git a/packages/logic/package.json b/packages/logic/package.json index 0e4cfb6..046373b 100644 --- a/packages/logic/package.json +++ b/packages/logic/package.json @@ -16,7 +16,7 @@ "dev": "tsdown -c ../../tsdown.config.ts -F @sammo-ts/logic --watch", "lint": "node -e \"console.log('lint not configured')\"", "test": "vitest run --config vitest.config.ts", - "typecheck": "tsc -p tsconfig.build.json --noEmit" + "typecheck": "tsc --noEmit" }, "dependencies": { "@sammo-ts/common": "workspace:*", diff --git a/packages/logic/tsconfig.build.json b/packages/logic/tsconfig.build.json index dfc434c..3acede7 100644 --- a/packages/logic/tsconfig.build.json +++ b/packages/logic/tsconfig.build.json @@ -1,11 +1,25 @@ { - "extends": "./tsconfig.json", + "extends": "../../tsconfig.base.json", "compilerOptions": { - "rootDir": "../..", - "composite": false + "rootDir": "src", + "outDir": "dist", + "composite": false, + "module": "NodeNext", + "moduleResolution": "NodeNext", + "target": "ES2023", + "lib": ["ES2024"], + "verbatimModuleSyntax": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "useUnknownInCatchVariables": true, + "noUnusedLocals": true, + "noUnusedParameters": true }, - "include": [ - "src", - "../common/src" + "include": ["src"], + "references": [ + { "path": "../common" } ] } diff --git a/packages/logic/tsconfig.json b/packages/logic/tsconfig.json index c126b9f..ecf14f7 100644 --- a/packages/logic/tsconfig.json +++ b/packages/logic/tsconfig.json @@ -1,7 +1,6 @@ { - "extends": "../../tsconfig.base.json", + "extends": "../../tsconfig.paths.json", "compilerOptions": { - "baseUrl": "../..", "outDir": "dist", "rootDir": "src", "composite": true, @@ -19,5 +18,8 @@ "noUnusedLocals": true, "noUnusedParameters": true }, - "include": ["src"] + "include": ["src"], + "references": [ + { "path": "../common" } + ] } diff --git a/tsconfig.base.json b/tsconfig.base.json index d91e5f8..ac7e186 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -4,15 +4,6 @@ "module": "NodeNext", "moduleResolution": "NodeNext", "lib": ["ES2022"], - "baseUrl": ".", - "paths": { - "@sammo-ts/common": ["packages/common/src/index.ts"], - "@sammo-ts/common/*": ["packages/common/src/*"], - "@sammo-ts/infra": ["packages/infra/src/index.ts"], - "@sammo-ts/infra/*": ["packages/infra/src/*"], - "@sammo-ts/logic": ["packages/logic/src/index.ts"], - "@sammo-ts/logic/*": ["packages/logic/src/*"] - }, "strict": true, "esModuleInterop": true, "forceConsistentCasingInFileNames": true, diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..7c6f81d --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.paths.json", + "files": [], + "references": [ + { "path": "./packages/common" }, + { "path": "./packages/infra" }, + { "path": "./packages/logic" }, + { "path": "./app/game-api" }, + { "path": "./app/game-engine" }, + { "path": "./app/game-frontend" }, + { "path": "./app/gateway-api" }, + { "path": "./app/gateway-frontend" } + ] +} diff --git a/tsconfig.paths.json b/tsconfig.paths.json new file mode 100644 index 0000000..e71e9c4 --- /dev/null +++ b/tsconfig.paths.json @@ -0,0 +1,14 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@sammo-ts/common": ["packages/common/src/index.ts"], + "@sammo-ts/common/*": ["packages/common/src/*"], + "@sammo-ts/infra": ["packages/infra/src/index.ts"], + "@sammo-ts/infra/*": ["packages/infra/src/*"], + "@sammo-ts/logic": ["packages/logic/src/index.ts"], + "@sammo-ts/logic/*": ["packages/logic/src/*"] + } + } +}