Skip to content

chore(sandbox): publish @bunny.net/sandbox to npm#109

Merged
jamie-at-bunny merged 2 commits into
mainfrom
chore/publish-sandbox-package
Jul 1, 2026
Merged

chore(sandbox): publish @bunny.net/sandbox to npm#109
jamie-at-bunny merged 2 commits into
mainfrom
chore/publish-sandbox-package

Conversation

@jamie-at-bunny

Copy link
Copy Markdown
Member

No description provided.

@bogdan-at-bunny

Copy link
Copy Markdown

@codex review

@changeset-bot

changeset-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5c07f9f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@bunny.net/sandbox Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Comment thread .changeset/publish-sandbox.md Outdated
@greptile-apps

greptile-apps Bot commented Jul 1, 2026

Copy link
Copy Markdown

Greptile Summary

This PR adds a changeset to publish @bunny.net/sandbox (the Magic Containers + SSH SDK) to npm for the first time, and adds the package to the monorepo table in README.md.

  • .changeset/publish-sandbox.md — declares a patch bump for @bunny.net/sandbox, which will trigger the npm publish pipeline.
  • README.md — inserts a new row for packages/sandbox/ in the packages table with an accurate description.

Confidence Score: 4/5

Safe to merge for Bun-only consumers; Node.js users will hit a broken entry point, but the package is intentionally Bun-first.

The README and PR correctly document the package. The one concern is that packages/sandbox/package.json publishes raw TypeScript without a build step or an engines field, unlike the already-published openapi-client. Bun consumers (the intended audience) are unaffected, but Node.js consumers will fail silently on import.

.changeset/publish-sandbox.md is the trigger for the npm publish — the missing engines restriction in packages/sandbox/package.json is the main thing to decide on before the release lands.

Important Files Changed

Filename Overview
.changeset/publish-sandbox.md New changeset triggering a patch-level publish of @bunny.net/sandbox to npm; note that the package exports raw TypeScript and has no build step, unlike the already-published openapi-client sibling.
README.md Adds @bunny.net/sandbox row to the monorepo packages table; description and link are accurate.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[PR merges to main] --> B[Changesets bot detects publish-sandbox.md]
    B --> C[Bump @bunny.net/sandbox patch version]
    C --> D[Resolve workspace:* → concrete @bunny.net/openapi-client version]
    D --> E[npm publish @bunny.net/sandbox]
    E --> F{Consumer runtime?}
    F -->|Bun| G[✅ Imports src/index.ts natively]
    F -->|Node.js| H[❌ Cannot resolve .ts entry point]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[PR merges to main] --> B[Changesets bot detects publish-sandbox.md]
    B --> C[Bump @bunny.net/sandbox patch version]
    C --> D[Resolve workspace:* → concrete @bunny.net/openapi-client version]
    D --> E[npm publish @bunny.net/sandbox]
    E --> F{Consumer runtime?}
    F -->|Bun| G[✅ Imports src/index.ts natively]
    F -->|Node.js| H[❌ Cannot resolve .ts entry point]
Loading

Fix All in Claude Code

Reviews (1): Last reviewed commit: "Update .changeset/publish-sandbox.md" | Re-trigger Greptile

@@ -0,0 +1,5 @@
---
"@bunny.net/sandbox": patch

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 TypeScript-source exports will fail for Node.js consumers

packages/sandbox/package.json exports ./src/index.ts directly (no build script, no dist/), unlike the already-published sibling @bunny.net/openapi-client which compiles to dist/index.js before publishing. Any Node.js consumer who runs npm install @bunny.net/sandbox will get an unresolvable TypeScript entry point. The README.md only shows bun add, so Bun-only seems intentional — but without an engines field (e.g. "engines": { "bun": ">=1.0.0" }) in package.json, npm gives no signal that Node.js is unsupported and the package will silently fail for non-Bun environments.

Fix in Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3a6f526cc3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

"@bunny.net/sandbox": minor
---

Publish @bunny.net/sandbox to npm

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Add sandbox publishing to the release workflow

When this changeset is versioned and merged, the current release workflow still will not publish @bunny.net/sandbox: I checked .github/workflows/release.yml, and the version job only exposes outputs for cli/database-shell/openapi-client/scriptable-dns-types, with publish jobs only for those packages. Since there is no sandbox version check or publish job, this change will bump the package but leave it unpublished on npm, so the stated release action never happens.

Useful? React with 👍 / 👎.

@jamie-at-bunny

Copy link
Copy Markdown
Member Author

@amir-at-bunny let's add the build script in the next version. This is fine to skip for now since we're doing internal testing with the CLI which bundles it for now.

@jamie-at-bunny jamie-at-bunny merged commit e7ba811 into main Jul 1, 2026
2 checks passed
@jamie-at-bunny jamie-at-bunny deleted the chore/publish-sandbox-package branch July 1, 2026 09:00
@github-actions github-actions Bot mentioned this pull request Jul 1, 2026
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.

3 participants