From 1c29554929268fe9f53961325ae6af3f9b799b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Fri, 6 Dec 2024 10:42:34 +0000 Subject: [PATCH] chore: making bbup a shell script (#10426) Making it a shell script again, in line with what @ludamad told me around keeping small tools in shell. This is actually more convenient in this case and Cursor did the job for me in like 10min --- barretenberg/bbup/.gitignore | 5 - barretenberg/bbup/.npmignore | 4 - barretenberg/bbup/README.md | 8 +- barretenberg/bbup/bbup | 188 +++++++ barretenberg/bbup/bbup.js | 50 -- barretenberg/bbup/bbup.ts | 72 --- barretenberg/bbup/install | 86 ++- barretenberg/bbup/package.json | 25 - barretenberg/bbup/shell.js | 73 --- barretenberg/bbup/shell.ts | 94 ---- barretenberg/bbup/versions.js | 44 -- barretenberg/bbup/versions.ts | 64 --- barretenberg/bbup/yarn.lock | 999 --------------------------------- 13 files changed, 247 insertions(+), 1465 deletions(-) delete mode 100644 barretenberg/bbup/.gitignore delete mode 100644 barretenberg/bbup/.npmignore create mode 100755 barretenberg/bbup/bbup delete mode 100755 barretenberg/bbup/bbup.js delete mode 100755 barretenberg/bbup/bbup.ts delete mode 100644 barretenberg/bbup/package.json delete mode 100644 barretenberg/bbup/shell.js delete mode 100644 barretenberg/bbup/shell.ts delete mode 100644 barretenberg/bbup/versions.js delete mode 100644 barretenberg/bbup/versions.ts delete mode 100644 barretenberg/bbup/yarn.lock diff --git a/barretenberg/bbup/.gitignore b/barretenberg/bbup/.gitignore deleted file mode 100644 index 21114ccaaac..00000000000 --- a/barretenberg/bbup/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -node_modules -yarn.lock -*.js -.yarn -bun.lockb diff --git a/barretenberg/bbup/.npmignore b/barretenberg/bbup/.npmignore deleted file mode 100644 index 7e4089baa7c..00000000000 --- a/barretenberg/bbup/.npmignore +++ /dev/null @@ -1,4 +0,0 @@ -node_modules -yarn.lock -*.ts -.yarn diff --git a/barretenberg/bbup/README.md b/barretenberg/bbup/README.md index a2c009fe5d0..6e8ce8343d5 100644 --- a/barretenberg/bbup/README.md +++ b/barretenberg/bbup/README.md @@ -6,12 +6,6 @@ It assumes you are using [Noir](https://noir-lang.org) as the frontend language. ## Installation -### Dependencies - -TODO - -### Installation script - BBup is an installer for whatever version of BB you may want. Install BBup with: ```bash @@ -19,7 +13,7 @@ curl -L bbup.dev | bash ``` > [!IMPORTANT] -> *Always* check what scripts do. The above one redirects to [the install script](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/install) which checks if you have `npm`, installing it with `nvm` otherwise. It then installs [bbup](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/bbup.ts) globally. +> *Always* check what scripts do. The above one redirects to [the install script](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/install) which installs [bbup](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/bbup) in your system's PATH ## Usage diff --git a/barretenberg/bbup/bbup b/barretenberg/bbup/bbup new file mode 100755 index 00000000000..c22a182c032 --- /dev/null +++ b/barretenberg/bbup/bbup @@ -0,0 +1,188 @@ +#!/usr/bin/env bash + +set -e + +# Colors and symbols +RED='\033[0;31m' +GREEN='\033[0;32m' +BLUE='\033[0;34m' +NC='\033[0m' +SUCCESS="✓" +ERROR="✗" + +# Utility functions +print_spinner() { + local pid=$1 + local delay=0.1 + local spinstr='|/-\' + while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do + local temp=${spinstr#?} + printf " [%c] " "$spinstr" + local spinstr=$temp${spinstr%"$temp"} + sleep $delay + printf "\b\b\b\b\b\b" + done + printf " \b\b\b\b" +} + +get_bb_version_for_noir() { + local noir_version=$1 + local url="" + local resolved_version="" + + if [ "$noir_version" = "stable" ] || [ "$noir_version" = "nightly" ]; then + # Get releases from GitHub API + local releases=$(curl -s "https://api.github.com/repos/noir-lang/noir/releases") + + if [ "$noir_version" = "stable" ]; then + resolved_version=$(echo "$releases" | grep -o '"tag_name": "[^"]*"' | grep -v "aztec\|nightly" | head -1 | cut -d'"' -f4) + else + resolved_version=$(echo "$releases" | grep -o '"tag_name": "nightly[^"]*"' | head -1 | cut -d'"' -f4) + fi + + url="https://raw.githubusercontent.com/noir-lang/noir/${resolved_version}/scripts/install_bb.sh" + else + url="https://raw.githubusercontent.com/noir-lang/noir/v${noir_version}/scripts/install_bb.sh" + fi + + # Extract BB version from install script + local install_script=$(curl -s "$url") + local bb_version=$(echo "$install_script" | grep 'VERSION=' | cut -d'"' -f2) + echo "$bb_version" +} + +install_bb() { + local version=$1 + local architecture=$(uname -m) + local platform="" + + # Convert architecture names + if [ "$architecture" = "arm64" ]; then + architecture="aarch64" + elif [ "$architecture" = "x86_64" ]; then + architecture="x86_64" + else + printf "${RED}${ERROR} Unsupported architecture: ${architecture}${NC}\n" + exit 1 + fi + + # Determine platform + if [ "$(uname)" = "Darwin" ]; then + platform="apple-darwin" + elif [ "$(uname)" = "Linux" ]; then + platform="linux-gnu" + else + printf "${RED}${ERROR} Unsupported platform: $(uname)${NC}\n" + exit 1 + fi + + local home_dir=$HOME + local bb_path="${home_dir}/.bb" + + printf "${BLUE}Installing to ${bb_path}${NC}\n" + + # Create temporary directory + local temp_dir=$(mktemp -d) + local temp_tar="${temp_dir}/temp.tar.gz" + + # Download and extract + local release_url="https://github.com/AztecProtocol/aztec-packages/releases/download/aztec-packages-v${version}" + local binary_url="${release_url}/barretenberg-${architecture}-${platform}.tar.gz" + + curl -L "$binary_url" -o "$temp_tar" + mkdir -p "$bb_path" + tar xzf "$temp_tar" -C "$bb_path" + rm -rf "$temp_dir" + + # Update shell configuration + update_shell_config "$bb_path" + + printf "${GREEN}${SUCCESS} Installed barretenberg to ${bb_path}${NC}\n" +} + +update_shell_config() { + local bb_bin_path=$1 + local path_entry="export PATH=\"${bb_bin_path}:\$PATH\"" + + # Update various shell configs if they exist + if [ -f "${HOME}/.bashrc" ]; then + echo "$path_entry" >> "${HOME}/.bashrc" + fi + + if [ -f "${HOME}/.zshrc" ]; then + echo "$path_entry" >> "${HOME}/.zshrc" + fi + + if [ -f "${HOME}/.config/fish/config.fish" ]; then + echo "set -gx PATH ${bb_bin_path} \$PATH" >> "${HOME}/.config/fish/config.fish" + fi + + # Update current session's PATH + export PATH="${bb_bin_path}:$PATH" +} + +# Main script +main() { + local version="" + local noir_version="" + + # Parse arguments + while [[ $# -gt 0 ]]; do + case $1 in + -v|--version) + version="$2" + shift 2 + ;; + -nv|--noir-version) + noir_version="$2" + shift 2 + ;; + *) + printf "${RED}${ERROR} Unknown option: $1${NC}\n" + exit 1 + ;; + esac + done + + # If no version specified, try to get current noir version + if [ -z "$version" ] && [ -z "$noir_version" ]; then + noir_version="current" + fi + + if [ "$noir_version" = "current" ]; then + printf "${BLUE}Querying noir version from nargo${NC}\n" + if ! command -v nargo &> /dev/null; then + printf "${RED}${ERROR} Could not get noir version from nargo --version. Please specify a version.${NC}\n" + exit 1 + fi + noir_version=$(nargo --version | grep -o 'nargo version = [0-9]\+\.[0-9]\+\.[0-9]\+\(-[a-zA-Z]\+\.[0-9]\+\)\?' | cut -d' ' -f4) + printf "${GREEN}${SUCCESS} Resolved noir version ${noir_version} from nargo${NC}\n" + fi + + if [ -n "$noir_version" ]; then + printf "${BLUE}Getting compatible barretenberg version for noir version ${noir_version}${NC}\n" + if [ "$noir_version" = "stable" ] || [ "$noir_version" = "nightly" ]; then + printf "${BLUE}Resolving noir version ${noir_version}...${NC}\n" + # Get releases from GitHub API to show the resolved version + local releases=$(curl -s "https://api.github.com/repos/noir-lang/noir/releases") + local resolved_version="" + if [ "$noir_version" = "stable" ]; then + resolved_version=$(echo "$releases" | grep -o '"tag_name": "[^"]*"' | grep -v "aztec\|nightly" | head -1 | cut -d'"' -f4) + else + resolved_version=$(echo "$releases" | grep -o '"tag_name": "nightly[^"]*"' | head -1 | cut -d'"' -f4) + fi + printf "${GREEN}${SUCCESS} Resolved noir version ${noir_version} to ${resolved_version}${NC}\n" + fi + version=$(get_bb_version_for_noir "$noir_version") + printf "${GREEN}${SUCCESS} Resolved to barretenberg version ${version}${NC}\n" + fi + + if [ -z "$version" ]; then + printf "${RED}${ERROR} No version specified and couldn't determine version from noir${NC}\n" + exit 1 + fi + + install_bb "$version" +} + +main "$@" diff --git a/barretenberg/bbup/bbup.js b/barretenberg/bbup/bbup.js deleted file mode 100755 index 6b6fac09db8..00000000000 --- a/barretenberg/bbup/bbup.js +++ /dev/null @@ -1,50 +0,0 @@ -#!/usr/bin/env node -import { Command, Option } from "commander"; -const program = new Command(); -import { installBB } from "./shell.js"; -import ora from "ora"; -import logSymbols from "log-symbols"; -import { getBbVersionForNoir } from "./versions.js"; -import { execSync } from "child_process"; -const spinner = ora({ color: "blue", discardStdin: false }); -const bbup = program - .command("install", { isDefault: true }) - .description("Installs Barretenberg.") - .addOption(new Option("-v, --version ", "The Barretenberg version to install").implies({ noirVersion: null })) - .addOption(new Option("-nv, --noir-version ", "The Noir version to match").default("current")) - .action(async ({ version, noirVersion }) => { - let resolvedBBVersion = ""; - if (noirVersion) { - let resolvedNoirVersion = noirVersion; - if (noirVersion === "current") { - spinner.start(`Querying noir version from nargo`); - try { - const output = execSync("nargo --version", { encoding: "utf-8" }); - resolvedNoirVersion = output.match(/nargo version = (\d+\.\d+\.\d+)/)[1]; - spinner.stopAndPersist({ - text: `Resolved noir version ${resolvedNoirVersion} from nargo`, - symbol: logSymbols.success, - }); - } - catch (e) { - spinner.stopAndPersist({ - text: `Could not get noir version from nargo --version. Please specify a version.`, - symbol: logSymbols.error, - }); - process.exit(1); - } - } - spinner.start(`Getting compatible barretenberg version for noir version ${resolvedNoirVersion}`); - resolvedBBVersion = await getBbVersionForNoir(resolvedNoirVersion, spinner); - spinner.stopAndPersist({ - text: `Resolved to barretenberg version ${resolvedBBVersion}`, - symbol: logSymbols.success, - }); - } - else if (version) { - resolvedBBVersion = version; - } - spinner.start(`Installing barretenberg`); - await installBB(resolvedBBVersion, spinner); -}); -bbup.parse(); diff --git a/barretenberg/bbup/bbup.ts b/barretenberg/bbup/bbup.ts deleted file mode 100755 index 98608ae5039..00000000000 --- a/barretenberg/bbup/bbup.ts +++ /dev/null @@ -1,72 +0,0 @@ -#!/usr/bin/env node -import { Command, Option } from "commander"; -const program = new Command(); -import { installBB } from "./shell.js"; -import ora from "ora"; -import logSymbols from "log-symbols"; -import { getBbVersionForNoir } from "./versions.js"; -import { execSync } from "child_process"; - -const spinner = ora({ color: "blue", discardStdin: false }); - -const bbup = program - .command("install", { isDefault: true }) - .description("Installs Barretenberg.") - .addOption( - new Option( - "-v, --version ", - "The Barretenberg version to install" - ).implies({ noirVersion: null }) - ) - .addOption( - new Option( - "-nv, --noir-version ", - "The Noir version to match" - ).default("current") - ) - .action(async ({ version, noirVersion }) => { - let resolvedBBVersion = ""; - if (noirVersion) { - let resolvedNoirVersion = noirVersion; - if (noirVersion === "current") { - spinner.start(`Querying noir version from nargo`); - try { - const output = execSync("nargo --version", { encoding: "utf-8" }); - resolvedNoirVersion = output.match( - /nargo version = (\d+\.\d+\.\d+(-\w+\.\d+)?)/ - )![1]; - console.log(resolvedNoirVersion); - spinner.stopAndPersist({ - text: `Resolved noir version ${resolvedNoirVersion} from nargo`, - symbol: logSymbols.success, - }); - } catch (e) { - spinner.stopAndPersist({ - text: `Could not get noir version from nargo --version. Please specify a version.`, - symbol: logSymbols.error, - }); - process.exit(1); - } - } - - spinner.start( - `Getting compatible barretenberg version for noir version ${resolvedNoirVersion}` - ); - resolvedBBVersion = await getBbVersionForNoir( - resolvedNoirVersion, - spinner - ); - spinner.stopAndPersist({ - text: `Resolved to barretenberg version ${resolvedBBVersion}`, - symbol: logSymbols.success, - }); - } else if (version) { - resolvedBBVersion = version; - } - - spinner.start(`Installing barretenberg`); - - await installBB(resolvedBBVersion, spinner); - }); - -bbup.parse(); diff --git a/barretenberg/bbup/install b/barretenberg/bbup/install index 848086087c4..2dee6434eeb 100755 --- a/barretenberg/bbup/install +++ b/barretenberg/bbup/install @@ -1,42 +1,72 @@ -#!/bin/bash +#!/usr/bin/env bash set -e -# Function to check if a command exists -command_exists() { - command -v "$1" >/dev/null 2>&1 -} +# Colors and symbols +RED='\033[0;31m' +GREEN='\033[0;32m' +BLUE='\033[0;34m' +NC='\033[0m' +SUCCESS="✓" +ERROR="✗" + +BB_DIR="${HOME}/.bb" +INSTALL_PATH="${BB_DIR}/bbup" +BBUP_URL="https://raw.githubusercontent.com/AztecProtocol/aztec-packages/main/barretenberg/bbup/bbup" -# Function to install NVM and Node.js -install_nvm_and_node() { - echo "Installing NVM..." - wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash +# Create .bb directory if it doesn't exist +mkdir -p "$BB_DIR" - # Load NVM - export NVM_DIR="$HOME/.nvm" - [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" +# Download bbup +printf "${BLUE}Downloading bbup...${NC}\n" +if command -v curl &> /dev/null; then + curl -fsSL "$BBUP_URL" -o "$INSTALL_PATH" +elif command -v wget &> /dev/null; then + wget -q "$BBUP_URL" -O "$INSTALL_PATH" +else + printf "${RED}${ERROR} Neither curl nor wget found. Please install either curl or wget.${NC}\n" + exit 1 +fi + +if [ ! -f "$INSTALL_PATH" ]; then + printf "${RED}${ERROR} Failed to download bbup${NC}\n" + exit 1 +fi - # Install the latest LTS version of Node.js - echo "Installing the latest LTS version of Node.js..." - nvm install --lts +chmod 755 "$INSTALL_PATH" - # Use the installed version - nvm use --lts +# Add to shell config files if not already present +PATH_ENTRY="export PATH=\"\${HOME}/.bb:\${PATH}\"" +FISH_PATH_ENTRY="set -gx PATH \${HOME}/.bb \$PATH" - # Verify installation - node --version - npm --version +add_to_config() { + local config_file="$1" + local entry="$2" + if [ -f "$config_file" ] && ! grep -q "/.bb:" "$config_file"; then + echo "$entry" >> "$config_file" + return 0 + fi + return 1 } -# Check if NPM is installed -if ! command_exists npm; then - install_nvm_and_node +SHELL_UPDATED=false + +if add_to_config "${HOME}/.bashrc" "$PATH_ENTRY"; then + SHELL_UPDATED=true fi +if add_to_config "${HOME}/.zshrc" "$PATH_ENTRY"; then + SHELL_UPDATED=true +fi -# Install bbup globally -echo "Installing bbup..." -npm install -g bbup +if [ -f "${HOME}/.config/fish/config.fish" ] && ! grep -q "/.bb " "${HOME}/.config/fish/config.fish"; then + echo "$FISH_PATH_ENTRY" >> "${HOME}/.config/fish/config.fish" + SHELL_UPDATED=true +fi -echo "Installation complete. You can now use the 'bbup' command." -echo "Please restart your terminal or run 'source ~/.bashrc' (or your shell's equivalent) to start using bbup." +printf "${GREEN}${SUCCESS} Successfully installed bbup${NC}\n" +if [ "$SHELL_UPDATED" = true ]; then + printf "${BLUE}Please run 'source ~/.bashrc' or restart your terminal to use bbup${NC}\n" +else + printf "${BLUE}Your PATH already includes ~/.bb - you can run 'bbup' from anywhere${NC}\n" +fi diff --git a/barretenberg/bbup/package.json b/barretenberg/bbup/package.json deleted file mode 100644 index 7283db443e5..00000000000 --- a/barretenberg/bbup/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "bbup", - "type": "module", - "description": "Barretenberg installation script", - "bin": "bbup.js", - "version": "0.0.12", - "license": "ISC", - "scripts": { - "start": "npx tsx bbup.ts", - "compile": "tsc bbup.ts --esModuleInterop true --module nodenext && chmod +x bbup.js", - "publish": "yarn compile && yarn npm publish --access public" - }, - "dependencies": { - "@inquirer/input": "^1.2.16", - "@inquirer/select": "^1.3.3", - "@types/node": "^22.9.1", - "axios": "^1.7.7", - "commander": "^11.1.0", - "log-symbols": "^7.0.0", - "ora": "^8.1.0", - "tar-fs": "^3.0.6", - "tiged": "^2.12.6" - }, - "packageManager": "yarn@4.5.0" -} diff --git a/barretenberg/bbup/shell.js b/barretenberg/bbup/shell.js deleted file mode 100644 index b8fd1418cb9..00000000000 --- a/barretenberg/bbup/shell.js +++ /dev/null @@ -1,73 +0,0 @@ -import { execSync } from "child_process"; -import logSymbols from "log-symbols"; -import os from "os"; -import axios from "axios"; -import fs from "fs"; -import { createGunzip } from "zlib"; -import tar from "tar-fs"; -import { promisify } from "util"; -import { pipeline } from "stream"; -import path from "path"; -import { appendFileSync, existsSync } from "fs"; -export function sourceShellConfig() { - const home = os.homedir(); - const bbBinPath = path.join(home, ".bb"); - const pathEntry = `export PATH="${bbBinPath}:$PATH"\n`; - if (existsSync(path.join(home, ".bashrc"))) { - const bashrcPath = path.join(home, ".bashrc"); - appendFileSync(bashrcPath, pathEntry); - } - if (existsSync(path.join(home, ".zshrc"))) { - const zshrcPath = path.join(home, ".zshrc"); - appendFileSync(zshrcPath, pathEntry); - } - if (existsSync(path.join(home, ".config", "fish", "config.fish"))) { - const fishConfigPath = path.join(home, ".config", "fish", "config.fish"); - appendFileSync(fishConfigPath, `set -gx PATH ${bbBinPath} $PATH\n`); - } - // Update the current session's PATH - process.env.PATH = `${bbBinPath}:${process.env.PATH}`; -} -export function exec(cmd, options = {}) { - return execSync(cmd, { - encoding: "utf-8", - stdio: "pipe", - ...options, - }); -} -export async function installBB(version, spinner) { - let architecture = os.arch(); - if (architecture === "arm64") { - architecture = "aarch64"; - } - else if (architecture === "x64") { - architecture = "x86_64"; - } - let platform = os.platform(); - if (platform === "darwin") { - platform = "apple-darwin"; - } - else if (platform === "linux") { - platform = "linux-gnu"; - } - const home = os.homedir(); - const bbPath = path.join(home, ".bb"); - spinner.start(`Installing to ${bbPath}`); - const tempTarPath = path.join(fs.mkdtempSync("bb-"), "temp.tar.gz"); - if (!["x86_64", "aarch64"].includes(architecture) || - !["linux-gnu", "apple-darwin"].includes(platform)) { - throw new Error(`Unsupported architecture ${architecture} and platform ${platform}`); - } - const releaseUrl = `https://github.com/AztecProtocol/aztec-packages/releases/download/aztec-packages-v${version}`; - const binaryUrl = `${releaseUrl}/barretenberg-${architecture}-${platform}.tar.gz`; - const response = await axios.get(binaryUrl, { responseType: "stream" }); - const pipelineAsync = promisify(pipeline); - await pipelineAsync(response.data, fs.createWriteStream(tempTarPath)); - await pipelineAsync(fs.createReadStream(tempTarPath), createGunzip(), tar.extract(bbPath)); - fs.rmSync(path.dirname(tempTarPath), { recursive: true }); - spinner.stopAndPersist({ - text: `Installed barretenberg to ${bbPath}`, - symbol: logSymbols.success, - }); - sourceShellConfig(); -} diff --git a/barretenberg/bbup/shell.ts b/barretenberg/bbup/shell.ts deleted file mode 100644 index c2e8a6945f3..00000000000 --- a/barretenberg/bbup/shell.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { execSync } from "child_process"; -import logSymbols from "log-symbols"; -import { Ora } from "ora"; -import os from "os"; -import axios from "axios"; -import fs from "fs"; -import { createGunzip } from "zlib"; -import tar from "tar-fs"; -import { promisify } from "util"; - -import { pipeline } from "stream"; -import path from "path"; - -import { appendFileSync, existsSync } from "fs"; - -export function sourceShellConfig() { - const home = os.homedir(); - const bbBinPath = path.join(home, ".bb"); - const pathEntry = `export PATH="${bbBinPath}:$PATH"\n`; - - if (existsSync(path.join(home, ".bashrc"))) { - const bashrcPath = path.join(home, ".bashrc"); - appendFileSync(bashrcPath, pathEntry); - } - if (existsSync(path.join(home, ".zshrc"))) { - const zshrcPath = path.join(home, ".zshrc"); - appendFileSync(zshrcPath, pathEntry); - } - if (existsSync(path.join(home, ".config", "fish", "config.fish"))) { - const fishConfigPath = path.join(home, ".config", "fish", "config.fish"); - appendFileSync(fishConfigPath, `set -gx PATH ${bbBinPath} $PATH\n`); - } - - // Update the current session's PATH - process.env.PATH = `${bbBinPath}:${process.env.PATH}`; -} - -export function exec(cmd: string, options = {}) { - return execSync(cmd, { - encoding: "utf-8", - stdio: "pipe", - ...options, - }); -} -export async function installBB(version: string, spinner: Ora) { - let architecture = os.arch(); - if (architecture === "arm64") { - architecture = "aarch64"; - } else if (architecture === "x64") { - architecture = "x86_64"; - } - - let platform: string = os.platform(); - if (platform === "darwin") { - platform = "apple-darwin"; - } else if (platform === "linux") { - platform = "linux-gnu"; - } - - const home = os.homedir(); - const bbPath = path.join(home, ".bb"); - - spinner.start(`Installing to ${bbPath}`); - const tempTarPath = path.join(fs.mkdtempSync("bb-"), "temp.tar.gz"); - - if ( - !["x86_64", "aarch64"].includes(architecture) || - !["linux-gnu", "apple-darwin"].includes(platform) - ) { - throw new Error( - `Unsupported architecture ${architecture} and platform ${platform}` - ); - } - - const releaseUrl = `https://github.com/AztecProtocol/aztec-packages/releases/download/aztec-packages-v${version}`; - const binaryUrl = `${releaseUrl}/barretenberg-${architecture}-${platform}.tar.gz`; - - const response = await axios.get(binaryUrl, { responseType: "stream" }); - - const pipelineAsync = promisify(pipeline); - await pipelineAsync(response.data, fs.createWriteStream(tempTarPath)); - await pipelineAsync( - fs.createReadStream(tempTarPath), - createGunzip(), - tar.extract(bbPath) - ); - - fs.rmSync(path.dirname(tempTarPath), { recursive: true }); - spinner.stopAndPersist({ - text: `Installed barretenberg to ${bbPath}`, - symbol: logSymbols.success, - }); - sourceShellConfig(); -} diff --git a/barretenberg/bbup/versions.js b/barretenberg/bbup/versions.js deleted file mode 100644 index 5f6dee81f7f..00000000000 --- a/barretenberg/bbup/versions.js +++ /dev/null @@ -1,44 +0,0 @@ -import axios from "axios"; -import logSymbols from "log-symbols"; -async function getNamedVersions(githubToken) { - const fetchOpts = { - // eslint-disable-next-line camelcase - params: { per_page: 100 }, - headers: {}, - }; - if (githubToken) - fetchOpts.headers = { Authorization: `token ${githubToken}` }; - const { data } = await axios.get(`https://api.github.com/repos/noir-lang/noir/releases`, fetchOpts); - const stable = data.filter((release) => !release.tag_name.includes("aztec") && - !release.tag_name.includes("nightly") && - !release.prerelease)[0].tag_name; - const nightly = data.filter((release) => release.tag_name.startsWith("nightly"))[0].tag_name; - return { - stable, - nightly, - }; -} -export async function getBbVersionForNoir(noirVersion, spinner, githubToken) { - let url = ""; - if (noirVersion === "stable" || noirVersion === "nightly") { - spinner.start(`Resolving noir version ${noirVersion}...`); - const resolvedVersions = await getNamedVersions(githubToken); - spinner.stopAndPersist({ - text: `Resolved noir version ${noirVersion} to ${resolvedVersions[noirVersion]}`, - symbol: logSymbols.success, - }); - url = `https://raw.githubusercontent.com/noir-lang/noir/${resolvedVersions[noirVersion]}/scripts/install_bb.sh`; - } - else { - url = `https://raw.githubusercontent.com/noir-lang/noir/v${noirVersion}/scripts/install_bb.sh`; - } - try { - const { data } = await axios.get(url); - const versionMatch = data.match(/VERSION="([\d.]+)"/); - const version = versionMatch ? versionMatch[1] : null; - return version; - } - catch (e) { - throw new Error(e.message || e); - } -} diff --git a/barretenberg/bbup/versions.ts b/barretenberg/bbup/versions.ts deleted file mode 100644 index 36b979b54f9..00000000000 --- a/barretenberg/bbup/versions.ts +++ /dev/null @@ -1,64 +0,0 @@ -import axios from "axios"; -import logSymbols from "log-symbols"; -import { Ora } from "ora"; - -async function getNamedVersions(githubToken?: string) { - const fetchOpts = { - // eslint-disable-next-line camelcase - params: { per_page: 100 }, - headers: {}, - }; - - if (githubToken) - fetchOpts.headers = { Authorization: `token ${githubToken}` }; - - const { data } = await axios.get( - `https://api.github.com/repos/noir-lang/noir/releases`, - fetchOpts - ); - - const stable = data.filter( - (release: any) => - !release.tag_name.includes("aztec") && - !release.tag_name.includes("nightly") && - !release.prerelease - )[0].tag_name; - const nightly = data.filter((release: any) => - release.tag_name.startsWith("nightly") - )[0].tag_name; - - return { - stable, - nightly, - }; -} - -export async function getBbVersionForNoir( - noirVersion: string, - spinner: Ora, - githubToken?: string -) { - let url = ""; - - if (noirVersion === "stable" || noirVersion === "nightly") { - spinner.start(`Resolving noir version ${noirVersion}...`); - const resolvedVersions = await getNamedVersions(githubToken); - spinner.stopAndPersist({ - text: `Resolved noir version ${noirVersion} to ${resolvedVersions[noirVersion]}`, - symbol: logSymbols.success, - }); - url = `https://raw.githubusercontent.com/noir-lang/noir/${resolvedVersions[noirVersion]}/scripts/install_bb.sh`; - } else { - url = `https://raw.githubusercontent.com/noir-lang/noir/v${noirVersion}/scripts/install_bb.sh`; - } - - try { - const { data } = await axios.get(url); - const versionMatch = data.match(/VERSION="([\d.]+)"/); - const version = versionMatch ? versionMatch[1] : null; - - return version; - } catch (e: any) { - throw new Error(e.message || e); - } -} diff --git a/barretenberg/bbup/yarn.lock b/barretenberg/bbup/yarn.lock deleted file mode 100644 index caccde246a9..00000000000 --- a/barretenberg/bbup/yarn.lock +++ /dev/null @@ -1,999 +0,0 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@inquirer/core@npm:^6.0.0": - version: 6.0.0 - resolution: "@inquirer/core@npm:6.0.0" - dependencies: - "@inquirer/type": "npm:^1.1.6" - "@types/mute-stream": "npm:^0.0.4" - "@types/node": "npm:^20.10.7" - "@types/wrap-ansi": "npm:^3.0.0" - ansi-escapes: "npm:^4.3.2" - chalk: "npm:^4.1.2" - cli-spinners: "npm:^2.9.2" - cli-width: "npm:^4.1.0" - figures: "npm:^3.2.0" - mute-stream: "npm:^1.0.0" - run-async: "npm:^3.0.0" - signal-exit: "npm:^4.1.0" - strip-ansi: "npm:^6.0.1" - wrap-ansi: "npm:^6.2.0" - checksum: 10c0/0663330936c9baea58d8a10e93de6c3446ab84ed909c41d7b3f6762842473b8f88e10d776326d89a278abfb3c4083240d0f5876293908eb1005d0026aa2cfb7d - languageName: node - linkType: hard - -"@inquirer/input@npm:^1.2.16": - version: 1.2.16 - resolution: "@inquirer/input@npm:1.2.16" - dependencies: - "@inquirer/core": "npm:^6.0.0" - "@inquirer/type": "npm:^1.1.6" - chalk: "npm:^4.1.2" - checksum: 10c0/89f612119ba208b34d693e013432898e5de4ddb61dde4b1cd326fb421a0bd16353872da915ec58f34ca5503b77081faf402bbea15033f84b7be8ac5e0672e4a8 - languageName: node - linkType: hard - -"@inquirer/select@npm:^1.3.3": - version: 1.3.3 - resolution: "@inquirer/select@npm:1.3.3" - dependencies: - "@inquirer/core": "npm:^6.0.0" - "@inquirer/type": "npm:^1.1.6" - ansi-escapes: "npm:^4.3.2" - chalk: "npm:^4.1.2" - figures: "npm:^3.2.0" - checksum: 10c0/695de7dc85bf1b4ae4d13bbacb39e73cf4ff12f04da5cff4f0cc046db6bb32ff6051d30753a94299370908051133535e0db7e011e3b61e9806908eb1a7ef6b39 - languageName: node - linkType: hard - -"@inquirer/type@npm:^1.1.6": - version: 1.5.5 - resolution: "@inquirer/type@npm:1.5.5" - dependencies: - mute-stream: "npm:^1.0.0" - checksum: 10c0/4c41736c09ba9426b5a9e44993bdd54e8f532e791518802e33866f233a2a6126a25c1c82c19d1abbf1df627e57b1b957dd3f8318ea96073d8bfc32193943bcb3 - languageName: node - linkType: hard - -"@types/mute-stream@npm:^0.0.4": - version: 0.0.4 - resolution: "@types/mute-stream@npm:0.0.4" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/944730fd7b398c5078de3c3d4d0afeec8584283bc694da1803fdfca14149ea385e18b1b774326f1601baf53898ce6d121a952c51eb62d188ef6fcc41f725c0dc - languageName: node - linkType: hard - -"@types/node@npm:*": - version: 22.7.4 - resolution: "@types/node@npm:22.7.4" - dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/c22bf54515c78ff3170142c1e718b90e2a0003419dc2d55f79c9c9362edd590a6ab1450deb09ff6e1b32d1b4698da407930b16285e8be3a009ea6cd2695cac01 - languageName: node - linkType: hard - -"@types/node@npm:^20.10.7": - version: 20.16.10 - resolution: "@types/node@npm:20.16.10" - dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/c0c0c7ecb083ec638c2118e54b5242bb4c39a75608cbac9475cf15aaceb64b8bc997a87a0798e700a81d61651c8a7750ae0455be0f0996ada6e8b2bb818d90c5 - languageName: node - linkType: hard - -"@types/wrap-ansi@npm:^3.0.0": - version: 3.0.0 - resolution: "@types/wrap-ansi@npm:3.0.0" - checksum: 10c0/8d8f53363f360f38135301a06b596c295433ad01debd082078c33c6ed98b05a5c8fe8853a88265432126096084f4a135ec1564e3daad631b83296905509f90b3 - languageName: node - linkType: hard - -"agent-base@npm:6": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"ansi-colors@npm:^4.1.1": - version: 4.1.3 - resolution: "ansi-colors@npm:4.1.3" - checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9 - languageName: node - linkType: hard - -"ansi-escapes@npm:^4.3.2": - version: 4.3.2 - resolution: "ansi-escapes@npm:4.3.2" - dependencies: - type-fest: "npm:^0.21.3" - checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.1.0 - resolution: "ansi-regex@npm:6.1.0" - checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"asynckit@npm:^0.4.0": - version: 0.4.0 - resolution: "asynckit@npm:0.4.0" - checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d - languageName: node - linkType: hard - -"axios@npm:^1.7.7": - version: 1.7.7 - resolution: "axios@npm:1.7.7" - dependencies: - follow-redirects: "npm:^1.15.6" - form-data: "npm:^4.0.0" - proxy-from-env: "npm:^1.1.0" - checksum: 10c0/4499efc89e86b0b49ffddc018798de05fab26e3bf57913818266be73279a6418c3ce8f9e934c7d2d707ab8c095e837fc6c90608fb7715b94d357720b5f568af7 - languageName: node - linkType: hard - -"b4a@npm:^1.6.4, b4a@npm:^1.6.6": - version: 1.6.7 - resolution: "b4a@npm:1.6.7" - checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"bare-events@npm:^2.0.0, bare-events@npm:^2.2.0": - version: 2.5.0 - resolution: "bare-events@npm:2.5.0" - checksum: 10c0/afbeec4e8be4d93fb4a3be65c3b4a891a2205aae30b5a38fafd42976cc76cf30dad348963fe330a0d70186e15dc507c11af42c89af5dddab2a54e5aff02e2896 - languageName: node - linkType: hard - -"bare-fs@npm:^2.1.1": - version: 2.3.5 - resolution: "bare-fs@npm:2.3.5" - dependencies: - bare-events: "npm:^2.0.0" - bare-path: "npm:^2.0.0" - bare-stream: "npm:^2.0.0" - checksum: 10c0/ff18cc9be7c557c38e0342681ba3672ae4b01e5696b567d4035e5995255dc6bc7d4df88ed210fa4d3eb940eb29512e924ebb42814c87fc59a2bee8cf83b7c2f9 - languageName: node - linkType: hard - -"bare-os@npm:^2.1.0": - version: 2.4.4 - resolution: "bare-os@npm:2.4.4" - checksum: 10c0/e7d1a7b2100c05da8d25b60d0d48cf850c6f57064577a3f2f51cf18d417fbcfd6967ed2d8314320914ed69e0f2ebcf54eb1b36092dd172d8e8f969cf8cccf041 - languageName: node - linkType: hard - -"bare-path@npm:^2.0.0, bare-path@npm:^2.1.0": - version: 2.1.3 - resolution: "bare-path@npm:2.1.3" - dependencies: - bare-os: "npm:^2.1.0" - checksum: 10c0/35587e177fc8fa5b13fb90bac8779b5ce49c99016d221ddaefe2232d02bd4295d79b941e14ae19fda75ec42a6fe5fb66c07d83ae7ec11462178e66b7be65ca74 - languageName: node - linkType: hard - -"bare-stream@npm:^2.0.0": - version: 2.3.0 - resolution: "bare-stream@npm:2.3.0" - dependencies: - b4a: "npm:^1.6.6" - streamx: "npm:^2.20.0" - checksum: 10c0/374a517542e6a0c3c07f3a1d567db612685e66708f79781112aa0e81c1f117ec561cc1ff3926144f15a2200316a77030c95dcc13a1b96d5303f0748798b764cf - languageName: node - linkType: hard - -"bbup@workspace:.": - version: 0.0.0-use.local - resolution: "bbup@workspace:." - dependencies: - "@inquirer/input": "npm:^1.2.16" - "@inquirer/select": "npm:^1.3.3" - axios: "npm:^1.7.7" - commander: "npm:^11.1.0" - log-symbols: "npm:^7.0.0" - ora: "npm:^8.1.0" - tar-fs: "npm:^3.0.6" - tiged: "npm:^2.12.6" - bin: - bbup: ./bbup.js - languageName: unknown - linkType: soft - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"chalk@npm:^4.1.2": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"chalk@npm:^5.3.0": - version: 5.3.0 - resolution: "chalk@npm:5.3.0" - checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09 - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"cli-cursor@npm:^5.0.0": - version: 5.0.0 - resolution: "cli-cursor@npm:5.0.0" - dependencies: - restore-cursor: "npm:^5.0.0" - checksum: 10c0/7ec62f69b79f6734ab209a3e4dbdc8af7422d44d360a7cb1efa8a0887bbe466a6e625650c466fe4359aee44dbe2dc0b6994b583d40a05d0808a5cb193641d220 - languageName: node - linkType: hard - -"cli-spinners@npm:^2.9.2": - version: 2.9.2 - resolution: "cli-spinners@npm:2.9.2" - checksum: 10c0/907a1c227ddf0d7a101e7ab8b300affc742ead4b4ebe920a5bf1bc6d45dce2958fcd195eb28fa25275062fe6fa9b109b93b63bc8033396ed3bcb50297008b3a3 - languageName: node - linkType: hard - -"cli-width@npm:^4.1.0": - version: 4.1.0 - resolution: "cli-width@npm:4.1.0" - checksum: 10c0/1fbd56413578f6117abcaf858903ba1f4ad78370a4032f916745fa2c7e390183a9d9029cf837df320b0fdce8137668e522f60a30a5f3d6529ff3872d265a955f - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"colorette@npm:1.2.1": - version: 1.2.1 - resolution: "colorette@npm:1.2.1" - checksum: 10c0/993422e8ef02c3e267ac49ea7f3457839ec261a27a9bf00c4eb1fab5eec40bc1e992972e6e4c392a488838c905c80410736dfc94109be6ae53f19434461022a6 - languageName: node - linkType: hard - -"combined-stream@npm:^1.0.8": - version: 1.0.8 - resolution: "combined-stream@npm:1.0.8" - dependencies: - delayed-stream: "npm:~1.0.0" - checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 - languageName: node - linkType: hard - -"commander@npm:^11.1.0": - version: 11.1.0 - resolution: "commander@npm:11.1.0" - checksum: 10c0/13cc6ac875e48780250f723fb81c1c1178d35c5decb1abb1b628b3177af08a8554e76b2c0f29de72d69eef7c864d12613272a71fabef8047922bc622ab75a179 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"debug@npm:4": - version: 4.3.7 - resolution: "debug@npm:4.3.7" - dependencies: - ms: "npm:^2.1.3" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b - languageName: node - linkType: hard - -"delayed-stream@npm:~1.0.0": - version: 1.0.0 - resolution: "delayed-stream@npm:1.0.0" - checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 - languageName: node - linkType: hard - -"emoji-regex@npm:^10.3.0": - version: 10.4.0 - resolution: "emoji-regex@npm:10.4.0" - checksum: 10c0/a3fcedfc58bfcce21a05a5f36a529d81e88d602100145fcca3dc6f795e3c8acc4fc18fe773fbf9b6d6e9371205edb3afa2668ec3473fa2aa7fd47d2a9d46482d - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"end-of-stream@npm:^1.1.0": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: "npm:^1.4.0" - checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 - languageName: node - linkType: hard - -"enquirer@npm:2.3.6": - version: 2.3.6 - resolution: "enquirer@npm:2.3.6" - dependencies: - ansi-colors: "npm:^4.1.1" - checksum: 10c0/8e070e052c2c64326a2803db9084d21c8aaa8c688327f133bf65c4a712586beb126fd98c8a01cfb0433e82a4bd3b6262705c55a63e0f7fb91d06b9cedbde9a11 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.5": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"fast-fifo@npm:^1.2.0, fast-fifo@npm:^1.3.2": - version: 1.3.2 - resolution: "fast-fifo@npm:1.3.2" - checksum: 10c0/d53f6f786875e8b0529f784b59b4b05d4b5c31c651710496440006a398389a579c8dbcd2081311478b5bf77f4b0b21de69109c5a4eabea9d8e8783d1eb864e4c - languageName: node - linkType: hard - -"figures@npm:^3.2.0": - version: 3.2.0 - resolution: "figures@npm:3.2.0" - dependencies: - escape-string-regexp: "npm:^1.0.5" - checksum: 10c0/9c421646ede432829a50bc4e55c7a4eb4bcb7cc07b5bab2f471ef1ab9a344595bbebb6c5c21470093fbb730cd81bbca119624c40473a125293f656f49cb47629 - languageName: node - linkType: hard - -"follow-redirects@npm:^1.15.6": - version: 1.15.9 - resolution: "follow-redirects@npm:1.15.9" - peerDependenciesMeta: - debug: - optional: true - checksum: 10c0/5829165bd112c3c0e82be6c15b1a58fa9dcfaede3b3c54697a82fe4a62dd5ae5e8222956b448d2f98e331525f05d00404aba7d696de9e761ef6e42fdc780244f - languageName: node - linkType: hard - -"form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" - dependencies: - asynckit: "npm:^0.4.0" - combined-stream: "npm:^1.0.8" - mime-types: "npm:^2.1.12" - checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e - languageName: node - linkType: hard - -"fs-extra@npm:10.1.0": - version: 10.1.0 - resolution: "fs-extra@npm:10.1.0" - dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/5f579466e7109719d162a9249abbeffe7f426eb133ea486e020b89bc6d67a741134076bf439983f2eb79276ceaf6bd7b7c1e43c3fd67fe889863e69072fb0a5e - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fuzzysearch@npm:1.0.3": - version: 1.0.3 - resolution: "fuzzysearch@npm:1.0.3" - checksum: 10c0/de6ab4a84cb0d570d1b55c9b9c2bb435b2a781452d23e63911e95d333e3dd1badea743a1d1ab0cac6f28d7e262347dfce10632f0aa9e5df0baaae0270f49578f - languageName: node - linkType: hard - -"get-east-asian-width@npm:^1.0.0": - version: 1.2.0 - resolution: "get-east-asian-width@npm:1.2.0" - checksum: 10c0/914b1e217cf38436c24b4c60b4c45289e39a45bf9e65ef9fd343c2815a1a02b8a0215aeec8bf9c07c516089004b6e3826332481f40a09529fcadbf6e579f286b - languageName: node - linkType: hard - -"glob@npm:^7.1.3": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"globalyzer@npm:0.1.0": - version: 0.1.0 - resolution: "globalyzer@npm:0.1.0" - checksum: 10c0/e16e47a5835cbe8a021423d4c7fcd9f5f85815b4190a7f50c1fdb95fc559d72e4fb30be96f106c66a99413f36d72da0f8323d19d27f60a8feec9d936139ec5a8 - languageName: node - linkType: hard - -"globrex@npm:^0.1.2": - version: 0.1.2 - resolution: "globrex@npm:0.1.2" - checksum: 10c0/a54c029520cf58bda1d8884f72bd49b4cd74e977883268d931fd83bcbd1a9eb96d57c7dbd4ad80148fb9247467ebfb9b215630b2ed7563b2a8de02e1ff7f89d1 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:5.0.0": - version: 5.0.0 - resolution: "https-proxy-agent@npm:5.0.0" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/670c04f7f0effb5a449c094ea037cbcfb28a5ab93ed22e8c343095202cc7288027869a5a21caf4ee3b8ea06f9624ef1e1fc9044669c0fd92617654ff39f30806 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-interactive@npm:^2.0.0": - version: 2.0.0 - resolution: "is-interactive@npm:2.0.0" - checksum: 10c0/801c8f6064f85199dc6bf99b5dd98db3282e930c3bc197b32f2c5b89313bb578a07d1b8a01365c4348c2927229234f3681eb861b9c2c92bee72ff397390fa600 - languageName: node - linkType: hard - -"is-unicode-supported@npm:^1.3.0": - version: 1.3.0 - resolution: "is-unicode-supported@npm:1.3.0" - checksum: 10c0/b8674ea95d869f6faabddc6a484767207058b91aea0250803cbf1221345cb0c56f466d4ecea375dc77f6633d248d33c47bd296fb8f4cdba0b4edba8917e83d8a - languageName: node - linkType: hard - -"is-unicode-supported@npm:^2.0.0": - version: 2.1.0 - resolution: "is-unicode-supported@npm:2.1.0" - checksum: 10c0/a0f53e9a7c1fdbcf2d2ef6e40d4736fdffff1c9f8944c75e15425118ff3610172c87bf7bc6c34d3903b04be59790bb2212ddbe21ee65b5a97030fc50370545a5 - languageName: node - linkType: hard - -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 - languageName: node - linkType: hard - -"log-symbols@npm:^6.0.0": - version: 6.0.0 - resolution: "log-symbols@npm:6.0.0" - dependencies: - chalk: "npm:^5.3.0" - is-unicode-supported: "npm:^1.3.0" - checksum: 10c0/36636cacedba8f067d2deb4aad44e91a89d9efb3ead27e1846e7b82c9a10ea2e3a7bd6ce28a7ca616bebc60954ff25c67b0f92d20a6a746bb3cc52c3701891f6 - languageName: node - linkType: hard - -"log-symbols@npm:^7.0.0": - version: 7.0.0 - resolution: "log-symbols@npm:7.0.0" - dependencies: - is-unicode-supported: "npm:^2.0.0" - yoctocolors: "npm:^2.1.1" - checksum: 10c0/209eeb0009da6c3f9ebb736d3d65ff1ad3cb757b0c3ba66a5089d7463f77155ade88084c4db31b53341c89aeae3dc89dbc56888d2ae6ffd082bf96c4d2ac429d - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:^2.1.12": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"mimic-function@npm:^5.0.0": - version: 5.0.1 - resolution: "mimic-function@npm:5.0.1" - checksum: 10c0/f3d9464dd1816ecf6bdf2aec6ba32c0728022039d992f178237d8e289b48764fee4131319e72eedd4f7f094e22ded0af836c3187a7edc4595d28dd74368fd81d - languageName: node - linkType: hard - -"minimatch@npm:^3.1.1": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minizlib@npm:^2.1.1": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mri@npm:1.1.6": - version: 1.1.6 - resolution: "mri@npm:1.1.6" - checksum: 10c0/dd29640dd5d4d3abc959156806adc2e7c6233b010609727499616f2047e9481dcbd3ba9b0bc7135428f1c42cca6b0475cee6f898b41ff8ccec730e4fa80de40d - languageName: node - linkType: hard - -"ms@npm:^2.1.3": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"mute-stream@npm:^1.0.0": - version: 1.0.0 - resolution: "mute-stream@npm:1.0.0" - checksum: 10c0/dce2a9ccda171ec979a3b4f869a102b1343dee35e920146776780de182f16eae459644d187e38d59a3d37adf85685e1c17c38cf7bfda7e39a9880f7a1d10a74c - languageName: node - linkType: hard - -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^7.0.0": - version: 7.0.0 - resolution: "onetime@npm:7.0.0" - dependencies: - mimic-function: "npm:^5.0.0" - checksum: 10c0/5cb9179d74b63f52a196a2e7037ba2b9a893245a5532d3f44360012005c9cadb60851d56716ebff18a6f47129dab7168022445df47c2aff3b276d92585ed1221 - languageName: node - linkType: hard - -"ora@npm:^8.1.0": - version: 8.1.0 - resolution: "ora@npm:8.1.0" - dependencies: - chalk: "npm:^5.3.0" - cli-cursor: "npm:^5.0.0" - cli-spinners: "npm:^2.9.2" - is-interactive: "npm:^2.0.0" - is-unicode-supported: "npm:^2.0.0" - log-symbols: "npm:^6.0.0" - stdin-discarder: "npm:^0.2.2" - string-width: "npm:^7.2.0" - strip-ansi: "npm:^7.1.0" - checksum: 10c0/4ac9a6dd7fe915a354680f33ced21ee96d13d3c5ab0dc00b3c3ba9e3695ed141b1d045222990f5a71a9a91f801042a0b0d32e58dfc5509ff9b81efdd3fcf6339 - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.2 - resolution: "pump@npm:3.0.2" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/5ad655cb2a7738b4bcf6406b24ad0970d680649d996b55ad20d1be8e0c02394034e4c45ff7cd105d87f1e9b96a0e3d06fd28e11fae8875da26e7f7a8e2c9726f - languageName: node - linkType: hard - -"queue-tick@npm:^1.0.1": - version: 1.0.1 - resolution: "queue-tick@npm:1.0.1" - checksum: 10c0/0db998e2c9b15215317dbcf801e9b23e6bcde4044e115155dae34f8e7454b9a783f737c9a725528d677b7a66c775eb7a955cf144fe0b87f62b575ce5bfd515a9 - languageName: node - linkType: hard - -"restore-cursor@npm:^5.0.0": - version: 5.1.0 - resolution: "restore-cursor@npm:5.1.0" - dependencies: - onetime: "npm:^7.0.0" - signal-exit: "npm:^4.1.0" - checksum: 10c0/c2ba89131eea791d1b25205bdfdc86699767e2b88dee2a590b1a6caa51737deac8bad0260a5ded2f7c074b7db2f3a626bcf1fcf3cdf35974cbeea5e2e6764f60 - languageName: node - linkType: hard - -"rimraf@npm:3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - -"run-async@npm:^3.0.0": - version: 3.0.0 - resolution: "run-async@npm:3.0.0" - checksum: 10c0/b18b562ae37c3020083dcaae29642e4cc360c824fbfb6b7d50d809a9d5227bb986152d09310255842c8dce40526e82ca768f02f00806c91ba92a8dfa6159cb85 - languageName: node - linkType: hard - -"signal-exit@npm:^4.1.0": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"stdin-discarder@npm:^0.2.2": - version: 0.2.2 - resolution: "stdin-discarder@npm:0.2.2" - checksum: 10c0/c78375e82e956d7a64be6e63c809c7f058f5303efcaf62ea48350af072bacdb99c06cba39209b45a071c1acbd49116af30df1df9abb448df78a6005b72f10537 - languageName: node - linkType: hard - -"streamx@npm:^2.15.0, streamx@npm:^2.20.0": - version: 2.20.1 - resolution: "streamx@npm:2.20.1" - dependencies: - bare-events: "npm:^2.2.0" - fast-fifo: "npm:^1.3.2" - queue-tick: "npm:^1.0.1" - text-decoder: "npm:^1.1.0" - dependenciesMeta: - bare-events: - optional: true - checksum: 10c0/34ffa2ee9465d70e18c7e2ba70189720c166d150ab83eb7700304620fa23ff42a69cb37d712ea4b5fc6234d8e74346a88bb4baceb873c6b05e52ac420f8abb4d - languageName: node - linkType: hard - -"string-width@npm:^4.1.0": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^7.2.0": - version: 7.2.0 - resolution: "string-width@npm:7.2.0" - dependencies: - emoji-regex: "npm:^10.3.0" - get-east-asian-width: "npm:^1.0.0" - strip-ansi: "npm:^7.1.0" - checksum: 10c0/eb0430dd43f3199c7a46dcbf7a0b34539c76fe3aa62763d0b0655acdcbdf360b3f66f3d58ca25ba0205f42ea3491fa00f09426d3b7d3040e506878fc7664c9b9 - languageName: node - linkType: hard - -"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^7.1.0": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"tar-fs@npm:^3.0.6": - version: 3.0.6 - resolution: "tar-fs@npm:3.0.6" - dependencies: - bare-fs: "npm:^2.1.1" - bare-path: "npm:^2.1.0" - pump: "npm:^3.0.0" - tar-stream: "npm:^3.1.5" - dependenciesMeta: - bare-fs: - optional: true - bare-path: - optional: true - checksum: 10c0/207b7c0f193495668bd9dbad09a0108ce4ffcfec5bce2133f90988cdda5c81fad83c99f963d01e47b565196594f7a17dbd063ae55b97b36268fcc843975278ee - languageName: node - linkType: hard - -"tar-stream@npm:^3.1.5": - version: 3.1.7 - resolution: "tar-stream@npm:3.1.7" - dependencies: - b4a: "npm:^1.6.4" - fast-fifo: "npm:^1.2.0" - streamx: "npm:^2.15.0" - checksum: 10c0/a09199d21f8714bd729993ac49b6c8efcb808b544b89f23378ad6ffff6d1cb540878614ba9d4cfec11a64ef39e1a6f009a5398371491eb1fda606ffc7f70f718 - languageName: node - linkType: hard - -"tar@npm:^6.1.11": - version: 6.2.1 - resolution: "tar@npm:6.2.1" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 - languageName: node - linkType: hard - -"text-decoder@npm:^1.1.0": - version: 1.2.0 - resolution: "text-decoder@npm:1.2.0" - dependencies: - b4a: "npm:^1.6.4" - checksum: 10c0/398171bef376e06864cd6ba24e0787cc626bebc84a1bbda758d06a6e9b729cc8613f7923dd0d294abd88e8bb5cd7261aad5fda7911fb87253fe71b2b5ac6e507 - languageName: node - linkType: hard - -"tiged@npm:^2.12.6": - version: 2.12.7 - resolution: "tiged@npm:2.12.7" - dependencies: - colorette: "npm:1.2.1" - enquirer: "npm:2.3.6" - fs-extra: "npm:10.1.0" - fuzzysearch: "npm:1.0.3" - https-proxy-agent: "npm:5.0.0" - mri: "npm:1.1.6" - rimraf: "npm:3.0.2" - tar: "npm:^6.1.11" - tiny-glob: "npm:0.2.8" - bin: - degit: bin.js - tiged: bin.js - checksum: 10c0/925ef35312b956a88d87a707193288deb99ef4dcb9097e0b53f3f6e6bd6cfc20d5aff7d32848b67892d8092923936d53b9473643c9d715c3b757a105a4f0191a - languageName: node - linkType: hard - -"tiny-glob@npm:0.2.8": - version: 0.2.8 - resolution: "tiny-glob@npm:0.2.8" - dependencies: - globalyzer: "npm:0.1.0" - globrex: "npm:^0.1.2" - checksum: 10c0/3055a11a94e35a26630262a80404bc81e987d567824ea51dc6d937a8ea5b0e87088ac0c4acc3edcb34b94f074d103b78523293ccc737abc8cc5024eb227a9790 - languageName: node - linkType: hard - -"type-fest@npm:^0.21.3": - version: 0.21.3 - resolution: "type-fest@npm:0.21.3" - checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 - languageName: node - linkType: hard - -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 - languageName: node - linkType: hard - -"universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a - languageName: node - linkType: hard - -"wrap-ansi@npm:^6.2.0": - version: 6.2.0 - resolution: "wrap-ansi@npm:6.2.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/baad244e6e33335ea24e86e51868fe6823626e3a3c88d9a6674642afff1d34d9a154c917e74af8d845fd25d170c4ea9cf69a47133c3f3656e1252b3d462d9f6c - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yoctocolors@npm:^2.1.1": - version: 2.1.1 - resolution: "yoctocolors@npm:2.1.1" - checksum: 10c0/85903f7fa96f1c70badee94789fade709f9d83dab2ec92753d612d84fcea6d34c772337a9f8914c6bed2f5fc03a428ac5d893e76fab636da5f1236ab725486d0 - languageName: node - linkType: hard