{
  "name": "libp2p",
  "version": "0.39.3",
  "description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
  "license": "Apache-2.0 OR MIT",
  "homepage": "https://github.com/libp2p/js-libp2p#readme",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/libp2p/js-libp2p.git"
  },
  "bugs": {
    "url": "https://github.com/libp2p/js-libp2p/issues"
  },
  "keywords": [
    "IPFS",
    "libp2p",
    "network",
    "p2p",
    "peer",
    "peer-to-peer"
  ],
  "engines": {
    "node": ">=16.0.0",
    "npm": ">=7.0.0"
  },
  "type": "module",
  "types": "./dist/src/index.d.ts",
  "typesVersions": {
    "*": {
      "*": [
        "*",
        "dist/*",
        "dist/src/*",
        "dist/src/*/index"
      ],
      "src/*": [
        "*",
        "dist/*",
        "dist/src/*",
        "dist/src/*/index"
      ]
    }
  },
  "files": [
    "src",
    "dist/src",
    "!dist/test",
    "!**/*.tsbuildinfo"
  ],
  "exports": {
    ".": {
      "types": "./src/index.d.ts",
      "import": "./dist/src/index.js"
    },
    "./insecure": {
      "types": "./dist/src/insecure/index.d.ts",
      "import": "./dist/src/insecure/index.js"
    },
    "./pnet": {
      "types": "./dist/src/pnet/index.d.ts",
      "import": "./dist/src/pnet/index.js"
    },
    "./transport-manager": {
      "types": "./dist/src/transport-manager.d.ts",
      "import": "./dist/src/transport-manager.js"
    }
  },
  "eslintConfig": {
    "extends": "ipfs",
    "parserOptions": {
      "sourceType": "module"
    },
    "ignorePatterns": [
      "!.aegir.js",
      "test/ts-use",
      "*.d.ts"
    ]
  },
  "scripts": {
    "prepare": "npm run build",
    "clean": "aegir clean",
    "lint": "aegir lint",
    "dep-check": "aegir dep-check",
    "prepublishOnly": "node scripts/update-version.js",
    "build": "aegir build",
    "generate": "run-s generate:proto:*",
    "generate:proto:circuit": "protons ./src/circuit/pb/index.proto",
    "generate:proto:fetch": "protons ./src/fetch/pb/proto.proto",
    "generate:proto:identify": "protons ./src/identify/pb/message.proto",
    "generate:proto:plaintext": "protons ./src/insecure/pb/proto.proto",
    "test": "aegir test",
    "test:node": "aegir test -t node -f \"./dist/test/**/*.{node,spec}.js\" --cov",
    "test:chrome": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" --cov",
    "test:chrome-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\"",
    "test:firefox": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser firefox",
    "test:firefox-webworker": "aegir test -t webworker -f \"./dist/test/**/*.spec.js\" -- --browser firefox",
    "test:examples": "cd examples && npm run test:all",
    "test:interop": "aegir test -t node -f dist/test/interop.js"
  },
  "dependencies": {
    "@achingbrain/nat-port-mapper": "^1.0.3",
    "@libp2p/components": "^2.0.3",
    "@libp2p/connection": "^4.0.1",
    "@libp2p/crypto": "^1.0.3",
    "@libp2p/interface-address-manager": "^1.0.2",
    "@libp2p/interface-connection": "^3.0.1",
    "@libp2p/interface-connection-encrypter": "^2.0.1",
    "@libp2p/interface-connection-manager": "^1.1.1",
    "@libp2p/interface-content-routing": "^1.0.2",
    "@libp2p/interface-dht": "^1.0.1",
    "@libp2p/interface-metrics": "^3.0.0",
    "@libp2p/interface-peer-discovery": "^1.0.1",
    "@libp2p/interface-peer-id": "^1.0.4",
    "@libp2p/interface-peer-info": "^1.0.3",
    "@libp2p/interface-peer-routing": "^1.0.1",
    "@libp2p/interface-peer-store": "^1.2.2",
    "@libp2p/interface-pubsub": "^2.1.0",
    "@libp2p/interface-registrar": "^2.0.3",
    "@libp2p/interface-stream-muxer": "^2.0.2",
    "@libp2p/interface-transport": "^1.0.4",
    "@libp2p/interfaces": "^3.0.3",
    "@libp2p/logger": "^2.0.1",
    "@libp2p/multistream-select": "^3.0.0",
    "@libp2p/peer-collections": "^2.0.0",
    "@libp2p/peer-id": "^1.1.15",
    "@libp2p/peer-id-factory": "^1.0.18",
    "@libp2p/peer-record": "^4.0.3",
    "@libp2p/peer-store": "^3.1.5",
    "@libp2p/tracked-map": "^2.0.1",
    "@libp2p/utils": "^3.0.2",
    "@multiformats/mafmt": "^11.0.2",
    "@multiformats/multiaddr": "^11.0.0",
    "abortable-iterator": "^4.0.2",
    "any-signal": "^3.0.0",
    "datastore-core": "^8.0.1",
    "err-code": "^3.0.1",
    "events": "^3.3.0",
    "hashlru": "^2.3.0",
    "interface-datastore": "^7.0.0",
    "it-all": "^1.0.6",
    "it-drain": "^1.0.5",
    "it-filter": "^1.0.3",
    "it-first": "^1.0.6",
    "it-foreach": "^0.1.1",
    "it-handshake": "^4.1.2",
    "it-length-prefixed": "^8.0.2",
    "it-map": "^1.0.6",
    "it-merge": "^1.0.3",
    "it-pair": "^2.0.2",
    "it-pipe": "^2.0.3",
    "it-sort": "^1.0.1",
    "it-stream-types": "^1.0.4",
    "merge-options": "^3.0.4",
    "multiformats": "^9.6.3",
    "mutable-proxy": "^1.0.0",
    "node-forge": "^1.3.1",
    "p-fifo": "^1.0.0",
    "p-retry": "^5.0.0",
    "p-settle": "^5.0.0",
    "private-ip": "^2.3.3",
    "protons-runtime": "^3.0.1",
    "retimer": "^3.0.0",
    "sanitize-filename": "^1.6.3",
    "set-delayed-interval": "^1.0.0",
    "timeout-abort-controller": "^3.0.0",
    "uint8arraylist": "^2.3.2",
    "uint8arrays": "^3.0.0",
    "wherearewe": "^2.0.0",
    "xsalsa20": "^1.1.0"
  },
  "devDependencies": {
    "@chainsafe/libp2p-noise": "^8.0.1",
    "@chainsafe/libp2p-yamux": "^1.0.0",
    "@libp2p/bootstrap": "^3.0.0",
    "@libp2p/daemon-client": "^3.0.1",
    "@libp2p/daemon-server": "^3.0.1",
    "@libp2p/floodsub": "^3.0.0",
    "@libp2p/interface-compliance-tests": "^3.0.2",
    "@libp2p/interface-connection-encrypter-compliance-tests": "^2.0.2",
    "@libp2p/interface-mocks": "^4.0.3",
    "@libp2p/interop": "^3.0.1",
    "@libp2p/kad-dht": "^3.0.5",
    "@libp2p/mdns": "^3.0.1",
    "@libp2p/mplex": "^5.2.3",
    "@libp2p/pubsub": "^3.1.3",
    "@libp2p/tcp": "^3.1.1",
    "@libp2p/topology": "^3.0.1",
    "@libp2p/webrtc-star": "^3.0.3",
    "@libp2p/websockets": "^3.0.4",
    "@types/node-forge": "^1.0.0",
    "@types/p-fifo": "^1.0.0",
    "@types/varint": "^6.0.0",
    "@types/xsalsa20": "^1.1.0",
    "aegir": "^37.3.0",
    "cborg": "^1.8.1",
    "delay": "^5.0.0",
    "execa": "^6.1.0",
    "go-libp2p": "^0.0.6",
    "it-pushable": "^3.0.0",
    "it-to-buffer": "^2.0.2",
    "npm-run-all": "^4.1.5",
    "p-defer": "^4.0.0",
    "p-event": "^5.0.1",
    "p-times": "^4.0.0",
    "p-wait-for": "^5.0.0",
    "protons": "^5.0.0",
    "rimraf": "^3.0.2",
    "sinon": "^14.0.0",
    "ts-sinon": "^2.0.2"
  },
  "browser": {
    "nat-api": false
  }
}
