chore: updates (#195)

This commit is contained in:
Marcos Susaña 2024-05-28 09:19:35 -04:00 committed by GitHub
parent 366528ce2d
commit c409628a43
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
30 changed files with 275 additions and 268 deletions

View File

@ -1,5 +1,5 @@
{ {
"$schema": "https://biomejs.dev/schemas/1.6.0/schema.json", "$schema": "https://biomejs.dev/schemas/1.7.3/schema.json",
"linter": { "linter": {
"enabled": true, "enabled": true,
"rules": { "rules": {
@ -12,14 +12,23 @@
"noEmptyInterface": "off", "noEmptyInterface": "off",
"noConfusingVoidType": "off", "noConfusingVoidType": "off",
"noImplicitAnyLet": "off", "noImplicitAnyLet": "off",
"noEmptyBlockStatements": "off" "noEmptyBlockStatements": "off",
"useAwait": "off",
"noConsoleLog": "off"
}, },
"style": { "style": {
"noNonNullAssertion": "off", "noNonNullAssertion": "off",
"noParameterAssign": "off", "noParameterAssign": "off",
"useExportType": "error", "useExportType": "error",
"useImportType": "error", "useImportType": "error",
"useNodejsImportProtocol": "error" "useNodejsImportProtocol": "error",
"useNamingConvention": "off",
"noParameterProperties": "off",
"useFilenamingConvention": "off",
"noDefaultExport": "off",
"noNamespaceImport": "off",
"useSingleCaseStatement": "off",
"useBlockStatements": "off"
}, },
"correctness": { "correctness": {
"noUnusedVariables": "off" "noUnusedVariables": "off"
@ -32,13 +41,17 @@
"noBannedTypes": "off", "noBannedTypes": "off",
"noForEach": "off", "noForEach": "off",
"noUselessConstructor": "off", "noUselessConstructor": "off",
"noThisInStatic": "off" "noThisInStatic": "off",
"noExcessiveCognitiveComplexity": "off",
"noVoid": "off"
}, },
"a11y": { "a11y": {
"all": false "all": false
}, },
"performance": { "performance": {
"noDelete": "off" "noDelete": "off",
"noBarrelFile": "off",
"noReExportAll": "off"
} }
} }
}, },

View File

@ -21,10 +21,10 @@
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"chokidar": "^3.6.0", "chokidar": "^3.6.0",
"discord-api-types": "^0.37.84", "discord-api-types": "^0.37.86",
"magic-bytes.js": "^1.10.0", "magic-bytes.js": "^1.10.0",
"ts-mixer": "^6.0.4", "ts-mixer": "^6.0.4",
"ws": "^8.16.0" "ws": "^8.17.0"
}, },
"lint-staged": { "lint-staged": {
"*.ts": [ "*.ts": [
@ -33,13 +33,13 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"@biomejs/biome": "1.6.0", "@biomejs/biome": "1.7.3",
"@commitlint/cli": "^19.2.2", "@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^19.2.2", "@commitlint/config-conventional": "^19.2.2",
"@types/node": "^20.12.7", "@types/node": "^20.12.12",
"@types/ws": "^8.5.10", "@types/ws": "^8.5.10",
"husky": "^9.0.11", "husky": "^9.0.11",
"lint-staged": "^15.2.2", "lint-staged": "^15.2.5",
"typescript": "^5.4.5" "typescript": "^5.4.5"
}, },
"optionalDependencies": { "optionalDependencies": {

298
pnpm-lock.yaml generated
View File

@ -12,8 +12,8 @@ importers:
specifier: ^3.6.0 specifier: ^3.6.0
version: 3.6.0 version: 3.6.0
discord-api-types: discord-api-types:
specifier: ^0.37.84 specifier: ^0.37.86
version: 0.37.84 version: 0.37.86
magic-bytes.js: magic-bytes.js:
specifier: ^1.10.0 specifier: ^1.10.0
version: 1.10.0 version: 1.10.0
@ -21,8 +21,8 @@ importers:
specifier: ^6.0.4 specifier: ^6.0.4
version: 6.0.4 version: 6.0.4
ws: ws:
specifier: ^8.16.0 specifier: ^8.17.0
version: 8.16.0 version: 8.17.0
optionalDependencies: optionalDependencies:
ioredis: ioredis:
specifier: ^5.4.1 specifier: ^5.4.1
@ -35,17 +35,17 @@ importers:
version: https://codeload.github.com/uNetworking/uWebSockets.js/tar.gz/f40213ec0a97d0d8721d9d32d92d6eb6ddcd22e7 version: https://codeload.github.com/uNetworking/uWebSockets.js/tar.gz/f40213ec0a97d0d8721d9d32d92d6eb6ddcd22e7
devDependencies: devDependencies:
'@biomejs/biome': '@biomejs/biome':
specifier: 1.6.0 specifier: 1.7.3
version: 1.6.0 version: 1.7.3
'@commitlint/cli': '@commitlint/cli':
specifier: ^19.2.2 specifier: ^19.3.0
version: 19.2.2(@types/node@20.12.7)(typescript@5.4.5) version: 19.3.0(@types/node@20.12.12)(typescript@5.4.5)
'@commitlint/config-conventional': '@commitlint/config-conventional':
specifier: ^19.2.2 specifier: ^19.2.2
version: 19.2.2 version: 19.2.2
'@types/node': '@types/node':
specifier: ^20.12.7 specifier: ^20.12.12
version: 20.12.7 version: 20.12.12
'@types/ws': '@types/ws':
specifier: ^8.5.10 specifier: ^8.5.10
version: 8.5.10 version: 8.5.10
@ -53,81 +53,81 @@ importers:
specifier: ^9.0.11 specifier: ^9.0.11
version: 9.0.11 version: 9.0.11
lint-staged: lint-staged:
specifier: ^15.2.2 specifier: ^15.2.5
version: 15.2.2 version: 15.2.5
typescript: typescript:
specifier: ^5.4.5 specifier: ^5.4.5
version: 5.4.5 version: 5.4.5
packages: packages:
'@babel/code-frame@7.24.2': '@babel/code-frame@7.24.6':
resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} resolution: {integrity: sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/helper-validator-identifier@7.22.20': '@babel/helper-validator-identifier@7.24.6':
resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} resolution: {integrity: sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@babel/highlight@7.24.2': '@babel/highlight@7.24.6':
resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} resolution: {integrity: sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==}
engines: {node: '>=6.9.0'} engines: {node: '>=6.9.0'}
'@biomejs/biome@1.6.0': '@biomejs/biome@1.7.3':
resolution: {integrity: sha512-hvP8K1+CV8qc9eNdXtPwzScVxFSHB448CPKSqX6+8IW8G7bbhBVKGC80BowExJN5+vu+kzsj4xkWa780MAOlJw==} resolution: {integrity: sha512-ogFQI+fpXftr+tiahA6bIXwZ7CSikygASdqMtH07J2cUzrpjyTMVc9Y97v23c7/tL1xCZhM+W9k4hYIBm7Q6cQ==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
hasBin: true hasBin: true
'@biomejs/cli-darwin-arm64@1.6.0': '@biomejs/cli-darwin-arm64@1.7.3':
resolution: {integrity: sha512-K1Fjqye5pt+Ua+seC7V/2bFjfnqOaEOcQbBQSiiefB/VPNOb6lA5NFIfJ1PskTA3JrMXE1k7iqKQn56qrKFS6A==} resolution: {integrity: sha512-eDvLQWmGRqrPIRY7AIrkPHkQ3visEItJKkPYSHCscSDdGvKzYjmBJwG1Gu8+QC5ed6R7eiU63LEC0APFBobmfQ==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@biomejs/cli-darwin-x64@1.6.0': '@biomejs/cli-darwin-x64@1.7.3':
resolution: {integrity: sha512-CjEALu6vN9RbcfhaBDoj481mesUIsUjxgQn+/kiMCea+Paypqslhez1I7OwRBJnkzz+Pa+PXdABd7S30eyy6+Q==} resolution: {integrity: sha512-JXCaIseKRER7dIURsVlAJacnm8SG5I0RpxZ4ya3dudASYUc68WGl4+FEN03ABY3KMIq7hcK1tzsJiWlmXyosZg==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@biomejs/cli-linux-arm64-musl@1.6.0': '@biomejs/cli-linux-arm64-musl@1.7.3':
resolution: {integrity: sha512-prww6AUuJ+IO/GziN3WjtGM/DNOVuPFxqWrK97wKTZygEDdA+o1qHUN2HeCkSyk084xnzbMSbls5xscAKAn43A==} resolution: {integrity: sha512-c8AlO45PNFZ1BYcwaKzdt46kYbuP6xPGuGQ6h4j3XiEDpyseRRUy/h+6gxj07XovmyxKnSX9GSZ6nVbZvcVUAw==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@biomejs/cli-linux-arm64@1.6.0': '@biomejs/cli-linux-arm64@1.7.3':
resolution: {integrity: sha512-32LVrC7dAgQT39YZ0ieO/VzzpAflozs9mW5K0oKNef7S4ocCdk89E98eXApxOdei0JTf3vfseDCl1AUIp6MwJw==} resolution: {integrity: sha512-phNTBpo7joDFastnmZsFjYcDYobLTx4qR4oPvc9tJ486Bd1SfEVPHEvJdNJrMwUQK56T+TRClOQd/8X1nnjA9w==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@biomejs/cli-linux-x64-musl@1.6.0': '@biomejs/cli-linux-x64-musl@1.7.3':
resolution: {integrity: sha512-NwitWeUKCy8G/rr+rgHPYirnrsOjJEJBWODdaRzweeFNcJjvO6de6AmNdSJzsewzLEaxjOWyoXU03MdzbGz/6Q==} resolution: {integrity: sha512-UdEHKtYGWEX3eDmVWvQeT+z05T9/Sdt2+F/7zmMOFQ7boANeX8pcO6EkJPK3wxMudrApsNEKT26rzqK6sZRTRA==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@biomejs/cli-linux-x64@1.6.0': '@biomejs/cli-linux-x64@1.7.3':
resolution: {integrity: sha512-b6mWu9Cu4w5B3K46wq9SlxKEZEEL6II/6HFNAuZ4YL8mOeQ0FTMU+wNMJFKkmkSE2zvim3xwW3PknmbLKbe3Mg==} resolution: {integrity: sha512-vnedYcd5p4keT3iD48oSKjOIRPYcjSNNbd8MO1bKo9ajg3GwQXZLAH+0Cvlr+eMsO67/HddWmscSQwTFrC/uPA==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@biomejs/cli-win32-arm64@1.6.0': '@biomejs/cli-win32-arm64@1.7.3':
resolution: {integrity: sha512-DlNOL6mG+76iZS1gL/UiuMme7jnt+auzo2+u0aUq6UXYsb75juchwlnVLy2UV5CQjVBRB8+RM+KVoXRZ8NlBjQ==} resolution: {integrity: sha512-unNCDqUKjujYkkSxs7gFIfdasttbDC4+z0kYmcqzRk6yWVoQBL4dNLcCbdnJS+qvVDNdI9rHp2NwpQ0WAdla4Q==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@biomejs/cli-win32-x64@1.6.0': '@biomejs/cli-win32-x64@1.7.3':
resolution: {integrity: sha512-sXBcXIOGuG8/XcHqmnkhLIs0oy6Dp+TkH4Alr4WH/P8mNsp5GcStI/ZwbEiEoxA0P3Fi+oUppQ6srxaY2rSCHg==} resolution: {integrity: sha512-ZmByhbrnmz/UUFYB622CECwhKIPjJLLPr5zr3edhu04LzbfcOrz16VYeNq5dpO1ADG70FORhAJkaIGdaVBG00w==}
engines: {node: '>=14.*'} engines: {node: '>=14.21.3'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@commitlint/cli@19.2.2': '@commitlint/cli@19.3.0':
resolution: {integrity: sha512-P8cbOHfg2PQRzfICLSrzUVOCVMqjEZ8Hlth6mtJ4yOEjT47Q5PbIGymgX3rLVylNw+3IAT2Djn9IJ2wHbXFzBg==} resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==}
engines: {node: '>=v18'} engines: {node: '>=v18'}
hasBin: true hasBin: true
@ -147,8 +147,8 @@ packages:
resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==}
engines: {node: '>=v18'} engines: {node: '>=v18'}
'@commitlint/format@19.0.3': '@commitlint/format@19.3.0':
resolution: {integrity: sha512-QjjyGyoiVWzx1f5xOteKHNLFyhyweVifMgopozSgx1fGNrGV8+wp7k6n1t6StHdJ6maQJ+UUtO2TcEiBFRyR6Q==} resolution: {integrity: sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==}
engines: {node: '>=v18'} engines: {node: '>=v18'}
'@commitlint/is-ignored@19.2.2': '@commitlint/is-ignored@19.2.2':
@ -201,8 +201,8 @@ packages:
'@types/conventional-commits-parser@5.0.0': '@types/conventional-commits-parser@5.0.0':
resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==}
'@types/node@20.12.7': '@types/node@20.12.12':
resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
'@types/ws@8.5.10': '@types/ws@8.5.10':
resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
@ -211,8 +211,8 @@ packages:
resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==}
hasBin: true hasBin: true
ajv@8.12.0: ajv@8.14.0:
resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} resolution: {integrity: sha512-oYs1UUtO97ZO2lJ4bwnWeQW8/zvOIQLGKcvPTsWmvc2SYgBb+upuNS5NxoLaMU4h8Ju3Nbj6Cq8mD2LQoqVKFA==}
ansi-escapes@6.2.1: ansi-escapes@6.2.1:
resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==}
@ -252,8 +252,8 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'} engines: {node: '>=8'}
braces@3.0.2: braces@3.0.3:
resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'} engines: {node: '>=8'}
callsites@3.1.0: callsites@3.1.0:
@ -304,9 +304,9 @@ packages:
colorette@2.0.20: colorette@2.0.20:
resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
commander@11.1.0: commander@12.1.0:
resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
engines: {node: '>=16'} engines: {node: '>=18'}
compare-func@2.0.0: compare-func@2.0.0:
resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==}
@ -362,8 +362,8 @@ packages:
resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
engines: {node: '>=0.10'} engines: {node: '>=0.10'}
discord-api-types@0.37.84: discord-api-types@0.37.86:
resolution: {integrity: sha512-NngmTBW8vermlbO0qNtaS7SHCWB/R96ICqflTwM/cV7zsxyQGd38E2bBlwaxLbXgb2YTF3+Yx6+qGs/3sXedCw==} resolution: {integrity: sha512-ofpVLHshKdKl+XuZBbwOBSlgQFPJPzMuUiBpala3+ImPHBVo7ojZpzJUu2NJV/f0t1kqncechDugQpO5AjZnxg==}
dot-prop@5.3.0: dot-prop@5.3.0:
resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==}
@ -400,8 +400,8 @@ packages:
fast-deep-equal@3.1.3: fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
fill-range@7.0.1: fill-range@7.1.1:
resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'} engines: {node: '>=8'}
find-up@7.0.0: find-up@7.0.0:
@ -455,8 +455,8 @@ packages:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'} engines: {node: '>=6'}
import-meta-resolve@4.0.0: import-meta-resolve@4.1.0:
resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==}
ini@4.1.1: ini@4.1.1:
resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==}
@ -533,20 +533,20 @@ packages:
resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==}
engines: {'0': node >= 0.2.0} engines: {'0': node >= 0.2.0}
lilconfig@3.0.0: lilconfig@3.1.1:
resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==}
engines: {node: '>=14'} engines: {node: '>=14'}
lines-and-columns@1.2.4: lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
lint-staged@15.2.2: lint-staged@15.2.5:
resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} resolution: {integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==}
engines: {node: '>=18.12.0'} engines: {node: '>=18.12.0'}
hasBin: true hasBin: true
listr2@8.0.1: listr2@8.2.1:
resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} resolution: {integrity: sha512-irTfvpib/rNiD637xeevjO2l3Z5loZmuaRi0L0YE5LfijwVY96oyVn0DFD3o/teAok7nfobMG1THvvcHh/BP6g==}
engines: {node: '>=18.0.0'} engines: {node: '>=18.0.0'}
locate-path@7.2.0: locate-path@7.2.0:
@ -590,10 +590,6 @@ packages:
resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==}
engines: {node: '>=18'} engines: {node: '>=18'}
lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
magic-bytes.js@1.10.0: magic-bytes.js@1.10.0:
resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==} resolution: {integrity: sha512-/k20Lg2q8LE5xiaaSkMXk4sfvI+9EGEykFS4b0CHHGWqDYU0bGUFSwchNOMA56D7TCs9GwVTkqe9als1/ns8UQ==}
@ -604,8 +600,8 @@ packages:
merge-stream@2.0.0: merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
micromatch@4.0.5: micromatch@4.0.7:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
mimic-fn@2.1.0: mimic-fn@2.1.0:
@ -666,8 +662,8 @@ packages:
resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
picocolors@1.0.0: picocolors@1.0.1:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
picomatch@2.3.1: picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@ -717,8 +713,8 @@ packages:
rfdc@1.3.1: rfdc@1.3.1:
resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}
semver@7.6.0: semver@7.6.2:
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==}
engines: {node: '>=10'} engines: {node: '>=10'}
hasBin: true hasBin: true
@ -829,8 +825,8 @@ packages:
resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==}
engines: {node: '>=18'} engines: {node: '>=18'}
ws@8.16.0: ws@8.17.0:
resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
peerDependencies: peerDependencies:
bufferutil: ^4.0.1 bufferutil: ^4.0.1
@ -845,12 +841,10 @@ packages:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'} engines: {node: '>=10'}
yallist@4.0.0: yaml@2.4.2:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==}
yaml@2.3.4:
resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
hasBin: true
yargs-parser@21.1.1: yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
@ -866,60 +860,60 @@ packages:
snapshots: snapshots:
'@babel/code-frame@7.24.2': '@babel/code-frame@7.24.6':
dependencies: dependencies:
'@babel/highlight': 7.24.2 '@babel/highlight': 7.24.6
picocolors: 1.0.0 picocolors: 1.0.1
'@babel/helper-validator-identifier@7.22.20': {} '@babel/helper-validator-identifier@7.24.6': {}
'@babel/highlight@7.24.2': '@babel/highlight@7.24.6':
dependencies: dependencies:
'@babel/helper-validator-identifier': 7.22.20 '@babel/helper-validator-identifier': 7.24.6
chalk: 2.4.2 chalk: 2.4.2
js-tokens: 4.0.0 js-tokens: 4.0.0
picocolors: 1.0.0 picocolors: 1.0.1
'@biomejs/biome@1.6.0': '@biomejs/biome@1.7.3':
optionalDependencies: optionalDependencies:
'@biomejs/cli-darwin-arm64': 1.6.0 '@biomejs/cli-darwin-arm64': 1.7.3
'@biomejs/cli-darwin-x64': 1.6.0 '@biomejs/cli-darwin-x64': 1.7.3
'@biomejs/cli-linux-arm64': 1.6.0 '@biomejs/cli-linux-arm64': 1.7.3
'@biomejs/cli-linux-arm64-musl': 1.6.0 '@biomejs/cli-linux-arm64-musl': 1.7.3
'@biomejs/cli-linux-x64': 1.6.0 '@biomejs/cli-linux-x64': 1.7.3
'@biomejs/cli-linux-x64-musl': 1.6.0 '@biomejs/cli-linux-x64-musl': 1.7.3
'@biomejs/cli-win32-arm64': 1.6.0 '@biomejs/cli-win32-arm64': 1.7.3
'@biomejs/cli-win32-x64': 1.6.0 '@biomejs/cli-win32-x64': 1.7.3
'@biomejs/cli-darwin-arm64@1.6.0': '@biomejs/cli-darwin-arm64@1.7.3':
optional: true optional: true
'@biomejs/cli-darwin-x64@1.6.0': '@biomejs/cli-darwin-x64@1.7.3':
optional: true optional: true
'@biomejs/cli-linux-arm64-musl@1.6.0': '@biomejs/cli-linux-arm64-musl@1.7.3':
optional: true optional: true
'@biomejs/cli-linux-arm64@1.6.0': '@biomejs/cli-linux-arm64@1.7.3':
optional: true optional: true
'@biomejs/cli-linux-x64-musl@1.6.0': '@biomejs/cli-linux-x64-musl@1.7.3':
optional: true optional: true
'@biomejs/cli-linux-x64@1.6.0': '@biomejs/cli-linux-x64@1.7.3':
optional: true optional: true
'@biomejs/cli-win32-arm64@1.6.0': '@biomejs/cli-win32-arm64@1.7.3':
optional: true optional: true
'@biomejs/cli-win32-x64@1.6.0': '@biomejs/cli-win32-x64@1.7.3':
optional: true optional: true
'@commitlint/cli@19.2.2(@types/node@20.12.7)(typescript@5.4.5)': '@commitlint/cli@19.3.0(@types/node@20.12.12)(typescript@5.4.5)':
dependencies: dependencies:
'@commitlint/format': 19.0.3 '@commitlint/format': 19.3.0
'@commitlint/lint': 19.2.2 '@commitlint/lint': 19.2.2
'@commitlint/load': 19.2.0(@types/node@20.12.7)(typescript@5.4.5) '@commitlint/load': 19.2.0(@types/node@20.12.12)(typescript@5.4.5)
'@commitlint/read': 19.2.1 '@commitlint/read': 19.2.1
'@commitlint/types': 19.0.3 '@commitlint/types': 19.0.3
execa: 8.0.1 execa: 8.0.1
@ -936,7 +930,7 @@ snapshots:
'@commitlint/config-validator@19.0.3': '@commitlint/config-validator@19.0.3':
dependencies: dependencies:
'@commitlint/types': 19.0.3 '@commitlint/types': 19.0.3
ajv: 8.12.0 ajv: 8.14.0
'@commitlint/ensure@19.0.3': '@commitlint/ensure@19.0.3':
dependencies: dependencies:
@ -949,7 +943,7 @@ snapshots:
'@commitlint/execute-rule@19.0.0': {} '@commitlint/execute-rule@19.0.0': {}
'@commitlint/format@19.0.3': '@commitlint/format@19.3.0':
dependencies: dependencies:
'@commitlint/types': 19.0.3 '@commitlint/types': 19.0.3
chalk: 5.3.0 chalk: 5.3.0
@ -957,7 +951,7 @@ snapshots:
'@commitlint/is-ignored@19.2.2': '@commitlint/is-ignored@19.2.2':
dependencies: dependencies:
'@commitlint/types': 19.0.3 '@commitlint/types': 19.0.3
semver: 7.6.0 semver: 7.6.2
'@commitlint/lint@19.2.2': '@commitlint/lint@19.2.2':
dependencies: dependencies:
@ -966,7 +960,7 @@ snapshots:
'@commitlint/rules': 19.0.3 '@commitlint/rules': 19.0.3
'@commitlint/types': 19.0.3 '@commitlint/types': 19.0.3
'@commitlint/load@19.2.0(@types/node@20.12.7)(typescript@5.4.5)': '@commitlint/load@19.2.0(@types/node@20.12.12)(typescript@5.4.5)':
dependencies: dependencies:
'@commitlint/config-validator': 19.0.3 '@commitlint/config-validator': 19.0.3
'@commitlint/execute-rule': 19.0.0 '@commitlint/execute-rule': 19.0.0
@ -974,7 +968,7 @@ snapshots:
'@commitlint/types': 19.0.3 '@commitlint/types': 19.0.3
chalk: 5.3.0 chalk: 5.3.0
cosmiconfig: 9.0.0(typescript@5.4.5) cosmiconfig: 9.0.0(typescript@5.4.5)
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5)
lodash.isplainobject: 4.0.6 lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2 lodash.merge: 4.6.2
lodash.uniq: 4.5.0 lodash.uniq: 4.5.0
@ -1003,7 +997,7 @@ snapshots:
'@commitlint/config-validator': 19.0.3 '@commitlint/config-validator': 19.0.3
'@commitlint/types': 19.0.3 '@commitlint/types': 19.0.3
global-directory: 4.0.1 global-directory: 4.0.1
import-meta-resolve: 4.0.0 import-meta-resolve: 4.1.0
lodash.mergewith: 4.6.2 lodash.mergewith: 4.6.2
resolve-from: 5.0.0 resolve-from: 5.0.0
@ -1031,22 +1025,22 @@ snapshots:
'@types/conventional-commits-parser@5.0.0': '@types/conventional-commits-parser@5.0.0':
dependencies: dependencies:
'@types/node': 20.12.7 '@types/node': 20.12.12
'@types/node@20.12.7': '@types/node@20.12.12':
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
'@types/ws@8.5.10': '@types/ws@8.5.10':
dependencies: dependencies:
'@types/node': 20.12.7 '@types/node': 20.12.12
JSONStream@1.3.5: JSONStream@1.3.5:
dependencies: dependencies:
jsonparse: 1.3.1 jsonparse: 1.3.1
through: 2.3.8 through: 2.3.8
ajv@8.12.0: ajv@8.14.0:
dependencies: dependencies:
fast-deep-equal: 3.1.3 fast-deep-equal: 3.1.3
json-schema-traverse: 1.0.0 json-schema-traverse: 1.0.0
@ -1080,9 +1074,9 @@ snapshots:
binary-extensions@2.3.0: {} binary-extensions@2.3.0: {}
braces@3.0.2: braces@3.0.3:
dependencies: dependencies:
fill-range: 7.0.1 fill-range: 7.1.1
callsites@3.1.0: {} callsites@3.1.0: {}
@ -1097,7 +1091,7 @@ snapshots:
chokidar@3.6.0: chokidar@3.6.0:
dependencies: dependencies:
anymatch: 3.1.3 anymatch: 3.1.3
braces: 3.0.2 braces: 3.0.3
glob-parent: 5.1.2 glob-parent: 5.1.2
is-binary-path: 2.1.0 is-binary-path: 2.1.0
is-glob: 4.0.3 is-glob: 4.0.3
@ -1138,7 +1132,7 @@ snapshots:
colorette@2.0.20: {} colorette@2.0.20: {}
commander@11.1.0: {} commander@12.1.0: {}
compare-func@2.0.0: compare-func@2.0.0:
dependencies: dependencies:
@ -1160,9 +1154,9 @@ snapshots:
meow: 12.1.1 meow: 12.1.1
split2: 4.2.0 split2: 4.2.0
cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.7)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5):
dependencies: dependencies:
'@types/node': 20.12.7 '@types/node': 20.12.12
cosmiconfig: 9.0.0(typescript@5.4.5) cosmiconfig: 9.0.0(typescript@5.4.5)
jiti: 1.21.0 jiti: 1.21.0
typescript: 5.4.5 typescript: 5.4.5
@ -1191,7 +1185,7 @@ snapshots:
denque@2.1.0: denque@2.1.0:
optional: true optional: true
discord-api-types@0.37.84: {} discord-api-types@0.37.86: {}
dot-prop@5.3.0: dot-prop@5.3.0:
dependencies: dependencies:
@ -1227,7 +1221,7 @@ snapshots:
fast-deep-equal@3.1.3: {} fast-deep-equal@3.1.3: {}
fill-range@7.0.1: fill-range@7.1.1:
dependencies: dependencies:
to-regex-range: 5.0.1 to-regex-range: 5.0.1
@ -1271,7 +1265,7 @@ snapshots:
parent-module: 1.0.1 parent-module: 1.0.1
resolve-from: 4.0.0 resolve-from: 4.0.0
import-meta-resolve@4.0.0: {} import-meta-resolve@4.1.0: {}
ini@4.1.1: {} ini@4.1.1: {}
@ -1336,26 +1330,26 @@ snapshots:
jsonparse@1.3.1: {} jsonparse@1.3.1: {}
lilconfig@3.0.0: {} lilconfig@3.1.1: {}
lines-and-columns@1.2.4: {} lines-and-columns@1.2.4: {}
lint-staged@15.2.2: lint-staged@15.2.5:
dependencies: dependencies:
chalk: 5.3.0 chalk: 5.3.0
commander: 11.1.0 commander: 12.1.0
debug: 4.3.4 debug: 4.3.4
execa: 8.0.1 execa: 8.0.1
lilconfig: 3.0.0 lilconfig: 3.1.1
listr2: 8.0.1 listr2: 8.2.1
micromatch: 4.0.5 micromatch: 4.0.7
pidtree: 0.6.0 pidtree: 0.6.0
string-argv: 0.3.2 string-argv: 0.3.2
yaml: 2.3.4 yaml: 2.4.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
listr2@8.0.1: listr2@8.2.1:
dependencies: dependencies:
cli-truncate: 4.0.0 cli-truncate: 4.0.0
colorette: 2.0.20 colorette: 2.0.20
@ -1400,19 +1394,15 @@ snapshots:
strip-ansi: 7.1.0 strip-ansi: 7.1.0
wrap-ansi: 9.0.0 wrap-ansi: 9.0.0
lru-cache@6.0.0:
dependencies:
yallist: 4.0.0
magic-bytes.js@1.10.0: {} magic-bytes.js@1.10.0: {}
meow@12.1.1: {} meow@12.1.1: {}
merge-stream@2.0.0: {} merge-stream@2.0.0: {}
micromatch@4.0.5: micromatch@4.0.7:
dependencies: dependencies:
braces: 3.0.2 braces: 3.0.3
picomatch: 2.3.1 picomatch: 2.3.1
mimic-fn@2.1.0: {} mimic-fn@2.1.0: {}
@ -1451,7 +1441,7 @@ snapshots:
parse-json@5.2.0: parse-json@5.2.0:
dependencies: dependencies:
'@babel/code-frame': 7.24.2 '@babel/code-frame': 7.24.6
error-ex: 1.3.2 error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1 json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4 lines-and-columns: 1.2.4
@ -1462,7 +1452,7 @@ snapshots:
path-key@4.0.0: {} path-key@4.0.0: {}
picocolors@1.0.0: {} picocolors@1.0.1: {}
picomatch@2.3.1: {} picomatch@2.3.1: {}
@ -1497,9 +1487,7 @@ snapshots:
rfdc@1.3.1: {} rfdc@1.3.1: {}
semver@7.6.0: semver@7.6.2: {}
dependencies:
lru-cache: 6.0.0
shebang-command@2.0.0: shebang-command@2.0.0:
dependencies: dependencies:
@ -1596,13 +1584,11 @@ snapshots:
string-width: 7.1.0 string-width: 7.1.0
strip-ansi: 7.1.0 strip-ansi: 7.1.0
ws@8.16.0: {} ws@8.17.0: {}
y18n@5.0.8: {} y18n@5.0.8: {}
yallist@4.0.0: {} yaml@2.4.2: {}
yaml@2.3.4: {}
yargs-parser@21.1.1: {} yargs-parser@21.1.1: {}

