{
  "name": "@substrate-system/bittorrent-protocol",
  "type": "module",
  "description": "Simple, robust, BitTorrent peer wire protocol implementation",
  "version": "4.2.11",
  "files": [
    "./dist/*"
  ],
  "exports": {
    ".": {
      "import": "./dist/index.js",
      "require": "./dist/index.cjs"
    }
  },
  "scripts": {
    "lint": "eslint \"./**/*.{ts,js}\"",
    "test": "npm run build-tests && node ./test/test-bundle.js",
    "test:extension": "esbuild test/extension.ts --platform=node --bundle --keep-names | node",
    "test:no-timeout": "esbuild test/no-timeout.ts --platform=node --bundle --keep-names | node",
    "test:protocol": "esbuild ./test/protocol.ts --platform=node --bundle --keep-names | node",
    "test:state-change": "esbuild ./test/state-change-on-end.ts --platform=node --bundle --keep-names | node",
    "test:timeout-destroy": "esbuild ./test/timeout-destroy.ts --platform=node --bundle --keep-names | node",
    "test:timeout": "esbuild ./test/timeout.ts --platform=node --bundle --keep-names | node",
    "build": "mkdir -p ./dist && rm -rf ./dist/* && node ./build.js && tsc --emitDeclarationOnly --project tsconfig.build.json --outDir dist",
    "build-example": "mkdir -p ./public && rm -rf ./public/* && VITE_DEBUG_MODE=staging vite --mode staging --base=\"/repo-name\" build",
    "build-docs": "typedoc ./src/index.ts",
    "build-tests": "node ./build-tests.js",
    "start": "vite",
    "toc": "markdown-toc --maxdepth 3 -i README.md",
    "preversion": "npm run lint",
    "version": "npm run toc && auto-changelog -p --template keepachangelog --breaking-pattern 'BREAKING CHANGE:' && git add CHANGELOG.md README.md",
    "postversion": "git push --follow-tags && npm publish",
    "prepublishOnly": "npm run build"
  },
  "dependencies": {
    "@substrate-system/bencode": "^4.0.0",
    "@substrate-system/bitfield": "^4.2.2",
    "@substrate-system/esbuild-plugin-polyfill-node": "^0.3.1",
    "@substrate-system/throughput": "^1.0.2",
    "@substrate-system/uint8-util": "^2.2.22",
    "diffie-hellman": "^5.0.3",
    "events": "^3.3.0",
    "rc4": "^0.1.5",
    "streamx": "^2.15.1",
    "throughput": "^1.0.1",
    "unordered-array-remove": "^1.0.2"
  },
  "devDependencies": {
    "@substrate-system/debug": "^0.7.12",
    "@substrate-system/tapzero": "^0.10.5",
    "@types/streamx": "^2.9.5",
    "@typescript-eslint/eslint-plugin": "^8.0.0",
    "@typescript-eslint/parser": "^8.0.0",
    "auto-changelog": "^2.4.0",
    "debug": "^4.4.0",
    "esbuild": "^0.24.0",
    "eslint": "^8.57.0",
    "eslint-config-standard": "^17.1.0",
    "markdown-toc": "^1.2.0",
    "tap-spec": "^5.0.0",
    "tape-run": "^11.0.0",
    "typedoc": "^0.27.0",
    "typescript": "^5.4.5"
  },
  "author": {
    "name": "WebTorrent LLC",
    "email": "feross@webtorrent.io",
    "url": "https://webtorrent.io"
  },
  "contributors": [
    {
      "name": "Nick Thomas",
      "email": "nichoth@nichoth.com",
      "url": "https://nichoth.com/"
    }
  ],
  "bugs": {
    "url": "https://github.com/substrate-system/bittorrent-protocol/issues"
  },
  "keywords": [
    "bittorrent",
    "p2p",
    "peer",
    "peer-to-peer",
    "protocol",
    "stream",
    "torrent",
    "wire"
  ],
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git://github.com/substrate-system/bittorrent-protocol.git"
  }
}
