2023-01-24 19:51:29 +04:00
|
|
|
{
|
|
|
|
|
"$schema": "https://turbo.build/schema.json",
|
|
|
|
|
"globalEnv": ["NODE_ENV"],
|
2026-06-10 11:10:01 +04:00
|
|
|
"tasks": {
|
2023-01-24 19:51:29 +04:00
|
|
|
"build": {
|
|
|
|
|
"dependsOn": ["^build"],
|
|
|
|
|
"env": [
|
|
|
|
|
"NEXT_PUBLIC_APP_URL",
|
|
|
|
|
"UPSTASH_REDIS_REST_URL",
|
2023-03-08 11:37:15 +04:00
|
|
|
"UPSTASH_REDIS_REST_TOKEN",
|
2023-06-22 22:44:52 +04:00
|
|
|
"COMPONENTS_REGISTRY_URL",
|
2024-08-31 01:54:48 +04:00
|
|
|
"REGISTRY_URL",
|
2023-06-22 22:44:52 +04:00
|
|
|
"npm_config_user_agent",
|
2024-03-22 21:39:33 +04:00
|
|
|
"https_proxy",
|
|
|
|
|
"V0_URL",
|
|
|
|
|
"V0_EDIT_SECRET",
|
|
|
|
|
"DEPLOYMENT_PROTECTION_BYPASS"
|
2023-01-24 19:51:29 +04:00
|
|
|
],
|
chore(v4): stop tracking generated styles (#11190)
* chore(v4): stop tracking generated styles
Phase 2 of generated-output untracking (follows #11189). The compiled
style sources under apps/v4/styles (base-*/radix-*, ~1,080 files) are
produced by registry:build (copyUIToStyles + RTL) on every deploy, so
the committed copies were redundant. Only styles/README.md stays
tracked.
Unlike public/r/styles, these are imported modules, so:
- code-check.yml: the typecheck job now runs
`registry:build --style all` (the fast targeted build) after
installing Bun, since v4 typecheck imports @/styles/*.
- next.config.mjs: fail fast in dev with the regeneration command when
the styles are missing, instead of a module-not-found cascade.
- .prettierignore: skip styles/ — targeted builds intentionally skip
prettier on generated output.
- turbo.json: declare public/r/styles/** and styles/** as build
outputs so a turbo cache replay of v4#build restores them (also
fixes a latent phase-1 gap where a cache hit could deploy without
registry JSON).
Fresh clones: run `pnpm --filter=v4 registry:build --style all` once
(~50s) before next dev; see styles/README.md.
* docs: document untracked generated styles in CONTRIBUTING
* fix(v4): register gitignored styles as tailwind sources
Tailwind v4's source detection skips gitignored files, so untracking
styles/ dropped every utility class that only appears in the generated
output — progress bars collapsed (h-1), radio indicators and bubble
radii lost their styles.
An explicit @source glob only overrides .gitignore when the path
through the ignored level is literal: ../styles/**/*.tsx gets pruned
at the ignored directory, while ../styles/base-nova/**/*.tsx is
scanned. Register each generated style explicitly. When adding a new
style, add a line here.
Verified byte-identical CSS output against an unrestricted scan.
2026-07-16 12:02:36 +04:00
|
|
|
"outputs": [
|
|
|
|
|
"dist/**",
|
|
|
|
|
".next/**",
|
|
|
|
|
"!.next/cache/**",
|
|
|
|
|
"public/r/styles/**",
|
|
|
|
|
"styles/**"
|
|
|
|
|
]
|
2023-01-24 19:51:29 +04:00
|
|
|
},
|
|
|
|
|
"preview": {
|
|
|
|
|
"env": ["NEXT_PUBLIC_APP_URL"],
|
|
|
|
|
"outputs": ["dist/**", ".next/**"]
|
|
|
|
|
},
|
2023-03-08 13:24:16 +04:00
|
|
|
"start": {
|
|
|
|
|
"dependsOn": ["^build"]
|
|
|
|
|
},
|
2023-01-24 19:51:29 +04:00
|
|
|
"lint": {
|
2023-03-08 13:24:16 +04:00
|
|
|
"cache": false,
|
2023-01-24 19:51:29 +04:00
|
|
|
"outputs": []
|
|
|
|
|
},
|
2023-04-17 19:19:40 +04:00
|
|
|
"lint:fix": {
|
|
|
|
|
"cache": false,
|
|
|
|
|
"outputs": []
|
|
|
|
|
},
|
2023-02-10 11:15:33 +04:00
|
|
|
"format:check": {
|
2023-03-08 13:24:16 +04:00
|
|
|
"cache": false,
|
2023-02-10 11:15:33 +04:00
|
|
|
"outputs": []
|
|
|
|
|
},
|
2023-04-17 19:19:40 +04:00
|
|
|
"format:write": {
|
|
|
|
|
"outputs": []
|
|
|
|
|
},
|
2023-02-10 11:15:33 +04:00
|
|
|
"typecheck": {},
|
2023-01-24 19:51:29 +04:00
|
|
|
"dev": {
|
2026-06-10 11:10:01 +04:00
|
|
|
"cache": false,
|
|
|
|
|
"persistent": true
|
2023-03-08 13:24:16 +04:00
|
|
|
},
|
|
|
|
|
"check": {
|
|
|
|
|
"cache": false
|
2023-06-22 22:44:52 +04:00
|
|
|
},
|
|
|
|
|
"test": {
|
2026-04-16 14:22:28 +04:00
|
|
|
"dependsOn": ["^build"],
|
2023-06-22 22:44:52 +04:00
|
|
|
"cache": false,
|
|
|
|
|
"outputs": []
|
2025-03-13 13:06:08 +04:00
|
|
|
},
|
|
|
|
|
"registry:build": {
|
2025-12-12 21:01:44 +04:00
|
|
|
"outputs": []
|
2026-08-25 15:49:59 +04:00
|
|
|
},
|
|
|
|
|
"registry:health": {
|
|
|
|
|
"dependsOn": ["^build"],
|
|
|
|
|
"cache": false,
|
|
|
|
|
"env": ["MONITOR_MODE"],
|
|
|
|
|
"passThroughEnv": [
|
|
|
|
|
"BLOB_READ_WRITE_TOKEN",
|
|
|
|
|
"VERCEL_OIDC_TOKEN",
|
|
|
|
|
"BLOB_STORE_ID",
|
|
|
|
|
"GITHUB_STEP_SUMMARY"
|
|
|
|
|
],
|
|
|
|
|
"outputs": []
|
|
|
|
|
},
|
|
|
|
|
"registry:health:prepare": {
|
|
|
|
|
"dependsOn": ["^build"],
|
|
|
|
|
"cache": false,
|
|
|
|
|
"passThroughEnv": [
|
|
|
|
|
"BLOB_READ_WRITE_TOKEN",
|
|
|
|
|
"VERCEL_OIDC_TOKEN",
|
|
|
|
|
"BLOB_STORE_ID"
|
|
|
|
|
],
|
|
|
|
|
"outputs": []
|
|
|
|
|
},
|
|
|
|
|
"registry:health:check": {
|
|
|
|
|
"dependsOn": ["^build"],
|
|
|
|
|
"cache": false,
|
|
|
|
|
"env": ["MONITOR_MODE"],
|
|
|
|
|
"outputs": []
|
|
|
|
|
},
|
|
|
|
|
"registry:health:publish": {
|
|
|
|
|
"dependsOn": ["^build"],
|
|
|
|
|
"cache": false,
|
|
|
|
|
"passThroughEnv": [
|
|
|
|
|
"BLOB_READ_WRITE_TOKEN",
|
|
|
|
|
"VERCEL_OIDC_TOKEN",
|
|
|
|
|
"BLOB_STORE_ID",
|
|
|
|
|
"GITHUB_STEP_SUMMARY"
|
|
|
|
|
],
|
|
|
|
|
"outputs": []
|
2023-01-24 19:51:29 +04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|