View File

@ -438,7 +438,7 @@ export type RequestObject<
: { : {
body?: B; body?: B;
files?: F; files?: F;
}); });
export type RestArguments< export type RestArguments<
M extends ProxyRequestMethod, M extends ProxyRequestMethod,

View File

@ -126,7 +126,7 @@ export class GuildRelatedResource<T = any> {
? (this.adapter.scan(this.hashId(guild), true) as string[]) ? (this.adapter.scan(this.hashId(guild), true) as string[])
: (fakePromise(this.adapter.getToRelationship(this.hashId(guild))).then(keys => : (fakePromise(this.adapter.getToRelationship(this.hashId(guild))).then(keys =>
keys.map(x => `${this.namespace}.${x}`), keys.map(x => `${this.namespace}.${x}`),
) as string[]); ) as string[]);
} }
values(guild: string): ReturnCache<(T & { guild_id: string })[]> { values(guild: string): ReturnCache<(T & { guild_id: string })[]> {
@ -134,7 +134,7 @@ export class GuildRelatedResource<T = any> {
? (fakePromise(this.adapter.scan(this.hashId(guild))).then(x => x) as (T & { guild_id: string })[]) ? (fakePromise(this.adapter.scan(this.hashId(guild))).then(x => x) as (T & { guild_id: string })[])
: (fakePromise(this.adapter.getToRelationship(this.hashId(guild))).then(keys => : (fakePromise(this.adapter.getToRelationship(this.hashId(guild))).then(keys =>
this.adapter.get(keys.map(x => `${this.namespace}.${x}`)), this.adapter.get(keys.map(x => `${this.namespace}.${x}`)),
) as (T & { guild_id: string })[]); ) as (T & { guild_id: string })[]);
} }
count(to: string) { count(to: string) {

View File

@ -32,7 +32,7 @@ export class Overwrites extends GuildRelatedResource {
id: rawOverwrite.id, id: rawOverwrite.id,
type: rawOverwrite.type, type: rawOverwrite.type,
guildId: rawOverwrite.guild_id, guildId: rawOverwrite.guild_id,
})) }))
: undefined, : undefined,
); );
} }

