{ "columns": [ "Package", "Version", "Deps", "CI", "Coverage", "Lead Maintainer" ], "rows": [ "libp2p", ["libp2p/js-libp2p", "libp2p"], ["libp2p/js-libp2p-daemon", "libp2p-daemon"], ["libp2p/js-libp2p-daemon-client", "libp2p-daemon-client"], ["libp2p/js-interfaces", "libp2p-interfaces"], ["libp2p/interop", "interop-libp2p"], "transports", ["libp2p/js-libp2p-tcp", "libp2p-tcp"], ["libp2p/js-libp2p-webrtc-direct", "libp2p-webrtc-direct"], ["libp2p/js-libp2p-webrtc-star", "libp2p-webrtc-star"], ["libp2p/js-libp2p-websockets", "libp2p-websockets"], "secure channels", ["NodeFactoryIo/js-libp2p-noise", "libp2p-noise"], "stream multiplexers", ["libp2p/js-libp2p-mplex", "libp2p-mplex"], "peer discovery", ["libp2p/js-libp2p-bootstrap", "libp2p-bootstrap"], ["libp2p/js-libp2p-kad-dht", "libp2p-kad-dht"], ["libp2p/js-libp2p-mdns", "libp2p-mdns"], ["libp2p/js-libp2p-webrtc-star", "libp2p-webrtc-star"], ["ChainSafe/discv5", "@chainsafe/discv5"], "content routing", ["libp2p/js-libp2p-delegated-content-routing", "libp2p-delegated-content-routing"], ["libp2p/js-libp2p-kad-dht", "libp2p-kad-dht"], "peer routing", ["libp2p/js-libp2p-delegated-peer-routing", "libp2p-delegated-peer-routing"], ["libp2p/js-libp2p-kad-dht", "libp2p-kad-dht"], "utilities", ["libp2p/js-libp2p-crypto", "libp2p-crypto"], "data types", ["libp2p/js-peer-id", "peer-id"], ["libp2p/js-libp2p-record", "libp2p-record"], "pubsub", ["libp2p/js-libp2p-floodsub", "libp2p-floodsub"], ["ChainSafe/js-libp2p-gossipsub", "libp2p-gossipsub"], "extensions", ["libp2p/js-libp2p-nat-mgnr", "libp2p-nat-mgnr"], ["libp2p/js-libp2p-utils", "libp2p-utils"] ] }