mirror of
https://github.com/hansputera/tiktok-dl.git
synced 2026-04-06 04:01:57 +02:00
feat: add fastify web framework, and change the baseProvider typings to @typings folder
This commit is contained in:
40
@typings/index.ts
Normal file
40
@typings/index.ts
Normal file
@@ -0,0 +1,40 @@
|
||||
export interface ExtractedInfo {
|
||||
error?: string;
|
||||
video?: {
|
||||
id?: string;
|
||||
thumb?: string;
|
||||
urls: string[];
|
||||
title?: string;
|
||||
duration?: string;
|
||||
};
|
||||
music?: {
|
||||
url: string;
|
||||
title?: string;
|
||||
author?: string;
|
||||
id?: string;
|
||||
cover?: string;
|
||||
};
|
||||
author?: {
|
||||
username?: string;
|
||||
thumb?: string;
|
||||
id?: string;
|
||||
};
|
||||
caption?: string;
|
||||
playsCount?: number;
|
||||
sharesCount?: number;
|
||||
commentsCount?: number;
|
||||
likesCount?: number;
|
||||
uploadedAt?: string;
|
||||
updatedAt?: string;
|
||||
};
|
||||
|
||||
export interface MaintenanceProvider {
|
||||
reason: string;
|
||||
};
|
||||
|
||||
export interface DownloadPayload {
|
||||
url: string;
|
||||
type: string;
|
||||
nocache?: string | boolean;
|
||||
rotateOnError?: string | boolean;
|
||||
}
|
||||
@@ -5,11 +5,10 @@ import {BaseProvider} from '../lib/providers/baseProvider';
|
||||
import {rotateProvider} from '../lib/rotator';
|
||||
import {ratelimitMiddleware} from '../middleware/ratelimit';
|
||||
|
||||
const providersType = Providers.map((p) => p.resourceName());
|
||||
|
||||
export default async (req: VercelRequest, res: VercelResponse) => {
|
||||
try {
|
||||
await ratelimitMiddleware(req);
|
||||
const providersType = Providers.map((p) => p.resourceName());
|
||||
ow(req.method === 'POST' ? req.body : req.query, ow.object.partialShape({
|
||||
'url': ow.string.url.validate((v) => ({
|
||||
'validator': /^http(s?)(:\/\/)([a-z]+\.)*tiktok\.com\/(.*)?\/(.*)?$/gi
|
||||
@@ -44,7 +43,7 @@ export default async (req: VercelRequest, res: VercelResponse) => {
|
||||
|
||||
return res.status(200).json(result);
|
||||
} catch (e) {
|
||||
return res.status(400).json({
|
||||
return res.status(500).json({
|
||||
'error': (e as Error).message,
|
||||
});
|
||||
}
|
||||
|
||||
16
api/ping.ts
16
api/ping.ts
@@ -1,16 +0,0 @@
|
||||
import type {VercelRequest, VercelResponse} from '@vercel/node';
|
||||
import {fetch} from '../lib';
|
||||
|
||||
export default async (_: VercelRequest, res: VercelResponse) => {
|
||||
const start = Date.now();
|
||||
try {
|
||||
const response = await fetch('./');
|
||||
res.status(200).json({
|
||||
status: response.statusCode,
|
||||
took: Date.now() - start,
|
||||
data: response.statusMessage || 'Nothing.',
|
||||
});
|
||||
} catch (e) {
|
||||
res.status(500).json({status: null, data: null, took: null});
|
||||
}
|
||||
};
|
||||
@@ -1,14 +0,0 @@
|
||||
import type {VercelRequest, VercelResponse} from '@vercel/node';
|
||||
import {Providers} from '../lib';
|
||||
import {ratelimitMiddleware} from '../middleware/ratelimit';
|
||||
|
||||
export default async (_: VercelRequest, res: VercelResponse) => {
|
||||
await ratelimitMiddleware(_);
|
||||
const providers = Providers.map((p) => ({
|
||||
'name': p.resourceName(),
|
||||
'url': p.client.defaults.options.prefixUrl,
|
||||
'maintenance': p.maintenance,
|
||||
}));
|
||||
|
||||
return res.send(providers);
|
||||
};
|
||||
15
api/serverless.ts
Normal file
15
api/serverless.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import fastify from 'fastify';
|
||||
import {VercelRequest, VercelResponse} from '@vercel/node';
|
||||
|
||||
const app = fastify({
|
||||
trustProxy: true,
|
||||
});
|
||||
|
||||
app.register(
|
||||
import('../web'),
|
||||
);
|
||||
|
||||
export default async (req: VercelRequest, res: VercelResponse) => {
|
||||
await app.ready();
|
||||
app.server.emit('request', req, res);
|
||||
};
|
||||
@@ -1,11 +0,0 @@
|
||||
import {VercelRequest, VercelResponse} from '@vercel/node';
|
||||
import {matchLink} from '../lib/providers/util';
|
||||
import {client} from '../lib/redis';
|
||||
import {ratelimitMiddleware} from '../middleware/ratelimit';
|
||||
|
||||
export default async (_: VercelRequest, res: VercelResponse) => {
|
||||
await ratelimitMiddleware(_);
|
||||
const keys = await client.keys('*');
|
||||
|
||||
res.status(200).json(keys.filter((x) => matchLink(x)));
|
||||
};
|
||||
@@ -1,3 +1,4 @@
|
||||
export * from './fetch';
|
||||
export * from './providers';
|
||||
|
||||
export * from './redis';
|
||||
export * from './rotator';
|
||||
|
||||
@@ -1,38 +1,10 @@
|
||||
import {Got} from 'got';
|
||||
import type {
|
||||
ExtractedInfo as extractedInfo,
|
||||
MaintenanceProvider,
|
||||
} from '../../@typings';
|
||||
|
||||
export interface ExtractedInfo {
|
||||
error?: string;
|
||||
video?: {
|
||||
id?: string;
|
||||
thumb?: string;
|
||||
urls: string[];
|
||||
title?: string;
|
||||
duration?: string;
|
||||
};
|
||||
music?: {
|
||||
url: string;
|
||||
title?: string;
|
||||
author?: string;
|
||||
id?: string;
|
||||
cover?: string;
|
||||
};
|
||||
author?: {
|
||||
username?: string;
|
||||
thumb?: string;
|
||||
id?: string;
|
||||
};
|
||||
caption?: string;
|
||||
playsCount?: number;
|
||||
sharesCount?: number;
|
||||
commentsCount?: number;
|
||||
likesCount?: number;
|
||||
uploadedAt?: string;
|
||||
updatedAt?: string;
|
||||
};
|
||||
|
||||
export interface MaintenanceProvider {
|
||||
reason: string;
|
||||
};
|
||||
export type ExtractedInfo = extractedInfo;
|
||||
|
||||
/**
|
||||
* @class BaseProvider
|
||||
|
||||
@@ -4,12 +4,14 @@
|
||||
"main": "index.js",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"fastify": "^3.25.3",
|
||||
"got": "^11.8.2",
|
||||
"ioredis": "^4.28.0",
|
||||
"ow": "^0.28.1",
|
||||
"vm2": "^3.9.5"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/bluebird": "^3.5.36",
|
||||
"@types/ioredis": "^4.28.1",
|
||||
"@typescript-eslint/eslint-plugin": "^5.3.0",
|
||||
"@typescript-eslint/parser": "^5.3.0",
|
||||
@@ -21,7 +23,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"build": "echo build",
|
||||
"lint": "eslint \"+(lib|api|middleware)/**/*.ts\" --fix",
|
||||
"lint": "eslint \"+(lib|api|middleware|web)/**/*.ts\" --fix",
|
||||
"prepare": "husky install"
|
||||
}
|
||||
}
|
||||
|
||||
8
vercel.json
Normal file
8
vercel.json
Normal file
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"rewrites": [
|
||||
{
|
||||
"source": "/api/(.*)",
|
||||
"destination": "./api/serverless.ts"
|
||||
}
|
||||
]
|
||||
}
|
||||
14
web/index.ts
Normal file
14
web/index.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import {FastifyInstance, FastifyPluginOptions} from 'fastify';
|
||||
import {PingRoute, StoredLinksRoute, DownloadRoute} from './routers';
|
||||
|
||||
export default async (
|
||||
fastify: FastifyInstance,
|
||||
_: FastifyPluginOptions,
|
||||
done: (err?: Error) => void) => {
|
||||
// routers
|
||||
new PingRoute(fastify);
|
||||
new StoredLinksRoute(fastify);
|
||||
new DownloadRoute(fastify);
|
||||
|
||||
done();
|
||||
};
|
||||
37
web/route.ts
Normal file
37
web/route.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import {
|
||||
FastifyInstance,
|
||||
FastifyRequest,
|
||||
FastifyReply,
|
||||
HTTPMethods,
|
||||
RouteOptions,
|
||||
} from 'fastify';
|
||||
|
||||
/**
|
||||
* @class RouterHandler
|
||||
*/
|
||||
export abstract class RouterHandler {
|
||||
/**
|
||||
* @param {FastifyInstance} fastify Fastify instance.
|
||||
* @param {string} route Route URL
|
||||
* @param {HTTPMethods} method Route Method
|
||||
* @param {RouteOptions} opts Fastify route options.
|
||||
*/
|
||||
constructor(public fastify: FastifyInstance,
|
||||
route: string,
|
||||
method: HTTPMethods | HTTPMethods[],
|
||||
opts?: Omit<RouteOptions, 'handler' | 'url' | 'method'>) {
|
||||
this.fastify.route({
|
||||
url: route,
|
||||
handler: this.exec.bind(this),
|
||||
method,
|
||||
...opts,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute route action.
|
||||
* @param {FastifyRequest} req Request instance.
|
||||
* @param {FastifyReply} reply Reply instance.
|
||||
*/
|
||||
abstract exec(req: FastifyRequest, reply: FastifyReply): Promise<void>;
|
||||
}
|
||||
79
web/routers/download.ts
Normal file
79
web/routers/download.ts
Normal file
@@ -0,0 +1,79 @@
|
||||
import {RouterHandler} from '../route';
|
||||
import {FastifyInstance, FastifyRequest, FastifyReply} from 'fastify';
|
||||
import ow from 'ow';
|
||||
import {Providers, getProvider, rotateProvider} from '../../lib';
|
||||
import {BaseProvider} from '../../lib/providers/baseProvider';
|
||||
import {DownloadPayload} from '../../@typings';
|
||||
|
||||
/**
|
||||
* @class DownloadRoute
|
||||
*/
|
||||
export class DownloadRoute extends RouterHandler {
|
||||
/**
|
||||
* @param {FastifyInstance} app
|
||||
*/
|
||||
constructor(app: FastifyInstance) {
|
||||
super(app, '/download', ['GET', 'POST'], {
|
||||
preHandler: (req, _, next) => {
|
||||
try {
|
||||
const providersType = Providers.map((p) => p.resourceName());
|
||||
ow(req.body || req.query, ow.object.partialShape({
|
||||
'url': ow.string.url.validate((v) => ({
|
||||
// eslint-disable-next-line max-len
|
||||
'validator': /^http(s?)(:\/\/)([a-z]+\.)*tiktok\.com\/(.*)?\/(.*)?$/gi
|
||||
.test(v),
|
||||
'message': 'Expected (.*).tiktok.com',
|
||||
})),
|
||||
'type': ow.optional.string.validate((v) => ({
|
||||
'validator': typeof v === 'string' &&
|
||||
providersType.includes(v.toLowerCase()),
|
||||
'message': 'Invalid Provider, available provider is: ' +
|
||||
Providers.map((x) => x.resourceName()).join(', '),
|
||||
})),
|
||||
'nocache': req.method === 'POST' ?
|
||||
ow.optional.boolean : ow.optional.string,
|
||||
'rotateOnError': req.method === 'POST' ?
|
||||
ow.optional.boolean : ow.optional.string,
|
||||
}));
|
||||
|
||||
next();
|
||||
} catch (e) {
|
||||
next({
|
||||
statusCode: 400,
|
||||
...e as Error,
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {FastifyRequest} req
|
||||
* @param {FastifyReply} reply
|
||||
*/
|
||||
async exec(req: FastifyRequest, reply: FastifyReply) {
|
||||
try {
|
||||
const provider = getProvider((req.query &&
|
||||
(req.query as DownloadPayload).type ||
|
||||
req.body &&
|
||||
(req.body as DownloadPayload).type) ?? 'random');
|
||||
if (!provider) {
|
||||
return reply.status(400).send({
|
||||
'error': 'Invalid provider',
|
||||
});
|
||||
}
|
||||
const result = await rotateProvider(
|
||||
provider as BaseProvider, (req.query &&
|
||||
(req.query as DownloadPayload).url ||
|
||||
req.body && (req.body as DownloadPayload).url),
|
||||
(req.query && !!(req.query as DownloadPayload).rotateOnError ||
|
||||
!!(req.body &&
|
||||
(req.body as DownloadPayload).rotateOnError)));
|
||||
reply.status(200).send(result);
|
||||
} catch (e) {
|
||||
reply.status(500).send({
|
||||
error: (e as Error).message,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
3
web/routers/index.ts
Normal file
3
web/routers/index.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './ping';
|
||||
export * from './storedLinks';
|
||||
export * from './download';
|
||||
37
web/routers/ping.ts
Normal file
37
web/routers/ping.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
import {RouterHandler} from '../route';
|
||||
import {FastifyInstance, FastifyRequest, FastifyReply} from 'fastify';
|
||||
import {fetch} from '../../lib';
|
||||
|
||||
/**
|
||||
* @class PingRoute
|
||||
*/
|
||||
export class PingRoute extends RouterHandler {
|
||||
/**
|
||||
* @param {FastifyInstance} app
|
||||
*/
|
||||
constructor(app: FastifyInstance) {
|
||||
super(app, '/ping', 'GET');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {FastifyRequest} _
|
||||
* @param {FastifyReply} reply
|
||||
*/
|
||||
async exec(_: FastifyRequest, reply: FastifyReply) {
|
||||
const start = Date.now();
|
||||
try {
|
||||
const response = await fetch('./');
|
||||
reply.status(200).send({
|
||||
status: response.statusCode,
|
||||
took: Date.now() - start,
|
||||
data: response.statusMessage || 'Nothing.',
|
||||
});
|
||||
} catch {
|
||||
reply.status(500).send({
|
||||
'status': null,
|
||||
'data': null,
|
||||
'took': null,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
22
web/routers/router.template
Normal file
22
web/routers/router.template
Normal file
@@ -0,0 +1,22 @@
|
||||
import {RouterHandler} from '../route';
|
||||
import {FastifyInstance, FastifyRequest, FastifyReply} from 'fastify';
|
||||
|
||||
/**
|
||||
* @class YourRoute
|
||||
*/
|
||||
export class YourRoute extends RouterHandler {
|
||||
/**
|
||||
* @param {FastifyInstance} app
|
||||
*/
|
||||
constructor(app: FastifyInstance) {
|
||||
super(app, '/route', 'GET');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {FastifyRequest} req
|
||||
* @param {FastifyReply} reply
|
||||
*/
|
||||
async exec(req: FastifyRequest, reply: FastifyReply) {
|
||||
// do want you want here.
|
||||
}
|
||||
}
|
||||
27
web/routers/storedLinks.ts
Normal file
27
web/routers/storedLinks.ts
Normal file
@@ -0,0 +1,27 @@
|
||||
import {RouterHandler} from '../route';
|
||||
import {FastifyInstance, FastifyRequest, FastifyReply} from 'fastify';
|
||||
import {client} from '../../lib/redis';
|
||||
import {matchLink} from '../../lib/providers/util';
|
||||
|
||||
/**
|
||||
* @class StoredLinksRoute
|
||||
*/
|
||||
export class StoredLinksRoute extends RouterHandler {
|
||||
/**
|
||||
* @param {FastifyInstance} app Fastify app instance.
|
||||
*/
|
||||
constructor(app: FastifyInstance) {
|
||||
super(app, '/stored-links', 'GET');
|
||||
}
|
||||
|
||||
/**
|
||||
* Execute route action.
|
||||
* @param {FastifyRequest} _
|
||||
* @param {FastifyReply} reply Fastify reply
|
||||
*/
|
||||
async exec(_: FastifyRequest, reply: FastifyReply): Promise<void> {
|
||||
const keys = await client.keys('*');
|
||||
|
||||
reply.status(200).send(keys.filter((x) => matchLink(x)));
|
||||
}
|
||||
}
|
||||
259
yarn.lock
259
yarn.lock
@@ -17,6 +17,13 @@
|
||||
minimatch "^3.0.4"
|
||||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@fastify/ajv-compiler@^1.0.0":
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@fastify/ajv-compiler/-/ajv-compiler-1.1.0.tgz#5ce80b1fc8bebffc8c5ba428d5e392d0f9ed10a1"
|
||||
integrity sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==
|
||||
dependencies:
|
||||
ajv "^6.12.6"
|
||||
|
||||
"@humanwhocodes/config-array@^0.6.0":
|
||||
version "0.6.0"
|
||||
resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz"
|
||||
@@ -64,6 +71,11 @@
|
||||
dependencies:
|
||||
defer-to-connect "^2.0.0"
|
||||
|
||||
"@types/bluebird@^3.5.36":
|
||||
version "3.5.36"
|
||||
resolved "https://registry.yarnpkg.com/@types/bluebird/-/bluebird-3.5.36.tgz#00d9301d4dc35c2f6465a8aec634bb533674c652"
|
||||
integrity sha512-HBNx4lhkxN7bx6P0++W8E289foSu8kO8GCk2unhuVggO+cE7rh9DhZUyPhUxNRG9m+5B5BTKxZQ5ZP92x/mx9Q==
|
||||
|
||||
"@types/cacheable-request@^6.0.1":
|
||||
version "6.0.2"
|
||||
resolved "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.2.tgz"
|
||||
@@ -189,6 +201,11 @@
|
||||
ts-node "8.9.1"
|
||||
typescript "4.3.4"
|
||||
|
||||
abstract-logging@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.1.tgz#6b0c371df212db7129b57d2e7fcf282b8bf1c839"
|
||||
integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==
|
||||
|
||||
acorn-jsx@^5.3.1:
|
||||
version "5.3.2"
|
||||
resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz"
|
||||
@@ -199,7 +216,7 @@ acorn@^8.5.0:
|
||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz"
|
||||
integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==
|
||||
|
||||
ajv@^6.10.0, ajv@^6.12.4:
|
||||
ajv@^6.10.0, ajv@^6.11.0, ajv@^6.12.4, ajv@^6.12.6:
|
||||
version "6.12.6"
|
||||
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
|
||||
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
||||
@@ -209,6 +226,16 @@ ajv@^6.10.0, ajv@^6.12.4:
|
||||
json-schema-traverse "^0.4.1"
|
||||
uri-js "^4.2.2"
|
||||
|
||||
ajv@^8.1.0:
|
||||
version "8.8.2"
|
||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb"
|
||||
integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==
|
||||
dependencies:
|
||||
fast-deep-equal "^3.1.1"
|
||||
json-schema-traverse "^1.0.0"
|
||||
require-from-string "^2.0.2"
|
||||
uri-js "^4.2.2"
|
||||
|
||||
ansi-colors@^4.1.1:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"
|
||||
@@ -226,6 +253,11 @@ ansi-styles@^4.1.0:
|
||||
dependencies:
|
||||
color-convert "^2.0.1"
|
||||
|
||||
archy@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
|
||||
integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
|
||||
|
||||
arg@^4.1.0:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"
|
||||
@@ -241,6 +273,21 @@ array-union@^2.1.0:
|
||||
resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
|
||||
integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
|
||||
|
||||
atomic-sleep@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b"
|
||||
integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==
|
||||
|
||||
avvio@^7.1.2:
|
||||
version "7.2.2"
|
||||
resolved "https://registry.yarnpkg.com/avvio/-/avvio-7.2.2.tgz#58e00e7968870026cd7b7d4f689d596db629e251"
|
||||
integrity sha512-XW2CMCmZaCmCCsIaJaLKxAzPwF37fXi1KGxNOvedOpeisLdmxZnblGc3hpHWYnlP+KOUxZsazh43WXNHgXpbqw==
|
||||
dependencies:
|
||||
archy "^1.0.0"
|
||||
debug "^4.0.0"
|
||||
fastq "^1.6.1"
|
||||
queue-microtask "^1.1.2"
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
|
||||
@@ -326,6 +373,11 @@ concat-map@0.0.1:
|
||||
resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
|
||||
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
|
||||
|
||||
cookie@^0.4.0:
|
||||
version "0.4.1"
|
||||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
|
||||
integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
|
||||
|
||||
cross-spawn@^7.0.2:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
|
||||
@@ -335,6 +387,13 @@ cross-spawn@^7.0.2:
|
||||
shebang-command "^2.0.0"
|
||||
which "^2.0.1"
|
||||
|
||||
debug@^4.0.0:
|
||||
version "4.3.3"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
|
||||
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
|
||||
version "4.3.2"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz"
|
||||
@@ -354,6 +413,11 @@ deep-is@^0.1.3:
|
||||
resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz"
|
||||
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
|
||||
|
||||
deepmerge@^4.2.2:
|
||||
version "4.2.2"
|
||||
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
|
||||
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
|
||||
|
||||
defer-to-connect@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz"
|
||||
@@ -529,6 +593,11 @@ esutils@^2.0.2:
|
||||
resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
|
||||
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
|
||||
|
||||
fast-decode-uri-component@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543"
|
||||
integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==
|
||||
|
||||
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
|
||||
version "3.1.3"
|
||||
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
|
||||
@@ -550,12 +619,63 @@ fast-json-stable-stringify@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
|
||||
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
|
||||
|
||||
fast-json-stringify@^2.5.2:
|
||||
version "2.7.13"
|
||||
resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz#277aa86c2acba4d9851bd6108ed657aa327ed8c0"
|
||||
integrity sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==
|
||||
dependencies:
|
||||
ajv "^6.11.0"
|
||||
deepmerge "^4.2.2"
|
||||
rfdc "^1.2.0"
|
||||
string-similarity "^4.0.1"
|
||||
|
||||
fast-levenshtein@^2.0.6:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
|
||||
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
|
||||
|
||||
fastq@^1.6.0:
|
||||
fast-redact@^3.0.0:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.2.tgz#c940ba7162dde3aeeefc522926ae8c5231412904"
|
||||
integrity sha512-YN+CYfCVRVMUZOUPeinHNKgytM1wPI/C/UCLEi56EsY2dwwvI00kIJHJoI7pMVqGoMew8SMZ2SSfHKHULHXDsg==
|
||||
|
||||
fast-safe-stringify@^2.0.8:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
|
||||
integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
|
||||
|
||||
fastify-error@^0.3.0:
|
||||
version "0.3.1"
|
||||
resolved "https://registry.yarnpkg.com/fastify-error/-/fastify-error-0.3.1.tgz#8eb993e15e3cf57f0357fc452af9290f1c1278d2"
|
||||
integrity sha512-oCfpcsDndgnDVgiI7bwFKAun2dO+4h84vBlkWsWnz/OUK9Reff5UFoFl241xTiLeHWX/vU9zkDVXqYUxjOwHcQ==
|
||||
|
||||
fastify-warning@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/fastify-warning/-/fastify-warning-0.2.0.tgz#e717776026a4493dc9a2befa44db6d17f618008f"
|
||||
integrity sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw==
|
||||
|
||||
fastify@^3.25.3:
|
||||
version "3.25.3"
|
||||
resolved "https://registry.yarnpkg.com/fastify/-/fastify-3.25.3.tgz#7a2578edbdb59729cbf48ec44b5ae2b0f8db1f4a"
|
||||
integrity sha512-20SbobjjMfjGNCU4PlcZis3d5XLDtQxIbcAf6ogi/8zPxRxOOkKwfjmj7yW9Q1VnxDpBwcllwPtbZ/LyvQzXbQ==
|
||||
dependencies:
|
||||
"@fastify/ajv-compiler" "^1.0.0"
|
||||
abstract-logging "^2.0.0"
|
||||
avvio "^7.1.2"
|
||||
fast-json-stringify "^2.5.2"
|
||||
fastify-error "^0.3.0"
|
||||
find-my-way "^4.5.0"
|
||||
flatstr "^1.0.12"
|
||||
light-my-request "^4.2.0"
|
||||
pino "^6.13.0"
|
||||
process-warning "^1.0.0"
|
||||
proxy-addr "^2.0.7"
|
||||
rfdc "^1.1.4"
|
||||
secure-json-parse "^2.0.0"
|
||||
semver "^7.3.2"
|
||||
tiny-lru "^7.0.0"
|
||||
|
||||
fastq@^1.6.0, fastq@^1.6.1:
|
||||
version "1.13.0"
|
||||
resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz"
|
||||
integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
|
||||
@@ -576,6 +696,16 @@ fill-range@^7.0.1:
|
||||
dependencies:
|
||||
to-regex-range "^5.0.1"
|
||||
|
||||
find-my-way@^4.5.0:
|
||||
version "4.5.1"
|
||||
resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-4.5.1.tgz#758e959194b90aea0270db18fff75e2fceb2239f"
|
||||
integrity sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==
|
||||
dependencies:
|
||||
fast-decode-uri-component "^1.0.1"
|
||||
fast-deep-equal "^3.1.3"
|
||||
safe-regex2 "^2.0.0"
|
||||
semver-store "^0.3.0"
|
||||
|
||||
flat-cache@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
|
||||
@@ -584,11 +714,21 @@ flat-cache@^3.0.4:
|
||||
flatted "^3.1.0"
|
||||
rimraf "^3.0.2"
|
||||
|
||||
flatstr@^1.0.12:
|
||||
version "1.0.12"
|
||||
resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931"
|
||||
integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==
|
||||
|
||||
flatted@^3.1.0:
|
||||
version "3.2.2"
|
||||
resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz"
|
||||
integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==
|
||||
|
||||
forwarded@0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
|
||||
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
|
||||
@@ -744,6 +884,11 @@ ioredis@^4.28.0:
|
||||
redis-parser "^3.0.0"
|
||||
standard-as-callback "^2.1.0"
|
||||
|
||||
ipaddr.js@1.9.1:
|
||||
version "1.9.1"
|
||||
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
|
||||
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
|
||||
|
||||
is-extglob@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
|
||||
@@ -788,6 +933,11 @@ json-schema-traverse@^0.4.1:
|
||||
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
|
||||
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
||||
|
||||
json-schema-traverse@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
|
||||
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
|
||||
|
||||
json-stable-stringify-without-jsonify@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
|
||||
@@ -808,6 +958,16 @@ levn@^0.4.1:
|
||||
prelude-ls "^1.2.1"
|
||||
type-check "~0.4.0"
|
||||
|
||||
light-my-request@^4.2.0:
|
||||
version "4.7.0"
|
||||
resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-4.7.0.tgz#5bacd17fa0eaf96fe5eed1682c5e0d361953cf46"
|
||||
integrity sha512-LTa8YZp3K2AUpqUnwwKajoIHcsKOBnzwJNQSrk7unziPwo6CjOYjyO0F9wfkxFvP+nBsCGe3eMPnedVgIIgdAw==
|
||||
dependencies:
|
||||
ajv "^8.1.0"
|
||||
cookie "^0.4.0"
|
||||
fastify-warning "^0.2.0"
|
||||
set-cookie-parser "^2.4.1"
|
||||
|
||||
lodash.defaults@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
|
||||
@@ -963,16 +1123,47 @@ picomatch@^2.2.3:
|
||||
resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz"
|
||||
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
|
||||
|
||||
pino-std-serializers@^3.1.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671"
|
||||
integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==
|
||||
|
||||
pino@^6.13.0:
|
||||
version "6.13.4"
|
||||
resolved "https://registry.yarnpkg.com/pino/-/pino-6.13.4.tgz#e7bd5e8292019609c841c37a3f1d73ee10bb80f7"
|
||||
integrity sha512-g4tHSISmQJYUEKEMVdaZ+ZokWwFnTwZL5JPn+lnBVZ1BuBbrSchrXwQINknkM5+Q4fF6U9NjiI8PWwwMDHt9zA==
|
||||
dependencies:
|
||||
fast-redact "^3.0.0"
|
||||
fast-safe-stringify "^2.0.8"
|
||||
flatstr "^1.0.12"
|
||||
pino-std-serializers "^3.1.0"
|
||||
process-warning "^1.0.0"
|
||||
quick-format-unescaped "^4.0.3"
|
||||
sonic-boom "^1.0.2"
|
||||
|
||||
prelude-ls@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
|
||||
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
|
||||
|
||||
process-warning@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616"
|
||||
integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==
|
||||
|
||||
progress@^2.0.0:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
|
||||
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
|
||||
|
||||
proxy-addr@^2.0.7:
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
|
||||
integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
|
||||
dependencies:
|
||||
forwarded "0.2.0"
|
||||
ipaddr.js "1.9.1"
|
||||
|
||||
pump@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
|
||||
@@ -986,11 +1177,16 @@ punycode@^2.1.0:
|
||||
resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
|
||||
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
|
||||
|
||||
queue-microtask@^1.2.2:
|
||||
queue-microtask@^1.1.2, queue-microtask@^1.2.2:
|
||||
version "1.2.3"
|
||||
resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz"
|
||||
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
|
||||
|
||||
quick-format-unescaped@^4.0.3:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7"
|
||||
integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==
|
||||
|
||||
quick-lru@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz"
|
||||
@@ -1018,6 +1214,11 @@ regexpp@^3.2.0:
|
||||
resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz"
|
||||
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
|
||||
|
||||
require-from-string@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
|
||||
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
|
||||
|
||||
resolve-alpn@^1.0.0:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz"
|
||||
@@ -1035,11 +1236,21 @@ responselike@^2.0.0:
|
||||
dependencies:
|
||||
lowercase-keys "^2.0.0"
|
||||
|
||||
ret@~0.2.0:
|
||||
version "0.2.2"
|
||||
resolved "https://registry.yarnpkg.com/ret/-/ret-0.2.2.tgz#b6861782a1f4762dce43402a71eb7a283f44573c"
|
||||
integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==
|
||||
|
||||
reusify@^1.0.4:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
|
||||
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
|
||||
|
||||
rfdc@^1.1.4, rfdc@^1.2.0:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
|
||||
integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
|
||||
|
||||
rimraf@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
|
||||
@@ -1054,13 +1265,35 @@ run-parallel@^1.1.9:
|
||||
dependencies:
|
||||
queue-microtask "^1.2.2"
|
||||
|
||||
semver@^7.2.1, semver@^7.3.5:
|
||||
safe-regex2@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/safe-regex2/-/safe-regex2-2.0.0.tgz#b287524c397c7a2994470367e0185e1916b1f5b9"
|
||||
integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==
|
||||
dependencies:
|
||||
ret "~0.2.0"
|
||||
|
||||
secure-json-parse@^2.0.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.4.0.tgz#5aaeaaef85c7a417f76271a4f5b0cc3315ddca85"
|
||||
integrity sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==
|
||||
|
||||
semver-store@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver-store/-/semver-store-0.3.0.tgz#ce602ff07df37080ec9f4fb40b29576547befbe9"
|
||||
integrity sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==
|
||||
|
||||
semver@^7.2.1, semver@^7.3.2, semver@^7.3.5:
|
||||
version "7.3.5"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz"
|
||||
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
|
||||
dependencies:
|
||||
lru-cache "^6.0.0"
|
||||
|
||||
set-cookie-parser@^2.4.1:
|
||||
version "2.4.8"
|
||||
resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz#d0da0ed388bc8f24e706a391f9c9e252a13c58b2"
|
||||
integrity sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg==
|
||||
|
||||
shebang-command@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
|
||||
@@ -1078,6 +1311,14 @@ slash@^3.0.0:
|
||||
resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
|
||||
integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
|
||||
|
||||
sonic-boom@^1.0.2:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-1.4.1.tgz#d35d6a74076624f12e6f917ade7b9d75e918f53e"
|
||||
integrity sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==
|
||||
dependencies:
|
||||
atomic-sleep "^1.0.0"
|
||||
flatstr "^1.0.12"
|
||||
|
||||
source-map-support@^0.5.17:
|
||||
version "0.5.20"
|
||||
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz"
|
||||
@@ -1096,6 +1337,11 @@ standard-as-callback@^2.1.0:
|
||||
resolved "https://registry.yarnpkg.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz#8953fc05359868a77b5b9739a665c5977bb7df45"
|
||||
integrity sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==
|
||||
|
||||
string-similarity@^4.0.1:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.4.tgz#42d01ab0b34660ea8a018da8f56a3309bb8b2a5b"
|
||||
integrity sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==
|
||||
|
||||
strip-ansi@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz"
|
||||
@@ -1120,6 +1366,11 @@ text-table@^0.2.0:
|
||||
resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
|
||||
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
|
||||
|
||||
tiny-lru@^7.0.0:
|
||||
version "7.0.6"
|
||||
resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.6.tgz#b0c3cdede1e5882aa2d1ae21cb2ceccf2a331f24"
|
||||
integrity sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow==
|
||||
|
||||
to-regex-range@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
|
||||
|
||||
Reference in New Issue
Block a user