View File

@ -259,10 +259,10 @@ export class BaseClient {
}); });
} }
if (!this.cache) { if (this.cache) {
this.cache = new Cache(0, new MemoryAdapter(), [], this);
} else {
this.cache.__setClient(this); this.cache.__setClient(this);
} else {
this.cache = new Cache(0, new MemoryAdapter(), [], this);
} }
} }

View File

@ -78,9 +78,7 @@ export class Client<Ready extends boolean = boolean> extends BaseClient {
parentPort = worker_threads.parentPort; parentPort = worker_threads.parentPort;
} }
if (!worker_threads?.workerData?.__USING_WATCHER__) { if (worker_threads?.workerData?.__USING_WATCHER__) {
await this.gateway.spawnShards();
} else {
parentPort?.on('message', (data: WatcherPayload | WatcherSendToShard) => { parentPort?.on('message', (data: WatcherPayload | WatcherSendToShard) => {
switch (data.type) { switch (data.type) {
case 'PAYLOAD': case 'PAYLOAD':
@ -91,6 +89,8 @@ export class Client<Ready extends boolean = boolean> extends BaseClient {
break; break;
} }
}); });
} else {
await this.gateway.spawnShards();
} }
} }
@ -186,8 +186,10 @@ export class Client<Ready extends boolean = boolean> extends BaseClient {
this.applicationId = packet.d.application.id; this.applicationId = packet.d.application.id;
this.me = new ClientUser(this, packet.d.user, packet.d.application) as never; this.me = new ClientUser(this, packet.d.user, packet.d.application) as never;
if ( if (
!this.__handleGuilds?.size || !(
!((this.gateway.options.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds) this.__handleGuilds?.size &&
(this.gateway.options.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds
)
) { ) {
if ([...this.gateway.values()].every(shard => shard.data.session_id)) { if ([...this.gateway.values()].every(shard => shard.data.session_id)) {
await this.events?.runEvent('BOT_READY', this, this.me, -1); await this.events?.runEvent('BOT_READY', this, this.me, -1);

View File

@ -51,13 +51,13 @@ export class Collectors {
options.idle && options.idle > 0 options.idle && options.idle > 0
? setTimeout(() => { ? setTimeout(() => {
return this.delete(options.event, nonce, 'idle'); return this.delete(options.event, nonce, 'idle');
}, options.idle) }, options.idle)
: undefined, : undefined,
timeout: timeout:
options.timeout && options.timeout > 0 options.timeout && options.timeout > 0
? setTimeout(() => { ? setTimeout(() => {
return this.delete(options.event, nonce, 'timeout'); return this.delete(options.event, nonce, 'timeout');
}, options.timeout) }, options.timeout)
: undefined, : undefined,
nonce, nonce,
}); });

View File

@ -206,7 +206,7 @@ export class HttpClient extends BaseClient {
? new Response(response, { headers }) ? new Response(response, { headers })
: Response.json(response, { : Response.json(response, {
headers, headers,
}), }),
); );
}); });
}); });
@ -215,11 +215,7 @@ export class HttpClient extends BaseClient {
protected async onPacket(res: HttpResponse, req: HttpRequest) { protected async onPacket(res: HttpResponse, req: HttpRequest) {
const rawBody = await this.verifySignature(res, req); const rawBody = await this.verifySignature(res, req);
if (!rawBody) { if (rawBody) {
this.debugger?.debug('Invalid request/No info, returning 418 status.');
// I'm a teapot
res.writeStatus('418').end();
} else {
switch (rawBody.type) { switch (rawBody.type) {
case InteractionType.Ping: case InteractionType.Ping:
this.debugger?.debug('Ping interaction received, responding.'); this.debugger?.debug('Ping interaction received, responding.');
@ -272,6 +268,10 @@ export class HttpClient extends BaseClient {
}); });
break; break;
} }
} else {
this.debugger?.debug('Invalid request/No info, returning 418 status.');
// I'm a teapot
res.writeStatus('418').end();
} }
} }
} }

