fix(build): fall back to tsx for build TypeScript scripts#91262
Conversation
|
Codex review: needs maintainer review before merge. Reviewed July 6, 2026, 2:17 AM ET / 06:17 UTC. Summary PR surface: Tests +60, Config 0, Other 0. Total +60 across 4 files. Reproducibility: yes. Source inspection shows current main and Review metrics: 1 noteworthy metric.
Stored data model Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the always- Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows current main and Is this the best way to solve the issue? Yes. Using the existing AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against d83ee4c44f95. Label changesLabel justifications:
Evidence reviewedPR surface: Tests +60, Config 0, Other 0. Total +60 across 4 files. View PR surface stats
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
|
Thanks for the review pass. This looks like the review automation timed out rather than finding a concrete issue in the patch:
@clawsweeper re-review |
7803160 to
061e297
Compare
061e297 to
1fbb4e3
Compare
1fbb4e3 to
9f35295
Compare
|
This assigned pull request has been automatically marked as stale after being open for 27 days. |
5b33cc4 to
cbfadef
Compare
|
No description provided. |
23998a1
into
openclaw:main
* origin/main: (1287 commits) fix(android): block loopback canvas navigation (openclaw#99874) fix(hooks): suppress unhandled stdout/stderr stream errors in gmail watcher (openclaw#100519) fix(memory-core): guard qmd mcporter JSON.parse against non-JSON stdout (openclaw#98381) fix(build): fall back to tsx for build TypeScript scripts (openclaw#91262) feat(skills): suggest saving detected reusable workflows by default (openclaw#95477) (openclaw#100692) docs(changelog): remove generated release-note entries feat(telegram): offer BotFather web app flow in setup help and docs (openclaw#100540) fix(ios): unify Talk and Settings row typography on one branded detail row (openclaw#100515) feat(gateway): add persisted crash-loop breaker and fatal-config exit contract refactor(macos): lock and unify PortGuardian tunnel record persistence so concurrent app instances cannot lose orphan records (openclaw#100601) fix: stop reconnecting on protocol mismatch (openclaw#98414) fix(maint): reuse recent hosted gates after rebase (openclaw#100663) fix(ui): reopen web terminals without stale content (openclaw#100665) fix(browser): diagnose empty WSL2 Chrome replies (openclaw#100590) fix(ios): chat snaps back to bottom when scrolling to top via status-bar tap (openclaw#100502) Treat already-compacted CLI compaction as no-op (openclaw#99136) docs(changelog): remove direct main fix entry fix(feishu): strip internal tool-trace banners from outbound text (openclaw#98705) fix(message): thread --limit through to CLI formatter and surface provider pagination hints (openclaw#99089) fix(voyage): close response body stream when batch output JSONL parsing throws (openclaw#98840) ... # Conflicts: # extensions/memory-wiki/package.json
…1262) * fix(build): fall back to tsx for build TypeScript scripts * fix(build): use tsx across TypeScript build scripts --------- Co-authored-by: Steffen Moeller <[email protected]> Co-authored-by: Vincent Koc <[email protected]>
…1262) * fix(build): fall back to tsx for build TypeScript scripts * fix(build): use tsx across TypeScript build scripts --------- Co-authored-by: Steffen Moeller <[email protected]> Co-authored-by: Vincent Koc <[email protected]>
What Problem This Solves
Fixes an issue where developers building OpenClaw from a checkout could hit a late build failure when their Node.js binary did not provide native TypeScript stripping.
Why This Change Was Made
The final head uses the existing pinned
tsxloader consistently for all six TypeScript steps inscripts/build-all.mjsand for the coveredbuild:docker,build:plugin-sdk:strict-smoke, andbuild:strict-smokepackage scripts. This removes the conditional native-strip path and gives every covered build entry point one TypeScript execution contract without changing dependencies, runtime behavior, configuration, migrations, auth, or networking.User Impact
Developers can build OpenClaw from source on Node.js distributions that report
process.features.typescript === false, and supported build paths no longer depend on--experimental-strip-types.Evidence
v24.15.0,process.features.typescript === false.pnpm buildfailed late while invokingscripts/write-plugin-sdk-entry-dts.tswith--experimental-strip-types.cbfadef01acbb5635aea0ec1ec6a76fdeba8a78c, including build artifacts, lint, type checks, Node shards, Windows, security, and QA smoke.node --import tsx, preserve the plugin SDK environment merge, and verify the expectedtsxinvocation counts in the three covered package scripts.