update README.md

This commit is contained in:
mattyatea 2024-02-16 19:07:52 +09:00
parent 3e9b3e5a3a
commit e074d975e1
7 changed files with 130 additions and 50 deletions

View File

@ -150,6 +150,7 @@
"pkce-challenge": "4.1.0", "pkce-challenge": "4.1.0",
"probe-image-size": "7.2.3", "probe-image-size": "7.2.3",
"promise-limit": "2.7.0", "promise-limit": "2.7.0",
"proxycheck-ts": "^0.0.9",
"pug": "3.0.2", "pug": "3.0.2",
"punycode": "2.3.1", "punycode": "2.3.1",
"pureimage": "0.3.17", "pureimage": "0.3.17",

View File

@ -611,4 +611,15 @@ export class MiMeta {
default: false, default: false,
}) })
public enableGDPRMode: boolean; public enableGDPRMode: boolean;
@Column('boolean', {
default: false,
})
public enableProxyCheckio: boolean;
@Column('varchar', {
length: 32,
nullable: true,
})
public proxyCheckioApiKey: string;
} }

View File

@ -6,6 +6,7 @@
import { Inject, Injectable } from '@nestjs/common'; import { Inject, Injectable } from '@nestjs/common';
import bcrypt from 'bcryptjs'; import bcrypt from 'bcryptjs';
import { IsNull } from 'typeorm'; import { IsNull } from 'typeorm';
import ProxyCheck from 'proxycheck-ts';
import { DI } from '@/di-symbols.js'; import { DI } from '@/di-symbols.js';
import type { RegistrationTicketsRepository, UsedUsernamesRepository, UserPendingsRepository, UserProfilesRepository, UsersRepository, MiRegistrationTicket } from '@/models/_.js'; import type { RegistrationTicketsRepository, UsedUsernamesRepository, UserPendingsRepository, UserProfilesRepository, UsersRepository, MiRegistrationTicket } from '@/models/_.js';
import type { Config } from '@/config.js'; import type { Config } from '@/config.js';
@ -74,6 +75,14 @@ export class SignupApiService {
const instance = await this.metaService.fetch(true); const instance = await this.metaService.fetch(true);
if (instance.enableProxyCheckio) {
if (instance.proxyCheckioApiKey == null) throw new FastifyReplyError(400, 'PROXY_CHECKIO_API_KEY_NOT_SET');
const proxyCheck = new ProxyCheck({ api_key: instance.proxyCheckioApiKey });
const result = await proxyCheck.check(request.headers['x-real-ip'] ?? request.ip, {
vpn: 1,
});
if (result[request.headers['x-real-ip'] ?? request.ip].proxy === 'yes') throw new FastifyReplyError(400, 'PROXY_DETECTED');
}
// Verify *Captcha // Verify *Captcha
// ただしテスト時はこの機構は障害となるため無効にする // ただしテスト時はこの機構は障害となるため無効にする
if (process.env.NODE_ENV !== 'test') { if (process.env.NODE_ENV !== 'test') {

View File

@ -459,6 +459,14 @@ export const meta = {
type: 'string', type: 'string',
optional: false, nullable: true, optional: false, nullable: true,
}, },
enableProxyCheckio: {
type: 'boolean',
optional: false, nullable: false,
},
proxyCheckioApiKey: {
type: 'string',
optional: false, nullable: true,
},
}, },
}, },
} as const; } as const;
@ -590,6 +598,8 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
EmojiBotToken: instance.EmojiBotToken, EmojiBotToken: instance.EmojiBotToken,
ApiBase: instance.ApiBase, ApiBase: instance.ApiBase,
enableGDPRMode: instance.enableGDPRMode, enableGDPRMode: instance.enableGDPRMode,
enableProxyCheckio: instance.enableProxyCheckio,
proxyCheckioApiKey: instance.proxyCheckioApiKey,
}; };
}); });
} }

View File

