Release | Ship a lean esbuild pack instead of the full tree - #85
Conversation
Bundle the client, server, and extract script with esbuild so releases no longer ship node_modules, cutting the artifact by an order of magnitude. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Essentials Run ID: 📒 Files selected for processing (5)
Included review availability: This review used your included allowance. 4 included reviews remain after this review. Your included PR review attempts over the past 7 days set your current allowance at 5 reviews per hour. 📝 WalkthroughWalkthroughThe release workflow now runs Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to No actionable merge-blocking issue remains. Session creation still requires the documented configuration, while health checks can run without credentials. The change is mergeable subject to normal build and test checks. 🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
Comment |
Summary
Release artifacts were shipping nearly the whole repo (including
node_modules). This switches release packaging to the same lean esbuild pack used in CosmoMail: a minified client bundle, single-file server and extract scripts, and the static files Express serves.Changes
npm run packbuildsdist/anddist.tar.gzwith nonode_modulesnpm run pack, and uploads that tarball/api/healthplus Octavus URL/key fallbacks so the pack smoke test can import the bundled server without a full.envExtract
dist.tar.gzinto its own directory, addchat-config.jsonand.env, thennode server.js.Test plan
npm testnpm run packsucceeds and prints a ~1–2 MBdist.tar.gz.env+chat-config.json, runnode server.js, hit/api/health