From 8eebdb1d403d72e28702a622f2299eb577ba79db Mon Sep 17 00:00:00 2001 From: signorecello Date: Thu, 30 May 2024 18:13:22 +0000 Subject: [PATCH 01/16] chore(docs): moving tutorials and quick starts around, spinning off codespaces page --- docs/docs/getting_started.md | 2 ++ docs/docs/getting_started/manual_install.md | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index 9b78a80b8e17..f30bcdcef48d 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -6,6 +6,8 @@ The easiest way to start developing on Aztec locally is through `npx aztec-app`. To locally install the Sandbox without other tools, see [here](./getting_started/manual_install.md). +If you'd like to develop remotely (for example, if you're on Windows or have trouble working with Docker), follow the [codespaces guide](./getting_started/codespaces.md). + ## Prerequisites - Node.js >= v18 (recommend installing with [nvm](https://github.com/nvm-sh/nvm)) diff --git a/docs/docs/getting_started/manual_install.md b/docs/docs/getting_started/manual_install.md index a5e3f3ad93b2..f65a32f94404 100644 --- a/docs/docs/getting_started/manual_install.md +++ b/docs/docs/getting_started/manual_install.md @@ -34,7 +34,11 @@ Once these have been installed, to start the sandbox, run: aztec-sandbox ``` +<<<<<<< HEAD ### Have fun +======= +### Have fun! +>>>>>>> 807db728b3 (chore(docs): moving tutorials and quick starts around, spinning off codespaces page) **Congratulations, you have just installed and run the Aztec Sandbox!** @@ -64,6 +68,7 @@ aztec start --node [nodeOptions] --pxe [pxeOptions] --archiver [archiverOptions] Starting the aztec node alongside a PXE, sequencer or archiver, will attach the components to the node.Eg if you want to run a PXE separately to a node, you can [read this guide](../aztec/concepts/pxe/index.md)/ +<<<<<<< HEAD ## Update the sandbox To update the sandbox, you can just run: @@ -72,6 +77,8 @@ To update the sandbox, you can just run: aztec-up ``` +======= +>>>>>>> 807db728b3 (chore(docs): moving tutorials and quick starts around, spinning off codespaces page) ## Next steps Visit the [sandbox reference](../reference/sandbox_reference/index.md) for more info on which environment variables you can set, which cheat codes you can use, and learn about what exactly is the Aztec Sandbox. From a612d89a512cab576e10c7dae237d47d33380b01 Mon Sep 17 00:00:00 2001 From: signorecello Date: Mon, 27 May 2024 07:35:29 +0000 Subject: [PATCH 02/16] first push (needed for devcontainer) --- .devcontainer/sandbox_only/devcontainer.json | 18 ++++++++++++ .devcontainer/scripts/onCreateCommand.sh | 18 ++++++------ .devcontainer/scripts/postAttachCommand.sh | 3 +- .../docs/tutorials/new_dapp_tutorial/index.md | 28 +++++++++++++++++++ 4 files changed, 57 insertions(+), 10 deletions(-) create mode 100644 .devcontainer/sandbox_only/devcontainer.json create mode 100644 docs/docs/tutorials/new_dapp_tutorial/index.md diff --git a/.devcontainer/sandbox_only/devcontainer.json b/.devcontainer/sandbox_only/devcontainer.json new file mode 100644 index 000000000000..eafead0351d9 --- /dev/null +++ b/.devcontainer/sandbox_only/devcontainer.json @@ -0,0 +1,18 @@ +{ + "name": "Sandbox Only", + "image": "node:lts-bookworm", + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": {} + }, + "onCreateCommand": "cp -R /root/workspace /root/scripts && rm -rf /root/workspace/* && sh /root/scripts/onCreateCommand.sh sandbox_only", + "postAttachCommand": "sh /root/scripts/postAttachCommand.sh", + "customizations": { + "vscode": { + "settings": {}, + "extensions": ["noir-lang.vscode-noir"] + } + }, + "workspaceMount": "source=${localWorkspaceFolder}/.devcontainer/scripts,target=/root/workspace,type=bind", + "workspaceFolder": "/root/workspace", + "forwardPorts": [8080] +} diff --git a/.devcontainer/scripts/onCreateCommand.sh b/.devcontainer/scripts/onCreateCommand.sh index c0970999305b..5e42725160d2 100755 --- a/.devcontainer/scripts/onCreateCommand.sh +++ b/.devcontainer/scripts/onCreateCommand.sh @@ -14,13 +14,15 @@ if ! grep -q "alias sandbox" ~/.bashrc; then echo "alias sandbox=\"npx aztec-app sandbox\"" >> ~/.bashrc fi -source ~/.bashrc -yes | npx aztec-app -t $TYPE -n $NAME -s -mv $NAME/* $NAME/.* . -rm -rf $NAME +if [ "$TYPE" != "sandbox_only" ]; then + source ~/.bashrc + yes | npx create-aztec-app -t $TYPE -n $NAME -s + mv $NAME/* $NAME/.* . + rm -rf $NAME -yarn + yarn -npx -y playwright install --with-deps -yarn add @aztec/builder -yarn prep + npx -y playwright install --with-deps + yarn add @aztec/builder + yarn prep +fi diff --git a/.devcontainer/scripts/postAttachCommand.sh b/.devcontainer/scripts/postAttachCommand.sh index 9eeff69f3502..06eb743d1064 100755 --- a/.devcontainer/scripts/postAttachCommand.sh +++ b/.devcontainer/scripts/postAttachCommand.sh @@ -1,7 +1,6 @@ #!/usr/bin/env bash -TYPE=$1 -NAME=$2 +apt update apt install gh gh codespace ports visibility 8080:public -c $CODESPACE_NAME diff --git a/docs/docs/tutorials/new_dapp_tutorial/index.md b/docs/docs/tutorials/new_dapp_tutorial/index.md new file mode 100644 index 000000000000..4fbaeb7aeb13 --- /dev/null +++ b/docs/docs/tutorials/new_dapp_tutorial/index.md @@ -0,0 +1,28 @@ +--- +title: Dapp Tutorial +--- + +Aztec is the most powerful blockchain since Ethereum was born. + +While several projects provide privacy at the protocol level, Aztec leverages extremely complex cryptography for client-side privacy, while keeping the network fully transparent. + +But not everything that is complex must be difficult. In this tutorial, you will build a simple project and learn about private and public functions and their composability, state management, and other core principles of Aztec. + +## Objective + +We will build a private voting app. + +On Aztec, a contract like this will be fully verifiable, public and decentralized. And yet, your users will be able to cast their vote privately and update the count in public. + +For simplicity's sake, the current count will be public, there won't be delegate voting, there will be an admin, and etc. But at the end of the tutorial, it will be clear to you that these requirements are easily met with Aztec. + +## Getting started + +We will be using the same codespace hack as in the [quickstart guide](../../getting_started.md) so we can have a sandbox running in a few minutes. We can continue while it does its thing in the background: + + +Using codespaces allows us to skip all the tooling regarding development network management. You can learn more about what's "in the box" [here](../../reference/sandbox-reference.md). + +### Setting up a project + +The codespace comes with aztec-nargo From 4832ef494e1999ea0de5b1db71a7c5ed919e11f0 Mon Sep 17 00:00:00 2001 From: signorecello Date: Mon, 27 May 2024 15:25:53 +0000 Subject: [PATCH 03/16] another staging commit --- .devcontainer/scripts/onCreateCommand.sh | 3 +- boxes/bin.js | 150 ++++++++++-------- boxes/init/Nargo.toml | 6 + boxes/init/src/main.nr | 6 + boxes/package.json | 4 +- boxes/scripts/init.js | 19 +++ boxes/yarn.lock | 60 +++---- .../docs/tutorials/new_dapp_tutorial/index.md | 78 ++++++++- .../tutorials/private_voting/just_compile.jpg | Bin 0 -> 86633 bytes .../private_voting/submit_to_typescript.jpeg | Bin 0 -> 37016 bytes yarn-project/builder/t.json | 119 ++++++++++++++ 11 files changed, 341 insertions(+), 104 deletions(-) create mode 100644 boxes/init/Nargo.toml create mode 100644 boxes/init/src/main.nr create mode 100644 boxes/scripts/init.js create mode 100644 docs/static/img/tutorials/private_voting/just_compile.jpg create mode 100644 docs/static/img/tutorials/private_voting/submit_to_typescript.jpeg create mode 100644 yarn-project/builder/t.json diff --git a/.devcontainer/scripts/onCreateCommand.sh b/.devcontainer/scripts/onCreateCommand.sh index 5e42725160d2..ce617261308b 100755 --- a/.devcontainer/scripts/onCreateCommand.sh +++ b/.devcontainer/scripts/onCreateCommand.sh @@ -19,7 +19,8 @@ if [ "$TYPE" != "sandbox_only" ]; then yes | npx create-aztec-app -t $TYPE -n $NAME -s mv $NAME/* $NAME/.* . rm -rf $NAME - + corepack enable + yarn npx -y playwright install --with-deps diff --git a/boxes/bin.js b/boxes/bin.js index 75a26d2b3565..3d1bc2be6823 100755 --- a/boxes/bin.js +++ b/boxes/bin.js @@ -1,5 +1,5 @@ #!/usr/bin/env node -import { Command, Option } from "commander"; +import { Command } from "commander"; const program = new Command(); import { chooseProject } from "./scripts/steps/chooseBox.js"; import { @@ -18,6 +18,7 @@ import { log, sandboxRunStep, } from "./scripts/steps/sandbox/run.js"; +import { init } from "./scripts/init.js"; const getLatestStable = async () => { const { data } = await axios.get( @@ -26,71 +27,76 @@ const getLatestStable = async () => { return data[0].tag_name.split("-v")[1]; }; -const init = async ({ debug, github_token, version }) => { - const axiosOpts = { - timeout: 5000, - headers: github_token ? { Authorization: `token ${github_token}` } : {}, - }; - - const prettyOpts = { - sync: true, - colorize: true, - include: debug ? "time" : "", - customLevels: "success:80", - customColors: "success:bgGreen", - }; - - const prettyStream = pretty(prettyOpts); - const logger = pino( - { - customLevels: { - success: 80, +program + .option("-v, --version ", "a version number or master tag") + .option("-d, --debug", "output extra debugging") + .option("-gh, --github_token ", "a github token") + .hook("preSubcommand", async (thisCommand) => { + const { debug, github_token, version } = thisCommand.opts(); + const axiosOpts = { + timeout: 5000, + headers: github_token ? { Authorization: `token ${github_token}` } : {}, + }; + + const prettyOpts = { + sync: true, + colorize: true, + include: debug ? "time" : "", + customLevels: "success:80", + customColors: "success:bgGreen", + }; + + const prettyStream = pretty(prettyOpts); + const logger = pino( + { + customLevels: { + success: 80, + }, + level: debug ? "debug" : "info", }, - level: debug ? "debug" : "info", - }, - prettyStream, - ); - - global.debug = (msg) => logger.debug(msg); - global.info = (msg) => logger.info(msg); - global.success = (msg) => logger.success(msg); - - global.warn = (msg) => logger.warn(msg); - global.error = (msg) => logger.error(msg); - - global.github = async ({ path, raw = false }) => { - try { - const url = raw - ? `https://raw.githubusercontent.com/${AZTEC_REPO}/${path}` - : `https://api.github.com/repos/${AZTEC_REPO}/contents/${path}`; - const { data } = await axios.get(url, axiosOpts); - global.debug(data); - return data; - } catch (e) { - global.error(e); - } - }; - - // versioning is confusing here because "latest" and "master" point to the same thing at times - // so let's clarify a bit: - // - // if the user has set a version (ex. "master" or "0.23.0"), use that - // otherwise use the stable release (ex. 0.24.0) - global.latestStable = await getLatestStable(); - global.version = version || global.latestStable; - - // if the user has set a semver version (matches the regex), fetch that tag (i.e. aztec-packages-v0.23.0) - // otherwise use the version as the tag - global.tag = global.version.match(/^\d+\.\d+\.\d+$/) - ? `aztec-packages-v${global.version}` - : global.version; - - global.debug(`Version: ${global.version}`); - global.debug(`Tag: ${global.tag}`); - global.debug(`LatestStable: ${global.latestStable}`); - - global.spinner = ora({ color: "blue" }); -}; + prettyStream, + ); + + global.debug = (msg) => logger.debug(msg); + global.info = (msg) => logger.info(msg); + global.success = (msg) => logger.success(msg); + + global.warn = (msg) => logger.warn(msg); + global.error = (msg) => logger.error(msg); + + global.github = async ({ path, raw = false }) => { + try { + const url = raw + ? `https://raw.githubusercontent.com/${AZTEC_REPO}/${path}` + : `https://api.github.com/repos/${AZTEC_REPO}/contents/${path}`; + const { data } = await axios.get(url, axiosOpts); + global.debug(data); + return data; + } catch (e) { + global.error(e); + } + }; + + // versioning is confusing here because "latest" and "master" point to the same thing at times + // so let's clarify a bit: + // + // if the user has set a version (ex. "master" or "0.23.0"), use that + // otherwise use the stable release (ex. 0.24.0) + global.latestStable = await getLatestStable(); + global.version = version || global.latestStable; + + // if the user has set a semver version (matches the regex), fetch that tag (i.e. aztec-packages-v0.23.0) + // otherwise use the version as the tag + global.tag = global.version.match(/^\d+\.\d+\.\d+$/) + ? `aztec-packages-v${global.version}` + : global.version; + + global.debug(`Version: ${global.version}`); + global.debug(`Tag: ${global.tag}`); + global.debug(`LatestStable: ${global.latestStable}`); + + global.spinner = ora({ color: "blue" }); + }); const sandbox = program.command("sandbox"); sandbox.description("Manage the Aztec Sandbox"); @@ -100,12 +106,17 @@ sandbox.command("stop").action(stop); sandbox.command("install").action(install); sandbox.command("update").action(update); +program + .command("init") + .description("Bootstrap an empty Aztec contract") + .argument("[folder]", "optional folder to init your project into", ".") + .action(async (folder) => { + await init(folder); + }); + program .command("new", { isDefault: true }) .description("An Aztec project with a built-in development network") - .option("-d, --debug", "output extra debugging") - .option("-gh, --github_token ", "a github token") - .option("-v, --version ", "a version number or master tag") .option( "-s, --skip-sandbox", "skip sandbox installation and run after cloning", @@ -128,8 +139,7 @@ program } const { projectType, projectName, skipSandbox } = options; - // SETUP: Initialize global variables - await init(options); + // // STEP 1: Choose the boilerplate await chooseProject({ projectType, projectName }); diff --git a/boxes/init/Nargo.toml b/boxes/init/Nargo.toml new file mode 100644 index 000000000000..14bcaec85ac4 --- /dev/null +++ b/boxes/init/Nargo.toml @@ -0,0 +1,6 @@ +[package] +name = "init" +type = "contract" + +[dependencies] +aztec = { path = "../../noir-projects/aztec-nr/aztec" } diff --git a/boxes/init/src/main.nr b/boxes/init/src/main.nr new file mode 100644 index 000000000000..8e06a99f11ce --- /dev/null +++ b/boxes/init/src/main.nr @@ -0,0 +1,6 @@ + +contract Main { + #[aztec(private)] + #[aztec(initializer)] + fn constructor() { } +} diff --git a/boxes/package.json b/boxes/package.json index ad941bc6c07d..e7125b8d69ba 100644 --- a/boxes/package.json +++ b/boxes/package.json @@ -1,7 +1,7 @@ { - "name": "create-aztec-app", + "name": "aztec-app", "packageManager": "yarn@4.0.2", - "version": "0.4.4", + "version": "0.4.8", "type": "module", "scripts": { "compile": "yarn workspaces foreach -A -v run compile", diff --git a/boxes/scripts/init.js b/boxes/scripts/init.js new file mode 100644 index 000000000000..ad122b90a272 --- /dev/null +++ b/boxes/scripts/init.js @@ -0,0 +1,19 @@ +import { replacePaths } from "./utils.js"; +import { AZTEC_REPO } from "./config.js"; +import tiged from "tiged"; + +export async function init(folder) { + const emitter = tiged(`${AZTEC_REPO}/boxes/init${tag && `#${tag}`}`, { + verbose: true, + }); + emitter.on("info", ({ message }) => debug(message)); + emitter.on("warn", ({ message }) => error(message)); + await emitter.clone(`${folder}`); + + await replacePaths({ + rootDir: `${folder}`, + tag, + version, + prefix: "", + }); +} diff --git a/boxes/yarn.lock b/boxes/yarn.lock index 526dda9a34fe..5a2e5e285d1b 100644 --- a/boxes/yarn.lock +++ b/boxes/yarn.lock @@ -15,15 +15,15 @@ __metadata: languageName: node linkType: hard -"@aztec/accounts@link:../yarn-project/accounts::locator=create-aztec-app%40workspace%3A.": +"@aztec/accounts@link:../yarn-project/accounts::locator=aztec-app%40workspace%3A.": version: 0.0.0-use.local - resolution: "@aztec/accounts@link:../yarn-project/accounts::locator=create-aztec-app%40workspace%3A." + resolution: "@aztec/accounts@link:../yarn-project/accounts::locator=aztec-app%40workspace%3A." languageName: node linkType: soft -"@aztec/aztec.js@link:../yarn-project/aztec.js::locator=create-aztec-app%40workspace%3A.": +"@aztec/aztec.js@link:../yarn-project/aztec.js::locator=aztec-app%40workspace%3A.": version: 0.0.0-use.local - resolution: "@aztec/aztec.js@link:../yarn-project/aztec.js::locator=create-aztec-app%40workspace%3A." + resolution: "@aztec/aztec.js@link:../yarn-project/aztec.js::locator=aztec-app%40workspace%3A." languageName: node linkType: soft @@ -51,15 +51,15 @@ __metadata: languageName: node linkType: hard -"@aztec/circuits.js@link:../yarn-project/circuits.js::locator=create-aztec-app%40workspace%3A.": +"@aztec/circuits.js@link:../yarn-project/circuits.js::locator=aztec-app%40workspace%3A.": version: 0.0.0-use.local - resolution: "@aztec/circuits.js@link:../yarn-project/circuits.js::locator=create-aztec-app%40workspace%3A." + resolution: "@aztec/circuits.js@link:../yarn-project/circuits.js::locator=aztec-app%40workspace%3A." languageName: node linkType: soft -"@aztec/foundation@link:../yarn-project/foundation::locator=create-aztec-app%40workspace%3A.": +"@aztec/foundation@link:../yarn-project/foundation::locator=aztec-app%40workspace%3A.": version: 0.0.0-use.local - resolution: "@aztec/foundation@link:../yarn-project/foundation::locator=create-aztec-app%40workspace%3A." + resolution: "@aztec/foundation@link:../yarn-project/foundation::locator=aztec-app%40workspace%3A." languageName: node linkType: soft @@ -113,9 +113,9 @@ __metadata: languageName: unknown linkType: soft -"@aztec/types@link:../yarn-project/types::locator=create-aztec-app%40workspace%3A.": +"@aztec/types@link:../yarn-project/types::locator=aztec-app%40workspace%3A.": version: 0.0.0-use.local - resolution: "@aztec/types@link:../yarn-project/types::locator=create-aztec-app%40workspace%3A." + resolution: "@aztec/types@link:../yarn-project/types::locator=aztec-app%40workspace%3A." languageName: node linkType: soft @@ -2353,6 +2353,26 @@ __metadata: languageName: node linkType: hard +"aztec-app@workspace:.": + version: 0.0.0-use.local + resolution: "aztec-app@workspace:." + dependencies: + "@iarna/toml": "npm:^2.2.5" + "@inquirer/confirm": "npm:^3.0.0" + "@inquirer/input": "npm:^2.0.0" + "@inquirer/select": "npm:^2.0.0" + "@playwright/test": "npm:1.42.0" + axios: "npm:^1.6.7" + commander: "npm:^12.0.0" + ora: "npm:^8.0.1" + pino: "npm:^8.19.0" + pino-pretty: "npm:^10.3.1" + tiged: "npm:^2.12.6" + bin: + aztec-app: bin.js + languageName: unknown + linkType: soft + "babel-jest@npm:^29.7.0": version: 29.7.0 resolution: "babel-jest@npm:29.7.0" @@ -3096,26 +3116,6 @@ __metadata: languageName: node linkType: hard -"create-aztec-app@workspace:.": - version: 0.0.0-use.local - resolution: "create-aztec-app@workspace:." - dependencies: - "@iarna/toml": "npm:^2.2.5" - "@inquirer/confirm": "npm:^3.0.0" - "@inquirer/input": "npm:^2.0.0" - "@inquirer/select": "npm:^2.0.0" - "@playwright/test": "npm:1.42.0" - axios: "npm:^1.6.7" - commander: "npm:^12.0.0" - ora: "npm:^8.0.1" - pino: "npm:^8.19.0" - pino-pretty: "npm:^10.3.1" - tiged: "npm:^2.12.6" - bin: - create-aztec-app: bin.js - languageName: unknown - linkType: soft - "create-jest@npm:^29.7.0": version: 29.7.0 resolution: "create-jest@npm:29.7.0" diff --git a/docs/docs/tutorials/new_dapp_tutorial/index.md b/docs/docs/tutorials/new_dapp_tutorial/index.md index 4fbaeb7aeb13..bd1707e6d7f7 100644 --- a/docs/docs/tutorials/new_dapp_tutorial/index.md +++ b/docs/docs/tutorials/new_dapp_tutorial/index.md @@ -25,4 +25,80 @@ Using codespaces allows us to skip all the tooling regarding development network ### Setting up a project -The codespace comes with aztec-nargo +You can immediately start a new project by using a handy `npx` command: + + + +```bash +npx aztec-app init +``` + + + +Your file structure should look something like this: + +```tree +| |--src +| | |--main.nr +| |--Nargo.toml +``` + +As you can imagine, this is little more than a stub, but still we can see the `main.nr` file which holds our contract, and Nargo.toml which will hold our dependencies. + +![Why can't you just compile it](@site/img/tutorials/private_voting/just_compile.jpg) + +Yes yes I'll shut up a little bit. Let's compile this little guy. Write: + + + +```bash +aztec-nargo compile +``` + + + +You'll see a new folder `target` showing up. Feel free to have a look: it contains both the ABI (a "skeleton" of the contract), the partial witness that represents the public inputs, and the bytecode, along with other useful information. + +## Deploy and run 😈 + +Deploying is quite easy now. Once upon a time, we could do it via CLI, but we have submitted to the Typescript cult for the time being. This is where Aztec.JS comes in: a simple library to interact with your contract. + +![Aztec team submitting to Typescript](@site/img/tutorials/private_voting/submit_to_typescript.jpeg) + +Let's write a quick JS script to do this for us. But wait... How does Javascript know which functions to call on the contract? We made yet another tool `aztec-builder` for that, of course! Just run it: + +```bash +aztec-builder codegen -o artifacts target +``` + + +Pick your favourite Node.js package manager and install `@aztec/aztec.js`: + + + +```bash +yarn add @aztec/aztec.js # or npm i @aztec/aztec.js +``` + + + +This will bootrap a JS app for you. We need to create our `index.js` file and tell `node` how to run it by adding it to a "start" property in `package.json`. + +:::tip + +You can do this in one line with: + + + +```bash +touch index.js && npm pkg set scripts.start="node index.js" +``` + + + +__Oh the wonders of bash ❤️__ + +::: + +Now we write the deployment logic. Don't sweat it, it will only take a minute. + diff --git a/docs/static/img/tutorials/private_voting/just_compile.jpg b/docs/static/img/tutorials/private_voting/just_compile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f2853fe8f7d573564bc69de9150bd7cf1fa31915 GIT binary patch literal 86633 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 Date: Wed, 29 May 2024 17:59:33 +0000 Subject: [PATCH 04/16] first version --- .devcontainer/scripts/onCreateCommand.sh | 2 +- boxes/init/.yarnrc.yml | 1 + boxes/init/package.json | 4 + docs/docs/getting_started.md | 2 +- docs/docs/index.mdx | 2 +- .../private_voting_contract.md | 174 --------- .../docs/tutorials/new_dapp_tutorial/index.md | 104 ------ .../docs/tutorials/private_voting_contract.md | 351 ++++++++++++++++++ .../codespaces_badges/sandbox_cta_badge.svg | 19 + .../private_voting/deployed_frog.jpeg | Bin 0 -> 86280 bytes .../private_voting/hurried_deployment.jpg | Bin 0 -> 48361 bytes .../tutorials/private_voting/just_compile.jpg | Bin 86633 -> 0 bytes .../tutorials/private_voting/just_deploy.jpeg | Bin 0 -> 90976 bytes 13 files changed, 378 insertions(+), 281 deletions(-) create mode 100644 boxes/init/.yarnrc.yml create mode 100644 boxes/init/package.json delete mode 100644 docs/docs/tutorials/contract_tutorials/private_voting_contract.md delete mode 100644 docs/docs/tutorials/new_dapp_tutorial/index.md create mode 100644 docs/docs/tutorials/private_voting_contract.md create mode 100644 docs/static/img/codespaces_badges/sandbox_cta_badge.svg create mode 100644 docs/static/img/tutorials/private_voting/deployed_frog.jpeg create mode 100644 docs/static/img/tutorials/private_voting/hurried_deployment.jpg delete mode 100644 docs/static/img/tutorials/private_voting/just_compile.jpg create mode 100644 docs/static/img/tutorials/private_voting/just_deploy.jpeg diff --git a/.devcontainer/scripts/onCreateCommand.sh b/.devcontainer/scripts/onCreateCommand.sh index ce617261308b..f90491c9bd08 100755 --- a/.devcontainer/scripts/onCreateCommand.sh +++ b/.devcontainer/scripts/onCreateCommand.sh @@ -13,13 +13,13 @@ fi if ! grep -q "alias sandbox" ~/.bashrc; then echo "alias sandbox=\"npx aztec-app sandbox\"" >> ~/.bashrc fi +corepack enable if [ "$TYPE" != "sandbox_only" ]; then source ~/.bashrc yes | npx create-aztec-app -t $TYPE -n $NAME -s mv $NAME/* $NAME/.* . rm -rf $NAME - corepack enable yarn diff --git a/boxes/init/.yarnrc.yml b/boxes/init/.yarnrc.yml new file mode 100644 index 000000000000..3186f3f0795a --- /dev/null +++ b/boxes/init/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/boxes/init/package.json b/boxes/init/package.json new file mode 100644 index 000000000000..53a8e3d32bf3 --- /dev/null +++ b/boxes/init/package.json @@ -0,0 +1,4 @@ +{ + "packageManager": "yarn@4.2.2", + "type": "module" +} diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index f30bcdcef48d..bd83747c2aaf 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -42,7 +42,7 @@ Update the `Noir: Nargo Path` field to point to your desired `aztec-nargo` execu Now you have a development network running, so you're ready to start coding your first app with Aztec.nr and Aztec.js! -To follow the series of tutorials, start with the private voting contract [here](./tutorials/contract_tutorials/private_voting_contract.md). +To follow the series of tutorials, start with the private voting contract [here](./tutorials/private_voting_contract.md). If you want to just keep learning, you can read about the high level architecture on the [Core Components page](./aztec/concepts/state_model/index.md) and [the lifecycle of a transaction](./aztec/concepts/transactions.md). diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index df74423358aa..848802ea1ee4 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -48,4 +48,4 @@ Check out the [Awesome Aztec repo](https://github.com/AztecProtocol/awesome-azte Clone the [Aztec Starter repo](https://github.com/AztecProtocol/aztec-starter) to get a minimal project set up with Sandbox (local developer network), a simple contract and a test suite. -Jump into one of the [tutorials](tutorials/contract_tutorials/private_voting_contract.md) to learn how to build more complex applications on Aztec. +Jump into one of the [tutorials](tutorials/private_voting_contract.md) to learn how to build more complex applications on Aztec. diff --git a/docs/docs/tutorials/contract_tutorials/private_voting_contract.md b/docs/docs/tutorials/contract_tutorials/private_voting_contract.md deleted file mode 100644 index 16606e5c5082..000000000000 --- a/docs/docs/tutorials/contract_tutorials/private_voting_contract.md +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: "Private voting contract" -sidebar_position: 1 ---- - -import Image from '@theme/IdealImage'; - -# Writing a private voting smart contract in Aztec.nr - -In this tutorial we will go through writing a very simple private voting smart contract in Aztec.nr. You will learn about private functions, public functions, composability between them, state management and creatively using nullifiers to prevent people from voting twice! - -We will build this: - - - -- The contract will be initialized with an admin, stored publicly -- A voter can vote privately, which will call a public function and update the votes publicly -- The admin can end the voting period, which is a public boolean - -To keep things simple, we won't create ballots or allow for delegate voting. - -## Prerequisites - -- You have followed the [quickstart](../../getting_started.md) to install `aztec-nargo` and `aztec-sandbox`. -- Running Aztec Sandbox - -## Set up a project - -First, create a new contract project with `aztec-nargo`. - -```bash -aztec-nargo new --contract private_voting -``` - -Your file structure should look something like this: - -```tree -. -| | |--private_voting -| | | |--src -| | | | |--main.nr -| | | |--Nargo.toml -``` - -The file `main.nr` will soon turn into our smart contract! - -We will need the Aztec library to create this contract. In your `Nargo.toml` you should see `[dependencies]` - paste this below it. - -```toml -[dependencies] -aztec = { git="https://github.com/AztecProtocol/aztec-packages", tag="#include_aztec_version", directory="noir-projects/aztec-nr/aztec" } -``` - -## Initiate the contract and define imports - -Go to `main.nr` and delete the sample code. Replace it with this contract initialization: - -```rust -contract Voting { - -} -``` - -This defines a contract called `Voter`. Everything will sit inside this block. - -Inside this, paste these imports: - -#include_code imports noir-projects/noir-contracts/contracts/easy_private_voting_contract/src/main.nr rust - -We are using various utils within the Aztec library: - -- `Context` and `PrivateContext` - exposes things such as the contract address, msg_sender, etc -- `AztecAddress` - A type for storing an address on Aztec -- `FunctionSelector` - Used for computing a selector to call a function -- `Map` - A data storage type for storing candidates with the number of votes they have -- `PublicMutable` - A type of storage, which holds a mutable public value. We'll store votes as PublicMutables - -## Set up storage - -Under these imports, we need to set up our contract storage. -Define the storage struct like so: - -#include_code storage_struct noir-projects/noir-contracts/contracts/easy_private_voting_contract/src/main.nr rust - -In this contract, we will store three vars: - -1. admin, as an Aztec address held in public state -2. tally, as a map with key as the persona and value as the number (in Field) held in public state -3. vote_ended, as a boolean held in public state - -## Constructor - -The next step is to initialize the contract with a constructor. The constructor will take an address as a parameter and set the admin. - -#include_code constructor noir-projects/noir-contracts/contracts/easy_private_voting_contract/src/main.nr rust - -This function takes the admin argument and writes it to the storage. We are also using this function to set the `vote_ended` boolean as false in the same way. - -## Casting a vote privately - -For the sake of simplicity, we will have three requirements: - -1. Everyone with an Aztec account gets a vote -2. They can only vote once in this contract -3. Who they are is private, but their actual vote is not - -To ensure someone only votes once, we will create a nullifier as part of the function call. If they try to vote again, the function will revert as it creates the same nullifier again, which can't be added to the nullifier tree (as that indicates a double spend). - -Create a private function called `cast_vote`: - -#include_code cast_vote noir-projects/noir-contracts/contracts/easy_private_voting_contract/src/main.nr rust - -In this function, we do not create a nullifier with the address directly. This would leak privacy as it would be easy to reverse-engineer. We must add some randomness or some form of secret, like [nullifier secrets](../../aztec/concepts/accounts/keys.md#nullifier-secrets). - -To do this, we make an [oracle call](../../aztec/concepts/smart_contracts/oracles/index.md) to fetch the caller's secret key, hash it to create a nullifier, and push the nullifier to Aztec. The `secret.high` and `secret.low` values here refer to how we divide a large [Grumpkin scalar](https://github.com/AztecProtocol/aztec-packages/blob/7fb35874eae3f2cad5cb922282a619206573592c/noir/noir_stdlib/src/grumpkin_scalar.nr) value into its higher and lower parts. This allows for faster cryptographic computations so our hash can still be secure but is calculated faster. - -After pushing the nullifier, we update the `tally` to reflect this vote. As we know from before, a private function cannot update public state directly, so we are calling a public function. - -Create this new public function like this: - -#include_code add_to_tally_public noir-projects/noir-contracts/contracts/easy_private_voting_contract/src/main.nr rust - -The first thing we do here is assert that the vote has not ended. - -`assert()` takes two arguments: the assertion, in this case that `storage.vote_ended` is not false, and the error thrown if the assertion fails. - -The code after the assertion will only run if the assertion is true. In this snippet, we read the current vote tally at the voteId, add 1 to it, and write this new number to the voteId. The `Field` element allows us to use `+` to add to an integer. - -:::danger -Note that due to [key rotation](../../aztec/concepts/accounts/keys.md#key-rotation), it would be possible for a user to rotate their nullifier secret key and be able to vote again. Refer to [common patterns](../../guides/smart_contracts/writing_contracts/common_patterns/key_rotation.md) for more information -::: - -## Getting the number of votes - -We will create a function that anyone can call that will return the number of votes at a given vote Id. Paste this in your contract: - -#include_code get_vote noir-projects/noir-contracts/contracts/easy_private_voting_contract/src/main.nr rust - -We set it as `unconstrained` and do not annotate it because it is only reading from state. You can read more about unconstrained functions [here](../../aztec/concepts/pxe/acir_simulator.md#unconstrained-functions). - -## Allowing an admin to end a voting period - -To ensure that only an admin can end a voting period, we can use another `assert()` statement. - -Paste this function in your contract: - -#include_code end_vote noir-projects/noir-contracts/contracts/easy_private_voting_contract/src/main.nr rust - -Here, we are asserting that the `msg_sender()` is equal to the admin stored in public state. We have to create an `AztecAddress` type from the `msg_sender()` in order to do a direct comparison. - -## Compiling and deploying - -The easiest way to compile the contract is with `aztec-nargo`. Run the following command in the directory with your Nargo.toml file: - -```bash -aztec-nargo compile -``` - -This will create a new directory called `target` and a JSON artifact inside it. - -Once it is compiled you can [deploy](../../reference/sandbox_reference/index.md). - -```bash -aztec-builder target -o src/artifacts -``` - -Once it is compiled you can [deploy](../../guides/smart_contracts/how_to_deploy_contract.md) it to the sandbox just like you did in the [counter contract tutorial](./counter_contract.md). - -## Next steps - -Now you have learned the foundations of Aztec smart contracts, you can start to play around with some more advanced features. Some ideas: - -- Add some more features into this contract, like the admin can distribute votes, people can delegate their votes, or voteIds can have more data like names, descriptions, etc -- Go to the [next tutorial](token_contract.md) and learn how to write a token contract diff --git a/docs/docs/tutorials/new_dapp_tutorial/index.md b/docs/docs/tutorials/new_dapp_tutorial/index.md deleted file mode 100644 index bd1707e6d7f7..000000000000 --- a/docs/docs/tutorials/new_dapp_tutorial/index.md +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Dapp Tutorial ---- - -Aztec is the most powerful blockchain since Ethereum was born. - -While several projects provide privacy at the protocol level, Aztec leverages extremely complex cryptography for client-side privacy, while keeping the network fully transparent. - -But not everything that is complex must be difficult. In this tutorial, you will build a simple project and learn about private and public functions and their composability, state management, and other core principles of Aztec. - -## Objective - -We will build a private voting app. - -On Aztec, a contract like this will be fully verifiable, public and decentralized. And yet, your users will be able to cast their vote privately and update the count in public. - -For simplicity's sake, the current count will be public, there won't be delegate voting, there will be an admin, and etc. But at the end of the tutorial, it will be clear to you that these requirements are easily met with Aztec. - -## Getting started - -We will be using the same codespace hack as in the [quickstart guide](../../getting_started.md) so we can have a sandbox running in a few minutes. We can continue while it does its thing in the background: - - -Using codespaces allows us to skip all the tooling regarding development network management. You can learn more about what's "in the box" [here](../../reference/sandbox-reference.md). - -### Setting up a project - -You can immediately start a new project by using a handy `npx` command: - - - -```bash -npx aztec-app init -``` - - - -Your file structure should look something like this: - -```tree -| |--src -| | |--main.nr -| |--Nargo.toml -``` - -As you can imagine, this is little more than a stub, but still we can see the `main.nr` file which holds our contract, and Nargo.toml which will hold our dependencies. - -![Why can't you just compile it](@site/img/tutorials/private_voting/just_compile.jpg) - -Yes yes I'll shut up a little bit. Let's compile this little guy. Write: - - - -```bash -aztec-nargo compile -``` - - - -You'll see a new folder `target` showing up. Feel free to have a look: it contains both the ABI (a "skeleton" of the contract), the partial witness that represents the public inputs, and the bytecode, along with other useful information. - -## Deploy and run 😈 - -Deploying is quite easy now. Once upon a time, we could do it via CLI, but we have submitted to the Typescript cult for the time being. This is where Aztec.JS comes in: a simple library to interact with your contract. - -![Aztec team submitting to Typescript](@site/img/tutorials/private_voting/submit_to_typescript.jpeg) - -Let's write a quick JS script to do this for us. But wait... How does Javascript know which functions to call on the contract? We made yet another tool `aztec-builder` for that, of course! Just run it: - -```bash -aztec-builder codegen -o artifacts target -``` - - -Pick your favourite Node.js package manager and install `@aztec/aztec.js`: - - - -```bash -yarn add @aztec/aztec.js # or npm i @aztec/aztec.js -``` - - - -This will bootrap a JS app for you. We need to create our `index.js` file and tell `node` how to run it by adding it to a "start" property in `package.json`. - -:::tip - -You can do this in one line with: - - - -```bash -touch index.js && npm pkg set scripts.start="node index.js" -``` - - - -__Oh the wonders of bash ❤️__ - -::: - -Now we write the deployment logic. Don't sweat it, it will only take a minute. - diff --git a/docs/docs/tutorials/private_voting_contract.md b/docs/docs/tutorials/private_voting_contract.md new file mode 100644 index 000000000000..893f8c362fb8 --- /dev/null +++ b/docs/docs/tutorials/private_voting_contract.md @@ -0,0 +1,351 @@ +--- +title: Private Voting Tutorial +--- + +Aztec is the most powerful blockchain since Ethereum was born. While several projects provide privacy at the protocol level, Aztec leverages extremely complex cryptography for client-side privacy, while keeping the network fully transparent. + +But not everything that is complex must be difficult. In this tutorial, you will build a simple project and learn about private and public functions and their composability, state management, and other core principles of Aztec. + +For simplicity's sake, the tally will be public, there won't be delegate voting, there will be an admin, and etc. But at the end of the tutorial, it will be clear to you that these requirements are easily met with Aztec. + +## Getting started + +Follow the [quickstart guide](../getting_started.md) to install the sandbox locally. + +You can also click on this badge and start a codespace - a free remote server that comes with a running sandbox and everything else you may need: + +[![One-Click React Starter](/img/codespaces_badges/sandbox_cta_badge.svg)](https://codespaces.new/AztecProtocol/aztec-packages?devcontainer_path=.devcontainer%2Fsandbox_only%2Fdevcontainer.json) + +### Setting up a project + +Start a new project by using the very same `npx` command that powers the codespace: + + + +```bash +yes | npx aztec-app init +``` + + + +:::tip + +🦆 Did you know this little hack? Just prepend `yes |` to pipe a "yes" into your next command 🦆 + +::: + + +### Compile 😈 + +Once upon a time, we could compile and deploy on the CLI. It will come back one day, but for the time being we submitted to the Typescript cult. This is where Aztec.JS comes in: a simple library to interact with your contract. + +![Aztec team submitting to Typescript](@site/static/img/tutorials/private_voting/submit_to_typescript.jpeg) + +Ok ok let's compile this little guy. While we're here, we can also use the handy `aztec-builder` package to generate some TS bindings. + + + +```bash +aztec-nargo compile +aztec-builder codegen -o artifacts target +``` + + + + +Wait, we don't yet have a project, right? Let's do it now, and btw let's install `@aztec/aztec.js` and `@aztec/accounts`. + + + +```bash +yes | yarn add @aztec/aztec.js @aztec/accounts +``` + + + +These two packages are quite useful. `aztec.js` gives us a nice interface to interact with the PXE (your "wallet"), and `accounts` is just a nice collection of account contracts. + +So, let's create an `index.ts` file and add those imports. Since we're here, let's import the contract artifact we generated above. + + + +```js +import { createPXEClient } from "@aztec/aztec.js"; +import { createAccount } from "@aztec/accounts/testing"; +import { MainContract } from "./artifacts/Main"; +``` + + + +### Deploy 🚀 + +Deploying is quite easy now. + +![Why can't you just deploy it](@site/static/img/tutorials/private_voting/just_deploy.jpeg) + +Since the sandbox is running already, our PXE is also running. Yey! So we call it and pass the resulting `pxe` to `createAccount`, which will give us a nice testing wallet. + +Then we can deploy our artifact, broadcast it, and wait for the result: + + + +```ts +const pxe = createPXEClient("http://localhost:8080"); +const wallet = await createAccount(pxe); + +const contract = await MainContract.deploy(wallet).send().deployed() +console.log("Yey! Address: ", contract.address) +``` + + + +With the infra ready, all we need is love hit the button: + + + +```bash +yes | npx tsx index.ts +``` + + + +:::tip + +Do you hate tsconfig? +I do. + +So I like tsx, which uses sensible defaults that "just work" 💡 + +::: + +## Voting contract plzzzz + +Ok ok let's dive in the actual voting logic. Let's have a look at our `main.nr`. There's not much in there, but there's an initializer that runs when you deploy it, and turns out we would like to have an admin for our little election. So we pass it as a parameter: + + + + +```rust +#[aztec(public)] +#[aztec(initializer)] +fn constructor(admin: AztecAddress) { + storage.admin.write(admin); + storage.vote_ended.write(false); +} +``` + + + +### Storage + +What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin: + +```rust +#[aztec(storage)] +struct Storage { + admin: PublicMutable, // admin can end vote +} +``` + +`PublicMutable` is more or less self-explanatory: it is a public value that can change. As for _who_ can change it, that's up to the contract logic. + +We can also add another storage value `tally`, which is a map that relates a key (the persona) with its current vote count. + +Here's all the code we have so far: + + + +```rust +contract Main { + #[aztec(storage)] + struct Storage { + admin: PublicMutable, + // highlight-start + tally: Map> + // highlight-end + } + + #[aztec(public)] + #[aztec(initializer)] + fn constructor(admin: AztecAddress) { + storage.admin.write(admin); + } +} + +``` + + + +:::tip + +If want to see stuff working, you can [deploy](#deploy--1) now! + +![Finish the whole tutorial or draw 25](@site/static/img/tutorials/private_voting/hurried_deployment.jpg) + +::: + + +### Voting logic + +We need the logic now. Just like with an old-school manual election, there are only two operations: write votes, and count them. + +On this simple example, the easiest way to write the votes is actually through one private function that calls a public function. Since public functions [run last](../protocol-specs/calls/enqueued-calls), this should work: + +- The private function runs on the user's device and proves they voted. +- The public function adds +1 to the persona they voted for. + +:::info + +Why can't we simply add +1 and call it a day? + +Well, although counting is no more than reading an integer, writing can be non-trivial in this case. To update some public value, a user needs to get its value and prove it has changed in a verifiable way. How could they prove this value doesn't change in the meantime? + +This is quite of a famously difficult problem to solve in distributed systems. We designed the `SharedMutable` type which helps dealing with it, but it falls out of the scope of this tutorial. + +::: + + +#### Casting votes + +Ok, let's buidl 😈 + +We're gonna write the first private function. First thing is to get the [master nullifying key hash](../reference/smart_contract_reference/aztec-nr/aztec/keys/getters.md#get_npk_m_hash). Once the [specification on key rotation](../protocol-specs/addresses-and-keys/keys.md) is implemented, the user will be able to just rotate keys and vote multiple times. But for now, this should work: + +```rust +#[aztec(private)] // annotation to mark function as private and expose private context +fn cast_vote(candidate: Field) { + let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); +} +``` + +We then get the secret key of the caller by getting it from the [private context](../reference/smart_contract_reference/aztec-nr/aztec/context/private_context#request_nsk_app): + +```rust +//... +#[aztec(private)] +fn cast_vote(candidate: Field) { + let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); + // highlight-next-line + let secret = context.request_nsk_app(msg_sender_npk_m_hash); +} +``` + +:::info + +If you're a Solidity dev, you're probably screaming right now 🚨 But remember this is a private function, it runs on the user device. The only thing coming out is a proof! + +This is done using an Oracle Call, and is a key piece of the Aztec puzzle. Read more about Oracle Calls [here](../aztec/concepts/smart_contracts/oracles/index.md) + +::: + +Lastly, we just hash the sender and the key with Noir's highly optimized [`pedersen_hash`](https://noir-lang.org/docs/noir/standard_library/cryptographic_primitives/hashes#pedersen_hash), and push a nullifier back to the private context. This ensures users can't vote twice, as they wouldn't be able to prove a nullifier doesn't exist already. + +```rust +#[aztec(private)] +fn cast_vote(candidate: Field) { + let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); + let secret = context.request_nsk_app(msg_sender_npk_m_hash); + // highlight-start + let nullifier = dep::std::hash::pedersen_hash([context.msg_sender().to_field(), secret]); + context.push_new_nullifier(nullifier, 0); + // highlight-end +} +``` + +#### Adding votes + +We now need to add +1 to the person we chose to vote for. So we call a public function to update a public value. Easy, isn't it? + +Let's call our own contract with our current execution context, and enqueue our call. And that's it for this function. Feel free to copy it, you lazy goblin! + +```rust +#[aztec(private)] +fn cast_vote(candidate: Field) { + let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); + let secret = context.request_nsk_app(msg_sender_npk_m_hash); + let nullifier = dep::std::hash::pedersen_hash([context.msg_sender().to_field(), secret]); + context.push_new_nullifier(nullifier, 0); // push nullifier + // highlight-start + Main::at(context.this_address()).add_to_tally_public(candidate).enqueue(&mut context); + // highlight-end +} +``` + +The `add_to_tally_public` function is quite straightforward. It just reads and writes a public value from the `tally` [Map](../reference/smart_contract_reference/aztec-nr/aztec/state_vars/map#at): + +```rust +#[aztec(public)] +fn add_to_tally_public(candidate: Field) { + let new_tally = storage.tally.at(candidate).read() + 1; + storage.tally.at(candidate).write(new_tally); +} +``` + +## Deploying 🔥 + +You can deploy now! Just make sure to add the address as a parameter to the `deploy` method in your `index.ts` file: + +````diff +- const { address } = await MainContract.deploy(wallet).send().deployed() ++ const { address } = await MainContract.deploy(wallet, wallet.getAddress()).send().deployed() +```` + +You also want to import some dependencies we're using, like `AztecAddress` or `get_npk_m_hash`. Make sure to do it _inside_ the `Contract` block: + +```rust +contract Main { + // highlight-start + use dep::aztec::prelude::{ AztecAddress, Map, PublicMutable }; + use dep::aztec::keys::getters::get_npk_m_hash; + // highlight-end + // ... +``` + +Head to your terminal to recompile, generate the artifact, and run: + +```bash +aztec-nargo compile +aztec-builder codegen -o artifacts target +npx tsx index.ts +``` + +![Gentlemen it is with great plesaure to inform you that your code is deployed](@site/static/img/tutorials/private_voting/deployed_frog.jpeg) + +## Extra points for testing + +So you're _that_ kind of person... 🤔 We like you! + +To properly test, we can add a quick `view` function to our contract. For those unfamiliar with Solidity `view` functions, they're methods that don't alter any state, so they have no gas cost. + +```rust + #[aztec(public)] + #[aztec(view)] + fn get_tally(candidate: Field) -> Field { storage.tally.at(candidate).read() } +``` + +Now let's call it in our TS file. Since it is a view function, you just need to simulate it. We can then call `cast_vote` and see the new value: + +```ts +const tally1 = await methods.get_tally(1).simulate(); +await contract.methods.cast_vote(1).send().wait(); +const tally2 = await contract.methods.get_tally(1).simulate(); + +console.log(tally1, tally2) +``` + +This should return 0 and 1, which is correct! + +## Next steps! 🎉 + +Congratulations! In this beginner tutorial, we started from scratch and ended up with a nice little voting app that took less than 50 lines of code and already presents some of Aztec's strongest points! + +If you want to keep building, you may want to add more features. Here are some cool exercises: +- Add a field to track the end of the voting period. +- Use a merkle tree to track who is elligible to vote. +- Write a portal contract to the L1 layer that mints an NFT to every voter. +- Use a different account contract + + +If you're in learning mode, you may want to explore some of things we "skimmed" through. For example: +- The sandbox was hidden away from you. This development environment is the brain of the whole thing, and you can do some cool things with it, such as warping time, get some values about the node, etc. Check the [Sandbox Reference for more info!](../reference/sandbox_reference) +- Another key component of Aztec is the Private Execution Environment (PXE). We briefly referred to it as a "wallet", but it is no more than a library. A _very_ powerful one, for that matter. It handles all the client-side proving, storage, key management, etc. [Learn about the PXE in the concepts section](../aztec/concepts/pxe). diff --git a/docs/static/img/codespaces_badges/sandbox_cta_badge.svg b/docs/static/img/codespaces_badges/sandbox_cta_badge.svg new file mode 100644 index 000000000000..7f0ea997557f --- /dev/null +++ b/docs/static/img/codespaces_badges/sandbox_cta_badge.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/tutorials/private_voting/deployed_frog.jpeg b/docs/static/img/tutorials/private_voting/deployed_frog.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..47e05c57c221f4490b2029c6a65d4271aca208e1 GIT binary patch literal 86280 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ÐGvz^v!uzR>gK~|BlH)F=pP`a~)*-V{1@2CWd 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ƛg5Eu7~gH! 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 z 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 literal 0 HcmV?d00001 From bc777f8932f7078f2b736fc99ac83cfd059c5dd2 Mon Sep 17 00:00:00 2001 From: signorecello Date: Mon, 3 Jun 2024 17:16:01 +0000 Subject: [PATCH 05/16] committing to run tests on my side --- .../__tests__/private_voting_tutorial.spec.ts | 9 ++++++ .../docs/tutorials/private_voting_contract.md | 26 ++++++++++------- docs/package.json | 4 ++- docs/playwright.config.ts | 29 +++++++++++++++++++ docs/yarn.lock | 26 +++++++++++++++++ test-results/.last-run.json | 3 ++ 6 files changed, 85 insertions(+), 12 deletions(-) create mode 100644 docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts create mode 100644 docs/playwright.config.ts create mode 100644 test-results/.last-run.json diff --git a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts new file mode 100644 index 000000000000..864cfe8b95f3 --- /dev/null +++ b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts @@ -0,0 +1,9 @@ +import { test, expect } from "@playwright/test"; + +test("Deploying, setting, and getting a number", async ({ page }) => { + test.slow(); + await page.goto("/"); + await page.getByRole("link", { name: "Private Voting Tutorial" }).click(); + const text = await page.getByTestId("0").getByRole("code").innerText(); + console.log(text); +}); diff --git a/docs/docs/tutorials/private_voting_contract.md b/docs/docs/tutorials/private_voting_contract.md index 893f8c362fb8..ff0e7a073f37 100644 --- a/docs/docs/tutorials/private_voting_contract.md +++ b/docs/docs/tutorials/private_voting_contract.md @@ -20,7 +20,7 @@ You can also click on this badge and start a codespace - a free remote server th Start a new project by using the very same `npx` command that powers the codespace: - + ```bash yes | npx aztec-app init @@ -43,7 +43,7 @@ Once upon a time, we could compile and deploy on the CLI. It will come back one Ok ok let's compile this little guy. While we're here, we can also use the handy `aztec-builder` package to generate some TS bindings. - + ```bash aztec-nargo compile @@ -55,7 +55,7 @@ aztec-builder codegen -o artifacts target Wait, we don't yet have a project, right? Let's do it now, and btw let's install `@aztec/aztec.js` and `@aztec/accounts`. - + ```bash yes | yarn add @aztec/aztec.js @aztec/accounts @@ -67,7 +67,7 @@ These two packages are quite useful. `aztec.js` gives us a nice interface to int So, let's create an `index.ts` file and add those imports. Since we're here, let's import the contract artifact we generated above. - + ```js import { createPXEClient } from "@aztec/aztec.js"; @@ -87,7 +87,7 @@ Since the sandbox is running already, our PXE is also running. Yey! So we call i Then we can deploy our artifact, broadcast it, and wait for the result: - + ```ts const pxe = createPXEClient("http://localhost:8080"); @@ -101,7 +101,7 @@ console.log("Yey! Address: ", contract.address) With the infra ready, all we need is love hit the button: - + ```bash yes | npx tsx index.ts @@ -122,8 +122,7 @@ So I like tsx, which uses sensible defaults that "just work" 💡 Ok ok let's dive in the actual voting logic. Let's have a look at our `main.nr`. There's not much in there, but there's an initializer that runs when you deploy it, and turns out we would like to have an admin for our little election. So we pass it as a parameter: - - + ```rust #[aztec(public)] @@ -138,22 +137,27 @@ fn constructor(admin: AztecAddress) { ### Storage -What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin: +What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin. + + ```rust #[aztec(storage)] struct Storage { admin: PublicMutable, // admin can end vote + tally: Map> } ``` + + `PublicMutable` is more or less self-explanatory: it is a public value that can change. As for _who_ can change it, that's up to the contract logic. -We can also add another storage value `tally`, which is a map that relates a key (the persona) with its current vote count. +We also added another storage value `tally`, which is a map that relates a key (the persona) with its current vote count. Here's all the code we have so far: - + ```rust contract Main { diff --git a/docs/package.json b/docs/package.json index 90c2f8fa9ac9..2fe315c48fe3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,7 +13,8 @@ "preprocess": "yarn node -r dotenv/config ./src/preprocess/index.js && node src/preprocess/generate_aztecnr_reference.js", "preprocess:dev": "nodemon --config nodemon.json ./src/preprocess/index.js && nodemon --config nodemon.json src/preprocess/generate_aztecnr_reference.js ", "typedoc": "docusaurus generate-typedoc", - "rewrite": "node ./scripts/rewrite_paths.js" + "rewrite": "node ./scripts/rewrite_paths.js", + "test": "npx playwright test" }, "dependencies": { "@docusaurus/core": "^3.0.1", @@ -36,6 +37,7 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.0.1", + "@playwright/test": "1.42.0", "@docusaurus/types": "3.0.0", "@tsconfig/docusaurus": "^1.0.5", "concurrently": "^8.0.1", diff --git a/docs/playwright.config.ts b/docs/playwright.config.ts new file mode 100644 index 000000000000..65288ea5cdce --- /dev/null +++ b/docs/playwright.config.ts @@ -0,0 +1,29 @@ +import { defineConfig, devices } from "@playwright/test"; + +export default defineConfig({ + testDir: "./docs", + testMatch: "**.spec.ts", + fullyParallel: true, + retries: 0, + workers: 3, + reporter: "list", + use: { + baseURL: "http://127.0.0.1:3000", + trace: "on-first-retry", + screenshot: "only-on-failure", + video: "on-first-retry", + }, + expect: { + timeout: 90000, + }, + projects: [ + { + name: "chromium", + use: { ...devices["Desktop Chrome"] }, + }, + ], + // webServer: { + // command: "yarn serve", + // port: 3000, + // }, +}); diff --git a/docs/yarn.lock b/docs/yarn.lock index 726968134ca1..b9e81c1e25a5 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -3150,6 +3150,13 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== +"@playwright/test@1.42.0": + version "1.42.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.42.0.tgz#f65a7dcb92f202f376a7538e71855d873d1e6aa2" + integrity sha512-2k1HzC28Fs+HiwbJOQDUwrWMttqSLUVdjCqitBOjdCD0svWOMQUVqrXX6iFD7POps6xXAojsX/dGBpKnjZctLA== + dependencies: + playwright "1.42.0" + "@pnpm/config.env-replace@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" @@ -7752,6 +7759,11 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== +fsevents@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" @@ -12193,6 +12205,20 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" +playwright-core@1.42.0: + version "1.42.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.42.0.tgz#bc6525268b13b8bed5fbead761a1a886984555c4" + integrity sha512-0HD9y8qEVlcbsAjdpBaFjmaTHf+1FeIddy8VJLeiqwhcNqGCBe4Wp2e8knpqiYbzxtxarxiXyNDw2cG8sCaNMQ== + +playwright@1.42.0: + version "1.42.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.42.0.tgz#6d4265b124d2b87432083aa7af30c46aaec5e703" + integrity sha512-Ko7YRUgj5xBHbntrgt4EIw/nE//XBHOKVKnBjO1KuZkmkhlbgyggTe5s9hjqQ1LpN+Xg+kHsQyt5Pa0Bw5XpvQ== + dependencies: + playwright-core "1.42.0" + optionalDependencies: + fsevents "2.3.2" + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" diff --git a/test-results/.last-run.json b/test-results/.last-run.json new file mode 100644 index 000000000000..4ca77ef75e78 --- /dev/null +++ b/test-results/.last-run.json @@ -0,0 +1,3 @@ +{ + "status": "interrupted" +} \ No newline at end of file From 678bfabef71afa1153bcfcdbe4b8ef0af00dcc51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Wed, 5 Jun 2024 13:36:36 +0100 Subject: [PATCH 06/16] working on my side... i think --- boxes/scripts/utils.js | 3 +- .../__tests__/private_voting_tutorial.spec.ts | 91 ++++++++++++++++++- docs/package.json | 2 +- docs/playwright.config.ts | 1 + docs/tsconfig.json | 5 +- docs/yarn.lock | 40 +++----- 6 files changed, 107 insertions(+), 35 deletions(-) diff --git a/boxes/scripts/utils.js b/boxes/scripts/utils.js index e29511266b04..e5aa33f7a714 100644 --- a/boxes/scripts/utils.js +++ b/boxes/scripts/utils.js @@ -199,7 +199,7 @@ export async function replacePaths({ rootDir, prefix = "" }) { replaces.push( new Promise(async (resolve, reject) => { let content = parse(await fs.readFile(filePath, "utf8")); - + if (!content.dependencies) return; Object.keys(content.dependencies).forEach((dep) => { const directory = content.dependencies[dep].path.replace( /^(..\/)+/, @@ -224,6 +224,7 @@ export async function replacePaths({ rootDir, prefix = "" }) { replaces.push( new Promise(async (resolve, reject) => { let content = JSON.parse(await fs.readFile(filePath, "utf8")); + if (!content.dependencies) return; Object.keys(content.dependencies) .filter((deps) => deps.match("@aztec")) // "master" actually means "latest" for the npm release diff --git a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts index 864cfe8b95f3..b43e3ec76ed3 100644 --- a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts +++ b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts @@ -1,9 +1,94 @@ -import { test, expect } from "@playwright/test"; +import { test, expect, Page, Locator } from "@playwright/test"; +import { execFileSync } from "child_process"; +import path from "path"; +import { readFileSync, writeFileSync, mkdirSync, unlinkSync } from "fs"; + +async function exec(locator: Locator) { + const content = (await locator.innerText()).trim(); + + // tells which file are we working on + const file = await locator.getAttribute("file"); + + // tells if we should just compare the conteant with the file + const compare = await locator.getAttribute("compare"); + if (compare) { + const trim = (c: string) => + c + .split("\n") + .map((line) => line.trim().replace(RegExp(/\s*\/\/.+[^\s]|\s+/g), "")) + .join(""); + + const existingContent = readFileSync( + path.resolve(__dirname, "tmp", "app", file), + "utf-8" + ); + expect(trim(content)).toBe(trim(existingContent)); + return; + } + + // tells which lines to replace in the file + // 0 if all + // + to append + // null if none + // we use the same syntax as Array.slice(), so negative numbers means lines from the end + const replaceLines = await locator.getAttribute("replaceLines"); + + if (replaceLines === null) { + content.split("\n").map((c) => { + execFileSync(c.trim(), { + shell: true, + cwd: path.join(__dirname, "tmp", "app"), + stdio: "inherit", + env: { NON_INTERACTIVE: "true", ...process.env }, + }); + }); + } else if (replaceLines === "0") { + writeFileSync(path.resolve(__dirname, "tmp", "app", file), content); + } else if (replaceLines === "+") { + writeFileSync(path.resolve(__dirname, "tmp", "app", file), content, { + flag: "a", + }); + } else { + const existingContent = readFileSync( + path.resolve(__dirname, "tmp", "app", file), + "utf-8" + ); + const [begin, end] = replaceLines.split(",").map(Number); + // we split both the existing content and the new content by lines + const splitContent = existingContent.split("\n"); + const splitNewContent = content.split("\n"); + + // we tell which lines we want to remove + const removedElements = splitContent.slice(begin, end); + + // we start at begin -1 because lines are 1-indexed + // and we remove the elements we want to replace + // replacing by the new content + splitContent.splice(begin - 1, removedElements.length, ...splitNewContent); + + writeFileSync( + path.resolve(__dirname, "tmp", "app", file), + splitContent.join("\n") + ); + } +} + +test.beforeEach(async () => { + unlinkSync(path.join(__dirname, "tmp/app")); + mkdirSync(path.join(__dirname, "tmp/app"), { recursive: true }); +}); test("Deploying, setting, and getting a number", async ({ page }) => { test.slow(); + await page.goto("/"); + await page.getByRole("button", { name: "Tutorials" }).click(); await page.getByRole("link", { name: "Private Voting Tutorial" }).click(); - const text = await page.getByTestId("0").getByRole("code").innerText(); - console.log(text); + + await page.waitForFunction(() => !!document.querySelector("code")); + for (const cmd of await page.getByTestId(RegExp(/[\s\S]/)).all()) { + await exec(cmd); + } + + // await shell.wait(); }); diff --git a/docs/package.json b/docs/package.json index 2fe315c48fe3..5f442f5da08c 100644 --- a/docs/package.json +++ b/docs/package.json @@ -37,8 +37,8 @@ }, "devDependencies": { "@docusaurus/module-type-aliases": "^3.0.1", - "@playwright/test": "1.42.0", "@docusaurus/types": "3.0.0", + "@playwright/test": "1.42.0", "@tsconfig/docusaurus": "^1.0.5", "concurrently": "^8.0.1", "docusaurus-plugin-typedoc": "^0.20.2", diff --git a/docs/playwright.config.ts b/docs/playwright.config.ts index 65288ea5cdce..32e2ab9f003c 100644 --- a/docs/playwright.config.ts +++ b/docs/playwright.config.ts @@ -3,6 +3,7 @@ import { defineConfig, devices } from "@playwright/test"; export default defineConfig({ testDir: "./docs", testMatch: "**.spec.ts", + testIgnore: "**/tmp/**", fullyParallel: true, retries: 0, workers: 3, diff --git a/docs/tsconfig.json b/docs/tsconfig.json index 4ffb6f0fb229..20884c37de39 100644 --- a/docs/tsconfig.json +++ b/docs/tsconfig.json @@ -1,3 +1,6 @@ { - "extends": "@tsconfig/docusaurus/tsconfig.json" + "extends": "@tsconfig/docusaurus/tsconfig.json", + "compilerOptions": { + "esModuleInterop": true, + } } diff --git a/docs/yarn.lock b/docs/yarn.lock index b9e81c1e25a5..b0804ea6d83c 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -11115,7 +11115,7 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== -nan@^2.16.0: +nan@^2.16.0, nan@^2.17.0: version "2.19.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== @@ -11428,6 +11428,13 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== +node-pty@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-1.0.0.tgz#7daafc0aca1c4ca3de15c61330373af4af5861fd" + integrity sha512-wtBMWWS7dFZm/VgqElrTvtfMq4GzJ6+edFI0Y0zyzygUSZMgZdraDUMUhCIvkjhJjme15qWmbyJbtAx4ot4uZA== + dependencies: + nan "^2.17.0" + node-releases@^2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" @@ -14225,16 +14232,7 @@ streamx@^2.15.0, streamx@^2.16.1: optionalDependencies: bare-events "^2.2.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -14291,7 +14289,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -14317,13 +14315,6 @@ strip-ansi@^5.1.0: dependencies: ansi-regex "^4.1.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - strip-ansi@^7.0.0, strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -15672,16 +15663,7 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 09cbf8117eb315aa85ae9991c2bde007d11942cb Mon Sep 17 00:00:00 2001 From: signorecello Date: Wed, 5 Jun 2024 15:42:03 +0000 Subject: [PATCH 07/16] putting things together --- aztec-up/bin/.aztec-run | 9 +- boxes/package.json | 2 +- docs/Earthfile | 12 +++ docs/docs/getting_started.md | 2 +- docs/docs/index.mdx | 2 +- .../__tests__/private_voting_tutorial.spec.ts | 23 ++--- ...ontract.md => private_voting_contract.mdx} | 94 ++++++++++++------ docs/playwright.config.ts | 8 +- .../test-failed-1.png | Bin 0 -> 131149 bytes 9 files changed, 99 insertions(+), 53 deletions(-) rename docs/docs/tutorials/{private_voting_contract.md => private_voting_contract.mdx} (85%) create mode 100644 docs/test-results/tutorials-__tests__-private_voting_tutorial-Deploying-setting-and-getting-a-number-chromium/test-failed-1.png diff --git a/aztec-up/bin/.aztec-run b/aztec-up/bin/.aztec-run index 8e318fc4c63a..8735bc0489d9 100755 --- a/aztec-up/bin/.aztec-run +++ b/aztec-up/bin/.aztec-run @@ -104,12 +104,19 @@ if [[ -z "${SKIP_PORT_ASSIGNMENT:-}" ]]; then port_assignment="-p $AZTEC_PORT:$AZTEC_PORT" fi + +if [ "$NON_INTERACTIVE" = "true" ]; then + TI="" +else + TI="-ti" +fi + docker run \ - -ti \ --rm \ --workdir "$PWD" \ -v $HOME:$HOME -v cache:/cache \ $port_assignment \ + $TI \ ${DOCKER_ENV:-} \ ${DOCKER_HOST_BINDS:-} \ ${DOCKER_USER:-} \ diff --git a/boxes/package.json b/boxes/package.json index e7125b8d69ba..726903809070 100644 --- a/boxes/package.json +++ b/boxes/package.json @@ -1,7 +1,7 @@ { "name": "aztec-app", "packageManager": "yarn@4.0.2", - "version": "0.4.8", + "version": "0.4.9", "type": "module", "scripts": { "compile": "yarn workspaces foreach -A -v run compile", diff --git a/docs/Earthfile b/docs/Earthfile index 17986c9ff003..cb3f58954d54 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -22,6 +22,18 @@ build: RUN ./scripts/build.sh SAVE ARTIFACT build +test: + ARG ENV + FROM +deps + COPY +build/build build + COPY ./static static + COPY ./src src + COPY ./docusaurus.config.js . + COPY ./sidebars.js . + COPY ./playwright.config.ts . + EXPOSE 3000 + ENTRYPOINT ["yarn", "test"] + serve: ARG ENV FROM +deps diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index bd83747c2aaf..c6ddf4ab4fca 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -42,7 +42,7 @@ Update the `Noir: Nargo Path` field to point to your desired `aztec-nargo` execu Now you have a development network running, so you're ready to start coding your first app with Aztec.nr and Aztec.js! -To follow the series of tutorials, start with the private voting contract [here](./tutorials/private_voting_contract.md). +To follow the series of tutorials, start with the private voting contract [here](./tutorials/private_voting_contract.mdx). If you want to just keep learning, you can read about the high level architecture on the [Core Components page](./aztec/concepts/state_model/index.md) and [the lifecycle of a transaction](./aztec/concepts/transactions.md). diff --git a/docs/docs/index.mdx b/docs/docs/index.mdx index 848802ea1ee4..89e58d12b49b 100644 --- a/docs/docs/index.mdx +++ b/docs/docs/index.mdx @@ -48,4 +48,4 @@ Check out the [Awesome Aztec repo](https://github.com/AztecProtocol/awesome-azte Clone the [Aztec Starter repo](https://github.com/AztecProtocol/aztec-starter) to get a minimal project set up with Sandbox (local developer network), a simple contract and a test suite. -Jump into one of the [tutorials](tutorials/private_voting_contract.md) to learn how to build more complex applications on Aztec. +Jump into one of the [tutorials](tutorials/private_voting_contract.mdx) to learn how to build more complex applications on Aztec. diff --git a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts index b43e3ec76ed3..336c0156c614 100644 --- a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts +++ b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts @@ -1,7 +1,9 @@ import { test, expect, Page, Locator } from "@playwright/test"; import { execFileSync } from "child_process"; import path from "path"; -import { readFileSync, writeFileSync, mkdirSync, unlinkSync } from "fs"; +import { readFileSync, writeFileSync, mkdirSync, rmSync } from "fs"; + +const TEST_FOLDER = path.resolve("tmp", "test_tutorial"); async function exec(locator: Locator) { const content = (await locator.innerText()).trim(); @@ -19,7 +21,7 @@ async function exec(locator: Locator) { .join(""); const existingContent = readFileSync( - path.resolve(__dirname, "tmp", "app", file), + path.resolve(TEST_FOLDER, file), "utf-8" ); expect(trim(content)).toBe(trim(existingContent)); @@ -37,20 +39,20 @@ async function exec(locator: Locator) { content.split("\n").map((c) => { execFileSync(c.trim(), { shell: true, - cwd: path.join(__dirname, "tmp", "app"), + cwd: path.join(TEST_FOLDER), stdio: "inherit", env: { NON_INTERACTIVE: "true", ...process.env }, }); }); } else if (replaceLines === "0") { - writeFileSync(path.resolve(__dirname, "tmp", "app", file), content); + writeFileSync(path.resolve(TEST_FOLDER, file), content); } else if (replaceLines === "+") { - writeFileSync(path.resolve(__dirname, "tmp", "app", file), content, { + writeFileSync(path.resolve(TEST_FOLDER, file), content, { flag: "a", }); } else { const existingContent = readFileSync( - path.resolve(__dirname, "tmp", "app", file), + path.resolve(TEST_FOLDER, file), "utf-8" ); const [begin, end] = replaceLines.split(",").map(Number); @@ -66,16 +68,13 @@ async function exec(locator: Locator) { // replacing by the new content splitContent.splice(begin - 1, removedElements.length, ...splitNewContent); - writeFileSync( - path.resolve(__dirname, "tmp", "app", file), - splitContent.join("\n") - ); + writeFileSync(path.resolve(TEST_FOLDER, file), splitContent.join("\n")); } } test.beforeEach(async () => { - unlinkSync(path.join(__dirname, "tmp/app")); - mkdirSync(path.join(__dirname, "tmp/app"), { recursive: true }); + rmSync(TEST_FOLDER, { recursive: true, force: true }); + mkdirSync(TEST_FOLDER, { recursive: true }); }); test("Deploying, setting, and getting a number", async ({ page }) => { diff --git a/docs/docs/tutorials/private_voting_contract.md b/docs/docs/tutorials/private_voting_contract.mdx similarity index 85% rename from docs/docs/tutorials/private_voting_contract.md rename to docs/docs/tutorials/private_voting_contract.mdx index ff0e7a073f37..1a996b677aa6 100644 --- a/docs/docs/tutorials/private_voting_contract.md +++ b/docs/docs/tutorials/private_voting_contract.mdx @@ -4,7 +4,7 @@ title: Private Voting Tutorial Aztec is the most powerful blockchain since Ethereum was born. While several projects provide privacy at the protocol level, Aztec leverages extremely complex cryptography for client-side privacy, while keeping the network fully transparent. -But not everything that is complex must be difficult. In this tutorial, you will build a simple project and learn about private and public functions and their composability, state management, and other core principles of Aztec. +But not everything that is complex must be difficult. In this tutorial, you will build a simple project and learn about private and public functions and their composability, state management, and other core principles of Aztec. For simplicity's sake, the tally will be public, there won't be delegate voting, there will be an admin, and etc. But at the end of the tutorial, it will be clear to you that these requirements are easily met with Aztec. @@ -21,12 +21,14 @@ You can also click on this badge and start a codespace - a free remote server th Start a new project by using the very same `npx` command that powers the codespace: + ```corepack enable && yes | npx aztec-app init -v zpedro/tutorials_refactor``` + ```bash yes | npx aztec-app init ``` - +```touch yarn.lock``` :::tip @@ -34,10 +36,9 @@ yes | npx aztec-app init ::: - ### Compile 😈 -Once upon a time, we could compile and deploy on the CLI. It will come back one day, but for the time being we submitted to the Typescript cult. This is where Aztec.JS comes in: a simple library to interact with your contract. +Once upon a time, we could compile and deploy on the CLI. It will come back one day, but for the time being we submitted to the Typescript cult. This is where Aztec.JS comes in: a simple library to interact with your contract. ![Aztec team submitting to Typescript](@site/static/img/tutorials/private_voting/submit_to_typescript.jpeg) @@ -52,7 +53,6 @@ aztec-builder codegen -o artifacts target - Wait, we don't yet have a project, right? Let's do it now, and btw let's install `@aztec/aztec.js` and `@aztec/accounts`. @@ -67,7 +67,7 @@ These two packages are quite useful. `aztec.js` gives us a nice interface to int So, let's create an `index.ts` file and add those imports. Since we're here, let's import the contract artifact we generated above. - + ```js import { createPXEClient } from "@aztec/aztec.js"; @@ -79,7 +79,7 @@ import { MainContract } from "./artifacts/Main"; ### Deploy 🚀 -Deploying is quite easy now. +Deploying is quite easy now. ![Why can't you just deploy it](@site/static/img/tutorials/private_voting/just_deploy.jpeg) @@ -87,21 +87,21 @@ Since the sandbox is running already, our PXE is also running. Yey! So we call i Then we can deploy our artifact, broadcast it, and wait for the result: - + ```ts const pxe = createPXEClient("http://localhost:8080"); const wallet = await createAccount(pxe); -const contract = await MainContract.deploy(wallet).send().deployed() -console.log("Yey! Address: ", contract.address) +const { address } = await MainContract.deploy(wallet).send().deployed(); +console.log("Yey! Address: ", address); ``` With the infra ready, all we need is love hit the button: - + ```bash yes | npx tsx index.ts @@ -111,7 +111,7 @@ yes | npx tsx index.ts :::tip -Do you hate tsconfig? +Do you hate tsconfig? I do. So I like tsx, which uses sensible defaults that "just work" 💡 @@ -122,14 +122,13 @@ So I like tsx, which uses sensible defaults that "just work" 💡 Ok ok let's dive in the actual voting logic. Let's have a look at our `main.nr`. There's not much in there, but there's an initializer that runs when you deploy it, and turns out we would like to have an admin for our little election. So we pass it as a parameter: - + ```rust #[aztec(public)] #[aztec(initializer)] -fn constructor(admin: AztecAddress) { +fn constructor(admin: AztecAddress) { storage.admin.write(admin); - storage.vote_ended.write(false); } ``` @@ -137,9 +136,9 @@ fn constructor(admin: AztecAddress) { ### Storage -What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin. +What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin. - + ```rust #[aztec(storage)] @@ -157,7 +156,7 @@ We also added another storage value `tally`, which is a map that relates a key ( Here's all the code we have so far: - + ```rust contract Main { @@ -171,7 +170,7 @@ contract Main { #[aztec(public)] #[aztec(initializer)] - fn constructor(admin: AztecAddress) { + fn constructor(admin: AztecAddress) { storage.admin.write(admin); } } @@ -188,7 +187,6 @@ If want to see stuff working, you can [deploy](#deploy--1) now! ::: - ### Voting logic We need the logic now. Just like with an old-school manual election, there are only two operations: write votes, and count them. @@ -208,17 +206,17 @@ This is quite of a famously difficult problem to solve in distributed systems. W ::: - #### Casting votes -Ok, let's buidl 😈 +Ok, let's buidl 😈 We're gonna write the first private function. First thing is to get the [master nullifying key hash](../reference/smart_contract_reference/aztec-nr/aztec/keys/getters.md#get_npk_m_hash). Once the [specification on key rotation](../protocol-specs/addresses-and-keys/keys.md) is implemented, the user will be able to just rotate keys and vote multiple times. But for now, this should work: ```rust #[aztec(private)] // annotation to mark function as private and expose private context fn cast_vote(candidate: Field) { - let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); + let header = context.get_header(); + let msg_sender_npk_m_hash = header.get_npk_m_hash(&mut context, context.msg_sender()); } ``` @@ -228,7 +226,8 @@ We then get the secret key of the caller by getting it from the [private context //... #[aztec(private)] fn cast_vote(candidate: Field) { - let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); + let header = context.get_header(); + let msg_sender_npk_m_hash = header.get_npk_m_hash(&mut context, context.msg_sender()); // highlight-next-line let secret = context.request_nsk_app(msg_sender_npk_m_hash); } @@ -247,7 +246,8 @@ Lastly, we just hash the sender and the key with Noir's highly optimized [`peder ```rust #[aztec(private)] fn cast_vote(candidate: Field) { - let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); + let header = context.get_header(); + let msg_sender_npk_m_hash = header.get_npk_m_hash(&mut context, context.msg_sender()); let secret = context.request_nsk_app(msg_sender_npk_m_hash); // highlight-start let nullifier = dep::std::hash::pedersen_hash([context.msg_sender().to_field(), secret]); @@ -262,10 +262,13 @@ We now need to add +1 to the person we chose to vote for. So we call a public fu Let's call our own contract with our current execution context, and enqueue our call. And that's it for this function. Feel free to copy it, you lazy goblin! + + ```rust #[aztec(private)] fn cast_vote(candidate: Field) { - let msg_sender_npk_m_hash = get_npk_m_hash(&mut context, context.msg_sender()); + let header = context.get_header(); + let msg_sender_npk_m_hash = header.get_npk_m_hash(&mut context, context.msg_sender()); let secret = context.request_nsk_app(msg_sender_npk_m_hash); let nullifier = dep::std::hash::pedersen_hash([context.msg_sender().to_field(), secret]); context.push_new_nullifier(nullifier, 0); // push nullifier @@ -275,8 +278,12 @@ fn cast_vote(candidate: Field) { } ``` + + The `add_to_tally_public` function is quite straightforward. It just reads and writes a public value from the `tally` [Map](../reference/smart_contract_reference/aztec-nr/aztec/state_vars/map#at): + + ```rust #[aztec(public)] fn add_to_tally_public(candidate: Field) { @@ -285,34 +292,54 @@ fn add_to_tally_public(candidate: Field) { } ``` + + ## Deploying 🔥 You can deploy now! Just make sure to add the address as a parameter to the `deploy` method in your `index.ts` file: -````diff +{/* */} + + + ```const {address} = await MainContract.deploy(wallet, wallet.getAddress()).send().deployed()``` + +{/* */} + +```diff - const { address } = await MainContract.deploy(wallet).send().deployed() + const { address } = await MainContract.deploy(wallet, wallet.getAddress()).send().deployed() -```` +``` -You also want to import some dependencies we're using, like `AztecAddress` or `get_npk_m_hash`. Make sure to do it _inside_ the `Contract` block: +You also want to import some dependencies we're using, like `AztecAddress`. Make sure to do it _inside_ the `Contract` block: + + ```rust contract Main { // highlight-start use dep::aztec::prelude::{ AztecAddress, Map, PublicMutable }; - use dep::aztec::keys::getters::get_npk_m_hash; // highlight-end - // ... ``` + + Head to your terminal to recompile, generate the artifact, and run: + + ```bash aztec-nargo compile aztec-builder codegen -o artifacts target npx tsx index.ts ``` + + ![Gentlemen it is with great plesaure to inform you that your code is deployed](@site/static/img/tutorials/private_voting/deployed_frog.jpeg) ## Extra points for testing @@ -334,7 +361,7 @@ const tally1 = await methods.get_tally(1).simulate(); await contract.methods.cast_vote(1).send().wait(); const tally2 = await contract.methods.get_tally(1).simulate(); -console.log(tally1, tally2) +console.log(tally1, tally2); ``` This should return 0 and 1, which is correct! @@ -344,12 +371,13 @@ This should return 0 and 1, which is correct! Congratulations! In this beginner tutorial, we started from scratch and ended up with a nice little voting app that took less than 50 lines of code and already presents some of Aztec's strongest points! If you want to keep building, you may want to add more features. Here are some cool exercises: + - Add a field to track the end of the voting period. - Use a merkle tree to track who is elligible to vote. - Write a portal contract to the L1 layer that mints an NFT to every voter. - Use a different account contract - If you're in learning mode, you may want to explore some of things we "skimmed" through. For example: + - The sandbox was hidden away from you. This development environment is the brain of the whole thing, and you can do some cool things with it, such as warping time, get some values about the node, etc. Check the [Sandbox Reference for more info!](../reference/sandbox_reference) - Another key component of Aztec is the Private Execution Environment (PXE). We briefly referred to it as a "wallet", but it is no more than a library. A _very_ powerful one, for that matter. It handles all the client-side proving, storage, key management, etc. [Learn about the PXE in the concepts section](../aztec/concepts/pxe). diff --git a/docs/playwright.config.ts b/docs/playwright.config.ts index 32e2ab9f003c..7bd47d4ff343 100644 --- a/docs/playwright.config.ts +++ b/docs/playwright.config.ts @@ -23,8 +23,8 @@ export default defineConfig({ use: { ...devices["Desktop Chrome"] }, }, ], - // webServer: { - // command: "yarn serve", - // port: 3000, - // }, + webServer: { + command: "yarn serve", + port: 3000, + }, }); diff --git a/docs/test-results/tutorials-__tests__-private_voting_tutorial-Deploying-setting-and-getting-a-number-chromium/test-failed-1.png b/docs/test-results/tutorials-__tests__-private_voting_tutorial-Deploying-setting-and-getting-a-number-chromium/test-failed-1.png new file mode 100644 index 0000000000000000000000000000000000000000..29ef3f0112426ca350473dd5da5f3ea31e6f2fd1 GIT binary patch literal 131149 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

