{
  "name": "peerpigeon",
  "version": "1.1.3",
  "description": "WebRTC-based peer-to-peer mesh networking library with intelligent routing and signaling server",
  "main": "index.js",
  "type": "module",
  "bin": {
    "peerpigeon": "cli.js"
  },
  "exports": {
    ".": {
      "browser": "./dist/peerpigeon-browser.js",
      "import": "./index.js"
    }
  },
  "scripts": {
    "build": "npm run build:browser && npm run build:examples",
    "build:browser": "node scripts/build-browser.js",
    "build:examples": "npm run build:vanilla && npm run build:vue",
    "build:vanilla": "mkdir -p examples/browser/vanilla && cp dist/peerpigeon-browser.js examples/browser/vanilla/peerpigeon-browser.js",
    "build:vue": "cd examples/browser/vue && npm run build",
    "prebuild": "mkdir -p dist",
    "cli": "node cli.js",
    "cli:server": "node cli.js server",
    "cli:interactive": "node cli.js interactive",
    "dev": "npm run build && concurrently -n \"HUB,HTTP\" -c \"cyan,green\" \"npm run hub\" \"npm run http\"",
    "dev:hub": "npm run build && node scripts/start-hub.js",
    "dev:http": "npm run build && node dev-server.js",
    "start": "node server/start.js",
    "server": "node server/start.js",
    "hub": "node scripts/start-hub.js",
    "http": "node dev-server.js",
    "lint": "node -c src/*.js examples/**/*.js server/*.js",
    "lint:fix": "eslint --cache --cache-location .eslintcache src/ examples/ server/ --ext .js --fix",
    "test": "node test/browser-integration-test.js",
    "test:hub-mesh": "node test/test-hub-mesh.js",
    "test:cross-browser": "npm run build && node test/cross-browser-hub-test.js",
    "test:cross-browser:5": "npm run build && node scripts/run-cross-browser-multiple.js",
    "test:simple-cross": "npm run build && node test/simple-cross-browser-test.js",
    "test:storage": "node examples/node/storage-test.js",
    "test:browser:visual": "HEADLESS=false node test/browser-integration-test.js",
    "test:video": "node test/video-streaming-test.js",
    "test:video:visual": "HEADLESS=false node test/video-streaming-test.js",
    "test:video:manual": "node test/manual-video-streaming-test.js",
    "test:video:manual:visual": "HEADLESS=false node test/manual-video-streaming-test.js",
    "ci": "npm run lint && npm run test",
    "prepublishOnly": "npm run build && npm run ci"
  },
  "files": [
    "index.js",
    "cli.js",
    "cli-examples.js",
    "src/",
    "server/",
    "examples/",
    "dist/",
    "docs/",
    "README.md",
    "LICENSE"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/PeerPigeon/PeerPigeon.git"
  },
  "keywords": [
    "webrtc",
    "p2p",
    "mesh",
    "networking",
    "decentralized",
    "kademlia",
    "signaling",
    "websocket",
    "peer-to-peer",
    "dht",
    "gossip",
    "mesh-network",
    "xor-routing",
    "webrtc-mesh",
    "nativescript"
  ],
  "author": "Daniel Raeder",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/PeerPigeon/PeerPigeon/issues"
  },
  "homepage": "https://github.com/PeerPigeon/PeerPigeon#readme",
  "dependencies": {
    "@koush/wrtc": "^0.5.3",
    "pigeonrtc": "^0.0.5",
    "unsea": "^1.1.2",
    "ws": "^8.18.0",
    "yamljs": "^0.3.0"
  },
  "devDependencies": {
    "concurrently": "^9.2.0",
    "esbuild": "^0.25.8",
    "eslint": "^8.57.1",
    "eslint-config-standard": "^17.1.0",
    "express": "^4.19.2",
    "jsdoc": "^4.0.4",
    "nodemon": "^3.1.10",
    "playwright": "^1.56.1",
    "puppeteer": "^22.0.0"
  },
  "engines": {
    "node": ">=14.0.0"
  }
}
