Compare commits

...

31 Commits

Author SHA1 Message Date
github-actions[bot]
e549f8bc3e chore(main): release 2.5.2 (#234)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-16 10:52:14 -06:00
jacoobes
3ab73459ad bump version 2023-02-16 10:49:02 -06:00
jacoobes
16af2e996d chore: minifiy build output 2023-02-16 10:44:38 -06:00
Jacob Nguyen
4f9a842b0e update ci 2023-02-15 21:31:18 -06:00
Jacob Nguyen
5dfd1a1fc1 Update README.md 2023-02-15 21:28:48 -06:00
Jacob Nguyen
c45a10c950 Update README.md 2023-02-15 21:28:25 -06:00
Jacob Nguyen
b45ba34f3c Update README.md 2023-02-15 18:22:23 -06:00
Jacob Nguyen
facee79c90 revert: version 2023-02-14 17:54:31 -06:00
Jacob Nguyen
306eee071d chore: bump dependencies 2023-02-14 17:52:23 -06:00
Jacob Nguyen
00d55208a0 Merge remote-tracking branch 'origin/main' 2023-02-14 17:42:26 -06:00
Jacob Nguyen
49fad801a5 chore: bump dependencies 2023-02-14 17:41:54 -06:00
Neo
c9f44ce72b docs: changed name of Benzo-Fury's Bot (#226) 2023-02-13 11:46:28 -06:00
Jacob Nguyen
a9a2528faf Update README.md 2023-02-12 17:07:51 -06:00
github-actions[bot]
529edb7da5 style: pretty please (#224)
Co-authored-by: jacoobes <jacoobes@users.noreply.github.com>
2023-02-12 12:59:34 -06:00
github-actions[bot]
f236dc05e2 chore(main): release 2.5.1 (#222)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-12 12:58:00 -06:00
Jacob Nguyen
c78936a225 chore: release 2.5.1
Release-As: 2.5.1
2023-02-12 12:54:18 -06:00
Jacob Nguyen
1860b898f3 fix: autocomplete 2023-02-12 12:51:49 -06:00
renovate[bot]
fd10772a9b chore(deps): lock file maintenance (#213)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-12 11:47:37 -06:00
renovate[bot]
cd36bd8a47 chore(deps): update dependency @typescript-eslint/eslint-plugin to v5.51.0 (#187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-12 11:33:00 -06:00
renovate[bot]
dda7f41231 chore(deps): update dependency prettier to v2.8.4 (#215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jacob Nguyen <76754747+jacoobes@users.noreply.github.com>
2023-02-12 11:29:38 -06:00
renovate[bot]
371a57194c chore(deps): update pnpm to v7.27.0 (#216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-12 11:28:54 -06:00
Neo
bfcc160a39 docs: change protectors WIP mark to its name (#214)
Idk I was bored and saw this was different to mine. Change mine instead or just close this pr, idm.
2023-02-07 20:16:23 -06:00
Neo
86fa531eb6 docs: Adding the WIP to my bot (#212)
feat: Adding the WIP to my bot
2023-02-04 10:37:03 -06:00
Gary
58052e94cb docs: add my bot to the ReadMe (#211) 2023-02-04 01:38:07 -06:00
Neo
96f4281121 feat: Adding my bot to readme (#210) 2023-02-03 23:55:26 -06:00
Jacob Nguyen
f9ae7c003b docs: clarify example 2023-02-03 23:46:19 -06:00
Jacob Nguyen
ec211d5a8d docs: do some updating on readme 2023-02-03 23:14:57 -06:00
github-actions[bot]
3faf83bbf7 style: pretty please (#209)
Co-authored-by: jacoobes <jacoobes@users.noreply.github.com>
2023-02-03 23:04:13 -06:00
renovate[bot]
8eed099503 chore(deps): lock file maintenance (#183)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-03 23:00:46 -06:00
renovate[bot]
e2874be4e7 chore(deps): update pnpm to v7.26.3 (#203)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-02-03 22:56:17 -06:00
github-actions[bot]
1d6751a9cd style: pretty please (#207)
Co-authored-by: jacoobes <jacoobes@users.noreply.github.com>
2023-01-30 12:35:37 -06:00
21 changed files with 484 additions and 442 deletions

View File

@@ -5,6 +5,8 @@ on:
push: push:
branches: branches:
main main
paths:
- '**.ts'
pull_request_target: pull_request_target:
branches: branches:
main main

View File

@@ -1,30 +1,27 @@
name: NPM / Publish name: NPM / Publish
on: on:
release: workflow_run:
types: [created] workflows: ["release-please"]
types: [completed]
jobs: jobs:
build: test-and-publish:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 16 node-version: 17
- run: npm ci - uses: pnpm/action-setup@v2
- run: npm test
publish-npm:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with: with:
node-version: 16 run_install: |
registry-url: https://registry.npmjs.org/ - recursive: true
- run: npm ci args: [--strict-peer-dependencies]
- run: npm publish - run: pnpm install
env: - run: pnpm test
NODE_AUTH_TOKEN: ${{secrets.npm_token}} - run: pnpm build
- uses: JS-DevTools/npm-publish@v1
with:
token: ${{ secrets.NPM_TOKEN }}
access: "public"

View File

@@ -1,5 +1,30 @@
# Changelog # Changelog
## [2.5.2](https://github.com/sern-handler/handler/compare/v2.5.1...v2.5.2) (2023-02-16)
### Reverts
* version ([facee79](https://github.com/sern-handler/handler/commit/facee79c904ad663d3c57ce56fb825419fcc12f9))
## [2.5.1](https://github.com/sern-handler/handler/compare/v2.5.0...v2.5.1) (2023-02-12)
### Features
* Adding my bot to readme ([#210](https://github.com/sern-handler/handler/issues/210)) ([96f4281](https://github.com/sern-handler/handler/commit/96f42811218e4898a47e75a8138ccd452ae2c5c2))
* Adding the WIP to my bot ([86fa531](https://github.com/sern-handler/handler/commit/86fa531eb620d2ac649bad6decb29d5c55a25445))
### Bug Fixes
* autocomplete ([1860b89](https://github.com/sern-handler/handler/commit/1860b898f3a231840e2a8b781e007ef9d6f587a4))
### Miscellaneous Chores
* release 2.5.1 ([c78936a](https://github.com/sern-handler/handler/commit/c78936a22574da4af71826f5b5f72f354a4eb06a))
## [2.5.0](https://github.com/sern-handler/handler/compare/v2.1.1...v2.5.0) (2023-01-30) ## [2.5.0](https://github.com/sern-handler/handler/compare/v2.1.1...v2.5.0) (2023-01-30)

View File

@@ -3,7 +3,7 @@
</div> </div>
<h1 align="center">Handlers. Redefined.</h1> <h1 align="center">Handlers. Redefined.</h1>
<h4 align="center">A customizable, batteries-included, powerful discord.js framework to streamline bot development.</h4> <h4 align="center">A complete, customizable, typesafe, & reactive framework for discord bots</h4>
<div align="center" styles="margin-top: 10px"> <div align="center" styles="margin-top: 10px">
<img src="https://img.shields.io/badge/open-source-brightgreen" /> <img src="https://img.shields.io/badge/open-source-brightgreen" />
@@ -14,20 +14,6 @@
<img alt="Lines of code" src="https://img.shields.io/badge/total%20lines-2k-blue" /> <img alt="Lines of code" src="https://img.shields.io/badge/total%20lines-2k-blue" />
</div> </div>
## 📜 Installation
```sh
npm install @sern/handler
```
```sh
yarn add @sern/handler
```
```sh
pnpm add @sern/handler
```
## Why? ## Why?
- Most handlers don't support discord.js 14.7+ - Most handlers don't support discord.js 14.7+
- Customizable commands - Customizable commands
@@ -43,6 +29,20 @@ pnpm add @sern/handler
* ESM, CommonJS and TypeScript support * ESM, CommonJS and TypeScript support
* A powerful CLI and awesome community-made plugins * A powerful CLI and awesome community-made plugins
## 📜 Installation
```sh
npm install @sern/handler
```
```sh
yarn add @sern/handler
```
```sh
pnpm add @sern/handler
```
## 👶 Basic Usage ## 👶 Basic Usage
#### ` index.js (CommonJS)` #### ` index.js (CommonJS)`
@@ -52,10 +52,7 @@ pnpm add @sern/handler
const { Client, GatewayIntentBits } = require('discord.js'); const { Client, GatewayIntentBits } = require('discord.js');
// Import Sern namespace // Import Sern namespace
const { Sern } = require('@sern/handler'); const { Sern, single } = require('@sern/handler');
// Our configuration file
const { defaultPrefix, token } = require('./config.json');
const client = new Client({ const client = new Client({
intents: [ intents: [
@@ -66,8 +63,8 @@ const client = new Client({
}); });
export const useContainer = Sern.makeDependencies({ export const useContainer = Sern.makeDependencies({
build: root => root build: root => root
.add({ '@sern/client': single(client) }) .add({ '@sern/client': single(() => client) })
.add({ '@sern/logger': single(new DefaultLogging()) }) .upsert({ '@sern/logger': single(() => new DefaultLogging()) })
}); });
//View docs for all options //View docs for all options
@@ -80,7 +77,7 @@ Sern.init({
} }
}); });
client.login(token); client.login("YOUR_BOT_TOKEN_HERE");
``` ```
#### ` ping.js (CommonJS)` #### ` ping.js (CommonJS)`
@@ -89,16 +86,21 @@ client.login(token);
const { CommandType, commandModule } = require('@sern/handler'); const { CommandType, commandModule } = require('@sern/handler');
exports.default = commandModule({ exports.default = commandModule({
name: 'ping',
description: 'A ping pong command',
type: CommandType.Slash, type: CommandType.Slash,
description: 'A ping pong command',
execute(ctx) { execute(ctx) {
ctx.reply('pong!'); ctx.reply('pong!');
} }
}); });
``` ```
See our [templates](https://github.com/sern-handler/templates) for TypeScript examples and more. ## 🤖 Bots Using sern
- [Community Bot](https://github.com/sern-handler/sern-community), the community bot for our [discord server](https://sern.dev/discord).
- [Vinci](https://github.com/SrIzan10/vinci), the bot for Mara Turing.
- [Bask](https://github.com/baskbotml/bask), Listen your favorite artists on Discord.
- [ava](https://github.com/SrIzan10/ava), A discord bot that plays KNGI and Gensokyo Radio.
- [ALMA (WIP)](https://github.com/Benzo-Fury/ALMA), Using AI to unleash the power in your server.
- [Protector (WIP)](https://github.com/needhamgary/Protector), Just a simple bot to help enhance a private minecraft server.
## 💻 CLI ## 💻 CLI
@@ -115,6 +117,4 @@ It is **highly encouraged** to use the [command line interface](https://github.c
- Pull up on [issues](https://github.com/sern-handler/handler/issues) and report bugs - Pull up on [issues](https://github.com/sern-handler/handler/issues) and report bugs
- All kinds of contributions are welcomed. - All kinds of contributions are welcomed.
## 🚈 Roadmap
You can check our [roadmap](https://github.com/sern-handler/roadmap) to see what's going to be added or patched in the future.

View File

@@ -1,7 +1,7 @@
{ {
"name": "@sern/handler", "name": "@sern/handler",
"packageManager": "pnpm@7.25.0", "packageManager": "pnpm@7.27.0",
"version": "2.5.0", "version": "2.5.2",
"description": "A customizable, batteries-included, powerful discord.js framework to automate and streamline bot development.", "description": "A customizable, batteries-included, powerful discord.js framework to automate and streamline bot development.",
"main": "dist/cjs/index.cjs", "main": "dist/cjs/index.cjs",
"module": "dist/esm/index.mjs", "module": "dist/esm/index.mjs",
@@ -13,7 +13,7 @@
} }
}, },
"scripts": { "scripts": {
"watch": "tsup --watch --dts", "watch": "tsup --dts --watch",
"clean-modules": "rimraf node_modules/ && npm install", "clean-modules": "rimraf node_modules/ && npm install",
"lint": "eslint src/**/*.ts", "lint": "eslint src/**/*.ts",
"format": "eslint src/**/*.ts --fix", "format": "eslint src/**/*.ts --fix",
@@ -34,17 +34,17 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"iti": "^0.6.0", "iti": "^0.6.0",
"rxjs": "^7.5.6", "rxjs": "^7.8.0",
"ts-pattern": "^4.0.6", "ts-pattern": "^4.1.4",
"ts-results-es": "^3.5.0" "ts-results-es": "^3.5.0"
}, },
"devDependencies": { "devDependencies": {
"@typescript-eslint/eslint-plugin": "5.47.1", "@typescript-eslint/eslint-plugin": "5.51.0",
"@typescript-eslint/parser": "5.48.0", "@typescript-eslint/parser": "5.48.0",
"discord.js": ">= ^14.7.x", "discord.js": "^14.7.1",
"eslint": "8.30.0", "eslint": "8.30.0",
"prettier": "2.8.3", "prettier": "2.8.4",
"tsup": "^6.1.3", "tsup": "^6.6.3",
"typescript": "4.9.4" "typescript": "4.9.4"
}, },
"repository": { "repository": {

683
pnpm-lock.yaml generated
View File

@@ -1,31 +1,31 @@
lockfileVersion: 5.4 lockfileVersion: 5.4
specifiers: specifiers:
'@typescript-eslint/eslint-plugin': 5.47.1 '@typescript-eslint/eslint-plugin': 5.51.0
'@typescript-eslint/parser': 5.48.0 '@typescript-eslint/parser': 5.48.0
discord.js: '>= ^14.7.x' discord.js: ^14.7.1
eslint: 8.30.0 eslint: 8.30.0
iti: ^0.6.0 iti: ^0.6.0
prettier: 2.8.3 prettier: 2.8.4
rxjs: ^7.5.6 rxjs: ^7.8.0
ts-pattern: ^4.0.6 ts-pattern: ^4.1.4
ts-results-es: ^3.5.0 ts-results-es: ^3.5.0
tsup: ^6.1.3 tsup: ^6.6.3
typescript: 4.9.4 typescript: 4.9.4
dependencies: dependencies:
iti: 0.6.0 iti: 0.6.0
rxjs: 7.8.0 rxjs: 7.8.0
ts-pattern: 4.0.6 ts-pattern: 4.1.4
ts-results-es: 3.5.0 ts-results-es: 3.5.0
devDependencies: devDependencies:
'@typescript-eslint/eslint-plugin': 5.47.1_ms6clkwmnrnf7qx5hae2o4lcfe '@typescript-eslint/eslint-plugin': 5.51.0_ms6clkwmnrnf7qx5hae2o4lcfe
'@typescript-eslint/parser': 5.48.0_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/parser': 5.48.0_lzzuuodtsqwxnvqeq4g4likcqa
discord.js: 14.7.1 discord.js: 14.7.1
eslint: 8.30.0 eslint: 8.30.0
prettier: 2.8.3 prettier: 2.8.4
tsup: 6.5.0_typescript@4.9.4 tsup: 6.6.3_typescript@4.9.4
typescript: 4.9.4 typescript: 4.9.4
packages: packages:
@@ -36,10 +36,10 @@ packages:
dependencies: dependencies:
'@discordjs/util': 0.1.0 '@discordjs/util': 0.1.0
'@sapphire/shapeshift': 3.8.1 '@sapphire/shapeshift': 3.8.1
discord-api-types: 0.37.24 discord-api-types: 0.37.33
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
ts-mixer: 6.0.2 ts-mixer: 6.0.3
tslib: 2.4.1 tslib: 2.5.0
dev: true dev: true
/@discordjs/collection/1.3.0: /@discordjs/collection/1.3.0:
@@ -55,10 +55,10 @@ packages:
'@discordjs/util': 0.1.0 '@discordjs/util': 0.1.0
'@sapphire/async-queue': 1.5.0 '@sapphire/async-queue': 1.5.0
'@sapphire/snowflake': 3.4.0 '@sapphire/snowflake': 3.4.0
discord-api-types: 0.37.24 discord-api-types: 0.37.33
file-type: 18.0.0 file-type: 18.2.0
tslib: 2.4.1 tslib: 2.5.0
undici: 5.14.0 undici: 5.19.1
dev: true dev: true
/@discordjs/util/0.1.0: /@discordjs/util/0.1.0:
@@ -66,8 +66,8 @@ packages:
engines: {node: '>=16.9.0'} engines: {node: '>=16.9.0'}
dev: true dev: true
/@esbuild/android-arm/0.15.18: /@esbuild/android-arm/0.17.8:
resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
@@ -75,8 +75,89 @@ packages:
dev: true dev: true
optional: true optional: true
/@esbuild/linux-loong64/0.15.18: /@esbuild/android-arm64/0.17.8:
resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} resolution: {integrity: sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/android-x64/0.17.8:
resolution: {integrity: sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
dev: true
optional: true
/@esbuild/darwin-arm64/0.17.8:
resolution: {integrity: sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@esbuild/darwin-x64/0.17.8:
resolution: {integrity: sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/@esbuild/freebsd-arm64/0.17.8:
resolution: {integrity: sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/freebsd-x64/0.17.8:
resolution: {integrity: sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-arm/0.17.8:
resolution: {integrity: sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-arm64/0.17.8:
resolution: {integrity: sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-ia32/0.17.8:
resolution: {integrity: sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-loong64/0.17.8:
resolution: {integrity: sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==}
engines: {node: '>=12'} engines: {node: '>=12'}
cpu: [loong64] cpu: [loong64]
os: [linux] os: [linux]
@@ -84,14 +165,113 @@ packages:
dev: true dev: true
optional: true optional: true
/@eslint/eslintrc/1.4.0: /@esbuild/linux-mips64el/0.17.8:
resolution: {integrity: sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==} resolution: {integrity: sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-ppc64/0.17.8:
resolution: {integrity: sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-riscv64/0.17.8:
resolution: {integrity: sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-s390x/0.17.8:
resolution: {integrity: sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/linux-x64/0.17.8:
resolution: {integrity: sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/@esbuild/netbsd-x64/0.17.8:
resolution: {integrity: sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/openbsd-x64/0.17.8:
resolution: {integrity: sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/@esbuild/sunos-x64/0.17.8:
resolution: {integrity: sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-arm64/0.17.8:
resolution: {integrity: sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-ia32/0.17.8:
resolution: {integrity: sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@esbuild/win32-x64/0.17.8:
resolution: {integrity: sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/@eslint/eslintrc/1.4.1:
resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4 debug: 4.3.4
espree: 9.4.1 espree: 9.4.1
globals: 13.19.0 globals: 13.20.0
ignore: 5.2.4 ignore: 5.2.4
import-fresh: 3.3.0 import-fresh: 3.3.0
js-yaml: 4.1.0 js-yaml: 4.1.0
@@ -139,7 +319,7 @@ packages:
engines: {node: '>= 8'} engines: {node: '>= 8'}
dependencies: dependencies:
'@nodelib/fs.scandir': 2.1.5 '@nodelib/fs.scandir': 2.1.5
fastq: 1.14.0 fastq: 1.15.0
dev: true dev: true
/@sapphire/async-queue/1.5.0: /@sapphire/async-queue/1.5.0:
@@ -168,22 +348,22 @@ packages:
resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==}
dev: true dev: true
/@types/node/18.11.18: /@types/node/18.13.0:
resolution: {integrity: sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==} resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==}
dev: true dev: true
/@types/semver/7.3.13: /@types/semver/7.3.13:
resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
dev: true dev: true
/@types/ws/8.5.3: /@types/ws/8.5.4:
resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} resolution: {integrity: sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==}
dependencies: dependencies:
'@types/node': 18.11.18 '@types/node': 18.13.0
dev: true dev: true
/@typescript-eslint/eslint-plugin/5.47.1_ms6clkwmnrnf7qx5hae2o4lcfe: /@typescript-eslint/eslint-plugin/5.51.0_ms6clkwmnrnf7qx5hae2o4lcfe:
resolution: {integrity: sha512-r4RZ2Jl9kcQN7K/dcOT+J7NAimbiis4sSM9spvWimsBvDegMhKLA5vri2jG19PmIPbDjPeWzfUPQ2hjEzA4Nmg==} resolution: {integrity: sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
'@typescript-eslint/parser': ^5.0.0 '@typescript-eslint/parser': ^5.0.0
@@ -194,11 +374,12 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 5.48.0_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/parser': 5.48.0_lzzuuodtsqwxnvqeq4g4likcqa
'@typescript-eslint/scope-manager': 5.47.1 '@typescript-eslint/scope-manager': 5.51.0
'@typescript-eslint/type-utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/type-utils': 5.51.0_lzzuuodtsqwxnvqeq4g4likcqa
'@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/utils': 5.51.0_lzzuuodtsqwxnvqeq4g4likcqa
debug: 4.3.4 debug: 4.3.4
eslint: 8.30.0 eslint: 8.30.0
grapheme-splitter: 1.0.4
ignore: 5.2.4 ignore: 5.2.4
natural-compare-lite: 1.4.0 natural-compare-lite: 1.4.0
regexpp: 3.2.0 regexpp: 3.2.0
@@ -229,14 +410,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/scope-manager/5.47.1:
resolution: {integrity: sha512-9hsFDsgUwrdOoW1D97Ewog7DYSHaq4WKuNs0LHF9RiCmqB0Z+XRR4Pf7u7u9z/8CciHuJ6yxNws1XznI3ddjEw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.47.1
'@typescript-eslint/visitor-keys': 5.47.1
dev: true
/@typescript-eslint/scope-manager/5.48.0: /@typescript-eslint/scope-manager/5.48.0:
resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==} resolution: {integrity: sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -245,8 +418,16 @@ packages:
'@typescript-eslint/visitor-keys': 5.48.0 '@typescript-eslint/visitor-keys': 5.48.0
dev: true dev: true
/@typescript-eslint/type-utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: /@typescript-eslint/scope-manager/5.51.0:
resolution: {integrity: sha512-/UKOeo8ee80A7/GJA427oIrBi/Gd4osk/3auBUg4Rn9EahFpevVV1mUK8hjyQD5lHPqX397x6CwOk5WGh1E/1w==} resolution: {integrity: sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.51.0
'@typescript-eslint/visitor-keys': 5.51.0
dev: true
/@typescript-eslint/type-utils/5.51.0_lzzuuodtsqwxnvqeq4g4likcqa:
resolution: {integrity: sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: '*' eslint: '*'
@@ -255,8 +436,8 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.4
'@typescript-eslint/utils': 5.47.1_lzzuuodtsqwxnvqeq4g4likcqa '@typescript-eslint/utils': 5.51.0_lzzuuodtsqwxnvqeq4g4likcqa
debug: 4.3.4 debug: 4.3.4
eslint: 8.30.0 eslint: 8.30.0
tsutils: 3.21.0_typescript@4.9.4 tsutils: 3.21.0_typescript@4.9.4
@@ -265,35 +446,14 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/types/5.47.1:
resolution: {integrity: sha512-CmALY9YWXEpwuu6377ybJBZdtSAnzXLSQcxLSqSQSbC7VfpMu/HLVdrnVJj7ycI138EHqocW02LPJErE35cE9A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@typescript-eslint/types/5.48.0: /@typescript-eslint/types/5.48.0:
resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==} resolution: {integrity: sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/@typescript-eslint/typescript-estree/5.47.1_typescript@4.9.4: /@typescript-eslint/types/5.51.0:
resolution: {integrity: sha512-4+ZhFSuISAvRi2xUszEj0xXbNTHceV9GbH9S8oAD2a/F9SW57aJNQVOCxG8GPfSWH/X4eOPdMEU2jYVuWKEpWA==} resolution: {integrity: sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.47.1
'@typescript-eslint/visitor-keys': 5.47.1
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
semver: 7.3.8
tsutils: 3.21.0_typescript@4.9.4
typescript: 4.9.4
transitivePeerDependencies:
- supports-color
dev: true dev: true
/@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4: /@typescript-eslint/typescript-estree/5.48.0_typescript@4.9.4:
@@ -317,17 +477,38 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils/5.47.1_lzzuuodtsqwxnvqeq4g4likcqa: /@typescript-eslint/typescript-estree/5.51.0_typescript@4.9.4:
resolution: {integrity: sha512-l90SdwqfmkuIVaREZ2ykEfCezepCLxzWMo5gVfcJsJCaT4jHT+QjgSkYhs5BMQmWqE9k3AtIfk4g211z/sTMVw==} resolution: {integrity: sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/types': 5.51.0
'@typescript-eslint/visitor-keys': 5.51.0
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
semver: 7.3.8
tsutils: 3.21.0_typescript@4.9.4
typescript: 4.9.4
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/utils/5.51.0_lzzuuodtsqwxnvqeq4g4likcqa:
resolution: {integrity: sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
'@types/json-schema': 7.0.11 '@types/json-schema': 7.0.11
'@types/semver': 7.3.13 '@types/semver': 7.3.13
'@typescript-eslint/scope-manager': 5.47.1 '@typescript-eslint/scope-manager': 5.51.0
'@typescript-eslint/types': 5.47.1 '@typescript-eslint/types': 5.51.0
'@typescript-eslint/typescript-estree': 5.47.1_typescript@4.9.4 '@typescript-eslint/typescript-estree': 5.51.0_typescript@4.9.4
eslint: 8.30.0 eslint: 8.30.0
eslint-scope: 5.1.1 eslint-scope: 5.1.1
eslint-utils: 3.0.0_eslint@8.30.0 eslint-utils: 3.0.0_eslint@8.30.0
@@ -337,14 +518,6 @@ packages:
- typescript - typescript
dev: true dev: true
/@typescript-eslint/visitor-keys/5.47.1:
resolution: {integrity: sha512-rF3pmut2JCCjh6BLRhNKdYjULMb1brvoaiWDlHfLNVgmnZ0sBVJrs3SyaKE1XoDDnJuAx/hDQryHYmPUuNq0ig==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.47.1
eslint-visitor-keys: 3.3.0
dev: true
/@typescript-eslint/visitor-keys/5.48.0: /@typescript-eslint/visitor-keys/5.48.0:
resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==} resolution: {integrity: sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
@@ -353,16 +526,24 @@ packages:
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
dev: true dev: true
/acorn-jsx/5.3.2_acorn@8.8.1: /@typescript-eslint/visitor-keys/5.51.0:
resolution: {integrity: sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
'@typescript-eslint/types': 5.51.0
eslint-visitor-keys: 3.3.0
dev: true
/acorn-jsx/5.3.2_acorn@8.8.2:
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies: peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
acorn: 8.8.1 acorn: 8.8.2
dev: true dev: true
/acorn/8.8.1: /acorn/8.8.2:
resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
hasBin: true hasBin: true
dev: true dev: true
@@ -432,13 +613,13 @@ packages:
fill-range: 7.0.1 fill-range: 7.0.1
dev: true dev: true
/bundle-require/3.1.2_esbuild@0.15.18: /bundle-require/4.0.1_esbuild@0.17.8:
resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==}
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.17'
dependencies: dependencies:
esbuild: 0.15.18 esbuild: 0.17.8
load-tsconfig: 0.2.3 load-tsconfig: 0.2.3
dev: true dev: true
@@ -534,8 +715,8 @@ packages:
path-type: 4.0.0 path-type: 4.0.0
dev: true dev: true
/discord-api-types/0.37.24: /discord-api-types/0.37.33:
resolution: {integrity: sha512-1+Fb4huJCihdbkJLcq2p7nBmtlmAryNwjefT8wwJnL8c7bc7WA87Oaa5mbLe96QvZyfwnwRCDX40H0HhcVV50g==} resolution: {integrity: sha512-ZMH5RU3q1pvYS+2wGUJ5Zvy8jMGTQ4wCpbDlIQDkbIL/k6kJwBPsXnCg81g2GywlOuf0f8ezakxVSe+sZuY6ig==}
dev: true dev: true
/discord.js/14.7.1: /discord.js/14.7.1:
@@ -547,13 +728,13 @@ packages:
'@discordjs/rest': 1.5.0 '@discordjs/rest': 1.5.0
'@discordjs/util': 0.1.0 '@discordjs/util': 0.1.0
'@sapphire/snowflake': 3.4.0 '@sapphire/snowflake': 3.4.0
'@types/ws': 8.5.3 '@types/ws': 8.5.4
discord-api-types: 0.37.24 discord-api-types: 0.37.33
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
lodash.snakecase: 4.1.1 lodash.snakecase: 4.1.1
tslib: 2.4.1 tslib: 2.5.0
undici: 5.14.0 undici: 5.19.1
ws: 8.11.0 ws: 8.12.1
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
- utf-8-validate - utf-8-validate
@@ -566,214 +747,34 @@ packages:
esutils: 2.0.3 esutils: 2.0.3
dev: true dev: true
/esbuild-android-64/0.15.18: /esbuild/0.17.8:
resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} resolution: {integrity: sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
requiresBuild: true
dev: true
optional: true
/esbuild-android-arm64/0.15.18:
resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-64/0.15.18:
resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-darwin-arm64/0.15.18:
resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-64/0.15.18:
resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-freebsd-arm64/0.15.18:
resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-32/0.15.18:
resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-64/0.15.18:
resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm/0.15.18:
resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-arm64/0.15.18:
resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-mips64le/0.15.18:
resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-ppc64le/0.15.18:
resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-riscv64/0.15.18:
resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-linux-s390x/0.15.18:
resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
requiresBuild: true
dev: true
optional: true
/esbuild-netbsd-64/0.15.18:
resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-openbsd-64/0.15.18:
resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
requiresBuild: true
dev: true
optional: true
/esbuild-sunos-64/0.15.18:
resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-32/0.15.18:
resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-64/0.15.18:
resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild-windows-arm64/0.15.18:
resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
requiresBuild: true
dev: true
optional: true
/esbuild/0.15.18:
resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
engines: {node: '>=12'} engines: {node: '>=12'}
hasBin: true hasBin: true
requiresBuild: true requiresBuild: true
optionalDependencies: optionalDependencies:
'@esbuild/android-arm': 0.15.18 '@esbuild/android-arm': 0.17.8
'@esbuild/linux-loong64': 0.15.18 '@esbuild/android-arm64': 0.17.8
esbuild-android-64: 0.15.18 '@esbuild/android-x64': 0.17.8
esbuild-android-arm64: 0.15.18 '@esbuild/darwin-arm64': 0.17.8
esbuild-darwin-64: 0.15.18 '@esbuild/darwin-x64': 0.17.8
esbuild-darwin-arm64: 0.15.18 '@esbuild/freebsd-arm64': 0.17.8
esbuild-freebsd-64: 0.15.18 '@esbuild/freebsd-x64': 0.17.8
esbuild-freebsd-arm64: 0.15.18 '@esbuild/linux-arm': 0.17.8
esbuild-linux-32: 0.15.18 '@esbuild/linux-arm64': 0.17.8
esbuild-linux-64: 0.15.18 '@esbuild/linux-ia32': 0.17.8
esbuild-linux-arm: 0.15.18 '@esbuild/linux-loong64': 0.17.8
esbuild-linux-arm64: 0.15.18 '@esbuild/linux-mips64el': 0.17.8
esbuild-linux-mips64le: 0.15.18 '@esbuild/linux-ppc64': 0.17.8
esbuild-linux-ppc64le: 0.15.18 '@esbuild/linux-riscv64': 0.17.8
esbuild-linux-riscv64: 0.15.18 '@esbuild/linux-s390x': 0.17.8
esbuild-linux-s390x: 0.15.18 '@esbuild/linux-x64': 0.17.8
esbuild-netbsd-64: 0.15.18 '@esbuild/netbsd-x64': 0.17.8
esbuild-openbsd-64: 0.15.18 '@esbuild/openbsd-x64': 0.17.8
esbuild-sunos-64: 0.15.18 '@esbuild/sunos-x64': 0.17.8
esbuild-windows-32: 0.15.18 '@esbuild/win32-arm64': 0.17.8
esbuild-windows-64: 0.15.18 '@esbuild/win32-ia32': 0.17.8
esbuild-windows-arm64: 0.15.18 '@esbuild/win32-x64': 0.17.8
dev: true dev: true
/escape-string-regexp/4.0.0: /escape-string-regexp/4.0.0:
@@ -822,7 +823,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true hasBin: true
dependencies: dependencies:
'@eslint/eslintrc': 1.4.0 '@eslint/eslintrc': 1.4.1
'@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/config-array': 0.11.8
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8 '@nodelib/fs.walk': 1.2.8
@@ -842,14 +843,14 @@ packages:
file-entry-cache: 6.0.1 file-entry-cache: 6.0.1
find-up: 5.0.0 find-up: 5.0.0
glob-parent: 6.0.2 glob-parent: 6.0.2
globals: 13.19.0 globals: 13.20.0
grapheme-splitter: 1.0.4 grapheme-splitter: 1.0.4
ignore: 5.2.4 ignore: 5.2.4
import-fresh: 3.3.0 import-fresh: 3.3.0
imurmurhash: 0.1.4 imurmurhash: 0.1.4
is-glob: 4.0.3 is-glob: 4.0.3
is-path-inside: 3.0.3 is-path-inside: 3.0.3
js-sdsl: 4.2.0 js-sdsl: 4.3.0
js-yaml: 4.1.0 js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1 json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1 levn: 0.4.1
@@ -869,8 +870,8 @@ packages:
resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
acorn: 8.8.1 acorn: 8.8.2
acorn-jsx: 5.3.2_acorn@8.8.1 acorn-jsx: 5.3.2_acorn@8.8.2
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
dev: true dev: true
@@ -941,8 +942,8 @@ packages:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true dev: true
/fastq/1.14.0: /fastq/1.15.0:
resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
dependencies: dependencies:
reusify: 1.0.4 reusify: 1.0.4
dev: true dev: true
@@ -954,8 +955,8 @@ packages:
flat-cache: 3.0.4 flat-cache: 3.0.4
dev: true dev: true
/file-type/18.0.0: /file-type/18.2.0:
resolution: {integrity: sha512-jjMwFpnW8PKofLE/4ohlhqwDk5k0NC6iy0UHAJFKoY1fQeGMN0GDdLgHQrvCbSpMwbqzoCZhRI5dETCZna5qVA==} resolution: {integrity: sha512-M3RQMWY3F2ykyWZ+IHwNCjpnUmukYhtdkGGC1ZVEUb0ve5REGF7NNJ4Q9ehCUabtQKtSVFOMbFTXgJlFb0DQIg==}
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
dependencies: dependencies:
readable-web-to-node-stream: 3.0.2 readable-web-to-node-stream: 3.0.2
@@ -1043,8 +1044,8 @@ packages:
path-is-absolute: 1.0.1 path-is-absolute: 1.0.1
dev: true dev: true
/globals/13.19.0: /globals/13.20.0:
resolution: {integrity: sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==} resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
dependencies: dependencies:
type-fest: 0.20.2 type-fest: 0.20.2
@@ -1159,8 +1160,8 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/js-sdsl/4.2.0: /js-sdsl/4.3.0:
resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==}
dev: true dev: true
/js-yaml/4.1.0: /js-yaml/4.1.0:
@@ -1397,14 +1398,14 @@ packages:
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
dev: true dev: true
/prettier/2.8.3: /prettier/2.8.4:
resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==} resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
hasBin: true hasBin: true
dev: true dev: true
/punycode/2.1.1: /punycode/2.3.0:
resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
engines: {node: '>=6'} engines: {node: '>=6'}
dev: true dev: true
@@ -1462,8 +1463,8 @@ packages:
glob: 7.2.3 glob: 7.2.3
dev: true dev: true
/rollup/3.9.0: /rollup/3.15.0:
resolution: {integrity: sha512-nGGylpmblyjTpF4lEUPgmOw6OVxRvnI6Iuuh6Lz4O/X66cVOX1XJSsqP1YamxQ+mPuFE7qJxLFDSCk8rNv5dDw==} resolution: {integrity: sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'} engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
optionalDependencies: optionalDependencies:
@@ -1479,7 +1480,7 @@ packages:
/rxjs/7.8.0: /rxjs/7.8.0:
resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==}
dependencies: dependencies:
tslib: 2.4.1 tslib: 2.5.0
dev: false dev: false
/safe-buffer/5.2.1: /safe-buffer/5.2.1:
@@ -1613,7 +1614,7 @@ packages:
/tr46/1.0.1: /tr46/1.0.1:
resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
dependencies: dependencies:
punycode: 2.1.1 punycode: 2.3.0
dev: true dev: true
/tree-kill/1.2.2: /tree-kill/1.2.2:
@@ -1625,12 +1626,12 @@ packages:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
dev: true dev: true
/ts-mixer/6.0.2: /ts-mixer/6.0.3:
resolution: {integrity: sha512-zvHx3VM83m2WYCE8XL99uaM7mFwYSkjR2OZti98fabHrwkjsCvgwChda5xctein3xGOyaQhtTeDq/1H/GNvF3A==} resolution: {integrity: sha512-k43M7uCG1AkTyxgnmI5MPwKoUvS/bRvLvUb7+Pgpdlmok8AoqmUaZxUUw8zKM5B1lqZrt41GjYgnvAi0fppqgQ==}
dev: true dev: true
/ts-pattern/4.0.6: /ts-pattern/4.1.4:
resolution: {integrity: sha512-sFHQYD4KoysBi7e7a2mzDPvRBeqA4w+vEyRE+P5MU9VLq8eEYxgKCgD9RNEAT+itGRWUTYN+hry94GDPLb1/Yw==} resolution: {integrity: sha512-Mcw65oUd1w5ktKi5BRwrnz16Otwk9iv7P0dKgvbi+A1albCDgnixohSqNLuFwIp5dzxPmTPm0iDQ6p1ZJr9uGw==}
dev: false dev: false
/ts-results-es/3.5.0: /ts-results-es/3.5.0:
@@ -1641,12 +1642,12 @@ packages:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true dev: true
/tslib/2.4.1: /tslib/2.5.0:
resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==}
/tsup/6.5.0_typescript@4.9.4: /tsup/6.6.3_typescript@4.9.4:
resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==} resolution: {integrity: sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==}
engines: {node: '>=14'} engines: {node: '>=14.18'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
'@swc/core': ^1 '@swc/core': ^1
@@ -1660,17 +1661,17 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
bundle-require: 3.1.2_esbuild@0.15.18 bundle-require: 4.0.1_esbuild@0.17.8
cac: 6.7.14 cac: 6.7.14
chokidar: 3.5.3 chokidar: 3.5.3
debug: 4.3.4 debug: 4.3.4
esbuild: 0.15.18 esbuild: 0.17.8
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: 3.9.0 rollup: 3.15.0
source-map: 0.8.0-beta.0 source-map: 0.8.0-beta.0
sucrase: 3.29.0 sucrase: 3.29.0
tree-kill: 1.2.2 tree-kill: 1.2.2
@@ -1708,8 +1709,8 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/undici/5.14.0: /undici/5.19.1:
resolution: {integrity: sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ==} resolution: {integrity: sha512-YiZ61LPIgY73E7syxCDxxa3LV2yl3sN8spnIuTct60boiiRaE1J8mNWHO8Im2Zi/sFrPusjLlmRPrsyraSqX6A==}
engines: {node: '>=12.18'} engines: {node: '>=12.18'}
dependencies: dependencies:
busboy: 1.6.0 busboy: 1.6.0
@@ -1718,7 +1719,7 @@ packages:
/uri-js/4.4.1: /uri-js/4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies: dependencies:
punycode: 2.1.1 punycode: 2.3.0
dev: true dev: true
/util-deprecate/1.0.2: /util-deprecate/1.0.2:
@@ -1759,12 +1760,12 @@ packages:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
dev: true dev: true
/ws/8.11.0: /ws/8.12.1:
resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} resolution: {integrity: sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
peerDependencies: peerDependencies:
bufferutil: ^4.0.1 bufferutil: ^4.0.1
utf-8-validate: ^5.0.2 utf-8-validate: '>=5.0.2'
peerDependenciesMeta: peerDependenciesMeta:
bufferutil: bufferutil:
optional: true optional: true

View File

@@ -1,19 +1,26 @@
import { _const } from '../utilities/functions'; import { _const } from '../utilities/functions';
type NotFunction = string | number | boolean | null | undefined | bigint | type NotFunction =
readonly any[] | { apply?: never, [k: string]: any } | | string
{ call?: never, [k: string]: any }; | number
| boolean
| null
| undefined
| bigint
| readonly any[]
| { apply?: never; [k: string]: any }
| { call?: never; [k: string]: any };
/** /**
* @deprecated * @deprecated
* @param cb * @param cb
*/ */
export function single<T extends NotFunction>(cb: T) : () => T; export function single<T extends NotFunction>(cb: T): () => T;
/** /**
* New signature * New signature
* @param cb * @param cb
*/ */
export function single<T extends () => unknown>(cb: T) : T; export function single<T extends () => unknown>(cb: T): T;
/** /**
* Please note that on intellij, the deprecation is for all signatures, which is unintended behavior (and * Please note that on intellij, the deprecation is for all signatures, which is unintended behavior (and
* very annoying). * very annoying).
@@ -21,23 +28,23 @@ export function single<T extends () => unknown>(cb: T) : T;
* @param cb * @param cb
*/ */
export function single<T>(cb: T) { export function single<T>(cb: T) {
if(typeof cb === 'function') return cb; if (typeof cb === 'function') return cb;
return () => cb; return () => cb;
} }
/** /**
* @deprecated * @deprecated
* @param cb * @param cb
* Deprecated signature * Deprecated signature
*/ */
export function transient<T extends NotFunction>(cb: T) : () => () => T export function transient<T extends NotFunction>(cb: T): () => () => T;
export function transient<T extends () => () => unknown>(cb: T) : T; export function transient<T extends () => () => unknown>(cb: T): T;
/** /**
* Following iti's singleton and transient implementation, * Following iti's singleton and transient implementation,
* use transient if you want a new dependency every time your container getter is called * use transient if you want a new dependency every time your container getter is called
* @param cb * @param cb
*/ */
export function transient<T>(cb: (() => () => T) | T) { export function transient<T>(cb: (() => () => T) | T) {
if(typeof cb !== 'function') return () => () => cb; if (typeof cb !== 'function') return () => () => cb;
return cb; return cb;
} }

View File

@@ -20,20 +20,18 @@ export function composeRoot<T extends Dependencies>(conf: DependencyConfiguratio
//Get the current container. This should have no client or possible logger yet. //Get the current container. This should have no client or possible logger yet.
const currentContainer = containerSubject.getValue(); const currentContainer = containerSubject.getValue();
const excludeLogger = conf.exclude?.has('@sern/logger'); const excludeLogger = conf.exclude?.has('@sern/logger');
if(!excludeLogger) { if (!excludeLogger) {
currentContainer.add({ currentContainer.add({
'@sern/logger' : () => new DefaultLogging() '@sern/logger': () => new DefaultLogging(),
}); });
} }
//Build the container based on the callback provided by the user //Build the container based on the callback provided by the user
const container = conf.build(currentContainer); const container = conf.build(currentContainer);
//Check if the built container contains @sern/client or throw //Check if the built container contains @sern/client or throw
// a runtime exception // a runtime exception
Result Result.wrap(() => container.get('@sern/client')).expect(SernError.MissingRequired);
.wrap(() => container.get('@sern/client'))
.expect(SernError.MissingRequired);
if(!excludeLogger) { if (!excludeLogger) {
container.get('@sern/logger')?.info({ message: 'All dependencies loaded successfully.' }); container.get('@sern/logger')?.info({ message: 'All dependencies loaded successfully.' });
} }
//I'm sorry little one //I'm sorry little one
@@ -61,12 +59,15 @@ export function useContainerRaw<T extends Dependencies>() {
*/ */
function defaultContainer() { function defaultContainer() {
return createContainer() return createContainer()
.add({ '@sern/errors': () => new DefaultErrorHandling()}) .add({ '@sern/errors': () => new DefaultErrorHandling() })
.add({ '@sern/store' : () => new ModuleStore()}) .add({ '@sern/store': () => new ModuleStore() })
.add(ctx => { .add(ctx => {
return { return {
'@sern/modules': () => new DefaultModuleManager(ctx['@sern/store']) '@sern/modules': () => new DefaultModuleManager(ctx['@sern/store']),
}; };
}) })
.add({ '@sern/emitter': () => new SernEmitter()}) as Container<Omit<Dependencies, '@sern/client' | '@sern/logger'>, {}>; .add({ '@sern/emitter': () => new SernEmitter() }) as Container<
Omit<Dependencies, '@sern/client' | '@sern/logger'>,
{}
>;
} }

View File

@@ -54,7 +54,7 @@ export function dispatchAutocomplete(
const option = treeSearch(interaction, module.options); const option = treeSearch(interaction, module.options);
if (option !== undefined) { if (option !== undefined) {
return { return {
module, module: option.command as Processed<Module>, //autocomplete is not a true "module" warning cast!
args: [interaction], args: [interaction],
}; };
} }

View File

@@ -34,13 +34,15 @@ export default class InteractionHandler extends EventsHandler<{
concatMap(payload => executeModule(this.emitter, payload)), concatMap(payload => executeModule(this.emitter, payload)),
catchError(handleError(this.crashHandler, this.logger)), catchError(handleError(this.crashHandler, this.logger)),
finalize(() => { finalize(() => {
this.logger?.info({ message: 'interactionCreate stream closed or reached end of lifetime'}); this.logger?.info({
message: 'interactionCreate stream closed or reached end of lifetime',
});
useContainerRaw() useContainerRaw()
?.disposeAll() ?.disposeAll()
.then(() => { .then(() => {
this.logger?.info({ message: 'Cleaning container and crashing' }); this.logger?.info({ message: 'Cleaning container and crashing' });
}); });
}) }),
) )
.subscribe(); .subscribe();
} }

View File

@@ -32,13 +32,15 @@ export default class MessageHandler extends EventsHandler<{
concatMap(payload => executeModule(this.emitter, payload)), concatMap(payload => executeModule(this.emitter, payload)),
catchError(handleError(this.crashHandler, this.logger)), catchError(handleError(this.crashHandler, this.logger)),
finalize(() => { finalize(() => {
this.logger?.info({ message: 'messageCreate stream closed or reached end of lifetime'}); this.logger?.info({
message: 'messageCreate stream closed or reached end of lifetime',
});
useContainerRaw() useContainerRaw()
?.disposeAll() ?.disposeAll()
.then(() => { .then(() => {
this.logger?.info({ message: 'Cleaning container and crashing' }); this.logger?.info({ message: 'Cleaning container and crashing' });
}); });
}) }),
) )
.subscribe(); .subscribe();
} }

View File

@@ -7,7 +7,7 @@ import { _const as i } from '../utilities/functions';
import SernEmitter from '../sernEmitter'; import SernEmitter from '../sernEmitter';
import { callPlugin, everyPluginOk, filterMapTo } from './operators'; import { callPlugin, everyPluginOk, filterMapTo } from './operators';
import type { Processed } from '../../types/handler'; import type { Processed } from '../../types/handler';
import type { VoidResult } from '../../types/plugin'; import type { ControlPlugin, VoidResult } from '../../types/plugin';
/** /**
* Ignores messages from any person / bot except itself * Ignores messages from any person / bot except itself
@@ -94,7 +94,7 @@ export function executeModule(
* @returns receiver function for flattening a stream of data * @returns receiver function for flattening a stream of data
*/ */
export function createResultResolver< export function createResultResolver<
T extends Processed<Module>, T extends { execute: (...args: any[]) => any; onEvent: ControlPlugin[] },
Args extends { module: T; [key: string]: unknown }, Args extends { module: T; [key: string]: unknown },
Output, Output,
>(config: { >(config: {

View File

@@ -32,7 +32,7 @@ export function callPlugin(args: unknown): OperatorFunction<
return pipe( return pipe(
concatMap(async plugin => { concatMap(async plugin => {
const isNewPlugin = Reflect.has(plugin, guayin); const isNewPlugin = Reflect.has(plugin, guayin);
if(isNewPlugin) { if (isNewPlugin) {
if (Array.isArray(args)) { if (Array.isArray(args)) {
return plugin.execute(...args); return plugin.execute(...args);
} }

View File

@@ -52,13 +52,13 @@ export function processEvents({ containerConfig, events }: Wrapper) {
tap(dispatcher => dispatcher.subscribe()), tap(dispatcher => dispatcher.subscribe()),
catchError(handleError(errorHandling, logger)), catchError(handleError(errorHandling, logger)),
finalize(() => { finalize(() => {
logger?.info({ message: 'an event module reached end of lifetime'}); logger?.info({ message: 'an event module reached end of lifetime' });
useContainerRaw() useContainerRaw()
?.disposeAll() ?.disposeAll()
.then(() => { .then(() => {
logger?.info({ message: 'Cleaning container and crashing' }); logger?.info({ message: 'Cleaning container and crashing' });
}); });
}) }),
) )
.subscribe(); .subscribe();
} }

View File

@@ -16,7 +16,8 @@ import type {
StringSelectCommand, StringSelectCommand,
TextCommand, TextCommand,
UserSelectCommand, UserSelectCommand,
ContextMenuMsg, Module, ContextMenuMsg,
Module,
} from '../../types/module'; } from '../../types/module';
import type { Args, Payload, Processed, SlashOptions } from '../../types/handler'; import type { Args, Payload, Processed, SlashOptions } from '../../types/handler';
import type Context from '../structures/context'; import type Context from '../structures/context';

View File

@@ -10,7 +10,7 @@ export function makePlugin<V extends unknown[]>(
return { return {
type, type,
execute, execute,
[guayin]: undefined [guayin]: undefined,
} as Plugin<V>; } as Plugin<V>;
} }

View File

@@ -62,8 +62,8 @@ export type MapDeps<Deps extends Dependencies, T extends readonly unknown[]> = T
//Basically, '@sern/client' | '@sern/store' | '@sern/modules' | '@sern/error' | '@sern/emitter' will be provided defaults, and you can exclude the rest //Basically, '@sern/client' | '@sern/store' | '@sern/modules' | '@sern/error' | '@sern/emitter' will be provided defaults, and you can exclude the rest
export type OptionalDependencies = '@sern/logger'; export type OptionalDependencies = '@sern/logger';
export type Processed<T> = T & { name: string; description: string }; export type Processed<T> = T & { name: string; description: string };
export type Deprecated<Message extends string> = [never, Message] export type Deprecated<Message extends string> = [never, Message];
export interface DependencyConfiguration<T extends Dependencies> { export interface DependencyConfiguration<T extends Dependencies> {
exclude?: Set<OptionalDependencies>; exclude?: Set<OptionalDependencies>;
build: (root: Container<Omit<Dependencies, '@sern/client'>, {}>) => Container<T, {}> build: (root: Container<Omit<Dependencies, '@sern/client'>, {}>) => Container<T, {}>;
} }

View File

@@ -22,8 +22,8 @@ export type PluginResult = Awaitable<VoidResult>;
export type VoidResult = Result<void, void>; export type VoidResult = Result<void, void>;
export interface Controller { export interface Controller {
next: () => Ok<void> next: () => Ok<void>;
stop: () => Err<void> stop: () => Err<void>;
} }
export interface Plugin<Args extends any[] = any[]> { export interface Plugin<Args extends any[] = any[]> {
type: PluginType; type: PluginType;
@@ -50,7 +50,10 @@ export interface CommandPlugin<T extends CommandType = CommandType> {
name?: string; name?: string;
description?: string; description?: string;
type: PluginType.Command; type: PluginType.Command;
execute: (m: InitArgs<Processed<CommandModule>>, controller?: Deprecated<'Please import controller instead'>) => PluginResult; execute: (
m: InitArgs<Processed<CommandModule>>,
controller?: Deprecated<'Please import controller instead'>,
) => PluginResult;
} }
/** /**
* @deprecated * @deprecated
@@ -60,7 +63,7 @@ export interface EventPlugin<T extends CommandType> {
name?: string; name?: string;
description?: string; description?: string;
type: PluginType.Event; type: PluginType.Event;
execute: (args : CommandArgs<T, PluginType.Event>, controller?: Controller) => PluginResult execute: (args: CommandArgs<T, PluginType.Event>, controller?: Controller) => PluginResult;
} }
export type DiscordEmitterPlugin = Deprecated<'Please view alternatives: '>; export type DiscordEmitterPlugin = Deprecated<'Please view alternatives: '>;
export type ExternalEmitterPlugin = Deprecated<'Please view alternatives: '>; export type ExternalEmitterPlugin = Deprecated<'Please view alternatives: '>;

View File

@@ -5,6 +5,7 @@ const shared = {
platform: 'node', platform: 'node',
clean: true, clean: true,
sourcemap: false, sourcemap: false,
minify: true
}; };
export default defineConfig([ export default defineConfig([
{ {