From d43b7898dc07a4bc91f86def795d27c8b2e1e63d Mon Sep 17 00:00:00 2001 From: Giselle van Dongen Date: Fri, 22 Nov 2024 14:31:57 +0100 Subject: [PATCH] Quickstart rewrites (#482) --- .../synctoasync/DataPreparationService.java | 5 + code_snippets/ts/package-lock.json | 3 +- code_snippets/ts/src/concepts/workflow.ts | 5 +- code_snippets/ts/src/develop/awakeable.ts | 2 +- code_snippets/ts/src/develop/serialization.ts | 52 +- .../ts/src/develop/service_communication.ts | 4 +- .../event_processing/events_state.ts | 6 +- docs/develop/go/awakeables.mdx | 37 +- docs/develop/java/awakeables.mdx | 78 +- docs/develop/java/workflows.mdx | 21 +- docs/develop/python/awakeables.mdx | 35 +- docs/develop/python/workflows.mdx | 10 +- docs/develop/ts/awakeables.mdx | 36 +- docs/develop/ts/workflows.mdx | 9 +- docs/get_started/quickstart.mdx | 1204 ++++++++++++++--- package.json | 1 + src/components/code/annotations/collapse.tsx | 30 +- src/components/code/annotations/mark.tsx | 4 +- src/components/code/code-styling.module.css | 17 + src/components/code/code.tsx | 19 +- .../code/code/text-and-code.module.css | 2 + src/components/code/scrollycoding.module.css | 10 + src/components/code/scrollycoding.tsx | 12 +- src/components/code/terminal.module.css | 34 + src/components/code/terminal.tsx | 44 + src/components/code/ui/collapsible.tsx | 22 +- src/css/codehike-styling.css | 165 ++- src/css/custom.css | 13 +- src/plugins/code-loader.js | 9 +- static/img/quickstart/overview.svg | 908 +++++++++++++ yarn.lock | 1029 +++++++++----- 31 files changed, 3052 insertions(+), 774 deletions(-) create mode 100644 src/components/code/terminal.module.css create mode 100644 src/components/code/terminal.tsx create mode 100644 static/img/quickstart/overview.svg diff --git a/code_snippets/java/src/main/java/usecases/asynctasks/synctoasync/DataPreparationService.java b/code_snippets/java/src/main/java/usecases/asynctasks/synctoasync/DataPreparationService.java index 8bfe6134..cbe2a17b 100644 --- a/code_snippets/java/src/main/java/usecases/asynctasks/synctoasync/DataPreparationService.java +++ b/code_snippets/java/src/main/java/usecases/asynctasks/synctoasync/DataPreparationService.java @@ -7,6 +7,7 @@ import dev.restate.sdk.annotation.Shared; import dev.restate.sdk.annotation.Workflow; import dev.restate.sdk.common.DurablePromiseKey; +import dev.restate.sdk.http.vertx.RestateHttpEndpointBuilder; import dev.restate.sdk.serde.jackson.JacksonSerdes; import develop.workflows.Email; import usecases.utils.URL; @@ -32,5 +33,9 @@ public void resultAsEmail(SharedWorkflowContext ctx, Email email) { URL url = ctx.promise(URL_PROMISE).awaitable().await(); ctx.run(() -> sendEmail(url, email)); } + + public static void main(String[] args) { + RestateHttpEndpointBuilder.builder().bind(new DataPreparationService()).buildAndListen(); + } } // diff --git a/code_snippets/ts/package-lock.json b/code_snippets/ts/package-lock.json index 68f6a128..2815bdff 100644 --- a/code_snippets/ts/package-lock.json +++ b/code_snippets/ts/package-lock.json @@ -3350,7 +3350,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/bare-events": { "version": "2.5.0", diff --git a/code_snippets/ts/src/concepts/workflow.ts b/code_snippets/ts/src/concepts/workflow.ts index 876eb3c2..5bdbfea4 100644 --- a/code_snippets/ts/src/concepts/workflow.ts +++ b/code_snippets/ts/src/concepts/workflow.ts @@ -10,10 +10,7 @@ */ import * as restate from "@restatedev/restate-sdk"; -import { - emailClnt, - paymentClnt, -} from "./utils"; +import { emailClnt, paymentClnt } from "./utils"; /** * Order processing workflow Gets called for each Kafka event that is published to the order topic. diff --git a/code_snippets/ts/src/develop/awakeable.ts b/code_snippets/ts/src/develop/awakeable.ts index dd9d3895..3a4011b4 100644 --- a/code_snippets/ts/src/develop/awakeable.ts +++ b/code_snippets/ts/src/develop/awakeable.ts @@ -6,7 +6,7 @@ const service = restate.service({ greet: async (ctx: restate.Context, name: string) => { // // - const {id, promise} = ctx.awakeable(); + const { id, promise } = ctx.awakeable(); // // diff --git a/code_snippets/ts/src/develop/serialization.ts b/code_snippets/ts/src/develop/serialization.ts index 89fed02a..3c5bb92c 100644 --- a/code_snippets/ts/src/develop/serialization.ts +++ b/code_snippets/ts/src/develop/serialization.ts @@ -1,20 +1,23 @@ import * as restate from "@restatedev/restate-sdk"; -import {Context, WorkflowContext} from "@restatedev/restate-sdk"; +import { Context, WorkflowContext } from "@restatedev/restate-sdk"; // const myService = restate.service({ - name: "MyService", - handlers: { - myHandler: restate.handlers.handler({ - // Set the input serde here - input: restate.serde.binary, - // Set the output serde here - output: restate.serde.binary - }, async (ctx: Context, data: Uint8Array): Promise => { - // Process the request - return data; - }), - }, + name: "MyService", + handlers: { + myHandler: restate.handlers.handler( + { + // Set the input serde here + input: restate.serde.binary, + // Set the output serde here + output: restate.serde.binary, + }, + async (ctx: Context, data: Uint8Array): Promise => { + // Process the request + return data; + } + ), + }, }); // @@ -22,14 +25,13 @@ let ctx: WorkflowContext = undefined as unknown as WorkflowContext; let input = new Uint8Array(); // -ctx.serviceClient(myService) - .myHandler( - input, - restate.rpc.opts({ - input: restate.serde.binary, - output: restate.serde.binary - }) - ); +ctx.serviceClient(myService).myHandler( + input, + restate.rpc.opts({ + input: restate.serde.binary, + output: restate.serde.binary, + }) +); // // @@ -38,9 +40,11 @@ ctx.set("my-binary-data", new Uint8Array(), restate.serde.binary); // // -ctx.awakeable(restate.serde.binary) +ctx.awakeable(restate.serde.binary); // // -ctx.run("my-side-effect", () => new Uint8Array(), { serde: restate.serde.binary }); -// \ No newline at end of file +ctx.run("my-side-effect", () => new Uint8Array(), { + serde: restate.serde.binary, +}); +// diff --git a/code_snippets/ts/src/develop/service_communication.ts b/code_snippets/ts/src/develop/service_communication.ts index 49f89e8e..7a16b73d 100644 --- a/code_snippets/ts/src/develop/service_communication.ts +++ b/code_snippets/ts/src/develop/service_communication.ts @@ -27,7 +27,9 @@ const service = restate.service({ // // - ctx.serviceSendClient(MyService).myHandler("Hi", restate.rpc.sendOpts({ delay: 5000 })); + ctx + .serviceSendClient(MyService) + .myHandler("Hi", restate.rpc.sendOpts({ delay: 5000 })); // // diff --git a/code_snippets/ts/src/use_cases/event_processing/events_state.ts b/code_snippets/ts/src/use_cases/event_processing/events_state.ts index 69d9aeb1..4a58f2d0 100644 --- a/code_snippets/ts/src/use_cases/event_processing/events_state.ts +++ b/code_snippets/ts/src/use_cases/event_processing/events_state.ts @@ -23,7 +23,9 @@ const eventEnricher = restate.object({ ctx.set("user", event); // // - ctx.objectSendClient(EventEnricher, ctx.key).emit(restate.rpc.sendOpts({ delay: 1000 })); + ctx + .objectSendClient(EventEnricher, ctx.key) + .emit(restate.rpc.sendOpts({ delay: 1000 })); // }, @@ -43,7 +45,7 @@ const eventEnricher = restate.object({ emit: async (ctx: ObjectContext) => { // // - const user = await ctx.get("user") + const user = await ctx.get("user"); // send(ctx.key, user); // diff --git a/docs/develop/go/awakeables.mdx b/docs/develop/go/awakeables.mdx index 42883fb1..81de39b1 100644 --- a/docs/develop/go/awakeables.mdx +++ b/docs/develop/go/awakeables.mdx @@ -16,33 +16,16 @@ This pattern is also known as the callback (task token) pattern. ## Creating awakeables - - - ## !!steps - 1. The handler **creates an awakeable**. This contains a String identifier and a handle on the future result. - - ```go ! - CODE_LOAD::go/develop/awakeable.go?1 - ``` - - ## !!steps - 2. The handler **triggers a task/process** and attaches the awakeable ID (e.g. over Kafka, via HTTP,...). - For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. - You use `restate.Run` to avoid re-triggering the task on retries. - - ```go ! - CODE_LOAD::go/develop/awakeable.go?2 - ``` - - ## !!steps - 3. The handler **waits** until the other process has executed the task. - The handler **receives the payload and resumes**. - - ```go ! - CODE_LOAD::go/develop/awakeable.go?3 - ``` - - +1. **Create an awakeable**. This contains a String identifier and a handle on the future result. +2. **Trigger a task/process** and attach the awakeable ID (e.g. over Kafka, via HTTP,...). +For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. +You use `restate.Run` to avoid re-triggering the task on retries. +3. **Wait** until the other process has executed the task. +The handler **receives the payload and resumes**. + +```go +CODE_LOAD::go/develop/awakeable.go +``` ## Completing awakeables diff --git a/docs/develop/java/awakeables.mdx b/docs/develop/java/awakeables.mdx index b1b1ec27..ced4ab13 100644 --- a/docs/develop/java/awakeables.mdx +++ b/docs/develop/java/awakeables.mdx @@ -19,63 +19,29 @@ This pattern is also known as the callback (task token) pattern. ## Creating awakeables - - - # !!steps - 1. The handler **creates an awakeable**. This contains a String identifier and a Promise/Awaitable. - - ```java ! - CODE_LOAD::java/src/main/java/develop/Awakeables.java?1 - ``` - - # !!steps - 2. The handler **triggers a task/process** and attaches the awakeable ID (e.g. over Kafka, via HTTP,...). - For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. - You use `ctx.run` to avoid re-triggering the task on retries. - - ```java ! - CODE_LOAD::java/src/main/java/develop/Awakeables.java?2 - ``` - - # !!steps - 3. The handler **waits** until the other process has executed the task. - The handler **receives the payload and resumes**. - - ```java ! - CODE_LOAD::java/src/main/java/develop/Awakeables.java?3 - ``` - - - - - - - - # !!steps - 1. The handler **creates an awakeable**. This contains a String identifier and a Promise/Awaitable. - - ```kotlin ! - CODE_LOAD::kotlin/src/main/kotlin/develop/Awakeables.kt?1 - ``` - - # !!steps - 2. The handler **triggers a task/process** and attaches the awakeable ID (e.g. over Kafka, via HTTP,...). - For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. - You use `ctx.runBlock` to avoid re-triggering the task on retries. - - ```kotlin ! - CODE_LOAD::kotlin/src/main/kotlin/develop/Awakeables.kt?2 - ``` - - # !!steps - 3. The handler **waits** until the other process has executed the task. - The handler **receives the payload and resumes**. - - ```kotlin ! - CODE_LOAD::kotlin/src/main/kotlin/develop/Awakeables.kt?3 - ``` +1. **Create an awakeable**. This contains a String identifier and a Promise/Awaitable. +2. **Trigger a task/process** and attach the awakeable ID (e.g. over Kafka, via HTTP,...). +For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. +You use `ctx.run` to avoid re-triggering the task on retries. +3. **Wait** until the other process has executed the task. +The handler **receives the payload and resumes**. + +```java +CODE_LOAD::java/src/main/java/develop/Awakeables.java +``` - + + +1. **Create an awakeable**. This contains a String identifier and a Promise/Awaitable. +2. **Trigger a task/process** and attach the awakeable ID (e.g. over Kafka, via HTTP,...). +For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. +You use `ctx.runBlock` to avoid re-triggering the task on retries. +3. **Wait** until the other process has executed the task. +The handler **receives the payload and resumes**. + +```kotlin +CODE_LOAD::kotlin/src/main/kotlin/develop/Awakeables.kt +``` diff --git a/docs/develop/java/workflows.mdx b/docs/develop/java/workflows.mdx index 4d0af2e1..85910ccb 100644 --- a/docs/develop/java/workflows.mdx +++ b/docs/develop/java/workflows.mdx @@ -7,6 +7,7 @@ import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; import Admonition from '@theme/Admonition'; import {TextAndCode} from "../../../src/components/code/code/text-and-code"; +import {Scrollycoding} from "../../../src/components/code/scrollycoding"; # Workflows @@ -31,8 +32,7 @@ Have a look at the code example to get a better understanding of how workflows a - - ### !!steps The `run` handler + ### !!steps The run handler Every workflow needs a `run` handler. This handler has access to the same SDK features as Service and Virtual Object handlers. @@ -59,8 +59,12 @@ Have a look at the code example to get a better understanding of how workflows a These promises are durable and distributed, meaning they survive crashes and can be resolved or rejected by any handler in the workflow. Do the following: - 1. Create a promise in your `run` handler that is durable and distributed - 2. Resolve or reject the promise in any other handler in the workflow. This can be done at most one time. + 1. Create a promise that is durable and distributed in the `run` handler. + 2. Resolve or reject the promise in another handler in the workflow. This can be done at most one time. + + You can also use this pattern in reverse and let the `run` handler resolve promises that other handlers are waiting on. + For example, the `run` handler could resolve a promise when it finishes a step of the workflow, so that other handlers can request whether this step has been completed. + ```java ! CODE_LOAD::java/src/main/java/develop/workflows/SignupWorkflow.java?3 @@ -80,7 +84,7 @@ Have a look at the code example to get a better understanding of how workflows a - ### !!steps The `run` handler + ### !!steps The run handler Every workflow needs a `run` handler. This handler has access to the same SDK features as Service and Virtual Object handlers. @@ -107,8 +111,11 @@ Have a look at the code example to get a better understanding of how workflows a These promises are durable and distributed, meaning they survive crashes and can be resolved or rejected by any handler in the workflow. Do the following: - 1. Create a promise in your `run` handler that is durable and distributed - 2. Resolve or reject the promise in any other handler in the workflow. This can be done at most one time. + 1. Create a promise that is durable and distributed in the `run` handler. + 2. Resolve or reject the promise in another handler in the workflow. This can be done at most one time. + + You can also use this pattern in reverse and let the `run` handler resolve promises that other handlers are waiting on. + For example, the `run` handler could resolve a promise when it finishes a step of the workflow, so that other handlers can request whether this step has been completed. ```kotlin ! CODE_LOAD::kotlin/src/main/kotlin/develop/workflows/SignupWorkflow.kt?3 diff --git a/docs/develop/python/awakeables.mdx b/docs/develop/python/awakeables.mdx index efa7a6d1..0676653d 100644 --- a/docs/develop/python/awakeables.mdx +++ b/docs/develop/python/awakeables.mdx @@ -4,7 +4,6 @@ description: "Pause invocations while waiting for an external task completion." --- import Admonition from '@theme/Admonition'; -import {Scrollycoding} from "../../../src/components/code/scrollycoding"; import {TextAndCode} from "../../../src/components/code/code/text-and-code"; # Awakeables @@ -15,33 +14,17 @@ This pattern is also known as the callback (task token) pattern. ## Creating awakeables - +1. **Create an awakeable**. This contains a String identifier and a Promise. +2. **Trigger a task/process** and attach the awakeable ID (e.g. over Kafka, via HTTP,...). +For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. +You use `ctx.run` to avoid re-triggering the task on retries. +3. **Wait** until the other process has executed the task. +The handler **receives the payload and resumes**. - # !!steps - 1. The handler **creates an awakeable**. This contains a String identifier and a Promise. +```py +CODE_LOAD::python/src/develop/awakeables.py +``` - ```python ! - CODE_LOAD::python/src/develop/awakeables.py?1 - ``` - - # !!steps - 2. The handler **triggers a task/process** and attaches the awakeable ID (e.g. over Kafka, via HTTP,...). - For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. - You use `ctx.run` to avoid re-triggering the task on retries. - - ```python ! - CODE_LOAD::python/src/develop/awakeables.py?2 - ``` - - # !!steps - 3. The handler **waits** until the other process has executed the task. - The handler **receives the payload and resumes**. - - ```python ! - CODE_LOAD::python/src/develop/awakeables.py?3 - ``` - - ## Completing awakeables diff --git a/docs/develop/python/workflows.mdx b/docs/develop/python/workflows.mdx index 9348330a..9cbd6629 100644 --- a/docs/develop/python/workflows.mdx +++ b/docs/develop/python/workflows.mdx @@ -5,6 +5,7 @@ description: "Find out how Restate services can send requests to each other." import Admonition from '@theme/Admonition'; import {TextAndCode} from "../../../src/components/code/code/text-and-code"; +import {Scrollycoding} from "../../../src/components/code/scrollycoding"; # Workflows @@ -27,7 +28,7 @@ Have a look at the code example to get a better understanding of how workflows a - ### !!steps The `run` handler + ### !!steps The run handler Every workflow needs a `run` handler. This handler has access to the same SDK features as Service and Virtual Object handlers. @@ -54,8 +55,11 @@ Have a look at the code example to get a better understanding of how workflows a These promises are durable and distributed, meaning they survive crashes and can be resolved or rejected by any handler in the workflow. Do the following: - 1. Create a promise in your one handler that is durable and distributed. For example, here in the `run` handler. - 2. Resolve or reject the promise in any other handler in the workflow. This can be done at most one time. + 1. Create a promise that is durable and distributed in the `run` handler. + 2. Resolve or reject the promise in another handler in the workflow. This can be done at most one time. + + You can also use this pattern in reverse and let the `run` handler resolve promises that other handlers are waiting on. + For example, the `run` handler could resolve a promise when it finishes a step of the workflow, so that other handlers can request whether this step has been completed. ```python ! CODE_LOAD::python/src/develop/workflows/signup.py?3 diff --git a/docs/develop/ts/awakeables.mdx b/docs/develop/ts/awakeables.mdx index 64410b2c..b967ca3a 100644 --- a/docs/develop/ts/awakeables.mdx +++ b/docs/develop/ts/awakeables.mdx @@ -5,7 +5,6 @@ description: "Pause invocations while waiting for an external task completion." import {TextAndCode} from "../../../src/components/code/code/text-and-code"; import Admonition from '@theme/Admonition'; -import {Scrollycoding} from "../../../src/components/code/scrollycoding"; # Awakeables @@ -15,33 +14,16 @@ This pattern is also known as the callback (task token) pattern. ## Creating awakeables - +1. **Create an awakeable**. This contains a String identifier and a Promise. +2. **Trigger a task/process** and attaches the awakeable ID (e.g. over Kafka, via HTTP,...). +For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. +You use `ctx.run` to avoid re-triggering the task on retries. +3. **Wait** until the other process has executed the task. +The handler **receives the payload and resumes**. - # !!steps - 1. The handler **creates an awakeable**. This contains a String identifier and a Promise. - - ```ts ! - CODE_LOAD::ts/src/develop/awakeable.ts?1 - ``` - - # !!steps - 2. The handler **triggers a task/process** and attaches the awakeable ID (e.g. over Kafka, via HTTP,...). - For example, send an HTTP request to a service that executes the task, and attach the ID to the payload. - You use `ctx.run` to avoid re-triggering the task on retries. - - ```ts ! - CODE_LOAD::ts/src/develop/awakeable.ts?2 - ``` - - # !!steps - 3. The handler **waits** until the other process has executed the task. - The handler **receives the payload and resumes**. - - ```ts ! - CODE_LOAD::ts/src/develop/awakeable.ts?3 - ``` - - +```ts +CODE_LOAD::ts/src/develop/awakeable.ts +``` ## Completing awakeables diff --git a/docs/develop/ts/workflows.mdx b/docs/develop/ts/workflows.mdx index edd08c2f..c9c0426e 100644 --- a/docs/develop/ts/workflows.mdx +++ b/docs/develop/ts/workflows.mdx @@ -5,6 +5,7 @@ description: "Find out how Restate services can send requests to each other." import Admonition from '@theme/Admonition'; import {TextAndCode} from "../../../src/components/code/code/text-and-code"; +import {Scrollycoding} from "../../../src/components/code/scrollycoding"; # Workflows @@ -54,8 +55,12 @@ Have a look at the code example to get a better understanding of how workflows a These promises are durable and distributed, meaning they survive crashes and can be resolved or rejected by any handler in the workflow. Do the following: - 1. Create a promise in your one handler that is durable and distributed. For example, here in the `run` handler. - 2. Resolve or reject the promise in any other handler in the workflow. This can be done at most one time. + 1. Create a promise that is durable and distributed in the `run` handler. + 2. Resolve or reject the promise in another handler in the workflow. This can be done at most one time. + + You can also use this pattern in reverse and let the `run` handler resolve promises that other handlers are waiting on. + For example, the `run` handler could resolve a promise when it finishes a step of the workflow, so that other handlers can request whether this step has been completed. + ```ts ! CODE_LOAD::ts/src/develop/workflows/signup.ts?3 diff --git a/docs/get_started/quickstart.mdx b/docs/get_started/quickstart.mdx index b0792f1e..72e02012 100644 --- a/docs/get_started/quickstart.mdx +++ b/docs/get_started/quickstart.mdx @@ -9,26 +9,65 @@ import TabItem from '@theme/TabItem'; import Admonition from '@theme/Admonition'; import {Step} from "../../src/components/Stepper"; import {CodeWithTabs} from "../../src/components/code/code"; +import { + Terminal, + TerminalWithTabs +} from "../../src/components/code/terminal"; import {TextAndCode} from "../../src/components/code/code/text-and-code"; # Quickstart -This guide takes you through your first steps with Restate. - + + + + + + + +This guide takes you through your first steps with Restate. - - - [NodeJS](https://nodejs.org/en/) >= v18.17.1 - - [npm CLI](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) >= 9.6.7 - +We will run a simple Restate Greeter service that listens on port `9080` and responds with `You said hi to !` to a `greet` request. +Quickstart + + + + Select your favorite runtime: + + Node.jsNode.js}> + + - [NodeJS](https://nodejs.org/en/) >= v18.17.1 + - [npm CLI](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) >= 9.6.7 + + + bunbun}> + + - [Bun](https://bun.sh/docs/installation) + - [npm CLI](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) >= 9.6.7 + + + denoDeno}> + + - [Deno](https://deno.land/#installation) + - [npm CLI](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) >= 9.6.7 + + + Cloudflare WorkersCloudflare Workers}> + + - [NodeJS](https://nodejs.org/en/) >= v18.17.1 + - [npm CLI](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) >= 9.6.7 + + + Restate is a single self-contained binary. No external dependencies needed. + - Install Restate Server and CLI via: + Install Restate Server and CLI. ```shell !result brew install restatedev/tap/restate-server && @@ -46,7 +85,6 @@ This guide takes you through your first steps with Restate. Install the Restate Server and CLI by downloading the binaries with `curl` from the [releases page](https://github.com/restatedev/restate/releases/latest), and make them executable: - ```shell !!tabs Linux-x64 BIN=$HOME/.local/bin && RESTATE_PLATFORM=x86_64-unknown-linux-musl && \ curl -LO https://github.com/restatedev/restate/releases/latest/download/restate.$RESTATE_PLATFORM.tar.gz && \ @@ -137,9 +175,8 @@ This guide takes you through your first steps with Restate. - Select your favorite runtime: - - Node.jsNode.js}> + + ```shell !!tabs CLI restate example typescript-hello-world && @@ -153,21 +190,21 @@ This guide takes you through your first steps with Restate. ``` - bunbun}> + ```shell restate example typescript-bun-hello-world && cd typescript-bun-hello-world && npm install ``` - denoDeno}> + ```shell restate example typescript-deno-hello-world && cd typescript-deno-hello-world && npm install ``` - Cloudflare WorkersCloudflare Workers}> + ```shell restate example typescript-cloudflare-worker-hello-world && cd typescript-cloudflare-worker-hello-world && @@ -179,80 +216,436 @@ This guide takes you through your first steps with Restate. - Now, start developing your service in `src/app.ts`. Run it with [`ts-node-dev`](https://www.npmjs.com/package/ts-node-dev), and let it listen on port `9080` for requests: + Run it and let it listen on port `9080` for requests: - ```shell - npm run app-dev - ``` + + - + + ```shell !command + npm run app-dev + ``` + + ```log !output + > restate-ts-template@0.0.1 app-dev + > ts-node-dev --watch ./src --respawn --transpile-only ./src/app.ts + + [INFO] 00:44:54 ts-node-dev ver. 2.0.0 (using ts-node ver. 10.9.2, typescript ver. 5.6.3) + [restate] [2024-11-12T23:44:54.955Z] INFO: Listening on 9080... + ``` + + + + + + ```shell !command + npm run dev + ``` + + ```log !output + > restate-bun-template@0.0.1 dev + > bun run --watch src/index.ts + + Listening on http://localhost:9080/ + ``` + + + + + ```shell !command + deno task dev + ``` + + ```log !output + Task dev deno run --allow-net --allow-env --watch main.ts + Watcher Process started. + Listening on http://0.0.0.0:9080/ + ``` + + + + + ```shell !command + npm run dev + ``` + + ```log !output + restate-cloudflare-worker-template@0.0.1 dev + > wrangler dev --port 9080 + + + ⛅️ wrangler 3.88.0 + ------------------- + + ╭────────────────────────────────────────────────────────────────────────────────────────⎔ Starting local server... + [wrangler:inf] Ready on http://localhost:9080 + ``` + + + + + Tell Restate where the service is running, so Restate can discover and register the services and handlers behind this endpoint: - + + + - ```shell !!tabs CLI - restate deployments register http://localhost:9080 - ``` + # !!terminals - ```shell !!tabs curl - curl localhost:9070/deployments -H 'content-type: application/json' \ - -d '{"uri": "http://localhost:9080"}' - ``` + ```shell !command CLI + restate deployments register http://localhost:9080 + ``` - -
- Output + ```shell !output + ❯ SERVICES THAT WILL BE ADDED: + - Greeter + Type: Service + HANDLER INPUT OUTPUT + greet value of content-type 'application/json' value of content-type 'application/json' - ```shell - ❯ SERVICES THAT WILL BE ADDED: - - Greeter - Type: Service - HANDLER INPUT OUTPUT - greet value of content-type 'application/json' value of content-type 'application/json' + ✔ Are you sure you want to apply those changes? · yes + ✅ DEPLOYMENT: + SERVICE REV + Greeter 1 + ``` - ✔ Are you sure you want to apply those changes? · yes - ✅ DEPLOYMENT: - SERVICE REV - Greeter 1 - ``` + # !!terminals + + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080"}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + + + + + # !!terminals + + ```shell !command CLI + restate dep add http://localhost:9080 --use-http1.1 + ``` + + ```shell !output + ❯ SERVICES THAT WILL BE ADDED: + - Greeter + Type: Service + HANDLER INPUT OUTPUT + greet value of content-type 'application/json' value of content-type 'application/json' + + + ✔ Are you sure you want to apply those changes? · yes + ✅ DEPLOYMENT: + SERVICE REV + Greeter 1 + ``` + + # !!terminals + + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080", "use_http_11": true}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + + Bun does not support HTTP2, so we need to tell Restate to use HTTP1.1. + + + + + # !!terminals + + ```shell !command CLI + restate deployments register http://localhost:9080 + ``` + + ```shell !output + ❯ SERVICES THAT WILL BE ADDED: + - Greeter + Type: Service + HANDLER INPUT OUTPUT + greet value of content-type 'application/json' value of content-type 'application/json' + + + ✔ Are you sure you want to apply those changes? · yes + ✅ DEPLOYMENT: + SERVICE REV + Greeter 1 + ``` + + # !!terminals + + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080"}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + + + + + # !!terminals + + ```shell !command CLI + restate dep add http://localhost:9080 --use-http1.1 + ``` + + ```shell !output + ❯ SERVICES THAT WILL BE ADDED: + - Greeter + Type: Service + HANDLER INPUT OUTPUT + greet value of content-type 'application/json' value of content-type 'application/json' + + + ✔ Are you sure you want to apply those changes? · yes + ✅ DEPLOYMENT: + SERVICE REV + Greeter 1 + ``` + + # !!terminals + + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080", "use_http_11": true}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + The local Workers dev server does not support HTTP2, so we need to tell Restate to use HTTP1.1. + + -
If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`.
- - ```shell - curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Hi"' - ``` + - You should now see printed as response: `Hi!` + ```shell !command + curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Sarah"' + ``` + + ```shell !output + You said hi to Sarah! + ``` + + - + + + The invocation you just sent used Durable Execution to make sure the request ran till completion. + For each request, it sent a notification, slept for a second, and then sent a reminder. + + + ```ts + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/typescript/src/app.ts + ``` + + + ```ts + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/bun/src/index.ts + ``` + + + ```ts + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/deno/main.ts + ``` + + + ```ts + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/cloudflare-worker/src/index.ts + ``` + + -
- Next: Build and run the app + It sometimes failed to send the notification and the reminder. + You can see in the log how Restate retried the request. + On a retry, it skipped the steps that already succeeded. + Even the sleep is durable and tracked by Restate. + If you kill/restart the service halfway through, the sleep will only last for what remained. - Once you have implemented your service, build the app and run it with: + Restate does this by persisting the progress of the handler. + Letting you write code that is resilient to failures out of the box. - ```shell - npm run build - npm run app - ``` + + + +
-
+ Next: Build and run the app + Once you have implemented your service, build the app and run it with: + ```shell + npm run build + npm run app + ``` +
+
+ +
+ + Next: Build and run the app + ```shell + npm run build + npm run start + ``` +
+
+ + + +
+ Next: Build and run the app + ```shell + npm run build + npm run start + ``` +
+
+
- - - Java: [JDK](https://whichjdk.com/) >= 11 - + Build tool: + + MavenMaven}> + Architecture: + + Spring BootSpring Boot}> + + - [JDK](https://whichjdk.com/) >= 17 + + + QuarkusQuarkus}> + + - [JDK](https://whichjdk.com/) >= 17 + - [Quarkus](https://quarkus.io/get-started/) + + + VanillaVanilla}> + + - [JDK](https://whichjdk.com/) >= 17 + + + + + GradleGradle}> + Architecture: + + VanillaVanilla}> + + - [JDK](https://whichjdk.com/) >= 17 + + + + + Restate is a single self-contained binary. No external dependencies needed. @@ -351,12 +744,10 @@ This guide takes you through your first steps with Restate. - Build tool: - - MavenMaven}> - Architecture: - - Spring BootSpring Boot}> + + + + ```shell !!tabs CLI restate example java-hello-world-maven-spring-boot && @@ -370,7 +761,7 @@ This guide takes you through your first steps with Restate. ``` - QuarkusQuarkus}> + ```shell !!tabs CLI restate example java-hello-world-maven-quarkus && @@ -384,7 +775,7 @@ This guide takes you through your first steps with Restate. ``` - VanillaVanilla}> + ```shell !!tabs CLI restate example java-hello-world-maven && @@ -400,9 +791,8 @@ This guide takes you through your first steps with Restate. - GradleGradle}> - Architecture: - + + VanillaVanilla}> ```shell !!tabs CLI @@ -422,14 +812,48 @@ This guide takes you through your first steps with Restate. + + + + + You are all set to start developing your service. + Open the project in an IDE, run your service and let it listen on port `9080` for requests: + + ```shell + mvn compile spring-boot:run + ``` + + + You are all set to start developing your service. + Open the project in an IDE, run your service and let it listen on port `9080` for requests: - You are all set to start developing your service. - Open the project in an IDE and configure it to build with Gradle. - Run your service and let it listen on port `9080` for requests: + ```shell + quarkus dev + ``` + + + You are all set to start developing your service. + Open the project in an IDE, run your service and let it listen on port `9080` for requests: - ```shell - ./gradlew run - ``` + ```shell + mvn compile exec:java + ``` + + + + + + VanillaVanilla}> + You are all set to start developing your service. + Open the project in an IDE, run your service and let it listen on port `9080` for requests: + + ```shell + ./gradlew run + ``` + + + + @@ -437,24 +861,15 @@ This guide takes you through your first steps with Restate. Tell Restate where the service is running, so Restate can discover and register the services and handlers behind this endpoint: - + - ```shell !!tabs CLI - restate deployments register http://localhost:9080 - ``` + # !!terminals - ```shell !!tabs curl - curl localhost:9070/deployments -H 'content-type: application/json' \ - -d '{"uri": "http://localhost:9080"}' + ```shell !command CLI + restate deployments register http://localhost:9080 ``` - - -
- - Output - - ```shell + ```shell !output ❯ SERVICES THAT WILL BE ADDED: - Greeter Type: Service @@ -468,39 +883,122 @@ This guide takes you through your first steps with Restate. Greeter 1 ``` -
+ # !!terminals - If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080"}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. - ```shell - curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Hi!"' - ``` + - You should now see printed as response: `Hi!` + ```shell !command + curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Sarah"' + ``` - - + ```log !output + You said hi to Sarah! + ``` -
- Next: Build the app + - Once you have implemented your service, build the app with: + - ```shell - ./gradlew build - ``` + + + The invocation you just sent used Durable Execution to make sure the request ran till completion. + For each request, it sent a notification, slept for a second, and then sent a reminder. + + It sometimes failed to send the notification and the reminder. + You can see in the log how Restate retried the request. + On a retry, it skipped the steps that already succeeded. + Even the sleep is durable and tracked by Restate. + If you kill/restart the service halfway through, the sleep will only last for what remained. + + Restate does this by persisting the progress of the handler. + Letting you write code that is resilient to failures out of the box. + + + + + + ```java + // !collapse(1:13) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/java-maven-spring-boot/src/main/java/com/example/restatestarter/Greeter.java + ``` + + + ```java + // !collapse(1:15) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/java-maven-quarkus/src/main/java/org/acme/Greeter.java + ``` + + + ```java + // !collapse(1:13) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/java-maven/src/main/java/my/example/Greeter.java + ``` + + + + + + + ```java + // !collapse(1:13) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/java-gradle/src/main/java/my/example/Greeter.java + ``` + + + + -
+
- - Java/Kotlin: [JDK](https://whichjdk.com/) >= 11 + - [JDK](https://whichjdk.com/) >= 11 @@ -632,24 +1130,15 @@ This guide takes you through your first steps with Restate. Tell Restate where the service is running, so Restate can discover and register the services and handlers behind this endpoint: - + - ```shell !!tabs CLI - restate deployments register http://localhost:9080 - ``` + # !!terminals - ```shell !!tabs curl - curl localhost:9070/deployments -H 'content-type: application/json' \ - -d '{"uri": "http://localhost:9080"}' + ```shell !command CLI + restate deployments register http://localhost:9080 ``` - - -
- - Output - - ```shell + ```shell !output ❯ SERVICES THAT WILL BE ADDED: - Greeter Type: Service @@ -663,35 +1152,80 @@ This guide takes you through your first steps with Restate. Greeter 1 ``` -
+ # !!terminals - If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080"}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`.
- ```shell - curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Hi"' - ``` + - You should now see printed as response: `Hi!` + ```shell !command + curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Sarah"' + ``` - + ```log !output + You said hi to Sarah! + ``` - + -
+ - Next: Build the app + - Once you have implemented your service, build the app with: + The invocation you just sent used Durable Execution to make sure the request ran till completion. + For each request, it sent a notification, slept for a second, and then sent a reminder. - ```shell - ./gradlew build + ```kotlin + // !collapse(1:10) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/kotlin-gradle/src/main/kotlin/my/example/Greeter.kt ``` -
+ It sometimes failed to send the notification and the reminder. + You can see in the log how Restate retried the request. + On a retry, it skipped the steps that already succeeded. + Even the sleep is durable and tracked by Restate. + If you kill/restart the service halfway through, the sleep will only last for what remained. + + Restate does this by persisting the progress of the handler. + Letting you write code that is resilient to failures out of the box. + +
@@ -829,24 +1363,15 @@ This guide takes you through your first steps with Restate. Tell Restate where the service is running, so Restate can discover and register the services and handlers behind this endpoint: - + - ```shell !!tabs CLI - restate deployments register http://localhost:9080 - ``` + # !!terminals - ```shell !!tabs curl - curl localhost:9070/deployments -H 'content-type: application/json' \ - -d '{"uri": "http://localhost:9080"}' + ```shell !command CLI + restate deployments register http://localhost:9080 ``` - - -
- - Output - - ```shell + ```shell !output ❯ SERVICES THAT WILL BE ADDED: - Greeter Type: Service @@ -860,22 +1385,80 @@ This guide takes you through your first steps with Restate. Greeter 1 ``` -
+ # !!terminals - If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080"}' + ``` + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "Greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + + If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. - ```shell - curl localhost:8080/Greeter/Greet -H 'content-type: application/json' -d '"Hi"' + + + ```shell !command + curl localhost:8080/Greeter/Greet -H 'content-type: application/json' -d '"Sarah"' + ``` + + ```shell !output + You said hi to Sarah! + ``` + + + + + + + The invocation you just sent used Durable Execution to make sure the request ran till completion. + For each request, it sent a notification, slept for a second, and then sent a reminder. + + ```go + // !collapse(1:8) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/go/greeter.go ``` - You should now see printed as response: `Hi!` + It sometimes failed to send the notification and the reminder. + You can see in the log how Restate retried the request. + On a retry, it skipped the steps that already succeeded. + Even the sleep is durable and tracked by Restate. + If you kill/restart the service halfway through, the sleep will only last for what remained. + + Restate does this by persisting the progress of the handler. + Letting you write code that is resilient to failures out of the box. - +
@@ -1030,26 +1613,15 @@ This guide takes you through your first steps with Restate. Tell Restate where the service is running, so Restate can discover and register the services and handlers behind this endpoint: - + - ```shell !!tabs CLI - restate deployments register http://localhost:9080 - ``` + # !!terminals - ```shell !!tabs curl - curl localhost:9070/deployments -H 'content-type: application/json' \ - -d '{"uri": "http://localhost:9080"}' + ```shell !command CLI + restate deployments register http://localhost:9080 ``` - - - If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. - -
- - Output - - ```shell + ```shell !output ❯ SERVICES THAT WILL BE ADDED: - Greeter Type: Service @@ -1063,28 +1635,98 @@ This guide takes you through your first steps with Restate. Greeter 1 ``` -
+ # !!terminals + + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080"}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. - ```shell - curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Hi"' + + + ```shell !command + curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Sarah"' + ``` + + ```shell !output + You said hi to Sarah! + ``` + + + + + + + The invocation you just sent used Durable Execution to make sure the request ran till completion. + For each request, it sent a notification, slept for a second, and then sent a reminder. + + ```python + # !collapse(1:8) collapsed + # !mark[/# Click to expand imports/] grey + # Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/python/example.py ``` - You should now see printed as response: `Hi!` + It sometimes failed to send the notification and the reminder. + You can see in the log how Restate retried the request. + On a retry, it skipped the steps that already succeeded. + Even the sleep is durable and tracked by Restate. + If you kill/restart the service halfway through, the sleep will only last for what remained. + + Restate does this by persisting the progress of the handler. + Letting you write code that is resilient to failures out of the box. - - - - [Rust](https://rustup.rs/) - + Select your favorite runtime: + + TokioTokio}> + + - [Rust](https://rustup.rs/) + + + ShuttleShuttle}> + + - [Rust](https://rustup.rs/) + - [Shuttle](https://docs.shuttle.dev/getting-started/installation) + + + Restate is a single self-contained binary. No external dependencies needed. @@ -1183,10 +1825,8 @@ This guide takes you through your first steps with Restate. - - Select your favorite runtime: - - TokioTokio}> + + ```shell !!tabs CLI restate example rust-hello-world && @@ -1201,7 +1841,7 @@ This guide takes you through your first steps with Restate. - ShuttleShuttle}> + ```shell !!tabs CLI restate example rust-shuttle-hello-world && @@ -1220,51 +1860,141 @@ This guide takes you through your first steps with Restate. + + + ```shell + cargo run + ``` + + + ```shell + cargo shuttle run --port 9080 + ``` + + + - Use `cargo run` to build and run the example: + - ```shell - cargo run - ``` + Tell Restate where the service is running, so Restate can register the services and handlers behind this endpoint: - + + - + - Tell Restate where the service is running, so Restate can discover and register the services and handlers behind this endpoint: + # !!terminals - + ```shell !command CLI + restate deployments register http://localhost:9080 + ``` - ```shell !!tabs CLI - restate deployments register http://localhost:9080 - ``` + ```shell !output + ❯ SERVICES THAT WILL BE ADDED: + - Greeter + Type: Service + HANDLER INPUT OUTPUT + greet value of content-type 'application/json' value of content-type 'application/json' - ```shell !!tabs curl - curl localhost:9070/deployments -H 'content-type: application/json' \ - -d '{"uri": "http://localhost:9080"}' - ``` - + ✔ Are you sure you want to apply those changes? · yes + ✅ DEPLOYMENT: + SERVICE REV + Greeter 1 + ``` -
+ # !!terminals - Output + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080"}' + ``` - ```shell - ❯ SERVICES THAT WILL BE ADDED: - - Greeter - Type: Service - HANDLER INPUT OUTPUT - greet value of content-type 'application/json' value of content-type 'application/json' + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + - ✔ Are you sure you want to apply those changes? · yes - ✅ DEPLOYMENT: - SERVICE REV - Greeter 1 - ``` + + + # !!terminals + + ```shell !command CLI + restate deployments register http://localhost:9080 --use-http1.1 + ``` + + ```shell !output + ❯ SERVICES THAT WILL BE ADDED: + - Greeter + Type: Service + HANDLER INPUT OUTPUT + greet value of content-type 'application/json' value of content-type 'application/json' + + + ✔ Are you sure you want to apply those changes? · yes + ✅ DEPLOYMENT: + SERVICE REV + Greeter 1 + ``` + + # !!terminals + + ```shell !command curl + curl localhost:9070/deployments -H 'content-type: application/json' \ + -d '{"uri": "http://localhost:9080", "use_http_11": true}' + ``` + + ```shell !output + { + "id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "services": [ + { + "name": "Greeter", + "handlers": [ + { + "name": "greet", + "ty": "Shared", + "input_description": "one of [\"none\", \"value of content-type 'application/json'\"]", + "output_description": "value of content-type 'application/json'" + } + ], + "ty": "Service", + "deployment_id": "dp_17sztQp4gnEC1L0OCFM9aEh", + "revision": 1, + "public": true, + "idempotency_retention": "1day" + } + ] + } + ``` + + + + -
If you run Restate with Docker, use `http://host.docker.internal:9080` instead of `http://localhost:9080`. @@ -1272,20 +2002,56 @@ This guide takes you through your first steps with Restate. - ```shell - curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Francesco"' - ``` + + + ```shell !command + curl localhost:8080/Greeter/greet -H 'content-type: application/json' -d '"Sarah"' + ``` - You should now see printed as response: `"Greetings Francesco"` + ```log !output + You said hi to Sarah! + ``` + + - + + + The invocation you just sent used Durable Execution to make sure the request ran till completion. + For each request, it sent a notification, slept for a second, and then sent a reminder. + + + ```rust + // !collapse(1:12) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/rust/src/main.rs + ``` + + + ```rust + // !collapse(1:10) collapsed + // !mark[//\/\ Click to expand imports/] grey + // Click to expand imports + CODE_LOAD::https://raw.githubusercontent.com/restatedev/examples/refs/heads/main/templates/rust-shuttle/src/main.rs + ``` + + + + + It sometimes failed to send the notification and the reminder. + You can see in the log how Restate retried the request. + On a retry, it skipped the steps that already succeeded. + Even the sleep is durable and tracked by Restate. + If you kill/restart the service halfway through, the sleep will only last for what remained. + Restate does this by persisting the progress of the handler. + Letting you write code that is resilient to failures out of the box. +
- ## Next steps - Read the [Concepts](/concepts/durable_building_blocks) - Discover the key features of Restate in the [Tour of Restate](/get_started/tour) diff --git a/package.json b/package.json index 2d2c6500..06ff1124 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "@docusaurus/core": "^3.5.2", "@docusaurus/preset-classic": "^3.5.2", "@mdx-js/react": "^3.0.0", + "@radix-ui/react-collapsible": "^1.1.1", "@types/mdx": "^2.0.10", "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", diff --git a/src/components/code/annotations/collapse.tsx b/src/components/code/annotations/collapse.tsx index 3e23cf10..64155e31 100644 --- a/src/components/code/annotations/collapse.tsx +++ b/src/components/code/annotations/collapse.tsx @@ -4,8 +4,8 @@ import { CollapsibleTrigger, } from "../ui/collapsible" import { ChevronDownIcon } from "lucide-react" -import { BlockAnnotation, AnnotationHandler, InnerLine } from "codehike/code" -import React from "react" +import {AnnotationHandler, BlockAnnotation, InnerLine} from "codehike/code"; +import React from "react"; const collapseRoot: AnnotationHandler = { name: "collapse", @@ -34,29 +34,31 @@ const collapseRoot: AnnotationHandler = { ) }, } + const icon = ( - + ) const collapseTrigger: AnnotationHandler = { name: "CollapseTrigger", onlyIfAnnotated: true, AnnotatedLine: ({ annotation, ...props }) => ( - - - + + + {/*...*/} + ), Line: (props) => { const icon = props.data?.icon as React.ReactNode return ( -
- {icon} -
- +
+ {icon} +
+ +
-
) }, } diff --git a/src/components/code/annotations/mark.tsx b/src/components/code/annotations/mark.tsx index 5b00336d..70a2f879 100644 --- a/src/components/code/annotations/mark.tsx +++ b/src/components/code/annotations/mark.tsx @@ -7,8 +7,7 @@ export const mark: AnnotationHandler = { return (
-
+
- {title} + {title}
- + {(!noCopyButton) ? : null} {pre}
@@ -126,9 +129,9 @@ export function HighCode({ } as any } > -
+
- + {(!noCopyButton) ? : null} {pre}
diff --git a/src/components/code/code/text-and-code.module.css b/src/components/code/code/text-and-code.module.css index a8b1f651..2446604a 100644 --- a/src/components/code/code/text-and-code.module.css +++ b/src/components/code/code/text-and-code.module.css @@ -14,6 +14,8 @@ } .text-and-code-sticker { + min-width: 70%; + max-width: 70%; flex: 0 0 60%; box-sizing: border-box; display: block; diff --git a/src/components/code/scrollycoding.module.css b/src/components/code/scrollycoding.module.css index 9b8be16d..ace7a046 100644 --- a/src/components/code/scrollycoding.module.css +++ b/src/components/code/scrollycoding.module.css @@ -11,6 +11,12 @@ margin-left: 0.5rem; min-width: 30%; max-width: 30%; + + ol { + margin-block-start: 0; + margin-block-end: 0; + padding-inline-start: 24px; + } } .step { @@ -23,6 +29,10 @@ } .step[data-selected="true"] { + border-radius: 0; + padding: 24px; + box-shadow: inset 0 1px #e3e8ee; + margin: 0 0 0 -0.5rem; border: 0; border-left: 4px solid var(--ifm-color-secondary-darkest); background-color: var(--docusaurus-highlighted-code-line-bg); diff --git a/src/components/code/scrollycoding.tsx b/src/components/code/scrollycoding.tsx index e259b0cf..11a2eb77 100644 --- a/src/components/code/scrollycoding.tsx +++ b/src/components/code/scrollycoding.tsx @@ -9,12 +9,15 @@ import { Block, HighlightedCodeBlock, parseProps } from "codehike/blocks" import styles from "./scrollycoding.module.css" import React from "react" import { Code, CodeTabs } from "./code" +import {Terminal, TerminalView} from "./terminal"; const Schema = Block.extend({ steps: z.array( Block.extend({ code: z.optional(HighlightedCodeBlock), tabs: z.optional(z.array(HighlightedCodeBlock)), + command: z.optional(HighlightedCodeBlock), + output: z.optional(HighlightedCodeBlock), activeTabIndex: z.optional(z.number()), }) ), @@ -23,7 +26,6 @@ const Schema = Block.extend({ export function Scrollycoding(props: unknown) { const { steps } = parseProps(props, Schema) - console.log(steps[0]) return (
@@ -31,10 +33,10 @@ export function Scrollycoding(props: unknown) { -

{step.title}

+ {(step.title.length > 0) ?

{step.title}

: null}
{step.children}
))} @@ -43,7 +45,9 @@ export function Scrollycoding(props: unknown) { from={steps.map((step) => (
- {"code" in step ? ( + {"command" in step && "output" in step ? ( + TerminalView(step.command, step.output) + ) : "code" in step ? ( + + +
+ ); +} + +const TerminalWithTabsSchema = Block.extend({ groupId: z.optional(z.string()), terminals: z.array(Schema) }) +export function TerminalWithTabs(props: unknown) { + const { groupId, terminals } = parseProps(props, TerminalWithTabsSchema) + return ( + + + {terminals.map((tab, i) => ( + + {TerminalView(tab.command, tab.output, true)} + + ))} + + ) +} \ No newline at end of file diff --git a/src/components/code/ui/collapsible.tsx b/src/components/code/ui/collapsible.tsx index a403555d..9fa48946 100644 --- a/src/components/code/ui/collapsible.tsx +++ b/src/components/code/ui/collapsible.tsx @@ -1,11 +1,11 @@ -// "use client" -// -// import * as CollapsiblePrimitive from "@radix-ui/react-collapsible" -// -// const Collapsible = CollapsiblePrimitive.Root -// -// const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger -// -// const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent -// -// export { Collapsible, CollapsibleTrigger, CollapsibleContent } +"use client" + +import * as CollapsiblePrimitive from "@radix-ui/react-collapsible" + +const Collapsible = CollapsiblePrimitive.Root + +const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger + +const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent + +export { Collapsible, CollapsibleTrigger, CollapsibleContent } diff --git a/src/css/codehike-styling.css b/src/css/codehike-styling.css index 8803f8db..4995885a 100644 --- a/src/css/codehike-styling.css +++ b/src/css/codehike-styling.css @@ -8,6 +8,7 @@ pre { font-size: 14px; + padding-left: 0; } .ch-codeblock, .ch-codegroup, .ch-preview { @@ -37,26 +38,11 @@ pre { cursor: pointer; } -.ch-code-wrapper .flex{ - border: none !important; +.ch-code-wrapper .flex { + .px-2.flex-1 { + margin-left: 1rem; + } } - -.code-file-name { - font-size: .875rem; - line-height: 1.25rem; - padding-bottom: .5rem; - padding-top: .5rem; - padding-left: .75rem; - padding-right: .75rem; - border-bottom: 2px; - gap: 0.75rem; - border-bottom: 1px solid var(--ch-t-editorGroupHeader-tabsBackground); -} - -.code-file-name-title { - margin-left: 0.75rem; -} - .code-tabs { margin-bottom: 0 !important; } @@ -109,4 +95,143 @@ ul.tabs { .ch-code-multiline-mark { background: var(--docusaurus-highlighted-code-line-bg); -} \ No newline at end of file +} + +/* mark*/ +button.group.contents { + background: none; + border: none; + font: inherit; +} + +.table-row { + display: table-row; +} + +.text-center {.px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.bg-zinc-800 { + --tw-bg-opacity: 1; + background-color: rgb(39 39 42 / var(--tw-bg-opacity)); +} +.border-current { + border-color: currentColor; +} +.border { + border-width: 1px; +} +.rounded { + border-radius: .25rem; +} +.whitespace-break-spaces { + white-space: break-spaces; +} +.w-fit { + width: fit-content; +} +.mt-1 { + margin-top: .25rem; +} +.-ml-\[1ch\] { + margin-left: -1ch; +} +.relative { + position: relative; +} + text-align: center; +} + +.w-5 { + width: 0rem; +} + +.table-cell { + display: table-cell !important; +} + +.group[data-state=closed] .group-data-\[state\=closed\]\:opacity-80 { + opacity: .8; +} +.group[data-state=closed] .group-data-\[state\=closed\]\:-rotate-90, .group\/accordion[data-state=open] .group-data-\[state\=open\]\/accordion\:rotate-90 { + --tw-border-spacing-x: 0; + --tw-border-spacing-y: 0; + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); +} +.group[data-state=closed] .group-data-\[state\=closed\]\:-rotate-90 { + --tw-rotate: -90deg; +} +.transition { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(.4,0,.2,1); + transition-duration: .15s; +} +.opacity-30 { + opacity: .3; +} +.select-none { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.inline-block { + display: inline-block; +} +.mb-0\.5 { + margin-bottom: .125rem; +} + +.button.group.contents [role=button], button { + cursor: pointer; +} + +.align-middle { + display: flex; + align-items: center; +} + + +/* Call out */ +.px-2 { + padding-left: .5rem; + padding-right: .5rem; +} +.bg-zinc-800 { + --tw-bg-opacity: 1; + background-color: rgb(39 39 42 / var(--tw-bg-opacity)); +} +.border-current { + border-color: currentColor; +} +.border { + border-width: 1px; +} +.rounded { + border-radius: .25rem; +} +.whitespace-break-spaces { + white-space: break-spaces; +} +.w-fit { + width: fit-content; +} +.mt-1 { + margin-top: .25rem; +} +.-ml-\[1ch\] { + margin-left: -1ch; +} +.relative { + position: relative; +} + diff --git a/src/css/custom.css b/src/css/custom.css index 07e45cb0..2da853fc 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -439,16 +439,21 @@ ol { } .selection-button .tabs__item { - border: 1px solid var(--ifm-color-secondary); + border: 1px solid #e7eaed; border-radius: 8px; padding: 0.2rem 0.5rem; cursor: pointer; + background-color: #f6f8fa; } .selection-button .tabs__item--active { - color: var(--ifm-color-secondary-darker); - background-color: var(--ifm-color-secondary-light); - border-color: var(--ifm-color-secondary-darker); + background-color: white; + border: 1px solid #bcc0c5; + /*color: var(--ifm-color-secondary-darker);*/ + /*box-shadow: inset -1px 0 0 0 #d1d5da;*/ + + /*background-color: var(--ifm-color-secondary-light);*/ + /*border-color: var(--ifm-color-secondary-darker);*/ } /* Add this to your CSS file */ diff --git a/src/plugins/code-loader.js b/src/plugins/code-loader.js index 0e5a1322..27d65e03 100644 --- a/src/plugins/code-loader.js +++ b/src/plugins/code-loader.js @@ -7,11 +7,12 @@ const COMMENT_SYMBOL = { kotlin: "//", python: "#", go: "//", - proto: "//" + proto: "//", + rust: "//" } const plugin = (options) => { - const codeLoadRegex = /^CODE_LOAD::([^#?]+)(?:#([^?]*))?(?:\?(.+))?$/g; + const codeLoadRegex = /.*CODE_LOAD::([^#?]+)(?:#([^?]*))?(?:\?(.+))?$/g; const injectCode = async (str) => { let fileData = null; @@ -26,7 +27,7 @@ const plugin = (options) => { const fileContent = await readFileOrFetch(fileData.filePath); const data = extractAndClean(fileContent, fileData.customTag, fileData.markNumber, fileData.filePath); - return str.replace(codeLoadRegex, () => data); + return str.replace(codeLoadRegex, (match) => match.replace(/.*CODE_LOAD::[^#?]+(?:#([^?]*))?(?:\?(.+))?$/, data)); }; async function readFileOrFetch(filepath) { @@ -52,6 +53,8 @@ const plugin = (options) => { return COMMENT_SYMBOL.python; } else if (filePath.includes(".go")) { return COMMENT_SYMBOL.go; + } else if (filePath.includes(".rs")) { + return COMMENT_SYMBOL.rust; } else if (filePath.includes(".proto")) { return COMMENT_SYMBOL.proto; } else { diff --git a/static/img/quickstart/overview.svg b/static/img/quickstart/overview.svg new file mode 100644 index 00000000..51451856 --- /dev/null +++ b/static/img/quickstart/overview.svg @@ -0,0 +1,908 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/yarn.lock b/yarn.lock index 0a540363..3ef9448b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -84,7 +84,7 @@ "@algolia/requester-common" "4.23.3" "@algolia/transporter" "4.23.3" -"@algolia/client-search@4.23.3": +"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.23.3": version "4.23.3" resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz" integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw== @@ -176,12 +176,17 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== -"@babel/compat-data@^7.25.2", "@babel/compat-data@^7.25.4": +"@babel/compat-data@^7.25.2": version "7.25.4" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz" integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== -"@babel/core@^7.19.6", "@babel/core@^7.21.3", "@babel/core@^7.23.3": +"@babel/compat-data@^7.25.4": + version "7.25.4" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz" + integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.19.6", "@babel/core@^7.21.3", "@babel/core@^7.23.3", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0": version "7.25.2" resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz" integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== @@ -349,7 +354,32 @@ dependencies: "@babel/types" "^7.24.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-plugin-utils@^7.10.4": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-plugin-utils@^7.12.13": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-plugin-utils@^7.14.5": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-plugin-utils@^7.18.6": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0": version "7.24.0" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== @@ -359,6 +389,16 @@ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz" integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== +"@babel/helper-plugin-utils@^7.8.0": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + +"@babel/helper-plugin-utils@^7.8.3": + version "7.24.0" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz" + integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== + "@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": version "7.25.0" resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz" @@ -1310,7 +1350,7 @@ "@docsearch/css" "3.6.0" algoliasearch "^4.19.1" -"@docusaurus/core@3.5.2", "@docusaurus/core@^3.5.2": +"@docusaurus/core@^3.0.0", "@docusaurus/core@^3.5.2", "@docusaurus/core@3.5.2": version "3.5.2" resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.5.2.tgz" integrity sha512-4Z1WkhCSkX4KO0Fw5m/Vuc7Q3NxBG53NE5u59Rs96fWkMPZVSrzEPP16/Nk6cWb/shK7xXPndTmalJtw7twL/w== @@ -1440,7 +1480,7 @@ vfile "^6.0.1" webpack "^5.88.1" -"@docusaurus/module-type-aliases@3.5.2", "@docusaurus/module-type-aliases@^3.5.2": +"@docusaurus/module-type-aliases@^3.5.2", "@docusaurus/module-type-aliases@3.5.2": version "3.5.2" resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.5.2.tgz" integrity sha512-Z+Xu3+2rvKef/YKTMxZHsEXp1y92ac0ngjDiExRdqGTmEKtCUpkbNYH8v5eXo5Ls+dnW88n6WTa+Q54kLOkwPg== @@ -1477,7 +1517,7 @@ utility-types "^3.10.0" webpack "^5.88.1" -"@docusaurus/plugin-content-docs@3.5.2": +"@docusaurus/plugin-content-docs@*", "@docusaurus/plugin-content-docs@3.5.2": version "3.5.2" resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.5.2.tgz" integrity sha512-Bt+OXn/CPtVqM3Di44vHjE7rPCEsRCB/DMo2qoOuozB9f7+lsdrHvD0QCHdBs0uhz6deYJDppAr2VgqybKPlVQ== @@ -1591,7 +1631,7 @@ "@docusaurus/theme-search-algolia" "3.5.2" "@docusaurus/types" "3.5.2" -"@docusaurus/theme-classic@3.5.2": +"@docusaurus/theme-classic@^3.0.0", "@docusaurus/theme-classic@3.5.2": version "3.5.2" resolved "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.5.2.tgz" integrity sha512-XRpinSix3NBv95Rk7xeMF9k4safMkwnpSgThn0UNQNumKvmcIYjfkwfh2BhwYh/BxMXQHJ/PdmNh22TQFpIaYg== @@ -1622,7 +1662,7 @@ tslib "^2.6.0" utility-types "^3.10.0" -"@docusaurus/theme-common@3.5.2": +"@docusaurus/theme-common@^3.0.0", "@docusaurus/theme-common@3.5.2": version "3.5.2" resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.5.2.tgz" integrity sha512-QXqlm9S6x9Ibwjs7I2yEDgsCocp708DrCrgHgKwg2n2AY0YQ6IjU0gAK35lHRLOvAoJUfCKpQAwUykB0R7+Eew== @@ -1675,7 +1715,7 @@ resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.5.2.tgz" integrity sha512-rQ7toURCFnWAIn8ubcquDs0ewhPwviMzxh6WpRjBW7sJVCXb6yzwUaY3HMNa0VXCFw+qkIbFywrMTf+Pb4uHWQ== -"@docusaurus/types@3.5.2": +"@docusaurus/types@*", "@docusaurus/types@3.5.2": version "3.5.2" resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.5.2.tgz" integrity sha512-N6GntLXoLVUwkZw7zCxwy9QiuEXIcTVzA9AkmNw16oc0AP3SXLrMmDMMBIfgqwuKWa6Ox6epHol9kMtJqekACw== @@ -1711,28 +1751,7 @@ lodash "^4.17.21" tslib "^2.6.0" -"@docusaurus/utils@2.0.0-beta.18": - version "2.0.0-beta.18" - resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.18.tgz" - integrity sha512-v2vBmH7xSbPwx3+GB90HgLSQdj+Rh5ELtZWy7M20w907k0ROzDmPQ/8Ke2DK3o5r4pZPGnCrsB3SaYI83AEmAA== - dependencies: - "@docusaurus/logger" "2.0.0-beta.18" - "@svgr/webpack" "^6.2.1" - file-loader "^6.2.0" - fs-extra "^10.0.1" - github-slugger "^1.4.0" - globby "^11.1.0" - gray-matter "^4.0.3" - js-yaml "^4.1.0" - lodash "^4.17.21" - micromatch "^4.0.5" - resolve-pathname "^3.0.0" - shelljs "^0.8.5" - tslib "^2.3.1" - url-loader "^4.1.1" - webpack "^5.70.0" - -"@docusaurus/utils@3.5.2": +"@docusaurus/utils@^3.0.0", "@docusaurus/utils@3.5.2": version "3.5.2" resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.5.2.tgz" integrity sha512-33QvcNFh+Gv+C2dP9Y9xWEzMgf3JzrpL2nW9PopidiohS1nDcyknKRx2DWaFvyVTTYIkkABVSr073VTj/NITNA== @@ -1758,6 +1777,27 @@ utility-types "^3.10.0" webpack "^5.88.1" +"@docusaurus/utils@2.0.0-beta.18": + version "2.0.0-beta.18" + resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-2.0.0-beta.18.tgz" + integrity sha512-v2vBmH7xSbPwx3+GB90HgLSQdj+Rh5ELtZWy7M20w907k0ROzDmPQ/8Ke2DK3o5r4pZPGnCrsB3SaYI83AEmAA== + dependencies: + "@docusaurus/logger" "2.0.0-beta.18" + "@svgr/webpack" "^6.2.1" + file-loader "^6.2.0" + fs-extra "^10.0.1" + github-slugger "^1.4.0" + globby "^11.1.0" + gray-matter "^4.0.3" + js-yaml "^4.1.0" + lodash "^4.17.21" + micromatch "^4.0.5" + resolve-pathname "^3.0.0" + shelljs "^0.8.5" + tslib "^2.3.1" + url-loader "^4.1.1" + webpack "^5.70.0" + "@emotion/is-prop-valid@1.2.2": version "1.2.2" resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz" @@ -1931,7 +1971,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1970,6 +2010,81 @@ resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz" integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== +"@radix-ui/primitive@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz" + integrity sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA== + +"@radix-ui/react-collapsible@^1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.1.tgz" + integrity sha512-1///SnrfQHJEofLokyczERxQbWfCGQlQ2XsCZMucVs6it+lq9iw4vXy+uDn1edlb58cOZOWSldnfPAYcT4O/Yg== + dependencies: + "@radix-ui/primitive" "1.1.0" + "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-context" "1.1.1" + "@radix-ui/react-id" "1.1.0" + "@radix-ui/react-presence" "1.1.1" + "@radix-ui/react-primitive" "2.0.0" + "@radix-ui/react-use-controllable-state" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + +"@radix-ui/react-compose-refs@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz" + integrity sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw== + +"@radix-ui/react-context@1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz" + integrity sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q== + +"@radix-ui/react-id@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz" + integrity sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA== + dependencies: + "@radix-ui/react-use-layout-effect" "1.1.0" + +"@radix-ui/react-presence@1.1.1": + version "1.1.1" + resolved "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.1.tgz" + integrity sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A== + dependencies: + "@radix-ui/react-compose-refs" "1.1.0" + "@radix-ui/react-use-layout-effect" "1.1.0" + +"@radix-ui/react-primitive@2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz" + integrity sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw== + dependencies: + "@radix-ui/react-slot" "1.1.0" + +"@radix-ui/react-slot@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz" + integrity sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw== + dependencies: + "@radix-ui/react-compose-refs" "1.1.0" + +"@radix-ui/react-use-callback-ref@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz" + integrity sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw== + +"@radix-ui/react-use-controllable-state@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz" + integrity sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw== + dependencies: + "@radix-ui/react-use-callback-ref" "1.1.0" + +"@radix-ui/react-use-layout-effect@1.1.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz" + integrity sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w== + "@redocly/ajv@^8.11.0": version "8.11.0" resolved "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz" @@ -2000,13 +2115,13 @@ resolved "https://registry.npmjs.org/@redocly/config/-/config-0.6.3.tgz" integrity sha512-hGWJgCsXRw0Ow4rplqRlUQifZvoSwZipkYnt11e3SeH1Eb23VUIDBcRuaQOUqy1wn0eevXkU2GzzQ8fbKdQ7Mg== -"@redocly/openapi-core@1.16.0": - version "1.16.0" - resolved "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.16.0.tgz" - integrity sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg== +"@redocly/openapi-core@^1.4.0": + version "1.24.0" + resolved "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.24.0.tgz" + integrity sha512-BFCwRTwkAHeYd8/IggOo0ZyseLJHzSTVGnVRaZCG0rcH3+d+N6qcjYIQRuNrjHlIFCsVFL7/ugLWFL5irODt7g== dependencies: - "@redocly/ajv" "^8.11.0" - "@redocly/config" "^0.6.0" + "@redocly/ajv" "^8.11.2" + "@redocly/config" "^0.10.1" colorette "^1.2.0" https-proxy-agent "^7.0.4" js-levenshtein "^1.1.6" @@ -2017,13 +2132,13 @@ pluralize "^8.0.0" yaml-ast-parser "0.0.43" -"@redocly/openapi-core@^1.4.0": - version "1.24.0" - resolved "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.24.0.tgz" - integrity sha512-BFCwRTwkAHeYd8/IggOo0ZyseLJHzSTVGnVRaZCG0rcH3+d+N6qcjYIQRuNrjHlIFCsVFL7/ugLWFL5irODt7g== +"@redocly/openapi-core@1.16.0": + version "1.16.0" + resolved "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.16.0.tgz" + integrity sha512-z06h+svyqbUcdAaePq8LPSwTPlm6Ig7j2VlL8skPBYnJvyaQ2IN7x/JkOvRL4ta+wcOCBdAex5JWnZbKaNktJg== dependencies: - "@redocly/ajv" "^8.11.2" - "@redocly/config" "^0.10.1" + "@redocly/ajv" "^8.11.0" + "@redocly/config" "^0.6.0" colorette "^1.2.0" https-proxy-agent "^7.0.4" js-levenshtein "^1.1.6" @@ -2121,16 +2236,16 @@ "@types/json-schema" "^7.0.4" utility-types "^3.10.0" -"@svgr/babel-plugin-add-jsx-attribute@8.0.0": - version "8.0.0" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" - integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== - "@svgr/babel-plugin-add-jsx-attribute@^6.5.1": version "6.5.1" resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz" integrity sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ== +"@svgr/babel-plugin-add-jsx-attribute@8.0.0": + version "8.0.0" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-8.0.0.tgz" + integrity sha512-b9MIk7yhdS1pMCZM8VeNfUlSKVRhsHZNMl5O9SfaX0l0t5wjdgu4IDzGB8bpnGBBOjGST3rRFVsaaEtI4W6f7g== + "@svgr/babel-plugin-remove-jsx-attribute@*", "@svgr/babel-plugin-remove-jsx-attribute@8.0.0": version "8.0.0" resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz" @@ -2141,55 +2256,69 @@ resolved "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz" integrity sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA== +"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": + version "6.5.1" + resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" + integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== + "@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0": version "8.0.0" resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-8.0.0.tgz" integrity sha512-KVQ+PtIjb1BuYT3ht8M5KbzWBhdAjjUPdlMtpuw/VjT8coTrItWX6Qafl9+ji831JaJcu6PJNKCV0bp01lBNzQ== -"@svgr/babel-plugin-replace-jsx-attribute-value@^6.5.1": +"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz" - integrity sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg== + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" + integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== "@svgr/babel-plugin-svg-dynamic-title@8.0.0": version "8.0.0" resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-8.0.0.tgz" integrity sha512-omNiKqwjNmOQJ2v6ge4SErBbkooV2aAWwaPFs2vUY7p7GhVkzRkJ00kILXQvRhA6miHnNpXv7MRnnSjdRjK8og== -"@svgr/babel-plugin-svg-dynamic-title@^6.5.1": +"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz" - integrity sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw== + resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" + integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== "@svgr/babel-plugin-svg-em-dimensions@8.0.0": version "8.0.0" resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-8.0.0.tgz" integrity sha512-mURHYnu6Iw3UBTbhGwE/vsngtCIbHE43xCRK7kCw4t01xyGqb2Pd+WXekRRoFOBIY29ZoOhUCTEweDMdrjfi9g== -"@svgr/babel-plugin-svg-em-dimensions@^6.5.1": +"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz" - integrity sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA== + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" + integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== "@svgr/babel-plugin-transform-react-native-svg@8.1.0": version "8.1.0" resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-8.1.0.tgz" integrity sha512-Tx8T58CHo+7nwJ+EhUwx3LfdNSG9R2OKfaIXXs5soiy5HtgoAEkDay9LIimLOcG8dJQH1wPZp/cnAv6S9CrR1Q== -"@svgr/babel-plugin-transform-react-native-svg@^6.5.1": +"@svgr/babel-plugin-transform-svg-component@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz" - integrity sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg== + resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" + integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== "@svgr/babel-plugin-transform-svg-component@8.0.0": version "8.0.0" resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-8.0.0.tgz" integrity sha512-DFx8xa3cZXTdb/k3kfPeaixecQLgKh5NVBMwD0AQxOzcZawK4oo1Jh9LbrcACUivsCA7TLG8eeWgrDXjTMhRmw== -"@svgr/babel-plugin-transform-svg-component@^6.5.1": +"@svgr/babel-preset@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz" - integrity sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ== + resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" + integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + dependencies: + "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" + "@svgr/babel-plugin-remove-jsx-attribute" "*" + "@svgr/babel-plugin-remove-jsx-empty-expression" "*" + "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" + "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" + "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" + "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" + "@svgr/babel-plugin-transform-svg-component" "^6.5.1" "@svgr/babel-preset@8.1.0": version "8.1.0" @@ -2205,19 +2334,16 @@ "@svgr/babel-plugin-transform-react-native-svg" "8.1.0" "@svgr/babel-plugin-transform-svg-component" "8.0.0" -"@svgr/babel-preset@^6.5.1": +"@svgr/core@*", "@svgr/core@^6.0.0", "@svgr/core@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz" - integrity sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw== + resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" + integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^6.5.1" - "@svgr/babel-plugin-remove-jsx-attribute" "*" - "@svgr/babel-plugin-remove-jsx-empty-expression" "*" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^6.5.1" - "@svgr/babel-plugin-svg-dynamic-title" "^6.5.1" - "@svgr/babel-plugin-svg-em-dimensions" "^6.5.1" - "@svgr/babel-plugin-transform-react-native-svg" "^6.5.1" - "@svgr/babel-plugin-transform-svg-component" "^6.5.1" + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/plugin-jsx" "^6.5.1" + camelcase "^6.2.0" + cosmiconfig "^7.0.1" "@svgr/core@8.1.0": version "8.1.0" @@ -2230,16 +2356,13 @@ cosmiconfig "^8.1.3" snake-case "^3.0.4" -"@svgr/core@^6.5.1": +"@svgr/hast-util-to-babel-ast@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz" - integrity sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw== + resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" + integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/plugin-jsx" "^6.5.1" - camelcase "^6.2.0" - cosmiconfig "^7.0.1" + "@babel/types" "^7.20.0" + entities "^4.4.0" "@svgr/hast-util-to-babel-ast@8.0.0": version "8.0.0" @@ -2249,13 +2372,15 @@ "@babel/types" "^7.21.3" entities "^4.4.0" -"@svgr/hast-util-to-babel-ast@^6.5.1": +"@svgr/plugin-jsx@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz" - integrity sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw== + resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" + integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== dependencies: - "@babel/types" "^7.20.0" - entities "^4.4.0" + "@babel/core" "^7.19.6" + "@svgr/babel-preset" "^6.5.1" + "@svgr/hast-util-to-babel-ast" "^6.5.1" + svg-parser "^2.0.4" "@svgr/plugin-jsx@8.1.0": version "8.1.0" @@ -2267,15 +2392,14 @@ "@svgr/hast-util-to-babel-ast" "8.0.0" svg-parser "^2.0.4" -"@svgr/plugin-jsx@^6.5.1": +"@svgr/plugin-svgo@^6.5.1": version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz" - integrity sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw== + resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" + integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== dependencies: - "@babel/core" "^7.19.6" - "@svgr/babel-preset" "^6.5.1" - "@svgr/hast-util-to-babel-ast" "^6.5.1" - svg-parser "^2.0.4" + cosmiconfig "^7.0.1" + deepmerge "^4.2.2" + svgo "^2.8.0" "@svgr/plugin-svgo@8.1.0": version "8.1.0" @@ -2286,15 +2410,6 @@ deepmerge "^4.3.1" svgo "^3.0.2" -"@svgr/plugin-svgo@^6.5.1": - version "6.5.1" - resolved "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz" - integrity sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ== - dependencies: - cosmiconfig "^7.0.1" - deepmerge "^4.2.2" - svgo "^2.8.0" - "@svgr/webpack@^6.2.1": version "6.5.1" resolved "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz" @@ -2601,7 +2716,7 @@ "@types/history" "^4.7.11" "@types/react" "*" -"@types/react@*", "@types/react@>=16", "@types/react@^18.2.29": +"@types/react@*", "@types/react@^18.2.29", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16", "@types/react@>=16 <= 18", "@types/react@>=18": version "18.2.77" resolved "https://registry.npmjs.org/@types/react/-/react-18.2.77.tgz" integrity sha512-CUT9KUUF+HytDM7WiXKLF9qUSg4tGImwy4FXTlfEDPEkkNUzJ7rVFolYweJ9fS1ljoIaP7M7Rdjc5eUm/Yu5AA== @@ -2662,12 +2777,12 @@ resolved "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz" integrity sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug== -"@types/unist@*", "@types/unist@^3.0.0": +"@types/unist@*": version "3.0.2" resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz" integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== -"@types/unist@^2", "@types/unist@^2.0.2": +"@types/unist@^2": version "2.0.11" resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz" integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== @@ -2677,6 +2792,16 @@ resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz" integrity sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA== +"@types/unist@^2.0.2": + version "2.0.11" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== + +"@types/unist@^3.0.0": + version "3.0.2" + resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz" + integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + "@types/urijs@^1.19.19": version "1.19.25" resolved "https://registry.npmjs.org/@types/urijs/-/urijs-1.19.25.tgz" @@ -2706,7 +2831,7 @@ resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== -"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1": +"@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1": version "1.12.1" resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz" integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg== @@ -2807,7 +2932,7 @@ "@webassemblyjs/wasm-gen" "1.12.1" "@webassemblyjs/wasm-parser" "1.12.1" -"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1": +"@webassemblyjs/wasm-parser@^1.12.1", "@webassemblyjs/wasm-parser@1.12.1": version "1.12.1" resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz" integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ== @@ -2865,7 +2990,7 @@ acorn-walk@^8.0.0: resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== -acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2: version "8.11.3" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -2909,7 +3034,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.5: +ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1: version "6.12.6" resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2919,7 +3044,7 @@ ajv@^6.12.2, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0: version "8.12.0" resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -2936,7 +3061,7 @@ algoliasearch-helper@^3.13.3: dependencies: "@algolia/events" "^4.0.1" -algoliasearch@^4.18.0, algoliasearch@^4.19.1: +algoliasearch@^4.18.0, algoliasearch@^4.19.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6": version "4.23.3" resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz" integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg== @@ -3046,6 +3171,28 @@ array-union@^2.1.0: resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array.prototype.filter@^1.0.0: + version "1.0.4" + resolved "https://registry.npmjs.org/array.prototype.filter/-/array.prototype.filter-1.0.4.tgz" + integrity sha512-r+mCJ7zXgXElgR4IRC+fkvNCeoaavWBs6EdCso5Tbcf+iEMKzBU/His60lt34WEZ9vlb8wDkZvQGcVI5GwkfoQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.2" + es-array-method-boxes-properly "^1.0.0" + es-object-atoms "^1.0.0" + is-string "^1.0.7" + +array.prototype.flat@^1.2.3: + version "1.3.2" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== + dependencies: + call-bind "^1.0.2" + define-properties "^1.2.0" + es-abstract "^1.22.1" + es-shim-unscopables "^1.0.0" + array.prototype.reduce@^1.0.6: version "1.0.7" resolved "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz" @@ -3272,7 +3419,7 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0, browserslist@^4.23.1, browserslist@^4.23.3: +browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0, browserslist@^4.23.1, browserslist@^4.23.3, "browserslist@>= 4.21.0": version "4.23.3" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz" integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== @@ -3374,7 +3521,12 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001646: resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz" integrity sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg== -ccount@^1.0.0, ccount@^1.0.3: +ccount@^1.0.0: + version "1.1.0" + resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" + integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== + +ccount@^1.0.3: version "1.1.0" resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== @@ -3384,7 +3536,16 @@ ccount@^2.0.0: resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== -chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.4.1: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3458,7 +3619,7 @@ cheerio-select@^2.1.0: domhandler "^5.0.3" domutils "^3.0.1" -cheerio@1.0.0-rc.12: +cheerio@^1.0.0-rc.3, cheerio@1.0.0-rc.12: version "1.0.0-rc.12" resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz" integrity sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q== @@ -3552,11 +3713,6 @@ clone-deep@^4.0.1: kind-of "^6.0.2" shallow-clone "^3.0.0" -clsx@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz" - integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== - clsx@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz" @@ -3567,6 +3723,11 @@ clsx@^2.0.0: resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== +clsx@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz" + integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== + coa@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz" @@ -3606,16 +3767,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + colord@^2.9.3: version "2.9.3" resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz" @@ -3651,6 +3812,11 @@ commander@^10.0.0: resolved "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz" integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== +commander@^2.19.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@^2.20.0: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" @@ -3798,7 +3964,7 @@ core-js-pure@^3.30.2: resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.1.tgz" integrity sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA== -core-js@^3.31.1: +core-js@^3.1.4, core-js@^3.31.1: version "3.36.1" resolved "https://registry.npmjs.org/core-js/-/core-js-3.36.1.tgz" integrity sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA== @@ -3938,14 +4104,6 @@ css-to-react-native@3.2.0: css-color-keywords "^1.0.0" postcss-value-parser "^4.0.2" -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - css-tree@^1.1.2, css-tree@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz" @@ -3970,6 +4128,14 @@ css-tree@~2.2.0: mdn-data "2.0.28" source-map-js "^1.0.1" +css-tree@1.0.0-alpha.37: + version "1.0.0-alpha.37" + resolved "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz" + integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== + dependencies: + mdn-data "2.0.4" + source-map "^0.6.1" + css-what@^3.2.1: version "3.4.2" resolved "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz" @@ -4061,7 +4227,7 @@ csso@^5.0.5: dependencies: css-tree "~2.2.0" -csstype@3.1.3, csstype@^3.0.2: +csstype@^3.0.2, csstype@3.1.3: version "3.1.3" resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== @@ -4098,14 +4264,14 @@ debounce@^1.2.1: resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.6.0: +debug@^2.6.0: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: +debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -4119,6 +4285,13 @@ debug@^4.3.4: dependencies: ms "^2.1.3" +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + decko@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz" @@ -4197,16 +4370,16 @@ del@^6.1.1: rimraf "^3.0.2" slash "^3.0.0" -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - depd@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + dependency-graph@~0.11.0: version "0.11.0" resolved "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz" @@ -4262,6 +4435,11 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +discontinuous-range@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz" + integrity sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ== + dns-packet@^5.2.2: version "5.6.1" resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz" @@ -4340,14 +4518,6 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz" @@ -4366,16 +4536,24 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" -domelementtype@1: - version "1.3.1" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== +dom-serializer@0: + version "0.2.2" + resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz" + integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== + dependencies: + domelementtype "^2.0.1" + entities "^2.0.0" domelementtype@^2.0.1, domelementtype@^2.2.0, domelementtype@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== +domelementtype@1: + version "1.3.1" + resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz" + integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== + domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz" @@ -4403,7 +4581,16 @@ domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.5.2, domutils@^2.8.0: +domutils@^2.5.2: + version "2.8.0" + resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +domutils@^2.8.0: version "2.8.0" resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== @@ -4517,7 +4704,7 @@ entities@^4.2.0, entities@^4.4.0: resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== -enzyme-shallow-equal@^1.0.0: +enzyme-shallow-equal@^1.0.0, enzyme-shallow-equal@^1.0.1: version "1.0.7" resolved "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.7.tgz" integrity sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg== @@ -4525,6 +4712,34 @@ enzyme-shallow-equal@^1.0.0: hasown "^2.0.0" object-is "^1.1.5" +enzyme@^3.11.0: + version "3.11.0" + resolved "https://registry.npmjs.org/enzyme/-/enzyme-3.11.0.tgz" + integrity sha512-Dw8/Gs4vRjxY6/6i9wU0V+utmQO9kvh9XLnz3LIudviOnVYDEe2ec+0k+NQoMamn1VrjKgCUOWj5jG/5M5M0Qw== + dependencies: + array.prototype.flat "^1.2.3" + cheerio "^1.0.0-rc.3" + enzyme-shallow-equal "^1.0.1" + function.prototype.name "^1.1.2" + has "^1.0.3" + html-element-map "^1.2.0" + is-boolean-object "^1.0.1" + is-callable "^1.1.5" + is-number-object "^1.0.4" + is-regex "^1.0.5" + is-string "^1.0.5" + is-subset "^0.1.1" + lodash.escape "^4.0.1" + lodash.isequal "^4.5.0" + object-inspect "^1.7.0" + object-is "^1.0.2" + object.assign "^4.1.0" + object.entries "^1.1.1" + object.values "^1.1.1" + raf "^3.4.1" + rst-selector-parser "^2.2.3" + string.prototype.trim "^1.2.1" + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" @@ -4622,6 +4837,13 @@ es-set-tostringtag@^2.0.3: has-tostringtag "^1.0.2" hasown "^2.0.1" +es-shim-unscopables@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz" + integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== + dependencies: + hasown "^2.0.0" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" @@ -4963,7 +5185,7 @@ feed@^4.2.2: dependencies: xml-js "^1.6.11" -file-loader@^6.2.0: +file-loader@*, file-loader@^6.2.0: version "6.2.0" resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz" integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== @@ -5131,17 +5353,12 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.6: +function.prototype.name@^1.1.2, function.prototype.name@^1.1.6: version "1.1.6" resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz" integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== @@ -5315,16 +5532,16 @@ got@^12.1.0: p-cancelable "^3.0.0" responselike "^3.0.0" -graceful-fs@4.2.10: - version "4.2.10" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, 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.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== +graceful-fs@4.2.10: + version "4.2.10" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== + gray-matter@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" @@ -5391,7 +5608,7 @@ has-yarn@^3.0.0: resolved "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz" integrity sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA== -has@^1.0.4: +has@^1.0.3, has@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/has/-/has-1.0.4.tgz" integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== @@ -5603,6 +5820,14 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" +html-element-map@^1.2.0: + version "1.3.1" + resolved "https://registry.npmjs.org/html-element-map/-/html-element-map-1.3.1.tgz" + integrity sha512-6XMlxrAFX4UEEGxctfFnmrFaaZFNf9i5fNuV5wZ3WWQ4FVaNP1aX1LkX9j2mfEx1NpjeE/rL3nmgEn23GdFmrg== + dependencies: + array.prototype.filter "^1.0.0" + call-bind "^1.0.2" + html-entities@^2.3.2: version "2.5.2" resolved "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz" @@ -5695,6 +5920,16 @@ http-deceiver@^1.2.7: resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz" integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-errors@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" @@ -5706,16 +5941,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz" - integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - http-parser-js@>=0.5.1: version "0.5.8" resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz" @@ -5832,7 +6057,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3: +inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -5842,16 +6067,16 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" - integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== - ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz" + integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== + inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" @@ -5883,16 +6108,16 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - ipaddr.js@^2.0.1: version "2.1.0" resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz" integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + is-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" @@ -5946,7 +6171,7 @@ is-binary-path@~2.1.0: dependencies: binary-extensions "^2.0.0" -is-boolean-object@^1.1.0: +is-boolean-object@^1.0.1, is-boolean-object@^1.1.0: version "1.1.2" resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== @@ -5959,7 +6184,7 @@ is-buffer@^2.0.0: resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -6118,7 +6343,7 @@ is-reference@^3.0.0: dependencies: "@types/estree" "*" -is-regex@^1.1.4: +is-regex@^1.0.5, is-regex@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== @@ -6155,6 +6380,11 @@ is-string@^1.0.5, is-string@^1.0.7: dependencies: has-tostringtag "^1.0.0" +is-subset@^0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz" + integrity sha512-6Ybun0IkarhmEqxXCNw/C0bna6Zb/TkfUX9UbwJtK6ObwAVCxmAP308WWTHviM/zAqXk05cdhYsUsZeGQh99iw== + is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" @@ -6193,11 +6423,6 @@ is-yarn-global@^0.4.0: resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz" integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ== -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - isarray@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz" @@ -6208,6 +6433,11 @@ isarray@~1.0.0: resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz" + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== + isexe@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" @@ -6310,7 +6540,7 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json-pointer@0.6.2, json-pointer@^0.6.2: +json-pointer@^0.6.2, json-pointer@0.6.2: version "0.6.2" resolved "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz" integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== @@ -6444,6 +6674,16 @@ lodash.debounce@^4.0.8: resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lodash.escape@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/lodash.escape/-/lodash.escape-4.0.1.tgz" + integrity sha512-nXEOnb/jK9g0DYMr1/Xvq6l5xMD7GDG55+GSYIYmS0G4tBk/hURD4JR9WCavs04t33WmJx9kCyp9vJ+mr4BOUw== + +lodash.flattendeep@^4.4.0: + version "4.4.0" + resolved "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz" + integrity sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ== + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" @@ -6901,7 +7141,19 @@ mdast-util-to-hast@^13.0.0: unist-util-visit "^5.0.0" vfile "^6.0.0" -mdast-util-to-markdown@^0.6.0, mdast-util-to-markdown@^0.6.1, mdast-util-to-markdown@~0.6.0: +mdast-util-to-markdown@^0.6.0: + version "0.6.5" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz" + integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== + dependencies: + "@types/unist" "^2.0.0" + longest-streak "^2.0.0" + mdast-util-to-string "^2.0.0" + parse-entities "^2.0.0" + repeat-string "^1.0.0" + zwitch "^1.0.0" + +mdast-util-to-markdown@^0.6.1: version "0.6.5" resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz" integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== @@ -6941,12 +7193,31 @@ mdast-util-to-markdown@^2.0.0: unist-util-visit "^5.0.0" zwitch "^2.0.0" +mdast-util-to-markdown@~0.6.0: + version "0.6.5" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-0.6.5.tgz" + integrity sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ== + dependencies: + "@types/unist" "^2.0.0" + longest-streak "^2.0.0" + mdast-util-to-string "^2.0.0" + parse-entities "^2.0.0" + repeat-string "^1.0.0" + zwitch "^1.0.0" + mdast-util-to-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz" integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== -mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: +mdast-util-to-string@^3.0.0: + version "3.2.0" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz" + integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== + dependencies: + "@types/mdast" "^3.0.0" + +mdast-util-to-string@^3.1.0: version "3.2.0" resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz" integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== @@ -7751,7 +8022,7 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": +"mime-db@>= 1.43.0 < 2", mime-db@1.52.0: version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -7761,13 +8032,6 @@ mime-db@~1.33.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz" integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ== -mime-types@2.1.18: - version "2.1.18" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" - integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== - dependencies: - mime-db "~1.33.0" - mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: version "2.1.35" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" @@ -7775,6 +8039,13 @@ mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, dependencies: mime-db "1.52.0" +mime-types@2.1.18: + version "2.1.18" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz" + integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ== + dependencies: + mime-db "~1.33.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" @@ -7808,7 +8079,7 @@ minimalistic-assert@^1.0.0: resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -7848,7 +8119,7 @@ mobx-react@^9.1.1: dependencies: mobx-react-lite "^4.0.7" -mobx@^6.12.4: +mobx@^6.0.4, mobx@^6.12.4, mobx@^6.9.0: version "6.13.2" resolved "https://registry.npmjs.org/mobx/-/mobx-6.13.2.tgz" integrity sha512-GIubI2qf+P6lG6rSEG0T2pg3jV9/0+O0ncF09+0umRe75+Cbnh1KNLM1GvbTY9RSc7QuU+LcPNZfxDY8B+3XRg== @@ -7860,11 +8131,16 @@ monaco-editor-webpack-plugin@^7.0.1: dependencies: loader-utils "^2.0.2" -monaco-editor@^0.44.0: +monaco-editor@^0.44.0, "monaco-editor@>= 0.31.0": version "0.44.0" resolved "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.44.0.tgz" integrity sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q== +moo@^0.5.0: + version "0.5.2" + resolved "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz" + integrity sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q== + mri@^1.1.0: version "1.2.0" resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" @@ -7875,6 +8151,11 @@ mrmime@^2.0.0: resolved "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz" integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== +ms@^2.1.3, ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -7885,11 +8166,6 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - multicast-dns@^7.2.5: version "7.2.5" resolved "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz" @@ -7903,6 +8179,16 @@ nanoid@^3.3.7: resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== +nearley@^2.7.10: + version "2.20.1" + resolved "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz" + integrity sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ== + dependencies: + commander "^2.19.0" + moo "^0.5.0" + railroad-diagrams "^1.0.0" + randexp "0.4.6" + negotiator@0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" @@ -8061,12 +8347,12 @@ object-assign@^4.1.1: resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-inspect@^1.13.1: +object-inspect@^1.13.1, object-inspect@^1.7.0: version "1.13.1" resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-is@^1.1.5: +object-is@^1.0.2, object-is@^1.1.5: version "1.1.6" resolved "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz" integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== @@ -8089,6 +8375,15 @@ object.assign@^4.1.0, object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" +object.entries@^1.1.1: + version "1.1.8" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz" + integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== + dependencies: + call-bind "^1.0.7" + define-properties "^1.2.1" + es-object-atoms "^1.0.0" + object.getownpropertydescriptors@^2.1.0: version "2.1.8" resolved "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz" @@ -8102,7 +8397,7 @@ object.getownpropertydescriptors@^2.1.0: gopd "^1.0.1" safe-array-concat "^1.1.2" -object.values@^1.1.0: +object.values@^1.1.0, object.values@^1.1.1: version "1.2.0" resolved "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz" integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== @@ -8370,6 +8665,13 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-to-regexp@^1.7.0: + version "1.8.0" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" + integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== + dependencies: + isarray "0.0.1" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" @@ -8380,13 +8682,6 @@ path-to-regexp@2.2.1: resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz" integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ== -path-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" @@ -8397,6 +8692,11 @@ perfect-scrollbar@^1.5.5: resolved "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz" integrity sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g== +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz" + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== + periscopic@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz" @@ -8727,7 +9027,7 @@ postcss-zindex@^6.0.2: resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz" integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg== -postcss@8.4.38, postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.33: +"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.2, postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.33, postcss@8.4.38: version "8.4.38" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz" integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== @@ -8736,7 +9036,16 @@ postcss@8.4.38, postcss@^8.4.21, postcss@^8.4.26, postcss@^8.4.33: picocolors "^1.0.0" source-map-js "^1.2.0" -postcss@^8.4.24, postcss@^8.4.38: +postcss@^8.4.23, postcss@^8.4.38: + version "8.4.45" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz" + integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.1" + source-map-js "^1.2.0" + +postcss@^8.4.24: version "8.4.45" resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz" integrity sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q== @@ -8864,6 +9173,26 @@ quick-lru@^5.1.1: resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== +raf@^3.4.1: + version "3.4.1" + resolved "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz" + integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== + dependencies: + performance-now "^2.1.0" + +railroad-diagrams@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz" + integrity sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A== + +randexp@0.4.6: + version "0.4.6" + resolved "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz" + integrity sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ== + dependencies: + discontinuous-range "1.0.0" + ret "~0.1.10" + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" @@ -8871,16 +9200,16 @@ randombytes@^2.1.0: dependencies: safe-buffer "^5.1.0" -range-parser@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" - integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== - range-parser@^1.2.1, range-parser@~1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== +range-parser@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz" + integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A== + raw-body@2.5.2: version "2.5.2" resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz" @@ -8939,7 +9268,7 @@ react-dev-utils@^12.0.1: strip-ansi "^6.0.1" text-table "^0.2.0" -react-dom@^18.2.0: +react-dom@*, "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", "react-dom@^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react-dom@^16.8.4 || ^17.0.0", "react-dom@^16.8.4 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.2.0, "react-dom@>= 16.8.0", "react-dom@>= 16.8.0 < 19.0.0", react-dom@>=18: version "18.2.0" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz" integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== @@ -8977,7 +9306,7 @@ react-helmet-async@^1.3.0: react-fast-compare "^3.2.0" shallowequal "^1.1.0" -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.2.0: +"react-is@^16.12.0 || ^17.0.0 || ^18.0.0": version "18.3.1" resolved "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz" integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== @@ -8987,6 +9316,11 @@ react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0: resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== +react-is@^18.2.0: + version "18.3.1" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz" + integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg== + react-json-view-lite@^1.2.0: version "1.3.0" resolved "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.3.0.tgz" @@ -8999,7 +9333,7 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1: dependencies: "@babel/runtime" "^7.10.3" -"react-loadable@npm:@docusaurus/react-loadable@6.0.0": +react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0": version "6.0.0" resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz" integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ== @@ -9049,7 +9383,7 @@ react-router-dom@^5.3.4: tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.3.4, react-router@^5.3.4: +react-router@^5.3.4, react-router@>=5, react-router@5.3.4: version "5.3.4" resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz" integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA== @@ -9080,7 +9414,7 @@ react-tabs@^6.0.2: clsx "^2.0.0" prop-types "^15.5.0" -react@^18.2.0: +react@*, "react@^16.0.0 || ^17.0.0 || ^18.0.0", "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc", "react@^16.6.0 || ^17.0.0 || ^18.0.0", "react@^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", "react@^16.8.0 || ^17 || ^18", "react@^16.8.0 || ^17.0.0 || ^18.0.0", "react@^16.8.4 || ^17.0.0", "react@^16.8.4 || ^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.2.0, "react@>= 16.8.0", "react@>= 16.8.0 < 19.0.0", react@>=15, react@>=16, "react@>=16 <= 18", react@>=16.0.0, "react@>=17 <= 18", react@>=18: version "18.2.0" resolved "https://registry.npmjs.org/react/-/react-18.2.0.tgz" integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== @@ -9315,14 +9649,6 @@ remark-frontmatter@^5.0.0: micromark-extension-frontmatter "^2.0.0" unified "^11.0.0" -remark-gfm@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz" - integrity sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== - dependencies: - mdast-util-gfm "^0.1.0" - micromark-extension-gfm "^0.3.0" - remark-gfm@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz" @@ -9335,6 +9661,14 @@ remark-gfm@^4.0.0: remark-stringify "^11.0.0" unified "^11.0.0" +remark-gfm@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-1.0.0.tgz" + integrity sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA== + dependencies: + mdast-util-gfm "^0.1.0" + micromark-extension-gfm "^0.3.0" + remark-mdx@^2.0.0: version "2.3.0" resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.3.0.tgz" @@ -9467,6 +9801,11 @@ responselike@^3.0.0: dependencies: lowercase-keys "^3.0.0" +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + retry@^0.13.1: version "0.13.1" resolved "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz" @@ -9484,6 +9823,14 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" +rst-selector-parser@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz" + integrity sha512-nDG1rZeP6oFTLN6yNDV/uiAvs1+FS/KlrEwh7+y7dpuApDBy6bI2HTBcc0/V8lv9OTqfyD34eF7au2pm8aBbhA== + dependencies: + lodash.flattendeep "^4.4.0" + nearley "^2.7.10" + rtl-detect@^1.0.4: version "1.1.2" resolved "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz" @@ -9523,15 +9870,20 @@ safe-array-concat@^1.1.2: has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== safe-regex-test@^1.0.3: version "1.0.3" @@ -9569,15 +9921,6 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" @@ -9587,7 +9930,17 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0, schema-utils@^4.0.1: +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +schema-utils@^4.0.1: version "4.2.0" resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz" integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== @@ -9597,6 +9950,20 @@ schema-utils@^4.0.0, schema-utils@^4.0.1: ajv-formats "^2.1.1" ajv-keywords "^5.1.0" +schema-utils@2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz" + integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + dependencies: + "@types/json-schema" "^7.0.4" + ajv "^6.12.2" + ajv-keywords "^3.4.1" + +"search-insights@>= 1 < 3": + version "2.17.2" + resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.17.2.tgz" + integrity sha512-zFNpOpUO+tY2D85KrxJ+aqwnIfdEGi06UH2+xEb+Bp9Mwznmauqc9djbnBibJO5mpfUPPa8st6Sx65+vbeO45g== + section-matter@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" @@ -9630,7 +9997,28 @@ semver@^6.3.1: resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.4: +semver@^7.3.2: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.5: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.7: + version "7.6.0" + resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" + integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== + dependencies: + lru-cache "^6.0.0" + +semver@^7.5.4: version "7.6.0" resolved "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== @@ -9747,7 +10135,7 @@ shallow-clone@^3.0.0: dependencies: kind-of "^6.0.2" -shallowequal@1.1.0, shallowequal@^1.1.0: +shallowequal@^1.1.0, shallowequal@1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== @@ -9981,16 +10369,16 @@ stable@^0.1.8: resolved "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz" integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - "statuses@>= 1.4.0 < 2": version "1.5.0" resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + std-env@^3.0.1: version "3.7.0" resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" @@ -10001,6 +10389,20 @@ stickyfill@^1.1.1: resolved "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz" integrity sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA== +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -10010,7 +10412,16 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^5.0.1, string-width@^5.1.2: +string-width@^5.0.1: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -10019,7 +10430,7 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.trim@^1.2.9: +string.prototype.trim@^1.2.1, string.prototype.trim@^1.2.9: version "1.2.9" resolved "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz" integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== @@ -10047,20 +10458,6 @@ string.prototype.trimstart@^1.0.8: define-properties "^1.2.1" es-object-atoms "^1.0.0" -string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-entities@^4.0.0: version "4.0.4" resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz" @@ -10126,7 +10523,7 @@ style-to-object@^1.0.0: dependencies: inline-style-parser "0.2.3" -styled-components@^6.1.11: +"styled-components@^4.1.1 || ^5.1.1 || ^6.0.5", styled-components@^6.1.11: version "6.1.13" resolved "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz" integrity sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw== @@ -10340,7 +10737,7 @@ trough@^2.0.0: resolved "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz" integrity sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw== -tslib@2.6.2, tslib@^2.0.3, tslib@^2.6.0: +tslib@^2.0.3, tslib@^2.6.0, tslib@2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -10419,7 +10816,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@~5.2.2: +"typescript@>= 2.7", typescript@>=4.9.5, typescript@~5.2.2: version "5.2.2" resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== @@ -10624,7 +11021,25 @@ unist-util-visit-parents@^6.0.0: "@types/unist" "^3.0.0" unist-util-is "^6.0.0" -unist-util-visit@^2.0.1, unist-util-visit@^2.0.2, unist-util-visit@^2.0.3: +unist-util-visit@^2.0.1: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +unist-util-visit@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" + integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^4.0.0" + unist-util-visit-parents "^3.0.0" + +unist-util-visit@^2.0.3: version "2.0.3" resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -10656,7 +11071,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz" integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== -unpipe@1.0.0, unpipe@~1.0.0: +unpipe@~1.0.0, unpipe@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== @@ -10955,20 +11370,21 @@ webpack-sources@^3.2.3: resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.69.1, webpack@^5.70.0: - version "5.94.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz" - integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== +"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.5.0 || 5.x", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.88.1, "webpack@>= 4", "webpack@>=4.41.1 || 5.x", webpack@>=5, "webpack@3 || 4 || 5": + version "5.91.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz" + integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== dependencies: + "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.1" "@webassemblyjs/wasm-edit" "^1.12.1" "@webassemblyjs/wasm-parser" "^1.12.1" acorn "^8.7.1" - acorn-import-attributes "^1.9.5" + acorn-import-assertions "^1.9.0" browserslist "^4.21.10" chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.1" + enhanced-resolve "^5.16.0" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" @@ -10984,21 +11400,20 @@ webpack@^5.69.1, webpack@^5.70.0: watchpack "^2.4.1" webpack-sources "^3.2.3" -webpack@^5.88.1: - version "5.91.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz" - integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== +webpack@^5.69.1, webpack@^5.70.0: + version "5.94.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz" + integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== dependencies: - "@types/eslint-scope" "^3.7.3" "@types/estree" "^1.0.5" "@webassemblyjs/ast" "^1.12.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.1" es-module-lexer "^1.2.1" eslint-scope "5.1.1" events "^3.2.0" @@ -11024,7 +11439,7 @@ webpackbar@^5.0.2: pretty-time "^1.1.0" std-env "^3.0.1" -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: +websocket-driver@^0.7.4, websocket-driver@>=0.5.1: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz" integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==