From e0dfe567db32f0263db9d3fb24d5016ff3ea70ec Mon Sep 17 00:00:00 2001 From: Hide_D Date: Mon, 5 Jan 2026 15:24:14 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20Turbo=20=EC=84=A4=EC=A0=95=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20=EB=B0=8F=20=EC=8A=A4=ED=81=AC=EB=A6=BD=ED=8A=B8=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 ++ package.json | 12 ++++--- packages/infra/package.json | 1 + pnpm-lock.yaml | 64 +++++++++++++++++++++++++++++++++++++ turbo.json | 29 +++++++++++++++++ 5 files changed, 103 insertions(+), 5 deletions(-) create mode 100644 turbo.json diff --git a/.gitignore b/.gitignore index e17066d..6e8cba0 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,5 @@ packages/infra/prisma/generated/ #개발용 임시 코드 .devbox docker-compose.override.yml + +.turbo/ \ No newline at end of file diff --git a/package.json b/package.json index e7589cc..f6de1e2 100644 --- a/package.json +++ b/package.json @@ -3,17 +3,19 @@ "private": true, "type": "module", "version": "0.0.0", + "packageManager": "pnpm@10.26.2", "scripts": { - "lint": "pnpm -r lint", - "test": "pnpm -r test", - "build": "pnpm -r typecheck && pnpm -r build", - "typecheck": "pnpm -r typecheck", - "dev": "pnpm -r dev", + "lint": "turbo lint", + "test": "turbo test", + "build": "turbo build", + "typecheck": "turbo typecheck", + "dev": "turbo dev", "build:server": "pnpm --filter ./tools/build-scripts build:server --" }, "devDependencies": { "@types/node": "^25.0.3", "tsdown": "^0.18.4", + "turbo": "^2.7.2", "typescript": "^5.9.3" } } diff --git a/packages/infra/package.json b/packages/infra/package.json index ca62d45..bc1b0a5 100644 --- a/packages/infra/package.json +++ b/packages/infra/package.json @@ -10,6 +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')\"", + "prisma:generate": "pnpm prisma:generate:game && pnpm prisma:generate:gateway", "typecheck": "tsc -b", "prisma:generate:game": "prisma generate --schema prisma/game.prisma", "prisma:generate:gateway": "prisma generate --schema prisma/gateway.prisma", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 277358b..cb2d7c4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: tsdown: specifier: ^0.18.4 version: 0.18.4(typescript@5.9.3)(vue-tsc@3.2.1(typescript@5.9.3)) + turbo: + specifier: ^2.7.2 + version: 2.7.2 typescript: specifier: ^5.9.3 version: 5.9.3 @@ -2466,6 +2469,40 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + turbo-darwin-64@2.7.2: + resolution: {integrity: sha512-dxY3X6ezcT5vm3coK6VGixbrhplbQMwgNsCsvZamS/+/6JiebqW9DKt4NwpgYXhDY2HdH00I7FWs3wkVuan4rA==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@2.7.2: + resolution: {integrity: sha512-1bXmuwPLqNFt3mzrtYcVx1sdJ8UYb124Bf48nIgcpMCGZy3kDhgxNv1503kmuK/37OGOZbsWSQFU4I08feIuSg==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@2.7.2: + resolution: {integrity: sha512-kP+TiiMaiPugbRlv57VGLfcjFNsFbo8H64wMBCPV2270Or2TpDCBULMzZrvEsvWFjT3pBFvToYbdp8/Kw0jAQg==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@2.7.2: + resolution: {integrity: sha512-VDJwQ0+8zjAfbyY6boNaWfP6RIez4ypKHxwkuB6SrWbOSk+vxTyW5/hEjytTwK8w/TsbKVcMDyvpora8tEsRFw==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@2.7.2: + resolution: {integrity: sha512-rPjqQXVnI6A6oxgzNEE8DNb6Vdj2Wwyhfv3oDc+YM3U9P7CAcBIlKv/868mKl4vsBtz4ouWpTQNXG8vljgJO+w==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@2.7.2: + resolution: {integrity: sha512-tcnHvBhO515OheIFWdxA+qUvZzNqqcHbLVFc1+n+TJ1rrp8prYicQtbtmsiKgMvr/54jb9jOabU62URAobnB7g==} + cpu: [arm64] + os: [win32] + + turbo@2.7.2: + resolution: {integrity: sha512-5JIA5aYBAJSAhrhbyag1ZuMSgUZnHtI+Sq3H8D3an4fL8PeF+L1yYvbEJg47akP1PFfATMf5ehkqFnxfkmuwZQ==} + hasBin: true + tv4@1.3.0: resolution: {integrity: sha512-afizzfpJgvPr+eDkREK4MxJ/+r8nEEHcmitwgnPUqpaP+FpwQyadnxNoSACbgc/b1LsZYtODGoPiFxQrgJgjvw==} engines: {node: '>= 0.8.0'} @@ -4701,6 +4738,33 @@ snapshots: tslib@2.8.1: {} + turbo-darwin-64@2.7.2: + optional: true + + turbo-darwin-arm64@2.7.2: + optional: true + + turbo-linux-64@2.7.2: + optional: true + + turbo-linux-arm64@2.7.2: + optional: true + + turbo-windows-64@2.7.2: + optional: true + + turbo-windows-arm64@2.7.2: + optional: true + + turbo@2.7.2: + optionalDependencies: + turbo-darwin-64: 2.7.2 + turbo-darwin-arm64: 2.7.2 + turbo-linux-64: 2.7.2 + turbo-linux-arm64: 2.7.2 + turbo-windows-64: 2.7.2 + turbo-windows-arm64: 2.7.2 + tv4@1.3.0: {} tx2@1.0.5: diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000..005386e --- /dev/null +++ b/turbo.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://turbo.build/schema.json", + "ui": "tui", + "tasks": { + "build": { + "dependsOn": ["^build", "typecheck"], + "outputs": ["dist/**"] + }, + "typecheck": { + "dependsOn": ["^typecheck", "prisma:generate"], + "cache": true + }, + "prisma:generate": { + "inputs": ["prisma/*.prisma"], + "outputs": ["node_modules/.prisma/client/**", "prisma/generated/**"], + "cache": true + }, + "lint": { + "cache": true + }, + "test": { + "cache": true + }, + "dev": { + "cache": false, + "persistent": true + } + } +}