Files
web/playwright.config.ts
dependabot[bot] aec3ad9ed3 chore(deps-dev): bump oxfmt from 0.58.0 to 0.59.0 (#1306)
* chore(deps-dev): bump oxfmt from 0.58.0 to 0.59.0

Bumps [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt) from 0.58.0 to 0.59.0.
- [Release notes](https://github.com/oxc-project/oxc/releases)
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md)
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.59.0/npm/oxfmt)

---
updated-dependencies:
- dependency-name: oxfmt
  dependency-version: 0.59.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: fix formatting issues for oxfmt 0.59.0

* fix: add vitest.config.ts for packages/ui to avoid unplugin-dts TypeScript 7 crash

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Dan Ditomaso <dan.ditomaso@gmail.com>
Co-authored-by: Hunter Thornsberry <hunter@hunterthornsberry.com>
2026-07-22 12:43:26 -04:00

61 lines
1.7 KiB
TypeScript

import { defineConfig, devices } from "@playwright/test";
/**
* End-to-end suite that drives the real web app against a REAL Meshtastic device
* (a simulated `meshtasticd` node by default, or physical hardware) over the
* HTTP(S) phone API, and exercises text messaging across a two-node mesh.
*
* Topology is brought up in e2e/global-setup.ts. The off-browser "mesh peer"
* (e2e/peer/peer.py) drives/asserts the second node. See e2e/README.md.
*/
const WEB_PORT = Number(process.env.E2E_WEB_PORT ?? 3100);
export default defineConfig({
testDir: "./e2e/tests",
outputDir: "./e2e/.results",
globalSetup: "./e2e/global-setup.ts",
globalTeardown: "./e2e/global-teardown.ts",
// Tests share a single two-node mesh + one device identity, so run serially.
fullyParallel: false,
workers: 1,
forbidOnly: !!process.env.CI,
retries: process.env.CI ? 1 : 0,
timeout: 90_000,
expect: { timeout: 15_000 },
reporter: [
["list"],
["html", { outputFolder: "e2e/.report", open: "never" }],
],
use: {
baseURL: `http://localhost:${WEB_PORT}`,
// The device webserver uses a self-signed cert (TLS-only on 9443).
ignoreHTTPSErrors: true,
trace: "on-first-retry",
screenshot: "only-on-failure",
video: "retain-on-failure",
},
projects: [
{
name: "chromium",
use: {
...devices["Desktop Chrome"],
// Belt-and-suspenders for the device's self-signed cert.
launchOptions: { args: ["--ignore-certificate-errors"] },
},
},
],
webServer: {
command: `pnpm --filter ./apps/web exec vite --port ${WEB_PORT} --strictPort`,
url: `http://localhost:${WEB_PORT}`,
reuseExistingServer: !process.env.CI,
timeout: 120_000,
stdout: "ignore",
stderr: "pipe",
},
});