{
  "name": "libp2p",
  "version": "0.28.3",
  "description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
  "leadMaintainer": "Jacob Heun <jacobheun@gmail.com>",
  "main": "src/index.js",
  "files": [
    "dist",
    "src"
  ],
  "scripts": {
    "lint": "aegir lint",
    "build": "aegir build",
    "test": "npm run test:node && npm run test:browser",
    "test:node": "aegir test -t node -f \"./test/**/*.{node,spec}.js\"",
    "test:browser": "aegir test -t browser",
    "release": "aegir release -t node -t browser",
    "release-minor": "aegir release --type minor -t node -t browser",
    "release-major": "aegir release --type major -t node -t browser",
    "coverage": "nyc --reporter=text --reporter=lcov npm run test:node"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/libp2p/js-libp2p.git"
  },
  "keywords": [
    "libp2p",
    "network",
    "p2p",
    "peer",
    "peer-to-peer",
    "IPFS"
  ],
  "bugs": {
    "url": "https://github.com/libp2p/js-libp2p/issues"
  },
  "homepage": "https://libp2p.io",
  "license": "MIT",
  "engines": {
    "node": ">=10.0.0",
    "npm": ">=6.0.0"
  },
  "dependencies": {
    "abort-controller": "^3.0.0",
    "aggregate-error": "^3.0.1",
    "any-signal": "^1.1.0",
    "bignumber.js": "^9.0.0",
    "class-is": "^1.1.0",
    "debug": "^4.1.1",
    "err-code": "^2.0.0",
    "events": "^3.1.0",
    "hashlru": "^2.3.0",
    "interface-datastore": "^1.0.4",
    "ipfs-utils": "^2.2.0",
    "it-all": "^1.0.1",
    "it-buffer": "^0.1.2",
    "it-handshake": "^1.0.1",
    "it-length-prefixed": "^3.0.1",
    "it-pipe": "^1.1.0",
    "it-protocol-buffers": "^0.2.0",
    "libp2p-crypto": "^0.17.6",
    "libp2p-interfaces": "^0.3.0",
    "libp2p-utils": "^0.1.2",
    "mafmt": "^7.0.0",
    "merge-options": "^2.0.0",
    "moving-average": "^1.0.0",
    "multiaddr": "^7.4.3",
    "multistream-select": "^0.15.0",
    "mutable-proxy": "^1.0.0",
    "node-forge": "^0.9.1",
    "p-any": "^3.0.0",
    "p-fifo": "^1.0.0",
    "p-settle": "^4.0.1",
    "peer-id": "^0.13.11",
    "protons": "^1.0.1",
    "retimer": "^2.0.0",
    "sanitize-filename": "^1.6.3",
    "streaming-iterables": "^4.1.0",
    "timeout-abort-controller": "^1.0.0",
    "xsalsa20": "^1.0.2"
  },
  "devDependencies": {
    "@nodeutils/defaults-deep": "^1.1.0",
    "abortable-iterator": "^3.0.0",
    "aegir": "^22.0.0",
    "chai": "^4.2.0",
    "chai-as-promised": "^7.1.1",
    "chai-bytes": "^0.1.2",
    "chai-string": "^1.5.0",
    "cids": "^0.8.0",
    "datastore-fs": "^1.1.0",
    "datastore-level": "^1.1.0",
    "delay": "^4.3.0",
    "dirty-chai": "^2.0.1",
    "interop-libp2p": "^0.1.0",
    "ipfs-http-client": "^44.0.0",
    "it-concat": "^1.0.0",
    "it-pair": "^1.0.0",
    "it-pushable": "^1.4.0",
    "level": "^6.0.1",
    "libp2p-bootstrap": "^0.11.0",
    "libp2p-delegated-content-routing": "^0.5.0",
    "libp2p-delegated-peer-routing": "^0.5.0",
    "libp2p-floodsub": "^0.21.0",
    "libp2p-gossipsub": "^0.4.0",
    "libp2p-kad-dht": "^0.19.1",
    "libp2p-mdns": "^0.14.1",
    "libp2p-mplex": "^0.9.5",
    "libp2p-noise": "^1.1.1",
    "libp2p-secio": "^0.12.4",
    "libp2p-tcp": "^0.14.1",
    "libp2p-webrtc-star": "^0.18.0",
    "libp2p-websockets": "^0.13.1",
    "multihashes": "^0.4.19",
    "nock": "^12.0.3",
    "p-defer": "^3.0.0",
    "p-times": "^3.0.0",
    "p-wait-for": "^3.1.0",
    "promisify-es6": "^1.0.3",
    "rimraf": "^3.0.2",
    "sinon": "^9.0.2"
  },
  "contributors": [
    "David Dias <daviddias.p@gmail.com>",
    "Jacob Heun <jacobheun@gmail.com>",
    "Vasco Santos <vasco.santos@moxy.studio>",
    "Alan Shaw <alan@tableflip.io>",
    "Cayman <caymannava@gmail.com>",
    "Pedro Teixeira <i@pgte.me>",
    "Friedel Ziegelmayer <dignifiedquire@gmail.com>",
    "Alex Potsides <alex@achingbrain.net>",
    "Maciej Krüger <mkg20001@gmail.com>",
    "Hugo Dias <mail@hugodias.me>",
    "Volker Mische <volker.mische@gmail.com>",
    "dirkmc <dirkmdev@gmail.com>",
    "Richard Littauer <richard.littauer@gmail.com>",
    "Elven <mon.samuel@qq.com>",
    "Andrew Nesbitt <andrewnez@gmail.com>",
    "Giovanni T. Parra <fiatjaf@gmail.com>",
    "Ryan Bell <ryan@piing.net>",
    "Thomas Eizinger <thomas@eizinger.io>",
    "ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ <victorbjelkholm@gmail.com>",
    "Didrik Nordström <didrik@betamos.se>",
    "Joel Gustafson <joelg@mit.edu>",
    "Julien Bouquillon <contact@revolunet.com>",
    "Kevin Kwok <antimatter15@gmail.com>",
    "Florian-Merle <florian.david.merle@gmail.com>",
    "Nuno Nogueira <nunofmn@gmail.com>",
    "Fei Liu <liu.feiwood@gmail.com>",
    "RasmusErik Voel Jensen <github@solsort.com>",
    "robertkiel <robert.kiel@validitylabs.org>",
    "Soeren <nikorpoulsen@gmail.com>",
    "Sönke Hahn <soenkehahn@gmail.com>",
    "Tiago Alves <alvesjtiago@gmail.com>",
    "Dmitriy Ryajov <dryajov@gmail.com>",
    "Diogo Silva <fsdiogo@gmail.com>",
    "Yusef Napora <yusef@napora.org>",
    "Zane Starr <zcstarr@gmail.com>",
    "Daijiro Wachi <daijiro.wachi@gmail.com>",
    "ebinks <elizabethjbinks@gmail.com>",
    "Chris Bratlien <chrisbratlien@gmail.com>",
    "isan_rivkin <isanrivkin@gmail.com>",
    "Henrique Dias <hacdias@gmail.com>",
    "Irakli Gozalishvili <rfobic@gmail.com>"
  ]
}