fix: marketing site Vercel builds no longer die after ~100 deploys - #4975
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
ApprovabilityVerdict: Approved 555d375 This PR adds a build-time script to clean up stale tsgo backup files that accumulate in Vercel's cached node_modules. The script only runs during the prepare phase and has no runtime impact—it's a straightforward CI/CD maintenance fix. You can customize Macroscope's approvability policy. Learn more. |
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Dismissing prior approval to re-evaluate 555d375
## What's Changed * fix(mobile): support dragged images in the composer by @t3dotgg in pingdotgg/t3code#4953 * fix(mobile): stop long iOS threads from jumping while scrolling up by @t3dotgg in pingdotgg/t3code#4867 * fix(web): keep worktree default when switching a draft's machine by @t3dotgg in pingdotgg/t3code#4964 * perf(mobile): reconnect environments immediately on resume by @t3dotgg in pingdotgg/t3code#4878 * feat(web): pasting a huge screenshot now compresses it instead of erroring by @t3dotgg in pingdotgg/t3code#4967 * feat(web): regenerate thread titles from sidebar by @t3dotgg in pingdotgg/t3code#4810 * fix(web): show server update progress through reconnect by @t3dotgg in pingdotgg/t3code#4903 * feat(search): find threads by conversation content by @t3dotgg in pingdotgg/t3code#4959 * fix: marketing site Vercel builds no longer die after ~100 deploys by @t3dotgg in pingdotgg/t3code#4975 **Full Changelog**: pingdotgg/t3code@v0.0.32-nightly.20260730.955...v0.0.32-nightly.20260730.956 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.32-nightly.20260730.956
Problem
Vercel builds of the marketing site started failing in
preparewith:effect-tsgo patchbacks up the realtsgobinary totsgo.originalon every run, and if that name is taken it writes.original.1,.2, ... without ever cleaning up (confirmed the latest 0.24.3 has the same logic, so upgrading doesn't help). CI is fine because Blacksmith runners start fresh, but Vercel restoresnode_modulesfrom build cache between deploys — so every deploy stacked one more backup until patch hard-failed at 101.Solution
A tiny
scripts/clean-tsgo-backups.mjs(node builtins only) deletes staletsgo.original*backups, andpreparenow runs it beforeeffect-tsgo patch. Deleting them is safe: from the second patch onward the backup is just the previously-patched binary, and pnpm restores the pristine one whenever the package is re-materialized. Verified locally by simulating the cached-rebuild loop — steady state is one backup, no accumulation.Note: the currently-wedged Vercel project still needs one "Redeploy without build cache" to clear the existing pile; this PR keeps it from re-accumulating.
Change authored by Claude Fable 5 via Claude Code.
🤖 Generated with Claude Code
Note
Low Risk
Changes only the prepare hook and a small cleanup script; no runtime app logic, auth, or data paths.
Overview
Vercel marketing builds were failing in
prepareonceeffect-tsgo patchhad created more than 100tsgo.original*backups in cachednode_modules.scripts/clean-tsgo-backups.mjsremoves matching backup files under@typescript/native-previewin the pnpm store (node builtins only), andpreparenow runs it beforeeffect-tsgo patchso backups do not accumulate across deploys. Existing wedged projects still need one redeploy without build cache to clear the current pile.Reviewed by Cursor Bugbot for commit 555d375. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Delete stale tsgo backup files before each build to prevent Vercel deploy failures
Adds clean-tsgo-backups.mjs, a script that globs for tsgo backup binaries in
node_modulesand removes them withrmSync. Thepreparescript in package.json now runs this cleanup beforeeffect-tsgo patchandvp config, preventing the accumulation of backup files that caused builds to fail after ~100 deploys.Macroscope summarized 555d375.