10 Commits

Author SHA1 Message Date
itsMapleLeaf
96affac979 release v0.4.0 2022-07-21 16:23:15 -05:00
Crawron
93b321dc36 clean imports 2022-07-21 16:20:14 -05:00
Crawron
e313399a5a fix type guards 2022-07-21 16:20:14 -05:00
Crawron
90744ebe47 tweak and infer return type 2022-07-21 16:20:14 -05:00
Crawron
33bb2ee196 use enums instead of strings for component type 2022-07-21 16:20:14 -05:00
Crawron
eb97b2d23d Add helper to convert button style to enum 2022-07-21 16:20:14 -05:00
Crawron
5aaaffbda9 Update playground for djs v14 2022-07-21 16:20:14 -05:00
Crawron
43029019f4 gitignore pnpm debug log 2022-07-21 16:20:14 -05:00
Crawron
8c481f18c6 Update Discord.js version 2022-07-21 16:20:14 -05:00
itsMapleLeaf
87ecb20f7a fix pnpm scripts & lock pnpm version 2022-07-09 15:13:44 -05:00
7 changed files with 370 additions and 73 deletions

View File

@@ -19,15 +19,15 @@ jobs:
# if these run in the same process, it dies,
# so we test them separate
- name: test reacord
run: pnpm test -C packages/reacord
run: pnpm -C packages/reacord test
- name: test website
run: pnpm test -C packages/website
run: pnpm -C packages/website test
- name: build
run: pnpm build --recursive
run: pnpm --recursive run build
- name: lint
run: pnpm lint
run: pnpm run lint
- name: typecheck
run: pnpm typecheck --parallel
run: pnpm --recursive run typecheck
name: ${{ matrix.command.name }}
runs-on: ubuntu-latest
steps:
@@ -36,6 +36,6 @@ jobs:
with:
# https://github.com/actions/setup-node#supported-version-syntax
node-version: "16"
- run: npm i -g pnpm
- run: npm i -g pnpm@7.5.0
- run: pnpm install --frozen-lockfile
- run: ${{ matrix.command.run }}

1
.gitignore vendored
View File

@@ -4,6 +4,7 @@ node_modules
coverage
.env
*.code-workspace
.pnpm-debug.log
build
.cache

View File

