test(js-sdk): run the template test suite on Bun - #1600
Conversation
|
PR SummaryLow Risk Overview Reviewed by Cursor Bugbot for commit 5e5fa83. Bugbot is set up for automated code reviews on this repo. Configure here. |
Package ArtifactsBuilt from 78ef27a. Download artifacts from this workflow run. JS SDK ( npm install ./e2b-2.35.4-bun-template-tests-v2.0.tgzCLI ( npm install ./e2b-cli-2.15.1-bun-template-tests-v2.0.tgzPython SDK ( pip install ./e2b-2.34.0+bun.template.tests.v2-py3-none-any.whl |
There was a problem hiding this comment.
LGTM — straightforward CI config change with no production code impact.
What was reviewed: The one-line addition of --project template to the test:bun script, confirming it mirrors the existing test:deno pattern and relies on the stack-trace frame-selection fix already merged in a prior PR. Checked that no changeset is needed since this only touches a test script, not shipped SDK behavior.
Extended reasoning...
Overview
The entire diff is a single line in packages/js-sdk/package.json: the test:bun script gains --project template, so the Bun CI leg now runs the template vitest project in addition to unit/connectionConfig. No source files, runtime behavior, or public API surface changed.
Security risks
None. This only affects which test suites run under Bun in CI; it has no effect on production code paths, auth, or data handling.
Level of scrutiny
Minimal scrutiny is appropriate — this is a mechanical CI/test-config change that follows an already-established pattern (the Deno leg enabling the same project in #1595). The PR description credibly explains why this now works (frame-selection fix landed in a prior stacked PR) and cites a full local test run.
Other factors
The changeset-bot flag for 'no changeset' is expected and correct here — this is a test-only change with no package version implications, so a changeset is not needed. No other reviewer comments are outstanding.
With frame selection now boundary-based, the fixed-depth stack walk that Bun's tail-call frame elision used to break is gone, so the template suite passes under Bun without runtime-specific workarounds. Add --project template to test:bun, matching the Deno leg (#1595). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
6fecd01 to
5e5fa83
Compare
Description
Adds
--project templatetotest:bunso the Bun CI leg runs the template suite, matching the Deno leg (#1595).No code changes are needed: the template suite previously failed under Bun because Bun's JavaScriptCore elides tail-call frames and the fixed-depth stack walk attributed build errors one frame past the user's call site (the workaround attempt in #1596 was closed in favor of #1599). With #1599's boundary-based frame selection (now merged), the suite passes under Bun as-is.
The CI workflow already passes
E2B_API_KEY/E2B_DOMAINto the Bun leg, and the matrix comment (updated in #1595) already covers Bun re-running API-backed suites, sopackage.jsonis the only change.Testing
Full
test:bun(unit + connectionConfig + template) green locally on Bun 1.3.14 against the real API: 530 passed, 35 skipped, 0 failed — including all 34 stack-trace/caller-directory tests that pin exact user call-site line/columns, the frames Bun used to elide.🤖 Generated with Claude Code