Moved from wayBetter for X; an app passes its own origin, process name, scripts and fixtures. |
||
|---|---|---|
| .. | ||
| close-check.ps1 | ||
| native-stale-shortcut-check.mjs | ||
| native-stress-watch.ps1 | ||
| native-tab-stress.mjs | ||
| native-webview-stress.mjs | ||
| perf-probe.mjs | ||
| README.md | ||
| resize-perf.mjs | ||
| runtime-start-check.mjs | ||
| window-resize.ps1 | ||
dev-tools
Development harnesses for a wayBetter app. They are not part of the npm package and nothing here ships in an app: they probe a build you start yourself. Each file's header says exactly what it does and what it never does (site pages are only read and reloaded, never clicked; nothing is uploaded; the owner's session is not touched unless the header says a disposable profile is needed).
An app calls them with its own values. wayBetter for X keeps thin wrappers
(apps/desktop/scripts/*, verification/live-check/*) that pass X's origin, process name, theme
commands, scripts and fixtures.
| Tool | Runs against | What it measures or checks |
|---|---|---|
perf-probe.mjs (runPerfProbe) |
headless Chromium, the app's injected scripts, the app's fixtures | script evaluation time, fetch/XHR wrapper layers and overhead, Response clones, large JSON parses, observer / rAF / timer work of the scripts, long tasks |
runtime-start-check.mjs (runtimeStartCheck) |
headless Chromium, the built page runtime, static fixtures | the runtime installs at document start; every feature flag on, off, default without a console or page error |
resize-perf.mjs |
a running release build with a WebView2 CDP port | theme (first paint vs. theme applied), drag (divider drag: shell frames, tabs_sync, native lag), switch (click to tab visible), window (with window-resize.ps1) |
window-resize.ps1 |
the app's window (Windows) | a repeatable ~2 s resize workload; never activates the window |
close-check.ps1 |
the app's release exe (Windows) | the app exits on a plain taskkill /PID in every window state and on a simulated sign-out |
native-tab-stress.mjs |
a running build with a CDP port | opens shell start tabs, measures responsiveness, closes them |
native-webview-stress.mjs |
a running build with a CDP port, a fresh WebView2 profile | ramps native site tabs (6, 12, 24) and records process memory; stops at a memory limit |
native-stress-watch.ps1 |
the app's process tree (Windows) | independent CPU and memory telemetry while a stress run is going |
native-stale-shortcut-check.mjs |
an isolated release build with a CDP port | a stale tab id in a shortcut never targets the active tab |
Requirements: Node 24+, and for the headless probes playwright in the app (the probe takes the
app's chromium). The CDP tools need the app started with
WEBVIEW2_ADDITIONAL_BROWSER_ARGUMENTS=--remote-debugging-port=<port>.