Qxytj*2*RzhC6 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 Q27J^WYd Date: Tue, 11 Jun 2024 07:55:51 +0000 Subject: [PATCH 08/16] a bit stuck here... --- docs/Dockerfile | 2 +- docs/Earthfile | 46 +++++++++++++------ docs/docker-compose.yml | 17 +++++++ .../__tests__/private_voting_tutorial.spec.ts | 7 ++- docs/package.json | 1 + docs/playwright.config.ts | 1 - docs/yarn.lock | 40 +++++++++++----- 7 files changed, 83 insertions(+), 31 deletions(-) create mode 100644 docs/docker-compose.yml diff --git a/docs/Dockerfile b/docs/Dockerfile index f82f8187700a..320bb041d5ed 100644 --- a/docs/Dockerfile +++ b/docs/Dockerfile @@ -41,4 +41,4 @@ RUN yarn workspaces focus @aztec/scripts --production && yarn cache clean FROM node:18.19.1-slim COPY --from=builder /usr/src/docs /usr/src/docs -COPY --from=builder /usr/src/yarn-project /usr/src/yarn-project \ No newline at end of file +COPY --from=builder /usr/src/yarn-project /usr/src/yarn-project diff --git a/docs/Earthfile b/docs/Earthfile index cb3f58954d54..0876b9752f6e 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -22,22 +22,10 @@ build: RUN ./scripts/build.sh SAVE ARTIFACT build -test: - ARG ENV - FROM +deps - COPY +build/build build - COPY ./static static - COPY ./src src - COPY ./docusaurus.config.js . - COPY ./sidebars.js . - COPY ./playwright.config.ts . - EXPOSE 3000 - ENTRYPOINT ["yarn", "test"] - serve: ARG ENV - FROM +deps - COPY +build/build build + FROM +build + COPY ./build build COPY ./static static COPY ./src src COPY ./docusaurus.config.js . @@ -47,6 +35,36 @@ serve: SAVE ARTIFACT /usr/src/docs SAVE IMAGE aztecprotocol/docs-server +test-prep: + # use the build image to build the project so that nargo has access to the same libc + # later on, once everything is built and we don't need nargo, copy to a debian based image + # that's supported by playwright + FROM ../build-images+build + + # copy the aztec yarn workspace, needed to resolve portal dependencies + COPY ../yarn-project+build-dev/usr/src /usr/src + + WORKDIR /usr/src/docs + + COPY . . + RUN yarn install --immutable + + SAVE ARTIFACT /usr/src /usr/src + +test: + ARG ENV + FROM node:18.19 + COPY --dir +test-prep/usr/src /usr + WORKDIR /usr/src/docs + RUN npx playwright install --with-deps + + COPY ../noir/+nargo/nargo /usr/local/bin/aztec-nargo + COPY ../yarn-project+build-dev/usr/src/yarn-project/builder /usr/local/bin/aztec-builder + EXPOSE 3000 + WITH DOCKER \ + --load aztecprotocol/aztec:latest=../yarn-project/+aztec + RUN yarn test + END deploy-preview: BUILD ../yarn-project/+scripts-prod diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml new file mode 100644 index 000000000000..e252ad5fa51c --- /dev/null +++ b/docs/docker-compose.yml @@ -0,0 +1,17 @@ +version: "3" +services: + docs: + image: aztecprotocol/docs:${AZTEC_DOCKER_TAG:-latest} + entrypoint: > + sh -c ' + yarn test + ' + environment: + DEBUG: "aztec:*" + DEBUG_COLORS: "true" + ETHEREUM_HOST: http://ethereum:8545 + CHAIN_ID: 31337 + PXE_URL: http://aztec:8080 + BOX: ${BOX:-vanilla} + CI: ${CI:-} + BROWSER: ${BROWSER:-chromium} diff --git a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts index 336c0156c614..84d6f94de792 100644 --- a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts +++ b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts @@ -1,9 +1,10 @@ import { test, expect, Page, Locator } from "@playwright/test"; -import { execFileSync } from "child_process"; import path from "path"; + +import { execFileSync } from "child_process"; import { readFileSync, writeFileSync, mkdirSync, rmSync } from "fs"; -const TEST_FOLDER = path.resolve("tmp", "test_tutorial"); +const TEST_FOLDER = path.resolve("/usr/test"); async function exec(locator: Locator) { const content = (await locator.innerText()).trim(); @@ -88,6 +89,4 @@ test("Deploying, setting, and getting a number", async ({ page }) => { for (const cmd of await page.getByTestId(RegExp(/[\s\S]/)).all()) { await exec(cmd); } - - // await shell.wait(); }); diff --git a/docs/package.json b/docs/package.json index 5f442f5da08c..9759667cdfe6 100644 --- a/docs/package.json +++ b/docs/package.json @@ -45,6 +45,7 @@ "dotenv": "^16.3.1", "netlify-cli": "^17.23.0", "nodemon": "^3.0.1", + "shelljs": "^0.8.5", "typedoc": "^0.25.1", "typedoc-plugin-markdown": "^3.16.0", "typescript": "^5.0.4" diff --git a/docs/playwright.config.ts b/docs/playwright.config.ts index 7bd47d4ff343..fd1abd6acb3a 100644 --- a/docs/playwright.config.ts +++ b/docs/playwright.config.ts @@ -3,7 +3,6 @@ import { defineConfig, devices } from "@playwright/test"; export default defineConfig({ testDir: "./docs", testMatch: "**.spec.ts", - testIgnore: "**/tmp/**", fullyParallel: true, retries: 0, workers: 3, diff --git a/docs/yarn.lock b/docs/yarn.lock index b0804ea6d83c..b9e81c1e25a5 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -11115,7 +11115,7 @@ mute-stream@0.0.7: resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ== -nan@^2.16.0, nan@^2.17.0: +nan@^2.16.0: version "2.19.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.19.0.tgz#bb58122ad55a6c5bc973303908d5b16cfdd5a8c0" integrity sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw== @@ -11428,13 +11428,6 @@ node-gyp-build@^4.2.2: resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.1.tgz#976d3ad905e71b76086f4f0b0d3637fe79b6cda5" integrity sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw== -node-pty@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-pty/-/node-pty-1.0.0.tgz#7daafc0aca1c4ca3de15c61330373af4af5861fd" - integrity sha512-wtBMWWS7dFZm/VgqElrTvtfMq4GzJ6+edFI0Y0zyzygUSZMgZdraDUMUhCIvkjhJjme15qWmbyJbtAx4ot4uZA== - dependencies: - nan "^2.17.0" - node-releases@^2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" @@ -14232,7 +14225,16 @@ streamx@^2.15.0, streamx@^2.16.1: optionalDependencies: bare-events "^2.2.0" -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -14289,7 +14291,7 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -14315,6 +14317,13 @@ strip-ansi@^5.1.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.0, strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -15663,7 +15672,16 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== From 4873bdb246787482f2adeaa1cbb813d47e362220 Mon Sep 17 00:00:00 2001 From: signorecello Date: Wed, 12 Jun 2024 10:52:38 +0000 Subject: [PATCH 09/16] pushing to see if cgroup works in remote --- docs/Earthfile | 41 +- docs/docker-compose.yml | 28 +- .../tutorials/private_voting_contract.mdx | 4 +- docs/package.json | 2 +- .../test-failed-1.png | Bin 131149 -> 0 bytes docs/yarn.lock | 4854 ++++++++--------- 6 files changed, 2254 insertions(+), 2675 deletions(-) delete mode 100644 docs/test-results/tutorials-__tests__-private_voting_tutorial-Deploying-setting-and-getting-a-number-chromium/test-failed-1.png diff --git a/docs/Earthfile b/docs/Earthfile index 0876b9752f6e..29c379063ab4 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -1,10 +1,8 @@ VERSION 0.8 -FROM ../build-images/+base-slim-node -WORKDIR /usr/src/docs - deps: - RUN apt update && apt install -y jq curl perl && rm -rf /var/lib/apt/lists/* && apt-get clean + FROM ../build-images+build + WORKDIR /usr/src/docs COPY ./yarn.lock ./yarn.lock COPY ./package.json ./package.json RUN yarn install --frozen-lockfile @@ -22,48 +20,27 @@ build: RUN ./scripts/build.sh SAVE ARTIFACT build -serve: - ARG ENV +export: FROM +build - COPY ./build build - COPY ./static static - COPY ./src src - COPY ./docusaurus.config.js . - COPY ./sidebars.js . ENTRYPOINT ["yarn", "serve"] EXPOSE 3000 SAVE ARTIFACT /usr/src/docs SAVE IMAGE aztecprotocol/docs-server -test-prep: - # use the build image to build the project so that nargo has access to the same libc - # later on, once everything is built and we don't need nargo, copy to a debian based image - # that's supported by playwright - FROM ../build-images+build - - # copy the aztec yarn workspace, needed to resolve portal dependencies - COPY ../yarn-project+build-dev/usr/src /usr/src - - WORKDIR /usr/src/docs - - COPY . . - RUN yarn install --immutable - - SAVE ARTIFACT /usr/src /usr/src - test: ARG ENV - FROM node:18.19 - COPY --dir +test-prep/usr/src /usr + FROM +build WORKDIR /usr/src/docs RUN npx playwright install --with-deps COPY ../noir/+nargo/nargo /usr/local/bin/aztec-nargo - COPY ../yarn-project+build-dev/usr/src/yarn-project/builder /usr/local/bin/aztec-builder + RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder + RUN rm /usr/local/bin/yarn /usr/local/bin/yarnpkg && npm install -g corepack && corepack enable EXPOSE 3000 WITH DOCKER \ - --load aztecprotocol/aztec:latest=../yarn-project/+aztec - RUN yarn test + --load aztecprotocol/aztec:latest=../yarn-project/+aztec \ + --compose docker-compose.yml + RUN docker compose up -d --exit-code-from=aztec --force-recreate && yarn test END deploy-preview: diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml index e252ad5fa51c..650e468bec76 100644 --- a/docs/docker-compose.yml +++ b/docs/docker-compose.yml @@ -1,17 +1,21 @@ version: "3" services: - docs: - image: aztecprotocol/docs:${AZTEC_DOCKER_TAG:-latest} - entrypoint: > - sh -c ' - yarn test - ' + ethereum: + image: ghcr.io/foundry-rs/foundry:v1.0.0 + command: "'anvil --silent -p 8545 --host 0.0.0.0 --chain-id 31337'" + network_mode: host + + aztec: + image: aztecprotocol/aztec:${AZTEC_DOCKER_TAG:-latest} environment: - DEBUG: "aztec:*" - DEBUG_COLORS: "true" ETHEREUM_HOST: http://ethereum:8545 CHAIN_ID: 31337 - PXE_URL: http://aztec:8080 - BOX: ${BOX:-vanilla} - CI: ${CI:-} - BROWSER: ${BROWSER:-chromium} + ARCHIVER_POLLING_INTERVAL_MS: 50 + P2P_BLOCK_CHECK_INTERVAL_MS: 50 + SEQ_TX_POLLING_INTERVAL_MS: 50 + WS_BLOCK_CHECK_INTERVAL_MS: 50 + PXE_BLOCK_POLLING_INTERVAL_MS: 50 + ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500 + depends_on: + - ethereum + network_mode: host diff --git a/docs/docs/tutorials/private_voting_contract.mdx b/docs/docs/tutorials/private_voting_contract.mdx index 1a996b677aa6..770ba00bdf3d 100644 --- a/docs/docs/tutorials/private_voting_contract.mdx +++ b/docs/docs/tutorials/private_voting_contract.mdx @@ -21,7 +21,9 @@ You can also click on this badge and start a codespace - a free remote server th Start a new project by using the very same `npx` command that powers the codespace: - ```corepack enable && yes | npx aztec-app init -v zpedro/tutorials_refactor``` + ```bash + yes | npx aztec-app init -v zpedro/tutorials_refactor + ``` ```bash diff --git a/docs/package.json b/docs/package.json index 9759667cdfe6..5cd649277480 100644 --- a/docs/package.json +++ b/docs/package.json @@ -38,7 +38,7 @@ "devDependencies": { "@docusaurus/module-type-aliases": "^3.0.1", "@docusaurus/types": "3.0.0", - "@playwright/test": "1.42.0", + "@playwright/test": "^1.45.0-alpha-2024-06-11", "@tsconfig/docusaurus": "^1.0.5", "concurrently": "^8.0.1", "docusaurus-plugin-typedoc": "^0.20.2", diff --git a/docs/test-results/tutorials-__tests__-private_voting_tutorial-Deploying-setting-and-getting-a-number-chromium/test-failed-1.png b/docs/test-results/tutorials-__tests__-private_voting_tutorial-Deploying-setting-and-getting-a-number-chromium/test-failed-1.png deleted file mode 100644 index 29ef3f0112426ca350473dd5da5f3ea31e6f2fd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 131149 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

