From d85429356efa4144ba0326f5651a9909fd13dbd2 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2026 14:32:57 +0000 Subject: [PATCH 1/2] fix(cli): bundle @e2b/dockerfile-utils from source to avoid release build race Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- .changeset/cli-bundle-dockerfile-utils-src.md | 5 +++++ packages/cli/tsconfig.json | 3 ++- packages/cli/tsdown.config.ts | 8 ++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 .changeset/cli-bundle-dockerfile-utils-src.md diff --git a/.changeset/cli-bundle-dockerfile-utils-src.md b/.changeset/cli-bundle-dockerfile-utils-src.md new file mode 100644 index 0000000000..266dc99a03 --- /dev/null +++ b/.changeset/cli-bundle-dockerfile-utils-src.md @@ -0,0 +1,5 @@ +--- +'@e2b/cli': patch +--- + +Bundle `@e2b/dockerfile-utils` from source so the CLI build no longer races with concurrent workspace package rebuilds during release diff --git a/packages/cli/tsconfig.json b/packages/cli/tsconfig.json index ae2834dc28..d4cb3637bc 100644 --- a/packages/cli/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -18,7 +18,8 @@ "paths": { "src": ["./src/index.ts"], "src/*": ["./src/*"], - "e2b": ["../js-sdk/src"] + "e2b": ["../js-sdk/src"], + "@e2b/dockerfile-utils": ["../dockerfile-utils-js/src"] } }, "exclude": ["dist", "node_modules"] diff --git a/packages/cli/tsdown.config.ts b/packages/cli/tsdown.config.ts index bf4ccffa67..70682681ce 100644 --- a/packages/cli/tsdown.config.ts +++ b/packages/cli/tsdown.config.ts @@ -1,4 +1,5 @@ import { createRequire } from 'node:module' +import { fileURLToPath } from 'node:url' import { defineConfig } from 'tsdown' @@ -21,6 +22,13 @@ export default defineConfig({ dts: false, sourcemap: true, clean: true, + // Bundle from source rather than dist: during a release `changeset publish` + // rebuilds workspace packages concurrently, and their `clean` wipes dist. + alias: { + '@e2b/dockerfile-utils': fileURLToPath( + new URL('../dockerfile-utils-js/src/index.ts', import.meta.url) + ), + }, deps: { // Bundle all runtime dependencies (except those that must stay external) alwaysBundle: Object.keys(packageJSON.dependencies).filter( From 3cedd111f3874daee027d043c77a0582f8ed9bd6 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Tue, 20 Oct 2026 14:49:27 +0000 Subject: [PATCH 2/2] test(cli): resolve @e2b/dockerfile-utils from source in vitest too Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> --- packages/cli/vitest.config.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/cli/vitest.config.ts b/packages/cli/vitest.config.ts index d7ea506624..3cff84e768 100644 --- a/packages/cli/vitest.config.ts +++ b/packages/cli/vitest.config.ts @@ -17,6 +17,10 @@ export default defineConfig({ // already resolve to. Without it `e2b` resolves to the workspace package's // `main`, which only exists once the SDK has been built. e2b: path.resolve(__dirname, '../js-sdk/src'), + '@e2b/dockerfile-utils': path.resolve( + __dirname, + '../dockerfile-utils-js/src/index.ts' + ), }, }, })