From 25dfe9d96901dc0b39b264fdff9f54fb8ec4f8d0 Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" Date: Thu, 3 Nov 2022 14:11:42 +1100 Subject: [PATCH] chore: get dns-discovery to compile (almost) --- package-lock.json | 124 +++++++++++++++++- packages/core/package.json | 11 -- packages/core/rollup.config.js | 2 - packages/dns-discovery/karma.conf.cjs | 45 +++++++ packages/dns-discovery/package.json | 16 ++- packages/dns-discovery/src/dns.spec.ts | 2 +- packages/dns-discovery/src/dns.ts | 9 +- packages/dns-discovery/src/dns_over_https.ts | 5 +- packages/dns-discovery/src/enrtree.spec.ts | 2 +- packages/dns-discovery/src/enrtree.ts | 7 +- .../dns-discovery/src/fetch_nodes.spec.ts | 5 +- packages/dns-discovery/src/fetch_nodes.ts | 5 +- packages/dns-discovery/src/index.spec.ts | 2 +- packages/dns-discovery/src/index.ts | 7 +- .../src/multiaddr_to_peer_info.ts | 17 +++ packages/dns-discovery/src/random_subset.ts | 30 +++++ packages/dns-discovery/tsconfig.karma.json | 6 + packages/enr/package.json | 5 + packages/enr/rollup.config.js | 1 + 19 files changed, 255 insertions(+), 46 deletions(-) create mode 100644 packages/dns-discovery/karma.conf.cjs create mode 100644 packages/dns-discovery/src/multiaddr_to_peer_info.ts create mode 100644 packages/dns-discovery/src/random_subset.ts create mode 100644 packages/dns-discovery/tsconfig.karma.json diff --git a/package-lock.json b/package-lock.json index 77cd735401..1afd6fc1c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22438,8 +22438,6 @@ "@noble/secp256k1": "^1.3.4", "@waku/interfaces": "*", "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", @@ -22452,7 +22450,6 @@ "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", @@ -22590,7 +22587,21 @@ "name": "@waku/dns-discovery", "version": "0.0.1", "license": "MIT OR Apache-2.0", + "dependencies": { + "@libp2p/interface-peer-discovery": "^1.0.0", + "@libp2p/interface-peer-info": "^1.0.1", + "@libp2p/interfaces": "^3.0.2", + "@libp2p/peer-id": "^1.1.10", + "@waku/byte-utils": "*", + "@waku/enr": "*", + "debug": "^4.3.4", + "dns-query": "^0.11.2", + "hi-base32": "^0.5.1", + "uint8arrays": "^3.0.0" + }, "devDependencies": { + "@libp2p/peer-id-factory": "^1.0.15", + "@multiformats/multiaddr": "^11.0.6", "@rollup/plugin-commonjs": "^22.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.3.0", @@ -22602,6 +22613,7 @@ "@semantic-release/release-notes-generator": "^10.0.3", "@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/parser": "^5.8.1", + "chai": "^4.3.4", "cspell": "^5.14.0", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", @@ -22620,6 +22632,53 @@ "node": ">=16" } }, + "packages/dns-discovery/node_modules/@chainsafe/is-ip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.0.1.tgz", + "integrity": "sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ==", + "dev": true + }, + "packages/dns-discovery/node_modules/@multiformats/multiaddr": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.0.7.tgz", + "integrity": "sha512-rCqYS3Qz/dm4H/1Lvda11OBZf1tH8rst69GWK9jDy8AY+3n+NBBdErA/SRtdcRx6hPtQ8lAB5UhHlzIVbViv1Q==", + "dev": true, + "dependencies": { + "@chainsafe/is-ip": "^2.0.1", + "dns-over-http-resolver": "^2.1.0", + "err-code": "^3.0.1", + "multiformats": "^10.0.0", + "uint8arrays": "^4.0.2", + "varint": "^6.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "packages/dns-discovery/node_modules/@multiformats/multiaddr/node_modules/uint8arrays": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.2.tgz", + "integrity": "sha512-8CWXXZdOvVrIL4SeY/Gnp+idxxiGK4XFkP4FY26Sx/fpTz/b6vv4BVWELMDzQweSyyhdcuAcU14H6izzB6k1Cw==", + "dev": true, + "dependencies": { + "multiformats": "^10.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "packages/dns-discovery/node_modules/multiformats": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.2.tgz", + "integrity": "sha512-nJEHLFOYhO4L+aNApHhCnWqa31FyqAHv9Q77AhmwU3KsM2f1j7tuJpCk5ByZ33smzycNCpSG5klNIejIyfFx2A==", + "dev": true, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "packages/enr": { "name": "@waku/enr", "version": "0.0.1", @@ -22631,6 +22690,7 @@ "@waku/byte-utils": "*" }, "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", @@ -27080,7 +27140,6 @@ "@libp2p/interfaces": "^3.0.2", "@libp2p/mplex": "^5.1.1", "@libp2p/peer-id": "^1.1.10", - "@libp2p/peer-id-factory": "^1.0.15", "@libp2p/websockets": "^3.0.3", "@multiformats/multiaddr": "^11.0.6", "@noble/secp256k1": "^1.3.4", @@ -27107,7 +27166,6 @@ "chai": "^4.3.4", "cspell": "^5.14.0", "debug": "^4.3.4", - "dns-query": "^0.11.2", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-eslint-comments": "^3.2.0", @@ -27116,7 +27174,6 @@ "eslint-plugin-prettier": "^4.0.0", "fast-check": "^2.14.0", "gh-pages": "^3.2.3", - "hi-base32": "^0.5.1", "ignore-loader": "^0.1.2", "isomorphic-fetch": "^3.0.0", "it-all": "^1.0.6", @@ -27216,6 +27273,12 @@ "@waku/dns-discovery": { "version": "file:packages/dns-discovery", "requires": { + "@libp2p/interface-peer-discovery": "^1.0.0", + "@libp2p/interface-peer-info": "^1.0.1", + "@libp2p/interfaces": "^3.0.2", + "@libp2p/peer-id": "^1.1.10", + "@libp2p/peer-id-factory": "^1.0.15", + "@multiformats/multiaddr": "^11.0.6", "@rollup/plugin-commonjs": "^22.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.3.0", @@ -27227,25 +27290,72 @@ "@semantic-release/release-notes-generator": "^10.0.3", "@typescript-eslint/eslint-plugin": "^5.8.1", "@typescript-eslint/parser": "^5.8.1", + "@waku/byte-utils": "*", + "@waku/enr": "*", + "chai": "^4.3.4", "cspell": "^5.14.0", + "debug": "^4.3.4", + "dns-query": "^0.11.2", "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", + "hi-base32": "^0.5.1", "npm-run-all": "^4.1.5", "prettier": "^2.1.1", "rollup": "^2.75.0", "semantic-release": "^19.0.5", "semantic-release-monorepo": "^7.0.5", - "typescript": "^4.6.3" + "typescript": "^4.6.3", + "uint8arrays": "^3.0.0" + }, + "dependencies": { + "@chainsafe/is-ip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.0.1.tgz", + "integrity": "sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ==", + "dev": true + }, + "@multiformats/multiaddr": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/@multiformats/multiaddr/-/multiaddr-11.0.7.tgz", + "integrity": "sha512-rCqYS3Qz/dm4H/1Lvda11OBZf1tH8rst69GWK9jDy8AY+3n+NBBdErA/SRtdcRx6hPtQ8lAB5UhHlzIVbViv1Q==", + "dev": true, + "requires": { + "@chainsafe/is-ip": "^2.0.1", + "dns-over-http-resolver": "^2.1.0", + "err-code": "^3.0.1", + "multiformats": "^10.0.0", + "uint8arrays": "^4.0.2", + "varint": "^6.0.0" + }, + "dependencies": { + "uint8arrays": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-4.0.2.tgz", + "integrity": "sha512-8CWXXZdOvVrIL4SeY/Gnp+idxxiGK4XFkP4FY26Sx/fpTz/b6vv4BVWELMDzQweSyyhdcuAcU14H6izzB6k1Cw==", + "dev": true, + "requires": { + "multiformats": "^10.0.0" + } + } + } + }, + "multiformats": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-10.0.2.tgz", + "integrity": "sha512-nJEHLFOYhO4L+aNApHhCnWqa31FyqAHv9Q77AhmwU3KsM2f1j7tuJpCk5ByZ33smzycNCpSG5klNIejIyfFx2A==", + "dev": true + } } }, "@waku/enr": { "version": "file:packages/enr", "requires": { "@libp2p/crypto": "^1.0.4", + "@libp2p/peer-id-factory": "^1.0.15", "@multiformats/multiaddr": "^11.0.6", "@noble/secp256k1": "^1.7.0", "@rollup/plugin-commonjs": "^22.0.0", diff --git a/packages/core/package.json b/packages/core/package.json index 9661e6b6f0..4031a118ef 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -9,14 +9,6 @@ "types": "./dist/index.d.ts", "import": "./dist/index.js" }, - "./lib/enr": { - "types": "./dist/lib/enr/index.d.ts", - "import": "./dist/lib/enr/index.js" - }, - "./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" @@ -124,8 +116,6 @@ "@noble/secp256k1": "^1.3.4", "@waku/interfaces": "*", "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", @@ -138,7 +128,6 @@ "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", diff --git a/packages/core/rollup.config.js b/packages/core/rollup.config.js index 4b2cd71a2d..75fca0e86e 100644 --- a/packages/core/rollup.config.js +++ b/packages/core/rollup.config.js @@ -5,8 +5,6 @@ import json from "@rollup/plugin-json"; export default { input: { index: "dist/index.js", - "lib/enr": "dist/lib/enr/index.js", - "lib/peer_discovery_dns": "dist/lib/peer_discovery_dns/index.js", "lib/peer_discovery_static_list": "dist/lib/peer_discovery_static_list.js", "lib/predefined_bootstrap_nodes": "dist/lib/predefined_bootstrap_nodes.js", "lib/utils": "dist/lib/utils.js", diff --git a/packages/dns-discovery/karma.conf.cjs b/packages/dns-discovery/karma.conf.cjs new file mode 100644 index 0000000000..8ee5033706 --- /dev/null +++ b/packages/dns-discovery/karma.conf.cjs @@ -0,0 +1,45 @@ +process.env.CHROME_BIN = require("puppeteer").executablePath(); +const webpack = require("webpack"); + +module.exports = function (config) { + config.set({ + frameworks: ["webpack", "mocha"], + files: ["src/**/*.ts"], + preprocessors: { + "src/**/*.ts": ["webpack"], + }, + envPreprocessor: ["CI"], + reporters: ["progress"], + browsers: ["ChromeHeadless"], + singleRun: true, + client: { + mocha: { + timeout: 6000, // Default is 2s + }, + }, + webpack: { + mode: "development", + module: { + rules: [{ test: /\.([cm]?ts|tsx)$/, loader: "ts-loader" }], + }, + plugins: [ + new webpack.DefinePlugin({ + "process.env.CI": process.env.CI || false, + }), + new webpack.ProvidePlugin({ + process: "process/browser.js", + }), + ], + resolve: { + extensions: [".ts", ".tsx", ".js"], + extensionAlias: { + ".js": [".js", ".ts"], + ".cjs": [".cjs", ".cts"], + ".mjs": [".mjs", ".mts"], + }, + }, + stats: { warnings: false }, + devtool: "inline-source-map", + }, + }); +}; diff --git a/packages/dns-discovery/package.json b/packages/dns-discovery/package.json index 27edee5abd..41e6c74cda 100644 --- a/packages/dns-discovery/package.json +++ b/packages/dns-discovery/package.json @@ -50,8 +50,22 @@ "engines": { "node": ">=16" }, - "dependencies": {}, + "dependencies": { + "@waku/enr": "*", + "@waku/byte-utils": "*", + "hi-base32": "^0.5.1", + "debug": "^4.3.4", + "dns-query": "^0.11.2", + "uint8arrays": "^3.0.0", + "@libp2p/interface-peer-discovery": "^1.0.0", + "@libp2p/interface-peer-info": "^1.0.1", + "@libp2p/interfaces": "^3.0.2", + "@libp2p/peer-id": "^1.1.10" + }, "devDependencies": { + "@multiformats/multiaddr": "^11.0.6", + "@libp2p/peer-id-factory": "^1.0.15", + "chai": "^4.3.4", "@rollup/plugin-commonjs": "^22.0.0", "@rollup/plugin-json": "^4.1.0", "@rollup/plugin-node-resolve": "^13.3.0", diff --git a/packages/dns-discovery/src/dns.spec.ts b/packages/dns-discovery/src/dns.spec.ts index 2c22b50194..7182e884f6 100644 --- a/packages/dns-discovery/src/dns.spec.ts +++ b/packages/dns-discovery/src/dns.spec.ts @@ -1,6 +1,6 @@ import { expect } from "chai"; -import { DnsClient, DnsNodeDiscovery } from "./dns"; +import { DnsClient, DnsNodeDiscovery } from "./dns.js"; import testData from "./testdata.json" assert { type: "json" }; const mockData = testData.dns; diff --git a/packages/dns-discovery/src/dns.ts b/packages/dns-discovery/src/dns.ts index 3354e77cc4..c6d3d039c9 100644 --- a/packages/dns-discovery/src/dns.ts +++ b/packages/dns-discovery/src/dns.ts @@ -1,13 +1,12 @@ +import { ENR } from "@waku/enr"; import debug from "debug"; -import { ENR } from "../enr"; - -import { DnsOverHttps } from "./dns_over_https"; -import { ENRTree } from "./enrtree"; +import { DnsOverHttps } from "./dns_over_https.js"; +import { ENRTree } from "./enrtree.js"; import { fetchNodesUntilCapabilitiesFulfilled, yieldNodesUntilCapabilitiesFulfilled, -} from "./fetch_nodes"; +} from "./fetch_nodes.js"; const log = debug("waku:discovery:dns"); diff --git a/packages/dns-discovery/src/dns_over_https.ts b/packages/dns-discovery/src/dns_over_https.ts index 8aae6781dd..642465aeee 100644 --- a/packages/dns-discovery/src/dns_over_https.ts +++ b/packages/dns-discovery/src/dns_over_https.ts @@ -1,9 +1,8 @@ +import { bytesToUtf8 } from "@waku/byte-utils"; import debug from "debug"; import { Endpoint, query, toEndpoint } from "dns-query"; -import { bytesToUtf8 } from "../utils"; - -import { DnsClient } from "./dns"; +import { DnsClient } from "./dns.js"; const log = debug("waku:dns-over-https"); diff --git a/packages/dns-discovery/src/enrtree.spec.ts b/packages/dns-discovery/src/enrtree.spec.ts index 55b8062d2d..df3f02ec0f 100644 --- a/packages/dns-discovery/src/enrtree.spec.ts +++ b/packages/dns-discovery/src/enrtree.spec.ts @@ -1,6 +1,6 @@ import { expect } from "chai"; -import { ENRTree } from "./enrtree"; +import { ENRTree } from "./enrtree.js"; import testData from "./testdata.json" assert { type: "json" }; const dns = testData.dns; diff --git a/packages/dns-discovery/src/enrtree.ts b/packages/dns-discovery/src/enrtree.ts index 670934e7fd..c13af9bfe6 100644 --- a/packages/dns-discovery/src/enrtree.ts +++ b/packages/dns-discovery/src/enrtree.ts @@ -1,10 +1,9 @@ +import { utf8ToBytes } from "@waku/byte-utils"; +import { ENR } from "@waku/enr"; +import { keccak256, verifySignature } from "@waku/enr/crypto"; import base32 from "hi-base32"; import { fromString } from "uint8arrays/from-string"; -import { keccak256, verifySignature } from "../crypto"; -import { ENR } from "../enr"; -import { utf8ToBytes } from "../utils"; - export type ENRRootValues = { eRoot: string; lRoot: string; diff --git a/packages/dns-discovery/src/fetch_nodes.spec.ts b/packages/dns-discovery/src/fetch_nodes.spec.ts index 01db0c1993..9c136d0d59 100644 --- a/packages/dns-discovery/src/fetch_nodes.spec.ts +++ b/packages/dns-discovery/src/fetch_nodes.spec.ts @@ -1,10 +1,9 @@ import { createSecp256k1PeerId } from "@libp2p/peer-id-factory"; import { multiaddr } from "@multiformats/multiaddr"; +import { ENR, Waku2 } from "@waku/enr"; import { expect } from "chai"; -import { ENR, Waku2 } from "../enr"; - -import { fetchNodesUntilCapabilitiesFulfilled } from "./fetch_nodes"; +import { fetchNodesUntilCapabilitiesFulfilled } from "./fetch_nodes.js"; async function createEnr(waku2: Waku2): Promise { const peerId = await createSecp256k1PeerId(); diff --git a/packages/dns-discovery/src/fetch_nodes.ts b/packages/dns-discovery/src/fetch_nodes.ts index 768eae325e..38fc41b78e 100644 --- a/packages/dns-discovery/src/fetch_nodes.ts +++ b/packages/dns-discovery/src/fetch_nodes.ts @@ -1,8 +1,7 @@ +import { ENR, Waku2 } from "@waku/enr"; import debug from "debug"; -import { ENR, Waku2 } from "../enr"; - -import { NodeCapabilityCount } from "./dns"; +import { NodeCapabilityCount } from "./dns.js"; const log = debug("waku:discovery:fetch_nodes"); diff --git a/packages/dns-discovery/src/index.spec.ts b/packages/dns-discovery/src/index.spec.ts index 175f529dd9..f237a3cbe8 100644 --- a/packages/dns-discovery/src/index.spec.ts +++ b/packages/dns-discovery/src/index.spec.ts @@ -1,6 +1,6 @@ import { expect } from "chai"; -import { getPseudoRandomSubset } from "../random_subset"; +import { getPseudoRandomSubset } from "./random_subset.js"; describe("Discovery", () => { it("returns all values when wanted number matches available values", function () { diff --git a/packages/dns-discovery/src/index.ts b/packages/dns-discovery/src/index.ts index 2df5e00662..243197b723 100644 --- a/packages/dns-discovery/src/index.ts +++ b/packages/dns-discovery/src/index.ts @@ -5,12 +5,11 @@ import type { import { symbol } from "@libp2p/interface-peer-discovery"; import type { PeerInfo } from "@libp2p/interface-peer-info"; import { CustomEvent, EventEmitter } from "@libp2p/interfaces/events"; +import { ENR } from "@waku/enr"; import debug from "debug"; -import { ENR } from "../enr"; -import { multiaddrsToPeerInfo } from "../multiaddr_to_peer_info"; - -import { DnsNodeDiscovery, NodeCapabilityCount } from "./dns"; +import { DnsNodeDiscovery, NodeCapabilityCount } from "./dns.js"; +import { multiaddrsToPeerInfo } from "./multiaddr_to_peer_info.js"; const log = debug("waku:peer-discovery-dns"); diff --git a/packages/dns-discovery/src/multiaddr_to_peer_info.ts b/packages/dns-discovery/src/multiaddr_to_peer_info.ts new file mode 100644 index 0000000000..65524c4439 --- /dev/null +++ b/packages/dns-discovery/src/multiaddr_to_peer_info.ts @@ -0,0 +1,17 @@ +import { PeerInfo } from "@libp2p/interface-peer-info"; +import { peerIdFromString } from "@libp2p/peer-id"; +import { Multiaddr } from "@multiformats/multiaddr"; + +export function multiaddrsToPeerInfo(mas: Multiaddr[]): PeerInfo[] { + return mas + .map((ma) => { + const peerIdStr = ma.getPeerId(); + const protocols: string[] = []; + return { + id: peerIdStr ? peerIdFromString(peerIdStr) : null, + multiaddrs: [ma.decapsulateCode(421)], + protocols, + }; + }) + .filter((peerInfo): peerInfo is PeerInfo => peerInfo.id !== null); +} diff --git a/packages/dns-discovery/src/random_subset.ts b/packages/dns-discovery/src/random_subset.ts new file mode 100644 index 0000000000..20d0ca83ce --- /dev/null +++ b/packages/dns-discovery/src/random_subset.ts @@ -0,0 +1,30 @@ +/** + * Return pseudo random subset of the input. + */ +export function getPseudoRandomSubset( + values: T[], + wantedNumber: number +): T[] { + if (values.length <= wantedNumber || values.length <= 1) { + return values; + } + + return shuffle(values).slice(0, wantedNumber); +} + +function shuffle(arr: T[]): T[] { + if (arr.length <= 1) { + return arr; + } + const randInt = (): number => { + return Math.floor(Math.random() * Math.floor(arr.length)); + }; + + for (let i = 0; i < arr.length; i++) { + const j = randInt(); + const tmp = arr[i]; + arr[i] = arr[j]; + arr[j] = tmp; + } + return arr; +} diff --git a/packages/dns-discovery/tsconfig.karma.json b/packages/dns-discovery/tsconfig.karma.json new file mode 100644 index 0000000000..c540c783ff --- /dev/null +++ b/packages/dns-discovery/tsconfig.karma.json @@ -0,0 +1,6 @@ +{ + "extends": "./tsconfig.dev", + "compilerOptions": { + "noEmit": false + } +} diff --git a/packages/enr/package.json b/packages/enr/package.json index 711cc52564..1c3e3fc2ad 100644 --- a/packages/enr/package.json +++ b/packages/enr/package.json @@ -8,6 +8,10 @@ ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" + }, + "./crypto": { + "types": "./dist/crypto.d.ts", + "import": "./dist/crypto.js" } }, "type": "module", @@ -60,6 +64,7 @@ "@waku/byte-utils": "*" }, "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", diff --git a/packages/enr/rollup.config.js b/packages/enr/rollup.config.js index d22d3d231e..99f3643c0c 100644 --- a/packages/enr/rollup.config.js +++ b/packages/enr/rollup.config.js @@ -5,6 +5,7 @@ import { nodeResolve } from "@rollup/plugin-node-resolve"; export default { input: { index: "dist/index.js", + crypto: "dist/crypto.js", }, output: { dir: "bundle",