feat: produce single executable binary#18
feat: produce single executable binary#18rtorresware wants to merge 1 commit intotigrisdata:mainfrom
Conversation
|
Thanks for the PR @rtorresware. As I mentioned in the original issue, our current focus at the moment is to add missing features. |
|
@rtorresware thanks for the contribution. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
462a461 to
123fd00
Compare
123fd00 to
8cb8d69
Compare
|
@rtorresware Similar to you what you have implemented, I have drafted a PR that produces binaries using Bun Instead of creating a static registry, I've implemented creation of registry on build time. Also, going forward, we will be maintaining the single binary releases, so the actions are included to add the binaries to releases. Please take a look and let me know what are your thoughts? |
|
@designcode looks great, thanks! |
Leverage bun to produce a single executable binary.
The registry pattern was used so bun could know the code at compile time (required for a single executable binary).
A big portion of the code additions is the
bun.lockfile.Note
Medium Risk
Moderate risk because command discovery/loading behavior changes from dynamic path-based imports to a hardcoded registry, which can break missing/mismapped commands at runtime; otherwise changes are build/tooling oriented.
Overview
Updates
src/cli.tsto stop checking the filesystem and dynamically importing./lib/...command implementations; it now resolves commands viagetModule/hasModule.Adds
src/lib/registry.ts, a statically-imported registry mapping command keys (e.g.iam.policies.get) to their modules to make all code visible at build time for Bun single-binary packaging. Also adds the generatedbun.locklockfile for Bun dependency pinning.Written by Cursor Bugbot for commit 8cb8d69. This will update automatically on new commits. Configure here.