diff --git a/.claude/hooks/docs/task-dependencies.json b/.claude/hooks/docs/task-dependencies.json index 9376722db7f..735cb5ac92a 100644 --- a/.claude/hooks/docs/task-dependencies.json +++ b/.claude/hooks/docs/task-dependencies.json @@ -14,8 +14,6 @@ "lint:tsc": [ "@local/eslint#build" ], - "test:unit": [ - "@local/eslint#build" - ] + "test:unit": [] } } diff --git a/apps/hash-ai-worker-ts/turbo.json b/apps/hash-ai-worker-ts/turbo.json index 5e4a1571375..c731362f8a4 100644 --- a/apps/hash-ai-worker-ts/turbo.json +++ b/apps/hash-ai-worker-ts/turbo.json @@ -2,7 +2,23 @@ "extends": ["//"], "tasks": { "build": { - "outputs": ["./dist/**"] + "outputs": ["./dist/**"], + "dependsOn": ["^build"] + }, + "build:docker": { + "dependsOn": ["^manifest"] + }, + "dev": { + "dependsOn": ["^build"] + }, + "test:unit": { + "dependsOn": ["^build"] + }, + "start": { + "dependsOn": ["build", "@apps/hash-graph#start:healthcheck"] + }, + "start:test": { + "dependsOn": ["build", "@apps/hash-graph#start:test:healthcheck"] } } } diff --git a/apps/hash-api/docs/task-dependencies.json b/apps/hash-api/docs/task-dependencies.json index bf340ca58ec..b1af3aebbc5 100644 --- a/apps/hash-api/docs/task-dependencies.json +++ b/apps/hash-api/docs/task-dependencies.json @@ -22,39 +22,80 @@ "tasks": { "build:docker": [], "codegen": [ + "@hashintel/petrinaut-core#build", + "@local/hash-isomorphic-utils#build", + "@local/petrinaut-optimizer-client#build" + ], + "dev": [ "@blockprotocol/graph#build", "@blockprotocol/type-system#build", - "@blockprotocol/type-system#codegen", "@hashintel/petrinaut-core#build", "@local/advanced-types#build", "@local/eslint#build", "@local/harpc-client#build", + "@local/hash-backend-utils#build", "@local/hash-graph-authorization#build", - "@local/hash-graph-authorization#codegen", "@local/hash-graph-client#build", - "@local/hash-graph-client#codegen", "@local/hash-graph-sdk#build", "@local/hash-graph-store#build", - "@local/hash-graph-store#codegen", "@local/hash-isomorphic-utils#build", - "@local/hash-isomorphic-utils#codegen", "@local/internal-api-client#build", "@local/petrinaut-optimizer-client#build", - "@local/petrinaut-optimizer-client#codegen", - "@local/status#build" - ], - "dev": [ + "@local/status#build", "codegen" ], "fix:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "lint:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "lint:tsc": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "start": [ @@ -63,6 +104,21 @@ "start:healthcheck": [], "start:migrate": [ "@apps/hash-graph#start:healthcheck", + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "start:test": [ @@ -71,6 +127,21 @@ "start:test:healthcheck": [], "start:test:migrate": [ "@apps/hash-graph#start:test:healthcheck", + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "test:unit": [ diff --git a/apps/hash-api/turbo.json b/apps/hash-api/turbo.json index 073151c2672..ef4f8514d4d 100644 --- a/apps/hash-api/turbo.json +++ b/apps/hash-api/turbo.json @@ -4,13 +4,45 @@ "codegen": { // Outputs of GraphQL generation "outputs": ["./src/**/*.gen.*"], - // The optimizer handler imports runtime modules whose workspace exports - // resolve from dist. + // graphql-codegen loads its config from the isomorphic utils' dist, and the optimizer + // handler imports runtime modules whose workspace exports resolve from dist. "dependsOn": [ - "^codegen", + "@local/hash-isomorphic-utils#build", "@hashintel/petrinaut-core#build", "@local/petrinaut-optimizer-client#build" ] + }, + // The service starts from its sources, so this runs nothing of its own and gathers the + // generated code and the dependencies' builds a checkout needs to run it. + "build": { + "dependsOn": ["codegen", "^build"] + }, + // The image copies the repository and generates and builds inside it, so the host + // only contributes sources. + "build:docker": { + "dependsOn": ["^manifest"] + }, + "dev": { + "dependsOn": ["codegen", "^build"] + }, + "test:unit": { + "dependsOn": ["codegen", "^build"] + }, + "start:migrate": { + "dependsOn": ["codegen", "^build", "@apps/hash-graph#start:healthcheck"] + }, + "start": { + "dependsOn": ["start:migrate"] + }, + "start:test:migrate": { + "dependsOn": [ + "codegen", + "^build", + "@apps/hash-graph#start:test:healthcheck" + ] + }, + "start:test": { + "dependsOn": ["start:test:migrate"] } } } diff --git a/apps/hash-frontend/docs/task-dependencies.json b/apps/hash-frontend/docs/task-dependencies.json index 64740708fb1..42f1fe4f6c3 100644 --- a/apps/hash-frontend/docs/task-dependencies.json +++ b/apps/hash-frontend/docs/task-dependencies.json @@ -38,6 +38,11 @@ ], "build:docker": [], "codegen": [ + "@hashintel/ds-components#build", + "@hashintel/petrinaut#build", + "@local/hash-isomorphic-utils#build" + ], + "dev": [ "@blockprotocol/graph#build", "@blockprotocol/type-system#build", "@hashintel/ds-components#build", @@ -49,27 +54,61 @@ "@local/hash-graph-sdk#build", "@local/hash-graph-store#build", "@local/hash-isomorphic-utils#build", - "@local/status#build" - ], - "dev": [ + "@local/status#build", "codegen" ], "fix:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/ds-components#build", + "@hashintel/petrinaut#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "lint:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/ds-components#build", + "@hashintel/petrinaut#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "lint:tsc": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/ds-components#build", + "@hashintel/petrinaut#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "start": [ + "@apps/hash-api#start:healthcheck", "build" ], "start:healthcheck": [], "start:test": [ + "@apps/hash-api#start:test:healthcheck", "build" ], "start:test:healthcheck": [], diff --git a/apps/hash-frontend/turbo.json b/apps/hash-frontend/turbo.json index a23bf08d72d..568472c1231 100644 --- a/apps/hash-frontend/turbo.json +++ b/apps/hash-frontend/turbo.json @@ -2,14 +2,37 @@ "extends": ["//"], "tasks": { "codegen": { - // Outputs of GraphQL generation + // Outputs of GraphQL generation and of `panda cssgen` "outputs": ["./src/**/*.gen.*"], - "dependsOn": ["^build"] + // graphql-codegen loads its config from the isomorphic utils' dist, and the Panda + // config loads both presets from their packages' dist. + "dependsOn": [ + "@local/hash-isomorphic-utils#build", + "@hashintel/ds-components#build", + "@hashintel/petrinaut#build" + ] }, "build": { // "outputs": ["./.next/**"], "cache": false, "dependsOn": ["^build", "codegen"] + }, + // The image copies the repository and generates and builds inside it, so the host + // only contributes sources. + "build:docker": { + "dependsOn": ["^manifest"] + }, + "dev": { + "dependsOn": ["codegen", "^build"] + }, + "test:unit": { + "dependsOn": ["codegen", "^build"] + }, + "start": { + "dependsOn": ["build", "@apps/hash-api#start:healthcheck"] + }, + "start:test": { + "dependsOn": ["build", "@apps/hash-api#start:test:healthcheck"] } } } diff --git a/apps/hash-graph/docs/task-dependencies.json b/apps/hash-graph/docs/task-dependencies.json index 3976af8e952..b6bb100349f 100644 --- a/apps/hash-graph/docs/task-dependencies.json +++ b/apps/hash-graph/docs/task-dependencies.json @@ -42,8 +42,6 @@ "start:test:migrate": [ "compile" ], - "test:unit": [ - "@local/status#build" - ] + "test:unit": [] } } diff --git a/apps/hash-graph/turbo.json b/apps/hash-graph/turbo.json index b4a4df5c258..529ef33dee5 100644 --- a/apps/hash-graph/turbo.json +++ b/apps/hash-graph/turbo.json @@ -5,9 +5,21 @@ "cache": false, "dependsOn": ["compile:release"] }, + "start:healthcheck": { + "dependsOn": ["compile:release"] + }, + "start": { + "dependsOn": ["start:migrate"] + }, "start:test:migrate": { "cache": false, "dependsOn": ["compile"] + }, + "start:test:healthcheck": { + "dependsOn": ["compile"] + }, + "start:test": { + "dependsOn": ["start:test:migrate"] } } } diff --git a/apps/hash-integration-worker/docs/task-dependencies.json b/apps/hash-integration-worker/docs/task-dependencies.json index 408632cdb28..11478ddcf2c 100644 --- a/apps/hash-integration-worker/docs/task-dependencies.json +++ b/apps/hash-integration-worker/docs/task-dependencies.json @@ -67,10 +67,12 @@ "build" ], "start": [ + "@apps/hash-graph#start:healthcheck", "build" ], "start:healthcheck": [], "start:test": [ + "@apps/hash-graph#start:test:healthcheck", "build" ], "start:test:healthcheck": [] diff --git a/apps/hash-integration-worker/turbo.json b/apps/hash-integration-worker/turbo.json index 5e4a1571375..66ef7fbbd45 100644 --- a/apps/hash-integration-worker/turbo.json +++ b/apps/hash-integration-worker/turbo.json @@ -2,7 +2,20 @@ "extends": ["//"], "tasks": { "build": { - "outputs": ["./dist/**"] + "outputs": ["./dist/**"], + "dependsOn": ["^build"] + }, + "build:docker": { + "dependsOn": ["^manifest"] + }, + "dev": { + "dependsOn": ["^build"] + }, + "start": { + "dependsOn": ["build", "@apps/hash-graph#start:healthcheck"] + }, + "start:test": { + "dependsOn": ["build", "@apps/hash-graph#start:test:healthcheck"] } } } diff --git a/apps/petrinaut-opt/docs/task-dependencies.json b/apps/petrinaut-opt/docs/task-dependencies.json index 70cbbae64e0..7c52b8b3c52 100644 --- a/apps/petrinaut-opt/docs/task-dependencies.json +++ b/apps/petrinaut-opt/docs/task-dependencies.json @@ -8,12 +8,13 @@ "@local/petrinaut-python#codegen" ], "lint:ruff": [], - "lint:types": [], + "lint:types": [ + "@local/petrinaut-python#codegen" + ], "start": [ - "codegen" + "@local/petrinaut-python#codegen" ], "test:unit": [ - "@local/petrinaut-python#codegen", "codegen" ] } diff --git a/apps/petrinaut-opt/turbo.json b/apps/petrinaut-opt/turbo.json index 0af8561529c..4b7d307ac7c 100644 --- a/apps/petrinaut-opt/turbo.json +++ b/apps/petrinaut-opt/turbo.json @@ -2,6 +2,9 @@ "extends": ["//"], "tasks": { "codegen": { + // The schema is generated from the app, which imports the models that + // `petrinaut-python` generates. + "dependsOn": ["@local/petrinaut-python#codegen"], "inputs": [ "pyproject.toml", "uv.lock", @@ -11,6 +14,17 @@ ], "outputs": ["openapi/openapi.json"], "passThroughEnv": ["UV_CACHE_DIR"] + }, + "start": { + "dependsOn": ["@local/petrinaut-python#codegen"] + }, + // Type checking resolves the generated models of `petrinaut-python`, not the + // schema this package generates from itself. + "lint:types": { + "dependsOn": ["@local/petrinaut-python#codegen"] + }, + "test:unit": { + "dependsOn": ["codegen", "^manifest"] } } } diff --git a/apps/petrinaut-website/docs/task-dependencies.json b/apps/petrinaut-website/docs/task-dependencies.json index 47d4ceac6f5..381e6f6f613 100644 --- a/apps/petrinaut-website/docs/task-dependencies.json +++ b/apps/petrinaut-website/docs/task-dependencies.json @@ -20,16 +20,16 @@ "codegen", "examples:generate" ], - "codegen": [ + "codegen": [], + "dev": [ "@hashintel/brunch-agent#build", "@hashintel/brunch-agent-transport-aisdk#build", "@hashintel/ds-components#build", "@hashintel/petrinaut#build", "@hashintel/petrinaut-core#build", - "@local/petrinaut-optimizer-client#build" - ], - "dev": [ - "codegen" + "@local/petrinaut-optimizer-client#build", + "codegen", + "examples:generate" ], "examples:generate": [ "@hashintel/brunch-agent#build", @@ -40,11 +40,23 @@ "@local/petrinaut-optimizer-client#build" ], "fix:eslint": [ + "@hashintel/brunch-agent#build", + "@hashintel/brunch-agent-transport-aisdk#build", + "@hashintel/ds-components#build", + "@hashintel/petrinaut#build", + "@hashintel/petrinaut-core#build", "@local/eslint#build", + "@local/petrinaut-optimizer-client#build", "codegen" ], "lint:eslint": [ + "@hashintel/brunch-agent#build", + "@hashintel/brunch-agent-transport-aisdk#build", + "@hashintel/ds-components#build", + "@hashintel/petrinaut#build", + "@hashintel/petrinaut-core#build", "@local/eslint#build", + "@local/petrinaut-optimizer-client#build", "codegen" ], "lint:tsc": [ diff --git a/apps/petrinaut-website/turbo.json b/apps/petrinaut-website/turbo.json index 0091e04c9ad..baf56b8ce72 100644 --- a/apps/petrinaut-website/turbo.json +++ b/apps/petrinaut-website/turbo.json @@ -14,6 +14,9 @@ "codegen": { "outputs": ["src/routeTree.gen.ts"] }, + "dev": { + "dependsOn": ["codegen", "examples:generate", "^build"] + }, "examples:generate": { "dependsOn": ["^build"], "inputs": [ diff --git a/apps/plugin-browser/docs/task-dependencies.json b/apps/plugin-browser/docs/task-dependencies.json index bb7aab6a664..63d0571d6e2 100644 --- a/apps/plugin-browser/docs/task-dependencies.json +++ b/apps/plugin-browser/docs/task-dependencies.json @@ -14,15 +14,42 @@ ], "tasks": { "build": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "build:firefox": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "build:test": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "codegen": [ + "@local/hash-isomorphic-utils#build" + ], + "dev": [ "@blockprotocol/graph#build", "@blockprotocol/type-system#build", "@local/advanced-types#build", @@ -30,20 +57,40 @@ "@local/hash-graph-client#build", "@local/hash-graph-sdk#build", "@local/hash-isomorphic-utils#build", - "@local/status#build" - ], - "dev": [ + "@local/status#build", "codegen" ], "fix:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "lint:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ], "lint:tsc": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", + "@local/status#build", "codegen" ] } diff --git a/apps/plugin-browser/turbo.json b/apps/plugin-browser/turbo.json index 9361b8ba02c..bfe17635238 100644 --- a/apps/plugin-browser/turbo.json +++ b/apps/plugin-browser/turbo.json @@ -3,23 +3,22 @@ "tasks": { "codegen": { "outputs": ["./src/**/*.gen.*"], - "dependsOn": ["^build"] + "dependsOn": ["@local/hash-isomorphic-utils#build"] }, "build": { "outputs": ["./build/**/*", "./zip/*"], - "dependsOn": ["codegen"] + "dependsOn": ["codegen", "^build"] }, "build:firefox": { "outputs": ["./build/**/*", "./zip/*"], - "dependsOn": ["codegen"] + "dependsOn": ["codegen", "^build"] }, "build:test": { "outputs": ["./build/**/*", "./zip/*"], - "dependsOn": ["codegen"] + "dependsOn": ["codegen", "^build"] }, - "start:test:migrate": { - "cache": false, - "dependsOn": ["build:test", "^start:test:healthcheck"] + "dev": { + "dependsOn": ["codegen", "^build"] } } } diff --git a/libs/@blockprotocol/graph/turbo.json b/libs/@blockprotocol/graph/turbo.json index 5e4a1571375..f9534780c69 100644 --- a/libs/@blockprotocol/graph/turbo.json +++ b/libs/@blockprotocol/graph/turbo.json @@ -2,6 +2,7 @@ "extends": ["//"], "tasks": { "build": { + "dependsOn": ["^build"], "outputs": ["./dist/**"] } } diff --git a/libs/@blockprotocol/type-system/typescript/docs/task-dependencies.json b/libs/@blockprotocol/type-system/typescript/docs/task-dependencies.json index 01b13dd4278..eec0873148f 100644 --- a/libs/@blockprotocol/type-system/typescript/docs/task-dependencies.json +++ b/libs/@blockprotocol/type-system/typescript/docs/task-dependencies.json @@ -7,27 +7,29 @@ ], "tasks": { "build": [ + "@local/hash-codec#build", "codegen" ], "codegen": [ "@blockprotocol/type-system-rs#build:types", - "@blockprotocol/type-system-rs#build:wasm", - "@local/eslint#build", - "@local/hash-codec#build" + "@blockprotocol/type-system-rs#build:wasm" ], "fix:eslint": [ "@local/eslint#build", + "@local/hash-codec#build", "codegen" ], "lint:eslint": [ "@local/eslint#build", + "@local/hash-codec#build", "codegen" ], "lint:tsc": [ + "@local/eslint#build", + "@local/hash-codec#build", "codegen" ], "test:unit": [ - "@local/eslint#build", "@local/hash-codec#build", "codegen" ] diff --git a/libs/@blockprotocol/type-system/typescript/turbo.json b/libs/@blockprotocol/type-system/typescript/turbo.json index 2683ab6248c..536b70d07b1 100644 --- a/libs/@blockprotocol/type-system/typescript/turbo.json +++ b/libs/@blockprotocol/type-system/typescript/turbo.json @@ -3,7 +3,6 @@ "tasks": { "codegen": { "dependsOn": [ - "^build", "@blockprotocol/type-system-rs#build:types", "@blockprotocol/type-system-rs#build:wasm" ], @@ -21,7 +20,11 @@ "outputs": ["src/generated/**"] }, "build": { + "dependsOn": ["codegen", "@local/hash-codec#build", "^manifest"], "outputs": ["dist/**"] + }, + "test:unit": { + "dependsOn": ["codegen", "@local/hash-codec#build", "^manifest"] } } } diff --git a/libs/@hashintel/brunch-agent/packages/binding-flue/turbo.json b/libs/@hashintel/brunch-agent/packages/binding-flue/turbo.json index 52a7d7aba61..78ec6ee1fad 100644 --- a/libs/@hashintel/brunch-agent/packages/binding-flue/turbo.json +++ b/libs/@hashintel/brunch-agent/packages/binding-flue/turbo.json @@ -4,6 +4,9 @@ "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] + }, + "test:unit": { + "dependsOn": ["^build"] } } } diff --git a/libs/@hashintel/brunch-agent/packages/core/turbo.json b/libs/@hashintel/brunch-agent/packages/core/turbo.json index 728c36c59d5..2bde83ff3e6 100644 --- a/libs/@hashintel/brunch-agent/packages/core/turbo.json +++ b/libs/@hashintel/brunch-agent/packages/core/turbo.json @@ -9,7 +9,6 @@ "cache": false }, "test:unit": { - "dependsOn": ["codegen", "^build"], "inputs": [ "$TURBO_DEFAULT$", "$TURBO_ROOT$/libs/@hashintel/brunch-agent/**", diff --git a/libs/@hashintel/brunch-agent/packages/plugin-dafny/turbo.json b/libs/@hashintel/brunch-agent/packages/plugin-dafny/turbo.json index 52a7d7aba61..78ec6ee1fad 100644 --- a/libs/@hashintel/brunch-agent/packages/plugin-dafny/turbo.json +++ b/libs/@hashintel/brunch-agent/packages/plugin-dafny/turbo.json @@ -4,6 +4,9 @@ "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] + }, + "test:unit": { + "dependsOn": ["^build"] } } } diff --git a/libs/@hashintel/brunch-agent/packages/plugin-gherkin/turbo.json b/libs/@hashintel/brunch-agent/packages/plugin-gherkin/turbo.json index 52a7d7aba61..78ec6ee1fad 100644 --- a/libs/@hashintel/brunch-agent/packages/plugin-gherkin/turbo.json +++ b/libs/@hashintel/brunch-agent/packages/plugin-gherkin/turbo.json @@ -4,6 +4,9 @@ "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] + }, + "test:unit": { + "dependsOn": ["^build"] } } } diff --git a/libs/@hashintel/brunch-agent/packages/plugin-sdcpn/turbo.json b/libs/@hashintel/brunch-agent/packages/plugin-sdcpn/turbo.json index 52a7d7aba61..78ec6ee1fad 100644 --- a/libs/@hashintel/brunch-agent/packages/plugin-sdcpn/turbo.json +++ b/libs/@hashintel/brunch-agent/packages/plugin-sdcpn/turbo.json @@ -4,6 +4,9 @@ "build": { "dependsOn": ["^build"], "outputs": ["dist/**"] + }, + "test:unit": { + "dependsOn": ["^build"] } } } diff --git a/libs/@hashintel/ds-components/docs/task-dependencies.json b/libs/@hashintel/ds-components/docs/task-dependencies.json index 34e0a888cf9..d0466faa67d 100644 --- a/libs/@hashintel/ds-components/docs/task-dependencies.json +++ b/libs/@hashintel/ds-components/docs/task-dependencies.json @@ -7,24 +7,27 @@ ], "tasks": { "build": [ + "@local/eslint#build", "codegen" ], "build:buildinfo": [ "codegen" ], "build:ladle": [ + "@local/eslint#build", "codegen" ], "build:lib": [ + "@local/eslint#build", "codegen" ], - "codegen": [ - "@local/eslint#build" - ], + "codegen": [], "dev": [ + "@local/eslint#build", "codegen" ], "dev:ladle": [ + "@local/eslint#build", "codegen" ], "fix": [ @@ -42,6 +45,7 @@ "codegen" ], "lint:tsc": [ + "@local/eslint#build", "codegen" ], "preview:ladle": [ diff --git a/libs/@hashintel/ds-components/turbo.json b/libs/@hashintel/ds-components/turbo.json index 13983a080f1..2c384550539 100644 --- a/libs/@hashintel/ds-components/turbo.json +++ b/libs/@hashintel/ds-components/turbo.json @@ -3,6 +3,7 @@ "extends": ["//"], "tasks": { "build": { + "dependsOn": ["codegen", "^build"], "outputs": ["dist/**"] }, "build:buildinfo": { @@ -10,35 +11,30 @@ "outputs": ["dist/panda.buildinfo.json"] }, "build:ladle": { - "dependsOn": ["codegen"], + "dependsOn": ["codegen", "^build"], "outputs": [".build/ladle/**"] }, "build:lib": { - "dependsOn": ["codegen"], + "dependsOn": ["codegen", "^build"], "outputs": ["dist/**"] }, "codegen": { - "dependsOn": ["^build"], "outputs": ["src/preset/**/*.gen.ts", "../ds-helpers/styled-system/**"] }, "dev": { "cache": false, - "dependsOn": ["codegen"], + "dependsOn": ["codegen", "^build"], "persistent": true }, "dev:ladle": { "cache": false, - "dependsOn": ["codegen"], + "dependsOn": ["codegen", "^build"], "persistent": true }, - "lint:eslint": { - "dependsOn": ["codegen", "@local/eslint#build"], - "env": ["CHECK_TEMPORARILY_DISABLED_RULES"] - }, - "lint:tsc": { + "fix": { "dependsOn": ["codegen"] }, - "fix": { + "lint": { "dependsOn": ["codegen"] }, "preview:ladle": { diff --git a/libs/@hashintel/petrinaut-cli/docs/task-dependencies.json b/libs/@hashintel/petrinaut-cli/docs/task-dependencies.json index ad39b4c0e9d..9f1e00cd21a 100644 --- a/libs/@hashintel/petrinaut-cli/docs/task-dependencies.json +++ b/libs/@hashintel/petrinaut-cli/docs/task-dependencies.json @@ -11,14 +11,17 @@ "@hashintel/petrinaut-core#build" ], "fix:eslint": [ + "@hashintel/petrinaut-core#build", "@local/eslint#build", "codegen" ], "lint:eslint": [ + "@hashintel/petrinaut-core#build", "@local/eslint#build", "codegen" ], "lint:tsc": [ + "@hashintel/petrinaut-core#build", "codegen" ], "test:unit": [ diff --git a/libs/@hashintel/petrinaut/turbo.json b/libs/@hashintel/petrinaut/turbo.json index 6d9a1d1f9e5..194ab3858fa 100644 --- a/libs/@hashintel/petrinaut/turbo.json +++ b/libs/@hashintel/petrinaut/turbo.json @@ -5,6 +5,12 @@ "dependsOn": ["^build"], "outputs": ["dist/**"], "cache": false + }, + "test:unit": { + "dependsOn": ["^build"] + }, + "dev": { + "dependsOn": ["^build"] } } } diff --git a/libs/@local/advanced-types/docs/task-dependencies.json b/libs/@local/advanced-types/docs/task-dependencies.json index 192c0bbae60..941907838e3 100644 --- a/libs/@local/advanced-types/docs/task-dependencies.json +++ b/libs/@local/advanced-types/docs/task-dependencies.json @@ -5,9 +5,7 @@ "@local/tsconfig" ], "tasks": { - "build": [ - "@local/eslint#build" - ], + "build": [], "fix:eslint": [ "@local/eslint#build" ], diff --git a/libs/@local/codec/typescript/turbo.json b/libs/@local/codec/typescript/turbo.json index 19aeee4fb39..b5419d62867 100644 --- a/libs/@local/codec/typescript/turbo.json +++ b/libs/@local/codec/typescript/turbo.json @@ -2,7 +2,7 @@ "extends": ["//"], "tasks": { "codegen": { - "dependsOn": ["^build", "@rust/hash-codec#build:types"], + "dependsOn": ["@rust/hash-codec#build:types"], "inputs": [ "$TURBO_DEFAULT$", { @@ -14,6 +14,7 @@ "outputs": ["src/generated/**"] }, "build": { + "dependsOn": ["codegen", "^manifest"], "outputs": ["dist/**"] } } diff --git a/libs/@local/effect-dns/core/docs/task-dependencies.json b/libs/@local/effect-dns/core/docs/task-dependencies.json index 34863974f5a..7c123590c52 100644 --- a/libs/@local/effect-dns/core/docs/task-dependencies.json +++ b/libs/@local/effect-dns/core/docs/task-dependencies.json @@ -5,9 +5,7 @@ "@local/tsconfig" ], "tasks": { - "build": [ - "@local/eslint#build" - ], + "build": [], "fix:eslint": [ "@local/eslint#build" ], diff --git a/libs/@local/graph/api/docs/task-dependencies.json b/libs/@local/graph/api/docs/task-dependencies.json index 4358103b6b9..5227d4b01c5 100644 --- a/libs/@local/graph/api/docs/task-dependencies.json +++ b/libs/@local/graph/api/docs/task-dependencies.json @@ -37,8 +37,6 @@ ], "fix:clippy": [], "lint:clippy": [], - "test:unit": [ - "@local/status#build" - ] + "test:unit": [] } } diff --git a/libs/@local/graph/atlas/docs/task-dependencies.json b/libs/@local/graph/atlas/docs/task-dependencies.json index e579344be0d..6d4715a666b 100644 --- a/libs/@local/graph/atlas/docs/task-dependencies.json +++ b/libs/@local/graph/atlas/docs/task-dependencies.json @@ -21,15 +21,9 @@ ], "fix:clippy": [], "lint:clippy": [], - "start": [ - "@local/status#build" - ], - "test:integration": [ - "@local/status#build" - ], + "start": [], + "test:integration": [], "test:miri": [], - "test:unit": [ - "@local/status#build" - ] + "test:unit": [] } } diff --git a/libs/@local/graph/authorization/typescript/docs/task-dependencies.json b/libs/@local/graph/authorization/typescript/docs/task-dependencies.json index 722f7ba2eef..26cf8648aae 100644 --- a/libs/@local/graph/authorization/typescript/docs/task-dependencies.json +++ b/libs/@local/graph/authorization/typescript/docs/task-dependencies.json @@ -6,13 +6,14 @@ ], "tasks": { "build": [ + "@blockprotocol/type-system#build", "codegen" ], "codegen": [ - "@blockprotocol/type-system#build", "@rust/hash-graph-authorization#build:types" ], "lint:tsc": [ + "@blockprotocol/type-system#build", "codegen" ] } diff --git a/libs/@local/graph/authorization/typescript/turbo.json b/libs/@local/graph/authorization/typescript/turbo.json index 8a08f2a1fee..42e15696583 100644 --- a/libs/@local/graph/authorization/typescript/turbo.json +++ b/libs/@local/graph/authorization/typescript/turbo.json @@ -2,7 +2,7 @@ "extends": ["//"], "tasks": { "codegen": { - "dependsOn": ["^build", "@rust/hash-graph-authorization#build:types"], + "dependsOn": ["@rust/hash-graph-authorization#build:types"], "inputs": [ "$TURBO_DEFAULT$", { @@ -14,6 +14,7 @@ "outputs": ["src/generated/**"] }, "build": { + "dependsOn": ["codegen", "@blockprotocol/type-system#build", "^manifest"], "outputs": ["dist/**"] } } diff --git a/libs/@local/graph/client/typescript/turbo.json b/libs/@local/graph/client/typescript/turbo.json index ca93a5be890..207189d34e3 100644 --- a/libs/@local/graph/client/typescript/turbo.json +++ b/libs/@local/graph/client/typescript/turbo.json @@ -2,6 +2,7 @@ "extends": ["//"], "tasks": { "build": { + "dependsOn": ["codegen", "^manifest"], "outputs": ["./dist/**"] }, // The spec is read from its checked-in copy. `@rust/hash-graph-api#build:openapi` @@ -9,7 +10,7 @@ // here would only add a Graph API compile to every consumer's build. The manifest // edge keeps a change in the crate selecting this package. "codegen": { - "dependsOn": ["^build", "@rust/hash-graph-api#manifest"], + "dependsOn": ["@rust/hash-graph-api#manifest"], "inputs": [ "$TURBO_DEFAULT$", "../../api/openapi/openapi.json", diff --git a/libs/@local/graph/postgres-store/docs/task-dependencies.json b/libs/@local/graph/postgres-store/docs/task-dependencies.json index 9d81f826224..47daa826ddd 100644 --- a/libs/@local/graph/postgres-store/docs/task-dependencies.json +++ b/libs/@local/graph/postgres-store/docs/task-dependencies.json @@ -25,8 +25,6 @@ "test:integration": [ "@rust/hash-graph-migrations#start:migrate:up" ], - "test:unit": [ - "@local/status#build" - ] + "test:unit": [] } } diff --git a/libs/@local/graph/postgres-store/turbo.json b/libs/@local/graph/postgres-store/turbo.json index 34b79483731..dc22f111287 100644 --- a/libs/@local/graph/postgres-store/turbo.json +++ b/libs/@local/graph/postgres-store/turbo.json @@ -7,7 +7,7 @@ "dependsOn": ["@apps/hash-graph#start:test:migrate"] }, "test:integration": { - "dependsOn": ["@rust/hash-graph-migrations#start:migrate:up"] + "dependsOn": ["^manifest", "@rust/hash-graph-migrations#start:migrate:up"] } } } diff --git a/libs/@local/graph/sdk/typescript/turbo.json b/libs/@local/graph/sdk/typescript/turbo.json index 35be9c68fa8..78ec6ee1fad 100644 --- a/libs/@local/graph/sdk/typescript/turbo.json +++ b/libs/@local/graph/sdk/typescript/turbo.json @@ -2,7 +2,11 @@ "extends": ["//"], "tasks": { "build": { + "dependsOn": ["^build"], "outputs": ["dist/**"] + }, + "test:unit": { + "dependsOn": ["^build"] } } } diff --git a/libs/@local/graph/store/typescript/docs/task-dependencies.json b/libs/@local/graph/store/typescript/docs/task-dependencies.json index 1eec24e3cdc..5b559b1fe41 100644 --- a/libs/@local/graph/store/typescript/docs/task-dependencies.json +++ b/libs/@local/graph/store/typescript/docs/task-dependencies.json @@ -7,14 +7,16 @@ ], "tasks": { "build": [ + "@blockprotocol/type-system#build", + "@local/hash-graph-authorization#build", "codegen" ], "codegen": [ - "@blockprotocol/type-system#build", - "@local/hash-graph-authorization#build", "@rust/hash-graph-store#build:types" ], "lint:tsc": [ + "@blockprotocol/type-system#build", + "@local/hash-graph-authorization#build", "codegen" ] } diff --git a/libs/@local/graph/store/typescript/turbo.json b/libs/@local/graph/store/typescript/turbo.json index e3092a2a0c9..fe2e82024ba 100644 --- a/libs/@local/graph/store/typescript/turbo.json +++ b/libs/@local/graph/store/typescript/turbo.json @@ -2,7 +2,7 @@ "extends": ["//"], "tasks": { "codegen": { - "dependsOn": ["^build", "@rust/hash-graph-store#build:types"], + "dependsOn": ["@rust/hash-graph-store#build:types"], "inputs": [ "$TURBO_DEFAULT$", { @@ -14,6 +14,12 @@ "outputs": ["src/generated/**"] }, "build": { + "dependsOn": [ + "codegen", + "@blockprotocol/type-system#build", + "@local/hash-graph-authorization#build", + "^manifest" + ], "outputs": ["dist/**"] } } diff --git a/libs/@local/harpc/client/typescript/docs/task-dependencies.json b/libs/@local/harpc/client/typescript/docs/task-dependencies.json index 62d3a9ae0c7..7722cc4ed0d 100644 --- a/libs/@local/harpc/client/typescript/docs/task-dependencies.json +++ b/libs/@local/harpc/client/typescript/docs/task-dependencies.json @@ -5,9 +5,7 @@ "@local/tsconfig" ], "tasks": { - "build": [ - "@local/eslint#build" - ], + "build": [], "fix:eslint": [ "@local/eslint#build" ], diff --git a/libs/@local/hash-backend-utils/turbo.json b/libs/@local/hash-backend-utils/turbo.json index 35be9c68fa8..78ec6ee1fad 100644 --- a/libs/@local/hash-backend-utils/turbo.json +++ b/libs/@local/hash-backend-utils/turbo.json @@ -2,7 +2,11 @@ "extends": ["//"], "tasks": { "build": { + "dependsOn": ["^build"], "outputs": ["dist/**"] + }, + "test:unit": { + "dependsOn": ["^build"] } } } diff --git a/libs/@local/hash-isomorphic-utils/docs/task-dependencies.json b/libs/@local/hash-isomorphic-utils/docs/task-dependencies.json index 4926689f226..8c21ec178c3 100644 --- a/libs/@local/hash-isomorphic-utils/docs/task-dependencies.json +++ b/libs/@local/hash-isomorphic-utils/docs/task-dependencies.json @@ -13,9 +13,6 @@ ], "tasks": { "build": [ - "codegen" - ], - "codegen": [ "@blockprotocol/graph#build", "@blockprotocol/type-system#build", "@local/advanced-types#build", @@ -23,17 +20,41 @@ "@local/hash-graph-client#build", "@local/hash-graph-sdk#build", "@local/hash-graph-store#build", - "@local/status#build" + "@local/status#build", + "codegen" ], + "codegen": [], "fix:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/status#build", "codegen" ], "lint:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/status#build", "codegen" ], "lint:tsc": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/status#build", "codegen" ], "test:unit": [ diff --git a/libs/@local/hash-isomorphic-utils/turbo.json b/libs/@local/hash-isomorphic-utils/turbo.json index 4ac8630b504..b4dd389933a 100644 --- a/libs/@local/hash-isomorphic-utils/turbo.json +++ b/libs/@local/hash-isomorphic-utils/turbo.json @@ -2,12 +2,15 @@ "extends": ["//"], "tasks": { "build": { + "dependsOn": ["codegen", "^build"], "outputs": ["./dist/**"] }, "codegen": { // Outputs of GraphQL generation - "outputs": ["./src/**/*.gen.*"], - "dependsOn": ["^build"] + "outputs": ["./src/**/*.gen.*"] + }, + "test:unit": { + "dependsOn": ["codegen", "^build"] } } } diff --git a/libs/@local/hashql/compiletest/docs/task-dependencies.json b/libs/@local/hashql/compiletest/docs/task-dependencies.json index ed738424510..9a044d207a1 100644 --- a/libs/@local/hashql/compiletest/docs/task-dependencies.json +++ b/libs/@local/hashql/compiletest/docs/task-dependencies.json @@ -16,8 +16,6 @@ ], "fix:clippy": [], "lint:clippy": [], - "test:unit": [ - "@local/status#build" - ] + "test:unit": [] } } diff --git a/libs/@local/hashql/eval/docs/task-dependencies.json b/libs/@local/hashql/eval/docs/task-dependencies.json index 36e3bf7c6b5..3e0be151ba8 100644 --- a/libs/@local/hashql/eval/docs/task-dependencies.json +++ b/libs/@local/hashql/eval/docs/task-dependencies.json @@ -18,8 +18,6 @@ ], "fix:clippy": [], "lint:clippy": [], - "test:unit": [ - "@local/status#build" - ] + "test:unit": [] } } diff --git a/libs/@local/petrinaut-arch-docs/docs/task-dependencies.json b/libs/@local/petrinaut-arch-docs/docs/task-dependencies.json index abab1a71c22..b52cc66661c 100644 --- a/libs/@local/petrinaut-arch-docs/docs/task-dependencies.json +++ b/libs/@local/petrinaut-arch-docs/docs/task-dependencies.json @@ -12,39 +12,26 @@ "tasks": { "doc:architecture": [], "fix:eslint": [ - "@apps/petrinaut-opt#codegen", "@apps/petrinaut-website#build", "@hashintel/petrinaut#build", "@hashintel/petrinaut-cli#build", "@hashintel/petrinaut-core#build", - "@local/eslint#build", - "@local/petrinaut-python#codegen" + "@local/eslint#build" ], "lint:arch-docs": [], "lint:eslint": [ - "@apps/petrinaut-opt#codegen", "@apps/petrinaut-website#build", "@hashintel/petrinaut#build", "@hashintel/petrinaut-cli#build", "@hashintel/petrinaut-core#build", - "@local/eslint#build", - "@local/petrinaut-python#codegen" + "@local/eslint#build" ], "lint:tsc": [ - "@apps/petrinaut-opt#codegen", "@apps/petrinaut-website#build", "@hashintel/petrinaut#build", "@hashintel/petrinaut-cli#build", - "@hashintel/petrinaut-core#build", - "@local/petrinaut-python#codegen" + "@hashintel/petrinaut-core#build" ], - "test:unit": [ - "@apps/petrinaut-opt#codegen", - "@apps/petrinaut-website#build", - "@hashintel/petrinaut#build", - "@hashintel/petrinaut-cli#build", - "@hashintel/petrinaut-core#build", - "@local/petrinaut-python#codegen" - ] + "test:unit": [] } } diff --git a/libs/@local/petrinaut-optimizer-client/docs/task-dependencies.json b/libs/@local/petrinaut-optimizer-client/docs/task-dependencies.json index dcab4753a06..1ceba7ce190 100644 --- a/libs/@local/petrinaut-optimizer-client/docs/task-dependencies.json +++ b/libs/@local/petrinaut-optimizer-client/docs/task-dependencies.json @@ -16,7 +16,6 @@ "codegen" ], "test:unit": [ - "@apps/petrinaut-opt#codegen", "@hashintel/petrinaut-core#build", "codegen" ] diff --git a/libs/@local/petrinaut-optimizer-client/turbo.json b/libs/@local/petrinaut-optimizer-client/turbo.json index 02cc687e03e..993240e6257 100644 --- a/libs/@local/petrinaut-optimizer-client/turbo.json +++ b/libs/@local/petrinaut-optimizer-client/turbo.json @@ -10,8 +10,8 @@ "inputs": ["../../../apps/petrinaut-opt/openapi/openapi.json"], "outputs": ["src/openapi.gen.ts"] }, - "lint:tsc": { - "dependsOn": ["@hashintel/petrinaut-core#build", "codegen"] + "test:unit": { + "dependsOn": ["codegen", "^build"] } } } diff --git a/libs/@local/petrinaut-python/docs/task-dependencies.json b/libs/@local/petrinaut-python/docs/task-dependencies.json index 7127c662158..29ea41b7891 100644 --- a/libs/@local/petrinaut-python/docs/task-dependencies.json +++ b/libs/@local/petrinaut-python/docs/task-dependencies.json @@ -8,9 +8,10 @@ "@hashintel/petrinaut-cli#codegen" ], "lint:ruff": [], - "lint:types": [], + "lint:types": [ + "codegen" + ], "test:unit": [ - "@hashintel/petrinaut-cli#build", "codegen" ] } diff --git a/libs/@local/petrinaut-python/turbo.json b/libs/@local/petrinaut-python/turbo.json index b10be42b0b7..b157ada9181 100644 --- a/libs/@local/petrinaut-python/turbo.json +++ b/libs/@local/petrinaut-python/turbo.json @@ -11,6 +11,9 @@ ], "outputs": ["src/petrinaut/models.py"], "passThroughEnv": ["UV_CACHE_DIR"] + }, + "test:unit": { + "dependsOn": ["codegen", "^manifest"] } } } diff --git a/libs/@local/repo-chores/node/turbo.json b/libs/@local/repo-chores/node/turbo.json new file mode 100644 index 00000000000..86bcf486428 --- /dev/null +++ b/libs/@local/repo-chores/node/turbo.json @@ -0,0 +1,8 @@ +{ + "extends": ["//"], + "tasks": { + "test:unit": { + "dependsOn": ["^build"] + } + } +} diff --git a/libs/@local/status/typescript/docs/task-dependencies.json b/libs/@local/status/typescript/docs/task-dependencies.json index 46b957308d6..5a1f2e47a74 100644 --- a/libs/@local/status/typescript/docs/task-dependencies.json +++ b/libs/@local/status/typescript/docs/task-dependencies.json @@ -5,9 +5,7 @@ "@local/tsconfig" ], "tasks": { - "build": [ - "@local/eslint#build" - ], + "build": [], "fix:eslint": [ "@local/eslint#build" ], diff --git a/tests/graph/benches/docs/task-dependencies.json b/tests/graph/benches/docs/task-dependencies.json index 7f5d60d0ccd..572400758d0 100644 --- a/tests/graph/benches/docs/task-dependencies.json +++ b/tests/graph/benches/docs/task-dependencies.json @@ -16,16 +16,12 @@ ], "tasks": { "bench:integration": [ - "@apps/hash-graph#start:healthcheck", - "@local/status#build", - "@rust/hash-repo-chores#build" + "@apps/hash-graph#start:healthcheck" ], "fix:clippy": [], "lint:clippy": [], "test:integration": [ - "@apps/hash-graph#start:test:healthcheck", - "@local/status#build", - "@rust/hash-repo-chores#build" + "@apps/hash-graph#start:test:healthcheck" ] } } diff --git a/tests/graph/benches/turbo.json b/tests/graph/benches/turbo.json new file mode 100644 index 00000000000..c36ed455a0e --- /dev/null +++ b/tests/graph/benches/turbo.json @@ -0,0 +1,11 @@ +{ + "extends": ["//"], + "tasks": { + "bench:integration": { + "dependsOn": ["^manifest", "@apps/hash-graph#start:healthcheck"] + }, + "test:integration": { + "dependsOn": ["^manifest", "@apps/hash-graph#start:test:healthcheck"] + } + } +} diff --git a/tests/graph/http/docs/task-dependencies.json b/tests/graph/http/docs/task-dependencies.json index 009fe3c6bcf..0c207ef1bb4 100644 --- a/tests/graph/http/docs/task-dependencies.json +++ b/tests/graph/http/docs/task-dependencies.json @@ -5,8 +5,7 @@ ], "tasks": { "test:integration": [ - "@apps/hash-graph#start:test:healthcheck", - "@local/status#build" + "@apps/hash-graph#start:test:healthcheck" ] } } diff --git a/tests/graph/http/turbo.json b/tests/graph/http/turbo.json new file mode 100644 index 00000000000..ece5f4719ed --- /dev/null +++ b/tests/graph/http/turbo.json @@ -0,0 +1,8 @@ +{ + "extends": ["//"], + "tasks": { + "test:integration": { + "dependsOn": ["^manifest", "@apps/hash-graph#start:test:healthcheck"] + } + } +} diff --git a/tests/graph/integration/docs/task-dependencies.json b/tests/graph/integration/docs/task-dependencies.json index 9d84eb02d23..55113e02a85 100644 --- a/tests/graph/integration/docs/task-dependencies.json +++ b/tests/graph/integration/docs/task-dependencies.json @@ -17,8 +17,6 @@ "tasks": { "fix:clippy": [], "lint:clippy": [], - "test:integration": [ - "@local/status#build" - ] + "test:integration": [] } } diff --git a/tests/graph/integration/turbo.json b/tests/graph/integration/turbo.json index addb10c1bb6..0d95c7a9d88 100644 --- a/tests/graph/integration/turbo.json +++ b/tests/graph/integration/turbo.json @@ -2,7 +2,7 @@ "extends": ["//"], "tasks": { "test:integration": { - "dependsOn": ["codegen"] + "dependsOn": ["^manifest"] } } } diff --git a/tests/hash-backend-integration/docs/task-dependencies.json b/tests/hash-backend-integration/docs/task-dependencies.json index a59e4c72240..6ca5d34f6a8 100644 --- a/tests/hash-backend-integration/docs/task-dependencies.json +++ b/tests/hash-backend-integration/docs/task-dependencies.json @@ -20,37 +20,94 @@ ], "tasks": { "codegen": [ + "@local/hash-isomorphic-utils#build" + ], + "fix:eslint": [ "@apps/hash-ai-worker-ts#build", "@apps/hash-api#codegen", "@apps/hash-integration-worker#build", "@blockprotocol/graph#build", "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", "@local/advanced-types#build", "@local/eslint#build", + "@local/harpc-client#build", "@local/hash-backend-utils#build", "@local/hash-graph-authorization#build", "@local/hash-graph-client#build", "@local/hash-graph-sdk#build", "@local/hash-graph-store#build", "@local/hash-isomorphic-utils#build", - "@local/status#build" - ], - "fix:eslint": [ - "@local/eslint#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "lint:eslint": [ + "@apps/hash-ai-worker-ts#build", + "@apps/hash-api#codegen", + "@apps/hash-integration-worker#build", + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "lint:tsc": [ + "@apps/hash-ai-worker-ts#build", + "@apps/hash-api#codegen", + "@apps/hash-integration-worker#build", + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ], "test:integration": [ + "@apps/hash-ai-worker-ts#build", "@apps/hash-ai-worker-ts#start:test:healthcheck", + "@apps/hash-api#codegen", "@apps/hash-api#start:test:healthcheck", "@apps/hash-graph#start:test:healthcheck", + "@apps/hash-integration-worker#build", "@apps/hash-integration-worker#start:test:healthcheck", + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@hashintel/petrinaut-core#build", + "@local/advanced-types#build", + "@local/eslint#build", + "@local/harpc-client#build", + "@local/hash-backend-utils#build", + "@local/hash-graph-authorization#build", + "@local/hash-graph-client#build", + "@local/hash-graph-sdk#build", + "@local/hash-graph-store#build", + "@local/hash-isomorphic-utils#build", + "@local/internal-api-client#build", + "@local/petrinaut-optimizer-client#build", + "@local/status#build", "codegen" ] } diff --git a/tests/hash-backend-integration/turbo.json b/tests/hash-backend-integration/turbo.json index e4bbb3f322f..52dd1627724 100644 --- a/tests/hash-backend-integration/turbo.json +++ b/tests/hash-backend-integration/turbo.json @@ -4,7 +4,10 @@ "codegen": { // Outputs of GraphQL generation "outputs": ["./src/**/*.gen.*"], - "dependsOn": ["^build"] + "dependsOn": ["@local/hash-isomorphic-utils#build"] + }, + "test:integration": { + "dependsOn": ["codegen", "^build", "^start:test:healthcheck"] } } } diff --git a/tests/hash-playwright/docs/task-dependencies.json b/tests/hash-playwright/docs/task-dependencies.json index 5bbc9246126..6ce4d6e7334 100644 --- a/tests/hash-playwright/docs/task-dependencies.json +++ b/tests/hash-playwright/docs/task-dependencies.json @@ -14,39 +14,36 @@ ], "tasks": { "codegen": [ - "@apps/hash-api#codegen", - "@apps/hash-frontend#codegen", - "@apps/plugin-browser#codegen", + "@local/hash-isomorphic-utils#build" + ], + "fix:eslint": [ "@blockprotocol/graph#build", "@blockprotocol/type-system#build", - "@blockprotocol/type-system#codegen", - "@local/advanced-types#build", "@local/eslint#build", - "@local/harpc-client#build", - "@local/hash-graph-authorization#build", - "@local/hash-graph-client#build", "@local/hash-graph-sdk#build", - "@local/hash-graph-store#build", "@local/hash-isomorphic-utils#build", - "@local/hash-isomorphic-utils#codegen", - "@local/internal-api-client#build", - "@local/status#build" - ], - "fix:eslint": [ - "@local/eslint#build", "codegen" ], "lint:eslint": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", "@local/eslint#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", "codegen" ], "lint:tsc": [ + "@blockprotocol/graph#build", + "@blockprotocol/type-system#build", + "@local/hash-graph-sdk#build", + "@local/hash-isomorphic-utils#build", "codegen" ], "test:integration": [ "@apps/hash-api#start:test:healthcheck", "@apps/hash-frontend#start:test:healthcheck", - "@apps/plugin-browser#build:test" + "@apps/plugin-browser#build:test", + "codegen" ] } } diff --git a/tests/hash-playwright/turbo.json b/tests/hash-playwright/turbo.json index 3940235b99b..1860f9a68af 100644 --- a/tests/hash-playwright/turbo.json +++ b/tests/hash-playwright/turbo.json @@ -2,10 +2,43 @@ "extends": ["//"], "tasks": { "codegen": { - "dependsOn": ["^codegen"] + "dependsOn": ["@local/hash-isomorphic-utils#build"] + }, + // The tests import from these four packages' dist. `^build` would also pull in the + // browser plugin's Sentry-gated production build and the frontend's `next build`, + // which the type checks never read. + "lint:tsc": { + "dependsOn": [ + "codegen", + "@local/hash-isomorphic-utils#build", + "@blockprotocol/type-system#build", + "@local/hash-graph-sdk#build", + "@blockprotocol/graph#build" + ] + }, + "lint:eslint": { + "dependsOn": [ + "codegen", + "@local/eslint#build", + "@local/hash-isomorphic-utils#build", + "@blockprotocol/type-system#build", + "@local/hash-graph-sdk#build", + "@blockprotocol/graph#build" + ] + }, + "fix:eslint": { + "dependsOn": [ + "codegen", + "@local/eslint#build", + "@local/hash-isomorphic-utils#build", + "@blockprotocol/type-system#build", + "@local/hash-graph-sdk#build", + "@blockprotocol/graph#build" + ] }, "test:integration": { "dependsOn": [ + "codegen", "@apps/plugin-browser#build:test", "^start:test:healthcheck" ], diff --git a/turbo.json b/turbo.json index 909212aeca9..391710dcb45 100644 --- a/turbo.json +++ b/turbo.json @@ -11,13 +11,14 @@ // Development commands "dev": { "cache": false, - "persistent": true, - "dependsOn": ["codegen"] + "persistent": true }, // Build commands - "codegen": { - "dependsOn": ["^build"] - }, + // + // `codegen`, `build`, `test:*` and `start:*` are shared between the JavaScript packages + // and the Rust crates, and what each of them consumes differs per package, so the edges + // are declared where they hold. A name only one toolchain uses carries its defaults here. + "codegen": {}, "doc:dependency-diagram": { "cache": false, "dependsOn": ["@rust/hash-repo-chores#build"] @@ -29,14 +30,13 @@ "cache": false, "dependsOn": ["//#sync:turborepo"] }, - "build": { - "dependsOn": ["codegen"] - }, + "build": {}, "build:docker": { "cache": false }, "build:codspeed": { - "cache": false + "cache": false, + "dependsOn": ["^manifest"] }, "compile": { "cache": false @@ -46,77 +46,81 @@ }, // Run commands "start:migrate": { - "cache": false, - "dependsOn": ["build", "^start:healthcheck"] + "cache": false }, "start": { "cache": false, - "persistent": true, - "dependsOn": ["start:migrate"] + "persistent": true }, "start:healthcheck": { - "cache": false, - "dependsOn": ["compile:release"] + "cache": false }, "start:test:migrate": { - "cache": false, - "dependsOn": ["build", "^start:test:healthcheck"] + "cache": false }, "start:test": { "cache": false, - "persistent": true, - "dependsOn": ["start:test:migrate"] + "persistent": true }, "start:test:healthcheck": { - "cache": false, - "dependsOn": ["compile"] + "cache": false }, // Test commands + // + // A test reads its dependencies' sources through the toolchain, so their inputs belong + // in its hash whether or not a build runs first. Packages that import from `dist` add + // `^build` themselves. "test:unit": { - "dependsOn": ["codegen", "^build"], + "dependsOn": ["^manifest"], "env": ["TEST_COVERAGE"] }, "test:integration": { - "dependsOn": ["codegen", "^start:test:healthcheck"], + "dependsOn": ["^manifest"], "env": ["TEST_COVERAGE"] }, "test:codspeed": { - "cache": false + "cache": false, + "dependsOn": ["^manifest"] + }, + "test:miri": { + "dependsOn": ["^manifest"] }, - "test:miri": {}, // Benchmarks "bench:unit": { - "dependsOn": ["codegen"], + "dependsOn": ["^manifest"], "cache": false }, "bench:integration": { - "dependsOn": ["codegen", "^start:healthcheck"], + "dependsOn": ["^manifest"], "cache": false }, // Linting and formatting - "lint": { - "dependsOn": ["codegen"] - }, + "lint": {}, // The clippy invocation differs between pull requests (`--all-features`) and other runs // such as the merge queue (`cargo hack --feature-powerset`), selected via // `GITHUB_EVENT_NAME` in the `.justfile`. Include it in the hash so the two run modes // cannot share caches. "lint:clippy": { - "env": ["GITHUB_EVENT_NAME"] + "env": ["GITHUB_EVENT_NAME"], + "dependsOn": ["^manifest"] }, + // Type-aware linting resolves workspace imports from the dependencies' dist. "lint:eslint": { "env": ["CHECK_TEMPORARILY_DISABLED_RULES"], - "dependsOn": ["codegen", "@local/eslint#build"] + "dependsOn": ["codegen", "^build", "@local/eslint#build"] }, "lint:tsc": { - "dependsOn": ["codegen"] + "dependsOn": ["codegen", "^build"] }, // Python linting and type checking. `uv run` syncs the package's - // environment from its own lockfile, so neither needs a prior task. + // environment from its own lockfile. Ruff reads the sources as text, while + // type checking resolves the package's own generated modules. "lint:ruff": {}, - "lint:types": {}, + "lint:types": { + "dependsOn": ["codegen"] + }, "fix:eslint": { - "dependsOn": ["codegen", "@local/eslint#build"] + "dependsOn": ["codegen", "^build", "@local/eslint#build"] }, "fix:clippy": {}, "sentry:sourcemaps": {