InditexTech / InditexTech/weavejs
Establish consumer/distribution test strategy
- Dominant language
- TypeScript
- Stars
- 200
- Forks
- 18
- Avg merge
- 8h
- Merged PRs (30d)
- 13
Description
## 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).
Contributor guide
Research direction
Start with the package and generator entry points that produce the SDK/React/store/generator npm tarballs, then inspect the proposed code/apps/reference-frontend and code/apps/reference-backend shapes. Run the consumer flow against npm pack tarballs in Chromium, including rectangle, a second node type, undo/redo, reconnect, and concurrent collaboration cases. Done means the reference apps work as real consumers without changing existing templates, with Firefox nightly coverage added.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- express, react, typescript, vite
- Domain
- backend, build-system, frontend, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100