{ "name": "libp2p", "version": "0.31.5", "description": "JavaScript implementation of libp2p, a modular peer to peer network stack", "leadMaintainer": "Jacob Heun ", "main": "src/index.js", "types": "dist/src/index.d.ts", "typesVersions": { "*": { "src/*": [ "dist/src/*", "dist/src/*/index" ] } }, "files": [ "dist", "src" ], "scripts": { "lint": "aegir lint", "build": "aegir build", "build:proto": "npm run build:proto:circuit && npm run build:proto:identify && npm run build:proto:plaintext && npm run build:proto:address-book && npm run build:proto:proto-book && npm run build:proto:peer-record && npm run build:proto:envelope", "build:proto:circuit": "pbjs -t static-module -w commonjs -r libp2p-circuit --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/circuit/protocol/index.js ./src/circuit/protocol/index.proto", "build:proto:identify": "pbjs -t static-module -w commonjs -r libp2p-identify --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/identify/message.js ./src/identify/message.proto", "build:proto:plaintext": "pbjs -t static-module -w commonjs -r libp2p-plaintext --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/insecure/proto.js ./src/insecure/proto.proto", "build:proto:address-book": "pbjs -t static-module -w commonjs -r libp2p-address-book --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/persistent/pb/address-book.js ./src/peer-store/persistent/pb/address-book.proto", "build:proto:proto-book": "pbjs -t static-module -w commonjs -r libp2p-proto-book --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/persistent/pb/proto-book.js ./src/peer-store/persistent/pb/proto-book.proto", "build:proto:peer-record": "pbjs -t static-module -w commonjs -r libp2p-peer-record --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/peer-record/peer-record.js ./src/record/peer-record/peer-record.proto", "build:proto:envelope": "pbjs -t static-module -w commonjs -r libp2p-envelope --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/envelope/envelope.js ./src/record/envelope/envelope.proto", "build:proto-types": "npm run build:proto-types:circuit && npm run build:proto-types:identify && npm run build:proto-types:plaintext && npm run build:proto-types:address-book && npm run build:proto-types:proto-book && npm run build:proto-types:peer-record && npm run build:proto-types:envelope", "build:proto-types:circuit": "pbts -o src/circuit/protocol/index.d.ts src/circuit/protocol/index.js", "build:proto-types:identify": "pbts -o src/identify/message.d.ts src/identify/message.js", "build:proto-types:plaintext": "pbts -o src/insecure/proto.d.ts src/insecure/proto.js", "build:proto-types:address-book": "pbts -o src/peer-store/persistent/pb/address-book.d.ts src/peer-store/persistent/pb/address-book.js", "build:proto-types:proto-book": "pbts -o src/peer-store/persistent/pb/proto-book.d.ts src/peer-store/persistent/pb/proto-book.js", "build:proto-types:peer-record": "pbts -o src/record/peer-record/peer-record.d.ts src/record/peer-record/peer-record.js", "build:proto-types:envelope": "pbts -o src/record/envelope/envelope.d.ts src/record/envelope/envelope.js", "test": "aegir test", "test:ts": "aegir build --no-bundle && npm run test --prefix test/ts-use", "test:node": "aegir test -t node -f \"./test/**/*.{node,spec}.js\"", "test:browser": "aegir test -t browser", "test:examples": "cd examples && npm run test:all", "prepare": "aegir build --no-bundle", "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": ">=14.0.0" }, "browser": { "@motrix/nat-api": false }, "eslintConfig": { "extends": "ipfs", "ignorePatterns": [ "!.aegir.js", "test/ts-use" ] }, "dependencies": { "@motrix/nat-api": "^0.3.1", "abort-controller": "^3.0.0", "aggregate-error": "^3.1.0", "any-signal": "^2.1.1", "bignumber.js": "^9.0.1", "cids": "^1.1.5", "class-is": "^1.1.0", "debug": "^4.3.1", "err-code": "^3.0.0", "es6-promisify": "^6.1.1", "events": "^3.3.0", "hashlru": "^2.3.0", "interface-datastore": "^4.0.0", "ipfs-utils": "^7.0.0", "it-all": "^1.0.4", "it-buffer": "^0.1.2", "it-drain": "^1.0.3", "it-filter": "^1.0.1", "it-first": "^1.0.4", "it-handshake": "^2.0.0", "it-length-prefixed": "^5.0.2", "it-map": "^1.0.4", "it-merge": "1.0.0", "it-pipe": "^1.1.0", "it-take": "1.0.0", "libp2p-crypto": "^0.19.4", "libp2p-interfaces": "^0.10.4", "libp2p-utils": "^0.3.1", "mafmt": "^9.0.0", "merge-options": "^3.0.4", "@vascosantos/moving-average": "^1.1.0", "multiaddr": "^9.0.1", "multicodec": "^3.0.1", "multihashing-async": "^2.1.2", "multistream-select": "^2.0.0", "mutable-proxy": "^1.0.0", "node-forge": "^0.10.0", "p-any": "^3.0.0", "p-fifo": "^1.0.0", "p-retry": "^4.4.0", "p-settle": "^4.1.1", "peer-id": "^0.14.2", "private-ip": "^2.1.0", "protobufjs": "^6.10.2", "retimer": "^3.0.0", "sanitize-filename": "^1.6.3", "set-delayed-interval": "^1.0.0", "streaming-iterables": "^5.0.2", "timeout-abort-controller": "^1.1.1", "varint": "^6.0.0", "xsalsa20": "^1.1.0" }, "devDependencies": { "@nodeutils/defaults-deep": "^1.1.0", "@types/es6-promisify": "^6.0.0", "@types/node-forge": "^0.9.7", "@types/varint": "^6.0.0", "abortable-iterator": "^3.0.0", "aegir": "^33.1.1", "buffer": "^6.0.3", "delay": "^5.0.0", "interop-libp2p": "^0.3.0", "into-stream": "^6.0.0", "ipfs-http-client": "^49.0.4", "it-concat": "^1.0.0", "it-pair": "^1.0.0", "it-pushable": "^1.4.0", "libp2p": ".", "libp2p-bootstrap": "^0.12.3", "libp2p-delegated-content-routing": "^0.10.0", "libp2p-delegated-peer-routing": "^0.9.0", "libp2p-floodsub": "^0.25.0", "libp2p-gossipsub": "^0.9.0", "libp2p-kad-dht": "^0.22.0", "libp2p-mdns": "^0.16.0", "libp2p-mplex": "^0.10.1", "libp2p-noise": "^3.0.0", "libp2p-tcp": "^0.15.4", "libp2p-webrtc-star": "^0.22.2", "libp2p-websockets": "^0.15.6", "multihashes": "^4.0.2", "nock": "^13.0.3", "p-defer": "^3.0.0", "p-times": "^3.0.0", "p-wait-for": "^3.2.0", "rimraf": "^3.0.2", "sinon": "^10.0.0", "uint8arrays": "^2.1.3", "util": "^0.12.3" }, "contributors": [ "David Dias ", "Vasco Santos ", "Jacob Heun ", "Alex Potsides ", "Alan Shaw ", "Cayman ", "Pedro Teixeira ", "Friedel Ziegelmayer ", "Maciej Krüger ", "Hugo Dias ", "dirkmc ", "Volker Mische ", "Richard Littauer ", "a1300 ", "ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ ", "Andrew Nesbitt ", "Elven ", "Giovanni T. Parra ", "Ryan Bell ", "Samlior ", "Thomas Eizinger ", "Didrik Nordström ", "Fei Liu ", "Ethan Lam ", "Joel Gustafson ", "Julien Bouquillon ", "Kevin Kwok ", "Kevin Lacker ", "Dmitriy Ryajov ", "Miguel Mota ", "Nuno Nogueira ", "Diogo Silva ", "Philipp Muens ", "RasmusErik Voel Jensen ", "Smite Chow ", "Soeren ", "Sönke Hahn ", "TJKoury ", "robertkiel ", "Tiago Alves ", "Daijiro Wachi ", "Cindy Wu ", "Yusef Napora ", "Zane Starr ", "Chris Bratlien ", "Bernd Strehl ", "ebinks ", "Florian-Merle ", "Francis Gulotta ", "Franck Royer ", "Felipe Martins ", "Aleksei ", "Henrique Dias ", "isan_rivkin ", "Irakli Gozalishvili " ] }