chore(tooling): enforce formatting and refresh TypeScript checks#104239
Conversation
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
Dependency graph changes notedThis PR includes dependency graph changes. The dependency guard is informational because the PR author is a repository admin or a member of
Security review is still recommended before merge when the dependency graph change is intentional. |
|
Codex review: stale review; fresh review needed. Summary Next step |
|
Merged via squash.
|
…nclaw#104239) * chore(tooling): enforce current formatter and refresh checks * chore(tooling): keep release changelog formatter-owned * chore(tooling): retain compatible Node type surface * ci: enforce formatting for docs-only changes * ci: isolate docs formatter check * chore(tooling): apply updated lint and format rules * chore(tooling): satisfy updated switch lint * style(ui): apply Linux formatter layout * test(doctor): match quiet local audio contribution * test(doctor): assert quiet output only * test(doctor): follow restored information contract
…nclaw#104239) * chore(tooling): enforce current formatter and refresh checks * chore(tooling): keep release changelog formatter-owned * chore(tooling): retain compatible Node type surface * ci: enforce formatting for docs-only changes * ci: isolate docs formatter check * chore(tooling): apply updated lint and format rules * chore(tooling): satisfy updated switch lint * style(ui): apply Linux formatter layout * test(doctor): match quiet local audio contribution * test(doctor): assert quiet output only * test(doctor): follow restored information contract
What Problem This Solves
Resolves a tooling gap where repository formatting was only enforced by local hooks, allowing formatter drift to accumulate outside hook-enabled environments. It also updates the exact-pinned TypeScript-native, Oxlint, and Oxfmt toolchain.
Why This Change Was Made
The aggregate local check, CI lint shard, and docs-only CI path now run
format:check. The docs-only gate runs before the job clones the separate ClawHub repository, keeping the formatter scoped to OpenClaw. The change updates exact tool pins, removes the unusedScriptHostlibrary, applies the Oxfmt 0.58 baseline, and resolves the newly enabled Oxlint findings.The audit also confirmed that
scripts/**/*.tscannot be added honestly to the existing project graph as a small config-only change: release and E2E scripts import built artifacts, and the remaining source scripts expose substantial pre-existing type debt. This PR does not hide that debt with weakened compiler settings or exclusions.The attempted Node 22 type-definition pin was also rejected after exact CI proved that it does not model the repository's current crypto, filesystem, and test APIs. The existing Node 26 type surface remains until a dedicated Node-22 compatibility lane can be introduced without weakening project-wide checking.
User Impact
No runtime behavior change. Contributors and CI now get deterministic formatting enforcement, including docs-only changes, and the repository uses current exact-pinned TypeScript/Oxc tooling.
Evidence
git diff --checkclean.