@ -155,6 +155,12 @@ export const paramDef = {
EmojiBotToken: { type: 'string', nullable: true }, EmojiBotToken: { type: 'string', nullable: true },
ApiBase: { type: 'string', nullable: true }, ApiBase: { type: 'string', nullable: true },
enableGDPRMode: { type: 'boolean' }, enableGDPRMode: { type: 'boolean' },
enableProxyCheckio: {
type: 'boolean', nullable: true,
},
proxyCheckioApiKey: {
type: 'string', nullable: true,
},
}, },
required: [], required: [],
} as const; } as const;
@ -202,13 +208,13 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
set.themeColor = ps.themeColor; set.themeColor = ps.themeColor;
} }
if (ps.DiscordWebhookUrl !== undefined) { if (ps.DiscordWebhookUrl !== undefined) {
set.DiscordWebhookUrl = ps.DiscordWebhookUrl set.DiscordWebhookUrl = ps.DiscordWebhookUrl;
} }
if (ps.EmojiBotToken !== undefined) { if (ps.EmojiBotToken !== undefined) {
set.EmojiBotToken = ps.EmojiBotToken set.EmojiBotToken = ps.EmojiBotToken;
} }
if (ps.ApiBase !== undefined) { if (ps.ApiBase !== undefined) {
set.ApiBase = ps.ApiBase set.ApiBase = ps.ApiBase;
} }
if (ps.mascotImageUrl !== undefined) { if (ps.mascotImageUrl !== undefined) {
set.mascotImageUrl = ps.mascotImageUrl; set.mascotImageUrl = ps.mascotImageUrl;
@ -234,10 +240,18 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint-
set.serverErrorImageUrl = ps.serverErrorImageUrl; set.serverErrorImageUrl = ps.serverErrorImageUrl;
} }
if (ps.enableProxyCheckio !== undefined) {
set.enableProxyCheckio = ps.enableProxyCheckio;
}
if (ps.proxyCheckioApiKey !== undefined) {
set.proxyCheckioApiKey = ps.proxyCheckioApiKey;
}
if (ps.infoImageUrl !== undefined) { if (ps.infoImageUrl !== undefined) {
set.infoImageUrl = ps.infoImageUrl; set.infoImageUrl = ps.infoImageUrl;
} }
console.log(ps.enableGDPRMode);
if (ps.enableGDPRMode !== undefined) { if (ps.enableGDPRMode !== undefined) {
set.enableGDPRMode = ps.enableGDPRMode; set.enableGDPRMode = ps.enableGDPRMode;
} }

View File

@ -103,6 +103,22 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkTextarea v-model="bannedEmailDomains"> <MkTextarea v-model="bannedEmailDomains">
<template #label>Banned Email Domains List</template> <template #label>Banned Email Domains List</template>
</MkTextarea> </MkTextarea>
<MkButton primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.save }}</MkButton>
</div>
</MkFolder>
<MkFolder>
<template #label> Signup Protection</template>
<div class="_gaps_m">
<MkSwitch v-model="enableProxyCheckio">
<template #label>Use ProxyCheck.io API</template>
</MkSwitch>
<MkInput v-model="proxyCheckioApiKey">
<template #prefix><i class="ti ti-key"></i></template>
<template #label>ProxyCheck.io API Key</template>
</MkInput>
<MkButton primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.save }}</MkButton> <MkButton primary @click="save"><i class="ti ti-device-floppy"></i> {{ i18n.ts.save }}</MkButton>
</div> </div>
</MkFolder> </MkFolder>
@ -167,11 +183,13 @@ const enableSensitiveMediaDetectionForVideos = ref<boolean>(false);
const enableIpLogging = ref<boolean>(false); const enableIpLogging = ref<boolean>(false);
const enableActiveEmailValidation = ref<boolean>(false); const enableActiveEmailValidation = ref<boolean>(false);
const enableVerifymailApi = ref<boolean>(false); const enableVerifymailApi = ref<boolean>(false);
const enableProxyCheckio = ref<boolean>(false);
const verifymailAuthKey = ref<string | null>(null); const verifymailAuthKey = ref<string | null>(null);
const enableTruemailApi = ref<boolean>(false); const enableTruemailApi = ref<boolean>(false);
const truemailInstance = ref<string | null>(null); const truemailInstance = ref<string | null>(null);
const truemailAuthKey = ref<string | null>(null); const truemailAuthKey = ref<string | null>(null);
const bannedEmailDomains = ref<string>(''); const bannedEmailDomains = ref<string>('');
const proxyCheckioApiKey = ref<string | null>(null);
async function init() { async function init() {
const meta = await misskeyApi('admin/meta'); const meta = await misskeyApi('admin/meta');
@ -196,7 +214,9 @@ async function init() {
enableTruemailApi.value = meta.enableTruemailApi; enableTruemailApi.value = meta.enableTruemailApi;
truemailInstance.value = meta.truemailInstance; truemailInstance.value = meta.truemailInstance;
truemailAuthKey.value = meta.truemailAuthKey; truemailAuthKey.value = meta.truemailAuthKey;
bannedEmailDomains.value = meta.bannedEmailDomains?.join('\n') || ""; bannedEmailDomains.value = meta.bannedEmailDomains?.join('\n') || '';
enableProxyCheckio.value = meta.enableProxyCheckio;
proxyCheckioApiKey.value = meta.proxyCheckioApiKey;
} }
function save() { function save() {
@ -220,6 +240,8 @@ function save() {
truemailInstance: truemailInstance.value, truemailInstance: truemailInstance.value,
truemailAuthKey: truemailAuthKey.value, truemailAuthKey: truemailAuthKey.value,
bannedEmailDomains: bannedEmailDomains.value.split('\n'), bannedEmailDomains: bannedEmailDomains.value.split('\n'),
enableProxyCheckio: enableProxyCheckio.value,
proxyCheckioApiKey: proxyCheckioApiKey.value,
}).then(() => { }).then(() => {
fetchInstance(); fetchInstance();
}); });

