{ "name": "js-waku", "version": "0.19.2", "description": "TypeScript implementation of the Waku v2 protocol", "main": "build/main/index.js", "typings": "build/main/index.d.ts", "module": "build/esm/index.js", "exports": { "node": { "module": "./build/esm/index.js", "import": "./build/main/index.js" }, "default": "./build/main/index.js" }, "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:main": "tsc -p tsconfig.json", "build:dev": "tsc -p tsconfig.dev.json", "build:esm": "tsc --module es2015 --target es2015 --outDir build/esm", "build:umd": "webpack --config webpack.config.js", "build:umd:min": "webpack --config webpack.config.min.js", "build:umd:bundle": "webpack --config webpack.config.bundle.js", "build:umd:min:bundle": "webpack --config webpack.config.min.bundle.js", "size": "npm run build:esm && size-limit", "fix": "run-s fix:*", "fix:prettier": "prettier \"src/**/*.ts\" \"./*.json\" \"*.conf.js\" --write", "fix:lint": "eslint src --ext .ts --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 install); 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 build test:*", "test:lint": "eslint src --ext .ts", "test:prettier": "prettier \"src/**/*.ts\" \"./*.json\" \"*.conf.js\" --list-different", "test:spelling": "cspell \"{README.md,.github/*.md,guides/*.md,src/**/*.ts}\"", "test:unit": "nyc --silent mocha", "test:karma": "karma start", "examples:test": "run-s examples:pretest; for d in examples/*/; do (cd $d && npm test;); done", "proto": "run-s proto:*", "proto:lint": "buf lint", "proto:build": "rimraf ./src/proto && buf generate", "watch:build": "tsc -p tsconfig.json -w", "watch:test": "nyc --silent 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", "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" }, "engines": { "node": ">=16" }, "dependencies": { "@chainsafe/libp2p-noise": "^5.0.0", "@ethersproject/rlp": "^5.5.0", "debug": "^4.3.1", "dns-query": "^0.8.0", "hi-base32": "^0.5.1", "it-concat": "^2.0.0", "it-length-prefixed": "^5.0.2", "js-sha3": "^0.8.0", "libp2p": "^0.36.2", "libp2p-bootstrap": "^0.14.0", "libp2p-gossipsub": "^0.13.0", "libp2p-mplex": "^0.10.4", "libp2p-websockets": "^0.16.1", "multiaddr": "^10.0.1", "multihashes": "^4.0.3", "protobufjs": "^6.8.8", "secp256k1": "^4.0.2", "uuid": "^8.3.2" }, "devDependencies": { "@istanbuljs/nyc-config-typescript": "^1.0.1", "@size-limit/preset-big-lib": "^7.0.8", "@types/app-root-path": "^1.2.4", "@types/bl": "^5.0.2", "@types/chai": "^4.2.15", "@types/mocha": "^9.1.0", "@types/node": "^17.0.6", "@types/secp256k1": "^4.0.2", "@types/tail": "^2.0.0", "@types/uuid": "^8.3.0", "@types/varint": "^6.0.0", "@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/parser": "^5.8.1", "app-root-path": "^3.0.0", "assert": "^2.0.0", "buffer": "^6.0.3", "chai": "^4.3.4", "crypto-browserify": "^3.12.0", "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", "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-env-preprocessor": "^0.1.1", "karma-mocha": "^2.0.1", "karma-typescript": "^5.5.3", "lint-staged": "^12.3.4", "mocha": "^9.1.3", "npm-run-all": "^4.1.5", "nyc": "^15.1.0", "p-timeout": "^4.1.0", "portfinder": "^1.0.28", "prettier": "^2.1.1", "process": "^0.11.10", "puppeteer": "^13.0.1", "size-limit": "^7.0.8", "stream-browserify": "^3.0.0", "tail": "^2.2.0", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", "ts-proto": "^1.82.5", "typedoc": "^0.22.10", "typedoc-plugin-no-inherit": "^1.3.1", "typescript": "^4.5.5", "varint": "^6.0.0", "webpack": "^5.58.1", "webpack-cli": "^4.9.0" }, "files": [ "build/main", "build/esm", "build/umd", "!**/*.spec.*", "!**/*.json", "CHANGELOG.md", "LICENSE", "README.md" ], "nyc": { "extends": "@istanbuljs/nyc-config-typescript", "exclude": [ "**/*.spec.js" ] }, "size-limit": [ { "path": "build/esm/index.js", "import": "{ Waku }", "config": "./webpack.config.js" } ], "lint-staged": { "*.ts": [ "eslint --fix" ], "*.{ts,json,conf.js}": [ "prettier --write" ] } }