Summary
Add a testing layer that validates Weave.js as consumers actually experience it: packed npm tarballs, generator output, and real browser-to-browser WebSocket collaboration. Two new minimal, non-published reference apps (code/apps/reference-frontend Vite+React, code/apps/reference-backend Express+WS) exercise a rectangle + a second node type + undo/redo plugin + collaboration (including a concurrent-edit convergence case), tested against npm pack tarballs of the SDK/React/store/generator packages — Chromium on PRs, +Firefox nightly. Existing generator templates stay untouched; the canonical Vite+React/Express+WS shape is added as a new, additional generator option.
Basic example
Two clients open reference-frontend, connected via reference-backend. Client A creates a rectangle and updates it; Client B renders the same state and reconnects to see current state. Packages are installed via npm pack tarballs (not workspace links) to catch broken exports/types/peer-deps as a real npm consumer would hit them.
Motivation
Current tests prove package internals, not that published artifacts install and work for real consumers. This can let broken exports, omitted files, peer-dependency issues, generator/starter drift, or collaboration regressions reach a release. This adds an explicit, additive (nothing removed/replaced) validation layer for that gap, without duplicating existing unit-test coverage. Out of scope: performance/load testing and live Azure Web PubSub e2e (kept mock/contract-tested only).
Summary
Add a testing layer that validates Weave.js as consumers actually experience it: packed npm tarballs, generator output, and real browser-to-browser WebSocket collaboration. Two new minimal, non-published reference apps (
code/apps/reference-frontendVite+React,code/apps/reference-backendExpress+WS) exercise a rectangle + a second node type + undo/redo plugin + collaboration (including a concurrent-edit convergence case), tested against npm pack tarballs of the SDK/React/store/generator packages — Chromium on PRs, +Firefox nightly. Existing generator templates stay untouched; the canonical Vite+React/Express+WS shape is added as a new, additional generator option.Basic example
Two clients open
reference-frontend, connected viareference-backend. Client A creates a rectangle and updates it; Client B renders the same state and reconnects to see current state. Packages are installed via npm pack tarballs (not workspace links) to catch broken exports/types/peer-deps as a real npm consumer would hit them.Motivation
Current tests prove package internals, not that published artifacts install and work for real consumers. This can let broken exports, omitted files, peer-dependency issues, generator/starter drift, or collaboration regressions reach a release. This adds an explicit, additive (nothing removed/replaced) validation layer for that gap, without duplicating existing unit-test coverage. Out of scope: performance/load testing and live Azure Web PubSub e2e (kept mock/contract-tested only).