InditexTech / InditexTech/weavejs

Establish consumer/distribution test strategy

Open
#1,135 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.