Qxytj*2*RzhC6 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 Q27J^WYd=12.12.47" + +"@grpc/proto-loader@^0.7.0": + version "0.7.13" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.7.13.tgz#f6a44b2b7c9f7b609f5748c6eac2d420e37670cf" + integrity sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw== + dependencies: + lodash.camelcase "^4.3.0" + long "^5.0.0" + protobufjs "^7.2.5" + yargs "^17.7.2" "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0": version "9.3.0" @@ -2124,17 +2144,17 @@ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== -"@img/sharp-darwin-arm64@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.3.tgz#2bbf676be830c5a9ae7d9294f201c9151535badd" - integrity sha512-FaNiGX1MrOuJ3hxuNzWgsT/mg5OHG/Izh59WW2mk1UwYHUwtfbhk5QNKYZgxf0pLOhx9ctGiGa2OykD71vOnSw== +"@img/sharp-darwin-arm64@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.4.tgz#a1cf4a7febece334f16e0328b9689f05797d7aec" + integrity sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA== optionalDependencies: "@img/sharp-libvips-darwin-arm64" "1.0.2" -"@img/sharp-darwin-x64@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.3.tgz#c59567b141eb676e884066f76091a2673120c3f5" - integrity sha512-2QeSl7QDK9ru//YBT4sQkoq7L0EAJZA3rtV+v9p8xTKl4U1bUqTIaCnoC7Ctx2kCjQgwFXDasOtPTCT8eCTXvw== +"@img/sharp-darwin-x64@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.4.tgz#f77be2d7c3609d3e77cd337b199a772e07b87bd2" + integrity sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw== optionalDependencies: "@img/sharp-libvips-darwin-x64" "1.0.2" @@ -2178,64 +2198,64 @@ resolved "https://registry.yarnpkg.com/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.2.tgz#4309474bd8b728a61af0b3b4fad0c476b5f3ccbe" integrity sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw== -"@img/sharp-linux-arm64@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.3.tgz#a1f788ddf49ed63509dd37d4b01e571fe7f189d5" - integrity sha512-Zf+sF1jHZJKA6Gor9hoYG2ljr4wo9cY4twaxgFDvlG0Xz9V7sinsPp8pFd1XtlhTzYo0IhDbl3rK7P6MzHpnYA== +"@img/sharp-linux-arm64@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.4.tgz#bd390113e256487041411b988ded13a26cfc5f95" + integrity sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q== optionalDependencies: "@img/sharp-libvips-linux-arm64" "1.0.2" -"@img/sharp-linux-arm@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.3.tgz#661b0671ed7f740fd06821ce15050ba23f1d0523" - integrity sha512-Q7Ee3fFSC9P7vUSqVEF0zccJsZ8GiiCJYGWDdhEjdlOeS9/jdkyJ6sUSPj+bL8VuOYFSbofrW0t/86ceVhx32w== +"@img/sharp-linux-arm@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.4.tgz#14ecc81f38f75fb4cd7571bc83311746d6745fca" + integrity sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ== optionalDependencies: "@img/sharp-libvips-linux-arm" "1.0.2" -"@img/sharp-linux-s390x@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.3.tgz#8719341d3931a297df1a956c02ee003736fa8fac" - integrity sha512-vFk441DKRFepjhTEH20oBlFrHcLjPfI8B0pMIxGm3+yilKyYeHEVvrZhYFdqIseSclIqbQ3SnZMwEMWonY5XFA== +"@img/sharp-linux-s390x@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.4.tgz#119e8081e2c6741b5ac908fe02244e4c559e525f" + integrity sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ== optionalDependencies: "@img/sharp-libvips-linux-s390x" "1.0.2" -"@img/sharp-linux-x64@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.3.tgz#dbd860b4aa16e7e25727c7e05b411132b58d017d" - integrity sha512-Q4I++herIJxJi+qmbySd072oDPRkCg/SClLEIDh5IL9h1zjhqjv82H0Seupd+q2m0yOfD+/fJnjSoDFtKiHu2g== +"@img/sharp-linux-x64@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.4.tgz#21d4c137b8da9a313b069ff5c920ded709f853d7" + integrity sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw== optionalDependencies: "@img/sharp-libvips-linux-x64" "1.0.2" -"@img/sharp-linuxmusl-arm64@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.3.tgz#25b3fbfe9b6fa32d773422d878d8d84f3f6afceb" - integrity sha512-qnDccehRDXadhM9PM5hLvcPRYqyFCBN31kq+ErBSZtZlsAc1U4Z85xf/RXv1qolkdu+ibw64fUDaRdktxTNP9A== +"@img/sharp-linuxmusl-arm64@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.4.tgz#f3fde68fd67b85a32da6f1155818c3b58b8e7ae0" + integrity sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ== optionalDependencies: "@img/sharp-libvips-linuxmusl-arm64" "1.0.2" -"@img/sharp-linuxmusl-x64@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.3.tgz#1e533e44abf2e2d427428ed49294ddba4eb11456" - integrity sha512-Jhchim8kHWIU/GZ+9poHMWRcefeaxFIs9EBqf9KtcC14Ojk6qua7ghKiPs0sbeLbLj/2IGBtDcxHyjCdYWkk2w== +"@img/sharp-linuxmusl-x64@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.4.tgz#44373724aecd7b69900e0578228144e181db7892" + integrity sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw== optionalDependencies: "@img/sharp-libvips-linuxmusl-x64" "1.0.2" -"@img/sharp-wasm32@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.3.tgz#340006047a77df0744db84477768bbca6327b4b4" - integrity sha512-68zivsdJ0koE96stdUfM+gmyaK/NcoSZK5dV5CAjES0FUXS9lchYt8LAB5rTbM7nlWtxaU/2GON0HVN6/ZYJAQ== +"@img/sharp-wasm32@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-wasm32/-/sharp-wasm32-0.33.4.tgz#88e3f18d7e7cd8cfe1af98e9963db4d7b6491435" + integrity sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ== dependencies: - "@emnapi/runtime" "^1.1.0" + "@emnapi/runtime" "^1.1.1" -"@img/sharp-win32-ia32@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.3.tgz#0fdc49ab094ed0151ec8347afac7917aa5fc5145" - integrity sha512-CyimAduT2whQD8ER4Ux7exKrtfoaUiVr7HG0zZvO0XTFn2idUWljjxv58GxNTkFb8/J9Ub9AqITGkJD6ZginxQ== +"@img/sharp-win32-ia32@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.4.tgz#b1c772dd2952e983980b1eb85808fa8129484d46" + integrity sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw== -"@img/sharp-win32-x64@0.33.3": - version "0.33.3" - resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.3.tgz#a94e1028f180666f97fd51e35c4ad092d7704ef0" - integrity sha512-viT4fUIDKnli3IfOephGnolMzhz5VaTvDRkYqtZxOMIoMQ4MrAziO7pT1nVnOt2FAm7qW5aa+CCc13aEY6Le0g== +"@img/sharp-win32-x64@0.33.4": + version "0.33.4" + resolved "https://registry.yarnpkg.com/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.4.tgz#106f911134035b4157ec92a0c154a6b6f88fa4c1" + integrity sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw== "@import-maps/resolve@^1.0.1": version "1.0.1" @@ -2418,23 +2438,23 @@ yaml "^2.1.3" yargs "^17.6.0" -"@netlify/build@29.41.2": - version "29.41.2" - resolved "https://registry.yarnpkg.com/@netlify/build/-/build-29.41.2.tgz#ad323cdcebf979e32378cbb8a79e8dc315af110a" - integrity sha512-txcYS00PXfmfw9hIxc4Q5c8p4DLkaGqgX3yjGUH2y/2NXxJQxpZiZBBVYeVW5q0rwb+17trE2gQJ/xnOXo3O5Q== +"@netlify/build@29.47.1": + version "29.47.1" + resolved "https://registry.yarnpkg.com/@netlify/build/-/build-29.47.1.tgz#d091230d8ec451a542b81b373c347f58a9610459" + integrity sha512-11OKuvYzrchJF7kmFSspjIKfomHBMkmOrVEphHGt5wFa7l3WgxUabsv5AMgOLfIS3TAtWJnpOoRBtfsPzsQdfQ== dependencies: "@bugsnag/js" "^7.0.0" "@netlify/blobs" "^7.3.0" "@netlify/cache-utils" "^5.1.5" - "@netlify/config" "^20.12.3" - "@netlify/edge-bundler" "12.0.0" - "@netlify/framework-info" "^9.8.11" - "@netlify/functions-utils" "^5.2.55" + "@netlify/config" "^20.15.1" + "@netlify/edge-bundler" "12.0.1" + "@netlify/framework-info" "^9.8.13" + "@netlify/functions-utils" "^5.2.63" "@netlify/git-utils" "^5.1.1" - "@netlify/opentelemetry-utils" "^1.2.0" - "@netlify/plugins-list" "^6.77.0" + "@netlify/opentelemetry-utils" "^1.2.1" + "@netlify/plugins-list" "^6.80.0" "@netlify/run-utils" "^5.1.1" - "@netlify/zip-it-and-ship-it" "9.32.1" + "@netlify/zip-it-and-ship-it" "9.34.3" "@sindresorhus/slugify" "^2.0.0" ansi-escapes "^6.0.0" chalk "^5.0.0" @@ -2467,7 +2487,7 @@ pkg-dir "^7.0.0" pretty-ms "^8.0.0" ps-list "^8.0.0" - read-pkg-up "^9.0.0" + read-package-up "^11.0.0" readdirp "^3.4.0" resolve "^2.0.0-next.1" rfdc "^1.3.0" @@ -2496,10 +2516,10 @@ path-exists "^5.0.0" readdirp "^3.4.0" -"@netlify/config@20.12.3": - version "20.12.3" - resolved "https://registry.yarnpkg.com/@netlify/config/-/config-20.12.3.tgz#3cc2983f87a7f9d3a33aea11b0de30d6b263b0ab" - integrity sha512-E+oiGEm6zIvyFJ2kQC1IV5Ipiv7Ar84RuP2K+aVMSgu/raOn7ZfN9lM5TC43qboF3bDrJd6EuYDxVIAuxVkMCA== +"@netlify/config@20.15.1", "@netlify/config@^20.15.1": + version "20.15.1" + resolved "https://registry.yarnpkg.com/@netlify/config/-/config-20.15.1.tgz#802cdeb02b13453f2ca1edb68fcb135e19f8edcc" + integrity sha512-xz8wN8rXLpEGtGQI4zfg3SvTUjvLaMJtLxFYqg7kgfYOPuGKUh06gEEXgChg6n32TJsIoHqwsYaKJBaFS+Z2YA== dependencies: "@iarna/toml" "^2.2.5" chalk "^5.0.0" @@ -2515,37 +2535,7 @@ is-plain-obj "^4.0.0" js-yaml "^4.0.0" map-obj "^5.0.0" - netlify "^13.1.15" - netlify-headers-parser "^7.1.4" - netlify-redirect-parser "^14.2.2" - node-fetch "^3.3.1" - omit.js "^2.0.2" - p-locate "^6.0.0" - path-type "^5.0.0" - tomlify-j0.4 "^3.0.0" - validate-npm-package-name "^4.0.0" - yargs "^17.6.0" - -"@netlify/config@^20.12.3": - version "20.12.5" - resolved "https://registry.yarnpkg.com/@netlify/config/-/config-20.12.5.tgz#11af4d3d2fdef2c2b57fd8fac874ee8ad92feef0" - integrity sha512-G3On0L/c3tG5Hl3U9hWbxjuqt/A/quWnr7JiD8pijIezZN1rrX2BuiZLh/rqm6uEWqMb9agZw4nX1eqPNlesVg== - dependencies: - "@iarna/toml" "^2.2.5" - chalk "^5.0.0" - cron-parser "^4.1.0" - deepmerge "^4.2.2" - dot-prop "^7.0.0" - execa "^6.0.0" - fast-safe-stringify "^2.0.7" - figures "^5.0.0" - filter-obj "^5.0.0" - find-up "^6.0.0" - indent-string "^5.0.0" - is-plain-obj "^4.0.0" - js-yaml "^4.0.0" - map-obj "^5.0.0" - netlify "^13.1.16" + netlify "^13.1.18" netlify-headers-parser "^7.1.4" netlify-redirect-parser "^14.3.0" node-fetch "^3.3.1" @@ -2556,19 +2546,19 @@ validate-npm-package-name "^4.0.0" yargs "^17.6.0" -"@netlify/edge-bundler@12.0.0": - version "12.0.0" - resolved "https://registry.yarnpkg.com/@netlify/edge-bundler/-/edge-bundler-12.0.0.tgz#85bd0210314b675a52fa47dfd796657fe86206d5" - integrity sha512-whAeq2gQxWz8Bt85XN8VJRBwhHpGlbmu7LRX4bFBgXPNWVi1a9UrQ+F51gHj9p+B01tsztVrKlxqA555Sg0dgg== +"@netlify/edge-bundler@12.0.1": + version "12.0.1" + resolved "https://registry.yarnpkg.com/@netlify/edge-bundler/-/edge-bundler-12.0.1.tgz#2431c12e9e6fe46c385420d4290d8cdae69c7ca1" + integrity sha512-7Soa0Ny2mDhPHfBbdg28FJ96Kk71Q6vDJfJ3d5BLBqSh6buw+TRcDJye84wJ9LaMlff+eAN/vlMgsoumCH5L9Q== dependencies: "@import-maps/resolve" "^1.0.1" - "@vercel/nft" "^0.26.0" + "@vercel/nft" "^0.27.0" ajv "^8.11.2" ajv-errors "^3.0.0" better-ajv-errors "^1.2.0" common-path-prefix "^3.0.0" env-paths "^3.0.0" - esbuild "0.20.2" + esbuild "0.21.2" execa "^6.0.0" find-up "^6.3.0" get-package-name "^2.2.0" @@ -2585,15 +2575,15 @@ urlpattern-polyfill "8.0.2" uuid "^9.0.0" -"@netlify/edge-functions@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@netlify/edge-functions/-/edge-functions-2.5.1.tgz#465b4fa51f4f37775876a0c515b1f1ee8e1793ca" - integrity sha512-6YGlbzxPaSqc/D2LhP4T4PXrim/vRmqpO1RwQKqVod6WCWlkdtJcAd3mGoI7efrjfND8twh7TqXtL7RRCI23qA== +"@netlify/edge-functions@2.8.1": + version "2.8.1" + resolved "https://registry.yarnpkg.com/@netlify/edge-functions/-/edge-functions-2.8.1.tgz#896bc067b302cb2c6b1e41b3790a485053dac68a" + integrity sha512-BoAz/gCWHLn9DVugGViORbWFDqaqrB/JHM+9N+ahk7U6C3EwaFojnnGKCMrQ65f2YOi6Wwlue1ZZO+8mq43RZA== -"@netlify/framework-info@^9.8.11": - version "9.8.11" - resolved "https://registry.yarnpkg.com/@netlify/framework-info/-/framework-info-9.8.11.tgz#a4b4740b906e7c59c853a8eaaf9a7067a2258a71" - integrity sha512-8NuvzQQVeU36PRilWqijiIWmjy6JZcqbKooGQ4bNgH/26YNdS+tN5gOWGWVYnRHgdmBUCycyYrM5h1Srwnq3hQ== +"@netlify/framework-info@^9.8.13": + version "9.8.13" + resolved "https://registry.yarnpkg.com/@netlify/framework-info/-/framework-info-9.8.13.tgz#0a4cc2be4c2439089f9b630e19d73e2f4b09289d" + integrity sha512-ZZXCggokY/y5Sz93XYbl/Lig1UAUSWPMBiQRpkVfbrrkjmW2ZPkYS/BgrM2/MxwXRvYhc/TQpZX6y5JPe3quQg== dependencies: ajv "^8.12.0" filter-obj "^5.0.0" @@ -2603,15 +2593,15 @@ p-filter "^3.0.0" p-locate "^6.0.0" process "^0.11.10" - read-pkg-up "^9.0.0" + read-pkg-up "^9.1.0" semver "^7.3.8" -"@netlify/functions-utils@^5.2.55": - version "5.2.56" - resolved "https://registry.yarnpkg.com/@netlify/functions-utils/-/functions-utils-5.2.56.tgz#8203ce6c3e1929553e8b6f535d09e90d4b5ec761" - integrity sha512-CPYrG3v/1w5GeBEI2t3tCrrLxACm3ecvj0X10PPPFAv++4dy1M7L9PqlTjGz15kektBSOIL9a82/4T74/OBhng== +"@netlify/functions-utils@^5.2.63": + version "5.2.63" + resolved "https://registry.yarnpkg.com/@netlify/functions-utils/-/functions-utils-5.2.63.tgz#a18fa80aceab4b34d0f89c935dc1e19da58abd08" + integrity sha512-bRPX1nsxx2b3FcExKVoqZUcYz0FYe1NKLLr0IVhAKa8p64qX73tRmmKts9YDexzkrTYUdJtcvmLIFq5cpxb/bQ== dependencies: - "@netlify/zip-it-and-ship-it" "9.32.2" + "@netlify/zip-it-and-ship-it" "9.34.3" cpy "^9.0.0" path-exists "^5.0.0" @@ -2709,20 +2699,20 @@ resolved "https://registry.yarnpkg.com/@netlify/node-cookies/-/node-cookies-0.1.0.tgz#dda912ba618527695cf519fafa221c5e6777c612" integrity sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g== -"@netlify/open-api@^2.30.0": - version "2.30.0" - resolved "https://registry.yarnpkg.com/@netlify/open-api/-/open-api-2.30.0.tgz#d0a96b73e2df02c99768607dee7621b9529ed7c9" - integrity sha512-SMRzNwaG6/2MTIBe/RThLQRm3kNpiwb90te+iDJgMLLfTdVA33P/oiinTypBMyQU4Cm3IvQm7P5zD2mXZacSsg== +"@netlify/open-api@^2.32.0": + version "2.32.0" + resolved "https://registry.yarnpkg.com/@netlify/open-api/-/open-api-2.32.0.tgz#f3069e72c3323b94739ca79dddde285d7f800e40" + integrity sha512-pw3tfLvKm/6RwF2fNAXe1tJyf6R9OgU/wuGz//N3jhig0FGVNusbt+bwcj5eTzwOvCb0KkUh0OLT8e1gSSz8qQ== -"@netlify/opentelemetry-utils@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@netlify/opentelemetry-utils/-/opentelemetry-utils-1.2.0.tgz#81b157c18ac33f05252f9874f6659adedc79ff50" - integrity sha512-sdeYmvUHXzs7bfoh7f32WVh2wLMOdF3d2Xdcg2FG1lCySXOJ4V6F3n8vPoPXwO7S5iSzJbfO2RPJsTtZCmbIcg== +"@netlify/opentelemetry-utils@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@netlify/opentelemetry-utils/-/opentelemetry-utils-1.2.1.tgz#03862fd2073ee01de75335666c729d910bff0abe" + integrity sha512-A6nQBvUn/avHQopLOOjX8rY2eua//jufbx4NZZODACEHtfXAEmOjCoDe2m+cQPRq+jNa98nvCy/sJh2RwuCQog== -"@netlify/plugins-list@^6.77.0": - version "6.78.0" - resolved "https://registry.yarnpkg.com/@netlify/plugins-list/-/plugins-list-6.78.0.tgz#76d2a8aab95d71f33c3aa19d50b005dce9c3d3b5" - integrity sha512-VHd1G7oQKJ0oTowb2Sohu91CcYBR2lpLJ0E5Ep5NTwWYR7ymuoP+DAHlIbWlBznSS/AfHFR6SKdcShBOhqdgww== +"@netlify/plugins-list@^6.80.0": + version "6.80.0" + resolved "https://registry.yarnpkg.com/@netlify/plugins-list/-/plugins-list-6.80.0.tgz#da45e4f67e41e1623cd002273f8e6b2aea68ba8a" + integrity sha512-bCKLI51UZ70ziIWsf2nvgPd4XuG6m8AMCoHiYtl/BSsiaSBfmryZnTTqdRXerH09tBRpbPPwzaEgUJwyU9o8Qw== "@netlify/run-utils@^5.1.1": version "5.1.1" @@ -2731,68 +2721,29 @@ dependencies: execa "^6.0.0" -"@netlify/serverless-functions-api@^1.18.0", "@netlify/serverless-functions-api@^1.18.1": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@netlify/serverless-functions-api/-/serverless-functions-api-1.18.1.tgz#6b4b7995b7bb58dc14cc4215b0f6eea5675f8e6b" - integrity sha512-DrSvivchuwsuQW03zbVPT3nxCQa5tn7m4aoPOsQKibuJXIuSbfxzCBxPLz0+LchU5ds7YyOaCc9872Y32ngYzg== +"@netlify/serverless-functions-api@^1.18.3": + version "1.18.3" + resolved "https://registry.yarnpkg.com/@netlify/serverless-functions-api/-/serverless-functions-api-1.18.3.tgz#d6eaaa0bfee5b11fdf2aa7a4b04fac50a5119fb0" + integrity sha512-j89Zu4nu+ZYaBMXARKniUHc3B65BV4dJOmIUbNfWmBjiHth9gU/K9LQDvcjzy4TPXd9Wq0+DBsdVZlYbZKTuYw== dependencies: "@netlify/node-cookies" "^0.1.0" "@opentelemetry/core" "^1.23.0" - "@opentelemetry/otlp-transformer" "^0.50.0" + "@opentelemetry/otlp-transformer" "^0.51.0" "@opentelemetry/resources" "^1.23.0" - "@opentelemetry/sdk-trace-base" "^1.23.0" - "@opentelemetry/semantic-conventions" "^1.23.0" + "@opentelemetry/sdk-node" "^0.51.1" + "@opentelemetry/sdk-trace-node" "^1.24.1" urlpattern-polyfill "8.0.2" -"@netlify/zip-it-and-ship-it@9.32.1": - version "9.32.1" - resolved "https://registry.yarnpkg.com/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.32.1.tgz#1fd025d2934548774f509678a3bf8156cfc36273" - integrity sha512-zLsWEJYCoWbQ7ZM0WcPdXzXtIRp9Y2KvbGpL7iWYmTaLBDrmZtYDnUkoyG0E3b9zmuQp9EAiE6evBdRr6usiRg== +"@netlify/zip-it-and-ship-it@9.34.3": + version "9.34.3" + resolved "https://registry.yarnpkg.com/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.34.3.tgz#bb117ff251ec26d32ce2eca721581f7a33cd7189" + integrity sha512-mWdGjUNAvqLc9Vt3eufSWj1Rk3Wj6uKuh0Zw6gvHmxNBA4rUz/0Z9Fjc5NxR7WHMQtzX4AHo2ol2qFow1B2Y5Q== dependencies: "@babel/parser" "^7.22.5" - "@babel/types" "7.23.6" + "@babel/types" "7.24.6" "@netlify/binary-info" "^1.0.0" - "@netlify/serverless-functions-api" "^1.18.0" - "@vercel/nft" "^0.23.0" - archiver "^6.0.0" - common-path-prefix "^3.0.0" - cp-file "^10.0.0" - es-module-lexer "^1.0.0" - esbuild "0.19.11" - execa "^6.0.0" - fast-glob "^3.3.2" - filter-obj "^5.0.0" - find-up "^6.0.0" - glob "^8.0.3" - is-builtin-module "^3.1.0" - is-path-inside "^4.0.0" - junk "^4.0.0" - locate-path "^7.0.0" - merge-options "^3.0.4" - minimatch "^9.0.0" - normalize-path "^3.0.0" - p-map "^5.0.0" - path-exists "^5.0.0" - precinct "^11.0.0" - require-package-name "^2.0.1" - resolve "^2.0.0-next.1" - semver "^7.3.8" - tmp-promise "^3.0.2" - toml "^3.0.0" - unixify "^1.0.0" - urlpattern-polyfill "8.0.2" - yargs "^17.0.0" - -"@netlify/zip-it-and-ship-it@9.32.2": - version "9.32.2" - resolved "https://registry.yarnpkg.com/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-9.32.2.tgz#c787e86c7fc65d4bbe489e9f1e1286ec9658828e" - integrity sha512-0AHtKKTWlVgbYD46/8ns3/55uVefbPgun8omYEoVYeW50t2j380D+sq3O+2x6cH9a6zjuxH1IDvRoppBZGWAkw== - dependencies: - "@babel/parser" "^7.22.5" - "@babel/types" "7.24.5" - "@netlify/binary-info" "^1.0.0" - "@netlify/serverless-functions-api" "^1.18.1" - "@vercel/nft" "^0.23.0" + "@netlify/serverless-functions-api" "^1.18.3" + "@vercel/nft" "^0.27.1" archiver "^7.0.0" common-path-prefix "^3.0.0" cp-file "^10.0.0" @@ -2843,164 +2794,266 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@octokit/auth-token@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.4.tgz#70e941ba742bdd2b49bdb7393e821dea8520a3db" - integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ== - -"@octokit/core@^4.2.1": - version "4.2.4" - resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.4.tgz#d8769ec2b43ff37cc3ea89ec4681a20ba58ef907" - integrity sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ== - dependencies: - "@octokit/auth-token" "^3.0.0" - "@octokit/graphql" "^5.0.0" - "@octokit/request" "^6.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" +"@octokit/auth-token@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7" + integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== + +"@octokit/core@^5.0.2": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.2.0.tgz#ddbeaefc6b44a39834e1bb2e58a49a117672a7ea" + integrity sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg== + dependencies: + "@octokit/auth-token" "^4.0.0" + "@octokit/graphql" "^7.1.0" + "@octokit/request" "^8.3.1" + "@octokit/request-error" "^5.1.0" + "@octokit/types" "^13.0.0" before-after-hook "^2.2.0" universal-user-agent "^6.0.0" -"@octokit/endpoint@^7.0.0": - version "7.0.6" - resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-7.0.6.tgz#791f65d3937555141fb6c08f91d618a7d645f1e2" - integrity sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg== +"@octokit/endpoint@^9.0.1": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.5.tgz#e6c0ee684e307614c02fc6ac12274c50da465c44" + integrity sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw== dependencies: - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" + "@octokit/types" "^13.1.0" universal-user-agent "^6.0.0" -"@octokit/graphql@^5.0.0": - version "5.0.6" - resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-5.0.6.tgz#9eac411ac4353ccc5d3fca7d76736e6888c5d248" - integrity sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw== +"@octokit/graphql@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.1.0.tgz#9bc1c5de92f026648131f04101cab949eeffe4e0" + integrity sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ== dependencies: - "@octokit/request" "^6.0.0" - "@octokit/types" "^9.0.0" + "@octokit/request" "^8.3.0" + "@octokit/types" "^13.0.0" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^18.0.0": - version "18.1.1" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.1.1.tgz#09bdfdabfd8e16d16324326da5148010d765f009" - integrity sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw== +"@octokit/openapi-types@^22.2.0": + version "22.2.0" + resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-22.2.0.tgz#75aa7dcd440821d99def6a60b5f014207ae4968e" + integrity sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg== -"@octokit/plugin-paginate-rest@^6.1.2": - version "6.1.2" - resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz#f86456a7a1fe9e58fec6385a85cf1b34072341f8" - integrity sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ== +"@octokit/plugin-paginate-rest@11.3.1": + version "11.3.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz#fe92d04b49f134165d6fbb716e765c2f313ad364" + integrity sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g== dependencies: - "@octokit/tsconfig" "^1.0.2" - "@octokit/types" "^9.2.3" + "@octokit/types" "^13.5.0" -"@octokit/plugin-request-log@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85" - integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA== +"@octokit/plugin-request-log@^4.0.0": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz#98a3ca96e0b107380664708111864cb96551f958" + integrity sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA== -"@octokit/plugin-rest-endpoint-methods@^7.1.2": - version "7.2.3" - resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz#37a84b171a6cb6658816c82c4082ac3512021797" - integrity sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA== +"@octokit/plugin-rest-endpoint-methods@13.2.2": + version "13.2.2" + resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz#af8e5dd2cddfea576f92ffaf9cb84659f302a638" + integrity sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA== dependencies: - "@octokit/types" "^10.0.0" + "@octokit/types" "^13.5.0" -"@octokit/request-error@^3.0.0": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-3.0.3.tgz#ef3dd08b8e964e53e55d471acfe00baa892b9c69" - integrity sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ== +"@octokit/request-error@^5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.1.0.tgz#ee4138538d08c81a60be3f320cd71063064a3b30" + integrity sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q== dependencies: - "@octokit/types" "^9.0.0" + "@octokit/types" "^13.1.0" deprecation "^2.0.0" once "^1.4.0" -"@octokit/request@^6.0.0": - version "6.2.8" - resolved "https://registry.yarnpkg.com/@octokit/request/-/request-6.2.8.tgz#aaf480b32ab2b210e9dadd8271d187c93171d8eb" - integrity sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw== +"@octokit/request@^8.3.0", "@octokit/request@^8.3.1": + version "8.4.0" + resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.4.0.tgz#7f4b7b1daa3d1f48c0977ad8fffa2c18adef8974" + integrity sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw== dependencies: - "@octokit/endpoint" "^7.0.0" - "@octokit/request-error" "^3.0.0" - "@octokit/types" "^9.0.0" - is-plain-object "^5.0.0" - node-fetch "^2.6.7" + "@octokit/endpoint" "^9.0.1" + "@octokit/request-error" "^5.1.0" + "@octokit/types" "^13.1.0" universal-user-agent "^6.0.0" -"@octokit/rest@19.0.13": - version "19.0.13" - resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.13.tgz#e799393264edc6d3c67eeda9e5bd7832dcf974e4" - integrity sha512-/EzVox5V9gYGdbAI+ovYj3nXQT1TtTHRT+0eZPcuC05UFSWO3mdO9UY1C0i2eLF9Un1ONJkAk+IEtYGAC+TahA== +"@octokit/rest@20.1.1": + version "20.1.1" + resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-20.1.1.tgz#ec775864f53fb42037a954b9a40d4f5275b3dc95" + integrity sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw== dependencies: - "@octokit/core" "^4.2.1" - "@octokit/plugin-paginate-rest" "^6.1.2" - "@octokit/plugin-request-log" "^1.0.4" - "@octokit/plugin-rest-endpoint-methods" "^7.1.2" - -"@octokit/tsconfig@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@octokit/tsconfig/-/tsconfig-1.0.2.tgz#59b024d6f3c0ed82f00d08ead5b3750469125af7" - integrity sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA== + "@octokit/core" "^5.0.2" + "@octokit/plugin-paginate-rest" "11.3.1" + "@octokit/plugin-request-log" "^4.0.0" + "@octokit/plugin-rest-endpoint-methods" "13.2.2" -"@octokit/types@^10.0.0": - version "10.0.0" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-10.0.0.tgz#7ee19c464ea4ada306c43f1a45d444000f419a4a" - integrity sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg== +"@octokit/types@^13.0.0", "@octokit/types@^13.1.0", "@octokit/types@^13.5.0": + version "13.5.0" + resolved "https://registry.yarnpkg.com/@octokit/types/-/types-13.5.0.tgz#4796e56b7b267ebc7c921dcec262b3d5bfb18883" + integrity sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ== dependencies: - "@octokit/openapi-types" "^18.0.0" + "@octokit/openapi-types" "^22.2.0" -"@octokit/types@^9.0.0", "@octokit/types@^9.2.3": - version "9.3.2" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.3.2.tgz#3f5f89903b69f6a2d196d78ec35f888c0013cac5" - integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== - dependencies: - "@octokit/openapi-types" "^18.0.0" - -"@opentelemetry/api-logs@0.50.0": - version "0.50.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.50.0.tgz#d46b76daab0bc18fa92dcdabacfc106c380d19a1" - integrity sha512-JdZuKrhOYggqOpUljAq4WWNi5nB10PmgoF0y2CvedLGXd0kSawb/UBnWT8gg1ND3bHCNHStAIVT0ELlxJJRqrA== +"@opentelemetry/api-logs@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.51.1.tgz#ded1874c04516c2b8cb24828eef3d6c3d1f75343" + integrity sha512-E3skn949Pk1z2XtXu/lxf6QAZpawuTM/IUEXcAzpiUkTd73Hmvw26FiN3cJuTmkpM5hZzHwkomVdtrh/n/zzwA== dependencies: "@opentelemetry/api" "^1.0.0" -"@opentelemetry/api@1.8.0", "@opentelemetry/api@^1.0.0": +"@opentelemetry/api@1.8.0": version "1.8.0" resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.8.0.tgz#5aa7abb48f23f693068ed2999ae627d2f7d902ec" integrity sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w== -"@opentelemetry/core@1.23.0": - version "1.23.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.23.0.tgz#f2e7ada7f35750f3c1674aef1e52c879005c0731" - integrity sha512-hdQ/a9TMzMQF/BO8Cz1juA43/L5YGtCSiKoOHmrTEf7VMDAZgy8ucpWx3eQTnQ3gBloRcWtzvcrMZABC3PTSKQ== - dependencies: - "@opentelemetry/semantic-conventions" "1.23.0" +"@opentelemetry/api@^1.0.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" + integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== + +"@opentelemetry/context-async-hooks@1.24.1": + version "1.24.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.24.1.tgz#1db7116d78f60e993e0d337bd497885a53deba1a" + integrity sha512-R5r6DO4kgEOVBxFXhXjwospLQkv+sYxwCfjvoZBe7Zm6KKXAV9kDSJhi/D1BweowdZmO+sdbENLs374gER8hpQ== + +"@opentelemetry/context-async-hooks@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-1.25.0.tgz#bc3dcb1302b34b0f56047dd0d0f56b33013f657f" + integrity sha512-sBW313mnMyFg0cp/40BRzrZBWG+581s2j5gIsa5fgGadswyILk4mNFATsqrCOpAx945RDuZ2B7ThQLgor9OpfA== -"@opentelemetry/core@1.24.1", "@opentelemetry/core@^1.23.0": +"@opentelemetry/core@1.24.1": version "1.24.1" resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.24.1.tgz#35ab9d2ac9ca938e0ffbdfa40c49c169ac8ba80d" integrity sha512-wMSGfsdmibI88K9wB498zXY04yThPexo8jvwNNlm542HZB7XrrMRBbAyKJqG8qDRJwIBdBrPMi4V9ZPW/sqrcg== dependencies: "@opentelemetry/semantic-conventions" "1.24.1" -"@opentelemetry/otlp-transformer@^0.50.0": - version "0.50.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.50.0.tgz#211fe512fcce9d76042680f955336dbde3be03ef" - integrity sha512-s0sl1Yfqd5q1Kjrf6DqXPWzErL+XHhrXOfejh4Vc/SMTNqC902xDsC8JQxbjuramWt/+hibfguIvi7Ns8VLolA== +"@opentelemetry/core@1.25.0", "@opentelemetry/core@^1.23.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.25.0.tgz#ad034f5c2669f589bd703bfbbaa38b51f8504053" + integrity sha512-n0B3s8rrqGrasTgNkXLKXzN0fXo+6IYP7M5b7AMsrZM33f/y6DS6kJ0Btd7SespASWq8bgL3taLo0oe0vB52IQ== + dependencies: + "@opentelemetry/semantic-conventions" "1.25.0" + +"@opentelemetry/exporter-trace-otlp-grpc@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.51.1.tgz#f38ef867ec11d25880fa81d6b5cbd1edec7d75db" + integrity sha512-P9+Hkszih95ITvldGZ+kXvj9HpD1QfS+PwooyHK72GYA+Bgm+yUSAsDkUkDms8+s9HW6poxURv3LcjaMuBBpVQ== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "1.24.1" + "@opentelemetry/otlp-grpc-exporter-base" "0.51.1" + "@opentelemetry/otlp-transformer" "0.51.1" + "@opentelemetry/resources" "1.24.1" + "@opentelemetry/sdk-trace-base" "1.24.1" + +"@opentelemetry/exporter-trace-otlp-http@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.51.1.tgz#10c4706ed0c216e98411e5aa90c88a5c710d56c6" + integrity sha512-n+LhLPsX07URh+HhV2SHVSvz1t4G/l/CE5BjpmhAPqeTceFac1VpyQkavWEJbvnK5bUEXijWt4LxAxFpt2fXyw== + dependencies: + "@opentelemetry/core" "1.24.1" + "@opentelemetry/otlp-exporter-base" "0.51.1" + "@opentelemetry/otlp-transformer" "0.51.1" + "@opentelemetry/resources" "1.24.1" + "@opentelemetry/sdk-trace-base" "1.24.1" + +"@opentelemetry/exporter-trace-otlp-proto@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.51.1.tgz#f087eb752ebdb0392d5cae9a97f4245aaea2b38a" + integrity sha512-SE9f0/6V6EeXC9i+WA4WFjS1EYgaBCpAnI5+lxWvZ7iO7EU1IvHvZhP6Kojr0nLldo83gqg6G7OWFqsID3uF+w== dependencies: - "@opentelemetry/api-logs" "0.50.0" - "@opentelemetry/core" "1.23.0" - "@opentelemetry/resources" "1.23.0" - "@opentelemetry/sdk-logs" "0.50.0" - "@opentelemetry/sdk-metrics" "1.23.0" - "@opentelemetry/sdk-trace-base" "1.23.0" + "@opentelemetry/core" "1.24.1" + "@opentelemetry/otlp-exporter-base" "0.51.1" + "@opentelemetry/otlp-proto-exporter-base" "0.51.1" + "@opentelemetry/otlp-transformer" "0.51.1" + "@opentelemetry/resources" "1.24.1" + "@opentelemetry/sdk-trace-base" "1.24.1" + +"@opentelemetry/exporter-zipkin@1.24.1": + version "1.24.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-zipkin/-/exporter-zipkin-1.24.1.tgz#fc0173dca3c50ffe0d7b754d9bf8b35f6d2700c4" + integrity sha512-+Rl/VFmu2n6eaRMnVbyfZx1DqR/1KNyWebYuHyQBZaEAVIn/ZLgmofRpXN1X2nhJ4BNaptQUNxAstCYYz6dKoQ== + dependencies: + "@opentelemetry/core" "1.24.1" + "@opentelemetry/resources" "1.24.1" + "@opentelemetry/sdk-trace-base" "1.24.1" + "@opentelemetry/semantic-conventions" "1.24.1" + +"@opentelemetry/instrumentation@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.51.1.tgz#46fb2291150ec6923e50b2f094b9407bc726ca9b" + integrity sha512-JIrvhpgqY6437QIqToyozrUG1h5UhwHkaGK/WAX+fkrpyPtc+RO5FkRtUd9BH0MibabHHvqsnBGKfKVijbmp8w== + dependencies: + "@opentelemetry/api-logs" "0.51.1" + "@types/shimmer" "^1.0.2" + import-in-the-middle "1.7.4" + require-in-the-middle "^7.1.1" + semver "^7.5.2" + shimmer "^1.2.1" + +"@opentelemetry/otlp-exporter-base@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.51.1.tgz#e3b1e877f88adfd6a5d48acc8b72a1cf70167371" + integrity sha512-UYlnOYyDdzo1Gw559EHCzru0RwhvuXCwoH8jGo9J4gO1TE58GjnEmIjomMsKBCym3qWNJfIQXw+9SZCV0DdQNg== + dependencies: + "@opentelemetry/core" "1.24.1" + +"@opentelemetry/otlp-grpc-exporter-base@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.51.1.tgz#79a5ffd7c1d8cc0c5dd1af0e57e61b63c7ccc02e" + integrity sha512-ZAS+4pq8o7dsugGTwV9s6JMKSxi+guIHdn0acOv0bqj26e9pWDFx5Ky+bI0aY46uR9Y0JyXqY+KAEYM/SO3DFA== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "1.24.1" + "@opentelemetry/otlp-exporter-base" "0.51.1" + protobufjs "^7.2.3" + +"@opentelemetry/otlp-proto-exporter-base@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-proto-exporter-base/-/otlp-proto-exporter-base-0.51.1.tgz#6937c486c688e6e19a9708ac08d92451762b2c1a" + integrity sha512-gxxxwfk0inDMb5DLeuxQ3L8TtptxSiTNHE4nnAJH34IQXAVRhXSXW1rK8PmDKDngRPIZ6J7ncUCjjIn8b+AgqQ== + dependencies: + "@opentelemetry/core" "1.24.1" + "@opentelemetry/otlp-exporter-base" "0.51.1" + protobufjs "^7.2.3" + +"@opentelemetry/otlp-transformer@0.51.1", "@opentelemetry/otlp-transformer@^0.51.0": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.51.1.tgz#d2344075de50ff64a11fc047db6bcb301a11dcf8" + integrity sha512-OppYOXwV9LQqqtYUCywqoOqX/JT9LQ5/FMuPZ//eTkvuHdUC4ZMwz2c6uSoT2R90GWvvGnF1iEqTGyTT3xAt2Q== + dependencies: + "@opentelemetry/api-logs" "0.51.1" + "@opentelemetry/core" "1.24.1" + "@opentelemetry/resources" "1.24.1" + "@opentelemetry/sdk-logs" "0.51.1" + "@opentelemetry/sdk-metrics" "1.24.1" + "@opentelemetry/sdk-trace-base" "1.24.1" + +"@opentelemetry/propagator-b3@1.24.1": + version "1.24.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.24.1.tgz#37ff0ee875b585fdbc095e58651cb8b09e09e051" + integrity sha512-nda97ZwhpZKyUJTXqQuKzNhPMUgMLunbbGWn8kroBwegn+nh6OhtyGkrVQsQLNdVKJl0KeB5z0ZgeWszrYhwFw== + dependencies: + "@opentelemetry/core" "1.24.1" -"@opentelemetry/resources@1.23.0": - version "1.23.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.23.0.tgz#4c71430f3e20c4d88b67ef5629759fae108485e5" - integrity sha512-iPRLfVfcEQynYGo7e4Di+ti+YQTAY0h5mQEUJcHlU9JOqpb4x965O6PZ+wMcwYVY63G96KtdS86YCM1BF1vQZg== +"@opentelemetry/propagator-b3@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-1.25.0.tgz#bd37a043d4290765c7edbab83bb34a23845be540" + integrity sha512-/A+1Tbnf0uwnP51OkoaQlrb9YILdHsoqIISna1MNXpZRzf42xm6LVLb49i+m/zlJoW1e8P4ekcrditR5pfmwog== dependencies: - "@opentelemetry/core" "1.23.0" - "@opentelemetry/semantic-conventions" "1.23.0" + "@opentelemetry/core" "1.25.0" -"@opentelemetry/resources@1.24.1", "@opentelemetry/resources@^1.23.0": +"@opentelemetry/propagator-jaeger@1.24.1": + version "1.24.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.24.1.tgz#cbc07aa29ee1a4351a161e6cd1ed13b958f1da54" + integrity sha512-7bRBJn3FG1l195A1m+xXRHvgzAOBsfmRi9uZ5Da18oTh7BLmNDiA8+kpk51FpTsU1PCikPVpRDNPhKVB6lyzZg== + dependencies: + "@opentelemetry/core" "1.24.1" + +"@opentelemetry/propagator-jaeger@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-1.25.0.tgz#7ea9f781237ab1ecbedf16847f066f94655c023f" + integrity sha512-uwA5xqaPISXeX+YutqbjmzENnCGCvrIXlqIXP5gRoA5N6S3W28p+ExL77TugMKHN5gXklapF67jDfz7lq5ETzQ== + dependencies: + "@opentelemetry/core" "1.25.0" + +"@opentelemetry/resources@1.24.1": version "1.24.1" resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.24.1.tgz#5e2cb84814824f3b1e1017e6caeeee8402e0ad6e" integrity sha512-cyv0MwAaPF7O86x5hk3NNgenMObeejZFLJJDVuSeSMIsknlsj3oOZzRv3qSzlwYomXsICfBeFFlxwHQte5mGXQ== @@ -3008,33 +3061,51 @@ "@opentelemetry/core" "1.24.1" "@opentelemetry/semantic-conventions" "1.24.1" -"@opentelemetry/sdk-logs@0.50.0": - version "0.50.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.50.0.tgz#6636492cf626a9666f61d91025e25243d1a43bfc" - integrity sha512-PeUEupBB29p9nlPNqXoa1PUWNLsZnxG0DCDj3sHqzae+8y76B/A5hvZjg03ulWdnvBLYpnJslqzylG9E0IL87g== +"@opentelemetry/resources@1.25.0", "@opentelemetry/resources@^1.23.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.25.0.tgz#84a1e70097e342aa2047aac97be114ad14966793" + integrity sha512-iHjydPMYJ+Li1auveJCq2rp5U2h6Mhq8BidiyE0jfVlDTFyR1ny8AfJHfmFzJ/RAM8vT8L7T21kcmGybxZC7lQ== dependencies: - "@opentelemetry/core" "1.23.0" - "@opentelemetry/resources" "1.23.0" + "@opentelemetry/core" "1.25.0" + "@opentelemetry/semantic-conventions" "1.25.0" -"@opentelemetry/sdk-metrics@1.23.0": - version "1.23.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.23.0.tgz#b4cf3cc86b6dedf5c438c67c829df7399bf64be1" - integrity sha512-4OkvW6+wST4h6LFG23rXSTf6nmTf201h9dzq7bE0z5R9ESEVLERZz6WXwE7PSgg1gdjlaznm1jLJf8GttypFDg== +"@opentelemetry/sdk-logs@0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.51.1.tgz#8e4544e1034413ed2bd5e0741734d062c5e81c94" + integrity sha512-ULQQtl82b673PpZc5/0EtH4V+BrwVOgKJZEB7tYZnGTG3I98tQVk89S9/JSixomDr++F4ih+LSJTCqIKBz+MQQ== + dependencies: + "@opentelemetry/core" "1.24.1" + "@opentelemetry/resources" "1.24.1" + +"@opentelemetry/sdk-metrics@1.24.1": + version "1.24.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-1.24.1.tgz#82ee3069b2ca9bb7c1e91272ff81536dc2e9bc8d" + integrity sha512-FrAqCbbGao9iKI+Mgh+OsC9+U2YMoXnlDHe06yH7dvavCKzE3S892dGtX54+WhSFVxHR/TMRVJiK/CV93GR0TQ== dependencies: - "@opentelemetry/core" "1.23.0" - "@opentelemetry/resources" "1.23.0" + "@opentelemetry/core" "1.24.1" + "@opentelemetry/resources" "1.24.1" lodash.merge "^4.6.2" -"@opentelemetry/sdk-trace-base@1.23.0": - version "1.23.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.23.0.tgz#ff0a0f8ec47205e0b14b3b765ea2a34de1ad01dd" - integrity sha512-PzBmZM8hBomUqvCddF/5Olyyviayka44O5nDWq673np3ctnvwMOvNrsUORZjKja1zJbwEuD9niAGbnVrz3jwRQ== +"@opentelemetry/sdk-node@^0.51.1": + version "0.51.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-node/-/sdk-node-0.51.1.tgz#153968c5c63e0841e1af871fcc0a5ceb4d0d4b2d" + integrity sha512-GgmNF9C+6esr8PIJxCqHw84rEOkYm6XdFWZ2+Wyc3qaUt92ACoN7uSw5iKNvaUq62W0xii1wsGxwHzyENtPP8w== dependencies: - "@opentelemetry/core" "1.23.0" - "@opentelemetry/resources" "1.23.0" - "@opentelemetry/semantic-conventions" "1.23.0" + "@opentelemetry/api-logs" "0.51.1" + "@opentelemetry/core" "1.24.1" + "@opentelemetry/exporter-trace-otlp-grpc" "0.51.1" + "@opentelemetry/exporter-trace-otlp-http" "0.51.1" + "@opentelemetry/exporter-trace-otlp-proto" "0.51.1" + "@opentelemetry/exporter-zipkin" "1.24.1" + "@opentelemetry/instrumentation" "0.51.1" + "@opentelemetry/resources" "1.24.1" + "@opentelemetry/sdk-logs" "0.51.1" + "@opentelemetry/sdk-metrics" "1.24.1" + "@opentelemetry/sdk-trace-base" "1.24.1" + "@opentelemetry/sdk-trace-node" "1.24.1" + "@opentelemetry/semantic-conventions" "1.24.1" -"@opentelemetry/sdk-trace-base@^1.23.0": +"@opentelemetry/sdk-trace-base@1.24.1": version "1.24.1" resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.24.1.tgz#dc2ab89126e75e442913fb5af98803fde67b2536" integrity sha512-zz+N423IcySgjihl2NfjBf0qw1RWe11XIAWVrTNOSSI6dtSPJiVom2zipFB2AEEtJWpv0Iz6DY6+TjnyTV5pWg== @@ -3043,16 +3114,49 @@ "@opentelemetry/resources" "1.24.1" "@opentelemetry/semantic-conventions" "1.24.1" -"@opentelemetry/semantic-conventions@1.23.0": - version "1.23.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.23.0.tgz#627f2721b960fe586b7f72a07912cb7699f06eef" - integrity sha512-MiqFvfOzfR31t8cc74CTP1OZfz7MbqpAnLCra8NqQoaHJX6ncIRTdYOQYBDQ2uFISDq0WY8Y9dDTWvsgzzBYRg== +"@opentelemetry/sdk-trace-base@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.0.tgz#263f9ce19001c5cd7a814d0eb40ebc6469ae763d" + integrity sha512-6+g2fiRQUG39guCsKVeY8ToeuUf3YUnPkN6DXRA1qDmFLprlLvZm9cS6+chgbW70cZJ406FTtSCDnJwxDC5sGQ== + dependencies: + "@opentelemetry/core" "1.25.0" + "@opentelemetry/resources" "1.25.0" + "@opentelemetry/semantic-conventions" "1.25.0" -"@opentelemetry/semantic-conventions@1.24.1", "@opentelemetry/semantic-conventions@^1.23.0": +"@opentelemetry/sdk-trace-node@1.24.1": + version "1.24.1" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.24.1.tgz#9bcb08ee64416531ff71edba7d46972b24606345" + integrity sha512-/FZX8uWaGIAwsDhqI8VvQ+qWtfMNlXjaFYGc+vmxgdRFppCSSIRwrPyIhJO1qx61okyYhoyxVEZAfoiNxrfJCg== + dependencies: + "@opentelemetry/context-async-hooks" "1.24.1" + "@opentelemetry/core" "1.24.1" + "@opentelemetry/propagator-b3" "1.24.1" + "@opentelemetry/propagator-jaeger" "1.24.1" + "@opentelemetry/sdk-trace-base" "1.24.1" + semver "^7.5.2" + +"@opentelemetry/sdk-trace-node@^1.24.1": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-1.25.0.tgz#6cd76b4844e4bb7643395462ecaed1cc46b7cb8c" + integrity sha512-sYdZmNCkqthPpjwCxAJk5aQNLxCOQjT1u3JMGvO6rb3Ic8uFdnzXavP13Md9uYPcZBo+KxetyDhCf0x8wJGRng== + dependencies: + "@opentelemetry/context-async-hooks" "1.25.0" + "@opentelemetry/core" "1.25.0" + "@opentelemetry/propagator-b3" "1.25.0" + "@opentelemetry/propagator-jaeger" "1.25.0" + "@opentelemetry/sdk-trace-base" "1.25.0" + semver "^7.5.2" + +"@opentelemetry/semantic-conventions@1.24.1": version "1.24.1" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.24.1.tgz#d4bcebda1cb5146d47a2a53daaa7922f8e084dfb" integrity sha512-VkliWlS4/+GHLLW7J/rVBA00uXus1SWvwFvcUDxDwmFxYfg/2VI6ekwdXS28cjI8Qz2ky2BzG8OUHo+WeYIWqw== +"@opentelemetry/semantic-conventions@1.25.0": + version "1.25.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.0.tgz#390eb4d42a29c66bdc30066af9035645e9bb7270" + integrity sha512-M+kkXKRAIAiAP6qYyesfrC5TOmDpDVtsxuGfPcqd9B/iBrac+E14jYwrgm0yZBUIbIP2OnqC3j+UgkXLm1vxUQ== + "@parcel/watcher-android-arm64@2.4.1": version "2.4.1" resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" @@ -3150,12 +3254,12 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@playwright/test@1.42.0": - version "1.42.0" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.42.0.tgz#f65a7dcb92f202f376a7538e71855d873d1e6aa2" - integrity sha512-2k1HzC28Fs+HiwbJOQDUwrWMttqSLUVdjCqitBOjdCD0svWOMQUVqrXX6iFD7POps6xXAojsX/dGBpKnjZctLA== +"@playwright/test@^1.45.0-alpha-2024-06-11": + version "1.45.0-alpha-2024-06-11" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.45.0-alpha-2024-06-11.tgz#6a5d71543cc84e6772975eb52b78f8fcd562d355" + integrity sha512-U+jClay4q93/+hjoHUWsqTny1ofbRsWkzqkTUlvMDpGL9nQ2W/d8lAWbUxZkpsFE+J0WMJn4BGQWVHbMeXNgHg== dependencies: - playwright "1.42.0" + playwright "1.45.0-alpha-2024-06-11" "@pnpm/config.env-replace@^1.1.0": version "1.1.0" @@ -3183,6 +3287,59 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== +"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" + integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== + +"@protobufjs/base64@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" + integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== + +"@protobufjs/codegen@^2.0.4": + version "2.0.4" + resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" + integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== + +"@protobufjs/eventemitter@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" + integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== + +"@protobufjs/fetch@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" + integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== + dependencies: + "@protobufjs/aspromise" "^1.1.1" + "@protobufjs/inquire" "^1.1.0" + +"@protobufjs/float@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" + integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== + +"@protobufjs/inquire@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" + integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== + +"@protobufjs/path@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" + integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== + +"@protobufjs/pool@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" + integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== + +"@protobufjs/utf8@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" + integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== + "@rollup/pluginutils@^4.0.0": version "4.2.1" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.2.1.tgz#e6c6c3aba0744edce3fb2074922d3776c0af2a6d" @@ -3490,9 +3647,9 @@ integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.19.0" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz#3ae8ab3767d98d0b682cda063c3339e1e86ccfaa" - integrity sha512-bGyep3JqPCRry1wq+O5n7oiBgGWmeIJXPjXXCo8EK0u8duZGSYar7cGqd3ML2JUsLGeB7fmc06KYo9fLGWqPvQ== + version "4.19.3" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.3.tgz#e469a13e4186c9e1c0418fb17be8bc8ff1b19a7a" + integrity sha512-KOzM7MhcBFlmnlr/fzISFF5vGWVSvN6fTd4T+ExOt08bA/dA5kpSzY52nMsI1KDFmUREpJelPYyuslLRSjjgCg== dependencies: "@types/node" "*" "@types/qs" "*" @@ -3592,9 +3749,9 @@ "@types/unist" "^2" "@types/mdast@^4.0.0", "@types/mdast@^4.0.2": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.3.tgz#1e011ff013566e919a4232d1701ad30d70cab333" - integrity sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg== + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.4.tgz#7ccf72edd2f1aa7dd3437e180c64373585804dd6" + integrity sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA== dependencies: "@types/unist" "*" @@ -3620,10 +3777,10 @@ dependencies: "@types/node" "*" -"@types/node@*": - version "20.12.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be" - integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw== +"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0": + version "20.14.2" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.14.2.tgz#a5f4d2bcb4b6a87bffcaa717718c5a0f208f4a18" + integrity sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q== dependencies: undici-types "~5.26.4" @@ -3689,9 +3846,9 @@ "@types/react" "*" "@types/react@*": - version "18.3.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.2.tgz#462ae4904973bc212fa910424d901e3d137dbfcd" - integrity sha512-Btgg89dAnqD4vV7R3hlwOxgqobUQKgx3MmrQRi0yYbs/P0ym8XozIAlkqVilPqHQwXs4e9Tf63rrCgl58BcO4w== + version "18.3.3" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.3.3.tgz#9679020895318b0915d7a3ab004d92d33375c45f" + integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw== dependencies: "@types/prop-types" "*" csstype "^3.0.2" @@ -3737,6 +3894,11 @@ "@types/node" "*" "@types/send" "*" +"@types/shimmer@^1.0.2": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.5.tgz#491d8984d4510e550bfeb02d518791d7f59d2b88" + integrity sha512-9Hp0ObzwwO57DpLFF0InUjUm/II8GmKAvzbefxQTihCb7KI6yc9yzf0nLc4mVdby5N4DRCgQM2wCup9KTieeww== + "@types/sockjs@^0.3.33": version "0.3.36" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" @@ -3823,32 +3985,15 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@vercel/nft@^0.23.0": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@vercel/nft/-/nft-0.23.1.tgz#f17c5f9d3f3a0178ea25eb7397a14618c00529bf" - integrity sha512-NE0xSmGWVhgHF1OIoir71XAd0W0C1UE3nzFyhpFiMr3rVhetww7NvM1kc41trBsPG37Bh+dE5FYCTMzM/gBu0w== - dependencies: - "@mapbox/node-pre-gyp" "^1.0.5" - "@rollup/pluginutils" "^4.0.0" - acorn "^8.6.0" - async-sema "^3.1.1" - bindings "^1.4.0" - estree-walker "2.0.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - micromatch "^4.0.2" - node-gyp-build "^4.2.2" - resolve-from "^5.0.0" - -"@vercel/nft@^0.26.0": - version "0.26.5" - resolved "https://registry.yarnpkg.com/@vercel/nft/-/nft-0.26.5.tgz#f21e40576b76446851b6cbff79f39a72dab4d6b2" - integrity sha512-NHxohEqad6Ra/r4lGknO52uc/GrWILXAMs1BB4401GTqww0fw1bAqzpG1XHuDO+dprg4GvsD9ZLLSsdo78p9hQ== +"@vercel/nft@^0.27.0", "@vercel/nft@^0.27.1": + version "0.27.2" + resolved "https://registry.yarnpkg.com/@vercel/nft/-/nft-0.27.2.tgz#b5f7881a1c33b813fdc83e7112082411d2eb524b" + integrity sha512-7LeioS1yE5hwPpQfD3DdH04tuugKjo5KrJk3yK5kAI3Lh76iSsK/ezoFQfzuT08X3ZASQOd1y9ePjLNI9+TxTQ== dependencies: "@mapbox/node-pre-gyp" "^1.0.5" "@rollup/pluginutils" "^4.0.0" acorn "^8.6.0" - acorn-import-attributes "^1.9.2" + acorn-import-attributes "^1.9.5" async-sema "^3.1.1" bindings "^1.4.0" estree-walker "2.0.2" @@ -4088,12 +4233,7 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-import-attributes@^1.9.2: +acorn-import-attributes@^1.9.5: version "1.9.5" resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== @@ -4190,9 +4330,9 @@ ajv@^6.12.2, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.0, ajv@^8.10.0, ajv@^8.11.0, ajv@^8.11.2, ajv@^8.12.0, ajv@^8.9.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.13.0.tgz#a3939eaec9fb80d217ddf0c3376948c023f28c91" - integrity sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA== + version "8.16.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.16.0.tgz#22e2a92b94f005f7e0f9c9d39652ef0b8f6f0cb4" + integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw== dependencies: fast-deep-equal "^3.1.3" json-schema-traverse "^1.0.0" @@ -4200,9 +4340,9 @@ ajv@^8.0.0, ajv@^8.10.0, ajv@^8.11.0, ajv@^8.11.2, ajv@^8.12.0, ajv@^8.9.0: uri-js "^4.4.1" algoliasearch-helper@^3.13.3: - version "3.19.0" - resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.19.0.tgz#56f9c61f46ecb0a0f7497f127a5d32a94d87e090" - integrity sha512-AaSb5DZDMZmDQyIy6lf4aL0OZGgyIdqvLIIvSuVQOIOqfhrYSY7TvotIFI2x0Q3cP3xUpTd7lI1astUC4aXBJw== + version "3.21.0" + resolved "https://registry.yarnpkg.com/algoliasearch-helper/-/algoliasearch-helper-3.21.0.tgz#d28fdb61199b5c229714788bfb812376b18aaf28" + integrity sha512-hjVOrL15I3Y3K8xG0icwG1/tWE+MocqBrhW6uVBWpU+/kVEMK0BnM2xdssj6mZM61eJ4iRxHR0djEI3ENOpR8w== dependencies: "@algolia/events" "^4.0.1" @@ -4248,10 +4388,12 @@ ansi-align@^3.0.1: dependencies: string-width "^4.1.0" -ansi-escapes@6.2.1, ansi-escapes@^6.0.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" - integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== +ansi-escapes@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-7.0.0.tgz#00fc19f491bbb18e1d481b97868204f92109bfe7" + integrity sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw== + dependencies: + environment "^1.0.0" ansi-escapes@^3.2.0: version "3.2.0" @@ -4272,6 +4414,11 @@ ansi-escapes@^5.0.0: dependencies: type-fest "^1.0.2" +ansi-escapes@^6.0.0, ansi-escapes@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-6.2.1.tgz#76c54ce9b081dad39acec4b5d53377913825fb0f" + integrity sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig== + ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" @@ -4302,7 +4449,7 @@ ansi-sequence-parser@^1.1.0: resolved "https://registry.yarnpkg.com/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz#e0aa1cdcbc8f8bb0b5bca625aac41f5f056973cf" integrity sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg== -ansi-styles@6.2.1, ansi-styles@^6.0.0, ansi-styles@^6.1.0: +ansi-styles@6.2.1, ansi-styles@^6.0.0, ansi-styles@^6.1.0, ansi-styles@^6.2.1: version "6.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== @@ -4346,18 +4493,6 @@ anymatch@^3.1.3, anymatch@~3.1.2: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -archiver-utils@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-4.0.1.tgz#66ad15256e69589a77f706c90c6dbcc1b2775d2a" - integrity sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg== - dependencies: - glob "^8.0.0" - graceful-fs "^4.2.0" - lazystream "^1.0.0" - lodash "^4.17.15" - normalize-path "^3.0.0" - readable-stream "^3.6.0" - archiver-utils@^5.0.0, archiver-utils@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-5.0.2.tgz#63bc719d951803efc72cf961a56ef810760dd14d" @@ -4371,19 +4506,6 @@ archiver-utils@^5.0.0, archiver-utils@^5.0.2: normalize-path "^3.0.0" readable-stream "^4.0.0" -archiver@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-6.0.2.tgz#f45e7598dfe48e834ac8c7a0c37033f826f5a639" - integrity sha512-UQ/2nW7NMl1G+1UnrLypQw1VdT9XZg/ECcKPq7l+STzStrSivFIXIp34D8M5zeNGW5NoOupdYCHv6VySCPNNlw== - dependencies: - archiver-utils "^4.0.1" - async "^3.2.4" - buffer-crc32 "^0.2.1" - readable-stream "^3.6.0" - readdir-glob "^1.1.2" - tar-stream "^3.0.0" - zip-stream "^5.0.1" - archiver@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/archiver/-/archiver-7.0.1.tgz#c9d91c350362040b8927379c7aa69c0655122f61" @@ -4397,11 +4519,6 @@ archiver@^7.0.0: tar-stream "^3.0.0" zip-stream "^6.0.1" -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== - are-we-there-yet@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" @@ -4432,21 +4549,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -4462,11 +4564,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - arrify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/arrify/-/arrify-3.0.0.tgz#ccdefb8eaf2a1d2ab0da1ca2ce53118759fd46bc" @@ -4477,11 +4574,6 @@ ascii-table@0.0.9: resolved "https://registry.yarnpkg.com/ascii-table/-/ascii-table-0.0.9.tgz#06a6604d6a55d4bf41a9a47d9872d7a78da31e73" integrity sha512-xpkr6sCDIYTPqzvjG8M3ncw1YOTaloWZOyrUmicoEifBEKzQzt+ooUpRpQ/AbOoJfO/p2ZKiyp79qHThzJDulQ== -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - ast-module-types@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ast-module-types/-/ast-module-types-5.0.0.tgz#32b2b05c56067ff38e95df66f11d6afd6c9ba16b" @@ -4517,11 +4609,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - atomic-sleep@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" @@ -4539,20 +4626,18 @@ autoprefixer@^10.4.14, autoprefixer@^10.4.19: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -avvio@^8.2.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/avvio/-/avvio-8.3.0.tgz#1e019433d935730b814978a583eefac41a65082f" - integrity sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q== +avvio@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/avvio/-/avvio-8.3.2.tgz#cb5844a612e8421d1f3aef8895ef7fa12f73563f" + integrity sha512-st8e519GWHa/azv8S87mcJvZs4WsgTBjOw/Ih1CP6u+8SZvcOeAYNG6JbsIrAUUJJ7JfmrnOkR8ipDS+u9SIRQ== dependencies: "@fastify/error" "^3.3.0" - archy "^1.0.0" - debug "^4.0.0" fastq "^1.17.1" axios@^1.4.0: - version "1.6.8" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" - integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + version "1.7.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" + integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -4625,18 +4710,18 @@ balanced-match@^1.0.0: integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== bare-events@^2.0.0, bare-events@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.2.2.tgz#a98a41841f98b2efe7ecc5c5468814469b018078" - integrity sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ== + version "2.3.1" + resolved "https://registry.yarnpkg.com/bare-events/-/bare-events-2.3.1.tgz#5af2ee0be9578f81e3c1aa9bc3a6a2bcf22307ce" + integrity sha512-sJnSOTVESURZ61XgEleqmP255T6zTYwHPwE4r6SssIh0U9/uDvfpdoJYpVUerJJZH2fueO+CdT8ZT+OC/7aZDA== bare-fs@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-2.3.0.tgz#0872f8e33cf291c9fd527d827154f156a298d402" - integrity sha512-TNFqa1B4N99pds2a5NYHR15o0ZpdNKbAeKTE/+G6ED/UeOavv8RY3dr/Fu99HW3zU3pXpo2kDNO8Sjsm2esfOw== + version "2.3.1" + resolved "https://registry.yarnpkg.com/bare-fs/-/bare-fs-2.3.1.tgz#cdbd63dac7a552dfb2b87d18c822298d1efd213d" + integrity sha512-W/Hfxc/6VehXlsgFtbB5B4xFcsCl+pAh30cYhoFyXErf6oGrwjh8SwiPAdHgpmWonKuYpZgGywN0SXt7dgsADA== dependencies: bare-events "^2.0.0" bare-path "^2.0.0" - bare-stream "^1.0.0" + bare-stream "^2.0.0" bare-os@^2.1.0: version "2.3.0" @@ -4644,37 +4729,24 @@ bare-os@^2.1.0: integrity sha512-oPb8oMM1xZbhRQBngTgpcQ5gXw6kjOaRsSWsIeNyRxGed2w/ARyP7ScBYpWR1qfX2E5rS3gBw6OWcSQo+s+kUg== bare-path@^2.0.0, bare-path@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bare-path/-/bare-path-2.1.2.tgz#7a0940d34ebe65f7e179fa61ed8d49d9dc151d67" - integrity sha512-o7KSt4prEphWUHa3QUwCxUI00R86VdjiuxmJK0iNVDHYPGo+HsDaVCnqCmPbf/MiW1ok8F4p3m8RTHlWk8K2ig== + version "2.1.3" + resolved "https://registry.yarnpkg.com/bare-path/-/bare-path-2.1.3.tgz#594104c829ef660e43b5589ec8daef7df6cedb3e" + integrity sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA== dependencies: bare-os "^2.1.0" -bare-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bare-stream/-/bare-stream-1.0.0.tgz#25c3e56198d922187320c3f8c52d75c4051178b4" - integrity sha512-KhNUoDL40iP4gFaLSsoGE479t0jHijfYdIcxRn/XtezA2BaUD0NRf/JGRpsMq6dMNM+SrCrB0YSSo/5wBY4rOQ== +bare-stream@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bare-stream/-/bare-stream-2.1.2.tgz#46a1bec0a10946608ade369c170179706b9e8e1c" + integrity sha512-az/7TFOh4Gk9Tqs1/xMFq5FuFoeZ9hZ3orsM2x69u8NXVUDXZnpdhG8mZY/Pv6DF954MGn+iIt4rFrG34eQsvg== dependencies: - streamx "^2.16.1" + streamx "^2.18.0" base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" @@ -4729,15 +4801,6 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" -bl@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-5.1.0.tgz#183715f678c7188ecef9fe475d90209400624273" - integrity sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ== - dependencies: - buffer "^6.0.3" - inherits "^2.0.4" - readable-stream "^3.4.0" - blueimp-md5@^2.10.0: version "2.19.0" resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" @@ -4774,7 +4837,7 @@ boolbase@^1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== -boxen@7.1.1, boxen@^7.0.0: +boxen@7.1.1, boxen@^7.0.0, boxen@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.1.1.tgz#f9ba525413c2fec9cdb88987d835c4f7cad9c8f4" integrity sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog== @@ -4815,51 +4878,35 @@ brace-expansion@^2.0.1: resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== dependencies: - balanced-match "^1.0.0" - -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" + balanced-match "^1.0.0" -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + version "4.23.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.1.tgz#ce4af0534b3d37db5c1a4ca98b9080f985041e96" + integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw== dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" + caniuse-lite "^1.0.30001629" + electron-to-chromium "^1.4.796" node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + update-browserslist-db "^1.0.16" buffer-crc32@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-1.0.0.tgz#a10993b9055081d55304bd9feb4a072de179f405" integrity sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w== +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== + buffer-equal-constant-time@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" @@ -4913,21 +4960,6 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - cacheable-lookup@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz#3476a8215d046e5a3202a9209dd13fec1f933a27" @@ -5000,17 +5032,17 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001617" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz#809bc25f3f5027ceb33142a7d6c40759d7a901eb" - integrity sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001629: + version "1.0.30001632" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001632.tgz#964207b7cba5851701afb4c8afaf1448db3884b6" + integrity sha512-udx3o7yHJfUxMLkGohMlVHCvFvWmirKh9JAH/d7WOLPetlH+LTL5cocMZ0t7oZx/mdlOWXti97xLZWc8uURRHg== ccount@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chalk@5.3.0, chalk@^5.0.0, chalk@^5.0.1, chalk@^5.2.0: +chalk@5.3.0, chalk@^5.0.0, chalk@^5.0.1, chalk@^5.2.0, chalk@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== @@ -5128,14 +5160,14 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b" + integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ== -ci-info@3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== +ci-info@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-4.0.0.tgz#65466f8b280fc019b9f50a5388115d17a63a44f2" + integrity sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg== ci-info@^3.2.0: version "3.9.0" @@ -5149,15 +5181,10 @@ citty@^0.1.5, citty@^0.1.6: dependencies: consola "^3.2.3" -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" +cjs-module-lexer@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" + integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== clean-css@^5.2.2, clean-css@^5.3.2, clean-css@~5.3.2: version "5.3.3" @@ -5213,27 +5240,27 @@ cli-progress@^3.11.2: dependencies: string-width "^4.2.3" -cli-spinners@^2.6.1: +cli-spinners@^2.9.2: version "2.9.2" resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== cli-table3@^0.6.3: - version "0.6.4" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.4.tgz#d1c536b8a3f2e7bec58f67ac9e5769b1b30088b0" - integrity sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw== + version "0.6.5" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.5.tgz#013b91351762739c16a9567c21a04632e449bf2f" + integrity sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ== dependencies: string-width "^4.2.0" optionalDependencies: "@colors/colors" "1.5.0" -cli-truncate@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" - integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== +cli-truncate@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-4.0.0.tgz#6cc28a2924fee9e25ce91e973db56c7066e6172a" + integrity sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA== dependencies: slice-ansi "^5.0.0" - string-width "^5.0.0" + string-width "^7.0.0" cli-width@^2.0.0: version "2.2.1" @@ -5267,11 +5294,6 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - clsx@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" @@ -5287,14 +5309,6 @@ collapse-white-space@^2.0.0: resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-2.1.0.tgz#640257174f9f42c740b40f3b55ee752924feefca" integrity sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -5457,21 +5471,6 @@ common-path-prefix@^3.0.0: resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== -component-emitter@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17" - integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ== - -compress-commons@^5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-5.0.3.tgz#36b6572fdfc220c88c9c939b48667818806667e9" - integrity sha512-/UIcLWvwAQyVibgpQDPtfNM3SvqN7G9elAPAV7GM0L53EbNWwWiCsWtK8Fwed/APEbptPHXs5PuW+y8Bq8lFTA== - dependencies: - crc-32 "^1.2.0" - crc32-stream "^5.0.0" - normalize-path "^3.0.0" - readable-stream "^3.6.0" - compress-commons@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-6.0.2.tgz#26d31251a66b9d6ba23a84064ecd3a6a71d2609e" @@ -5618,36 +5617,11 @@ cookie-signature@1.0.6: resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - cookie@0.6.0, cookie@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - -copy-template-dir@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/copy-template-dir/-/copy-template-dir-1.4.0.tgz#cb2bd62415abe963a53bb867bb24379df3998112" - integrity sha512-xkXSJhvKz4MfLbVkZ7GyCaFo4ciB3uKI/HHzkGwj1eyTH5+7RTFxW5CE0irWAZgV5oFcO9hd6+NVXAtY9hlo7Q== - dependencies: - end-of-stream "^1.1.0" - graceful-fs "^4.1.3" - maxstache "^1.0.0" - maxstache-stream "^1.0.0" - mkdirp "^0.5.1" - noop2 "^2.0.0" - pump "^1.0.0" - readdirp "^2.0.0" - run-parallel "^1.1.4" - copy-text-to-clipboard@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b" @@ -5666,21 +5640,21 @@ copy-webpack-plugin@^11.0.0: serialize-javascript "^6.0.0" core-js-compat@^3.31.0, core-js-compat@^3.36.1: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.0.tgz#d9570e544163779bb4dff1031c7972f44918dc73" - integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA== + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" + integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== dependencies: browserslist "^4.23.0" core-js-pure@^3.30.2: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.37.0.tgz#ce99fb4a7cec023fdbbe5b5bd1f06bbcba83316e" - integrity sha512-d3BrpyFr5eD4KcbRvQ3FTUx/KWmaDesr7+a3+1+P46IUnNoEt+oiLijPINZMEon7w9oGkIINWxrBAU9DEciwFQ== + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.37.1.tgz#2b4b34281f54db06c9a9a5bd60105046900553bd" + integrity sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA== core-js@^3.31.1: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb" - integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== + version "3.37.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.1.tgz#d21751ddb756518ac5a00e4d66499df981a62db9" + integrity sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw== core-util-is@^1.0.3, core-util-is@~1.0.0: version "1.0.3" @@ -5753,14 +5727,6 @@ crc-32@^1.2.0: resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== -crc32-stream@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-5.0.1.tgz#bc1581c9a9022a9242605dc91b14e069e3aa87a5" - integrity sha512-lO1dFui+CEUh/ztYIpgpKItKW9Bb4NWakCRJrnqAbFIYD+OZAwb2VfD5T5eXMw2FNcsDHkQcNl/Wh3iVXYwU6g== - dependencies: - crc-32 "^1.2.0" - readable-stream "^3.4.0" - crc32-stream@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-6.0.0.tgz#8529a3868f8b27abb915f6c3617c0fadedbf9430" @@ -5774,14 +5740,7 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -cron-parser@4.8.1: - version "4.8.1" - resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-4.8.1.tgz#47062ea63d21d78c10ddedb08ea4c5b6fc2750fb" - integrity sha512-jbokKWGcyU4gl6jAfX97E1gDpY12DJ1cLJZmoDzaAln/shZ+S3KBFBuA2Q6WeUN4gJf/8klnV1EfvhA2lK5IRQ== - dependencies: - luxon "^3.2.1" - -cron-parser@^4.1.0: +cron-parser@4.9.0, cron-parser@^4.1.0: version "4.9.0" resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-4.9.0.tgz#0340694af3e46a0894978c6f52a6dbb5c0f11ad5" integrity sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q== @@ -6292,17 +6251,17 @@ debounce@^1.2.1: resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0: +debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== +debug@4, debug@4.3.5, debug@^4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4: + version "4.3.5" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" + integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== dependencies: ms "2.1.2" @@ -6320,11 +6279,6 @@ decode-named-character-reference@^1.0.0: dependencies: character-entities "^2.0.0" -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -6349,13 +6303,6 @@ default-gateway@^6.0.3: dependencies: execa "^5.0.0" -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - defer-to-connect@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" @@ -6384,28 +6331,6 @@ define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - defu@^6.1.3, defu@^6.1.4: version "6.1.4" resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" @@ -6649,9 +6574,9 @@ domhandler@^5.0.2, domhandler@^5.0.3: domelementtype "^2.3.0" dompurify@^3.0.5: - version "3.1.3" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.3.tgz#cfe3ce4232c216d923832f68f2aa18b2fb9bd223" - integrity sha512-5sOWYSNPaxz6o2MUPvtyxTTqR4D3L77pr5rUQoWgD5ROQtVIZQgJkXbo1DLlK3vj11YGw5+LnF4SYti4gZmwng== + version "3.1.5" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.5.tgz#2c6a113fc728682a0f55684b1388c58ddb79dc38" + integrity sha512-lwG+n5h8QNpxtyrJW/gJWckL+1/DQiYMX8f7t8Z2AZTPw1esVrqjI63i7Zc2Gz0aKzLVMYC1V1PL/ky+aY/NgA== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" @@ -6679,12 +6604,12 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dot-prop@7.2.0, dot-prop@^7.0.0, dot-prop@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-7.2.0.tgz#468172a3529779814d21a779c1ba2f6d76609809" - integrity sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== +dot-prop@9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-9.0.0.tgz#bae5982fe6dc6b8fddb92efef4f2ddff26779e92" + integrity sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ== dependencies: - type-fest "^2.11.2" + type-fest "^4.18.2" dot-prop@^6.0.1: version "6.0.1" @@ -6693,12 +6618,14 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" -dotenv@16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" - integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== +dot-prop@^7.0.0, dot-prop@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-7.2.0.tgz#468172a3529779814d21a779c1ba2f6d76609809" + integrity sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA== + dependencies: + type-fest "^2.11.2" -dotenv@^16.3.1: +dotenv@16.4.5, dotenv@^16.3.1: version "16.4.5" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== @@ -6725,16 +6652,21 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.668: - version "1.4.763" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz#64f2041ed496fd6fc710b9be806fe91da9334f91" - integrity sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ== +electron-to-chromium@^1.4.796: + version "1.4.798" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.798.tgz#6a3fcab2edc1e66e3883466f6b4b8944323c0164" + integrity sha512-by9J2CiM9KPGj9qfp5U4FcPSbXJG7FNzqnYaY4WLzX+v2PHieVGmnsA4dxfpGE3QEC7JofpPZmn7Vn1B9NR2+Q== elkjs@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/elkjs/-/elkjs-0.9.3.tgz#16711f8ceb09f1b12b99e971b138a8384a529161" integrity sha512-f/ZeWvW/BCXbhGEf1Ujp29EASo/lk1FDnETgNKwJrsVvGZhUWCZyg3xLJjAsxfOmt8KjswHmI5EwCQcPMpOYhQ== +emoji-regex@^10.3.0: + version "10.3.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" + integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -6777,10 +6709,10 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" -enhanced-resolve@^5.16.0: - version "5.16.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz#e8bc63d51b826d6f1cbc0a150ecb5a8b0c62e567" - integrity sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw== +enhanced-resolve@^5.17.0: + version "5.17.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz#d037603789dd9555b89aaec7eb78845c49089bc5" + integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -6800,10 +6732,15 @@ env-paths@3.0.0, env-paths@^3.0.0: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-3.0.0.tgz#2f1e89c2f6dbd3408e1b1711dd82d62e317f58da" integrity sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== -envinfo@7.8.1: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== +envinfo@7.13.0: + version "7.13.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" + integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== + +environment@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/environment/-/environment-1.1.0.tgz#8e86c66b180f363c7ab311787e0259665f45a9f1" + integrity sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== error-ex@^1.3.1: version "1.3.2" @@ -6832,9 +6769,9 @@ es-errors@^1.3.0: integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== es-module-lexer@^1.0.0, es-module-lexer@^1.2.1: - version "1.5.2" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.2.tgz#00b423304f2500ac59359cc9b6844951f372d497" - integrity sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA== + version "1.5.3" + resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.5.3.tgz#25969419de9c0b1fbe54279789023e8a9a788412" + integrity sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg== es6-promisify@^6.0.0: version "6.1.1" @@ -6870,34 +6807,34 @@ esbuild@0.19.11: "@esbuild/win32-ia32" "0.19.11" "@esbuild/win32-x64" "0.19.11" -esbuild@0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1" - integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g== +esbuild@0.21.2: + version "0.21.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.21.2.tgz#6a58b5aa6347eb9e96d060a44e7adaee21bc76c1" + integrity sha512-LmHPAa5h4tSxz+g/D8IHY6wCjtIiFx8I7/Q0Aq+NmvtoYvyMnJU0KQJcqB6QH30X9x/W4CemgUtPgQDZFca5SA== optionalDependencies: - "@esbuild/aix-ppc64" "0.20.2" - "@esbuild/android-arm" "0.20.2" - "@esbuild/android-arm64" "0.20.2" - "@esbuild/android-x64" "0.20.2" - "@esbuild/darwin-arm64" "0.20.2" - "@esbuild/darwin-x64" "0.20.2" - "@esbuild/freebsd-arm64" "0.20.2" - "@esbuild/freebsd-x64" "0.20.2" - "@esbuild/linux-arm" "0.20.2" - "@esbuild/linux-arm64" "0.20.2" - "@esbuild/linux-ia32" "0.20.2" - "@esbuild/linux-loong64" "0.20.2" - "@esbuild/linux-mips64el" "0.20.2" - "@esbuild/linux-ppc64" "0.20.2" - "@esbuild/linux-riscv64" "0.20.2" - "@esbuild/linux-s390x" "0.20.2" - "@esbuild/linux-x64" "0.20.2" - "@esbuild/netbsd-x64" "0.20.2" - "@esbuild/openbsd-x64" "0.20.2" - "@esbuild/sunos-x64" "0.20.2" - "@esbuild/win32-arm64" "0.20.2" - "@esbuild/win32-ia32" "0.20.2" - "@esbuild/win32-x64" "0.20.2" + "@esbuild/aix-ppc64" "0.21.2" + "@esbuild/android-arm" "0.21.2" + "@esbuild/android-arm64" "0.21.2" + "@esbuild/android-x64" "0.21.2" + "@esbuild/darwin-arm64" "0.21.2" + "@esbuild/darwin-x64" "0.21.2" + "@esbuild/freebsd-arm64" "0.21.2" + "@esbuild/freebsd-x64" "0.21.2" + "@esbuild/linux-arm" "0.21.2" + "@esbuild/linux-arm64" "0.21.2" + "@esbuild/linux-ia32" "0.21.2" + "@esbuild/linux-loong64" "0.21.2" + "@esbuild/linux-mips64el" "0.21.2" + "@esbuild/linux-ppc64" "0.21.2" + "@esbuild/linux-riscv64" "0.21.2" + "@esbuild/linux-s390x" "0.21.2" + "@esbuild/linux-x64" "0.21.2" + "@esbuild/netbsd-x64" "0.21.2" + "@esbuild/openbsd-x64" "0.21.2" + "@esbuild/sunos-x64" "0.21.2" + "@esbuild/win32-arm64" "0.21.2" + "@esbuild/win32-ia32" "0.21.2" + "@esbuild/win32-x64" "0.21.2" escalade@^3.1.1, escalade@^3.1.2: version "3.1.2" @@ -7122,19 +7059,6 @@ execa@^8.0.1: signal-exit "^4.1.0" strip-final-newline "^3.0.0" -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expand-template@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" @@ -7206,14 +7130,6 @@ extend-shallow@^2.0.1: dependencies: is-extendable "^0.1.0" -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -7228,20 +7144,6 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - extract-zip@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" @@ -7253,7 +7155,7 @@ extract-zip@2.0.1: optionalDependencies: "@types/yauzl" "^2.9.1" -fast-content-type-parse@^1.0.0: +fast-content-type-parse@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz#4087162bf5af3294d4726ff29b334f72e3a1092c" integrity sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ== @@ -7278,7 +7180,7 @@ fast-equals@^3.0.1: resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-3.0.3.tgz#8e6cb4e51ca1018d87dd41982ef92758b3e4197f" integrity sha512-NCe8qxnZFARSHGztGMZOO/PC1qa5MIFB5Hp66WdzbCRAz8U8US3bx1UTgLS49efBQPcUtO9gf5oVEY8o7y/7Kg== -fast-fifo@^1.1.0, fast-fifo@^1.2.0: +fast-fifo@^1.2.0, fast-fifo@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" integrity sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ== @@ -7299,10 +7201,10 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-json-stringify@^5.7.0: - version "5.15.1" - resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-5.15.1.tgz#1348b89c174cd771467e017cf61c75a796154c45" - integrity sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A== +fast-json-stringify@^5.7.0, fast-json-stringify@^5.8.0: + version "5.16.0" + resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-5.16.0.tgz#e35baa9f85a61f81680b2845969f91bd02d1b30e" + integrity sha512-A4bg6E15QrkuVO3f0SwIASgzMzR6XC4qTyTqhf3hYXy0iazbAdZKwkE+ox4WgzKyzM6ygvbdq3r134UjOaaAnA== dependencies: "@fastify/merge-json-schemas" "^0.1.0" ajv "^8.10.0" @@ -7330,9 +7232,9 @@ fast-safe-stringify@^2.0.7, fast-safe-stringify@^2.1.1: integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== fast-uri@^2.0.0, fast-uri@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-2.3.0.tgz#bdae493942483d299e7285dcb4627767d42e2793" - integrity sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw== + version "2.4.0" + resolved "https://registry.yarnpkg.com/fast-uri/-/fast-uri-2.4.0.tgz#67eae6fbbe9f25339d5d3f4c4234787b65d7d55e" + integrity sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA== fast-url-parser@1.1.3: version "1.1.3" @@ -7351,29 +7253,29 @@ fastify-plugin@^4.0.0: resolved "https://registry.yarnpkg.com/fastify-plugin/-/fastify-plugin-4.5.1.tgz#44dc6a3cc2cce0988bc09e13f160120bbd91dbee" integrity sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ== -fastify@4.17.0: - version "4.17.0" - resolved "https://registry.yarnpkg.com/fastify/-/fastify-4.17.0.tgz#b2c8245e572edef0b02a167d2d411a3c8a46d01a" - integrity sha512-tzuY1tgWJo2Y6qEKwmLhFvACUmr68Io2pqP/sDKU71KRM6A6R3DrCDqLGqANbeLZcKUfdfY58ut35CGqemcTgg== +fastify@4.27.0: + version "4.27.0" + resolved "https://registry.yarnpkg.com/fastify/-/fastify-4.27.0.tgz#e4a9b2a0a7b9efaeaf1140d47fdd4f91b5fcacb1" + integrity sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA== dependencies: "@fastify/ajv-compiler" "^3.5.0" - "@fastify/error" "^3.0.0" + "@fastify/error" "^3.4.0" "@fastify/fast-json-stringify-compiler" "^4.3.0" abstract-logging "^2.0.1" - avvio "^8.2.0" - fast-content-type-parse "^1.0.0" - fast-json-stringify "^5.7.0" - find-my-way "^7.6.0" - light-my-request "^5.6.1" - pino "^8.5.0" - process-warning "^2.0.0" + avvio "^8.3.0" + fast-content-type-parse "^1.1.0" + fast-json-stringify "^5.8.0" + find-my-way "^8.0.0" + light-my-request "^5.11.0" + pino "^9.0.0" + process-warning "^3.0.0" proxy-addr "^2.0.7" rfdc "^1.3.0" - secure-json-parse "^2.5.0" - semver "^7.3.7" - tiny-lru "^11.0.1" + secure-json-parse "^2.7.0" + semver "^7.5.4" + toad-cache "^3.3.0" -fastq@^1.17.1, fastq@^1.6.0: +fastq@^1.17.0, fastq@^1.17.1, fastq@^1.6.0: version "1.17.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== @@ -7508,20 +7410,10 @@ filesize@^8.0.6: resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -7556,27 +7448,28 @@ find-cache-dir@^4.0.0: common-path-prefix "^3.0.0" pkg-dir "^7.0.0" -find-my-way@^7.6.0: - version "7.7.0" - resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-7.7.0.tgz#d7b51ca6046782bcddd5a8435e99ad057e5a8876" - integrity sha512-+SrHpvQ52Q6W9f3wJoJBbAQULJuNEEQwBvlvYwACDhBTLOTMiQ0HYWh4+vC3OivGP2ENcTI1oKlFA2OepJNjhQ== +find-my-way@^8.0.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-8.2.0.tgz#ef1b83d008114a300118c9c707d8dc65947d9960" + integrity sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA== dependencies: fast-deep-equal "^3.1.3" fast-querystring "^1.0.0" - safe-regex2 "^2.0.0" + safe-regex2 "^3.1.0" find-up-simple@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/find-up-simple/-/find-up-simple-1.0.0.tgz#21d035fde9fdbd56c8f4d2f63f32fd93a1cfc368" integrity sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw== -find-up@6.3.0, find-up@^6.0.0, find-up@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" - integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== +find-up@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-7.0.0.tgz#e8dec1455f74f78d888ad65bf7ca13dd2b4e66fb" + integrity sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g== dependencies: - locate-path "^7.1.0" + locate-path "^7.2.0" path-exists "^5.0.0" + unicorn-magic "^0.1.0" find-up@^3.0.0: version "3.0.0" @@ -7593,6 +7486,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^6.0.0, find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" @@ -7623,11 +7524,6 @@ follow-redirects@^1.0.0, follow-redirects@^1.15.6: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - foreground-child@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" @@ -7691,13 +7587,6 @@ fraction.js@^4.3.7: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" @@ -7723,7 +7612,7 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^11.1.1: +fs-extra@^11.1.1, fs-extra@^11.2.0: version "11.2.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b" integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== @@ -7812,6 +7701,11 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-east-asian-width@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e" + integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA== + get-intrinsic@^1.1.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" @@ -7865,11 +7759,6 @@ get-stream@^8.0.1: resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - gh-release-fetch@4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/gh-release-fetch/-/gh-release-fetch-4.0.3.tgz#258b6f6f247af68228510c89140751f38bd4e7a5" @@ -7920,16 +7809,16 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^10.0.0: - version "10.3.14" - resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.14.tgz#36501f871d373fe197fc5794588d0aa71e69ff68" - integrity sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g== +glob@^10.0.0, glob@^10.3.4: + version "10.4.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.4.1.tgz#0cfb01ab6a6b438177bfe6a58e2576f6efe909c2" + integrity sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw== dependencies: foreground-child "^3.1.0" - jackspeak "^2.3.6" - minimatch "^9.0.1" - minipass "^7.0.4" - path-scurry "^1.11.0" + jackspeak "^3.1.2" + minimatch "^9.0.4" + minipass "^7.1.2" + path-scurry "^1.11.1" glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: version "7.2.3" @@ -7943,7 +7832,7 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.0, glob@^8.0.1, glob@^8.0.3: +glob@^8.0.3: version "8.1.0" resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== @@ -8049,7 +7938,7 @@ graceful-fs@4.2.10: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.10, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -8141,37 +8030,6 @@ has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - has-yarn@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d" @@ -8668,6 +8526,16 @@ import-fresh@^3.1.0, import-fresh@^3.3.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-in-the-middle@1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.7.4.tgz#508da6e91cfa84f210dcdb6c0a91ab0c9e8b3ebc" + integrity sha512-Lk+qzWmiQuRPPulGQeK5qq0v32k2bHnWrRPFgqyvhw7Kkov5L6MOLOIU3pcWeujc9W4q54Cp3Q2WV16eQkc7Bg== + dependencies: + acorn "^8.8.2" + acorn-import-attributes "^1.9.5" + cjs-module-lexer "^1.2.2" + module-details-from-path "^1.0.3" + import-lazy@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" @@ -8832,13 +8700,6 @@ iron-webcrypto@^1.0.0: resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz#aa60ff2aa10550630f4c0b11fd2442becdb35a6f" integrity sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg== -is-accessor-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4" - integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA== - dependencies: - hasown "^2.0.0" - is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" @@ -8882,11 +8743,6 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-buffer@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" @@ -8913,13 +8769,6 @@ is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1: dependencies: hasown "^2.0.0" -is-data-descriptor@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb" - integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw== - dependencies: - hasown "^2.0.0" - is-decimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" @@ -8930,22 +8779,6 @@ is-decimal@^2.0.0: resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== -is-descriptor@^0.1.0: - version "0.1.7" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33" - integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306" - integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw== - dependencies: - is-accessor-descriptor "^1.0.1" - is-data-descriptor "^1.0.1" - is-docker@3.0.0, is-docker@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" @@ -8956,18 +8789,11 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-extendable@^0.1.0, is-extendable@^0.1.1: +is-extendable@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -8988,6 +8814,13 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== +is-fullwidth-code-point@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz#9609efced7c2f97da7b60145ef481c787c7ba704" + integrity sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA== + dependencies: + get-east-asian-width "^1.0.0" + is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -9005,6 +8838,11 @@ is-hexadecimal@^2.0.0: resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== +is-in-ci@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-in-ci/-/is-in-ci-0.1.0.tgz#5e07d6a02ec3a8292d3f590973357efa3fceb0d3" + integrity sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ== + is-inside-container@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" @@ -9030,13 +8868,6 @@ is-npm@^6.0.0: resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-6.0.0.tgz#b59e75e8915543ca5d881ecff864077cba095261" integrity sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ== -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" @@ -9087,18 +8918,13 @@ is-plain-obj@^4.0.0, is-plain-obj@^4.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: +is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== dependencies: isobject "^3.0.1" -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - is-reference@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.2.tgz#154747a01f45cd962404ee89d43837af2cba247c" @@ -9116,26 +8942,36 @@ is-root@^2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== -is-stream@3.0.0, is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== +is-stream@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-4.0.1.tgz#375cf891e16d2e4baec250b85926cffc14720d9b" + integrity sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A== is-stream@^2.0.0, is-stream@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-unicode-supported@^1.1.0, is-unicode-supported@^1.2.0: +is-unicode-supported@^1.2.0, is-unicode-supported@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz#d824984b616c292a2e198207d4a609983842f714" integrity sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ== +is-unicode-supported@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz#fdf32df9ae98ff6ab2cedc155a5a6e895701c451" + integrity sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q== + is-url-superb@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-url-superb/-/is-url-superb-4.0.0.tgz#b54d1d2499bb16792748ac967aa3ecb41a33a8c2" @@ -9146,25 +8982,20 @@ is-url@^1.2.4: resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +is-wsl@3.1.0, is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== + dependencies: + is-inside-container "^1.0.0" -is-wsl@2.2.0, is-wsl@^2.2.0: +is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" -is-wsl@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" - integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== - dependencies: - is-inside-container "^1.0.0" - is-yarn-global@^0.4.0: version "0.4.1" resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.4.1.tgz#b312d902b313f81e4eaf98b6361ba2b45cd694bb" @@ -9182,7 +9013,7 @@ isarray@0.0.1: resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== -isarray@1.0.0, isarray@~1.0.0: +isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== @@ -9192,27 +9023,25 @@ iserror@0.0.2, iserror@^0.0.2: resolved "https://registry.yarnpkg.com/iserror/-/iserror-0.0.2.tgz#bd53451fe2f668b9f2402c1966787aaa2c7c0bf5" integrity sha512-oKGGrFVaWwETimP3SiWwjDeY27ovZoyZPHtxblC4hCq9fXxed/jasx+ATWFFjCVSRZng8VTMsN1nDnGo6zMBSw== -isexe@2.0.0, isexe@^2.0.0: +isexe@3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d" + integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ== + +isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: +isobject@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== -jackspeak@^2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8" - integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== +jackspeak@^3.1.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.0.tgz#a75763ff36ad778ede6a156d8ee8b124de445b4a" + integrity sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw== dependencies: "@isaacs/cliui" "^8.0.2" optionalDependencies: @@ -9267,9 +9096,9 @@ jest-worker@^29.4.3: supports-color "^8.0.0" jiti@^1.20.0, jiti@^1.21.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + version "1.21.6" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.6.tgz#6c7f7398dd4b3142767f9a168af2f317a428d268" + integrity sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w== joi@^17.9.2: version "17.13.1" @@ -9406,10 +9235,10 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" -jwt-decode@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" - integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== +jwt-decode@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" + integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== katex@^0.16.0, katex@^0.16.9: version "0.16.10" @@ -9437,20 +9266,6 @@ khroma@^2.0.0: resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.1.0.tgz#45f2ce94ce231a437cf5b63c2e886e6eb42bbbb1" integrity sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw== -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" @@ -9471,10 +9286,10 @@ kuler@^2.0.0: resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== -lambda-local@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/lambda-local/-/lambda-local-2.1.2.tgz#22b0ecdc15ae400841e268991402e87566ba0554" - integrity sha512-nGTJn2JxZWcLGpNwXFmXC7UEXL7QCLieQWDiXs46vIv9y/gSPm/uHygEMCaym+HIziniAw0XIm+1VTrXCvG1Zw== +lambda-local@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/lambda-local/-/lambda-local-2.2.0.tgz#733d183a4c3f2b16c6499b9ea72cec2f13278eef" + integrity sha512-bPcgpIXbHnVGfI/omZIlgucDqlf4LrsunwoKue5JdZeGybt8L6KyJz2Zu19ffuZwIwLj2NAI2ZyaqNT6/cetcg== dependencies: commander "^10.0.1" dotenv "^16.3.1" @@ -9512,7 +9327,7 @@ leven@^3.1.0, "leven@^3.1.0 < 4": resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== -light-my-request@^5.6.1: +light-my-request@^5.11.0: version "5.13.0" resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-5.13.0.tgz#b29905e55e8605b77fee2a946e17b219bca35113" integrity sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ== @@ -9522,9 +9337,9 @@ light-my-request@^5.6.1: set-cookie-parser "^2.4.1" lilconfig@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== + version "3.1.2" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.2.tgz#e4a7c3cb549e3a606c8dcc32e5ae1005e62c05cb" + integrity sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow== lines-and-columns@^1.1.6: version "1.2.4" @@ -9555,17 +9370,17 @@ listhen@^1.5.6, listhen@^1.7.2: untun "^0.1.3" uqr "^0.1.2" -listr2@7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-7.0.2.tgz#3aa3e1549dfaf3c57ab5eeaba754da3b87f33063" - integrity sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g== +listr2@8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-8.2.1.tgz#06a1a6efe85f23c5324180d7c1ddbd96b5eefd6d" + integrity sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g== dependencies: - cli-truncate "^3.1.0" + cli-truncate "^4.0.0" colorette "^2.0.20" eventemitter3 "^5.0.1" - log-update "^5.0.1" - rfdc "^1.3.0" - wrap-ansi "^8.1.0" + log-update "^6.0.0" + rfdc "^1.3.1" + wrap-ansi "^9.0.0" load-script@^1.0.0: version "1.0.0" @@ -9587,11 +9402,11 @@ loader-utils@^2.0.0: json5 "^2.1.2" loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== + version "3.3.1" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.3.1.tgz#735b9a19fd63648ca7adbd31c2327dfe281304e5" + integrity sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg== -locate-path@7.2.0, locate-path@^7.0.0, locate-path@^7.1.0: +locate-path@7.2.0, locate-path@^7.0.0, locate-path@^7.1.0, locate-path@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== @@ -9618,6 +9433,11 @@ lodash-es@^4.17.21: resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -9701,24 +9521,24 @@ log-process-errors@^8.0.0: moize "^6.1.0" semver "^7.3.5" -log-symbols@5.1.0, log-symbols@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-5.1.0.tgz#a20e3b9a5f53fac6aeb8e2bb22c07cf2c8f16d93" - integrity sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA== +log-symbols@6.0.0, log-symbols@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-6.0.0.tgz#bb95e5f05322651cac30c0feb6404f9f2a8a9439" + integrity sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw== dependencies: - chalk "^5.0.0" - is-unicode-supported "^1.1.0" + chalk "^5.3.0" + is-unicode-supported "^1.3.0" -log-update@5.0.1, log-update@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-5.0.1.tgz#9e928bf70cb183c1f0c9e91d9e6b7115d597ce09" - integrity sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw== +log-update@6.0.0, log-update@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/log-update/-/log-update-6.0.0.tgz#0ddeb7ac6ad658c944c1de902993fce7c33f5e59" + integrity sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw== dependencies: - ansi-escapes "^5.0.0" + ansi-escapes "^6.2.0" cli-cursor "^4.0.0" - slice-ansi "^5.0.0" - strip-ansi "^7.0.1" - wrap-ansi "^8.0.1" + slice-ansi "^7.0.0" + strip-ansi "^7.1.0" + wrap-ansi "^9.0.0" logform@^2.3.2, logform@^2.4.0: version "2.6.0" @@ -9732,6 +9552,11 @@ logform@^2.3.2, logform@^2.4.0: safe-stable-stringify "^2.3.1" triple-beam "^1.3.0" +long@^5.0.0: + version "5.2.3" + resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" + integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== + longest-streak@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.1.0.tgz#62fa67cd958742a1574af9f39866364102d90cd4" @@ -9809,23 +9634,11 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - map-obj@^5.0.0: version "5.0.2" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-5.0.2.tgz#174ad9f7e5e4e777a219126d9a734ff3e14a1c68" integrity sha512-K6K2NgKnTXimT3779/4KxSvobxOtMmx1LBZ3NwRxT/MDIR3Br/fQ4Q+WCX5QxjyUR8zg5+RV9Tbf2c5pAWTD2A== -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - markdown-extensions@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-2.0.0.tgz#34bebc83e9938cae16e0e017e4a9814a8330d3c4" @@ -9841,7 +9654,7 @@ marked@^4.3.0: resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== -maxstache-stream@^1.0.0: +maxstache-stream@1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/maxstache-stream/-/maxstache-stream-1.0.4.tgz#9c7f5cab7e5fdd2d90da86143b4e9631ea328040" integrity sha512-v8qlfPN0pSp7bdSoLo1NTjG43GXGqk5W2NWFnOCq2GlmFFqebGzPCjLKSbShuqIOVorOtZSAy7O/S1OCCRONUw== @@ -9851,7 +9664,7 @@ maxstache-stream@^1.0.0: split2 "^1.0.0" through2 "^2.0.0" -maxstache@^1.0.0: +maxstache@1.0.7, maxstache@^1.0.0: version "1.0.7" resolved "https://registry.yarnpkg.com/maxstache/-/maxstache-1.0.7.tgz#2231d5180ba783d5ecfc31c45fedac7ae4276984" integrity sha512-53ZBxHrZM+W//5AcRVewiLpDunHnucfdzZUGz54Fnvo4tE+J3p8EL66kBrs2UhBXvYKTWckWYYWBqJqoTcenqg== @@ -9924,9 +9737,9 @@ mdast-util-from-markdown@^1.3.0: uvu "^0.5.0" mdast-util-from-markdown@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz#52f14815ec291ed061f2922fd14d6689c810cb88" - integrity sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA== + version "2.0.1" + resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.1.tgz#32a6e8f512b416e1f51eb817fc64bd867ebcd9cc" + integrity sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA== dependencies: "@types/mdast" "^4.0.0" "@types/unist" "^3.0.0" @@ -10108,9 +9921,9 @@ mdast-util-to-hast@^10.2.0: unist-util-visit "^2.0.0" mdast-util-to-hast@^13.0.0: - version "13.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz#1ae54d903150a10fe04d59f03b2b95fd210b2124" - integrity sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA== + version "13.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz#5ca58e5b921cc0a3ded1bc02eed79a4fe4fe41f4" + integrity sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA== dependencies: "@types/hast" "^3.0.0" "@types/mdast" "^4.0.0" @@ -10215,9 +10028,9 @@ merge2@^1.3.0, merge2@^1.4.1: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== mermaid@^10.4.0: - version "10.9.0" - resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.9.0.tgz#4d1272fbe434bd8f3c2c150554dc8a23a9bf9361" - integrity sha512-swZju0hFox/B/qoLKK0rOxxgh8Cf7rJSfAUc1u8fezVihYMvrJAS45GzAxTVf4Q+xn9uMgitBcmWk7nWGXOs/g== + version "10.9.1" + resolved "https://registry.yarnpkg.com/mermaid/-/mermaid-10.9.1.tgz#5f582c23f3186c46c6aa673e59eeb46d741b2ea6" + integrity sha512-Mx45Obds5W1UkW1nv/7dHRsbfMM1aOKA2+Pxs/IGHNonygDHwmng8xTHyS9z4KWVi0rbko8gjiBmuwwXQ7tiNA== dependencies: "@braintree/sanitize-url" "^6.0.1" "@types/d3-scale" "^4.0.3" @@ -10860,31 +10673,12 @@ micromark@~2.11.0: debug "^4.0.0" parse-entities "^2.0.0" -micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + version "4.0.7" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" + integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== dependencies: - braces "^3.0.2" + braces "^3.0.3" picomatch "^2.3.1" mime-db@1.52.0, "mime-db@>= 1.43.0 < 2", mime-db@^1.28.0: @@ -10973,7 +10767,7 @@ minimatch@^5.0.1, minimatch@^5.1.0: dependencies: brace-expansion "^2.0.1" -minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3, minimatch@^9.0.4: +minimatch@^9.0.0, minimatch@^9.0.3, minimatch@^9.0.4: version "9.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" integrity sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw== @@ -10997,10 +10791,10 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: - version "7.1.1" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.1.tgz#f7f85aff59aa22f110b20e27692465cf3bf89481" - integrity sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707" + integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw== minizlib@^2.1.1: version "2.1.2" @@ -11008,15 +10802,7 @@ minizlib@^2.1.1: integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== dependencies: minipass "^3.0.0" - yallist "^4.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" + yallist "^4.0.0" mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" @@ -11036,13 +10822,13 @@ mkdirp@^1.0.3: integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== mlly@^1.6.1, mlly@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.0.tgz#587383ae40dda23cadb11c3c3cc972b277724271" - integrity sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ== + version "1.7.1" + resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.1.tgz#e0336429bb0731b6a8e887b438cbdae522c8f32f" + integrity sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA== dependencies: acorn "^8.11.3" pathe "^1.1.2" - pkg-types "^1.1.0" + pkg-types "^1.1.1" ufo "^1.5.3" module-definition@^5.0.1: @@ -11053,6 +10839,11 @@ module-definition@^5.0.1: ast-module-types "^5.0.0" node-source-walk "^6.0.1" +module-details-from-path@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" + integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A== + moize@^6.1.0, moize@^6.1.3: version "6.1.6" resolved "https://registry.yarnpkg.com/moize/-/moize-6.1.6.tgz#ac2e723e74b951875fe2c0c3433405c2b098c3e6" @@ -11125,23 +10916,6 @@ nanoid@^3.3.7: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - napi-build-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" @@ -11168,23 +10942,23 @@ nested-error-stacks@^2.0.0, nested-error-stacks@^2.1.0, nested-error-stacks@^2.1 integrity sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw== netlify-cli@^17.23.0: - version "17.23.2" - resolved "https://registry.yarnpkg.com/netlify-cli/-/netlify-cli-17.23.2.tgz#ebaee88f7d15046ba2926316e2ef1f6d8c6373cc" - integrity sha512-C/9gr4Gx5v4oONlzMGtk898AA6hIqe26XN4Fmbz537JIAIeJF86NoePljS4ukIlMu+5Kzr4J7maeDBhHVfRX1w== + version "17.26.2" + resolved "https://registry.yarnpkg.com/netlify-cli/-/netlify-cli-17.26.2.tgz#ff6b3c5dd1cf5bc3a7690dd3de577bf0ea1e1fa4" + integrity sha512-J0JkuHGywW9GDtk8EtV7ceS9Pv2ctivSIKOGwXu4K3IMm3I1puBFN38TyFMhmYvT0F8XOH6tdMgfMtMjnXUjcw== dependencies: - "@bugsnag/js" "7.22.7" - "@fastify/static" "6.12.0" + "@bugsnag/js" "7.23.0" + "@fastify/static" "7.0.4" "@netlify/blobs" "7.3.0" - "@netlify/build" "29.41.2" + "@netlify/build" "29.47.1" "@netlify/build-info" "7.13.2" - "@netlify/config" "20.12.3" - "@netlify/edge-bundler" "12.0.0" - "@netlify/edge-functions" "2.5.1" + "@netlify/config" "20.15.1" + "@netlify/edge-bundler" "12.0.1" + "@netlify/edge-functions" "2.8.1" "@netlify/local-functions-proxy" "1.1.1" - "@netlify/zip-it-and-ship-it" "9.32.1" - "@octokit/rest" "19.0.13" + "@netlify/zip-it-and-ship-it" "9.34.3" + "@octokit/rest" "20.1.1" "@opentelemetry/api" "1.8.0" - ansi-escapes "6.2.1" + ansi-escapes "7.0.0" ansi-styles "6.2.1" ansi-to-html "0.7.2" ascii-table "0.0.9" @@ -11193,30 +10967,29 @@ netlify-cli@^17.23.0: boxen "7.1.1" chalk "5.3.0" chokidar "3.6.0" - ci-info "3.8.0" + ci-info "4.0.0" clean-deep "3.4.0" commander "10.0.1" comment-json "4.2.3" concordance "5.0.4" configstore "6.0.0" content-type "1.0.5" - cookie "0.5.0" - copy-template-dir "1.4.0" - cron-parser "4.8.1" - debug "4.3.4" + cookie "0.6.0" + cron-parser "4.9.0" + debug "4.3.5" decache "4.6.2" - dot-prop "7.2.0" - dotenv "16.0.3" + dot-prop "9.0.0" + dotenv "16.4.5" env-paths "3.0.0" - envinfo "7.8.1" + envinfo "7.13.0" etag "1.8.1" execa "5.1.1" express "4.19.2" express-logging "1.1.1" extract-zip "2.0.1" fastest-levenshtein "1.0.16" - fastify "4.17.0" - find-up "6.3.0" + fastify "4.27.0" + find-up "7.0.0" flush-write-stream "2.0.0" folder-walker "3.2.0" from2-array "0.0.4" @@ -11234,28 +11007,30 @@ netlify-cli@^17.23.0: inquirer-autocomplete-prompt "1.4.0" ipx "2.1.0" is-docker "3.0.0" - is-stream "3.0.0" - is-wsl "2.2.0" - isexe "2.0.0" + is-stream "4.0.1" + is-wsl "3.1.0" + isexe "3.1.1" js-yaml "4.1.0" jsonwebtoken "9.0.2" - jwt-decode "3.1.2" - lambda-local "2.1.2" - listr2 "7.0.2" + jwt-decode "4.0.0" + lambda-local "2.2.0" + listr2 "8.2.1" locate-path "7.2.0" lodash "4.17.21" - log-symbols "5.1.0" - log-update "5.0.1" + log-symbols "6.0.0" + log-update "6.0.0" + maxstache "1.0.7" + maxstache-stream "1.0.4" multiparty "4.2.3" - netlify "13.1.15" + netlify "13.1.18" netlify-headers-parser "7.1.4" - netlify-redirect-parser "14.2.2" + netlify-redirect-parser "14.3.0" netlify-redirector "0.5.0" - node-fetch "2.6.12" + node-fetch "3.3.2" node-version-alias "3.4.1" - ora "6.3.1" - p-filter "3.0.0" - p-map "5.5.0" + ora "8.0.1" + p-filter "4.1.0" + p-map "7.0.2" p-wait-for "5.0.2" parallel-transform "1.2.0" parse-github-url "1.0.2" @@ -11265,25 +11040,26 @@ netlify-cli@^17.23.0: pump "3.0.0" raw-body "2.5.2" read-package-up "11.0.0" - semver "7.6.0" + readdirp "3.6.0" + semver "7.6.2" source-map-support "0.5.21" strip-ansi-control-characters "2.0.0" tabtab "3.0.2" - tempy "3.0.0" + tempy "3.1.0" terminal-link "3.0.0" - through2-filter "3.0.0" - through2-map "3.0.0" + through2-filter "4.0.0" + through2-map "4.0.0" to-readable-stream "3.0.0" toml "3.0.0" tomlify-j0.4 "3.0.0" ulid "2.3.0" unixify "1.0.0" - update-notifier "6.0.2" + update-notifier "7.0.0" uuid "9.0.1" - wait-port "1.0.4" + wait-port "1.1.0" write-file-atomic "5.0.1" - ws "8.14.2" - zod "3.22.4" + ws "8.17.0" + zod "3.23.8" netlify-headers-parser@7.1.4, netlify-headers-parser@^7.1.4: version "7.1.4" @@ -11297,18 +11073,7 @@ netlify-headers-parser@7.1.4, netlify-headers-parser@^7.1.4: map-obj "^5.0.0" path-exists "^5.0.0" -netlify-redirect-parser@14.2.2: - version "14.2.2" - resolved "https://registry.yarnpkg.com/netlify-redirect-parser/-/netlify-redirect-parser-14.2.2.tgz#ad3c705ea5f4c574ac37b82d4fe21854678b28ac" - integrity sha512-LS3cbHZfATtfZFeJr8RLBREAjCE1rEG1CybKnA6dTLgXez0lGJE/QTPzjn6GqfNmiMowo15YQe4+UjRhbzQ04w== - dependencies: - "@iarna/toml" "^2.2.5" - fast-safe-stringify "^2.1.1" - filter-obj "^5.0.0" - is-plain-obj "^4.0.0" - path-exists "^5.0.0" - -netlify-redirect-parser@^14.2.2, netlify-redirect-parser@^14.3.0: +netlify-redirect-parser@14.3.0, netlify-redirect-parser@^14.3.0: version "14.3.0" resolved "https://registry.yarnpkg.com/netlify-redirect-parser/-/netlify-redirect-parser-14.3.0.tgz#9cf14a742fe9c446e624498a75e8d6b40d621bcc" integrity sha512-/Oqq+SrTXk8hZqjCBy0AkWf5qAhsgcsdxQA09uYFdSSNG5w9rhh17a7dp77o5Q5XoHCahm8u4Kig/lbXkl4j2g== @@ -11324,25 +11089,12 @@ netlify-redirector@0.5.0: resolved "https://registry.yarnpkg.com/netlify-redirector/-/netlify-redirector-0.5.0.tgz#9611dd8497dab4e13d9f6a6f1595b9528b9e7abf" integrity sha512-4zdzIP+6muqPCuE8avnrgDJ6KW/2+UpHTRcTbMXCIRxiRmyrX+IZ4WSJGZdHPWF3WmQpXpy603XxecZ9iygN7w== -netlify@13.1.15: - version "13.1.15" - resolved "https://registry.yarnpkg.com/netlify/-/netlify-13.1.15.tgz#4ccedd7b64df2cafe6238b2e7974e941762768de" - integrity sha512-6gZ2lMcjqiXqirwbxeXoNyQn1LcW18s8zdR9eTS8Dtuqg/h4JxI7y9ahV9fypfp0bdaTt8hkBoopBJXLQPsJmA== - dependencies: - "@netlify/open-api" "^2.30.0" - lodash-es "^4.17.21" - micro-api-client "^3.3.0" - node-fetch "^3.0.0" - omit.js "^2.0.2" - p-wait-for "^4.0.0" - qs "^6.9.6" - -netlify@^13.1.15, netlify@^13.1.16: - version "13.1.16" - resolved "https://registry.yarnpkg.com/netlify/-/netlify-13.1.16.tgz#285ebac9197e596fa1f3bbeb91d0f74e9aeea3b3" - integrity sha512-DMqurowUwUk2pPcWlVKvj/gj9NHZJgrTlh/lCArCa82zuMEp++4/hYQAJ2R8ZYfRVZpwg11NT/kkq/vKuImlhA== +netlify@13.1.18, netlify@^13.1.18: + version "13.1.18" + resolved "https://registry.yarnpkg.com/netlify/-/netlify-13.1.18.tgz#32fb7803e0c28c7764ef443e68c71d3a0449787a" + integrity sha512-1IDnULb21Fx1CVCBEhMwwKA8uZwhSmsqWzrfhvaWuUYQMHIjEhs9dPSci09I8zWOrAIiRI1mQSG1ZfnmqFZE+Q== dependencies: - "@netlify/open-api" "^2.30.0" + "@netlify/open-api" "^2.32.0" lodash-es "^4.17.21" micro-api-client "^3.3.0" node-fetch "^3.0.0" @@ -11359,9 +11111,9 @@ no-case@^3.0.4: tslib "^2.0.3" node-abi@^3.3.0: - version "3.62.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.62.0.tgz#017958ed120f89a3a14a7253da810f5d724e3f36" - integrity sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g== + version "3.64.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.64.0.tgz#cb24a16eb939ba23d6a5a06a7835ab670e2f3027" + integrity sha512-lxowHVCx3o1zfKJthjWh6WI8Eyi4gdTaK9bUc3oTjYv9j8sp5gSiufkOvoYZ1LgmZKngWUkS5a8G1RSuLWtPgg== dependencies: semver "^7.3.5" @@ -11395,12 +11147,14 @@ node-fetch-native@^1.6.1, node-fetch-native@^1.6.2, node-fetch-native@^1.6.3: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== -node-fetch@2.6.12: - version "2.6.12" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" - integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== +node-fetch@3.3.2, node-fetch@^3.0.0, node-fetch@^3.1.1, node-fetch@^3.3.1, node-fetch@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" + integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== dependencies: - whatwg-url "^5.0.0" + data-uri-to-buffer "^4.0.0" + fetch-blob "^3.1.4" + formdata-polyfill "^4.0.10" node-fetch@^2.6.7: version "2.7.0" @@ -11409,15 +11163,6 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^3.0.0, node-fetch@^3.1.1, node-fetch@^3.3.1, node-fetch@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b" - integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA== - dependencies: - data-uri-to-buffer "^4.0.0" - fetch-blob "^3.1.4" - formdata-polyfill "^4.0.10" - node-forge@^1, node-forge@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -11458,9 +11203,9 @@ node-version-alias@3.4.1: semver "^7.3.8" nodemon@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.0.tgz#ff7394f2450eb6a5e96fe4180acd5176b29799c9" - integrity sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA== + version "3.1.3" + resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-3.1.3.tgz#dcce9ee0aa7d19cd4dcd576ae9a0456d9078b286" + integrity sha512-m4Vqs+APdKzDFpuaL9F9EVOF85+h070FnkHVEoU4+rmT6Vw0bmNl7s61VEkY/cJkL7RCv1p4urnUDUMrS5rk2w== dependencies: chokidar "^3.5.2" debug "^4" @@ -11478,11 +11223,6 @@ non-layered-tidy-tree-layout@^2.0.2: resolved "https://registry.yarnpkg.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz#57d35d13c356643fc296a55fb11ac15e74da7804" integrity sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw== -noop2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/noop2/-/noop2-2.0.0.tgz#4b636015e9882b54783c02b412f699d8c5cd0a5b" - integrity sha512-2bu7Pfpf6uNqashWV8P7yYeutQ3XkLY9MBSYI5sOAFZxuWcW/uJfLbKj5m6SvMDT9U1Y0C+7UFG+7VSiIdXjtA== - nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" @@ -11490,13 +11230,6 @@ nopt@^5.0.0: dependencies: abbrev "1" -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== - dependencies: - abbrev "1" - normalize-node-version@^12.4.0: version "12.4.0" resolved "https://registry.yarnpkg.com/normalize-node-version/-/normalize-node-version-12.4.0.tgz#94d4be3f7e6769d85c5de8b4b8d4ed3bc232f538" @@ -11589,15 +11322,6 @@ object-assign@^4.1.1: resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" @@ -11608,13 +11332,6 @@ object-keys@^1.1.1: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - object.assign@^4.1.0: version "4.1.5" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" @@ -11625,13 +11342,6 @@ object.assign@^4.1.0: has-symbols "^1.0.3" object-keys "^1.1.1" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -11722,20 +11432,20 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -ora@6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/ora/-/ora-6.3.1.tgz#a4e9e5c2cf5ee73c259e8b410273e706a2ad3ed6" - integrity sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ== +ora@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/ora/-/ora-8.0.1.tgz#6dcb9250a629642cbe0d2df3a6331ad6f7a2af3e" + integrity sha512-ANIvzobt1rls2BDny5fWZ3ZVKyD6nscLvfFRpQgfWsythlcsVUC9kL0zq6j2Z5z9wwp1kd7wpsD/T9qNPVLCaQ== dependencies: - chalk "^5.0.0" + chalk "^5.3.0" cli-cursor "^4.0.0" - cli-spinners "^2.6.1" + cli-spinners "^2.9.2" is-interactive "^2.0.0" - is-unicode-supported "^1.1.0" - log-symbols "^5.1.0" - stdin-discarder "^0.1.0" - strip-ansi "^7.0.1" - wcwidth "^1.0.1" + is-unicode-supported "^2.0.0" + log-symbols "^6.0.0" + stdin-discarder "^0.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" os-name@^5.0.0: version "5.1.0" @@ -11776,7 +11486,14 @@ p-every@^2.0.0: dependencies: p-map "^2.0.0" -p-filter@3.0.0, p-filter@^3.0.0: +p-filter@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-4.1.0.tgz#fe0aa794e2dfad8ecf595a39a245484fcd09c6e4" + integrity sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw== + dependencies: + p-map "^7.0.1" + +p-filter@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-3.0.0.tgz#ce50e03b24b23930e11679ab8694bd09a2d7ed35" integrity sha512-QtoWLjXAW++uTX67HZQz1dbTpqBfiidsB6VtQUC9iR85S120+s0T5sO6s+B5MLzFcZkrEd/DGMmCjR+f2Qpxwg== @@ -11795,7 +11512,7 @@ p-limit@^2.0.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -11830,12 +11547,10 @@ p-locate@^6.0.0: dependencies: p-limit "^4.0.0" -p-map@5.5.0, p-map@^5.0.0, p-map@^5.1.0, p-map@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-5.5.0.tgz#054ca8ca778dfa4cf3f8db6638ccb5b937266715" - integrity sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== - dependencies: - aggregate-error "^4.0.0" +p-map@7.0.2, p-map@^7.0.1: + version "7.0.2" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-7.0.2.tgz#7c5119fada4755660f70199a66aa3fe2f85a1fe8" + integrity sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q== p-map@^2.0.0: version "2.1.0" @@ -11849,6 +11564,13 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" +p-map@^5.0.0, p-map@^5.1.0, p-map@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/p-map/-/p-map-5.5.0.tgz#054ca8ca778dfa4cf3f8db6638ccb5b937266715" + integrity sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg== + dependencies: + aggregate-error "^4.0.0" + p-map@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-6.0.0.tgz#4d9c40d3171632f86c47601b709f4b4acd70fed4" @@ -12038,11 +11760,6 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -12083,10 +11800,10 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-scurry@^1.11.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.0.tgz#332d64e9726bf667fb348e5a1c71005c09ad741a" - integrity sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw== +path-scurry@^1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2" + integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA== dependencies: lru-cache "^10.2.0" minipass "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -12142,10 +11859,10 @@ periscopic@^3.0.0: estree-walker "^3.0.0" is-reference "^3.0.0" -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== +picocolors@^1.0.0, picocolors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" + integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" @@ -12160,27 +11877,27 @@ pino-abstract-transport@^1.2.0: readable-stream "^4.0.0" split2 "^4.0.0" -pino-std-serializers@^6.0.0: - version "6.2.2" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz#d9a9b5f2b9a402486a5fc4db0a737570a860aab3" - integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA== +pino-std-serializers@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz#7c625038b13718dbbd84ab446bd673dc52259e3b" + integrity sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA== -pino@^8.5.0: - version "8.21.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-8.21.0.tgz#e1207f3675a2722940d62da79a7a55a98409f00d" - integrity sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q== +pino@^9.0.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-9.1.0.tgz#f734617ad096568cc905e6a227266dbd6100c3fb" + integrity sha512-qUcgfrlyOtjwhNLdbhoL7NR4NkHjzykAPw0V2QLFbvu/zss29h4NkRnibyFzBrNCbzCOY3WZ9hhKSwfOkNggYA== dependencies: atomic-sleep "^1.0.0" fast-redact "^3.1.1" on-exit-leak-free "^2.1.0" pino-abstract-transport "^1.2.0" - pino-std-serializers "^6.0.0" + pino-std-serializers "^7.0.0" process-warning "^3.0.0" quick-format-unescaped "^4.0.3" real-require "^0.2.0" safe-stable-stringify "^2.3.1" - sonic-boom "^3.7.0" - thread-stream "^2.6.0" + sonic-boom "^4.0.1" + thread-stream "^3.0.0" pkg-dir@^7.0.0: version "7.0.0" @@ -12189,7 +11906,7 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" -pkg-types@^1.1.0: +pkg-types@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.1.1.tgz#07b626880749beb607b0c817af63aac1845a73f2" integrity sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ== @@ -12205,25 +11922,20 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" -playwright-core@1.42.0: - version "1.42.0" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.42.0.tgz#bc6525268b13b8bed5fbead761a1a886984555c4" - integrity sha512-0HD9y8qEVlcbsAjdpBaFjmaTHf+1FeIddy8VJLeiqwhcNqGCBe4Wp2e8knpqiYbzxtxarxiXyNDw2cG8sCaNMQ== +playwright-core@1.45.0-alpha-2024-06-11: + version "1.45.0-alpha-2024-06-11" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.45.0-alpha-2024-06-11.tgz#15005bbd093f53c64fac66ba0deb9fbe10f065cd" + integrity sha512-6aFL+YO4YjozzSi3TG1chzaVSs06AdCp3EVKaQK1HqS7OGUvtcwuZ1t+lxyTRr4S/iEZMbjGh2dTDSI+hBrIog== -playwright@1.42.0: - version "1.42.0" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.42.0.tgz#6d4265b124d2b87432083aa7af30c46aaec5e703" - integrity sha512-Ko7YRUgj5xBHbntrgt4EIw/nE//XBHOKVKnBjO1KuZkmkhlbgyggTe5s9hjqQ1LpN+Xg+kHsQyt5Pa0Bw5XpvQ== +playwright@1.45.0-alpha-2024-06-11: + version "1.45.0-alpha-2024-06-11" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.45.0-alpha-2024-06-11.tgz#02b236a4c02b65f38fe0c29a3f680c407ff986f6" + integrity sha512-WaOVcdpumSHyEkIt5fC2fmqa1NnfEqI2+sGMcO/zc84dPTwOiAmayv+1oaZcl5EGaP0YHkLHGDBUPOI+wtwxQA== dependencies: - playwright-core "1.42.0" + playwright-core "1.45.0-alpha-2024-06-11" optionalDependencies: fsevents "2.3.2" -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - postcss-calc@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-9.0.1.tgz#a744fd592438a93d6de0f1434c572670361eb6c6" @@ -12465,9 +12177,9 @@ postcss-reduce-transforms@^6.0.2: postcss-value-parser "^4.2.0" postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.0.16" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" - integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== + version "6.1.0" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz#49694cb4e7c649299fea510a29fa6577104bcf53" + integrity sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -12618,11 +12330,6 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process-warning@^2.0.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-2.3.2.tgz#70d8a3251aab0eafe3a595d8ae2c5d2277f096a5" - integrity sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA== - process-warning@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-3.0.0.tgz#96e5b88884187a1dce6f5c3166d611132058710b" @@ -12667,6 +12374,24 @@ proto-list@~1.2.1: resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA== +protobufjs@^7.2.3, protobufjs@^7.2.5: + version "7.3.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.3.0.tgz#a32ec0422c039798c41a0700306a6e305b9cb32c" + integrity sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + proxy-addr@^2.0.7, proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -12999,7 +12724,7 @@ react@^18.2.0: dependencies: loose-envify "^1.1.0" -read-package-up@11.0.0: +read-package-up@11.0.0, read-package-up@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/read-package-up/-/read-package-up-11.0.0.tgz#71fb879fdaac0e16891e6e666df22de24a48d5ba" integrity sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ== @@ -13008,7 +12733,7 @@ read-package-up@11.0.0: read-pkg "^9.0.0" type-fest "^4.6.0" -read-pkg-up@^9.0.0: +read-pkg-up@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-9.1.0.tgz#38ca48e0bc6c6b260464b14aad9bcd4e5b1fbdc3" integrity sha512-vaMRR1AC1nrd5CQM0PhlRsO5oc2AAigqr7cCrZ/MW/Rsaflz4RlgzkpL4qoU/z1F6wrbd85iFv1OQj/y5RdGvg== @@ -13038,7 +12763,16 @@ read-pkg@^9.0.0: type-fest "^4.6.0" unicorn-magic "^0.1.0" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@~2.3.6: +readable-stream@3, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -13051,15 +12785,6 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - readable-stream@^4.0.0: version "4.5.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.5.2.tgz#9e7fc4c45099baeed934bff6eb97ba6cf2729e09" @@ -13085,16 +12810,7 @@ readdir-glob@^1.1.2: dependencies: minimatch "^5.1.0" -readdirp@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@^3.4.0, readdirp@~3.6.0: +readdirp@3.6.0, readdirp@^3.4.0, readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== @@ -13149,14 +12865,6 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexpu-core@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" @@ -13338,11 +13046,6 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - repeat-string@^1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" @@ -13358,6 +13061,15 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +require-in-the-middle@^7.1.1: + version "7.3.0" + resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.3.0.tgz#ce64a1083647dc07b3273b348357efac8a9945c9" + integrity sha512-nQFEv9gRw6SJAwWD2LrL0NmQvAcO7FBwJbwmr2ttPAacfy0xuiOjE5zt+zM4xDyuyvUaxBi/9gb2SoCyNEVJcw== + dependencies: + debug "^4.1.1" + module-details-from-path "^1.0.3" + resolve "^1.22.1" + "require-like@>= 0.1.1": version "0.1.2" resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" @@ -13393,12 +13105,7 @@ resolve-pathname@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - -resolve@^1.1.6, resolve@^1.14.2: +resolve@^1.1.6, resolve@^1.14.2, resolve@^1.22.1: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -13439,15 +13146,10 @@ restore-cursor@^4.0.0: onetime "^5.1.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -ret@~0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.2.2.tgz#b6861782a1f4762dce43402a71eb7a283f44573c" - integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== +ret@~0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.4.3.tgz#5243fa30e704a2e78a9b9b1e86079e15891aa85c" + integrity sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ== retry@^0.13.1: version "0.13.1" @@ -13459,7 +13161,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rfdc@^1.2.0, rfdc@^1.3.0: +rfdc@^1.2.0, rfdc@^1.3.0, rfdc@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== @@ -13496,7 +13198,7 @@ run-async@^2.2.0, run-async@^2.4.0: resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== -run-parallel@^1.1.4, run-parallel@^1.1.9: +run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== @@ -13544,19 +13246,12 @@ safe-json-stringify@^1.2.0: resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== -safe-regex2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/safe-regex2/-/safe-regex2-2.0.0.tgz#b287524c397c7a2994470367e0185e1916b1f5b9" - integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== - dependencies: - ret "~0.2.0" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== +safe-regex2@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/safe-regex2/-/safe-regex2-3.1.0.tgz#fd7ec23908e2c730e1ce7359a5b72883a87d2763" + integrity sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug== dependencies: - ret "~0.1.10" + ret "~0.4.0" safe-stable-stringify@^2.3.1: version "2.4.3" @@ -13569,9 +13264,9 @@ safe-stable-stringify@^2.3.1: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sax@^1.2.4: - version "1.3.0" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" - integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + version "1.4.1" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f" + integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg== scheduler@^0.23.2: version "0.23.2" @@ -13616,7 +13311,7 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" -secure-json-parse@^2.5.0: +secure-json-parse@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.7.0.tgz#5a5f9cd6ae47df23dba3151edd06855d47e09862" integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== @@ -13648,23 +13343,16 @@ semver-diff@^4.0.0: dependencies: semver "^7.3.5" -semver@7.6.0: - version "7.6.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" - integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== - dependencies: - lru-cache "^6.0.0" +semver@7.6.2, semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.2, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: + version "7.6.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" + integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== semver@^6.0.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.0.0, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3, semver@^7.5.4, semver@^7.6.0: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== - send@0.18.0: version "0.18.0" resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" @@ -13750,16 +13438,6 @@ set-function-length@^1.2.1: gopd "^1.0.1" has-property-descriptors "^1.0.2" -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - setprototypeof@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" @@ -13797,16 +13475,16 @@ sharp@^0.32.3, sharp@^0.32.6: tunnel-agent "^0.6.0" sharp@^0.33.3: - version "0.33.3" - resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.3.tgz#3342fe0aa5ed45a363e6578fa575c7af366216c2" - integrity sha512-vHUeXJU1UvlO/BNwTpT0x/r53WkLUVxrmb5JTgW92fdFCFk0ispLMAeu/jPO2vjkXM1fYUi3K7/qcLF47pwM1A== + version "0.33.4" + resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.33.4.tgz#b88e6e843e095c6ab5e1a0c59c4885e580cd8405" + integrity sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q== dependencies: color "^4.2.3" detect-libc "^2.0.3" semver "^7.6.0" optionalDependencies: - "@img/sharp-darwin-arm64" "0.33.3" - "@img/sharp-darwin-x64" "0.33.3" + "@img/sharp-darwin-arm64" "0.33.4" + "@img/sharp-darwin-x64" "0.33.4" "@img/sharp-libvips-darwin-arm64" "1.0.2" "@img/sharp-libvips-darwin-x64" "1.0.2" "@img/sharp-libvips-linux-arm" "1.0.2" @@ -13815,15 +13493,15 @@ sharp@^0.33.3: "@img/sharp-libvips-linux-x64" "1.0.2" "@img/sharp-libvips-linuxmusl-arm64" "1.0.2" "@img/sharp-libvips-linuxmusl-x64" "1.0.2" - "@img/sharp-linux-arm" "0.33.3" - "@img/sharp-linux-arm64" "0.33.3" - "@img/sharp-linux-s390x" "0.33.3" - "@img/sharp-linux-x64" "0.33.3" - "@img/sharp-linuxmusl-arm64" "0.33.3" - "@img/sharp-linuxmusl-x64" "0.33.3" - "@img/sharp-wasm32" "0.33.3" - "@img/sharp-win32-ia32" "0.33.3" - "@img/sharp-win32-x64" "0.33.3" + "@img/sharp-linux-arm" "0.33.4" + "@img/sharp-linux-arm64" "0.33.4" + "@img/sharp-linux-s390x" "0.33.4" + "@img/sharp-linux-x64" "0.33.4" + "@img/sharp-linuxmusl-arm64" "0.33.4" + "@img/sharp-linuxmusl-x64" "0.33.4" + "@img/sharp-wasm32" "0.33.4" + "@img/sharp-win32-ia32" "0.33.4" + "@img/sharp-win32-x64" "0.33.4" shebang-command@^2.0.0: version "2.0.0" @@ -13861,6 +13539,11 @@ shiki@^0.14.7: vscode-oniguruma "^1.7.0" vscode-textmate "^8.0.0" +shimmer@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" + integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== + side-channel@^1.0.4, side-channel@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" @@ -13924,9 +13607,9 @@ sisteransi@^1.0.5: integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== sitemap@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.1.tgz#eeed9ad6d95499161a3eadc60f8c6dce4bea2bef" - integrity sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg== + version "7.1.2" + resolved "https://registry.yarnpkg.com/sitemap/-/sitemap-7.1.2.tgz#6ce1deb43f6f177c68bc59cf93632f54e3ae6b72" + integrity sha512-ARCqzHJ0p4gWt+j7NlU5eDlIO9+Rkr/JhPFZKKQ1l5GCus7rJH4UdrlVAh0xC/gDS/Qir2UMxqYNHtsKr2rpCw== dependencies: "@types/node" "^17.0.5" "@types/sax" "^1.2.1" @@ -13958,6 +13641,14 @@ slice-ansi@^5.0.0: ansi-styles "^6.0.0" is-fullwidth-code-point "^4.0.0" +slice-ansi@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-7.1.0.tgz#cd6b4655e298a8d1bdeb04250a433094b347b9a9" + integrity sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg== + dependencies: + ansi-styles "^6.2.1" + is-fullwidth-code-point "^5.0.0" + snake-case@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" @@ -13966,36 +13657,6 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - sockjs@^0.3.24: version "0.3.24" resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" @@ -14005,10 +13666,10 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -sonic-boom@^3.7.0: - version "3.8.1" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-3.8.1.tgz#d5ba8c4e26d6176c9a1d14d549d9ff579a163422" - integrity sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg== +sonic-boom@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-4.0.1.tgz#515b7cef2c9290cb362c4536388ddeece07aed30" + integrity sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ== dependencies: atomic-sleep "^1.0.0" @@ -14036,17 +13697,6 @@ source-map-js@^1.0.1, source-map-js@^1.2.0: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - source-map-support@0.5.21, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -14055,16 +13705,6 @@ source-map-support@0.5.21, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -14112,9 +13752,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.17" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" - integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== + version "3.0.18" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" + integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== spdy-transport@^3.0.0: version "3.0.0" @@ -14139,13 +13779,6 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - split2@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/split2/-/split2-1.1.1.tgz#162d9b18865f02ab2f2ad9585522db9b54c481f9" @@ -14185,14 +13818,6 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -14208,20 +13833,19 @@ std-env@^3.0.1, std-env@^3.7.0: resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== -stdin-discarder@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.1.0.tgz#22b3e400393a8e28ebf53f9958f3880622efde21" - integrity sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ== - dependencies: - bl "^5.0.0" +stdin-discarder@^0.2.1: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stdin-discarder/-/stdin-discarder-0.2.2.tgz#390037f44c4ae1a1ae535c5fe38dc3aba8d997be" + integrity sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ== -streamx@^2.15.0, streamx@^2.16.1: - version "2.16.1" - resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.16.1.tgz#2b311bd34832f08aa6bb4d6a80297c9caef89614" - integrity sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ== +streamx@^2.15.0, streamx@^2.18.0: + version "2.18.0" + resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.18.0.tgz#5bc1a51eb412a667ebfdcd4e6cf6a6fc65721ac7" + integrity sha512-LLUC1TWdjVdn1weXGcSxyTR3T4+acB6tVGXT95y0nGbca4t4o/ng1wKAGTljm9VicuCVLvRlqFYXYy5GwgM7sQ== dependencies: - fast-fifo "^1.1.0" + fast-fifo "^1.3.2" queue-tick "^1.0.1" + text-decoder "^1.1.0" optionalDependencies: bare-events "^2.2.0" @@ -14260,6 +13884,15 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string-width@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.1.0.tgz#d994252935224729ea3719c49f7206dc9c46550a" + integrity sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw== + dependencies: + emoji-regex "^10.3.0" + get-east-asian-width "^1.0.0" + strip-ansi "^7.1.0" + string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -14324,7 +13957,7 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.0, strip-ansi@^7.0.1: +strip-ansi@^7.0.0, strip-ansi@^7.0.1, strip-ansi@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== @@ -14548,18 +14181,18 @@ tar@^6.1.11: mkdirp "^1.0.3" yallist "^4.0.0" -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempy@3.0.0: +temp-dir@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-3.0.0.tgz#a6c0a15f5534a820e92c3e1369f1c1e87ebd6b68" - integrity sha512-B2I9X7+o2wOaW4r/CWMkpOO9mdiTRCxXNgob6iGvPmfPWgH/KyUD6Uy5crtWBxIBe3YrNZKR2lSzv1JJKWD4vA== + resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-3.0.0.tgz#7f147b42ee41234cc6ba3138cd8e8aa2302acffa" + integrity sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw== + +tempy@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/tempy/-/tempy-3.1.0.tgz#00958b6df85db8589cb595465e691852aac038e9" + integrity sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g== dependencies: is-stream "^3.0.0" - temp-dir "^2.0.0" + temp-dir "^3.0.0" type-fest "^2.12.2" unique-string "^3.0.0" @@ -14583,15 +14216,22 @@ terser-webpack-plugin@^5.3.10, terser-webpack-plugin@^5.3.9: terser "^5.26.0" terser@^5.10.0, terser@^5.15.1, terser@^5.26.0: - version "5.31.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.0.tgz#06eef86f17007dbad4593f11a574c7f5eb02c6a1" - integrity sha512-Q1JFAoUKE5IMfI4Z/lkE/E6+SwgzO+x4tq4v1AyBLRj8VSYvRO6A/rQrPg1yud4g0En9EKI1TvFRF2tQFcoUkg== + version "5.31.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.31.1.tgz#735de3c987dd671e95190e6b98cfe2f07f3cf0d4" + integrity sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" commander "^2.20.0" source-map-support "~0.5.20" +text-decoder@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/text-decoder/-/text-decoder-1.1.0.tgz#3379e728fcf4d3893ec1aea35e8c2cac215ef190" + integrity sha512-TmLJNj6UgX8xcUZo4UDStGQtDiTzF7BzWlzn9g7UWrjkpHr5uJTK1ld16wZ3LXb2vb6jH8qU89dW5whuMdXYdw== + dependencies: + b4a "^1.6.4" + text-hex@1.0.x: version "1.0.0" resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" @@ -14602,28 +14242,26 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -thread-stream@^2.6.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-2.7.0.tgz#d8a8e1b3fd538a6cca8ce69dbe5d3d097b601e11" - integrity sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw== +thread-stream@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-3.0.2.tgz#ff6c557ed0cdd1f6c82b802481fbc22e11b8a006" + integrity sha512-cBL4xF2A3lSINV4rD5tyqnKH4z/TgWPvT+NaVhJDSwK962oo/Ye7cHSMbDzwcu7tAE1SfU6Q4XtV6Hucmi6Hlw== dependencies: real-require "^0.2.0" -through2-filter@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== +through2-filter@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-4.0.0.tgz#1cdaa1276d4ee87f926e83f565a4332d6a2adfd7" + integrity sha512-P8IpQL19bSdXqGLvLdbidYRxERXgHEXGcQofPxbLpPkqS1ieOrUrocdYRTNv8YwSukaDJWr71s6F2kZ3bvgEhA== dependencies: - through2 "~2.0.0" - xtend "~4.0.0" + through2 "^4.0.2" -through2-map@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-map/-/through2-map-3.0.0.tgz#a6c3026ce63b4898a997d540506b66ffd970f271" - integrity sha512-Ms68QPbSJKjRYY7fmqZHB0VGt+vD0/tjmDHUWgxltjifCof6hZWWeQAEi27Wjbs7jyNlIIyerQw/TVj7gHkd/Q== +through2-map@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/through2-map/-/through2-map-4.0.0.tgz#4ff70fe60c555e230472868b837a96a24645b160" + integrity sha512-+rpmDB5yckiBGEuqJSsWYWMs9e1zdksypDKvByysEyN+knhsPXV9Z6O2mA9meczIa6AON7bi2G3xWk5T8UG4zQ== dependencies: - through2 "~2.0.0" - xtend "^4.0.0" + through2 "^4.0.2" through2@^2.0.0, through2@~2.0.0: version "2.0.5" @@ -14633,6 +14271,13 @@ through2@^2.0.0, through2@~2.0.0: readable-stream "~2.3.6" xtend "~4.0.1" +through2@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + through@^2.3.6, through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -14653,11 +14298,6 @@ tiny-invariant@^1.0.2: resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg== -tiny-lru@^11.0.1: - version "11.2.6" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-11.2.6.tgz#86a4fd0ad615eac1639adf92010e8b944e209fdb" - integrity sha512-0PU3c9PjMnltZaFo2sGYv/nnJsMjG0Cxx8X6FXHPPGjFyoo1SJDxvUXW1207rdiSxYizf31roo+GrkIByQeZoA== - tiny-warning@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" @@ -14687,26 +14327,11 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - to-readable-stream@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-3.0.0.tgz#7c4aa6e3e2413c86c6276a57780dadfba226762f" integrity sha512-vD2LytT6DxPynBa1xbMtswY9gGqj27wNbh2uvI5OhBe+mrGLurRWRQZyQn3812sqlQRtUJwaKVshG+PoGwbPDQ== -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -14714,15 +14339,10 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" +toad-cache@^3.3.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/toad-cache/-/toad-cache-3.7.0.tgz#b9b63304ea7c45ec34d91f1d2fa513517025c441" + integrity sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw== toidentifier@1.0.1: version "1.0.1" @@ -14753,11 +14373,9 @@ totalist@^3.0.0: integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" + version "3.1.1" + resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.1.tgz#097a23d7b161476435e5c1344a95c0f75b4a5694" + integrity sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA== tr46@~0.0.3: version "0.0.3" @@ -14826,9 +14444,9 @@ tslib@^1.8.1, tslib@^1.9.0: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== tsutils@^3.21.0: version "3.21.0" @@ -14864,10 +14482,10 @@ type-fest@^2.0.0, type-fest@^2.11.2, type-fest@^2.12.2, type-fest@^2.13.0, type- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type-fest@^4.6.0, type-fest@^4.7.1: - version "4.18.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.18.2.tgz#8d765c42e7280a11f4d04fb77a00dacc417c8b05" - integrity sha512-+suCYpfJLAe4OXS6+PPXjW3urOS4IoP9waSiLuXfLgqZODKw/aWwASvzqE886wA0kQgGy0mIWyhd87VpqIy6Xg== +type-fest@^4.18.2, type-fest@^4.6.0, type-fest@^4.7.1: + version "4.20.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-4.20.0.tgz#019becf5a97cd58eee93f592f0961859a74482a7" + integrity sha512-MBh+PHUHHisjXf4tlx0CFWoMdjx8zCMLJHOjnV1prABYZFHqtFOyauCIK2/7w4oIfwkF8iNhLtnJEfVY2vn3iw== type-is@~1.6.18: version "1.6.18" @@ -14912,9 +14530,9 @@ ufo@^1.3.2, ufo@^1.4.0, ufo@^1.5.3: integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== uglify-js@^3.1.4: - version "3.17.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c" - integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== + version "3.18.0" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.18.0.tgz#73b576a7e8fda63d2831e293aeead73e0a270deb" + integrity sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A== uid-safe@2.1.5: version "2.1.5" @@ -15020,16 +14638,6 @@ unified@^9.0.0: trough "^1.0.0" vfile "^4.0.0" -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - unique-string@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a" @@ -15179,14 +14787,6 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - unstorage@^1.10.1: version "1.10.2" resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.10.2.tgz#fb7590ada8b30e83be9318f85100158b02a76dae" @@ -15217,15 +14817,33 @@ untun@^0.1.3: consola "^3.2.3" pathe "^1.1.1" -update-browserslist-db@^1.0.13: - version "1.0.15" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz#60ed9f8cba4a728b7ecf7356f641a31e3a691d97" - integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== +update-browserslist-db@^1.0.16: + version "1.0.16" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz#f6d489ed90fb2f07d67784eb3f53d7891f736356" + integrity sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ== dependencies: escalade "^3.1.2" - picocolors "^1.0.0" + picocolors "^1.0.1" + +update-notifier@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-7.0.0.tgz#295aa782dadab784ed4073f7ffaea1fb2123031c" + integrity sha512-Hv25Bh+eAbOLlsjJreVPOs4vd51rrtCrmhyOJtbpAojro34jS4KQaEp4/EvlHJX7jSO42VvEFpkastVyXyIsdQ== + dependencies: + boxen "^7.1.1" + chalk "^5.3.0" + configstore "^6.0.0" + import-lazy "^4.0.0" + is-in-ci "^0.1.0" + is-installed-globally "^0.4.0" + is-npm "^6.0.0" + latest-version "^7.0.0" + pupa "^3.1.0" + semver "^7.5.4" + semver-diff "^4.0.0" + xdg-basedir "^5.1.0" -update-notifier@6.0.2, update-notifier@^6.0.2: +update-notifier@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-6.0.2.tgz#a6990253dfe6d5a02bd04fbb6a61543f55026b60" integrity sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og== @@ -15257,11 +14875,6 @@ uri-js@^4.2.2, uri-js@^4.4.1: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - url-loader@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-4.1.1.tgz#28505e905cae158cf07c92ca622d7f237e70a4e2" @@ -15276,11 +14889,6 @@ urlpattern-polyfill@8.0.2: resolved "https://registry.yarnpkg.com/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz#99f096e35eff8bf4b5a2aa7d58a1523d6ebc7ce5" integrity sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ== -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -15404,10 +15012,10 @@ vscode-textmate@^8.0.0: resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-8.0.0.tgz#2c7a3b1163ef0441097e0b5d6389cd5504b59e5d" integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== -wait-port@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/wait-port/-/wait-port-1.0.4.tgz#6f9474645ddbf7701ac100ab6762438edf6e5689" - integrity sha512-w8Ftna3h6XSFWWc2JC5gZEgp64nz8bnaTp5cvzbJSZ53j+omktWTDdwXxEF0jM8YveviLgFWvNGrSvRHnkyHyw== +wait-port@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wait-port/-/wait-port-1.1.0.tgz#e5d64ee071118d985e2b658ae7ad32b2ce29b6b5" + integrity sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q== dependencies: chalk "^4.1.2" commander "^9.3.0" @@ -15428,13 +15036,6 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - web-namespaces@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-2.0.1.tgz#1010ff7c650eccb2592cebeeaf9a1b253fd40692" @@ -15535,9 +15136,9 @@ webpack-sources@^3.2.3: integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== webpack@^5.88.1: - version "5.91.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" - integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== + version "5.92.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.92.0.tgz#cc114c71e6851d220b1feaae90159ed52c876bdf" + integrity sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA== dependencies: "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" @@ -15545,10 +15146,10 @@ webpack@^5.88.1: "@webassemblyjs/wasm-edit" "^1.12.1" "@webassemblyjs/wasm-parser" "^1.12.1" acorn "^8.7.1" - acorn-import-assertions "^1.9.0" + acorn-import-attributes "^1.9.5" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.16.0" + enhanced-resolve "^5.17.0" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" @@ -15699,6 +15300,15 @@ wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: string-width "^5.0.1" strip-ansi "^7.0.1" +wrap-ansi@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e" + integrity sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q== + dependencies: + ansi-styles "^6.2.1" + string-width "^7.0.0" + strip-ansi "^7.1.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -15730,21 +15340,16 @@ write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@8.14.2: - version "8.14.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" - integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== +ws@8.17.0, ws@^8.13.0: + version "8.17.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.0.tgz#d145d18eca2ed25aaf791a183903f7be5e295fea" + integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow== ws@^7.3.1: version "7.5.9" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.13.0: - version "8.17.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.0.tgz#d145d18eca2ed25aaf791a183903f7be5e295fea" - integrity sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow== - xdg-basedir@^5.0.1, xdg-basedir@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9" @@ -15765,7 +15370,7 @@ xss@^1.0.14: commander "^2.20.3" cssfilter "0.0.10" -xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: +xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -15791,9 +15396,9 @@ yaml@^1.7.2: integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yaml@^2.1.3: - version "2.4.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.2.tgz#7a2b30f2243a5fc299e1f14ca58d475ed4bc5362" - integrity sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA== + version "2.4.5" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.5.tgz#60630b206dd6d84df97003d33fc1ddf6296cca5e" + integrity sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg== yargs-parser@^21.1.1: version "21.1.1" @@ -15836,15 +15441,6 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -zip-stream@^5.0.1: - version "5.0.2" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-5.0.2.tgz#77b1dce7af291482d368a9203c9029f4eb52e12e" - integrity sha512-LfOdrUvPB8ZoXtvOBz6DlNClfvi//b5d56mSWyJi7XbH/HfhOHfUhOqxhT/rUiR7yiktlunqRo+jY6y/cWC/5g== - dependencies: - archiver-utils "^4.0.1" - compress-commons "^5.0.1" - readable-stream "^3.6.0" - zip-stream@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-6.0.1.tgz#e141b930ed60ccaf5d7fa9c8260e0d1748a2bbfb" @@ -15854,10 +15450,10 @@ zip-stream@^6.0.1: compress-commons "^6.0.2" readable-stream "^4.0.0" -zod@3.22.4: - version "3.22.4" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" - integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== +zod@3.23.8: + version "3.23.8" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.23.8.tgz#e37b957b5d52079769fb8097099b592f0ef4067d" + integrity sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g== zwitch@^2.0.0: version "2.0.4" From 6223aec8a6f97e91644a43baa969c49e01750630 Mon Sep 17 00:00:00 2001 From: signorecello Date: Thu, 20 Jun 2024 19:35:27 +0000 Subject: [PATCH 10/16] chore(docs): running locally! --- .github/workflows/ci.yml | 16 +++++++++ docs/Earthfile | 33 +++++++++-------- docs/docs/tutorials/Dockerfile | 17 +++++++++ .../__tests__/private_voting_tutorial.spec.ts | 24 +++++++++---- .../tutorials/private_voting_contract.mdx | 35 +++++++++++++------ docs/package.json | 2 +- docs/yarn.lock | 28 +++++++-------- 7 files changed, 109 insertions(+), 46 deletions(-) create mode 100644 docs/docs/tutorials/Dockerfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 196a9efb59a8..3081c48951d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -516,6 +516,21 @@ jobs: timeout-minutes: 40 run: earthly-ci --no-output ./docs/+deploy-preview --ENV=staging --PR=${{ github.event.number }} --AZTEC_BOT_COMMENTER_GITHUB_TOKEN=${{ secrets.AZTEC_BOT_GITHUB_TOKEN }} --NETLIFY_AUTH_TOKEN=${{ secrets.NETLIFY_AUTH_TOKEN }} --NETLIFY_SITE_ID=${{ secrets.NETLIFY_SITE_ID }} + docs-test: + needs: [setup, changes] + runs-on: ${{ github.event.pull_request.user.login || github.actor }}-x86 + if: ${{ needs.changes.outputs.non-barretenberg-cpp == 'true' }} + steps: + - uses: actions/checkout@v4 + with: { ref: "${{ env.GIT_COMMIT }}" } + - uses: ./.github/ci-setup-action + with: + concurrency_key: docs-test-x86 + - name: "Docs Test" + if: github.event.number + timeout-minutes: 40 + run: earthly-ci --no-output ./docs/+test + bb-bench: runs-on: ubuntu-20.04 needs: [setup, changes] @@ -663,6 +678,7 @@ jobs: - prover-client-test - l1-contracts-test - docs-preview + - docs-test # - bb-bench # non-blocking - boxes - boxes-test diff --git a/docs/Earthfile b/docs/Earthfile index 29c379063ab4..23b8a8b9b17c 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -8,7 +8,6 @@ deps: RUN yarn install --frozen-lockfile build: - ARG ENV ARG COMMIT_TAG ENV COMMIT_TAG=$COMMIT_TAG BUILD ../yarn-project/+build-dev @@ -20,32 +19,36 @@ build: RUN ./scripts/build.sh SAVE ARTIFACT build -export: - FROM +build +serve: + FROM +deps + COPY +build/build build + COPY ./static static + COPY ./src src + COPY ./docusaurus.config.js . + COPY ./playwright.config.ts . + COPY ./sidebars.js . + COPY ./docs docs ENTRYPOINT ["yarn", "serve"] EXPOSE 3000 SAVE ARTIFACT /usr/src/docs SAVE IMAGE aztecprotocol/docs-server test: - ARG ENV - FROM +build - WORKDIR /usr/src/docs - RUN npx playwright install --with-deps + FROM +serve + COPY --dir ../yarn-project/+build-dev/usr/src /usr + COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src + + WORKDIR /usr/src/docs + RUN yarn global add corepack && corepack enable + RUN yarn + RUN npx -y playwright@next install --with-deps COPY ../noir/+nargo/nargo /usr/local/bin/aztec-nargo RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder - RUN rm /usr/local/bin/yarn /usr/local/bin/yarnpkg && npm install -g corepack && corepack enable - EXPOSE 3000 - WITH DOCKER \ - --load aztecprotocol/aztec:latest=../yarn-project/+aztec \ - --compose docker-compose.yml - RUN docker compose up -d --exit-code-from=aztec --force-recreate && yarn test - END + RUN yarn test deploy-preview: BUILD ../yarn-project/+scripts-prod - ARG ENV ARG NETLIFY_AUTH_TOKEN ARG NETLIFY_SITE_ID ARG AZTEC_BOT_COMMENTER_GITHUB_TOKEN diff --git a/docs/docs/tutorials/Dockerfile b/docs/docs/tutorials/Dockerfile new file mode 100644 index 000000000000..fc3ba5ecc7ec --- /dev/null +++ b/docs/docs/tutorials/Dockerfile @@ -0,0 +1,17 @@ +FROM aztecprotocol/aztec AS aztec +FROM aztecprotocol/noir as noir +FROM aztecprotocol/docs AS docs + +FROM node:18.19.0 +RUN apt update && apt install netcat-openbsd +COPY --from=aztec /usr/src /usr/src +COPY --from=docs /usr/src/docs /usr/src/docs +COPY --from=noir /usr/src/noir/noir-repo/target/release/nargo /usr/src/noir/noir-repo/target/release/nargo +COPY . /usr/src/docs/docs/tutorials + +WORKDIR /usr/src/docs +RUN yarn +RUN npx -y playwright install --with-deps +RUN cp -s /usr/src/noir/noir-repo/target/release/nargo /usr/local/bin/aztec-nargo +RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder +ENTRYPOINT ["/bin/bash"] diff --git a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts index 84d6f94de792..fee9d1cd1fac 100644 --- a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts +++ b/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts @@ -4,7 +4,7 @@ import path from "path"; import { execFileSync } from "child_process"; import { readFileSync, writeFileSync, mkdirSync, rmSync } from "fs"; -const TEST_FOLDER = path.resolve("/usr/test"); +const TEST_FOLDER = path.resolve("../test"); async function exec(locator: Locator) { const content = (await locator.innerText()).trim(); @@ -46,9 +46,9 @@ async function exec(locator: Locator) { }); }); } else if (replaceLines === "0") { - writeFileSync(path.resolve(TEST_FOLDER, file), content); + writeFileSync(path.resolve(TEST_FOLDER, file), content + "\n"); } else if (replaceLines === "+") { - writeFileSync(path.resolve(TEST_FOLDER, file), content, { + writeFileSync(path.resolve(TEST_FOLDER, file), content + "\n", { flag: "a", }); } else { @@ -67,9 +67,16 @@ async function exec(locator: Locator) { // we start at begin -1 because lines are 1-indexed // and we remove the elements we want to replace // replacing by the new content - splitContent.splice(begin - 1, removedElements.length, ...splitNewContent); + const removed = splitContent.splice( + begin - 1, + removedElements.length, + ...splitNewContent + ); - writeFileSync(path.resolve(TEST_FOLDER, file), splitContent.join("\n")); + writeFileSync( + path.resolve(TEST_FOLDER, file), + splitContent.join("\n") + "\n" + ); } } @@ -85,8 +92,13 @@ test("Deploying, setting, and getting a number", async ({ page }) => { await page.getByRole("button", { name: "Tutorials" }).click(); await page.getByRole("link", { name: "Private Voting Tutorial" }).click(); + await page.waitForLoadState("domcontentloaded"); await page.waitForFunction(() => !!document.querySelector("code")); - for (const cmd of await page.getByTestId(RegExp(/[\s\S]/)).all()) { + + for (let i = 0; i < 14; i++) { + console.log("executing command", i); + await page.getByTestId(`${i}`).waitFor({ state: "attached" }); + const cmd = page.getByTestId(`${i}`); await exec(cmd); } }); diff --git a/docs/docs/tutorials/private_voting_contract.mdx b/docs/docs/tutorials/private_voting_contract.mdx index 770ba00bdf3d..40d38f1daf07 100644 --- a/docs/docs/tutorials/private_voting_contract.mdx +++ b/docs/docs/tutorials/private_voting_contract.mdx @@ -20,11 +20,15 @@ You can also click on this badge and start a codespace - a free remote server th Start a new project by using the very same `npx` command that powers the codespace: +{/* */} + + ```bash - yes | npx aztec-app init -v zpedro/tutorials_refactor + yes | npx aztec-app init -v zpedro/tutorials_refactor ``` +{/* */} ```bash yes | npx aztec-app init @@ -101,9 +105,20 @@ console.log("Yey! Address: ", address); + + ```ts + const pxe = createPXEClient("http://aztec:8080") + ``` + + With the infra ready, all we need is love hit the button: - + ```bash yes | npx tsx index.ts @@ -124,7 +139,7 @@ So I like tsx, which uses sensible defaults that "just work" 💡 Ok ok let's dive in the actual voting logic. Let's have a look at our `main.nr`. There's not much in there, but there's an initializer that runs when you deploy it, and turns out we would like to have an admin for our little election. So we pass it as a parameter: - + ```rust #[aztec(public)] @@ -140,7 +155,7 @@ fn constructor(admin: AztecAddress) { What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin. - + ```rust #[aztec(storage)] @@ -158,7 +173,7 @@ We also added another storage value `tally`, which is a map that relates a key ( Here's all the code we have so far: - + ```rust contract Main { @@ -264,7 +279,7 @@ We now need to add +1 to the person we chose to vote for. So we call a public fu Let's call our own contract with our current execution context, and enqueue our call. And that's it for this function. Feel free to copy it, you lazy goblin! - + ```rust #[aztec(private)] @@ -284,7 +299,7 @@ fn cast_vote(candidate: Field) { The `add_to_tally_public` function is quite straightforward. It just reads and writes a public value from the `tally` [Map](../reference/smart_contract_reference/aztec-nr/aztec/state_vars/map#at): - + ```rust #[aztec(public)] @@ -303,7 +318,7 @@ You can deploy now! Just make sure to add the address as a parameter to the `dep {/* */} + ```rust contract Main { @@ -332,7 +347,7 @@ contract Main { Head to your terminal to recompile, generate the artifact, and run: - + ```bash aztec-nargo compile diff --git a/docs/package.json b/docs/package.json index 5cd649277480..c97953b37808 100644 --- a/docs/package.json +++ b/docs/package.json @@ -38,7 +38,7 @@ "devDependencies": { "@docusaurus/module-type-aliases": "^3.0.1", "@docusaurus/types": "3.0.0", - "@playwright/test": "^1.45.0-alpha-2024-06-11", + "@playwright/test": "^1.46.0-alpha-2024-06-19", "@tsconfig/docusaurus": "^1.0.5", "concurrently": "^8.0.1", "docusaurus-plugin-typedoc": "^0.20.2", diff --git a/docs/yarn.lock b/docs/yarn.lock index 3abcb62387b9..8a961a91d33f 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -3254,12 +3254,12 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@playwright/test@^1.45.0-alpha-2024-06-11": - version "1.45.0-alpha-2024-06-11" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.45.0-alpha-2024-06-11.tgz#6a5d71543cc84e6772975eb52b78f8fcd562d355" - integrity sha512-U+jClay4q93/+hjoHUWsqTny1ofbRsWkzqkTUlvMDpGL9nQ2W/d8lAWbUxZkpsFE+J0WMJn4BGQWVHbMeXNgHg== +"@playwright/test@^1.46.0-alpha-2024-06-19": + version "1.46.0-alpha-2024-06-19" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.46.0-alpha-2024-06-19.tgz#5348bfcde716069eca7f95eb8124e33bdd1957ea" + integrity sha512-mIEnPrTD4peDXS9fTbFjeTqx749XmX+JEUMd226qkfSCt/fVqCCRnSKK6UFdBOrsUdsn8NOICxkJwio7W5VwLw== dependencies: - playwright "1.45.0-alpha-2024-06-11" + playwright "1.46.0-alpha-2024-06-19" "@pnpm/config.env-replace@^1.1.0": version "1.1.0" @@ -11922,17 +11922,17 @@ pkg-up@^3.1.0: dependencies: find-up "^3.0.0" -playwright-core@1.45.0-alpha-2024-06-11: - version "1.45.0-alpha-2024-06-11" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.45.0-alpha-2024-06-11.tgz#15005bbd093f53c64fac66ba0deb9fbe10f065cd" - integrity sha512-6aFL+YO4YjozzSi3TG1chzaVSs06AdCp3EVKaQK1HqS7OGUvtcwuZ1t+lxyTRr4S/iEZMbjGh2dTDSI+hBrIog== +playwright-core@1.46.0-alpha-2024-06-19: + version "1.46.0-alpha-2024-06-19" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.46.0-alpha-2024-06-19.tgz#d9dc4f72ea2ba8474f14baa65e31588500486783" + integrity sha512-Js3L6LHrh6HRM9afpwUwYGjlBfnG5EZSkgthZpHJXe51CIDFgKAf/C1Cp52BSzD9Uo+NXJESyMhOZW2DGY6Pgw== -playwright@1.45.0-alpha-2024-06-11: - version "1.45.0-alpha-2024-06-11" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.45.0-alpha-2024-06-11.tgz#02b236a4c02b65f38fe0c29a3f680c407ff986f6" - integrity sha512-WaOVcdpumSHyEkIt5fC2fmqa1NnfEqI2+sGMcO/zc84dPTwOiAmayv+1oaZcl5EGaP0YHkLHGDBUPOI+wtwxQA== +playwright@1.46.0-alpha-2024-06-19: + version "1.46.0-alpha-2024-06-19" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.46.0-alpha-2024-06-19.tgz#75a9b0515c5b03ff3315c37ea1514ce38257b607" + integrity sha512-t1E3ea/pbkdJphv/1qx2sOWpvHnBSia2/YpRRmMPK3QCXxv1EJB1TngDrqiVJARs3N2cRKv1FbGBL1OfPol+BA== dependencies: - playwright-core "1.45.0-alpha-2024-06-11" + playwright-core "1.46.0-alpha-2024-06-19" optionalDependencies: fsevents "2.3.2" From daa0200576dd5bc83faae7a0d47d91bdf3f09070 Mon Sep 17 00:00:00 2001 From: signorecello Date: Thu, 20 Jun 2024 22:11:07 +0000 Subject: [PATCH 11/16] chore(docs): zp vs ci as usual --- docs/Earthfile | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/docs/Earthfile b/docs/Earthfile index 23b8a8b9b17c..1d8f9f0860cd 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -1,13 +1,16 @@ VERSION 0.8 +FROM ../build-images/+base-slim-node +WORKDIR /usr/src/docs + deps: - FROM ../build-images+build - WORKDIR /usr/src/docs + RUN apt update && apt install -y jq curl perl && rm -rf /var/lib/apt/lists/* && apt-get clean COPY ./yarn.lock ./yarn.lock COPY ./package.json ./package.json RUN yarn install --frozen-lockfile build: + ARG ENV ARG COMMIT_TAG ENV COMMIT_TAG=$COMMIT_TAG BUILD ../yarn-project/+build-dev @@ -20,6 +23,7 @@ build: SAVE ARTIFACT build serve: + ARG ENV FROM +deps COPY +build/build build COPY ./static static @@ -33,8 +37,18 @@ serve: SAVE ARTIFACT /usr/src/docs SAVE IMAGE aztecprotocol/docs-server +serve-test: + FROM ../build-images/+build + COPY --dir ../yarn-project/+build-dev/usr/src /usr + COPY --dir +serve/ /usr/src + COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src + + ENTRYPOINT ["yarn", "serve"] + EXPOSE 3000 + SAVE ARTIFACT /usr/src/docs + test: - FROM +serve + FROM +serve-test COPY --dir ../yarn-project/+build-dev/usr/src /usr COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src @@ -49,6 +63,7 @@ test: deploy-preview: BUILD ../yarn-project/+scripts-prod + ARG ENV ARG NETLIFY_AUTH_TOKEN ARG NETLIFY_SITE_ID ARG AZTEC_BOT_COMMENTER_GITHUB_TOKEN From 89dc9c1da49721144c47815e2decb74243a6f34b Mon Sep 17 00:00:00 2001 From: signorecello Date: Tue, 25 Jun 2024 08:58:56 +0000 Subject: [PATCH 12/16] wip --- docs/docs/tutorials/Dockerfile | 17 ---- .../tutorials/private_voting_contract.mdx | 84 ++++++++----------- .../tutorials/private_voting_contract.test.ts | 25 ++++++ docs/package.json | 1 + docs/playwright.config.ts | 4 +- docs/src/components/Test/test.tsx | 26 ++++++ .../components/Test/testLibrary.ts} | 36 +++----- docs/src/theme/Layout/index.tsx | 16 ++++ docs/src/theme/Root.js | 23 ++++- test-results/.last-run.json | 3 - 10 files changed, 135 insertions(+), 100 deletions(-) delete mode 100644 docs/docs/tutorials/Dockerfile create mode 100644 docs/docs/tutorials/private_voting_contract.test.ts create mode 100644 docs/src/components/Test/test.tsx rename docs/{docs/tutorials/__tests__/private_voting_tutorial.spec.ts => src/components/Test/testLibrary.ts} (77%) create mode 100644 docs/src/theme/Layout/index.tsx delete mode 100644 test-results/.last-run.json diff --git a/docs/docs/tutorials/Dockerfile b/docs/docs/tutorials/Dockerfile deleted file mode 100644 index fc3ba5ecc7ec..000000000000 --- a/docs/docs/tutorials/Dockerfile +++ /dev/null @@ -1,17 +0,0 @@ -FROM aztecprotocol/aztec AS aztec -FROM aztecprotocol/noir as noir -FROM aztecprotocol/docs AS docs - -FROM node:18.19.0 -RUN apt update && apt install netcat-openbsd -COPY --from=aztec /usr/src /usr/src -COPY --from=docs /usr/src/docs /usr/src/docs -COPY --from=noir /usr/src/noir/noir-repo/target/release/nargo /usr/src/noir/noir-repo/target/release/nargo -COPY . /usr/src/docs/docs/tutorials - -WORKDIR /usr/src/docs -RUN yarn -RUN npx -y playwright install --with-deps -RUN cp -s /usr/src/noir/noir-repo/target/release/nargo /usr/local/bin/aztec-nargo -RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder -ENTRYPOINT ["/bin/bash"] diff --git a/docs/docs/tutorials/private_voting_contract.mdx b/docs/docs/tutorials/private_voting_contract.mdx index 40d38f1daf07..20ae635f9acd 100644 --- a/docs/docs/tutorials/private_voting_contract.mdx +++ b/docs/docs/tutorials/private_voting_contract.mdx @@ -2,6 +2,8 @@ title: Private Voting Tutorial --- +import { Test } from "@site/src/components/Test/test.tsx"; + Aztec is the most powerful blockchain since Ethereum was born. While several projects provide privacy at the protocol level, Aztec leverages extremely complex cryptography for client-side privacy, while keeping the network fully transparent. But not everything that is complex must be difficult. In this tutorial, you will build a simple project and learn about private and public functions and their composability, state management, and other core principles of Aztec. @@ -20,21 +22,13 @@ You can also click on this badge and start a codespace - a free remote server th Start a new project by using the very same `npx` command that powers the codespace: -{/* */} - - - - ```bash - yes | npx aztec-app init -v zpedro/tutorials_refactor - ``` - -{/* */} + ```bash yes | npx aztec-app init ``` -```touch yarn.lock``` + :::tip @@ -50,30 +44,30 @@ Once upon a time, we could compile and deploy on the CLI. It will come back one Ok ok let's compile this little guy. While we're here, we can also use the handy `aztec-builder` package to generate some TS bindings. - + ```bash aztec-nargo compile aztec-builder codegen -o artifacts target ``` - + Wait, we don't yet have a project, right? Let's do it now, and btw let's install `@aztec/aztec.js` and `@aztec/accounts`. - + ```bash yes | yarn add @aztec/aztec.js @aztec/accounts ``` - + These two packages are quite useful. `aztec.js` gives us a nice interface to interact with the PXE (your "wallet"), and `accounts` is just a nice collection of account contracts. So, let's create an `index.ts` file and add those imports. Since we're here, let's import the contract artifact we generated above. - + ```js import { createPXEClient } from "@aztec/aztec.js"; @@ -81,7 +75,7 @@ import { createAccount } from "@aztec/accounts/testing"; import { MainContract } from "./artifacts/Main"; ``` - + ### Deploy 🚀 @@ -93,7 +87,7 @@ Since the sandbox is running already, our PXE is also running. Yey! So we call i Then we can deploy our artifact, broadcast it, and wait for the result: - + ```ts const pxe = createPXEClient("http://localhost:8080"); @@ -103,28 +97,23 @@ const { address } = await MainContract.deploy(wallet).send().deployed(); console.log("Yey! Address: ", address); ``` - + - - ```ts - const pxe = createPXEClient("http://aztec:8080") - ``` - + With the infra ready, all we need is love hit the button: - + ```bash yes | npx tsx index.ts ``` - + :::tip @@ -139,7 +128,7 @@ So I like tsx, which uses sensible defaults that "just work" 💡 Ok ok let's dive in the actual voting logic. Let's have a look at our `main.nr`. There's not much in there, but there's an initializer that runs when you deploy it, and turns out we would like to have an admin for our little election. So we pass it as a parameter: - + ```rust #[aztec(public)] @@ -149,13 +138,13 @@ fn constructor(admin: AztecAddress) { } ``` - + ### Storage What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin. - + ```rust #[aztec(storage)] @@ -165,7 +154,7 @@ struct Storage { } ``` - + `PublicMutable` is more or less self-explanatory: it is a public value that can change. As for _who_ can change it, that's up to the contract logic. @@ -173,7 +162,7 @@ We also added another storage value `tally`, which is a map that relates a key ( Here's all the code we have so far: - + ```rust contract Main { @@ -194,7 +183,7 @@ contract Main { ``` - + :::tip @@ -279,7 +268,7 @@ We now need to add +1 to the person we chose to vote for. So we call a public fu Let's call our own contract with our current execution context, and enqueue our call. And that's it for this function. Feel free to copy it, you lazy goblin! - + ```rust #[aztec(private)] @@ -295,11 +284,11 @@ fn cast_vote(candidate: Field) { } ``` - + The `add_to_tally_public` function is quite straightforward. It just reads and writes a public value from the `tally` [Map](../reference/smart_contract_reference/aztec-nr/aztec/state_vars/map#at): - + ```rust #[aztec(public)] @@ -309,7 +298,7 @@ fn add_to_tally_public(candidate: Field) { } ``` - + ## Deploying 🔥 @@ -317,14 +306,13 @@ You can deploy now! Just make sure to add the address as a parameter to the `dep {/* */} - + {/* */} ```diff @@ -334,7 +322,7 @@ You can deploy now! Just make sure to add the address as a parameter to the `dep You also want to import some dependencies we're using, like `AztecAddress`. Make sure to do it _inside_ the `Contract` block: - + ```rust contract Main { @@ -343,11 +331,11 @@ contract Main { // highlight-end ``` - + Head to your terminal to recompile, generate the artifact, and run: - + ```bash aztec-nargo compile @@ -355,7 +343,7 @@ aztec-builder codegen -o artifacts target npx tsx index.ts ``` - + ![Gentlemen it is with great plesaure to inform you that your code is deployed](@site/static/img/tutorials/private_voting/deployed_frog.jpeg) diff --git a/docs/docs/tutorials/private_voting_contract.test.ts b/docs/docs/tutorials/private_voting_contract.test.ts new file mode 100644 index 000000000000..aff3afb44dec --- /dev/null +++ b/docs/docs/tutorials/private_voting_contract.test.ts @@ -0,0 +1,25 @@ +import { test } from "@playwright/test"; +import { execute } from "../../src/components/Test/testLibrary"; + +test("Deploying, setting, and getting a number", async ({ page }) => { + test.slow(); + + await page.goto("/"); + await page.getByRole("button", { name: "Tutorials" }).click(); + await page.getByRole("link", { name: "Private Voting Tutorial" }).click(); + + await page.waitForLoadState("domcontentloaded"); + await page.waitForFunction(() => !!document.querySelector("code")); + + const cmdCount = await page.evaluate(() => { + const spans = document.querySelectorAll("span[data-testid]"); + return spans.length; + }); + + for (let i = 0; i <= cmdCount; i++) { + console.log("executing command", i); + await page.getByTestId(`${i}`).waitFor({ state: "attached" }); + const cmd = page.getByTestId(`${i}`); + await execute(cmd); + } +}); diff --git a/docs/package.json b/docs/package.json index c97953b37808..b2371ec54251 100644 --- a/docs/package.json +++ b/docs/package.json @@ -14,6 +14,7 @@ "preprocess:dev": "nodemon --config nodemon.json ./src/preprocess/index.js && nodemon --config nodemon.json src/preprocess/generate_aztecnr_reference.js ", "typedoc": "docusaurus generate-typedoc", "rewrite": "node ./scripts/rewrite_paths.js", + "test:dev": "ENV=dev npx playwright test", "test": "npx playwright test" }, "dependencies": { diff --git a/docs/playwright.config.ts b/docs/playwright.config.ts index fd1abd6acb3a..d9aa67da972a 100644 --- a/docs/playwright.config.ts +++ b/docs/playwright.config.ts @@ -2,7 +2,7 @@ import { defineConfig, devices } from "@playwright/test"; export default defineConfig({ testDir: "./docs", - testMatch: "**.spec.ts", + testMatch: "**.test.ts", fullyParallel: true, retries: 0, workers: 3, @@ -23,7 +23,7 @@ export default defineConfig({ }, ], webServer: { - command: "yarn serve", + command: process.env.ENV == "dev" ? "yarn dev" : "yarn serve", port: 3000, }, }); diff --git a/docs/src/components/Test/test.tsx b/docs/src/components/Test/test.tsx new file mode 100644 index 000000000000..a963bd1b5931 --- /dev/null +++ b/docs/src/components/Test/test.tsx @@ -0,0 +1,26 @@ +import React, { useContext, useEffect, useState } from "react"; +import { TestContext } from "../../theme/Root"; +import PropTypes from "prop-types"; + +export const Test = ({ replaceLines, file, hidden, compare, children }) => { + const { getNewId } = useContext(TestContext); + const id = getNewId(); + + return ( + + {children} + + ); +}; + +Test.propTypes = { + replaceLines: PropTypes.string, + file: PropTypes.string, + children: PropTypes.node.isRequired, +}; diff --git a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts b/docs/src/components/Test/testLibrary.ts similarity index 77% rename from docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts rename to docs/src/components/Test/testLibrary.ts index fee9d1cd1fac..b843fbe44410 100644 --- a/docs/docs/tutorials/__tests__/private_voting_tutorial.spec.ts +++ b/docs/src/components/Test/testLibrary.ts @@ -1,12 +1,19 @@ -import { test, expect, Page, Locator } from "@playwright/test"; +import { test, expect, Locator } from "@playwright/test"; import path from "path"; import { execFileSync } from "child_process"; import { readFileSync, writeFileSync, mkdirSync, rmSync } from "fs"; -const TEST_FOLDER = path.resolve("../test"); +const TEST_FOLDER = + `${process.env.TEST_FOLDER}/_temp_test` || + path.resolve("(/usr/test/_temp_test"); -async function exec(locator: Locator) { +test.beforeEach(async () => { + rmSync(TEST_FOLDER, { recursive: true, force: true }); + mkdirSync(TEST_FOLDER, { recursive: true }); +}); + +export async function execute(locator: Locator) { const content = (await locator.innerText()).trim(); // tells which file are we working on @@ -79,26 +86,3 @@ async function exec(locator: Locator) { ); } } - -test.beforeEach(async () => { - rmSync(TEST_FOLDER, { recursive: true, force: true }); - mkdirSync(TEST_FOLDER, { recursive: true }); -}); - -test("Deploying, setting, and getting a number", async ({ page }) => { - test.slow(); - - await page.goto("/"); - await page.getByRole("button", { name: "Tutorials" }).click(); - await page.getByRole("link", { name: "Private Voting Tutorial" }).click(); - - await page.waitForLoadState("domcontentloaded"); - await page.waitForFunction(() => !!document.querySelector("code")); - - for (let i = 0; i < 14; i++) { - console.log("executing command", i); - await page.getByTestId(`${i}`).waitFor({ state: "attached" }); - const cmd = page.getByTestId(`${i}`); - await exec(cmd); - } -}); diff --git a/docs/src/theme/Layout/index.tsx b/docs/src/theme/Layout/index.tsx new file mode 100644 index 000000000000..074b45b8c26b --- /dev/null +++ b/docs/src/theme/Layout/index.tsx @@ -0,0 +1,16 @@ +import React, { useContext, createContext, useState, useEffect } from "react"; +import { TestProvider } from "../../theme/Root"; + +import Layout from "@theme-original/Layout"; +import type LayoutType from "@theme/Layout"; +import type { WrapperProps } from "@docusaurus/types"; + +type Props = WrapperProps; + +export default function LayoutWrapper(props: Props): JSX.Element { + return ( + + + + ); +} diff --git a/docs/src/theme/Root.js b/docs/src/theme/Root.js index 68c1e529db3c..54af99dcf10f 100644 --- a/docs/src/theme/Root.js +++ b/docs/src/theme/Root.js @@ -1,7 +1,7 @@ -import React from 'react'; -import useMatomo from '@site/src/components/Matomo/matomo'; -import BrowserOnly from '@docusaurus/BrowserOnly'; -import useIsBrowser from '@docusaurus/useIsBrowser'; +import React, { useContext, createContext, useRef } from "react"; +import useMatomo from "@site/src/components/Matomo/matomo"; +import BrowserOnly from "@docusaurus/BrowserOnly"; +import useIsBrowser from "@docusaurus/useIsBrowser"; function OptOutForm() { const banner = useMatomo(); @@ -9,6 +9,21 @@ function OptOutForm() { return <>{banner}; } +export const TestContext = createContext(); + +export function TestProvider({ children }) { + const idRef = useRef(0); + + const getNewId = () => { + idRef.current += 1; + return idRef.current; + }; + + return ( + {children} + ); +} + export default function Root({ children }) { const useIsBrowserValue = useIsBrowser(); if (!useIsBrowserValue) return <>{children}; diff --git a/test-results/.last-run.json b/test-results/.last-run.json deleted file mode 100644 index 4ca77ef75e78..000000000000 --- a/test-results/.last-run.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "status": "interrupted" -} \ No newline at end of file From 4da64a19a78af333e85da4de47c5da67babc8434 Mon Sep 17 00:00:00 2001 From: signorecello Date: Tue, 25 Jun 2024 17:46:28 +0000 Subject: [PATCH 13/16] wip --- _temp_test/.yarnrc.yml | 1 + _temp_test/Nargo.toml | 6 +++++ _temp_test/package.json | 4 ++++ _temp_test/src/main.nr | 6 +++++ _temp_test/yarn.lock | 0 docs/Earthfile | 24 ++++++++++++------- .../tutorials/private_voting_contract.mdx | 12 ++++------ .../tutorials/private_voting_contract.test.ts | 6 ++--- docs/src/components/Test/testLibrary.ts | 19 ++++++++------- 9 files changed, 51 insertions(+), 27 deletions(-) create mode 100644 _temp_test/.yarnrc.yml create mode 100644 _temp_test/Nargo.toml create mode 100644 _temp_test/package.json create mode 100644 _temp_test/src/main.nr create mode 100644 _temp_test/yarn.lock diff --git a/_temp_test/.yarnrc.yml b/_temp_test/.yarnrc.yml new file mode 100644 index 000000000000..3186f3f0795a --- /dev/null +++ b/_temp_test/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/_temp_test/Nargo.toml b/_temp_test/Nargo.toml new file mode 100644 index 000000000000..3654660d53eb --- /dev/null +++ b/_temp_test/Nargo.toml @@ -0,0 +1,6 @@ +[package] +name = "init" +type = "contract" + +[dependencies] +aztec = { git = "https://github.com/AztecProtocol/aztec-packages/", tag = "zpedro/tutorials_refactor", directory = "noir-projects/aztec-nr/aztec" } diff --git a/_temp_test/package.json b/_temp_test/package.json new file mode 100644 index 000000000000..53a8e3d32bf3 --- /dev/null +++ b/_temp_test/package.json @@ -0,0 +1,4 @@ +{ + "packageManager": "yarn@4.2.2", + "type": "module" +} diff --git a/_temp_test/src/main.nr b/_temp_test/src/main.nr new file mode 100644 index 000000000000..8e06a99f11ce --- /dev/null +++ b/_temp_test/src/main.nr @@ -0,0 +1,6 @@ + +contract Main { + #[aztec(private)] + #[aztec(initializer)] + fn constructor() { } +} diff --git a/_temp_test/yarn.lock b/_temp_test/yarn.lock new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/docs/Earthfile b/docs/Earthfile index 1d8f9f0860cd..5c53060059e0 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -38,28 +38,36 @@ serve: SAVE IMAGE aztecprotocol/docs-server serve-test: - FROM ../build-images/+build + FROM earthly/dind:ubuntu-23.04-docker-25.0.2-1 COPY --dir ../yarn-project/+build-dev/usr/src /usr COPY --dir +serve/ /usr/src COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src + COPY +build/build build + + RUN PROFILE=~/.profile bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash' + RUN . ~/.profile && nvm install node && npm i -g yarn - ENTRYPOINT ["yarn", "serve"] - EXPOSE 3000 SAVE ARTIFACT /usr/src/docs test: FROM +serve-test - COPY --dir ../yarn-project/+build-dev/usr/src /usr COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src WORKDIR /usr/src/docs - RUN yarn global add corepack && corepack enable - RUN yarn - RUN npx -y playwright@next install --with-deps COPY ../noir/+nargo/nargo /usr/local/bin/aztec-nargo RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder - RUN yarn test + + RUN . ~/.profile && \ + yarn && \ + yarn add @playwright/test && \ + npx playwright install + + COPY docker-compose.yml . + WITH DOCKER \ + --compose docker-compose.yml + RUN docker-compose up -d && ls -la && yarn test + END deploy-preview: BUILD ../yarn-project/+scripts-prod diff --git a/docs/docs/tutorials/private_voting_contract.mdx b/docs/docs/tutorials/private_voting_contract.mdx index 20ae635f9acd..28b64367680e 100644 --- a/docs/docs/tutorials/private_voting_contract.mdx +++ b/docs/docs/tutorials/private_voting_contract.mdx @@ -69,7 +69,7 @@ So, let's create an `index.ts` file and add those imports. Since we're here, let -```js +```ts import { createPXEClient } from "@aztec/aztec.js"; import { createAccount } from "@aztec/accounts/testing"; import { MainContract } from "./artifacts/Main"; @@ -99,12 +99,6 @@ console.log("Yey! Address: ", address); - - With the infra ready, all we need is love hit the button: @@ -311,7 +305,9 @@ You can deploy now! Just make sure to add the address as a parameter to the `dep file="index.ts" hidden > - ```const {address} = await MainContract.deploy(wallet, wallet.getAddress()).send().deployed()``` + ``` + const {address} = await MainContract.deploy(wallet, wallet.getAddress()).send().deployed() + ``` {/* */} diff --git a/docs/docs/tutorials/private_voting_contract.test.ts b/docs/docs/tutorials/private_voting_contract.test.ts index aff3afb44dec..f9346b2cc04c 100644 --- a/docs/docs/tutorials/private_voting_contract.test.ts +++ b/docs/docs/tutorials/private_voting_contract.test.ts @@ -1,7 +1,7 @@ import { test } from "@playwright/test"; import { execute } from "../../src/components/Test/testLibrary"; -test("Deploying, setting, and getting a number", async ({ page }) => { +test("Private Voting Tutorial", async ({ page }) => { test.slow(); await page.goto("/"); @@ -16,10 +16,10 @@ test("Deploying, setting, and getting a number", async ({ page }) => { return spans.length; }); - for (let i = 0; i <= cmdCount; i++) { - console.log("executing command", i); + for (let i = 1; i <= cmdCount; i++) { await page.getByTestId(`${i}`).waitFor({ state: "attached" }); const cmd = page.getByTestId(`${i}`); + console.log("executing command", await cmd.innerText()); await execute(cmd); } }); diff --git a/docs/src/components/Test/testLibrary.ts b/docs/src/components/Test/testLibrary.ts index b843fbe44410..1e251ab7f10c 100644 --- a/docs/src/components/Test/testLibrary.ts +++ b/docs/src/components/Test/testLibrary.ts @@ -4,9 +4,9 @@ import path from "path"; import { execFileSync } from "child_process"; import { readFileSync, writeFileSync, mkdirSync, rmSync } from "fs"; -const TEST_FOLDER = - `${process.env.TEST_FOLDER}/_temp_test` || - path.resolve("(/usr/test/_temp_test"); +const TEST_FOLDER = process.env.TEST_FOLDER + ? `${process.env.TEST_FOLDER}/_temp_test` + : path.resolve(__dirname, "..", "..", "..", "..", "_temp_test"); test.beforeEach(async () => { rmSync(TEST_FOLDER, { recursive: true, force: true }); @@ -17,10 +17,10 @@ export async function execute(locator: Locator) { const content = (await locator.innerText()).trim(); // tells which file are we working on - const file = await locator.getAttribute("file"); + const file = await locator.getAttribute("data-file"); // tells if we should just compare the conteant with the file - const compare = await locator.getAttribute("compare"); + const compare = await locator.getAttribute("data-compare"); if (compare) { const trim = (c: string) => c @@ -41,7 +41,10 @@ export async function execute(locator: Locator) { // + to append // null if none // we use the same syntax as Array.slice(), so negative numbers means lines from the end - const replaceLines = await locator.getAttribute("replaceLines"); + const replaceLines = await locator.getAttribute("data-replacelines"); + + console.log("testFolder", TEST_FOLDER); + console.log("file", file); if (replaceLines === null) { content.split("\n").map((c) => { @@ -55,7 +58,7 @@ export async function execute(locator: Locator) { } else if (replaceLines === "0") { writeFileSync(path.resolve(TEST_FOLDER, file), content + "\n"); } else if (replaceLines === "+") { - writeFileSync(path.resolve(TEST_FOLDER, file), content + "\n", { + writeFileSync(path.resolve(TEST_FOLDER, file), content, { flag: "a", }); } else { @@ -69,7 +72,7 @@ export async function execute(locator: Locator) { const splitNewContent = content.split("\n"); // we tell which lines we want to remove - const removedElements = splitContent.slice(begin, end); + const removedElements = splitContent.slice(begin, end ? end : begin + 1); // we start at begin -1 because lines are 1-indexed // and we remove the elements we want to replace From 052340477406198948b4b4baff7df574f6f32373 Mon Sep 17 00:00:00 2001 From: signorecello Date: Tue, 25 Jun 2024 18:59:57 +0000 Subject: [PATCH 14/16] wip --- _temp_test/.yarnrc.yml | 1 - _temp_test/Nargo.toml | 6 ------ _temp_test/package.json | 4 ---- _temp_test/src/main.nr | 6 ------ _temp_test/yarn.lock | 0 docs/Earthfile | 22 ++++++++++----------- docs/docker-compose.yml | 2 +- docs/docs/getting_started.md | 2 -- docs/docs/getting_started/manual_install.md | 7 ------- 9 files changed, 12 insertions(+), 38 deletions(-) delete mode 100644 _temp_test/.yarnrc.yml delete mode 100644 _temp_test/Nargo.toml delete mode 100644 _temp_test/package.json delete mode 100644 _temp_test/src/main.nr delete mode 100644 _temp_test/yarn.lock diff --git a/_temp_test/.yarnrc.yml b/_temp_test/.yarnrc.yml deleted file mode 100644 index 3186f3f0795a..000000000000 --- a/_temp_test/.yarnrc.yml +++ /dev/null @@ -1 +0,0 @@ -nodeLinker: node-modules diff --git a/_temp_test/Nargo.toml b/_temp_test/Nargo.toml deleted file mode 100644 index 3654660d53eb..000000000000 --- a/_temp_test/Nargo.toml +++ /dev/null @@ -1,6 +0,0 @@ -[package] -name = "init" -type = "contract" - -[dependencies] -aztec = { git = "https://github.com/AztecProtocol/aztec-packages/", tag = "zpedro/tutorials_refactor", directory = "noir-projects/aztec-nr/aztec" } diff --git a/_temp_test/package.json b/_temp_test/package.json deleted file mode 100644 index 53a8e3d32bf3..000000000000 --- a/_temp_test/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "packageManager": "yarn@4.2.2", - "type": "module" -} diff --git a/_temp_test/src/main.nr b/_temp_test/src/main.nr deleted file mode 100644 index 8e06a99f11ce..000000000000 --- a/_temp_test/src/main.nr +++ /dev/null @@ -1,6 +0,0 @@ - -contract Main { - #[aztec(private)] - #[aztec(initializer)] - fn constructor() { } -} diff --git a/_temp_test/yarn.lock b/_temp_test/yarn.lock deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/docs/Earthfile b/docs/Earthfile index 5c53060059e0..2094fdb9c99f 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -38,35 +38,35 @@ serve: SAVE IMAGE aztecprotocol/docs-server serve-test: - FROM earthly/dind:ubuntu-23.04-docker-25.0.2-1 + FROM ../build-images/+build COPY --dir ../yarn-project/+build-dev/usr/src /usr COPY --dir +serve/ /usr/src COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src - COPY +build/build build - - RUN PROFILE=~/.profile bash -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash' - RUN . ~/.profile && nvm install node && npm i -g yarn + ENTRYPOINT ["yarn", "serve"] + EXPOSE 3000 SAVE ARTIFACT /usr/src/docs test: FROM +serve-test + COPY --dir ../yarn-project/+build-dev/usr/src /usr COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src WORKDIR /usr/src/docs + RUN yarn global add corepack && corepack enable + RUN yarn + RUN npx -y playwright@next install --with-deps + RUN yarn playwright install COPY ../noir/+nargo/nargo /usr/local/bin/aztec-nargo - RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder + RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder - RUN . ~/.profile && \ - yarn && \ - yarn add @playwright/test && \ - npx playwright install COPY docker-compose.yml . WITH DOCKER \ + --load aztecprotocol/aztec:latest=../yarn-project/+aztec \ --compose docker-compose.yml - RUN docker-compose up -d && ls -la && yarn test + RUN docker ps && docker compose -f docker-compose.yml up -d && sleep 240 && docker compose logs && yarn test END deploy-preview: diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml index 650e468bec76..77844cb6be4a 100644 --- a/docs/docker-compose.yml +++ b/docs/docker-compose.yml @@ -8,7 +8,7 @@ services: aztec: image: aztecprotocol/aztec:${AZTEC_DOCKER_TAG:-latest} environment: - ETHEREUM_HOST: http://ethereum:8545 + ETHEREUM_HOST: http://127.0.0.1:8545 CHAIN_ID: 31337 ARCHIVER_POLLING_INTERVAL_MS: 50 P2P_BLOCK_CHECK_INTERVAL_MS: 50 diff --git a/docs/docs/getting_started.md b/docs/docs/getting_started.md index c6ddf4ab4fca..bc7f67ce70a6 100644 --- a/docs/docs/getting_started.md +++ b/docs/docs/getting_started.md @@ -6,8 +6,6 @@ The easiest way to start developing on Aztec locally is through `npx aztec-app`. To locally install the Sandbox without other tools, see [here](./getting_started/manual_install.md). -If you'd like to develop remotely (for example, if you're on Windows or have trouble working with Docker), follow the [codespaces guide](./getting_started/codespaces.md). - ## Prerequisites - Node.js >= v18 (recommend installing with [nvm](https://github.com/nvm-sh/nvm)) diff --git a/docs/docs/getting_started/manual_install.md b/docs/docs/getting_started/manual_install.md index f65a32f94404..a5e3f3ad93b2 100644 --- a/docs/docs/getting_started/manual_install.md +++ b/docs/docs/getting_started/manual_install.md @@ -34,11 +34,7 @@ Once these have been installed, to start the sandbox, run: aztec-sandbox ``` -<<<<<<< HEAD ### Have fun -======= -### Have fun! ->>>>>>> 807db728b3 (chore(docs): moving tutorials and quick starts around, spinning off codespaces page) **Congratulations, you have just installed and run the Aztec Sandbox!** @@ -68,7 +64,6 @@ aztec start --node [nodeOptions] --pxe [pxeOptions] --archiver [archiverOptions] Starting the aztec node alongside a PXE, sequencer or archiver, will attach the components to the node.Eg if you want to run a PXE separately to a node, you can [read this guide](../aztec/concepts/pxe/index.md)/ -<<<<<<< HEAD ## Update the sandbox To update the sandbox, you can just run: @@ -77,8 +72,6 @@ To update the sandbox, you can just run: aztec-up ``` -======= ->>>>>>> 807db728b3 (chore(docs): moving tutorials and quick starts around, spinning off codespaces page) ## Next steps Visit the [sandbox reference](../reference/sandbox_reference/index.md) for more info on which environment variables you can set, which cheat codes you can use, and learn about what exactly is the Aztec Sandbox. From 995fc6ac2cdf4f113e4d10c5343522097341527f Mon Sep 17 00:00:00 2001 From: signorecello Date: Tue, 2 Jul 2024 13:11:45 +0000 Subject: [PATCH 15/16] another try --- docs/Dockerfile.test | 20 +++ docs/Earthfile | 29 +--- docs/docker-compose.yml | 13 +- .../tutorials/private_voting_contract.mdx | 43 ++++-- docs/src/components/Test/test.tsx | 17 ++- docs/src/components/Test/testLibrary.ts | 138 ++++++++++-------- 6 files changed, 155 insertions(+), 105 deletions(-) create mode 100644 docs/Dockerfile.test diff --git a/docs/Dockerfile.test b/docs/Dockerfile.test new file mode 100644 index 000000000000..513a66600ccf --- /dev/null +++ b/docs/Dockerfile.test @@ -0,0 +1,20 @@ +FROM aztecprotocol/aztec AS aztec +FROM aztecprotocol/aztec-nargo as aztec-nargo +FROM --platform=linux/amd64 aztecprotocol/noir-projects as noir-projects + +FROM node:18.19.0 + +WORKDIR /usr/src +COPY . . + +WORKDIR docs + +RUN yarn global add corepack && corepack enable +RUN yarn && yarn build +RUN yarn playwright install-deps +RUN yarn playwright install + +COPY --from=aztec /usr/src /usr/src +RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/aztec-builder + +COPY --from=aztec-nargo /usr/bin/nargo /usr/local/bin/aztec-nargo diff --git a/docs/Earthfile b/docs/Earthfile index 2094fdb9c99f..93eac7608a3f 100644 --- a/docs/Earthfile +++ b/docs/Earthfile @@ -36,37 +36,14 @@ serve: EXPOSE 3000 SAVE ARTIFACT /usr/src/docs SAVE IMAGE aztecprotocol/docs-server - -serve-test: - FROM ../build-images/+build - COPY --dir ../yarn-project/+build-dev/usr/src /usr - COPY --dir +serve/ /usr/src - COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src - - ENTRYPOINT ["yarn", "serve"] - EXPOSE 3000 - SAVE ARTIFACT /usr/src/docs test: - FROM +serve-test - - COPY --dir ../yarn-project/+build-dev/usr/src /usr - COPY ../+release-meta/usr/src/.release-please-manifest.json /usr/src - - WORKDIR /usr/src/docs - RUN yarn global add corepack && corepack enable - RUN yarn - RUN npx -y playwright@next install --with-deps - RUN yarn playwright install - COPY ../noir/+nargo/nargo /usr/local/bin/aztec-nargo - RUN cp -s /usr/src/yarn-project/builder/aztec-builder-dest /usr/local/bin/aztec-builder - - + FROM +serve COPY docker-compose.yml . + COPY Dockerfile.test . WITH DOCKER \ - --load aztecprotocol/aztec:latest=../yarn-project/+aztec \ --compose docker-compose.yml - RUN docker ps && docker compose -f docker-compose.yml up -d && sleep 240 && docker compose logs && yarn test + RUN docker compose -f docker-compose.yml up -d && docker exec -it test yarn test END deploy-preview: diff --git a/docs/docker-compose.yml b/docs/docker-compose.yml index 77844cb6be4a..e4b5af6a4868 100644 --- a/docs/docker-compose.yml +++ b/docs/docker-compose.yml @@ -3,12 +3,11 @@ services: ethereum: image: ghcr.io/foundry-rs/foundry:v1.0.0 command: "'anvil --silent -p 8545 --host 0.0.0.0 --chain-id 31337'" - network_mode: host aztec: image: aztecprotocol/aztec:${AZTEC_DOCKER_TAG:-latest} environment: - ETHEREUM_HOST: http://127.0.0.1:8545 + ETHEREUM_HOST: http://ethereum:8545 CHAIN_ID: 31337 ARCHIVER_POLLING_INTERVAL_MS: 50 P2P_BLOCK_CHECK_INTERVAL_MS: 50 @@ -18,4 +17,12 @@ services: ARCHIVER_VIEM_POLLING_INTERVAL_MS: 500 depends_on: - ethereum - network_mode: host + + test: + build: + context: ../ + dockerfile: ./docs/Dockerfile.test + volumes: + - ./docs:/usr/src/docs/docs + tty: true + stdin_open: true diff --git a/docs/docs/tutorials/private_voting_contract.mdx b/docs/docs/tutorials/private_voting_contract.mdx index 28b64367680e..28bf4dcf8393 100644 --- a/docs/docs/tutorials/private_voting_contract.mdx +++ b/docs/docs/tutorials/private_voting_contract.mdx @@ -22,13 +22,17 @@ You can also click on this badge and start a codespace - a free remote server th Start a new project by using the very same `npx` command that powers the codespace: - + ```bash yes | npx aztec-app init ``` - + :::tip @@ -44,7 +48,7 @@ Once upon a time, we could compile and deploy on the CLI. It will come back one Ok ok let's compile this little guy. While we're here, we can also use the handy `aztec-builder` package to generate some TS bindings. - + ```bash aztec-nargo compile @@ -55,7 +59,7 @@ aztec-builder codegen -o artifacts target Wait, we don't yet have a project, right? Let's do it now, and btw let's install `@aztec/aztec.js` and `@aztec/accounts`. - + ```bash yes | yarn add @aztec/aztec.js @aztec/accounts @@ -67,7 +71,7 @@ These two packages are quite useful. `aztec.js` gives us a nice interface to int So, let's create an `index.ts` file and add those imports. Since we're here, let's import the contract artifact we generated above. - + ```ts import { createPXEClient } from "@aztec/aztec.js"; @@ -87,7 +91,7 @@ Since the sandbox is running already, our PXE is also running. Yey! So we call i Then we can deploy our artifact, broadcast it, and wait for the result: - + ```ts const pxe = createPXEClient("http://localhost:8080"); @@ -99,9 +103,17 @@ console.log("Yey! Address: ", address); + + With the infra ready, all we need is love hit the button: - + ```bash yes | npx tsx index.ts @@ -122,7 +134,7 @@ So I like tsx, which uses sensible defaults that "just work" 💡 Ok ok let's dive in the actual voting logic. Let's have a look at our `main.nr`. There's not much in there, but there's an initializer that runs when you deploy it, and turns out we would like to have an admin for our little election. So we pass it as a parameter: - + ```rust #[aztec(public)] @@ -138,7 +150,7 @@ fn constructor(admin: AztecAddress) { What's this storage thing? Well, that's something we need to define. Thankfully, there's a `#[aztec(storage)]` macro for that. Above our initializer, we can add our admin. - + ```rust #[aztec(storage)] @@ -156,7 +168,7 @@ We also added another storage value `tally`, which is a map that relates a key ( Here's all the code we have so far: - + ```rust contract Main { @@ -262,7 +274,7 @@ We now need to add +1 to the person we chose to vote for. So we call a public fu Let's call our own contract with our current execution context, and enqueue our call. And that's it for this function. Feel free to copy it, you lazy goblin! - + ```rust #[aztec(private)] @@ -282,7 +294,7 @@ fn cast_vote(candidate: Field) { The `add_to_tally_public` function is quite straightforward. It just reads and writes a public value from the `tally` [Map](../reference/smart_contract_reference/aztec-nr/aztec/state_vars/map#at): - + ```rust #[aztec(public)] @@ -301,7 +313,8 @@ You can deploy now! Just make sure to add the address as a parameter to the `dep {/* */}