alchemylab-opencode 1.0.23 → 1.0.24
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.
- package/NODE_COMPAT.md +13 -12
- package/package.json +2 -2
package/NODE_COMPAT.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# OpenCode Node.js Compatibility
|
|
2
2
|
|
|
3
|
-
OpenCode serve mode has been patched to run on Node.js 24+ without Bun.
|
|
3
|
+
OpenCode serve mode has been patched to run on Node.js (22.16+ for the bundle, 24+ for the source) without Bun.
|
|
4
4
|
This document describes what was changed, why, and how to run it.
|
|
5
5
|
|
|
6
6
|
## Quick Start
|
|
7
7
|
|
|
8
8
|
```bash
|
|
9
|
-
#
|
|
9
|
+
# Running the source needs Node.js 24+ (the published bundle runs on 22.16+)
|
|
10
10
|
node --experimental-strip-types --experimental-transform-types \
|
|
11
11
|
--import ./packages/opencode/src/node-preload.mjs \
|
|
12
12
|
packages/opencode/src/serve.ts --port 4096
|
|
@@ -34,18 +34,19 @@ By default, OpenCode stores data in `~/.local/share/opencode/`. The `--data-dir`
|
|
|
34
34
|
|
|
35
35
|
Config and bin cache stay global so user preferences and downloaded tools are shared.
|
|
36
36
|
|
|
37
|
-
##
|
|
37
|
+
## Which Node
|
|
38
38
|
|
|
39
|
-
| Node Version | Status |
|
|
40
|
-
|
|
41
|
-
|
|
|
42
|
-
|
|
|
43
|
-
|
|
|
44
|
-
|
|
|
39
|
+
| Node Version | Status | Why |
|
|
40
|
+
|--------------|--------|-----|
|
|
41
|
+
| 20 | no | no `node:sqlite` |
|
|
42
|
+
| 22.0 to 22.15 | no | drizzle's node-sqlite driver calls `StatementSync.setReturnArrays`, added in 22.16 |
|
|
43
|
+
| 22.16+ | yes | the published bundle (`dist/`) runs as is |
|
|
44
|
+
| 23 | no | V8 crash in async ESM evaluation; end of life |
|
|
45
|
+
| 24+ | yes | also runs the TypeScript source directly (Quick Start above) |
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
The published package is an esbuild bundle, so running it needs no TypeScript
|
|
48
|
+
stripping and no `tsx` (whose `__name` helper broke Effect on 22). Running the
|
|
49
|
+
source directly, as in Quick Start, still needs Node 24's `--experimental-strip-types`.
|
|
49
50
|
|
|
50
51
|
## Architecture
|
|
51
52
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "alchemylab-opencode",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"description": "OpenCode server runtime for AlchemyLab",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"web-tree-sitter"
|
|
92
92
|
],
|
|
93
93
|
"engines": {
|
|
94
|
-
"node": ">=24"
|
|
94
|
+
"node": ">=22.16 <23 || >=24"
|
|
95
95
|
},
|
|
96
96
|
"overrides": {
|
|
97
97
|
"effect": "4.0.0-beta.43",
|