chore: add dev:hive script using turbo (#7053)

This commit is contained in:
Iha Shin (신의하) 2025-09-26 20:21:17 +09:00 committed by GitHub
parent e64c4e0f73
commit 81e85654c5
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
15 changed files with 183 additions and 46 deletions

View file

@ -23,12 +23,14 @@
"build:services": "pnpm prebuild && pnpm turbo build --filter=./packages/services/**/* --filter=./packages/migrations --color",
"build:web": "pnpm prebuild && pnpm turbo build --filter=./packages/web/* --color",
"cargo:fix": "bash ./scripts/fix-symbolic-link.sh",
"dev:hive": "turbo dev:hive --ui tui --concurrency 100",
"dev:integration": "cd integration-tests && pnpm dev:integration",
"docker:build": "docker buildx bake -f docker/docker.hcl --load build",
"docker:override-up": "docker compose -f ./docker/docker-compose.override.yml up -d --remove-orphans",
"env:sync": "tsx scripts/sync-env-files.ts",
"generate": "pnpm --filter @hive/storage db:generate && pnpm graphql:generate",
"graphql:generate": "graphql-codegen --config codegen.mts",
"graphql:generate:watch": "pnpm graphql:generate --watch",
"integration:prepare": "cd integration-tests && ./local.sh",
"lint": "eslint --cache --ignore-path .gitignore \"{packages,cypress}/**/*.{ts,tsx,graphql}\"",
"lint:env-template": "tsx scripts/check-env-template.ts",
@ -96,7 +98,7 @@
"ts-node": "10.9.2",
"tsup": "8.4.0",
"tsx": "4.19.2",
"turbo": "2.3.3",
"turbo": "2.5.8",
"typescript": "5.7.3",
"vite-tsconfig-paths": "5.1.4",
"vitest": "3.2.4"

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"example": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -6,6 +6,10 @@
"dependsOn": ["^build"],
"outputs": ["dist/**"],
"inputs": ["../../web/app/src/gql/persisted-documents.json"]
},
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -0,0 +1,10 @@
{
"$schema": "https://turborepo.org/schema.json",
"extends": ["//"],
"tasks": {
"dev": {
"persistent": true,
"cache": false
}
}
}

View file

