From 381e3470f87a50cae92cbff2075f505348d33d4b Mon Sep 17 00:00:00 2001 From: JeremyFunk Date: Wed, 30 Sep 2026 14:17:06 +0200 Subject: [PATCH 1/2] fix(effect-sdk): publish with effect rc.118's stable http/observability paths rc.118 moved effect/unstable/{http,observability} to effect/{http,observability} with no aliases, so importing the published SDK threw ERR_MODULE_NOT_FOUND. The monorepo stays on rc.117, so the source keeps the unstable paths and prepack rebuilds the tarball with them rewritten; postpack restores the in-repo build. Peer range moves to >=4.0.0-rc.118. --- packages/effect-sdk/README.md | 2 +- packages/effect-sdk/package.json | 4 +++- packages/effect-sdk/tsdown.config.ts | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/effect-sdk/README.md b/packages/effect-sdk/README.md index 9b03e401c5..43b2115e7a 100644 --- a/packages/effect-sdk/README.md +++ b/packages/effect-sdk/README.md @@ -51,7 +51,7 @@ The Workers preset uses a custom flushable tracer + Effect logger — Workers do ```typescript import * as MapleCloudflareSDK from "@maple-dev/effect-sdk/cloudflare" import { Layer } from "effect" -import { HttpRouter } from "effect/unstable/http" +import { HttpRouter } from "effect/http" const telemetry = MapleCloudflareSDK.make({ serviceName: "my-worker", diff --git a/packages/effect-sdk/package.json b/packages/effect-sdk/package.json index a09cab66f8..77cde7b7c5 100644 --- a/packages/effect-sdk/package.json +++ b/packages/effect-sdk/package.json @@ -55,6 +55,8 @@ }, "scripts": { "build": "tsdown", + "prepack": "MAPLE_EFFECT_STABLE_PATHS=1 bun run build", + "postpack": "bun run build", "typecheck": "tsc --noEmit", "test": "vitest run" }, @@ -72,6 +74,6 @@ "vitest": "catalog:" }, "peerDependencies": { - "effect": ">=4.0.0-rc.113" + "effect": ">=4.0.0-rc.118" } } diff --git a/packages/effect-sdk/tsdown.config.ts b/packages/effect-sdk/tsdown.config.ts index cb9ff0a72b..3c4380dc3b 100644 --- a/packages/effect-sdk/tsdown.config.ts +++ b/packages/effect-sdk/tsdown.config.ts @@ -1,5 +1,11 @@ import { defineConfig } from "tsdown" +// Effect rc.118 promoted `effect/unstable/{http,observability}` to +// `effect/{http,observability}` and dropped the old paths. The monorepo still +// builds against an earlier rc, so the source keeps the unstable paths and the +// published tarball (`prepack`) is built with them rewritten. +const stableEffectPaths = process.env.MAPLE_EFFECT_STABLE_PATHS === "1" + export default defineConfig({ entry: { "index.server": "./src/index.server.ts", @@ -18,4 +24,14 @@ export default defineConfig({ deps: { neverBundle: ["effect"], }, + plugins: stableEffectPaths + ? [ + { + name: "maple:effect-stable-paths", + renderChunk(code) { + return code.replaceAll(/(["'])effect\/unstable\//g, "$1effect/") + }, + }, + ] + : [], }) From e794e79bd8d7f61065a7b4143d81cb9581e418ff Mon Sep 17 00:00:00 2001 From: JeremyFunk Date: Wed, 30 Sep 2026 14:23:20 +0200 Subject: [PATCH 2/2] chore: update bun.lock for the effect-sdk peer bump --- bun.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bun.lock b/bun.lock index 2ee3f61ad9..0e5e9d84b2 100644 --- a/bun.lock +++ b/bun.lock @@ -776,7 +776,7 @@ "vitest": "catalog:", }, "peerDependencies": { - "effect": ">=4.0.0-rc.113", + "effect": ">=4.0.0-rc.118", }, }, "packages/email": {