Files
2026-05-27 23:29:53 +01:00

1.3 KiB

Tasks — react-network-libp2p-demo

Phase 1: Scaffold

  • 1.1 Create packages/react/react-network-libp2p-demo/.
  • 1.2 package.json at 0.1.0, peer-deps on react, 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 .md per 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-demo green.
  • 6.2 No source file > 300 LOC.
  • 6.3 Storybook covers every subcomponent.
  • 6.4 MANIFEST.md regen.
  • 6.5 STATUS.md row added.

Pre-archive checklist

  • Row 1 — Phase 6 green.
  • Row 2 — Demo runs against a user-supplied bootstrap list.
  • Row 3 — Folder archived.