View File

@ -323,6 +323,9 @@ importers:
promise-limit: promise-limit:
specifier: 2.7.0 specifier: 2.7.0
version: 2.7.0 version: 2.7.0
proxycheck-ts:
specifier: ^0.0.9
version: 0.0.9
pug: pug:
specifier: 3.0.2 specifier: 3.0.2
version: 3.0.2 version: 3.0.2
@ -1918,7 +1921,7 @@ packages:
'@babel/traverse': 7.22.11 '@babel/traverse': 7.22.11
'@babel/types': 7.22.17 '@babel/types': 7.22.17
convert-source-map: 1.9.0 convert-source-map: 1.9.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
json5: 2.2.3 json5: 2.2.3
semver: 6.3.1 semver: 6.3.1
@ -1941,7 +1944,7 @@ packages:
'@babel/traverse': 7.23.5 '@babel/traverse': 7.23.5
'@babel/types': 7.23.5 '@babel/types': 7.23.5
convert-source-map: 2.0.0 convert-source-map: 2.0.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
gensync: 1.0.0-beta.2 gensync: 1.0.0-beta.2
json5: 2.2.3 json5: 2.2.3
semver: 6.3.1 semver: 6.3.1
@ -2043,7 +2046,7 @@ packages:
'@babel/core': 7.23.5 '@babel/core': 7.23.5
'@babel/helper-compilation-targets': 7.22.15 '@babel/helper-compilation-targets': 7.22.15
'@babel/helper-plugin-utils': 7.22.5 '@babel/helper-plugin-utils': 7.22.5
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
lodash.debounce: 4.0.8 lodash.debounce: 4.0.8
resolve: 1.22.8 resolve: 1.22.8
transitivePeerDependencies: transitivePeerDependencies:
@ -3442,7 +3445,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.9 '@babel/parser': 7.23.9
'@babel/types': 7.23.5 '@babel/types': 7.23.5
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0 globals: 11.12.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -3460,7 +3463,7 @@ packages:
'@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-split-export-declaration': 7.22.6
'@babel/parser': 7.23.9 '@babel/parser': 7.23.9
'@babel/types': 7.23.5 '@babel/types': 7.23.5
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globals: 11.12.0 globals: 11.12.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -4161,7 +4164,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
espree: 9.6.1 espree: 9.6.1
globals: 13.19.0 globals: 13.19.0
ignore: 5.2.4 ignore: 5.2.4
@ -4178,7 +4181,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
espree: 9.6.1 espree: 9.6.1
globals: 13.19.0 globals: 13.19.0
ignore: 5.2.4 ignore: 5.2.4
@ -4413,7 +4416,7 @@ packages:
engines: {node: '>=10.10.0'} engines: {node: '>=10.10.0'}
dependencies: dependencies:
'@humanwhocodes/object-schema': 2.0.1 '@humanwhocodes/object-schema': 2.0.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
minimatch: 3.1.2 minimatch: 3.1.2
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -8595,7 +8598,7 @@ packages:
'@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/type-utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.53.0 eslint: 8.53.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.2.4 ignore: 5.2.4
@ -8624,7 +8627,7 @@ packages:
'@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/type-utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1 '@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.2.4 ignore: 5.2.4
@ -8650,7 +8653,7 @@ packages:
'@typescript-eslint/types': 6.11.0 '@typescript-eslint/types': 6.11.0
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.53.0 eslint: 8.53.0
typescript: 5.3.3 typescript: 5.3.3
transitivePeerDependencies: transitivePeerDependencies:
@ -8671,7 +8674,7 @@ packages:
'@typescript-eslint/types': 6.18.1 '@typescript-eslint/types': 6.18.1
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/visitor-keys': 6.18.1 '@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
typescript: 5.3.3 typescript: 5.3.3
transitivePeerDependencies: transitivePeerDependencies:
@ -8706,7 +8709,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.11.0(typescript@5.3.3)
'@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.11.0(eslint@8.53.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.53.0 eslint: 8.53.0
ts-api-utils: 1.0.1(typescript@5.3.3) ts-api-utils: 1.0.1(typescript@5.3.3)
typescript: 5.3.3 typescript: 5.3.3
@ -8726,7 +8729,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3) '@typescript-eslint/typescript-estree': 6.18.1(typescript@5.3.3)
'@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 6.18.1(eslint@8.56.0)(typescript@5.3.3)
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
ts-api-utils: 1.0.1(typescript@5.3.3) ts-api-utils: 1.0.1(typescript@5.3.3)
typescript: 5.3.3 typescript: 5.3.3
@ -8755,7 +8758,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/types': 6.11.0 '@typescript-eslint/types': 6.11.0
'@typescript-eslint/visitor-keys': 6.11.0 '@typescript-eslint/visitor-keys': 6.11.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.5.4 semver: 7.5.4
@ -8776,7 +8779,7 @@ packages:
dependencies: dependencies:
'@typescript-eslint/types': 6.18.1 '@typescript-eslint/types': 6.18.1
'@typescript-eslint/visitor-keys': 6.18.1 '@typescript-eslint/visitor-keys': 6.18.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
minimatch: 9.0.3 minimatch: 9.0.3
@ -9252,7 +9255,7 @@ packages:
engines: {node: '>= 6.0.0'} engines: {node: '>= 6.0.0'}
requiresBuild: true requiresBuild: true
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -9260,7 +9263,7 @@ packages:
resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@ -9642,7 +9645,7 @@ packages:
resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==} resolution: {integrity: sha512-TAlMYvOuwGyLK3PfBb5WKBXZmXz2fVCgv23d6zZFdle/q3gPjmxBaeuC0pY0Dzs5PWMSgfqqEZkrye19GlDTgw==}
dependencies: dependencies:
archy: 1.0.0 archy: 1.0.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
fastq: 1.15.0 fastq: 1.15.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -11144,6 +11147,7 @@ packages:
dependencies: dependencies:
ms: 2.1.2 ms: 2.1.2
supports-color: 5.5.0 supports-color: 5.5.0
dev: true
/debug@4.3.4(supports-color@8.1.1): /debug@4.3.4(supports-color@8.1.1):
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
@ -11156,7 +11160,6 @@ packages:
dependencies: dependencies:
ms: 2.1.2 ms: 2.1.2
supports-color: 8.1.1 supports-color: 8.1.1
dev: true
/decamelize-keys@1.1.1: /decamelize-keys@1.1.1:
resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
@ -11373,7 +11376,7 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
address: 1.2.2 address: 1.2.2
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -11697,7 +11700,7 @@ packages:
peerDependencies: peerDependencies:
esbuild: '>=0.12 <1' esbuild: '>=0.12 <1'
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
esbuild: 0.18.20 esbuild: 0.18.20
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -12006,7 +12009,7 @@ packages:
ajv: 6.12.6 ajv: 6.12.6
chalk: 4.1.2 chalk: 4.1.2
cross-spawn: 7.0.3 cross-spawn: 7.0.3
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
@ -12053,7 +12056,7 @@ packages:
ajv: 6.12.6 ajv: 6.12.6
chalk: 4.1.2 chalk: 4.1.2
cross-spawn: 7.0.3 cross-spawn: 7.0.3
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
@ -12684,7 +12687,7 @@ packages:
debug: debug:
optional: true optional: true
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
/for-each@0.3.3: /for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
@ -13240,6 +13243,7 @@ packages:
/has-flag@3.0.0: /has-flag@3.0.0:
resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'} engines: {node: '>=4'}
dev: true
/has-flag@4.0.0: /has-flag@4.0.0:
resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
@ -13377,7 +13381,7 @@ packages:
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
agent-base: 7.1.0 agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@ -13437,7 +13441,7 @@ packages:
engines: {node: '>= 6.0.0'} engines: {node: '>= 6.0.0'}
dependencies: dependencies:
agent-base: 5.1.1 agent-base: 5.1.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -13447,7 +13451,7 @@ packages:
engines: {node: '>= 6'} engines: {node: '>= 6'}
dependencies: dependencies:
agent-base: 6.0.2 agent-base: 6.0.2
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -13456,7 +13460,7 @@ packages:
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
agent-base: 7.1.0 agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: false dev: false
@ -13623,7 +13627,7 @@ packages:
dependencies: dependencies:
'@ioredis/commands': 1.2.0 '@ioredis/commands': 1.2.0
cluster-key-slot: 1.1.2 cluster-key-slot: 1.1.2
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
denque: 2.1.0 denque: 2.1.0
lodash.defaults: 4.2.0 lodash.defaults: 4.2.0
lodash.isarguments: 3.1.0 lodash.isarguments: 3.1.0
@ -14069,7 +14073,7 @@ packages:
resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
engines: {node: '>=10'} engines: {node: '>=10'}
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
istanbul-lib-coverage: 3.2.2 istanbul-lib-coverage: 3.2.2
source-map: 0.6.1 source-map: 0.6.1
transitivePeerDependencies: transitivePeerDependencies:
@ -17253,6 +17257,14 @@ packages:
resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
dev: true dev: true
/proxycheck-ts@0.0.9:
resolution: {integrity: sha512-qxdMgLB01kPksBAeAHI2Zt5q/fW0glZKZK9d9eNm0/KyowKuKzVmvirF2ztsGcIzU7r6s6YvPwXJuPTeQ+LBTg==}
dependencies:
cross-fetch: 4.0.0
transitivePeerDependencies:
- encoding
dev: false
/ps-list@8.1.1: /ps-list@8.1.1:
resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==} resolution: {integrity: sha512-OPS9kEJYVmiO48u/B9qneqhkMvgCxT+Tm28VCEJpheTpl8cJ0ffZRRNgS5mrQRTrX5yRTpaJ+hRDeefXYmmorQ==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
@ -17386,7 +17398,7 @@ packages:
engines: {node: '>=8.16.0'} engines: {node: '>=8.16.0'}
dependencies: dependencies:
'@types/mime-types': 2.1.4 '@types/mime-types': 2.1.4
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
extract-zip: 1.7.0 extract-zip: 1.7.0
https-proxy-agent: 4.0.0 https-proxy-agent: 4.0.0
mime: 2.6.0 mime: 2.6.0
@ -18387,7 +18399,7 @@ packages:
dependencies: dependencies:
'@hapi/hoek': 10.0.1 '@hapi/hoek': 10.0.1
'@hapi/wreck': 18.0.1 '@hapi/wreck': 18.0.1
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
joi: 17.7.0 joi: 17.7.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -18587,7 +18599,7 @@ packages:
engines: {node: '>= 14'} engines: {node: '>= 14'}
dependencies: dependencies:
agent-base: 7.1.0 agent-base: 7.1.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
socks: 2.7.1 socks: 2.7.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -18740,7 +18752,7 @@ packages:
arg: 5.0.2 arg: 5.0.2
bluebird: 3.7.2 bluebird: 3.7.2
check-more-types: 2.24.0 check-more-types: 2.24.0
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
execa: 5.1.1 execa: 5.1.1
lazy-ass: 1.6.0 lazy-ass: 1.6.0
ps-tree: 1.2.0 ps-tree: 1.2.0
@ -18998,6 +19010,7 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
dependencies: dependencies:
has-flag: 3.0.0 has-flag: 3.0.0
dev: true
/supports-color@7.2.0: /supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
@ -19630,7 +19643,7 @@ packages:
chalk: 4.1.2 chalk: 4.1.2
cli-highlight: 2.1.11 cli-highlight: 2.1.11
dayjs: 1.11.10 dayjs: 1.11.10
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
dotenv: 16.0.3 dotenv: 16.0.3
glob: 10.3.10 glob: 10.3.10
ioredis: 5.3.2 ioredis: 5.3.2
@ -19990,7 +20003,7 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
cac: 6.7.14 cac: 6.7.14
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
mlly: 1.5.0 mlly: 1.5.0
pathe: 1.1.2 pathe: 1.1.2
picocolors: 1.0.0 picocolors: 1.0.0
@ -20102,7 +20115,7 @@ packages:
acorn-walk: 8.3.2 acorn-walk: 8.3.2
cac: 6.7.14 cac: 6.7.14
chai: 4.3.10 chai: 4.3.10
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
happy-dom: 10.0.3 happy-dom: 10.0.3
local-pkg: 0.4.3 local-pkg: 0.4.3
magic-string: 0.30.5 magic-string: 0.30.5
@ -20212,7 +20225,7 @@ packages:
peerDependencies: peerDependencies:
eslint: '>=6.0.0' eslint: '>=6.0.0'
dependencies: dependencies:
debug: 4.3.4(supports-color@5.5.0) debug: 4.3.4(supports-color@8.1.1)
eslint: 8.56.0 eslint: 8.56.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3 eslint-visitor-keys: 3.4.3