untested rewrite
This commit is contained in:
@@ -1,8 +1,7 @@
|
|||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import { Node } from "../node.js"
|
||||||
import type { MessageOptions } from "../../internal/message"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import { Node } from "../internal/node.js"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Props for an action row
|
* Props for an action row
|
||||||
@@ -31,17 +30,10 @@ export type ActionRowProps = {
|
|||||||
*/
|
*/
|
||||||
export function ActionRow(props: ActionRowProps) {
|
export function ActionRow(props: ActionRowProps) {
|
||||||
return (
|
return (
|
||||||
<ReacordElement props={props} createNode={() => new ActionRowNode(props)}>
|
<ReacordElement props={{}} createNode={() => new ActionRowNode({})}>
|
||||||
{props.children}
|
{props.children}
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class ActionRowNode extends Node<{}> {
|
export class ActionRowNode extends Node<{}> {}
|
||||||
override modifyMessageOptions(options: MessageOptions): void {
|
|
||||||
options.actionRows.push([])
|
|
||||||
for (const child of this.children) {
|
|
||||||
child.modifyMessageOptions(options)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ import type { APIMessageComponentButtonInteraction } from "discord.js"
|
|||||||
import { randomUUID } from "node:crypto"
|
import { randomUUID } from "node:crypto"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import type { ComponentEvent } from "../core/component-event.js"
|
import type { ComponentEvent } from "../core/component-event.js"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
|
||||||
import { Node } from "../node.js"
|
import { Node } from "../node.js"
|
||||||
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import type { ButtonSharedProps } from "./button-shared-props"
|
import type { ButtonSharedProps } from "./button-shared-props"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import { Node } from "../node.js"
|
||||||
import { Node } from "../internal/node.js"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import { EmbedChildNode } from "./embed-child.js"
|
|
||||||
import type { EmbedOptions } from "./embed-options"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Embed
|
* @category Embed
|
||||||
@@ -21,21 +19,9 @@ export type EmbedAuthorProps = {
|
|||||||
export function EmbedAuthor(props: EmbedAuthorProps) {
|
export function EmbedAuthor(props: EmbedAuthorProps) {
|
||||||
return (
|
return (
|
||||||
<ReacordElement props={props} createNode={() => new EmbedAuthorNode(props)}>
|
<ReacordElement props={props} createNode={() => new EmbedAuthorNode(props)}>
|
||||||
<ReacordElement props={{}} createNode={() => new AuthorTextNode({})}>
|
|
||||||
{props.name ?? props.children}
|
{props.name ?? props.children}
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
</ReacordElement>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmbedAuthorNode extends EmbedChildNode<EmbedAuthorProps> {
|
export class EmbedAuthorNode extends Node<EmbedAuthorProps> {}
|
||||||
override modifyEmbedOptions(options: EmbedOptions): void {
|
|
||||||
options.author = {
|
|
||||||
name: this.children.findType(AuthorTextNode)?.text ?? "",
|
|
||||||
url: this.props.url,
|
|
||||||
icon_url: this.props.iconUrl,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class AuthorTextNode extends Node<{}> {}
|
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import { Node } from "../node.js"
|
||||||
import { Node } from "../internal/node.js"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import { EmbedChildNode } from "./embed-child.js"
|
|
||||||
import type { EmbedOptions } from "./embed-options"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Embed
|
* @category Embed
|
||||||
@@ -21,26 +19,26 @@ export type EmbedFieldProps = {
|
|||||||
export function EmbedField(props: EmbedFieldProps) {
|
export function EmbedField(props: EmbedFieldProps) {
|
||||||
return (
|
return (
|
||||||
<ReacordElement props={props} createNode={() => new EmbedFieldNode(props)}>
|
<ReacordElement props={props} createNode={() => new EmbedFieldNode(props)}>
|
||||||
<ReacordElement props={{}} createNode={() => new FieldNameNode({})}>
|
<ReacordElement props={{}} createNode={() => new EmbedFieldNameNode({})}>
|
||||||
{props.name}
|
{props.name}
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
<ReacordElement props={{}} createNode={() => new FieldValueNode({})}>
|
<ReacordElement props={{}} createNode={() => new EmbedFieldValueNode({})}>
|
||||||
{props.value || props.children}
|
{props.value ?? props.children}
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmbedFieldNode extends EmbedChildNode<EmbedFieldProps> {
|
export class EmbedFieldNode extends Node<EmbedFieldProps> {
|
||||||
override modifyEmbedOptions(options: EmbedOptions): void {
|
// override modifyEmbedOptions(options: EmbedOptions): void {
|
||||||
options.fields ??= []
|
// options.fields ??= []
|
||||||
options.fields.push({
|
// options.fields.push({
|
||||||
name: this.children.findType(FieldNameNode)?.text ?? "",
|
// name: this.children.findType(FieldNameNode)?.text ?? "",
|
||||||
value: this.children.findType(FieldValueNode)?.text ?? "",
|
// value: this.children.findType(FieldValueNode)?.text ?? "",
|
||||||
inline: this.props.inline,
|
// inline: this.props.inline,
|
||||||
})
|
// })
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
class FieldNameNode extends Node<{}> {}
|
export class EmbedFieldNameNode extends Node<{}> {}
|
||||||
class FieldValueNode extends Node<{}> {}
|
export class EmbedFieldValueNode extends Node<{}> {}
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import { Node } from "../node.js"
|
||||||
import { Node } from "../internal/node.js"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import { EmbedChildNode } from "./embed-child.js"
|
|
||||||
import type { EmbedOptions } from "./embed-options"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Embed
|
* @category Embed
|
||||||
@@ -21,25 +19,21 @@ export type EmbedFooterProps = {
|
|||||||
export function EmbedFooter({ text, children, ...props }: EmbedFooterProps) {
|
export function EmbedFooter({ text, children, ...props }: EmbedFooterProps) {
|
||||||
return (
|
return (
|
||||||
<ReacordElement props={props} createNode={() => new EmbedFooterNode(props)}>
|
<ReacordElement props={props} createNode={() => new EmbedFooterNode(props)}>
|
||||||
<ReacordElement props={{}} createNode={() => new FooterTextNode({})}>
|
|
||||||
{text ?? children}
|
{text ?? children}
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
</ReacordElement>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmbedFooterNode extends EmbedChildNode<
|
export class EmbedFooterNode extends Node<
|
||||||
Omit<EmbedFooterProps, "text" | "children">
|
Omit<EmbedFooterProps, "text" | "children">
|
||||||
> {
|
> {
|
||||||
override modifyEmbedOptions(options: EmbedOptions): void {
|
// override modifyEmbedOptions(options: EmbedOptions): void {
|
||||||
options.footer = {
|
// options.footer = {
|
||||||
text: this.children.findType(FooterTextNode)?.text ?? "",
|
// text: this.children.findType(FooterTextNode)?.text ?? "",
|
||||||
icon_url: this.props.iconUrl,
|
// icon_url: this.props.iconUrl,
|
||||||
}
|
// }
|
||||||
options.timestamp = this.props.timestamp
|
// options.timestamp = this.props.timestamp
|
||||||
? new Date(this.props.timestamp).toISOString()
|
// ? new Date(this.props.timestamp).toISOString()
|
||||||
: undefined
|
// : undefined
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
class FooterTextNode extends Node<{}> {}
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import { Node } from "../node"
|
||||||
import { EmbedChildNode } from "./embed-child.js"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import type { EmbedOptions } from "./embed-options"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Embed
|
* @category Embed
|
||||||
@@ -22,8 +21,4 @@ export function EmbedImage(props: EmbedImageProps) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmbedImageNode extends EmbedChildNode<EmbedImageProps> {
|
export class EmbedImageNode extends Node<EmbedImageProps> {}
|
||||||
override modifyEmbedOptions(options: EmbedOptions): void {
|
|
||||||
options.image = { url: this.props.url }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import { Node } from "../node"
|
||||||
import { EmbedChildNode } from "./embed-child.js"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import type { EmbedOptions } from "./embed-options"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Embed
|
* @category Embed
|
||||||
@@ -22,8 +21,4 @@ export function EmbedThumbnail(props: EmbedThumbnailProps) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmbedThumbnailNode extends EmbedChildNode<EmbedThumbnailProps> {
|
export class EmbedThumbnailNode extends Node<EmbedThumbnailProps> {}
|
||||||
override modifyEmbedOptions(options: EmbedOptions): void {
|
|
||||||
options.thumbnail = { url: this.props.url }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import type { Except } from "type-fest"
|
||||||
import { Node } from "../internal/node.js"
|
import { Node } from "../node"
|
||||||
import { EmbedChildNode } from "./embed-child.js"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import type { EmbedOptions } from "./embed-options"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Embed
|
* @category Embed
|
||||||
@@ -19,18 +18,9 @@ export type EmbedTitleProps = {
|
|||||||
export function EmbedTitle({ children, ...props }: EmbedTitleProps) {
|
export function EmbedTitle({ children, ...props }: EmbedTitleProps) {
|
||||||
return (
|
return (
|
||||||
<ReacordElement props={props} createNode={() => new EmbedTitleNode(props)}>
|
<ReacordElement props={props} createNode={() => new EmbedTitleNode(props)}>
|
||||||
<ReacordElement props={{}} createNode={() => new TitleTextNode({})}>
|
|
||||||
{children}
|
{children}
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
</ReacordElement>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmbedTitleNode extends EmbedChildNode<Omit<EmbedTitleProps, "children">> {
|
export class EmbedTitleNode extends Node<Except<EmbedTitleProps, "children">> {}
|
||||||
override modifyEmbedOptions(options: EmbedOptions): void {
|
|
||||||
options.title = this.children.findType(TitleTextNode)?.text ?? ""
|
|
||||||
options.url = this.props.url
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class TitleTextNode extends Node<{}> {}
|
|
||||||
|
|||||||
@@ -1,12 +1,6 @@
|
|||||||
import { snakeCaseDeep } from "@reacord/helpers/convert-object-property-case.js"
|
|
||||||
import { omit } from "@reacord/helpers/omit.js"
|
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import type { MessageOptions } from "../../internal/message"
|
|
||||||
import { ReacordElement } from "../internal/element.js"
|
|
||||||
import { Node } from "../node.js"
|
import { Node } from "../node.js"
|
||||||
import { TextNode } from "../text-node"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import { EmbedChildNode } from "./embed-child.js"
|
|
||||||
import type { EmbedOptions } from "./embed-options"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Embed
|
* @category Embed
|
||||||
@@ -39,24 +33,22 @@ export function Embed(props: EmbedProps) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class EmbedNode extends Node<EmbedProps> {
|
export class EmbedNode extends Node<EmbedProps> {
|
||||||
override modifyMessageOptions(options: MessageOptions): void {
|
// override modifyMessageOptions(options: MessageOptions): void {
|
||||||
const embed: EmbedOptions = {
|
// const embed: EmbedOptions = {
|
||||||
...snakeCaseDeep(omit(this.props, ["children", "timestamp"])),
|
// ...snakeCaseDeep(omit(this.props, ["children", "timestamp"])),
|
||||||
timestamp: this.props.timestamp
|
// timestamp: this.props.timestamp
|
||||||
? new Date(this.props.timestamp).toISOString()
|
// ? new Date(this.props.timestamp).toISOString()
|
||||||
: undefined,
|
// : undefined,
|
||||||
}
|
// }
|
||||||
|
// for (const child of this.children) {
|
||||||
for (const child of this.children) {
|
// if (child instanceof EmbedChildNode) {
|
||||||
if (child instanceof EmbedChildNode) {
|
// child.modifyEmbedOptions(embed)
|
||||||
child.modifyEmbedOptions(embed)
|
// }
|
||||||
}
|
// if (child instanceof TextNode) {
|
||||||
if (child instanceof TextNode) {
|
// embed.description = (embed.description || "") + child.props
|
||||||
embed.description = (embed.description || "") + child.props
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// options.embeds.push(embed)
|
||||||
|
// }
|
||||||
options.embeds.push(embed)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import type { Except } from "type-fest"
|
||||||
import type { MessageOptions } from "../../internal/message"
|
import { Node } from "../node.js"
|
||||||
import { getNextActionRow } from "../internal/message"
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
import { Node } from "../internal/node.js"
|
|
||||||
import type { ButtonSharedProps } from "./button-shared-props"
|
import type { ButtonSharedProps } from "./button-shared-props"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -21,23 +20,9 @@ export type LinkProps = ButtonSharedProps & {
|
|||||||
export function Link({ label, children, ...props }: LinkProps) {
|
export function Link({ label, children, ...props }: LinkProps) {
|
||||||
return (
|
return (
|
||||||
<ReacordElement props={props} createNode={() => new LinkNode(props)}>
|
<ReacordElement props={props} createNode={() => new LinkNode(props)}>
|
||||||
<ReacordElement props={{}} createNode={() => new LinkTextNode({})}>
|
|
||||||
{label || children}
|
{label || children}
|
||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
</ReacordElement>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class LinkNode extends Node<Omit<LinkProps, "label" | "children">> {
|
export class LinkNode extends Node<Except<LinkProps, "label" | "children">> {}
|
||||||
override modifyMessageOptions(options: MessageOptions): void {
|
|
||||||
getNextActionRow(options).push({
|
|
||||||
type: "link",
|
|
||||||
disabled: this.props.disabled,
|
|
||||||
emoji: this.props.emoji,
|
|
||||||
label: this.children.findType(LinkTextNode)?.text,
|
|
||||||
url: this.props.url,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class LinkTextNode extends Node<{}> {}
|
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
import type { MessageSelectOptionOptions } from "../../internal/message"
|
|
||||||
import { Node } from "../node"
|
|
||||||
import type { OptionProps } from "./option"
|
|
||||||
|
|
||||||
export class OptionNode extends Node<
|
|
||||||
Omit<OptionProps, "children" | "label" | "description">
|
|
||||||
> {
|
|
||||||
get options(): MessageSelectOptionOptions {
|
|
||||||
return {
|
|
||||||
label: this.children.findType(OptionLabelNode)?.text ?? this.props.value,
|
|
||||||
value: this.props.value,
|
|
||||||
description: this.children.findType(OptionDescriptionNode)?.text,
|
|
||||||
emoji: this.props.emoji,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export class OptionLabelNode extends Node<{}> {}
|
|
||||||
export class OptionDescriptionNode extends Node<{}> {}
|
|
||||||
@@ -1,11 +1,7 @@
|
|||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element"
|
import { Node } from "../node"
|
||||||
import {
|
import { ReacordElement } from "../reacord-element"
|
||||||
OptionDescriptionNode,
|
|
||||||
OptionLabelNode,
|
|
||||||
OptionNode,
|
|
||||||
} from "./option-node"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Select
|
* @category Select
|
||||||
@@ -60,3 +56,9 @@ export function Option({
|
|||||||
</ReacordElement>
|
</ReacordElement>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class OptionNode extends Node<
|
||||||
|
Omit<OptionProps, "children" | "label" | "description">
|
||||||
|
> {}
|
||||||
|
export class OptionLabelNode extends Node<{}> {}
|
||||||
|
export class OptionDescriptionNode extends Node<{}> {}
|
||||||
|
|||||||
@@ -1,18 +1,10 @@
|
|||||||
import { isInstanceOf } from "@reacord/helpers/is-instance-of.js"
|
|
||||||
import type { APIMessageComponentSelectMenuInteraction } from "discord.js"
|
import type { APIMessageComponentSelectMenuInteraction } from "discord.js"
|
||||||
import { randomUUID } from "node:crypto"
|
import { randomUUID } from "node:crypto"
|
||||||
import type { ReactNode } from "react"
|
import type { ReactNode } from "react"
|
||||||
import React from "react"
|
import React from "react"
|
||||||
import { ReacordElement } from "../internal/element.js"
|
import type { ComponentEvent } from "../core/component-event.js"
|
||||||
import type { ComponentInteraction } from "../../internal/interaction"
|
import { Node } from "../node.js"
|
||||||
import type {
|
import { ReacordElement } from "../reacord-element.js"
|
||||||
ActionRow,
|
|
||||||
ActionRowItem,
|
|
||||||
MessageOptions,
|
|
||||||
} from "../../internal/message"
|
|
||||||
import { Node } from "../internal/node.js"
|
|
||||||
import type { ComponentEvent } from "../component-event"
|
|
||||||
import { OptionNode } from "./option-node"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @category Select
|
* @category Select
|
||||||
@@ -100,64 +92,4 @@ export function Select(props: SelectProps) {
|
|||||||
|
|
||||||
export class SelectNode extends Node<SelectProps> {
|
export class SelectNode extends Node<SelectProps> {
|
||||||
readonly customId = randomUUID()
|
readonly customId = randomUUID()
|
||||||
|
|
||||||
override modifyMessageOptions(message: MessageOptions): void {
|
|
||||||
const actionRow: ActionRow = []
|
|
||||||
message.actionRows.push(actionRow)
|
|
||||||
|
|
||||||
const options = [...this.children]
|
|
||||||
.filter(isInstanceOf(OptionNode))
|
|
||||||
.map((node) => node.options)
|
|
||||||
|
|
||||||
const {
|
|
||||||
multiple,
|
|
||||||
value,
|
|
||||||
values,
|
|
||||||
minValues = 0,
|
|
||||||
maxValues = 25,
|
|
||||||
children,
|
|
||||||
onChange,
|
|
||||||
onChangeValue,
|
|
||||||
onChangeMultiple,
|
|
||||||
...props
|
|
||||||
} = this.props
|
|
||||||
|
|
||||||
const item: ActionRowItem = {
|
|
||||||
...props,
|
|
||||||
type: "select",
|
|
||||||
customId: this.customId,
|
|
||||||
options,
|
|
||||||
values: [],
|
|
||||||
}
|
|
||||||
|
|
||||||
if (multiple) {
|
|
||||||
item.minValues = minValues
|
|
||||||
item.maxValues = maxValues
|
|
||||||
if (values) item.values = values
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!multiple && value != undefined) {
|
|
||||||
item.values = [value]
|
|
||||||
}
|
|
||||||
|
|
||||||
actionRow.push(item)
|
|
||||||
}
|
|
||||||
|
|
||||||
override handleComponentInteraction(
|
|
||||||
interaction: ComponentInteraction,
|
|
||||||
): boolean {
|
|
||||||
const isSelectInteraction =
|
|
||||||
interaction.type === "select" &&
|
|
||||||
interaction.customId === this.customId &&
|
|
||||||
!this.props.disabled
|
|
||||||
|
|
||||||
if (!isSelectInteraction) return false
|
|
||||||
|
|
||||||
this.props.onChange?.(interaction.event)
|
|
||||||
this.props.onChangeMultiple?.(interaction.event.values, interaction.event)
|
|
||||||
if (interaction.event.values[0]) {
|
|
||||||
this.props.onChangeValue?.(interaction.event.values[0], interaction.event)
|
|
||||||
}
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
244
packages/reacord/library/make-message-update-payload.ts
Normal file
244
packages/reacord/library/make-message-update-payload.ts
Normal file
@@ -0,0 +1,244 @@
|
|||||||
|
import type {
|
||||||
|
APIActionRowComponent,
|
||||||
|
APIButtonComponent,
|
||||||
|
APIEmbed,
|
||||||
|
APISelectMenuComponent,
|
||||||
|
APISelectMenuOption,
|
||||||
|
} from "discord-api-types/v10"
|
||||||
|
import { ButtonStyle, ComponentType } from "discord-api-types/v10"
|
||||||
|
import { ActionRowNode } from "./components/action-row"
|
||||||
|
import type { ButtonProps } from "./components/button"
|
||||||
|
import { ButtonNode } from "./components/button"
|
||||||
|
import { EmbedNode } from "./components/embed"
|
||||||
|
import { EmbedAuthorNode } from "./components/embed-author"
|
||||||
|
import {
|
||||||
|
EmbedFieldNameNode,
|
||||||
|
EmbedFieldNode,
|
||||||
|
EmbedFieldValueNode,
|
||||||
|
} from "./components/embed-field"
|
||||||
|
import { EmbedFooterNode } from "./components/embed-footer"
|
||||||
|
import { EmbedImageNode } from "./components/embed-image"
|
||||||
|
import { EmbedThumbnailNode } from "./components/embed-thumbnail"
|
||||||
|
import { EmbedTitleNode } from "./components/embed-title"
|
||||||
|
import { LinkNode } from "./components/link"
|
||||||
|
import {
|
||||||
|
OptionDescriptionNode,
|
||||||
|
OptionLabelNode,
|
||||||
|
OptionNode,
|
||||||
|
} from "./components/option"
|
||||||
|
import { SelectNode } from "./components/select"
|
||||||
|
import type { Node } from "./node"
|
||||||
|
|
||||||
|
export type MessageUpdatePayload = {
|
||||||
|
content: string
|
||||||
|
embeds: APIEmbed[]
|
||||||
|
components: Array<
|
||||||
|
APIActionRowComponent<APIButtonComponent | APISelectMenuComponent>
|
||||||
|
>
|
||||||
|
}
|
||||||
|
|
||||||
|
export function makeMessageUpdatePayload(root: Node): MessageUpdatePayload {
|
||||||
|
return {
|
||||||
|
content: root.extractText(),
|
||||||
|
embeds: makeEmbeds(root),
|
||||||
|
components: makeActionRows(root),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function makeEmbeds(root: Node) {
|
||||||
|
const embeds: APIEmbed[] = []
|
||||||
|
|
||||||
|
for (const node of root.children) {
|
||||||
|
if (node instanceof EmbedNode) {
|
||||||
|
const { props, children } = node
|
||||||
|
|
||||||
|
const embed: APIEmbed = {
|
||||||
|
author: props.author && {
|
||||||
|
name: props.author.name,
|
||||||
|
icon_url: props.author.iconUrl,
|
||||||
|
url: props.author.url,
|
||||||
|
},
|
||||||
|
color: props.color,
|
||||||
|
description: props.description,
|
||||||
|
fields: props.fields?.map(({ name, value, inline }) => ({
|
||||||
|
name,
|
||||||
|
value,
|
||||||
|
inline,
|
||||||
|
})),
|
||||||
|
footer: props.footer && {
|
||||||
|
text: props.footer.text,
|
||||||
|
icon_url: props.footer.iconUrl,
|
||||||
|
},
|
||||||
|
image: props.image,
|
||||||
|
thumbnail: props.thumbnail,
|
||||||
|
title: props.title,
|
||||||
|
url: props.url,
|
||||||
|
video: props.video,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (props.timestamp !== undefined) {
|
||||||
|
embed.timestamp = normalizeDatePropToISOString(props.timestamp)
|
||||||
|
}
|
||||||
|
|
||||||
|
applyEmbedChildren(embed, children)
|
||||||
|
|
||||||
|
embeds.push(embed)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return embeds
|
||||||
|
}
|
||||||
|
|
||||||
|
function applyEmbedChildren(embed: APIEmbed, children: Node[]) {
|
||||||
|
for (const child of children) {
|
||||||
|
if (child instanceof EmbedAuthorNode) {
|
||||||
|
embed.author = {
|
||||||
|
name: child.extractText(),
|
||||||
|
icon_url: child.props.iconUrl,
|
||||||
|
url: child.props.url,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (child instanceof EmbedFieldNode) {
|
||||||
|
embed.fields ??= []
|
||||||
|
embed.fields.push({
|
||||||
|
name: child.findInstanceOf(EmbedFieldNameNode)?.extractText() ?? "",
|
||||||
|
value: child.findInstanceOf(EmbedFieldValueNode)?.extractText() ?? "",
|
||||||
|
inline: child.props.inline,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (child instanceof EmbedFooterNode) {
|
||||||
|
embed.footer = {
|
||||||
|
text: child.extractText(),
|
||||||
|
icon_url: child.props.iconUrl,
|
||||||
|
}
|
||||||
|
if (child.props.timestamp != undefined) {
|
||||||
|
embed.timestamp = normalizeDatePropToISOString(child.props.timestamp)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (child instanceof EmbedImageNode) {
|
||||||
|
embed.image = { url: child.props.url }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (child instanceof EmbedThumbnailNode) {
|
||||||
|
embed.thumbnail = { url: child.props.url }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (child instanceof EmbedTitleNode) {
|
||||||
|
embed.title = child.extractText()
|
||||||
|
embed.url = child.props.url
|
||||||
|
}
|
||||||
|
|
||||||
|
if (child instanceof EmbedNode) {
|
||||||
|
applyEmbedChildren(embed, child.children)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function normalizeDatePropToISOString(value: string | number | Date) {
|
||||||
|
return value instanceof Date
|
||||||
|
? value.toISOString()
|
||||||
|
: new Date(value).toISOString()
|
||||||
|
}
|
||||||
|
|
||||||
|
function makeActionRows(root: Node) {
|
||||||
|
const actionRows: Array<
|
||||||
|
APIActionRowComponent<APIButtonComponent | APISelectMenuComponent>
|
||||||
|
> = []
|
||||||
|
|
||||||
|
for (const node of root.children) {
|
||||||
|
let currentRow = actionRows[actionRows.length - 1]
|
||||||
|
if (
|
||||||
|
!currentRow ||
|
||||||
|
currentRow.components.length >= 5 ||
|
||||||
|
currentRow.components[0]?.type === ComponentType.SelectMenu
|
||||||
|
) {
|
||||||
|
currentRow = {
|
||||||
|
type: ComponentType.ActionRow,
|
||||||
|
components: [],
|
||||||
|
}
|
||||||
|
actionRows.push(currentRow)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node instanceof ButtonNode) {
|
||||||
|
currentRow.components.push({
|
||||||
|
type: ComponentType.Button,
|
||||||
|
custom_id: node.customId,
|
||||||
|
label: node.extractText(Number.POSITIVE_INFINITY),
|
||||||
|
emoji: { name: node.props.emoji },
|
||||||
|
style: translateButtonStyle(node.props.style ?? "secondary"),
|
||||||
|
disabled: node.props.disabled,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node instanceof LinkNode) {
|
||||||
|
currentRow.components.push({
|
||||||
|
type: ComponentType.Button,
|
||||||
|
label: node.extractText(Number.POSITIVE_INFINITY),
|
||||||
|
url: node.props.url,
|
||||||
|
style: ButtonStyle.Link,
|
||||||
|
disabled: node.props.disabled,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node instanceof SelectNode) {
|
||||||
|
const actionRow: APIActionRowComponent<APISelectMenuComponent> = {
|
||||||
|
type: ComponentType.ActionRow,
|
||||||
|
components: [],
|
||||||
|
}
|
||||||
|
actionRows.push(actionRow)
|
||||||
|
|
||||||
|
let selectedValues: string[] = []
|
||||||
|
if (node.props.multiple && node.props.values) {
|
||||||
|
selectedValues = node.props.values ?? []
|
||||||
|
}
|
||||||
|
if (!node.props.multiple && node.props.value != undefined) {
|
||||||
|
selectedValues = [node.props.value]
|
||||||
|
}
|
||||||
|
|
||||||
|
const options = [...node.children]
|
||||||
|
.flatMap((child) => (child instanceof OptionNode ? child : []))
|
||||||
|
.map<APISelectMenuOption>((child) => ({
|
||||||
|
label: child.findInstanceOf(OptionLabelNode)?.extractText() ?? "",
|
||||||
|
description: child
|
||||||
|
.findInstanceOf(OptionDescriptionNode)
|
||||||
|
?.extractText(),
|
||||||
|
value: child.props.value,
|
||||||
|
default: selectedValues.includes(child.props.value),
|
||||||
|
emoji: { name: child.props.emoji },
|
||||||
|
}))
|
||||||
|
|
||||||
|
const select: APISelectMenuComponent = {
|
||||||
|
type: ComponentType.SelectMenu,
|
||||||
|
custom_id: node.customId,
|
||||||
|
options,
|
||||||
|
disabled: node.props.disabled,
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node.props.multiple) {
|
||||||
|
select.min_values = node.props.minValues
|
||||||
|
select.max_values = node.props.maxValues
|
||||||
|
}
|
||||||
|
|
||||||
|
actionRow.components.push(select)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (node instanceof ActionRowNode) {
|
||||||
|
actionRows.push(...makeActionRows(node))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return actionRows
|
||||||
|
}
|
||||||
|
|
||||||
|
function translateButtonStyle(style: NonNullable<ButtonProps["style"]>) {
|
||||||
|
const styleMap = {
|
||||||
|
primary: ButtonStyle.Primary,
|
||||||
|
secondary: ButtonStyle.Secondary,
|
||||||
|
danger: ButtonStyle.Danger,
|
||||||
|
success: ButtonStyle.Success,
|
||||||
|
} as const
|
||||||
|
return styleMap[style]
|
||||||
|
}
|
||||||
@@ -38,4 +38,20 @@ export class Node<Props = unknown> {
|
|||||||
yield* child.walk()
|
yield* child.walk()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
findInstanceOf<T extends Node>(
|
||||||
|
cls: new (...args: any[]) => T,
|
||||||
|
): T | undefined {
|
||||||
|
for (const child of this.children) {
|
||||||
|
if (child instanceof cls) return child
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
extractText(depth = 1): string {
|
||||||
|
if (this instanceof TextNode) return this.props.text
|
||||||
|
if (depth <= 0) return ""
|
||||||
|
return this.children.map((child) => child.extractText(depth - 1)).join("")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class TextNode extends Node<{ text: string }> {}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import {
|
|||||||
InteractionType,
|
InteractionType,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import * as React from "react"
|
import * as React from "react"
|
||||||
import { InstanceProvider } from "./core/instance-context.js"
|
import { InstanceProvider } from "./core/instance-context"
|
||||||
import type { ReacordInstance } from "./reacord-instance.js"
|
import type { ReacordInstance } from "./reacord-instance.js"
|
||||||
import { ReacordInstancePrivate } from "./reacord-instance.js"
|
import { ReacordInstancePrivate } from "./reacord-instance.js"
|
||||||
import type { Renderer } from "./renderer.js"
|
import type { Renderer } from "./renderer.js"
|
||||||
@@ -79,7 +79,7 @@ export class ReacordClient {
|
|||||||
|
|
||||||
send(channelId: string, initialContent?: React.ReactNode): ReacordInstance {
|
send(channelId: string, initialContent?: React.ReactNode): ReacordInstance {
|
||||||
return this.createInstance(
|
return this.createInstance(
|
||||||
new ChannelMessageRenderer(channelId),
|
new ChannelMessageRenderer(channelId, this.client),
|
||||||
initialContent,
|
initialContent,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -127,7 +127,11 @@ export class ReacordClient {
|
|||||||
const publicInstance: ReacordInstance = {
|
const publicInstance: ReacordInstance = {
|
||||||
render: (content: React.ReactNode) => {
|
render: (content: React.ReactNode) => {
|
||||||
instance.render(
|
instance.render(
|
||||||
<InstanceProvider value={publicInstance}>{content}</InstanceProvider>,
|
React.createElement(
|
||||||
|
InstanceProvider,
|
||||||
|
{ value: publicInstance },
|
||||||
|
content,
|
||||||
|
),
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
deactivate: () => {
|
deactivate: () => {
|
||||||
@@ -4,14 +4,14 @@ import type {
|
|||||||
APIMessageComponentSelectMenuInteraction,
|
APIMessageComponentSelectMenuInteraction,
|
||||||
} from "discord.js"
|
} from "discord.js"
|
||||||
import { ComponentType } from "discord.js"
|
import { ComponentType } from "discord.js"
|
||||||
import { ButtonNode } from "./components/button.js"
|
import { ButtonNode } from "./components/button"
|
||||||
import type { SelectChangeEvent } from "./components/select.js"
|
import type { SelectChangeEvent } from "./components/select"
|
||||||
import { SelectNode } from "./components/select.js"
|
import { SelectNode } from "./components/select"
|
||||||
import type { ComponentEvent } from "./core/component-event.js"
|
import type { ComponentEvent } from "./core/component-event"
|
||||||
import { reconciler } from "./internal/reconciler.js"
|
import { Node } from "./node"
|
||||||
import { Node } from "./node.js"
|
import type { ReacordClient } from "./reacord-client"
|
||||||
import type { ReacordClient } from "./reacord-client.js"
|
import { reconciler } from "./reconciler"
|
||||||
import type { Renderer } from "./renderer.js"
|
import type { Renderer } from "./renderer"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents an interactive message, which can later be replaced or deleted.
|
* Represents an interactive message, which can later be replaced or deleted.
|
||||||
|
|||||||
@@ -2,9 +2,8 @@
|
|||||||
import { raise } from "@reacord/helpers/raise.js"
|
import { raise } from "@reacord/helpers/raise.js"
|
||||||
import ReactReconciler from "react-reconciler"
|
import ReactReconciler from "react-reconciler"
|
||||||
import { DefaultEventPriority } from "react-reconciler/constants"
|
import { DefaultEventPriority } from "react-reconciler/constants"
|
||||||
import { Node } from "./node.js"
|
import { Node, TextNode } from "./node.js"
|
||||||
import type { ReacordInstancePrivate } from "./reacord-instance.js"
|
import type { ReacordInstancePrivate } from "./reacord-instance.js"
|
||||||
import { TextNode } from "./text-node.js"
|
|
||||||
|
|
||||||
export const reconciler = ReactReconciler<
|
export const reconciler = ReactReconciler<
|
||||||
string, // Type,
|
string, // Type,
|
||||||
|
|||||||
@@ -1,35 +1,74 @@
|
|||||||
import { AsyncQueue } from "@reacord/helpers/async-queue"
|
import { AsyncQueue } from "@reacord/helpers/async-queue"
|
||||||
import type { Node } from "./internal/node.js"
|
import type { Client, Message } from "discord.js"
|
||||||
|
import { TextChannel } from "discord.js"
|
||||||
|
import { makeMessageUpdatePayload } from "./make-message-update-payload.js"
|
||||||
|
import type { Node } from "./node.js"
|
||||||
import type { InteractionInfo } from "./reacord-client.js"
|
import type { InteractionInfo } from "./reacord-client.js"
|
||||||
|
|
||||||
export type Renderer = {
|
export type Renderer = {
|
||||||
update(tree: Node<unknown>): Promise<void>
|
update(tree: Node): Promise<void>
|
||||||
deactivate(): Promise<void>
|
deactivate(): Promise<void>
|
||||||
destroy(): Promise<void>
|
destroy(): Promise<void>
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ChannelMessageRenderer implements Renderer {
|
export class ChannelMessageRenderer implements Renderer {
|
||||||
private readonly queue = new AsyncQueue()
|
private readonly queue = new AsyncQueue()
|
||||||
|
private channel: TextChannel | undefined
|
||||||
|
private message: Message | undefined
|
||||||
|
private active = true
|
||||||
|
|
||||||
constructor(private readonly channelId: string) {}
|
constructor(
|
||||||
|
private readonly channelId: string,
|
||||||
|
private readonly client: Client,
|
||||||
|
) {}
|
||||||
|
|
||||||
update(tree: Node<unknown>): Promise<void> {
|
private async getChannel(): Promise<TextChannel> {
|
||||||
throw new Error("Method not implemented.")
|
if (this.channel) return this.channel
|
||||||
|
|
||||||
|
const channel =
|
||||||
|
this.client.channels.cache.get(this.channelId) ??
|
||||||
|
(await this.client.channels.fetch(this.channelId))
|
||||||
|
|
||||||
|
if (!(channel instanceof TextChannel)) {
|
||||||
|
throw new TypeError(`Channel ${this.channelId} is not a text channel`)
|
||||||
}
|
}
|
||||||
|
|
||||||
deactivate(): Promise<void> {
|
this.channel = channel
|
||||||
throw new Error("Method not implemented.")
|
return channel
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy(): Promise<void> {
|
update(tree: Node) {
|
||||||
throw new Error("Method not implemented.")
|
const payload = makeMessageUpdatePayload(tree)
|
||||||
|
return this.queue.add(async () => {
|
||||||
|
if (!this.active) return
|
||||||
|
if (this.message) {
|
||||||
|
await this.message.edit(payload)
|
||||||
|
} else {
|
||||||
|
const channel = await this.getChannel()
|
||||||
|
this.message = await channel.send(payload)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
async deactivate() {
|
||||||
|
return this.queue.add(async () => {
|
||||||
|
this.active = false
|
||||||
|
// TODO: disable message components
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
async destroy() {
|
||||||
|
return this.queue.add(async () => {
|
||||||
|
this.active = false
|
||||||
|
await this.message?.delete()
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class InteractionReplyRenderer implements Renderer {
|
export class InteractionReplyRenderer implements Renderer {
|
||||||
constructor(private readonly interaction: InteractionInfo) {}
|
constructor(private readonly interaction: InteractionInfo) {}
|
||||||
|
|
||||||
update(tree: Node<unknown>): Promise<void> {
|
update(tree: Node): Promise<void> {
|
||||||
throw new Error("Method not implemented.")
|
throw new Error("Method not implemented.")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,7 +84,7 @@ export class InteractionReplyRenderer implements Renderer {
|
|||||||
export class EphemeralInteractionReplyRenderer implements Renderer {
|
export class EphemeralInteractionReplyRenderer implements Renderer {
|
||||||
constructor(private readonly interaction: InteractionInfo) {}
|
constructor(private readonly interaction: InteractionInfo) {}
|
||||||
|
|
||||||
update(tree: Node<unknown>): Promise<void> {
|
update(tree: Node): Promise<void> {
|
||||||
throw new Error("Method not implemented.")
|
throw new Error("Method not implemented.")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
import { Node } from "./node.js"
|
|
||||||
|
|
||||||
export class TextNode extends Node<{ text: string }> {}
|
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "cp ../../README.md . && cp ../../LICENSE . && tsup library/main.ts --target node16 --format cjs,esm --dts --sourcemap",
|
"build": "cp ../../README.md . && cp ../../LICENSE . && tsup library/main.ts --target node16 --format cjs,esm --dts --sourcemap",
|
||||||
"build-watch": "pnpm build --watch",
|
"build-watch": "pnpm build --watch",
|
||||||
"test-manual": "nodemon --exec tsx --ext ts,tsx ./scripts/discordjs-manual-test.tsx",
|
"test-manual": "tsx watch ./scripts/discordjs-manual-test.tsx",
|
||||||
"typecheck": "tsc --noEmit",
|
"typecheck": "tsc --noEmit",
|
||||||
"release": "bash scripts/release.sh"
|
"release": "bash scripts/release.sh"
|
||||||
},
|
},
|
||||||
@@ -62,17 +62,17 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@reacord/helpers": "workspace:*",
|
"@reacord/helpers": "workspace:*",
|
||||||
"@types/lodash-es": "^4.17.6",
|
"@types/lodash-es": "^4.17.6",
|
||||||
"discord.js": "^14.0.3",
|
"discord.js": "^14.1.2",
|
||||||
"dotenv": "^16.0.1",
|
"dotenv": "^16.0.1",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
"nodemon": "^2.0.19",
|
"nodemon": "^2.0.19",
|
||||||
"prettier": "^2.7.1",
|
"prettier": "^2.7.1",
|
||||||
"pretty-ms": "^8.0.0",
|
"pretty-ms": "^8.0.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"release-it": "^15.1.3",
|
"release-it": "^15.2.0",
|
||||||
"tsup": "^6.1.3",
|
"tsup": "^6.2.1",
|
||||||
"tsx": "^3.8.0",
|
"tsx": "^3.8.0",
|
||||||
"type-fest": "^2.17.0",
|
"type-fest": "^2.18.0",
|
||||||
"typescript": "^4.7.4"
|
"typescript": "^4.7.4"
|
||||||
},
|
},
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
|
|||||||
@@ -3,16 +3,17 @@ import "dotenv/config"
|
|||||||
import { kebabCase } from "lodash-es"
|
import { kebabCase } from "lodash-es"
|
||||||
import * as React from "react"
|
import * as React from "react"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
import {
|
import { Button } from "../library/components/button"
|
||||||
Button,
|
import { Option } from "../library/components/option"
|
||||||
Option,
|
import { Select } from "../library/components/select"
|
||||||
ReacordDiscordJs,
|
import { useInstance } from "../library/core/instance-context"
|
||||||
Select,
|
import { ReacordClient } from "../library/reacord-client"
|
||||||
useInstance,
|
|
||||||
} from "../library/main"
|
|
||||||
|
|
||||||
const client = new Client({ intents: IntentsBitField.Flags.Guilds })
|
const client = new Client({ intents: IntentsBitField.Flags.Guilds })
|
||||||
const reacord = new ReacordDiscordJs(client)
|
|
||||||
|
const reacord = new ReacordClient({
|
||||||
|
token: process.env.TEST_BOT_TOKEN!,
|
||||||
|
})
|
||||||
|
|
||||||
type TestCase = {
|
type TestCase = {
|
||||||
name: string
|
name: string
|
||||||
@@ -180,6 +181,7 @@ await Promise.all([
|
|||||||
tests.map(async (test, index) => {
|
tests.map(async (test, index) => {
|
||||||
const channelName = getTestCaseChannelName(test, index)
|
const channelName = getTestCaseChannelName(test, index)
|
||||||
const channel = await getTestCaseChannel(channelName, index)
|
const channel = await getTestCaseChannel(channelName, index)
|
||||||
|
console.info("running test:", test.name)
|
||||||
await test.run(channel)
|
await test.run(channel)
|
||||||
}),
|
}),
|
||||||
),
|
),
|
||||||
|
|||||||
441
pnpm-lock.yaml
generated
441
pnpm-lock.yaml
generated
@@ -45,9 +45,9 @@ importers:
|
|||||||
'@types/lodash-es': ^4.17.6
|
'@types/lodash-es': ^4.17.6
|
||||||
'@types/node': '*'
|
'@types/node': '*'
|
||||||
'@types/react': '*'
|
'@types/react': '*'
|
||||||
'@types/react-reconciler': ^0.28.0
|
'@types/react-reconciler': '*'
|
||||||
discord-api-types: ^0.36.3
|
discord-api-types: ^0.36.3
|
||||||
discord.js: ^14.0.3
|
discord.js: ^14.1.2
|
||||||
dotenv: ^16.0.1
|
dotenv: ^16.0.1
|
||||||
lodash-es: ^4.17.21
|
lodash-es: ^4.17.21
|
||||||
nodemon: ^2.0.19
|
nodemon: ^2.0.19
|
||||||
@@ -55,14 +55,14 @@ importers:
|
|||||||
pretty-ms: ^8.0.0
|
pretty-ms: ^8.0.0
|
||||||
react: ^18.2.0
|
react: ^18.2.0
|
||||||
react-reconciler: ^0.29.0
|
react-reconciler: ^0.29.0
|
||||||
release-it: ^15.1.3
|
release-it: ^15.2.0
|
||||||
rxjs: ^7.5.6
|
rxjs: ^7.5.6
|
||||||
tsup: ^6.1.3
|
tsup: ^6.2.1
|
||||||
tsx: ^3.8.0
|
tsx: ^3.8.0
|
||||||
type-fest: ^2.17.0
|
type-fest: ^2.18.0
|
||||||
typescript: ^4.7.4
|
typescript: ^4.7.4
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.0.6
|
'@types/node': 18.6.3
|
||||||
'@types/react': 18.0.15
|
'@types/react': 18.0.15
|
||||||
'@types/react-reconciler': 0.28.0
|
'@types/react-reconciler': 0.28.0
|
||||||
discord-api-types: 0.36.3
|
discord-api-types: 0.36.3
|
||||||
@@ -71,17 +71,17 @@ importers:
|
|||||||
devDependencies:
|
devDependencies:
|
||||||
'@reacord/helpers': link:../helpers
|
'@reacord/helpers': link:../helpers
|
||||||
'@types/lodash-es': 4.17.6
|
'@types/lodash-es': 4.17.6
|
||||||
discord.js: 14.0.3
|
discord.js: 14.1.2
|
||||||
dotenv: 16.0.1
|
dotenv: 16.0.1
|
||||||
lodash-es: 4.17.21
|
lodash-es: 4.17.21
|
||||||
nodemon: 2.0.19
|
nodemon: 2.0.19
|
||||||
prettier: 2.7.1
|
prettier: 2.7.1
|
||||||
pretty-ms: 8.0.0
|
pretty-ms: 8.0.0
|
||||||
react: 18.2.0
|
react: 18.2.0
|
||||||
release-it: 15.1.3
|
release-it: 15.2.0
|
||||||
tsup: 6.1.3_typescript@4.7.4
|
tsup: 6.2.1_typescript@4.7.4
|
||||||
tsx: 3.8.0
|
tsx: 3.8.0
|
||||||
type-fest: 2.17.0
|
type-fest: 2.18.0
|
||||||
typescript: 4.7.4
|
typescript: 4.7.4
|
||||||
|
|
||||||
packages/website:
|
packages/website:
|
||||||
@@ -1631,8 +1631,8 @@ packages:
|
|||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@discordjs/builders/1.0.0:
|
/@discordjs/builders/1.1.0:
|
||||||
resolution: {integrity: sha512-8y91ZfpOHubiGJu5tVyGI9tQCEyHZDTeqUWVcJd0dq7B96xIf84S0L4fwmD1k9zTe1eqEFSk0gc7BpY+FKn7Ww==}
|
resolution: {integrity: sha512-EO8TSltiIc9Z1wE854wAFvv5AccqEtvjFmao9PPoxQhRaJ0hEb7FwWRTCA1jGg4ZWI3hcp4m+RET5ufZQz3rOg==}
|
||||||
engines: {node: '>=16.9.0'}
|
engines: {node: '>=16.9.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sapphire/shapeshift': 3.5.1
|
'@sapphire/shapeshift': 3.5.1
|
||||||
@@ -1642,20 +1642,20 @@ packages:
|
|||||||
tslib: 2.4.0
|
tslib: 2.4.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@discordjs/collection/1.0.0:
|
/@discordjs/collection/1.0.1:
|
||||||
resolution: {integrity: sha512-nAxDQYE5dNAzEGQ7HU20sujDsG5vLowUKCEqZkKUIlrXERZFTt/60zKUj/g4+AVCGeq+pXC5hivMaNtiC+PY5Q==}
|
resolution: {integrity: sha512-5V/wswzR3r2RVYXLxxg4TvrAnBhVCNgHTXhC+OUtLoriJ072rPMHo+Iw1SS1vrCckp8Es40XM411+WkNRPaXFw==}
|
||||||
engines: {node: '>=16.9.0'}
|
engines: {node: '>=16.9.0'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@discordjs/rest/1.0.0:
|
/@discordjs/rest/1.0.1:
|
||||||
resolution: {integrity: sha512-uDAvnE0P2a8axMdD4C51EGjvCRQ2HZk2Yxf6vHWZgIqG87D8DGKMPwmquIxrrB07MjV+rwci2ObU+mGhGP+bJg==}
|
resolution: {integrity: sha512-w08CTKVzzYYvKxEjXKOs9AdS7KQ1J502TrPfF8eCZ2lF6AfKuMP/32YgDakiwIyYTDjEQS/v0nKLSFcncHRMtg==}
|
||||||
engines: {node: '>=16.9.0'}
|
engines: {node: '>=16.9.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@discordjs/collection': 1.0.0
|
'@discordjs/collection': 1.0.1
|
||||||
'@sapphire/async-queue': 1.3.2
|
'@sapphire/async-queue': 1.3.2
|
||||||
'@sapphire/snowflake': 3.2.2
|
'@sapphire/snowflake': 3.2.2
|
||||||
discord-api-types: 0.36.3
|
discord-api-types: 0.36.3
|
||||||
file-type: 17.1.3
|
file-type: 17.1.4
|
||||||
tslib: 2.4.0
|
tslib: 2.4.0
|
||||||
undici: 5.8.0
|
undici: 5.8.0
|
||||||
dev: true
|
dev: true
|
||||||
@@ -1670,7 +1670,7 @@ packages:
|
|||||||
/@esbuild-kit/core-utils/2.1.0:
|
/@esbuild-kit/core-utils/2.1.0:
|
||||||
resolution: {integrity: sha512-fZirrc2KjeTumVjE4bpleWOk2gD83b7WuGeQqOceKFQL+heNKKkNB5G5pekOUTLzfSBc0hP7hCSBoD9TuR0hLw==}
|
resolution: {integrity: sha512-fZirrc2KjeTumVjE4bpleWOk2gD83b7WuGeQqOceKFQL+heNKKkNB5G5pekOUTLzfSBc0hP7hCSBoD9TuR0hLw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.14.49
|
esbuild: 0.14.51
|
||||||
source-map-support: 0.5.21
|
source-map-support: 0.5.21
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@@ -1893,7 +1893,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-MDNFUBcJIptB9At7HiV7VCvU3NcL4GnfCQaP8C5lrxWrRPMJBnemYtehaKSOlaM7AYxeRyj9etenu8LVpSpVaQ==}
|
resolution: {integrity: sha512-MDNFUBcJIptB9At7HiV7VCvU3NcL4GnfCQaP8C5lrxWrRPMJBnemYtehaKSOlaM7AYxeRyj9etenu8LVpSpVaQ==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@octokit/core/4.0.4:
|
/@octokit/core/4.0.4:
|
||||||
@@ -1904,7 +1904,7 @@ packages:
|
|||||||
'@octokit/graphql': 5.0.0
|
'@octokit/graphql': 5.0.0
|
||||||
'@octokit/request': 6.2.0
|
'@octokit/request': 6.2.0
|
||||||
'@octokit/request-error': 3.0.0
|
'@octokit/request-error': 3.0.0
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
before-after-hook: 2.2.2
|
before-after-hook: 2.2.2
|
||||||
universal-user-agent: 6.0.0
|
universal-user-agent: 6.0.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -1915,7 +1915,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-Kz/mIkOTjs9rV50hf/JK9pIDl4aGwAtT8pry6Rpy+hVXkAPhXanNQRxMoq6AeRgDCZR6t/A1zKniY2V1YhrzlQ==}
|
resolution: {integrity: sha512-Kz/mIkOTjs9rV50hf/JK9pIDl4aGwAtT8pry6Rpy+hVXkAPhXanNQRxMoq6AeRgDCZR6t/A1zKniY2V1YhrzlQ==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
is-plain-object: 5.0.0
|
is-plain-object: 5.0.0
|
||||||
universal-user-agent: 6.0.0
|
universal-user-agent: 6.0.0
|
||||||
dev: true
|
dev: true
|
||||||
@@ -1925,24 +1925,24 @@ packages:
|
|||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/request': 6.2.0
|
'@octokit/request': 6.2.0
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
universal-user-agent: 6.0.0
|
universal-user-agent: 6.0.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@octokit/openapi-types/12.10.1:
|
/@octokit/openapi-types/12.11.0:
|
||||||
resolution: {integrity: sha512-P+SukKanjFY0ZhsK6wSVnQmxTP2eVPPE8OPSNuxaMYtgVzwJZgfGdwlYjf4RlRU4vLEw4ts2fsE2icG4nZ5ddQ==}
|
resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@octokit/plugin-paginate-rest/3.0.0_@octokit+core@4.0.4:
|
/@octokit/plugin-paginate-rest/3.1.0_@octokit+core@4.0.4:
|
||||||
resolution: {integrity: sha512-fvw0Q5IXnn60D32sKeLIxgXCEZ7BTSAjJd8cFAE6QU5qUp0xo7LjFUjjX1J5D7HgN355CN4EXE4+Q1/96JaNUA==}
|
resolution: {integrity: sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@octokit/core': '>=4'
|
'@octokit/core': '>=4'
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/core': 4.0.4
|
'@octokit/core': 4.0.4
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@octokit/plugin-request-log/1.0.4_@octokit+core@4.0.4:
|
/@octokit/plugin-request-log/1.0.4_@octokit+core@4.0.4:
|
||||||
@@ -1953,14 +1953,14 @@ packages:
|
|||||||
'@octokit/core': 4.0.4
|
'@octokit/core': 4.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@octokit/plugin-rest-endpoint-methods/6.1.2_@octokit+core@4.0.4:
|
/@octokit/plugin-rest-endpoint-methods/6.2.0_@octokit+core@4.0.4:
|
||||||
resolution: {integrity: sha512-sAfSKtLHNq0UQ2iFuI41I6m5SK6bnKFRJ5kUjDRVbmQXiRVi4aQiIcgG4cM7bt+bhSiWL4HwnTxDkWFlKeKClA==}
|
resolution: {integrity: sha512-PZ+yfkbZAuRUtqu6Y191/V3eM0KBPx+Yq7nh+ONPdpm3EX4pd5UnK2y2XgO/0AtNum5a4aJCDjqsDuUZ2hWRXw==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@octokit/core': '>=3'
|
'@octokit/core': '>=3'
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/core': 4.0.4
|
'@octokit/core': 4.0.4
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
deprecation: 2.3.1
|
deprecation: 2.3.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@@ -1968,7 +1968,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-WBtpzm9lR8z4IHIMtOqr6XwfkGvMOOILNLxsWvDwtzm/n7f5AWuqJTXQXdDtOvPfTDrH4TPhEvW2qMlR4JFA2w==}
|
resolution: {integrity: sha512-WBtpzm9lR8z4IHIMtOqr6XwfkGvMOOILNLxsWvDwtzm/n7f5AWuqJTXQXdDtOvPfTDrH4TPhEvW2qMlR4JFA2w==}
|
||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
deprecation: 2.3.1
|
deprecation: 2.3.1
|
||||||
once: 1.4.0
|
once: 1.4.0
|
||||||
dev: true
|
dev: true
|
||||||
@@ -1979,7 +1979,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/endpoint': 7.0.0
|
'@octokit/endpoint': 7.0.0
|
||||||
'@octokit/request-error': 3.0.0
|
'@octokit/request-error': 3.0.0
|
||||||
'@octokit/types': 6.40.0
|
'@octokit/types': 6.41.0
|
||||||
is-plain-object: 5.0.0
|
is-plain-object: 5.0.0
|
||||||
node-fetch: 2.6.7
|
node-fetch: 2.6.7
|
||||||
universal-user-agent: 6.0.0
|
universal-user-agent: 6.0.0
|
||||||
@@ -1992,17 +1992,17 @@ packages:
|
|||||||
engines: {node: '>= 14'}
|
engines: {node: '>= 14'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/core': 4.0.4
|
'@octokit/core': 4.0.4
|
||||||
'@octokit/plugin-paginate-rest': 3.0.0_@octokit+core@4.0.4
|
'@octokit/plugin-paginate-rest': 3.1.0_@octokit+core@4.0.4
|
||||||
'@octokit/plugin-request-log': 1.0.4_@octokit+core@4.0.4
|
'@octokit/plugin-request-log': 1.0.4_@octokit+core@4.0.4
|
||||||
'@octokit/plugin-rest-endpoint-methods': 6.1.2_@octokit+core@4.0.4
|
'@octokit/plugin-rest-endpoint-methods': 6.2.0_@octokit+core@4.0.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@octokit/types/6.40.0:
|
/@octokit/types/6.41.0:
|
||||||
resolution: {integrity: sha512-MFZOU5r8SwgJWDMhrLUSvyJPtVsqA6VnbVI3TNbsmw+Jnvrktzvq2fYES/6RiJA/5Ykdwq4mJmtlYUfW7CGjmw==}
|
resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/openapi-types': 12.10.1
|
'@octokit/openapi-types': 12.11.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@pnpm/network.ca-file/1.0.1:
|
/@pnpm/network.ca-file/1.0.1:
|
||||||
@@ -2265,6 +2265,11 @@ packages:
|
|||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@sindresorhus/is/5.3.0:
|
||||||
|
resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==}
|
||||||
|
engines: {node: '>=14.16'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@szmarczak/http-timer/4.0.6:
|
/@szmarczak/http-timer/4.0.6:
|
||||||
resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
|
resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
@@ -2339,7 +2344,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@types/http-cache-semantics': 4.0.1
|
'@types/http-cache-semantics': 4.0.1
|
||||||
'@types/keyv': 3.1.4
|
'@types/keyv': 3.1.4
|
||||||
'@types/node': 18.0.6
|
'@types/node': 18.6.3
|
||||||
'@types/responselike': 1.0.0
|
'@types/responselike': 1.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@@ -2428,7 +2433,7 @@ packages:
|
|||||||
/@types/keyv/3.1.4:
|
/@types/keyv/3.1.4:
|
||||||
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
|
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.0.6
|
'@types/node': 18.6.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/lodash-es/4.17.6:
|
/@types/lodash-es/4.17.6:
|
||||||
@@ -2471,6 +2476,10 @@ packages:
|
|||||||
|
|
||||||
/@types/node/18.0.6:
|
/@types/node/18.0.6:
|
||||||
resolution: {integrity: sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==}
|
resolution: {integrity: sha512-/xUq6H2aQm261exT6iZTMifUySEt4GR5KX8eYyY+C4MSNPqSh9oNIP7tz2GLKTlFaiBbgZNxffoR3CVRG+cljw==}
|
||||||
|
dev: true
|
||||||
|
|
||||||
|
/@types/node/18.6.3:
|
||||||
|
resolution: {integrity: sha512-6qKpDtoaYLM+5+AFChLhHermMQxc3TOEFIDzrZLPRGHPrLEwqFkkT5Kx3ju05g6X7uDPazz3jHbKPX0KzCjntg==}
|
||||||
|
|
||||||
/@types/normalize-package-data/2.4.1:
|
/@types/normalize-package-data/2.4.1:
|
||||||
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
|
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
|
||||||
@@ -2513,7 +2522,7 @@ packages:
|
|||||||
/@types/responselike/1.0.0:
|
/@types/responselike/1.0.0:
|
||||||
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
|
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.0.6
|
'@types/node': 18.6.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/scheduler/0.16.2:
|
/@types/scheduler/0.16.2:
|
||||||
@@ -2559,7 +2568,7 @@ packages:
|
|||||||
/@types/ws/8.5.3:
|
/@types/ws/8.5.3:
|
||||||
resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==}
|
resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 18.0.6
|
'@types/node': 18.6.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/yauzl/2.10.0:
|
/@types/yauzl/2.10.0:
|
||||||
@@ -3269,7 +3278,7 @@ packages:
|
|||||||
chalk: 5.0.1
|
chalk: 5.0.1
|
||||||
cli-boxes: 3.0.0
|
cli-boxes: 3.0.0
|
||||||
string-width: 5.1.2
|
string-width: 5.1.2
|
||||||
type-fest: 2.17.0
|
type-fest: 2.18.0
|
||||||
widest-line: 4.0.1
|
widest-line: 4.0.1
|
||||||
wrap-ansi: 8.0.1
|
wrap-ansi: 8.0.1
|
||||||
dev: true
|
dev: true
|
||||||
@@ -3360,13 +3369,13 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/bundle-require/3.0.4_esbuild@0.14.50:
|
/bundle-require/3.0.4_esbuild@0.14.51:
|
||||||
resolution: {integrity: sha512-VXG6epB1yrLAvWVQpl92qF347/UXmncQj7J3U8kZEbdVZ1ZkQyr4hYeL/9RvcE8vVVdp53dY78Fd/3pqfRqI1A==}
|
resolution: {integrity: sha512-VXG6epB1yrLAvWVQpl92qF347/UXmncQj7J3U8kZEbdVZ1ZkQyr4hYeL/9RvcE8vVVdp53dY78Fd/3pqfRqI1A==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
esbuild: '>=0.13'
|
esbuild: '>=0.13'
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.14.50
|
esbuild: 0.14.51
|
||||||
load-tsconfig: 0.2.3
|
load-tsconfig: 0.2.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
@@ -3657,6 +3666,11 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/cli-spinners/2.7.0:
|
||||||
|
resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==}
|
||||||
|
engines: {node: '>=6'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/cli-table3/0.6.2:
|
/cli-table3/0.6.2:
|
||||||
resolution: {integrity: sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==}
|
resolution: {integrity: sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==}
|
||||||
engines: {node: 10.* || >= 12.*}
|
engines: {node: 10.* || >= 12.*}
|
||||||
@@ -4318,13 +4332,13 @@ packages:
|
|||||||
/discord-api-types/0.36.3:
|
/discord-api-types/0.36.3:
|
||||||
resolution: {integrity: sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==}
|
resolution: {integrity: sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==}
|
||||||
|
|
||||||
/discord.js/14.0.3:
|
/discord.js/14.1.2:
|
||||||
resolution: {integrity: sha512-wH/VQl4CqN8/+dcXEtYis1iurqxGlDpEe0O4CqH5FGqZGIjVpTdtK0STXXx7bVNX8MT/0GvLZLkmO/5gLDWZVg==}
|
resolution: {integrity: sha512-apdWNLkjAkeEnuNpB8H6rS/4OgrXQlSAjuuzeodjCOdIXy3OwOjD314V/HiSttcAlr9+r3ONhaT5qvbDad5SIg==}
|
||||||
engines: {node: '>=16.9.0'}
|
engines: {node: '>=16.9.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@discordjs/builders': 1.0.0
|
'@discordjs/builders': 1.1.0
|
||||||
'@discordjs/collection': 1.0.0
|
'@discordjs/collection': 1.0.1
|
||||||
'@discordjs/rest': 1.0.0
|
'@discordjs/rest': 1.0.1
|
||||||
'@sapphire/snowflake': 3.2.2
|
'@sapphire/snowflake': 3.2.2
|
||||||
'@types/ws': 8.5.3
|
'@types/ws': 8.5.3
|
||||||
discord-api-types: 0.36.3
|
discord-api-types: 0.36.3
|
||||||
@@ -4493,15 +4507,6 @@ packages:
|
|||||||
is-date-object: 1.0.5
|
is-date-object: 1.0.5
|
||||||
is-symbol: 1.0.4
|
is-symbol: 1.0.4
|
||||||
|
|
||||||
/esbuild-android-64/0.14.49:
|
|
||||||
resolution: {integrity: sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [android]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/esbuild-android-64/0.14.50:
|
/esbuild-android-64/0.14.50:
|
||||||
resolution: {integrity: sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q==}
|
resolution: {integrity: sha512-H7iUEm7gUJHzidsBlFPGF6FTExazcgXL/46xxLo6i6bMtPim6ZmXyTccS8yOMpy6HAC6dPZ/JCQqrkkin69n6Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
@@ -4511,10 +4516,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-android-arm64/0.14.49:
|
/esbuild-android-64/0.14.51:
|
||||||
resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==}
|
resolution: {integrity: sha512-6FOuKTHnC86dtrKDmdSj2CkcKF8PnqkaIXqvgydqfJmqBazCPdw+relrMlhGjkvVdiiGV70rpdnyFmA65ekBCQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [x64]
|
||||||
os: [android]
|
os: [android]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4529,11 +4534,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-darwin-64/0.14.49:
|
/esbuild-android-arm64/0.14.51:
|
||||||
resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==}
|
resolution: {integrity: sha512-vBtp//5VVkZWmYYvHsqBRCMMi1MzKuMIn5XDScmnykMTu9+TD9v0NMEDqQxvtFToeYmojdo5UCV2vzMQWJcJ4A==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [arm64]
|
||||||
os: [darwin]
|
os: [android]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
@@ -4547,10 +4552,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-darwin-arm64/0.14.49:
|
/esbuild-darwin-64/0.14.51:
|
||||||
resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==}
|
resolution: {integrity: sha512-YFmXPIOvuagDcwCejMRtCDjgPfnDu+bNeh5FU2Ryi68ADDVlWEpbtpAbrtf/lvFTWPexbgyKgzppNgsmLPr8PA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [x64]
|
||||||
os: [darwin]
|
os: [darwin]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4565,11 +4570,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-freebsd-64/0.14.49:
|
/esbuild-darwin-arm64/0.14.51:
|
||||||
resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==}
|
resolution: {integrity: sha512-juYD0QnSKwAMfzwKdIF6YbueXzS6N7y4GXPDeDkApz/1RzlT42mvX9jgNmyOlWKN7YzQAYbcUEJmZJYQGdf2ow==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [arm64]
|
||||||
os: [freebsd]
|
os: [darwin]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
@@ -4583,10 +4588,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-freebsd-arm64/0.14.49:
|
/esbuild-freebsd-64/0.14.51:
|
||||||
resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==}
|
resolution: {integrity: sha512-cLEI/aXjb6vo5O2Y8rvVSQ7smgLldwYY5xMxqh/dQGfWO+R1NJOFsiax3IS4Ng300SVp7Gz3czxT6d6qf2cw0g==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [x64]
|
||||||
os: [freebsd]
|
os: [freebsd]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4601,11 +4606,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-32/0.14.49:
|
/esbuild-freebsd-arm64/0.14.51:
|
||||||
resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==}
|
resolution: {integrity: sha512-TcWVw/rCL2F+jUgRkgLa3qltd5gzKjIMGhkVybkjk6PJadYInPtgtUBp1/hG+mxyigaT7ib+od1Xb84b+L+1Mg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ia32]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [freebsd]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
@@ -4619,10 +4624,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-64/0.14.49:
|
/esbuild-linux-32/0.14.51:
|
||||||
resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==}
|
resolution: {integrity: sha512-RFqpyC5ChyWrjx8Xj2K0EC1aN0A37H6OJfmUXIASEqJoHcntuV3j2Efr9RNmUhMfNE6yEj2VpYuDteZLGDMr0w==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [ia32]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4637,10 +4642,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-arm/0.14.49:
|
/esbuild-linux-64/0.14.51:
|
||||||
resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==}
|
resolution: {integrity: sha512-dxjhrqo5i7Rq6DXwz5v+MEHVs9VNFItJmHBe1CxROWNf4miOGoQhqSG8StStbDkQ1Mtobg6ng+4fwByOhoQoeA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm]
|
cpu: [x64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4655,10 +4660,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-arm64/0.14.49:
|
/esbuild-linux-arm/0.14.51:
|
||||||
resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==}
|
resolution: {integrity: sha512-LsJynDxYF6Neg7ZC7748yweCDD+N8ByCv22/7IAZglIEniEkqdF4HCaa49JNDLw1UQGlYuhOB8ZT/MmcSWzcWg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [arm]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4673,10 +4678,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-mips64le/0.14.49:
|
/esbuild-linux-arm64/0.14.51:
|
||||||
resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==}
|
resolution: {integrity: sha512-D9rFxGutoqQX3xJPxqd6o+kvYKeIbM0ifW2y0bgKk5HPgQQOo2k9/2Vpto3ybGYaFPCE5qTGtqQta9PoP6ZEzw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [mips64el]
|
cpu: [arm64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4691,10 +4696,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-ppc64le/0.14.49:
|
/esbuild-linux-mips64le/0.14.51:
|
||||||
resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==}
|
resolution: {integrity: sha512-vS54wQjy4IinLSlb5EIlLoln8buh1yDgliP4CuEHumrPk4PvvP4kTRIG4SzMXm6t19N0rIfT4bNdAxzJLg2k6A==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ppc64]
|
cpu: [mips64el]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4709,10 +4714,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-riscv64/0.14.49:
|
/esbuild-linux-ppc64le/0.14.51:
|
||||||
resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==}
|
resolution: {integrity: sha512-xcdd62Y3VfGoyphNP/aIV9LP+RzFw5M5Z7ja+zdpQHHvokJM7d0rlDRMN+iSSwvUymQkqZO+G/xjb4/75du8BQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [riscv64]
|
cpu: [ppc64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4727,10 +4732,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-linux-s390x/0.14.49:
|
/esbuild-linux-riscv64/0.14.51:
|
||||||
resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==}
|
resolution: {integrity: sha512-syXHGak9wkAnFz0gMmRBoy44JV0rp4kVCEA36P5MCeZcxFq8+fllBC2t6sKI23w3qd8Vwo9pTADCgjTSf3L3rA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [s390x]
|
cpu: [riscv64]
|
||||||
os: [linux]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4745,11 +4750,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-netbsd-64/0.14.49:
|
/esbuild-linux-s390x/0.14.51:
|
||||||
resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==}
|
resolution: {integrity: sha512-kFAJY3dv+Wq8o28K/C7xkZk/X34rgTwhknSsElIqoEo8armCOjMJ6NsMxm48KaWY2h2RUYGtQmr+RGuUPKBhyw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [s390x]
|
||||||
os: [netbsd]
|
os: [linux]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
@@ -4763,11 +4768,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-openbsd-64/0.14.49:
|
/esbuild-netbsd-64/0.14.51:
|
||||||
resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==}
|
resolution: {integrity: sha512-ZZBI7qrR1FevdPBVHz/1GSk1x5GDL/iy42Zy8+neEm/HA7ma+hH/bwPEjeHXKWUDvM36CZpSL/fn1/y9/Hb+1A==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [openbsd]
|
os: [netbsd]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
@@ -4781,11 +4786,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-sunos-64/0.14.49:
|
/esbuild-openbsd-64/0.14.51:
|
||||||
resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==}
|
resolution: {integrity: sha512-7R1/p39M+LSVQVgDVlcY1KKm6kFKjERSX1lipMG51NPcspJD1tmiZSmmBXoY5jhHIu6JL1QkFDTx94gMYK6vfA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [x64]
|
||||||
os: [sunos]
|
os: [openbsd]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
@@ -4799,11 +4804,11 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-32/0.14.49:
|
/esbuild-sunos-64/0.14.51:
|
||||||
resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==}
|
resolution: {integrity: sha512-HoHaCswHxLEYN8eBTtyO0bFEWvA3Kdb++hSQ/lLG7TyKF69TeSG0RNoBRAs45x/oCeWaTDntEZlYwAfQlhEtJA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [ia32]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [sunos]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
@@ -4817,10 +4822,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-64/0.14.49:
|
/esbuild-windows-32/0.14.51:
|
||||||
resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==}
|
resolution: {integrity: sha512-4rtwSAM35A07CBt1/X8RWieDj3ZUHQqUOaEo5ZBs69rt5WAFjP4aqCIobdqOy4FdhYw1yF8Z0xFBTyc9lgPtEg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [x64]
|
cpu: [ia32]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4835,10 +4840,10 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild-windows-arm64/0.14.49:
|
/esbuild-windows-64/0.14.51:
|
||||||
resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==}
|
resolution: {integrity: sha512-HoN/5HGRXJpWODprGCgKbdMvrC3A2gqvzewu2eECRw2sYxOUoh2TV1tS+G7bHNapPGI79woQJGV6pFH7GH7qnA==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
cpu: [arm64]
|
cpu: [x64]
|
||||||
os: [win32]
|
os: [win32]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dev: true
|
dev: true
|
||||||
@@ -4853,33 +4858,14 @@ packages:
|
|||||||
dev: true
|
dev: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/esbuild/0.14.49:
|
/esbuild-windows-arm64/0.14.51:
|
||||||
resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==}
|
resolution: {integrity: sha512-JQDqPjuOH7o+BsKMSddMfmVJXrnYZxXDHsoLHc0xgmAZkOOCflRmC43q31pk79F9xuyWY45jDBPolb5ZgGOf9g==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
hasBin: true
|
cpu: [arm64]
|
||||||
|
os: [win32]
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
optionalDependencies:
|
|
||||||
esbuild-android-64: 0.14.49
|
|
||||||
esbuild-android-arm64: 0.14.49
|
|
||||||
esbuild-darwin-64: 0.14.49
|
|
||||||
esbuild-darwin-arm64: 0.14.49
|
|
||||||
esbuild-freebsd-64: 0.14.49
|
|
||||||
esbuild-freebsd-arm64: 0.14.49
|
|
||||||
esbuild-linux-32: 0.14.49
|
|
||||||
esbuild-linux-64: 0.14.49
|
|
||||||
esbuild-linux-arm: 0.14.49
|
|
||||||
esbuild-linux-arm64: 0.14.49
|
|
||||||
esbuild-linux-mips64le: 0.14.49
|
|
||||||
esbuild-linux-ppc64le: 0.14.49
|
|
||||||
esbuild-linux-riscv64: 0.14.49
|
|
||||||
esbuild-linux-s390x: 0.14.49
|
|
||||||
esbuild-netbsd-64: 0.14.49
|
|
||||||
esbuild-openbsd-64: 0.14.49
|
|
||||||
esbuild-sunos-64: 0.14.49
|
|
||||||
esbuild-windows-32: 0.14.49
|
|
||||||
esbuild-windows-64: 0.14.49
|
|
||||||
esbuild-windows-arm64: 0.14.49
|
|
||||||
dev: true
|
dev: true
|
||||||
|
optional: true
|
||||||
|
|
||||||
/esbuild/0.14.50:
|
/esbuild/0.14.50:
|
||||||
resolution: {integrity: sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w==}
|
resolution: {integrity: sha512-SbC3k35Ih2IC6trhbMYW7hYeGdjPKf9atTKwBUHqMCYFZZ9z8zhuvfnZihsnJypl74FjiAKjBRqFkBkAd0rS/w==}
|
||||||
@@ -4909,6 +4895,34 @@ packages:
|
|||||||
esbuild-windows-arm64: 0.14.50
|
esbuild-windows-arm64: 0.14.50
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/esbuild/0.14.51:
|
||||||
|
resolution: {integrity: sha512-+CvnDitD7Q5sT7F+FM65sWkF8wJRf+j9fPcprxYV4j+ohmzVj2W7caUqH2s5kCaCJAfcAICjSlKhDCcvDpU7nw==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
hasBin: true
|
||||||
|
requiresBuild: true
|
||||||
|
optionalDependencies:
|
||||||
|
esbuild-android-64: 0.14.51
|
||||||
|
esbuild-android-arm64: 0.14.51
|
||||||
|
esbuild-darwin-64: 0.14.51
|
||||||
|
esbuild-darwin-arm64: 0.14.51
|
||||||
|
esbuild-freebsd-64: 0.14.51
|
||||||
|
esbuild-freebsd-arm64: 0.14.51
|
||||||
|
esbuild-linux-32: 0.14.51
|
||||||
|
esbuild-linux-64: 0.14.51
|
||||||
|
esbuild-linux-arm: 0.14.51
|
||||||
|
esbuild-linux-arm64: 0.14.51
|
||||||
|
esbuild-linux-mips64le: 0.14.51
|
||||||
|
esbuild-linux-ppc64le: 0.14.51
|
||||||
|
esbuild-linux-riscv64: 0.14.51
|
||||||
|
esbuild-linux-s390x: 0.14.51
|
||||||
|
esbuild-netbsd-64: 0.14.51
|
||||||
|
esbuild-openbsd-64: 0.14.51
|
||||||
|
esbuild-sunos-64: 0.14.51
|
||||||
|
esbuild-windows-32: 0.14.51
|
||||||
|
esbuild-windows-64: 0.14.51
|
||||||
|
esbuild-windows-arm64: 0.14.51
|
||||||
|
dev: true
|
||||||
|
|
||||||
/escalade/3.1.1:
|
/escalade/3.1.1:
|
||||||
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
@@ -5479,13 +5493,13 @@ packages:
|
|||||||
flat-cache: 3.0.4
|
flat-cache: 3.0.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/file-type/17.1.3:
|
/file-type/17.1.4:
|
||||||
resolution: {integrity: sha512-MFVSozBIhvnx2dkxlf+010Xqn6+ojlMUT9LXQiPNoOijgRtXNMghWdGK0u2o1RoCqzHoVsw65IL8ZBcQ4MhIrw==}
|
resolution: {integrity: sha512-3w/rJUUPBj6CYhVER3D5JCKwYJJiC36uj5dP+LnyubHI6H6FJo1TeWVCEA09YLVoZqV3/mLP26j9+Pz1GjAyjQ==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
readable-web-to-node-stream: 3.0.2
|
readable-web-to-node-stream: 3.0.2
|
||||||
strtok3: 7.0.0-alpha.8
|
strtok3: 7.0.0-alpha.9
|
||||||
token-types: 5.0.0-alpha.2
|
token-types: 5.0.0-alpha.3
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/file-uri-to-path/1.0.0:
|
/file-uri-to-path/1.0.0:
|
||||||
@@ -5514,11 +5528,6 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
to-regex-range: 5.0.1
|
to-regex-range: 5.0.1
|
||||||
|
|
||||||
/filter-obj/1.1.0:
|
|
||||||
resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==}
|
|
||||||
engines: {node: '>=0.10.0'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/finalhandler/1.2.0:
|
/finalhandler/1.2.0:
|
||||||
resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
|
resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
@@ -5628,8 +5637,9 @@ packages:
|
|||||||
resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
|
resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/form-data-encoder/1.7.1:
|
/form-data-encoder/2.0.1:
|
||||||
resolution: {integrity: sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==}
|
resolution: {integrity: sha512-Oy+P9w5mnO4TWXVgUiQvggNKPI9/ummcSt5usuIV6HkaLKigwzPpoenhEqmGmx3zHqm6ZLJ+CR/99N8JLinaEw==}
|
||||||
|
engines: {node: '>= 14.17'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/form-data/2.3.3:
|
/form-data/2.3.3:
|
||||||
@@ -5861,17 +5871,17 @@ packages:
|
|||||||
resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==}
|
resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/git-up/4.0.5:
|
/git-up/6.0.0:
|
||||||
resolution: {integrity: sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA==}
|
resolution: {integrity: sha512-6RUFSNd1c/D0xtGnyWN2sxza2bZtZ/EmI9448n6rCZruFwV/ezeEn2fJP7XnUQGwf0RAtd/mmUCbtH6JPYA2SA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-ssh: 1.4.0
|
is-ssh: 1.4.0
|
||||||
parse-url: 6.0.2
|
parse-url: 7.0.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/git-url-parse/11.6.0:
|
/git-url-parse/12.0.0:
|
||||||
resolution: {integrity: sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g==}
|
resolution: {integrity: sha512-I6LMWsxV87vysX1WfsoglXsXg6GjQRKq7+Dgiseo+h0skmp5Hp2rzmcEIRQot9CPA+uzU7x1x7jZdqvTFGnB+Q==}
|
||||||
dependencies:
|
dependencies:
|
||||||
git-up: 4.0.5
|
git-up: 6.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/glob-parent/5.1.2:
|
/glob-parent/5.1.2:
|
||||||
@@ -5981,18 +5991,18 @@ packages:
|
|||||||
responselike: 2.0.1
|
responselike: 2.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/got/12.1.0:
|
/got/12.2.0:
|
||||||
resolution: {integrity: sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==}
|
resolution: {integrity: sha512-A81ll5Z8wzeCmSdIlWVMDWFKDo82v2nmOaMZDQNHKGInNqDBcle+CSb6BBiZcn/Aiefz/kSpo520WBKi9QAO/A==}
|
||||||
engines: {node: '>=14.16'}
|
engines: {node: '>=14.16'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sindresorhus/is': 4.6.0
|
'@sindresorhus/is': 5.3.0
|
||||||
'@szmarczak/http-timer': 5.0.1
|
'@szmarczak/http-timer': 5.0.1
|
||||||
'@types/cacheable-request': 6.0.2
|
'@types/cacheable-request': 6.0.2
|
||||||
'@types/responselike': 1.0.0
|
'@types/responselike': 1.0.0
|
||||||
cacheable-lookup: 6.0.4
|
cacheable-lookup: 6.0.4
|
||||||
cacheable-request: 7.0.2
|
cacheable-request: 7.0.2
|
||||||
decompress-response: 6.0.0
|
decompress-response: 6.0.0
|
||||||
form-data-encoder: 1.7.1
|
form-data-encoder: 2.0.1
|
||||||
get-stream: 6.0.1
|
get-stream: 6.0.1
|
||||||
http2-wrapper: 2.1.11
|
http2-wrapper: 2.1.11
|
||||||
lowercase-keys: 3.0.0
|
lowercase-keys: 3.0.0
|
||||||
@@ -8026,7 +8036,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==}
|
resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
type-fest: 2.17.0
|
type-fest: 2.18.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/node-addon-api/1.7.2:
|
/node-addon-api/1.7.2:
|
||||||
@@ -8323,7 +8333,7 @@ packages:
|
|||||||
bl: 5.0.0
|
bl: 5.0.0
|
||||||
chalk: 5.0.1
|
chalk: 5.0.1
|
||||||
cli-cursor: 4.0.0
|
cli-cursor: 4.0.0
|
||||||
cli-spinners: 2.6.1
|
cli-spinners: 2.7.0
|
||||||
is-interactive: 2.0.0
|
is-interactive: 2.0.0
|
||||||
is-unicode-supported: 1.2.0
|
is-unicode-supported: 1.2.0
|
||||||
log-symbols: 5.1.0
|
log-symbols: 5.1.0
|
||||||
@@ -8484,7 +8494,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==}
|
resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==}
|
||||||
engines: {node: '>=14.16'}
|
engines: {node: '>=14.16'}
|
||||||
dependencies:
|
dependencies:
|
||||||
got: 12.1.0
|
got: 12.2.0
|
||||||
registry-auth-token: 5.0.1
|
registry-auth-token: 5.0.1
|
||||||
registry-url: 6.0.1
|
registry-url: 6.0.1
|
||||||
semver: 7.3.7
|
semver: 7.3.7
|
||||||
@@ -8538,22 +8548,19 @@ packages:
|
|||||||
resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
|
resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/parse-path/4.0.4:
|
/parse-path/5.0.0:
|
||||||
resolution: {integrity: sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw==}
|
resolution: {integrity: sha512-qOpH55/+ZJ4jUu/oLO+ifUKjFPNZGfnPJtzvGzKN/4oLMil5m9OH4VpOj6++9/ytJcfks4kzH2hhi87GL/OU9A==}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-ssh: 1.4.0
|
protocols: 2.0.1
|
||||||
protocols: 1.4.8
|
|
||||||
qs: 6.11.0
|
|
||||||
query-string: 6.14.1
|
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/parse-url/6.0.2:
|
/parse-url/7.0.2:
|
||||||
resolution: {integrity: sha512-uCSjOvD3T+6B/sPWhR+QowAZcU/o4bjPrVBQBGFxcDF6J6FraCGIaDBsdoQawiaaAVdHvtqBe3w3vKlfBKySOQ==}
|
resolution: {integrity: sha512-PqO4Z0eCiQ08Wj6QQmrmp5YTTxpYfONdOEamrtvK63AmzXpcavIVQubGHxOEwiIoDZFb8uDOoQFS0NCcjqIYQg==}
|
||||||
dependencies:
|
dependencies:
|
||||||
is-ssh: 1.4.0
|
is-ssh: 1.4.0
|
||||||
normalize-url: 6.1.0
|
normalize-url: 6.1.0
|
||||||
parse-path: 4.0.4
|
parse-path: 5.0.0
|
||||||
protocols: 1.4.8
|
protocols: 2.0.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/parse5/6.0.1:
|
/parse5/6.0.1:
|
||||||
@@ -8873,10 +8880,6 @@ packages:
|
|||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/protocols/1.4.8:
|
|
||||||
resolution: {integrity: sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/protocols/2.0.1:
|
/protocols/2.0.1:
|
||||||
resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
|
resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
|
||||||
dev: true
|
dev: true
|
||||||
@@ -8964,28 +8967,11 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
side-channel: 1.0.4
|
side-channel: 1.0.4
|
||||||
|
|
||||||
/qs/6.11.0:
|
|
||||||
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
|
|
||||||
engines: {node: '>=0.6'}
|
|
||||||
dependencies:
|
|
||||||
side-channel: 1.0.4
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/qs/6.5.3:
|
/qs/6.5.3:
|
||||||
resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
|
resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
|
||||||
engines: {node: '>=0.6'}
|
engines: {node: '>=0.6'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/query-string/6.14.1:
|
|
||||||
resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
dependencies:
|
|
||||||
decode-uri-component: 0.2.0
|
|
||||||
filter-obj: 1.1.0
|
|
||||||
split-on-first: 1.1.0
|
|
||||||
strict-uri-encode: 2.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/queue-microtask/1.2.3:
|
/queue-microtask/1.2.3:
|
||||||
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
|
||||||
|
|
||||||
@@ -9388,8 +9374,8 @@ packages:
|
|||||||
unist-util-visit: 4.1.0
|
unist-util-visit: 4.1.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/release-it/15.1.3:
|
/release-it/15.2.0:
|
||||||
resolution: {integrity: sha512-pdW9Ua59S3upm2wwzrWiQK8N5vXazNBBYk/UhpVf0faHV6mmY8GunS1ZzawSNi4fOOx55zSQFj2IHkOgfBxNUg==}
|
resolution: {integrity: sha512-zVtk/+BSX941e9lR2dhWGQhOIVdr98Fifgel4xUnsJVycU0uTtalOUhjoZM2jyDgcD22idmuDVgvgOTl9IyJ/g==}
|
||||||
engines: {node: '>=14.9'}
|
engines: {node: '>=14.9'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -9400,9 +9386,9 @@ packages:
|
|||||||
cosmiconfig: 7.0.1
|
cosmiconfig: 7.0.1
|
||||||
execa: 6.1.0
|
execa: 6.1.0
|
||||||
form-data: 4.0.0
|
form-data: 4.0.0
|
||||||
git-url-parse: 11.6.0
|
git-url-parse: 12.0.0
|
||||||
globby: 13.1.2
|
globby: 13.1.2
|
||||||
got: 12.1.0
|
got: 12.2.0
|
||||||
inquirer: 9.0.2
|
inquirer: 9.0.2
|
||||||
is-ci: 3.0.1
|
is-ci: 3.0.1
|
||||||
lodash: 4.17.21
|
lodash: 4.17.21
|
||||||
@@ -9607,6 +9593,14 @@ packages:
|
|||||||
fsevents: 2.3.2
|
fsevents: 2.3.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/rollup/2.77.2:
|
||||||
|
resolution: {integrity: sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==}
|
||||||
|
engines: {node: '>=10.0.0'}
|
||||||
|
hasBin: true
|
||||||
|
optionalDependencies:
|
||||||
|
fsevents: 2.3.2
|
||||||
|
dev: true
|
||||||
|
|
||||||
/run-async/2.4.1:
|
/run-async/2.4.1:
|
||||||
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
|
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
|
||||||
engines: {node: '>=0.12.0'}
|
engines: {node: '>=0.12.0'}
|
||||||
@@ -10022,11 +10016,6 @@ packages:
|
|||||||
resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==}
|
resolution: {integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/split-on-first/1.1.0:
|
|
||||||
resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==}
|
|
||||||
engines: {node: '>=6'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/split-string/3.1.0:
|
/split-string/3.1.0:
|
||||||
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
|
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
@@ -10085,11 +10074,6 @@ packages:
|
|||||||
mixme: 0.5.4
|
mixme: 0.5.4
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strict-uri-encode/2.0.0:
|
|
||||||
resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==}
|
|
||||||
engines: {node: '>=4'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/string-width/4.2.3:
|
/string-width/4.2.3:
|
||||||
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
@@ -10209,8 +10193,8 @@ packages:
|
|||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/strtok3/7.0.0-alpha.8:
|
/strtok3/7.0.0-alpha.9:
|
||||||
resolution: {integrity: sha512-u+k19v+rTxBjGYxncRQjGvZYwYvEd0uP3D+uHKe/s4WB1eXS5ZwpZsTlBu5xSS4zEd89mTXECXg6WW3FSeV8cA==}
|
resolution: {integrity: sha512-G8WxjBFjTZ77toVElv1i7k3jCXNkBB14FVaZ/6LIOka/WGo4La5XHLrU7neFVLdKbXESZf4BejVKZu5maOmocA==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tokenizer/token': 0.3.0
|
'@tokenizer/token': 0.3.0
|
||||||
@@ -10223,8 +10207,8 @@ packages:
|
|||||||
inline-style-parser: 0.1.1
|
inline-style-parser: 0.1.1
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sucrase/3.24.0:
|
/sucrase/3.25.0:
|
||||||
resolution: {integrity: sha512-SevqflhW356TKEyWjFHg2e5f3eH+5rzmsMJxrVMDvZIEHh/goYrpzDGA6APEj4ME9MdGm8oNgIzi1eF3c3dDQA==}
|
resolution: {integrity: sha512-WxTtwEYXSmZArPGStGBicyRsg5TBEFhT5b7N+tF+zauImP0Acy+CoUK0/byJ8JNPK/5lbpWIVuFagI4+0l85QQ==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -10444,8 +10428,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
|
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
|
||||||
engines: {node: '>=0.6'}
|
engines: {node: '>=0.6'}
|
||||||
|
|
||||||
/token-types/5.0.0-alpha.2:
|
/token-types/5.0.0-alpha.3:
|
||||||
resolution: {integrity: sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ==}
|
resolution: {integrity: sha512-GWGtybxmoWRB1pNghnsNBftIfbzGLiTnytq1XKG/0ZQnLmSqgUA4x06dTvqRem5ZuXI0LY3zkNxl2/RG6QwJkA==}
|
||||||
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@tokenizer/token': 0.3.0
|
'@tokenizer/token': 0.3.0
|
||||||
@@ -10517,8 +10501,8 @@ packages:
|
|||||||
/tslib/2.4.0:
|
/tslib/2.4.0:
|
||||||
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
||||||
|
|
||||||
/tsup/6.1.3_typescript@4.7.4:
|
/tsup/6.2.1_typescript@4.7.4:
|
||||||
resolution: {integrity: sha512-eRpBnbfpDFng+EJNTQ90N7QAf4HAGGC7O3buHIjroKWK7D1ibk9/YnR/3cS8HsMU5T+6Oi+cnF+yU5WmCnB//Q==}
|
resolution: {integrity: sha512-KhBhCqVA3bHrIWhkcqTUA7R69H05IcBlHEtCVLEu42XDGUzz+bDqCcfu5PwpkKJ8DqK5tpdgM/qmyk4DdUbkZw==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -10533,19 +10517,19 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
bundle-require: 3.0.4_esbuild@0.14.50
|
bundle-require: 3.0.4_esbuild@0.14.51
|
||||||
cac: 6.7.12
|
cac: 6.7.12
|
||||||
chokidar: 3.5.3
|
chokidar: 3.5.3
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
esbuild: 0.14.50
|
esbuild: 0.14.51
|
||||||
execa: 5.1.1
|
execa: 5.1.1
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
joycon: 3.1.1
|
joycon: 3.1.1
|
||||||
postcss-load-config: 3.1.4
|
postcss-load-config: 3.1.4
|
||||||
resolve-from: 5.0.0
|
resolve-from: 5.0.0
|
||||||
rollup: 2.77.0
|
rollup: 2.77.2
|
||||||
source-map: 0.8.0-beta.0
|
source-map: 0.8.0-beta.0
|
||||||
sucrase: 3.24.0
|
sucrase: 3.25.0
|
||||||
tree-kill: 1.2.2
|
tree-kill: 1.2.2
|
||||||
typescript: 4.7.4
|
typescript: 4.7.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
@@ -10651,6 +10635,11 @@ packages:
|
|||||||
resolution: {integrity: sha512-U+g3/JVXnOki1kLSc+xZGPRll3Ah9u2VIG6Sn9iH9YX6UkPERmt6O/0fIyTgsd2/whV0+gAaHAg8fz6sG1QzMA==}
|
resolution: {integrity: sha512-U+g3/JVXnOki1kLSc+xZGPRll3Ah9u2VIG6Sn9iH9YX6UkPERmt6O/0fIyTgsd2/whV0+gAaHAg8fz6sG1QzMA==}
|
||||||
engines: {node: '>=12.20'}
|
engines: {node: '>=12.20'}
|
||||||
|
|
||||||
|
/type-fest/2.18.0:
|
||||||
|
resolution: {integrity: sha512-pRS+/yrW5TjPPHNOvxhbNZexr2bS63WjrMU8a+VzEBhUi9Tz1pZeD+vQz3ut0svZ46P+SRqMEPnJmk2XnvNzTw==}
|
||||||
|
engines: {node: '>=12.20'}
|
||||||
|
dev: true
|
||||||
|
|
||||||
/type-is/1.6.18:
|
/type-is/1.6.18:
|
||||||
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
|
resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
|
||||||
engines: {node: '>= 0.6'}
|
engines: {node: '>= 0.6'}
|
||||||
|
|||||||
Reference in New Issue
Block a user