diff --git a/package.json b/package.json index de1c986c0..272dec710 100644 --- a/package.json +++ b/package.json @@ -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" diff --git a/packages/libraries/external-composition/turbo.json b/packages/libraries/external-composition/turbo.json new file mode 100644 index 000000000..c034b7c2c --- /dev/null +++ b/packages/libraries/external-composition/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "example": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/cdn-worker/turbo.json b/packages/services/cdn-worker/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/cdn-worker/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/commerce/turbo.json b/packages/services/commerce/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/commerce/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/emails/turbo.json b/packages/services/emails/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/emails/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/external-composition/federation-2/turbo.json b/packages/services/external-composition/federation-2/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/external-composition/federation-2/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/policy/turbo.json b/packages/services/policy/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/policy/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/schema/turbo.json b/packages/services/schema/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/schema/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/server/turbo.json b/packages/services/server/turbo.json index 64757029a..737bf8420 100644 --- a/packages/services/server/turbo.json +++ b/packages/services/server/turbo.json @@ -6,6 +6,10 @@ "dependsOn": ["^build"], "outputs": ["dist/**"], "inputs": ["../../web/app/src/gql/persisted-documents.json"] + }, + "dev": { + "persistent": true, + "cache": false } } } diff --git a/packages/services/tokens/turbo.json b/packages/services/tokens/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/tokens/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/usage-ingestor/turbo.json b/packages/services/usage-ingestor/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/usage-ingestor/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/services/usage/turbo.json b/packages/services/usage/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/services/usage/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/packages/web/app/turbo.json b/packages/web/app/turbo.json new file mode 100644 index 000000000..ef90337ae --- /dev/null +++ b/packages/web/app/turbo.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "extends": ["//"], + "tasks": { + "dev": { + "persistent": true, + "cache": false + } + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8aa0a614..9e2529ce5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -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) diff --git a/turbo.json b/turbo.json index 106ebe71e..5a3b928ef 100644 --- a/turbo.json +++ b/turbo.json @@ -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 } } }