8000 vlt-src: vlt built from source on our node + go (byte-matches the npm release) by bryan-minimal · Pull Request #832 · gominimal/pkgs · GitHub
[go: up one dir, main page]

Skip to content

vlt-src: vlt built from source on our node + go (byte-matches the npm release) - #832

Draft
bryan-minimal wants to merge 1 commit into
mainfrom
vlt-from-source-exp
Draft

bryan-minimal wants to merge 1 commit into
mainfrom
vlt-from-source-exp

Conversation

@bryan-minimal
Copy link
Copy Markdown
Member

Draft / experiment. A from-source vlt that uses no prebuilt vlt, no prebuilt esbuild and no prebuilt wasm, built on our node and go. It sits beside the existing vlt (npm tarball) package; nothing switches over.

Chain

  1. esbuild 0.27.7, the exact version vlt's bundler pins, built from source with our go and used via ESBUILD_BINARY_PATH.
  2. Stage 1: vlt runs from its own TypeScript source with its dev launcher, node --experimental-strip-types infra/build/src/bins/vlt.ts. The 34 external runtime deps come from vlt-lock.json at exact versions, installed by our node's npm with --ignore-scripts.
  3. Stage 2: that bootstrap vlt installs vlt's own monorepo from its own lockfile with --allow-scripts=':not(*)'. vlt's default is no scripts, but its repo config allows #esbuild, #tailwindcss and #node-pty. The prebuilt @esbuild/<platform> and @resvg packages (an optional mermaid-PNG wasm) are moved out of the tree.
  4. Bundle: vlt's own release tool (prepack.ts) bundles it with our esbuild, and it's installed like packages/vlt.

Result (aarch64, min package build --rebuild)

  • 106 / 107 files byte-identical to the published vlt-1.3.7.tgz, including every JS file. package.json differs only by publish-time metadata normalization (author and bugs shape).
  • min check: all Pass, including --version, the exact version, and a real-work test (vlt pkg get).

Trust bar

vlt's 34 JS deps and their transitive deps are published JavaScript fetched by integrity hash, not rebuilt from each project's git. Everything executable that we compile ourselves (node, go, esbuild) comes from our hex0-rooted toolchain.

Open

  • An amd64 build (build-bot).
  • Whether this replaces vlt.
  • Mirroring the GitHub source tarballs to gs://.
  • Whether the npm-tarball comparison should become a check rather than a report.

🤖 Generated with Claude Code

…vlt, esbuild or wasm)

Experimental sibling of `vlt` (which installs the npm tarball). Chain:
  1. esbuild 0.27.7 (the exact version vlt's bundler pins) built from source
     with our go, used via ESBUILD_BINARY_PATH instead of npm's prebuilt binary.
  2. Stage 1: vlt runs from its own TypeScript source (its dev launcher:
     node --experimental-strip-types infra/build/src/bins/vlt.ts). Its 34
     external runtime deps come from vlt-lock.json at exact versions, installed
     by our node's npm with --ignore-scripts.
  3. Stage 2: that bootstrap vlt installs vlt's own monorepo from its own
     lockfile with --allow-scripts=':not(*)' (vlt's repo config otherwise
     allows #esbuild/#tailwindcss/#node-pty). Prebuilt @esbuild/<platform> and
     @resvg (optional mermaid PNG wasm) are moved out of the tree.
  4. vlt's own release tool (infra/build/src/prepack.ts) bundles it with our
     esbuild; installed like packages/vlt.

Result (aarch64): 106 of 107 files byte-identical to the published npm
vlt-1.3.7.tgz; package.json differs only by publish-time metadata
normalization (author/bugs shape). min check passes, including --version,
exact-version and a real-work standalone test.

Trust bar, stated plainly: vlt's 34 JS deps (and their transitive deps) are
published JavaScript fetched by integrity, not rebuilt from each project's git.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai
coderabbitai Bot commented Oct 7, 2026
Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

0