@@ -5,9 +5,12 @@ import type { Except } from "type-fest"
import { pick } from "../../helpers/pick"
import { pruneNullishValues } from "../../helpers/prune-nullish-values"
import { raise } from "../../helpers/raise"
import { toUpper } from "../../helpers/to-upper"
import type { ComponentInteraction } from "../internal/interaction"
import type { Message, MessageOptions } from "../internal/message"
import type {
Message,
MessageButtonOptions,
MessageOptions,
} from "../internal/message"
import { ChannelMessageRenderer } from "../internal/renderers/channel-message-renderer"
import { InteractionReplyRenderer } from "../internal/renderers/interaction-reply-renderer"
import type {
@@ -30,7 +33,7 @@ export class ReacordDiscordJs extends Reacord {
super(config)
client.on("interactionCreate", (interaction) => {
if (interaction.isMessageComponent()) {
if (interaction.isButton() || interaction.isSelectMenu()) {
this.handleComponentInteraction(
this.createReacordComponentInteraction(interaction),
)
@@ -88,7 +91,7 @@ export class ReacordDiscordJs extends Reacord {
(await this.client.channels.fetch(channelId)) ??
raise(`Channel ${channelId} not found`)
if (!channel.isText()) {
if (!channel.isTextBased()) {
raise(`Channel ${channelId} is not a text channel`)
}
@@ -317,25 +320,34 @@ function createEphemeralReacordMessage(): Message {
}
}
function convertButtonStyleToEnum(style: MessageButtonOptions["style"]) {
const styleMap = {
primary: Discord.ButtonStyle.Primary,
secondary: Discord.ButtonStyle.Secondary,
success: Discord.ButtonStyle.Success,
danger: Discord.ButtonStyle.Danger,
} as const
return styleMap[style ?? "secondary"]
}
// TODO: this could be a part of the core library,
// and also handle some edge cases, e.g. empty messages
function getDiscordMessageOptions(
reacordOptions: MessageOptions,
): Discord.MessageOptions {
const options: Discord.MessageOptions = {
function getDiscordMessageOptions(reacordOptions: MessageOptions) {
const options = {
// eslint-disable-next-line unicorn/no-null
content: reacordOptions.content || null,
embeds: reacordOptions.embeds,
components: reacordOptions.actionRows.map((row) => ({
type: "ACTION_ROW",
type: Discord.ComponentType.ActionRow,
components: row.map(
(component): Discord.MessageActionRowComponentOptions => {
(component): Discord.MessageActionRowComponentData => {
if (component.type === "button") {
return {
type: "BUTTON",
type: Discord.ComponentType.Button,
customId: component.customId,
label: component.label ?? "",
style: toUpper(component.style ?? "secondary"),
style: convertButtonStyleToEnum(component.style),
disabled: component.disabled,
emoji: component.emoji,
}
@@ -344,7 +356,7 @@ function getDiscordMessageOptions(
if (component.type === "select") {
return {
...component,
type: "SELECT_MENU",
type: Discord.ComponentType.SelectMenu,
options: component.options.map((option) => ({
...option,
default: component.values?.includes(option.value),

View File

@@ -2,7 +2,7 @@
"name": "reacord",
"type": "module",
"description": "Create interactive Discord messages using React.",
"version": "0.3.7",
"version": "0.4.0",
"types": "./dist/main.d.ts",
"homepage": "https://reacord.mapleleaf.dev",
"repository": "https://github.com/itsMapleLeaf/reacord.git",
@@ -52,7 +52,7 @@
"rxjs": "^7.5.5"
},
"peerDependencies": {
"discord.js": "^13.3",
"discord.js": "^14",
"react": ">=17"
},
"peerDependenciesMeta": {
@@ -63,7 +63,7 @@
"devDependencies": {
"@types/lodash-es": "^4.17.6",
"c8": "^7.11.2",
"discord.js": "^13.6.0",
"discord.js": "^14.0.3",
"dotenv": "^16.0.0",
"esbuild": "latest",
"esbuild-jest": "^0.5.0",

View File

@@ -22,7 +22,7 @@ export function createCommandHandler(client: Client, commands: Command[]) {
})
client.on("interactionCreate", async (interaction) => {
if (!interaction.isCommand()) return
if (!interaction.isChatInputCommand()) return
const command = commands.find(
(command) => command.name === interaction.commandName,

View File

@@ -1,4 +1,4 @@
import { Client } from "discord.js"
import { Client, IntentsBitField } from "discord.js"
import "dotenv/config"
import React from "react"
import { Button, ReacordDiscordJs, useInstance } from "../library/main"
@@ -7,7 +7,7 @@ import { Counter } from "./counter"
import { FruitSelect } from "./fruit-select"
const client = new Client({
intents: ["GUILDS"],
intents: IntentsBitField.Flags.Guilds,
})
const reacord = new ReacordDiscordJs(client)

380
pnpm-lock.yaml generated
View File

@@ -30,7 +30,7 @@ importers:
'@types/react': '*'
'@types/react-reconciler': ^0.26.6
c8: ^7.11.2
discord.js: ^13.6.0
discord.js: ^14.0.3
dotenv: ^16.0.0
esbuild: latest
esbuild-jest: ^0.5.0
@@ -59,10 +59,10 @@ importers:
devDependencies:
'@types/lodash-es': 4.17.6
c8: 7.11.2
discord.js: 13.6.0
discord.js: 14.0.3
dotenv: 16.0.0
esbuild: 0.14.48
esbuild-jest: 0.5.0_esbuild@0.14.48
esbuild: 0.14.49
esbuild-jest: 0.5.0_esbuild@0.14.49
esmo: 0.14.1
lodash-es: 4.17.21
nodemon: 2.0.15
@@ -803,20 +803,33 @@ packages:
- supports-color
dev: true
/@discordjs/builders/0.11.0:
resolution: {integrity: sha512-ZTB8yJdJKrKlq44dpWkNUrAtEJEq0gqpb7ASdv4vmq6/mZal5kOv312hQ56I/vxwMre+VIkoHquNUAfnTbiYtg==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
/@discordjs/builders/1.0.0:
resolution: {integrity: sha512-8y91ZfpOHubiGJu5tVyGI9tQCEyHZDTeqUWVcJd0dq7B96xIf84S0L4fwmD1k9zTe1eqEFSk0gc7BpY+FKn7Ww==}
engines: {node: '>=16.9.0'}
dependencies:
'@sindresorhus/is': 4.6.0
discord-api-types: 0.26.1
'@sapphire/shapeshift': 3.5.1
discord-api-types: 0.36.3
fast-deep-equal: 3.1.3
ts-mixer: 6.0.1
tslib: 2.4.0
zod: 3.14.4
dev: true
/@discordjs/collection/0.4.0:
resolution: {integrity: sha512-zmjq+l/rV35kE6zRrwe8BHqV78JvIh2ybJeZavBi5NySjWXqN3hmmAKg7kYMMXSeiWtSsMoZ/+MQi0DiQWy2lw==}
engines: {node: '>=16.0.0', npm: '>=7.0.0'}
/@discordjs/collection/1.0.0:
resolution: {integrity: sha512-nAxDQYE5dNAzEGQ7HU20sujDsG5vLowUKCEqZkKUIlrXERZFTt/60zKUj/g4+AVCGeq+pXC5hivMaNtiC+PY5Q==}
engines: {node: '>=16.9.0'}
dev: true
/@discordjs/rest/1.0.0:
resolution: {integrity: sha512-uDAvnE0P2a8axMdD4C51EGjvCRQ2HZk2Yxf6vHWZgIqG87D8DGKMPwmquIxrrB07MjV+rwci2ObU+mGhGP+bJg==}
engines: {node: '>=16.9.0'}
dependencies:
'@discordjs/collection': 1.0.0
'@sapphire/async-queue': 1.3.2
'@sapphire/snowflake': 3.2.2
discord-api-types: 0.36.3
file-type: 17.1.3
tslib: 2.4.0
undici: 5.8.0
dev: true
/@esbuild-plugins/node-modules-polyfill/0.1.4_esbuild@0.14.48:
@@ -1309,8 +1322,21 @@ packages:
resolution: {integrity: sha512-WiBSI6JBIhC6LRIsB2Kwh8DsGTlbBU+mLRxJmAe3LjHTdkDpwIbEOZgoXBbZilk/vlfjK8i6nKRAvIRn1XaIMw==}
dev: true
/@sapphire/async-queue/1.3.1:
resolution: {integrity: sha512-FFTlPOWZX1kDj9xCAsRzH5xEJfawg1lNoYAA+ecOWJMHOfiZYb1uXOI3ne9U4UILSEPwfE68p3T9wUHwIQfR0g==}
/@sapphire/async-queue/1.3.2:
resolution: {integrity: sha512-rUpMLATsoAMnlN3gecAcr9Ecnw1vG7zi5Xr+IX22YzRzi1k9PF9vKzoT8RuEJbiIszjcimu3rveqUnvwDopz8g==}
engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
dev: true
/@sapphire/shapeshift/3.5.1:
resolution: {integrity: sha512-7JFsW5IglyOIUQI1eE0g6h06D/Far6HqpcowRScgCiLSqTf3hhkPWCWotVTtVycnDCMYIwPeaw6IEPBomKC8pA==}
engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
dependencies:
fast-deep-equal: 3.1.3
lodash.uniqwith: 4.5.0
dev: true
/@sapphire/snowflake/3.2.2:
resolution: {integrity: sha512-ula2O0kpSZtX9rKXNeQMrHwNd7E4jPDJYUXmEGTFdMRfyfMw+FPyh04oKMjAiDuOi64bYgVkOV3MjK+loImFhQ==}
engines: {node: '>=v14.0.0', npm: '>=7.0.0'}
dev: true
@@ -1388,6 +1414,10 @@ packages:
pretty-format: 27.5.1
dev: true
/@tokenizer/token/0.3.0:
resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==}
dev: true
/@types/acorn/4.0.6:
resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==}
dependencies:
@@ -2521,13 +2551,13 @@ packages:
semver: 7.3.7
dev: true
/bundle-require/3.0.4_esbuild@0.14.48:
/bundle-require/3.0.4_esbuild@0.14.49:
resolution: {integrity: sha512-VXG6epB1yrLAvWVQpl92qF347/UXmncQj7J3U8kZEbdVZ1ZkQyr4hYeL/9RvcE8vVVdp53dY78Fd/3pqfRqI1A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
peerDependencies:
esbuild: '>=0.13'
dependencies:
esbuild: 0.14.48
esbuild: 0.14.49
load-tsconfig: 0.2.3
dev: true
@@ -3478,27 +3508,27 @@ packages:
path-type: 4.0.0
dev: true
/discord-api-types/0.26.1:
resolution: {integrity: sha512-T5PdMQ+Y1MEECYMV5wmyi9VEYPagEDEi4S0amgsszpWY0VB9JJ/hEvM6BgLhbdnKky4gfmZEXtEEtojN8ZKJQQ==}
engines: {node: '>=12'}
/discord-api-types/0.36.3:
resolution: {integrity: sha512-bz/NDyG0KBo/tY14vSkrwQ/n3HKPf87a0WFW/1M9+tXYK+vp5Z5EksawfCWo2zkAc6o7CClc0eff1Pjrqznlwg==}
dev: true
/discord.js/13.6.0:
resolution: {integrity: sha512-tXNR8zgsEPxPBvGk3AQjJ9ljIIC6/LOPjzKwpwz8Y1Q2X66Vi3ZqFgRHYwnHKC0jC0F+l4LzxlhmOJsBZDNg9g==}
engines: {node: '>=16.6.0', npm: '>=7.0.0'}
/discord.js/14.0.3:
resolution: {integrity: sha512-wH/VQl4CqN8/+dcXEtYis1iurqxGlDpEe0O4CqH5FGqZGIjVpTdtK0STXXx7bVNX8MT/0GvLZLkmO/5gLDWZVg==}
engines: {node: '>=16.9.0'}
dependencies:
'@discordjs/builders': 0.11.0
'@discordjs/collection': 0.4.0
'@sapphire/async-queue': 1.3.1
'@types/node-fetch': 2.6.1
'@discordjs/builders': 1.0.0
'@discordjs/collection': 1.0.0
'@discordjs/rest': 1.0.0
'@sapphire/snowflake': 3.2.2
'@types/ws': 8.5.3
discord-api-types: 0.26.1
form-data: 4.0.0
node-fetch: 2.6.7
ws: 8.5.0
discord-api-types: 0.36.3
fast-deep-equal: 3.1.3
lodash.snakecase: 4.1.1
tslib: 2.4.0
undici: 5.8.0
ws: 8.8.1
transitivePeerDependencies:
- bufferutil
- encoding
- utf-8-validate
dev: true
@@ -3663,6 +3693,15 @@ packages:
dev: true
optional: true
/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-arm64/0.14.48:
resolution: {integrity: sha512-vptI3K0wGALiDq+EvRuZotZrJqkYkN5282iAfcffjI5lmGG9G1ta/CIVauhY42MBXwEgDJkweiDcDMRLzBZC4g==}
engines: {node: '>=12'}
@@ -3672,6 +3711,15 @@ packages:
dev: true
optional: true
/esbuild-android-arm64/0.14.49:
resolution: {integrity: sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-64/0.14.48:
resolution: {integrity: sha512-gGQZa4+hab2Va/Zww94YbshLuWteyKGD3+EsVon8EWTWhnHFRm5N9NbALNbwi/7hQ/hM1Zm4FuHg+k6BLsl5UA==}
engines: {node: '>=12'}
@@ -3681,6 +3729,15 @@ packages:
dev: true
optional: true
/esbuild-darwin-64/0.14.49:
resolution: {integrity: sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-arm64/0.14.48:
resolution: {integrity: sha512-bFjnNEXjhZT+IZ8RvRGNJthLWNHV5JkCtuOFOnjvo5pC0sk2/QVk0Qc06g2PV3J0TcU6kaPC3RN9yy9w2PSLEA==}
engines: {node: '>=12'}
@@ -3690,6 +3747,15 @@ packages:
dev: true
optional: true
/esbuild-darwin-arm64/0.14.49:
resolution: {integrity: sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-64/0.14.48:
resolution: {integrity: sha512-1NOlwRxmOsnPcWOGTB10JKAkYSb2nue0oM1AfHWunW/mv3wERfJmnYlGzL3UAOIUXZqW8GeA2mv+QGwq7DToqA==}
engines: {node: '>=12'}
@@ -3699,6 +3765,15 @@ packages:
dev: true
optional: true
/esbuild-freebsd-64/0.14.49:
resolution: {integrity: sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-arm64/0.14.48:
resolution: {integrity: sha512-gXqKdO8wabVcYtluAbikDH2jhXp+Klq5oCD5qbVyUG6tFiGhrC9oczKq3vIrrtwcxDQqK6+HDYK8Zrd4bCA9Gw==}
engines: {node: '>=12'}
@@ -3708,7 +3783,16 @@ packages:
dev: true
optional: true
/esbuild-jest/0.5.0_esbuild@0.14.48:
/esbuild-freebsd-arm64/0.14.49:
resolution: {integrity: sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-jest/0.5.0_esbuild@0.14.49:
resolution: {integrity: sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ==}
peerDependencies:
esbuild: '>=0.8.50'
@@ -3716,7 +3800,7 @@ packages:
'@babel/core': 7.17.9
'@babel/plugin-transform-modules-commonjs': 7.17.9_@babel+core@7.17.9
babel-jest: 26.6.3_@babel+core@7.17.9
esbuild: 0.14.48
esbuild: 0.14.49
transitivePeerDependencies:
- supports-color
dev: true
@@ -3730,6 +3814,15 @@ packages:
dev: true
optional: true
/esbuild-linux-32/0.14.49:
resolution: {integrity: sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-64/0.14.48:
resolution: {integrity: sha512-vni3p/gppLMVZLghI7oMqbOZdGmLbbKR23XFARKnszCIBpEMEDxOMNIKPmMItQrmH/iJrL1z8Jt2nynY0bE1ug==}
engines: {node: '>=12'}
@@ -3739,6 +3832,15 @@ packages:
dev: true
optional: true
/esbuild-linux-64/0.14.49:
resolution: {integrity: sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm/0.14.48:
resolution: {integrity: sha512-+VfSV7Akh1XUiDNXgqgY1cUP1i2vjI+BmlyXRfVz5AfV3jbpde8JTs5Q9sYgaoq5cWfuKfoZB/QkGOI+QcL1Tw==}
engines: {node: '>=12'}
@@ -3748,6 +3850,15 @@ packages:
dev: true
optional: true
/esbuild-linux-arm/0.14.49:
resolution: {integrity: sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm64/0.14.48:
resolution: {integrity: sha512-3CFsOlpoxlKPRevEHq8aAntgYGYkE1N9yRYAcPyng/p4Wyx0tPR5SBYsxLKcgPB9mR8chHEhtWYz6EZ+H199Zw==}
engines: {node: '>=12'}
@@ -3757,6 +3868,15 @@ packages:
dev: true
optional: true
/esbuild-linux-arm64/0.14.49:
resolution: {integrity: sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-mips64le/0.14.48:
resolution: {integrity: sha512-cs0uOiRlPp6ymknDnjajCgvDMSsLw5mST2UXh+ZIrXTj2Ifyf2aAP3Iw4DiqgnyYLV2O/v/yWBJx+WfmKEpNLA==}
engines: {node: '>=12'}
@@ -3766,6 +3886,15 @@ packages:
dev: true
optional: true
/esbuild-linux-mips64le/0.14.49:
resolution: {integrity: sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-ppc64le/0.14.48:
resolution: {integrity: sha512-+2F0vJMkuI0Wie/wcSPDCqXvSFEELH7Jubxb7mpWrA/4NpT+/byjxDz0gG6R1WJoeDefcrMfpBx4GFNN1JQorQ==}
engines: {node: '>=12'}
@@ -3775,6 +3904,15 @@ packages:
dev: true
optional: true
/esbuild-linux-ppc64le/0.14.49:
resolution: {integrity: sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-riscv64/0.14.48:
resolution: {integrity: sha512-BmaK/GfEE+5F2/QDrIXteFGKnVHGxlnK9MjdVKMTfvtmudjY3k2t8NtlY4qemKSizc+QwyombGWTBDc76rxePA==}
engines: {node: '>=12'}
@@ -3784,6 +3922,15 @@ packages:
dev: true
optional: true
/esbuild-linux-riscv64/0.14.49:
resolution: {integrity: sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-s390x/0.14.48:
resolution: {integrity: sha512-tndw/0B9jiCL+KWKo0TSMaUm5UWBLsfCKVdbfMlb3d5LeV9WbijZ8Ordia8SAYv38VSJWOEt6eDCdOx8LqkC4g==}
engines: {node: '>=12'}
@@ -3793,6 +3940,15 @@ packages:
dev: true
optional: true
/esbuild-linux-s390x/0.14.49:
resolution: {integrity: sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-netbsd-64/0.14.48:
resolution: {integrity: sha512-V9hgXfwf/T901Lr1wkOfoevtyNkrxmMcRHyticybBUHookznipMOHoF41Al68QBsqBxnITCEpjjd4yAos7z9Tw==}
engines: {node: '>=12'}
@@ -3802,10 +3958,19 @@ packages:
dev: true
optional: true
/esbuild-netbsd-64/0.14.49:
resolution: {integrity: sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-node-loader/0.6.5:
resolution: {integrity: sha512-uPP+dllWm38cFvDysdocutN3lfe5pTIbddAHp1ENyLzpHYqE2r+3Wo+pfg9X3p8DFWwzIisft5YkeBIthIcixw==}
dependencies:
esbuild: 0.14.48
esbuild: 0.14.49
dev: true
/esbuild-openbsd-64/0.14.48:
@@ -3817,6 +3982,15 @@ packages:
dev: true
optional: true
/esbuild-openbsd-64/0.14.49:
resolution: {integrity: sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-plugin-cache/0.2.9:
resolution: {integrity: sha512-wSYkiLbaZWuFPdepopZ16/hjIDx+fow4/KbtuD8UQPlswFssI5Efgqmzg6hhqJk87fpOk6OYn5pEPftQ5i0mkg==}
dependencies:
@@ -3826,12 +4000,12 @@ packages:
- encoding
dev: true
/esbuild-register/3.3.2_esbuild@0.14.48:
/esbuild-register/3.3.2_esbuild@0.14.49:
resolution: {integrity: sha512-jceAtTO6zxPmCfSD5cBb3rgIK1vmuqCKYwgylHiS1BF4pq0jJiJb4K2QMuqF4BEw7XDBRatYzip0upyTzfkgsQ==}
peerDependencies:
esbuild: '>=0.12 <1'
dependencies:
esbuild: 0.14.48
esbuild: 0.14.49
dev: true
/esbuild-sunos-64/0.14.48:
@@ -3843,6 +4017,15 @@ packages:
dev: true
optional: true
/esbuild-sunos-64/0.14.49:
resolution: {integrity: sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-32/0.14.48:
resolution: {integrity: sha512-EPgRuTPP8vK9maxpTGDe5lSoIBHGKO/AuxDncg5O3NkrPeLNdvvK8oywB0zGaAZXxYWfNNSHskvvDgmfVTguhg==}
engines: {node: '>=12'}
@@ -3852,6 +4035,15 @@ packages:
dev: true
optional: true
/esbuild-windows-32/0.14.49:
resolution: {integrity: sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-64/0.14.48:
resolution: {integrity: sha512-YmpXjdT1q0b8ictSdGwH3M8VCoqPpK1/UArze3X199w6u8hUx3V8BhAi1WjbsfDYRBanVVtduAhh2sirImtAvA==}
engines: {node: '>=12'}
@@ -3861,6 +4053,15 @@ packages:
dev: true
optional: true
/esbuild-windows-64/0.14.49:
resolution: {integrity: sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-arm64/0.14.48:
resolution: {integrity: sha512-HHaOMCsCXp0rz5BT2crTka6MPWVno121NKApsGs/OIW5QC0ggC69YMGs1aJct9/9FSUF4A1xNE/cLvgB5svR4g==}
engines: {node: '>=12'}
@@ -3870,6 +4071,15 @@ packages:
dev: true
optional: true
/esbuild-windows-arm64/0.14.49:
resolution: {integrity: sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild/0.14.48:
resolution: {integrity: sha512-w6N1Yn5MtqK2U1/WZTX9ZqUVb8IOLZkZ5AdHkT6x3cHDMVsYWC7WPdiLmx19w3i4Rwzy5LqsEMtVihG3e4rFzA==}
engines: {node: '>=12'}
@@ -3898,6 +4108,34 @@ packages:
esbuild-windows-arm64: 0.14.48
dev: true
/esbuild/0.14.49:
resolution: {integrity: sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==}
engines: {node: '>=12'}
hasBin: 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
/escalade/3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
engines: {node: '>=6'}
@@ -4111,9 +4349,9 @@ packages:
hasBin: true
dependencies:
cross-spawn: 7.0.3
esbuild: 0.14.48
esbuild: 0.14.49
esbuild-node-loader: 0.6.5
esbuild-register: 3.3.2_esbuild@0.14.48
esbuild-register: 3.3.2_esbuild@0.14.49
import-meta-resolve: 1.1.1
dev: true
@@ -4508,6 +4746,15 @@ packages:
flat-cache: 3.0.4
dev: true
/file-type/17.1.3:
resolution: {integrity: sha512-MFVSozBIhvnx2dkxlf+010Xqn6+ojlMUT9LXQiPNoOijgRtXNMghWdGK0u2o1RoCqzHoVsw65IL8ZBcQ4MhIrw==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
readable-web-to-node-stream: 3.0.2
strtok3: 7.0.0-alpha.8
token-types: 5.0.0-alpha.2
dev: true
/file-uri-to-path/1.0.0:
resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==}
dev: true
@@ -6236,6 +6483,14 @@ packages:
resolution: {integrity: sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=}
dev: true
/lodash.snakecase/4.1.1:
resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==}
dev: true
/lodash.uniqwith/4.5.0:
resolution: {integrity: sha512-7lYL8bLopMoy4CTICbxygAUq6CdRJ36vFc80DucPueUee+d5NBRxz3FdT9Pes/HEx5mPoT9jwnsEJWz1N7uq7Q==}
dev: true
/lodash/4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
@@ -7563,6 +7818,11 @@ packages:
resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
dev: true
/peek-readable/5.0.0-alpha.5:
resolution: {integrity: sha512-pJohF/tDwV3ntnT5+EkUo4E700q/j/OCDuPxtM+5/kFGjyOai/sK4/We4Cy1MB2OiTQliWU5DxPvYIKQAdPqAA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
/peek-stream/1.1.3:
resolution: {integrity: sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==}
dependencies:
@@ -8108,6 +8368,13 @@ packages:
util-deprecate: 1.0.2
dev: true
/readable-web-to-node-stream/3.0.2:
resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==}
engines: {node: '>=8'}
dependencies:
readable-stream: 3.6.0
dev: true
/readdirp/3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@@ -9034,6 +9301,14 @@ packages:
engines: {node: '>=8'}
dev: true
/strtok3/7.0.0-alpha.8:
resolution: {integrity: sha512-u+k19v+rTxBjGYxncRQjGvZYwYvEd0uP3D+uHKe/s4WB1eXS5ZwpZsTlBu5xSS4zEd89mTXECXg6WW3FSeV8cA==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
'@tokenizer/token': 0.3.0
peek-readable: 5.0.0-alpha.5
dev: true
/style-to-object/0.3.0:
resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==}
dependencies:
@@ -9264,6 +9539,14 @@ packages:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'}
/token-types/5.0.0-alpha.2:
resolution: {integrity: sha512-EsG9UxAW4M6VATrEEjhPFTKEUi1OiJqTUMIZOGBN49fGxYjZB36k0p7to3HZSmWRoHm1QfZgrg3e02fpqAt5fQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dependencies:
'@tokenizer/token': 0.3.0
ieee754: 1.2.1
dev: true
/toml/3.0.0:
resolution: {integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==}
dev: true
@@ -9332,11 +9615,11 @@ packages:
typescript:
optional: true
dependencies:
bundle-require: 3.0.4_esbuild@0.14.48
bundle-require: 3.0.4_esbuild@0.14.49
cac: 6.7.12
chokidar: 3.5.3
debug: 4.3.4
esbuild: 0.14.48
esbuild: 0.14.49
execa: 5.1.1
globby: 11.1.0
joycon: 3.1.1
@@ -9466,6 +9749,11 @@ packages:
resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}
dev: true
/undici/5.8.0:
resolution: {integrity: sha512-1F7Vtcez5w/LwH2G2tGnFIihuWUlc58YidwLiCv+jR2Z50x0tNXpRRw7eOIJ+GvqCqIkg9SB7NWAJ/T9TLfv8Q==}
engines: {node: '>=12.18'}
dev: true
/unified/10.1.2:
resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
dependencies:
@@ -9794,7 +10082,7 @@ packages:
stylus:
optional: true
dependencies:
esbuild: 0.14.48
esbuild: 0.14.49
postcss: 8.4.12
resolve: 1.22.0
rollup: 2.70.2
@@ -10006,8 +10294,8 @@ packages:
optional: true
dev: true
/ws/8.5.0:
resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==}
/ws/8.8.1:
resolution: {integrity: sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -10109,10 +10397,6 @@ packages:
engines: {node: '>=10'}
dev: true
/zod/3.14.4:
resolution: {integrity: sha512-U9BFLb2GO34Sfo9IUYp0w3wJLlmcyGoMd75qU9yf+DrdGA4kEx6e+l9KOkAlyUO0PSQzZCa3TR4qVlcmwqSDuw==}
dev: true
/zwitch/2.0.2:
resolution: {integrity: sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==}
dev: true