GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Add native bun.lockb patching for hosted and vendored modes by mikolalysenko · Pull Request #246 · SocketDev/socket-patch

Conversation

@mikolalysenko

@mikolalysenko Mikola Lysenko (mikolalysenko) commented Sep 22, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

Binary Bun projects previously required conversion to a text lockfile for hosted patches and could not be vendored. This adds native parsing and rewriting of bun.lockb formats 1–3 for hosted patches, vendoring, transitions between those modes, repair, and scoped rollback.

Direct binary patching is the default and only bun.lockb path. Remove the binary-to-text conversion code, legacy migration-ledger replay, migration warnings, conversion tests, and obsolete documentation. Retain text bun.lock support and hosted ↔ vendored mode transitions; binary projects remain binary through patching and rollback.

Preserve package identity, dependency topology, metadata, integrity, and Bun's lock hash. Handle historical binary format upgrades, workspace representations, production dependency filtering, and workspace-local tarballs for older readers. Invalid or drifted binary state refuses before mutation.

Validation on final commit f3ad1c5:

  • All 200 PR checks passed. Main CI and Bun compatibility are successful.
  • Full local workspace suite: 7,317 passed, zero failed, 99 ignored across 239 suites. Clippy passed across the workspace with all features and warnings denied. The final two assertion-only cleanup tests also passed.
  • All 79 native binary writer/reader pairs passed: 25 on Ubuntu 22.04, 16 on Ubuntu latest, 25 on macOS, and 13 on Windows. The matrix covers 17 Bun releases, including complex production dependencies, transitives, bins, scripts, dev dependencies, and both scoped rollback orders.
  • All 3,015 public-service compatibility cases passed across 45 OS/release jobs: 2,784 accepted flows and 231 expected text-workspace refusals. The final results used zero harness per-case retries.
  • Two Windows public-service jobs initially encountered explicit upstream HTTP 503 responses while downloading prebuilt tarballs. Their isolated CI reruns passed on the same commit with unchanged code and assertions; original failure evidence was retained.

Historical Linux readers run on Ubuntu 22.04 because official Bun 0.5.9–0.6.8 binaries segfault during pristine installs on the Ubuntu 24.04 runner, before Socket Patch runs. All historical acceptance cases remain required, and newer releases also run on Ubuntu latest.

See docs/testing/bun-compatibility.md for the matrix, historical reader limits, and reproducible commands. Bun versions before 0.5.9 cannot install tarball resolutions; their binary locks are validated with compatible newer readers.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Mikola Lysenko (mikolalysenko) added 7 commits September 21, 2026 17:21
@mikolalysenko
feat(bun): support native binary lockfile patching
b13071a
@mikolalysenko
test: make Bundler setup checks independent of host tools
1b33025
@mikolalysenko
test: fix cross-platform Bun fixtures and CI isolation
8562c43
@mikolalysenko
fix: preserve historical Bun production installs in binary locks
9644add
@mikolalysenko
ci: test historical Bun releases on Ubuntu 22.04
2c3f745
@mikolalysenko
docs: record complete native Bun validation results
44d2cb2
@mikolalysenko
refactor: remove Bun binary-to-text migration compatibility
045865b
@mikolalysenko Mikola Lysenko (mikolalysenko) changed the title Add native bun.lockb patching, vendoring, and hosted migration Add native bun.lockb patching for hosted and vendored modes Sep 22, 2026
@mikolalysenko
test: remove obsolete Bun conversion assertions
f3ad1c5
Wenxin-Jiang
Wenxin Jiang (Wenxin-Jiang) approved these changes Sep 22, 2026
View reviewed changes
@mikolalysenko
Mikola Lysenko (mikolalysenko) merged commit 9489b18 into main Sep 22, 2026
250 of 252 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@mikolalysenko
Mikola Lysenko (mikolalysenko) deleted the feat/native-bun-lockb branch September 22, 2026 14:54
@mikolalysenko Mikola Lysenko (mikolalysenko) mentioned this pull request Oct 3, 2026
Vendored pnpm with two or more packages: vendor --revert and rollback leave an empty pnpm.overrides in package.json and (lockfile 9.0) a scaffolded pnpm-workspace.yaml behind #636
Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@Wenxin-Jiang Wenxin Jiang (Wenxin-Jiang) Wenxin-Jiang approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@mikolalysenko @Wenxin-Jiang
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.