refactor(sdk): build @vercel/sandbox with tsdown dual outputs#84
Merged
LukeSheard merged 4 commits intomainfrom Mar 20, 2026
Merged
refactor(sdk): build @vercel/sandbox with tsdown dual outputs#84LukeSheard merged 4 commits intomainfrom
LukeSheard merged 4 commits intomainfrom
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
TooTallNate
approved these changes
Mar 10, 2026
Member
TooTallNate
left a comment
There was a problem hiding this comment.
Wanted to point out though that the tsdown configuration in the sandbox package is different (outputs .mjs files). Might want to make that consistent, but up to you.
QuiiBz
approved these changes
Mar 11, 2026
Resolve conflicts: keep "type": "module" from branch, take version bump and log streaming improvements from main, use .js extensions in test imports. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace wildcard dist exports with explicit ./dist/auth/index.js subpath export and remove deprecated `bundle: true` option from tsdown config. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pranaygp
added a commit
that referenced
this pull request
Mar 20, 2026
* origin/malte/serde: add workflow-code-runner example app refactor(sdk): build @vercel/sandbox with tsdown dual outputs (#84)
Merged
marc-vercel
added a commit
that referenced
this pull request
Apr 2, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## sandbox@2.5.7 ### Patch Changes - Updated dependencies \[[`cf13a34221c2b83c25c73d94929d05e0a697aecf`](cf13a34), [`772989c59a3c27efa98153cdc54b6e35c1c15eae`](772989c), [`184cd42d8d3b1ea1df354529cb6ba103a33e18d3`](184cd42), [`451c42efb94ab9c9dc330b4742071ac01008044d`](451c42e)]: - @vercel/sandbox@1.9.1 ## @vercel/sandbox@1.9.1 ### Patch Changes - Build and publish both ESM and CJS outputs for the SDK package. ([#84](#84)) - Support useworkflow serialization for sandboxes and commands ([#72](#72)) - Fix a Size mismatch when encoding binaries during write operations ([#127](#127)) - Accept `string` and `Uint8Array` in `writeFiles()` content, not just `Buffer`. ([#128](#128)) ## sandbox-filesystem-snapshots@0.0.12 ### Patch Changes - Updated dependencies \[[`cf13a34221c2b83c25c73d94929d05e0a697aecf`](cf13a34), [`772989c59a3c27efa98153cdc54b6e35c1c15eae`](772989c), [`184cd42d8d3b1ea1df354529cb6ba103a33e18d3`](184cd42), [`451c42efb94ab9c9dc330b4742071ac01008044d`](451c42e)]: - @vercel/sandbox@1.9.1 ## workflow-code-runner@0.1.1 ### Patch Changes - Updated dependencies \[[`cf13a34221c2b83c25c73d94929d05e0a697aecf`](cf13a34), [`772989c59a3c27efa98153cdc54b6e35c1c15eae`](772989c), [`184cd42d8d3b1ea1df354529cb6ba103a33e18d3`](184cd42), [`451c42efb94ab9c9dc330b4742071ac01008044d`](451c42e)]: - @vercel/sandbox@1.9.1 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Marc Codina <marc.codina@vercel.com>
marc-vercel
pushed a commit
that referenced
this pull request
Apr 8, 2026
- migrate `@vercel/sandbox` from custom TypeScript dual-build scripts to `tsdown` with unbundled `esm` + `cjs` outputs - add explicit export-map conditions for root and deep `./dist/*.js` paths so `import` resolves `.js` and `require` resolves `.cjs` - add package export resolution tests to verify Node `import` and `require` behavior, and include a changeset for the SDK package - `pnpm build` (in `packages/vercel-sandbox`) - `pnpm typecheck` (in `packages/vercel-sandbox`) - `pnpm test src/package-exports.test.ts` (in `packages/vercel-sandbox`) --------- Co-authored-by: Luke Phillips-Sheard <luke.phillips-sheard@vercel.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Luke PS <LukeSheard@users.noreply.github.com>
marc-vercel
added a commit
that referenced
this pull request
Apr 8, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. - Updated dependencies \[[`cf13a34221c2b83c25c73d94929d05e0a697aecf`](cf13a34), [`772989c59a3c27efa98153cdc54b6e35c1c15eae`](772989c), [`184cd42d8d3b1ea1df354529cb6ba103a33e18d3`](184cd42), [`451c42efb94ab9c9dc330b4742071ac01008044d`](451c42e)]: - @vercel/sandbox@1.9.1 - Build and publish both ESM and CJS outputs for the SDK package. ([#84](#84)) - Support useworkflow serialization for sandboxes and commands ([#72](#72)) - Fix a Size mismatch when encoding binaries during write operations ([#127](#127)) - Accept `string` and `Uint8Array` in `writeFiles()` content, not just `Buffer`. ([#128](#128)) - Updated dependencies \[[`cf13a34221c2b83c25c73d94929d05e0a697aecf`](cf13a34), [`772989c59a3c27efa98153cdc54b6e35c1c15eae`](772989c), [`184cd42d8d3b1ea1df354529cb6ba103a33e18d3`](184cd42), [`451c42efb94ab9c9dc330b4742071ac01008044d`](451c42e)]: - @vercel/sandbox@1.9.1 - Updated dependencies \[[`cf13a34221c2b83c25c73d94929d05e0a697aecf`](cf13a34), [`772989c59a3c27efa98153cdc54b6e35c1c15eae`](772989c), [`184cd42d8d3b1ea1df354529cb6ba103a33e18d3`](184cd42), [`451c42efb94ab9c9dc330b4742071ac01008044d`](451c42e)]: - @vercel/sandbox@1.9.1 --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Marc Codina <marc.codina@vercel.com>
marc-vercel
added a commit
that referenced
this pull request
Apr 8, 2026
Rebasing `named-sandboxes`. Commits that I am moving: 1. cf13a34 — refactor(sdk): build @vercel/sandbox with tsdown dual outputs (#84) 2. 772989c — Support "use workflow" serialization for Sandbox and Command (#72) 3. cc74dbf — fix(sandbox): read package.json with fs instead of ESM import (#119) 4. a6b8ce9 — feat(skill): update beta documentation for default snapshot expiration (#125) 5. 184cd42 — patch(vercel-sandbox): count length by bytes and not ASCII for binaries (#127) 6. 451c42e — feat(sandbox): accept string and Uint8Array in writeFiles content (#128) 7. ad52dec — Version Packages (#122) 8. b91b9e4 — fix(sandbox): initialize API client in Command before reading output (#130) 9. 28237b8 — refactor(workflow-code-runner): inline Sandbox calls in workflow function (#129) 10. 0786e18 — Version Packages (#131) 11. 9555162 — fix(sandbox): handle abort signal and early stream close in runCommand (#135) 12. db4e5f3 — Version Packages (#137) I had to resolve multiple merge conflicts, specially with the commits 1 and 2. I've also added some tests for them because they were touching `sandbox.ts` for serializing and deserializing, and in this branch we moved most of the logic to `session.ts`. --------- Co-authored-by: Gal Schlezinger <gal@spitfire.co.il> Co-authored-by: Luke Phillips-Sheard <luke.phillips-sheard@vercel.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Luke PS <LukeSheard@users.noreply.github.com> Co-authored-by: Malte Ubl <cramforce@users.noreply.github.com> Co-authored-by: Pranay Prakash <pranay.gp@gmail.com> Co-authored-by: Nathan Rajlich <n@n8.io> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Phil Z <pbzona@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Summary
@vercel/sandboxfrom custom TypeScript dual-build scripts totsdownwith unbundledesm+cjsoutputs./dist/*.jspaths soimportresolves.jsandrequireresolves.cjsimportandrequirebehavior, and include a changeset for the SDK packageValidation
pnpm build(inpackages/vercel-sandbox)pnpm typecheck(inpackages/vercel-sandbox)pnpm test src/package-exports.test.ts(inpackages/vercel-sandbox)