Skip to content

feat: add build-binary target to Makefile and implement build script for multiple platforms#302

Closed
2niuhe wants to merge 24 commits into
QwenLM:mainfrom
2niuhe:release
Closed

feat: add build-binary target to Makefile and implement build script for multiple platforms#302
2niuhe wants to merge 24 commits into
QwenLM:mainfrom
2niuhe:release

Conversation

@2niuhe

@2niuhe 2niuhe commented Aug 12, 2025

Copy link
Copy Markdown

TLDR

use bun to build single executable application.

Testing Matrix

🍏 🪟 🐧
npm run
npx
Docker
Podman - -
Seatbelt - -

Linked issues / bugs

halfaipg pushed a commit to AIPowerGrid/grid-code that referenced this pull request Aug 16, 2025
Co-authored-by: Taylor Mullen <ntaylormullen@google.com>
@github-actions github-actions Bot added type/feature-request New feature or enhancement request and removed enhancement labels Oct 17, 2025
- Replace 'tiktoken' with '*.wasm' in esbuild external dependencies.
- Add logic to handle different execution environments (Node vs Bun) in relaunchAppInChildProcess.
- Update Bun build command to version 1.3.4.
- Implement copying of tiktoken wasm file to the distribution directory.
2niuhe and others added 3 commits February 2, 2026 19:57
Resolved conflict in esbuild.config.js by keeping '*.wasm' in external array

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@2niuhe 2niuhe requested a review from DragonnZhang as a code owner March 9, 2026 03:28

@DragonnZhang DragonnZhang left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! ✅ Clean implementation of binary build targets. The relaunch.ts changes properly handle compiled binary execution vs interpreter mode. Minor note: bun@1.3.4 is hardcoded in build_bun_binary.js — consider using a configurable version in a follow-up. — Qwen Code /review

xaelistic pushed a commit to xaelistic/qwen-code that referenced this pull request Jun 7, 2026
Co-authored-by: Taylor Mullen <ntaylormullen@google.com>
@tanzhenxin

Copy link
Copy Markdown
Collaborator

Thanks for this, @2niuhe, and apologies for the long delay in review.

Since this was opened, #3776 shipped standalone archive installation, which addresses the core goal here — running Qwen Code without a local Node.js/npm install — by bundling the official Node.js runtime. That PR intentionally chose the standalone-archive route over the Bun single-file executable, noting the Bun path still needs a separate compatibility pass (runtime assets, optional native deps, Node API behavior, release artifacts/checksums, installer integration).

Given that, I'm closing this PR for now to keep the queue focused. The Bun/SEA direction is still worthwhile, and the installer/release infrastructure from #3776 should be reusable when someone picks up that compatibility pass. Happy to revisit a fresh PR scoped to that. Thanks again for kicking this off! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type/feature-request New feature or enhancement request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Feature Request: Support creating single executable application(SEA).

6 participants