{
"$schema": "../../node_modules/nx/schemas/project-schema.json",
"name": "onetaskgraph-linear",
"projectType": "library",
"tags": ["lang:rust", "layer:plugin", "live:linear"],
"//": "implicitDependencies mirror this crate's Cargo dependencies; scripts/check-nx-graph.sh fails when the two disagree. llmlint: ignore-file[external_service_suite_stays_out_of_the_affected_tier] JSON has no comment to scope this to `test`, whose live tests reach a real API; affected selection is the edge they sit behind, so they run only when this crate changed.",
"implicitDependencies": ["onetaskgraph-live", "onetaskgraph-plugin-api"],
"targets": {
"bootstrap": {
"executor": "nx:run-commands",
"options": {
"command": "cargo fetch --locked"
},
"//": "Uncached: it reaches the network and writes to the shared cargo registry outside the workspace, so no input in the tree describes its result."
},
"check": {
"executor": "nx:noop"
},
"format": {
"executor": "nx:run-commands",
"options": {
"command": "cargo fmt -p onetaskgraph-linear"
},
"cache": false,
"//": "Uncached: it rewrites the tree in place, so replaying a cached result would be a no-op that silently leaves the tree unformatted."
},
"format-check": {
"executor": "nx:run-commands",
"options": {
"command": "cargo fmt -p onetaskgraph-linear -- --check"
}
},
"lint": {
"executor": "nx:run-commands",
"options": {
"command": "cargo clippy --quiet -p onetaskgraph-linear --all-targets --all-features --locked -- -D warnings"
}
},
"typecheck": {
"executor": "nx:run-commands",
"options": {
"command": "cargo check --quiet -p onetaskgraph-linear --all-targets --all-features --locked"
}
},
"test": {
"executor": "nx:run-commands",
"options": {
"commands": [
"cargo test --quiet -p onetaskgraph-linear --all-features --locked",
"bash scripts/check-live-decline.sh onetaskgraph-linear"
],
"parallel": false
},
"//": "The live journey is one of the tests the first command runs; the second drives it through skipped, declined and expected-but-absent without a credential. Serial: it re-runs the binary the first builds. The env inputs are the cache key's, because this target's result is not a function of the files — a replay of an uncredentialed run would otherwise stand in for a credentialed one and the live tests would not run while the target reported green. `coverage` takes none of them: scripts/rust-coverage.sh clears the credentials first, which is what keeps one run to one live session.",
"inputs": [
"default",
"^default",
"{workspaceRoot}/scripts/check-live-decline.sh",
{
"env": "LINEAR_API_KEY"
},
{
"env": "LINEAR_WRITE_TEAM"
},
{
"env": "ONETASKGRAPH_LIVE_REQUIRED"
}
]
},
"coverage": {
"executor": "nx:run-commands",
"options": {
"command": "bash scripts/rust-coverage.sh onetaskgraph-linear"
}
}
}
}