1.3 KiB
1.3 KiB
Tasks — react-network-libp2p-demo
Phase 1: Scaffold
- 1.1 Create
packages/react/react-network-libp2p-demo/. - 1.2
package.jsonat0.1.0, peer-deps onreact,react-dom,@suaveplan/network-transport-libp2p. - 1.3 Storybook + testing-dom configuration.
Phase 2: Component extraction
- 2.1 Read upstream
libp2p-demo.tsx(749 LOC). - 2.2 Split into per-concern subcomponents ≤300 LOC each (panels, tabs, controls).
- 2.3 Sibling
.mdper component file.
Phase 3: Bootstrap-list prop
- 3.1 Remove any hardcoded bootstrap defaults.
- 3.2 Accept bootstrap list as a required React prop.
Phase 4: Storybook stories
- 4.1 Port
libp2p-demo.stories.tsx. - 4.2 Add
default+playground+ variant stories per subcomponent.
Phase 5: Tests
- 5.1 Snapshot tests via
@suaveplan/testing-dom. - 5.2 Interaction tests for key flows (dial, message, disconnect).
Phase 6: Verification
- 6.1
bunx turbo lint typecheck --filter=@suaveplan/react-network-libp2p-demogreen. - 6.2 No source file > 300 LOC.
- 6.3 Storybook covers every subcomponent.
- 6.4
MANIFEST.mdregen. - 6.5
STATUS.mdrow added.
Pre-archive checklist
- Row 1 — Phase 6 green.
- Row 2 — Demo runs against a user-supplied bootstrap list.
- Row 3 — Folder archived.