{
  "name": "js-waku",
  "version": "0.30.0",
  "description": "TypeScript implementation of the Waku v2 protocol",
  "types": "./dist/index.d.ts",
  "module": "./dist/index.js",
  "exports": {
    ".": {
      "types": "./dist/index.d.ts",
      "import": "./dist/index.js"
    },
    "./lib/create_waku": {
      "types": "./dist/lib/create_waku.d.ts",
      "import": "./dist/lib/create_waku.js"
    },
    "./lib/interfaces": {
      "types": "./dist/lib/interfaces.d.ts"
    },
    "./lib/peer_discovery_dns": {
      "types": "./dist/lib/peer_discovery_dns/index.d.ts",
      "import": "./dist/lib/peer_discovery_dns/index.js"
    },
    "./lib/peer_discovery_static_list": {
      "types": "./dist/lib/peer_discovery_static_list.d.ts",
      "import": "./dist/lib/peer_discovery_static_list.js"
    },
    "./lib/predefined_bootstrap_nodes": {
      "types": "./dist/lib/predefined_bootstrap_nodes.d.ts",
      "import": "./dist/lib/predefined_bootstrap_nodes.js"
    },
    "./lib/wait_for_remote_peer": {
      "types": "./dist/lib/wait_for_remote_peer.d.ts",
      "import": "./dist/lib/wait_for_remote_peer.js"
    },
    "./lib/waku_message/version_0": {
      "types": "./dist/lib/waku_message/version_0.d.ts",
      "import": "./dist/lib/waku_message/version_0.js"
    },
    "./lib/waku_message/version_1": {
      "types": "./dist/lib/waku_message/version_1.d.ts",
      "import": "./dist/lib/waku_message/version_1.js"
    },
    "./lib/waku_message/topic_only_message": {
      "types": "./dist/lib/waku_message/topic_only_message.d.ts",
      "import": "./dist/lib/waku_message/topic_only_message.js"
    }
  },
  "typesVersions": {
    "*": {
      "lib/*": [
        "dist/lib/*"
      ]
    }
  },
  "type": "module",
  "repository": "https://github.com/status-im/js-waku",
  "license": "MIT OR Apache-2.0",
  "keywords": [
    "waku",
    "decentralised",
    "communication",
    "web3",
    "ethereum",
    "dapps"
  ],
  "scripts": {
    "prepare": "husky install",
    "build": "run-s build:**",
    "build:esm": "tsc && node build-scripts/fix-imports.js",
    "build:bundle": "rollup --config rollup.config.js",
    "size": "npm run build && size-limit",
    "fix": "run-s fix:*",
    "fix:prettier": "prettier \"src/**/*.ts\" \"./*.json\" \"*.*js\" \".github/**/*.yml\" --write",
    "fix:lint": "eslint src --ext .ts --ext .cjs --fix",
    "pretest": "run-s pretest:*",
    "pretest:1-init-git-submodules": "[ -f './nwaku/build/wakunode2' ] || git submodule update --init --recursive",
    "pretest:2-build-nwaku": "[ -f './nwaku/build/wakunode2' ] || run-s nwaku:build",
    "nwaku:build": "(cd nwaku; make update; NIMFLAGS=\"-d:chronicles_colors=off -d:chronicles_sinks=textlines -d:chronicles_log_level=TRACE\" make -j$(nproc --all 2>/dev/null || echo 2) wakunode2)",
    "nwaku:force-build": "(cd nwaku && rm -rf ./build/ ./vendor && make -j$(nproc --all 2>/dev/null || echo 2) update) && run-s nwaku:build",
    "test": "run-s test:*",
    "test:lint": "eslint src --ext .ts",
    "test:prettier": "prettier \"src/**/*.ts\" \"./*.json\" \"*.*js\" \".github/**/*.yml\" --list-different",
    "test:spelling": "cspell \"{README.md,.github/*.md,guides/*.md,src/**/*.ts}\"",
    "test:tsc": "tsc -p tsconfig.dev.json",
    "test:node": "TS_NODE_PROJECT=./tsconfig.dev.json mocha",
    "test:browser": "karma start karma.conf.cjs",
    "proto": "rimraf src/proto/*.ts; protons src/proto/*.proto",
    "watch:build": "tsc -p tsconfig.json -w",
    "watch:test": "mocha --watch",
    "doc": "run-s doc:*",
    "doc:html": "typedoc --treatWarningsAsErrors",
    "doc:cname": "echo 'js.waku.org' > build/docs/CNAME",
    "prepublish": "npm run build",
    "deploy": "node ci/deploy.js",
    "reset-hard": "git clean -dfx -e .idea && git reset --hard && npm i && npm run build"
  },
  "browser": {
    "crypto": false
  },
  "engines": {
    "node": ">=16"
  },
  "dependencies": {
    "@chainsafe/libp2p-gossipsub": "^4.1.1",
    "@chainsafe/libp2p-noise": "^8.0.1",
    "@ethersproject/rlp": "^5.5.0",
    "@libp2p/crypto": "^1.0.4",
    "@libp2p/interface-connection": "3.0.1",
    "@libp2p/interface-peer-discovery": "^1.0.0",
    "@libp2p/interface-peer-id": "^1.0.2",
    "@libp2p/interface-peer-info": "^1.0.1",
    "@libp2p/interface-peer-store": "^1.0.0",
    "@libp2p/interface-pubsub": "^2.0.1",
    "@libp2p/interfaces": "^3.0.2",
    "@libp2p/mplex": "^5.1.1",
    "@libp2p/peer-id": "^1.1.10",
    "@libp2p/websockets": "^3.0.3",
    "@multiformats/multiaddr": "^10.4.0",
    "@noble/secp256k1": "^1.3.4",
    "debug": "^4.3.4",
    "dns-query": "^0.11.2",
    "hi-base32": "^0.5.1",
    "it-all": "^1.0.6",
    "it-length-prefixed": "^8.0.2",
    "it-pipe": "^2.0.4",
    "js-sha3": "^0.8.0",
    "libp2p": "0.38.0",
    "p-event": "^5.0.1",
    "protons-runtime": "^3.1.0",
    "uint8arraylist": "^2.3.2",
    "uint8arrays": "^3.0.0",
    "uuid": "^8.3.2"
  },
  "devDependencies": {
    "@libp2p/peer-id-factory": "^1.0.15",
    "@rollup/plugin-commonjs": "^22.0.0",
    "@rollup/plugin-json": "^4.1.0",
    "@rollup/plugin-node-resolve": "^13.3.0",
    "@size-limit/preset-big-lib": "^8.0.0",
    "@types/app-root-path": "^1.2.4",
    "@types/chai": "^4.2.15",
    "@types/debug": "^4.1.7",
    "@types/mocha": "^9.1.0",
    "@types/node": "^17.0.6",
    "@types/tail": "^2.0.0",
    "@types/uuid": "^8.3.0",
    "@typescript-eslint/eslint-plugin": "^5.8.1",
    "@typescript-eslint/parser": "^5.8.1",
    "app-root-path": "^3.0.0",
    "chai": "^4.3.4",
    "cspell": "^5.14.0",
    "eslint": "^8.6.0",
    "eslint-config-prettier": "^8.3.0",
    "eslint-plugin-eslint-comments": "^3.2.0",
    "eslint-plugin-functional": "^4.0.2",
    "eslint-plugin-import": "^2.25.3",
    "eslint-plugin-prettier": "^4.0.0",
    "fast-check": "^2.14.0",
    "gh-pages": "^3.2.3",
    "husky": "^7.0.4",
    "ignore-loader": "^0.1.2",
    "isomorphic-fetch": "^3.0.0",
    "jsdom": "^19.0.0",
    "jsdom-global": "^3.0.2",
    "karma": "^6.3.12",
    "karma-chrome-launcher": "^3.1.0",
    "karma-mocha": "^2.0.1",
    "karma-webpack": "^5.0.0",
    "lint-staged": "^13.0.3",
    "mocha": "^9.1.3",
    "npm-run-all": "^4.1.5",
    "p-timeout": "^4.1.0",
    "portfinder": "^1.0.28",
    "prettier": "^2.1.1",
    "process": "^0.11.10",
    "protons": "^5.1.0",
    "puppeteer": "^13.0.1",
    "rollup": "^2.75.0",
    "size-limit": "^8.0.0",
    "tail": "^2.2.0",
    "ts-loader": "^9.3.1",
    "ts-node": "^10.9.1",
    "typedoc": "^0.23.10",
    "typescript": "^4.6.3"
  },
  "files": [
    "dist",
    "bundle",
    "src/*.ts",
    "src/lib/**/*.ts",
    "src/proto/**/*.ts",
    "!**/*.spec.*",
    "!**/*.json",
    "CHANGELOG.md",
    "LICENSE",
    "README.md"
  ],
  "lint-staged": {
    "*.ts": [
      "eslint --fix"
    ],
    "*.{ts,json,conf*.*js}": [
      "prettier --write"
    ],
    "./*.*js": [
      "prettier --write"
    ]
  }
}
