From 20b1a1a811112935003b799611d56afded95bd4b Mon Sep 17 00:00:00 2001 From: Cayman Date: Thu, 16 Feb 2023 11:22:05 -0500 Subject: [PATCH 1/7] Update yargs to v17 --- packages/cli/package.json | 4 +-- packages/cli/src/cli.ts | 1 - packages/flare/package.json | 4 +-- packages/flare/src/cli.ts | 1 - yarn.lock | 52 +++++++++++++++++-------------------- 5 files changed, 28 insertions(+), 34 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index bd327da1f6c5..efc3b70bffa2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -91,7 +91,7 @@ "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.5", "winston-transport": "^4.3.0", - "yargs": "^16.1.0" + "yargs": "^17.6.2" }, "devDependencies": { "@types/expand-tilde": "^2.0.0", @@ -100,6 +100,6 @@ "@types/js-yaml": "^3.12.5", "@types/lodash": "^4.14.157", "@types/rimraf": "^3.0.2", - "@types/yargs": "^15.0.9" + "@types/yargs": "^17.0.22" } } diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index 8e9ae4c03cad..4724e6ad2c34 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -1,6 +1,5 @@ // Must not use `* as yargs`, see https://github.com/yargs/yargs/issues/1131 import yargs from "yargs"; -// @ts-expect-error no type import {hideBin} from "yargs/helpers"; import {cmds} from "./cmds/index.js"; import {globalOptions, rcConfigOption} from "./options/index.js"; diff --git a/packages/flare/package.json b/packages/flare/package.json index 3d0d51f897ac..9d2c25d05d60 100644 --- a/packages/flare/package.json +++ b/packages/flare/package.json @@ -64,9 +64,9 @@ "@lodestar/state-transition": "^1.4.3", "@lodestar/types": "^1.4.3", "source-map-support": "^0.5.19", - "yargs": "^16.1.0" + "yargs": "^17.6.2" }, "devDependencies": { - "@types/yargs": "^15.0.9" + "@types/yargs": "^17.0.22" } } diff --git a/packages/flare/src/cli.ts b/packages/flare/src/cli.ts index 60a56c5cb7c3..c5a6b5039d6c 100644 --- a/packages/flare/src/cli.ts +++ b/packages/flare/src/cli.ts @@ -1,6 +1,5 @@ // Must not use `* as yargs`, see https://github.com/yargs/yargs/issues/1131 import yargs from "yargs"; -// @ts-expect-error no type import {hideBin} from "yargs/helpers"; import {cmds} from "./cmds/index.js"; import {registerCommandToYargs} from "./util/command.js"; diff --git a/yarn.lock b/yarn.lock index 42162a2c6b30..0145f4bc3d89 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3568,10 +3568,10 @@ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz" integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== -"@types/yargs@^15.0.9": - version "15.0.13" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.13.tgz" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== +"@types/yargs@^17.0.22": + version "17.0.22" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" + integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== dependencies: "@types/yargs-parser" "*" @@ -5060,6 +5060,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -13308,7 +13317,7 @@ yargs-parser@21.0.1: yargs-parser@^18.1.2: version "18.1.3" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== dependencies: camelcase "^5.0.0" @@ -13319,7 +13328,7 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.0.0: +yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -13334,9 +13343,9 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@16.2.0, yargs@^16.1.0, yargs@^16.1.1, yargs@^16.2.0: +yargs@16.2.0, yargs@^16.1.1, yargs@^16.2.0: version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: cliui "^7.0.2" @@ -13349,7 +13358,7 @@ yargs@16.2.0, yargs@^16.1.0, yargs@^16.1.1, yargs@^16.2.0: yargs@^15.0.2: version "15.4.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: cliui "^6.0.0" @@ -13364,31 +13373,18 @@ yargs@^15.0.2: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^17.1.1: - version "17.1.1" - resolved "https://registry.npmjs.org/yargs/-/yargs-17.1.1.tgz" - integrity sha512-c2k48R0PwKIqKhPMWjeiF6y2xY/gPMUlro0sgxqXpbOIohWiLNXWslsootttv7E1e73QPAMQSg5FeySbVcpsPQ== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yargs@^17.2.1, yargs@^17.4.0: - version "17.5.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" - integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== +yargs@^17.1.1, yargs@^17.2.1, yargs@^17.4.0, yargs@^17.6.2: + version "17.6.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" + integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^21.0.0" + yargs-parser "^21.1.1" yauzl@^2.10.0: version "2.10.0" From 1bc386da3a288702772b7055abd2462977c6a298 Mon Sep 17 00:00:00 2001 From: Cayman Date: Thu, 16 Feb 2023 11:46:23 -0500 Subject: [PATCH 2/7] Fix linter errors --- packages/cli/src/index.ts | 2 +- packages/cli/test/utils/inMemoryRunner.ts | 2 +- packages/flare/src/index.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 6dced49742af..add49804c9be 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -8,7 +8,7 @@ import "source-map-support/register.js"; const lodestar = getLodestarCli(); -lodestar +void lodestar .fail((msg, err) => { if (msg) { // Show command help message when no command is provided diff --git a/packages/cli/test/utils/inMemoryRunner.ts b/packages/cli/test/utils/inMemoryRunner.ts index 801969e0ae35..cb13284a44bc 100644 --- a/packages/cli/test/utils/inMemoryRunner.ts +++ b/packages/cli/test/utils/inMemoryRunner.ts @@ -4,7 +4,7 @@ export function getCliInMemoryRunner() { return async (arg: string | readonly string[], context?: Record): Promise => { return new Promise((resolve, reject) => { const lodestar = getLodestarCli(); - lodestar + void lodestar // Called after the completion of any command. handler is invoked with the result returned by the command: .onFinishCommand((result) => { resolve(result); diff --git a/packages/flare/src/index.ts b/packages/flare/src/index.ts index fa3b0bede246..bc10fff9181c 100644 --- a/packages/flare/src/index.ts +++ b/packages/flare/src/index.ts @@ -6,7 +6,7 @@ import "source-map-support/register.js"; const flare = getCli(); -flare +void flare .fail((msg, err) => { if (msg) { // Show command help message when no command is provided From 793c1d70d6e303f0e8adb6889e833a7861b2053d Mon Sep 17 00:00:00 2001 From: Cayman Date: Mon, 20 Feb 2023 16:01:25 -0500 Subject: [PATCH 3/7] Fix e2e test --- packages/cli/test/utils/inMemoryRunner.ts | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/cli/test/utils/inMemoryRunner.ts b/packages/cli/test/utils/inMemoryRunner.ts index cb13284a44bc..9a6e379f9426 100644 --- a/packages/cli/test/utils/inMemoryRunner.ts +++ b/packages/cli/test/utils/inMemoryRunner.ts @@ -1,14 +1,12 @@ +import yargs from "yargs"; import {getLodestarCli} from "../../src/cli.js"; export function getCliInMemoryRunner() { return async (arg: string | readonly string[], context?: Record): Promise => { return new Promise((resolve, reject) => { - const lodestar = getLodestarCli(); - void lodestar - // Called after the completion of any command. handler is invoked with the result returned by the command: - .onFinishCommand((result) => { - resolve(result); - }) + const lodestar = getLodestarCli() as yargs.Argv; + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call + lodestar // Method to execute when a failure occurs, rather than printing the failure message. .fail((msg, err) => { if (err !== undefined) reject(err); @@ -17,7 +15,10 @@ export function getCliInMemoryRunner() { }) .help(false) .exitProcess(false) - .parse(Array.isArray(arg) ? arg.join(" ") : arg, context); + .parse(Array.isArray(arg) ? arg.join(" ") : arg, context) + // Called after the completion of any command. handler is invoked with the result returned by the command: + .then((result: any) => resolve(result)) + .catch((e: unknown) => reject(e)); }); }; } From f5f53602404c90ba6eefd1f5f018c282a0c1c705 Mon Sep 17 00:00:00 2001 From: Nazar Hussain Date: Mon, 17 Apr 2023 15:26:01 +0200 Subject: [PATCH 4/7] Upgrade yargs to latest version --- packages/cli/package.json | 6 +++--- packages/flare/package.json | 4 ++-- packages/prover/package.json | 4 ++-- yarn.lock | 23 ++++++++--------------- 4 files changed, 15 insertions(+), 22 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index 4a39a5d28852..da8940017fe2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -91,14 +91,14 @@ "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.5", "winston-transport": "^4.3.0", - "yargs": "^17.6.2" + "yargs": "^17.7.1" }, "devDependencies": { "@types/expand-tilde": "^2.0.0", "@types/got": "^9.6.12", "@types/js-yaml": "^3.12.5", "@types/rimraf": "^3.0.2", - "@types/yargs": "^17.0.22", + "@types/yargs": "^17.0.24", "@types/inquirer": "^9.0.3", "@types/lodash": "^4.14.192", "lodash": "^4.17.21", @@ -110,6 +110,6 @@ "winston": "^3.8.2", "winston-daily-rotate-file": "^4.7.1", "winston-transport": "^4.5.0", - "yargs": "^17.6.2" + "yargs": "^17.7.1" } } diff --git a/packages/flare/package.json b/packages/flare/package.json index 962b0bcc91b3..dc0c87f9b014 100644 --- a/packages/flare/package.json +++ b/packages/flare/package.json @@ -64,9 +64,9 @@ "@lodestar/state-transition": "^1.7.2", "@lodestar/types": "^1.7.2", "source-map-support": "^0.5.21", - "yargs": "^17.6.2" + "yargs": "^17.7.1" }, "devDependencies": { - "@types/yargs": "^17.0.22" + "@types/yargs": "^17.0.24" } } diff --git a/packages/prover/package.json b/packages/prover/package.json index 2635facc8ee9..56c7d17a1e04 100644 --- a/packages/prover/package.json +++ b/packages/prover/package.json @@ -72,11 +72,11 @@ "source-map-support": "^0.5.21", "winston": "^3.8.2", "winston-transport": "^4.5.0", - "yargs": "^16.1.0" + "yargs": "^17.7.1" }, "devDependencies": { "@types/http-proxy": "^1.17.10", - "@types/yargs": "^15.0.9", + "@types/yargs": "^17.0.24", "ethers": "^6.2.3", "web3": "^1.9.0" }, diff --git a/yarn.lock b/yarn.lock index 25e5b8c40b0d..5c94dfc8aa77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4204,17 +4204,10 @@ resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.0.tgz" integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== -"@types/yargs@^15.0.9": - version "15.0.15" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.15.tgz#e609a2b1ef9e05d90489c2f5f45bbfb2be092158" - integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.22": - version "17.0.22" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.22.tgz#7dd37697691b5f17d020f3c63e7a45971ff71e9a" - integrity sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g== +"@types/yargs@^17.0.24": + version "17.0.24" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" + integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== dependencies: "@types/yargs-parser" "*" @@ -15783,7 +15776,7 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^21.1.1: +yargs-parser@^21.0.0, yargs-parser@^21.1.1: version "21.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== @@ -15798,7 +15791,7 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@16.2.0, yargs@^16.1.0, yargs@^16.1.1, yargs@^16.2.0: +yargs@16.2.0, yargs@^16.1.1, yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -15828,7 +15821,7 @@ yargs@^15.0.2: y18n "^4.0.0" yargs-parser "^18.1.2" -yargs@^17.1.1, yargs@^17.6.2: +yargs@^17.1.1: version "17.6.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.6.2.tgz#2e23f2944e976339a1ee00f18c77fedee8332541" integrity sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw== @@ -15854,7 +15847,7 @@ yargs@^17.4.0: y18n "^5.0.5" yargs-parser "^21.0.0" -yargs@^17.5.1: +yargs@^17.5.1, yargs@^17.7.1: version "17.7.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.1.tgz#34a77645201d1a8fc5213ace787c220eabbd0967" integrity sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw== From 9852e3ad06815cb0ca77d11080223ec46525442f Mon Sep 17 00:00:00 2001 From: Nazar Hussain Date: Mon, 17 Apr 2023 15:35:09 +0200 Subject: [PATCH 5/7] Fix build error --- packages/cli/package.json | 26 ++++---------- packages/prover/src/cli/cli.ts | 1 - yarn.lock | 66 ++++++++-------------------------- 3 files changed, 21 insertions(+), 72 deletions(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index da8940017fe2..349531fbcefe 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -82,25 +82,6 @@ "inquirer": "^9.1.5", "js-yaml": "^4.1.0", "lockfile": "^1.0.4", - "lodash": "^4.17.15", - "prom-client": "^14.1.0", - "rimraf": "^3.0.0", - "source-map-support": "^0.5.19", - "uint8arrays": "^3.1.0", - "uuidv4": "^6.1.1", - "winston": "^3.3.3", - "winston-daily-rotate-file": "^4.5.5", - "winston-transport": "^4.3.0", - "yargs": "^17.7.1" - }, - "devDependencies": { - "@types/expand-tilde": "^2.0.0", - "@types/got": "^9.6.12", - "@types/js-yaml": "^3.12.5", - "@types/rimraf": "^3.0.2", - "@types/yargs": "^17.0.24", - "@types/inquirer": "^9.0.3", - "@types/lodash": "^4.14.192", "lodash": "^4.17.21", "prom-client": "^14.2.0", "rimraf": "^4.4.1", @@ -111,5 +92,12 @@ "winston-daily-rotate-file": "^4.7.1", "winston-transport": "^4.5.0", "yargs": "^17.7.1" + }, + "devDependencies": { + "@types/expand-tilde": "^2.0.0", + "@types/got": "^9.6.12", + "@types/inquirer": "^9.0.3", + "@types/lodash": "^4.14.192", + "@types/yargs": "^17.0.24" } } diff --git a/packages/prover/src/cli/cli.ts b/packages/prover/src/cli/cli.ts index 31f11e3a300d..233847524b9d 100644 --- a/packages/prover/src/cli/cli.ts +++ b/packages/prover/src/cli/cli.ts @@ -1,6 +1,5 @@ // Must not use `* as yargs`, see https://github.com/yargs/yargs/issues/1131 import yargs from "yargs"; -// @ts-expect-error no type import {hideBin} from "yargs/helpers"; import {registerCommandToYargs} from "../utils/command.js"; import {getVersionData} from "../utils/version.js"; diff --git a/yarn.lock b/yarn.lock index 5c94dfc8aa77..29991646c37d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3825,14 +3825,6 @@ resolved "https://registry.npmjs.org/@types/expand-tilde/-/expand-tilde-2.0.0.tgz" integrity sha512-17h/6MRHoetV2QVUVnUfrmaFCXNIFJ3uDJmXlklX2xDtlEb1W0OXLgP+qwND2Ibg/PtQfQi0vx19KGuPayjLiw== -"@types/glob@*": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-8.1.0.tgz#b63e70155391b0584dce44e7ea25190bbc38f2fc" - integrity sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w== - dependencies: - "@types/minimatch" "^5.1.2" - "@types/node" "*" - "@types/got@^9.6.12": version "9.6.12" resolved "https://registry.yarnpkg.com/@types/got/-/got-9.6.12.tgz#fd42a6e1f5f64cd6bb422279b08c30bb5a15a56f" @@ -3862,11 +3854,6 @@ "@types/through" "*" rxjs "^7.2.0" -"@types/js-yaml@^3.12.5": - version "3.12.7" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-3.12.7.tgz#330c5d97a3500e9c903210d6e49f02964af04a0e" - integrity sha512-S6+8JAYTE1qdsc9HMVsfY7+SgSuUU/Tp6TYTmITW0PZxiyIMvol3Gy//y69Wkhs0ti4py5qgR3uZH6uz/DNzJQ== - "@types/js-yaml@^4.0.5": version "4.0.5" resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" @@ -3938,11 +3925,6 @@ resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz" integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== -"@types/minimatch@^5.1.2": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca" - integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== - "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" @@ -4063,14 +4045,6 @@ resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz" integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== -"@types/rimraf@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.2.tgz#a63d175b331748e5220ad48c901d7bbf1f44eef8" - integrity sha512-F3OznnSLAUxFrCEu/L5PY8+ny8DtcFRjx7fZZ9bycvXRi3KPTRS9HOitGZwvPg0juRhXFWIeKX58cnX5YqLohQ== - dependencies: - "@types/glob" "*" - "@types/node" "*" - "@types/secp256k1@^4.0.1": version "4.0.2" resolved "https://registry.npmjs.org/@types/secp256k1/-/secp256k1-4.0.2.tgz" @@ -11166,11 +11140,6 @@ multiformats@^11.0.0: resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-11.0.1.tgz#ba58c3f69f032ab67dab4b48cc70f01ac2ca07fe" integrity sha512-atWruyH34YiknSdL5yeIir00EDlJRpHzELYQxG7Iy29eCyL+VrZHpPrX5yqlik3jnuqpLpRKVZ0SGVb9UzKaSA== -multiformats@^9.4.2: - version "9.9.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" - integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== - multihashes@^0.4.15, multihashes@~0.4.15: version "0.4.21" resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" @@ -12532,7 +12501,7 @@ progress@^2.0.3: resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -prom-client@^14.1.0, prom-client@^14.2.0: +prom-client@^14.2.0: version "14.2.0" resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-14.2.0.tgz#ca94504e64156f6506574c25fb1c34df7812cf11" integrity sha512-sF308EhTenb/pDRPakm+WgiN+VdM/T1RaHj1x+MvAuT8UiQP8JmOEbxVqtkbfR4LrvOg5n7ic01kRBDGXjYikA== @@ -13691,7 +13660,7 @@ sort-keys@^4.0.0: dependencies: is-plain-obj "^2.0.0" -source-map-support@^0.5.19, source-map-support@^0.5.21, source-map-support@~0.5.20: +source-map-support@^0.5.21, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -14773,13 +14742,6 @@ uint8arraylist@^2.0.0, uint8arraylist@^2.1.0, uint8arraylist@^2.1.1, uint8arrayl dependencies: uint8arrays "^4.0.2" -uint8arrays@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" - integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== - dependencies: - multiformats "^9.4.2" - uint8arrays@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-4.0.2.tgz#163bdbcf3f7403b0781754e0436c268548b237c2" @@ -14996,7 +14958,7 @@ uuid@^9.0.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== -uuidv4@^6.1.1: +uuidv4@^6.2.13: version "6.2.13" resolved "https://registry.yarnpkg.com/uuidv4/-/uuidv4-6.2.13.tgz#8f95ec5ef22d1f92c8e5d4c70b735d1c89572cb7" integrity sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ== @@ -15460,7 +15422,7 @@ wide-align@^1.1.0, wide-align@^1.1.5: dependencies: string-width "^1.0.2 || 2 || 3 || 4" -winston-daily-rotate-file@^4.5.5: +winston-daily-rotate-file@^4.7.1: version "4.7.1" resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz#f60a643af87f8867f23170d8cd87dbe3603a625f" integrity sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA== @@ -15470,15 +15432,6 @@ winston-daily-rotate-file@^4.5.5: triple-beam "^1.3.0" winston-transport "^4.4.0" -winston-transport@^4.3.0, winston-transport@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa" - integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q== - dependencies: - logform "^2.3.2" - readable-stream "^3.6.0" - triple-beam "^1.3.0" - winston-transport@^4.4.0: version "4.4.0" resolved "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.0.tgz" @@ -15487,7 +15440,16 @@ winston-transport@^4.4.0: readable-stream "^2.3.7" triple-beam "^1.2.0" -winston@^3.3.3, winston@^3.8.2: +winston-transport@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa" + integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q== + dependencies: + logform "^2.3.2" + readable-stream "^3.6.0" + triple-beam "^1.3.0" + +winston@^3.8.2: version "3.8.2" resolved "https://registry.yarnpkg.com/winston/-/winston-3.8.2.tgz#56e16b34022eb4cff2638196d9646d7430fdad50" integrity sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew== From 40980b96908f263f693468e2f2d4f1e8d477731b Mon Sep 17 00:00:00 2001 From: Nazar Hussain Date: Mon, 17 Apr 2023 15:41:10 +0200 Subject: [PATCH 6/7] Update the prover cli --- packages/prover/src/cli/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/prover/src/cli/index.ts b/packages/prover/src/cli/index.ts index 8930a931e228..687c3bb301da 100644 --- a/packages/prover/src/cli/index.ts +++ b/packages/prover/src/cli/index.ts @@ -7,7 +7,7 @@ import "source-map-support/register.js"; const prover = getLodestarProverCli(); -prover +void prover .fail((msg, err) => { if (msg) { // Show command help message when no command is provided From b1b178a99707127b7b02508099d9fc2395613000 Mon Sep 17 00:00:00 2001 From: Nazar Hussain Date: Mon, 17 Apr 2023 17:21:46 +0200 Subject: [PATCH 7/7] Fix the e2e test --- ...{example.test.ts => validatorList.test.ts} | 52 +++++-------------- packages/cli/test/utils/inMemoryRunner.ts | 6 ++- 2 files changed, 17 insertions(+), 41 deletions(-) rename packages/cli/test/e2e/{example.test.ts => validatorList.test.ts} (58%) diff --git a/packages/cli/test/e2e/example.test.ts b/packages/cli/test/e2e/validatorList.test.ts similarity index 58% rename from packages/cli/test/e2e/example.test.ts rename to packages/cli/test/e2e/validatorList.test.ts index 8e99cde293f7..ce2d10e7b56c 100644 --- a/packages/cli/test/e2e/example.test.ts +++ b/packages/cli/test/e2e/validatorList.test.ts @@ -1,47 +1,26 @@ +/* eslint-disable no-console */ import fs from "node:fs"; import path from "node:path"; -import rimraf from "rimraf"; +import {rimraf} from "rimraf"; import {expect} from "chai"; +import sinon from "sinon"; import {Keystore} from "@chainsafe/bls-keystore"; import {fromHex} from "@lodestar/utils"; -import {ReturnType as ValidatorListReturnType} from "../../src/cmds/validator/list.js"; import {testFilesDir} from "../utils.js"; import {getCliInMemoryRunner} from "../utils/inMemoryRunner.js"; -/* eslint-disable no-console */ - -type ConsoleKeys = "log" | "warn" | "error"; -const consoleKeys: ConsoleKeys[] = ["log", "warn", "error"]; - describe("cmds / validator", function () { const lodestar = getCliInMemoryRunner(); const dataDir = testFilesDir; - const consoleData: {[P in ConsoleKeys]: string} = { - log: "", - warn: "", - error: "", - }; - const consoleCache: {[P in ConsoleKeys]: typeof console.log} = { - log: console.log, - warn: console.warn, - error: console.error, - }; - - beforeEach("Hijack console", () => { - for (const key of consoleKeys) { - consoleData[key] = ""; - console[key] = (...args: any[]) => { - consoleData.log += args.map(String).join(" "); - }; - } + beforeEach(() => { + sinon.spy(console, "info"); + sinon.spy(console, "log"); }); - afterEach("Release console", () => { - for (const key of consoleKeys) { - console[key] = consoleCache[key]; - } + afterEach(() => { + sinon.restore(); }); before("Clean dataDir", () => { @@ -62,28 +41,23 @@ describe("cmds / validator", function () { fs.writeFileSync(passphraseFilepath, passphrase); fs.writeFileSync(keystoreFilepath, keystore.stringify()); - const res = await lodestar([ - // ⏎ + await lodestar([ "validator import", `--dataDir ${dataDir}`, `--keystore ${keystoreFilepath}`, `--passphraseFile ${passphraseFilepath}`, ]); - console.log(res); + expect(console.log).be.calledWith(`Imported keystore ${pkHex} ${keystoreFilepath}`); }); it("should list validators", async function () { fs.mkdirSync(path.join(dataDir, "keystores"), {recursive: true}); fs.mkdirSync(path.join(dataDir, "secrets"), {recursive: true}); - const validatorPubKeys = await lodestar([ - // ⏎ - "validator list", - `--dataDir ${dataDir}`, - ]); + await lodestar(["validator list", `--dataDir ${dataDir}`]); - // No keys are imported before this test. TODO: Import some - expect(validatorPubKeys.sort()).to.deep.equal([pkHex], "Wrong validator pubkeys"); + expect(console.info).calledWith("1 local keystores"); + expect(console.info).calledWith(pkHex); }); }); diff --git a/packages/cli/test/utils/inMemoryRunner.ts b/packages/cli/test/utils/inMemoryRunner.ts index 9a6e379f9426..72f4ef2b66fa 100644 --- a/packages/cli/test/utils/inMemoryRunner.ts +++ b/packages/cli/test/utils/inMemoryRunner.ts @@ -2,7 +2,7 @@ import yargs from "yargs"; import {getLodestarCli} from "../../src/cli.js"; export function getCliInMemoryRunner() { - return async (arg: string | readonly string[], context?: Record): Promise => { + return async (arg: string | readonly string[], context?: Record): Promise => { return new Promise((resolve, reject) => { const lodestar = getLodestarCli() as yargs.Argv; // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call @@ -17,7 +17,9 @@ export function getCliInMemoryRunner() { .exitProcess(false) .parse(Array.isArray(arg) ? arg.join(" ") : arg, context) // Called after the completion of any command. handler is invoked with the result returned by the command: - .then((result: any) => resolve(result)) + .then((result: any) => { + resolve(result); + }) .catch((e: unknown) => reject(e)); }); };