View File

@ -69,7 +69,7 @@ function getCommandFromContent(
return rawSubcommandName === opt.name || opt.aliases?.includes(rawSubcommandName); return rawSubcommandName === opt.name || opt.aliases?.includes(rawSubcommandName);
} }
return false; return false;
}) as SubCommand) }) as SubCommand)
: parent; : parent;
return { return {
@ -89,7 +89,7 @@ export async function onMessageCreate(
const prefixes = (await self.options.commands.prefix(message)).sort((a, b) => b.length - a.length); const prefixes = (await self.options.commands.prefix(message)).sort((a, b) => b.length - a.length);
const prefix = prefixes.find(x => message.content.startsWith(x)); const prefix = prefixes.find(x => message.content.startsWith(x));
if (!prefix || !message.content.startsWith(prefix)) return; if (!(prefix && message.content.startsWith(prefix))) return;
const content = message.content.slice(prefix.length).trimStart(); const content = message.content.slice(prefix.length).trimStart();
const { fullCommandName, command, parent } = getCommandFromContent( const { fullCommandName, command, parent } = getCommandFromContent(
@ -103,7 +103,7 @@ export async function onMessageCreate(
if (!command) return; if (!command) return;
if (!command.run) return self.logger.warn(`${fullCommandName} command does not have 'run' callback`); if (!command.run) return self.logger.warn(`${fullCommandName} command does not have 'run' callback`);
if (!command.contexts?.includes(InteractionContextType.BotDM) && !message.guildId) return; if (!(command.contexts?.includes(InteractionContextType.BotDM) || message.guildId)) return;
if (command.guildId && !command.guildId?.includes(message.guildId!)) return; if (command.guildId && !command.guildId?.includes(message.guildId!)) return;
const resolved: MakeRequired<ContextOptionsResolved> = { const resolved: MakeRequired<ContextOptionsResolved> = {

View File

@ -359,8 +359,10 @@ export class WorkerClient<Ready extends boolean = boolean> extends BaseClient {
this.applicationId = packet.d.application.id; this.applicationId = packet.d.application.id;
this.me = new ClientUser(this, packet.d.user, packet.d.application) as never; this.me = new ClientUser(this, packet.d.user, packet.d.application) as never;
if ( if (
!this.__handleGuilds?.size || !(
!((workerData.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds) this.__handleGuilds?.size &&
(workerData.intents & GatewayIntentBits.Guilds) === GatewayIntentBits.Guilds
)
) { ) {
if ([...this.shards.values()].every(shard => shard.data.session_id)) { if ([...this.shards.values()].every(shard => shard.data.session_id)) {
this.postMessage({ this.postMessage({

View File

@ -57,7 +57,7 @@ type Wrap<N extends ApplicationCommandOptionType> = N extends
ok: OKFunction<any>, ok: OKFunction<any>,
fail: StopFunction, fail: StopFunction,
): void; ): void;
} & { } & {
description: string; description: string;
description_localizations?: APIApplicationCommandBasicOption['description_localizations']; description_localizations?: APIApplicationCommandBasicOption['description_localizations'];
name_localizations?: APIApplicationCommandBasicOption['name_localizations']; name_localizations?: APIApplicationCommandBasicOption['name_localizations'];
@ -65,7 +65,7 @@ type Wrap<N extends ApplicationCommandOptionType> = N extends
name?: FlatObjectKeys<DefaultLocale>; name?: FlatObjectKeys<DefaultLocale>;
description?: FlatObjectKeys<DefaultLocale>; description?: FlatObjectKeys<DefaultLocale>;
}; };
}; };
export type __TypeWrapper<T extends ApplicationCommandOptionType> = Wrap<T>; export type __TypeWrapper<T extends ApplicationCommandOptionType> = Wrap<T>;
@ -96,18 +96,18 @@ type ContextOptionsAux<T extends OptionsRecord> = {
[K in Exclude<keyof T, KeysWithoutRequired<T>>]: T[K]['value'] extends (...args: any) => any [K in Exclude<keyof T, KeysWithoutRequired<T>>]: T[K]['value'] extends (...args: any) => any
? Parameters<Parameters<T[K]['value']>[1]>[0] ? Parameters<Parameters<T[K]['value']>[1]>[0]
: T[K] extends SeyfertStringOption | SeyfertNumberOption : T[K] extends SeyfertStringOption | SeyfertNumberOption
? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']> ? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']>
? T[K]['choices'][number]['value'] ? T[K]['choices'][number]['value']
: ReturnOptionsTypes[T[K]['type']] : ReturnOptionsTypes[T[K]['type']]
: ReturnOptionsTypes[T[K]['type']]; : ReturnOptionsTypes[T[K]['type']];
} & { } & {
[K in KeysWithoutRequired<T>]?: T[K]['value'] extends (...args: any) => any [K in KeysWithoutRequired<T>]?: T[K]['value'] extends (...args: any) => any
? Parameters<Parameters<T[K]['value']>[1]>[0] ? Parameters<Parameters<T[K]['value']>[1]>[0]
: T[K] extends SeyfertStringOption | SeyfertNumberOption : T[K] extends SeyfertStringOption | SeyfertNumberOption
? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']> ? T[K]['choices'] extends NonNullable<SeyfertStringOption['choices'] | SeyfertNumberOption['choices']>
? T[K]['choices'][number]['value'] ? T[K]['choices'][number]['value']
: ReturnOptionsTypes[T[K]['type']] : ReturnOptionsTypes[T[K]['type']]
: ReturnOptionsTypes[T[K]['type']]; : ReturnOptionsTypes[T[K]['type']];
}; };
export type ContextOptions<T extends OptionsRecord> = ContextOptionsAux<T>; export type ContextOptions<T extends OptionsRecord> = ContextOptionsAux<T>;
@ -156,7 +156,7 @@ export class BaseCommand {
(res, rej) => (res, rej) =>
option.value?.({ context: ctx, value: resolver.getValue(i.name) } as never, res, rej) || option.value?.({ context: ctx, value: resolver.getValue(i.name) } as never, res, rej) ||
res(resolver.getValue(i.name)), res(resolver.getValue(i.name)),
) )
: undefined; : undefined;
if (value === undefined) { if (value === undefined) {
if (option.required) { if (option.required) {
@ -210,6 +210,7 @@ export class BaseCommand {
return; return;
} }
// biome-ignore lint/style/noArguments: yes // biome-ignore lint/style/noArguments: yes
// biome-ignore lint/correctness/noUndeclaredVariables: xd
if (arguments.length) { if (arguments.length) {
// @ts-expect-error // @ts-expect-error
context[global ? 'globalMetadata' : 'metadata'][middlewares[index]] = obj; context[global ? 'globalMetadata' : 'metadata'][middlewares[index]] = obj;
@ -249,7 +250,7 @@ export class BaseCommand {
const data = { const data = {
name: this.name, name: this.name,
type: this.type, type: this.type,
nsfw: this.nsfw || false, nsfw: !!this.nsfw,
description: this.description, description: this.description,
name_localizations: this.name_localizations, name_localizations: this.name_localizations,
description_localizations: this.description_localizations, description_localizations: this.description_localizations,

View File

@ -36,7 +36,7 @@ export type CommandMetadata<T extends readonly (keyof RegisteredMiddlewares)[]>
? {} ? {}
: { : {
[key in first]: MetadataMiddleware<RegisteredMiddlewares[first]>; [key in first]: MetadataMiddleware<RegisteredMiddlewares[first]>;
}) & }) &
(rest extends readonly (keyof RegisteredMiddlewares)[] ? CommandMetadata<rest> : {}) (rest extends readonly (keyof RegisteredMiddlewares)[] ? CommandMetadata<rest> : {})
: {} : {}
: {}; : {};

View File

@ -130,7 +130,7 @@ export function Options(options: (new () => SubCommand)[] | OptionsRecord) {
name, name,
...option, ...option,
} as CommandOption; } as CommandOption;
}); });
}; };
} }

View File

@ -66,7 +66,7 @@ export class CommandHandler extends BaseHandler {
if (option.channel_types?.length !== (cached as APIApplicationCommandChannelOption).channel_types?.length) if (option.channel_types?.length !== (cached as APIApplicationCommandChannelOption).channel_types?.length)
return true; return true;
if ('channel_types' in option && 'channel_types' in cached) { if ('channel_types' in option && 'channel_types' in cached) {
if (!option.channel_types || !cached.channel_types) return true; if (!(option.channel_types && cached.channel_types)) return true;
return option.channel_types.some(ct => !cached.channel_types!.includes(ct)); return option.channel_types.some(ct => !cached.channel_types!.includes(ct));
} }
} }

View File

@ -171,8 +171,8 @@ export class OptionResolver {
member instanceof GuildMember || member instanceof InteractionGuildMember member instanceof GuildMember || member instanceof InteractionGuildMember
? member ? member
: 'permissions' in member : 'permissions' in member
? new InteractionGuildMember(this.client, member, user!, this.guildId!) ? new InteractionGuildMember(this.client, member, user!, this.guildId!)
: new GuildMember(this.client, member, user!, this.guildId!); : new GuildMember(this.client, member, user!, this.guildId!);
} }
const channel = resolved.channels?.[value]; const channel = resolved.channels?.[value];

View File

@ -128,7 +128,9 @@ export class Logger {
let log; let log;
if (!Logger.__callback) { if (Logger.__callback) {
log = Logger.__callback(this, level, args);
} else {
const color = Logger.colorFunctions.get(level) ?? Logger.noColor; const color = Logger.colorFunctions.get(level) ?? Logger.noColor;
const memoryData = process.memoryUsage?.(); const memoryData = process.memoryUsage?.();
const date = new Date(); const date = new Date();
@ -139,8 +141,6 @@ export class Logger {
this.name ? `${this.name} >` : '>', this.name ? `${this.name} >` : '>',
...args, ...args,
]; ];
} else {
log = Logger.__callback(this, level, args);
} }
if (!log) return; if (!log) return;
this.__write(log); this.__write(log);
@ -189,7 +189,7 @@ export class Logger {
private __write(log: unknown[]) { private __write(log: unknown[]) {
if (this.saveOnFile || Logger.saveOnFile === 'all' || Logger.saveOnFile?.includes(this.name)) { if (this.saveOnFile || Logger.saveOnFile === 'all' || Logger.saveOnFile?.includes(this.name)) {
if (!Logger.createdDir && !existsSync(join(process.cwd(), Logger.dirname))) { if (!(Logger.createdDir || existsSync(join(process.cwd(), Logger.dirname)))) {
Logger.createdDir = true; Logger.createdDir = true;
mkdirSync(join(process.cwd(), Logger.dirname), { recursive: true }); mkdirSync(join(process.cwd(), Logger.dirname), { recursive: true });
} }

View File

@ -117,10 +117,8 @@ export class BaseHandler {
for (const i of await promises.readdir(dir, { withFileTypes: true })) { for (const i of await promises.readdir(dir, { withFileTypes: true })) {
if (i.isDirectory()) { if (i.isDirectory()) {
files.push(...(await this.getFiles(join(dir, i.name)))); files.push(...(await this.getFiles(join(dir, i.name))));
} else { } else if (this.filter(join(dir, i.name))) {
if (this.filter(join(dir, i.name))) { files.push(join(dir, i.name));
files.push(join(dir, i.name));
}
} }
} }

View File

@ -7,8 +7,8 @@ export type ToClass<T, This> = new (
? ReturnType<T[K]> extends Promise<T> ? ReturnType<T[K]> extends Promise<T>
? (...args: Parameters<T[K]>) => Promise<This> ? (...args: Parameters<T[K]>) => Promise<This>
: ReturnType<T[K]> extends T : ReturnType<T[K]> extends T
? (...args: Parameters<T[K]>) => This ? (...args: Parameters<T[K]>) => This
: T[K] : T[K]
: T[K]; : T[K];
}; };
@ -20,8 +20,8 @@ export type DeepPartial<T> = {
[K in keyof T]?: T[K] extends Record<any, any> [K in keyof T]?: T[K] extends Record<any, any>
? DeepPartial<T[K]> ? DeepPartial<T[K]>
: T[K] extends (infer I)[] : T[K] extends (infer I)[]
? DeepPartial<I>[] ? DeepPartial<I>[]
: T[K]; : T[K];
}; };
export type OmitInsert<T, K extends keyof T, I> = I extends [] ? Omit<T, K> & I[number] : Omit<T, K> & I; export type OmitInsert<T, K extends keyof T, I> = I extends [] ? Omit<T, K> & I[number] : Omit<T, K> & I;
@ -50,10 +50,10 @@ export type WithID<More> = { id: string } & More;
export type Tail<A> = A extends [unknown, ...infer rest] export type Tail<A> = A extends [unknown, ...infer rest]
? rest ? rest
: A extends [unknown] : A extends [unknown]
? [] ? []
: A extends (infer first)[] : A extends (infer first)[]
? first[] ? first[]
: never; : never;
export type ValueOf<T> = T[keyof T]; export type ValueOf<T> = T[keyof T];
@ -74,8 +74,8 @@ export type AuxIsStrictlyUndefined<T> = T extends undefined | null | never | voi
export type IsStrictlyUndefined<T> = AuxIsStrictlyUndefined<T> extends true export type IsStrictlyUndefined<T> = AuxIsStrictlyUndefined<T> extends true
? true ? true
: AuxIsStrictlyUndefined<T> extends false : AuxIsStrictlyUndefined<T> extends false
? false ? false
: false; : false;
export type If<T extends boolean, A, B = null> = T extends true ? A : B extends null ? A | null : B; export type If<T extends boolean, A, B = null> = T extends true ? A : B extends null ? A | null : B;
@ -103,10 +103,10 @@ export type ObjectToLower<T> = Identify<{
[K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[] [K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? Identify<ObjectToLower<T[K][0]>[]> ? Identify<ObjectToLower<T[K][0]>[]>
: T[K] extends object : T[K] extends object
? Identify<ObjectToLower<T[K]>> ? Identify<ObjectToLower<T[K]>>
: AuxIsStrictlyUndefined<T[K]> extends true : AuxIsStrictlyUndefined<T[K]> extends true
? undefined ? undefined
: ObjectToLowerUndefined<T[K]>; : ObjectToLowerUndefined<T[K]>;
}>; }>;
export type ObjectToLowerUndefined<T> = T extends unknown[] export type ObjectToLowerUndefined<T> = T extends unknown[]
@ -115,18 +115,18 @@ export type ObjectToLowerUndefined<T> = T extends unknown[]
[K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[] [K in keyof T as CamelCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? ObjectToLower<T[K][0]>[] ? ObjectToLower<T[K][0]>[]
: T[K] extends object : T[K] extends object
? ObjectToLower<T[K]> ? ObjectToLower<T[K]>
: T[K]; : T[K];
}>; }>;
export type ObjectToSnake<T> = Identify<{ export type ObjectToSnake<T> = Identify<{
[K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[] [K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? Identify<ObjectToSnake<T[K][0]>[]> ? Identify<ObjectToSnake<T[K][0]>[]>
: T[K] extends object : T[K] extends object
? Identify<ObjectToSnake<T[K]>> ? Identify<ObjectToSnake<T[K]>>
: AuxIsStrictlyUndefined<T[K]> extends true : AuxIsStrictlyUndefined<T[K]> extends true
? undefined ? undefined
: ObjectToSnakeUndefined<T[K]>; : ObjectToSnakeUndefined<T[K]>;
}>; }>;
export type ObjectToSnakeUndefined<T> = T extends unknown[] export type ObjectToSnakeUndefined<T> = T extends unknown[]
@ -135,9 +135,9 @@ export type ObjectToSnakeUndefined<T> = T extends unknown[]
[K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[] [K in keyof T as SnakeCase<Exclude<K, symbol | number>>]: T[K] extends unknown[]
? ObjectToSnake<T[K][0]>[] ? ObjectToSnake<T[K][0]>[]
: T[K] extends object : T[K] extends object
? ObjectToSnake<T[K]> ? ObjectToSnake<T[K]>
: T[K]; : T[K];
}>; }>;
export type UnionToTuple<U, A extends any[] = []> = (U extends void ? void : (arg: () => U) => never) extends ( export type UnionToTuple<U, A extends any[] = []> = (U extends void ? void : (arg: () => U) => never) extends (
arg: infer I, arg: infer I,
@ -164,10 +164,14 @@ type OptionalizeAux<T extends object> = Identify<
* it is recursive * it is recursive
*/ */
export type Optionalize<T> = T extends object export type Optionalize<T> = T extends object
? T extends Array<unknown> ? // biome-ignore lint/style/useShorthandArrayType: typescript things
// biome-ignore lint/style/useConsistentArrayType: <explanation>
T extends Array<unknown>
? number extends T['length'] ? number extends T['length']
? T[number] extends object ? T[number] extends object
? Array<OptionalizeAux<T[number]>> ? // biome-ignore lint/style/useShorthandArrayType: <explanation>
// biome-ignore lint/style/useConsistentArrayType: <explanation>
Array<OptionalizeAux<T[number]>>
: T : T
: Partial<T> : Partial<T>
: OptionalizeAux<T> : OptionalizeAux<T>
@ -211,8 +215,8 @@ export type FlatObjectKeys<T extends Record<string, any>, Key = keyof T> = Key e
? T[Key] extends Record<string, unknown> ? T[Key] extends Record<string, unknown>
? `${Key}.${FlatObjectKeys<T[Key]>}` ? `${Key}.${FlatObjectKeys<T[Key]>}`
: T[Key] extends string : T[Key] extends string
? `${Key}` ? `${Key}`
: never : never
: never; : never;
export type Awaitable<V> = Promise<V> | V; export type Awaitable<V> = Promise<V> | V;

View File

@ -51,7 +51,7 @@ export class ComponentHandler extends BaseHandler {
options.onStop?.('idle', () => { options.onStop?.('idle', () => {
this.createComponentCollector(messageId, options); this.createComponentCollector(messageId, options);
}); });
}, options.idle) }, options.idle)
: undefined, : undefined,
timeout: timeout:
options.timeout && options.timeout > 0 options.timeout && options.timeout > 0
@ -60,7 +60,7 @@ export class ComponentHandler extends BaseHandler {
options.onStop?.('timeout', () => { options.onStop?.('timeout', () => {
this.createComponentCollector(messageId, options); this.createComponentCollector(messageId, options);
}); });
}, options.timeout) }, options.timeout)
: undefined, : undefined,
__run: (customId, callback) => { __run: (customId, callback) => {
if (this.values.has(messageId)) { if (this.values.has(messageId)) {
@ -156,23 +156,23 @@ export class ComponentHandler extends BaseHandler {
return { file: x, path: i.__filePath ?? '*' }; return { file: x, path: i.__filePath ?? '*' };
}) ?? (await this.loadFilesK<{ new (): ModalCommand | ComponentCommand }>(await this.getFiles(componentsDir))); }) ?? (await this.loadFilesK<{ new (): ModalCommand | ComponentCommand }>(await this.getFiles(componentsDir)));
for (let i = 0; i < paths.length; i++) { for (const value of paths) {
let component; let component;
try { try {
component = this.callback(paths[i].file); component = this.callback(value.file);
if (!component) continue; if (!component) continue;
} catch (e) { } catch (e) {
if (e instanceof Error && e.message.includes('is not a constructor')) { if (e instanceof Error && e.message.includes('is not a constructor')) {
this.logger.warn( this.logger.warn(
`${paths[i].path `${value.path
.split(process.cwd()) .split(process.cwd())
.slice(1) .slice(1)
.join(process.cwd())} doesn't export the class by \`export default <ComponentCommand>\``, .join(process.cwd())} doesn't export the class by \`export default <ComponentCommand>\``,
); );
} else this.logger.warn(e, paths[i]); } else this.logger.warn(e, value);
continue; continue;
} }
if (!(component instanceof ModalCommand) && !(component instanceof ComponentCommand)) continue; if (!(component instanceof ModalCommand || component instanceof ComponentCommand)) continue;
if (component instanceof ModalCommand) { if (component instanceof ModalCommand) {
component.onInternalError ??= this.client.options?.modals?.defaults?.onInternalError; component.onInternalError ??= this.client.options?.modals?.defaults?.onInternalError;
component.onMiddlewaresError ??= this.client.options?.modals?.defaults?.onMiddlewaresError; component.onMiddlewaresError ??= this.client.options?.modals?.defaults?.onMiddlewaresError;
@ -184,7 +184,7 @@ export class ComponentHandler extends BaseHandler {
component.onRunError ??= this.client.options?.components?.defaults?.onRunError; component.onRunError ??= this.client.options?.components?.defaults?.onRunError;
component.onAfterRun ??= this.client.options?.components?.defaults?.onAfterRun; component.onAfterRun ??= this.client.options?.components?.defaults?.onAfterRun;
} }
component.__filePath = paths[i].path; component.__filePath = value.path;
this.commands.push(component); this.commands.push(component);
} }
} }

View File

@ -12,7 +12,7 @@ export const INTEGRATION_CREATE = (self: UsingClient, data: GatewayIntegrationCr
? { ? {
...toCamelCase(data), ...toCamelCase(data),
user: new User(self, data.user!), user: new User(self, data.user!),
} }
: toCamelCase(data); : toCamelCase(data);
}; };
@ -21,7 +21,7 @@ export const INTEGRATION_UPDATE = (self: UsingClient, data: GatewayIntegrationUp
? { ? {
...toCamelCase(data), ...toCamelCase(data),
user: new User(self, data.user!), user: new User(self, data.user!),
} }
: toCamelCase(data); : toCamelCase(data);
}; };

View File

@ -8,6 +8,6 @@ export const TYPING_START = (self: UsingClient, data: GatewayTypingStartDispatch
? { ? {
...toCamelCase(data), ...toCamelCase(data),
member: new GuildMember(self, data.member, data.member.user!, data.guild_id!), member: new GuildMember(self, data.member, data.member.user!, data.guild_id!),
} }
: toCamelCase(data); : toCamelCase(data);
}; };

View File

@ -71,7 +71,7 @@ export const config = {
: data.intents?.reduce<number>( : data.intents?.reduce<number>(
(pr, acc) => pr | (typeof acc === 'number' ? acc : GatewayIntentBits[acc]), (pr, acc) => pr | (typeof acc === 'number' ? acc : GatewayIntentBits[acc]),
0, 0,
) ?? 0 ) ?? 0
: 0, : 0,
} as InternalRuntimeConfig; } as InternalRuntimeConfig;
}, },

