You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Root postcss.config.mjs names two plugins the repo root can neither resolve nor declare (@tailwindcss/postcss, postcss) #4065
Out-of-scope finding from implementing #3891 (PR #4064). Not fixed there — #3891's declared surface is packages/cli/src/commands/doctor.ts only. Surfaced by the fixed objectui doctor, which is how it was noticed.
Fact (verified on origin/main @ 11c1e71, in a fresh worktree after pnpm install)
The repo-root postcss.config.mjs registers two plugins:
The root package.json declares tailwindcss and autoprefixer, but not@tailwindcss/postcss and notpostcss. Under pnpm's isolated node_modules neither is reachable from the root either. Measured with Node's own resolver from the root package.json:
So if any tool run at the repo root discovers this config, loading it fails at the first plugin. The fixed objectui doctor reports exactly that when run at the root:
x Tailwind CSS 4 needs @tailwindcss/postcss, which is neither declared nor
installed here. ...
Counter-probe that the measurement is sound: the same resolver call from apps/console and examples/console-starterdoes resolve @tailwindcss/postcss (to node_modules/.pnpm/@tailwindcss+postcss@4.3.3/...), because those packages declare it. Only the root is short.
Why this is filed as observation-class
Every app and package that actually builds CSS carries its own postcss.config.* next to its sources (apps/console, apps/site, packages/components, packages/runner, examples/* — 7 in total including this one) and declares the plugin, so PostCSS discovery normally stops before reaching the root. No build is failing today. What is unclear — and worth a maintainer's judgement rather than mine — is whether the root config is vestigial (nothing has ever consumed it, in which case deleting it is the fix) or a latent trap (some tool run from the root would pick it up, in which case the two missing devDependencies are the fix). I did not chase which, because deciding it is outside #3891.
Note the two are not interchangeable fixes: deleting the file and adding the dependencies lead to different end states, and the right one depends on that consumption question.
Search performed
Open issues in this repo, three passes: postcss config root autoprefixer (0 hits), tailwindcss postcss (#3891, #4062, #3892, #3883, #3884 — all different surfaces: doctor, the init scaffold, docs pages), tailwind.config (#3883, #3891). Nothing covers the root postcss.config.mjs.
Findings triage: promoted with the delete direction — finding → pm:queue.
Premise check (origin/main @ 9154d9e): the root postcss.config.mjs is live and is the only root-level CSS-adjacent file in the tree (git ls-tree shows no root .css/.html at all); root package.json still declares neither @tailwindcss/postcss nor postcss.
Resolving the card's vestigial-vs-latent-trap question: vestigial, measurably. Two mechanical facts close it: (1) every root script builds through per-package filters (pnpm --filter ... / turbo run build) — nothing processes CSS at the root, and there are no root sources to process; (2) any package that built CSS without its own nearer config would discover this one and fail on the first unresolvable plugin — so no working consumer can exist today by construction. A file whose only possible consumers would already be broken is residue, not a trap. Fix = delete postcss.config.mjs; do not add the two devDependencies (that would wire in a config nothing needs).
Activity
os-zhuang commentedon Aug 10, 2026
Findings triage: promoted with the delete direction —
finding→pm:queue.origin/main@9154d9e): the rootpostcss.config.mjsis live and is the only root-level CSS-adjacent file in the tree (git ls-treeshows no root.css/.htmlat all); rootpackage.jsonstill declares neither@tailwindcss/postcssnorpostcss.pnpm --filter .../turbo run build) — nothing processes CSS at the root, and there are no root sources to process; (2) any package that built CSS without its own nearer config would discover this one and fail on the first unresolvable plugin — so no working consumer can exist today by construction. A file whose only possible consumers would already be broken is residue, not a trap. Fix = deletepostcss.config.mjs; do not add the two devDependencies (that would wire in a config nothing needs).apps/consoleandexamples/byo-backend-consolestill track atailwind.config.*that Tailwind 4 never reads — v3contentarrays, zero@configin the repo #4066 (same dead-Tailwind-config family, same discovering PR fix(cli): objectui doctor diagnoses Tailwind 4 instead of Tailwind 3 #4064) — one dev can reasonably take both.@object-ui/* ^2.0.0(平台包实际 17.3.0)、vite ^7.3.1 / ts ^5.9.3 落后仓内,外加一份 v4 读不到的 tailwind.config.js #3892 is generator-scaffold output, different surface.本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
yinlianghui commentedon Aug 11, 2026
CLAIM(与 #4066 并卡,按 triage 的"一 dev 两卡"建议) — session
session_017Qqyix2QcnpUC9XeYVDzx3,dispatching now。Branch:claude/issue-4065-4066-dead-tailwind-configs。本卡方向按 triage 裁定执行:删 rootpostcss.config.mjs,不加两个 devDependencies(vestigial 已被机械论证:root 无 CSS 源、所有构建走 per-package filter、任何可能的消费者都会在第一个不可解析插件上先炸)。#4066 的两个 tailwind.config.* 按 measure-then-delete(先核对 theme.extend 是否有 CSS 入口未覆盖的真实设置,有则移植@theme,再删)。一 PR 双关。Generated by Claude Code
chore(config): delete three Tailwind config files nothing reads (obje…