Uh oh!
There was an error while loading. Please reload this page.
chore: dedupe lightningcss and tailwind node bindings - #9331
Merged
Conversation
Contributor
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
Contributor
ApprovabilityA prior Macroscope approval was dismissed. Re-evaluating dc1e2ce… |
juliusmarminge
enabled auto-merge (squash)
September 3, 2026 03:30
The lockfile carried two copies of lightningcss (1.30.1 via uniwind, 1.32.0 via @tailwindcss/node and @expo/metro-config) and two copies of the tailwind family (4.3.0 from the workspaces' ^4.0.0 ranges, 4.3.2 from uniwind's exact pins on @tailwindcss/node and @tailwindcss/oxide). Both are native-binary packages: lightningcss ships 11 platform tarballs per version and @tailwindcss/oxide ships 12, so each duplicate roughly doubles the download and store footprint for no benefit. Pin both families through the catalog and force them with overrides, matching how effect, vite, yaml and @types/node are already handled. lightningcss goes to 1.33.0 so the pending vite-plus 0.3.0 bump (core wants ^1.33.0) also lands on a single copy; tailwind goes to 4.3.3, the newest 4.3.x. Verified: vp i, pnpm dedupe --check no longer lists either family, apps/web build and typecheck, apps/mobile typecheck. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Tailwind 4.3.3 writes achromatic colors as oklch(L 0 none) instead of oklch(L 0 0). Same colors; the generated-output check compares bytes. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
juliusmarmingeforce-pushed
the
chore/dedupe-lightningcss-tailwind
branch
from
September 3, 2026 03:33
0b07673 to
dc1e2ceComparemacroscopeappBot
dismissed
their stale reviewSeptember 3, 2026 03:33
Dismissing prior approval to re-evaluate dc1e2ce
Uh oh!
There was an error while loading. Please reload this page.
github-actionsBot
added a commit
to omarcresp/t3code-flake
that referenced
this pull request
Sep 3, 2026
## What's Changed * chore(ci): only run check-run agents on vouched contributors by @juliusmarminge in pingdotgg/t3code#9298 * fix(web): stop remounting markdown on every activity delta by @juliusmarminge in pingdotgg/t3code#9306 * fix(pull-requests): keep cached PR chrome on reopen by @maria-rcks in pingdotgg/t3code#9294 * feat(environments): draw each environment as the machine it runs on by @juliusmarminge in pingdotgg/t3code#9299 * feat(web): apply and remove labels from the pull request tab by @juliusmarminge in pingdotgg/t3code#9313 * fix(sidebar): collapse settled and snoozed shelves by default by @maria-rcks in pingdotgg/t3code#9314 * refactor(media): unify file and media previews across clients by @juliusmarminge in pingdotgg/t3code#9253 * fix(chat): keep live tool labels in present tense by @maria-rcks in pingdotgg/t3code#9316 * chore: audit lint directives and move plugin allowlists into config by @juliusmarminge in pingdotgg/t3code#9300 * chore(ci): narrow the Effect conventions check-run agent by @juliusmarminge in pingdotgg/t3code#9321 * refactor(mobile): style plain views with Uniwind classes instead of the theme bridge by @juliusmarminge in pingdotgg/t3code#9322 * fix(dev): share dev servers on the loopback Vite actually binds by @juliusmarminge in pingdotgg/t3code#9324 * fix(web): line up the titlebar wordmark label and version pill by @tristanmanchester in pingdotgg/t3code#9255 * fix(web): make the diff layout toggle a persisted setting by @juliusmarminge in pingdotgg/t3code#9326 * chore: dedupe lightningcss and tailwind node bindings by @juliusmarminge in pingdotgg/t3code#9331 * chore: upgrade vite-plus to 0.3.0 by @juliusmarminge in pingdotgg/t3code#9327 * feat(web): add a file tree to the diff panel and pull request code tab by @juliusmarminge in pingdotgg/t3code#9330 * feat(web): add PageUp/PageDown chat navigation by @Yash-Singh1 in pingdotgg/t3code#9315 * fix(web): collapse PR header actions to icons when narrow by @maria-rcks in pingdotgg/t3code#9334 * fix(web): resolve Vite sourcemap and supports warnings by @juliusmarminge in pingdotgg/t3code#9343 * feat(web): choose whether links open in the default browser or in T3 Code by @juliusmarminge in pingdotgg/t3code#9339 * fix(web): add press feedback to buttons by @maria-rcks in pingdotgg/t3code#9349 * feat(web): add customizable project icons by @saphid in pingdotgg/t3code#9137 * fix(mobile): stop indented code overflowing Android chat bubbles by @Adamulek123 in pingdotgg/t3code#9347 * fix(web): let the pull request list use wide screens by @juliusmarminge in pingdotgg/t3code#9351 * feat: display native app and browser icons in work logs by @Yash-Singh1 in pingdotgg/t3code#9093 ## New Contributors * @tristanmanchester made their first contribution in pingdotgg/t3code#9255 **Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260903.1262...v0.0.39-nightly.20260903.1265 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1265
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Lockfile hygiene only, no runtime change.
Problem
pnpm-lock.yamlcarried two copies of two native-binary families. Every consumer's range overlapped, so the duplicates were pure caret drift:lightningcss@tailwindcss/node,@expo/metro-config)tailwindcss@tailwindcss/node@tailwindcss/oxide@tailwindcss/vitelightningcssships 11 platform tarballs per version and@tailwindcss/oxideships 12, so each duplicate roughly doubles the download and store footprint for those packages. The workspaces'tailwindcss: ^4.0.0resolved to 4.3.0 while uniwind's exact pins on@tailwindcss/node@4.3.2and@tailwindcss/oxide@4.3.2pulled in the second copy.Fix
Pin both families through the
catalog:block and force them withoverrides:inpnpm-workspace.yaml, the same pattern already used foreffect,vite,yamland@types/node. Thenvp iregenerated the lockfile.lightningcssgoes to 1.33.0 rather than 1.32.0 so that chore: upgrade vite-plus to 0.3.0 #9327 (vite-plus 0.3.0, whose core wantslightningcss@^1.33.0) also lands on a single copy.@tailwindcss/node@4.3.3bumped itsenhanced-resolverange to^5.24.1, which is why that package moves 5.21.6/5.22.1 -> 5.24.5 in the diff (also collapsing to one copy).Lockfile diff: -412/+152 lines, removes the 4.3.0/4.3.2 and 1.30.1/1.32.0 package + snapshot blocks and rewrites dependents' keys. No new packages.
Deliberately left duplicated
rolldown: unrun pins1.0.0-rc.17exactly, so the two copies cannot be collapsed without overriding a prerelease pin.@oxc-project/types/@oxc-project/runtime: rolldown and vite-plus-core pin with=, same story.pnpm dedupe --checkstill lists unrelated metro / pg / alchemy suggestions; those are out of scope for this PR.Verification
vp icompletespnpm dedupe --checkno longer mentionslightningcssor anytailwindcsspackage (before: 6 lines)grep -oE "^ '?lightningcss@[0-9.]+" pnpm-lock.yaml | sort -u-> one version; same for@tailwindcss/*andtailwindcssapps/web:vp run buildandvp run typecheckpassapps/mobile:vp run typecheckpasses (uniwind consumes lightningcss there)Claude Fable 5 via Claude Code.
🤖 Generated with Claude Code
Note
Low Risk
Dependency and generated-theme output only; no application logic changes, with web/mobile builds reported passing.
Overview
Pins
tailwindcss4.3.3,lightningcss1.33.0, and the@tailwindcss/*stack throughpnpm-workspace.yamlcatalog entries and overrides, replacing overlapping^4.0.0/ mixed 4.3.x resolutions so install pulls one native-binary copy per package instead of two.The lockfile is regenerated: workspace apps (web, mobile, marketing) now resolve the pinned versions,
enhanced-resolvecollapses to 5.24.5, anduniwind’s peer ontailwindcssis satisfied at 4.3.3.apps/mobile/generated-uniwind-themes.cssis updated as a side effect of the bump—achromatic adaptive neutral tokens useoklch(... 0 none)instead ofoklch(... 0 0)(equivalent hue syntax from the newer CSS pipeline).Reviewed by Cursor Bugbot for commit dc1e2ce. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Dedupe
lightningcssandtailwindcssnode bindings via pnpm workspace catalog@tailwindcss/node,@tailwindcss/oxide,@tailwindcss/vite,tailwindcss(4.3.3), andlightningcss(1.33.0) in pnpm-workspace.yamlnoneinstead of0for achromatic neutral hue valuesMacroscope summarized dc1e2ce.