@homeflare/alchemy 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +46 -3
  2. package/package.json +4 -3
package/README.md CHANGED
@@ -3,9 +3,14 @@
3
3
  Custom [Alchemy](https://alchemy.run) providers for gaps the vendor SDK leaves.
4
4
 
5
5
  ```sh
6
- bun add @homeflare/alchemy alchemy cloudflare effect
6
+ bun add @homeflare/alchemy alchemy@2.0.0-beta.77 effect@4.0.0-rc.112 \
7
+ @effect/platform-node@4.0.0-rc.112 cloudflare@4.5.0
7
8
  ```
8
9
 
10
+ ⛔ **Every one of those is required, and you also need an `overrides` block** — see
11
+ [Peers](#peers--and-one-override-you-need) below. The install succeeds without them and
12
+ the import throws.
13
+
9
14
  ★ **Why a custom provider at all.** When Alchemy has no property for something, the
10
15
  alternative is a runbook step a human runs once — and a plan can never show a missing
11
16
  runbook step. Covering the gap with a resource means the drift is visible in `plan` like
@@ -50,13 +55,51 @@ API Key. An empty value fails closed with a message saying so, because an empty
50
55
  a denied grant rather than a missing file, and `Bearer ` + nothing 401s in a way that reads
51
56
  like a bad credential.
52
57
 
53
- ## Peers
58
+ ## Peers — and one override you need
54
59
 
55
- `alchemy` >= 2.0.0-beta.77 · `cloudflare` >= 4.5.0 · `effect` >= 4.0.0-rc.112
60
+ ```sh
61
+ bun add @homeflare/alchemy alchemy@2.0.0-beta.77 effect@4.0.0-rc.112 \
62
+ @effect/platform-node@4.0.0-rc.112 cloudflare@4.5.0
63
+ ```
56
64
 
57
65
  ⚠️ Peers, not dependencies: Alchemy's resource registry and Effect's context both break if
58
66
  two copies load in one process.
59
67
 
68
+ ⛔ **Add this to your `package.json`, or the install works and the import throws:**
69
+
70
+ ```json
71
+ {
72
+ "overrides": {
73
+ "effect": "4.0.0-rc.112",
74
+ "@effect/platform-node": "4.0.0-rc.112",
75
+ "@effect/platform-node-shared": "4.0.0-rc.112",
76
+ "@effect/platform-bun": "4.0.0-rc.112"
77
+ }
78
+ }
79
+ ```
80
+
81
+ 🔴 **Why, measured 2026-09-16 against a clean consumer install of 0.1.0.** Effect's `rc`
82
+ line is not semver-compatible with itself, and two separate skews bite:
83
+
84
+ | what resolves | what happens |
85
+ | ---------------------------------------------------------------- | ------------------------------------------------------ |
86
+ | `effect` → rc.115 | `TypeError: Config.string is not a function` at import |
87
+ | `@effect/platform-node-shared` → rc.115 while `effect` is rc.112 | `Cannot find module 'effect/ByteSize'` |
88
+
89
+ The second is the nastier one: `@effect/platform-bun@rc.112` depends on
90
+ `platform-node-shared` at `^4.0.0-rc.112`, which resolves _up_ to rc.115 — whose own peer
91
+ is `effect@^4.0.0-rc.115`. Nothing fails at install time. An override is the only thing
92
+ that holds the set together.
93
+
94
+ ⚠️ `@effect/platform-node` is **required, not optional**: Alchemy's module graph reaches
95
+ `Cloudflare/Workers/WorkerBridge → @effect/platform-node/NodeServices` even when you only
96
+ import the Proxmox subpath.
97
+
98
+ ⚠️ So is `cloudflare`. It was marked optional in 0.1.1, which claimed the `/cloudflare`
99
+ subpath would degrade without it — measured 2026-09-16, the subpath does not load at all:
100
+ `Cannot find package 'cloudflare'`. An optional peer should mean a feature is absent, not
101
+ that an import fails.
102
+
60
103
  ## License
61
104
 
62
105
  MIT © Timothy Schneider
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homeflare/alchemy",
3
- "version": "0.1.0",
3
+ "version": "0.1.2",
4
4
  "description": "Custom Alchemy providers for Cloudflare, Proxmox, OpenBao, Forgejo and Talos.",
5
5
  "homepage": "https://github.com/taslabs-net/homeflare-kit/tree/main/packages/alchemy#readme",
6
6
  "bugs": "https://github.com/taslabs-net/homeflare-kit/issues",
@@ -50,8 +50,9 @@
50
50
  "access": "public"
51
51
  },
52
52
  "peerDependencies": {
53
- "alchemy": ">=2.0.0-beta.77",
53
+ "@effect/platform-node": "4.0.0-rc.112",
54
+ "alchemy": "2.0.0-beta.77",
54
55
  "cloudflare": ">=4.5.0",
55
- "effect": ">=4.0.0-rc.112"
56
+ "effect": "4.0.0-rc.112"
56
57
  }
57
58
  }