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.
This commit is contained in:
shadcn
2026-07-16 12:02:36 +04:00
committed by GitHub
parent 3a124632a6
commit dd679a6e25
1088 changed files with 74 additions and 131772 deletions
+8
View File
@@ -113,10 +113,18 @@ jobs:
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
run: pnpm install
- name: Build packages
run: pnpm build:packages
# The generated styles under apps/v4/styles are gitignored, and the v4
# typecheck imports them. Build them before typechecking.
- name: Build registry styles
run: pnpm --filter=v4 registry:build --style all
- run: pnpm typecheck