From 62f2737b3321af995a1f80cb9023db225e79db6f Mon Sep 17 00:00:00 2001 From: danisharora099 <danisharora099@gmail.com> Date: Tue, 30 May 2023 17:14:17 +0530 Subject: [PATCH 1/6] feat!(@waku/sdk): rename package from @waku/create to @waku/sdk --- .size-limit.cjs | 4 +- package-lock.json | 247 ++++++++++++------ package.json | 2 +- packages/core/src/lib/wait_for_remote_peer.ts | 2 +- packages/{create => sdk}/.eslintrc.cjs | 0 packages/{create => sdk}/CHANGELOG.md | 0 packages/{create => sdk}/package.json | 8 +- packages/{create => sdk}/rollup.config.js | 0 packages/{create => sdk}/src/index.ts | 0 .../{create => sdk}/src/libp2p_components.ts | 0 packages/{create => sdk}/tsconfig.dev.json | 0 packages/{create => sdk}/tsconfig.json | 0 packages/tests/package.json | 2 +- .../tests/tests/dns-peer-discovery.spec.ts | 2 +- packages/tests/tests/enr.node.spec.ts | 2 +- packages/tests/tests/ephemeral.node.spec.ts | 2 +- packages/tests/tests/filter_v1.node.spec.ts | 2 +- packages/tests/tests/filter_v2.node.spec.ts | 2 +- packages/tests/tests/light_push.node.spec.ts | 2 +- .../tests/tests/peer_exchange.node.spec.ts | 2 +- packages/tests/tests/relay.node.spec.ts | 2 +- packages/tests/tests/store.node.spec.ts | 2 +- packages/tests/tests/utils.spec.ts | 2 +- .../tests/wait_for_remote_peer.node.spec.ts | 2 +- packages/tests/tests/waku.node.spec.ts | 2 +- 25 files changed, 185 insertions(+), 104 deletions(-) rename packages/{create => sdk}/.eslintrc.cjs (100%) rename packages/{create => sdk}/CHANGELOG.md (100%) rename packages/{create => sdk}/package.json (95%) rename packages/{create => sdk}/rollup.config.js (100%) rename packages/{create => sdk}/src/index.ts (100%) rename packages/{create => sdk}/src/libp2p_components.ts (100%) rename packages/{create => sdk}/tsconfig.dev.json (100%) rename packages/{create => sdk}/tsconfig.json (100%) diff --git a/.size-limit.cjs b/.size-limit.cjs index 24553cab1f..32134cf361 100644 --- a/.size-limit.cjs +++ b/.size-limit.cjs @@ -6,9 +6,9 @@ module.exports = [ }, { name: "Waku default setup", - path: ["packages/create/bundle/index.js", "packages/core/bundle/index.js"], + path: ["packages/sdk/bundle/index.js", "packages/core/bundle/index.js"], import: { - "packages/create/bundle/index.js": "{ createLightNode }", + "packages/sdk/bundle/index.js": "{ createLightNode }", "packages/core/bundle/index.js": "{ waitForRemotePeer, createEncoder, createDecoder }", }, diff --git a/package-lock.json b/package-lock.json index 0963b87444..a6677ce1d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "packages/peer-exchange", "packages/dns-discovery", "packages/message-encryption", - "packages/create", + "packages/sdk", "packages/tests", "packages/build-utils" ], @@ -7114,10 +7114,6 @@ "resolved": "packages/core", "link": true }, - "node_modules/@waku/create": { - "resolved": "packages/create", - "link": true - }, "node_modules/@waku/dns-discovery": { "resolved": "packages/dns-discovery", "link": true @@ -7150,6 +7146,10 @@ "resolved": "packages/relay", "link": true }, + "node_modules/@waku/sdk": { + "resolved": "packages/sdk", + "link": true + }, "node_modules/@waku/tests": { "resolved": "packages/tests", "link": true @@ -30841,8 +30841,9 @@ } }, "packages/create": { - "name": "@waku/create", - "version": "0.0.14", + "name": "@waku/sdk", + "version": "0.0.15", + "extraneous": true, "license": "MIT OR Apache-2.0", "dependencies": { "@chainsafe/libp2p-noise": "^11.0.0", @@ -30892,22 +30893,6 @@ "node": ">=16" } }, - "packages/create/node_modules/@libp2p/interface-dht": { - "version": "2.0.1", - "dev": true, - "license": "Apache-2.0 OR MIT", - "dependencies": { - "@libp2p/interface-peer-discovery": "^1.0.0", - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interface-peer-info": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "multiformats": "^11.0.0" - }, - "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" - } - }, "packages/dns-discovery": { "name": "@waku/dns-discovery", "version": "0.0.12", @@ -31295,6 +31280,88 @@ "node": ">=16" } }, + "packages/sdk": { + "version": "0.0.15", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@chainsafe/libp2p-noise": "^11.0.0", + "@libp2p/mplex": "^7.1.1", + "@libp2p/websockets": "^5.0.3", + "@waku/core": "0.0.18", + "@waku/dns-discovery": "0.0.12", + "@waku/relay": "0.0.1", + "libp2p": "^0.42.2" + }, + "devDependencies": { + "@libp2p/interface-address-manager": "^2.0.4", + "@libp2p/interface-connection": "^3.0.8", + "@libp2p/interface-connection-manager": "^1.3.7", + "@libp2p/interface-content-routing": "^2.1.1", + "@libp2p/interface-dht": "^2.0.1", + "@libp2p/interface-libp2p": "^1.1.2", + "@libp2p/interface-metrics": "^4.0.7", + "@libp2p/interface-peer-discovery": "^1.0.5", + "@libp2p/interface-peer-id": "^2.0.1", + "@libp2p/interface-peer-routing": "^1.0.8", + "@libp2p/interface-peer-store": "^1.2.8", + "@libp2p/interface-pubsub": "^3.0.6", + "@libp2p/interface-registrar": "^2.0.8", + "@libp2p/interface-transport": "^2.1.1", + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.2", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.51.0", + "@waku/build-utils": "*", + "@waku/interfaces": "0.0.13", + "cspell": "^6.31.1", + "eslint": "^8.35.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-functional": "^5.0.4", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-prettier": "^4.2.1", + "interface-datastore": "^7.0.4", + "npm-run-all": "^4.1.5", + "prettier": "^2.8.8", + "rollup": "^3.21.3", + "typescript": "^5.0.4" + }, + "engines": { + "node": ">=16" + } + }, + "packages/sdk/node_modules/@libp2p/interface-dht": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@libp2p/interface-dht/-/interface-dht-2.0.3.tgz", + "integrity": "sha512-JAKbHvw3egaSeB7CHOf6PF/dLNim4kzAiXX+0IEz2lln8L32/Xf1T7KNOF/RSbSYqO9b7Xxc/b2fuSfyaMwwMQ==", + "dev": true, + "dependencies": { + "@libp2p/interface-peer-discovery": "^2.0.0", + "@libp2p/interface-peer-id": "^2.0.0", + "@libp2p/interface-peer-info": "^1.0.0", + "@libp2p/interfaces": "^3.0.0", + "multiformats": "^11.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "packages/sdk/node_modules/@libp2p/interface-dht/node_modules/@libp2p/interface-peer-discovery": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-discovery/-/interface-peer-discovery-2.0.0.tgz", + "integrity": "sha512-Mien5t3Tc+ntP5p50acKUYJN90ouMnq1lOTQDKQNvGcXoajG8A1AEYLocnzVia/MXiexuj6S/Q28WBBacoOlBg==", + "dev": true, + "dependencies": { + "@libp2p/interface-peer-info": "^1.0.0", + "@libp2p/interfaces": "^3.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "packages/tests": { "name": "@waku/tests", "version": "0.0.1", @@ -31323,10 +31390,10 @@ "@types/tail": "^2.2.1", "@typescript-eslint/eslint-plugin": "^5.57.0", "@typescript-eslint/parser": "^5.51.0", - "@waku/create": "*", "@waku/dns-discovery": "*", "@waku/message-encryption": "*", "@waku/peer-exchange": "*", + "@waku/sdk": "*", "chai": "^4.3.7", "cspell": "^6.31.1", "debug": "^4.3.4", @@ -36736,64 +36803,6 @@ } } }, - "@waku/create": { - "version": "file:packages/create", - "requires": { - "@chainsafe/libp2p-noise": "^11.0.0", - "@libp2p/interface-address-manager": "^2.0.4", - "@libp2p/interface-connection": "^3.0.8", - "@libp2p/interface-connection-manager": "^1.3.7", - "@libp2p/interface-content-routing": "^2.1.1", - "@libp2p/interface-dht": "^2.0.1", - "@libp2p/interface-libp2p": "^1.1.2", - "@libp2p/interface-metrics": "^4.0.7", - "@libp2p/interface-peer-discovery": "^1.0.5", - "@libp2p/interface-peer-id": "^2.0.1", - "@libp2p/interface-peer-routing": "^1.0.8", - "@libp2p/interface-peer-store": "^1.2.8", - "@libp2p/interface-pubsub": "^3.0.6", - "@libp2p/interface-registrar": "^2.0.8", - "@libp2p/interface-transport": "^2.1.1", - "@libp2p/mplex": "^7.1.1", - "@libp2p/websockets": "^5.0.3", - "@rollup/plugin-commonjs": "^24.0.1", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.0.2", - "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.51.0", - "@waku/build-utils": "*", - "@waku/core": "0.0.18", - "@waku/dns-discovery": "0.0.12", - "@waku/interfaces": "0.0.13", - "@waku/relay": "0.0.1", - "cspell": "^6.31.1", - "eslint": "^8.35.0", - "eslint-config-prettier": "^8.6.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-functional": "^5.0.4", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^4.2.1", - "interface-datastore": "^7.0.4", - "libp2p": "^0.42.2", - "npm-run-all": "^4.1.5", - "prettier": "^2.8.8", - "rollup": "^3.21.3", - "typescript": "^5.0.4" - }, - "dependencies": { - "@libp2p/interface-dht": { - "version": "2.0.1", - "dev": true, - "requires": { - "@libp2p/interface-peer-discovery": "^1.0.0", - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interface-peer-info": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "multiformats": "^11.0.0" - } - } - } - }, "@waku/dns-discovery": { "version": "file:packages/dns-discovery", "requires": { @@ -37115,6 +37124,78 @@ "typescript": "^5.0.4" } }, + "@waku/sdk": { + "version": "file:packages/sdk", + "requires": { + "@chainsafe/libp2p-noise": "^11.0.0", + "@libp2p/interface-address-manager": "^2.0.4", + "@libp2p/interface-connection": "^3.0.8", + "@libp2p/interface-connection-manager": "^1.3.7", + "@libp2p/interface-content-routing": "^2.1.1", + "@libp2p/interface-dht": "^2.0.1", + "@libp2p/interface-libp2p": "^1.1.2", + "@libp2p/interface-metrics": "^4.0.7", + "@libp2p/interface-peer-discovery": "^1.0.5", + "@libp2p/interface-peer-id": "^2.0.1", + "@libp2p/interface-peer-routing": "^1.0.8", + "@libp2p/interface-peer-store": "^1.2.8", + "@libp2p/interface-pubsub": "^3.0.6", + "@libp2p/interface-registrar": "^2.0.8", + "@libp2p/interface-transport": "^2.1.1", + "@libp2p/mplex": "^7.1.1", + "@libp2p/websockets": "^5.0.3", + "@rollup/plugin-commonjs": "^24.0.1", + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.2", + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.51.0", + "@waku/build-utils": "*", + "@waku/core": "0.0.18", + "@waku/dns-discovery": "0.0.12", + "@waku/interfaces": "0.0.13", + "@waku/relay": "0.0.1", + "cspell": "^6.31.1", + "eslint": "^8.35.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-functional": "^5.0.4", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-prettier": "^4.2.1", + "interface-datastore": "^7.0.4", + "libp2p": "^0.42.2", + "npm-run-all": "^4.1.5", + "prettier": "^2.8.8", + "rollup": "^3.21.3", + "typescript": "^5.0.4" + }, + "dependencies": { + "@libp2p/interface-dht": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@libp2p/interface-dht/-/interface-dht-2.0.3.tgz", + "integrity": "sha512-JAKbHvw3egaSeB7CHOf6PF/dLNim4kzAiXX+0IEz2lln8L32/Xf1T7KNOF/RSbSYqO9b7Xxc/b2fuSfyaMwwMQ==", + "dev": true, + "requires": { + "@libp2p/interface-peer-discovery": "^2.0.0", + "@libp2p/interface-peer-id": "^2.0.0", + "@libp2p/interface-peer-info": "^1.0.0", + "@libp2p/interfaces": "^3.0.0", + "multiformats": "^11.0.0" + }, + "dependencies": { + "@libp2p/interface-peer-discovery": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface-peer-discovery/-/interface-peer-discovery-2.0.0.tgz", + "integrity": "sha512-Mien5t3Tc+ntP5p50acKUYJN90ouMnq1lOTQDKQNvGcXoajG8A1AEYLocnzVia/MXiexuj6S/Q28WBBacoOlBg==", + "dev": true, + "requires": { + "@libp2p/interface-peer-info": "^1.0.0", + "@libp2p/interfaces": "^3.0.0" + } + } + } + } + } + }, "@waku/tests": { "version": "file:packages/tests", "requires": { @@ -37130,12 +37211,12 @@ "@typescript-eslint/eslint-plugin": "^5.57.0", "@typescript-eslint/parser": "^5.51.0", "@waku/core": "*", - "@waku/create": "*", "@waku/dns-discovery": "*", "@waku/enr": "*", "@waku/interfaces": "*", "@waku/message-encryption": "*", "@waku/peer-exchange": "*", + "@waku/sdk": "*", "@waku/utils": "*", "app-root-path": "^3.1.0", "chai": "^4.3.7", diff --git a/package.json b/package.json index 3d65af5aec..514868454c 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "packages/peer-exchange", "packages/dns-discovery", "packages/message-encryption", - "packages/create", + "packages/sdk", "packages/tests", "packages/build-utils" ], diff --git a/packages/core/src/lib/wait_for_remote_peer.ts b/packages/core/src/lib/wait_for_remote_peer.ts index 3e90694c9c..222a5e981a 100644 --- a/packages/core/src/lib/wait_for_remote_peer.ts +++ b/packages/core/src/lib/wait_for_remote_peer.ts @@ -10,7 +10,7 @@ const log = debug("waku:wait-for-remote-peer"); * Wait for a remote peer to be ready given the passed protocols. * Must be used after attempting to connect to nodes, using * {@link @waku/core.WakuNode.dial} or a bootstrap method with - * {@link @waku/create.createLightNode}. + * {@link @waku/sdk.createLightNode}. * * If the passed protocols is a GossipSub protocol, then it resolves only once * a peer is in a mesh, to help ensure that other peers will send and receive diff --git a/packages/create/.eslintrc.cjs b/packages/sdk/.eslintrc.cjs similarity index 100% rename from packages/create/.eslintrc.cjs rename to packages/sdk/.eslintrc.cjs diff --git a/packages/create/CHANGELOG.md b/packages/sdk/CHANGELOG.md similarity index 100% rename from packages/create/CHANGELOG.md rename to packages/sdk/CHANGELOG.md diff --git a/packages/create/package.json b/packages/sdk/package.json similarity index 95% rename from packages/create/package.json rename to packages/sdk/package.json index fc352b4156..7499223fd9 100644 --- a/packages/create/package.json +++ b/packages/sdk/package.json @@ -1,7 +1,7 @@ { - "name": "@waku/create", - "version": "0.0.14", - "description": "Easily create a Waku node", + "name": "@waku/sdk", + "version": "0.0.15", + "description": "A unified SDK for easy creation and management of js-waku nodes.", "types": "./dist/index.d.ts", "module": "./dist/index.js", "exports": { @@ -12,7 +12,7 @@ }, "type": "module", "author": "Waku Team", - "homepage": "https://github.com/waku-org/js-waku/tree/master/packages/create#readme", + "homepage": "https://github.com/waku-org/js-waku/tree/master/packages/sdk#readme", "repository": { "type": "git", "url": "https://github.com/waku-org/js-waku.git" diff --git a/packages/create/rollup.config.js b/packages/sdk/rollup.config.js similarity index 100% rename from packages/create/rollup.config.js rename to packages/sdk/rollup.config.js diff --git a/packages/create/src/index.ts b/packages/sdk/src/index.ts similarity index 100% rename from packages/create/src/index.ts rename to packages/sdk/src/index.ts diff --git a/packages/create/src/libp2p_components.ts b/packages/sdk/src/libp2p_components.ts similarity index 100% rename from packages/create/src/libp2p_components.ts rename to packages/sdk/src/libp2p_components.ts diff --git a/packages/create/tsconfig.dev.json b/packages/sdk/tsconfig.dev.json similarity index 100% rename from packages/create/tsconfig.dev.json rename to packages/sdk/tsconfig.dev.json diff --git a/packages/create/tsconfig.json b/packages/sdk/tsconfig.json similarity index 100% rename from packages/create/tsconfig.json rename to packages/sdk/tsconfig.json diff --git a/packages/tests/package.json b/packages/tests/package.json index 8beb794841..7a94c8c517 100644 --- a/packages/tests/package.json +++ b/packages/tests/package.json @@ -72,7 +72,7 @@ "@types/tail": "^2.2.1", "@typescript-eslint/eslint-plugin": "^5.57.0", "@typescript-eslint/parser": "^5.51.0", - "@waku/create": "*", + "@waku/sdk": "*", "@waku/dns-discovery": "*", "@waku/message-encryption": "*", "@waku/peer-exchange": "*", diff --git a/packages/tests/tests/dns-peer-discovery.spec.ts b/packages/tests/tests/dns-peer-discovery.spec.ts index 4ddddde347..edfa9f3f75 100644 --- a/packages/tests/tests/dns-peer-discovery.spec.ts +++ b/packages/tests/tests/dns-peer-discovery.spec.ts @@ -3,13 +3,13 @@ import tests from "@libp2p/interface-peer-discovery-compliance-tests"; import { Peer } from "@libp2p/interface-peer-store"; import { createSecp256k1PeerId } from "@libp2p/peer-id-factory"; import { PersistentPeerStore } from "@libp2p/peer-store"; -import { createLightNode } from "@waku/create"; import { DnsNodeDiscovery, enrTree, PeerDiscoveryDns, wakuDnsDiscovery, } from "@waku/dns-discovery"; +import { createLightNode } from "@waku/sdk"; import { expect } from "chai"; import { MemoryDatastore } from "datastore-core"; diff --git a/packages/tests/tests/enr.node.spec.ts b/packages/tests/tests/enr.node.spec.ts index ca843c5573..6c2c2812b6 100644 --- a/packages/tests/tests/enr.node.spec.ts +++ b/packages/tests/tests/enr.node.spec.ts @@ -1,8 +1,8 @@ import { waitForRemotePeer } from "@waku/core"; -import { createRelayNode } from "@waku/create"; import { EnrDecoder } from "@waku/enr"; import type { RelayNode } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; +import { createRelayNode } from "@waku/sdk"; import { expect } from "chai"; import { makeLogFileName, NOISE_KEY_1 } from "../src/index.js"; diff --git a/packages/tests/tests/ephemeral.node.spec.ts b/packages/tests/tests/ephemeral.node.spec.ts index 80e8fe884d..7dce782a06 100644 --- a/packages/tests/tests/ephemeral.node.spec.ts +++ b/packages/tests/tests/ephemeral.node.spec.ts @@ -4,7 +4,6 @@ import { DecodedMessage, waitForRemotePeer, } from "@waku/core"; -import { createLightNode } from "@waku/create"; import { IFilterV2, IFilterV2Subscription, Protocols } from "@waku/interfaces"; import type { LightNode } from "@waku/interfaces"; import { @@ -18,6 +17,7 @@ import { createDecoder as symDecoder, createEncoder as symEncoder, } from "@waku/message-encryption/symmetric"; +import { createLightNode } from "@waku/sdk"; import { bytesToUtf8, utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; import debug from "debug"; diff --git a/packages/tests/tests/filter_v1.node.spec.ts b/packages/tests/tests/filter_v1.node.spec.ts index 630d20d2a6..6105582bcb 100644 --- a/packages/tests/tests/filter_v1.node.spec.ts +++ b/packages/tests/tests/filter_v1.node.spec.ts @@ -5,9 +5,9 @@ import { DefaultPubSubTopic, waitForRemotePeer, } from "@waku/core"; -import { createLightNode } from "@waku/create"; import type { IFilter, LightNode } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; +import { createLightNode } from "@waku/sdk"; import { bytesToUtf8, utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; import debug from "debug"; diff --git a/packages/tests/tests/filter_v2.node.spec.ts b/packages/tests/tests/filter_v2.node.spec.ts index fc6bf4f33d..7fd887f301 100644 --- a/packages/tests/tests/filter_v2.node.spec.ts +++ b/packages/tests/tests/filter_v2.node.spec.ts @@ -5,13 +5,13 @@ import { DefaultPubSubTopic, waitForRemotePeer, } from "@waku/core"; -import { createLightNode } from "@waku/create"; import type { IFilterV2, IFilterV2Subscription, LightNode, } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; +import { createLightNode } from "@waku/sdk"; import { bytesToUtf8, utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; import debug from "debug"; diff --git a/packages/tests/tests/light_push.node.spec.ts b/packages/tests/tests/light_push.node.spec.ts index 67c19ca135..81b534055e 100644 --- a/packages/tests/tests/light_push.node.spec.ts +++ b/packages/tests/tests/light_push.node.spec.ts @@ -1,7 +1,7 @@ import { createEncoder, waitForRemotePeer } from "@waku/core"; -import { createLightNode } from "@waku/create"; import { LightNode, SendError } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; +import { createLightNode } from "@waku/sdk"; import { utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; import debug from "debug"; diff --git a/packages/tests/tests/peer_exchange.node.spec.ts b/packages/tests/tests/peer_exchange.node.spec.ts index 713d85a46f..55ae62b1cc 100644 --- a/packages/tests/tests/peer_exchange.node.spec.ts +++ b/packages/tests/tests/peer_exchange.node.spec.ts @@ -4,7 +4,6 @@ import { Fleet, getPredefinedBootstrapNodes, } from "@waku/core/lib/predefined_bootstrap_nodes"; -import { createLightNode, Libp2pComponents } from "@waku/create"; import type { LightNode, PeerInfo } from "@waku/interfaces"; import { PeerExchangeCodec, @@ -12,6 +11,7 @@ import { WakuPeerExchange, wakuPeerExchangeDiscovery, } from "@waku/peer-exchange"; +import { createLightNode, Libp2pComponents } from "@waku/sdk"; import { expect } from "chai"; import { delay } from "../src/delay.js"; diff --git a/packages/tests/tests/relay.node.spec.ts b/packages/tests/tests/relay.node.spec.ts index 0bf97ce7f9..49f7b515ac 100644 --- a/packages/tests/tests/relay.node.spec.ts +++ b/packages/tests/tests/relay.node.spec.ts @@ -6,7 +6,6 @@ import { DefaultPubSubTopic, waitForRemotePeer, } from "@waku/core"; -import { createRelayNode } from "@waku/create"; import { RelayNode, SendError } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; import { @@ -20,6 +19,7 @@ import { createEncoder as createSymEncoder, generateSymmetricKey, } from "@waku/message-encryption/symmetric"; +import { createRelayNode } from "@waku/sdk"; import { bytesToUtf8, utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; import debug from "debug"; diff --git a/packages/tests/tests/store.node.spec.ts b/packages/tests/tests/store.node.spec.ts index 2cbe5e3ebe..e4410f5d6f 100644 --- a/packages/tests/tests/store.node.spec.ts +++ b/packages/tests/tests/store.node.spec.ts @@ -6,7 +6,6 @@ import { PageDirection, waitForRemotePeer, } from "@waku/core"; -import { createLightNode } from "@waku/create"; import type { IMessage, LightNode } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; import { @@ -20,6 +19,7 @@ import { createEncoder as createSymEncoder, generateSymmetricKey, } from "@waku/message-encryption/symmetric"; +import { createLightNode } from "@waku/sdk"; import { bytesToUtf8, utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; import debug from "debug"; diff --git a/packages/tests/tests/utils.spec.ts b/packages/tests/tests/utils.spec.ts index f3bd2ca7b2..55c0a23b54 100644 --- a/packages/tests/tests/utils.spec.ts +++ b/packages/tests/tests/utils.spec.ts @@ -4,9 +4,9 @@ import { DefaultPubSubTopic, waitForRemotePeer, } from "@waku/core"; -import { createLightNode } from "@waku/create"; import type { IFilter, IFilterV2, LightNode } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; +import { createLightNode } from "@waku/sdk"; import { toAsyncIterator } from "@waku/utils"; import { bytesToUtf8, utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; diff --git a/packages/tests/tests/wait_for_remote_peer.node.spec.ts b/packages/tests/tests/wait_for_remote_peer.node.spec.ts index cb7a13874f..d8f7643e8b 100644 --- a/packages/tests/tests/wait_for_remote_peer.node.spec.ts +++ b/packages/tests/tests/wait_for_remote_peer.node.spec.ts @@ -1,7 +1,7 @@ import { waitForRemotePeer } from "@waku/core"; -import { createLightNode, createRelayNode } from "@waku/create"; import type { LightNode, RelayNode } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; +import { createLightNode, createRelayNode } from "@waku/sdk"; import { expect } from "chai"; import { delay, makeLogFileName, NOISE_KEY_1 } from "../src/index.js"; diff --git a/packages/tests/tests/waku.node.spec.ts b/packages/tests/tests/waku.node.spec.ts index 4b64c5c4a3..99b006c680 100644 --- a/packages/tests/tests/waku.node.spec.ts +++ b/packages/tests/tests/waku.node.spec.ts @@ -5,7 +5,6 @@ import { DefaultUserAgent, waitForRemotePeer, } from "@waku/core"; -import { createLightNode, createRelayNode } from "@waku/create"; import type { LightNode, RelayNode, Waku } from "@waku/interfaces"; import { Protocols } from "@waku/interfaces"; import { @@ -13,6 +12,7 @@ import { createEncoder, generateSymmetricKey, } from "@waku/message-encryption/symmetric"; +import { createLightNode, createRelayNode } from "@waku/sdk"; import { bytesToUtf8, utf8ToBytes } from "@waku/utils/bytes"; import { expect } from "chai"; From 4a9c74e45427b7f93cf1a899dcf8441aaa03ac09 Mon Sep 17 00:00:00 2001 From: danisharora099 <danisharora099@gmail.com> Date: Tue, 30 May 2023 17:24:44 +0530 Subject: [PATCH 2/6] feat: proxy @waku/core and @waku/utils through @waku/sdk --- package-lock.json | 3 + packages/sdk/package.json | 1 + packages/sdk/src/create.ts | 198 ++++++++++++++++++++++++++++++++++++ packages/sdk/src/index.ts | 201 +------------------------------------ 4 files changed, 205 insertions(+), 198 deletions(-) create mode 100644 packages/sdk/src/create.ts diff --git a/package-lock.json b/package-lock.json index a6677ce1d0..47ceaafc28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31281,6 +31281,7 @@ } }, "packages/sdk": { + "name": "@waku/sdk", "version": "0.0.15", "license": "MIT OR Apache-2.0", "dependencies": { @@ -31290,6 +31291,7 @@ "@waku/core": "0.0.18", "@waku/dns-discovery": "0.0.12", "@waku/relay": "0.0.1", + "@waku/utils": "*", "libp2p": "^0.42.2" }, "devDependencies": { @@ -37154,6 +37156,7 @@ "@waku/dns-discovery": "0.0.12", "@waku/interfaces": "0.0.13", "@waku/relay": "0.0.1", + "@waku/utils": "*", "cspell": "^6.31.1", "eslint": "^8.35.0", "eslint-config-prettier": "^8.6.0", diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 7499223fd9..70ea846b19 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -53,6 +53,7 @@ "@libp2p/websockets": "^5.0.3", "@waku/relay": "0.0.1", "@waku/core": "0.0.18", + "@waku/utils": "*", "@waku/dns-discovery": "0.0.12", "libp2p": "^0.42.2" }, diff --git a/packages/sdk/src/create.ts b/packages/sdk/src/create.ts new file mode 100644 index 0000000000..22722ad625 --- /dev/null +++ b/packages/sdk/src/create.ts @@ -0,0 +1,198 @@ +import type { GossipSub } from "@chainsafe/libp2p-gossipsub"; +import { noise } from "@chainsafe/libp2p-noise"; +import type { Libp2p } from "@libp2p/interface-libp2p"; +import type { PeerDiscovery } from "@libp2p/interface-peer-discovery"; +import { mplex } from "@libp2p/mplex"; +import { webSockets } from "@libp2p/websockets"; +import { all as filterAll } from "@libp2p/websockets/filters"; +import { + DefaultUserAgent, + wakuFilterV1, + wakuFilterV2, + wakuLightPush, + WakuNode, + WakuOptions, + wakuStore, +} from "@waku/core"; +import { enrTree, wakuDnsDiscovery } from "@waku/dns-discovery"; +import type { + FullNode, + IFilter, + IFilterV2, + LightNode, + ProtocolCreateOptions, + RelayNode, +} from "@waku/interfaces"; +import { RelayCreateOptions, wakuGossipSub, wakuRelay } from "@waku/relay"; +import { createLibp2p, Libp2pOptions } from "libp2p"; + +import type { Libp2pComponents } from "./libp2p_components.js"; + +const DEFAULT_NODE_REQUIREMENTS = { + lightPush: 1, + filter: 1, + store: 1, +}; + +export { Libp2pComponents }; + +/** + * Create a Waku node that uses Waku Light Push, Filter and Store to send and + * receive messages, enabling low resource consumption. + * If `useFilterV1` is set to true, the node will use Filter V1 protocol. + * If `useFilterV1` is set to false or undefined, the node will use Filter V2 protocol. (default behavior) + * + * **Note: This is NOT compatible with nwaku v0.11** + * + * @see https://github.com/status-im/nwaku/issues/1085 + */ +export async function createLightNode( + options?: ProtocolCreateOptions & WakuOptions +): Promise<LightNode> { + const libp2pOptions = options?.libp2p ?? {}; + const peerDiscovery = libp2pOptions.peerDiscovery ?? []; + if (options?.defaultBootstrap) { + peerDiscovery.push(defaultPeerDiscovery()); + Object.assign(libp2pOptions, { peerDiscovery }); + } + + const libp2p = await defaultLibp2p( + undefined, + libp2pOptions, + options?.userAgent + ); + + const store = wakuStore(options); + const lightPush = wakuLightPush(options); + + let filter: (libp2p: Libp2p) => IFilter | IFilterV2; + + if (options?.useFilterV1) { + filter = wakuFilterV1(options) as (libp2p: Libp2p) => IFilter; + } else { + filter = wakuFilterV2() as (libp2p: Libp2p) => IFilterV2; + } + + return new WakuNode( + options ?? {}, + libp2p, + store, + lightPush, + filter + ) as LightNode; +} + +/** + * Create a Waku node that uses Waku Relay to send and receive messages, + * enabling some privacy preserving properties. + */ +export async function createRelayNode( + options?: ProtocolCreateOptions & WakuOptions & Partial<RelayCreateOptions> +): Promise<RelayNode> { + const libp2pOptions = options?.libp2p ?? {}; + const peerDiscovery = libp2pOptions.peerDiscovery ?? []; + if (options?.defaultBootstrap) { + peerDiscovery.push(defaultPeerDiscovery()); + Object.assign(libp2pOptions, { peerDiscovery }); + } + + const libp2p = await defaultLibp2p( + wakuGossipSub(options), + libp2pOptions, + options?.userAgent + ); + + const relay = wakuRelay(options); + + return new WakuNode( + options ?? {}, + libp2p, + undefined, + undefined, + undefined, + relay + ) as RelayNode; +} + +/** + * Create a Waku node that uses all Waku protocols. + * Implements generics to allow for conditional type checking for Filter V1 and V2 protocols. + * If `useFilterV1` is set to true, the node will use Filter V1 protocol. + * If `useFilterV1` is set to false or undefined, the node will use Filter V2 protocol. (default behavior) + * + * This helper is not recommended except if: + * - you are interfacing with nwaku v0.11 or below + * - you are doing some form of testing + * + * If you are building a full node, it is recommended to use + * [nwaku](github.com/status-im/nwaku) and its JSON RPC API or wip REST API. + * + * @see https://github.com/status-im/nwaku/issues/1085 + * @internal + */ +export async function createFullNode( + options?: ProtocolCreateOptions & WakuOptions & Partial<RelayCreateOptions> +): Promise<FullNode> { + const libp2pOptions = options?.libp2p ?? {}; + const peerDiscovery = libp2pOptions.peerDiscovery ?? []; + if (options?.defaultBootstrap) { + peerDiscovery.push(defaultPeerDiscovery()); + Object.assign(libp2pOptions, { peerDiscovery }); + } + + const libp2p = await defaultLibp2p( + wakuGossipSub(options), + libp2pOptions, + options?.userAgent + ); + + const store = wakuStore(options); + const lightPush = wakuLightPush(options); + + let filter: (libp2p: Libp2p) => IFilter | IFilterV2; + if (!options?.useFilterV1) { + filter = wakuFilterV2(); + } else { + filter = wakuFilterV1(options); + } + + const relay = wakuRelay(options); + + return new WakuNode( + options ?? {}, + libp2p, + store, + lightPush, + filter, + relay + ) as FullNode; +} + +export function defaultPeerDiscovery(): ( + components: Libp2pComponents +) => PeerDiscovery { + return wakuDnsDiscovery(enrTree["PROD"], DEFAULT_NODE_REQUIREMENTS); +} + +export async function defaultLibp2p( + wakuGossipSub?: (components: Libp2pComponents) => GossipSub, + options?: Partial<Libp2pOptions>, + userAgent?: string +): Promise<Libp2p> { + const libp2pOpts = Object.assign( + { + transports: [webSockets({ filter: filterAll })], + streamMuxers: [mplex()], + connectionEncryption: [noise()], + identify: { + host: { + agentVersion: userAgent ?? DefaultUserAgent, + }, + }, + } as Libp2pOptions, + wakuGossipSub ? { pubsub: wakuGossipSub } : {}, + options ?? {} + ); + + return createLibp2p(libp2pOpts); +} diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts index 22722ad625..53f98b63a7 100644 --- a/packages/sdk/src/index.ts +++ b/packages/sdk/src/index.ts @@ -1,198 +1,3 @@ -import type { GossipSub } from "@chainsafe/libp2p-gossipsub"; -import { noise } from "@chainsafe/libp2p-noise"; -import type { Libp2p } from "@libp2p/interface-libp2p"; -import type { PeerDiscovery } from "@libp2p/interface-peer-discovery"; -import { mplex } from "@libp2p/mplex"; -import { webSockets } from "@libp2p/websockets"; -import { all as filterAll } from "@libp2p/websockets/filters"; -import { - DefaultUserAgent, - wakuFilterV1, - wakuFilterV2, - wakuLightPush, - WakuNode, - WakuOptions, - wakuStore, -} from "@waku/core"; -import { enrTree, wakuDnsDiscovery } from "@waku/dns-discovery"; -import type { - FullNode, - IFilter, - IFilterV2, - LightNode, - ProtocolCreateOptions, - RelayNode, -} from "@waku/interfaces"; -import { RelayCreateOptions, wakuGossipSub, wakuRelay } from "@waku/relay"; -import { createLibp2p, Libp2pOptions } from "libp2p"; - -import type { Libp2pComponents } from "./libp2p_components.js"; - -const DEFAULT_NODE_REQUIREMENTS = { - lightPush: 1, - filter: 1, - store: 1, -}; - -export { Libp2pComponents }; - -/** - * Create a Waku node that uses Waku Light Push, Filter and Store to send and - * receive messages, enabling low resource consumption. - * If `useFilterV1` is set to true, the node will use Filter V1 protocol. - * If `useFilterV1` is set to false or undefined, the node will use Filter V2 protocol. (default behavior) - * - * **Note: This is NOT compatible with nwaku v0.11** - * - * @see https://github.com/status-im/nwaku/issues/1085 - */ -export async function createLightNode( - options?: ProtocolCreateOptions & WakuOptions -): Promise<LightNode> { - const libp2pOptions = options?.libp2p ?? {}; - const peerDiscovery = libp2pOptions.peerDiscovery ?? []; - if (options?.defaultBootstrap) { - peerDiscovery.push(defaultPeerDiscovery()); - Object.assign(libp2pOptions, { peerDiscovery }); - } - - const libp2p = await defaultLibp2p( - undefined, - libp2pOptions, - options?.userAgent - ); - - const store = wakuStore(options); - const lightPush = wakuLightPush(options); - - let filter: (libp2p: Libp2p) => IFilter | IFilterV2; - - if (options?.useFilterV1) { - filter = wakuFilterV1(options) as (libp2p: Libp2p) => IFilter; - } else { - filter = wakuFilterV2() as (libp2p: Libp2p) => IFilterV2; - } - - return new WakuNode( - options ?? {}, - libp2p, - store, - lightPush, - filter - ) as LightNode; -} - -/** - * Create a Waku node that uses Waku Relay to send and receive messages, - * enabling some privacy preserving properties. - */ -export async function createRelayNode( - options?: ProtocolCreateOptions & WakuOptions & Partial<RelayCreateOptions> -): Promise<RelayNode> { - const libp2pOptions = options?.libp2p ?? {}; - const peerDiscovery = libp2pOptions.peerDiscovery ?? []; - if (options?.defaultBootstrap) { - peerDiscovery.push(defaultPeerDiscovery()); - Object.assign(libp2pOptions, { peerDiscovery }); - } - - const libp2p = await defaultLibp2p( - wakuGossipSub(options), - libp2pOptions, - options?.userAgent - ); - - const relay = wakuRelay(options); - - return new WakuNode( - options ?? {}, - libp2p, - undefined, - undefined, - undefined, - relay - ) as RelayNode; -} - -/** - * Create a Waku node that uses all Waku protocols. - * Implements generics to allow for conditional type checking for Filter V1 and V2 protocols. - * If `useFilterV1` is set to true, the node will use Filter V1 protocol. - * If `useFilterV1` is set to false or undefined, the node will use Filter V2 protocol. (default behavior) - * - * This helper is not recommended except if: - * - you are interfacing with nwaku v0.11 or below - * - you are doing some form of testing - * - * If you are building a full node, it is recommended to use - * [nwaku](github.com/status-im/nwaku) and its JSON RPC API or wip REST API. - * - * @see https://github.com/status-im/nwaku/issues/1085 - * @internal - */ -export async function createFullNode( - options?: ProtocolCreateOptions & WakuOptions & Partial<RelayCreateOptions> -): Promise<FullNode> { - const libp2pOptions = options?.libp2p ?? {}; - const peerDiscovery = libp2pOptions.peerDiscovery ?? []; - if (options?.defaultBootstrap) { - peerDiscovery.push(defaultPeerDiscovery()); - Object.assign(libp2pOptions, { peerDiscovery }); - } - - const libp2p = await defaultLibp2p( - wakuGossipSub(options), - libp2pOptions, - options?.userAgent - ); - - const store = wakuStore(options); - const lightPush = wakuLightPush(options); - - let filter: (libp2p: Libp2p) => IFilter | IFilterV2; - if (!options?.useFilterV1) { - filter = wakuFilterV2(); - } else { - filter = wakuFilterV1(options); - } - - const relay = wakuRelay(options); - - return new WakuNode( - options ?? {}, - libp2p, - store, - lightPush, - filter, - relay - ) as FullNode; -} - -export function defaultPeerDiscovery(): ( - components: Libp2pComponents -) => PeerDiscovery { - return wakuDnsDiscovery(enrTree["PROD"], DEFAULT_NODE_REQUIREMENTS); -} - -export async function defaultLibp2p( - wakuGossipSub?: (components: Libp2pComponents) => GossipSub, - options?: Partial<Libp2pOptions>, - userAgent?: string -): Promise<Libp2p> { - const libp2pOpts = Object.assign( - { - transports: [webSockets({ filter: filterAll })], - streamMuxers: [mplex()], - connectionEncryption: [noise()], - identify: { - host: { - agentVersion: userAgent ?? DefaultUserAgent, - }, - }, - } as Libp2pOptions, - wakuGossipSub ? { pubsub: wakuGossipSub } : {}, - options ?? {} - ); - - return createLibp2p(libp2pOpts); -} +export * from "./create.js"; +export * as waku from "@waku/core"; +export * as utils from "@waku/utils"; From b5e913917a8a476244990aff8b09d55786649a97 Mon Sep 17 00:00:00 2001 From: danisharora099 <danisharora099@gmail.com> Date: Sat, 3 Jun 2023 14:38:29 +0530 Subject: [PATCH 3/6] address comments --- .size-limit.cjs | 7 +++---- packages/sdk/src/index.ts | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.size-limit.cjs b/.size-limit.cjs index 32134cf361..fbba568040 100644 --- a/.size-limit.cjs +++ b/.size-limit.cjs @@ -5,12 +5,11 @@ module.exports = [ import: "{ WakuNode }", }, { - name: "Waku default setup", + name: "Waku Simple Light Node", path: ["packages/sdk/bundle/index.js", "packages/core/bundle/index.js"], import: { - "packages/sdk/bundle/index.js": "{ createLightNode }", - "packages/core/bundle/index.js": - "{ waitForRemotePeer, createEncoder, createDecoder }", + "packages/sdk/bundle/index.js": + "{ createLightNode, waitForRemotePeer, createEncoder, createDecoder, bytesToUtf8, utf8ToBytes,Decoder, Encoder, DecodedMessage, WakuNode }", }, }, { diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts index 53f98b63a7..5be26e5a8c 100644 --- a/packages/sdk/src/index.ts +++ b/packages/sdk/src/index.ts @@ -1,3 +1,17 @@ +export { + waitForRemotePeer, + createEncoder, + createDecoder, + WakuNode, +} from "@waku/core"; +export { + DecodedMessage, + Decoder, + Encoder, +} from "@waku/core/lib/message/version_0"; + +export { utf8ToBytes, bytesToUtf8 } from "@waku/utils/bytes"; + export * from "./create.js"; export * as waku from "@waku/core"; export * as utils from "@waku/utils"; From eda5f6b82520a019fa5d6ba78434fda6e47586fd Mon Sep 17 00:00:00 2001 From: danisharora099 <danisharora099@gmail.com> Date: Sat, 3 Jun 2023 14:41:07 +0530 Subject: [PATCH 4/6] update package-lock --- package-lock.json | 82 +++++++---------------------------------------- 1 file changed, 12 insertions(+), 70 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0a8e6536af..dc279d42f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30843,6 +30843,7 @@ "packages/create": { "name": "@waku/create", "version": "0.0.15", + "extraneous": true, "license": "MIT OR Apache-2.0", "dependencies": { "@chainsafe/libp2p-noise": "^11.0.0", @@ -31281,15 +31282,15 @@ }, "packages/sdk": { "name": "@waku/sdk", - "version": "0.0.15", + "version": "0.0.16", "license": "MIT OR Apache-2.0", "dependencies": { "@chainsafe/libp2p-noise": "^11.0.0", "@libp2p/mplex": "^7.1.1", "@libp2p/websockets": "^5.0.3", - "@waku/core": "0.0.18", - "@waku/dns-discovery": "0.0.12", - "@waku/relay": "0.0.1", + "@waku/core": "0.0.19", + "@waku/dns-discovery": "0.0.13", + "@waku/relay": "0.0.2", "@waku/utils": "*", "libp2p": "^0.42.2" }, @@ -31312,9 +31313,9 @@ "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.2", "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.51.0", + "@typescript-eslint/parser": "^5.59.8", "@waku/build-utils": "*", - "@waku/interfaces": "0.0.13", + "@waku/interfaces": "0.0.14", "cspell": "^6.31.1", "eslint": "^8.35.0", "eslint-config-prettier": "^8.6.0", @@ -31391,7 +31392,6 @@ "@types/tail": "^2.2.1", "@typescript-eslint/eslint-plugin": "^5.57.0", "@typescript-eslint/parser": "^5.59.8", - "@waku/create": "*", "@waku/dns-discovery": "*", "@waku/message-encryption": "*", "@waku/peer-exchange": "*", @@ -36805,64 +36805,6 @@ } } }, - "@waku/create": { - "version": "file:packages/create", - "requires": { - "@chainsafe/libp2p-noise": "^11.0.0", - "@libp2p/interface-address-manager": "^2.0.4", - "@libp2p/interface-connection": "^3.0.8", - "@libp2p/interface-connection-manager": "^1.3.7", - "@libp2p/interface-content-routing": "^2.1.1", - "@libp2p/interface-dht": "^2.0.1", - "@libp2p/interface-libp2p": "^1.1.2", - "@libp2p/interface-metrics": "^4.0.7", - "@libp2p/interface-peer-discovery": "^1.0.5", - "@libp2p/interface-peer-id": "^2.0.1", - "@libp2p/interface-peer-routing": "^1.0.8", - "@libp2p/interface-peer-store": "^1.2.8", - "@libp2p/interface-pubsub": "^3.0.6", - "@libp2p/interface-registrar": "^2.0.8", - "@libp2p/interface-transport": "^2.1.1", - "@libp2p/mplex": "^7.1.1", - "@libp2p/websockets": "^5.0.3", - "@rollup/plugin-commonjs": "^24.0.1", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.0.2", - "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.59.8", - "@waku/build-utils": "*", - "@waku/core": "0.0.19", - "@waku/dns-discovery": "0.0.13", - "@waku/interfaces": "0.0.14", - "@waku/relay": "0.0.2", - "cspell": "^6.31.1", - "eslint": "^8.35.0", - "eslint-config-prettier": "^8.6.0", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-functional": "^5.0.4", - "eslint-plugin-import": "^2.27.5", - "eslint-plugin-prettier": "^4.2.1", - "interface-datastore": "^7.0.4", - "libp2p": "^0.42.2", - "npm-run-all": "^4.1.5", - "prettier": "^2.8.8", - "rollup": "^3.21.3", - "typescript": "^5.0.4" - }, - "dependencies": { - "@libp2p/interface-dht": { - "version": "2.0.1", - "dev": true, - "requires": { - "@libp2p/interface-peer-discovery": "^1.0.0", - "@libp2p/interface-peer-id": "^2.0.0", - "@libp2p/interface-peer-info": "^1.0.0", - "@libp2p/interfaces": "^3.0.0", - "multiformats": "^11.0.0" - } - } - } - }, "@waku/dns-discovery": { "version": "file:packages/dns-discovery", "requires": { @@ -37208,12 +37150,12 @@ "@rollup/plugin-json": "^6.0.0", "@rollup/plugin-node-resolve": "^15.0.2", "@typescript-eslint/eslint-plugin": "^5.57.0", - "@typescript-eslint/parser": "^5.51.0", + "@typescript-eslint/parser": "^5.59.8", "@waku/build-utils": "*", - "@waku/core": "0.0.18", - "@waku/dns-discovery": "0.0.12", - "@waku/interfaces": "0.0.13", - "@waku/relay": "0.0.1", + "@waku/core": "0.0.19", + "@waku/dns-discovery": "0.0.13", + "@waku/interfaces": "0.0.14", + "@waku/relay": "0.0.2", "@waku/utils": "*", "cspell": "^6.31.1", "eslint": "^8.35.0", From a36c826d51940143ba08a63d0707f2fc29304d2f Mon Sep 17 00:00:00 2001 From: Sasha <118575614+weboko@users.noreply.github.com> Date: Mon, 5 Jun 2023 13:06:10 +0200 Subject: [PATCH 5/6] Update .size-limit.cjs Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com> --- .size-limit.cjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.size-limit.cjs b/.size-limit.cjs index fbba568040..9b2554e32f 100644 --- a/.size-limit.cjs +++ b/.size-limit.cjs @@ -9,7 +9,7 @@ module.exports = [ path: ["packages/sdk/bundle/index.js", "packages/core/bundle/index.js"], import: { "packages/sdk/bundle/index.js": - "{ createLightNode, waitForRemotePeer, createEncoder, createDecoder, bytesToUtf8, utf8ToBytes,Decoder, Encoder, DecodedMessage, WakuNode }", + "{ createLightNode, waitForRemotePeer, createEncoder, createDecoder, bytesToUtf8, utf8ToBytes, Decoder, Encoder, DecodedMessage, WakuNode }", }, }, { From 90e37ac8641821fb8fc2ed954fa90aa5ae013321 Mon Sep 17 00:00:00 2001 From: Sasha <oleksandr@status.im> Date: Mon, 5 Jun 2023 13:23:15 +0200 Subject: [PATCH 6/6] integrate to release please --- .release-please-manifest.json | 1 - release-please-config.json | 4 +++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 45d8dc98f1..0bc8573814 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -8,6 +8,5 @@ "packages/core": "0.0.19", "packages/dns-discovery": "0.0.13", "packages/message-encryption": "0.0.17", - "packages/create": "0.0.15", "packages/relay": "0.0.2" } diff --git a/release-please-config.json b/release-please-config.json index 11a1a1b27a..2b46a832ed 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -15,7 +15,9 @@ "packages/core": {}, "packages/dns-discovery": {}, "packages/message-encryption": {}, - "packages/create": {}, + "packages/sdk": { + "release-as": "0.0.16" + }, "packages/relay": {} } }