Ctrl K
ComunidadGuías…

turbo.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "$schema": "https://turbo.build/schema.json",
  "futureFlags": {
    "errorsOnlyShowHash": true,
    "watchUsingTaskInputs": true
  },
  // Agent guidance is maintained in .agents/AGENTS.md; keep its root symlink.
  "agentGuidance": false,
  "noUpdateNotifier": true,
  "cacheMaxSize": "7.5GB",
  "globalDependencies": [".env"],
  "globalEnv": [
    "NEXT_PUBLIC_LANGFUSE_BLOB_EXPORT_CUTOFF",
    "NEXT_PUBLIC_LANGFUSE_BLOB_EXPORTER_CUTOFF",
    "NEXT_PUBLIC_LANGFUSE_ANALYTICS_EXPORTER_CUTOFF",
    "CLICKHOUSE_BIN"
  ],
  "envMode": "loose",
  "tasks": {
    "build": {
      "dependsOn": ["db:generate", "^build"],
      // NEXT_IGNORE_BUILD_ERRORS toggles the Next.js type check, so builds
      // with and without it must not share a cache entry — a cached
      // unchecked build would otherwise replay as a "type-checked" one.
      "env": ["NEXT_IGNORE_BUILD_ERRORS"],
      "outputs": ["dist/**", ".next/**", "!.next/cache/**", "!.next/dev/**"],
      "cache": true,
      "outputLogs": "errors-only"
    },
    "build:test": {
      "dependsOn": ["db:generate", "^build"],
      "env": ["NEXT_IGNORE_BUILD_ERRORS", "NEXT_DISABLE_BUILD_CACHE"],
      "outputs": ["dist/**", ".next/**", "!.next/cache/**", "!.next/dev/**"],
      "cache": true,
      "outputLogs": "errors-only"
    },
    "start": {
      "dependsOn": ["^start"],
      // Launches long-running servers, so it produces no output to restore and
      // a cache hit would be actively wrong: turbo replays the logs and returns
      // without starting anything, leaving the ports unbound. Every other
      // long-running task here (dev, dev:web, dev:worker, worker#dev) already
      // opts out.
      "cache": false
    },
    "db:migrate": {
      "env": ["DATABASE_URL", "DIRECT_URL"],
      "cache": false
    },
    "db:deploy": {
      "env": ["DATABASE_URL", "DIRECT_URL"],
      "cache": false
    },
    "db:reset": {
      "cache": false
    },
    "db:push": {
      "cache": false
    },
    "db:seed": {
      "cache": false
    },
    "db:seed:examples": {
      "cache": false
    },
    "dev": {
      "cache": false,
      "persistent": true,
      "dependsOn": ["db:generate"]
    },
    "dev:worker": {
      "cache": false,
      "persistent": true,
      "dependsOn": ["db:generate"]
    },
    "dev:web": {
      "cache": false,
      "persistent": true,
      "dependsOn": ["db:generate"]
    },
    // Prisma generate writes client types into node_modules. Turbo cache hits
    // only replay logs and do not restore those side effects on fresh CI runners.
    "db:generate": {
      "cache": false,
      "dependsOn": ["^db:generate"]
    },
    "@langfuse/shared#db:generate": {
      "inputs": ["prisma/schema.prisma"],
      "cache": false,
      "dependsOn": ["^db:generate"],
      "outputLogs": "errors-only"
    },
    "@langfuse/shared#db:seed": {
      "cache": false,
      "outputLogs": "errors-only"
    },
    "@langfuse/shared#db:seed:examples": {
      "cache": false,
      "outputLogs": "errors-only"
    },
    "lint": {
      "dependsOn": ["@repo/eslint-plugin#build", "^build"],
      "cache": true,
      "outputLogs": "errors-only",
      "outputs": []
    },
    "web#lint": {
      "dependsOn": ["@repo/eslint-plugin#build", "^build"],
      "cache": true,
      "outputLogs": "full",
      "outputs": []
    },
    "worker#lint": {
      "outputLogs": "full",
      "dependsOn": [
        "@langfuse/shared#build",
        "@repo/oxlint-config#build",
        "@repo/eslint-plugin#build",
        "@repo/typescript-config#build"
      ]
    },
    "@langfuse/ee#lint": {
      "dependsOn": ["@repo/eslint-plugin#build", "^build"],
      "cache": true,
      "outputLogs": "full",
      "outputs": []
    },
    "@langfuse/shared#lint": {
      "dependsOn": ["@repo/eslint-plugin#build", "^build"],
      "cache": true,
      "outputLogs": "full",
      "outputs": []
    },
    "typecheck": {
      "dependsOn": ["db:generate", "^build"],
      "cache": true,
      "outputLogs": "errors-only",
      "outputs": []
    },
    "web#typecheck": {
      "dependsOn": ["db:generate", "^build"],
      "cache": true,
      "outputLogs": "errors-only",
      "outputs": [],
      "inputs": [
        "$TURBO_DEFAULT$",
        "$TURBO_ROOT$/scripts/vitest/ci-reporter.ts"
      ]
    },
    "test-client": {
      "dependsOn": ["db:generate", "^build"],
      "cache": true
    },
    "test": {
      // Tests consume compiled workspace packages. The edge must be explicit
      // now that typechecks, lint, and tests can share one concurrent run.
      "dependsOn": ["^build", "^test", "db:generate"],
      "cache": true
    },
    // Vitest loads these files from outside each package. Selecting the task
    // without hashing them could still replay a result from before they changed.
    "web#test": {
      "dependsOn": ["^build", "^test", "db:generate"],
      "inputs": [
        "$TURBO_DEFAULT$",
        "$TURBO_ROOT$/scripts/vitest/ci-reporter.ts",
        "$TURBO_ROOT$/fern/apis/server/definition/**",
        "$TURBO_ROOT$/scripts/code-eval-runners/python/code_based_eval_handler.py",
        "$TURBO_ROOT$/prettier.config.*",
        "$TURBO_ROOT$/.prettierrc*",
        "$TURBO_ROOT$/.prettierignore",
        "$TURBO_ROOT$/.editorconfig",
        "$TURBO_ROOT$/.env.test"
      ]
    },
    "web#test-client": {
      "dependsOn": ["db:generate", "^build"],
      "inputs": [
        "$TURBO_DEFAULT$",
        "$TURBO_ROOT$/scripts/vitest/ci-reporter.ts",
        "$TURBO_ROOT$/.env.test"
      ]
    },
    "web#test-storybook": {
      "dependsOn": ["db:generate", "^build"],
      "inputs": [
        "$TURBO_DEFAULT$",
        "$TURBO_ROOT$/scripts/vitest/ci-reporter.ts",
        "$TURBO_ROOT$/.env.test"
      ],
      "cache": true
    },
    "@repo/eslint-plugin#build": {
      "dependsOn": ["^build"],
      "outputs": ["dist/**"],
      "cache": true,
      "outputLogs": "errors-only"
    },
    "@langfuse/icons#build": {
      "dependsOn": [],
      "outputs": ["dist/**"]
    },
    "@langfuse/icons#typecheck": {
      "dependsOn": ["build"]
    },
    "@langfuse/icons#test": {
      "dependsOn": ["build"]
    },
    "@repo/in-app-agent-sandbox-runtime#build:docker-image": {
      "dependsOn": ["build"],
      "inputs": ["Dockerfile", "package.json", "tsconfig.json"],
      "outputs": [".local-image-built"],
      "cache": true,
      "outputLogs": "errors-only"
    },
    "@repo/in-app-agent-sandbox-runtime#test": {
      "dependsOn": [],
      "cache": true
    },
    "@repo/in-app-agent-sandbox-runtime#test:e2e": {
      "dependsOn": ["build"],
      "cache": false
    },
    // Worker tests load the compiled addon, which no install step produces.
    "worker#test": {
      "dependsOn": ["^build", "^test", "db:generate", "@langfuse/native#build"],
      "inputs": [
        "$TURBO_DEFAULT$",
        "$TURBO_ROOT$/scripts/vitest/ci-reporter.ts"
      ]
    },
    "worker#dev": {
      "cache": false,
      "persistent": true,
      // The worker loads the Rust addon at startup, so it must be compiled
      // before tsx starts the process.
      "dependsOn": ["db:generate", "@langfuse/native#build"]
    },
    // `napi build` compiles a host-specific binary and Cargo already caches
    // incrementally in target/, so never replay this task from the turbo cache.
    "@langfuse/native#build": {
      "dependsOn": [],
      "cache": false,
      "outputs": []
    }
  }
}