diff --git a/apps/design-system/turbo.jsonc b/apps/design-system/turbo.jsonc new file mode 100644 index 00000000000..e76a715982c --- /dev/null +++ b/apps/design-system/turbo.jsonc @@ -0,0 +1,22 @@ +{ + "$schema": "./../../node_modules/turbo/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "env": [ + "NEXT_PUBLIC_BASE_PATH", + "NEXT_PUBLIC_APP_URL", + // These envs are used in the packages + "NEXT_PUBLIC_STORAGE_KEY", + "NEXT_PUBLIC_AUTH_DEBUG_KEY", + "NEXT_PUBLIC_AUTH_PERSISTED_KEY", + "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", + "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", + "NEXT_PUBLIC_GOTRUE_URL", + "NEXT_PUBLIC_SUPABASE_ANON_KEY", + ], + "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*", ".contentlayer/**"], + }, + }, +} diff --git a/apps/docs/turbo.json b/apps/docs/turbo.jsonc similarity index 89% rename from apps/docs/turbo.json rename to apps/docs/turbo.jsonc index 817dd4625c7..3c1148eb299 100644 --- a/apps/docs/turbo.json +++ b/apps/docs/turbo.jsonc @@ -1,14 +1,14 @@ { - "$schema": "https://turbo.build/schema.json", + "$schema": "./../../node_modules/turbo/schema.json", "extends": ["//"], "tasks": { "codegen:examples": { "inputs": ["../../examples/**"], - "outputs": ["examples/**"] + "outputs": ["examples/**"], }, "codegen:references": { "inputs": ["spec/**"], - "outputs": ["features/docs/generated/**"] + "outputs": ["features/docs/generated/**"], }, "build": { "dependsOn": ["^build", "codegen:examples", "codegen:references"], @@ -57,10 +57,10 @@ "LOGFLARE_SOURCE_TOKEN", "OPENAI_API_KEY", "SITE_NAME", - "SUPABASE_SECRET_KEY" + "SUPABASE_SECRET_KEY", ], "inputs": ["$TURBO_DEFAULT$"], - "outputs": [".next/**", "!.next/cache/**"] - } - } + "outputs": [".next/**", "!.next/cache/**"], + }, + }, } diff --git a/apps/learn/turbo.jsonc b/apps/learn/turbo.jsonc new file mode 100644 index 00000000000..30b4cc0e3cf --- /dev/null +++ b/apps/learn/turbo.jsonc @@ -0,0 +1,10 @@ +{ + "$schema": "./../../node_modules/turbo/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**", ".next/**", "!.next/cache/**/*", "!.next/dev/**/*"], + }, + }, +} diff --git a/apps/lite-studio/tailwind.config.js b/apps/lite-studio/tailwind.config.js index 1f0a19fe98c..878da4640a6 100644 --- a/apps/lite-studio/tailwind.config.js +++ b/apps/lite-studio/tailwind.config.js @@ -10,5 +10,4 @@ export default config({ theme: { extend: {}, }, - plugins: [require('@tailwindcss/container-queries')], }) diff --git a/apps/lite-studio/turbo.jsonc b/apps/lite-studio/turbo.jsonc new file mode 100644 index 00000000000..24c4d2b6a14 --- /dev/null +++ b/apps/lite-studio/turbo.jsonc @@ -0,0 +1,13 @@ +{ + "$schema": "./../../node_modules/turbo/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "env": [], + "passThroughEnv": [], + "inputs": ["$TURBO_DEFAULT$"], + "outputs": ["build/**"], + }, + }, +} diff --git a/apps/studio/Dockerfile b/apps/studio/Dockerfile index 707da8a9a1b..50deeb76971 100644 --- a/apps/studio/Dockerfile +++ b/apps/studio/Dockerfile @@ -31,7 +31,7 @@ WORKDIR /app FROM base AS turbo COPY . . -RUN pnpm dlx turbo@2.8.13 prune studio --docker +RUN pnpm dlx turbo@2.9.3 prune studio --docker # Install dev dependencies (only if needed) FROM base AS deps diff --git a/apps/studio/turbo.jsonc b/apps/studio/turbo.jsonc new file mode 100644 index 00000000000..25d64c35428 --- /dev/null +++ b/apps/studio/turbo.jsonc @@ -0,0 +1,112 @@ +{ + "$schema": "./../../node_modules/turbo/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "env": [ + "ANALYZE", + "CI", + "NEXT_PUBLIC_SUPPORT_API_URL", + "NEXT_PUBLIC_CONTENT_API_URL", + "NEXT_PUBLIC_BASE_PATH", + "NEXT_PUBLIC_STRIPE_PUBLIC_KEY", + "NEXT_PUBLIC_SUPPORT_ANON_KEY", + "NEXT_PUBLIC_ENVIRONMENT", + "NEXT_PUBLIC_IS_PLATFORM", + "NEXT_PUBLIC_SITE_URL", + "NEXT_PUBLIC_API_URL", + "NEXT_PUBLIC_DOCS_URL", + "NEXT_PUBLIC_CONFIGCAT_SDK_KEY", + "NEXT_PUBLIC_CONFIGCAT_PROXY_URL", + "NEXT_PUBLIC_HCAPTCHA_SITE_KEY", + "NEXT_PUBLIC_SUPABASE_URL", + "NEXT_PUBLIC_SUPABASE_ANON_KEY", + "NEXT_PUBLIC_NODE_ENV", + "NEXT_PUBLIC_GOTRUE_URL", + "NEXT_PUBLIC_VERCEL_BRANCH_URL", + "NEXT_PUBLIC_GOOGLE_MAPS_KEY", + "NEXT_RUNTIME", + "NIMBUS_PROD_PROJECTS_URL", + "NIMBUS_PROD_PROJECTS_URL_WS", + "NODE_ENV", + "SUPABASE_URL", + "VERCEL", + "VERCEL_ENV", + "MAINTENANCE_MODE", + // These envs are used in the packages + "NEXT_PUBLIC_STORAGE_KEY", + "NEXT_PUBLIC_AUTH_DEBUG_KEY", + "NEXT_PUBLIC_AUTH_PERSISTED_KEY", + "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", + "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", + "NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID", + "NEXT_PUBLIC_VERCEL_ENV", + "NEXT_PUBLIC_USERCENTRICS_RULESET_ID", + "NEXT_PUBLIC_MCP_URL", + "NEXT_PUBLIC_IS_NIMBUS", + "NEXT_PUBLIC_ONGOING_INCIDENT", + // These envs are technically passthrough env vars because they're only used on the server side of Nextjs + "PLATFORM_PG_META_URL", + "STUDIO_PG_META_URL", + "PG_META_CRYPTO_KEY", + "PGRST_DB_SCHEMAS", + "PGRST_DB_MAX_ROWS", + "PGRST_DB_EXTRA_SEARCH_PATH", + "POSTGRES_PASSWORD", + "POSTGRES_HOST", + "POSTGRES_USER_READ_WRITE", + "POSTGRES_USER_READ_ONLY", + "POSTGRES_DB", + "POSTGRES_PORT", + "READ_ONLY_URL", + "READ_ONLY_API_KEY", + "SUPABASE_SERVICE_KEY", + "SUPABASE_ANON_KEY", + "SUPABASE_PUBLIC_URL", + "DEFAULT_PROJECT_NAME", + "DEFAULT_ORGANIZATION_NAME", + "OPENAI_API_KEY", + "BRAINTRUST_API_KEY", + "BRAINTRUST_PROJECT_ID", + "AUTH_JWT_SECRET", + "LOGFLARE_API_KEY", + "LOGFLARE_PUBLIC_ACCESS_TOKEN", + "LOGFLARE_PRIVATE_ACCESS_TOKEN", + "LOGFLARE_URL", + "SENTRY_ORG", + "SENTRY_PROJECT", + "SENTRY_AUTH_TOKEN", + "NEXT_PUBLIC_SENTRY_DSN", + "AWS_BEDROCK_PROFILE", + "AWS_BEDROCK_ROLE_ARN", + "AWS_ACCESS_KEY_ID", + "AWS_SECRET_ACCESS_KEY", + "FORCE_ASSET_CDN", + "ASSET_CDN_S3_ENDPOINT", + "SITE_NAME", + "VERCEL_URL", + "IS_BRAINTRUST_PUSH", + "GITHUB_HEAD_REF", + "GITHUB_REF_NAME", + "GITHUB_PR_NUMBER", + "IS_THROTTLED", + "AI_PRO_MODEL", + "AI_NORMAL_MODEL", + "SUPPORT_SUPABASE_SECRET_KEY", + "STATUSPAGE_API_KEY", + "STATUSPAGE_PAGE_ID", + "INCIDENT_IO_API_KEY", + "LIVE_SUPABASE_SECRET_KEY", + ], + "passThroughEnv": [ + "CURRENT_CLI_VERSION", + "VERCEL_GIT_COMMIT_REF", + "VERCEL_GIT_COMMIT_SHA", + "SNIPPETS_MANAGEMENT_FOLDER", + "EDGE_FUNCTIONS_MANAGEMENT_FOLDER", + ], + "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*"], + }, + }, +} diff --git a/apps/ui-library/turbo.jsonc b/apps/ui-library/turbo.jsonc new file mode 100644 index 00000000000..dfc1eabc693 --- /dev/null +++ b/apps/ui-library/turbo.jsonc @@ -0,0 +1,31 @@ +{ + "$schema": "./../../node_modules/turbo/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "env": [ + "NEXT_PUBLIC_BASE_PATH", + "NEXT_PUBLIC_APP_URL", + "NEXT_PUBLIC_VERCEL_TARGET_ENV", + "NEXT_PUBLIC_VERCEL_BRANCH_URL", + "NEXT_PUBLIC_API_URL", + "NODE_ENV", + "HIDE_TAILWIND_INDICATOR", + // These envs are used in the packages + "NEXT_PUBLIC_STORAGE_KEY", + "NEXT_PUBLIC_AUTH_DEBUG_KEY", + "NEXT_PUBLIC_AUTH_PERSISTED_KEY", + "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", + "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", + "NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID", + "NEXT_PUBLIC_GOTRUE_URL", + "NEXT_PUBLIC_SUPABASE_ANON_KEY", + "NEXT_PUBLIC_USERCENTRICS_RULESET_ID", + "SUPABASE_MANAGEMENT_API_TOKEN", + "OPENAI_API_KEY", + ], + "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*", ".contentlayer/**"], + }, + }, +} diff --git a/apps/www/turbo.jsonc b/apps/www/turbo.jsonc new file mode 100644 index 00000000000..e6718692a77 --- /dev/null +++ b/apps/www/turbo.jsonc @@ -0,0 +1,79 @@ +{ + "$schema": "./../../node_modules/turbo/schema.json", + "extends": ["//"], + "tasks": { + "build": { + "dependsOn": ["^build"], + "env": [ + "ANALYZE", + "CI", + "CF_ACCESS_CLIENT_ID", + "CF_ACCESS_CLIENT_SECRET", + "NEXT_PUBLIC_MISC_USE_URL", + "NEXT_PUBLIC_MISC_USE_ANON_KEY", + "NEXT_PUBLIC_STUDIO_URL", + "NEXT_PUBLIC_DOCS_URL", + "NEXT_PUBLIC_REFERENCE_DOCS_URL", + "NEXT_PUBLIC_UI_LIBRARY_URL", + "NEXT_PUBLIC_SUPABASE_URL", + "NEXT_PUBLIC_SUPABASE_ANON_KEY", + "NEXT_PUBLIC_VERCEL_ENV", + "NEXT_PUBLIC_VERCEL_BRANCH_URL", + "NEXT_PUBLIC_API_URL", + "NEXT_PUBLIC_HCAPTCHA_SITE_KEY", + "HCAPTCHA_SECRET_KEY", + "NODE_ENV", + "NEXT_PUBLIC_SENTRY_DSN", + "NEXT_PUBLIC_SURVEY_SUPABASE_URL", + "NEXT_PUBLIC_SURVEY_SUPABASE_ANON_KEY", + "VERCEL", + "VERCEL_ENV", + "VERCEL_GIT_COMMIT_SHA", + // These envs are used in the packages + "NEXT_PUBLIC_STORAGE_KEY", + "NEXT_PUBLIC_AUTH_DEBUG_KEY", + "NEXT_PUBLIC_AUTH_PERSISTED_KEY", + "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", + "NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID", + "NEXT_PUBLIC_IS_PLATFORM", + "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", + "NEXT_PUBLIC_GOTRUE_URL", + "NEXT_PUBLIC_BASE_PATH", + "NEXT_PUBLIC_EXAMPLES_SUPABASE_ANON_KEY", + "NEXT_PUBLIC_EXAMPLES_SUPABASE_URL", + "NEXT_PUBLIC_USERCENTRICS_RULESET_ID", + // These envs are technically passthrough env vars because they're only used on the server side of Nextjs + "LIVE_SUPABASE_COM_SERVICE_ROLE_KEY", + "GITHUB_CHANGELOG_APP_ID", + "GITHUB_CHANGELOG_APP_INSTALLATION_ID", + "GITHUB_CHANGELOG_APP_REST_KEY", + "GITHUB_CHANGELOG_APP_PRIVATE_KEY", + "NEXT_PUBLIC_EMAIL_ABUSE_URL", + "EMAIL_ABUSE_SERVICE_KEY", + "HUBSPOT_PORTAL_ID", + "HUBSPOT_ENTERPRISE_FORM_GUID", + "HUBSPOT_PARTNERSHIP_FORM_GUID", + "OPENAI_API_KEY", + "EMAIL_REPORT_SLACK_WEBHOOK", + "npm_lifecycle_event", + "AWS_ACCESS_KEY_ID", + "AWS_SECRET_ACCESS_KEY", + "FORCE_ASSET_CDN", + "ASSET_CDN_S3_ENDPOINT", + "SITE_NAME", + "LUMA_API_KEY", + "NEXT_RUNTIME", + // These env vars are used by some community and marketing integrations + "SENTRY_DSN_COMMUNITY", + "NOTION_SUPASQUAD_API_KEY", + "NOTION_SUPASQUAD_APPLICATIONS_DB_ID", + "NEXT_PUBLIC_SUPASQUAD_APPLICATION_FORM_URL", + "CUSTOMERIO_SITE_ID", + "CUSTOMERIO_API_KEY", + "CUSTOMERIO_APP_API_KEY", + "HUBSPOT_MEETINGS_TOKEN", + ], + "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*", ".contentlayer/**"], + }, + }, +} diff --git a/package.json b/package.json index 4abe4afaf91..8094292eb4f 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "supports-color": "^8.0.0", "tailwindcss": "catalog:", "tsx": "catalog:", - "turbo": "2.3.3", + "turbo": "2.9.3", "typescript": "catalog:", "zod": "catalog:" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4dfcb6c92eb..cccc9c419b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -136,8 +136,8 @@ importers: specifier: 'catalog:' version: 4.20.3 turbo: - specifier: 2.3.3 - version: 2.3.3 + specifier: 2.9.3 + version: 2.9.3 typescript: specifier: 'catalog:' version: 6.0.2 @@ -2319,7 +2319,7 @@ importers: version: 10.1.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1)) eslint-config-turbo: specifier: ^2.5.0 - version: 2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.3.3) + version: 2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.9.3) typescript: specifier: 'catalog:' version: 6.0.2 @@ -17672,41 +17672,11 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - turbo-darwin-64@2.3.3: - resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@2.3.3: - resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@2.3.3: - resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@2.3.3: - resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==} - cpu: [arm64] - os: [linux] - turbo-stream@3.1.0: resolution: {integrity: sha512-tVI25WEXl4fckNEmrq70xU1XumxUwEx/FZD5AgEcV8ri7Wvrg2o7GEq8U7htrNx3CajciGm+kDyhRf5JB6t7/A==} - turbo-windows-64@2.3.3: - resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@2.3.3: - resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==} - cpu: [arm64] - os: [win32] - - turbo@2.3.3: - resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==} + turbo@2.9.3: + resolution: {integrity: sha512-J/VUvsGRykPb9R8Kh8dHVBOqioDexLk9BhLCU/ZybRR+HN9UR3cURdazFvNgMDt9zPP8TF6K73Z+tplfmi0PqQ==} hasBin: true tus-js-client@4.1.0: @@ -29554,11 +29524,11 @@ snapshots: dependencies: eslint: 9.37.0(jiti@2.6.1)(supports-color@8.1.1) - eslint-config-turbo@2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.3.3): + eslint-config-turbo@2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.9.3): dependencies: eslint: 9.37.0(jiti@2.6.1)(supports-color@8.1.1) - eslint-plugin-turbo: 2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.3.3) - turbo: 2.3.3 + eslint-plugin-turbo: 2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.9.3) + turbo: 2.9.3 eslint-import-resolver-node@0.3.9(supports-color@8.1.1): dependencies: @@ -29676,11 +29646,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.3.3): + eslint-plugin-turbo@2.5.8(eslint@9.37.0(jiti@2.6.1)(supports-color@8.1.1))(turbo@2.9.3): dependencies: dotenv: 16.0.3 eslint: 9.37.0(jiti@2.6.1)(supports-color@8.1.1) - turbo: 2.3.3 + turbo: 2.9.3 eslint-scope@5.1.1: dependencies: @@ -31986,7 +31956,7 @@ snapshots: cacache: 18.0.3 http-cache-semantics: 4.1.1 is-lambda: 1.0.1 - minipass: 7.1.2 + minipass: 7.1.3 minipass-fetch: 3.0.5 minipass-flush: 1.0.5 minipass-pipeline: 1.2.4 @@ -36977,35 +36947,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - turbo-darwin-64@2.3.3: - optional: true - - turbo-darwin-arm64@2.3.3: - optional: true - - turbo-linux-64@2.3.3: - optional: true - - turbo-linux-arm64@2.3.3: - optional: true - turbo-stream@3.1.0: optional: true - turbo-windows-64@2.3.3: - optional: true - - turbo-windows-arm64@2.3.3: - optional: true - - turbo@2.3.3: - optionalDependencies: - turbo-darwin-64: 2.3.3 - turbo-darwin-arm64: 2.3.3 - turbo-linux-64: 2.3.3 - turbo-linux-arm64: 2.3.3 - turbo-windows-64: 2.3.3 - turbo-windows-arm64: 2.3.3 + turbo@2.9.3: {} tus-js-client@4.1.0: dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index f5157df661c..6d6cf696718 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -51,6 +51,7 @@ minimumReleaseAgeExclude: - path-to-regexp - brace-expansion - serialize-javascript + - turbo onlyBuiltDependencies: - node-pty diff --git a/turbo.json b/turbo.json deleted file mode 100644 index 8cfe5187f7b..00000000000 --- a/turbo.json +++ /dev/null @@ -1,247 +0,0 @@ -{ - "$schema": "https://turbo.build/schema.json", - "ui": "stream", - "tasks": { - "build": { - "dependsOn": ["^build"], - "outputs": ["dist/**", ".next/**", "!.next/cache/**/*", "!.next/dev/**/*"] - }, - "design-system#build": { - "dependsOn": ["^build"], - "env": [ - "NEXT_PUBLIC_BASE_PATH", - "NEXT_PUBLIC_APP_URL", - // These envs are used in the packages - "NEXT_PUBLIC_STORAGE_KEY", - "NEXT_PUBLIC_AUTH_DEBUG_KEY", - "NEXT_PUBLIC_AUTH_PERSISTED_KEY", - "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", - "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", - "NEXT_PUBLIC_GOTRUE_URL", - "NEXT_PUBLIC_SUPABASE_ANON_KEY" - ], - "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*", ".contentlayer/**"] - }, - "studio#build": { - "dependsOn": ["^build"], - "env": [ - "ANALYZE", - "CI", - "NEXT_PUBLIC_SUPPORT_API_URL", - "NEXT_PUBLIC_CONTENT_API_URL", - "NEXT_PUBLIC_BASE_PATH", - "NEXT_PUBLIC_STRIPE_PUBLIC_KEY", - "NEXT_PUBLIC_SUPPORT_ANON_KEY", - "NEXT_PUBLIC_ENVIRONMENT", - "NEXT_PUBLIC_IS_PLATFORM", - "NEXT_PUBLIC_SITE_URL", - "NEXT_PUBLIC_API_URL", - "NEXT_PUBLIC_DOCS_URL", - "NEXT_PUBLIC_CONFIGCAT_SDK_KEY", - "NEXT_PUBLIC_CONFIGCAT_PROXY_URL", - "NEXT_PUBLIC_HCAPTCHA_SITE_KEY", - "NEXT_PUBLIC_SUPABASE_URL", - "NEXT_PUBLIC_SUPABASE_ANON_KEY", - "NEXT_PUBLIC_NODE_ENV", - "NEXT_PUBLIC_GOTRUE_URL", - "NEXT_PUBLIC_VERCEL_BRANCH_URL", - "NEXT_PUBLIC_GOOGLE_MAPS_KEY", - "NEXT_RUNTIME", - "NIMBUS_PROD_PROJECTS_URL", - "NIMBUS_PROD_PROJECTS_URL_WS", - "NODE_ENV", - "SUPABASE_URL", - "VERCEL", - "VERCEL_ENV", - "MAINTENANCE_MODE", - // These envs are used in the packages - "NEXT_PUBLIC_STORAGE_KEY", - "NEXT_PUBLIC_AUTH_DEBUG_KEY", - "NEXT_PUBLIC_AUTH_PERSISTED_KEY", - "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", - "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", - "NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID", - "NEXT_PUBLIC_VERCEL_ENV", - "NEXT_PUBLIC_USERCENTRICS_RULESET_ID", - "NEXT_PUBLIC_MCP_URL", - "NEXT_PUBLIC_IS_NIMBUS", - "NEXT_PUBLIC_ONGOING_INCIDENT", - // These envs are technically passthrough env vars because they're only used on the server side of Nextjs - "PLATFORM_PG_META_URL", - "STUDIO_PG_META_URL", - "PG_META_CRYPTO_KEY", - "PGRST_DB_SCHEMAS", - "PGRST_DB_MAX_ROWS", - "PGRST_DB_EXTRA_SEARCH_PATH", - "POSTGRES_PASSWORD", - "POSTGRES_HOST", - "POSTGRES_USER_READ_WRITE", - "POSTGRES_USER_READ_ONLY", - "POSTGRES_DB", - "POSTGRES_PORT", - "READ_ONLY_URL", - "READ_ONLY_API_KEY", - "SUPABASE_SERVICE_KEY", - "SUPABASE_ANON_KEY", - "SUPABASE_PUBLIC_URL", - "DEFAULT_PROJECT_NAME", - "DEFAULT_ORGANIZATION_NAME", - "OPENAI_API_KEY", - "BRAINTRUST_API_KEY", - "BRAINTRUST_PROJECT_ID", - "AUTH_JWT_SECRET", - "LOGFLARE_API_KEY", - "LOGFLARE_PUBLIC_ACCESS_TOKEN", - "LOGFLARE_PRIVATE_ACCESS_TOKEN", - "LOGFLARE_URL", - "SENTRY_ORG", - "SENTRY_PROJECT", - "SENTRY_AUTH_TOKEN", - "NEXT_PUBLIC_SENTRY_DSN", - "AWS_BEDROCK_PROFILE", - "AWS_BEDROCK_ROLE_ARN", - "AWS_ACCESS_KEY_ID", - "AWS_SECRET_ACCESS_KEY", - "FORCE_ASSET_CDN", - "ASSET_CDN_S3_ENDPOINT", - "SITE_NAME", - "VERCEL_URL", - "IS_BRAINTRUST_PUSH", - "GITHUB_HEAD_REF", - "GITHUB_REF_NAME", - "GITHUB_PR_NUMBER", - "IS_THROTTLED", - "AI_PRO_MODEL", - "AI_NORMAL_MODEL", - "SUPPORT_SUPABASE_SECRET_KEY", - "STATUSPAGE_API_KEY", - "STATUSPAGE_PAGE_ID", - "INCIDENT_IO_API_KEY", - "LIVE_SUPABASE_SECRET_KEY" - ], - "passThroughEnv": [ - "CURRENT_CLI_VERSION", - "VERCEL_GIT_COMMIT_REF", - "VERCEL_GIT_COMMIT_SHA", - "SNIPPETS_MANAGEMENT_FOLDER", - "EDGE_FUNCTIONS_MANAGEMENT_FOLDER" - ], - "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*"] - }, - "www#build": { - "dependsOn": ["^build"], - "env": [ - "ANALYZE", - "CI", - "CF_ACCESS_CLIENT_ID", - "CF_ACCESS_CLIENT_SECRET", - "NEXT_PUBLIC_MISC_USE_URL", - "NEXT_PUBLIC_MISC_USE_ANON_KEY", - "NEXT_PUBLIC_STUDIO_URL", - "NEXT_PUBLIC_DOCS_URL", - "NEXT_PUBLIC_REFERENCE_DOCS_URL", - "NEXT_PUBLIC_UI_LIBRARY_URL", - "NEXT_PUBLIC_SUPABASE_URL", - "NEXT_PUBLIC_SUPABASE_ANON_KEY", - "NEXT_PUBLIC_VERCEL_ENV", - "NEXT_PUBLIC_VERCEL_BRANCH_URL", - "NEXT_PUBLIC_API_URL", - "NEXT_PUBLIC_HCAPTCHA_SITE_KEY", - "HCAPTCHA_SECRET_KEY", - "NODE_ENV", - "NEXT_PUBLIC_SENTRY_DSN", - "NEXT_PUBLIC_SURVEY_SUPABASE_URL", - "NEXT_PUBLIC_SURVEY_SUPABASE_ANON_KEY", - "VERCEL", - "VERCEL_ENV", - "VERCEL_GIT_COMMIT_SHA", - // These envs are used in the packages - "NEXT_PUBLIC_STORAGE_KEY", - "NEXT_PUBLIC_AUTH_DEBUG_KEY", - "NEXT_PUBLIC_AUTH_PERSISTED_KEY", - "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", - "NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID", - "NEXT_PUBLIC_IS_PLATFORM", - "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", - "NEXT_PUBLIC_GOTRUE_URL", - "NEXT_PUBLIC_BASE_PATH", - "NEXT_PUBLIC_EXAMPLES_SUPABASE_ANON_KEY", - "NEXT_PUBLIC_EXAMPLES_SUPABASE_URL", - "NEXT_PUBLIC_USERCENTRICS_RULESET_ID", - // These envs are technically passthrough env vars because they're only used on the server side of Nextjs - "LIVE_SUPABASE_COM_SERVICE_ROLE_KEY", - "GITHUB_CHANGELOG_APP_ID", - "GITHUB_CHANGELOG_APP_INSTALLATION_ID", - "GITHUB_CHANGELOG_APP_REST_KEY", - "GITHUB_CHANGELOG_APP_PRIVATE_KEY", - "NEXT_PUBLIC_EMAIL_ABUSE_URL", - "EMAIL_ABUSE_SERVICE_KEY", - "HUBSPOT_PORTAL_ID", - "HUBSPOT_ENTERPRISE_FORM_GUID", - "HUBSPOT_PARTNERSHIP_FORM_GUID", - "OPENAI_API_KEY", - "EMAIL_REPORT_SLACK_WEBHOOK", - "npm_lifecycle_event", - "AWS_ACCESS_KEY_ID", - "AWS_SECRET_ACCESS_KEY", - "FORCE_ASSET_CDN", - "ASSET_CDN_S3_ENDPOINT", - "SITE_NAME", - "LUMA_API_KEY", - "NEXT_RUNTIME", - // These env vars are used by some community and marketing integrations - "SENTRY_DSN_COMMUNITY", - "NOTION_SUPASQUAD_API_KEY", - "NOTION_SUPASQUAD_APPLICATIONS_DB_ID", - "NEXT_PUBLIC_SUPASQUAD_APPLICATION_FORM_URL", - "CUSTOMERIO_SITE_ID", - "CUSTOMERIO_API_KEY", - "CUSTOMERIO_APP_API_KEY", - "HUBSPOT_MEETINGS_TOKEN" - ], - "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*", ".contentlayer/**"] - }, - "ui-library#build": { - "dependsOn": ["^build"], - "env": [ - "NEXT_PUBLIC_BASE_PATH", - "NEXT_PUBLIC_APP_URL", - "NEXT_PUBLIC_VERCEL_TARGET_ENV", - "NEXT_PUBLIC_VERCEL_BRANCH_URL", - "NEXT_PUBLIC_API_URL", - "NODE_ENV", - "HIDE_TAILWIND_INDICATOR", - // These envs are used in the packages - "NEXT_PUBLIC_STORAGE_KEY", - "NEXT_PUBLIC_AUTH_DEBUG_KEY", - "NEXT_PUBLIC_AUTH_PERSISTED_KEY", - "NEXT_PUBLIC_AUTH_NAVIGATOR_LOCK_KEY", - "NEXT_PUBLIC_AUTH_DETECT_SESSION_IN_URL", - "NEXT_PUBLIC_GOOGLE_TAG_MANAGER_ID", - "NEXT_PUBLIC_GOTRUE_URL", - "NEXT_PUBLIC_SUPABASE_ANON_KEY", - "NEXT_PUBLIC_USERCENTRICS_RULESET_ID", - "SUPABASE_MANAGEMENT_API_TOKEN", - "OPENAI_API_KEY" - ], - "outputs": [".next/**", "!.next/cache/**", "!.next/dev/**/*", ".contentlayer/**"] - }, - "lint": { - "outputs": [] - }, - "clean": { - "outputs": [], - "cache": false - }, - "dev": { - "cache": false - }, - "test": { - "cache": false - }, - "typecheck": { - "dependsOn": ["^typecheck"], - "outputs": [] - } - } -} diff --git a/turbo.jsonc b/turbo.jsonc new file mode 100644 index 00000000000..c3038ca5b6c --- /dev/null +++ b/turbo.jsonc @@ -0,0 +1,27 @@ +{ + "$schema": "./node_modules/turbo/schema.json", + "ui": "stream", + "tasks": { + "build": { + "dependsOn": ["^build"], + "outputs": ["dist/**", ".next/**", "!.next/cache/**/*", "!.next/dev/**/*"], + }, + "lint": { + "outputs": [], + }, + "clean": { + "outputs": [], + "cache": false, + }, + "dev": { + "cache": false, + }, + "test": { + "cache": false, + }, + "typecheck": { + "dependsOn": ["^typecheck"], + "outputs": [], + }, + }, +}