From 4ca6b76caf572a01b6c281623af1a6a50214dcc7 Mon Sep 17 00:00:00 2001 From: Maksym Date: Mon, 20 Feb 2023 18:40:46 +0200 Subject: [PATCH 01/21] chore(security): add workflow for leaked secrets monitoring --- .github/workflows/secrets_scanner.yaml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/secrets_scanner.yaml diff --git a/.github/workflows/secrets_scanner.yaml b/.github/workflows/secrets_scanner.yaml new file mode 100644 index 00000000..54054cf7 --- /dev/null +++ b/.github/workflows/secrets_scanner.yaml @@ -0,0 +1,17 @@ +name: Leaked Secrets Scan +on: [pull_request] +jobs: + TruffleHog: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + with: + fetch-depth: 0 + - name: TruffleHog OSS + uses: trufflesecurity/trufflehog@0c66d30c1f4075cee1aada2e1ab46dabb1b0071a + with: + path: ./ + base: ${{ github.event.repository.default_branch }} + head: HEAD + extra_args: --debug --only-verified From eeb45ecfbc5d7adef8a41e089bb6c3d3441401ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Wed, 3 May 2023 13:40:09 -0300 Subject: [PATCH 02/21] Implement localnet subcommand --- bin/index.js | 7 ++- bin/localnet.d.ts | 1 + bin/localnet.js | 113 ++++++++++++++++++++++++++++++++++++++++++++ src/index.ts | 7 ++- src/localnet.ts | 117 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 243 insertions(+), 2 deletions(-) create mode 100644 bin/localnet.d.ts create mode 100644 bin/localnet.js create mode 100644 src/localnet.ts diff --git a/bin/index.js b/bin/index.js index fb6ebf69..7cf7351d 100755 --- a/bin/index.js +++ b/bin/index.js @@ -12,7 +12,8 @@ const figlet_1 = __importDefault(require("figlet")); const create_1 = __importDefault(require("./create")); const deposit_1 = __importDefault(require("./deposit")); const withdraw_1 = __importDefault(require("./withdraw")); -const availableOptions = ['create', 'deposit', 'withdraw']; +const localnet_1 = __importDefault(require("./localnet")); +const availableOptions = ['create', 'deposit', 'withdraw', 'localnet']; // second argument should be the selected option const option = process.argv[2]; if (!availableOptions.includes(option)) { @@ -33,4 +34,8 @@ switch (option) { case 'withdraw': (0, withdraw_1.default)(); break; + case 'localnet': + const subcommandName = process.argv[3] || undefined; + (0, localnet_1.default)(subcommandName); + break; } diff --git a/bin/localnet.d.ts b/bin/localnet.d.ts new file mode 100644 index 00000000..0eb26515 --- /dev/null +++ b/bin/localnet.d.ts @@ -0,0 +1 @@ +export default function (operationName: string | undefined): Promise; diff --git a/bin/localnet.js b/bin/localnet.js new file mode 100644 index 00000000..97320c23 --- /dev/null +++ b/bin/localnet.js @@ -0,0 +1,113 @@ +"use strict"; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const { execSync } = require('child_process'); +const path = require('path'); +const fs = require('fs'); +/** + * Runs CLI commands + * @param {*} command String command to run + */ +const runCommand = (command) => { + try { + // runs given command and prints its output to console + execSync(`${command}`, { stdio: 'inherit' }); + } + catch (error) { + console.error('Failed to run command: ', error); + return false; + } + return true; +}; +function localSetupRepoPath() { + const defaultXDGStateHome = path.join(process.env.HOME, ".local", "state"); + const xdgStateHome = process.env["XDG_STATE_HOME"] || defaultXDGStateHome; + return path.join(xdgStateHome, "zksync-cli", "local-setup"); +} +function localSetupRepoExists() { + return fs.existsSync(localSetupRepoPath()); +} +function cloneLocalSetupRepo() { + const repoParentDir = path.join(localSetupRepoPath(), ".."); + runCommand(`mkdir -p "${repoParentDir}"`); + runCommand(`cd "${repoParentDir}" && git clone https://github.com/matter-labs/local-setup.git`); +} +function createLocalSetupStartInBackgroundScript() { + runCommand(`cd "${localSetupRepoPath()}" && sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh && chmod +x start-background.sh`); +} +function handleStartOperation() { + const repoPath = localSetupRepoPath(); + if (!localSetupRepoExists()) { + cloneLocalSetupRepo(); + } + createLocalSetupStartInBackgroundScript(); + runCommand(`cd "${localSetupRepoPath()}" && ./start-background.sh`); + return 0; +} +function handleDownOperation() { + runCommand(`cd "${localSetupRepoPath()}" && docker-compose down`); + return 0; +} +function handleLogsOperation() { + runCommand(`cd "${localSetupRepoPath()}" && docker-compose logs --follow`); + return 0; +} +function handleClearOperation() { + runCommand(`cd "${localSetupRepoPath()}" && ./clear.sh`); + return 0; +} +function handleHelpOperation() { + console.log("USAGE: zksync-cli localnet "); + console.log(""); + console.log("Manage local L1 and L2 chains"); + console.log(""); + console.log("Available operations"); + console.log(' start -- Start L1 and L2 localnets'); + console.log(' down -- Stop L1 and L2 localnets'); + console.log(' clear -- Reset the localnet state'); + console.log(' logs -- Display logs'); + console.log(' help -- Display this message and quit'); + console.log(' wallets -- Display seeded wallet keys'); + return 0; +} +function handleUndefinedOperation() { + console.error("No operation provided"); + handleHelpOperation(); + return 1; +} +function handleWalletsOperation() { + const rawJSON = fs.readFileSync(path.join(localSetupRepoPath(), "rich-wallets.json")); + const wallets = JSON.parse(rawJSON); + console.log(wallets); + return 0; +} +function handleInvalidOperation(operationName) { + const validOperationNames = Array.from(operationHandlers.keys()); + console.error('Invalid operation: ', operationName); + handleHelpOperation(); + return 1; +} +const operationHandlers = new Map([ + ['start', handleStartOperation], + ['down', handleDownOperation], + ['logs', handleLogsOperation], + ['help', handleHelpOperation], + ['wallets', handleWalletsOperation], + ['clear', handleClearOperation], + [undefined, handleUndefinedOperation], +]); +function default_1(operationName) { + return __awaiter(this, void 0, void 0, function* () { + const handler = operationHandlers.get(operationName) || (() => handleInvalidOperation(operationName)); + process.exit(handler()); + }); +} +exports.default = default_1; diff --git a/src/index.ts b/src/index.ts index efb6de6d..36f23ad3 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,8 +10,9 @@ import figlet from 'figlet'; import create from './create'; import deposit from './deposit'; import withdraw from './withdraw'; +import localnet from './localnet'; -const availableOptions: string[] = ['create', 'deposit', 'withdraw']; +const availableOptions: string[] = ['create', 'deposit', 'withdraw', 'localnet']; // second argument should be the selected option const option: string = process.argv[2]; @@ -43,4 +44,8 @@ switch (option) { case 'withdraw': withdraw(); break; + case 'localnet': + const subcommandName = process.argv[3] || undefined; + localnet(subcommandName); + break; } diff --git a/src/localnet.ts b/src/localnet.ts new file mode 100644 index 00000000..85cee3db --- /dev/null +++ b/src/localnet.ts @@ -0,0 +1,117 @@ +const { execSync } = require('child_process'); +const path = require('path'); +const fs = require('fs'); + +/** + * Runs CLI commands + * @param {*} command String command to run + */ +const runCommand = (command: string) => { + try { + // runs given command and prints its output to console + execSync(`${command}`, { stdio: 'inherit' }); + } catch (error) { + console.error('Failed to run command: ', error); + return false; + } + return true; +}; + +function localSetupRepoPath(): string { + const defaultXDGStateHome = path.join(process.env.HOME!, ".local", "state"); + const xdgStateHome = process.env["XDG_STATE_HOME"] || defaultXDGStateHome; + return path.join(xdgStateHome, "zksync-cli", "local-setup"); +} + +function localSetupRepoExists(): boolean { + return fs.existsSync(localSetupRepoPath()); +} + +function cloneLocalSetupRepo() { + const repoParentDir = path.join(localSetupRepoPath(), ".."); + runCommand(`mkdir -p "${repoParentDir}"`); + runCommand(`cd "${repoParentDir}" && git clone https://github.com/matter-labs/local-setup.git`); +} + +function createLocalSetupStartInBackgroundScript() { + runCommand(`cd "${localSetupRepoPath()}" && sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh && chmod +x start-background.sh`); +} + +function handleStartOperation(): number { + const repoPath = localSetupRepoPath(); + + if (!localSetupRepoExists()) { + cloneLocalSetupRepo(); + } + + createLocalSetupStartInBackgroundScript(); + + runCommand(`cd "${localSetupRepoPath()}" && ./start-background.sh`); + + return 0; +} + +function handleDownOperation(): number { + runCommand(`cd "${localSetupRepoPath()}" && docker-compose down`); + return 0; +} + +function handleLogsOperation(): number { + runCommand(`cd "${localSetupRepoPath()}" && docker-compose logs --follow`); + return 0; +} + +function handleClearOperation(): number { + runCommand(`cd "${localSetupRepoPath()}" && ./clear.sh`); + return 0; +} + +function handleHelpOperation(): number { + console.log("USAGE: zksync-cli localnet "); + console.log(""); + console.log("Manage local L1 and L2 chains"); + console.log(""); + console.log("Available operations"); + console.log(' start -- Start L1 and L2 localnets'); + console.log(' down -- Stop L1 and L2 localnets'); + console.log(' clear -- Reset the localnet state'); + console.log(' logs -- Display logs'); + console.log(' help -- Display this message and quit'); + console.log(' wallets -- Display seeded wallet keys'); + return 0; +} + +function handleUndefinedOperation(): number { + console.error("No operation provided"); + handleHelpOperation(); + return 1; +} + +function handleWalletsOperation(): number { + const rawJSON = fs.readFileSync(path.join(localSetupRepoPath(), "rich-wallets.json")); + const wallets = JSON.parse(rawJSON); + console.log(wallets); + return 0; +} + +function handleInvalidOperation(operationName: string): number { + const validOperationNames = Array.from(operationHandlers.keys()); + console.error('Invalid operation: ', operationName); + handleHelpOperation(); + return 1; +} + +const operationHandlers = new Map number>([ + ['start', handleStartOperation], + ['down', handleDownOperation], + ['logs', handleLogsOperation], + ['help', handleHelpOperation], + ['wallets', handleWalletsOperation], + ['clear', handleClearOperation], + [undefined, handleUndefinedOperation], +]); + +export default async function (operationName: string | undefined) { + const handler = operationHandlers.get(operationName) || (() => handleInvalidOperation(operationName!)); + process.exit(handler()); +} From 68a67ad28d33b4ceeb0ada9fd01aa12c0836ef4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Thu, 4 May 2023 18:15:20 -0300 Subject: [PATCH 03/21] Use import instead of require to get type definitons. --- src/localnet.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/localnet.ts b/src/localnet.ts index 85cee3db..fdb45f77 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -1,6 +1,6 @@ -const { execSync } = require('child_process'); -const path = require('path'); -const fs = require('fs'); +import { execSync } from 'child_process'; +import * as path from 'path'; +import * as fs from 'fs'; /** * Runs CLI commands From a4c8d71664f4aaec089aa277092f8c7a54d2709e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Thu, 4 May 2023 19:37:44 -0300 Subject: [PATCH 04/21] Cleanup --- bin/localnet.js | 143 ++++++++++++++++++++++++++++-------------------- src/localnet.ts | 123 +++++++++++++++++++++-------------------- 2 files changed, 149 insertions(+), 117 deletions(-) diff --git a/bin/localnet.js b/bin/localnet.js index 97320c23..48695a69 100644 --- a/bin/localnet.js +++ b/bin/localnet.js @@ -1,4 +1,27 @@ "use strict"; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { enumerable: true, get: function() { return m[k]; } }; + } + Object.defineProperty(o, k2, desc); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { @@ -9,68 +32,78 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -const { execSync } = require('child_process'); -const path = require('path'); -const fs = require('fs'); -/** - * Runs CLI commands - * @param {*} command String command to run - */ -const runCommand = (command) => { - try { - // runs given command and prints its output to console - execSync(`${command}`, { stdio: 'inherit' }); - } - catch (error) { - console.error('Failed to run command: ', error); - return false; - } - return true; -}; -function localSetupRepoPath() { - const defaultXDGStateHome = path.join(process.env.HOME, ".local", "state"); - const xdgStateHome = process.env["XDG_STATE_HOME"] || defaultXDGStateHome; - return path.join(xdgStateHome, "zksync-cli", "local-setup"); +const child_process_1 = require("child_process"); +const path = __importStar(require("path")); +const fs = __importStar(require("fs")); +const os = __importStar(require("os")); +// --------------------------------------------------------------------------------------- +// Utilities +// --------------------------------------------------------------------------------------- +function runCommand(command, options) { + const defaultOptions = { cwd: repoDirectory(), encoding: 'utf-8' }; + const unifiedOptions = Object.assign(Object.assign({}, defaultOptions), options); + return (0, child_process_1.execSync)(command, unifiedOptions).toString(); +} +function repoDirectory() { + const xdgStateHome = process.env.XDG_STATE_HOME || path.join(os.homedir(), ".local/state"); + return path.join(xdgStateHome, "zksync-cli/local-setup"); } -function localSetupRepoExists() { - return fs.existsSync(localSetupRepoPath()); +function isRepoCloned() { + return fs.existsSync(repoDirectory()); } -function cloneLocalSetupRepo() { - const repoParentDir = path.join(localSetupRepoPath(), ".."); - runCommand(`mkdir -p "${repoParentDir}"`); - runCommand(`cd "${repoParentDir}" && git clone https://github.com/matter-labs/local-setup.git`); +function cloneRepo() { + const parentDirectory = path.join(repoDirectory(), ".."); + runCommand(`mkdir -p "${parentDirectory}"`); + const options = { cwd: parentDirectory }; + runCommand("git clone https://github.com/matter-labs/local-setup.git", options); } -function createLocalSetupStartInBackgroundScript() { - runCommand(`cd "${localSetupRepoPath()}" && sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh && chmod +x start-background.sh`); +function createStartInBackgroundScript() { + runCommand("sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh"); + runCommand("chmod +x start-background.sh"); } -function handleStartOperation() { - const repoPath = localSetupRepoPath(); - if (!localSetupRepoExists()) { - cloneLocalSetupRepo(); +function setUp() { + cloneRepo(); + createStartInBackgroundScript(); +} +// --------------------------------------------------------------------------------------- +// Localnet operations +// --------------------------------------------------------------------------------------- +function logs() { + const options = { stdio: 'inherit' }; + runCommand("docker-compose logs --follow", options); + return 0; +} +function up() { + if (!isRepoCloned()) { + setUp(); } - createLocalSetupStartInBackgroundScript(); - runCommand(`cd "${localSetupRepoPath()}" && ./start-background.sh`); + runCommand("./start-background.sh"); return 0; } -function handleDownOperation() { - runCommand(`cd "${localSetupRepoPath()}" && docker-compose down`); +function down() { + runCommand("docker-compose down"); return 0; } -function handleLogsOperation() { - runCommand(`cd "${localSetupRepoPath()}" && docker-compose logs --follow`); +function clear() { + runCommand("./clear.sh"); return 0; } -function handleClearOperation() { - runCommand(`cd "${localSetupRepoPath()}" && ./clear.sh`); +function wallets() { + const rawJSON = fs.readFileSync(path.join(repoDirectory(), "rich-wallets.json")).toString(); + const wallets = JSON.parse(rawJSON); + console.log(wallets); return 0; } -function handleHelpOperation() { +// --------------------------------------------------------------------------------------- +// Command handling +// --------------------------------------------------------------------------------------- +function help() { console.log("USAGE: zksync-cli localnet "); console.log(""); console.log("Manage local L1 and L2 chains"); console.log(""); console.log("Available operations"); - console.log(' start -- Start L1 and L2 localnets'); + console.log(' up -- Start L1 and L2 localnets'); console.log(' down -- Stop L1 and L2 localnets'); console.log(' clear -- Reset the localnet state'); console.log(' logs -- Display logs'); @@ -80,28 +113,22 @@ function handleHelpOperation() { } function handleUndefinedOperation() { console.error("No operation provided"); - handleHelpOperation(); + help(); return 1; } -function handleWalletsOperation() { - const rawJSON = fs.readFileSync(path.join(localSetupRepoPath(), "rich-wallets.json")); - const wallets = JSON.parse(rawJSON); - console.log(wallets); - return 0; -} function handleInvalidOperation(operationName) { const validOperationNames = Array.from(operationHandlers.keys()); console.error('Invalid operation: ', operationName); - handleHelpOperation(); + help(); return 1; } const operationHandlers = new Map([ - ['start', handleStartOperation], - ['down', handleDownOperation], - ['logs', handleLogsOperation], - ['help', handleHelpOperation], - ['wallets', handleWalletsOperation], - ['clear', handleClearOperation], + ['up', up], + ['down', down], + ['logs', logs], + ['help', help], + ['wallets', wallets], + ['clear', clear], [undefined, handleUndefinedOperation], ]); function default_1(operationName) { diff --git a/src/localnet.ts b/src/localnet.ts index fdb45f77..b91d9519 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -1,78 +1,90 @@ -import { execSync } from 'child_process'; +import { execSync, ExecSyncOptions } from 'child_process'; import * as path from 'path'; import * as fs from 'fs'; +import * as os from 'os'; -/** - * Runs CLI commands - * @param {*} command String command to run - */ -const runCommand = (command: string) => { - try { - // runs given command and prints its output to console - execSync(`${command}`, { stdio: 'inherit' }); - } catch (error) { - console.error('Failed to run command: ', error); - return false; - } - return true; -}; - -function localSetupRepoPath(): string { - const defaultXDGStateHome = path.join(process.env.HOME!, ".local", "state"); - const xdgStateHome = process.env["XDG_STATE_HOME"] || defaultXDGStateHome; - return path.join(xdgStateHome, "zksync-cli", "local-setup"); -} +// --------------------------------------------------------------------------------------- +// Utilities +// --------------------------------------------------------------------------------------- -function localSetupRepoExists(): boolean { - return fs.existsSync(localSetupRepoPath()); +function runCommand(command: string, options?: ExecSyncOptions): string { + const defaultOptions: ExecSyncOptions = { cwd: repoDirectory(), encoding: 'utf-8' }; + const unifiedOptions: ExecSyncOptions = {...defaultOptions, ...options}; + return execSync(command, unifiedOptions).toString(); } -function cloneLocalSetupRepo() { - const repoParentDir = path.join(localSetupRepoPath(), ".."); - runCommand(`mkdir -p "${repoParentDir}"`); - runCommand(`cd "${repoParentDir}" && git clone https://github.com/matter-labs/local-setup.git`); +function repoDirectory(): string { + const xdgStateHome = process.env.XDG_STATE_HOME || path.join(os.homedir(), ".local/state"); + return path.join(xdgStateHome, "zksync-cli/local-setup"); } -function createLocalSetupStartInBackgroundScript() { - runCommand(`cd "${localSetupRepoPath()}" && sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh && chmod +x start-background.sh`); +function isRepoCloned(): boolean { + return fs.existsSync(repoDirectory()); } -function handleStartOperation(): number { - const repoPath = localSetupRepoPath(); +function cloneRepo() { + const parentDirectory = path.join(repoDirectory(), ".."); + runCommand(`mkdir -p "${parentDirectory}"`); + const options: ExecSyncOptions = { cwd: parentDirectory }; + runCommand("git clone https://github.com/matter-labs/local-setup.git", options); +} - if (!localSetupRepoExists()) { - cloneLocalSetupRepo(); - } +function createStartInBackgroundScript() { + runCommand("sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh"); + runCommand("chmod +x start-background.sh"); +} - createLocalSetupStartInBackgroundScript(); +function setUp() { + cloneRepo(); + createStartInBackgroundScript(); +} - runCommand(`cd "${localSetupRepoPath()}" && ./start-background.sh`); +// --------------------------------------------------------------------------------------- +// Localnet operations +// --------------------------------------------------------------------------------------- +function logs(): number { + const options: ExecSyncOptions = { stdio: 'inherit' }; + runCommand("docker-compose logs --follow", options); return 0; } -function handleDownOperation(): number { - runCommand(`cd "${localSetupRepoPath()}" && docker-compose down`); +function up(): number { + if (! isRepoCloned()) { + setUp(); + } + runCommand("./start-background.sh") return 0; } -function handleLogsOperation(): number { - runCommand(`cd "${localSetupRepoPath()}" && docker-compose logs --follow`); +function down(): number { + runCommand("docker-compose down"); return 0; } -function handleClearOperation(): number { - runCommand(`cd "${localSetupRepoPath()}" && ./clear.sh`); +function clear(): number { + runCommand("./clear.sh") return 0; } -function handleHelpOperation(): number { +function wallets(): number { + const rawJSON = fs.readFileSync(path.join(repoDirectory(), "rich-wallets.json")).toString(); + const wallets = JSON.parse(rawJSON); + console.log(wallets); + return 0; +} + +// --------------------------------------------------------------------------------------- +// Command handling +// --------------------------------------------------------------------------------------- + +function help(): number { console.log("USAGE: zksync-cli localnet "); console.log(""); console.log("Manage local L1 and L2 chains"); console.log(""); console.log("Available operations"); - console.log(' start -- Start L1 and L2 localnets'); + console.log(' up -- Start L1 and L2 localnets'); console.log(' down -- Stop L1 and L2 localnets'); console.log(' clear -- Reset the localnet state'); console.log(' logs -- Display logs'); @@ -83,31 +95,24 @@ function handleHelpOperation(): number { function handleUndefinedOperation(): number { console.error("No operation provided"); - handleHelpOperation(); + help(); return 1; } -function handleWalletsOperation(): number { - const rawJSON = fs.readFileSync(path.join(localSetupRepoPath(), "rich-wallets.json")); - const wallets = JSON.parse(rawJSON); - console.log(wallets); - return 0; -} - function handleInvalidOperation(operationName: string): number { const validOperationNames = Array.from(operationHandlers.keys()); console.error('Invalid operation: ', operationName); - handleHelpOperation(); + help(); return 1; } const operationHandlers = new Map number>([ - ['start', handleStartOperation], - ['down', handleDownOperation], - ['logs', handleLogsOperation], - ['help', handleHelpOperation], - ['wallets', handleWalletsOperation], - ['clear', handleClearOperation], + ['up', up], + ['down', down], + ['logs', logs], + ['help', help], + ['wallets', wallets], + ['clear', clear], [undefined, handleUndefinedOperation], ]); From 1a09eae07cda21d799fa8f6cad51d005d8f74182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Thu, 11 May 2023 17:56:23 -0300 Subject: [PATCH 05/21] Point local-setup repo to our branch. Interface with docker-compose directly --- bin/localnet.js | 33 ++++++++++++++++++--------------- src/localnet.ts | 36 ++++++++++++++++++++---------------- 2 files changed, 38 insertions(+), 31 deletions(-) diff --git a/bin/localnet.js b/bin/localnet.js index 48695a69..28ddf871 100644 --- a/bin/localnet.js +++ b/bin/localnet.js @@ -36,6 +36,8 @@ const child_process_1 = require("child_process"); const path = __importStar(require("path")); const fs = __importStar(require("fs")); const os = __importStar(require("os")); +const REPO_URL = "git@github.com:lambdaclass/local-setup.git"; +const REPO_BRANCH = "feature-volumes"; // --------------------------------------------------------------------------------------- // Utilities // --------------------------------------------------------------------------------------- @@ -53,17 +55,12 @@ function isRepoCloned() { } function cloneRepo() { const parentDirectory = path.join(repoDirectory(), ".."); - runCommand(`mkdir -p "${parentDirectory}"`); + runCommand(`mkdir -p '${parentDirectory}'`, { cwd: "/" }); const options = { cwd: parentDirectory }; - runCommand("git clone https://github.com/matter-labs/local-setup.git", options); -} -function createStartInBackgroundScript() { - runCommand("sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh"); - runCommand("chmod +x start-background.sh"); + runCommand(`git clone --branch '${REPO_BRANCH}' '${REPO_URL}'`, options); } function setUp() { cloneRepo(); - createStartInBackgroundScript(); } // --------------------------------------------------------------------------------------- // Localnet operations @@ -77,15 +74,19 @@ function up() { if (!isRepoCloned()) { setUp(); } - runCommand("./start-background.sh"); + runCommand("docker-compose up --detach"); return 0; } function down() { - runCommand("docker-compose down"); + runCommand("docker-compose down --volumes"); + return 0; +} +function start() { + runCommand("docker-compose start"); return 0; } -function clear() { - runCommand("./clear.sh"); +function stop() { + runCommand("docker-compose stop"); return 0; } function wallets() { @@ -103,9 +104,10 @@ function help() { console.log("Manage local L1 and L2 chains"); console.log(""); console.log("Available operations"); - console.log(' up -- Start L1 and L2 localnets'); - console.log(' down -- Stop L1 and L2 localnets'); - console.log(' clear -- Reset the localnet state'); + console.log(' up -- Bootstrap L1 and L2 localnets'); + console.log(' down -- clear L1 and L2 localnets'); + console.log(' start -- start L1 and L2 localnets'); + console.log(' stop -- stop L1 and L2 localnets'); console.log(' logs -- Display logs'); console.log(' help -- Display this message and quit'); console.log(' wallets -- Display seeded wallet keys'); @@ -125,10 +127,11 @@ function handleInvalidOperation(operationName) { const operationHandlers = new Map([ ['up', up], ['down', down], + ['start', start], + ['stop', stop], ['logs', logs], ['help', help], ['wallets', wallets], - ['clear', clear], [undefined, handleUndefinedOperation], ]); function default_1(operationName) { diff --git a/src/localnet.ts b/src/localnet.ts index b91d9519..b15252d3 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -3,6 +3,9 @@ import * as path from 'path'; import * as fs from 'fs'; import * as os from 'os'; +const REPO_URL: string = "git@github.com:lambdaclass/local-setup.git"; +const REPO_BRANCH: string = "feature-volumes" + // --------------------------------------------------------------------------------------- // Utilities // --------------------------------------------------------------------------------------- @@ -24,19 +27,13 @@ function isRepoCloned(): boolean { function cloneRepo() { const parentDirectory = path.join(repoDirectory(), ".."); - runCommand(`mkdir -p "${parentDirectory}"`); + runCommand(`mkdir -p '${parentDirectory}'`, { cwd: "/" }); const options: ExecSyncOptions = { cwd: parentDirectory }; - runCommand("git clone https://github.com/matter-labs/local-setup.git", options); + runCommand(`git clone --branch '${REPO_BRANCH}' '${REPO_URL}'`, options); } -function createStartInBackgroundScript() { - runCommand("sed 's/^docker-compose up$/docker-compose up --detach/' start.sh > start-background.sh"); - runCommand("chmod +x start-background.sh"); -} - function setUp() { cloneRepo(); - createStartInBackgroundScript(); } // --------------------------------------------------------------------------------------- @@ -53,17 +50,22 @@ function up(): number { if (! isRepoCloned()) { setUp(); } - runCommand("./start-background.sh") + runCommand("docker-compose up --detach"); return 0; } function down(): number { - runCommand("docker-compose down"); + runCommand("docker-compose down --volumes"); + return 0; +} + +function start(): number { + runCommand("docker-compose start"); return 0; } -function clear(): number { - runCommand("./clear.sh") +function stop(): number { + runCommand("docker-compose stop"); return 0; } @@ -84,9 +86,10 @@ function help(): number { console.log("Manage local L1 and L2 chains"); console.log(""); console.log("Available operations"); - console.log(' up -- Start L1 and L2 localnets'); - console.log(' down -- Stop L1 and L2 localnets'); - console.log(' clear -- Reset the localnet state'); + console.log(' up -- Bootstrap L1 and L2 localnets'); + console.log(' down -- clear L1 and L2 localnets'); + console.log(' start -- start L1 and L2 localnets'); + console.log(' stop -- stop L1 and L2 localnets'); console.log(' logs -- Display logs'); console.log(' help -- Display this message and quit'); console.log(' wallets -- Display seeded wallet keys'); @@ -109,10 +112,11 @@ function handleInvalidOperation(operationName: string): number { const operationHandlers = new Map number>([ ['up', up], ['down', down], + ['start', start], + ['stop', stop], ['logs', logs], ['help', help], ['wallets', wallets], - ['clear', clear], [undefined, handleUndefinedOperation], ]); From a8d342c01129b0324385abf0b54ba7db496bc6d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Tue, 30 May 2023 16:11:11 -0300 Subject: [PATCH 06/21] Add `localnet` subcommand to the README --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 34124274..093b5abb 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,15 @@ You can install this program globally with `npm i -g zksync-cli` or run the comm > Both deposit and withdraw might take a couple of minutes to complete. +- `zksync-cli localnet`: Manages a local zkSync 2.0 and Ethereum L1 testnet. It supports a set of sub-subcommands: + - `zksync-cli localnet up`: Bootstrap L1 and L2 localnets. + - `zksync-cli localnet down`: clear L1 and L2 localnets. + - `zksync-cli localnet start`: start L1 and L2 localnets. + - `zksync-cli localnet stop`: stop L1 and L2 localnets. + - `zksync-cli localnet logs`: Display logs. + - `zksync-cli localnet help`: Display this message and quit. + - `zksync-cli localnet wallets`: Display seeded wallet keys. + ## Developing new features ### Install and build From 3973ee2f9299c5f8a6c480207e3984dff33cb650 Mon Sep 17 00:00:00 2001 From: Mati Onorato Date: Thu, 1 Jun 2023 15:24:27 -0300 Subject: [PATCH 07/21] update docker compose from v1 to v2 --- bin/localnet.js | 10 +++++----- src/localnet.ts | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bin/localnet.js b/bin/localnet.js index 28ddf871..20ad5551 100644 --- a/bin/localnet.js +++ b/bin/localnet.js @@ -67,26 +67,26 @@ function setUp() { // --------------------------------------------------------------------------------------- function logs() { const options = { stdio: 'inherit' }; - runCommand("docker-compose logs --follow", options); + runCommand("docker compose logs --follow", options); return 0; } function up() { if (!isRepoCloned()) { setUp(); } - runCommand("docker-compose up --detach"); + runCommand("docker compose up --detach"); return 0; } function down() { - runCommand("docker-compose down --volumes"); + runCommand("docker compose down --volumes"); return 0; } function start() { - runCommand("docker-compose start"); + runCommand("docker compose start"); return 0; } function stop() { - runCommand("docker-compose stop"); + runCommand("docker compose stop"); return 0; } function wallets() { diff --git a/src/localnet.ts b/src/localnet.ts index b15252d3..58f240a0 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -42,7 +42,7 @@ function setUp() { function logs(): number { const options: ExecSyncOptions = { stdio: 'inherit' }; - runCommand("docker-compose logs --follow", options); + runCommand("docker compose logs --follow", options); return 0; } @@ -50,22 +50,22 @@ function up(): number { if (! isRepoCloned()) { setUp(); } - runCommand("docker-compose up --detach"); + runCommand("docker compose up --detach"); return 0; } function down(): number { - runCommand("docker-compose down --volumes"); + runCommand("docker compose down --volumes"); return 0; } function start(): number { - runCommand("docker-compose start"); + runCommand("docker compose start"); return 0; } function stop(): number { - runCommand("docker-compose stop"); + runCommand("docker compose stop"); return 0; } From d90245b5567c45e318f8dca220494ce8b98bb53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Onorato?= Date: Mon, 5 Jun 2023 20:03:51 -0300 Subject: [PATCH 08/21] Update local-setup repo url to matter-labs main branch --- bin/localnet.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/localnet.js b/bin/localnet.js index 20ad5551..374d2ab5 100644 --- a/bin/localnet.js +++ b/bin/localnet.js @@ -36,8 +36,8 @@ const child_process_1 = require("child_process"); const path = __importStar(require("path")); const fs = __importStar(require("fs")); const os = __importStar(require("os")); -const REPO_URL = "git@github.com:lambdaclass/local-setup.git"; -const REPO_BRANCH = "feature-volumes"; +const REPO_URL = "https://github.com/matter-labs/local-setup.git"; +const REPO_BRANCH = "main"; // --------------------------------------------------------------------------------------- // Utilities // --------------------------------------------------------------------------------------- From 5940293b5407153767e6132fb6c51022b9799536 Mon Sep 17 00:00:00 2001 From: Mati Onorato Date: Mon, 5 Jun 2023 20:12:15 -0300 Subject: [PATCH 09/21] update REPO_URL and REPO_BRANCH in ts file --- src/localnet.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/localnet.ts b/src/localnet.ts index 58f240a0..7c242577 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -3,8 +3,8 @@ import * as path from 'path'; import * as fs from 'fs'; import * as os from 'os'; -const REPO_URL: string = "git@github.com:lambdaclass/local-setup.git"; -const REPO_BRANCH: string = "feature-volumes" +const REPO_URL: string = "https://github.com/matter-labs/local-setup.git"; +const REPO_BRANCH: string = "main" // --------------------------------------------------------------------------------------- // Utilities From 55b145c0cb0c62193cd70920272680117a3f271b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Thu, 20 Jul 2023 16:25:15 -0300 Subject: [PATCH 10/21] Update help --- src/help.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/help.ts b/src/help.ts index c4bd8a5f..cfb10fed 100644 --- a/src/help.ts +++ b/src/help.ts @@ -25,6 +25,10 @@ export default async function () { console.log( `Confirms the withdrawal of funds from zkSync to Layer 1. It will prompt for the network (localnet, testnet, mainnet), the transaction address of the withdrawal, and the private key of the wallet initiating the confirmation.\n` ); + console.log(chalk.greenBright(`localnet`)); + console.log( + `Manages a local zkSync 2.0 and Ethereum L1 testnet. Run zksync-cli localnet test for a list of supported operations.` + ); // Exit the process process.exit(0); From edddec3ec6f81ad79ad38cc686bb50858878a150 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mat=C3=ADas=20Onorato?= Date: Tue, 15 Aug 2023 16:49:06 -0300 Subject: [PATCH 11/21] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b274ded..016704bc 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ You can install this program globally with `npm i -g zksync-cli` or run the comm > Both deposit and withdraw might take a couple of minutes to complete. -- `zksync-cli localnet`: Manages a local zkSync 2.0 and Ethereum L1 testnet. It supports a set of sub-subcommands: +- `zksync-cli localnet`: Manages a local zkSync 2.0 and Ethereum L1 testnet (it requires docker running on your system). It supports a set of sub-subcommands: - `zksync-cli localnet up`: Bootstrap L1 and L2 localnets. - `zksync-cli localnet down`: clear L1 and L2 localnets. - `zksync-cli localnet start`: start L1 and L2 localnets. From 40b8aa856a316b421e689fe45752d15002704822 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 13:15:21 -0300 Subject: [PATCH 12/21] Document why repoDirectory is using XDG_STATE_HOME --- src/localnet.ts | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/localnet.ts b/src/localnet.ts index 7c242577..514033c7 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -16,7 +16,35 @@ function runCommand(command: string, options?: ExecSyncOptions): string { return execSync(command, unifiedOptions).toString(); } +/** + * Returns the path where the `zksync-cli/local-setup` repository, used + * internally to manage localnet deployments, should be located. + * + * **Why follow the XDG Base Directory Specification?** + * + * This function follows the XDG Base Directory Specification + * (https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) + * to determine the parent directory location: + * + * The XDG Base Directory Specification is widely accepted as a standard. + * The decision to place the files under `$XDG_STATE_HOME` is based on considering the + * presence or absence of this repository as part of the CLI tool's state. + * + * Alternative locations within the XDG Base Directory Specification were + * considered and ruled out for the following reasons: + * + * - `$XDG_DATA_HOME` was not chosen because these files aren't user-specific + * data files. + * + * - `$XDG_CACHE_HOME` was not chosen because these files aren't considered + * non-essential cached data files. + * + * @returns {string} The path where the `zksync-cli/local-setup` repository should be + * placed. + */ function repoDirectory(): string { + // From the XDG Base Directory Specification: + // `$XDG_STATE_HOME` defines the base directory relative to which user-specific state files should be stored. If `$XDG_STATE_HOME` is either not set or empty, a default equal to `$HOME/.local/state` should be used. const xdgStateHome = process.env.XDG_STATE_HOME || path.join(os.homedir(), ".local/state"); return path.join(xdgStateHome, "zksync-cli/local-setup"); } From c58b62b126d4298f5d68581deefb729c9dad8261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 13:28:53 -0300 Subject: [PATCH 13/21] Remove new bin/ files introduced from our fork --- bin/index.js | 41 ------------- bin/localnet.d.ts | 1 - bin/localnet.js | 143 ---------------------------------------------- 3 files changed, 185 deletions(-) delete mode 100755 bin/index.js delete mode 100644 bin/localnet.d.ts delete mode 100644 bin/localnet.js diff --git a/bin/index.js b/bin/index.js deleted file mode 100755 index 7cf7351d..00000000 --- a/bin/index.js +++ /dev/null @@ -1,41 +0,0 @@ -#! /usr/bin/env node -"use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const chalk_1 = __importDefault(require("chalk")); -// @ts-ignore -// const figlet = require('figlet'); -const figlet_1 = __importDefault(require("figlet")); -// import method to create projects -const create_1 = __importDefault(require("./create")); -const deposit_1 = __importDefault(require("./deposit")); -const withdraw_1 = __importDefault(require("./withdraw")); -const localnet_1 = __importDefault(require("./localnet")); -const availableOptions = ['create', 'deposit', 'withdraw', 'localnet']; -// second argument should be the selected option -const option = process.argv[2]; -if (!availableOptions.includes(option)) { - console.log(`Invalid operation. Available operations are: ${availableOptions}`); - process.exit(-1); -} -// Starts CLI -console.log(chalk_1.default.magentaBright(figlet_1.default.textSync(`zkSync ${option}`, { horizontalLayout: 'full' }))); -switch (option) { - case 'create': - // arg 3 is the project name - const projectName = process.argv[3] || '.'; - (0, create_1.default)(projectName); - break; - case 'deposit': - (0, deposit_1.default)(); - break; - case 'withdraw': - (0, withdraw_1.default)(); - break; - case 'localnet': - const subcommandName = process.argv[3] || undefined; - (0, localnet_1.default)(subcommandName); - break; -} diff --git a/bin/localnet.d.ts b/bin/localnet.d.ts deleted file mode 100644 index 0eb26515..00000000 --- a/bin/localnet.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function (operationName: string | undefined): Promise; diff --git a/bin/localnet.js b/bin/localnet.js deleted file mode 100644 index 374d2ab5..00000000 --- a/bin/localnet.js +++ /dev/null @@ -1,143 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { enumerable: true, get: function() { return m[k]; } }; - } - Object.defineProperty(o, k2, desc); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const child_process_1 = require("child_process"); -const path = __importStar(require("path")); -const fs = __importStar(require("fs")); -const os = __importStar(require("os")); -const REPO_URL = "https://github.com/matter-labs/local-setup.git"; -const REPO_BRANCH = "main"; -// --------------------------------------------------------------------------------------- -// Utilities -// --------------------------------------------------------------------------------------- -function runCommand(command, options) { - const defaultOptions = { cwd: repoDirectory(), encoding: 'utf-8' }; - const unifiedOptions = Object.assign(Object.assign({}, defaultOptions), options); - return (0, child_process_1.execSync)(command, unifiedOptions).toString(); -} -function repoDirectory() { - const xdgStateHome = process.env.XDG_STATE_HOME || path.join(os.homedir(), ".local/state"); - return path.join(xdgStateHome, "zksync-cli/local-setup"); -} -function isRepoCloned() { - return fs.existsSync(repoDirectory()); -} -function cloneRepo() { - const parentDirectory = path.join(repoDirectory(), ".."); - runCommand(`mkdir -p '${parentDirectory}'`, { cwd: "/" }); - const options = { cwd: parentDirectory }; - runCommand(`git clone --branch '${REPO_BRANCH}' '${REPO_URL}'`, options); -} -function setUp() { - cloneRepo(); -} -// --------------------------------------------------------------------------------------- -// Localnet operations -// --------------------------------------------------------------------------------------- -function logs() { - const options = { stdio: 'inherit' }; - runCommand("docker compose logs --follow", options); - return 0; -} -function up() { - if (!isRepoCloned()) { - setUp(); - } - runCommand("docker compose up --detach"); - return 0; -} -function down() { - runCommand("docker compose down --volumes"); - return 0; -} -function start() { - runCommand("docker compose start"); - return 0; -} -function stop() { - runCommand("docker compose stop"); - return 0; -} -function wallets() { - const rawJSON = fs.readFileSync(path.join(repoDirectory(), "rich-wallets.json")).toString(); - const wallets = JSON.parse(rawJSON); - console.log(wallets); - return 0; -} -// --------------------------------------------------------------------------------------- -// Command handling -// --------------------------------------------------------------------------------------- -function help() { - console.log("USAGE: zksync-cli localnet "); - console.log(""); - console.log("Manage local L1 and L2 chains"); - console.log(""); - console.log("Available operations"); - console.log(' up -- Bootstrap L1 and L2 localnets'); - console.log(' down -- clear L1 and L2 localnets'); - console.log(' start -- start L1 and L2 localnets'); - console.log(' stop -- stop L1 and L2 localnets'); - console.log(' logs -- Display logs'); - console.log(' help -- Display this message and quit'); - console.log(' wallets -- Display seeded wallet keys'); - return 0; -} -function handleUndefinedOperation() { - console.error("No operation provided"); - help(); - return 1; -} -function handleInvalidOperation(operationName) { - const validOperationNames = Array.from(operationHandlers.keys()); - console.error('Invalid operation: ', operationName); - help(); - return 1; -} -const operationHandlers = new Map([ - ['up', up], - ['down', down], - ['start', start], - ['stop', stop], - ['logs', logs], - ['help', help], - ['wallets', wallets], - [undefined, handleUndefinedOperation], -]); -function default_1(operationName) { - return __awaiter(this, void 0, void 0, function* () { - const handler = operationHandlers.get(operationName) || (() => handleInvalidOperation(operationName)); - process.exit(handler()); - }); -} -exports.default = default_1; From f2a9ecf73a094486f044c9c612ad25bd27f828cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 13:49:15 -0300 Subject: [PATCH 14/21] Fix pkg version --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 3c8c330f..e1a7d657 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "zksync-cli", - "version": "0.1.4", + "version": "0.2.3", "lockfileVersion": 3, "requires": true, "packages": { From 724a224a37ae7586bbc2a06d45669feb696547be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20Centeno?= Date: Mon, 4 Sep 2023 13:52:02 -0300 Subject: [PATCH 15/21] Replace zksync 2.0 with Era for branding consistency Co-authored-by: Nicolas Villanueva --- README.md | 2 +- src/help.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 016704bc..cd9f55d5 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ You can install this program globally with `npm i -g zksync-cli` or run the comm > Both deposit and withdraw might take a couple of minutes to complete. -- `zksync-cli localnet`: Manages a local zkSync 2.0 and Ethereum L1 testnet (it requires docker running on your system). It supports a set of sub-subcommands: +- `zksync-cli localnet`: Manages a local zkSync Era and Ethereum L1 testnet (it requires docker running on your system). It supports a set of sub-subcommands: - `zksync-cli localnet up`: Bootstrap L1 and L2 localnets. - `zksync-cli localnet down`: clear L1 and L2 localnets. - `zksync-cli localnet start`: start L1 and L2 localnets. diff --git a/src/help.ts b/src/help.ts index cfb10fed..e3a9dc50 100644 --- a/src/help.ts +++ b/src/help.ts @@ -27,7 +27,7 @@ export default async function () { ); console.log(chalk.greenBright(`localnet`)); console.log( - `Manages a local zkSync 2.0 and Ethereum L1 testnet. Run zksync-cli localnet test for a list of supported operations.` + `Manages a local zkSync Era and Ethereum L1 testnet. Run "zksync-cli localnet help" for a list of supported operations.` ); // Exit the process From 21ea0bbe693af7ddb2b491cc33eb1c649b21b29f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 14:45:54 -0300 Subject: [PATCH 16/21] Update package lock --- package-lock.json | 262 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 261 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 38e44385..39edd6c7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7071,16 +7071,19 @@ }, "node_modules/npm/node_modules/@gar/promisify": { "version": "1.1.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { "version": "2.9.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7126,11 +7129,13 @@ }, "node_modules/npm/node_modules/@npmcli/ci-detect": { "version": "1.3.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/config": { "version": "2.3.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7146,6 +7151,7 @@ }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7157,6 +7163,7 @@ }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7166,6 +7173,7 @@ }, "node_modules/npm/node_modules/@npmcli/git": { "version": "2.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7181,6 +7189,7 @@ }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { "version": "1.0.7", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7196,6 +7205,7 @@ }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7210,6 +7220,7 @@ }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { "version": "1.1.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7220,6 +7231,7 @@ }, "node_modules/npm/node_modules/@npmcli/move-file": { "version": "1.1.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7232,16 +7244,19 @@ }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/node-gyp": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/package-json": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7250,6 +7265,7 @@ }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { "version": "1.3.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7258,6 +7274,7 @@ }, "node_modules/npm/node_modules/@npmcli/run-script": { "version": "1.8.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7269,6 +7286,7 @@ }, "node_modules/npm/node_modules/@tootallnate/once": { "version": "1.1.2", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7277,11 +7295,13 @@ }, "node_modules/npm/node_modules/abbrev": { "version": "1.1.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/agent-base": { "version": "6.0.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7293,6 +7313,7 @@ }, "node_modules/npm/node_modules/agentkeepalive": { "version": "4.1.4", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7306,6 +7327,7 @@ }, "node_modules/npm/node_modules/aggregate-error": { "version": "3.1.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7318,6 +7340,7 @@ }, "node_modules/npm/node_modules/ajv": { "version": "6.12.6", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7333,6 +7356,7 @@ }, "node_modules/npm/node_modules/ansi-regex": { "version": "2.1.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7341,6 +7365,7 @@ }, "node_modules/npm/node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7355,26 +7380,31 @@ }, "node_modules/npm/node_modules/ansicolors": { "version": "0.3.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/ansistyles": { "version": "0.1.3", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { "version": "1.1.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7387,11 +7417,13 @@ }, "node_modules/npm/node_modules/asap": { "version": "2.0.6", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/asn1": { "version": "0.2.4", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7400,6 +7432,7 @@ }, "node_modules/npm/node_modules/assert-plus": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7408,11 +7441,13 @@ }, "node_modules/npm/node_modules/asynckit": { "version": "0.4.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/aws-sign2": { "version": "0.7.0", + "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { @@ -7421,16 +7456,19 @@ }, "node_modules/npm/node_modules/aws4": { "version": "1.11.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/bcrypt-pbkdf": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "BSD-3-Clause", "dependencies": { @@ -7439,6 +7477,7 @@ }, "node_modules/npm/node_modules/bin-links": { "version": "2.2.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7455,6 +7494,7 @@ }, "node_modules/npm/node_modules/binary-extensions": { "version": "2.2.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7463,6 +7503,7 @@ }, "node_modules/npm/node_modules/brace-expansion": { "version": "1.1.11", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7472,11 +7513,13 @@ }, "node_modules/npm/node_modules/builtins": { "version": "1.0.3", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/cacache": { "version": "15.3.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7505,11 +7548,13 @@ }, "node_modules/npm/node_modules/caseless": { "version": "0.12.0", + "dev": true, "inBundle": true, "license": "Apache-2.0" }, "node_modules/npm/node_modules/chalk": { "version": "4.1.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7525,6 +7570,7 @@ }, "node_modules/npm/node_modules/chownr": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -7533,6 +7579,7 @@ }, "node_modules/npm/node_modules/cidr-regex": { "version": "3.1.1", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -7544,6 +7591,7 @@ }, "node_modules/npm/node_modules/clean-stack": { "version": "2.2.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7552,6 +7600,7 @@ }, "node_modules/npm/node_modules/cli-columns": { "version": "3.1.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7564,6 +7613,7 @@ }, "node_modules/npm/node_modules/cli-table3": { "version": "0.6.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7579,6 +7629,7 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7587,6 +7638,7 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7595,6 +7647,7 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/string-width": { "version": "4.2.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7608,6 +7661,7 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi": { "version": "6.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7619,6 +7673,7 @@ }, "node_modules/npm/node_modules/clone": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7627,6 +7682,7 @@ }, "node_modules/npm/node_modules/cmd-shim": { "version": "4.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7638,6 +7694,7 @@ }, "node_modules/npm/node_modules/code-point-at": { "version": "1.1.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7646,6 +7703,7 @@ }, "node_modules/npm/node_modules/color-convert": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7657,11 +7715,13 @@ }, "node_modules/npm/node_modules/color-name": { "version": "1.1.4", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/color-support": { "version": "1.1.3", + "dev": true, "inBundle": true, "license": "ISC", "bin": { @@ -7670,14 +7730,17 @@ }, "node_modules/npm/node_modules/colors": { "version": "1.4.0", + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=0.1.90" } }, "node_modules/npm/node_modules/columnify": { "version": "1.5.4", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7687,6 +7750,7 @@ }, "node_modules/npm/node_modules/combined-stream": { "version": "1.0.8", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7698,26 +7762,31 @@ }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/concat-map": { "version": "0.0.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/console-control-strings": { "version": "1.1.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/core-util-is": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/dashdash": { "version": "1.14.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7729,6 +7798,7 @@ }, "node_modules/npm/node_modules/debug": { "version": "4.3.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7745,11 +7815,13 @@ }, "node_modules/npm/node_modules/debug/node_modules/ms": { "version": "2.1.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/debuglog": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7758,6 +7830,7 @@ }, "node_modules/npm/node_modules/defaults": { "version": "1.0.3", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7766,6 +7839,7 @@ }, "node_modules/npm/node_modules/delayed-stream": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7774,11 +7848,13 @@ }, "node_modules/npm/node_modules/delegates": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/depd": { "version": "1.1.2", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7787,6 +7863,7 @@ }, "node_modules/npm/node_modules/dezalgo": { "version": "1.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7796,6 +7873,7 @@ }, "node_modules/npm/node_modules/diff": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -7804,6 +7882,7 @@ }, "node_modules/npm/node_modules/ecc-jsbn": { "version": "0.1.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7813,19 +7892,23 @@ }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/npm/node_modules/env-paths": { "version": "2.2.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7834,16 +7917,19 @@ }, "node_modules/npm/node_modules/err-code": { "version": "2.0.3", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/extend": { "version": "3.0.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/extsprintf": { "version": "1.3.0", + "dev": true, "engines": [ "node >=0.6.0" ], @@ -7852,21 +7938,25 @@ }, "node_modules/npm/node_modules/fast-deep-equal": { "version": "3.1.3", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/fast-json-stable-stringify": { "version": "2.1.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.12", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/forever-agent": { "version": "0.6.1", + "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { @@ -7875,6 +7965,7 @@ }, "node_modules/npm/node_modules/fs-minipass": { "version": "2.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7886,16 +7977,19 @@ }, "node_modules/npm/node_modules/fs.realpath": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/function-bind": { "version": "1.1.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/gauge": { "version": "3.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7915,6 +8009,7 @@ }, "node_modules/npm/node_modules/getpass": { "version": "0.1.7", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7923,6 +8018,7 @@ }, "node_modules/npm/node_modules/glob": { "version": "7.2.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7942,11 +8038,13 @@ }, "node_modules/npm/node_modules/graceful-fs": { "version": "4.2.8", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/har-schema": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -7955,6 +8053,7 @@ }, "node_modules/npm/node_modules/har-validator": { "version": "5.1.5", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7967,6 +8066,7 @@ }, "node_modules/npm/node_modules/has": { "version": "1.0.3", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7978,6 +8078,7 @@ }, "node_modules/npm/node_modules/has-flag": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7986,11 +8087,13 @@ }, "node_modules/npm/node_modules/has-unicode": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { "version": "4.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8002,11 +8105,13 @@ }, "node_modules/npm/node_modules/http-cache-semantics": { "version": "4.1.0", + "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "4.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8020,6 +8125,7 @@ }, "node_modules/npm/node_modules/http-signature": { "version": "1.2.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8034,6 +8140,7 @@ }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8046,6 +8153,7 @@ }, "node_modules/npm/node_modules/humanize-ms": { "version": "1.2.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8054,8 +8162,10 @@ }, "node_modules/npm/node_modules/iconv-lite": { "version": "0.6.3", + "dev": true, "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -8065,6 +8175,7 @@ }, "node_modules/npm/node_modules/ignore-walk": { "version": "3.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8073,6 +8184,7 @@ }, "node_modules/npm/node_modules/imurmurhash": { "version": "0.1.4", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8081,6 +8193,7 @@ }, "node_modules/npm/node_modules/indent-string": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8089,11 +8202,13 @@ }, "node_modules/npm/node_modules/infer-owner": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/inflight": { "version": "1.0.6", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8103,11 +8218,13 @@ }, "node_modules/npm/node_modules/inherits": { "version": "2.0.4", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/ini": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -8116,6 +8233,7 @@ }, "node_modules/npm/node_modules/init-package-json": { "version": "2.0.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8133,11 +8251,13 @@ }, "node_modules/npm/node_modules/ip": { "version": "1.1.5", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/ip-regex": { "version": "4.3.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8146,6 +8266,7 @@ }, "node_modules/npm/node_modules/is-cidr": { "version": "4.0.2", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -8157,6 +8278,7 @@ }, "node_modules/npm/node_modules/is-core-module": { "version": "2.7.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8168,6 +8290,7 @@ }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8176,45 +8299,54 @@ }, "node_modules/npm/node_modules/is-lambda": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/is-typedarray": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/isstream": { "version": "0.1.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/jsbn": { "version": "0.1.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "2.3.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-schema": { "version": "0.2.3", + "dev": true, "inBundle": true }, "node_modules/npm/node_modules/json-schema-traverse": { "version": "0.4.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", + "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -8223,11 +8355,13 @@ }, "node_modules/npm/node_modules/json-stringify-safe": { "version": "5.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/jsonparse": { "version": "1.3.1", + "dev": true, "engines": [ "node >= 0.2.0" ], @@ -8236,6 +8370,7 @@ }, "node_modules/npm/node_modules/jsprim": { "version": "1.4.1", + "dev": true, "engines": [ "node >=0.6.0" ], @@ -8250,16 +8385,19 @@ }, "node_modules/npm/node_modules/just-diff": { "version": "3.1.1", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { "version": "4.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8274,6 +8412,7 @@ }, "node_modules/npm/node_modules/libnpmdiff": { "version": "2.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8292,6 +8431,7 @@ }, "node_modules/npm/node_modules/libnpmexec": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8313,6 +8453,7 @@ }, "node_modules/npm/node_modules/libnpmfund": { "version": "1.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8321,6 +8462,7 @@ }, "node_modules/npm/node_modules/libnpmhook": { "version": "6.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8333,6 +8475,7 @@ }, "node_modules/npm/node_modules/libnpmorg": { "version": "2.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8345,6 +8488,7 @@ }, "node_modules/npm/node_modules/libnpmpack": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8358,6 +8502,7 @@ }, "node_modules/npm/node_modules/libnpmpublish": { "version": "4.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8373,6 +8518,7 @@ }, "node_modules/npm/node_modules/libnpmsearch": { "version": "3.1.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8384,6 +8530,7 @@ }, "node_modules/npm/node_modules/libnpmteam": { "version": "2.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8396,6 +8543,7 @@ }, "node_modules/npm/node_modules/libnpmversion": { "version": "1.2.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8408,6 +8556,7 @@ }, "node_modules/npm/node_modules/lru-cache": { "version": "6.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8419,6 +8568,7 @@ }, "node_modules/npm/node_modules/make-fetch-happen": { "version": "9.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8445,6 +8595,7 @@ }, "node_modules/npm/node_modules/mime-db": { "version": "1.49.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8453,6 +8604,7 @@ }, "node_modules/npm/node_modules/mime-types": { "version": "2.1.32", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8464,6 +8616,7 @@ }, "node_modules/npm/node_modules/minimatch": { "version": "3.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8475,6 +8628,7 @@ }, "node_modules/npm/node_modules/minipass": { "version": "3.1.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8486,6 +8640,7 @@ }, "node_modules/npm/node_modules/minipass-collect": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8497,6 +8652,7 @@ }, "node_modules/npm/node_modules/minipass-fetch": { "version": "1.4.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8513,6 +8669,7 @@ }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8524,6 +8681,7 @@ }, "node_modules/npm/node_modules/minipass-json-stream": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8533,6 +8691,7 @@ }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8544,6 +8703,7 @@ }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8555,6 +8715,7 @@ }, "node_modules/npm/node_modules/minizlib": { "version": "2.1.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8567,6 +8728,7 @@ }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -8578,6 +8740,7 @@ }, "node_modules/npm/node_modules/mkdirp-infer-owner": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8591,16 +8754,19 @@ }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { "version": "0.0.8", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/negotiator": { "version": "0.6.2", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8609,6 +8775,7 @@ }, "node_modules/npm/node_modules/node-gyp": { "version": "7.1.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8632,11 +8799,13 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/aproba": { "version": "1.2.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { "version": "2.7.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8652,6 +8821,7 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/is-fullwidth-code-point": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8663,6 +8833,7 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { "version": "4.1.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8674,6 +8845,7 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/string-width": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8687,6 +8859,7 @@ }, "node_modules/npm/node_modules/nopt": { "version": "5.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8701,6 +8874,7 @@ }, "node_modules/npm/node_modules/normalize-package-data": { "version": "3.0.3", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -8715,6 +8889,7 @@ }, "node_modules/npm/node_modules/npm-audit-report": { "version": "2.1.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8726,6 +8901,7 @@ }, "node_modules/npm/node_modules/npm-bundled": { "version": "1.1.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8734,6 +8910,7 @@ }, "node_modules/npm/node_modules/npm-install-checks": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -8745,11 +8922,13 @@ }, "node_modules/npm/node_modules/npm-normalize-package-bin": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/npm-package-arg": { "version": "8.1.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8763,6 +8942,7 @@ }, "node_modules/npm/node_modules/npm-packlist": { "version": "2.2.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8780,6 +8960,7 @@ }, "node_modules/npm/node_modules/npm-pick-manifest": { "version": "6.1.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8791,6 +8972,7 @@ }, "node_modules/npm/node_modules/npm-profile": { "version": "5.0.4", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8802,6 +8984,7 @@ }, "node_modules/npm/node_modules/npm-registry-fetch": { "version": "11.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8818,11 +9001,13 @@ }, "node_modules/npm/node_modules/npm-user-validate": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/npmlog": { "version": "5.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8834,6 +9019,7 @@ }, "node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8846,6 +9032,7 @@ }, "node_modules/npm/node_modules/number-is-nan": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8854,6 +9041,7 @@ }, "node_modules/npm/node_modules/oauth-sign": { "version": "0.9.0", + "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { @@ -8862,6 +9050,7 @@ }, "node_modules/npm/node_modules/object-assign": { "version": "4.1.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8870,6 +9059,7 @@ }, "node_modules/npm/node_modules/once": { "version": "1.4.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8878,6 +9068,7 @@ }, "node_modules/npm/node_modules/opener": { "version": "1.5.2", + "dev": true, "inBundle": true, "license": "(WTFPL OR MIT)", "bin": { @@ -8886,6 +9077,7 @@ }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8900,6 +9092,7 @@ }, "node_modules/npm/node_modules/pacote": { "version": "11.3.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8932,6 +9125,7 @@ }, "node_modules/npm/node_modules/parse-conflict-json": { "version": "1.1.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8942,6 +9136,7 @@ }, "node_modules/npm/node_modules/path-is-absolute": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8950,16 +9145,19 @@ }, "node_modules/npm/node_modules/performance-now": { "version": "2.1.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/proc-log": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -8968,6 +9166,7 @@ }, "node_modules/npm/node_modules/promise-call-limit": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -8976,11 +9175,13 @@ }, "node_modules/npm/node_modules/promise-inflight": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8993,6 +9194,7 @@ }, "node_modules/npm/node_modules/promzard": { "version": "0.3.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9001,11 +9203,13 @@ }, "node_modules/npm/node_modules/psl": { "version": "1.8.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/punycode": { "version": "2.1.1", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9014,6 +9218,7 @@ }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", + "dev": true, "inBundle": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" @@ -9021,6 +9226,7 @@ }, "node_modules/npm/node_modules/qs": { "version": "6.5.2", + "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -9029,6 +9235,7 @@ }, "node_modules/npm/node_modules/read": { "version": "1.0.7", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9040,11 +9247,13 @@ }, "node_modules/npm/node_modules/read-cmd-shim": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/read-package-json": { "version": "4.1.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9059,6 +9268,7 @@ }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "2.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9071,6 +9281,7 @@ }, "node_modules/npm/node_modules/readable-stream": { "version": "3.6.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9084,6 +9295,7 @@ }, "node_modules/npm/node_modules/readdir-scoped-modules": { "version": "1.1.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9095,6 +9307,7 @@ }, "node_modules/npm/node_modules/request": { "version": "2.88.2", + "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9125,6 +9338,7 @@ }, "node_modules/npm/node_modules/request/node_modules/form-data": { "version": "2.3.3", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9138,6 +9352,7 @@ }, "node_modules/npm/node_modules/request/node_modules/tough-cookie": { "version": "2.5.0", + "dev": true, "inBundle": true, "license": "BSD-3-Clause", "dependencies": { @@ -9150,6 +9365,7 @@ }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9158,6 +9374,7 @@ }, "node_modules/npm/node_modules/rimraf": { "version": "3.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9172,6 +9389,7 @@ }, "node_modules/npm/node_modules/safe-buffer": { "version": "5.2.1", + "dev": true, "funding": [ { "type": "github", @@ -9191,11 +9409,13 @@ }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/semver": { "version": "7.3.5", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9210,16 +9430,19 @@ }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/signal-exit": { "version": "3.0.3", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/smart-buffer": { "version": "4.2.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9229,6 +9452,7 @@ }, "node_modules/npm/node_modules/socks": { "version": "2.6.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9242,6 +9466,7 @@ }, "node_modules/npm/node_modules/socks-proxy-agent": { "version": "6.1.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9255,6 +9480,7 @@ }, "node_modules/npm/node_modules/spdx-correct": { "version": "3.1.1", + "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9264,11 +9490,13 @@ }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.3.0", + "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "3.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9278,11 +9506,13 @@ }, "node_modules/npm/node_modules/spdx-license-ids": { "version": "3.0.10", + "dev": true, "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/sshpk": { "version": "1.16.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9307,6 +9537,7 @@ }, "node_modules/npm/node_modules/ssri": { "version": "8.0.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9318,6 +9549,7 @@ }, "node_modules/npm/node_modules/string_decoder": { "version": "1.3.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9326,6 +9558,7 @@ }, "node_modules/npm/node_modules/string-width": { "version": "2.1.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9338,6 +9571,7 @@ }, "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9346,6 +9580,7 @@ }, "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9357,11 +9592,13 @@ }, "node_modules/npm/node_modules/stringify-package": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/strip-ansi": { "version": "3.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9373,6 +9610,7 @@ }, "node_modules/npm/node_modules/supports-color": { "version": "7.2.0", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9384,6 +9622,7 @@ }, "node_modules/npm/node_modules/tar": { "version": "6.1.11", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9400,21 +9639,25 @@ }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { "version": "1.0.4", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/tunnel-agent": { "version": "0.6.0", + "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9426,11 +9669,13 @@ }, "node_modules/npm/node_modules/tweetnacl": { "version": "0.14.5", + "dev": true, "inBundle": true, "license": "Unlicense" }, "node_modules/npm/node_modules/typedarray-to-buffer": { "version": "3.1.5", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9439,6 +9684,7 @@ }, "node_modules/npm/node_modules/unique-filename": { "version": "1.1.1", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9447,6 +9693,7 @@ }, "node_modules/npm/node_modules/unique-slug": { "version": "2.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9455,6 +9702,7 @@ }, "node_modules/npm/node_modules/uri-js": { "version": "4.4.1", + "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -9463,11 +9711,13 @@ }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/uuid": { "version": "3.4.0", + "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -9476,6 +9726,7 @@ }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", + "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9485,6 +9736,7 @@ }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "3.0.0", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9493,6 +9745,7 @@ }, "node_modules/npm/node_modules/verror": { "version": "1.10.0", + "dev": true, "engines": [ "node >=0.6.0" ], @@ -9506,11 +9759,13 @@ }, "node_modules/npm/node_modules/walk-up-path": { "version": "1.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/wcwidth": { "version": "1.0.1", + "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9519,6 +9774,7 @@ }, "node_modules/npm/node_modules/which": { "version": "2.0.2", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9533,6 +9789,7 @@ }, "node_modules/npm/node_modules/wide-align": { "version": "1.1.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9541,11 +9798,13 @@ }, "node_modules/npm/node_modules/wrappy": { "version": "1.0.2", + "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { "version": "3.0.3", + "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9557,6 +9816,7 @@ }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", + "dev": true, "inBundle": true, "license": "ISC" }, @@ -12068,4 +12328,4 @@ } } } -} \ No newline at end of file +} From fbd18ed34d18001e70225d59f965b5be0ba1a5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 14:47:15 -0300 Subject: [PATCH 17/21] Revert "Update package lock" This reverts commit 21ea0bbe693af7ddb2b491cc33eb1c649b21b29f. --- package-lock.json | 262 +--------------------------------------------- 1 file changed, 1 insertion(+), 261 deletions(-) diff --git a/package-lock.json b/package-lock.json index 39edd6c7..38e44385 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7071,19 +7071,16 @@ }, "node_modules/npm/node_modules/@gar/promisify": { "version": "1.1.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/arborist": { "version": "2.9.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7129,13 +7126,11 @@ }, "node_modules/npm/node_modules/@npmcli/ci-detect": { "version": "1.3.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/config": { "version": "2.3.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7151,7 +7146,6 @@ }, "node_modules/npm/node_modules/@npmcli/disparity-colors": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7163,7 +7157,6 @@ }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7173,7 +7166,6 @@ }, "node_modules/npm/node_modules/@npmcli/git": { "version": "2.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7189,7 +7181,6 @@ }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { "version": "1.0.7", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7205,7 +7196,6 @@ }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7220,7 +7210,6 @@ }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7231,7 +7220,6 @@ }, "node_modules/npm/node_modules/@npmcli/move-file": { "version": "1.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7244,19 +7232,16 @@ }, "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/node-gyp": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/package-json": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7265,7 +7250,6 @@ }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { "version": "1.3.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7274,7 +7258,6 @@ }, "node_modules/npm/node_modules/@npmcli/run-script": { "version": "1.8.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7286,7 +7269,6 @@ }, "node_modules/npm/node_modules/@tootallnate/once": { "version": "1.1.2", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7295,13 +7277,11 @@ }, "node_modules/npm/node_modules/abbrev": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/agent-base": { "version": "6.0.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7313,7 +7293,6 @@ }, "node_modules/npm/node_modules/agentkeepalive": { "version": "4.1.4", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7327,7 +7306,6 @@ }, "node_modules/npm/node_modules/aggregate-error": { "version": "3.1.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7340,7 +7318,6 @@ }, "node_modules/npm/node_modules/ajv": { "version": "6.12.6", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7356,7 +7333,6 @@ }, "node_modules/npm/node_modules/ansi-regex": { "version": "2.1.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7365,7 +7341,6 @@ }, "node_modules/npm/node_modules/ansi-styles": { "version": "4.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7380,31 +7355,26 @@ }, "node_modules/npm/node_modules/ansicolors": { "version": "0.3.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/ansistyles": { "version": "0.1.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/aproba": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/are-we-there-yet": { "version": "1.1.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7417,13 +7387,11 @@ }, "node_modules/npm/node_modules/asap": { "version": "2.0.6", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/asn1": { "version": "0.2.4", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7432,7 +7400,6 @@ }, "node_modules/npm/node_modules/assert-plus": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7441,13 +7408,11 @@ }, "node_modules/npm/node_modules/asynckit": { "version": "0.4.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/aws-sign2": { "version": "0.7.0", - "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { @@ -7456,19 +7421,16 @@ }, "node_modules/npm/node_modules/aws4": { "version": "1.11.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/bcrypt-pbkdf": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "BSD-3-Clause", "dependencies": { @@ -7477,7 +7439,6 @@ }, "node_modules/npm/node_modules/bin-links": { "version": "2.2.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7494,7 +7455,6 @@ }, "node_modules/npm/node_modules/binary-extensions": { "version": "2.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7503,7 +7463,6 @@ }, "node_modules/npm/node_modules/brace-expansion": { "version": "1.1.11", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7513,13 +7472,11 @@ }, "node_modules/npm/node_modules/builtins": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/cacache": { "version": "15.3.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7548,13 +7505,11 @@ }, "node_modules/npm/node_modules/caseless": { "version": "0.12.0", - "dev": true, "inBundle": true, "license": "Apache-2.0" }, "node_modules/npm/node_modules/chalk": { "version": "4.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7570,7 +7525,6 @@ }, "node_modules/npm/node_modules/chownr": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -7579,7 +7533,6 @@ }, "node_modules/npm/node_modules/cidr-regex": { "version": "3.1.1", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -7591,7 +7544,6 @@ }, "node_modules/npm/node_modules/clean-stack": { "version": "2.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7600,7 +7552,6 @@ }, "node_modules/npm/node_modules/cli-columns": { "version": "3.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7613,7 +7564,6 @@ }, "node_modules/npm/node_modules/cli-table3": { "version": "0.6.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7629,7 +7579,6 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/ansi-regex": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7638,7 +7587,6 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7647,7 +7595,6 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/string-width": { "version": "4.2.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7661,7 +7608,6 @@ }, "node_modules/npm/node_modules/cli-table3/node_modules/strip-ansi": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7673,7 +7619,6 @@ }, "node_modules/npm/node_modules/clone": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7682,7 +7627,6 @@ }, "node_modules/npm/node_modules/cmd-shim": { "version": "4.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7694,7 +7638,6 @@ }, "node_modules/npm/node_modules/code-point-at": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7703,7 +7646,6 @@ }, "node_modules/npm/node_modules/color-convert": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7715,13 +7657,11 @@ }, "node_modules/npm/node_modules/color-name": { "version": "1.1.4", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/color-support": { "version": "1.1.3", - "dev": true, "inBundle": true, "license": "ISC", "bin": { @@ -7730,17 +7670,14 @@ }, "node_modules/npm/node_modules/colors": { "version": "1.4.0", - "dev": true, "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=0.1.90" } }, "node_modules/npm/node_modules/columnify": { "version": "1.5.4", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7750,7 +7687,6 @@ }, "node_modules/npm/node_modules/combined-stream": { "version": "1.0.8", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7762,31 +7698,26 @@ }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/concat-map": { "version": "0.0.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/console-control-strings": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/core-util-is": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/dashdash": { "version": "1.14.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7798,7 +7729,6 @@ }, "node_modules/npm/node_modules/debug": { "version": "4.3.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7815,13 +7745,11 @@ }, "node_modules/npm/node_modules/debug/node_modules/ms": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/debuglog": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7830,7 +7758,6 @@ }, "node_modules/npm/node_modules/defaults": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7839,7 +7766,6 @@ }, "node_modules/npm/node_modules/delayed-stream": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7848,13 +7774,11 @@ }, "node_modules/npm/node_modules/delegates": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/depd": { "version": "1.1.2", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7863,7 +7787,6 @@ }, "node_modules/npm/node_modules/dezalgo": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7873,7 +7796,6 @@ }, "node_modules/npm/node_modules/diff": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -7882,7 +7804,6 @@ }, "node_modules/npm/node_modules/ecc-jsbn": { "version": "0.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -7892,23 +7813,19 @@ }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", - "dev": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "iconv-lite": "^0.6.2" } }, "node_modules/npm/node_modules/env-paths": { "version": "2.2.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -7917,19 +7834,16 @@ }, "node_modules/npm/node_modules/err-code": { "version": "2.0.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/extend": { "version": "3.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/extsprintf": { "version": "1.3.0", - "dev": true, "engines": [ "node >=0.6.0" ], @@ -7938,25 +7852,21 @@ }, "node_modules/npm/node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.12", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/forever-agent": { "version": "0.6.1", - "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { @@ -7965,7 +7875,6 @@ }, "node_modules/npm/node_modules/fs-minipass": { "version": "2.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -7977,19 +7886,16 @@ }, "node_modules/npm/node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/function-bind": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/gauge": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8009,7 +7915,6 @@ }, "node_modules/npm/node_modules/getpass": { "version": "0.1.7", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8018,7 +7923,6 @@ }, "node_modules/npm/node_modules/glob": { "version": "7.2.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8038,13 +7942,11 @@ }, "node_modules/npm/node_modules/graceful-fs": { "version": "4.2.8", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/har-schema": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -8053,7 +7955,6 @@ }, "node_modules/npm/node_modules/har-validator": { "version": "5.1.5", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8066,7 +7967,6 @@ }, "node_modules/npm/node_modules/has": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8078,7 +7978,6 @@ }, "node_modules/npm/node_modules/has-flag": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8087,13 +7986,11 @@ }, "node_modules/npm/node_modules/has-unicode": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { "version": "4.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8105,13 +8002,11 @@ }, "node_modules/npm/node_modules/http-cache-semantics": { "version": "4.1.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "4.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8125,7 +8020,6 @@ }, "node_modules/npm/node_modules/http-signature": { "version": "1.2.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8140,7 +8034,6 @@ }, "node_modules/npm/node_modules/https-proxy-agent": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8153,7 +8046,6 @@ }, "node_modules/npm/node_modules/humanize-ms": { "version": "1.2.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8162,10 +8054,8 @@ }, "node_modules/npm/node_modules/iconv-lite": { "version": "0.6.3", - "dev": true, "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -8175,7 +8065,6 @@ }, "node_modules/npm/node_modules/ignore-walk": { "version": "3.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8184,7 +8073,6 @@ }, "node_modules/npm/node_modules/imurmurhash": { "version": "0.1.4", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8193,7 +8081,6 @@ }, "node_modules/npm/node_modules/indent-string": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8202,13 +8089,11 @@ }, "node_modules/npm/node_modules/infer-owner": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/inflight": { "version": "1.0.6", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8218,13 +8103,11 @@ }, "node_modules/npm/node_modules/inherits": { "version": "2.0.4", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/ini": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "engines": { @@ -8233,7 +8116,6 @@ }, "node_modules/npm/node_modules/init-package-json": { "version": "2.0.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8251,13 +8133,11 @@ }, "node_modules/npm/node_modules/ip": { "version": "1.1.5", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/ip-regex": { "version": "4.3.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8266,7 +8146,6 @@ }, "node_modules/npm/node_modules/is-cidr": { "version": "4.0.2", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -8278,7 +8157,6 @@ }, "node_modules/npm/node_modules/is-core-module": { "version": "2.7.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8290,7 +8168,6 @@ }, "node_modules/npm/node_modules/is-fullwidth-code-point": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8299,54 +8176,45 @@ }, "node_modules/npm/node_modules/is-lambda": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/is-typedarray": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/isstream": { "version": "0.1.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/jsbn": { "version": "0.1.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-schema": { "version": "0.2.3", - "dev": true, "inBundle": true }, "node_modules/npm/node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/json-stringify-nice": { "version": "1.1.4", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -8355,13 +8223,11 @@ }, "node_modules/npm/node_modules/json-stringify-safe": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/jsonparse": { "version": "1.3.1", - "dev": true, "engines": [ "node >= 0.2.0" ], @@ -8370,7 +8236,6 @@ }, "node_modules/npm/node_modules/jsprim": { "version": "1.4.1", - "dev": true, "engines": [ "node >=0.6.0" ], @@ -8385,19 +8250,16 @@ }, "node_modules/npm/node_modules/just-diff": { "version": "3.1.1", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { "version": "4.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8412,7 +8274,6 @@ }, "node_modules/npm/node_modules/libnpmdiff": { "version": "2.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8431,7 +8292,6 @@ }, "node_modules/npm/node_modules/libnpmexec": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8453,7 +8313,6 @@ }, "node_modules/npm/node_modules/libnpmfund": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8462,7 +8321,6 @@ }, "node_modules/npm/node_modules/libnpmhook": { "version": "6.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8475,7 +8333,6 @@ }, "node_modules/npm/node_modules/libnpmorg": { "version": "2.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8488,7 +8345,6 @@ }, "node_modules/npm/node_modules/libnpmpack": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8502,7 +8358,6 @@ }, "node_modules/npm/node_modules/libnpmpublish": { "version": "4.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8518,7 +8373,6 @@ }, "node_modules/npm/node_modules/libnpmsearch": { "version": "3.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8530,7 +8384,6 @@ }, "node_modules/npm/node_modules/libnpmteam": { "version": "2.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8543,7 +8396,6 @@ }, "node_modules/npm/node_modules/libnpmversion": { "version": "1.2.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8556,7 +8408,6 @@ }, "node_modules/npm/node_modules/lru-cache": { "version": "6.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8568,7 +8419,6 @@ }, "node_modules/npm/node_modules/make-fetch-happen": { "version": "9.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8595,7 +8445,6 @@ }, "node_modules/npm/node_modules/mime-db": { "version": "1.49.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8604,7 +8453,6 @@ }, "node_modules/npm/node_modules/mime-types": { "version": "2.1.32", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8616,7 +8464,6 @@ }, "node_modules/npm/node_modules/minimatch": { "version": "3.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8628,7 +8475,6 @@ }, "node_modules/npm/node_modules/minipass": { "version": "3.1.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8640,7 +8486,6 @@ }, "node_modules/npm/node_modules/minipass-collect": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8652,7 +8497,6 @@ }, "node_modules/npm/node_modules/minipass-fetch": { "version": "1.4.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8669,7 +8513,6 @@ }, "node_modules/npm/node_modules/minipass-flush": { "version": "1.0.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8681,7 +8524,6 @@ }, "node_modules/npm/node_modules/minipass-json-stream": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8691,7 +8533,6 @@ }, "node_modules/npm/node_modules/minipass-pipeline": { "version": "1.2.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8703,7 +8544,6 @@ }, "node_modules/npm/node_modules/minipass-sized": { "version": "1.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8715,7 +8555,6 @@ }, "node_modules/npm/node_modules/minizlib": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8728,7 +8567,6 @@ }, "node_modules/npm/node_modules/mkdirp": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -8740,7 +8578,6 @@ }, "node_modules/npm/node_modules/mkdirp-infer-owner": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8754,19 +8591,16 @@ }, "node_modules/npm/node_modules/ms": { "version": "2.1.3", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { "version": "0.0.8", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/negotiator": { "version": "0.6.2", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -8775,7 +8609,6 @@ }, "node_modules/npm/node_modules/node-gyp": { "version": "7.1.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8799,13 +8632,11 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/aproba": { "version": "1.2.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/node-gyp/node_modules/gauge": { "version": "2.7.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8821,7 +8652,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/is-fullwidth-code-point": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8833,7 +8663,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/npmlog": { "version": "4.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8845,7 +8674,6 @@ }, "node_modules/npm/node_modules/node-gyp/node_modules/string-width": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -8859,7 +8687,6 @@ }, "node_modules/npm/node_modules/nopt": { "version": "5.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8874,7 +8701,6 @@ }, "node_modules/npm/node_modules/normalize-package-data": { "version": "3.0.3", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -8889,7 +8715,6 @@ }, "node_modules/npm/node_modules/npm-audit-report": { "version": "2.1.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8901,7 +8726,6 @@ }, "node_modules/npm/node_modules/npm-bundled": { "version": "1.1.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8910,7 +8734,6 @@ }, "node_modules/npm/node_modules/npm-install-checks": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -8922,13 +8745,11 @@ }, "node_modules/npm/node_modules/npm-normalize-package-bin": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/npm-package-arg": { "version": "8.1.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8942,7 +8763,6 @@ }, "node_modules/npm/node_modules/npm-packlist": { "version": "2.2.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8960,7 +8780,6 @@ }, "node_modules/npm/node_modules/npm-pick-manifest": { "version": "6.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8972,7 +8791,6 @@ }, "node_modules/npm/node_modules/npm-profile": { "version": "5.0.4", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -8984,7 +8802,6 @@ }, "node_modules/npm/node_modules/npm-registry-fetch": { "version": "11.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9001,13 +8818,11 @@ }, "node_modules/npm/node_modules/npm-user-validate": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/npmlog": { "version": "5.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9019,7 +8834,6 @@ }, "node_modules/npm/node_modules/npmlog/node_modules/are-we-there-yet": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9032,7 +8846,6 @@ }, "node_modules/npm/node_modules/number-is-nan": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9041,7 +8854,6 @@ }, "node_modules/npm/node_modules/oauth-sign": { "version": "0.9.0", - "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { @@ -9050,7 +8862,6 @@ }, "node_modules/npm/node_modules/object-assign": { "version": "4.1.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9059,7 +8870,6 @@ }, "node_modules/npm/node_modules/once": { "version": "1.4.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9068,7 +8878,6 @@ }, "node_modules/npm/node_modules/opener": { "version": "1.5.2", - "dev": true, "inBundle": true, "license": "(WTFPL OR MIT)", "bin": { @@ -9077,7 +8886,6 @@ }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9092,7 +8900,6 @@ }, "node_modules/npm/node_modules/pacote": { "version": "11.3.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9125,7 +8932,6 @@ }, "node_modules/npm/node_modules/parse-conflict-json": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9136,7 +8942,6 @@ }, "node_modules/npm/node_modules/path-is-absolute": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9145,19 +8950,16 @@ }, "node_modules/npm/node_modules/performance-now": { "version": "2.1.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/proc-log": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-all-reject-late": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -9166,7 +8968,6 @@ }, "node_modules/npm/node_modules/promise-call-limit": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC", "funding": { @@ -9175,13 +8976,11 @@ }, "node_modules/npm/node_modules/promise-inflight": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9194,7 +8993,6 @@ }, "node_modules/npm/node_modules/promzard": { "version": "0.3.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9203,13 +9001,11 @@ }, "node_modules/npm/node_modules/psl": { "version": "1.8.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/punycode": { "version": "2.1.1", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9218,7 +9014,6 @@ }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", - "dev": true, "inBundle": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" @@ -9226,7 +9021,6 @@ }, "node_modules/npm/node_modules/qs": { "version": "6.5.2", - "dev": true, "inBundle": true, "license": "BSD-3-Clause", "engines": { @@ -9235,7 +9029,6 @@ }, "node_modules/npm/node_modules/read": { "version": "1.0.7", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9247,13 +9040,11 @@ }, "node_modules/npm/node_modules/read-cmd-shim": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/read-package-json": { "version": "4.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9268,7 +9059,6 @@ }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "2.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9281,7 +9071,6 @@ }, "node_modules/npm/node_modules/readable-stream": { "version": "3.6.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9295,7 +9084,6 @@ }, "node_modules/npm/node_modules/readdir-scoped-modules": { "version": "1.1.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9307,7 +9095,6 @@ }, "node_modules/npm/node_modules/request": { "version": "2.88.2", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9338,7 +9125,6 @@ }, "node_modules/npm/node_modules/request/node_modules/form-data": { "version": "2.3.3", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9352,7 +9138,6 @@ }, "node_modules/npm/node_modules/request/node_modules/tough-cookie": { "version": "2.5.0", - "dev": true, "inBundle": true, "license": "BSD-3-Clause", "dependencies": { @@ -9365,7 +9150,6 @@ }, "node_modules/npm/node_modules/retry": { "version": "0.12.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9374,7 +9158,6 @@ }, "node_modules/npm/node_modules/rimraf": { "version": "3.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9389,7 +9172,6 @@ }, "node_modules/npm/node_modules/safe-buffer": { "version": "5.2.1", - "dev": true, "funding": [ { "type": "github", @@ -9409,13 +9191,11 @@ }, "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/semver": { "version": "7.3.5", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9430,19 +9210,16 @@ }, "node_modules/npm/node_modules/set-blocking": { "version": "2.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/signal-exit": { "version": "3.0.3", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/smart-buffer": { "version": "4.2.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9452,7 +9229,6 @@ }, "node_modules/npm/node_modules/socks": { "version": "2.6.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9466,7 +9242,6 @@ }, "node_modules/npm/node_modules/socks-proxy-agent": { "version": "6.1.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9480,7 +9255,6 @@ }, "node_modules/npm/node_modules/spdx-correct": { "version": "3.1.1", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9490,13 +9264,11 @@ }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, "inBundle": true, "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9506,13 +9278,11 @@ }, "node_modules/npm/node_modules/spdx-license-ids": { "version": "3.0.10", - "dev": true, "inBundle": true, "license": "CC0-1.0" }, "node_modules/npm/node_modules/sshpk": { "version": "1.16.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9537,7 +9307,6 @@ }, "node_modules/npm/node_modules/ssri": { "version": "8.0.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9549,7 +9318,6 @@ }, "node_modules/npm/node_modules/string_decoder": { "version": "1.3.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9558,7 +9326,6 @@ }, "node_modules/npm/node_modules/string-width": { "version": "2.1.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9571,7 +9338,6 @@ }, "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "MIT", "engines": { @@ -9580,7 +9346,6 @@ }, "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9592,13 +9357,11 @@ }, "node_modules/npm/node_modules/stringify-package": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/strip-ansi": { "version": "3.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9610,7 +9373,6 @@ }, "node_modules/npm/node_modules/supports-color": { "version": "7.2.0", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9622,7 +9384,6 @@ }, "node_modules/npm/node_modules/tar": { "version": "6.1.11", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9639,25 +9400,21 @@ }, "node_modules/npm/node_modules/text-table": { "version": "0.2.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/treeverse": { "version": "1.0.4", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/tunnel-agent": { "version": "0.6.0", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9669,13 +9426,11 @@ }, "node_modules/npm/node_modules/tweetnacl": { "version": "0.14.5", - "dev": true, "inBundle": true, "license": "Unlicense" }, "node_modules/npm/node_modules/typedarray-to-buffer": { "version": "3.1.5", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9684,7 +9439,6 @@ }, "node_modules/npm/node_modules/unique-filename": { "version": "1.1.1", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9693,7 +9447,6 @@ }, "node_modules/npm/node_modules/unique-slug": { "version": "2.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9702,7 +9455,6 @@ }, "node_modules/npm/node_modules/uri-js": { "version": "4.4.1", - "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { @@ -9711,13 +9463,11 @@ }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "MIT" }, "node_modules/npm/node_modules/uuid": { "version": "3.4.0", - "dev": true, "inBundle": true, "license": "MIT", "bin": { @@ -9726,7 +9476,6 @@ }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", - "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { @@ -9736,7 +9485,6 @@ }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "3.0.0", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9745,7 +9493,6 @@ }, "node_modules/npm/node_modules/verror": { "version": "1.10.0", - "dev": true, "engines": [ "node >=0.6.0" ], @@ -9759,13 +9506,11 @@ }, "node_modules/npm/node_modules/walk-up-path": { "version": "1.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/wcwidth": { "version": "1.0.1", - "dev": true, "inBundle": true, "license": "MIT", "dependencies": { @@ -9774,7 +9519,6 @@ }, "node_modules/npm/node_modules/which": { "version": "2.0.2", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9789,7 +9533,6 @@ }, "node_modules/npm/node_modules/wide-align": { "version": "1.1.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9798,13 +9541,11 @@ }, "node_modules/npm/node_modules/wrappy": { "version": "1.0.2", - "dev": true, "inBundle": true, "license": "ISC" }, "node_modules/npm/node_modules/write-file-atomic": { "version": "3.0.3", - "dev": true, "inBundle": true, "license": "ISC", "dependencies": { @@ -9816,7 +9557,6 @@ }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", - "dev": true, "inBundle": true, "license": "ISC" }, @@ -12328,4 +12068,4 @@ } } } -} +} \ No newline at end of file From ec6a3e83aadab25e7f9a505520d198d88635d493 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 14:48:30 -0300 Subject: [PATCH 18/21] Fix messing newline at end of file --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 38e44385..ae21fec1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12068,4 +12068,4 @@ } } } -} \ No newline at end of file +} From 04eaa91da44fb27698c2443b216c66f341e52639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 14:54:56 -0300 Subject: [PATCH 19/21] Address CI messages --- src/help.ts | 4 ++-- src/index.ts | 9 +++++---- src/localnet.ts | 1 - 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/help.ts b/src/help.ts index a46d068b..78b18cf6 100644 --- a/src/help.ts +++ b/src/help.ts @@ -24,9 +24,9 @@ export default async function () { console.log( "Confirms the withdrawal of funds from zkSync to Layer 1. It will prompt for the network (localnet, testnet, mainnet), the transaction address of the withdrawal, and the private key of the wallet initiating the confirmation.\n" ); - console.log(chalk.greenBright(`localnet`)); + console.log(chalk.greenBright("localnet")); console.log( - `Manages a local zkSync Era and Ethereum L1 testnet. Run "zksync-cli localnet help" for a list of supported operations.` + "Manages·a·local·zkSync·Era·and·Ethereum·L1·testnet.·Run·'zksync-cli·localnet·help'·for·a·list·of·supported·operations." ); // Exit the process diff --git a/src/index.ts b/src/index.ts index 0a4378af..b535da82 100644 --- a/src/index.ts +++ b/src/index.ts @@ -79,10 +79,11 @@ const main = async () => { case "confirm-withdraw": await confirmWithdraw(zeekFlag, l1RpcUrl, l2RpcUrl); break; - case 'localnet': - const subcommandName = process.argv[3] || undefined; - localnet(subcommandName); - break; + case 'localnet': { + const subcommandName = process.argv[3] || undefined; + localnet(subcommandName); + break; + } case "help": help(); break; diff --git a/src/localnet.ts b/src/localnet.ts index 514033c7..bc4075f2 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -131,7 +131,6 @@ function handleUndefinedOperation(): number { } function handleInvalidOperation(operationName: string): number { - const validOperationNames = Array.from(operationHandlers.keys()); console.error('Invalid operation: ', operationName); help(); return 1; From cb5a4ba60f54a41374865fdef00ab5ee7595e0b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Mon, 4 Sep 2023 15:07:27 -0300 Subject: [PATCH 20/21] Export localnet help function --- src/localnet.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/localnet.ts b/src/localnet.ts index bc4075f2..2c702e7f 100644 --- a/src/localnet.ts +++ b/src/localnet.ts @@ -108,7 +108,7 @@ function wallets(): number { // Command handling // --------------------------------------------------------------------------------------- -function help(): number { +export function help(): number { console.log("USAGE: zksync-cli localnet "); console.log(""); console.log("Manage local L1 and L2 chains"); From 7ffb3ea247a084a53f733642bd209496f58b8949 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20P=2E=20Centeno?= Date: Wed, 6 Sep 2023 14:55:33 -0300 Subject: [PATCH 21/21] fix: refactor localnet module to follow new project structure --- src/{ => commands}/localnet.ts | 127 +++++++++++++-------------------- src/index.ts | 1 + 2 files changed, 49 insertions(+), 79 deletions(-) rename src/{ => commands}/localnet.ts (56%) diff --git a/src/localnet.ts b/src/commands/localnet.ts similarity index 56% rename from src/localnet.ts rename to src/commands/localnet.ts index 2c702e7f..0e22e551 100644 --- a/src/localnet.ts +++ b/src/commands/localnet.ts @@ -1,3 +1,4 @@ +import { program } from "../setup"; import { execSync, ExecSyncOptions } from 'child_process'; import * as path from 'path'; import * as fs from 'fs'; @@ -10,7 +11,7 @@ const REPO_BRANCH: string = "main" // Utilities // --------------------------------------------------------------------------------------- -function runCommand(command: string, options?: ExecSyncOptions): string { +function runSystemCommand(command: string, options?: ExecSyncOptions): string { const defaultOptions: ExecSyncOptions = { cwd: repoDirectory(), encoding: 'utf-8' }; const unifiedOptions: ExecSyncOptions = {...defaultOptions, ...options}; return execSync(command, unifiedOptions).toString(); @@ -55,9 +56,9 @@ function isRepoCloned(): boolean { function cloneRepo() { const parentDirectory = path.join(repoDirectory(), ".."); - runCommand(`mkdir -p '${parentDirectory}'`, { cwd: "/" }); + runSystemCommand(`mkdir -p '${parentDirectory}'`, { cwd: "/" }); const options: ExecSyncOptions = { cwd: parentDirectory }; - runCommand(`git clone --branch '${REPO_BRANCH}' '${REPO_URL}'`, options); + runSystemCommand(`git clone --branch '${REPO_BRANCH}' '${REPO_URL}'`, options); } function setUp() { @@ -65,89 +66,57 @@ function setUp() { } // --------------------------------------------------------------------------------------- -// Localnet operations +// Command handling // --------------------------------------------------------------------------------------- -function logs(): number { - const options: ExecSyncOptions = { stdio: 'inherit' }; - runCommand("docker compose logs --follow", options); - return 0; -} +const localnet = program + .command("localnet") + .description("Manage local L1 and L2 chains"); -function up(): number { +localnet + .command("up") + .description("Startup L1 and L2 localnets") + .action(() => { if (! isRepoCloned()) { setUp(); } - runCommand("docker compose up --detach"); - return 0; -} - -function down(): number { - runCommand("docker compose down --volumes"); - return 0; -} - -function start(): number { - runCommand("docker compose start"); - return 0; -} - -function stop(): number { - runCommand("docker compose stop"); - return 0; -} + runSystemCommand("docker compose up --detach"); + }); + +localnet + .command("down") + .description("clear L1 and L2 localnets") + .action(() => { + runSystemCommand("docker compose down --volumes"); + }); + +localnet + .command("start") + .description("start L1 and L2 localnets") + .action(() => { + runSystemCommand("docker compose start"); + }); + +localnet + .command("stop") + .description("stop L1 and L2 localnets") + .action(() => { + runSystemCommand("docker compose stop"); + }); + +localnet + .command("logs") + .description("Display logs") + .action(() => { + const options: ExecSyncOptions = { stdio: 'inherit' }; + runSystemCommand("docker-compose logs --follow", options); + }); -function wallets(): number { +localnet + .command("wallets") + .description("Display rich wallet keys and addresses") + .action(() => { const rawJSON = fs.readFileSync(path.join(repoDirectory(), "rich-wallets.json")).toString(); const wallets = JSON.parse(rawJSON); console.log(wallets); - return 0; -} - -// --------------------------------------------------------------------------------------- -// Command handling -// --------------------------------------------------------------------------------------- - -export function help(): number { - console.log("USAGE: zksync-cli localnet "); - console.log(""); - console.log("Manage local L1 and L2 chains"); - console.log(""); - console.log("Available operations"); - console.log(' up -- Bootstrap L1 and L2 localnets'); - console.log(' down -- clear L1 and L2 localnets'); - console.log(' start -- start L1 and L2 localnets'); - console.log(' stop -- stop L1 and L2 localnets'); - console.log(' logs -- Display logs'); - console.log(' help -- Display this message and quit'); - console.log(' wallets -- Display seeded wallet keys'); - return 0; -} - -function handleUndefinedOperation(): number { - console.error("No operation provided"); - help(); - return 1; -} - -function handleInvalidOperation(operationName: string): number { - console.error('Invalid operation: ', operationName); - help(); - return 1; -} - -const operationHandlers = new Map number>([ - ['up', up], - ['down', down], - ['start', start], - ['stop', stop], - ['logs', logs], - ['help', help], - ['wallets', wallets], - [undefined, handleUndefinedOperation], -]); - -export default async function (operationName: string | undefined) { - const handler = operationHandlers.get(operationName) || (() => handleInvalidOperation(operationName!)); - process.exit(handler()); -} + }); diff --git a/src/index.ts b/src/index.ts index a9519adf..c4262edf 100644 --- a/src/index.ts +++ b/src/index.ts @@ -6,5 +6,6 @@ import "./commands/deposit"; import "./commands/withdraw"; import "./commands/withdraw-finalize"; import "./commands/create-project"; +import "./commands/localnet"; program.parse();