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",
  "globalDependencies": [".env.*local"],
  "tasks": {
    "lint": {
      "dependsOn": ["^lint"]
    },
    "dev": {
      "dependsOn": ["^prisma:generate"],
      "inputs": ["$TURBO_DEFAULT$", ".env"],
      "cache": false
    },
    "build:tracker": {
      "dependsOn": [],
      "outputs": ["packages/tinybird/dist/tracker.js"]
    },
    "copy-tinybird-tracker": {
      "dependsOn": ["^build:tracker"],
      "outputs": ["apps/frontend/public/assets/tinybird/tracker.js"]
    },
    "build:frontend": {
      "dependsOn": ["^prisma:generate", "^copy-tinybird-tracker"],
      "env": [
        "DATABASE_URL",
        "DIRECT_URL",

        "NEXT_PUBLIC_SENTRY_DSN",
        "SENTRY_AUTH_TOKEN",

        "ENCRYPTION_KEY",

        "GITHUB_AUTH_TOKEN",

        "INTERNAL_API_KEY",

        "NEXT_PUBLIC_APP_ENV",
        "NEXT_PUBLIC_BASE_URL",
        "NEXT_PUBLIC_ROOT_DOMAIN",
        "NEXT_PUBLIC_API_URL",
        "NEXT_PUBLIC_APP_URL",
        "NEXT_PUBLIC_GOOGLE_MAPS_API_KEY",
        "NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN",
        "NEXT_PUBLIC_TINYBIRD_TRACKER_TOKEN",
        "NEXT_PUBLIC_POSTHOG_KEY",
        "NEXT_PUBLIC_MARKETING_URL",
        "NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION",

        "SPOTIFY_CLIENT_ID",
        "SPOTIFY_CLIENT_SECRET",

        "VERCEL_UNDICI"
      ],
      "inputs": ["$TURBO_DEFAULT$", ".env"],
      "outputs": ["dist/**", ".next/**", "!.next/cache/**"]
    },
    "build:marketing": {
      "dependsOn": ["^prisma:generate"],
      "env": [
        "NEXT_PUBLIC_API_URL",
        "NEXT_PUBLIC_APP_URL",
        "NEXT_PUBLIC_BASE_URL",
        "NEXT_PUBLIC_GOOGLE_SITE_VERIFICATION",
        "BLOG_CONTENT_DIR",
        "BLOG_CONTENT_REPO",
        "BLOG_CONTENT_TOKEN",
        "VERCEL_ENV"
      ],
      // Blog posts are cloned from a separate repo during the build, so turbo
      // can't tell when they change. Always rebuild.
      "cache": false,
      "inputs": ["$TURBO_DEFAULT$", ".env"],
      "outputs": ["dist/**", ".next/**", "!.next/cache/**"]
    },
    "build:api": {
      "env": [
        "API_BASE_URL",
        "APP_ENV",
        "APP_FRONTEND_URL",

        "AUTH_GOOGLE_CLIENT_ID",
        "AUTH_GOOGLE_CLIENT_SECRET",
        "AUTH_SECRET",
        "AUTH_TIKTOK_CLIENT_ID",
        "AUTH_TIKTOK_CLIENT_KEY",
        "AUTH_TIKTOK_CLIENT_SECRET",
        "AUTH_TRUST_HOST",
        "AUTH_TWITTER_CLIENT_ID",
        "AUTH_TWITTER_CLIENT_SECRET",

        "AWS_ACCESS_KEY_ID",
        "AWS_REGION",
        "AWS_SECRET_ACCESS_KEY",

        "BETTER_AUTH_URL",

        "ENCRYPTION_KEY",

        "INSTAGRAM_CALLBACK_URL",
        "INSTAGRAM_CLIENT_ID",
        "INSTAGRAM_CLIENT_SECRET",
        "INSTAGRAM_LEGACY_CALLBACK_URL",
        "INSTAGRAM_LEGACY_CLIENT_ID",
        "INSTAGRAM_LEGACY_CLIENT_SECRET",

        "INTERNAL_API_KEY",

        "NODE_ENV",
        "PORT",

        "POSTHOG_API_KEY",

        "REACTIONS_TABLE_NAME",

        "RESEND_API_KEY",
        "RESEND_AUDIENCE_ID",

        "SCREENSHOT_API_KEY",

        "SENTRY_AUTH_TOKEN",
        "SENTRY_DSN",

        "SLACK_TOKEN",

        "SPOTIFY_CLIENT_ID",
        "SPOTIFY_CLIENT_SECRET",
        "SPOTIFY_REDIRECT_URL",

        "STRIPE_API_SECRET_KEY",
        "STRIPE_WEBHOOK_SECRET",

        "THREADS_CALLBACK_URL",
        "THREADS_CLIENT_ID",
        "THREADS_CLIENT_SECRET",

        "TIKTOK_CALLBACK_URL",
        "TIKTOK_CLIENT_KEY",
        "TIKTOK_CLIENT_SECRET",

        "TINYBIRD_API_KEY"
      ],
      "inputs": ["$TURBO_DEFAULT$", ".env"]
    },
    "start:frontend": {
      "dependsOn": ["build:frontend"],
      "inputs": ["$TURBO_DEFAULT$", ".env"]
    },
    "start:marketing": {
      "dependsOn": ["build:marketing"],
      "inputs": ["$TURBO_DEFAULT$", ".env"]
    },
    "start:api": {
      "dependsOn": ["build:api"],
      "env": [
        "AUTH_GOOGLE_CLIENT_ID",
        "AUTH_GOOGLE_CLIENT_SECRET",
        "AUTH_TWITTER_CLIENT_ID",
        "AUTH_TWITTER_CLIENT_SECRET",
        "AUTH_TIKTOK_CLIENT_ID",
        "AUTH_TIKTOK_CLIENT_KEY",
        "AUTH_TIKTOK_CLIENT_SECRET",
        "DATABASE_URL",
        "DIRECT_URL",
        "AUTH_SECRET",
        "NODE_ENV",
        "AUTH_TRUST_HOST",
        "API_BASE_URL",
        "AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY",
        "AWS_REGION",
        "REACTIONS_TABLE_NAME",
        "POSTHOG_API_KEY",
        "STRIPE_API_SECRET_KEY",
        "RESEND_API_KEY",
        "RESEND_AUDIENCE_ID",
        "STRIPE_WEBHOOK_SECRET",
        "BETTER_AUTH_URL",
        "INTERNAL_API_KEY",
        "APP_ENV",
        "ENCRYPTION_KEY",
        "APP_FRONTEND_URL",
        "INSTAGRAM_CALLBACK_URL",
        "INSTAGRAM_CLIENT_ID",
        "INSTAGRAM_CLIENT_SECRET",
        "INSTAGRAM_LEGACY_CALLBACK_URL",
        "INSTAGRAM_LEGACY_CLIENT_ID",
        "INSTAGRAM_LEGACY_CLIENT_SECRET",
        "SPOTIFY_CLIENT_ID",
        "SPOTIFY_CLIENT_SECRET",
        "SPOTIFY_REDIRECT_URL",
        "THREADS_CALLBACK_URL",
        "THREADS_CLIENT_ID",
        "THREADS_CLIENT_SECRET",
        "TIKTOK_CALLBACK_URL",
        "TIKTOK_CLIENT_KEY",
        "TIKTOK_CLIENT_SECRET",
        "TINYBIRD_API_KEY",
        "SCREENSHOT_API_KEY",
        "SLACK_TOKEN"
      ],
      "inputs": ["$TURBO_DEFAULT$", ".env"]
    },
    "prisma:generate": {
      "cache": false,
      "env": ["DATABASE_URL", "DIRECT_URL"]
    },
    "migrate": {
      "cache": false,
      "env": ["DIRECT_URL"]
    },
    "build": {
      "dependsOn": ["^build"],
      "outputs": ["dist/**"]
    },
    "typecheck": {
      "dependsOn": ["^prisma:generate"],
      "outputs": []
    },
    "test": {
      "dependsOn": ["^prisma:generate"],
      // apps/api has DB-backed integration tests. Turbo's strict env mode
      // withholds anything not declared here, so without these the suite
      // silently falls back to whatever .env.local points at.
      "env": ["DATABASE_URL", "DIRECT_URL"],
      "outputs": []
    }
  }
}