View File

@ -42,12 +42,12 @@ export type __InternalParseLocale<T extends Record<string, any>> = {
[K in keyof T]: T[K] extends (...args: any[]) => any [K in keyof T]: T[K] extends (...args: any[]) => any
? (...args: Parameters<T[K]>) => { get(locale?: string): ReturnType<T[K]> } ? (...args: Parameters<T[K]>) => { get(locale?: string): ReturnType<T[K]> }
: T[K] extends string : T[K] extends string
? { get(locale?: string): T[K] } ? { get(locale?: string): T[K] }
: T[K] extends unknown[] : T[K] extends unknown[]
? { get(locale?: string): T[K] } ? { get(locale?: string): T[K] }
: T[K] extends Record<string, any> : T[K] extends Record<string, any>
? __InternalParseLocale<T[K]> & { get(locale?: string): T[K] } ? __InternalParseLocale<T[K]> & { get(locale?: string): T[K] }
: never; : never;
}; };
export type ParseLocales<T extends Record<string, any>> = T; export type ParseLocales<T extends Record<string, any>> = T;

View File

@ -144,7 +144,7 @@ export class BaseInteraction<
: (files?.map((x, id) => ({ : (files?.map((x, id) => ({
id, id,
filename: x.name, filename: x.name,
})) as RESTAPIAttachment[]), })) as RESTAPIAttachment[]),
poll: poll ? (poll instanceof PollBuilder ? poll.toJSON() : poll) : undefined, poll: poll ? (poll instanceof PollBuilder ? poll.toJSON() : poll) : undefined,
}, },
}; };
@ -162,9 +162,9 @@ export class BaseInteraction<
x instanceof ActionRow x instanceof ActionRow
? (x.toJSON() as unknown as APIActionRowComponent<APITextInputComponent>) ? (x.toJSON() as unknown as APIActionRowComponent<APITextInputComponent>)
: x, : x,
) )
: [], : [],
}, },
}; };
default: default:
return body; return body;
@ -190,7 +190,7 @@ export class BaseInteraction<
: (files?.map((x, id) => ({ : (files?.map((x, id) => ({
id, id,
filename: x.name, filename: x.name,
})) as RESTAPIAttachment[]), })) as RESTAPIAttachment[]),
...body, ...body,
components: body.components?.map(x => (x instanceof ActionRow ? x.toJSON() : x)), components: body.components?.map(x => (x instanceof ActionRow ? x.toJSON() : x)),
embeds: body?.embeds?.map(x => (x instanceof Embed ? x.toJSON() : x)), embeds: body?.embeds?.map(x => (x instanceof Embed ? x.toJSON() : x)),
@ -558,7 +558,7 @@ export class MentionableSelectMenuInteraction extends SelectMenuInteraction {
this.users!.find(u => u.id === x)!, this.users!.find(u => u.id === x)!,
this.guildId!, this.guildId!,
), ),
) )
: []; : [];
this.users = resolved.users ? this.values.map(x => new User(this.client, resolved.users![x])) : []; this.users = resolved.users ? this.values.map(x => new User(this.client, resolved.users![x])) : [];
} }
@ -597,7 +597,7 @@ export class UserSelectMenuInteraction extends SelectMenuInteraction {
this.users!.find(u => u.id === x)!, this.users!.find(u => u.id === x)!,
this.guildId!, this.guildId!,
), ),
) )
: []; : [];
} }
} }

