Skip to content

Establish consumer/distribution test strategy #1135

Description

@alexmontesg

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions