Moved from wayBetter for X; an app passes its own origin, process name, scripts and fixtures.
27 lines
2.4 KiB
Markdown
27 lines
2.4 KiB
Markdown
# 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>`.
|