View File

@ -110,7 +110,7 @@ export class BaseMessage extends DiscordBase {
m, m,
this.guildId!, this.guildId!,
), ),
) )
: data.mentions.map(u => new User(this.client, u)); : data.mentions.map(u => new User(this.client, u));
} }

View File

@ -269,7 +269,7 @@ export class MessagesMethods extends DiscordBase {
: (files?.map((x, id) => ({ : (files?.map((x, id) => ({
id, id,
filename: x.name, filename: x.name,
})) as RESTAPIAttachment[]), })) as RESTAPIAttachment[]),
poll: poll ? (poll instanceof PollBuilder ? poll.toJSON() : poll) : undefined, poll: poll ? (poll instanceof PollBuilder ? poll.toJSON() : poll) : undefined,
} as T; } as T;
} }

View File

@ -27,7 +27,7 @@ export function resolvePartialEmoji(emoji: EmojiResolvable): APIPartialEmoji | u
if (emoji.includes('%')) { if (emoji.includes('%')) {
emoji = encodeURIComponent(emoji); emoji = encodeURIComponent(emoji);
} }
if (!emoji.includes(':') && !emoji.match(/\d{17,20}/g)) { if (!(emoji.includes(':') || emoji.match(/\d{17,20}/g))) {
return { name: emoji, id: null }; return { name: emoji, id: null };
} }
return; return;

View File

@ -84,6 +84,7 @@ export class Shard {
this.debugger?.debug(`[Shard #${this.id}] Connecting to ${this.currentGatewayURL}`); this.debugger?.debug(`[Shard #${this.id}] Connecting to ${this.currentGatewayURL}`);
// @ts-expect-error @types/bun cause erros in compile // @ts-expect-error @types/bun cause erros in compile
// biome-ignore lint/correctness/noUndeclaredVariables: /\ bun lol
this.websocket = new BaseSocket(typeof Bun === 'undefined' ? 'ws' : 'bun', this.currentGatewayURL); this.websocket = new BaseSocket(typeof Bun === 'undefined' ? 'ws' : 'bun', this.currentGatewayURL);
this.websocket!.onmessage = (event: WS.MessageEvent) => this.handleMessage(event); this.websocket!.onmessage = (event: WS.MessageEvent) => this.handleMessage(event);