diff --git a/docs/build/basics/accounts.md b/docs/build/basics/accounts.md index 2c7cb68f78..379a89a18e 100644 --- a/docs/build/basics/accounts.md +++ b/docs/build/basics/accounts.md @@ -25,7 +25,7 @@ This decoupling is a unique advantage of Flow, allowing for multiple public keys **Balance** -Each Flow account created on Mainnet will by default [hold a Flow vault that holds a balance and is part of the FungibleToken standard](./flow-token). This balance is used to pay for [transaction fees and storage fees](./fees.md). More on that in the fees document. +Each Flow account created on Mainnet will by default [hold a Flow vault that holds a balance and is part of the FungibleToken standard](./flow-token.md). This balance is used to pay for [transaction fees and storage fees](./fees.md). More on that in the fees document. The minimum amount of FLOW an account can have is **0.001**. diff --git a/docs/build/guides/flow-cli.md b/docs/build/guides/flow-cli.md index e27c0510ab..d658f53687 100644 --- a/docs/build/guides/flow-cli.md +++ b/docs/build/guides/flow-cli.md @@ -50,7 +50,7 @@ To install a specific version of Flow CLI newer than v0.42.0, append the version sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v0.44.0 ``` -To install a version older than v0.42.0, refer to [Installing versions before 0.42.0](#installing-versions-before-0420) below. +To install a version older than v0.42.0, refer to [Installing versions before 0.42.0](../tools/flow-cli/install.md#installing-versions-before-0420) below. ## Windows diff --git a/docs/cadence/security-best-practices.md b/docs/cadence/security-best-practices.md index a93face3a0..ae655dcbd5 100644 --- a/docs/cadence/security-best-practices.md +++ b/docs/cadence/security-best-practices.md @@ -10,7 +10,7 @@ Some practices listed below might overlap with advice in the [Cadence Anti-Patte ## References -[References](./language/references) are ephemeral values and cannot be stored. If persistence is required, store a capability and borrow it when needed. +[References](./language/references.mdx) are ephemeral values and cannot be stored. If persistence is required, store a capability and borrow it when needed. When exposing functionality, provide the least access necessary. When creating an authorized reference, create it with only the minimal set of entitlements required to achieve the desired functionality. diff --git a/docs/cadence/tutorial/02-hello-world.md b/docs/cadence/tutorial/02-hello-world.md index 96506ee5db..6e4d3e5713 100644 --- a/docs/cadence/tutorial/02-hello-world.md +++ b/docs/cadence/tutorial/02-hello-world.md @@ -107,7 +107,7 @@ All state that persists permanently is stored in [accounts](../language/accounts and all accounts have the same core functionality. (users, smart contracts, data storage) The interfaces to this state (the ways to interact with it, otherwise known as methods or functions) are also stored in accounts. -All code execution takes place within [transactions](../language/transactions), +All code execution takes place within [transactions](../language/transactions.md), which are blocks of code that are authorized and submitted by external users to interact with the persistent state, which includes directly modifying account storage. @@ -170,10 +170,10 @@ can be changed later on instead of remaining constant like with `let`. You can use `access(all)` and the `access(all)` keyword interchangeably. They are both examples of an access control specification that means an interface can be accessed in all scopes, but not written to in all scopes. -For more information about the different levels of access control permitted in Cadence, refer to the [Access Control section of the language reference](../language/access-control). +For more information about the different levels of access control permitted in Cadence, refer to the [Access Control section of the language reference](../language/access-control.md). The `init()` section is called the initializer. It is a special function that only runs when the contract is first created. -Objects similar to contracts, such as other [composite types like structs or resources](../language/composite-types), +Objects similar to contracts, such as other [composite types like structs or resources](../language/composite-types.mdx), require that the initializer initializes all fields that are declared in a composite type. In the above example, the initializer sets the `greeting` field to `"Hello, World!"` when the contract is initialized. @@ -246,7 +246,7 @@ button next to the contracts section in the playground. --- -A [Transaction](../language/transactions) in Flow is defined as an arbitrary-sized block of Cadence code that is authorized by one or more accounts. +A [Transaction](../language/transactions.md) in Flow is defined as an arbitrary-sized block of Cadence code that is authorized by one or more accounts. When an account authorizes a transaction, the code in that transaction has access to the authorizers' private storage. An account authorizes a transaction by performing a cryptographic signature on the transaction with the account's private key, which should only be accessible to the account owner. Therefore, authorizers are also known as signers. @@ -329,5 +329,5 @@ Now that you have completed the tutorial, you have the basic knowledge to write - Sign the transaction with one or multiple signers Feel free to modify the smart contract to implement different functions, -experiment with the available [Cadence types](../language/values-and-types), +experiment with the available [Cadence types](../language/values-and-types.mdx), and write new transactions that execute multiple functions from your `HelloWorld` smart contract. diff --git a/docs/cadence/tutorial/03-resources.md b/docs/cadence/tutorial/03-resources.md index 3028c2fb85..6bb55a2b49 100644 --- a/docs/cadence/tutorial/03-resources.md +++ b/docs/cadence/tutorial/03-resources.md @@ -43,9 +43,9 @@ This tutorial builds on the previous `Hello World` tutorial. Before beginning this tutorial, you should understand : - [Accounts](../language/accounts) -- [Transactions](../language/transactions) +- [Transactions](../language/transactions.md) - Signers -- [Field types](../language/composite-types) +- [Field types](../language/composite-types.mdx) This tutorial will build on your understanding of accounts and how to interact with them by introducing resources. Resources are one of Cadence's defining features. @@ -208,7 +208,7 @@ The `@` symbol specifies that it is a resource of the type `HelloAsset`, which w This function uses the move operator to create a resource of type `HelloAsset` and return it. To create a new resource object, we use the `create` keyword -Here we use the `<-` symbol. [This is the move operator](../language/resources#the-move-operator--). +Here we use the `<-` symbol. [This is the move operator](../language/resources.mdx#the-move-operator--). The move operator `<-` replaces the assignment operator `=` in assignments that involve resources. To make the assignment of resources explicit, the move operator `<-` must be used when: @@ -468,7 +468,7 @@ let helloResource <- acct.storage.load<@HelloWorld.HelloAsset>(from: /storage/He ``` If no object of the specified type is stored under the given path, the function returns nothing, or `nil`. -(This is an [Optional](../language/values-and-types#optionals), +(This is an [Optional](../language/values-and-types.mdx#optionals), a special type of data that we will cover later) If the object at the given path is not of the specified type, Cadence will throw an error and the transaction will fail. @@ -489,7 +489,7 @@ Next, we call the `hello()` function and log the output. log(helloResource?.hello()) ``` -We use `?` because the values in the storage are returned as [optionals](../language/values-and-types#optionals). +We use `?` because the values in the storage are returned as [optionals](../language/values-and-types.mdx#optionals). Optionals are values that are able to represent either the presence or the absence of a value. Optionals have two cases: either there is a value of the specified type, or there is nothing (`nil`). An optional type is declared using the `?` suffix. @@ -522,7 +522,7 @@ and aborts the entire transaction if the object is `nil`. It is a more risky way of dealing with optionals, but if your program is ever in a state where a value being `nil` would defeat the purpose of the whole transaction, then the force-unwrap operator might be a good choice to deal with that. -Refer to [Optionals In Cadence](../language/values-and-types#optionals) to learn more about optionals and how they are used. +Refer to [Optionals In Cadence](../language/values-and-types.mdx#optionals) to learn more about optionals and how they are used. @@ -562,7 +562,7 @@ Now that you have completed the tutorial, you have the basic knowledge to write Feel free to modify the smart contract to create different resources, experiment with the available [account storage API](../language/accounts/storage.mdx), and write new transactions and scripts that execute different functions from your smart contract. -Have a look at the [resource reference page](../language/resources) +Have a look at the [resource reference page](../language/resources.mdx) to find out more about what you can do with resources. You're on the right track to building more complex applications with Cadence, diff --git a/docs/cadence/tutorial/04-capabilities.md b/docs/cadence/tutorial/04-capabilities.md index ffcebbbd92..9a97800429 100644 --- a/docs/cadence/tutorial/04-capabilities.md +++ b/docs/cadence/tutorial/04-capabilities.md @@ -136,7 +136,7 @@ stored in their accounts. (Explained more below) In this transaction, you create a new capability, then use the `link` function to create a public link to your `HelloAsset` resource object. -Next you use that link to borrow a [reference](../language/references) +Next you use that link to borrow a [reference](../language/references.mdx) to the underlying object and call the `hello()` function. A detailed explanation of what is happening in this transaction is below the transaction code so, if you feel lost, keep reading! @@ -279,7 +279,7 @@ let helloReference = capability.borrow() This method creates the reference as the type we specified in `<>` in the `link` function. While borrowing the reference, we use -[optional chaining](../language/composite-types#accessing-fields-and-functions-of-composite-types-using-optional-chaining) +[optional chaining](../language/composite-types.mdx#accessing-fields-and-functions-of-composite-types-using-optional-chaining) because the borrowing of the reference could fail. The reference could be `nil` if the targeted storage slot is empty, is already borrowed, or if the requested type exceeds what is allowed by the capability. diff --git a/docs/cadence/tutorial/05-non-fungible-tokens-1.md b/docs/cadence/tutorial/05-non-fungible-tokens-1.md index 7d8a4590ea..de32f5c2cb 100644 --- a/docs/cadence/tutorial/05-non-fungible-tokens-1.md +++ b/docs/cadence/tutorial/05-non-fungible-tokens-1.md @@ -51,10 +51,10 @@ Possible examples of NFTs include: CryptoKitties, Top Shot Moments, and tickets to a really fun concert. Instead of being represented in a central ledger, like in most smart contract languages, -Cadence represents each NFT as a [resource object](../language/composite-types) +Cadence represents each NFT as a [resource object](../language/composite-types.mdx) that users store in their accounts. This allows NFTs to benefit from the resource ownership rules -that are enforced by the [type system](../language/values-and-types) - +that are enforced by the [type system](../language/values-and-types.mdx) - resources can only have a single owner, they cannot be duplicated, and they cannot be lost due to accidental or malicious programming errors. These protections ensure that owners know that their NFT is safe and can represent an asset that has real value. diff --git a/docs/cadence/tutorial/05-non-fungible-tokens-2.md b/docs/cadence/tutorial/05-non-fungible-tokens-2.md index e79e35fdca..138d9f391b 100644 --- a/docs/cadence/tutorial/05-non-fungible-tokens-2.md +++ b/docs/cadence/tutorial/05-non-fungible-tokens-2.md @@ -77,7 +77,7 @@ account.storage.save(<-myNFTs, to: /storage/basicNFTDictionary) ## Dictionaries -This example uses a [**Dictionary**: a mutable, unordered collection of key-value associations](../language/values-and-types#dictionaries). +This example uses a [**Dictionary**: a mutable, unordered collection of key-value associations](../language/values-and-types.mdx#dictionaries). ```cadence // Keys are `Int` @@ -324,7 +324,7 @@ access(all) fun getIDs(): [UInt64] { ``` This can be used to iterate through the dictionary or just to see a list of what is stored. -As you can see, [a variable length array type](../language/values-and-types#arrays) +As you can see, [a variable length array type](../language/values-and-types.mdx#arrays) is declared by enclosing the member type within square brackets (`[UInt64]`). ## Resources Owning Resources diff --git a/docs/cadence/tutorial/08-marketplace-compose.md b/docs/cadence/tutorial/08-marketplace-compose.md index f69b9e5f76..31a24ee034 100644 --- a/docs/cadence/tutorial/08-marketplace-compose.md +++ b/docs/cadence/tutorial/08-marketplace-compose.md @@ -39,8 +39,8 @@ and use them as building blocks for new applications. Flow is designed to enable composability because of the way that interfaces, resources and capabilities are designed. -- [Interfaces](../language/interfaces) allow projects to support any generic type as long as it supports a standard set of functionality specified by an interface. -- [Resources](../language/resources) can be passed around and owned by accounts, contracts or even other resources, unlocking different use cases depending on where the resource is stored. +- [Interfaces](../language/interfaces.mdx) allow projects to support any generic type as long as it supports a standard set of functionality specified by an interface. +- [Resources](../language/resources.mdx) can be passed around and owned by accounts, contracts or even other resources, unlocking different use cases depending on where the resource is stored. - [Capabilities](../language/capabilities.md) allow exposing user-defined sets of functionality through special objects that enforce strict security with Cadence's type system. The combination of these allows developers to do more with less, re-using known safe code and design patterns @@ -390,7 +390,7 @@ This contract has a few new features and concepts that are important to cover: ### Events -[Events](../language/events) are special values that can be emitted during the execution of a program. +[Events](../language/events.md) are special values that can be emitted during the execution of a program. They usually contain information to indicate that some important action has happened in a smart contract, such as an NFT transfer, a permission change, or many other different things. Off-chain applications can monitor events using a Flow SDK to know what is happening on-chain without having to query a smart contract directly. @@ -398,7 +398,7 @@ Off-chain applications can monitor events using a Flow SDK to know what is happe Many applications want to maintain an off-chain record of what is happening on-chain so they can have faster performance when getting information about their users' accounts or generating analytics. -Events are declared by indicating [the access level](../language/access-control), `event`, +Events are declared by indicating [the access level](../language/access-control.md), `event`, and the name and parameters of the event, like a function declaration: ```cadence access(all) event ForSale(id: UInt64, price: UFix64, owner: Address?) @@ -434,7 +434,7 @@ acct.link<&ExampleToken.Vault{ExampleToken.Receiver, ExampleToken.Balance}> (/public/CadenceFungibleTokenTutorialReceiver, target: /storage/CadenceFungibleTokenTutorialVault) ``` -Then, users can get that capability if it was created [in a public path](../language/accounts/paths), +Then, users can get that capability if it was created [in a public path](../language/accounts/paths.mdx), borrow it, and access the functionality that the owner specified. ```cadence diff --git a/docs/tools/clients/fcl-js/api.md b/docs/tools/clients/fcl-js/api.md index a3a65530f5..eb3285535e 100644 --- a/docs/tools/clients/fcl-js/api.md +++ b/docs/tools/clients/fcl-js/api.md @@ -5,228 +5,9 @@ sidebar_position: 2 # Flow Client Library (FCL) API Reference -
- > For release updates, [see the repo](https://github.com/onflow/fcl-js/releases) -# Table of contents - -- [Flow Client Library (FCL) API Reference](#flow-client-library-fcl-api-reference) -- [Table of contents](#table-of-contents) -- [Configuration](#configuration) - - [Setting Configuration Values](#setting-configuration-values) - - [Getting Configuration Values](#getting-configuration-values) - - [Common Configuration Keys](#common-configuration-keys) - - [Address replacement in scripts and transactions](#address-replacement) -- [Wallet Interactions](#wallet-interactions) - - [Methods](#methods) - - [`authenticate`](#authenticate) - - [Note](#note) - - [Usage](#usage) - - [Note](#note-1) - - [Examples](#examples) - - [`unauthenticate`](#unauthenticate) - - [Note](#note-2) - - [Usage](#usage-1) - - [Examples](#examples-1) - - [`reauthenticate`](#reauthenticate) - - [Note](#note-3) - - [Usage](#usage-2) - - [Examples](#examples-2) - - [`signUp`](#signup) - - [`logIn`](#login) - - [`authz`](#authz) - - [Returns](#returns) - - [Usage](#usage-3) - - [Current User](#current-user) - - [Methods](#methods-1) - - [`currentUser.subscribe`](#currentusersubscribe) - - [Arguments](#arguments) - - [Usage](#usage-4) - - [`currentUser.snapshot`](#currentusersnapshot) - - [Usage](#usage-5) - - [`currentUser.authenticate`](#currentuserauthenticate) - - [`currentUser.unauthenticate`](#currentuserunauthenticate) - - [`currentUser.authorization`](#currentuserauthorization) - - [`currentUser.signUserMessage`](#currentusersignusermessage) - - [Arguments](#arguments-1) - - [Returns](#returns-1) - - [Usage](#usage-6) - - [Discovery](#discovery) - - [`discovery`](#discovery-1) - - [Note](#note-4) - - [Suggested Configuration](#suggested-configuration) - - [Usage](#usage-7) - - [authn](#authn) - - [More Configuration](#more-configuration) - - [`discovery.authn.snapshot()`](#discoveryauthnsnapshot) - - [`discovery.authn.subscribe(callback)`](#discoveryauthnsubscribecallback) -- [On-chain Interactions](#on-chain-interactions) - - [Methods](#methods-2) - - [Query and Mutate Flow with Cadence](#query-and-mutate-flow-with-cadence) - - [`query`](#query) - - [Options](#options) - - [Returns](#returns-2) - - [Usage](#usage-8) - - [Examples](#examples-3) - - [`mutate`](#mutate) - - [Options](#options-1) - - [Returns](#returns-3) - - [Usage](#usage-9) - - [Examples](#examples-4) - - [`verifyUserSignatures` (Deprecated)](#verifyusersignatures-deprecated) - - [AppUtils](#apputils) - - [`AppUtils.verifyUserSignatures`](#apputilsverifyusersignatures) - - [Note](#note-5) - - [Arguments](#arguments-2) - - [Returns](#returns-4) - - [Usage](#usage-10) - - [Examples](#examples-5) - - [`AppUtils.verifyAccountProof`](#apputilsverifyaccountproof) - - [Arguments](#arguments-3) - - [Returns](#returns-5) - - [Usage](#usage-11) - - [Examples](#examples-6) - - [Query and mutate the blockchain with Builders](#query-and-mutate-the-blockchain-with-builders) - - [`send`](#send) - - [Note](#note-6) - - [Arguments](#arguments-4) - - [Returns](#returns-6) - - [Usage](#usage-12) - - [Examples](#examples-7) - - [`decode`](#decode) - - [Note](#note-7) - - [Arguments](#arguments-5) - - [Returns](#returns-7) - - [Usage](#usage-13) - - [Examples](#examples-8) - - [Builders](#builders) - - [Query Builders](#query-builders) - - [`getAccount`](#getaccount) - - [Arguments](#arguments-6) - - [Returns after decoding](#returns-after-decoding) - - [Usage](#usage-14) - - [`getBlock`](#getblock) - - [Arguments](#arguments-7) - - [Returns after decoding](#returns-after-decoding-1) - - [Usage](#usage-15) - - [`atBlockHeight`](#atblockheight) - - [Arguments](#arguments-8) - - [Returns](#returns-8) - - [Usage](#usage-16) - - [`atBlockId`](#atblockid) - - [Arguments](#arguments-9) - - [Returns](#returns-9) - - [Usage](#usage-17) - - [`getBlockHeader`](#getblockheader) - - [Returns after decoding](#returns-after-decoding-2) - - [Usage](#usage-18) - - [`getEventsAtBlockHeightRange`](#geteventsatblockheightrange) - - [Arguments](#arguments-10) - - [Returns after decoding](#returns-after-decoding-3) - - [Usage](#usage-19) - - [`getEventsAtBlockIds`](#geteventsatblockids) - - [Arguments](#arguments-11) - - [Returns after decoding](#returns-after-decoding-4) - - [Usage](#usage-20) - - [`getCollection`](#getcollection) - - [Arguments](#arguments-12) - - [Returns after decoding](#returns-after-decoding-5) - - [Usage](#usage-21) - - [`getTransactionStatus`](#gettransactionstatus) - - [Arguments](#arguments-13) - - [Returns after decoding](#returns-after-decoding-6) - - [Returns](#returns-10) - - [Usage](#usage-22) - - [`getTransaction`](#gettransaction) - - [Arguments](#arguments-14) - - [Returns after decoding](#returns-after-decoding-7) - - [Returns](#returns-11) - - [Usage](#usage-23) - - [`getEvents` (Deprecated)](#getevents-deprecated) - - [`getLatestBlock` (Deprecated)](#getlatestblock-deprecated) - - [`getBlockById` (Deprecated)](#getblockbyid-deprecated) - - [`getBlockByHeight` (Deprecated)](#getblockbyheight-deprecated) - - [Utility Builders](#utility-builders) - - [`arg`](#arg) - - [Arguments](#arguments-15) - - [Returns](#returns-12) - - [Usage](#usage-24) - - [`args`](#args) - - [Arguments](#arguments-16) - - [Returns](#returns-13) - - [Usage](#usage-25) - - [Template Builders](#template-builders) - - [`script`](#script) - - [Arguments](#arguments-17) - - [Returns](#returns-14) - - [Usage](#usage-26) - - [`transaction`](#transaction) - - [Arguments](#arguments-18) - - [Returns](#returns-15) - - [Usage](#usage-27) - - [Pre-built Interactions](#pre-built-interactions) - - [`account`](#account) - - [Arguments](#arguments-19) - - [Returns](#returns-16) - - [Usage](#usage-28) - - [`block`](#block) - - [Arguments](#arguments-20) - - [Returns](#returns-17) - - [Usage](#usage-29) - - [`latestBlock` (Deprecated)](#latestblock-deprecated) - - [Arguments](#arguments-21) - - [Returns](#returns-18) - - [Usage](#usage-30) - - [Transaction Status Utility](#transaction-status-utility) - - [`tx`](#tx) - - [Arguments](#arguments-22) - - [Returns](#returns-19) - - [Usage](#usage-31) - - [Examples](#examples-9) - - [Event Polling Utility](#event-polling-utility) - - [`events`](#events) - - [Arguments](#arguments-23) - - [Returns](#returns-20) - - [Usage](#usage-32) - - [Examples](#examples-10) -- [Types, Interfaces, and Definitions](#types-interfaces-and-definitions) - - [`Builders`](#builders-1) - - [`Interaction`](#interaction) - - [`CurrentUserObject`](#currentuserobject) - - [`AuthorizationObject`](#authorizationobject) - - [`SignableObject`](#signableobject) - - [`AccountObject`](#accountobject) - - [`Address`](#address) - - [`ArgumentObject`](#argumentobject) - - [`ArgumentFunction`](#argumentfunction) - - [`Authorization Function`](#authorization-function) - - [Usage](#usage-33) - - [Examples:](#examples-11) - - [`Signing Function`](#signing-function) - - [Payload](#payload) - - [Usage](#usage-34) - - [Examples:](#examples-12) - - [`TransactionObject`](#transactionobject) - - [`TransactionRolesObject`](#transactionrolesobject) - - [`TransactionStatusObject`](#transactionstatusobject) - - [`EventName`](#eventname) - - [`Contract`](#contract) - - [`KeyObject`](#keyobject) - - [`ProposalKeyObject`](#proposalkeyobject) - - [`BlockObject`](#blockobject) - - [`BlockHeaderObject`](#blockheaderobject) - - [`CollectionGuaranteeObject`](#collectionguaranteeobject) - - [`CollectionObject`](#collectionobject) - - [`ResponseObject`](#responseobject) - - [`Event Object`](#event-object) - - [`Transaction Statuses`](#transaction-statuses) - - [`GRPC Statuses`](#grpc-statuses) - - [`FType`](#ftype) - -
- -# Configuration +## Configuration FCL has a mechanism that lets you configure various aspects of FCL. When you move from one instance of the Flow Blockchain to another (Local Emulator to Testnet to Mainnet) the only thing you should need to change for your FCL implementation is your configuration. @@ -374,17 +155,15 @@ FCL will automatically replace the contract name with the address for the networ --- -# Wallet Interactions +## Wallet Interactions These methods allows dapps to interact with FCL compatible wallets in order to authenticate the user and authorize transactions on their behalf. > ⚠️These methods are **async**. -### Methods - --- -## `authenticate` +### `authenticate` > ⚠️**This method can only be used in web browsers.** @@ -415,7 +194,7 @@ fcl.authenticate(); --- -## `unauthenticate` +### `unauthenticate` > ⚠️**This method can only be used in web browsers.** @@ -439,7 +218,7 @@ fcl.unauthenticate(); --- -## `reauthenticate` +### `reauthenticate` > ⚠️**This method can only be used in web browsers.** @@ -462,7 +241,7 @@ fcl.reauthenticate(); --- -## `signUp` +### `signUp` > ⚠️**This method can only be used in web browsers.** @@ -470,7 +249,7 @@ A **convenience method** that calls and is equivalent to [`fcl.authenticate()`]( --- -## `logIn` +### `logIn` > ⚠️**This method can only be used in web browsers.** @@ -478,7 +257,7 @@ A **convenience method** that calls and is equivalent to [`fcl.authenticate()`]( --- -## `authz` +### `authz` A **convenience method** that produces the needed authorization details for the current user to submit transactions to Flow. It defines a signing function that connects to a user's wallet provider to produce signatures to submit transactions. @@ -521,17 +300,15 @@ const txId = await fcl.mutate({ --- -### Current User +## Current User Holds the [current user](#currentuserobject), if set, and offers a set of functions to manage the authentication and authorization of the user. > ⚠️**The following methods can only be used in web browsers.** -### Methods - --- -## `currentUser.subscribe` +### `currentUser.subscribe` The callback passed to subscribe will be called when the user authenticates and un-authenticates, making it easy to update the UI accordingly. @@ -572,7 +349,7 @@ export function AuthCluster() { --- -## `currentUser.snapshot` +### `currentUser.snapshot` Returns the [current user](#currentuserobject) object. This is the same object that is set and available on [`fcl.currentUser.subscribe(callback)`](#currentusersubscribe). @@ -588,31 +365,31 @@ fcl.currentUser.subscribe(console.log); --- -## `currentUser.authenticate` +### `currentUser.authenticate` Equivalent to `fcl.authenticate`. --- -## `currentUser.unauthenticate` +### `currentUser.unauthenticate` Equivalent to `fcl.unauthenticate`. --- -## `currentUser.authorization` +### `currentUser.authorization` Equivalent to `fcl.authz` --- -## `currentUser.signUserMessage` +### `currentUser.signUserMessage` A method to use allowing the user to personally sign data via FCL Compatible Wallets/Services. > ⚠️ This method requires the current user's wallet to support a signing service endpoint. Currently, only Blocto is compatible with this feature by default. -### Arguments +#### Arguments | Name | Type | Description | | ----- | ------ | --------------------------------- | @@ -641,9 +418,9 @@ export const signMessage = async () => { --- -### Discovery +## Discovery -## `discovery` +### `discovery` Discovery abstracts away code so that developers don't have to deal with the discovery of Flow compatible wallets, integration, or authentication. Using `discovery` from FCL allows dapps to list and authenticate with wallets while having full control over the UI. Common use cases for this are login or registration pages. @@ -717,31 +494,29 @@ For more details on wallets, view the [service list here](https://github.com/onf --- -## `discovery.authn.snapshot()` +### `discovery.authn.snapshot()` Return a list of `authn` services. -## `discovery.authn.subscribe(callback)` +### `discovery.authn.subscribe(callback)` The callback sent to `subscribe` will be called with a list of `authn` services. --- -# On-chain Interactions +## On-chain Interactions > 📣 **These methods can be used in browsers and NodeJS.** These methods allows dapps to interact directly with the Flow blockchain via a set of functions that currently use the [Access Node API](../../../references/run-and-secure/nodes/access-api.mdx). -### Methods - --- ### Query and Mutate Flow with Cadence If you want to run arbitrary Cadence scripts on the blockchain, these methods offer a convenient way to do so **without having to build, send, and decode interactions**. -## `query` +### `query` Allows you to submit scripts to query the blockchain. @@ -788,7 +563,7 @@ console.log(result); // 13 --- -## `mutate` +### `mutate` Allows you to submit transactions to the blockchain to potentially mutate the state. @@ -803,7 +578,7 @@ _Pass in the following as a single object with the following keys. All keys are | `cadence` | string **(required)** | A valid cadence transaction. | | `args` | [ArgumentFunction](#argumentfunction) | Any arguments to the script if needed should be supplied via a function that returns an array of arguments. | | `limit` | number | Compute (Gas) limit for query. Read the [documentation about computation cost](../flow-go-sdk/index.mdx#gas-limit) for information about how computation cost is calculated on Flow. | -| `proposer` | [AuthorizationFunction](#authorization-function) | The authorization function that returns a valid [AuthorizationObject](#authorizationobject) for the [proposer role](#TransactionRoles). | +| `proposer` | [AuthorizationFunction](#authorization-function) | The authorization function that returns a valid [AuthorizationObject](#authorizationobject) for the [proposer role](#TransactionRolesObject). | #### Returns @@ -839,7 +614,7 @@ const txId = await fcl.mutate({ --- -## `verifyUserSignatures` (Deprecated) +### `verifyUserSignatures` (Deprecated) Use `fcl.AppUtils.verifyUserSignatures` @@ -852,7 +627,7 @@ A method allowing applications to cryptographically verify a message was signed ⚠️ `fcl.config.flow.network` or options override is required to use this api. See [FCL Configuration](#configuration). -### Arguments +#### Arguments | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | @@ -885,14 +660,14 @@ const isValid = await fcl.AppUtils.verifyUserSignatures( --- -## `AppUtils.verifyAccountProof` +### `AppUtils.verifyAccountProof` A method allowing applications to cryptographically prove that a user controls an on-chain account. During user authentication, some FCL compatible wallets will choose to support the FCL `account-proof` service. If a wallet chooses to support this service, and the user approves the signing of message data, they will return `account-proof` data and a signature(s) that can be used to prove a user controls an on-chain account. See [proving-authentication](https://github.com/onflow/fcl-js/blob/master/docs/reference/proving-authentication.mdx) documentaion for more details. ⚠️ `fcl.config.flow.network` or options override is required to use this api. See [FCL Configuration](#configuration). -### Arguments +#### Arguments | Name | Type | Description | | --------------------- | --------------------- | --------------------------------- | @@ -937,7 +712,7 @@ In some cases, you may want to utilize pre-built interactions or build more comp > ⚠️**Recommendation:** Unless you have a specific use case that require usage of these builders, you should be able to achieve most cases with `fcl.query({...options}` or `fcl.mutate({...options})` -## `send` +### `send` Sends arbitrary scripts, transactions, and requests to Flow. @@ -984,7 +759,7 @@ const response = await fcl.send([ --- -## `decode` +### `decode` Decodes the response from `fcl.send()` into the appropriate JSON representation of any values returned from Cadence code. @@ -1030,7 +805,7 @@ assert(typeof decoded === "number"); --- -### Builders +## Builders These methods fill out various portions of a transaction or script template in order to build, resolve, and send it to the blockchain. A valid populated template is referred to as an [Interaction](#interaction). @@ -1039,7 +814,7 @@ build, resolve, and send it to the blockchain. A valid populated template is ref ### Query Builders -## `getAccount` +### `getAccount` A builder function that returns the interaction to get an account by address. @@ -1072,13 +847,13 @@ const getAccount = async (address) => { --- -## `getBlock` +### `getBlock` A builder function that returns the interaction to get the latest block. 📣 Use with `fcl.atBlockId()` and `fcl.atBlockHeight()` when building the interaction to get information for older blocks. -⚠️Consider using the pre-built interaction [`fcl.latestBlock(isSealed)`](#latestblock) if you do not need to pair with any other builders. +⚠️Consider using the pre-built interaction [`fcl.getblock(isSealed)`](#getblock) if you do not need to pair with any other builders. #### Arguments @@ -1106,7 +881,7 @@ const latestSealedBlock = await fcl --- -## `atBlockHeight` +### `atBlockHeight` A builder function that returns a partial interaction to a block at a specific height. @@ -1134,7 +909,7 @@ await fcl.send([fcl.getBlock(), fcl.atBlockHeight(123)]).then(fcl.decode); --- -## `atBlockId` +### `atBlockId` A builder function that returns a partial interaction to a block at a specific block ID. @@ -1162,7 +937,7 @@ await fcl.send([fcl.getBlock(), fcl.atBlockId("23232323232")]).then(fcl.decode); --- -## `getBlockHeader` +### `getBlockHeader` A builder function that returns the interaction to get a block header. @@ -1184,7 +959,7 @@ const latestBlockHeader = await fcl .then(fcl.decode); ``` -## `getEventsAtBlockHeightRange` +### `getEventsAtBlockHeightRange` A builder function that returns all instances of a particular event (by name) within a height range. @@ -1224,7 +999,7 @@ const events = await fcl --- -## `getEventsAtBlockIds` +### `getEventsAtBlockIds` A builder function that returns all instances of a particular event (by name) within a set of blocks, specified by block ids. @@ -1260,7 +1035,7 @@ const events = await fcl --- -## `getCollection` +### `getCollection` A builder function that returns all a collection containing a list of transaction ids by its collection id. @@ -1294,7 +1069,7 @@ const collection = await fcl --- -## `getTransactionStatus` +### `getTransactionStatus` A builder function that returns the status of transaction in the form of a [TransactionStatusObject](#transactionstatusobject). @@ -1332,7 +1107,7 @@ const status = await fcl --- -## `getTransaction` +### `getTransaction` A builder function that returns a [transaction object](#transactionobject) once decoded. @@ -1370,25 +1145,25 @@ const tx = await fcl --- -## `getEvents` (Deprecated) +### `getEvents` (Deprecated) Use [`fcl.getEventsAtBlockHeightRange`](#geteventsatblockheightrange) or [`fcl.getEventsAtBlockIds`](#geteventsatblockids). --- -## `getLatestBlock` (Deprecated) +### `getLatestBlock` (Deprecated) Use [`fcl.getBlock`](#getblock). --- -## `getBlockById` (Deprecated) +### `getBlockById` (Deprecated) Use [`fcl.getBlock`](#getblock) and [`fcl.atBlockId`](#atblockid). --- -## `getBlockByHeight` (Deprecated) +### `getBlockByHeight` (Deprecated) Use [`fcl.getBlock`](#getblock) and [`fcl.atBlockHeight`](#atblockheight). @@ -1400,7 +1175,7 @@ These builders are used to compose interactions with other builders such as scri > ⚠️**Recommendation:** Unless you have a specific use case that require usage of these builders, you should be able to achieve most cases with `fcl.query({...options}` or `fcl.mutate({...options})` -## `arg` +### `arg` A utility builder to be used with `fcl.args[...]` to create FCL supported arguments for interactions. @@ -1439,7 +1214,7 @@ await fcl --- -## `args` +### `args` A utility builder to be used with other builders to pass in arguments with a value and supported type. @@ -1481,7 +1256,7 @@ await fcl > ⚠️**_Recommended:_** The following functionality is simplified by [`fcl.query({...options}`](#query) or [`fcl.mutate({...options})`](#mutate) and is reccomended to use over the functions below. -## `script` +### `script` A template builder to use a Cadence script for an interaction. @@ -1515,7 +1290,7 @@ console.log(answer); // 9 --- -## `transaction` +### `transaction` A template builder to use a Cadence transaction for an interaction. @@ -1551,11 +1326,11 @@ console.log(answer); // 9 --- -### Pre-built Interactions +## Pre-built Interactions These functions are abstracted short hand ways to skip the send and decode steps of sending an interaction to the chain. More pre-built interactions are coming soon. -## `account` +### `account` A pre-built interaction that returns the details of an account from their public address. @@ -1580,7 +1355,7 @@ const account = await fcl.account("0x1d007d755706c469"); --- -## `block` +### `block` A pre-built interaction that returns the latest block (optionally sealed or not), by id, or by height. @@ -1610,7 +1385,7 @@ await fcl.block({height: 56481953}) // get block by height --- -## `latestBlock` (Deprecated) +### `latestBlock` (Deprecated) A pre-built interaction that returns the latest block (optionally sealed or not). @@ -1635,9 +1410,9 @@ const latestBlock = await fcl.latestBlock(); --- -### Transaction Status Utility +## Transaction Status Utility -## `tx` +### `tx` A utility function that lets you set the transaction to get subsequent status updates (via polling) and the finalized result once available. ⚠️The poll rate is set at `2500ms` and will update at that interval until transaction is sealed. @@ -1669,9 +1444,9 @@ useEffect(() => fcl.tx(txId).subscribe(setTxStatus)); --- -### Event Polling Utility +## Event Polling Utility -## `events` +### `events` A utility function that lets you set the transaction to get subsequent status updates (via polling) and the finalized result once available. ⚠️The poll rate is set at `10000ms` and will update at that interval for getting new events. @@ -1707,7 +1482,7 @@ fcl.events(eventName).subscribe((event) => { --- -# Types, Interfaces, and Definitions +## Types, Interfaces, and Definitions --- @@ -2079,7 +1854,7 @@ The format of all responses in FCL returned from `fcl.send(...)`. For full detai | `eventIndex` | number | Used to prevent replay attacks. | | `data` | any | The data emitted from the event. | -## `Transaction Statuses` +### `Transaction Statuses` The status of a transaction will depend on the Flow blockchain network and which phase it is in as it completes and is finalized. @@ -2092,11 +1867,11 @@ The status of a transaction will depend on the Flow blockchain network and which | `4` | Transaction Sealed - Transaction Complete. At this point the transaction result has been committed to the blockchain. | | `5` | Transaction Expired | -## `GRPC Statuses` +### `GRPC Statuses` The access node GRPC implementation follows the standard GRPC Core status code spec. View [here](https://grpc.github.io/grpc/core/md_doc_statuscodes.html). -## `FType` +### `FType` FCL arguments must specify one of the following support types for each value passed in. diff --git a/docs/tools/clients/unity-sdk/guides/wallet-connect.md b/docs/tools/clients/unity-sdk/guides/wallet-connect.md index 8b8bb6d096..b53ce07f83 100644 --- a/docs/tools/clients/unity-sdk/guides/wallet-connect.md +++ b/docs/tools/clients/unity-sdk/guides/wallet-connect.md @@ -14,7 +14,7 @@ For more information about Wallets and Flow accounts, see [user-accounts-and-wal In terms of the Flow SDK for Unity, a Wallet Provider is a class which implements the `IWallet` interface and allows users to interact with specific hardware or software wallets. This includes authenticating with a wallet, retrieving the user's Flow account address from the wallet, and requesting the wallet to sign transactions on behalf of the user. -As of v2.0.0, the Flow SDK for Unity contains two wallet providers - [Dev Wallet](./dev-wallet) and Wallet Connect. Dev Wallet is a mock wallet provider to make development easier, while Wallet Connect connects to real wallets and is therefore used for production. You could also implement your own wallet provider by implementing the `IWallet` interface. +As of v2.0.0, the Flow SDK for Unity contains two wallet providers - [Dev Wallet](./dev-wallet.md) and Wallet Connect. Dev Wallet is a mock wallet provider to make development easier, while Wallet Connect connects to real wallets and is therefore used for production. You could also implement your own wallet provider by implementing the `IWallet` interface. ## How to implement Wallet Connect diff --git a/docs/tools/flow-cli/transactions/complex-transactions.md b/docs/tools/flow-cli/transactions/complex-transactions.md index 001c93ebbe..d3bd52ff99 100644 --- a/docs/tools/flow-cli/transactions/complex-transactions.md +++ b/docs/tools/flow-cli/transactions/complex-transactions.md @@ -7,7 +7,7 @@ sidebar_position: 4 **Simple Transactions** Sending a transaction using the Flow CLI can simply be -achieved by using the [send command documented here](./send-transactions). +achieved by using the [send command documented here](./send-transactions.md). **Complex Transactions** @@ -16,14 +16,14 @@ commands to build, sign and send transactions allowing you to specify different authorizers, signers and proposers. The process of sending a complex transactions includes three steps: -1. [build a transaction](./build-transactions) -2. [sign the built transaction](./sign-transaction) -3. [send signed transaction](./send-signed-transactions) +1. [build a transaction](./build-transactions.md) +2. [sign the built transaction](./sign-transaction.md) +3. [send signed transaction](./send-signed-transactions.md) Read more about each command flags and arguments in the above links. ## Examples -We will describe common examples for complex transactions. All examples are using an [example configuration](./complex-transactions#configuration). +We will describe common examples for complex transactions. All examples are using an [example configuration](./complex-transactions.md#configuration). ### Single payer, proposer and authorizer The simplest Flow transaction declares a single account as the proposer, payer and authorizer. diff --git a/docs/tools/flow-js-testing/accounts.md b/docs/tools/flow-js-testing/accounts.md index c9193d7c85..f6688a2158 100644 --- a/docs/tools/flow-js-testing/accounts.md +++ b/docs/tools/flow-js-testing/accounts.md @@ -66,7 +66,7 @@ _Pass in the following as a single object with the following keys._ | Key | Type | Required | Description | | ------ | -------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `name` | string | No | human-readable name to be associated with created account (will be used for address lookup within [getAccountAddress](./accounts.md#getaccountaddress)) | -| `keys` | [[KeyObject](./api.md#keyobject) or [PublicKey](./api.md#publickey)] | No | An array of [KeyObjects](./api.md#keyobject) or [PublicKeys](./api.md#publickey) to be added to the account upon creation (defaults to the [universal private key](./accounts#universal-private-key)) | +| `keys` | [[KeyObject](./api.md#keyobject) or [PublicKey](./api.md#publickey)] | No | An array of [KeyObjects](./api.md#keyobject) or [PublicKeys](./api.md#publickey) to be added to the account upon creation (defaults to the [universal private key](./accounts.md#universal-private-key)) | > 📣 if `name` field not provided, the account address will not be cached and you will be unable to look it up using [`getAccountAddress`](./accounts.md#getaccountaddress). diff --git a/docs/tools/flow-js-testing/api.md b/docs/tools/flow-js-testing/api.md index 58a3dcc59e..0981c72d34 100644 --- a/docs/tools/flow-js-testing/api.md +++ b/docs/tools/flow-js-testing/api.md @@ -47,7 +47,7 @@ _Pass in the following as a single object with the following keys._ | Key | Type | Required | Description | | ------ | -------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `name` | string | No | human-readable name to be associated with created account (will be used for address lookup within [getAccountAddress](./api.md#getaccountaddress)) | -| `keys` | [[KeyObject](./api.md#keyobject) or [PublicKey](./api.md#publickey)] | No | An array of [KeyObjects](./api.md#keyobject) or [PublicKeys](./api.md#publickey) to be added to the account upon creation (defaults to the [universal private key](./accounts#universal-private-key)) | +| `keys` | [[KeyObject](./api.md#keyobject) or [PublicKey](./api.md#publickey)] | No | An array of [KeyObjects](./api.md#keyobject) or [PublicKeys](./api.md#publickey) to be added to the account upon creation (defaults to the [universal private key](./accounts.md#universal-private-key)) | > 📣 if `name` field not provided, the account address will not be cached and you will be unable to look it up using [`getAccountAddress`](./api.md#getaccountaddress). diff --git a/docs/tools/flow-js-testing/contracts.md b/docs/tools/flow-js-testing/contracts.md index 6081d2758a..9670d709ca 100644 --- a/docs/tools/flow-js-testing/contracts.md +++ b/docs/tools/flow-js-testing/contracts.md @@ -18,7 +18,7 @@ Props object accepts the following fields: | -------------- | ------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | | `name` | string | | name of the file in `contracts` folder (with `.cdc` extension) and name of the contract (please note those should be the same) | | `to` | [Address](../clients/fcl-js/api.md#address) | ✅ | (optional) account address, where contract will be deployed. If this is not specified, framework will create new account with randomized alias. | -| `addressMap` | [AddressMap](./contracts.md#addressmap) | ✅ | (optional) object to use for address mapping of existing deployed contracts | +| `addressMap` | [AddressMap](./api.md#addressmap) | ✅ | (optional) object to use for address mapping of existing deployed contracts | | `args` | [Any] | ✅ | (optional) arguments, which will be passed to contract initializer. (optional) if template does not expect any arguments. | | `update` | boolean | ✅ | (optional) whether to update deployed contract. Default: `false` | | `transformers` | [[CadenceTransformer](./api.md#cadencetransformer)] | ✅ | an array of operators to modify the code, before submitting it to network | @@ -77,7 +77,7 @@ Props object accepts the following fields: | `contractCode` | string | | string representation of contract | | `name` | string | | name of the contract to be deployed. Should be the same as the name of the contract provided in `contractCode` | | `to` | [Address](../clients/fcl-js/api.md#address) | ✅ | account address, where contract will be deployed. If this is not specified, framework will create new account with randomized alias. | -| `addressMap` | [AddressMap](./contracts.md#addressmap) | ✅ | object to use for import resolver. Default: `{}` | +| `addressMap` | [AddressMap](./api.md#addressmap) | ✅ | object to use for import resolver. Default: `{}` | | `args` | [Any] | ✅ | arguments, which will be passed to contract initializer. Default: `[]` | | `update` | boolean | ✅ | whether to update deployed contract. Default: `false` | | `transformers` | [[CadenceTransformer](./api.md#cadencetransformer)] | ✅ | an array of operators to modify the code, before submitting it to network | diff --git a/docs/tools/flow-js-testing/send-transactions.md b/docs/tools/flow-js-testing/send-transactions.md index 84898f9403..b18fdfed15 100644 --- a/docs/tools/flow-js-testing/send-transactions.md +++ b/docs/tools/flow-js-testing/send-transactions.md @@ -24,7 +24,7 @@ Provides explicit control over how you pass values. | `args` | [any] | ✅ | an array of arguments to pass to transaction. Optional if transaction does not expect any arguments. | | `signers` | [[Address](../clients/fcl-js/api.md#address) or [SignerInfo](./api.md#signerinfoobject)] | ✅ | an array of [Address](../clients/fcl-js/api.md#address) or [SignerInfo](./api.md#signerinfoobject) objects representing transaction autorizers | | `addressMap` | [AddressMap](./api.md#addressmap) | ✅ | name/address map to use as lookup table for addresses in import statements | -| `transformers` | [[CadenceTransformer](./#cadencetransformer)] | ✅ | an array of operators to modify the code, before submitting it to network | +| `transformers` | [[CadenceTransformer](./api.md#cadencetransformer)] | ✅ | an array of operators to modify the code, before submitting it to network | > ⚠️ **Required:** Either `code` or `name` field shall be specified. Method will throw an error if both of them are empty. > If `name` field provided, framework will source code from file and override value passed via `code` field. diff --git a/docs/tutorials/dapp-infrastructure.md b/docs/tutorials/dapp-infrastructure.md index c039619587..3bb6b78c0f 100644 --- a/docs/tutorials/dapp-infrastructure.md +++ b/docs/tutorials/dapp-infrastructure.md @@ -12,7 +12,7 @@ All data written to the blockchain happens in a transaction. For user-facing dap ### User Transactions User transactions are transactions that are authorized by the users of your dapp. These transactions originate from the user’s wallet, as mentioned in the -[User Accounts & Wallets](./user-accounts-and-wallets) section. For example, a user may sign a transaction to purchase an NFT from your dapp. +[User Accounts & Wallets](./user-accounts-and-wallets.md) section. For example, a user may sign a transaction to purchase an NFT from your dapp. A user transaction is initialized by your dapp (e.g. by a button click) through FCL, which then passes the transaction to the user’s wallet, which in turn signs the transaction and submits it to Flow. This all happens from the dapp client, typically a browser app. By using FCL, your dapp does not need to be involved in the transaction signing -- it constructs the transaction, passes it to the wallet, and then waits for the final result. @@ -34,7 +34,7 @@ Events are data objects emitted at the end of a transaction that describe the st Events can be used to notify your off-chain infrastructure of important state changes in your smart contracts. For example, if a user purchases an NFT from your storefront smart contract, an event will be emitted that describes this purchase. Your web application, which displays the NFTs for sale, can then capture that event and remove the NFT from the sale list. -You can query events through the Flow Access API using the available [Flow SDKs](../tools/clients/index.md). Event data is returned in [JSON-Cadence format](../cadence/json-cadence-spec). +You can query events through the Flow Access API using the available [Flow SDKs](../tools/clients/index.md). Event data is returned in [JSON-Cadence format](../cadence/json-cadence-spec.md). #### Event Reflection Database @@ -53,4 +53,4 @@ At any point, your dapp can execute a query to read the state of your contracts. Events follow a push model, whereas script queries follow a pull model. Your dapp may need to check the state of your contracts without waiting for an event to be emitted. -You can execute scripts through the Flow Access API using the available [Flow SDKs](../tools/clients/index.md). Like events, script results are returned in [JSON-Cadence format](../cadence/json-cadence-spec). +You can execute scripts through the Flow Access API using the available [Flow SDKs](../tools/clients/index.md). Like events, script results are returned in [JSON-Cadence format](../cadence/json-cadence-spec.md). diff --git a/package.json b/package.json index 07c2852152..08f8a9e4ba 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,9 @@ "serve": "docusaurus serve", "write-translations": "docusaurus write-translations", "write-heading-ids": "docusaurus write-heading-ids", + "remark": "remark", + "remark:once": "npm run remark -- --quiet --frail --use remark-validate-links docs/", + "remark:watch": "npm run remark -- --quiet --frail --use remark-validate-links --watch docs/", "typecheck": "tsc" }, "dependencies": { @@ -53,6 +56,7 @@ "@docusaurus/module-type-aliases": "^3.0.0", "@tsconfig/docusaurus": "^2.0.2", "@typescript-eslint/eslint-plugin": "^5.43.0", + "concurrently": "^8.2.1", "eslint": "^8.0.1", "eslint-config-standard-with-typescript": "34.0.1", "eslint-plugin-import": "^2.25.2", @@ -60,6 +64,8 @@ "eslint-plugin-promise": "^6.0.0", "eslint-plugin-react": "7.32.2", "node-jq": "2.3.5", + "remark-cli": "^12.0.0", + "remark-validate-links": "^12.1.1", "typescript": "*" }, "browserslist": { diff --git a/src/utils/constants.tsx b/src/utils/constants.tsx index c185208938..a8a001e1af 100644 --- a/src/utils/constants.tsx +++ b/src/utils/constants.tsx @@ -54,4 +54,3 @@ export const HIGHLIGHT_LANGUAGES = [ export const DISCORD_URL = 'https://discord.gg/flow'; export const DISCORD_ANNOUNCEMENTS_CHANNEL_ID = '621529603718119424'; export const DISCORD_DEV_UPDATES_CHANNEL_ID = '811693600403357706'; -export const EXCLUDE_CONTENT_CLASS_NAME = 'docs-site-omit'; diff --git a/yarn.lock b/yarn.lock index 7790051d5f..3740d9ef25 100644 --- a/yarn.lock +++ b/yarn.lock @@ -175,7 +175,7 @@ "@jridgewell/gen-mapping" "^0.3.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.21.4", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.8.3": version "7.22.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== @@ -1215,6 +1215,13 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.21.0": + version "7.23.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.1.tgz#72741dc4d413338a91dcb044a86f3c0bc402646d" + integrity sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.12.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" @@ -2155,6 +2162,18 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + "@jest/schemas@^29.6.3": version "29.6.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" @@ -2316,6 +2335,40 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/config@^6.0.0": + version "6.3.0" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-6.3.0.tgz#9fda323682fdd0505e9584358f6de502b0d01a81" + integrity sha512-gV64pm5cQ7F2oeoSJ5HTfaKxjFsvC4dAbCsQbtbOkEOymM6iZI62yNGCOLjcq/rfYX9+wVn34ThxK7GZpUwWFg== + dependencies: + "@npmcli/map-workspaces" "^3.0.2" + ci-info "^3.8.0" + ini "^4.1.0" + nopt "^7.0.0" + proc-log "^3.0.0" + read-package-json-fast "^3.0.2" + semver "^7.3.5" + walk-up-path "^3.0.1" + +"@npmcli/map-workspaces@^3.0.2": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz#15ad7d854292e484f7ba04bc30187a8320dba799" + integrity sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg== + dependencies: + "@npmcli/name-from-folder" "^2.0.0" + glob "^10.2.2" + minimatch "^9.0.0" + read-package-json-fast "^3.0.0" + +"@npmcli/name-from-folder@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815" + integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg== + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== + "@pnpm/config.env-replace@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz#ab29da53df41e8948a00f2433f085f54de8b3a4c" @@ -2636,6 +2689,13 @@ dependencies: "@types/node" "*" +"@types/concat-stream@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-2.0.0.tgz#a716f0ba9015014e643addb351da05a73bef425c" + integrity sha512-t3YCerNM7NTVjLuICZo5gYAXYoDvpuuTceCcFQWcDQz26kxUR5uIWolxbIR5jRNIXpMqhOpW/b8imCR1LEmuJw== + dependencies: + "@types/node" "*" + "@types/connect-history-api-fallback@^1.3.5": version "1.5.2" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.2.tgz#acf51e088b3bb6507f7b093bd2b0de20940179cc" @@ -2752,6 +2812,11 @@ dependencies: "@types/node" "*" +"@types/is-empty@^1.0.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@types/is-empty/-/is-empty-1.2.1.tgz#18d7256a73e43ec51f8b75c25fbdc31350be52a6" + integrity sha512-a3xgqnFTuNJDm1fjsTjHocYJ40Cz3t8utYpi5GNaxzrJC2HSD08ym+whIL7fNqiqBCdM9bcqD1H/tORWAFXoZw== + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": version "2.0.5" resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#fdfdd69fa16d530047d9963635bd77c71a08c068" @@ -2793,7 +2858,14 @@ dependencies: "@types/unist" "^2" -"@types/mdast@^4.0.0", "@types/mdast@^4.0.2": +"@types/mdast@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.0.tgz#9f9462d4584a8b3e3711ea8bb4a94c485559ab90" + integrity sha512-YLeG8CujC9adtj/kuDzq1N4tCDYKoZ5l/bnjq8d74+t/3q/tHquJOJKUQXJrLCflOHpKjXgcI/a929gpmLOEng== + dependencies: + "@types/unist" "*" + +"@types/mdast@^4.0.2": version "4.0.2" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-4.0.2.tgz#4695661024ffbd9e52cf71e05c69a1f08c0792f6" integrity sha512-tYR83EignvhYO9iU3kDg8V28M0jqyh9zzp5GV+EO+AYnyUl3P5ltkTeJuTiFZQFz670FSb3EwT/6LQdX+UdKfw== @@ -2844,6 +2916,16 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.45.tgz#2c0fafd78705e7a18b7906b5201a522719dc5190" integrity sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw== +"@types/node@^18.0.0": + version "18.17.19" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.19.tgz#80c9b8a89d3648d9e6098f4a7184e03833fee3c5" + integrity sha512-+pMhShR3Or5GR0/sp4Da7FnhVmTalWm81M6MkEldbwjETSaPalw138Z4KdpQaistvqQxLB7Cy4xwYdxpbSOs9Q== + +"@types/node@^20.0.0": + version "20.6.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.5.tgz#4c6a79adf59a8e8193ac87a0e522605b16587258" + integrity sha512-2qGq5LAOTh9izcc0+F+dToFigBWiK1phKPt7rNhOqJSr35y8rlIBjDwGtFSgAI6MGIhjwOVNSQZVdJsZJ2uR1w== + "@types/parse-json@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.1.tgz#27f7559836ad796cea31acb63163b203756a5b4e" @@ -2962,6 +3044,16 @@ dependencies: "@types/node" "*" +"@types/supports-color@^8.0.0": + version "8.1.1" + resolved "https://registry.yarnpkg.com/@types/supports-color/-/supports-color-8.1.1.tgz#1b44b1b096479273adf7f93c75fc4ecc40a61ee4" + integrity sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw== + +"@types/text-table@^0.2.0": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@types/text-table/-/text-table-0.2.3.tgz#c9b0c8df377e10d16795381c2117b718562cae8b" + integrity sha512-MUW7DN7e178wJ2dB9rHuhwUWRUJGrl8fCng37BEWV0r2r5VpzkRFRiMfnX6sjXlu4tMn41lrjzsVh/z1XrKc+A== + "@types/unist@*", "@types/unist@^3.0.0": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.1.tgz#778652d02ddec1bfc9e5e938fec8d407b8e56cba" @@ -3211,6 +3303,11 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +abbrev@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf" + integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ== + accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -3978,7 +4075,7 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^5.0.1, chalk@^5.2.0: +chalk@^5.0.0, chalk@^5.0.1, chalk@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== @@ -4048,7 +4145,7 @@ cheerio@^1.0.0-rc.12: parse5 "^7.0.0" parse5-htmlparser2-tree-adapter "^7.0.0" -chokidar@^3.4.2, chokidar@^3.5.3: +chokidar@^3.0.0, chokidar@^3.4.2, chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== @@ -4078,6 +4175,11 @@ ci-info@^3.2.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== +ci-info@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" + integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + classnames@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" @@ -4294,6 +4396,31 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +concurrently@^8.2.1: + version "8.2.1" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-8.2.1.tgz#bcab9cacc38c23c503839583151e0fa96fd5b584" + integrity sha512-nVraf3aXOpIcNud5pB9M82p1tynmZkrSGQ1p6X/VY8cJ+2LMVqAgXsJxYYefACSHbTYlm92O1xuhdGTjwoEvbQ== + dependencies: + chalk "^4.1.2" + date-fns "^2.30.0" + lodash "^4.17.21" + rxjs "^7.8.1" + shell-quote "^1.8.1" + spawn-command "0.0.2" + supports-color "^8.1.1" + tree-kill "^1.2.2" + yargs "^17.7.2" + config-chain@^1.1.11: version "1.1.13" resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4" @@ -4472,7 +4599,7 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -4656,6 +4783,13 @@ date-fns@2.29.3: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== +date-fns@^2.30.0: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + debug@2.6.9, debug@^2.6.0: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -5134,6 +5268,11 @@ electron-to-chromium@^1.4.535: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.572.tgz#ed9876658998138fe9e3aa47ecfa0bf914192a86" integrity sha512-RlFobl4D3ieetbnR+2EpxdzFl9h0RAJkPK3pfiwMug2nhBin2ZCsGIAJWdpNniLz43sgXam/CgipOmvTA+rUiA== +emoji-regex@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.2.1.tgz#a41c330d957191efd3d9dfe6e1e8e1e9ab048b3f" + integrity sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA== + emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -5194,7 +5333,7 @@ entities@^4.2.0, entities@^4.4.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== -error-ex@^1.3.1: +error-ex@^1.3.1, error-ex@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== @@ -6018,6 +6157,14 @@ foreach@^2.0.4: resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.1.1.tgz#1d173e776d75d2772fed08efe4a0de1ea1b12d0d" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.3" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" @@ -6216,6 +6363,11 @@ github-slugger@^1.4.0, github-slugger@^1.5.0: resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== +github-slugger@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-2.0.0.tgz#52cf2f9279a21eb6c59dd385b410f0c0adda8f1a" + integrity sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw== + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -6247,6 +6399,17 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^10.0.0, glob@^10.2.2: + version "10.3.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.7.tgz#d5bd30a529c8c9b262fb4b217941f64ad90e25ac" + integrity sha512-wCMbE1m9Nx5yD9LYtgsVWq5VhHlk5WzJirw594qZR6AIvQYuHrdDtIktUVjQItalD53y7dqoedu9xP0u0WaxIQ== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.0.3" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + glob@^7.0.0, glob@^7.0.5, glob@^7.1.3, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -6259,6 +6422,17 @@ glob@^7.0.0, glob@^7.0.5, glob@^7.1.3, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + global-dirs@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-3.0.1.tgz#0c488971f066baceda21447aecb1a8b911d22485" @@ -6704,6 +6878,13 @@ hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0: dependencies: react-is "^16.7.0" +hosted-git-info@^6.0.0: + version "6.1.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58" + integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w== + dependencies: + lru-cache "^7.5.1" + hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -6882,7 +7063,7 @@ ieee754@^1.1.13, ieee754@^1.2.1: resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.0.0, ignore@^5.1.1, ignore@^5.2.0, ignore@^5.2.4: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== @@ -6917,6 +7098,16 @@ import-lazy@^4.0.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== +import-meta-resolve@^2.0.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz#75237301e72d1f0fbd74dbc6cca9324b164c2cc9" + integrity sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA== + +import-meta-resolve@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-3.0.0.tgz#94a6aabc623874fbc2f3525ec1300db71c6cbc11" + integrity sha512-4IwhLhNNA8yy445rPjD/lWh++7hMDOml2eHtd58eG7h+qK3EryMuuRbsHGPikCoAgIkkDnckKfWSk2iDla/ejg== + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -6960,6 +7151,11 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +ini@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1" + integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g== + inline-style-parser@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" @@ -7111,6 +7307,11 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-empty@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b" + integrity sha512-F2FnH/otLNJv0J6wc73A5Xo7oHLNnqplYqZhUu01tD54DIPvxIRSTSLkrUB/M0nHO4vo1O9PDfN4KoTxCzLh/w== + is-extendable@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -7406,6 +7607,15 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" +jackspeak@^2.0.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.3.tgz#95e4cbcc03b3eb357bf6bcce14a903fb3d1151e1" + integrity sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + jest-util@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" @@ -7503,6 +7713,11 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-parse-even-better-errors@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz#2cb2ee33069a78870a0c7e3da560026b89669cf7" + integrity sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA== + json-pointer@0.6.2, json-pointer@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd" @@ -7532,7 +7747,7 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" -json5@^2.1.2, json5@^2.2.3: +json5@^2.0.0, json5@^2.1.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== @@ -7619,6 +7834,11 @@ leven@^3.1.0: resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== +levenshtein-edit-distance@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/levenshtein-edit-distance/-/levenshtein-edit-distance-1.0.0.tgz#895baf478cce8b5c1a0d27e45d7c1d978a661e49" + integrity sha512-gpgBvPn7IFIAL32f0o6Nsh2g+5uOvkt4eK9epTfgE4YVxBxwVhJ/p1888lMm/u8mXdu1ETLSi6zeEmkBI+0F3w== + levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -7637,6 +7857,19 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +lines-and-columns@^2.0.2, lines-and-columns@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-2.0.3.tgz#b2f0badedb556b747020ab8ea7f0373e22efac1b" + integrity sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w== + +load-plugin@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/load-plugin/-/load-plugin-5.1.0.tgz#15600f5191c742b16e058cfc908c227c13db0104" + integrity sha512-Lg1CZa1CFj2CbNaxijTL6PCbzd4qGTlZov+iH2p5Xwy/ApcZJh+i6jMN2cYePouTfjJfrNu3nXFdEw8LvbjPFQ== + dependencies: + "@npmcli/config" "^6.0.0" + import-meta-resolve "^2.0.0" + loader-runner@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" @@ -7826,6 +8059,16 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.5.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + +"lru-cache@^9.1.1 || ^10.0.0": + version "10.0.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.0.1.tgz#0a3be479df549cca0e5d693ac402ff19537a6b7a" + integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== + lunr@^2.3.9: version "2.3.9" resolved "https://registry.yarnpkg.com/lunr/-/lunr-2.3.9.tgz#18b123142832337dd6e964df1a5a7707b25d35e1" @@ -8112,6 +8355,13 @@ mdast-util-to-string@^2.0.0: resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" integrity sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w== +mdast-util-to-string@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789" + integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg== + dependencies: + "@types/mdast" "^3.0.0" + mdast-util-to-string@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz#7a5121475556a04e7eddeb67b264aae79d312814" @@ -8665,11 +8915,23 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.7: +minimatch@^9.0.0, minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.0.0, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.3.tgz#05ea638da44e475037ed94d1c7efcc76a25e1974" + integrity sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg== + mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" @@ -8840,6 +9102,13 @@ noms@0.0.0: inherits "^2.0.1" readable-stream "~1.0.31" +nopt@^7.0.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7" + integrity sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA== + dependencies: + abbrev "^2.0.0" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -8873,6 +9142,11 @@ npm-conf@^1.1.0: config-chain "^1.1.11" pify "^3.0.0" +npm-normalize-package-bin@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832" + integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ== + npm-run-path@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" @@ -9271,6 +9545,27 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" +parse-json@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-6.0.2.tgz#6bf79c201351cc12d5d66eba48d5a097c13dc200" + integrity sha512-SA5aMiaIjXkAiBrW/yPgLgQAQg42f7K3ACO+2l/zOvtQBwX58DMUsFJXelW2fx3yMBmWOVkR6j1MGsdSbCA4UA== + dependencies: + "@babel/code-frame" "^7.16.0" + error-ex "^1.3.2" + json-parse-even-better-errors "^2.3.1" + lines-and-columns "^2.0.2" + +parse-json@^7.0.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-7.1.0.tgz#4cffd0ee00ffa597b995fd70a9811993c4f95023" + integrity sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg== + dependencies: + "@babel/code-frame" "^7.21.4" + error-ex "^1.3.2" + json-parse-even-better-errors "^3.0.0" + lines-and-columns "^2.0.3" + type-fest "^3.8.0" + parse-numeric-range@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" @@ -9354,6 +9649,14 @@ path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-1.10.1.tgz#9ba6bf5aa8500fe9fd67df4f0d9483b2b0bfc698" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -9866,6 +10169,11 @@ prismjs@^1.27.0, prismjs@^1.29.0: resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.29.0.tgz#f113555a8fa9b57c35e637bba27509dcf802dd12" integrity sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q== +proc-log@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8" + integrity sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -9907,6 +10215,13 @@ property-information@^6.0.0: resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3" integrity sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg== +propose@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/propose/-/propose-0.0.5.tgz#48a065d9ec7d4c8667f4050b15c4a2d85dbca56b" + integrity sha512-Jary1vb+ap2DIwOGfyiadcK4x1Iu3pzpkDBy8tljFPmQvnc9ES3m1PMZOMiWOG50cfoAyYNtGeBzrp+Rlh4G9A== + dependencies: + levenshtein-edit-distance "^1.0.0" + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -10175,6 +10490,14 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" +read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049" + integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw== + dependencies: + json-parse-even-better-errors "^3.0.0" + npm-normalize-package-bin "^3.0.0" + readable-stream@^2.0.1, readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" @@ -10188,7 +10511,7 @@ readable-stream@^2.0.1, readable-stream@^2.3.0, readable-stream@^2.3.5, readable string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.6.0: +readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -10400,6 +10723,16 @@ relateurl@^0.2.7: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== +remark-cli@^12.0.0: + version "12.0.0" + resolved "https://registry.yarnpkg.com/remark-cli/-/remark-cli-12.0.0.tgz#13919d1acf18028c3776f01a2e7cc1eb95b8b93a" + integrity sha512-IGxCo2VsXC/GS2YdlF7+S8DsUiyULyiauik01NFoiMIrOlbDhXjrKLD8hYazwQdD67nw2k7cwOBIxcK/cbNd9Q== + dependencies: + import-meta-resolve "^3.0.0" + markdown-extensions "^2.0.0" + remark "^15.0.0" + unified-args "^11.0.0" + remark-directive@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/remark-directive/-/remark-directive-3.0.0.tgz#34452d951b37e6207d2e2a4f830dc33442923268" @@ -10543,6 +10876,33 @@ remark-stringify@^11.0.0: mdast-util-to-markdown "^2.0.0" unified "^11.0.0" +remark-validate-links@^12.1.1: + version "12.1.1" + resolved "https://registry.yarnpkg.com/remark-validate-links/-/remark-validate-links-12.1.1.tgz#8c2060d547cdb5872bd443f8ce62e5a897ef8195" + integrity sha512-nk/CkcZ3u8QntoMCqZ+JzUzFub36E+mNFMMbYqqN+yQViUHbRLqirCG1qOI4E38RyKZ8abjFUv0JGB7skKa41A== + dependencies: + "@types/mdast" "^3.0.0" + github-slugger "^2.0.0" + hosted-git-info "^6.0.0" + mdast-util-to-string "^3.2.0" + propose "0.0.5" + to-vfile "^7.0.0" + trough "^2.0.0" + unified "^10.0.0" + unified-engine "^10.0.1" + unist-util-visit "^4.0.0" + vfile "^5.0.0" + +remark@^15.0.0: + version "15.0.1" + resolved "https://registry.yarnpkg.com/remark/-/remark-15.0.1.tgz#ac7e7563260513b66426bc47f850e7aa5862c37c" + integrity sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A== + dependencies: + "@types/mdast" "^4.0.0" + remark-parse "^11.0.0" + remark-stringify "^11.0.0" + unified "^11.0.0" + renderkid@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" @@ -10665,7 +11025,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^7.5.4, rxjs@^7.8.0: +rxjs@^7.5.4, rxjs@^7.8.0, rxjs@^7.8.1: version "7.8.1" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543" integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg== @@ -11028,6 +11388,11 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + sirv@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.3.tgz#ca5868b87205a74bef62a469ed0296abceccd446" @@ -11140,6 +11505,11 @@ space-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== +spawn-command@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e" + integrity sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ== + spdy-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" @@ -11203,7 +11573,7 @@ stickyfill@^1.1.1: resolved "https://registry.yarnpkg.com/stickyfill/-/stickyfill-1.1.1.tgz#39413fee9d025c74a7e59ceecb23784cc0f17f02" integrity sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA== -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -11212,7 +11582,7 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 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.0, string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== @@ -11221,6 +11591,15 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" +string-width@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-6.1.0.tgz#96488d6ed23f9ad5d82d13522af9e4c4c3fd7518" + integrity sha512-k01swCJAgQmuADB0YIc+7TuatfNvTBVOoaUWJjTB9R4VJzR5vNWzf5t42ESVZFPS8xTySF7CAdV4t/aaIm3UnQ== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^10.2.1" + strip-ansi "^7.0.1" + string.prototype.matchall@^4.0.8: version "4.0.10" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" @@ -11299,14 +11678,14 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" -strip-ansi@^7.0.1: +strip-ansi@^7.0.0, strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== @@ -11435,13 +11814,18 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" +supports-color@^9.0.0: + version "9.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954" + integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== + supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -11659,6 +12043,14 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +to-vfile@^7.0.0: + version "7.2.4" + resolved "https://registry.yarnpkg.com/to-vfile/-/to-vfile-7.2.4.tgz#b97ecfcc15905ffe020bc975879053928b671378" + integrity sha512-2eQ+rJ2qGbyw3senPI0qjuM7aut8IYXK6AEoOWb+fJx/mQYzviTckm1wDjq91QYHAPBTYzmdJXxMFA6Mk14mdw== + dependencies: + is-buffer "^2.0.0" + vfile "^5.1.0" + toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -11682,6 +12074,11 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== +tree-kill@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" + integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== + trim-lines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" @@ -11780,6 +12177,11 @@ type-fest@^2.13.0, type-fest@^2.5.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== +type-fest@^3.8.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== + type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -11834,6 +12236,11 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + typescript@*: version "5.2.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" @@ -11941,6 +12348,76 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== +unified-args@^11.0.0: + version "11.0.0" + resolved "https://registry.yarnpkg.com/unified-args/-/unified-args-11.0.0.tgz#891c1e2bfa29e0c0b65e7a844a69c2965a6b83b6" + integrity sha512-4q3OQ2EbNIaxVX1pMoB/QdFxw9BSOWBGUwn5LK3UJict+6i0ud18A1DZ177+2r5hC2nYFOw1jbCp27ydl44Zhg== + dependencies: + "@types/text-table" "^0.2.0" + chalk "^5.0.0" + chokidar "^3.0.0" + comma-separated-tokens "^2.0.0" + json5 "^2.0.0" + minimist "^1.0.0" + strip-ansi "^7.0.0" + text-table "^0.2.0" + unified-engine "^11.0.0" + +unified-engine@^10.0.1: + version "10.1.0" + resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-10.1.0.tgz#6899f00d1f53ee9af94f7abd0ec21242aae3f56c" + integrity sha512-5+JDIs4hqKfHnJcVCxTid1yBoI/++FfF/1PFdSMpaftZZZY+qg2JFruRbf7PaIwa9KgLotXQV3gSjtY0IdcFGQ== + dependencies: + "@types/concat-stream" "^2.0.0" + "@types/debug" "^4.0.0" + "@types/is-empty" "^1.0.0" + "@types/node" "^18.0.0" + "@types/unist" "^2.0.0" + concat-stream "^2.0.0" + debug "^4.0.0" + fault "^2.0.0" + glob "^8.0.0" + ignore "^5.0.0" + is-buffer "^2.0.0" + is-empty "^1.0.0" + is-plain-obj "^4.0.0" + load-plugin "^5.0.0" + parse-json "^6.0.0" + to-vfile "^7.0.0" + trough "^2.0.0" + unist-util-inspect "^7.0.0" + vfile-message "^3.0.0" + vfile-reporter "^7.0.0" + vfile-statistics "^2.0.0" + yaml "^2.0.0" + +unified-engine@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/unified-engine/-/unified-engine-11.1.0.tgz#0239c505d0b6559bb31ef0aec0b28bd8ebe1e0a1" + integrity sha512-RS3K5PgNjDRQN9eNIefLUDxpfyWIItmKcjBhD1VnYYT/h7xpheZoZBtb5gtwFyKWZlhKCGRVQknIm1M8qHZfIg== + dependencies: + "@types/concat-stream" "^2.0.0" + "@types/debug" "^4.0.0" + "@types/is-empty" "^1.0.0" + "@types/node" "^20.0.0" + "@types/unist" "^3.0.0" + "@ungap/structured-clone" "^1.0.0" + concat-stream "^2.0.0" + debug "^4.0.0" + glob "^10.0.0" + ignore "^5.0.0" + is-empty "^1.0.0" + is-plain-obj "^4.0.0" + load-plugin "^5.0.0" + parse-json "^7.0.0" + trough "^2.0.0" + unist-util-inspect "^8.0.0" + vfile "^6.0.0" + vfile-message "^4.0.0" + vfile-reporter "^8.0.0" + vfile-statistics "^3.0.0" + yaml "^2.0.0" + unified@9.2.0: version "9.2.0" resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.0.tgz#67a62c627c40589edebbf60f53edfd4d822027f8" @@ -11953,6 +12430,19 @@ unified@9.2.0: trough "^1.0.0" vfile "^4.0.0" +unified@^10.0.0: + version "10.1.2" + resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" + integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q== + dependencies: + "@types/unist" "^2.0.0" + bail "^2.0.0" + extend "^3.0.0" + is-buffer "^2.0.0" + is-plain-obj "^4.0.0" + trough "^2.0.0" + vfile "^5.0.0" + unified@^11.0.0, unified@^11.0.3, unified@^11.0.4: version "11.0.4" resolved "https://registry.yarnpkg.com/unified/-/unified-11.0.4.tgz#f4be0ac0fe4c88cb873687c07c64c49ed5969015" @@ -12009,11 +12499,32 @@ unist-util-generated@^1.0.0: resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== +unist-util-inspect@^7.0.0: + version "7.0.2" + resolved "https://registry.yarnpkg.com/unist-util-inspect/-/unist-util-inspect-7.0.2.tgz#858e4f02ee4053f7c6ada8bc81662901a0ee1893" + integrity sha512-Op0XnmHUl6C2zo/yJCwhXQSm/SmW22eDZdWP2qdf4WpGrgO1ZxFodq+5zFyeRGasFjJotAnLgfuD1jkcKqiH1Q== + dependencies: + "@types/unist" "^2.0.0" + +unist-util-inspect@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/unist-util-inspect/-/unist-util-inspect-8.0.0.tgz#dcc6475bb7219ce410c6f3d03c7ab068cc2e351d" + integrity sha512-/3Wn/wU6/H6UEo4FoYUeo8KUePN8ERiZpQYFWYoihOsr1DoDuv80PeB0hobVZyYSvALa2e556bG1A1/AbwU4yg== + dependencies: + "@types/unist" "^3.0.0" + unist-util-is@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797" integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== +unist-util-is@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9" + integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-6.0.0.tgz#b775956486aff107a9ded971d996c173374be424" @@ -12069,6 +12580,13 @@ unist-util-stringify-position@^2.0.0: dependencies: "@types/unist" "^2.0.2" +unist-util-stringify-position@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d" + integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz#449c6e21a880e0855bf5aabadeb3a740314abac2" @@ -12084,6 +12602,14 @@ unist-util-visit-parents@^3.0.0: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" +unist-util-visit-parents@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb" + integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz#4d5f85755c3b8f0dc69e21eca5d6d82d22162815" @@ -12101,6 +12627,15 @@ unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: unist-util-is "^4.0.0" unist-util-visit-parents "^3.0.0" +unist-util-visit@^4.0.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2" + integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg== + dependencies: + "@types/unist" "^2.0.0" + unist-util-is "^5.0.0" + unist-util-visit-parents "^5.1.1" + unist-util-visit@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-5.0.0.tgz#a7de1f31f72ffd3519ea71814cccf5fd6a9217d6" @@ -12291,6 +12826,14 @@ vfile-message@^2.0.0: "@types/unist" "^2.0.0" unist-util-stringify-position "^2.0.0" +vfile-message@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea" + integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw== + dependencies: + "@types/unist" "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-4.0.2.tgz#c883c9f677c72c166362fd635f21fc165a7d1181" @@ -12299,6 +12842,66 @@ vfile-message@^4.0.0: "@types/unist" "^3.0.0" unist-util-stringify-position "^4.0.0" +vfile-reporter@^7.0.0: + version "7.0.5" + resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-7.0.5.tgz#a0cbf3922c08ad428d6db1161ec64a53b5725785" + integrity sha512-NdWWXkv6gcd7AZMvDomlQbK3MqFWL1RlGzMn++/O2TI+68+nqxCPTvLugdOtfSzXmjh+xUyhp07HhlrbJjT+mw== + dependencies: + "@types/supports-color" "^8.0.0" + string-width "^5.0.0" + supports-color "^9.0.0" + unist-util-stringify-position "^3.0.0" + vfile "^5.0.0" + vfile-message "^3.0.0" + vfile-sort "^3.0.0" + vfile-statistics "^2.0.0" + +vfile-reporter@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-8.1.0.tgz#8d6057035c7133a1ea0da04c82bfef31c0756fa3" + integrity sha512-NfHyHdkCcy0BsXiLA3nId29TY7W7hgpc8nd8Soe3imATx5N4/+mkLYdMR+Y6Zvu6BXMMi0FZsD4FLCm1dN85Pg== + dependencies: + "@types/supports-color" "^8.0.0" + string-width "^6.0.0" + supports-color "^9.0.0" + unist-util-stringify-position "^4.0.0" + vfile "^6.0.0" + vfile-message "^4.0.0" + vfile-sort "^4.0.0" + vfile-statistics "^3.0.0" + +vfile-sort@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-3.0.1.tgz#4b06ec63e2946749b0bb514e736554cd75e441a2" + integrity sha512-1os1733XY6y0D5x0ugqSeaVJm9lYgj0j5qdcZQFyxlZOSy1jYarL77lLyb5gK4Wqr1d5OxmuyflSO3zKyFnTFw== + dependencies: + vfile "^5.0.0" + vfile-message "^3.0.0" + +vfile-sort@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-4.0.0.tgz#fa1929065b62fe5311e5391c9434f745e8641703" + integrity sha512-lffPI1JrbHDTToJwcq0rl6rBmkjQmMuXkAxsZPRS9DXbaJQvc642eCg6EGxcX2i1L+esbuhq+2l9tBll5v8AeQ== + dependencies: + vfile "^6.0.0" + vfile-message "^4.0.0" + +vfile-statistics@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-2.0.1.tgz#2e1adae1cd3a45c1ed4f2a24bd103c3d71e4bce3" + integrity sha512-W6dkECZmP32EG/l+dp2jCLdYzmnDBIw6jwiLZSER81oR5AHRcVqL+k3Z+pfH1R73le6ayDkJRMk0sutj1bMVeg== + dependencies: + vfile "^5.0.0" + vfile-message "^3.0.0" + +vfile-statistics@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-3.0.0.tgz#0f5cd00c611c1862b13a9b5bc5599efaf465f2cf" + integrity sha512-/qlwqwWBWFOmpXujL/20P+Iuydil0rZZNglR+VNm6J0gpLHwuVM5s7g2TfVoswbXjZ4HuIhLMySEyIw5i7/D8w== + dependencies: + vfile "^6.0.0" + vfile-message "^4.0.0" + vfile@^4.0.0: version "4.2.1" resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" @@ -12309,6 +12912,16 @@ vfile@^4.0.0: unist-util-stringify-position "^2.0.0" vfile-message "^2.0.0" +vfile@^5.0.0, vfile@^5.1.0: + version "5.3.7" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7" + integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g== + dependencies: + "@types/unist" "^2.0.0" + is-buffer "^2.0.0" + unist-util-stringify-position "^3.0.0" + vfile-message "^3.0.0" + vfile@^6.0.0, vfile@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/vfile/-/vfile-6.0.1.tgz#1e8327f41eac91947d4fe9d237a2dd9209762536" @@ -12350,6 +12963,11 @@ wait-on@^7.0.1: minimist "^1.2.7" rxjs "^7.8.0" +walk-up-path@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-3.0.1.tgz#c8d78d5375b4966c717eb17ada73dbd41490e886" + integrity sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA== + watchpack@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" @@ -12589,7 +13207,7 @@ wildcard@^2.0.0: resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -12684,6 +13302,11 @@ yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.0.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.2.tgz#f522db4313c671a0ca963a75670f1c12ea909144" + integrity sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg== + yaml@^2.1.1: version "2.3.3" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9" @@ -12712,7 +13335,7 @@ yargs@^16.1.0: y18n "^5.0.5" yargs-parser "^20.2.2" -yargs@^17.0.1: +yargs@^17.0.1, yargs@^17.7.2: version "17.7.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==