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/*"] + } + } +}