chore: Split turbo configs for apps into their own files (#44085)

This pull request refactors the Turbo build configuration by moving each
app's build settings from the root `turbo.json` file into their own
dedicated `turbo.jsonc` files within each app's directory. The root
configuration is simplified to only include generic tasks, improving
maintainability and clarity.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Updated Turbo to v2.9.3 to improve build performance and stability.
* Reorganized and added per-app build pipeline configurations to
streamline builds and caching across the workspace.
* Removed a Tailwind container-queries plugin from one app's styling
setup.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
Ivan Vasilov authored and GitHub committed 2026-04-02 15:51:16 +02:00
1 parent 792c26aadf
commit 30c16da0e1
14 files changed
+316 -324

No files matched your search

+22
View File
@@ -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/**"],
},
},
}
@@ -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/**"],
},
},
}
+10
View File
@@ -0,0 +1,10 @@
{
"$schema": "./../../node_modules/turbo/schema.json",
"extends": ["//"],
"tasks": {
"build": {
"dependsOn": ["^build"],
"outputs": ["dist/**", ".next/**", "!.next/cache/**/*", "!.next/dev/**/*"],
},
},
}
-1
View File
@@ -10,5 +10,4 @@ export default config({
theme: {
extend: {},
},
plugins: [require('@tailwindcss/container-queries')],
})
+13
View File
@@ -0,0 +1,13 @@
{
"$schema": "./../../node_modules/turbo/schema.json",
"extends": ["//"],
"tasks": {
"build": {
"dependsOn": ["^build"],
"env": [],
"passThroughEnv": [],
"inputs": ["$TURBO_DEFAULT$"],
"outputs": ["build/**"],
},
},
}
+1 -1
View File
@@ -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
+112
View File
@@ -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/**/*"],
},
},
}
+31
View File
@@ -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/**"],
},
},
}
+79
View File
@@ -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/**"],
},
},
}
+1 -1
View File
@@ -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:"
},
+12 -67
View File
@@ -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:
+1
View File
@@ -51,6 +51,7 @@ minimumReleaseAgeExclude:
- path-to-regexp
- brace-expansion
- serialize-javascript
- turbo
onlyBuiltDependencies:
- node-pty
-247
View File
@@ -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": []
}
}
}
+27
View File
@@ -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": [],
},
},
}