{ "$schema": "https://turborepo.com/schema.json", "ui": "stream", "globalDependencies": [ ".env", "tsconfig.base.json", "tsconfig.json", "package.json", "biome.json", "crypto.config.ts", "scripts/gen-crypto-selects.ts", "scripts/check-crypto-selects.ts" ], "globalEnv": ["NODE_ENV", "NPM_TOKEN"], "globalPassThroughEnv": ["CI"], "tasks": { "//#check": { "cache": false, "outputLogs": "new-only" }, "//#lint:test-runner-imports": { "inputs": [ "scripts/lint/check-test-runner-imports.ts", "packages/*/*/*/package.json", "packages/*/*/*/src/**/*.ts", "packages/*/*/*/src/**/*.tsx", "wip/*/*/package.json", "wip/*/*/src/**/*.ts", "wip/*/*/src/**/*.tsx" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:preflight": { "inputs": [ "scripts/openspec/check-preflight.ts", "openspec/changes/*/tasks.md" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:feature-layout": { "inputs": [ "scripts/lint/check-feature-layout.ts", "packages/*/*/*/src/**/*.ts", "packages/*/*/*/src/**/*.tsx", "packages/*/*/*/src/**/*.md" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:error-subclass-constructors": { "inputs": [ "scripts/lint/check-error-subclass-constructors.ts", "packages/*/*/*/src/**/*.ts" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:carry-forward-deps": { "inputs": [ "scripts/lint/check-carry-forward-deps.ts", "openspec/changes/*/tasks.md" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:verified-by": { "inputs": [ "scripts/lint/check-verified-by.ts", "openspec/changes/*/specs/*/spec.md" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:stage-smoke": { "inputs": [ "scripts/lint/check-stage-smoke.ts", "openspec/changes/*/tasks.md" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:primitive-host-integration": { "inputs": [ "scripts/lint/check-primitive-host-integration.ts", "scripts/lint/primitives.json", "openspec/changes/*/proposal.md" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#lint:wasm-subpath-deps": { "inputs": [ "scripts/lint/check-wasm-subpath-deps.ts", "packages/api-stack/api/api-plugin-example/src/wasm/**/*.ts", "packages/api-stack/api/api-plugin-example/src/domain/**/*.ts", "packages/api-stack/api/api-plugin-example/src/error-codes/**/*.ts", "packages/api-stack/api/api-plugin-example/package.json" ], "outputs": [], "cache": true, "outputLogs": "errors-only" }, "//#check:fixture-resolves": { "dependsOn": [ "@suaveplan/testing-integration#build", "@suaveplan/testing-integration-garage-s3#build", "@suaveplan/testing-integration-mailpit#build", "@suaveplan/testing-integration-postgres#build", "@suaveplan/testing-integration-redis#build", "@suaveplan/testing-integration-step-ca#build", "@suaveplan/testing-integration-surrealdb#build", "@suaveplan/testing-integration-typesense#build" ], "inputs": [ "scripts/check-fixture-resolves.ts", "packages/testkit/testing/testing-integration*/package.json", "packages/testkit/testing/testing-integration*/dist/**" ], "outputs": [], "cache": false, "outputLogs": "new-only" }, "build": { "dependsOn": ["^build"], "inputs": [ "$TURBO_DEFAULT$", ".env*", "tsconfig.json", "tsconfig.lib.json", "vite.config.ts", "vitest.config.ts" ], "outputs": ["dist/**", "!dist/**/*.map"], "outputLogs": "new-only" }, "lint": { "inputs": ["src/**/*.ts", "src/**/*.tsx", "biome.json", "package.json"], "cache": true, "outputLogs": "errors-only" }, "docs:check": { "inputs": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.md"], "cache": true, "outputLogs": "errors-only" }, "typecheck": { "dependsOn": ["^build"], "inputs": [ "src/**/*.ts", "src/**/*.tsx", "tsconfig.json", "tsconfig.lib.json" ], "cache": true, "outputLogs": "errors-only" }, "test": { "dependsOn": ["^build", "build"], "inputs": [ "src/**/*.ts", "src/**/*.tsx", "src/**/*.test.ts", "src/**/*.test.tsx", "vitest.config.ts", "package.json" ], "outputs": [], "cache": true, "outputLogs": "new-only" }, "test:watch": { "dependsOn": ["^build"], "cache": false, "persistent": true, "outputLogs": "new-only" }, "test:integration": { "dependsOn": ["^build"], "inputs": [ "src/**/*.ts", "tests/integration/**/*.ts", "vitest.integration.config.ts", "package.json" ], "outputs": [], "cache": false, "outputLogs": "new-only" }, "test:coverage": { "dependsOn": ["^build", "build"], "inputs": [ "src/**/*.ts", "src/**/*.tsx", "src/**/*.test.ts", "src/**/*.test.tsx", "vitest.config.ts", "package.json" ], "outputs": ["coverage/**"], "cache": true, "outputLogs": "new-only" }, "bench": { "dependsOn": ["^build", "build"], "inputs": ["src/**/*.bench.ts"], "cache": false, "outputLogs": "new-only" }, "crypto:kat": { "dependsOn": ["^build", "build"], "inputs": [ "src/**/*.ts", "src/**/*.test.ts", "vitest.config.ts", "package.json" ], "outputs": [], "cache": true, "outputLogs": "new-only" }, "//#crypto:fuzz": { "cache": false, "outputLogs": "new-only" }, "//#crypto:timing": { "cache": false, "outputLogs": "new-only" }, "//#ct-lint": { "cache": false, "outputLogs": "new-only" } } }