aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.eslintrc.cjs14
-rw-r--r--.github/workflows/checks.yml2
-rw-r--r--.vscode/settings.json12
-rw-r--r--.yarnrc.yml6
-rw-r--r--config/index.ts2
-rw-r--r--config/tsconfig.json5
-rw-r--r--ecosystem.config.cjs3
-rw-r--r--lib/automod/AutomodShared.ts4
-rw-r--r--lib/common/Sentry.ts2
-rw-r--r--lib/common/tags.ts2
-rw-r--r--lib/extensions/discord-akairo/BushClient.ts43
-rw-r--r--lib/global.ts (renamed from lib/extensions/global.ts)4
-rw-r--r--lib/index.ts5
-rw-r--r--lib/models/index.ts13
-rw-r--r--lib/models/instance/ActivePunishment.ts3
-rw-r--r--lib/models/instance/Guild.ts6
-rw-r--r--lib/models/instance/Highlight.ts3
-rw-r--r--lib/models/instance/Level.ts3
-rw-r--r--lib/models/instance/ModLog.ts3
-rw-r--r--lib/models/instance/Reminder.ts3
-rw-r--r--lib/models/instance/StickyRole.ts3
-rw-r--r--lib/models/shared/Global.ts3
-rw-r--r--lib/models/shared/Shared.ts3
-rw-r--r--lib/models/shared/Stat.ts3
-rw-r--r--lib/tsconfig.json6
-rw-r--r--lib/utils/BushClientUtils.ts45
-rw-r--r--lib/utils/BushConstants.ts2
-rw-r--r--lib/utils/BushUtils.ts6
-rw-r--r--lib/utils/ErrorHandler.ts236
-rw-r--r--lib/utils/FormatResponse.ts32
-rw-r--r--lib/utils/UpdateCache.ts36
m---------neu-item-repo0
m---------neu-item-repo-dangerous0
-rw-r--r--package.json58
-rw-r--r--src/bot.ts5
-rw-r--r--src/commands/admin/channelPermissions.ts2
-rw-r--r--src/commands/admin/roleAll.ts1
-rw-r--r--src/commands/config/config.ts1
-rw-r--r--src/commands/config/disable.ts2
-rw-r--r--src/commands/dev/eval.ts3
-rw-r--r--src/commands/dev/reload.ts15
-rw-r--r--src/commands/dev/syncAutomod.ts11
-rw-r--r--src/commands/index.ts2
-rw-r--r--src/commands/info/help.ts2
-rw-r--r--src/commands/leveling/level.ts32
-rw-r--r--src/commands/moderation/unmute.ts38
-rw-r--r--src/commands/moulberry-bush/capePermissions.ts3
-rw-r--r--src/commands/moulberry-bush/capes.ts10
-rw-r--r--src/commands/moulberry-bush/serverStatus.ts8
-rw-r--r--src/commands/utilities/hash.ts82
-rw-r--r--src/commands/utilities/price.ts9
-rw-r--r--src/context-menu-commands/user/modlog.ts2
-rw-r--r--src/context-menu-commands/user/userInfo.ts2
-rw-r--r--src/listeners/commands/commandError.ts241
-rw-r--r--src/listeners/commands/slashCommandError.ts5
-rw-r--r--src/listeners/contextCommands/contextCommandError.ts7
-rw-r--r--src/listeners/member-custom/bushBan.ts2
-rw-r--r--src/listeners/message/blacklistedFile.ts300
-rw-r--r--src/listeners/other/promiseRejection.ts5
-rw-r--r--src/listeners/other/uncaughtException.ts5
-rw-r--r--src/listeners/other/warning.ts5
-rw-r--r--src/tasks/cache/updateCache.ts49
-rw-r--r--src/tasks/cache/updatePriceItemCache.ts6
-rw-r--r--src/tasks/feature/handleReminders.ts5
-rw-r--r--src/tasks/feature/removeExpiredPunishements.ts2
-rw-r--r--src/tasks/feature/updateStats.d.ts10
-rw-r--r--src/tasks/feature/updateStats.js22
-rw-r--r--src/tasks/feature/updateStats.js.map1
-rw-r--r--src/tasks/feature/updateStats.ts7
-rw-r--r--src/tsconfig.json6
-rw-r--r--tsconfig.base.json15
-rw-r--r--tsconfig.eslint.json2
-rw-r--r--tsconfig.json9
-rw-r--r--tsconfig.pkg.json8
-rw-r--r--yarn.lock1651
75 files changed, 960 insertions, 2204 deletions
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index d246897..e65a7c8 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -1,5 +1,3 @@
-/* eslint-disable import/no-commonjs */
-
// prettier-ignore
const globals = [
'NodeFilter', 'AbortController', 'AbortSignal', 'AbstractRange', 'AnalyserNode', 'Animation', 'AnimationEffect',
@@ -20,7 +18,7 @@ const globals = [
'DocumentFragment', 'DocumentTimeline', 'DocumentType', 'DragEvent', 'DynamicsCompressorNode', 'Element', 'ElementInternals',
'ErrorEvent', 'Event', 'EventSource', 'EventTarget', 'External', 'File', 'FileList', 'FileReader', 'FileSystem',
'FileSystemDirectoryEntry', 'FileSystemDirectoryReader', 'FileSystemEntry', 'FileSystemFileEntry', 'FocusEvent', 'FontFace',
- 'FontFaceSet', 'FontFaceSetLoadEvent', 'FormData', 'FormDataEvent', 'GainNode', 'Gamepad', 'GamepadButton', 'GamepadEvent',
+ 'FontFaceSet', 'FontFaceSetLoadEvent', 'FormDataEvent', 'GainNode', 'Gamepad', 'GamepadButton', 'GamepadEvent',
'GamepadHapticActuator', 'Geolocation', 'GeolocationCoordinates', 'GeolocationPosition', 'GeolocationPositionError',
'HTMLAllCollection', 'HTMLAnchorElement', 'HTMLAreaElement', 'HTMLAudioElement', 'HTMLBRElement', 'HTMLBaseElement',
'HTMLBodyElement', 'HTMLButtonElement', 'HTMLCanvasElement', 'HTMLCollection', 'HTMLDListElement', 'HTMLDataElement',
@@ -112,7 +110,7 @@ const globals = [
'ongamepadconnected', 'ongamepaddisconnected', 'onhashchange', 'onlanguagechange', 'onmessage', 'onmessageerror', 'onoffline',
'ononline', 'onpagehide', 'onpageshow', 'onpopstate', 'onrejectionhandled', 'onstorage', 'onunhandledrejection', 'onunload',
'localStorage', 'caches', 'crossOriginIsolated', 'crypto', 'indexedDB', 'isSecureContext', 'origin', 'performance', 'atob',
- 'btoa', 'createImageBitmap', 'fetch', 'queueMicrotask', 'sessionStorage', 'addEventListener', 'removeEventListener'
+ 'btoa', 'createImageBitmap', 'queueMicrotask', 'sessionStorage', 'addEventListener', 'removeEventListener'
]
/**
@@ -130,8 +128,7 @@ module.exports = {
sourceType: 'module',
project: './tsconfig.eslint.json'
},
- plugins: ['@typescript-eslint', 'deprecation', 'import'],
- ignorePatterns: ['dist', 'node_modules'],
+ plugins: ['@typescript-eslint', 'deprecation'],
rules: {
'no-return-await': 'off',
'@typescript-eslint/no-empty-interface': 'warn',
@@ -170,14 +167,13 @@ module.exports = {
'deprecation/deprecation': 'warn',
'@typescript-eslint/explicit-member-accessibility': ['warn', { accessibility: 'explicit' }],
'@typescript-eslint/switch-exhaustiveness-check': 'warn',
- 'import/no-commonjs': 'error',
- 'import/extensions': ['error', 'ignorePackages'],
'@typescript-eslint/no-restricted-imports': [
'error',
{ paths: [{ name: 'console', importNames: ['assert'], message: 'Import from the `assert` module instead.' }] }
],
'no-restricted-globals': ['error', ...globals.map((v) => ({ name: v, message: "Don't use DOM globals." }))],
'@typescript-eslint/no-namespace': 'off',
- 'no-debugger': 'warn'
+ 'no-debugger': 'warn',
+ '@typescript-eslint/prefer-as-const': 'warn'
}
};
diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml
index de5e141..8af3039 100644
--- a/.github/workflows/checks.yml
+++ b/.github/workflows/checks.yml
@@ -24,7 +24,7 @@ jobs:
- name: ESLint
run: yarn lint
- name: Build
- run: yarn build:tsc
+ run: yarn build
- name: Dry Run
run: yarn start:dry
diff --git a/.vscode/settings.json b/.vscode/settings.json
index d86374b..4eed974 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -9,8 +9,6 @@
".pnp.js": false,
"**/node_modules": true
},
- "javascript.preferences.importModuleSpecifier": "project-relative",
- "typescript.preferences.importModuleSpecifier": "project-relative",
"search.exclude": {
"**/.yarn": true,
"**/.pnp.*": true,
@@ -20,7 +18,6 @@
},
"editor.codeActionsOnSave": {
"source.organizeImports": true,
- // "source.fixAll.eslint": true,
"source.format": true
},
"diffEditor.wordWrap": "on",
@@ -31,11 +28,14 @@
"prettier.prettierPath": "node_modules/prettier",
"prettier.withNodeModules": true,
"prettier.useEditorConfig": false,
- // "typescript.tsdk": ".yarn/sdks/typescript/lib",
- "typescript.tsdk": "node_modules/typescript/lib",
- "typescript.enablePromptUseWorkspaceTsdk": true,
+ "javascript.format.enable": false,
+ "javascript.preferences.importModuleSpecifier": "relative",
"javascript.preferences.importModuleSpecifierEnding": "js",
+ "javascript.preferences.useAliasesForRenames": false,
+ "typescript.format.enable": false,
+ "typescript.preferences.importModuleSpecifier": "relative",
"typescript.preferences.importModuleSpecifierEnding": "js",
+ "typescript.preferences.useAliasesForRenames": false,
"discord.removeDetails": false,
"discord.removeLowerDetails": false,
"discord.removeRemoteRepository": false,
diff --git a/.yarnrc.yml b/.yarnrc.yml
index caaf948..39b22a0 100644
--- a/.yarnrc.yml
+++ b/.yarnrc.yml
@@ -5,10 +5,10 @@ enableTelemetry: false
nodeLinker: pnpm
plugins:
- - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
- spec: '@yarnpkg/plugin-typescript'
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
- spec: '@yarnpkg/plugin-interactive-tools'
+ spec: "@yarnpkg/plugin-interactive-tools"
+ - path: .yarn/plugins/@yarnpkg/plugin-typescript.cjs
+ spec: "@yarnpkg/plugin-typescript"
pnpEnableEsmLoader: true
diff --git a/config/index.ts b/config/index.ts
new file mode 100644
index 0000000..7514faa
--- /dev/null
+++ b/config/index.ts
@@ -0,0 +1,2 @@
+export * from './Config.js';
+export { default as config, default } from './options.js';
diff --git a/config/tsconfig.json b/config/tsconfig.json
index 46b2d15..583c81a 100644
--- a/config/tsconfig.json
+++ b/config/tsconfig.json
@@ -1,7 +1,6 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
- "outDir": "../../dist/config"
- },
- "files": ["./Config.ts", "example-options.ts", "options.ts"]
+ "outDir": "../dist/config"
+ }
}
diff --git a/ecosystem.config.cjs b/ecosystem.config.cjs
index b064f76..3bd532f 100644
--- a/ecosystem.config.cjs
+++ b/ecosystem.config.cjs
@@ -1,4 +1,3 @@
-/* eslint-disable import/no-commonjs */
module.exports = {
apps: [
...['', '-beta'].map((e) => ({
@@ -25,7 +24,7 @@ module.exports = {
'ref': `origin/${e === 'production' ? 'master' : 'beta'}`,
'repo': 'https://github.com/NotEnoughUpdates/bush-bot.git',
'path': `/code/bush-bot${e === 'beta' ? '-beta' : ''}`,
- 'post-deploy': `yarn install && yarn build:tsc && pm2 start ecosystem.config.cjs --only bush-bot${
+ 'post-deploy': `yarn install && yarn build && pm2 start ecosystem.config.cjs --only bush-bot${
e === 'beta' ? '-beta' : ''
}`
}
diff --git a/lib/automod/AutomodShared.ts b/lib/automod/AutomodShared.ts
index 5d031d0..08cde25 100644
--- a/lib/automod/AutomodShared.ts
+++ b/lib/automod/AutomodShared.ts
@@ -8,11 +8,11 @@ import {
PermissionFlagsBits,
Snowflake
} from 'discord.js';
-import UnmuteCommand from '../../src/commands/moderation/unmute.js';
import * as Moderation from '../common/Moderation.js';
import { unmuteResponse } from '../extensions/discord.js/ExtendedGuildMember.js';
import { colors, emojis } from '../utils/BushConstants.js';
import * as Format from '../utils/Format.js';
+import { formatUnmuteResponse } from '../utils/FormatResponse.js';
/**
* Handles shared auto moderation functionality.
@@ -207,7 +207,7 @@ export async function handleAutomodInteraction(interaction: ButtonInteraction) {
if (check !== true) return interaction.reply({ content: check, ephemeral: true });
const check2 = await Moderation.checkMutePermissions(interaction.guild);
- if (check2 !== true) return interaction.reply({ content: UnmuteCommand.formatCode('/', victim!, check2), ephemeral: true });
+ if (check2 !== true) return interaction.reply({ content: formatUnmuteResponse('/', victim!, check2), ephemeral: true });
const result = await victim.bushUnmute({
reason,
diff --git a/lib/common/Sentry.ts b/lib/common/Sentry.ts
index 446ec27..1b0e19a 100644
--- a/lib/common/Sentry.ts
+++ b/lib/common/Sentry.ts
@@ -1,7 +1,7 @@
+import type { Config } from '#config';
import { RewriteFrames } from '@sentry/integrations';
import * as SentryNode from '@sentry/node';
import { Integrations } from '@sentry/node';
-import type { Config } from '../../config/Config.js';
export class Sentry {
public constructor(rootdir: string, config: Config) {
diff --git a/lib/common/tags.ts b/lib/common/tags.ts
index 098cf29..4af8783 100644
--- a/lib/common/tags.ts
+++ b/lib/common/tags.ts
@@ -1,5 +1,5 @@
/* these functions are adapted from the common-tags npm package which is licensed under the MIT license */
-/* the js docs are adapted from the @types/common-tags npm package which is licensed under the MIT license */
+/* the JSDOCs are adapted from the @types/common-tags npm package which is licensed under the MIT license */
/**
* Strips the **initial** indentation from the beginning of each line in a multiline string.
diff --git a/lib/extensions/discord-akairo/BushClient.ts b/lib/extensions/discord-akairo/BushClient.ts
index 1a6bb8c..92968d6 100644
--- a/lib/extensions/discord-akairo/BushClient.ts
+++ b/lib/extensions/discord-akairo/BushClient.ts
@@ -10,7 +10,8 @@ import {
roleWithDuration,
snowflake
} from '#args';
-import { BushClientEvents, emojis, formatError, inspect } from '#lib';
+import type { Config } from '#config';
+import { BushClientEvents, emojis, formatError, inspect, updateEveryCache } from '#lib';
import { patch, type PatchedElements } from '@notenoughupdates/events-intercept';
import * as Sentry from '@sentry/node';
import {
@@ -44,26 +45,25 @@ import type EventEmitter from 'events';
import { google } from 'googleapis';
import path from 'path';
import readline from 'readline';
-import type { Options as SequelizeOptions, Sequelize as SequelizeType } from 'sequelize';
+import { Options as SequelizeOptions, Sequelize, Sequelize as SequelizeType } from 'sequelize';
import { fileURLToPath } from 'url';
-import type { Config } from '../../../config/Config.js';
-import UpdateCacheTask from '../../../src/tasks/cache/updateCache.js';
-import UpdateStatsTask from '../../../src/tasks/feature/updateStats.js';
import { tinyColor } from '../../arguments/tinyColor.js';
import { BushCache } from '../../common/BushCache.js';
import { HighlightManager } from '../../common/HighlightManager.js';
-import { ActivePunishment } from '../../models/instance/ActivePunishment.js';
-import { Guild as GuildDB } from '../../models/instance/Guild.js';
-import { Highlight } from '../../models/instance/Highlight.js';
-import { Level } from '../../models/instance/Level.js';
-import { ModLog } from '../../models/instance/ModLog.js';
-import { Reminder } from '../../models/instance/Reminder.js';
-import { StickyRole } from '../../models/instance/StickyRole.js';
-import { Global } from '../../models/shared/Global.js';
-import { GuildCount } from '../../models/shared/GuildCount.js';
-import { MemberCount } from '../../models/shared/MemberCount.js';
-import { Shared } from '../../models/shared/Shared.js';
-import { Stat } from '../../models/shared/Stat.js';
+import {
+ ActivePunishment,
+ Global,
+ Guild as GuildModel,
+ GuildCount,
+ Highlight,
+ Level,
+ MemberCount,
+ ModLog,
+ Reminder,
+ Shared,
+ Stat,
+ StickyRole
+} from '../../models/index.js';
import { AllowedMentions } from '../../utils/AllowedMentions.js';
import { BushClientUtils } from '../../utils/BushClientUtils.js';
import { BushLogger } from '../../utils/BushLogger.js';
@@ -75,7 +75,6 @@ import { BushCommandHandler } from './BushCommandHandler.js';
import { BushInhibitorHandler } from './BushInhibitorHandler.js';
import { BushListenerHandler } from './BushListenerHandler.js';
import { BushTaskHandler } from './BushTaskHandler.js';
-const { Sequelize } = (await import('sequelize')).default;
declare module 'discord.js' {
export interface Client extends EventEmitter {
@@ -467,7 +466,7 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
public async dbPreInit() {
try {
await this.instanceDB.authenticate();
- GuildDB.initModel(this.instanceDB, this);
+ GuildModel.initModel(this.instanceDB, this);
ModLog.initModel(this.instanceDB);
ActivePunishment.initModel(this.instanceDB);
Level.initModel(this.instanceDB);
@@ -525,9 +524,11 @@ export class BushClient<Ready extends boolean = boolean> extends AkairoClient<Re
try {
await this.highlightManager.syncCache();
- await UpdateCacheTask.init(this);
+ await updateEveryCache(this);
void this.console.success('startup', `Successfully created <<cache>>.`, false);
- const stats = await UpdateStatsTask.init(this);
+
+ const stats =
+ (await Stat.findByPk(this.config.environment)) ?? (await Stat.create({ environment: this.config.environment }));
this.stats.commandsUsed = stats.commandsUsed;
this.stats.slashCommandsUsed = stats.slashCommandsUsed;
await this.login(this.token!);
diff --git a/lib/extensions/global.ts b/lib/global.ts
index a9020d7..0a0bcca 100644
--- a/lib/extensions/global.ts
+++ b/lib/global.ts
@@ -1,6 +1,6 @@
-/* eslint-disable no-var */
+/* eslint-disable */
+
declare global {
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
interface ReadonlyArray<T> {
includes<S, R extends `${Extract<S, string>}`>(
this: ReadonlyArray<R>,
diff --git a/lib/index.ts b/lib/index.ts
index 5a8ecde..ca23177 100644
--- a/lib/index.ts
+++ b/lib/index.ts
@@ -1,3 +1,5 @@
+import './global.js';
+
export * from './automod/AutomodShared.js';
export * from './automod/MemberAutomod.js';
export * from './automod/MessageAutomod.js';
@@ -53,4 +55,7 @@ export * as Arg from './utils/Arg.js';
export * from './utils/BushConstants.js';
export * from './utils/BushLogger.js';
export * from './utils/BushUtils.js';
+export * from './utils/ErrorHandler.js';
export * as Format from './utils/Format.js';
+export * from './utils/FormatResponse.js';
+export * from './utils/UpdateCache.js';
diff --git a/lib/models/index.ts b/lib/models/index.ts
new file mode 100644
index 0000000..ae82fb7
--- /dev/null
+++ b/lib/models/index.ts
@@ -0,0 +1,13 @@
+export * from './BaseModel.js';
+export * from './instance/ActivePunishment.js';
+export * from './instance/Guild.js';
+export * from './instance/Highlight.js';
+export * from './instance/Level.js';
+export * from './instance/ModLog.js';
+export * from './instance/Reminder.js';
+export * from './instance/StickyRole.js';
+export * from './shared/Global.js';
+export * from './shared/GuildCount.js';
+export * from './shared/MemberCount.js';
+export * from './shared/Shared.js';
+export * from './shared/Stat.js';
diff --git a/lib/models/instance/ActivePunishment.ts b/lib/models/instance/ActivePunishment.ts
index 38012ca..9bd9d01 100644
--- a/lib/models/instance/ActivePunishment.ts
+++ b/lib/models/instance/ActivePunishment.ts
@@ -1,8 +1,7 @@
import { type Snowflake } from 'discord.js';
import { nanoid } from 'nanoid';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export enum ActivePunishmentType {
BAN = 'BAN',
diff --git a/lib/models/instance/Guild.ts b/lib/models/instance/Guild.ts
index f258d48..1d645e9 100644
--- a/lib/models/instance/Guild.ts
+++ b/lib/models/instance/Guild.ts
@@ -1,9 +1,9 @@
+import config from '#config';
import { ChannelType, Constants, type Snowflake } from 'discord.js';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BadWordDetails } from '../../automod/AutomodShared.js';
import { type BushClient } from '../../extensions/discord-akairo/BushClient.js';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export interface GuildModel {
id: Snowflake;
@@ -199,8 +199,6 @@ const asGuildSetting = <T>(et: { [K in keyof T]: PartialBy<GuildSetting, 'config
return et as { [K in keyof T]: GuildSetting };
};
-const { default: config } = await import('../../../config/options.js');
-
export const guildSettingsObj = asGuildSetting({
prefix: {
name: 'Prefix',
diff --git a/lib/models/instance/Highlight.ts b/lib/models/instance/Highlight.ts
index 5889fad..38c7990 100644
--- a/lib/models/instance/Highlight.ts
+++ b/lib/models/instance/Highlight.ts
@@ -1,8 +1,7 @@
import { type Snowflake } from 'discord.js';
import { nanoid } from 'nanoid';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export interface HighlightModel {
pk: string;
diff --git a/lib/models/instance/Level.ts b/lib/models/instance/Level.ts
index d8d16f0..e22d63b 100644
--- a/lib/models/instance/Level.ts
+++ b/lib/models/instance/Level.ts
@@ -1,7 +1,6 @@
import { type Snowflake } from 'discord.js';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export interface LevelModel {
user: Snowflake;
diff --git a/lib/models/instance/ModLog.ts b/lib/models/instance/ModLog.ts
index c25f043..324ad83 100644
--- a/lib/models/instance/ModLog.ts
+++ b/lib/models/instance/ModLog.ts
@@ -1,8 +1,7 @@
import { type Snowflake } from 'discord.js';
import { nanoid } from 'nanoid';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export enum ModLogType {
PERM_BAN = 'PERM_BAN',
diff --git a/lib/models/instance/Reminder.ts b/lib/models/instance/Reminder.ts
index 964ea63..8d46edb 100644
--- a/lib/models/instance/Reminder.ts
+++ b/lib/models/instance/Reminder.ts
@@ -1,8 +1,7 @@
import { Snowflake } from 'discord.js';
import { nanoid } from 'nanoid';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export interface ReminderModel {
id: string;
diff --git a/lib/models/instance/StickyRole.ts b/lib/models/instance/StickyRole.ts
index 00e98ce..90ded0e 100644
--- a/lib/models/instance/StickyRole.ts
+++ b/lib/models/instance/StickyRole.ts
@@ -1,7 +1,6 @@
import { type Snowflake } from 'discord.js';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export interface StickyRoleModel {
user: Snowflake;
diff --git a/lib/models/shared/Global.ts b/lib/models/shared/Global.ts
index b1aa0cc..eb6c5dd 100644
--- a/lib/models/shared/Global.ts
+++ b/lib/models/shared/Global.ts
@@ -1,7 +1,6 @@
import { type Snowflake } from 'discord.js';
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export interface GlobalModel {
environment: 'production' | 'development' | 'beta';
diff --git a/lib/models/shared/Shared.ts b/lib/models/shared/Shared.ts
index dec77d1..bf8d461 100644
--- a/lib/models/shared/Shared.ts
+++ b/lib/models/shared/Shared.ts
@@ -1,8 +1,7 @@
import { Snowflake } from 'discord.js';
-import type { Sequelize } from 'sequelize';
+import { DataTypes, Sequelize } from 'sequelize';
import { BadWords } from '../../automod/AutomodShared.js';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
export interface SharedModel {
primaryKey: 0;
diff --git a/lib/models/shared/Stat.ts b/lib/models/shared/Stat.ts
index 8e2e0b3..bce1620 100644
--- a/lib/models/shared/Stat.ts
+++ b/lib/models/shared/Stat.ts
@@ -1,6 +1,5 @@
-import { type Sequelize } from 'sequelize';
+import { DataTypes, type Sequelize } from 'sequelize';
import { BaseModel } from '../BaseModel.js';
-const { DataTypes } = (await import('sequelize')).default;
type Environment = 'production' | 'development' | 'beta';
diff --git a/lib/tsconfig.json b/lib/tsconfig.json
index e6d554e..0b2117d 100644
--- a/lib/tsconfig.json
+++ b/lib/tsconfig.json
@@ -1,9 +1,7 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
- "outDir": "../../dist/lib",
- "composite": true
+ "outDir": "../dist/lib"
},
- "include": ["lib/**/*.ts"],
- "references": [{ "path": "../config" }]
+ "references": [{ "path": "../config" }, { "path": "../tsconfig.pkg.json" }]
}
diff --git a/lib/utils/BushClientUtils.ts b/lib/utils/BushClientUtils.ts
index 68a1dc3..2cf546e 100644
--- a/lib/utils/BushClientUtils.ts
+++ b/lib/utils/BushClientUtils.ts
@@ -15,10 +15,8 @@ import {
type Snowflake,
type UserResolvable
} from 'discord.js';
-import got from 'got';
import _ from 'lodash';
import { ConfigChannelKey } from '../../config/Config.js';
-import CommandErrorListener from '../../src/listeners/commands/commandError.js';
import { GlobalCache, SharedCache } from '../common/BushCache.js';
import { CommandMessage } from '../extensions/discord-akairo/BushCommand.js';
import { SlashMessage } from '../extensions/discord-akairo/SlashMessage.js';
@@ -28,6 +26,7 @@ import { BushInspectOptions } from '../types/BushInspectOptions.js';
import { CodeBlockLang } from '../types/CodeBlockLang.js';
import { emojis, Pronoun, PronounCode, pronounMapping, regex } from './BushConstants.js';
import { addOrRemoveFromArray, formatError, inspect } from './BushUtils.js';
+import { generateErrorEmbed } from './ErrorHandler.js';
/**
* Utilities that require access to the client.
@@ -74,7 +73,7 @@ export class BushClientUtils {
}
for (const url of this.#hasteURLs) {
try {
- const res: HastebinRes = await got.post(`${url}/documents`, { body: content }).json();
+ const res: HastebinRes = await (await fetch(`${url}/documents`, { method: 'POST', body: content })).json();
return { url: `${url}/${res.key}`, error: isSubstr ? 'substr' : undefined };
} catch {
void this.client.console.error('haste', `Unable to upload haste to ${url}`);
@@ -334,7 +333,7 @@ export class BushClientUtils {
public async handleError(context: string, error: Error) {
await this.client.console.error(_.camelCase(context), `An error occurred:\n${formatError(error, false)}`, false);
await this.client.console.channelError({
- embeds: await CommandErrorListener.generateErrorEmbed(this.client, { type: 'unhandledRejection', error: error, context })
+ embeds: await generateErrorEmbed(this.client, { type: 'unhandledRejection', error: error, context })
});
}
@@ -367,9 +366,8 @@ export class BushClientUtils {
public async getPronounsOf(user: User | Snowflake): Promise<Pronoun | undefined> {
const _user = await this.resolveNonCachedUser(user);
if (!_user) throw new Error(`Cannot find user ${user}`);
- const apiRes = (await got
- .get(`https://pronoundb.org/api/v1/lookup?platform=discord&id=${_user.id}`)
- .json()
+ const apiRes = (await fetch(`https://pronoundb.org/api/v1/lookup?platform=discord&id=${_user.id}`)
+ .then((p) => (p.ok ? p.json() : undefined))
.catch(() => undefined)) as { pronouns: PronounCode } | undefined;
if (!apiRes) return undefined;
@@ -386,22 +384,23 @@ export class BushClientUtils {
public async uploadImageToImgur(image: string) {
const clientId = this.client.config.credentials.imgurClientId;
- const resp = (await got
- .post('https://api.imgur.com/3/upload', {
- headers: {
- Authorization: `Client-ID ${clientId}`,
- Accept: 'application/json'
- },
- form: {
- image: image,
- type: 'base64'
- },
- followRedirect: true
- })
- .json()
- .catch(() => null)) as { data: { link: string } | undefined };
-
- return resp.data?.link ?? null;
+ const formData = new FormData();
+ formData.append('type', 'base64');
+ formData.append('image', image);
+
+ const resp = (await fetch('https://api.imgur.com/3/upload', {
+ method: 'POST',
+ headers: {
+ Accept: 'application/json',
+ Authorization: `Client-ID ${clientId}`
+ },
+ body: formData,
+ redirect: 'follow'
+ })
+ .then((p) => (p.ok ? p.json() : null))
+ .catch(() => null)) as { data: { link: string } } | null;
+
+ return resp?.data?.link ?? null;
}
/**
diff --git a/lib/utils/BushConstants.ts b/lib/utils/BushConstants.ts
index d3089ec..c65b5e8 100644
--- a/lib/utils/BushConstants.ts
+++ b/lib/utils/BushConstants.ts
@@ -1,4 +1,4 @@
-import deepLock from 'deep-lock';
+import { default as deepLock } from 'deep-lock';
import {
ArgumentMatches as AkairoArgumentMatches,
ArgumentTypes as AkairoArgumentTypes,
diff --git a/lib/utils/BushUtils.ts b/lib/utils/BushUtils.ts
index 34ea461..1922204 100644
--- a/lib/utils/BushUtils.ts
+++ b/lib/utils/BushUtils.ts
@@ -27,7 +27,6 @@ import {
type InteractionReplyOptions,
type PermissionsString
} from 'discord.js';
-import got from 'got';
import { DeepWritable } from 'ts-essentials';
import { inspect as inspectUtil, promisify } from 'util';
import * as Format from './Format.js';
@@ -86,8 +85,11 @@ export function chunk<T>(arr: T[], perChunk: number): T[][] {
* @returns The the uuid of the user.
*/
export async function mcUUID(username: string, dashed = false): Promise<string> {
- const apiRes = (await got.get(`https://api.ashcon.app/mojang/v2/user/${username}`).json()) as UuidRes;
+ const apiRes = (await fetch(`https://api.ashcon.app/mojang/v2/user/${username}`).then((p) =>
+ p.ok ? p.json() : undefined
+ )) as UuidRes;
+ // this will throw an error if response is not ok
return dashed ? apiRes.uuid : apiRes.uuid.replace(/-/g, '');
}
diff --git a/lib/utils/ErrorHandler.ts b/lib/utils/ErrorHandler.ts
new file mode 100644
index 0000000..923da75
--- /dev/null
+++ b/lib/utils/ErrorHandler.ts
@@ -0,0 +1,236 @@
+import { AkairoMessage, Command } from 'discord-akairo';
+import { ChannelType, Client, EmbedBuilder, escapeInlineCode, GuildTextBasedChannel, Message } from 'discord.js';
+import { BushCommandHandlerEvents } from '../extensions/discord-akairo/BushCommandHandler.js';
+import { SlashMessage } from '../extensions/discord-akairo/SlashMessage.js';
+import { colors } from './BushConstants.js';
+import { capitalize, formatError } from './BushUtils.js';
+import { bold, input } from './Format.js';
+
+export async function handleCommandError(
+ client: Client,
+ ...[error, message, _command]: BushCommandHandlerEvents['error'] | BushCommandHandlerEvents['slashError']
+) {
+ try {
+ const isSlash = message.util?.isSlash;
+ const errorNum = Math.floor(Math.random() * 6969696969) + 69; // hehe funny number
+ const channel =
+ message.channel?.type === ChannelType.DM ? message.channel.recipient?.tag : (<GuildTextBasedChannel>message.channel)?.name;
+ const command = _command ?? message.util?.parsed?.command;
+
+ client.sentry.captureException(error, {
+ level: 'error',
+ user: { id: message.author.id, username: message.author.tag },
+ extra: {
+ 'command.name': command?.id,
+ 'message.id': message.id,
+ 'message.type': message.util ? (message.util.isSlash ? 'slash' : 'normal') : 'unknown',
+ 'message.parsed.content': message.util?.parsed?.content,
+ 'channel.id':
+ (message.channel?.type === ChannelType.DM ? message.channel.recipient?.id : message.channel?.id) ?? '¯\\_(ツ)_/¯',
+ 'channel.name': channel,
+ 'guild.id': message.guild?.id ?? '¯\\_(ツ)_/¯',
+ 'guild.name': message.guild?.name ?? '¯\\_(ツ)_/¯',
+ 'environment': client.config.environment
+ }
+ });
+
+ void client.console.error(
+ `${isSlash ? 'slashC' : 'c'}ommandError`,
+ `an error occurred with the <<${command}>> ${isSlash ? 'slash ' : ''}command in <<${channel}>> triggered by <<${
+ message?.author?.tag
+ }>>:\n${formatError(error, true)})}`,
+ false
+ );
+
+ const _haste = getErrorHaste(client, error);
+ const _stack = getErrorStack(client, error);
+ const [haste, stack] = await Promise.all([_haste, _stack]);
+ const options = { message, error, isSlash, errorNum, command, channel, haste, stack };
+
+ const errorEmbed = _generateErrorEmbed({
+ ...options,
+ type: 'command-log'
+ });
+
+ void client.logger.channelError({ embeds: errorEmbed });
+
+ if (message) {
+ if (!client.config.owners.includes(message.author.id)) {
+ const errorUserEmbed = _generateErrorEmbed({
+ ...options,
+ type: 'command-user'
+ });
+ void message.util?.send({ embeds: errorUserEmbed }).catch(() => null);
+ } else {
+ const errorDevEmbed = _generateErrorEmbed({
+ ...options,
+ type: 'command-dev'
+ });
+
+ void message.util?.send({ embeds: errorDevEmbed }).catch(() => null);
+ }
+ }
+ } catch (e) {
+ throw new IFuckedUpError('An error occurred while handling a command error.', error, e);
+ }
+}
+
+export async function generateErrorEmbed(
+ client: Client,
+ options:
+ | {
+ message: Message | AkairoMessage;
+ error: Error | any;
+ isSlash?: boolean;
+ type: 'command-log' | 'command-dev' | 'command-user';
+ errorNum: number;
+ command?: Command;
+ channel?: string;
+ }
+ | { error: Error | any; type: 'uncaughtException' | 'unhandledRejection'; context?: string }
+): Promise<EmbedBuilder[]> {
+ const _haste = getErrorHaste(client, options.error);
+ const _stack = getErrorStack(client, options.error);
+ const [haste, stack] = await Promise.all([_haste, _stack]);
+
+ return _generateErrorEmbed({ ...options, haste, stack });
+}
+
+function _generateErrorEmbed(
+ options:
+ | {
+ message: Message | SlashMessage;
+ error: Error | any;
+ isSlash?: boolean;
+ type: 'command-log' | 'command-dev' | 'command-user';
+ errorNum: number;
+ command?: Command;
+ channel?: string;
+ haste: string[];
+ stack: string;
+ }
+ | {
+ error: Error | any;
+ type: 'uncaughtException' | 'unhandledRejection';
+ context?: string;
+ haste: string[];
+ stack: string;
+ }
+): EmbedBuilder[] {
+ const embeds = [new EmbedBuilder().setColor(colors.error)];
+ if (options.type === 'command-user') {
+ embeds[0]
+ .setTitle('An Error Occurred')
+ .setDescription(
+ `Oh no! ${
+ options.command ? `While running the ${options.isSlash ? 'slash ' : ''}command ${input(options.command.id)}, a` : 'A'
+ }n error occurred. Please give the developers code ${input(`${options.errorNum}`)}.`
+ )
+ .setTimestamp();
+ return embeds;
+ }
+ const description: string[] = [];
+
+ if (options.type === 'command-log') {
+ description.push(
+ `**User:** ${options.message.author} (${options.message.author.tag})`,
+ `**Command:** ${options.command ?? 'N/A'}`,
+ `**Channel:** <#${options.message.channel?.id}> (${options.channel})`,
+ `**Message:** [link](${options.message.url})`
+ );
+ if (options.message?.util?.parsed?.content) description.push(`**Command Content:** ${options.message.util.parsed.content}`);
+ }
+
+ description.push(...options.haste);
+
+ embeds.push(new EmbedBuilder().setColor(colors.error).setTimestamp().setDescription(options.stack.substring(0, 4000)));
+ if (description.length) embeds[0].setDescription(description.join('\n').substring(0, 4000));
+
+ if (options.type === 'command-dev' || options.type === 'command-log')
+ embeds[0].setTitle(`${options.isSlash ? 'Slash ' : ''}CommandError #${input(`${options.errorNum}`)}`);
+ else if (options.type === 'uncaughtException')
+ embeds[0].setTitle(`${options.context ? `[${bold(options.context)}] An Error Occurred` : 'Uncaught Exception'}`);
+ else if (options.type === 'unhandledRejection')
+ embeds[0].setTitle(`${options.context ? `[${bold(options.context)}] An Error Occurred` : 'Unhandled Promise Rejection'}`);
+ return embeds;
+}
+
+export async function getErrorHaste(client: Client, error: Error | any): Promise<string[]> {
+ const inspectOptions = {
+ showHidden: false,
+ depth: 9,
+ colors: false,
+ customInspect: true,
+ showProxy: false,
+ maxArrayLength: Infinity,
+ maxStringLength: Infinity,
+ breakLength: 80,
+ compact: 3,
+ sorted: false,
+ getters: true
+ };
+
+ const ret: string[] = [];
+ const promises: Promise<{
+ url?: string | undefined;
+ error?: 'content too long' | 'substr' | 'unable to post' | undefined;
+ }>[] = [];
+ const pair: {
+ [key: string]: {
+ url?: string | undefined;
+ error?: 'content too long' | 'substr' | 'unable to post' | undefined;
+ };
+ } = {};
+
+ for (const element in error) {
+ if (['stack', 'name', 'message'].includes(element)) continue;
+ else if (typeof (error as any)[element] === 'object') {
+ promises.push(client.utils.inspectCleanRedactHaste((error as any)[element], inspectOptions));
+ }
+ }
+
+ const links = await Promise.all(promises);
+
+ let index = 0;
+ for (const element in error) {
+ if (['stack', 'name', 'message'].includes(element)) continue;
+ else if (typeof (error as any)[element] === 'object') {
+ pair[element] = links[index];
+ index++;
+ }
+ }
+
+ for (const element in error) {
+ if (['stack', 'name', 'message'].includes(element)) continue;
+ else {
+ ret.push(
+ `**Error ${capitalize(element)}:** ${
+ typeof error[element] === 'object'
+ ? `${
+ pair[element].url
+ ? `[haste](${pair[element].url})${pair[element].error ? ` - ${pair[element].error}` : ''}`
+ : pair[element].error
+ }`
+ : `\`${escapeInlineCode(client.utils.inspectAndRedact((error as any)[element], inspectOptions))}\``
+ }`
+ );
+ }
+ }
+ return ret;
+}
+
+export async function getErrorStack(client: Client, error: Error | any): Promise<string> {
+ return await client.utils.inspectCleanRedactCodeblock(error, 'js', { colors: false }, 4000);
+}
+
+export class IFuckedUpError extends Error {
+ public declare original: Error | any;
+ public declare newError: Error | any;
+
+ public constructor(message: string, original?: Error | any, newError?: Error | any) {
+ super(message);
+ this.name = 'IFuckedUpError';
+ this.original = original;
+ this.newError = newError;
+ }
+}
diff --git a/lib/utils/FormatResponse.ts b/lib/utils/FormatResponse.ts
new file mode 100644
index 0000000..f094601
--- /dev/null
+++ b/lib/utils/FormatResponse.ts
@@ -0,0 +1,32 @@
+import type { GuildMember } from 'discord.js';
+import { unmuteResponse, UnmuteResponse } from '../extensions/discord.js/ExtendedGuildMember.js';
+import { emojis } from './BushConstants.js';
+import { format } from './BushUtils.js';
+import { input } from './Format.js';
+
+export function formatUnmuteResponse(prefix: string, member: GuildMember, code: UnmuteResponse): string {
+ const error = emojis.error;
+ const victim = input(member.user.tag);
+ switch (code) {
+ case unmuteResponse.MISSING_PERMISSIONS:
+ return `${error} Could not unmute ${victim} because I am missing the **Manage Roles** permission.`;
+ case unmuteResponse.NO_MUTE_ROLE:
+ return `${error} Could not unmute ${victim}, you must set a mute role with \`${prefix}config muteRole\`.`;
+ case unmuteResponse.MUTE_ROLE_INVALID:
+ return `${error} Could not unmute ${victim} because the current mute role no longer exists. Please set a new mute role with \`${prefix}config muteRole\`.`;
+ case unmuteResponse.MUTE_ROLE_NOT_MANAGEABLE:
+ return `${error} Could not unmute ${victim} because I cannot assign the current mute role, either change the role's position or set a new mute role with \`${prefix}config muteRole\`.`;
+ case unmuteResponse.ACTION_ERROR:
+ return `${error} Could not unmute ${victim}, there was an error removing their mute role.`;
+ case unmuteResponse.MODLOG_ERROR:
+ return `${error} While muting ${victim}, there was an error creating a modlog entry, please report this to my developers.`;
+ case unmuteResponse.PUNISHMENT_ENTRY_REMOVE_ERROR:
+ return `${error} While muting ${victim}, there was an error removing their mute entry, please report this to my developers.`;
+ case unmuteResponse.DM_ERROR:
+ return `${emojis.warn} unmuted ${victim} however I could not send them a dm.`;
+ case unmuteResponse.SUCCESS:
+ return `${emojis.success} Successfully unmuted ${victim}.`;
+ default:
+ return `${emojis.error} An error occurred: ${format.input(code)}}`;
+ }
+}
diff --git a/lib/utils/UpdateCache.ts b/lib/utils/UpdateCache.ts
new file mode 100644
index 0000000..2f96d9d
--- /dev/null
+++ b/lib/utils/UpdateCache.ts
@@ -0,0 +1,36 @@
+import config from '#config';
+import { Client } from 'discord.js';
+import { Global, Guild, Shared } from '../models/index.js';
+
+export async function updateGlobalCache(client: Client) {
+ const environment = config.environment;
+ const row: { [x: string]: any } = ((await Global.findByPk(environment)) ?? (await Global.create({ environment }))).toJSON();
+
+ for (const option in row) {
+ if (Object.keys(client.cache.global).includes(option)) {
+ client.cache.global[option as keyof typeof client.cache.global] = row[option];
+ }
+ }
+}
+
+export async function updateSharedCache(client: Client) {
+ const row: { [x: string]: any } = ((await Shared.findByPk(0)) ?? (await Shared.create())).toJSON();
+
+ for (const option in row) {
+ if (Object.keys(client.cache.shared).includes(option)) {
+ client.cache.shared[option as keyof typeof client.cache.shared] = row[option];
+ if (option === 'superUsers') client.superUserID = row[option];
+ }
+ }
+}
+
+export async function updateGuildCache(client: Client) {
+ const rows = await Guild.findAll();
+ for (const row of rows) {
+ client.cache.guilds.set(row.id, row.toJSON() as Guild);
+ }
+}
+
+export async function updateEveryCache(client: Client) {
+ await Promise.all([updateGlobalCache(client), updateSharedCache(client), updateGuildCache(client)]);
+}
diff --git a/neu-item-repo b/neu-item-repo
-Subproject 27f73b42b3aaa20d361e8b29ace2ed387836782
+Subproject 3a694f67fcbacf37b9f2b2d62ac30840601c039
diff --git a/neu-item-repo-dangerous b/neu-item-repo-dangerous
-Subproject 27f73b42b3aaa20d361e8b29ace2ed387836782
+Subproject 3a694f67fcbacf37b9f2b2d62ac30840601c039
diff --git a/package.json b/package.json
index 0358079..2c2db00 100644
--- a/package.json
+++ b/package.json
@@ -21,21 +21,18 @@
],
"license": "CC-BY-NC-SA-4.0",
"scripts": {
- "build:esbuild": "yarn rimraf dist && yarn esbuild --sourcemap=inline --outdir=dist --platform=node --target=es2020 --format=esm --log-level=warning src/**/*.ts",
- "build:tsc": "yarn rimraf dist && yarn tsc",
- "build:tsc:no-emit": "yarn tsc --noEmit",
- "build:keep": "yarn tsc",
- "start:raw": "node --enable-source-maps --experimental-json-modules --no-warnings dist/src/bot.js",
- "start:esbuild": "yarn build:esbuild && yarn start:raw",
- "start": "yarn build:tsc && yarn start:raw",
+ "build": "yarn rimraf dist && yarn tsc -b",
+ "build:no-emit": "yarn tsc --noEmit",
+ "build:keep": "yarn tsc -b",
+ "start": "yarn build && yarn start:raw",
"start:keep": "yarn build:keep && yarn start:raw",
"start:dry": "yarn start dry",
- "dev": "yarn build:tsc && yarn start:raw",
- "test": "yarn lint && yarn tsc --noEmit",
+ "start:raw": "node --enable-source-maps --experimental-json-modules --no-warnings dist/src/bot.js",
+ "test": "yarn lint && yarn build:no-emit",
"format": "yarn prettier . --write",
- "lint": "yarn eslint src lib config tests",
"format:check": "yarn prettier . --check",
- "upgrade": "yarn rimraf yarn.lock && yarn cache clean && yarn install && yarn up && yarn up -R && yarn set version latest && git submodule update --recursive --remote",
+ "lint": "yarn eslint src lib config tests",
+ "upgrade": "yarn rimraf yarn.lock && yarn cache clean && yarn install && yarn set version latest && git submodule update --recursive --remote && yarn upgrade-interactive",
"upgrade:sdk": "yarn dlx @yarnpkg/sdks vscode",
"beta": "git push && git checkout beta && git merge master && git push && git checkout master",
"deploy:beta": "pm2 deploy ecosystem.config.cjs beta",
@@ -46,8 +43,11 @@
"#lib": {
"default": "./lib/index.js"
},
- "#constants": {
- "default": "./lib/utils/BushConstants.js"
+ "#lib/*": {
+ "default": "./lib/*"
+ },
+ "#src/*": {
+ "default": "./src/*"
},
"#args": {
"default": "./lib/arguments/index.js"
@@ -57,6 +57,9 @@
},
"#tags": {
"default": "./lib/common/tags.js"
+ },
+ "#config": {
+ "default": "./config/index.js"
}
},
"dependencies": {
@@ -68,9 +71,9 @@
"@notenoughupdates/humanize-duration": "^4.0.1",
"@notenoughupdates/simplify-number": "^1.0.1",
"@notenoughupdates/wolfram-alpha-api": "^1.0.2",
- "@sentry/integrations": "^7.9.0",
- "@sentry/node": "^7.9.0",
- "@sentry/tracing": "^7.9.0",
+ "@sentry/integrations": "^7.11.1",
+ "@sentry/node": "^7.11.1",
+ "@sentry/tracing": "^7.11.1",
"canvas": "^2.9.3",
"chalk": "^5.0.1",
"deep-lock": "^1.0.0",
@@ -79,8 +82,7 @@
"discord.js": "npm:@notenoughupdates/discord.js@forum",
"fuse.js": "^6.6.2",
"gif-to-apng": "^0.1.2",
- "googleapis": "^105.0.0",
- "got": "^12.3.1",
+ "googleapis": "^107.0.0",
"lodash": "^4.17.21",
"mathjs": "^11.0.1",
"nanoid": "^4.0.0",
@@ -90,34 +92,32 @@
"prettier": "^2.7.1",
"pretty-bytes": "^6.0.0",
"rimraf": "^3.0.2",
- "sequelize": "6.21.3",
+ "sequelize": "6.21.4",
"tinycolor2": "^1.4.2",
"typescript": "^4.7.4",
"vm2": "^3.9.10"
},
"devDependencies": {
"@sapphire/snowflake": "^3.2.2",
- "@sentry/types": "^7.9.0",
- "@types/eslint": "^8.4.5",
+ "@sentry/types": "^7.11.1",
+ "@types/eslint": "^8.4.6",
"@types/express": "^4.17.13",
- "@types/lodash": "^4.14.182",
- "@types/node": "^18.6.5",
+ "@types/lodash": "^4.14.184",
+ "@types/node": "^18.7.8",
"@types/numeral": "^2.0.2",
"@types/pg": "^8.6.5",
"@types/prettier": "^2.7.0",
"@types/rimraf": "^3.0.2",
"@types/tinycolor2": "^1.4.3",
"@types/validator": "^13.7.5",
- "@typescript-eslint/eslint-plugin": "^5.33.0",
- "@typescript-eslint/parser": "^5.33.0",
- "electron": "^20.0.1",
- "eslint": "^8.21.0",
+ "@typescript-eslint/eslint-plugin": "^5.33.1",
+ "@typescript-eslint/parser": "^5.33.1",
+ "eslint": "^8.22.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-deprecation": "^1.3.2",
- "eslint-plugin-import": "^2.26.0",
"node-fetch": "^3.2.10",
"ts-essentials": "^9.2.0",
- "vitest": "^0.21.1"
+ "vitest": "^0.22.1"
},
"packageManager": "yarn@3.2.2",
"resolutions": {
diff --git a/src/bot.ts b/src/bot.ts
index 10818e9..ed8ca65 100644
--- a/src/bot.ts
+++ b/src/bot.ts
@@ -1,11 +1,13 @@
+console.log('Tanzanite is Starting');
+
import { init } from '../lib/utils/BushLogger.js';
// creates proxies on console.log and console.warn
// also starts a REPL session
init();
+import { config } from '#config';
import { dirname } from 'path';
import { fileURLToPath } from 'url';
-import { default as config } from '../config/options.js';
import { Sentry } from '../lib/common/Sentry.js';
import { BushClient } from '../lib/extensions/discord-akairo/BushClient.js';
@@ -16,7 +18,6 @@ const client = new BushClient(config);
if (!isDry) await client.dbPreInit();
await client.init();
if (isDry) {
- await client.destroy();
process.exit(0);
} else {
await client.start();
diff --git a/src/commands/admin/channelPermissions.ts b/src/commands/admin/channelPermissions.ts
index 21abd04..0b09e54 100644
--- a/src/commands/admin/channelPermissions.ts
+++ b/src/commands/admin/channelPermissions.ts
@@ -1,5 +1,6 @@
import {
Arg,
+ BushCommand,
ButtonPaginator,
clientSendAndPermCheck,
emojis,
@@ -10,7 +11,6 @@ import {
} from '#lib';
import assert from 'assert/strict';
import { ApplicationCommandOptionType, EmbedBuilder, PermissionFlagsBits } from 'discord.js';
-import { BushCommand } from '../../../lib/extensions/discord-akairo/BushCommand.js';
export default class ChannelPermissionsCommand extends BushCommand {
public constructor() {
diff --git a/src/commands/admin/roleAll.ts b/src/commands/admin/roleAll.ts
index a48bd6b..54afc2a 100644
--- a/src/commands/admin/roleAll.ts
+++ b/src/commands/admin/roleAll.ts
@@ -7,7 +7,6 @@ import {
type CommandMessage,
type SlashMessage
} from '#lib';
-
import assert from 'assert/strict';
import { ApplicationCommandOptionType, PermissionFlagsBits, type GuildMember } from 'discord.js';
diff --git a/src/commands/config/config.ts b/src/commands/config/config.ts
index f6b8bfa..39a44d1 100644
--- a/src/commands/config/config.ts
+++ b/src/commands/config/config.ts
@@ -15,7 +15,6 @@ import {
type SlashMessage
} from '#lib';
import assert from 'assert/strict';
-
import { type ArgumentGeneratorReturn, type SlashOption } from 'discord-akairo';
import {
ActionRowBuilder,
diff --git a/src/commands/config/disable.ts b/src/commands/config/disable.ts
index 00dea76..f9abb4a 100644
--- a/src/commands/config/disable.ts
+++ b/src/commands/config/disable.ts
@@ -11,7 +11,7 @@ import {
} from '#lib';
import assert from 'assert/strict';
import { ApplicationCommandOptionType, AutocompleteInteraction, PermissionFlagsBits } from 'discord.js';
-import Fuse from 'fuse.js';
+import { default as Fuse } from 'fuse.js';
assert(Fuse);
diff --git a/src/commands/dev/eval.ts b/src/commands/dev/eval.ts
index 04db2eb..fdef3ac 100644
--- a/src/commands/dev/eval.ts
+++ b/src/commands/dev/eval.ts
@@ -45,7 +45,6 @@ import {
ReactionCollector,
SelectMenuComponent
} from 'discord.js';
-import got from 'got';
import path from 'path';
import ts from 'typescript';
import { fileURLToPath } from 'url';
@@ -57,7 +56,7 @@ const { transpile } = ts,
/* eslint-enable @typescript-eslint/no-unused-vars */
// prettier-ignore
-assertAll(ActivePunishment, BushCommand, Global, Guild, Level, ModLog, Shared, StickyRole, Snowflake_, Canvas, exec, ActionRow, ButtonComponent, ButtonInteraction, Collection, Collector, CommandInteraction, ContextMenuCommandInteraction, DMChannel, Embed, Emoji, InteractionCollector, Message, Attachment, MessageCollector, OAuth2Scopes, PermissionFlagsBits, PermissionsBitField, ReactionCollector, SelectMenuComponent, path, ts, fileURLToPath, promisify, assert, got, transpile, sh, SnowflakeUtil, __dirname);
+assertAll(ActivePunishment, BushCommand, Global, Guild, Level, ModLog, Shared, StickyRole, Snowflake_, Canvas, exec, ActionRow, ButtonComponent, ButtonInteraction, Collection, Collector, CommandInteraction, ContextMenuCommandInteraction, DMChannel, Embed, Emoji, InteractionCollector, Message, Attachment, MessageCollector, OAuth2Scopes, PermissionFlagsBits, PermissionsBitField, ReactionCollector, SelectMenuComponent, path, ts, fileURLToPath, promisify, assert, transpile, sh, SnowflakeUtil, __dirname);
export default class EvalCommand extends BushCommand {
public constructor() {
diff --git a/src/commands/dev/reload.ts b/src/commands/dev/reload.ts
index 40d53eb..8125015 100644
--- a/src/commands/dev/reload.ts
+++ b/src/commands/dev/reload.ts
@@ -8,17 +8,6 @@ export default class ReloadCommand extends BushCommand {
description: 'Reloads the bot',
usage: ['reload'],
examples: ['reload'],
- // args: [
- // {
- // id: 'fast',
- // description: 'Whether or not to use esbuild for fast compiling.',
- // match: 'flag',
- // flag: ['--fast'],
- // prompt: 'Would you like to use esbuild for fast compiling?',
- // optional: true,
- // slashType: ApplicationCommandOptionType.Boolean
- // }
- // ],
ownerOnly: true,
typing: true,
slash: true,
@@ -27,13 +16,13 @@ export default class ReloadCommand extends BushCommand {
});
}
- public override async exec(message: CommandMessage | SlashMessage /* args: { fast: ArgType<'flag'> } */) {
+ public override async exec(message: CommandMessage | SlashMessage) {
if (!message.author.isOwner()) return await message.util.reply(`${emojis.error} Only my developers can run this command.`);
let output: { stdout: string; stderr: string };
try {
const s = new Date();
- output = await shell(`yarn build:${/* args.fast ? 'esbuild' : */ 'tsc'}`);
+ output = await shell(`yarn build`);
await Promise.all([
this.client.commandHandler.reloadAll(),
this.client.listenerHandler.reloadAll(),
diff --git a/src/commands/dev/syncAutomod.ts b/src/commands/dev/syncAutomod.ts
index c78e6c0..3dbd0be 100644
--- a/src/commands/dev/syncAutomod.ts
+++ b/src/commands/dev/syncAutomod.ts
@@ -1,5 +1,4 @@
import { BushCommand, clientSendAndPermCheck, emojis, Shared, type CommandMessage, type SlashMessage } from '#lib';
-import got from 'got';
import typescript from 'typescript';
import { NodeVM } from 'vm2';
@@ -22,10 +21,12 @@ export default class SyncAutomodCommand extends BushCommand {
if (!message.author.isOwner() && message.author.id !== '497789163555389441')
return await message.util.reply(`${emojis.error} Only a very select few may use this command.`);
- const badLinks = (await got.get('https://raw.githubusercontent.com/NotEnoughUpdates/bush-bot/master/src/lib/badlinks.ts'))
- .body;
- const badWords = (await got.get('https://raw.githubusercontent.com/NotEnoughUpdates/bush-bot/master/src/lib/badwords.ts'))
- .body;
+ const badLinks = await fetch('https://raw.githubusercontent.com/NotEnoughUpdates/bush-bot/master/src/lib/badlinks.ts').then(
+ (p) => p.text()
+ );
+ const badWords = await fetch('https://raw.githubusercontent.com/NotEnoughUpdates/bush-bot/master/src/lib/badwords.ts').then(
+ (p) => p.text()
+ );
const transpiledBadLinks = typescript.transpileModule(badLinks, {}).outputText;
const transpiledBadWords = typescript.transpileModule(badWords, {}).outputText;
diff --git a/src/commands/index.ts b/src/commands/index.ts
index a9db0de..59801c7 100644
--- a/src/commands/index.ts
+++ b/src/commands/index.ts
@@ -62,7 +62,7 @@ export { default as ServerStatusCommand } from './moulberry-bush/serverStatus.js
export { default as ActivityCommand } from './utilities/activity.js';
export { default as CalculatorCommand } from './utilities/calculator.js';
export { default as DecodeCommand } from './utilities/decode.js';
-export { default as HashCommand } from './utilities/hash.js';
+// export { default as HashCommand } from './utilities/hash.js';
export { default as PriceCommand } from './utilities/price.js';
export { default as RemindCommand } from './utilities/remind.js';
export { default as RemindersCommand } from './utilities/reminders.js';
diff --git a/src/commands/info/help.ts b/src/commands/info/help.ts
index 62f177e..df18403 100644
--- a/src/commands/info/help.ts
+++ b/src/commands/info/help.ts
@@ -20,7 +20,7 @@ import {
EmbedBuilder,
PermissionFlagsBits
} from 'discord.js';
-import Fuse from 'fuse.js';
+import { default as Fuse } from 'fuse.js';
import packageDotJSON from '../../../package.json' assert { type: 'json' };
assert(Fuse);
diff --git a/src/commands/leveling/level.ts b/src/commands/leveling/level.ts
index eda43f2..219ae19 100644
--- a/src/commands/leveling/level.ts
+++ b/src/commands/leveling/level.ts
@@ -13,11 +13,7 @@ import { SimplifyNumber } from '@notenoughupdates/simplify-number';
import assert from 'assert/strict';
import canvas from 'canvas';
import { ApplicationCommandOptionType, AttachmentBuilder, Guild, PermissionFlagsBits, User } from 'discord.js';
-import got from 'got';
-import { dirname, join } from 'path';
-import { fileURLToPath } from 'url';
assert(canvas);
-assert(got);
assert(SimplifyNumber);
export default class LevelCommand extends BushCommand {
@@ -85,10 +81,12 @@ export default class LevelCommand extends BushCommand {
const white = '#FFFFFF',
gray = '#23272A',
highlight = user.hexAccentColor ?? '#5865F2';
- // Load roboto font
+
+ // ! Broken on node v18 - install the font instead
+ /* // Load roboto font
canvas.registerFont(join(dirname(fileURLToPath(import.meta.url)), '..', '..', '..', '..', 'assets', 'Roboto-Regular.ttf'), {
family: 'Roboto'
- });
+ }); */
// Create image canvas
const levelCard = canvas.createCanvas(800, 200),
ctx = levelCard.getContext('2d');
@@ -97,9 +95,14 @@ export default class LevelCommand extends BushCommand {
ctx.fillRect(0, 0, levelCard.width, levelCard.height);
// Draw avatar
const AVATAR_SIZE = 128;
- const avatarBuffer = await got.get(user.displayAvatarURL({ extension: 'png', size: AVATAR_SIZE })).buffer();
const avatarImage = new canvas.Image();
- avatarImage.src = avatarBuffer;
+ avatarImage.src = user.displayAvatarURL({ extension: 'png', size: AVATAR_SIZE });
+
+ await new Promise((resolve, reject) => {
+ avatarImage.onload = () => resolve(undefined);
+ avatarImage.onerror = (e) => reject(e);
+ });
+
const imageTopCoord = levelCard.height / 2 - AVATAR_SIZE / 2;
ctx.drawImage(avatarImage, imageTopCoord, imageTopCoord, AVATAR_SIZE, AVATAR_SIZE);
// Write tag of user
@@ -123,13 +126,12 @@ export default class LevelCommand extends BushCommand {
progressBar.draw();
// Draw level data text
ctx.fillStyle = white;
- ctx.fillText(
- `Level: ${userLevel} XP: ${SimplifyNumber(currentLevelXpProgress)}/${SimplifyNumber(
- xpForNextLevel
- )} Rank: ${SimplifyNumber(rank.indexOf(rank.find((x) => x.user === user.id)!) + 1)}`,
- AVATAR_SIZE + 70,
- AVATAR_SIZE - 20
- );
+
+ const xpTxt = `${SimplifyNumber(currentLevelXpProgress)}/${SimplifyNumber(xpForNextLevel)}`;
+
+ const rankTxt = SimplifyNumber(rank.indexOf(rank.find((x) => x.user === user.id)!) + 1);
+
+ ctx.fillText(`Level: ${userLevel} XP: ${xpTxt} Rank: ${rankTxt}`, AVATAR_SIZE + 70, AVATAR_SIZE - 20);
// Return image in buffer form
return levelCard.toBuffer();
}
diff --git a/src/commands/moderation/unmute.ts b/src/commands/moderation/unmute.ts
index 620f499..f1e74ab 100644
--- a/src/commands/moderation/unmute.ts
+++ b/src/commands/moderation/unmute.ts
@@ -1,19 +1,16 @@
import {
AllowedMentions,
clientSendAndPermCheck,
- emojis,
- format,
+ formatUnmuteResponse,
Moderation,
- unmuteResponse,
userGuildPermCheck,
type ArgType,
type CommandMessage,
type OptArgType,
- type SlashMessage,
- type UnmuteResponse
+ type SlashMessage
} from '#lib';
import assert from 'assert/strict';
-import { ApplicationCommandOptionType, PermissionFlagsBits, type GuildMember } from 'discord.js';
+import { ApplicationCommandOptionType, PermissionFlagsBits } from 'discord.js';
import { BushCommand } from '../../../lib/extensions/discord-akairo/BushCommand.js';
export default class UnmuteCommand extends BushCommand {
@@ -83,35 +80,8 @@ export default class UnmuteCommand extends BushCommand {
});
return await message.util.reply({
- content: UnmuteCommand.formatCode(member.client.utils.prefix(message), member, responseCode),
+ content: formatUnmuteResponse(member.client.utils.prefix(message), member, responseCode),
allowedMentions: AllowedMentions.none()
});
}
-
- public static formatCode(prefix: string, member: GuildMember, code: UnmuteResponse): string {
- const error = emojis.error;
- const victim = format.input(member.user.tag);
- switch (code) {
- case unmuteResponse.MISSING_PERMISSIONS:
- return `${error} Could not unmute ${victim} because I am missing the **Manage Roles** permission.`;
- case unmuteResponse.NO_MUTE_ROLE:
- return `${error} Could not unmute ${victim}, you must set a mute role with \`${prefix}config muteRole\`.`;
- case unmuteResponse.MUTE_ROLE_INVALID:
- return `${error} Could not unmute ${victim} because the current mute role no longer exists. Please set a new mute role with \`${prefix}config muteRole\`.`;
- case unmuteResponse.MUTE_ROLE_NOT_MANAGEABLE:
- return `${error} Could not unmute ${victim} because I cannot assign the current mute role, either change the role's position or set a new mute role with \`${prefix}config muteRole\`.`;
- case unmuteResponse.ACTION_ERROR:
- return `${error} Could not unmute ${victim}, there was an error removing their mute role.`;
- case unmuteResponse.MODLOG_ERROR:
- return `${error} While muting ${victim}, there was an error creating a modlog entry, please report this to my developers.`;
- case unmuteResponse.PUNISHMENT_ENTRY_REMOVE_ERROR:
- return `${error} While muting ${victim}, there was an error removing their mute entry, please report this to my developers.`;
- case unmuteResponse.DM_ERROR:
- return `${emojis.warn} unmuted ${victim} however I could not send them a dm.`;
- case unmuteResponse.SUCCESS:
- return `${emojis.success} Successfully unmuted ${victim}.`;
- default:
- return `${emojis.error} An error occurred: ${format.input(code)}}`;
- }
- }
}
diff --git a/src/commands/moulberry-bush/capePermissions.ts b/src/commands/moulberry-bush/capePermissions.ts
index 3ad9602..793ac59 100644
--- a/src/commands/moulberry-bush/capePermissions.ts
+++ b/src/commands/moulberry-bush/capePermissions.ts
@@ -11,7 +11,6 @@ import {
type SlashMessage
} from '#lib';
import { ApplicationCommandOptionType, EmbedBuilder, PermissionFlagsBits } from 'discord.js';
-import got from 'got';
export default class CapePermissionsCommand extends BushCommand {
public constructor() {
@@ -50,7 +49,7 @@ export default class CapePermissionsCommand extends BushCommand {
}
try {
- capePerms = await got.get('http://moulberry.codes/permscapes.json').json();
+ capePerms = await fetch('http://moulberry.codes/permscapes.json').then((p) => (p.ok ? p.json() : null));
} catch (error) {
capePerms = null;
}
diff --git a/src/commands/moulberry-bush/capes.ts b/src/commands/moulberry-bush/capes.ts
index 8693dba..6ffc540 100644
--- a/src/commands/moulberry-bush/capes.ts
+++ b/src/commands/moulberry-bush/capes.ts
@@ -14,11 +14,9 @@ import {
} from '#lib';
import assert from 'assert/strict';
import { ApplicationCommandOptionType, PermissionFlagsBits, type APIEmbed, type AutocompleteInteraction } from 'discord.js';
-import Fuse from 'fuse.js';
-import got from 'got';
+import { default as Fuse } from 'fuse.js';
assert(Fuse);
-assert(got);
export default class CapesCommand extends BushCommand {
public constructor() {
@@ -47,9 +45,9 @@ export default class CapesCommand extends BushCommand {
}
public override async exec(message: CommandMessage | SlashMessage, args: { cape: OptArgType<'string'> }) {
- const { tree: neuFileTree }: GithubTreeApi = await got
- .get('https://api.github.com/repos/NotEnoughUpdates/NotEnoughUpdates/git/trees/master?recursive=1')
- .json();
+ const { tree: neuFileTree }: GithubTreeApi = await fetch(
+ 'https://api.github.com/repos/NotEnoughUpdates/NotEnoughUpdates/git/trees/master?recursive=1'
+ ).then((p) => (p.ok ? p.json() : { tree: [] }));
const rawCapes = neuFileTree
.map((f) => ({
match: f.path.match(/src\/main\/resources\/assets\/notenoughupdates\/capes\/(?<name>\w+)_preview\.png/),
diff --git a/src/commands/moulberry-bush/serverStatus.ts b/src/commands/moulberry-bush/serverStatus.ts
index 1237b3f..cde3f04 100644
--- a/src/commands/moulberry-bush/serverStatus.ts
+++ b/src/commands/moulberry-bush/serverStatus.ts
@@ -1,9 +1,5 @@
import { BushCommand, clientSendAndPermCheck, colors, emojis, type CommandMessage } from '#lib';
-import assert from 'assert/strict';
import { EmbedBuilder, PermissionFlagsBits } from 'discord.js';
-import got from 'got';
-
-assert(got);
export default class ServerStatusCommand extends BushCommand {
public constructor() {
@@ -28,8 +24,8 @@ export default class ServerStatusCommand extends BushCommand {
await message.util.reply({ embeds: [msgEmbed] });
let main;
try {
- await got.get('https://moulberry.codes/lowestbin.json').json();
- main = emojis.success;
+ const res = await fetch('https://moulberry.codes/lowestbin.json').then((p) => (p.ok ? p.json() : null));
+ main = res ? emojis.success : emojis.error;
} catch (e) {
main = emojis.error;
}
diff --git a/src/commands/utilities/hash.ts b/src/commands/utilities/hash.ts
index 6817f04..251d5e6 100644
--- a/src/commands/utilities/hash.ts
+++ b/src/commands/utilities/hash.ts
@@ -1,44 +1,44 @@
-import { BushCommand, clientSendAndPermCheck, type CommandMessage } from '#lib';
-import assert from 'assert/strict';
-import crypto from 'crypto';
-import { ApplicationCommandOptionType } from 'discord.js';
-import got from 'got';
+// import { BushCommand, clientSendAndPermCheck, type CommandMessage } from '#lib';
+// import assert from 'assert/strict';
+// import crypto from 'crypto';
+// import { ApplicationCommandOptionType } from 'discord.js';
+// import got from 'got';
-assert(crypto);
-assert(got);
+// assert(crypto);
+// assert(got);
-export default class HashCommand extends BushCommand {
- public constructor() {
- super('hash', {
- aliases: ['hash'],
- category: 'utilities',
- description: 'Gets the file hash of the given discord link',
- usage: ['hash <fileUrl>'],
- examples: ['hash https://cdn.discordapp.com/emojis/782630946435366942.png?v=1'], //nice
- args: [
- {
- id: 'url',
- description: 'The url of the discord link to find the hash of.',
- type: 'url',
- prompt: 'What url would you like to find the hash of?',
- retry: '{error} Enter a valid url.',
- slashType: ApplicationCommandOptionType.String
- }
- ],
- clientPermissions: (m) => clientSendAndPermCheck(m),
- userPermissions: []
- });
- }
+// export default class HashCommand extends BushCommand {
+// public constructor() {
+// super('hash', {
+// aliases: ['hash'],
+// category: 'utilities',
+// description: 'Gets the file hash of the given discord link',
+// usage: ['hash <fileUrl>'],
+// examples: ['hash https://cdn.discordapp.com/emojis/782630946435366942.png?v=1'], //nice
+// args: [
+// {
+// id: 'url',
+// description: 'The url of the discord link to find the hash of.',
+// type: 'url',
+// prompt: 'What url would you like to find the hash of?',
+// retry: '{error} Enter a valid url.',
+// slashType: ApplicationCommandOptionType.String
+// }
+// ],
+// clientPermissions: (m) => clientSendAndPermCheck(m),
+// userPermissions: []
+// });
+// }
- public override async exec(message: CommandMessage, { url }: { url: string }) {
- try {
- const req = await got.get(url);
- const rawHash = crypto.createHash('md5');
- rawHash.update(req.rawBody.toString('binary'));
- const hash = rawHash.digest('hex');
- await message.util.reply(`\`${hash}\``);
- } catch {
- await message.util.reply('Unable to calculate hash.');
- }
- }
-}
+// public override async exec(message: CommandMessage, { url }: { url: string }) {
+// try {
+// const req = await got.get(url);
+// const rawHash = crypto.createHash('md5');
+// rawHash.update(req.rawBody.toString('binary'));
+// const hash = rawHash.digest('hex');
+// await message.util.reply(`\`${hash}\``);
+// } catch {
+// await message.util.reply('Unable to calculate hash.');
+// }
+// }
+// }
diff --git a/src/commands/utilities/price.ts b/src/commands/utilities/price.ts
index 8a3b5c6..bfe1f10 100644
--- a/src/commands/utilities/price.ts
+++ b/src/commands/utilities/price.ts
@@ -1,11 +1,9 @@
import { ArgType, BushCommand, clientSendAndPermCheck, colors, emojis, format, oxford, type CommandMessage } from '#lib';
import assert from 'assert/strict';
import { ApplicationCommandOptionType, AutocompleteInteraction, EmbedBuilder, PermissionFlagsBits } from 'discord.js';
-import Fuse from 'fuse.js';
-import got from 'got';
+import { default as Fuse } from 'fuse.js';
assert(Fuse);
-assert(got);
export default class PriceCommand extends BushCommand {
public static cachedItemList: string[] = [];
@@ -57,9 +55,8 @@ export default class PriceCommand extends BushCommand {
const [bazaar, currentLowestBIN, averageLowestBIN, auctionAverages] = (await Promise.all(
PriceCommand.urls.map(({ url, error }) =>
- got
- .get(url)
- .json()
+ fetch(url)
+ .then((p) => (p.ok ? p.json() : undefined))
.catch(() => (errors.push(error), undefined))
)
)) as [Bazaar?, LowestBIN?, LowestBIN?, AuctionAverages?];
diff --git a/src/context-menu-commands/user/modlog.ts b/src/context-menu-commands/user/modlog.ts
index 91b1b62..c78396e 100644
--- a/src/context-menu-commands/user/modlog.ts
+++ b/src/context-menu-commands/user/modlog.ts
@@ -1,7 +1,7 @@
+import { ModlogCommand } from '#commands';
import { emojis, SlashMessage } from '#lib';
import { CommandUtil, ContextMenuCommand } from 'discord-akairo';
import { ApplicationCommandType, type ContextMenuCommandInteraction } from 'discord.js';
-import ModlogCommand from '../../commands/moderation/modlog.js';
export default class ModlogContextMenuCommand extends ContextMenuCommand {
public constructor() {
diff --git a/src/context-menu-commands/user/userInfo.ts b/src/context-menu-commands/user/userInfo.ts
index 0d19cce..6d7f3b6 100644
--- a/src/context-menu-commands/user/userInfo.ts
+++ b/src/context-menu-commands/user/userInfo.ts
@@ -1,7 +1,7 @@
+import { UserInfoCommand } from '#commands';
import { format } from '#lib';
import { ContextMenuCommand } from 'discord-akairo';
import { ApplicationCommandType, type ContextMenuCommandInteraction, type Guild } from 'discord.js';
-import UserInfoCommand from '../../commands/info/userInfo.js';
export default class UserInfoContextMenuCommand extends ContextMenuCommand {
public constructor() {
diff --git a/src/listeners/commands/commandError.ts b/src/listeners/commands/commandError.ts
index bfa857c..7e14bc3 100644
--- a/src/listeners/commands/commandError.ts
+++ b/src/listeners/commands/commandError.ts
@@ -1,8 +1,4 @@
-import { capitalize, colors, format, formatError, SlashMessage, type BushCommandHandlerEvents } from '#lib';
-import { type AkairoMessage, type Command } from 'discord-akairo';
-import { ChannelType, Client, EmbedBuilder, escapeInlineCode, GuildTextBasedChannel, type Message } from 'discord.js';
-import { BushListener } from '../../../lib/extensions/discord-akairo/BushListener.js';
-import { bold } from '../../../lib/utils/Format.js';
+import { BushListener, handleCommandError, type BushCommandHandlerEvents } from '#lib';
export default class CommandErrorListener extends BushListener {
public constructor() {
@@ -14,239 +10,6 @@ export default class CommandErrorListener extends BushListener {
}
public exec(...[error, message, command]: BushCommandHandlerEvents['error']) {
- return CommandErrorListener.handleError(this.client, error, message, command);
- }
-
- public static async handleError(
- client: Client,
- ...[error, message, _command]: BushCommandHandlerEvents['error'] | BushCommandHandlerEvents['slashError']
- ) {
- try {
- const isSlash = message.util?.isSlash;
- const errorNum = Math.floor(Math.random() * 6969696969) + 69; // hehe funny number
- const channel =
- message.channel?.type === ChannelType.DM
- ? message.channel.recipient?.tag
- : (<GuildTextBasedChannel>message.channel)?.name;
- const command = _command ?? message.util?.parsed?.command;
-
- client.sentry.captureException(error, {
- level: 'error',
- user: { id: message.author.id, username: message.author.tag },
- extra: {
- 'command.name': command?.id,
- 'message.id': message.id,
- 'message.type': message.util ? (message.util.isSlash ? 'slash' : 'normal') : 'unknown',
- 'message.parsed.content': message.util?.parsed?.content,
- 'channel.id':
- (message.channel?.type === ChannelType.DM ? message.channel.recipient?.id : message.channel?.id) ?? '¯\\_(ツ)_/¯',
- 'channel.name': channel,
- 'guild.id': message.guild?.id ?? '¯\\_(ツ)_/¯',
- 'guild.name': message.guild?.name ?? '¯\\_(ツ)_/¯',
- 'environment': client.config.environment
- }
- });
-
- void client.console.error(
- `${isSlash ? 'slashC' : 'c'}ommandError`,
- `an error occurred with the <<${command}>> ${isSlash ? 'slash ' : ''}command in <<${channel}>> triggered by <<${
- message?.author?.tag
- }>>:\n${formatError(error, true)})}`,
- false
- );
-
- const _haste = CommandErrorListener.getErrorHaste(client, error);
- const _stack = CommandErrorListener.getErrorStack(client, error);
- const [haste, stack] = await Promise.all([_haste, _stack]);
- const options = { message, error, isSlash, errorNum, command, channel, haste, stack };
-
- const errorEmbed = CommandErrorListener._generateErrorEmbed({
- ...options,
- type: 'command-log'
- });
-
- void client.logger.channelError({ embeds: errorEmbed });
-
- if (message) {
- if (!client.config.owners.includes(message.author.id)) {
- const errorUserEmbed = CommandErrorListener._generateErrorEmbed({
- ...options,
- type: 'command-user'
- });
- void message.util?.send({ embeds: errorUserEmbed }).catch(() => null);
- } else {
- const errorDevEmbed = CommandErrorListener._generateErrorEmbed({
- ...options,
- type: 'command-dev'
- });
-
- void message.util?.send({ embeds: errorDevEmbed }).catch(() => null);
- }
- }
- } catch (e) {
- throw new IFuckedUpError('An error occurred while handling a command error.', error, e);
- }
- }
-
- public static async generateErrorEmbed(
- client: Client,
- options:
- | {
- message: Message | AkairoMessage;
- error: Error | any;
- isSlash?: boolean;
- type: 'command-log' | 'command-dev' | 'command-user';
- errorNum: number;
- command?: Command;
- channel?: string;
- }
- | { error: Error | any; type: 'uncaughtException' | 'unhandledRejection'; context?: string }
- ): Promise<EmbedBuilder[]> {
- const _haste = CommandErrorListener.getErrorHaste(client, options.error);
- const _stack = CommandErrorListener.getErrorStack(client, options.error);
- const [haste, stack] = await Promise.all([_haste, _stack]);
-
- return CommandErrorListener._generateErrorEmbed({ ...options, haste, stack });
- }
-
- private static _generateErrorEmbed(
- options:
- | {
- message: Message | SlashMessage;
- error: Error | any;
- isSlash?: boolean;
- type: 'command-log' | 'command-dev' | 'command-user';
- errorNum: number;
- command?: Command;
- channel?: string;
- haste: string[];
- stack: string;
- }
- | {
- error: Error | any;
- type: 'uncaughtException' | 'unhandledRejection';
- context?: string;
- haste: string[];
- stack: string;
- }
- ): EmbedBuilder[] {
- const embeds = [new EmbedBuilder().setColor(colors.error)];
- if (options.type === 'command-user') {
- embeds[0]
- .setTitle('An Error Occurred')
- .setDescription(
- `Oh no! ${
- options.command
- ? `While running the ${options.isSlash ? 'slash ' : ''}command ${format.input(options.command.id)}, a`
- : 'A'
- }n error occurred. Please give the developers code ${format.input(`${options.errorNum}`)}.`
- )
- .setTimestamp();
- return embeds;
- }
- const description: string[] = [];
-
- if (options.type === 'command-log') {
- description.push(
- `**User:** ${options.message.author} (${options.message.author.tag})`,
- `**Command:** ${options.command ?? 'N/A'}`,
- `**Channel:** <#${options.message.channel?.id}> (${options.channel})`,
- `**Message:** [link](${options.message.url})`
- );
- if (options.message?.util?.parsed?.content) description.push(`**Command Content:** ${options.message.util.parsed.content}`);
- }
-
- description.push(...options.haste);
-
- embeds.push(new EmbedBuilder().setColor(colors.error).setTimestamp().setDescription(options.stack.substring(0, 4000)));
- if (description.length) embeds[0].setDescription(description.join('\n').substring(0, 4000));
-
- if (options.type === 'command-dev' || options.type === 'command-log')
- embeds[0].setTitle(`${options.isSlash ? 'Slash ' : ''}CommandError #${format.input(`${options.errorNum}`)}`);
- else if (options.type === 'uncaughtException')
- embeds[0].setTitle(`${options.context ? `[${bold(options.context)}] An Error Occurred` : 'Uncaught Exception'}`);
- else if (options.type === 'unhandledRejection')
- embeds[0].setTitle(`${options.context ? `[${bold(options.context)}] An Error Occurred` : 'Unhandled Promise Rejection'}`);
- return embeds;
- }
-
- public static async getErrorHaste(client: Client, error: Error | any): Promise<string[]> {
- const inspectOptions = {
- showHidden: false,
- depth: 9,
- colors: false,
- customInspect: true,
- showProxy: false,
- maxArrayLength: Infinity,
- maxStringLength: Infinity,
- breakLength: 80,
- compact: 3,
- sorted: false,
- getters: true
- };
-
- const ret: string[] = [];
- const promises: Promise<{
- url?: string | undefined;
- error?: 'content too long' | 'substr' | 'unable to post' | undefined;
- }>[] = [];
- const pair: {
- [key: string]: {
- url?: string | undefined;
- error?: 'content too long' | 'substr' | 'unable to post' | undefined;
- };
- } = {};
-
- for (const element in error) {
- if (['stack', 'name', 'message'].includes(element)) continue;
- else if (typeof (error as any)[element] === 'object') {
- promises.push(client.utils.inspectCleanRedactHaste((error as any)[element], inspectOptions));
- }
- }
-
- const links = await Promise.all(promises);
-
- let index = 0;
- for (const element in error) {
- if (['stack', 'name', 'message'].includes(element)) continue;
- else if (typeof (error as any)[element] === 'object') {
- pair[element] = links[index];
- index++;
- }
- }
-
- for (const element in error) {
- if (['stack', 'name', 'message'].includes(element)) continue;
- else {
- ret.push(
- `**Error ${capitalize(element)}:** ${
- typeof error[element] === 'object'
- ? `${
- pair[element].url
- ? `[haste](${pair[element].url})${pair[element].error ? ` - ${pair[element].error}` : ''}`
- : pair[element].error
- }`
- : `\`${escapeInlineCode(client.utils.inspectAndRedact((error as any)[element], inspectOptions))}\``
- }`
- );
- }
- }
- return ret;
- }
-
- public static async getErrorStack(client: Client, error: Error | any): Promise<string> {
- return await client.utils.inspectCleanRedactCodeblock(error, 'js', { colors: false }, 4000);
- }
-}
-
-export class IFuckedUpError extends Error {
- public declare original: Error | any;
- public declare newError: Error | any;
-
- public constructor(message: string, original?: Error | any, newError?: Error | any) {
- super(message);
- this.name = 'IFuckedUpError';
- this.original = original;
- this.newError = newError;
+ return handleCommandError(this.client, error, message, command);
}
}
diff --git a/src/listeners/commands/slashCommandError.ts b/src/listeners/commands/slashCommandError.ts
index 7c0d52c..aca7c5b 100644
--- a/src/listeners/commands/slashCommandError.ts
+++ b/src/listeners/commands/slashCommandError.ts
@@ -1,5 +1,4 @@
-import { BushListener, type BushCommandHandlerEvents } from '#lib';
-import CommandErrorListener from './commandError.js';
+import { BushListener, handleCommandError, type BushCommandHandlerEvents } from '#lib';
export default class SlashCommandErrorListener extends BushListener {
public constructor() {
@@ -11,6 +10,6 @@ export default class SlashCommandErrorListener extends BushListener {
}
public async exec(...[error, message, command]: BushCommandHandlerEvents['slashError']) {
- return await CommandErrorListener.handleError(this.client, error, message, command);
+ return await handleCommandError(this.client, error, message, command);
}
}
diff --git a/src/listeners/contextCommands/contextCommandError.ts b/src/listeners/contextCommands/contextCommandError.ts
index 4b1ea52..6951ce3 100644
--- a/src/listeners/contextCommands/contextCommandError.ts
+++ b/src/listeners/contextCommands/contextCommandError.ts
@@ -1,7 +1,6 @@
-import { BushListener, colors, format, formatError } from '#lib';
+import { BushListener, colors, format, formatError, getErrorHaste, getErrorStack, IFuckedUpError } from '#lib';
import { type ContextMenuCommand, type ContextMenuCommandHandlerEvents } from 'discord-akairo';
import { ChannelType, Client, ContextMenuCommandInteraction, EmbedBuilder, GuildTextBasedChannel } from 'discord.js';
-import CommandErrorListener, { IFuckedUpError } from '../commands/commandError.js';
export default class ContextCommandErrorListener extends BushListener {
public constructor() {
@@ -49,8 +48,8 @@ export default class ContextCommandErrorListener extends BushListener {
false
);
- const _haste = CommandErrorListener.getErrorHaste(client, error);
- const _stack = CommandErrorListener.getErrorStack(client, error);
+ const _haste = getErrorHaste(client, error);
+ const _stack = getErrorStack(client, error);
const [haste, stack] = await Promise.all([_haste, _stack]);
const options = { interaction, error, errorNum, command, channel, haste, stack };
diff --git a/src/listeners/member-custom/bushBan.ts b/src/listeners/member-custom/bushBan.ts
index 525184c..2cde91d 100644
--- a/src/listeners/member-custom/bushBan.ts
+++ b/src/listeners/member-custom/bushBan.ts
@@ -24,7 +24,7 @@ export default class BushBanListener extends BushListener {
{ name: '**Action**', value: `${duration ? 'Temp Ban' : 'Perm Ban'}` },
{ name: '**User**', value: `${user} (${user.tag})` },
{ name: '**Moderator**', value: `${moderator} (${moderator.tag})` },
- { name: '**Reason**', value: `${reason ? reason : '[No Reason Provided]'}` }
+ { name: '**Reason**', value: `${reason ? reason.substring(0, 1024) : '[No Reason Provided]'}` }
);
if (duration) logEmbed.addFields({ name: '**Duration**', value: humanizeDuration(duration) });
if (dmSuccess === false) logEmbed.addFields({ name: '**Additional Info**', value: 'Could not dm user.' });
diff --git a/src/listeners/message/blacklistedFile.ts b/src/listeners/message/blacklistedFile.ts
index 3d66f38..f3e082c 100644
--- a/src/listeners/message/blacklistedFile.ts
+++ b/src/listeners/message/blacklistedFile.ts
@@ -1,154 +1,154 @@
-import { BushListener, type BushClientEvents } from '#lib';
-import * as crypto from 'crypto';
-import { ChannelType } from 'discord.js';
-import got from 'got';
+// import { BushListener, type BushClientEvents } from '#lib';
+// import * as crypto from 'crypto';
+// import { ChannelType } from 'discord.js';
+// import got from 'got';
-export default class BlacklistedFileListener extends BushListener {
- #blacklistedFiles: { hash: string[]; name: string; description: string }[] = [
- {
- hash: ['a0f5e30426234bc9d09306ffc9474422'],
- name: 'Play twice audio',
- description: 'weird audio files'
- },
- {
- hash: ['43e55abbcea67d9e6d7abfff944a8d0b'],
- name: 'Flashy loud jumpscare',
- description: 'flashy, loud gifs'
- },
- {
- hash: [
- '7a0831239e8c8368e96fb4cacd61b5f2',
- '3bdb44bf3702f15d118f04fa63b927a9',
- 'b6e45619a68c0e20749edb2412590b15',
- 'bb8a27047518a8a7e420509af0e9e0ed',
- 'f8076cd51e1ddab4ceded26a764af160',
- '1757f0442b5e337bba0340f7b116e6f7',
- 'f59185531f0dfa9bdd323b86f796c3bd',
- '2825d3d82af65de210e638911e49b3a2',
- '5256c3c18b367552e55e463a60af7760'
- ],
- name: 'Discord crash video/gif',
- description: 'media that crashes discord'
- },
- {
- hash: ['1fd6b3f255946236fd55d3e4bef01c5f', '157d374ec41adeef9601fd87e23f4bf5'],
- name: 'Repost lobster video',
- description: 'images encouraging spam'
- },
- {
- hash: ['10ad124fc47cd9b7de2ec629bc945bf2'],
- name: 'Jarvis message top user troll thingy',
- description: 'gifs encouraging spam'
- },
- {
- hash: ['312cda77d3e1f5fa00f482aed3b36f6f'],
- name: 'Discord token stealer',
- description: 'discord token stealers'
- },
- {
- hash: ['f37f772246db9d690dee0f581682dfb7'],
- name: 'Weird nsfw dog vid',
- description: 'weird nsfw videos'
- },
- {
- hash: ['5a5bfdf02a0224d3468499d099ec4eee'],
- name: 'Virus (or at least flags antiviruses)',
- description: 'viruses'
- }
- ];
+// export default class BlacklistedFileListener extends BushListener {
+// #blacklistedFiles: { hash: string[]; name: string; description: string }[] = [
+// {
+// hash: ['a0f5e30426234bc9d09306ffc9474422'],
+// name: 'Play twice audio',
+// description: 'weird audio files'
+// },
+// {
+// hash: ['43e55abbcea67d9e6d7abfff944a8d0b'],
+// name: 'Flashy loud jumpscare',
+// description: 'flashy, loud gifs'
+// },
+// {
+// hash: [
+// '7a0831239e8c8368e96fb4cacd61b5f2',
+// '3bdb44bf3702f15d118f04fa63b927a9',
+// 'b6e45619a68c0e20749edb2412590b15',
+// 'bb8a27047518a8a7e420509af0e9e0ed',
+// 'f8076cd51e1ddab4ceded26a764af160',
+// '1757f0442b5e337bba0340f7b116e6f7',
+// 'f59185531f0dfa9bdd323b86f796c3bd',
+// '2825d3d82af65de210e638911e49b3a2',
+// '5256c3c18b367552e55e463a60af7760'
+// ],
+// name: 'Discord crash video/gif',
+// description: 'media that crashes discord'
+// },
+// {
+// hash: ['1fd6b3f255946236fd55d3e4bef01c5f', '157d374ec41adeef9601fd87e23f4bf5'],
+// name: 'Repost lobster video',
+// description: 'images encouraging spam'
+// },
+// {
+// hash: ['10ad124fc47cd9b7de2ec629bc945bf2'],
+// name: 'Jarvis message top user troll thingy',
+// description: 'gifs encouraging spam'
+// },
+// {
+// hash: ['312cda77d3e1f5fa00f482aed3b36f6f'],
+// name: 'Discord token stealer',
+// description: 'discord token stealers'
+// },
+// {
+// hash: ['f37f772246db9d690dee0f581682dfb7'],
+// name: 'Weird nsfw dog vid',
+// description: 'weird nsfw videos'
+// },
+// {
+// hash: ['5a5bfdf02a0224d3468499d099ec4eee'],
+// name: 'Virus (or at least flags antiviruses)',
+// description: 'viruses'
+// }
+// ];
- public constructor() {
- super('blacklistedFile', {
- emitter: 'client',
- event: 'messageCreate',
- category: 'message'
- });
- }
+// public constructor() {
+// super('blacklistedFile', {
+// emitter: 'client',
+// event: 'messageCreate',
+// category: 'message'
+// });
+// }
- public async exec(...[message]: BushClientEvents['messageCreate']) {
- if (!message.guild || !(await message.guild.hasFeature('blacklistedFile'))) return;
- // const embedAttachments = message.embeds.filter((e) => ['image', 'video', 'gifv'].includes(e.type));
- const foundEmojis = [...message.content.matchAll(/<(?<animated>a?):\w+:(?<id>\d+)>/g)];
- if (message.attachments.size + /* embedAttachments.length + */ foundEmojis.length < 1) return;
- const foundFiles = [] as {
- name: string;
- hash: string[];
- description: string;
- }[];
- for (const attachment of message.attachments) {
- try {
- const req = await got.get(attachment[1].proxyURL);
- const rawHash = crypto.createHash('md5');
- rawHash.update(req.rawBody.toString('binary'));
- const hash = rawHash.digest('hex');
- const blacklistData = this.#blacklistedFiles.find((h) => h.hash.some((h) => h === hash));
- if (blacklistData !== undefined) {
- foundFiles.push(blacklistData);
- }
- } catch {
- continue;
- }
- }
- /* for (const attachment of embedAttachments) {
- try {
- const req = await got.get(attachment.url!);
- const rawHash = crypto.createHash('md5');
- rawHash.update(req.rawBody.toString('binary'));
- const hash = rawHash.digest('hex');
- const blacklistData = this.#blacklistedFiles.find((h) => h.hash.some((h) => h === hash));
- if (blacklistData !== undefined) {
- foundFiles.push(blacklistData);
- }
- } catch {
- continue;
- }
- } */
- for (const attachment of foundEmojis) {
- try {
- const req = await got.get(
- `https://cdn.discordapp.com/emojis/${attachment.groups?.id}.${attachment.groups?.animated === 'a' ? 'gif' : 'png'}`
- );
- const rawHash = crypto.createHash('md5');
- rawHash.update(req.rawBody.toString('binary'));
- const hash = rawHash.digest('hex');
- const blacklistData = this.#blacklistedFiles.find((h) => h.hash.some((h) => h === hash));
- if (blacklistData !== undefined) {
- foundFiles.push(blacklistData);
- }
- } catch {
- continue;
- }
- }
- if (foundFiles.length > 0) {
- try {
- for (let i = 0; i < foundFiles.length; i++) {
- if (foundFiles[i].name === 'Discord crash video' && !this.client.ownerID.includes(message.author.id)) {
- await message.member?.roles.add('748912426581229690');
- }
- }
- await message.delete();
+// public async exec(...[message]: BushClientEvents['messageCreate']) {
+// if (!message.guild || !(await message.guild.hasFeature('blacklistedFile'))) return;
+// // const embedAttachments = message.embeds.filter((e) => ['image', 'video', 'gifv'].includes(e.type));
+// const foundEmojis = [...message.content.matchAll(/<(?<animated>a?):\w+:(?<id>\d+)>/g)];
+// if (message.attachments.size + /* embedAttachments.length + */ foundEmojis.length < 1) return;
+// const foundFiles = [] as {
+// name: string;
+// hash: string[];
+// description: string;
+// }[];
+// for (const attachment of message.attachments) {
+// try {
+// const req = await got.get(attachment[1].proxyURL);
+// const rawHash = crypto.createHash('md5');
+// rawHash.update(req.rawBody.toString('binary'));
+// const hash = rawHash.digest('hex');
+// const blacklistData = this.#blacklistedFiles.find((h) => h.hash.some((h) => h === hash));
+// if (blacklistData !== undefined) {
+// foundFiles.push(blacklistData);
+// }
+// } catch {
+// continue;
+// }
+// }
+// /* for (const attachment of embedAttachments) {
+// try {
+// const req = await got.get(attachment.url!);
+// const rawHash = crypto.createHash('md5');
+// rawHash.update(req.rawBody.toString('binary'));
+// const hash = rawHash.digest('hex');
+// const blacklistData = this.#blacklistedFiles.find((h) => h.hash.some((h) => h === hash));
+// if (blacklistData !== undefined) {
+// foundFiles.push(blacklistData);
+// }
+// } catch {
+// continue;
+// }
+// } */
+// for (const attachment of foundEmojis) {
+// try {
+// const req = await got.get(
+// `https://cdn.discordapp.com/emojis/${attachment.groups?.id}.${attachment.groups?.animated === 'a' ? 'gif' : 'png'}`
+// );
+// const rawHash = crypto.createHash('md5');
+// rawHash.update(req.rawBody.toString('binary'));
+// const hash = rawHash.digest('hex');
+// const blacklistData = this.#blacklistedFiles.find((h) => h.hash.some((h) => h === hash));
+// if (blacklistData !== undefined) {
+// foundFiles.push(blacklistData);
+// }
+// } catch {
+// continue;
+// }
+// }
+// if (foundFiles.length > 0) {
+// try {
+// for (let i = 0; i < foundFiles.length; i++) {
+// if (foundFiles[i].name === 'Discord crash video' && !this.client.ownerID.includes(message.author.id)) {
+// await message.member?.roles.add('748912426581229690');
+// }
+// }
+// await message.delete();
- await message.util!.send(
- `<@!${message.author.id}>, please do not send ${foundFiles.map((f) => f.description).join(' or ')}.`
- );
- if (message.channel.type === ChannelType.DM) return;
- void this.client.console.info(
- 'blacklistedFile',
- `Deleted <<${foundFiles.map((f) => f.description).join(' and ')}>> sent by <<${message.author.tag}>> in ${
- message.channel.name
- }.`
- );
- } catch (e) {
- void message.util!.send(
- `<@!${message.author.id}>, please do not send ${foundFiles.map((f) => f.description).join(' or ')}.`
- );
- void this.client.console.warn(
- 'blacklistedFile',
- `Failed to delete <<${foundFiles.map((f) => f.description).join(' and ')}>> sent by <<${message.author.tag}>> in <<${
- message.channel.type === ChannelType.DM ? `${message.channel.recipient?.tag}'s DMs` : message.channel.name
- }>>.`
- );
- }
- }
- }
-}
+// await message.util!.send(
+// `<@!${message.author.id}>, please do not send ${foundFiles.map((f) => f.description).join(' or ')}.`
+// );
+// if (message.channel.type === ChannelType.DM) return;
+// void this.client.console.info(
+// 'blacklistedFile',
+// `Deleted <<${foundFiles.map((f) => f.description).join(' and ')}>> sent by <<${message.author.tag}>> in ${
+// message.channel.name
+// }.`
+// );
+// } catch (e) {
+// void message.util!.send(
+// `<@!${message.author.id}>, please do not send ${foundFiles.map((f) => f.description).join(' or ')}.`
+// );
+// void this.client.console.warn(
+// 'blacklistedFile',
+// `Failed to delete <<${foundFiles.map((f) => f.description).join(' and ')}>> sent by <<${message.author.tag}>> in <<${
+// message.channel.type === ChannelType.DM ? `${message.channel.recipient?.tag}'s DMs` : message.channel.name
+// }>>.`
+// );
+// }
+// }
+// }
+// }
diff --git a/src/listeners/other/promiseRejection.ts b/src/listeners/other/promiseRejection.ts
index ab67ad4..4ff6c0e 100644
--- a/src/listeners/other/promiseRejection.ts
+++ b/src/listeners/other/promiseRejection.ts
@@ -1,5 +1,4 @@
-import { BushListener, formatError } from '#lib';
-import CommandErrorListener from '../commands/commandError.js';
+import { BushListener, formatError, generateErrorEmbed } from '#lib';
export default class PromiseRejectionListener extends BushListener {
public constructor() {
@@ -27,7 +26,7 @@ export default class PromiseRejectionListener extends BushListener {
);
if (!error.message.includes('reason: getaddrinfo ENOTFOUND canary.discord.com'))
void this.client.console.channelError({
- embeds: await CommandErrorListener.generateErrorEmbed(this.client, { type: 'unhandledRejection', error: error })
+ embeds: await generateErrorEmbed(this.client, { type: 'unhandledRejection', error: error })
});
}
}
diff --git a/src/listeners/other/uncaughtException.ts b/src/listeners/other/uncaughtException.ts
index e06a3b8..c976a22 100644
--- a/src/listeners/other/uncaughtException.ts
+++ b/src/listeners/other/uncaughtException.ts
@@ -1,5 +1,4 @@
-import { BushListener, formatError } from '#lib';
-import CommandErrorListener from '../commands/commandError.js';
+import { BushListener, formatError, generateErrorEmbed } from '#lib';
export default class UncaughtExceptionListener extends BushListener {
public constructor() {
@@ -21,7 +20,7 @@ export default class UncaughtExceptionListener extends BushListener {
void this.client.console.error('uncaughtException', `An uncaught exception occurred:\n${formatError(error, true)}`, false);
void this.client.console.channelError({
- embeds: await CommandErrorListener.generateErrorEmbed(this.client, { type: 'uncaughtException', error: error })
+ embeds: await generateErrorEmbed(this.client, { type: 'uncaughtException', error: error })
});
}
}
diff --git a/src/listeners/other/warning.ts b/src/listeners/other/warning.ts
index b427e4c..5cf9764 100644
--- a/src/listeners/other/warning.ts
+++ b/src/listeners/other/warning.ts
@@ -1,5 +1,4 @@
-import { BushListener, colors, formatError } from '#lib';
-import CommandErrorListener from '../commands/commandError.js';
+import { BushListener, colors, formatError, generateErrorEmbed } from '#lib';
export default class WarningListener extends BushListener {
public constructor() {
@@ -18,7 +17,7 @@ export default class WarningListener extends BushListener {
void this.client.console.warn('warning', `A warning occurred:\n${formatError(error, true)}`, false);
- const embeds = await CommandErrorListener.generateErrorEmbed(this.client, { type: 'unhandledRejection', error: error });
+ const embeds = await generateErrorEmbed(this.client, { type: 'unhandledRejection', error: error });
embeds[0].setColor(colors.warn).setTitle('A Warning Occurred');
void this.client.console.channelError({ embeds });
diff --git a/src/tasks/cache/updateCache.ts b/src/tasks/cache/updateCache.ts
index 595a872..190e2a4 100644
--- a/src/tasks/cache/updateCache.ts
+++ b/src/tasks/cache/updateCache.ts
@@ -1,8 +1,4 @@
-import { Global, Guild, Shared, type BushClient } from '#lib';
-import type { Client } from 'discord.js';
-import config from '../../../config/options.js';
-import { BushTask } from '../../../lib/extensions/discord-akairo/BushTask.js';
-import { Time } from '../../../lib/utils/BushConstants.js';
+import { BushTask, Time, updateEveryCache } from '#lib';
export default class UpdateCacheTask extends BushTask {
public constructor() {
@@ -13,48 +9,7 @@ export default class UpdateCacheTask extends BushTask {
}
public async exec() {
- await Promise.all([
- UpdateCacheTask.#updateGlobalCache(this.client),
- UpdateCacheTask.#updateSharedCache(this.client),
- UpdateCacheTask.#updateGuildCache(this.client)
- ]);
+ await updateEveryCache(this.client);
void this.client.logger.verbose(`UpdateCache`, `Updated cache.`);
}
-
- public static async init(client: BushClient) {
- await Promise.all([
- UpdateCacheTask.#updateGlobalCache(client),
- UpdateCacheTask.#updateSharedCache(client),
- UpdateCacheTask.#updateGuildCache(client)
- ]);
- }
-
- static async #updateGlobalCache(client: Client) {
- const environment = config.environment;
- const row: { [x: string]: any } = ((await Global.findByPk(environment)) ?? (await Global.create({ environment }))).toJSON();
-
- for (const option in row) {
- if (Object.keys(client.cache.global).includes(option)) {
- client.cache.global[option as keyof typeof client.cache.global] = row[option];
- }
- }
- }
-
- static async #updateSharedCache(client: Client) {
- const row: { [x: string]: any } = ((await Shared.findByPk(0)) ?? (await Shared.create())).toJSON();
-
- for (const option in row) {
- if (Object.keys(client.cache.shared).includes(option)) {
- client.cache.shared[option as keyof typeof client.cache.shared] = row[option];
- if (option === 'superUsers') client.superUserID = row[option];
- }
- }
- }
-
- static async #updateGuildCache(client: Client) {
- const rows = await Guild.findAll();
- for (const row of rows) {
- client.cache.guilds.set(row.id, row.toJSON() as Guild);
- }
- }
}
diff --git a/src/tasks/cache/updatePriceItemCache.ts b/src/tasks/cache/updatePriceItemCache.ts
index 55115cc..bafbfaf 100644
--- a/src/tasks/cache/updatePriceItemCache.ts
+++ b/src/tasks/cache/updatePriceItemCache.ts
@@ -1,5 +1,4 @@
import { BushTask, Time } from '#lib';
-import got from 'got';
import PriceCommand, { AuctionAverages, Bazaar, LowestBIN } from '../../commands/utilities/price.js';
export default class UpdatePriceItemCache extends BushTask {
@@ -13,9 +12,8 @@ export default class UpdatePriceItemCache extends BushTask {
public async exec() {
const [bazaar, currentLowestBIN, averageLowestBIN, auctionAverages] = (await Promise.all(
PriceCommand.urls.map(({ url }) =>
- got
- .get(url)
- .json()
+ fetch(url)
+ .then((p) => (p.ok ? p.json() : undefined))
.catch(() => undefined)
)
)) as [Bazaar?, LowestBIN?, LowestBIN?, AuctionAverages?];
diff --git a/src/tasks/feature/handleReminders.ts b/src/tasks/feature/handleReminders.ts
index 1e44083..a9f5658 100644
--- a/src/tasks/feature/handleReminders.ts
+++ b/src/tasks/feature/handleReminders.ts
@@ -1,5 +1,5 @@
import { BushTask, dateDelta, format, Reminder, Time } from '#lib';
-const { Op } = (await import('sequelize')).default;
+import { Op } from 'sequelize';
export default class HandlerRemindersTask extends BushTask {
public constructor() {
@@ -29,8 +29,7 @@ export default class HandlerRemindersTask extends BushTask {
void this.client.users
.send(
entry.user,
- `The reminder you set ${dateDelta(entry.created)} ago has expired: ${format.bold(entry.content)}
-${entry.messageUrl}`
+ `The reminder you set ${dateDelta(entry.created)} ago has expired: ${format.bold(entry.content)}\n${entry.messageUrl}`
)
.catch(() => false);
void entry.update({ notified: true });
diff --git a/src/tasks/feature/removeExpiredPunishements.ts b/src/tasks/feature/removeExpiredPunishements.ts
index c21454b..30b8eba 100644
--- a/src/tasks/feature/removeExpiredPunishements.ts
+++ b/src/tasks/feature/removeExpiredPunishements.ts
@@ -1,6 +1,6 @@
import { ActivePunishment, ActivePunishmentType, BushTask, Time } from '#lib';
import assert from 'assert/strict';
-const { Op } = (await import('sequelize')).default;
+import { Op } from 'sequelize';
export default class RemoveExpiredPunishmentsTask extends BushTask {
public constructor() {
diff --git a/src/tasks/feature/updateStats.d.ts b/src/tasks/feature/updateStats.d.ts
new file mode 100644
index 0000000..1274267
--- /dev/null
+++ b/src/tasks/feature/updateStats.d.ts
@@ -0,0 +1,10 @@
+import { BushTask } from '#lib';
+import { Client } from 'discord.js';
+export default class UpdateStatsTask extends BushTask {
+ constructor();
+ exec(): Promise<void>;
+ static init(client: Client): Promise<{
+ commandsUsed: bigint;
+ slashCommandsUsed: bigint;
+ }>;
+}
diff --git a/src/tasks/feature/updateStats.js b/src/tasks/feature/updateStats.js
new file mode 100644
index 0000000..18a9a7c
--- /dev/null
+++ b/src/tasks/feature/updateStats.js
@@ -0,0 +1,22 @@
+import { BushTask, Stat, Time } from '#lib';
+import { Client } from 'discord.js';
+export default class UpdateStatsTask extends BushTask {
+ constructor() {
+ super('updateStats', {
+ delay: 10 * 60000,
+ runOnStart: true
+ });
+ }
+ async exec() {
+ const row = (await Stat.findByPk(this.client.config.environment)) ??
+ (await Stat.create({ environment: this.client.config.environment }));
+ row.commandsUsed = this.client.stats.commandsUsed;
+ row.slashCommandsUsed = this.client.stats.slashCommandsUsed;
+ await row.save();
+ }
+ static async init(client) {
+ const temp = (await Stat.findByPk(client.config.environment)) ?? (await Stat.create({ environment: client.config.environment }));
+ return { commandsUsed: temp.commandsUsed, slashCommandsUsed: temp.slashCommandsUsed };
+ }
+}
+//# sourceMappingURL=updateStats.js.map \ No newline at end of file
diff --git a/src/tasks/feature/updateStats.js.map b/src/tasks/feature/updateStats.js.map
new file mode 100644
index 0000000..01cd260
--- /dev/null
+++ b/src/tasks/feature/updateStats.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"updateStats.js","sourceRoot":"","sources":["updateStats.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,QAAQ;IACpD;QACC,KAAK,CAAC,aAAa,EAAE;YACpB,KAAK,EAAE,EAAE,QAAc;YACvB,UAAU,EAAE,IAAI;SAChB,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,MAAM,GAAG,GACR,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACrD,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACtE,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC;QAClD,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC5D,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAClB,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAc;QACtC,MAAM,IAAI,GACT,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACrH,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACvF,CAAC;CACD"} \ No newline at end of file
diff --git a/src/tasks/feature/updateStats.ts b/src/tasks/feature/updateStats.ts
index 0d0e661..77b7c30 100644
--- a/src/tasks/feature/updateStats.ts
+++ b/src/tasks/feature/updateStats.ts
@@ -1,5 +1,4 @@
import { BushTask, Stat, Time } from '#lib';
-import { Client } from 'discord.js';
export default class UpdateStatsTask extends BushTask {
public constructor() {
@@ -17,10 +16,4 @@ export default class UpdateStatsTask extends BushTask {
row.slashCommandsUsed = this.client.stats.slashCommandsUsed;
await row.save();
}
-
- public static async init(client: Client): Promise<{ commandsUsed: bigint; slashCommandsUsed: bigint }> {
- const temp =
- (await Stat.findByPk(client.config.environment)) ?? (await Stat.create({ environment: client.config.environment }));
- return { commandsUsed: temp.commandsUsed, slashCommandsUsed: temp.slashCommandsUsed };
- }
}
diff --git a/src/tsconfig.json b/src/tsconfig.json
index 6d2834a..705d261 100644
--- a/src/tsconfig.json
+++ b/src/tsconfig.json
@@ -1,9 +1,7 @@
{
"extends": "../tsconfig.base.json",
"compilerOptions": {
- "outDir": "../../dist/src",
- "composite": true
+ "outDir": "../dist/src"
},
- "references": [{ "path": "../lib" }, { "path": "../config" }],
- "include": ["src/**/*.ts"]
+ "references": [{ "path": "../lib" }, { "path": "../config" }, { "path": "../tsconfig.pkg.json" }]
}
diff --git a/tsconfig.base.json b/tsconfig.base.json
index 44301c8..e878b4a 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -15,23 +15,22 @@
// #region Modules
"module": "ESNext",
- "moduleResolution": "Node",
- // "baseUrl": "./",
+ "moduleResolution": "NodeNext",
"paths": {
"#lib": ["./lib/index.ts"],
- "#constants": ["./lib/utils/BushConstants.ts"],
+ "#src/*": ["./src/*"],
"#args": ["./lib/arguments/index.ts"],
"#commands": ["./src/commands/index.ts"],
- "#tags": ["./lib/common/tags.ts"]
+ "#tags": ["./lib/common/tags.ts"],
+ "#config": ["./config/index.ts"]
},
"resolveJsonModule": true,
- // "noResolve": true,
+ "types": ["node"],
// #endregion
// #region JavaScript Support
"allowJs": false,
"checkJs": false,
- "maxNodeModuleJsDepth": 0,
// #endregion
// #region Emit
@@ -56,12 +55,10 @@
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"allowUnusedLabels": true,
- "allowUnreachableCode": true,
+ "allowUnreachableCode": true
// #endregion
// #region Completeness
- "skipDefaultLibCheck": false,
- "skipLibCheck": true
// #endregion
}
}
diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json
index 8b91633..c407a2e 100644
--- a/tsconfig.eslint.json
+++ b/tsconfig.eslint.json
@@ -4,5 +4,5 @@
"allowJs": true,
"checkJs": true
},
- "include": ["**/*"]
+ "include": ["./**/*"]
}
diff --git a/tsconfig.json b/tsconfig.json
index 0310e3d..6ffd4cc 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,9 +1,4 @@
{
- "extends": "./tsconfig.base.json",
- "compilerOptions": {
- "outDir": "./dist"
- },
- "references": [{ "path": "./src" }, { "path": "./lib" }, { "path": "./config" }],
- "include": ["./src/**/*.ts", "./lib/**/*.ts"],
- "files": ["./package.json", "config/Config.ts", "config/example-options.ts", "config/options.ts"]
+ "references": [{ "path": "./src" }, { "path": "./lib" }, { "path": "./config" }, { "path": "./tsconfig.pkg.json" }],
+ "files": []
}
diff --git a/tsconfig.pkg.json b/tsconfig.pkg.json
new file mode 100644
index 0000000..2ab21da
--- /dev/null
+++ b/tsconfig.pkg.json
@@ -0,0 +1,8 @@
+{
+ "extends": "./tsconfig.base.json",
+ "compilerOptions": {
+ "outDir": "./dist",
+ "composite": true
+ },
+ "files": ["./package.json"]
+}
diff --git a/yarn.lock b/yarn.lock
index 776f94c..cb50d90 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -49,28 +49,6 @@ __metadata:
languageName: node
linkType: hard
-"@electron/get@npm:^1.14.1":
- version: 1.14.1
- resolution: "@electron/get@npm:1.14.1"
- dependencies:
- debug: ^4.1.1
- env-paths: ^2.2.0
- fs-extra: ^8.1.0
- global-agent: ^3.0.0
- global-tunnel-ng: ^2.7.1
- got: ^9.6.0
- progress: ^2.0.3
- semver: ^6.2.0
- sumchecker: ^3.0.1
- dependenciesMeta:
- global-agent:
- optional: true
- global-tunnel-ng:
- optional: true
- checksum: 21fec5e82bbee8f9fa183b46e05675b137c3130c7999d3b2b34a0047d1a06ec3c76347b9bbdb9911ba9b2123697804e360a15dda9db614c0226d5d4dcc4d6d15
- languageName: node
- linkType: hard
-
"@esbuild/linux-loong64@npm:0.14.54":
version: 0.14.54
resolution: "@esbuild/linux-loong64@npm:0.14.54"
@@ -216,29 +194,29 @@ __metadata:
linkType: hard
"@npmcli/fs@npm:^2.1.0":
- version: 2.1.1
- resolution: "@npmcli/fs@npm:2.1.1"
+ version: 2.1.2
+ resolution: "@npmcli/fs@npm:2.1.2"
dependencies:
"@gar/promisify": ^1.1.3
semver: ^7.3.5
- checksum: 4944a0545d38d3e6e29780eeb3cd4be6059c1e9627509d2c9ced635c53b852d28b37cdc615a2adf815b51ab8673adb6507e370401a20a7e90c8a6dc4fac02389
+ checksum: 405074965e72d4c9d728931b64d2d38e6ea12066d4fad651ac253d175e413c06fe4350970c783db0d749181da8fe49c42d3880bd1cbc12cd68e3a7964d820225
languageName: node
linkType: hard
"@npmcli/move-file@npm:^2.0.0":
- version: 2.0.0
- resolution: "@npmcli/move-file@npm:2.0.0"
+ version: 2.0.1
+ resolution: "@npmcli/move-file@npm:2.0.1"
dependencies:
mkdirp: ^1.0.4
rimraf: ^3.0.2
- checksum: 1388777b507b0c592d53f41b9d182e1a8de7763bc625fc07999b8edbc22325f074e5b3ec90af79c89d6987fdb2325bc66d59f483258543c14a43661621f841b0
+ checksum: 52dc02259d98da517fae4cb3a0a3850227bdae4939dda1980b788a7670636ca2b4a01b58df03dd5f65c1e3cb70c50fa8ce5762b582b3f499ec30ee5ce1fd9380
languageName: node
linkType: hard
"@sapphire/async-queue@npm:^1.3.2":
- version: 1.4.0
- resolution: "@sapphire/async-queue@npm:1.4.0"
- checksum: 1361898e82aceee4189dd4bd3d2516f560ed15c3fb048a51e9df26f3e506c5935ef87160e4fdbd15facb8c2f2417cd896ee92c14f784aaf4d3ae96d0b21fbddf
+ version: 1.5.0
+ resolution: "@sapphire/async-queue@npm:1.5.0"
+ checksum: 983dbd1fd1b1798496e5edb6a0db7e4d90015160e1028f20475eab0a92625513f1e8d938bc0305811a9cec461c94e01b1e4191615ff03ba49356f568f3255250
languageName: node
linkType: hard
@@ -259,115 +237,83 @@ __metadata:
languageName: node
linkType: hard
-"@sentry/core@npm:7.9.0":
- version: 7.9.0
- resolution: "@sentry/core@npm:7.9.0"
+"@sentry/core@npm:7.11.1":
+ version: 7.11.1
+ resolution: "@sentry/core@npm:7.11.1"
dependencies:
- "@sentry/hub": 7.9.0
- "@sentry/types": 7.9.0
- "@sentry/utils": 7.9.0
+ "@sentry/hub": 7.11.1
+ "@sentry/types": 7.11.1
+ "@sentry/utils": 7.11.1
tslib: ^1.9.3
- checksum: 427d66d53e2af6797c1fbb0f186db596802d8e498bae32a56be89caa2f0a91cd73aa5689943ddd4cd1c9e4afc0259cdecf496733fa220ee3c0c3bfe21e676d08
+ checksum: 4e3fa11d248182a6cdce87ff60111cd29fe028fb84abed7f362f3d7b1a6db9b97bf6bf07317f2338fce01b331a1e867a34e3ef477134b859270ef0d0f48bdc8e
languageName: node
linkType: hard
-"@sentry/hub@npm:7.9.0":
- version: 7.9.0
- resolution: "@sentry/hub@npm:7.9.0"
+"@sentry/hub@npm:7.11.1":
+ version: 7.11.1
+ resolution: "@sentry/hub@npm:7.11.1"
dependencies:
- "@sentry/types": 7.9.0
- "@sentry/utils": 7.9.0
+ "@sentry/types": 7.11.1
+ "@sentry/utils": 7.11.1
tslib: ^1.9.3
- checksum: 594558fc360a5765389891f807119d2906da1c60b101862b9b13afdc0954b948495fb885471f6bfbf3c7e9bceeedb0111b84833ac1c7c974be7bf5e8b2dcfb8b
+ checksum: 1df55e6e3a494167e6b1592f1aa6ea185feeed3a68d9060340877b3db5943fe45437c5d508dfabc1d4275ce7f3c3910f3bb4ad1880a3c9d01a7d07200f3feb91
languageName: node
linkType: hard
-"@sentry/integrations@npm:^7.9.0":
- version: 7.9.0
- resolution: "@sentry/integrations@npm:7.9.0"
+"@sentry/integrations@npm:^7.11.1":
+ version: 7.11.1
+ resolution: "@sentry/integrations@npm:7.11.1"
dependencies:
- "@sentry/types": 7.9.0
- "@sentry/utils": 7.9.0
+ "@sentry/types": 7.11.1
+ "@sentry/utils": 7.11.1
localforage: ^1.8.1
tslib: ^1.9.3
- checksum: 3a7c88e7c4939a3057780acfd3803673a3e6017fa386467e67379d3c2d26f6eee5b2d74d60563c4102c143d74393b78c1f0f5e0e166fc010b0a7717c6211d916
+ checksum: e89ab412462e4d93a6689360d3afe2eb5e64a45f3d2bf9e8c3cdb8f71bfe66b71b62ac1d867d9c726c4d2e1ab9309893bb7f856f74acbc382debe60db33008fa
languageName: node
linkType: hard
-"@sentry/node@npm:^7.9.0":
- version: 7.9.0
- resolution: "@sentry/node@npm:7.9.0"
+"@sentry/node@npm:^7.11.1":
+ version: 7.11.1
+ resolution: "@sentry/node@npm:7.11.1"
dependencies:
- "@sentry/core": 7.9.0
- "@sentry/hub": 7.9.0
- "@sentry/types": 7.9.0
- "@sentry/utils": 7.9.0
+ "@sentry/core": 7.11.1
+ "@sentry/hub": 7.11.1
+ "@sentry/types": 7.11.1
+ "@sentry/utils": 7.11.1
cookie: ^0.4.1
https-proxy-agent: ^5.0.0
lru_map: ^0.3.3
tslib: ^1.9.3
- checksum: b8baa65a00b0c42f3b5d6eeb0c98812155081b9963482d9bd6b2de62bc8a81db86f5dbb3c17cc1177cf76fe6ac10397ff881e758245aab13904e333d8230250b
+ checksum: 824780c2d4fecbfaabfacd27b7108a21c6e37b98a61aeb2dda394dae6d67584ef46a749df80fb7dfa3e43bd4e6dcb28b7bcf8a83c77ebef621d05f231651724a
languageName: node
linkType: hard
-"@sentry/tracing@npm:^7.9.0":
- version: 7.9.0
- resolution: "@sentry/tracing@npm:7.9.0"
+"@sentry/tracing@npm:^7.11.1":
+ version: 7.11.1
+ resolution: "@sentry/tracing@npm:7.11.1"
dependencies:
- "@sentry/hub": 7.9.0
- "@sentry/types": 7.9.0
- "@sentry/utils": 7.9.0
+ "@sentry/hub": 7.11.1
+ "@sentry/types": 7.11.1
+ "@sentry/utils": 7.11.1
tslib: ^1.9.3
- checksum: e8e8cfecbb4647aeea849225c7c898bde1c9029b0bdf75984109a19668fcd99a62abe93d4115b5dccd484f0f7e0b378a0715f830bcf5a2788e23e69c8199145d
+ checksum: c0c4b540eff30deb94b939d7792f765410bd0abb3c495a49cd89c1ed113f0ca46fb7b12bdc777ddb42f64018a5647afe69bb444d77a2e0cb8a8ae9ed813a7f7b
languageName: node
linkType: hard
-"@sentry/types@npm:7.9.0, @sentry/types@npm:^7.9.0":
- version: 7.9.0
- resolution: "@sentry/types@npm:7.9.0"
- checksum: 5f56d27454cab0344554bd85e9db8c34827dffa61145150664dc1ff478aaf599bffceb3a6bb20f592f0d8080b1f26b7af03c306a09c6463b8de4bdfdd10eecba
+"@sentry/types@npm:7.11.1, @sentry/types@npm:^7.11.1":
+ version: 7.11.1
+ resolution: "@sentry/types@npm:7.11.1"
+ checksum: 935dbd83d8c43bca202979fef12fe2af0508e44c61a0b3b2e10971006b59938fac36bfde530c7b7db14601dcbb17a2a7b35f479de8bbfe961df3eff7fd9327ce
languageName: node
linkType: hard
-"@sentry/utils@npm:7.9.0":
- version: 7.9.0
- resolution: "@sentry/utils@npm:7.9.0"
+"@sentry/utils@npm:7.11.1":
+ version: 7.11.1
+ resolution: "@sentry/utils@npm:7.11.1"
dependencies:
- "@sentry/types": 7.9.0
+ "@sentry/types": 7.11.1
tslib: ^1.9.3
- checksum: 414a81ae8005d12ba22578606dff57b906598fc8b761cb3b4143a87fe20226bc90f9018a8930df11625a69cf5706d6f834191ef01d3ee8362ca6078e59108d9c
- languageName: node
- linkType: hard
-
-"@sindresorhus/is@npm:^0.14.0":
- version: 0.14.0
- resolution: "@sindresorhus/is@npm:0.14.0"
- checksum: 971e0441dd44ba3909b467219a5e242da0fc584048db5324cfb8048148fa8dcc9d44d71e3948972c4f6121d24e5da402ef191420d1266a95f713bb6d6e59c98a
- languageName: node
- linkType: hard
-
-"@sindresorhus/is@npm:^5.2.0":
- version: 5.3.0
- resolution: "@sindresorhus/is@npm:5.3.0"
- checksum: b31cebabcdece3d5322de2a4dbc8c0f004e04147a00f2606787bcaf5655ad4b1954f6727fc6914c524009b2b9a2cc01c42835b55f651ce69fd2a0083b60bb852
- languageName: node
- linkType: hard
-
-"@szmarczak/http-timer@npm:^1.1.2":
- version: 1.1.2
- resolution: "@szmarczak/http-timer@npm:1.1.2"
- dependencies:
- defer-to-connect: ^1.0.1
- checksum: 4d9158061c5f397c57b4988cde33a163244e4f02df16364f103971957a32886beb104d6180902cbe8b38cb940e234d9f98a4e486200deca621923f62f50a06fe
- languageName: node
- linkType: hard
-
-"@szmarczak/http-timer@npm:^5.0.1":
- version: 5.0.1
- resolution: "@szmarczak/http-timer@npm:5.0.1"
- dependencies:
- defer-to-connect: ^2.0.1
- checksum: fc9cb993e808806692e4a3337c90ece0ec00c89f4b67e3652a356b89730da98bc824273a6d67ca84d5f33cd85f317dcd5ce39d8cc0a2f060145a608a7cb8ce92
+ checksum: e0a1d8528e9f99a35c88786cc230a5466966a59554796bbf13a33aa8956911c8bce7c556bb7a90ba20c9af9fa64ef6b87b956d1d8bae6ff42950ce4125c3b44e
languageName: node
linkType: hard
@@ -395,18 +341,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/cacheable-request@npm:^6.0.2":
- version: 6.0.2
- resolution: "@types/cacheable-request@npm:6.0.2"
- dependencies:
- "@types/http-cache-semantics": "*"
- "@types/keyv": "*"
- "@types/node": "*"
- "@types/responselike": "*"
- checksum: 667d25808dbf46fe104d6f029e0281ff56058d50c7c1b9182774b3e38bb9c1124f56e4c367ba54f92dbde2d1cc573f26eb0e9748710b2822bc0fd1e5498859c6
- languageName: node
- linkType: hard
-
"@types/chai-subset@npm:^1.3.3":
version: 1.3.3
resolution: "@types/chai-subset@npm:1.3.3"
@@ -441,13 +375,13 @@ __metadata:
languageName: node
linkType: hard
-"@types/eslint@npm:^8.4.5":
- version: 8.4.5
- resolution: "@types/eslint@npm:8.4.5"
+"@types/eslint@npm:^8.4.6":
+ version: 8.4.6
+ resolution: "@types/eslint@npm:8.4.6"
dependencies:
"@types/estree": "*"
"@types/json-schema": "*"
- checksum: 428b0c971a50adb0d08621e76f21b284580a0052a31341a0e6d553f72b54cd0142d549aa1497c7e3bc56e9f6bcc27286e66e0216e1ba76d1a5ecd2279c40bc8c
+ checksum: bfaf27b00031b2238139003965475d023306119e467947f7a43a41e380918e365618e2ae6a6ae638697f6421a6bb1571db078695ff5e548f23618000b38acd23
languageName: node
linkType: hard
@@ -491,20 +425,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/http-cache-semantics@npm:*":
- version: 4.0.1
- resolution: "@types/http-cache-semantics@npm:4.0.1"
- checksum: 1048aacf627829f0d5f00184e16548205cd9f964bf0841c29b36bc504509230c40bc57c39778703a1c965a6f5b416ae2cbf4c1d4589c889d2838dd9dbfccf6e9
- languageName: node
- linkType: hard
-
-"@types/json-buffer@npm:~3.0.0":
- version: 3.0.0
- resolution: "@types/json-buffer@npm:3.0.0"
- checksum: 6b0a371dd603f0eec9d00874574bae195382570e832560dadf2193ee0d1062b8e0694bbae9798bc758632361c227b1e3b19e3bd914043b498640470a2da38b77
- languageName: node
- linkType: hard
-
"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.9":
version: 7.0.11
resolution: "@types/json-schema@npm:7.0.11"
@@ -512,26 +432,10 @@ __metadata:
languageName: node
linkType: hard
-"@types/json5@npm:^0.0.29":
- version: 0.0.29
- resolution: "@types/json5@npm:0.0.29"
- checksum: e60b153664572116dfea673c5bda7778dbff150498f44f998e34b5886d8afc47f16799280e4b6e241c0472aef1bc36add771c569c68fc5125fc2ae519a3eb9ac
- languageName: node
- linkType: hard
-
-"@types/keyv@npm:*, @types/keyv@npm:^3.1.1":
- version: 3.1.4
- resolution: "@types/keyv@npm:3.1.4"
- dependencies:
- "@types/node": "*"
- checksum: e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d
- languageName: node
- linkType: hard
-
-"@types/lodash@npm:^4.14.182":
- version: 4.14.182
- resolution: "@types/lodash@npm:4.14.182"
- checksum: 7dd137aa9dbabd632408bd37009d984655164fa1ecc3f2b6eb94afe35bf0a5852cbab6183148d883e9c73a958b7fec9a9bcf7c8e45d41195add6a18c34958209
+"@types/lodash@npm:^4.14.184":
+ version: 4.14.184
+ resolution: "@types/lodash@npm:4.14.184"
+ checksum: 6d9a4d67f7f9d0ec3fd21174f3dd3d00629dc1227eb469450eace53adbc1f7e2330699c28d0fe093e5f0fef0f0e763098be1f779268857213224af082b62be21
languageName: node
linkType: hard
@@ -556,17 +460,10 @@ __metadata:
languageName: node
linkType: hard
-"@types/node@npm:*, @types/node@npm:^18.6.5":
- version: 18.6.5
- resolution: "@types/node@npm:18.6.5"
- checksum: e3e66c9a84b94010a57c1b9dac882c08484278d74f9d120dbe6a3e45d00740d178bd1d34a5deee28197c94b9f4359153b637bab9b305328e865027e9987a0f3d
- languageName: node
- linkType: hard
-
-"@types/node@npm:^16.11.26":
- version: 16.11.47
- resolution: "@types/node@npm:16.11.47"
- checksum: 26811000753fd1bb9a90a563fc72942ac3ad5d5b6c97609a090c1e24210e040597ba060e55a7a46cb22cc84dafee112d741f45652139c6166e8ce0c970b4f05a
+"@types/node@npm:*, @types/node@npm:^18.7.8":
+ version: 18.7.8
+ resolution: "@types/node@npm:18.7.8"
+ checksum: e0125efefa896083c05f549d93166109959ffdd68cb626aad0d660c0ce9de888fe405b4763b4a3c3e0968560409c272413e0ad07204522543c688e162a617ecb
languageName: node
linkType: hard
@@ -609,15 +506,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/responselike@npm:*, @types/responselike@npm:^1.0.0":
- version: 1.0.0
- resolution: "@types/responselike@npm:1.0.0"
- dependencies:
- "@types/node": "*"
- checksum: e99fc7cc6265407987b30deda54c1c24bb1478803faf6037557a774b2f034c5b097ffd65847daa87e82a61a250d919f35c3588654b0fdaa816906650f596d1b0
- languageName: node
- linkType: hard
-
"@types/rimraf@npm:^3.0.2":
version: 3.0.2
resolution: "@types/rimraf@npm:3.0.2"
@@ -661,22 +549,13 @@ __metadata:
languageName: node
linkType: hard
-"@types/yauzl@npm:^2.9.1":
- version: 2.10.0
- resolution: "@types/yauzl@npm:2.10.0"
+"@typescript-eslint/eslint-plugin@npm:^5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/eslint-plugin@npm:5.33.1"
dependencies:
- "@types/node": "*"
- checksum: 55d27ae5d346ea260e40121675c24e112ef0247649073848e5d4e03182713ae4ec8142b98f61a1c6cbe7d3b72fa99bbadb65d8b01873e5e605cdc30f1ff70ef2
- languageName: node
- linkType: hard
-
-"@typescript-eslint/eslint-plugin@npm:^5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/eslint-plugin@npm:5.33.0"
- dependencies:
- "@typescript-eslint/scope-manager": 5.33.0
- "@typescript-eslint/type-utils": 5.33.0
- "@typescript-eslint/utils": 5.33.0
+ "@typescript-eslint/scope-manager": 5.33.1
+ "@typescript-eslint/type-utils": 5.33.1
+ "@typescript-eslint/utils": 5.33.1
debug: ^4.3.4
functional-red-black-tree: ^1.0.1
ignore: ^5.2.0
@@ -689,53 +568,53 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: d408f3f474b34fefde8ee65d98deb126949fd7d8e211a7f95c5cc2b507dedbf8eb239f3895e0c37aa6338989531e37c5f35c2e0de36a126c52f0846e89605487
+ checksum: d9b6b038f70e4959ad211c84f50a38de2d00b54f0636ad76eea414fb070fa616933690da80de6668e62c8fbbeb227086322001b7d7ad1924421a232547c97936
languageName: node
linkType: hard
"@typescript-eslint/experimental-utils@npm:^5.0.0":
- version: 5.33.0
- resolution: "@typescript-eslint/experimental-utils@npm:5.33.0"
+ version: 5.33.1
+ resolution: "@typescript-eslint/experimental-utils@npm:5.33.1"
dependencies:
- "@typescript-eslint/utils": 5.33.0
+ "@typescript-eslint/utils": 5.33.1
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- checksum: 51374c63afd368e992278c321819cca64354f0a160de07780378cd30fe148e9a239676b4005869ff0dc1910575e60cc96535a36be3d509b7e22c0cec7b0eed12
+ checksum: 49e81b5977adc2d5c2c1a39eea25b79ec6d88ff3a7757373eb2da1a865658e23b382158c389fa47b9882603414a758894596aab9f5f79aaec046b9e3c2a9fa47
languageName: node
linkType: hard
-"@typescript-eslint/parser@npm:^5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/parser@npm:5.33.0"
+"@typescript-eslint/parser@npm:^5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/parser@npm:5.33.1"
dependencies:
- "@typescript-eslint/scope-manager": 5.33.0
- "@typescript-eslint/types": 5.33.0
- "@typescript-eslint/typescript-estree": 5.33.0
+ "@typescript-eslint/scope-manager": 5.33.1
+ "@typescript-eslint/types": 5.33.1
+ "@typescript-eslint/typescript-estree": 5.33.1
debug: ^4.3.4
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: 2617aba987a70ee6b16ecc6afa6d245422df33a9d056018ff2e316159e667a0ab9d9c15fcea95e0ba65832661e71cc2753a221e77f0b0fab278e52c4497b8278
+ checksum: fb3a4e000ce6d9583656fc3b3fb80f127a0ec1b7c3872ea469164516d993a588859ded4ec1338e6bbf2151168380d8aa29ec31027af23b50f5107949f8e7b438
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/scope-manager@npm:5.33.0"
+"@typescript-eslint/scope-manager@npm:5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/scope-manager@npm:5.33.1"
dependencies:
- "@typescript-eslint/types": 5.33.0
- "@typescript-eslint/visitor-keys": 5.33.0
- checksum: b2cbea9abd528d01a5acb2d68a2a5be51ec6827760d3869bdd70920cf6c3a4f9f96d87c77177f8313009d9db71253e4a75f8393f38651e2abaf91ef28e60fb9d
+ "@typescript-eslint/types": 5.33.1
+ "@typescript-eslint/visitor-keys": 5.33.1
+ checksum: b9918d8320ea59081d19070ce952b56984e72fb2c113215e5e6a0f97deac9aae5aa67ec7a07cddb010c0f75cdf8df096ab45e9241e4b7b611acfa6d4cdfb6516
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/type-utils@npm:5.33.0"
+"@typescript-eslint/type-utils@npm:5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/type-utils@npm:5.33.1"
dependencies:
- "@typescript-eslint/utils": 5.33.0
+ "@typescript-eslint/utils": 5.33.1
debug: ^4.3.4
tsutils: ^3.21.0
peerDependencies:
@@ -743,23 +622,23 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: a1d1ffb42fe96bfc2339cc2875e218aa82fa9391be04c1a266bb11da1eca6835555687e81cde75477c60e6702049cd4dde7d2638e7e9b9d8cf4b7b2242353a6e
+ checksum: ddf88835bc87b3ad946aaeb29b770a49a8e1c3c5e294ee9cb93b1936f432a1016efb97803f197eea1be61545cbc79b5526cc05e9339ca9beada22fc83801ddea
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/types@npm:5.33.0"
- checksum: 8bbddda84cb3adf5c659b0d42547a2d6ab87f4eea574aca5dd63a3bd85169f32796ecbddad3b27f18a609070f6b1d18a54018d488bad746ae0f6ea5c02206109
+"@typescript-eslint/types@npm:5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/types@npm:5.33.1"
+ checksum: 122891bd4ab4b930b1d33f3ce43a010825c1e61b9879520a0f3dc34cf92df71e2a873410845ab8d746333511c455c115eaafdec149298a161cef713829dfdb77
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/typescript-estree@npm:5.33.0"
+"@typescript-eslint/typescript-estree@npm:5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/typescript-estree@npm:5.33.1"
dependencies:
- "@typescript-eslint/types": 5.33.0
- "@typescript-eslint/visitor-keys": 5.33.0
+ "@typescript-eslint/types": 5.33.1
+ "@typescript-eslint/visitor-keys": 5.33.1
debug: ^4.3.4
globby: ^11.1.0
is-glob: ^4.0.3
@@ -768,33 +647,33 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 26f9005cdfb14654125a33d90d872b926820e560dff8970c4629fd5f6f47ad2a31e4c63161564d21bb42a8fc3ced0033994854ee37336ae07d90ccf6300d702b
+ checksum: 1418e409b141c2f012bc2dd5c40d95dfd8aa572dd3e9523ed23e4371e4459d10ecd074fda75dc770ce980686b25ffc44725eebf165c494818ed4131d1ac0239f
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/utils@npm:5.33.0"
+"@typescript-eslint/utils@npm:5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/utils@npm:5.33.1"
dependencies:
"@types/json-schema": ^7.0.9
- "@typescript-eslint/scope-manager": 5.33.0
- "@typescript-eslint/types": 5.33.0
- "@typescript-eslint/typescript-estree": 5.33.0
+ "@typescript-eslint/scope-manager": 5.33.1
+ "@typescript-eslint/types": 5.33.1
+ "@typescript-eslint/typescript-estree": 5.33.1
eslint-scope: ^5.1.1
eslint-utils: ^3.0.0
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- checksum: 6ce5ee5eabeb6d73538b24e6487f811ecb0ef3467bd366cbd15bf30d904bdedb73fc6f48cf2e2e742dda462b42999ea505e8b59255545825ec9db86f3d423ea7
+ checksum: c550504d62fc72f29bf3d7a651bd3a81f49fb1fccaf47583721c2ab1abd2ef78a1e4bc392cb4be4a61a45a4f24fc14a59d67b98aac8a16a207a7cace86538cab
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:5.33.0":
- version: 5.33.0
- resolution: "@typescript-eslint/visitor-keys@npm:5.33.0"
+"@typescript-eslint/visitor-keys@npm:5.33.1":
+ version: 5.33.1
+ resolution: "@typescript-eslint/visitor-keys@npm:5.33.1"
dependencies:
- "@typescript-eslint/types": 5.33.0
+ "@typescript-eslint/types": 5.33.1
eslint-visitor-keys: ^3.3.0
- checksum: d7e3653de6bac6841e6fcc54226b93ad6bdca4aa76ebe7d83459c016c3eebcc50d4f65ee713174bc267d765295b642d1927a778c5de707b8389e3fcc052aa4a1
+ checksum: 0d32a433450f61e97b5fa6b1e167f06ed395c200b16b4dbd4490a1c4941de420689b622f8a2486f5398806fb24f57b9fab901b4cbc8fdb8853f568264b3a182a
languageName: node
linkType: hard
@@ -805,15 +684,6 @@ __metadata:
languageName: node
linkType: hard
-"abort-controller@npm:^3.0.0":
- version: 3.0.0
- resolution: "abort-controller@npm:3.0.0"
- dependencies:
- event-target-shim: ^5.0.0
- checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75
- languageName: node
- linkType: hard
-
"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -931,19 +801,6 @@ __metadata:
languageName: node
linkType: hard
-"array-includes@npm:^3.1.4":
- version: 3.1.5
- resolution: "array-includes@npm:3.1.5"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.4
- es-abstract: ^1.19.5
- get-intrinsic: ^1.1.1
- is-string: ^1.0.7
- checksum: f6f24d834179604656b7bec3e047251d5cc87e9e87fab7c175c61af48e80e75acd296017abcde21fb52292ab6a2a449ab2ee37213ee48c8709f004d75983f9c5
- languageName: node
- linkType: hard
-
"array-union@npm:^2.1.0":
version: 2.1.0
resolution: "array-union@npm:2.1.0"
@@ -951,18 +808,6 @@ __metadata:
languageName: node
linkType: hard
-"array.prototype.flat@npm:^1.2.5":
- version: 1.3.0
- resolution: "array.prototype.flat@npm:1.3.0"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.3
- es-abstract: ^1.19.2
- es-shim-unscopables: ^1.0.0
- checksum: 2a652b3e8dc0bebb6117e42a5ab5738af0203a14c27341d7bb2431467bdb4b348e2c5dc555dfcda8af0a5e4075c400b85311ded73861c87290a71a17c3e0a257
- languageName: node
- linkType: hard
-
"arrify@npm:^2.0.0":
version: 2.0.1
resolution: "arrify@npm:2.0.1"
@@ -1008,13 +853,6 @@ __metadata:
languageName: node
linkType: hard
-"boolean@npm:^3.0.1":
- version: 3.2.0
- resolution: "boolean@npm:3.2.0"
- checksum: fb29535b8bf710ef45279677a86d14f5185d604557204abd2ca5fa3fb2a5c80e04d695c8dbf13ab269991977a79bb6c04b048220a6b2a3849853faa94f4a7d77
- languageName: node
- linkType: hard
-
"brace-expansion@npm:^1.1.7":
version: 1.1.11
resolution: "brace-expansion@npm:1.1.11"
@@ -1111,37 +949,34 @@ __metadata:
"@notenoughupdates/simplify-number": ^1.0.1
"@notenoughupdates/wolfram-alpha-api": ^1.0.2
"@sapphire/snowflake": ^3.2.2
- "@sentry/integrations": ^7.9.0
- "@sentry/node": ^7.9.0
- "@sentry/tracing": ^7.9.0
- "@sentry/types": ^7.9.0
- "@types/eslint": ^8.4.5
+ "@sentry/integrations": ^7.11.1
+ "@sentry/node": ^7.11.1
+ "@sentry/tracing": ^7.11.1
+ "@sentry/types": ^7.11.1
+ "@types/eslint": ^8.4.6
"@types/express": ^4.17.13
- "@types/lodash": ^4.14.182
- "@types/node": ^18.6.5
+ "@types/lodash": ^4.14.184
+ "@types/node": ^18.7.8
"@types/numeral": ^2.0.2
"@types/pg": ^8.6.5
"@types/prettier": ^2.7.0
"@types/rimraf": ^3.0.2
"@types/tinycolor2": ^1.4.3
"@types/validator": ^13.7.5
- "@typescript-eslint/eslint-plugin": ^5.33.0
- "@typescript-eslint/parser": ^5.33.0
+ "@typescript-eslint/eslint-plugin": ^5.33.1
+ "@typescript-eslint/parser": ^5.33.1
canvas: ^2.9.3
chalk: ^5.0.1
deep-lock: ^1.0.0
discord-akairo: "npm:@notenoughupdates/discord-akairo@dev"
discord-api-types: 0.37.1
discord.js: "npm:@notenoughupdates/discord.js@forum"
- electron: ^20.0.1
- eslint: ^8.21.0
+ eslint: ^8.22.0
eslint-config-prettier: ^8.5.0
eslint-plugin-deprecation: ^1.3.2
- eslint-plugin-import: ^2.26.0
fuse.js: ^6.6.2
gif-to-apng: ^0.1.2
- googleapis: ^105.0.0
- got: ^12.3.1
+ googleapis: ^107.0.0
lodash: ^4.17.21
mathjs: ^11.0.1
nanoid: ^4.0.0
@@ -1152,18 +987,18 @@ __metadata:
prettier: ^2.7.1
pretty-bytes: ^6.0.0
rimraf: ^3.0.2
- sequelize: 6.21.3
+ sequelize: 6.21.4
tinycolor2: ^1.4.2
ts-essentials: ^9.2.0
typescript: ^4.7.4
- vitest: ^0.21.1
+ vitest: ^0.22.1
vm2: ^3.9.10
languageName: unknown
linkType: soft
"cacache@npm:^16.1.0":
- version: 16.1.1
- resolution: "cacache@npm:16.1.1"
+ version: 16.1.2
+ resolution: "cacache@npm:16.1.2"
dependencies:
"@npmcli/fs": ^2.1.0
"@npmcli/move-file": ^2.0.0
@@ -1183,48 +1018,11 @@ __metadata:
ssri: ^9.0.0
tar: ^6.1.11
unique-filename: ^1.1.1
- checksum: 488524617008b793f0249b0c4ea2c330c710ca997921376e15650cc2415a8054491ae2dee9f01382c2015602c0641f3f977faf2fa7361aa33d2637dcfb03907a
- languageName: node
- linkType: hard
-
-"cacheable-lookup@npm:^6.0.4":
- version: 6.1.0
- resolution: "cacheable-lookup@npm:6.1.0"
- checksum: 4e37afe897219b1035335b0765106a2c970ffa930497b43cac5000b860f3b17f48d004187279fae97e2e4cbf6a3693709b6d64af65279c7d6c8453321d36d118
- languageName: node
- linkType: hard
-
-"cacheable-request@npm:^6.0.0":
- version: 6.1.0
- resolution: "cacheable-request@npm:6.1.0"
- dependencies:
- clone-response: ^1.0.2
- get-stream: ^5.1.0
- http-cache-semantics: ^4.0.0
- keyv: ^3.0.0
- lowercase-keys: ^2.0.0
- normalize-url: ^4.1.0
- responselike: ^1.0.2
- checksum: b510b237b18d17e89942e9ee2d2a077cb38db03f12167fd100932dfa8fc963424bfae0bfa1598df4ae16c944a5484e43e03df8f32105b04395ee9495e9e4e9f1
+ checksum: defe1d6f557ddda178204cac111990da27e8a60ed276fcd608dad7109cc1936e7dcd57d7263d22cdb06a80e7ceb76ab5eb05133c7c7f886abf1d870d722abd6c
languageName: node
linkType: hard
-"cacheable-request@npm:^7.0.2":
- version: 7.0.2
- resolution: "cacheable-request@npm:7.0.2"
- dependencies:
- clone-response: ^1.0.2
- get-stream: ^5.1.0
- http-cache-semantics: ^4.0.0
- keyv: ^4.0.0
- lowercase-keys: ^2.0.0
- normalize-url: ^6.0.1
- responselike: ^2.0.0
- checksum: 6152813982945a5c9989cb457a6c499f12edcc7ade323d2fbfd759abc860bdbd1306e08096916bb413c3c47e812f8e4c0a0cc1e112c8ce94381a960f115bc77f
- languageName: node
- linkType: hard
-
-"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2":
+"call-bind@npm:^1.0.0":
version: 1.0.2
resolution: "call-bind@npm:1.0.2"
dependencies:
@@ -1306,15 +1104,6 @@ __metadata:
languageName: node
linkType: hard
-"clone-response@npm:^1.0.2":
- version: 1.0.3
- resolution: "clone-response@npm:1.0.3"
- dependencies:
- mimic-response: ^1.0.0
- checksum: 4e671cac39b11c60aa8ba0a450657194a5d6504df51bca3fac5b3bd0145c4f8e8464898f87c8406b83232e3bc5cca555f51c1f9c8ac023969ebfbf7f6bdabb2e
- languageName: node
- linkType: hard
-
"color-convert@npm:^2.0.1":
version: 2.0.1
resolution: "color-convert@npm:2.0.1"
@@ -1354,16 +1143,6 @@ __metadata:
languageName: node
linkType: hard
-"compress-brotli@npm:^1.3.8":
- version: 1.3.8
- resolution: "compress-brotli@npm:1.3.8"
- dependencies:
- "@types/json-buffer": ~3.0.0
- json-buffer: ~3.0.1
- checksum: de7589d692d40eb362f6c91070b5e51bc10b05a89eabb4a7c76c1aa21b625756f8c101c6999e4df0c4dc6199c5ca2e1353573bfdcca5615810f27485394162a5
- languageName: node
- linkType: hard
-
"concat-map@npm:0.0.1":
version: 0.0.1
resolution: "concat-map@npm:0.0.1"
@@ -1371,16 +1150,6 @@ __metadata:
languageName: node
linkType: hard
-"config-chain@npm:^1.1.11":
- version: 1.1.13
- resolution: "config-chain@npm:1.1.13"
- dependencies:
- ini: ^1.3.4
- proto-list: ~1.2.1
- checksum: 828137a28e7c2fc4b7fb229bd0cd6c1397bcf83434de54347e608154008f411749041ee392cbe42fab6307e02de4c12480260bf769b7d44b778fdea3839eafab
- languageName: node
- linkType: hard
-
"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0":
version: 1.1.0
resolution: "console-control-strings@npm:1.1.0"
@@ -1443,37 +1212,10 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:^2.6.9":
- version: 2.6.9
- resolution: "debug@npm:2.6.9"
- dependencies:
- ms: 2.0.0
- checksum: d2f51589ca66df60bf36e1fa6e4386b318c3f1e06772280eea5b1ae9fd3d05e9c2b7fd8a7d862457d00853c75b00451aa2d7459b924629ee385287a650f58fe6
- languageName: node
- linkType: hard
-
-"debug@npm:^3.2.7":
- version: 3.2.7
- resolution: "debug@npm:3.2.7"
- dependencies:
- ms: ^2.1.1
- checksum: b3d8c5940799914d30314b7c3304a43305fd0715581a919dacb8b3176d024a782062368405b47491516d2091d6462d4d11f2f4974a405048094f8bfebfa3071c
- languageName: node
- linkType: hard
-
"decimal.js@npm:^10.3.1":
- version: 10.3.1
- resolution: "decimal.js@npm:10.3.1"
- checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59
- languageName: node
- linkType: hard
-
-"decompress-response@npm:^3.3.0":
- version: 3.3.0
- resolution: "decompress-response@npm:3.3.0"
- dependencies:
- mimic-response: ^1.0.0
- checksum: 952552ac3bd7de2fc18015086b09468645c9638d98a551305e485230ada278c039c91116e946d07894b39ee53c0f0d5b6473f25a224029344354513b412d7380
+ version: 10.4.0
+ resolution: "decimal.js@npm:10.4.0"
+ checksum: 98702d9d817a9e5b3767ea6580e7f3b35544b9454e463a5dd5d3232131470f39067d02864c45cab009eb1200bc162cd26a33d34c622cd79e4657a3e25e95fb4e
languageName: node
linkType: hard
@@ -1486,15 +1228,6 @@ __metadata:
languageName: node
linkType: hard
-"decompress-response@npm:^6.0.0":
- version: 6.0.0
- resolution: "decompress-response@npm:6.0.0"
- dependencies:
- mimic-response: ^3.1.0
- checksum: d377cf47e02d805e283866c3f50d3d21578b779731e8c5072d6ce8c13cc31493db1c2f6784da9d1d5250822120cefa44f1deab112d5981015f2e17444b763812
- languageName: node
- linkType: hard
-
"decompress-tar@npm:^4.0.0, decompress-tar@npm:^4.1.0, decompress-tar@npm:^4.1.1":
version: 4.1.1
resolution: "decompress-tar@npm:4.1.1"
@@ -1581,30 +1314,6 @@ __metadata:
languageName: node
linkType: hard
-"defer-to-connect@npm:^1.0.1":
- version: 1.1.3
- resolution: "defer-to-connect@npm:1.1.3"
- checksum: 9491b301dcfa04956f989481ba7a43c2231044206269eb4ab64a52d6639ee15b1252262a789eb4239fb46ab63e44d4e408641bae8e0793d640aee55398cb3930
- languageName: node
- linkType: hard
-
-"defer-to-connect@npm:^2.0.1":
- version: 2.0.1
- resolution: "defer-to-connect@npm:2.0.1"
- checksum: 8a9b50d2f25446c0bfefb55a48e90afd58f85b21bcf78e9207cd7b804354f6409032a1705c2491686e202e64fc05f147aa5aa45f9aa82627563f045937f5791b
- languageName: node
- linkType: hard
-
-"define-properties@npm:^1.1.3, define-properties@npm:^1.1.4":
- version: 1.1.4
- resolution: "define-properties@npm:1.1.4"
- dependencies:
- has-property-descriptors: ^1.0.0
- object-keys: ^1.1.1
- checksum: ce0aef3f9eb193562b5cfb79b2d2c86b6a109dfc9fdcb5f45d680631a1a908c06824ddcdb72b7573b54e26ace07f0a23420aaba0d5c627b34d2c1de8ef527e2b
- languageName: node
- linkType: hard
-
"delegates@npm:^1.0.0":
version: 1.0.0
resolution: "delegates@npm:1.0.0"
@@ -1626,13 +1335,6 @@ __metadata:
languageName: node
linkType: hard
-"detect-node@npm:^2.0.4":
- version: 2.1.0
- resolution: "detect-node@npm:2.1.0"
- checksum: 832184ec458353e41533ac9c622f16c19f7c02d8b10c303dfd3a756f56be93e903616c0bb2d4226183c9351c15fc0b3dba41a17a2308262afabcfa3776e6ae6e
- languageName: node
- linkType: hard
-
"dir-glob@npm:^3.0.1":
version: 3.0.1
resolution: "dir-glob@npm:3.0.1"
@@ -1684,15 +1386,6 @@ __metadata:
languageName: node
linkType: hard
-"doctrine@npm:^2.1.0":
- version: 2.1.0
- resolution: "doctrine@npm:2.1.0"
- dependencies:
- esutils: ^2.0.2
- checksum: a45e277f7feaed309fe658ace1ff286c6e2002ac515af0aaf37145b8baa96e49899638c7cd47dccf84c3d32abfc113246625b3ac8f552d1046072adee13b0dc8
- languageName: node
- linkType: hard
-
"doctrine@npm:^3.0.0":
version: 3.0.0
resolution: "doctrine@npm:3.0.0"
@@ -1709,13 +1402,6 @@ __metadata:
languageName: node
linkType: hard
-"duplexer3@npm:^0.1.4":
- version: 0.1.5
- resolution: "duplexer3@npm:0.1.5"
- checksum: e677cb4c48f031ca728601d6a20bf6aed4c629d69ef9643cb89c67583d673c4ec9317cc6427501f38bd8c368d3a18f173987cc02bd99d8cf8fe3d94259a22a20
- languageName: node
- linkType: hard
-
"ecdsa-sig-formatter@npm:1.0.11, ecdsa-sig-formatter@npm:^1.0.11":
version: 1.0.11
resolution: "ecdsa-sig-formatter@npm:1.0.11"
@@ -1725,19 +1411,6 @@ __metadata:
languageName: node
linkType: hard
-"electron@npm:^20.0.1":
- version: 20.0.1
- resolution: "electron@npm:20.0.1"
- dependencies:
- "@electron/get": ^1.14.1
- "@types/node": ^16.11.26
- extract-zip: ^2.0.1
- bin:
- electron: cli.js
- checksum: 1ae66fdd7d9bb03bc8eaead814c429ccc20427cfc430ab70cd55c24e3f948c2aab7713de3478894ce15e5436bc4c5353b538062420b493f17bc62a626b836abe
- languageName: node
- linkType: hard
-
"emoji-regex@npm:^8.0.0":
version: 8.0.0
resolution: "emoji-regex@npm:8.0.0"
@@ -1745,13 +1418,6 @@ __metadata:
languageName: node
linkType: hard
-"encodeurl@npm:^1.0.2":
- version: 1.0.2
- resolution: "encodeurl@npm:1.0.2"
- checksum: e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c
- languageName: node
- linkType: hard
-
"encoding@npm:^0.1.13":
version: 0.1.13
resolution: "encoding@npm:0.1.13"
@@ -1761,7 +1427,7 @@ __metadata:
languageName: node
linkType: hard
-"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0":
+"end-of-stream@npm:^1.0.0":
version: 1.4.4
resolution: "end-of-stream@npm:1.4.4"
dependencies:
@@ -1784,64 +1450,6 @@ __metadata:
languageName: node
linkType: hard
-"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1, es-abstract@npm:^1.19.2, es-abstract@npm:^1.19.5":
- version: 1.20.1
- resolution: "es-abstract@npm:1.20.1"
- dependencies:
- call-bind: ^1.0.2
- es-to-primitive: ^1.2.1
- function-bind: ^1.1.1
- function.prototype.name: ^1.1.5
- get-intrinsic: ^1.1.1
- get-symbol-description: ^1.0.0
- has: ^1.0.3
- has-property-descriptors: ^1.0.0
- has-symbols: ^1.0.3
- internal-slot: ^1.0.3
- is-callable: ^1.2.4
- is-negative-zero: ^2.0.2
- is-regex: ^1.1.4
- is-shared-array-buffer: ^1.0.2
- is-string: ^1.0.7
- is-weakref: ^1.0.2
- object-inspect: ^1.12.0
- object-keys: ^1.1.1
- object.assign: ^4.1.2
- regexp.prototype.flags: ^1.4.3
- string.prototype.trimend: ^1.0.5
- string.prototype.trimstart: ^1.0.5
- unbox-primitive: ^1.0.2
- checksum: 28da27ae0ed9c76df7ee8ef5c278df79dcfdb554415faf7068bb7c58f8ba8e2a16bfb59e586844be6429ab4c302ca7748979d48442224cb1140b051866d74b7f
- languageName: node
- linkType: hard
-
-"es-shim-unscopables@npm:^1.0.0":
- version: 1.0.0
- resolution: "es-shim-unscopables@npm:1.0.0"
- dependencies:
- has: ^1.0.3
- checksum: 83e95cadbb6ee44d3644dfad60dcad7929edbc42c85e66c3e99aefd68a3a5c5665f2686885cddb47dfeabfd77bd5ea5a7060f2092a955a729bbd8834f0d86fa1
- languageName: node
- linkType: hard
-
-"es-to-primitive@npm:^1.2.1":
- version: 1.2.1
- resolution: "es-to-primitive@npm:1.2.1"
- dependencies:
- is-callable: ^1.1.4
- is-date-object: ^1.0.1
- is-symbol: ^1.0.2
- checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed
- languageName: node
- linkType: hard
-
-"es6-error@npm:^4.1.1":
- version: 4.1.1
- resolution: "es6-error@npm:4.1.1"
- checksum: ae41332a51ec1323da6bbc5d75b7803ccdeddfae17c41b6166ebbafc8e8beb7a7b80b884b7fab1cc80df485860ac3c59d78605e860bb4f8cd816b3d6ade0d010
- languageName: node
- linkType: hard
-
"esbuild-android-64@npm:0.14.54":
version: 0.14.54
resolution: "esbuild-android-64@npm:0.14.54"
@@ -2081,26 +1689,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-import-resolver-node@npm:^0.3.6":
- version: 0.3.6
- resolution: "eslint-import-resolver-node@npm:0.3.6"
- dependencies:
- debug: ^3.2.7
- resolve: ^1.20.0
- checksum: 6266733af1e112970e855a5bcc2d2058fb5ae16ad2a6d400705a86b29552b36131ffc5581b744c23d550de844206fb55e9193691619ee4dbf225c4bde526b1c8
- languageName: node
- linkType: hard
-
-"eslint-module-utils@npm:^2.7.3":
- version: 2.7.3
- resolution: "eslint-module-utils@npm:2.7.3"
- dependencies:
- debug: ^3.2.7
- find-up: ^2.1.0
- checksum: 77048263f309167a1e6a1e1b896bfb5ddd1d3859b2e2abbd9c32c432aee13d610d46e6820b1ca81b37fba437cf423a404bc6649be64ace9148a3062d1886a678
- languageName: node
- linkType: hard
-
"eslint-plugin-deprecation@npm:^1.3.2":
version: 1.3.2
resolution: "eslint-plugin-deprecation@npm:1.3.2"
@@ -2115,29 +1703,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-import@npm:^2.26.0":
- version: 2.26.0
- resolution: "eslint-plugin-import@npm:2.26.0"
- dependencies:
- array-includes: ^3.1.4
- array.prototype.flat: ^1.2.5
- debug: ^2.6.9
- doctrine: ^2.1.0
- eslint-import-resolver-node: ^0.3.6
- eslint-module-utils: ^2.7.3
- has: ^1.0.3
- is-core-module: ^2.8.1
- is-glob: ^4.0.3
- minimatch: ^3.1.2
- object.values: ^1.1.5
- resolve: ^1.22.0
- tsconfig-paths: ^3.14.1
- peerDependencies:
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
- checksum: 0bf77ad80339554481eafa2b1967449e1f816b94c7a6f9614ce33fb4083c4e6c050f10d241dd50b4975d47922880a34de1e42ea9d8e6fd663ebb768baa67e655
- languageName: node
- linkType: hard
-
"eslint-scope@npm:^5.1.1":
version: 5.1.1
resolution: "eslint-scope@npm:5.1.1"
@@ -2183,9 +1748,9 @@ __metadata:
languageName: node
linkType: hard
-"eslint@npm:^8.21.0":
- version: 8.21.0
- resolution: "eslint@npm:8.21.0"
+"eslint@npm:^8.22.0":
+ version: 8.22.0
+ resolution: "eslint@npm:8.22.0"
dependencies:
"@eslint/eslintrc": ^1.3.0
"@humanwhocodes/config-array": ^0.10.4
@@ -2228,7 +1793,7 @@ __metadata:
v8-compile-cache: ^2.0.3
bin:
eslint: bin/eslint.js
- checksum: 1d39ddb08772ea230cb7d74f7f81f85b9d46965d3600725c7eb39a27bcdaf28cb2a780dacf6cfa1cfbf2da606b57a5e7e3ab373ab474cbcf0ba042076821f501
+ checksum: 2d84a7a2207138cdb250759b047fdb05a57fede7f87b7a039d9370edba7f26e23a873a208becfd4b2c9e4b5499029f3fc3b9318da3290e693d25c39084119c80
languageName: node
linkType: hard
@@ -2282,13 +1847,6 @@ __metadata:
languageName: node
linkType: hard
-"event-target-shim@npm:^5.0.0":
- version: 5.0.1
- resolution: "event-target-shim@npm:5.0.1"
- checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166
- languageName: node
- linkType: hard
-
"execa@npm:^0.6.3":
version: 0.6.3
resolution: "execa@npm:0.6.3"
@@ -2311,23 +1869,6 @@ __metadata:
languageName: node
linkType: hard
-"extract-zip@npm:^2.0.1":
- version: 2.0.1
- resolution: "extract-zip@npm:2.0.1"
- dependencies:
- "@types/yauzl": ^2.9.1
- debug: ^4.1.1
- get-stream: ^5.1.0
- yauzl: ^2.10.0
- dependenciesMeta:
- "@types/yauzl":
- optional: true
- bin:
- extract-zip: cli.js
- checksum: 8cbda9debdd6d6980819cc69734d874ddd71051c9fe5bde1ef307ebcedfe949ba57b004894b585f758b7c9eeeea0e3d87f2dda89b7d25320459c2c9643ebb635
- languageName: node
- linkType: hard
-
"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
version: 3.1.3
resolution: "fast-deep-equal@npm:3.1.3"
@@ -2447,15 +1988,6 @@ __metadata:
languageName: node
linkType: hard
-"find-up@npm:^2.1.0":
- version: 2.1.0
- resolution: "find-up@npm:2.1.0"
- dependencies:
- locate-path: ^2.0.0
- checksum: 43284fe4da09f89011f08e3c32cd38401e786b19226ea440b75386c1b12a4cb738c94969808d53a84f564ede22f732c8409e3cfc3f7fb5b5c32378ad0bbf28bd
- languageName: node
- linkType: hard
-
"find-up@npm:^5.0.0":
version: 5.0.0
resolution: "find-up@npm:5.0.0"
@@ -2477,16 +2009,9 @@ __metadata:
linkType: hard
"flatted@npm:^3.1.0":
- version: 3.2.6
- resolution: "flatted@npm:3.2.6"
- checksum: 33b87aa88dfa40ca6ee31d7df61712bbbad3d3c05c132c23e59b9b61d34631b337a18ff2b8dc5553acdc871ec72b741e485f78969cf006124a3f57174de29a0e
- languageName: node
- linkType: hard
-
-"form-data-encoder@npm:^2.0.1":
- version: 2.0.1
- resolution: "form-data-encoder@npm:2.0.1"
- checksum: 66a8dd84d7fcbab5fdaec9382f29e26a12b625d491ddfd267c7c7b0bf5b41b142c51826d4b89155fa975c09ea32b67000b6d01074410d57d6a7adee7405754c0
+ version: 3.2.7
+ resolution: "flatted@npm:3.2.7"
+ checksum: 427633049d55bdb80201c68f7eb1cbd533e03eac541f97d3aecab8c5526f12a20ccecaeede08b57503e772c769e7f8680b37e8d482d1e5f8d7e2194687f9ea35
languageName: node
linkType: hard
@@ -2513,17 +2038,6 @@ __metadata:
languageName: node
linkType: hard
-"fs-extra@npm:^8.1.0":
- version: 8.1.0
- resolution: "fs-extra@npm:8.1.0"
- dependencies:
- graceful-fs: ^4.2.0
- jsonfile: ^4.0.0
- universalify: ^0.1.0
- checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880
- languageName: node
- linkType: hard
-
"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0":
version: 2.1.0
resolution: "fs-minipass@npm:2.1.0"
@@ -2566,18 +2080,6 @@ __metadata:
languageName: node
linkType: hard
-"function.prototype.name@npm:^1.1.5":
- version: 1.1.5
- resolution: "function.prototype.name@npm:1.1.5"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.3
- es-abstract: ^1.19.0
- functions-have-names: ^1.2.2
- checksum: acd21d733a9b649c2c442f067567743214af5fa248dbeee69d8278ce7df3329ea5abac572be9f7470b4ec1cd4d8f1040e3c5caccf98ebf2bf861a0deab735c27
- languageName: node
- linkType: hard
-
"functional-red-black-tree@npm:^1.0.1":
version: 1.0.1
resolution: "functional-red-black-tree@npm:1.0.1"
@@ -2585,13 +2087,6 @@ __metadata:
languageName: node
linkType: hard
-"functions-have-names@npm:^1.2.2":
- version: 1.2.3
- resolution: "functions-have-names@npm:1.2.3"
- checksum: c3f1f5ba20f4e962efb71344ce0a40722163e85bee2101ce25f88214e78182d2d2476aa85ef37950c579eb6cf6ee811c17b3101bb84004bb75655f3e33f3fdb5
- languageName: node
- linkType: hard
-
"fuse.js@npm:^6.6.2":
version: 6.6.2
resolution: "fuse.js@npm:6.6.2"
@@ -2632,20 +2127,7 @@ __metadata:
languageName: node
linkType: hard
-"gaxios@npm:^4.0.0":
- version: 4.3.3
- resolution: "gaxios@npm:4.3.3"
- dependencies:
- abort-controller: ^3.0.0
- extend: ^3.0.2
- https-proxy-agent: ^5.0.0
- is-stream: ^2.0.0
- node-fetch: ^2.6.7
- checksum: 0b72a00875404e2c3d7aca9f32535e931d7b0ebb850dc92fafc1685b99a109b04205c63e4637a2d0d9a261ac50adf83f7d33435f73e256dcca32564ef9358fee
- languageName: node
- linkType: hard
-
-"gaxios@npm:^5.0.0":
+"gaxios@npm:^5.0.0, gaxios@npm:^5.0.1":
version: 5.0.1
resolution: "gaxios@npm:5.0.1"
dependencies:
@@ -2674,7 +2156,7 @@ __metadata:
languageName: node
linkType: hard
-"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.0, get-intrinsic@npm:^1.1.1":
+"get-intrinsic@npm:^1.0.2":
version: 1.1.2
resolution: "get-intrinsic@npm:1.1.2"
dependencies:
@@ -2702,41 +2184,6 @@ __metadata:
languageName: node
linkType: hard
-"get-stream@npm:^4.1.0":
- version: 4.1.0
- resolution: "get-stream@npm:4.1.0"
- dependencies:
- pump: ^3.0.0
- checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73
- languageName: node
- linkType: hard
-
-"get-stream@npm:^5.1.0":
- version: 5.2.0
- resolution: "get-stream@npm:5.2.0"
- dependencies:
- pump: ^3.0.0
- checksum: 8bc1a23174a06b2b4ce600df38d6c98d2ef6d84e020c1ddad632ad75bac4e092eeb40e4c09e0761c35fc2dbc5e7fff5dab5e763a383582c4a167dd69a905bd12
- languageName: node
- linkType: hard
-
-"get-stream@npm:^6.0.1":
- version: 6.0.1
- resolution: "get-stream@npm:6.0.1"
- checksum: e04ecece32c92eebf5b8c940f51468cd53554dcbb0ea725b2748be583c9523d00128137966afce410b9b051eb2ef16d657cd2b120ca8edafcf5a65e81af63cad
- languageName: node
- linkType: hard
-
-"get-symbol-description@npm:^1.0.0":
- version: 1.0.0
- resolution: "get-symbol-description@npm:1.0.0"
- dependencies:
- call-bind: ^1.0.2
- get-intrinsic: ^1.1.1
- checksum: 9ceff8fe968f9270a37a1f73bf3f1f7bda69ca80f4f80850670e0e7b9444ff99323f7ac52f96567f8b5f5fbe7ac717a0d81d3407c7313e82810c6199446a5247
- languageName: node
- linkType: hard
-
"gif-to-apng@npm:^0.1.2":
version: 0.1.2
resolution: "gif-to-apng@npm:0.1.2"
@@ -2792,32 +2239,6 @@ __metadata:
languageName: node
linkType: hard
-"global-agent@npm:^3.0.0":
- version: 3.0.0
- resolution: "global-agent@npm:3.0.0"
- dependencies:
- boolean: ^3.0.1
- es6-error: ^4.1.1
- matcher: ^3.0.0
- roarr: ^2.15.3
- semver: ^7.3.2
- serialize-error: ^7.0.1
- checksum: 75074d80733b4bd5386c47f5df028e798018025beac0ab310e9908c72bf5639e408203e7bca0130d5ee01b5f4abc6d34385d96a9f950ea5fe1979bb431c808f7
- languageName: node
- linkType: hard
-
-"global-tunnel-ng@npm:^2.7.1":
- version: 2.7.1
- resolution: "global-tunnel-ng@npm:2.7.1"
- dependencies:
- encodeurl: ^1.0.2
- lodash: ^4.17.10
- npm-conf: ^1.1.3
- tunnel: ^0.0.6
- checksum: b7e016093eab6058b5fdd8caea31c22dc1a607f0f0b41c001ade5e0227c5d74efe9ce9bae56316d794bc1cedd461a187b8b7e8f0a3eb4d194972cdfb9d860af2
- languageName: node
- linkType: hard
-
"globals@npm:^13.15.0":
version: 13.17.0
resolution: "globals@npm:13.17.0"
@@ -2827,15 +2248,6 @@ __metadata:
languageName: node
linkType: hard
-"globalthis@npm:^1.0.1":
- version: 1.0.3
- resolution: "globalthis@npm:1.0.3"
- dependencies:
- define-properties: ^1.1.3
- checksum: fbd7d760dc464c886d0196166d92e5ffb4c84d0730846d6621a39fbbc068aeeb9c8d1421ad330e94b7bca4bb4ea092f5f21f3d36077812af5d098b4dc006c998
- languageName: node
- linkType: hard
-
"globby@npm:^11.1.0":
version: 11.1.0
resolution: "globby@npm:11.1.0"
@@ -2851,8 +2263,8 @@ __metadata:
linkType: hard
"google-auth-library@npm:^8.0.2":
- version: 8.1.1
- resolution: "google-auth-library@npm:8.1.1"
+ version: 8.3.0
+ resolution: "google-auth-library@npm:8.3.0"
dependencies:
arrify: ^2.0.0
base64-js: ^1.3.0
@@ -2863,7 +2275,7 @@ __metadata:
gtoken: ^6.0.0
jws: ^4.0.0
lru-cache: ^6.0.0
- checksum: 581badf70974b900cdf6fa1749a14f8a42885cfab8ce5731101e40de286d977e30845e6815f58ea329eaf7ee4678262415ab1ea13aa29bce3609131be967787c
+ checksum: abae50667afc0835c8957173d6464eb3fa2c53deea17fee54cbb050114e096f86b85dd3825d2f6980e67f13756e5d7a69bb4d48282c397ee165dfbb6072714b4
languageName: node
linkType: hard
@@ -2879,70 +2291,30 @@ __metadata:
linkType: hard
"googleapis-common@npm:^6.0.0":
- version: 6.0.0
- resolution: "googleapis-common@npm:6.0.0"
+ version: 6.0.1
+ resolution: "googleapis-common@npm:6.0.1"
dependencies:
extend: ^3.0.2
- gaxios: ^4.0.0
+ gaxios: ^5.0.1
google-auth-library: ^8.0.2
qs: ^6.7.0
url-template: ^2.0.8
uuid: ^8.0.0
- checksum: a6c697ac0c829f7bdfcfe32f5fb16fbf7b864cc173257c09eff6e4893f3bd56064904f7b6843d4c8ff074b128609c6cc2ac7490aaf9ed70cab417dc2fb54236b
+ checksum: 46bfdd4673006075e3349500e312f2267f1d2830434d76b7b20d8de3ebfb9c5a3f525cc88b6e89f5d8f5f8f3ff9fcee90e4667dac45306cddb05d0f70b97b999
languageName: node
linkType: hard
-"googleapis@npm:^105.0.0":
- version: 105.0.0
- resolution: "googleapis@npm:105.0.0"
+"googleapis@npm:^107.0.0":
+ version: 107.0.0
+ resolution: "googleapis@npm:107.0.0"
dependencies:
google-auth-library: ^8.0.2
googleapis-common: ^6.0.0
- checksum: 39056eed8b5d861dffa591af7d23cd8761752e7f47f57811de8781781d9f917a2e4eee555fc70fcbd17aa07668e65d8f5e38870114adb4877a3cb95b5f7530e8
- languageName: node
- linkType: hard
-
-"got@npm:^12.3.1":
- version: 12.3.1
- resolution: "got@npm:12.3.1"
- dependencies:
- "@sindresorhus/is": ^5.2.0
- "@szmarczak/http-timer": ^5.0.1
- "@types/cacheable-request": ^6.0.2
- "@types/responselike": ^1.0.0
- cacheable-lookup: ^6.0.4
- cacheable-request: ^7.0.2
- decompress-response: ^6.0.0
- form-data-encoder: ^2.0.1
- get-stream: ^6.0.1
- http2-wrapper: ^2.1.10
- lowercase-keys: ^3.0.0
- p-cancelable: ^3.0.0
- responselike: ^2.0.0
- checksum: 156bc4dd7300b5945a2648b18d03610a674d9d3ae54c557f85cf5026f3f6362801b561413898d5e86f554791de88841685ca48674b1fc4d462621de8d2186300
- languageName: node
- linkType: hard
-
-"got@npm:^9.6.0":
- version: 9.6.0
- resolution: "got@npm:9.6.0"
- dependencies:
- "@sindresorhus/is": ^0.14.0
- "@szmarczak/http-timer": ^1.1.2
- cacheable-request: ^6.0.0
- decompress-response: ^3.3.0
- duplexer3: ^0.1.4
- get-stream: ^4.1.0
- lowercase-keys: ^1.0.1
- mimic-response: ^1.0.1
- p-cancelable: ^1.0.0
- to-readable-stream: ^1.0.0
- url-parse-lax: ^3.0.0
- checksum: 941807bd9704bacf5eb401f0cc1212ffa1f67c6642f2d028fd75900471c221b1da2b8527f4553d2558f3faeda62ea1cf31665f8b002c6137f5de8732f07370b0
+ checksum: 6cf90ad0039d61d65aacdfca9eb98af55ae380ec1b4cea43b58b49d765b924e8b5307e4c4e3b0f0128f53cab813fbdeaaf36522b60bb0a114c218c62a95f8f97
languageName: node
linkType: hard
-"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6":
+"graceful-fs@npm:^4.1.10, graceful-fs@npm:^4.2.6":
version: 4.2.10
resolution: "graceful-fs@npm:4.2.10"
checksum: 3f109d70ae123951905d85032ebeae3c2a5a7a997430df00ea30df0e3a6c60cf6689b109654d6fdacd28810a053348c4d14642da1d075049e6be1ba5216218da
@@ -2957,20 +2329,13 @@ __metadata:
linkType: hard
"gtoken@npm:^6.0.0":
- version: 6.1.0
- resolution: "gtoken@npm:6.1.0"
+ version: 6.1.1
+ resolution: "gtoken@npm:6.1.1"
dependencies:
- gaxios: ^4.0.0
+ gaxios: ^5.0.1
google-p12-pem: ^4.0.0
jws: ^4.0.0
- checksum: 23a1d954e0644fb42127cf3fc70f73dab984de3667c9b0952f50be36b52840eb6e953d5051de92cc9ae71ecfcfa310d1d086b578e3609b2ed3cd9dd61a194baa
- languageName: node
- linkType: hard
-
-"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2":
- version: 1.0.2
- resolution: "has-bigints@npm:1.0.2"
- checksum: 390e31e7be7e5c6fe68b81babb73dfc35d413604d7ee5f56da101417027a4b4ce6a27e46eff97ad040c835b5d228676eae99a9b5c3bc0e23c8e81a49241ff45b
+ checksum: f063ed3f418f5a9c33fbe599b09f56a55b18f6c8d2913f11cc2fc5025d53b96fd6ab1b4deb2c7631167d6b89d0939e4ea77f94767fcf338862ffda8911250980
languageName: node
linkType: hard
@@ -2981,31 +2346,13 @@ __metadata:
languageName: node
linkType: hard
-"has-property-descriptors@npm:^1.0.0":
- version: 1.0.0
- resolution: "has-property-descriptors@npm:1.0.0"
- dependencies:
- get-intrinsic: ^1.1.1
- checksum: a6d3f0a266d0294d972e354782e872e2fe1b6495b321e6ef678c9b7a06a40408a6891817350c62e752adced73a94ac903c54734fee05bf65b1905ee1368194bb
- languageName: node
- linkType: hard
-
-"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3":
+"has-symbols@npm:^1.0.3":
version: 1.0.3
resolution: "has-symbols@npm:1.0.3"
checksum: a054c40c631c0d5741a8285010a0777ea0c068f99ed43e5d6eb12972da223f8af553a455132fdb0801bdcfa0e0f443c0c03a68d8555aa529b3144b446c3f2410
languageName: node
linkType: hard
-"has-tostringtag@npm:^1.0.0":
- version: 1.0.0
- resolution: "has-tostringtag@npm:1.0.0"
- dependencies:
- has-symbols: ^1.0.2
- checksum: cc12eb28cb6ae22369ebaad3a8ab0799ed61270991be88f208d508076a1e99abe4198c965935ce85ea90b60c94ddda73693b0920b58e7ead048b4a391b502c1c
- languageName: node
- linkType: hard
-
"has-unicode@npm:^2.0.1":
version: 2.0.1
resolution: "has-unicode@npm:2.0.1"
@@ -3022,7 +2369,7 @@ __metadata:
languageName: node
linkType: hard
-"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.0":
+"http-cache-semantics@npm:^4.1.0":
version: 4.1.0
resolution: "http-cache-semantics@npm:4.1.0"
checksum: 974de94a81c5474be07f269f9fd8383e92ebb5a448208223bfb39e172a9dbc26feff250192ecc23b9593b3f92098e010406b0f24bd4d588d631f80214648ed42
@@ -3040,16 +2387,6 @@ __metadata:
languageName: node
linkType: hard
-"http2-wrapper@npm:^2.1.10":
- version: 2.1.11
- resolution: "http2-wrapper@npm:2.1.11"
- dependencies:
- quick-lru: ^5.1.1
- resolve-alpn: ^1.2.0
- checksum: 5da05aa2c77226ac9cc82c616383f59c8f31b79897b02ecbe44b09714be1fca1f21bb184e672a669ca2830eefea4edac5f07e71c00cb5a8c5afec8e5a20cfaf7
- languageName: node
- linkType: hard
-
"https-proxy-agent@npm:^5.0.0":
version: 5.0.1
resolution: "https-proxy-agent@npm:5.0.1"
@@ -3154,24 +2491,6 @@ __metadata:
languageName: node
linkType: hard
-"ini@npm:^1.3.4":
- version: 1.3.8
- resolution: "ini@npm:1.3.8"
- checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3
- languageName: node
- linkType: hard
-
-"internal-slot@npm:^1.0.3":
- version: 1.0.3
- resolution: "internal-slot@npm:1.0.3"
- dependencies:
- get-intrinsic: ^1.1.0
- has: ^1.0.3
- side-channel: ^1.0.4
- checksum: 1944f92e981e47aebc98a88ff0db579fd90543d937806104d0b96557b10c1f170c51fb777b97740a8b6ddeec585fca8c39ae99fd08a8e058dfc8ab70937238bf
- languageName: node
- linkType: hard
-
"ip@npm:^2.0.0":
version: 2.0.0
resolution: "ip@npm:2.0.0"
@@ -3179,33 +2498,7 @@ __metadata:
languageName: node
linkType: hard
-"is-bigint@npm:^1.0.1":
- version: 1.0.4
- resolution: "is-bigint@npm:1.0.4"
- dependencies:
- has-bigints: ^1.0.1
- checksum: c56edfe09b1154f8668e53ebe8252b6f185ee852a50f9b41e8d921cb2bed425652049fbe438723f6cb48a63ca1aa051e948e7e401e093477c99c84eba244f666
- languageName: node
- linkType: hard
-
-"is-boolean-object@npm:^1.1.0":
- version: 1.1.2
- resolution: "is-boolean-object@npm:1.1.2"
- dependencies:
- call-bind: ^1.0.2
- has-tostringtag: ^1.0.0
- checksum: c03b23dbaacadc18940defb12c1c0e3aaece7553ef58b162a0f6bba0c2a7e1551b59f365b91e00d2dbac0522392d576ef322628cb1d036a0fe51eb466db67222
- languageName: node
- linkType: hard
-
-"is-callable@npm:^1.1.4, is-callable@npm:^1.2.4":
- version: 1.2.4
- resolution: "is-callable@npm:1.2.4"
- checksum: 1a28d57dc435797dae04b173b65d6d1e77d4f16276e9eff973f994eadcfdc30a017e6a597f092752a083c1103cceb56c91e3dadc6692fedb9898dfaba701575f
- languageName: node
- linkType: hard
-
-"is-core-module@npm:^2.8.1, is-core-module@npm:^2.9.0":
+"is-core-module@npm:^2.9.0":
version: 2.10.0
resolution: "is-core-module@npm:2.10.0"
dependencies:
@@ -3214,15 +2507,6 @@ __metadata:
languageName: node
linkType: hard
-"is-date-object@npm:^1.0.1":
- version: 1.0.5
- resolution: "is-date-object@npm:1.0.5"
- dependencies:
- has-tostringtag: ^1.0.0
- checksum: baa9077cdf15eb7b58c79398604ca57379b2fc4cf9aa7a9b9e295278648f628c9b201400c01c5e0f7afae56507d741185730307cbe7cad3b9f90a77e5ee342fc
- languageName: node
- linkType: hard
-
"is-extglob@npm:^2.1.1":
version: 2.1.1
resolution: "is-extglob@npm:2.1.1"
@@ -3260,22 +2544,6 @@ __metadata:
languageName: node
linkType: hard
-"is-negative-zero@npm:^2.0.2":
- version: 2.0.2
- resolution: "is-negative-zero@npm:2.0.2"
- checksum: f3232194c47a549da60c3d509c9a09be442507616b69454716692e37ae9f37c4dea264fb208ad0c9f3efd15a796a46b79df07c7e53c6227c32170608b809149a
- languageName: node
- linkType: hard
-
-"is-number-object@npm:^1.0.4":
- version: 1.0.7
- resolution: "is-number-object@npm:1.0.7"
- dependencies:
- has-tostringtag: ^1.0.0
- checksum: d1e8d01bb0a7134c74649c4e62da0c6118a0bfc6771ea3c560914d52a627873e6920dd0fd0ebc0e12ad2ff4687eac4c308f7e80320b973b2c8a2c8f97a7524f7
- languageName: node
- linkType: hard
-
"is-number@npm:^7.0.0":
version: 7.0.0
resolution: "is-number@npm:7.0.0"
@@ -3283,25 +2551,6 @@ __metadata:
languageName: node
linkType: hard
-"is-regex@npm:^1.1.4":
- version: 1.1.4
- resolution: "is-regex@npm:1.1.4"
- dependencies:
- call-bind: ^1.0.2
- has-tostringtag: ^1.0.0
- checksum: 362399b33535bc8f386d96c45c9feb04cf7f8b41c182f54174c1a45c9abbbe5e31290bbad09a458583ff6bf3b2048672cdb1881b13289569a7c548370856a652
- languageName: node
- linkType: hard
-
-"is-shared-array-buffer@npm:^1.0.2":
- version: 1.0.2
- resolution: "is-shared-array-buffer@npm:1.0.2"
- dependencies:
- call-bind: ^1.0.2
- checksum: 9508929cf14fdc1afc9d61d723c6e8d34f5e117f0bffda4d97e7a5d88c3a8681f633a74f8e3ad1fe92d5113f9b921dc5ca44356492079612f9a247efbce7032a
- languageName: node
- linkType: hard
-
"is-stream@npm:^1.1.0":
version: 1.1.0
resolution: "is-stream@npm:1.1.0"
@@ -3316,33 +2565,6 @@ __metadata:
languageName: node
linkType: hard
-"is-string@npm:^1.0.5, is-string@npm:^1.0.7":
- version: 1.0.7
- resolution: "is-string@npm:1.0.7"
- dependencies:
- has-tostringtag: ^1.0.0
- checksum: 323b3d04622f78d45077cf89aab783b2f49d24dc641aa89b5ad1a72114cfeff2585efc8c12ef42466dff32bde93d839ad321b26884cf75e5a7892a938b089989
- languageName: node
- linkType: hard
-
-"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3":
- version: 1.0.4
- resolution: "is-symbol@npm:1.0.4"
- dependencies:
- has-symbols: ^1.0.2
- checksum: 92805812ef590738d9de49d677cd17dfd486794773fb6fa0032d16452af46e9b91bb43ffe82c983570f015b37136f4b53b28b8523bfb10b0ece7a66c31a54510
- languageName: node
- linkType: hard
-
-"is-weakref@npm:^1.0.2":
- version: 1.0.2
- resolution: "is-weakref@npm:1.0.2"
- dependencies:
- call-bind: ^1.0.2
- checksum: 95bd9a57cdcb58c63b1c401c60a474b0f45b94719c30f548c891860f051bc2231575c290a6b420c6bc6e7ed99459d424c652bd5bf9a1d5259505dc35b4bf83de
- languageName: node
- linkType: hard
-
"isarray@npm:~1.0.0":
version: 1.0.0
resolution: "isarray@npm:1.0.0"
@@ -3384,20 +2606,6 @@ __metadata:
languageName: node
linkType: hard
-"json-buffer@npm:3.0.0":
- version: 3.0.0
- resolution: "json-buffer@npm:3.0.0"
- checksum: 0cecacb8025370686a916069a2ff81f7d55167421b6aa7270ee74e244012650dd6bce22b0852202ea7ff8624fce50ff0ec1bdf95914ccb4553426e290d5a63fa
- languageName: node
- linkType: hard
-
-"json-buffer@npm:3.0.1, json-buffer@npm:~3.0.1":
- version: 3.0.1
- resolution: "json-buffer@npm:3.0.1"
- checksum: 9026b03edc2847eefa2e37646c579300a1f3a4586cfb62bf857832b60c852042d0d6ae55d1afb8926163fa54c2b01d83ae24705f34990348bdac6273a29d4581
- languageName: node
- linkType: hard
-
"json-schema-traverse@npm:^0.4.1":
version: 0.4.1
resolution: "json-schema-traverse@npm:0.4.1"
@@ -3412,36 +2620,6 @@ __metadata:
languageName: node
linkType: hard
-"json-stringify-safe@npm:^5.0.1":
- version: 5.0.1
- resolution: "json-stringify-safe@npm:5.0.1"
- checksum: 48ec0adad5280b8a96bb93f4563aa1667fd7a36334f79149abd42446d0989f2ddc58274b479f4819f1f00617957e6344c886c55d05a4e15ebb4ab931e4a6a8ee
- languageName: node
- linkType: hard
-
-"json5@npm:^1.0.1":
- version: 1.0.1
- resolution: "json5@npm:1.0.1"
- dependencies:
- minimist: ^1.2.0
- bin:
- json5: lib/cli.js
- checksum: e76ea23dbb8fc1348c143da628134a98adf4c5a4e8ea2adaa74a80c455fc2cdf0e2e13e6398ef819bfe92306b610ebb2002668ed9fc1af386d593691ef346fc3
- languageName: node
- linkType: hard
-
-"jsonfile@npm:^4.0.0":
- version: 4.0.0
- resolution: "jsonfile@npm:4.0.0"
- dependencies:
- graceful-fs: ^4.1.6
- dependenciesMeta:
- graceful-fs:
- optional: true
- checksum: 6447d6224f0d31623eef9b51185af03ac328a7553efcee30fa423d98a9e276ca08db87d71e17f2310b0263fd3ffa6c2a90a6308367f661dc21580f9469897c9e
- languageName: node
- linkType: hard
-
"jwa@npm:^2.0.0":
version: 2.0.0
resolution: "jwa@npm:2.0.0"
@@ -3463,25 +2641,6 @@ __metadata:
languageName: node
linkType: hard
-"keyv@npm:^3.0.0":
- version: 3.1.0
- resolution: "keyv@npm:3.1.0"
- dependencies:
- json-buffer: 3.0.0
- checksum: bb7e8f3acffdbafbc2dd5b63f377fe6ec4c0e2c44fc82720449ef8ab54f4a7ce3802671ed94c0f475ae0a8549703353a2124561fcf3317010c141b32ca1ce903
- languageName: node
- linkType: hard
-
-"keyv@npm:^4.0.0":
- version: 4.3.3
- resolution: "keyv@npm:4.3.3"
- dependencies:
- compress-brotli: ^1.3.8
- json-buffer: 3.0.1
- checksum: bcc946eeec3407fb3b42d831ce985357162113c5f07a8c45c12ede39704ba2d99be4c3dded76d2d2d2a2366627e42440bdde24393216164156928399949c12a1
- languageName: node
- linkType: hard
-
"levn@npm:^0.4.1":
version: 0.4.1
resolution: "levn@npm:0.4.1"
@@ -3517,16 +2676,6 @@ __metadata:
languageName: node
linkType: hard
-"locate-path@npm:^2.0.0":
- version: 2.0.0
- resolution: "locate-path@npm:2.0.0"
- dependencies:
- p-locate: ^2.0.0
- path-exists: ^3.0.0
- checksum: 02d581edbbbb0fa292e28d96b7de36b5b62c2fa8b5a7e82638ebb33afa74284acf022d3b1e9ae10e3ffb7658fbc49163fcd5e76e7d1baaa7801c3e05a81da755
- languageName: node
- linkType: hard
-
"locate-path@npm:^6.0.0":
version: 6.0.0
resolution: "locate-path@npm:6.0.0"
@@ -3557,7 +2706,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash@npm:^4.17.10, lodash@npm:^4.17.21":
+"lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7
@@ -3573,27 +2722,6 @@ __metadata:
languageName: node
linkType: hard
-"lowercase-keys@npm:^1.0.0, lowercase-keys@npm:^1.0.1":
- version: 1.0.1
- resolution: "lowercase-keys@npm:1.0.1"
- checksum: 4d045026595936e09953e3867722e309415ff2c80d7701d067546d75ef698dac218a4f53c6d1d0e7368b47e45fd7529df47e6cb56fbb90523ba599f898b3d147
- languageName: node
- linkType: hard
-
-"lowercase-keys@npm:^2.0.0":
- version: 2.0.0
- resolution: "lowercase-keys@npm:2.0.0"
- checksum: 24d7ebd56ccdf15ff529ca9e08863f3c54b0b9d1edb97a3ae1af34940ae666c01a1e6d200707bce730a8ef76cb57cc10e65f245ecaaf7e6bc8639f2fb460ac23
- languageName: node
- linkType: hard
-
-"lowercase-keys@npm:^3.0.0":
- version: 3.0.0
- resolution: "lowercase-keys@npm:3.0.0"
- checksum: 67a3f81409af969bc0c4ca0e76cd7d16adb1e25aa1c197229587eaf8671275c8c067cd421795dbca4c81be0098e4c426a086a05e30de8a9c587b7a13c0c7ccc5
- languageName: node
- linkType: hard
-
"lru-cache@npm:^4.0.1":
version: 4.1.5
resolution: "lru-cache@npm:4.1.5"
@@ -3614,9 +2742,9 @@ __metadata:
linkType: hard
"lru-cache@npm:^7.7.1":
- version: 7.13.2
- resolution: "lru-cache@npm:7.13.2"
- checksum: dfed24e52bae95edf490d0f28f4f14552319ac7e7dc37ae0b84a72e084949233821b33227271abe81d8361ac079810f9d171a706f316cfdeda135012e4311015
+ version: 7.14.0
+ resolution: "lru-cache@npm:7.14.0"
+ checksum: efdd329f2c1bb790b71d497c6c59272e6bc2d7dd060ba55fc136becd3dd31fc8346edb446275504d94cb60d3c8385dbf5267b79b23789e409b2bdf302d13f0d7
languageName: node
linkType: hard
@@ -3646,8 +2774,8 @@ __metadata:
linkType: hard
"make-fetch-happen@npm:^10.0.3":
- version: 10.2.0
- resolution: "make-fetch-happen@npm:10.2.0"
+ version: 10.2.1
+ resolution: "make-fetch-happen@npm:10.2.1"
dependencies:
agentkeepalive: ^4.2.1
cacache: ^16.1.0
@@ -3665,16 +2793,7 @@ __metadata:
promise-retry: ^2.0.1
socks-proxy-agent: ^7.0.0
ssri: ^9.0.0
- checksum: 2f6c294179972f56fab40fd8618f07841e06550692bb78f6da16e7afaa9dca78c345b08cf44a77a8907ef3948e4dc77e93eb7492b8381f1217d7ac057a7522f8
- languageName: node
- linkType: hard
-
-"matcher@npm:^3.0.0":
- version: 3.0.0
- resolution: "matcher@npm:3.0.0"
- dependencies:
- escape-string-regexp: ^4.0.0
- checksum: 8bee1a7ab7609c2c21d9c9254b6785fa708eadf289032b556d57a34e98fcd4c537659a004dafee6ce80ab157099e645c199dc52678dff1e7fb0a6684e0da4dbe
+ checksum: 2332eb9a8ec96f1ffeeea56ccefabcb4193693597b132cd110734d50f2928842e22b84cfa1508e921b8385cdfd06dda9ad68645fed62b50fff629a580f5fb72c
languageName: node
linkType: hard
@@ -3714,13 +2833,6 @@ __metadata:
languageName: node
linkType: hard
-"mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1":
- version: 1.0.1
- resolution: "mimic-response@npm:1.0.1"
- checksum: 034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823
- languageName: node
- linkType: hard
-
"mimic-response@npm:^2.0.0":
version: 2.1.0
resolution: "mimic-response@npm:2.1.0"
@@ -3728,13 +2840,6 @@ __metadata:
languageName: node
linkType: hard
-"mimic-response@npm:^3.1.0":
- version: 3.1.0
- resolution: "mimic-response@npm:3.1.0"
- checksum: 25739fee32c17f433626bf19f016df9036b75b3d84a3046c7d156e72ec963dd29d7fc8a302f55a3d6c5a4ff24259676b15d915aad6480815a969ff2ec0836867
- languageName: node
- linkType: hard
-
"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
@@ -3753,13 +2858,6 @@ __metadata:
languageName: node
linkType: hard
-"minimist@npm:^1.2.0, minimist@npm:^1.2.6":
- version: 1.2.6
- resolution: "minimist@npm:1.2.6"
- checksum: d15428cd1e11eb14e1233bcfb88ae07ed7a147de251441d61158619dfb32c4d7e9061d09cab4825fdee18ecd6fce323228c8c47b5ba7cd20af378ca4048fb3fb
- languageName: node
- linkType: hard
-
"minipass-collect@npm:^1.0.2":
version: 1.0.2
resolution: "minipass-collect@npm:1.0.2"
@@ -3770,8 +2868,8 @@ __metadata:
linkType: hard
"minipass-fetch@npm:^2.0.3":
- version: 2.1.0
- resolution: "minipass-fetch@npm:2.1.0"
+ version: 2.1.1
+ resolution: "minipass-fetch@npm:2.1.1"
dependencies:
encoding: ^0.1.13
minipass: ^3.1.6
@@ -3780,7 +2878,7 @@ __metadata:
dependenciesMeta:
encoding:
optional: true
- checksum: 1334732859a3f7959ed22589bafd9c40384b885aebb5932328071c33f86b3eb181d54c86919675d1825ab5f1c8e4f328878c863873258d113c29d79a4b0c9c9f
+ checksum: 1aae0c2240b2f65309e046615e5a38cfd56a16ed2d334932aa195d183a0a2e1673a242a3b257bbb64892dee2e75d0233e8d2c3ad160928b6a2e5609efe6daad8
languageName: node
linkType: hard
@@ -3855,13 +2953,6 @@ __metadata:
languageName: node
linkType: hard
-"ms@npm:2.0.0":
- version: 2.0.0
- resolution: "ms@npm:2.0.0"
- checksum: 0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4
- languageName: node
- linkType: hard
-
"ms@npm:2.1.2":
version: 2.1.2
resolution: "ms@npm:2.1.2"
@@ -3869,7 +2960,7 @@ __metadata:
languageName: node
linkType: hard
-"ms@npm:^2.0.0, ms@npm:^2.1.1":
+"ms@npm:^2.0.0":
version: 2.1.3
resolution: "ms@npm:2.1.3"
checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d
@@ -3987,30 +3078,6 @@ __metadata:
languageName: node
linkType: hard
-"normalize-url@npm:^4.1.0":
- version: 4.5.1
- resolution: "normalize-url@npm:4.5.1"
- checksum: 9a9dee01df02ad23e171171893e56e22d752f7cff86fb96aafeae074819b572ea655b60f8302e2d85dbb834dc885c972cc1c573892fea24df46b2765065dd05a
- languageName: node
- linkType: hard
-
-"normalize-url@npm:^6.0.1":
- version: 6.1.0
- resolution: "normalize-url@npm:6.1.0"
- checksum: 4a4944631173e7d521d6b80e4c85ccaeceb2870f315584fa30121f505a6dfd86439c5e3fdd8cd9e0e291290c41d0c3599f0cb12ab356722ed242584c30348e50
- languageName: node
- linkType: hard
-
-"npm-conf@npm:^1.1.3":
- version: 1.1.3
- resolution: "npm-conf@npm:1.1.3"
- dependencies:
- config-chain: ^1.1.11
- pify: ^3.0.0
- checksum: 2d4e933b657623d98183ec408d17318547296b1cd17c4d3587e2920c554675f24f829d8f5f7f84db3a020516678fdcd01952ebaaf0e7fa8a17f6c39be4154bef
- languageName: node
- linkType: hard
-
"npm-run-path@npm:^2.0.0":
version: 2.0.2
resolution: "npm-run-path@npm:2.0.2"
@@ -4058,43 +3125,13 @@ __metadata:
languageName: node
linkType: hard
-"object-inspect@npm:^1.12.0, object-inspect@npm:^1.9.0":
+"object-inspect@npm:^1.9.0":
version: 1.12.2
resolution: "object-inspect@npm:1.12.2"
checksum: a534fc1b8534284ed71f25ce3a496013b7ea030f3d1b77118f6b7b1713829262be9e6243acbcb3ef8c626e2b64186112cb7f6db74e37b2789b9c789ca23048b2
languageName: node
linkType: hard
-"object-keys@npm:^1.1.1":
- version: 1.1.1
- resolution: "object-keys@npm:1.1.1"
- checksum: b363c5e7644b1e1b04aa507e88dcb8e3a2f52b6ffd0ea801e4c7a62d5aa559affe21c55a07fd4b1fd55fc03a33c610d73426664b20032405d7b92a1414c34d6a
- languageName: node
- linkType: hard
-
-"object.assign@npm:^4.1.2":
- version: 4.1.3
- resolution: "object.assign@npm:4.1.3"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.4
- has-symbols: ^1.0.3
- object-keys: ^1.1.1
- checksum: fe87c8acd60e0d7140e1eae8886804e7497bf6a019bae715084083c2abd1760bd5aa9c3f0e5b02c82ca5cc33b641dc908c42c86c6f7d6dfd9f083a7baa95d318
- languageName: node
- linkType: hard
-
-"object.values@npm:^1.1.5":
- version: 1.1.5
- resolution: "object.values@npm:1.1.5"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.3
- es-abstract: ^1.19.1
- checksum: 0f17e99741ebfbd0fa55ce942f6184743d3070c61bd39221afc929c8422c4907618c8da694c6915bc04a83ab3224260c779ba37fc07bb668bdc5f33b66a902a4
- languageName: node
- linkType: hard
-
"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0":
version: 1.4.0
resolution: "once@npm:1.4.0"
@@ -4118,20 +3155,6 @@ __metadata:
languageName: node
linkType: hard
-"p-cancelable@npm:^1.0.0":
- version: 1.1.0
- resolution: "p-cancelable@npm:1.1.0"
- checksum: 2db3814fef6d9025787f30afaee4496a8857a28be3c5706432cbad76c688a6db1874308f48e364a42f5317f5e41e8e7b4f2ff5c8ff2256dbb6264bc361704ece
- languageName: node
- linkType: hard
-
-"p-cancelable@npm:^3.0.0":
- version: 3.0.0
- resolution: "p-cancelable@npm:3.0.0"
- checksum: 2b5ae34218f9c2cf7a7c18e5d9a726ef9b165ef07e6c959f6738371509e747334b5f78f3bcdeb03d8a12dcb978faf641fd87eb21486ed7d36fb823b8ddef3219
- languageName: node
- linkType: hard
-
"p-finally@npm:^1.0.0":
version: 1.0.0
resolution: "p-finally@npm:1.0.0"
@@ -4139,15 +3162,6 @@ __metadata:
languageName: node
linkType: hard
-"p-limit@npm:^1.1.0":
- version: 1.3.0
- resolution: "p-limit@npm:1.3.0"
- dependencies:
- p-try: ^1.0.0
- checksum: 281c1c0b8c82e1ac9f81acd72a2e35d402bf572e09721ce5520164e9de07d8274451378a3470707179ad13240535558f4b277f02405ad752e08c7d5b0d54fbfd
- languageName: node
- linkType: hard
-
"p-limit@npm:^3.0.2":
version: 3.1.0
resolution: "p-limit@npm:3.1.0"
@@ -4157,15 +3171,6 @@ __metadata:
languageName: node
linkType: hard
-"p-locate@npm:^2.0.0":
- version: 2.0.0
- resolution: "p-locate@npm:2.0.0"
- dependencies:
- p-limit: ^1.1.0
- checksum: e2dceb9b49b96d5513d90f715780f6f4972f46987dc32a0e18bc6c3fc74a1a5d73ec5f81b1398af5e58b99ea1ad03fd41e9181c01fa81b4af2833958696e3081
- languageName: node
- linkType: hard
-
"p-locate@npm:^5.0.0":
version: 5.0.0
resolution: "p-locate@npm:5.0.0"
@@ -4184,13 +3189,6 @@ __metadata:
languageName: node
linkType: hard
-"p-try@npm:^1.0.0":
- version: 1.0.0
- resolution: "p-try@npm:1.0.0"
- checksum: 3b5303f77eb7722144154288bfd96f799f8ff3e2b2b39330efe38db5dd359e4fb27012464cd85cb0a76e9b7edd1b443568cb3192c22e7cffc34989df0bafd605
- languageName: node
- linkType: hard
-
"packet-reader@npm:1.0.0":
version: 1.0.0
resolution: "packet-reader@npm:1.0.0"
@@ -4207,13 +3205,6 @@ __metadata:
languageName: node
linkType: hard
-"path-exists@npm:^3.0.0":
- version: 3.0.0
- resolution: "path-exists@npm:3.0.0"
- checksum: 96e92643aa34b4b28d0de1cd2eba52a1c5313a90c6542d03f62750d82480e20bfa62bc865d5cfc6165f5fcd5aeb0851043c40a39be5989646f223300021bae0a
- languageName: node
- linkType: hard
-
"path-exists@npm:^4.0.0":
version: 4.0.0
resolution: "path-exists@npm:4.0.0"
@@ -4450,13 +3441,6 @@ __metadata:
languageName: node
linkType: hard
-"prepend-http@npm:^2.0.0":
- version: 2.0.0
- resolution: "prepend-http@npm:2.0.0"
- checksum: 7694a9525405447662c1ffd352fcb41b6410c705b739b6f4e3a3e21cf5fdede8377890088e8934436b8b17ba55365a615f153960f30877bf0d0392f9e93503ea
- languageName: node
- linkType: hard
-
"prettier@npm:^2.7.1":
version: 2.7.1
resolution: "prettier@npm:2.7.1"
@@ -4480,13 +3464,6 @@ __metadata:
languageName: node
linkType: hard
-"progress@npm:^2.0.3":
- version: 2.0.3
- resolution: "progress@npm:2.0.3"
- checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7
- languageName: node
- linkType: hard
-
"promise-inflight@npm:^1.0.1":
version: 1.0.1
resolution: "promise-inflight@npm:1.0.1"
@@ -4504,13 +3481,6 @@ __metadata:
languageName: node
linkType: hard
-"proto-list@npm:~1.2.1":
- version: 1.2.4
- resolution: "proto-list@npm:1.2.4"
- checksum: 4d4826e1713cbfa0f15124ab0ae494c91b597a3c458670c9714c36e8baddf5a6aad22842776f2f5b137f259c8533e741771445eb8df82e861eea37a6eaba03f7
- languageName: node
- linkType: hard
-
"pseudomap@npm:^1.0.2":
version: 1.0.2
resolution: "pseudomap@npm:1.0.2"
@@ -4518,16 +3488,6 @@ __metadata:
languageName: node
linkType: hard
-"pump@npm:^3.0.0":
- version: 3.0.0
- resolution: "pump@npm:3.0.0"
- dependencies:
- end-of-stream: ^1.1.0
- once: ^1.3.1
- checksum: e42e9229fba14732593a718b04cb5e1cfef8254544870997e0ecd9732b189a48e1256e4e5478148ecb47c8511dca2b09eae56b4d0aad8009e6fac8072923cfc9
- languageName: node
- linkType: hard
-
"punycode@npm:^2.1.0":
version: 2.1.1
resolution: "punycode@npm:2.1.1"
@@ -4551,13 +3511,6 @@ __metadata:
languageName: node
linkType: hard
-"quick-lru@npm:^5.1.1":
- version: 5.1.1
- resolution: "quick-lru@npm:5.1.1"
- checksum: a516faa25574be7947969883e6068dbe4aa19e8ef8e8e0fd96cddd6d36485e9106d85c0041a27153286b0770b381328f4072aa40d3b18a19f5f7d2b78b94b5ed
- languageName: node
- linkType: hard
-
"readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.5":
version: 2.3.7
resolution: "readable-stream@npm:2.3.7"
@@ -4600,17 +3553,6 @@ __metadata:
languageName: node
linkType: hard
-"regexp.prototype.flags@npm:^1.4.3":
- version: 1.4.3
- resolution: "regexp.prototype.flags@npm:1.4.3"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.3
- functions-have-names: ^1.2.2
- checksum: 51228bae732592adb3ededd5e15426be25f289e9c4ef15212f4da73f4ec3919b6140806374b8894036a86020d054a8d2657d3fee6bb9b4d35d8939c20030b7a6
- languageName: node
- linkType: hard
-
"regexpp@npm:^3.2.0":
version: 3.2.0
resolution: "regexpp@npm:3.2.0"
@@ -4618,13 +3560,6 @@ __metadata:
languageName: node
linkType: hard
-"resolve-alpn@npm:^1.2.0":
- version: 1.2.1
- resolution: "resolve-alpn@npm:1.2.1"
- checksum: f558071fcb2c60b04054c99aebd572a2af97ef64128d59bef7ab73bd50d896a222a056de40ffc545b633d99b304c259ea9d0c06830d5c867c34f0bfa60b8eae0
- languageName: node
- linkType: hard
-
"resolve-from@npm:^4.0.0":
version: 4.0.0
resolution: "resolve-from@npm:4.0.0"
@@ -4632,7 +3567,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.20.0, resolve@npm:^1.22.0, resolve@npm:^1.22.1":
+"resolve@npm:^1.22.1":
version: 1.22.1
resolution: "resolve@npm:1.22.1"
dependencies:
@@ -4645,7 +3580,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@^1.20.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.0#~builtin<compat/resolve>, resolve@patch:resolve@^1.22.1#~builtin<compat/resolve>":
+"resolve@patch:resolve@^1.22.1#~builtin<compat/resolve>":
version: 1.22.1
resolution: "resolve@patch:resolve@npm%3A1.22.1#~builtin<compat/resolve>::version=1.22.1&hash=07638b"
dependencies:
@@ -4658,24 +3593,6 @@ __metadata:
languageName: node
linkType: hard
-"responselike@npm:^1.0.2":
- version: 1.0.2
- resolution: "responselike@npm:1.0.2"
- dependencies:
- lowercase-keys: ^1.0.0
- checksum: 2e9e70f1dcca3da621a80ce71f2f9a9cad12c047145c6ece20df22f0743f051cf7c73505e109814915f23f9e34fb0d358e22827723ee3d56b623533cab8eafcd
- languageName: node
- linkType: hard
-
-"responselike@npm:^2.0.0":
- version: 2.0.1
- resolution: "responselike@npm:2.0.1"
- dependencies:
- lowercase-keys: ^2.0.0
- checksum: b122535466e9c97b55e69c7f18e2be0ce3823c5d47ee8de0d9c0b114aa55741c6db8bfbfce3766a94d1272e61bfb1ebf0a15e9310ac5629fbb7446a861b4fd3a
- languageName: node
- linkType: hard
-
"retry-as-promised@npm:^5.0.0":
version: 5.0.0
resolution: "retry-as-promised@npm:5.0.0"
@@ -4708,23 +3625,9 @@ __metadata:
languageName: node
linkType: hard
-"roarr@npm:^2.15.3":
- version: 2.15.4
- resolution: "roarr@npm:2.15.4"
- dependencies:
- boolean: ^3.0.1
- detect-node: ^2.0.4
- globalthis: ^1.0.1
- json-stringify-safe: ^5.0.1
- semver-compare: ^1.0.0
- sprintf-js: ^1.1.2
- checksum: 682e28d5491e3ae99728a35ba188f4f0ccb6347dbd492f95dc9f4bfdfe8ee63d8203ad234766ee2db88c8d7a300714304976eb095ce5c9366fe586c03a21586c
- languageName: node
- linkType: hard
-
-"rollup@npm:^2.75.6":
- version: 2.77.2
- resolution: "rollup@npm:2.77.2"
+"rollup@npm:>=2.75.6 <2.77.0 || ~2.77.0":
+ version: 2.77.3
+ resolution: "rollup@npm:2.77.3"
dependencies:
fsevents: ~2.3.2
dependenciesMeta:
@@ -4732,7 +3635,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: 5a84fb98a6f858906bceba091430442f6c1f362b07c5fa9123b708f87e39f52640e34a189cd9a1776ceae61300055c78ba648205fa03188451539ebeb19797df
+ checksum: b179c68249584565ddb5664a241e8e48c293b2207718d885b08ee25797d98857a383f06b544bb89819407da5a71557f4713309a278f61c4778bb32b1d3321a1c
languageName: node
linkType: hard
@@ -4785,14 +3688,7 @@ __metadata:
languageName: node
linkType: hard
-"semver-compare@npm:^1.0.0":
- version: 1.0.0
- resolution: "semver-compare@npm:1.0.0"
- checksum: dd1d7e2909744cf2cf71864ac718efc990297f9de2913b68e41a214319e70174b1d1793ac16e31183b128c2b9812541300cb324db8168e6cf6b570703b171c68
- languageName: node
- linkType: hard
-
-"semver@npm:^6.0.0, semver@npm:^6.2.0":
+"semver@npm:^6.0.0":
version: 6.3.0
resolution: "semver@npm:6.3.0"
bin:
@@ -4801,7 +3697,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.3.2, semver@npm:^7.3.5, semver@npm:^7.3.7":
+"semver@npm:^7.3.5, semver@npm:^7.3.7":
version: 7.3.7
resolution: "semver@npm:7.3.7"
dependencies:
@@ -4819,9 +3715,9 @@ __metadata:
languageName: node
linkType: hard
-"sequelize@npm:6.21.3":
- version: 6.21.3
- resolution: "sequelize@npm:6.21.3"
+"sequelize@npm:6.21.4":
+ version: 6.21.4
+ resolution: "sequelize@npm:6.21.4"
dependencies:
"@types/debug": ^4.1.7
"@types/validator": ^13.7.1
@@ -4856,16 +3752,7 @@ __metadata:
optional: true
tedious:
optional: true
- checksum: 85a57cdde00edc5e1634585aacda874eeab9cc0d6d296e5ae90be3d861cba682bacde427009600d331fec82396520621a16a27d1958c689dd197d9d88051cf7e
- languageName: node
- linkType: hard
-
-"serialize-error@npm:^7.0.1":
- version: 7.0.1
- resolution: "serialize-error@npm:7.0.1"
- dependencies:
- type-fest: ^0.13.1
- checksum: e0aba4dca2fc9fe74ae1baf38dbd99190e1945445a241ba646290f2176cdb2032281a76443b02ccf0caf30da5657d510746506368889a593b9835a497fc0732e
+ checksum: 6d066083125aa8a90286c82379964b5e54620daa7eac7f0d8b25c52cad93f8cae70cc4606a58097e815f57bad405969353d35321c1c9edfff27d953cec9ff064
languageName: node
linkType: hard
@@ -4993,13 +3880,6 @@ __metadata:
languageName: node
linkType: hard
-"sprintf-js@npm:^1.1.2":
- version: 1.1.2
- resolution: "sprintf-js@npm:1.1.2"
- checksum: d4bb46464632b335e5faed381bd331157e0af64915a98ede833452663bc672823db49d7531c32d58798e85236581fb7342fd0270531ffc8f914e186187bf1c90
- languageName: node
- linkType: hard
-
"ssri@npm:^9.0.0":
version: 9.0.1
resolution: "ssri@npm:9.0.1"
@@ -5020,28 +3900,6 @@ __metadata:
languageName: node
linkType: hard
-"string.prototype.trimend@npm:^1.0.5":
- version: 1.0.5
- resolution: "string.prototype.trimend@npm:1.0.5"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.4
- es-abstract: ^1.19.5
- checksum: d44f543833112f57224e79182debadc9f4f3bf9d48a0414d6f0cbd2a86f2b3e8c0ca1f95c3f8e5b32ae83e91554d79d932fc746b411895f03f93d89ed3dfb6bc
- languageName: node
- linkType: hard
-
-"string.prototype.trimstart@npm:^1.0.5":
- version: 1.0.5
- resolution: "string.prototype.trimstart@npm:1.0.5"
- dependencies:
- call-bind: ^1.0.2
- define-properties: ^1.1.4
- es-abstract: ^1.19.5
- checksum: a4857c5399ad709d159a77371eeaa8f9cc284469a0b5e1bfe405de16f1fd4166a8ea6f4180e55032f348d1b679b1599fd4301fbc7a8b72bdb3e795e43f7b1048
- languageName: node
- linkType: hard
-
"string_decoder@npm:^1.1.1":
version: 1.3.0
resolution: "string_decoder@npm:1.3.0"
@@ -5069,13 +3927,6 @@ __metadata:
languageName: node
linkType: hard
-"strip-bom@npm:^3.0.0":
- version: 3.0.0
- resolution: "strip-bom@npm:3.0.0"
- checksum: 8d50ff27b7ebe5ecc78f1fe1e00fcdff7af014e73cf724b46fb81ef889eeb1015fc5184b64e81a2efe002180f3ba431bdd77e300da5c6685d702780fbf0c8d5b
- languageName: node
- linkType: hard
-
"strip-dirs@npm:^2.0.0":
version: 2.1.0
resolution: "strip-dirs@npm:2.1.0"
@@ -5109,15 +3960,6 @@ __metadata:
languageName: node
linkType: hard
-"sumchecker@npm:^3.0.1":
- version: 3.0.1
- resolution: "sumchecker@npm:3.0.1"
- dependencies:
- debug: ^4.1.0
- checksum: 31ba7a62c889236b5b07f75b5c250d481158a1ca061b8f234fca0457bdbe48a20e5011c12c715343dc577e111463dc3d9e721b98015a445a2a88c35e0c9f0f91
- languageName: node
- linkType: hard
-
"supports-color@npm:^7.1.0":
version: 7.2.0
resolution: "supports-color@npm:7.2.0"
@@ -5198,10 +4040,10 @@ __metadata:
languageName: node
linkType: hard
-"tinyspy@npm:^1.0.0":
- version: 1.0.0
- resolution: "tinyspy@npm:1.0.0"
- checksum: f9a7cea406db9b0f99a4ef162eb0a45d88fc36facbc309702c8d568283baa363ab3c4138d8402fbfdef7a8d3157ff7cfae3e99ec6c75d8f684bd7b23485b5ec5
+"tinyspy@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "tinyspy@npm:1.0.2"
+ checksum: 32096121aa8d52bb625ad62c9314b3e4daba4ab9ac428217b12b1e1dfe9860e3c94d54a7affa279cc70dc6f10d88c6ba46b51de68896b318a06d02f05e87dcc3
languageName: node
linkType: hard
@@ -5212,13 +4054,6 @@ __metadata:
languageName: node
linkType: hard
-"to-readable-stream@npm:^1.0.0":
- version: 1.0.0
- resolution: "to-readable-stream@npm:1.0.0"
- checksum: 2bd7778490b6214a2c40276065dd88949f4cf7037ce3964c76838b8cb212893aeb9cceaaf4352a4c486e3336214c350270f3263e1ce7a0c38863a715a4d9aeb5
- languageName: node
- linkType: hard
-
"to-regex-range@npm:^5.0.1":
version: 5.0.1
resolution: "to-regex-range@npm:5.0.1"
@@ -5268,18 +4103,6 @@ __metadata:
languageName: node
linkType: hard
-"tsconfig-paths@npm:^3.14.1":
- version: 3.14.1
- resolution: "tsconfig-paths@npm:3.14.1"
- dependencies:
- "@types/json5": ^0.0.29
- json5: ^1.0.1
- minimist: ^1.2.6
- strip-bom: ^3.0.0
- checksum: 8afa01c673ebb4782ba53d3a12df97fa837ce524f8ad38ee4e2b2fd57f5ac79abc21c574e9e9eb014d93efe7fe8214001b96233b5c6ea75bd1ea82afe17a4c6d
- languageName: node
- linkType: hard
-
"tslib@npm:^1.8.1, tslib@npm:^1.9.3":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
@@ -5305,13 +4128,6 @@ __metadata:
languageName: node
linkType: hard
-"tunnel@npm:^0.0.6":
- version: 0.0.6
- resolution: "tunnel@npm:0.0.6"
- checksum: c362948df9ad34b649b5585e54ce2838fa583aa3037091aaed66793c65b423a264e5229f0d7e9a95513a795ac2bd4cb72cda7e89a74313f182c1e9ae0b0994fa
- languageName: node
- linkType: hard
-
"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0
resolution: "type-check@npm:0.4.0"
@@ -5328,13 +4144,6 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^0.13.1":
- version: 0.13.1
- resolution: "type-fest@npm:0.13.1"
- checksum: e6bf2e3c449f27d4ef5d56faf8b86feafbc3aec3025fc9a5fbe2db0a2587c44714521f9c30d8516a833c8c506d6263f5cc11267522b10c6ccdb6cc55b0a9d1c4
- languageName: node
- linkType: hard
-
"type-fest@npm:^0.20.2":
version: 0.20.2
resolution: "type-fest@npm:0.20.2"
@@ -5343,9 +4152,9 @@ __metadata:
linkType: hard
"typed-function@npm:^3.0.0":
- version: 3.0.0
- resolution: "typed-function@npm:3.0.0"
- checksum: f05afc8254dcb72815903c764fc3f8064a50ce1a0db9eb3a5134528209a852c8817682bdaf8ee9a73b316d4a4bbf92b6ae030934dd0983e7a2fd7fa487a71cec
+ version: 3.0.1
+ resolution: "typed-function@npm:3.0.1"
+ checksum: 1061764c52be7fc5ea37bdafe58b0568df42f3060ccabe4358dbfe1eadace32ba05808b9b0cb8da4aa0604c0bffe8135c3d7cf1a3ab7a0cb2bc5e95fd71f7da2
languageName: node
linkType: hard
@@ -5369,18 +4178,6 @@ __metadata:
languageName: node
linkType: hard
-"unbox-primitive@npm:^1.0.2":
- version: 1.0.2
- resolution: "unbox-primitive@npm:1.0.2"
- dependencies:
- call-bind: ^1.0.2
- has-bigints: ^1.0.2
- has-symbols: ^1.0.3
- which-boxed-primitive: ^1.0.2
- checksum: b7a1cf5862b5e4b5deb091672ffa579aa274f648410009c81cca63fed3b62b610c4f3b773f912ce545bb4e31edc3138975b5bc777fc6e4817dca51affb6380e9
- languageName: node
- linkType: hard
-
"unbzip2-stream@npm:^1.0.9":
version: 1.4.3
resolution: "unbzip2-stream@npm:1.4.3"
@@ -5399,9 +4196,9 @@ __metadata:
linkType: hard
"undici@npm:^5.8.0":
- version: 5.8.2
- resolution: "undici@npm:5.8.2"
- checksum: 726e04bb37e2e285b4f632600c792efc9eaa5e06e37f9f34338352ac5e1dbd8ae3cdd12dd8761abfecffc5f200d1c7b91b41efb3a31c4e804ea341e5808ddfcf
+ version: 5.9.1
+ resolution: "undici@npm:5.9.1"
+ checksum: 8acabbac8e18943ff822574f831d03d65e697e66ef486a679763f7778f37b28980caf7097ededf4017b58c099809e8efd8509a6688f60638360fb86ef47a59df
languageName: node
linkType: hard
@@ -5423,13 +4220,6 @@ __metadata:
languageName: node
linkType: hard
-"universalify@npm:^0.1.0":
- version: 0.1.2
- resolution: "universalify@npm:0.1.2"
- checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff
- languageName: node
- linkType: hard
-
"uri-js@npm:^4.2.2":
version: 4.4.1
resolution: "uri-js@npm:4.4.1"
@@ -5439,15 +4229,6 @@ __metadata:
languageName: node
linkType: hard
-"url-parse-lax@npm:^3.0.0":
- version: 3.0.0
- resolution: "url-parse-lax@npm:3.0.0"
- dependencies:
- prepend-http: ^2.0.0
- checksum: 1040e357750451173132228036aff1fd04abbd43eac1fb3e4fca7495a078bcb8d33cb765fe71ad7e473d9c94d98fd67adca63bd2716c815a2da066198dd37217
- languageName: node
- linkType: hard
-
"url-template@npm:^2.0.8":
version: 2.0.8
resolution: "url-template@npm:2.0.8"
@@ -5486,14 +4267,14 @@ __metadata:
linkType: hard
"vite@npm:^2.9.12 || ^3.0.0-0":
- version: 3.0.5
- resolution: "vite@npm:3.0.5"
+ version: 3.0.9
+ resolution: "vite@npm:3.0.9"
dependencies:
esbuild: ^0.14.47
fsevents: ~2.3.2
postcss: ^8.4.16
resolve: ^1.22.1
- rollup: ^2.75.6
+ rollup: ">=2.75.6 <2.77.0 || ~2.77.0"
peerDependencies:
less: "*"
sass: "*"
@@ -5513,13 +4294,13 @@ __metadata:
optional: true
bin:
vite: bin/vite.js
- checksum: c00ec43356469032fa261872b028740526d5a5726132cb306741e2d9dca241dcb7b0b5d39181d5ebc39c5e82396511080640fa302c66e713a622e8bfa1f14a8d
+ checksum: 6341aa43579ae45f8a383bdc0c5041dea3dff98f14e0a546d6d884a864134b00082246a28d1de8adff0ce0dd92b468c7ade8f972ffe1ed97258671d63e0f16f7
languageName: node
linkType: hard
-"vitest@npm:^0.21.1":
- version: 0.21.1
- resolution: "vitest@npm:0.21.1"
+"vitest@npm:^0.22.1":
+ version: 0.22.1
+ resolution: "vitest@npm:0.22.1"
dependencies:
"@types/chai": ^4.3.3
"@types/chai-subset": ^1.3.3
@@ -5528,13 +4309,12 @@ __metadata:
debug: ^4.3.4
local-pkg: ^0.4.2
tinypool: ^0.2.4
- tinyspy: ^1.0.0
+ tinyspy: ^1.0.2
vite: ^2.9.12 || ^3.0.0-0
peerDependencies:
"@edge-runtime/vm": "*"
"@vitest/browser": "*"
"@vitest/ui": "*"
- c8: "*"
happy-dom: "*"
jsdom: "*"
peerDependenciesMeta:
@@ -5544,15 +4324,13 @@ __metadata:
optional: true
"@vitest/ui":
optional: true
- c8:
- optional: true
happy-dom:
optional: true
jsdom:
optional: true
bin:
vitest: vitest.mjs
- checksum: 27c8cd0a1e2443e1311b1ed236d66caad77dcea2c4b49364475688d89d6f8dba2074b1a2da8e7ca529ded15bd5314ff4b36119a0010a33d2dcd34333d4043bd5
+ checksum: 7abe50ceb51181e77cd62eb3a07c2da17f13078f09be34cc2e98f1f94a77eba33a56c644d48ae16bb474945ffc1cfc8664b1f4976c3de495c5e474057420c4ca
languageName: node
linkType: hard
@@ -5592,19 +4370,6 @@ __metadata:
languageName: node
linkType: hard
-"which-boxed-primitive@npm:^1.0.2":
- version: 1.0.2
- resolution: "which-boxed-primitive@npm:1.0.2"
- dependencies:
- is-bigint: ^1.0.1
- is-boolean-object: ^1.1.0
- is-number-object: ^1.0.4
- is-string: ^1.0.5
- is-symbol: ^1.0.3
- checksum: 53ce774c7379071729533922adcca47220228405e1895f26673bbd71bdf7fb09bee38c1d6399395927c6289476b5ae0629863427fd151491b71c4b6cb04f3a5e
- languageName: node
- linkType: hard
-
"which@npm:^1.2.9":
version: 1.3.1
resolution: "which@npm:1.3.1"
@@ -5695,7 +4460,7 @@ __metadata:
languageName: node
linkType: hard
-"yauzl@npm:^2.10.0, yauzl@npm:^2.4.2":
+"yauzl@npm:^2.4.2":
version: 2.10.0
resolution: "yauzl@npm:2.10.0"
dependencies: