Skip to content

B: Build the xmd binary via deno compile #61

Description

@taras

Part of the executable.md v1 public release milestone.

Build a standalone xmd binary with deno compile. Validated feasible: runs eval + no-eval docs offline; slim flags cut size 274 MB → 86 MB.

Tasks

  • Add a build task to deno.json (root config = full import map; no separate build config file):
    deno compile --node-modules-dir=none --exclude-unused-npm --exclude .opencode --exclude .internal --allow-all --output dist/xmd cli/src/cli.ts
  • Confirm slim binary runs smoke-test/README.md and a StubProvider doc offline (exit 0).
  • Parameterize for the cross-compile matrix (used by the release workflow): aarch64-apple-darwin, x86_64-apple-darwin, x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-pc-windows-msvc.exe; artifacts xmd-<triple>.

Notes

  • Default 274 MB comes from nodeModulesDir: "auto" embedding the whole local node_modules (dev-tool platform binaries). Managed-npm mode fixes it; residual ~65 MB is the Deno runtime.
  • --allow-all for v1 (see permission-proxy follow-up issue).

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    releasev1 public release work

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions