You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With AutobahnJS 26.3.1 released and a full-stack demo proven (Vue 3.6 + Pinia 3 + Vite 8 + Crossbar.io + Playwright), the next step is to bring CI/CD, testing, and developer tooling up to the same standard — all fully automated in GitHub Actions.
A working end-to-end integration test exists in a private customer repo. This issue brings equivalent public OSS integration testing into autobahn-js itself, alongside expanded unit tests and modern Rust-based tooling.
Related
Fix 601 #604 — Migrate test drivers to Vite & Vitest (completed)
Transport layer: WebSocket connect/disconnect/error
Run locally via just test and automatically in GitHub Actions on every push/PR.
2. Playwright integration tests — public OSS, fully automated CI/CD integrated into GH Actions
Goal: End-to-end browser tests in this repo that prove AutobahnJS works in a real browser against a real Crossbar.io router. This is a public, open-source integration test — not a downstream customer concern.
Vite+ by VoidZero is the unified toolchain that bundles Vite, Vitest, Rolldown, and oxc into a single coherent package.
Vite+ is built to scale with your codebase while reducing your devtools to a single dependency. By leveraging VoidZero’s Rust-based JavaScript tooling, every interaction with the toolchain becomes significantly faster and scales better
It is still "alpha", but seems pretty well built by pros who know what they are doing. It's Rust;) We adopt it now. Move fast.
Replace separate vite + vitest dependencies with vite-plus
Use Vite+ for building the integration test app
Use Vite+ for running Vitest unit tests
Update justfile recipes and CI to use vite-plus CLI
Document Vite+ usage in README
4. Lint and format with Oxlint + Oxfmt
Replace ESLint + Prettier with Rust-based tooling from the oxc project — faster, stricter, and part of the same VoidZero ecosystem as Rolldown.
Add lint + format checks to GitHub Actions (every push/PR, fail on violations)
Remove ESLint/Prettier dependencies from devDependencies
Justfile recipes (target state)
just test # Vitest unit tests
just test-e2e # Playwright integration tests (starts Crossbar, runs tests, cleans up)
just test-all # Both
just lint # Oxlint
just format # Oxfmt
just ci # lint + format-check + test-all (what GH Actions runs)
GitHub Actions CI matrix (target state)
All jobs run automatically on every push and pull request.
Context
With AutobahnJS 26.3.1 released and a full-stack demo proven (Vue 3.6 + Pinia 3 + Vite 8 + Crossbar.io + Playwright), the next step is to bring CI/CD, testing, and developer tooling up to the same standard — all fully automated in GitHub Actions.
A working end-to-end integration test exists in a private customer repo. This issue brings equivalent public OSS integration testing into autobahn-js itself, alongside expanded unit tests and modern Rust-based tooling.
Related
1. Vitest unit tests: expand coverage
Current state: Vitest is configured, basic tests exist from #604.
Goal: Comprehensive unit test coverage for core AutobahnJS functionality:
Run locally via
just testand automatically in GitHub Actions on every push/PR.2. Playwright integration tests — public OSS, fully automated CI/CD integrated into GH Actions
Goal: End-to-end browser tests in this repo that prove AutobahnJS works in a real browser against a real Crossbar.io router. This is a public, open-source integration test — not a downstream customer concern.
What to test (Playwright, headless Chromium):
Implementation:
tests/integration/) with Vue 3.6, Pinia 3, Vite 8, and a Crossbar.io configjust test-e2erecipe: builds app, starts Crossbar.io (Docker), runs Playwright, cleans up3. Use Vite+ as the unified toolchain driver
Vite+ by VoidZero is the unified toolchain that bundles Vite, Vitest, Rolldown, and oxc into a single coherent package.
It is still "alpha", but seems pretty well built by pros who know what they are doing. It's Rust;) We adopt it now. Move fast.
vite+vitestdependencies withvite-plusvite-plusCLI4. Lint and format with Oxlint + Oxfmt
Replace ESLint + Prettier with Rust-based tooling from the oxc project — faster, stricter, and part of the same VoidZero ecosystem as Rolldown.
just lintandjust formatrecipesdevDependenciesJustfile recipes (target state)
GitHub Actions CI matrix (target state)
All jobs run automatically on every push and pull request.
npm pack --dry-runon release tags