@ -210,14 +210,14 @@ importers:
specifier: 4.19.2
version: 4.19.2
turbo:
specifier: 2.3.3
version: 2.3.3
specifier: 2.5.8
version: 2.5.8
typescript:
specifier: 5.7.3
version: 5.7.3
vite-tsconfig-paths:
specifier: 5.1.4
version: 5.1.4(typescript@5.7.3)(vite@7.1.5(@types/node@22.10.5)(jiti@2.3.3)(less@4.2.0)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.5.0))
version: 5.1.4(typescript@5.7.3)(vite@6.3.5(@types/node@22.10.5)(jiti@2.3.3)(less@4.2.0)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.5.0))
vitest:
specifier: 3.2.4
version: 3.2.4(@types/node@22.10.5)(jiti@2.3.3)(less@4.2.0)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.5.0)
@ -1415,7 +1415,7 @@ importers:
devDependencies:
'@graphql-inspector/core':
specifier: 5.1.0-alpha-20231208113249-34700c8a
version: 5.1.0-alpha-20231208113249-34700c8a(graphql@17.0.0-alpha.7)
version: 5.1.0-alpha-20231208113249-34700c8a(graphql@16.9.0)
'@hive/service-common':
specifier: workspace:*
version: link:../service-common
@ -3624,7 +3624,6 @@ packages:
'@fastify/vite@6.0.7':
resolution: {integrity: sha512-+dRo9KUkvmbqdmBskG02SwigWl06Mwkw8SBDK1zTNH6vd4DyXbRvI7RmJEmBkLouSU81KTzy1+OzwHSffqSD6w==}
bundledDependencies: []
'@floating-ui/core@1.2.6':
resolution: {integrity: sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==}
@ -4225,6 +4224,7 @@ packages:
'@graphql-tools/prisma-loader@8.0.17':
resolution: {integrity: sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==}
engines: {node: '>=16.0.0'}
deprecated: 'This package was intended to be used with an older versions of Prisma.\nThe newer versions of Prisma has a different approach to GraphQL integration.\nTherefore, this package is no longer needed and has been deprecated and removed.\nLearn more: https://www.prisma.io/graphql'
peerDependencies:
graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0
@ -11505,10 +11505,6 @@ packages:
resolution: {integrity: sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
graphql@17.0.0-alpha.7:
resolution: {integrity: sha512-kdteHez9s0lfNAGntSwnDBpxSl09sBWEFxFRPS/Z8K1nCD4FZ2wVGwXuj5dvrTKcqOA+O8ujAJ3CiY/jXhs14g==}
engines: {node: ^16.19.0 || ^18.14.0 || >=19.7.0}
gray-matter@4.0.3:
resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==}
engines: {node: '>=6.0'}
@ -16038,38 +16034,38 @@ packages:
resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==}
engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'}
turbo-darwin-64@2.3.3:
resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==}
turbo-darwin-64@2.5.8:
resolution: {integrity: sha512-Dh5bCACiHO8rUXZLpKw+m3FiHtAp2CkanSyJre+SInEvEr5kIxjGvCK/8MFX8SFRjQuhjtvpIvYYZJB4AGCxNQ==}
cpu: [x64]
os: [darwin]
turbo-darwin-arm64@2.3.3:
resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==}
turbo-darwin-arm64@2.5.8:
resolution: {integrity: sha512-f1H/tQC9px7+hmXn6Kx/w8Jd/FneIUnvLlcI/7RGHunxfOkKJKvsoiNzySkoHQ8uq1pJnhJ0xNGTlYM48ZaJOQ==}
cpu: [arm64]
os: [darwin]
turbo-linux-64@2.3.3:
resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==}
turbo-linux-64@2.5.8:
resolution: {integrity: sha512-hMyvc7w7yadBlZBGl/bnR6O+dJTx3XkTeyTTH4zEjERO6ChEs0SrN8jTFj1lueNXKIHh1SnALmy6VctKMGnWfw==}
cpu: [x64]
os: [linux]
turbo-linux-arm64@2.3.3:
resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==}
turbo-linux-arm64@2.5.8:
resolution: {integrity: sha512-LQELGa7bAqV2f+3rTMRPnj5G/OHAe2U+0N9BwsZvfMvHSUbsQ3bBMWdSQaYNicok7wOZcHjz2TkESn1hYK6xIQ==}
cpu: [arm64]
os: [linux]
turbo-windows-64@2.3.3:
resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==}
turbo-windows-64@2.5.8:
resolution: {integrity: sha512-3YdcaW34TrN1AWwqgYL9gUqmZsMT4T7g8Y5Azz+uwwEJW+4sgcJkIi9pYFyU4ZBSjBvkfuPZkGgfStir5BBDJQ==}
cpu: [x64]
os: [win32]
turbo-windows-arm64@2.3.3:
resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==}
turbo-windows-arm64@2.5.8:
resolution: {integrity: sha512-eFC5XzLmgXJfnAK3UMTmVECCwuBcORrWdewoiXBnUm934DY6QN8YowC/srhNnROMpaKaqNeRpoB5FxCww3eteQ==}
cpu: [arm64]
os: [win32]
turbo@2.3.3:
resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==}
turbo@2.5.8:
resolution: {integrity: sha512-5c9Fdsr9qfpT3hA0EyYSFRZj1dVVsb6KIWubA9JBYZ/9ZEAijgUEae0BBR/Xl/wekt4w65/lYLTFaP3JmwSO8w==}
hasBin: true
tweetnacl@0.14.5:
@ -19698,13 +19694,6 @@ snapshots:
object-inspect: 1.12.3
tslib: 2.6.2
'@graphql-inspector/core@5.1.0-alpha-20231208113249-34700c8a(graphql@17.0.0-alpha.7)':
dependencies:
dependency-graph: 0.11.0
graphql: 17.0.0-alpha.7
object-inspect: 1.12.3
tslib: 2.6.2
'@graphql-inspector/coverage-command@5.0.3(@graphql-inspector/config@4.0.2(graphql@16.9.0))(@graphql-inspector/loaders@4.0.3(@babel/core@7.22.9)(@graphql-inspector/config@4.0.2(graphql@16.9.0))(graphql@16.9.0))(graphql@16.9.0)(yargs@17.7.2)':
dependencies:
'@graphql-inspector/commands': 4.0.3(@graphql-inspector/config@4.0.2(graphql@16.9.0))(@graphql-inspector/loaders@4.0.3(@babel/core@7.22.9)(@graphql-inspector/config@4.0.2(graphql@16.9.0))(graphql@16.9.0))(graphql@16.9.0)(yargs@17.7.2)
@ -29655,8 +29644,6 @@ snapshots:
graphql@16.9.0: {}
graphql@17.0.0-alpha.7: {}
gray-matter@4.0.3:
dependencies:
js-yaml: 3.14.1
@ -35120,32 +35107,32 @@ snapshots:
tunnel@0.0.6: {}
turbo-darwin-64@2.3.3:
turbo-darwin-64@2.5.8:
optional: true
turbo-darwin-arm64@2.3.3:
turbo-darwin-arm64@2.5.8:
optional: true
turbo-linux-64@2.3.3:
turbo-linux-64@2.5.8:
optional: true
turbo-linux-arm64@2.3.3:
turbo-linux-arm64@2.5.8:
optional: true
turbo-windows-64@2.3.3:
turbo-windows-64@2.5.8:
optional: true
turbo-windows-arm64@2.3.3:
turbo-windows-arm64@2.5.8:
optional: true
turbo@2.3.3:
turbo@2.5.8:
optionalDependencies:
turbo-darwin-64: 2.3.3
turbo-darwin-arm64: 2.3.3
turbo-linux-64: 2.3.3
turbo-linux-arm64: 2.3.3
turbo-windows-64: 2.3.3
turbo-windows-arm64: 2.3.3
turbo-darwin-64: 2.5.8
turbo-darwin-arm64: 2.5.8
turbo-linux-64: 2.5.8
turbo-linux-arm64: 2.5.8
turbo-windows-64: 2.5.8
turbo-windows-arm64: 2.5.8
tweetnacl@0.14.5: {}
@ -35620,6 +35607,17 @@ snapshots:
- tsx
- yaml
vite-tsconfig-paths@5.1.4(typescript@5.7.3)(vite@6.3.5(@types/node@22.10.5)(jiti@2.3.3)(less@4.2.0)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.5.0)):
dependencies:
debug: 4.3.7(supports-color@8.1.1)
globrex: 0.1.2
tsconfck: 3.0.3(typescript@5.7.3)
optionalDependencies:
vite: 6.3.5(@types/node@22.10.5)(jiti@2.3.3)(less@4.2.0)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.5.0)
transitivePeerDependencies:
- supports-color
- typescript
vite-tsconfig-paths@5.1.4(typescript@5.7.3)(vite@7.1.5(@types/node@22.10.5)(jiti@2.3.3)(less@4.2.0)(lightningcss@1.28.2)(terser@5.37.0)(tsx@4.19.2)(yaml@2.5.0)):
dependencies:
debug: 4.3.7(supports-color@8.1.1)

View file

@ -17,6 +17,29 @@
},
"check:build": {
"outputs": [""]
},
"dev:hive": {
"with": [
"//#graphql:generate:watch",
"@hive/server#dev",
"@hive/app#dev",
"@hive/schema#dev",
"@hive/policy#dev",
"@hive/commerce#dev",
"@hive/cdn-script#dev",
"@hive/emails#dev",
"@hive/usage#dev",
"@hive/usage-ingestor#dev",
"@graphql-hive/external-composition#example",
"@hive/external-composition-federation-2#dev"
],
"outputs": [""],
"persistent": true,
"cache": false
},
"//#graphql:generate:watch": {
"persistent": true,
"cache": false
}
}
}