fix: refactor config printing into own function

This commit is contained in:
Arseniy Klempner 2025-10-20 11:43:32 -07:00
parent e27a6c1521
commit 53ba53cb77
No known key found for this signature in database
GPG Key ID: 51653F18863BD24B
3 changed files with 54 additions and 68 deletions

View File

@ -10,7 +10,7 @@ import {
NODE1_PEER_ID,
NODE2_PEER_ID
} from "../src/constants.js";
import { getProjectName } from "../src/utils.js";
import { getProjectName, printWakuConfig } from "../src/utils.js";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@ -65,39 +65,7 @@ try {
const peer2: string = NODE2_PEER_ID;
// Print TypeScript-style config
process.stdout.write(
`${colors.blue}import${colors.reset} { createLightNode } ${colors.blue}from${colors.reset} ${colors.yellow}"@waku/sdk"${colors.reset};\n`
);
process.stdout.write(`\n`);
process.stdout.write(
`${colors.blue}const${colors.reset} waku = ${colors.blue}await${colors.reset} createLightNode({\n`
);
process.stdout.write(
` defaultBootstrap: ${colors.cyan}false${colors.reset},\n`
);
process.stdout.write(` bootstrapPeers: [\n`);
process.stdout.write(
` ${colors.yellow}"/ip4/127.0.0.1/tcp/${node1Port}/ws/p2p/${peer1}"${colors.reset},\n`
);
process.stdout.write(
` ${colors.yellow}"/ip4/127.0.0.1/tcp/${node2Port}/ws/p2p/${peer2}"${colors.reset}\n`
);
process.stdout.write(` ],\n`);
process.stdout.write(` numPeersToUse: ${colors.cyan}2${colors.reset},\n`);
process.stdout.write(` libp2p: {\n`);
process.stdout.write(
` filterMultiaddrs: ${colors.cyan}false${colors.reset}\n`
);
process.stdout.write(` },\n`);
process.stdout.write(` networkConfig: {\n`);
process.stdout.write(
` clusterId: ${colors.cyan}${clusterId}${colors.reset},\n`
);
process.stdout.write(
` numShardsInCluster: ${colors.cyan}8${colors.reset}\n`
);
process.stdout.write(` }\n`);
process.stdout.write(`});\n`);
printWakuConfig(colors, node1Port, node2Port, peer1, peer2, clusterId);
} catch (error: unknown) {
const err = error as { cause?: { code?: string }; message?: string };
if (err.cause?.code === "ECONNREFUSED") {

View File

@ -10,7 +10,7 @@ import {
NODE1_PEER_ID,
NODE2_PEER_ID
} from "../src/constants.js";
import { getProjectName } from "../src/utils.js";
import { getProjectName, printWakuConfig } from "../src/utils.js";
const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
@ -133,39 +133,7 @@ try {
`${colors.gray}Copy this into your application:${colors.reset}\n\n`
);
process.stdout.write(
`${colors.blue}import${colors.reset} { createLightNode } ${colors.blue}from${colors.reset} ${colors.yellow}"@waku/sdk"${colors.reset};\n`
);
process.stdout.write(`\n`);
process.stdout.write(
`${colors.blue}const${colors.reset} waku = ${colors.blue}await${colors.reset} createLightNode({\n`
);
process.stdout.write(
` defaultBootstrap: ${colors.cyan}false${colors.reset},\n`
);
process.stdout.write(` bootstrapPeers: [\n`);
process.stdout.write(
` ${colors.yellow}"/ip4/127.0.0.1/tcp/${node1Port}/ws/p2p/${peer1}"${colors.reset},\n`
);
process.stdout.write(
` ${colors.yellow}"/ip4/127.0.0.1/tcp/${node2Port}/ws/p2p/${peer2}"${colors.reset}\n`
);
process.stdout.write(` ],\n`);
process.stdout.write(` numPeersToUse: ${colors.cyan}2${colors.reset},\n`);
process.stdout.write(` libp2p: {\n`);
process.stdout.write(
` filterMultiaddrs: ${colors.cyan}false${colors.reset}\n`
);
process.stdout.write(` },\n`);
process.stdout.write(` networkConfig: {\n`);
process.stdout.write(
` clusterId: ${colors.cyan}${clusterId}${colors.reset},\n`
);
process.stdout.write(
` numShardsInCluster: ${colors.cyan}8${colors.reset}\n`
);
process.stdout.write(` }\n`);
process.stdout.write(`});\n`);
printWakuConfig(colors, node1Port, node2Port, peer1, peer2, clusterId);
process.stdout.write(`\n`);
process.stdout.write(`${colors.gray}Management:${colors.reset}\n`);

View File

@ -9,3 +9,53 @@ export function getProjectName(packageRoot: string): string {
const version = packageJson.version.replace(/\./g, "-");
return `${name}-${version}`;
}
interface Colors {
reset: string;
cyan: string;
blue: string;
yellow: string;
}
export function printWakuConfig(
colors: Colors,
node1Port: string,
node2Port: string,
peer1: string,
peer2: string,
clusterId: string
): void {
process.stdout.write(
`${colors.blue}import${colors.reset} { createLightNode } ${colors.blue}from${colors.reset} ${colors.yellow}"@waku/sdk"${colors.reset};\n`
);
process.stdout.write(`\n`);
process.stdout.write(
`${colors.blue}const${colors.reset} waku = ${colors.blue}await${colors.reset} createLightNode({\n`
);
process.stdout.write(
` defaultBootstrap: ${colors.cyan}false${colors.reset},\n`
);
process.stdout.write(` bootstrapPeers: [\n`);
process.stdout.write(
` ${colors.yellow}"/ip4/127.0.0.1/tcp/${node1Port}/ws/p2p/${peer1}"${colors.reset},\n`
);
process.stdout.write(
` ${colors.yellow}"/ip4/127.0.0.1/tcp/${node2Port}/ws/p2p/${peer2}"${colors.reset}\n`
);
process.stdout.write(` ],\n`);
process.stdout.write(` numPeersToUse: ${colors.cyan}2${colors.reset},\n`);
process.stdout.write(` libp2p: {\n`);
process.stdout.write(
` filterMultiaddrs: ${colors.cyan}false${colors.reset}\n`
);
process.stdout.write(` },\n`);
process.stdout.write(` networkConfig: {\n`);
process.stdout.write(
` clusterId: ${colors.cyan}${clusterId}${colors.reset},\n`
);
process.stdout.write(
` numShardsInCluster: ${colors.cyan}8${colors.reset}\n`
);
process.stdout.write(` }\n`);
process.stdout.write(`});\n`);
}