fix(deploy): make main deployable again after the contract package landed #575
No reviewers
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
gmackie/ForgeGraph!575
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/deploy-after-contract-package"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
#574 fixed the Corepack hang, and its deploy got straight past that step, then failed on two things #564 broke that CI doesn't exercise. Production is still serving the 2026-09-09 build; #564, #567 and #571 are merged but unshipped.
1. Web build — webpack can't resolve
.jsimports in@forgegraph/contractThe contract package imports its siblings as
./x.js. ItstscESM output needs that, and TypeScript maps it back to./x.ts. The web app compiles the package from source (its workspaceexportspoint atsrc/), and webpack doesn't make that mapping. The fix isresolve.extensionAliasinnext.config.ts.Why this can't change anything else:
apps/web's own source has zero relative.jsimports.check-events(74) andworker-budget(1) use the same pattern but aren't imported by web code — which is why they never broke.2. Registry build — stale
pnpmDepshashflake.nixpins the registry's fixed-output hash over the whole repo, and #564 movedpnpm-lock.yaml, so every registry redeploy fails withhash mismatch in fixed-output derivation. The value here is thegot:the agent reported on hetzner-fg forfbeca202, exactly as the flake comment instructs. This PR doesn't touch the lockfile, so it stays valid. (The running registry is unaffected: it's on the gcrootedl3y43xawbuild.)Verified
On a fresh install at
fbeca202,next build --webpackfails with the same two errors as the deploy, and succeeds with the alias (216 pages).How it got through
CI runs typecheck, lint, unit tests and the Storybook build, but never
next buildforapps/web. A build step would have caught this; it wasn't added here because it costs runner time and memory on tight runners.🤖 Generated with Claude Code
Preview environment is live: https://pr-575-forgegraph.forgegraf.com
Deployed
caf1da43with the beta stage's environment. It redeploys on every push and is destroyed when this PR closes.