Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Node + tsx “__name is not a function”-crash
Samenvatting
OpenClaw uitvoeren via Node mettsx mislukt bij het opstarten met:
tsx (commit 2871657e, 2026-01-06). Hetzelfde runtimepad werkte met Bun.
Omgeving
- Node: v25.x (waargenomen op v25.3.0)
- tsx: 4.21.0
- OS: macOS (repro is waarschijnlijk ook mogelijk op andere platforms waarop Node 25 draait)
Repro (alleen Node)
Minimale repro in repo
Controle van Node-versie
- Node 25.3.0: mislukt
- Node 22.22.0 (Homebrew
node@22): mislukt - Node 24: hier nog niet geinstalleerd; verificatie nodig
Opmerkingen / hypothese
tsxgebruikt esbuild om TS/ESM te transformeren. esbuildskeepNamesgeeft een__name-helper uit en omwikkelt functiedefinities met__name(...).- De crash geeft aan dat
__namebestaat, maar tijdens runtime geen functie is, wat impliceert dat de helper voor deze module in het Node 25-loaderpad ontbreekt of wordt overschreven. - Vergelijkbare problemen met de
__name-helper zijn gemeld in andere esbuild-consumenten wanneer de helper ontbreekt of wordt herschreven.
Regressiegeschiedenis
2871657e(2026-01-06): scripts gewijzigd van Bun naar tsx om Bun optioneel te maken.- Daarvoor (Bun-pad) werkten
openclaw statusengateway:watch.
Workarounds
- Gebruik Bun voor dev-scripts (huidige tijdelijke terugdraaiing).
-
Gebruik
tsgovoor typecontrole van de repo en voer daarna de gebouwde uitvoer uit: -
Historische opmerking:
tscwerd hier gebruikt tijdens het debuggen van dit Node/tsx-probleem, maar de typecontrolelanen van de repo gebruiken nutsgo. -
Schakel esbuild keepNames uit in de TS-loader als dat mogelijk is (voorkomt invoeging van de
__name-helper); tsx biedt dit momenteel niet aan. -
Test Node LTS (22/24) met
tsxom te zien of het probleem specifiek is voor Node 25.
Referenties
- https://opennext.js.org/cloudflare/howtos/keep_names
- https://esbuild.github.io/api/#keep-names
- https://github.com/evanw/esbuild/issues/1031
Volgende stappen
- Repro op Node 22/24 om de Node 25-regressie te bevestigen.
- Test
tsxnightly of pin naar een eerdere versie als er een bekende regressie bestaat. - Als dit op Node LTS reproduceert, dien dan upstream een minimale repro in met de
__name-stacktrace.