{ "name": "js-waku", "version": "0.24.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" } }, "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 -- dist/index.js", "build:bundle:min": "terser --ecma 11 --compress --mangle -o dist/bundle.min.js -- dist/bundle.js && gzip -9 -c dist/bundle.min.js > dist/bundle.min.js.gz", "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 './nim-waku/build/wakunode2' ] || git submodule update --init --recursive", "pretest:2-build-nim-waku": "[ -f './nim-waku/build/wakunode2' ] || run-s nim-waku:build", "examples:pretest": "for d in examples/*/; do (cd $d && npm ci); done", "nim-waku:build": "(cd nim-waku; NIMFLAGS=\"-d:chronicles_colors=off -d:chronicles_sinks=textlines -d:chronicles_log_level=TRACE\" make -j$(nproc --all 2>/dev/null || echo 2) wakunode2)", "nim-waku:force-build": "(cd nim-waku && rm -rf ./build/ ./vendor && make -j$(nproc --all 2>/dev/null || echo 2) update) && run-s nim-waku: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:unit": "mocha", "test:karma": "karma start karma.conf.cjs", "examples:test": "run-s examples:pretest; for d in examples/*/; do (cd $d && npm test;); done", "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", "doc:cname": "echo 'js-waku.wakuconnect.dev' > build/docs/CNAME", "doc:examples": "mkdir -p build/docs/examples", "prepublish": "npm run build", "deploy": "node ci/deploy.js", "reset-hard": "git clean -dfx && git reset --hard && npm i && npm run build && for d in examples/*/; do (cd $d; npm i); done" }, "browser": { "crypto": false }, "engines": { "node": ">=16" }, "dependencies": { "@chainsafe/libp2p-gossipsub": "^3.4.0", "@chainsafe/libp2p-noise": "^7.0.1", "@ethersproject/rlp": "^5.5.0", "@libp2p/crypto": "^1.0.0", "@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/interfaces": "^3.0.2", "@libp2p/mplex": "^4.0.1", "@libp2p/peer-id": "^1.1.10", "@libp2p/websockets": "^3.0.0", "@multiformats/multiaddr": "^10.2.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": "^7.0.1", "it-pipe": "^2.0.3", "js-sha3": "^0.8.0", "libp2p": "next", "p-event": "^5.0.1", "protons-runtime": "^1.0.4", "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": "^12.3.4", "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": "^3.0.4", "puppeteer": "^13.0.1", "rollup": "^2.75.0", "size-limit": "^8.0.0", "tail": "^2.2.0", "terser": "^5.13.1", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", "typedoc": "^0.22.10", "typedoc-plugin-no-inherit": "^1.3.1", "typescript": "^4.5.5" }, "files": [ "dist", "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" ] } }