adapt to modelling
This commit is contained in:
parent
fccd69db74
commit
0eea261e56
@ -1,29 +1,24 @@
|
|||||||
import { Request, Response, Router } from 'express';
|
import { Request, Response, Router } from 'express';
|
||||||
import { http } from '@scode/consts';
|
import { http } from '@scode/consts';
|
||||||
import { DatabaseCrudOptions } from './DatabaseCrudOptions';
|
import { ControlModel, DatabaseModel } from '@scode/modelling';
|
||||||
import { CrudHandler } from './CrudHandler';
|
import { CrudHandler } from './CrudHandler';
|
||||||
import { HttpHandler } from './HttpHandler';
|
import { HttpHandler } from './HttpHandler';
|
||||||
import { DatabaseCrudOptionsReader } from './DatabaseCrudOptionsReader';
|
import { DatabaseCrudOptionsReader } from './DatabaseCrudOptionsReader';
|
||||||
|
|
||||||
export class DatabaseCrudHandler extends HttpHandler implements CrudHandler {
|
export class DatabaseCrudHandler extends HttpHandler implements CrudHandler {
|
||||||
protected table: string;
|
protected cm: new () => ControlModel;
|
||||||
protected columns: Array<string>;
|
protected dm: new () => DatabaseModel;
|
||||||
protected options: DatabaseCrudOptionsReader;
|
protected options: DatabaseCrudOptionsReader;
|
||||||
|
|
||||||
public constructor (
|
public constructor<T extends ControlModel, U extends DatabaseModel> (
|
||||||
table: string,
|
table: string,
|
||||||
columns: Array<string>,
|
cm: new () => ControlModel,
|
||||||
options: DatabaseCrudOptions = {}
|
dm: new () => DatabaseModel
|
||||||
) {
|
) {
|
||||||
super ();
|
super ();
|
||||||
this.table = table;
|
this.cm = cm;
|
||||||
this.columns = columns;
|
this.dm = dm;
|
||||||
this.options = new DatabaseCrudOptionsReader (options);
|
this.options = new DatabaseCrudOptionsReader (options);
|
||||||
if (this.columns.filter ((val) => val.toLowerCase () === 'id').length > 0) {
|
|
||||||
throw new Error (
|
|
||||||
'the column id cannot be made available to modification'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected validate_body (
|
protected validate_body (
|
||||||
@ -45,29 +40,6 @@ export class DatabaseCrudHandler extends HttpHandler implements CrudHandler {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected ensure_data (
|
|
||||||
data: Record<string, unknown>,
|
|
||||||
res: Response,
|
|
||||||
fail_on_undef = true
|
|
||||||
): Promise<Record<string, unknown>> | Record<string, unknown> {
|
|
||||||
const obj = {};
|
|
||||||
const keys = Object.keys (data);
|
|
||||||
for (const col of this.columns) {
|
|
||||||
if (!keys.includes (col) && fail_on_undef) {
|
|
||||||
res.status (http.status_bad_request)
|
|
||||||
.end (`missing field: ${col}`);
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
obj[col] = data[col];
|
|
||||||
}
|
|
||||||
if (typeof this.options.optional_columns !== 'undefined') {
|
|
||||||
for (const col of this.options.optional_columns)
|
|
||||||
obj[col] = data[col];
|
|
||||||
}
|
|
||||||
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
public async create (req: Request, res: Response): Promise<void> {
|
public async create (req: Request, res: Response): Promise<void> {
|
||||||
if (!await this.options.create_authorization (req, res))
|
if (!await this.options.create_authorization (req, res))
|
||||||
return;
|
return;
|
||||||
@ -76,16 +48,17 @@ export class DatabaseCrudHandler extends HttpHandler implements CrudHandler {
|
|||||||
if (body_data === null)
|
if (body_data === null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const db_data = await this.ensure_data (body_data, res);
|
const cm = new this.cm;
|
||||||
if (db_data === null)
|
cm.object = body_data;
|
||||||
return;
|
cm.update ();
|
||||||
|
|
||||||
const inserted = await this.knex (this.table)
|
const dm = new this.dm;
|
||||||
.returning ('id')
|
for (const key of Object.keys (body_data))
|
||||||
.insert (db_data);
|
dm.set (key, cm.get (key));
|
||||||
|
await dm.write ();
|
||||||
|
|
||||||
res.status (http.status_created)
|
res.status (http.status_created)
|
||||||
.end (inserted[0]);
|
.end (dm.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async read (req: Request, res: Response): Promise<void> {
|
public async read (req: Request, res: Response): Promise<void> {
|
||||||
@ -98,14 +71,14 @@ export class DatabaseCrudHandler extends HttpHandler implements CrudHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const json = await this.knex (this.table)
|
const dm = new this.dm (req.headers.id);
|
||||||
.where ({ id: req.headers.id })
|
const found = await dm.read ();
|
||||||
.select (
|
|
||||||
'id',
|
const cm = new this.cm (dm.object);
|
||||||
...this.columns
|
cm.update ();
|
||||||
);
|
|
||||||
res.status (json.length > 0 ? http.status_ok : http.status_not_found)
|
res.status (found ? http.status_ok : http.status_not_found)
|
||||||
.json (json[0]);
|
.json (cm.object);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async update (req: Request, res: Response): Promise<void> {
|
public async update (req: Request, res: Response): Promise<void> {
|
||||||
@ -116,21 +89,31 @@ export class DatabaseCrudHandler extends HttpHandler implements CrudHandler {
|
|||||||
if (body_data === null)
|
if (body_data === null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
const db_data = await this.ensure_data (body_data, res, false);
|
|
||||||
if (db_data === null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (typeof req.headers.id === 'undefined') {
|
if (typeof req.headers.id === 'undefined') {
|
||||||
res.status (http.status_bad_request)
|
res.status (http.status_bad_request)
|
||||||
.end ('id undefined');
|
.end ('id undefined');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.knex (this.table)
|
const dm = new this.dm (req.headers.id);
|
||||||
.where ({ id: req.headers.id })
|
const found = await dm.read ();
|
||||||
.update (db_data);
|
if (!found) {
|
||||||
|
res.status (http.status_not_found)
|
||||||
|
.end ();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
res.status (http.status_ok)
|
const cm = new this.cm (dm.object);
|
||||||
|
cm.update ();
|
||||||
|
|
||||||
|
for (const key of Object.keys (body_data))
|
||||||
|
cm.set (key, body_data[key]);
|
||||||
|
cm.update ();
|
||||||
|
|
||||||
|
dm.object = cm.object;
|
||||||
|
const written = await dm.write ();
|
||||||
|
|
||||||
|
res.status (written ? http.status_ok : http.status_internal_server_error)
|
||||||
.end ();
|
.end ();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,11 +127,17 @@ export class DatabaseCrudHandler extends HttpHandler implements CrudHandler {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
await this.knex (this.table)
|
const dm = new this.dm (req.headers.id);
|
||||||
.where ({ id: req.headers.id })
|
const found = await dm.read ();
|
||||||
.delete ();
|
if (!found) {
|
||||||
|
res.status (http.status_not_found)
|
||||||
|
.end ();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
res.status (http.status_ok)
|
const deleted = await dm.delete ();
|
||||||
|
|
||||||
|
res.status (deleted ? http.status_ok : http.status_internal_server_error)
|
||||||
.end ();
|
.end ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
import { Request, Response } from 'express';
|
import { Request, Response } from 'express';
|
||||||
import { KnexCrudOptions, Authorization } from './DatabaseCrudOptions';
|
import { DatabaseCrudOptions, Authorization } from './DatabaseCrudOptions';
|
||||||
|
|
||||||
type AuthRunner = {
|
type AuthRunner = {
|
||||||
(req: Request, res: Response): Promise<boolean>;
|
(req: Request, res: Response): Promise<boolean>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class KnexCrudOptionsReader {
|
export class DatabaseCrudOptionsReader {
|
||||||
private options: KnexCrudOptions;
|
private _options: DatabaseCrudOptions;
|
||||||
|
|
||||||
public constructor (options: KnexCrudOptions) {
|
public constructor (options: DatabaseCrudOptions) {
|
||||||
this.options = options;
|
this._options = options;
|
||||||
}
|
}
|
||||||
|
|
||||||
private get_auth_runner (
|
private get_auth_runner (
|
||||||
@ -18,19 +18,23 @@ export class KnexCrudOptionsReader {
|
|||||||
if (typeof auth === 'undefined')
|
if (typeof auth === 'undefined')
|
||||||
return (): Promise<boolean> => new Promise ((r) => r (true));
|
return (): Promise<boolean> => new Promise ((r) => r (true));
|
||||||
return (req, res): Promise<boolean> => new Promise ((resolve) => {
|
return (req, res): Promise<boolean> => new Promise ((resolve) => {
|
||||||
const result = auth (req, res, resolve);
|
let resolved = false;
|
||||||
if (typeof result !== 'undefined')
|
const result = await auth (req, res, (cb) => {
|
||||||
resolve (result as boolean);
|
resolved = true;
|
||||||
|
resolve (typeof cb === 'undefined' || cb === true);
|
||||||
|
});
|
||||||
|
if (!resolved)
|
||||||
|
resolve (result);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
public get optional_columns (): Array<string> | undefined {
|
public get optional_columns (): Array<string> | undefined {
|
||||||
return this.options.optional_columns;
|
return this._options.optional_columns;
|
||||||
}
|
}
|
||||||
|
|
||||||
public get create_authorization (): Authorization {
|
public get create_authorization (): Authorization {
|
||||||
const general = this.get_auth_runner (this.options.general_authorization);
|
const general = this.get_auth_runner (this._options.general_authorization);
|
||||||
const specific = this.get_auth_runner (this.options.create_authorization);
|
const specific = this.get_auth_runner (this._options.create_authorization);
|
||||||
return async (req: Request, res: Response): Promise<boolean> => {
|
return async (req: Request, res: Response): Promise<boolean> => {
|
||||||
const result = (await general (req, res)) && (await specific (req, res));
|
const result = (await general (req, res)) && (await specific (req, res));
|
||||||
return result;
|
return result;
|
||||||
@ -38,8 +42,8 @@ export class KnexCrudOptionsReader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public get read_authorization (): Authorization {
|
public get read_authorization (): Authorization {
|
||||||
const general = this.get_auth_runner (this.options.general_authorization);
|
const general = this.get_auth_runner (this._options.general_authorization);
|
||||||
const specific = this.get_auth_runner (this.options.read_authorization);
|
const specific = this.get_auth_runner (this._options.read_authorization);
|
||||||
return async (req: Request, res: Response): Promise<boolean> => {
|
return async (req: Request, res: Response): Promise<boolean> => {
|
||||||
const result = (await general (req, res)) && (await specific (req, res));
|
const result = (await general (req, res)) && (await specific (req, res));
|
||||||
return result;
|
return result;
|
||||||
@ -47,8 +51,8 @@ export class KnexCrudOptionsReader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public get update_authorization (): Authorization {
|
public get update_authorization (): Authorization {
|
||||||
const general = this.get_auth_runner (this.options.general_authorization);
|
const general = this.get_auth_runner (this._options.general_authorization);
|
||||||
const specific = this.get_auth_runner (this.options.update_authorization);
|
const specific = this.get_auth_runner (this._options.update_authorization);
|
||||||
return async (req: Request, res: Response): Promise<boolean> => {
|
return async (req: Request, res: Response): Promise<boolean> => {
|
||||||
const result = (await general (req, res)) && (await specific (req, res));
|
const result = (await general (req, res)) && (await specific (req, res));
|
||||||
return result;
|
return result;
|
||||||
@ -56,8 +60,8 @@ export class KnexCrudOptionsReader {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public get delete_authorization (): Authorization {
|
public get delete_authorization (): Authorization {
|
||||||
const general = this.get_auth_runner (this.options.general_authorization);
|
const general = this.get_auth_runner (this._options.general_authorization);
|
||||||
const specific = this.get_auth_runner (this.options.delete_authorization);
|
const specific = this.get_auth_runner (this._options.delete_authorization);
|
||||||
return async (req: Request, res: Response): Promise<boolean> => {
|
return async (req: Request, res: Response): Promise<boolean> => {
|
||||||
const result = (await general (req, res)) && (await specific (req, res));
|
const result = (await general (req, res)) && (await specific (req, res));
|
||||||
return result;
|
return result;
|
||||||
|
@ -23,17 +23,17 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@ava/typescript": "^1.1.1",
|
"@ava/typescript": "^1.1.1",
|
||||||
"@scode/eslint-config-ts": "^1.0.22",
|
"@scode/eslint-config-ts": "^1.0.27",
|
||||||
"@stryker-mutator/core": "^3.1.0",
|
"@stryker-mutator/core": "^3.1.0",
|
||||||
"@stryker-mutator/javascript-mutator": "^3.1.0",
|
"@stryker-mutator/javascript-mutator": "^3.1.0",
|
||||||
"ava": "^3.7.1",
|
"ava": "^3.8.1",
|
||||||
"eslint": "^6.8.0",
|
"eslint": "^6.8.0",
|
||||||
"nyc": "^15.0.1",
|
"nyc": "^15.0.1",
|
||||||
"typescript": "^3.8.3"
|
"typescript": "^3.8.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@scode/consts": "^1.1.5",
|
"@scode/consts": "^1.1.7",
|
||||||
"@scode/modelling": "^1.0.3",
|
"@scode/modelling": "^1.0.9",
|
||||||
"@types/express": "^4.17.6",
|
"@types/express": "^4.17.6",
|
||||||
"express": "^4.17.1"
|
"express": "^4.17.1"
|
||||||
}
|
}
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) Sapphirecode - All Rights Reserved
|
|
||||||
* This file is part of Requestor which is released under BSD-3-Clause.
|
|
||||||
* See file 'LICENSE' for full license details.
|
|
||||||
* Created by Timo Hocker <timo@scode.ovh>, March 2020
|
|
||||||
*/
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
env: {
|
|
||||||
commonjs: true,
|
|
||||||
es6: true,
|
|
||||||
node: true
|
|
||||||
},
|
|
||||||
extends: [
|
|
||||||
'@scode/eslint-config-ts'
|
|
||||||
],
|
|
||||||
rules: {
|
|
||||||
'node/no-unpublished-import': 'off'
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,88 +0,0 @@
|
|||||||
import knex from 'knex';
|
|
||||||
import test from 'ava';
|
|
||||||
import express, { Request, Response } from 'express';
|
|
||||||
import { http } from '@scode/consts';
|
|
||||||
import { KnexCrudHandler } from '../lib/DatabaseCrudHandler';
|
|
||||||
|
|
||||||
const db = knex ({
|
|
||||||
client: 'sqlite',
|
|
||||||
connection: { filename: './db.sqlite' }
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* general auth
|
|
||||||
*
|
|
||||||
* @param {any} req request
|
|
||||||
* @param {any} res response
|
|
||||||
* @returns {Promise<boolean>} successful response
|
|
||||||
*/
|
|
||||||
function general_auth (req: Request, res: Response): Promise<boolean> {
|
|
||||||
return new Promise ((resolve) => {
|
|
||||||
if (req.headers.auth === 'on') {
|
|
||||||
resolve (true);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
res.status (http.status_forbidden);
|
|
||||||
res.end ('auth failed');
|
|
||||||
resolve (false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* read auth
|
|
||||||
*
|
|
||||||
* @param {any} req request
|
|
||||||
* @param {any} res response
|
|
||||||
* @returns {Promise<boolean>} successful response
|
|
||||||
*/
|
|
||||||
function read_auth (req: Request, res: Response): Promise<boolean> {
|
|
||||||
return new Promise ((resolve) => {
|
|
||||||
if (req.headers.readauth === 'on') {
|
|
||||||
resolve (true);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
res.status (http.status_forbidden);
|
|
||||||
res.end ('readauth failed');
|
|
||||||
resolve (false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
test.before (async () => {
|
|
||||||
await db.schema.dropTableIfExists ('test');
|
|
||||||
await db.schema.createTable ('test', (t) => {
|
|
||||||
t.increments ('id');
|
|
||||||
t.string ('name');
|
|
||||||
t.integer ('number');
|
|
||||||
});
|
|
||||||
|
|
||||||
const no_auth = new KnexCrudHandler (db, 'test', [
|
|
||||||
'name',
|
|
||||||
'number'
|
|
||||||
], {});
|
|
||||||
|
|
||||||
const auth = new KnexCrudHandler (db, 'test', [ 'name' ], {
|
|
||||||
optional_columns: [ 'number' ],
|
|
||||||
general_authorization: general_auth,
|
|
||||||
read_authorization: read_auth
|
|
||||||
});
|
|
||||||
|
|
||||||
const app = express ();
|
|
||||||
app.use ('/test', no_auth.get_router ());
|
|
||||||
app.use ('/auth', auth.get_router ());
|
|
||||||
// eslint-disable-next-line no-magic-numbers
|
|
||||||
app.listen (3000);
|
|
||||||
});
|
|
||||||
|
|
||||||
test ('insert data', (t) => {});
|
|
||||||
test ('read data', (t) => {});
|
|
||||||
test ('update data', (t) => {});
|
|
||||||
test ('read updated data', (t) => {});
|
|
||||||
|
|
||||||
test ('[a] insert data', (t) => {});
|
|
||||||
test ('[a] insert data without auth', (t) => {});
|
|
||||||
test ('[a] insert data without optional column', (t) => {});
|
|
||||||
test ('[a] read data', (t) => {});
|
|
||||||
test ('[a] read data without auth', (t) => {});
|
|
||||||
test ('[a] read data without readauth', (t) => {});
|
|
278
yarn.lock
278
yarn.lock
@ -17,18 +17,18 @@
|
|||||||
"@babel/highlight" "^7.8.3"
|
"@babel/highlight" "^7.8.3"
|
||||||
|
|
||||||
"@babel/core@^7.7.5":
|
"@babel/core@^7.7.5":
|
||||||
version "7.9.0"
|
version "7.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e"
|
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.6.tgz#d9aa1f580abf3b2286ef40b6904d390904c63376"
|
||||||
integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==
|
integrity sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame" "^7.8.3"
|
"@babel/code-frame" "^7.8.3"
|
||||||
"@babel/generator" "^7.9.0"
|
"@babel/generator" "^7.9.6"
|
||||||
"@babel/helper-module-transforms" "^7.9.0"
|
"@babel/helper-module-transforms" "^7.9.0"
|
||||||
"@babel/helpers" "^7.9.0"
|
"@babel/helpers" "^7.9.6"
|
||||||
"@babel/parser" "^7.9.0"
|
"@babel/parser" "^7.9.6"
|
||||||
"@babel/template" "^7.8.6"
|
"@babel/template" "^7.8.6"
|
||||||
"@babel/traverse" "^7.9.0"
|
"@babel/traverse" "^7.9.6"
|
||||||
"@babel/types" "^7.9.0"
|
"@babel/types" "^7.9.6"
|
||||||
convert-source-map "^1.7.0"
|
convert-source-map "^1.7.0"
|
||||||
debug "^4.1.0"
|
debug "^4.1.0"
|
||||||
gensync "^1.0.0-beta.1"
|
gensync "^1.0.0-beta.1"
|
||||||
@ -38,12 +38,12 @@
|
|||||||
semver "^5.4.1"
|
semver "^5.4.1"
|
||||||
source-map "^0.5.0"
|
source-map "^0.5.0"
|
||||||
|
|
||||||
"@babel/generator@^7.4.0", "@babel/generator@^7.8.6", "@babel/generator@^7.9.0", "@babel/generator@^7.9.5":
|
"@babel/generator@^7.4.0", "@babel/generator@^7.8.6", "@babel/generator@^7.9.6":
|
||||||
version "7.9.5"
|
version "7.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.5.tgz#27f0917741acc41e6eaaced6d68f96c3fa9afaf9"
|
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.6.tgz#5408c82ac5de98cda0d77d8124e99fa1f2170a43"
|
||||||
integrity sha512-GbNIxVB3ZJe3tLeDm1HSn2AhuD/mVcyLDpgtLXa5tplmWrJdF/elxB56XNqCuD6szyNkDi6wuoKXln3QeBmCHQ==
|
integrity sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.9.5"
|
"@babel/types" "^7.9.6"
|
||||||
jsesc "^2.5.1"
|
jsesc "^2.5.1"
|
||||||
lodash "^4.17.13"
|
lodash "^4.17.13"
|
||||||
source-map "^0.5.0"
|
source-map "^0.5.0"
|
||||||
@ -109,14 +109,14 @@
|
|||||||
"@babel/types" "^7.8.3"
|
"@babel/types" "^7.8.3"
|
||||||
|
|
||||||
"@babel/helper-replace-supers@^7.8.6":
|
"@babel/helper-replace-supers@^7.8.6":
|
||||||
version "7.8.6"
|
version "7.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz#5ada744fd5ad73203bf1d67459a27dcba67effc8"
|
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz#03149d7e6a5586ab6764996cd31d6981a17e1444"
|
||||||
integrity sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==
|
integrity sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-member-expression-to-functions" "^7.8.3"
|
"@babel/helper-member-expression-to-functions" "^7.8.3"
|
||||||
"@babel/helper-optimise-call-expression" "^7.8.3"
|
"@babel/helper-optimise-call-expression" "^7.8.3"
|
||||||
"@babel/traverse" "^7.8.6"
|
"@babel/traverse" "^7.9.6"
|
||||||
"@babel/types" "^7.8.6"
|
"@babel/types" "^7.9.6"
|
||||||
|
|
||||||
"@babel/helper-simple-access@^7.8.3":
|
"@babel/helper-simple-access@^7.8.3":
|
||||||
version "7.8.3"
|
version "7.8.3"
|
||||||
@ -138,14 +138,14 @@
|
|||||||
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
|
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz#90977a8e6fbf6b431a7dc31752eee233bf052d80"
|
||||||
integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
|
integrity sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==
|
||||||
|
|
||||||
"@babel/helpers@^7.9.0":
|
"@babel/helpers@^7.9.6":
|
||||||
version "7.9.2"
|
version "7.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f"
|
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.6.tgz#092c774743471d0bb6c7de3ad465ab3d3486d580"
|
||||||
integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA==
|
integrity sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/template" "^7.8.3"
|
"@babel/template" "^7.8.3"
|
||||||
"@babel/traverse" "^7.9.0"
|
"@babel/traverse" "^7.9.6"
|
||||||
"@babel/types" "^7.9.0"
|
"@babel/types" "^7.9.6"
|
||||||
|
|
||||||
"@babel/highlight@^7.8.3":
|
"@babel/highlight@^7.8.3":
|
||||||
version "7.9.0"
|
version "7.9.0"
|
||||||
@ -156,10 +156,10 @@
|
|||||||
chalk "^2.0.0"
|
chalk "^2.0.0"
|
||||||
js-tokens "^4.0.0"
|
js-tokens "^4.0.0"
|
||||||
|
|
||||||
"@babel/parser@^7.4.3", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.0":
|
"@babel/parser@^7.4.3", "@babel/parser@^7.7.5", "@babel/parser@^7.8.6", "@babel/parser@^7.9.6":
|
||||||
version "7.9.4"
|
version "7.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8"
|
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.6.tgz#3b1bbb30dabe600cd72db58720998376ff653bc7"
|
||||||
integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA==
|
integrity sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==
|
||||||
|
|
||||||
"@babel/parser@~7.8.3":
|
"@babel/parser@~7.8.3":
|
||||||
version "7.8.8"
|
version "7.8.8"
|
||||||
@ -175,17 +175,17 @@
|
|||||||
"@babel/parser" "^7.8.6"
|
"@babel/parser" "^7.8.6"
|
||||||
"@babel/types" "^7.8.6"
|
"@babel/types" "^7.8.6"
|
||||||
|
|
||||||
"@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4", "@babel/traverse@^7.8.6", "@babel/traverse@^7.9.0":
|
"@babel/traverse@^7.4.3", "@babel/traverse@^7.7.4", "@babel/traverse@^7.9.6":
|
||||||
version "7.9.5"
|
version "7.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.5.tgz#6e7c56b44e2ac7011a948c21e283ddd9d9db97a2"
|
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.6.tgz#5540d7577697bf619cc57b92aa0f1c231a94f442"
|
||||||
integrity sha512-c4gH3jsvSuGUezlP6rzSJ6jf8fYjLj3hsMZRx/nX0h+fmHN0w+ekubRrHPqnMec0meycA2nwCsJ7dC8IPem2FQ==
|
integrity sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame" "^7.8.3"
|
"@babel/code-frame" "^7.8.3"
|
||||||
"@babel/generator" "^7.9.5"
|
"@babel/generator" "^7.9.6"
|
||||||
"@babel/helper-function-name" "^7.9.5"
|
"@babel/helper-function-name" "^7.9.5"
|
||||||
"@babel/helper-split-export-declaration" "^7.8.3"
|
"@babel/helper-split-export-declaration" "^7.8.3"
|
||||||
"@babel/parser" "^7.9.0"
|
"@babel/parser" "^7.9.6"
|
||||||
"@babel/types" "^7.9.5"
|
"@babel/types" "^7.9.6"
|
||||||
debug "^4.1.0"
|
debug "^4.1.0"
|
||||||
globals "^11.1.0"
|
globals "^11.1.0"
|
||||||
lodash "^4.17.13"
|
lodash "^4.17.13"
|
||||||
@ -205,10 +205,10 @@
|
|||||||
globals "^11.1.0"
|
globals "^11.1.0"
|
||||||
lodash "^4.17.13"
|
lodash "^4.17.13"
|
||||||
|
|
||||||
"@babel/types@^7.4.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7", "@babel/types@^7.9.0", "@babel/types@^7.9.5":
|
"@babel/types@^7.4.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7", "@babel/types@^7.9.0", "@babel/types@^7.9.5", "@babel/types@^7.9.6":
|
||||||
version "7.9.5"
|
version "7.9.6"
|
||||||
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.5.tgz#89231f82915a8a566a703b3b20133f73da6b9444"
|
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.6.tgz#2c5502b427251e9de1bd2dff95add646d95cc9f7"
|
||||||
integrity sha512-XjnvNqenk818r5zMaba+sLQjnbda31UfUURv3ei0qPQw4u+j2jMyJ5b11y8ZHYTRSI3NnInQkkkRT4fLqqPdHg==
|
integrity sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/helper-validator-identifier" "^7.9.5"
|
"@babel/helper-validator-identifier" "^7.9.5"
|
||||||
lodash "^4.17.13"
|
lodash "^4.17.13"
|
||||||
@ -257,41 +257,41 @@
|
|||||||
"@nodelib/fs.scandir" "2.1.3"
|
"@nodelib/fs.scandir" "2.1.3"
|
||||||
fastq "^1.6.0"
|
fastq "^1.6.0"
|
||||||
|
|
||||||
"@scode/consts@^1.1.5":
|
"@scode/consts@^1.1.7":
|
||||||
version "1.1.5"
|
version "1.1.7"
|
||||||
resolved "https://npm.scode.ovh/@scode%2fconsts/-/consts-1.1.5.tgz#dcaae258d2538099e6c0dd653e056e0578911c12"
|
resolved "https://npm.scode.ovh/@scode%2fconsts/-/consts-1.1.7.tgz#a251b8a9e72a60ba3470e68ef6777594e2ffaf4b"
|
||||||
integrity sha512-c4G+VfLQKGvJQwG2KxZHpxBIC+k81AEmRW8M5ALXuGIFi0O/aOXsPcfObHKelKCFDHFRNUHGWvV1fqrqym41sA==
|
integrity sha512-K6HbSgUAPBnaWuyGZayU4hwyu0f5YpmYNk2ZHefOo8AFgiKVAIUUsiDi7kculTas2d9AtKU6MrWPWOJNCKqtmg==
|
||||||
|
|
||||||
"@scode/eslint-config-es6@^1.0.1":
|
"@scode/eslint-config-es6@^1.0.1":
|
||||||
version "1.0.22"
|
version "1.0.24"
|
||||||
resolved "https://npm.scode.ovh/@scode%2feslint-config-es6/-/eslint-config-es6-1.0.22.tgz#be1a200c821137e74b829ec0029acc81734f1fca"
|
resolved "https://npm.scode.ovh/@scode%2feslint-config-es6/-/eslint-config-es6-1.0.24.tgz#c3c88ac98beb9dc73da7812f614e8f289cec763b"
|
||||||
integrity sha512-/BnuycrNMFm4KKk2rz7JF0DBAN/JvWKpE0uK2fLz8m4o88TX5AKrlUg/w4c6ctPTzhD9t9tS9tuZFn/Vs0J3mg==
|
integrity sha512-FyMzNbI6ZgGTr7bG1av+VSuYYWZIRbUp+ZvjVwtZduKkijXotOTg3jw0vMWi09IEq7esusQQZ/lZInAjvXJWKA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@scode/eslint-config" "^2.0.1"
|
"@scode/eslint-config" "^2.0.1"
|
||||||
eslint-plugin-import "^2.20.1"
|
eslint-plugin-import "^2.20.1"
|
||||||
|
|
||||||
"@scode/eslint-config-ts@^1.0.22":
|
"@scode/eslint-config-ts@^1.0.27":
|
||||||
version "1.0.22"
|
version "1.0.27"
|
||||||
resolved "https://npm.scode.ovh/@scode%2feslint-config-ts/-/eslint-config-ts-1.0.22.tgz#bedb57f187f2fca7ca661292b0ce15a26530bd95"
|
resolved "https://npm.scode.ovh/@scode%2feslint-config-ts/-/eslint-config-ts-1.0.27.tgz#d3d068df6f287273041029f4549378ecaa17972b"
|
||||||
integrity sha512-QwRen8tNC/b4XtdIADr5J4WNM58f5lryINcLBObTzZVQfjr8Qlz7AkwgxFN57u//iP3fCXzn4nPI89J2ift7Hw==
|
integrity sha512-KapsP1enFNw4kBjI4L3WKBnwKeKp6Ka9ml3OoT7zpGZZLd9nzvyD1SpGks9PQ1ZJse9nBy2HVuRVPAHzfIBvmw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@scode/eslint-config-es6" "^1.0.1"
|
"@scode/eslint-config-es6" "^1.0.1"
|
||||||
"@typescript-eslint/eslint-plugin" "^2.26.0"
|
"@typescript-eslint/eslint-plugin" "^2.26.0"
|
||||||
"@typescript-eslint/parser" "^2.26.0"
|
"@typescript-eslint/parser" "^2.26.0"
|
||||||
|
|
||||||
"@scode/eslint-config@^2.0.1":
|
"@scode/eslint-config@^2.0.1":
|
||||||
version "2.0.11"
|
version "2.0.13"
|
||||||
resolved "https://npm.scode.ovh/@scode%2feslint-config/-/eslint-config-2.0.11.tgz#3cc3cd71f3bc3ac39868bf608e0517bee09da58f"
|
resolved "https://npm.scode.ovh/@scode%2feslint-config/-/eslint-config-2.0.13.tgz#e7e4d3c9185449de7a7d810f3ee783459b779e8a"
|
||||||
integrity sha512-K8DpFdmepU1FNp0QJn5gbXS45g7k04rFUJp2OKQDqSa+3iywBvi44pMzJNOdZjkj+t3dGcOdeWcYOngz2MjdlA==
|
integrity sha512-ans0dulrnReK+9+XD5nw04kKEdveEVbRL9AKH3PTr8jUQJBY/pzeDznkf6oWnLPBKqbDn/MEKlS5MOExAgooWw==
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint-plugin-jsdoc "^24.0.0"
|
eslint-plugin-jsdoc "^24.0.0"
|
||||||
eslint-plugin-node "^11.0.0"
|
eslint-plugin-node "^11.0.0"
|
||||||
eslint-plugin-sort-requires-by-path "^1.0.2"
|
eslint-plugin-sort-requires-by-path "^1.0.2"
|
||||||
|
|
||||||
"@scode/modelling@^1.0.3":
|
"@scode/modelling@^1.0.9":
|
||||||
version "1.0.4"
|
version "1.0.13"
|
||||||
resolved "https://npm.scode.ovh/@scode%2fmodelling/-/modelling-1.0.4.tgz#0c91020a49433747a43052c7d6492a839ece5b73"
|
resolved "https://npm.scode.ovh/@scode%2fmodelling/-/modelling-1.0.13.tgz#0000b821ab973e27a1fea6e06a4b14f9c9beb2cd"
|
||||||
integrity sha512-vwuIUplINcerXKH8Cn7GpDaudM8IgrR3GDzuaqY+wq4Yq4M77DhjoN3HDeJ2McYxzyzKiYUVZ8YPMbQUNBk7PQ==
|
integrity sha512-Ms87Ge3xJNk7CZO0715RHwqa2CMSjTGwfRoOXI9W+iSwjvVwbEvxZTmTK9kX9NCJIuECwX6BCFb5XWMjr9LA0w==
|
||||||
|
|
||||||
"@sindresorhus/is@^0.14.0":
|
"@sindresorhus/is@^0.14.0":
|
||||||
version "0.14.0"
|
version "0.14.0"
|
||||||
@ -433,9 +433,9 @@
|
|||||||
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==
|
||||||
|
|
||||||
"@types/node@*":
|
"@types/node@*":
|
||||||
version "13.13.2"
|
version "13.13.4"
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.2.tgz#160d82623610db590a64e8ca81784e11117e5a54"
|
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.4.tgz#1581d6c16e3d4803eb079c87d4ac893ee7501c2c"
|
||||||
integrity sha512-LB2R1Oyhpg8gu4SON/mfforE525+Hi/M1ineICEDftqNVTyFg1aRIeGuTvXAoWHc4nbrFncWtJgMmoyRvuGh7A==
|
integrity sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA==
|
||||||
|
|
||||||
"@types/normalize-package-data@^2.4.0":
|
"@types/normalize-package-data@^2.4.0":
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
@ -461,39 +461,39 @@
|
|||||||
"@types/mime" "*"
|
"@types/mime" "*"
|
||||||
|
|
||||||
"@typescript-eslint/eslint-plugin@^2.26.0":
|
"@typescript-eslint/eslint-plugin@^2.26.0":
|
||||||
version "2.29.0"
|
version "2.30.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.29.0.tgz#c9efab7624e3dd6d144a0e4577a541d1bd42c2ac"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.30.0.tgz#312a37e80542a764d96e8ad88a105316cdcd7b05"
|
||||||
integrity sha512-X/YAY7azKirENm4QRpT7OVmzok02cSkqeIcLmdz6gXUQG4Hk0Fi9oBAynSAyNXeGdMRuZvjBa0c1Lu0dn/u6VA==
|
integrity sha512-PGejii0qIZ9Q40RB2jIHyUpRWs1GJuHP1pkoCiaeicfwO9z7Fx03NQzupuyzAmv+q9/gFNHu7lo1ByMXe8PNyg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@typescript-eslint/experimental-utils" "2.29.0"
|
"@typescript-eslint/experimental-utils" "2.30.0"
|
||||||
functional-red-black-tree "^1.0.1"
|
functional-red-black-tree "^1.0.1"
|
||||||
regexpp "^3.0.0"
|
regexpp "^3.0.0"
|
||||||
tsutils "^3.17.1"
|
tsutils "^3.17.1"
|
||||||
|
|
||||||
"@typescript-eslint/experimental-utils@2.29.0":
|
"@typescript-eslint/experimental-utils@2.30.0":
|
||||||
version "2.29.0"
|
version "2.30.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.29.0.tgz#3cb8060de9265ba131625a96bbfec31ba6d4a0fe"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.30.0.tgz#9845e868c01f3aed66472c561d4b6bac44809dd0"
|
||||||
integrity sha512-H/6VJr6eWYstyqjWXBP2Nn1hQJyvJoFdDtsHxGiD+lEP7piGnGpb/ZQd+z1ZSB1F7dN+WsxUDh8+S4LwI+f3jw==
|
integrity sha512-L3/tS9t+hAHksy8xuorhOzhdefN0ERPDWmR9CclsIGOUqGKy6tqc/P+SoXeJRye5gazkuPO0cK9MQRnolykzkA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/json-schema" "^7.0.3"
|
"@types/json-schema" "^7.0.3"
|
||||||
"@typescript-eslint/typescript-estree" "2.29.0"
|
"@typescript-eslint/typescript-estree" "2.30.0"
|
||||||
eslint-scope "^5.0.0"
|
eslint-scope "^5.0.0"
|
||||||
eslint-utils "^2.0.0"
|
eslint-utils "^2.0.0"
|
||||||
|
|
||||||
"@typescript-eslint/parser@^2.26.0":
|
"@typescript-eslint/parser@^2.26.0":
|
||||||
version "2.29.0"
|
version "2.30.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.29.0.tgz#6e3c4e21ed6393dc05b9d8b47f0b7e731ef21c9c"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.30.0.tgz#7681c305a6f4341ae2579f5e3a75846c29eee9ce"
|
||||||
integrity sha512-H78M+jcu5Tf6m/5N8iiFblUUv+HJDguMSdFfzwa6vSg9lKR8Mk9BsgeSjO8l2EshKnJKcbv0e8IDDOvSNjl0EA==
|
integrity sha512-9kDOxzp0K85UnpmPJqUzdWaCNorYYgk1yZmf4IKzpeTlSAclnFsrLjfwD9mQExctLoLoGAUXq1co+fbr+3HeFw==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/eslint-visitor-keys" "^1.0.0"
|
"@types/eslint-visitor-keys" "^1.0.0"
|
||||||
"@typescript-eslint/experimental-utils" "2.29.0"
|
"@typescript-eslint/experimental-utils" "2.30.0"
|
||||||
"@typescript-eslint/typescript-estree" "2.29.0"
|
"@typescript-eslint/typescript-estree" "2.30.0"
|
||||||
eslint-visitor-keys "^1.1.0"
|
eslint-visitor-keys "^1.1.0"
|
||||||
|
|
||||||
"@typescript-eslint/typescript-estree@2.29.0":
|
"@typescript-eslint/typescript-estree@2.30.0":
|
||||||
version "2.29.0"
|
version "2.30.0"
|
||||||
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.29.0.tgz#1be6612bb02fc37ac9f466521c1459a4744e8d3a"
|
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.30.0.tgz#1b8e848b55144270255ffbfe4c63291f8f766615"
|
||||||
integrity sha512-3YGbtnWy4az16Egy5Fj5CckkVlpIh0MADtAQza+jiMADRSKkjdpzZp/5WuvwK/Qib3Z0HtzrDFeWanS99dNhnA==
|
integrity sha512-nI5WOechrA0qAhnr+DzqwmqHsx7Ulr/+0H7bWCcClDhhWkSyZR5BmTvnBEyONwJCTWHfc5PAQExX24VD26IAVw==
|
||||||
dependencies:
|
dependencies:
|
||||||
debug "^4.1.1"
|
debug "^4.1.1"
|
||||||
eslint-visitor-keys "^1.1.0"
|
eslint-visitor-keys "^1.1.0"
|
||||||
@ -516,6 +516,11 @@ acorn-jsx@^5.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
|
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
|
||||||
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
|
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
|
||||||
|
|
||||||
|
acorn-walk@^7.1.1:
|
||||||
|
version "7.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e"
|
||||||
|
integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ==
|
||||||
|
|
||||||
acorn@^7.1.1:
|
acorn@^7.1.1:
|
||||||
version "7.1.1"
|
version "7.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
|
||||||
@ -667,21 +672,23 @@ astral-regex@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
|
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
|
||||||
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
|
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
|
||||||
|
|
||||||
ava@^3.7.1:
|
ava@^3.8.1:
|
||||||
version "3.7.1"
|
version "3.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/ava/-/ava-3.7.1.tgz#7baba69820242e0efcbfb4ab2060b500ec745421"
|
resolved "https://registry.yarnpkg.com/ava/-/ava-3.8.1.tgz#ec50814f8e6c769b8ed0dcc64bca990cd06bb2d1"
|
||||||
integrity sha512-UX7RSenUgFPhxe866doqOJy6tQZAXAVAU4yufYeBAcnEjnS/plIcG6lE2yGIqgjk5cIMpSi+sP4f6EsornlsuA==
|
integrity sha512-OPWrTxcf1EbtAaGGFQPLbx4AaVqPrFMumKOKn2SzIRo+RTKb33lF2aoVnWqBeZaJ68uSc9R6jqIE7qkG6O33uQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@concordance/react" "^2.0.0"
|
"@concordance/react" "^2.0.0"
|
||||||
|
acorn "^7.1.1"
|
||||||
|
acorn-walk "^7.1.1"
|
||||||
ansi-styles "^4.2.1"
|
ansi-styles "^4.2.1"
|
||||||
arrgv "^1.0.2"
|
arrgv "^1.0.2"
|
||||||
arrify "^2.0.1"
|
arrify "^2.0.1"
|
||||||
|
callsites "^3.1.0"
|
||||||
chalk "^4.0.0"
|
chalk "^4.0.0"
|
||||||
chokidar "^3.3.1"
|
chokidar "^3.4.0"
|
||||||
chunkd "^2.0.1"
|
chunkd "^2.0.1"
|
||||||
ci-info "^2.0.0"
|
ci-info "^2.0.0"
|
||||||
ci-parallel-vars "^1.0.0"
|
ci-parallel-vars "^1.0.0"
|
||||||
clean-stack "^2.2.0"
|
|
||||||
clean-yaml-object "^0.1.0"
|
clean-yaml-object "^0.1.0"
|
||||||
cli-cursor "^3.1.0"
|
cli-cursor "^3.1.0"
|
||||||
cli-truncate "^2.1.0"
|
cli-truncate "^2.1.0"
|
||||||
@ -701,13 +708,13 @@ ava@^3.7.1:
|
|||||||
indent-string "^4.0.0"
|
indent-string "^4.0.0"
|
||||||
is-error "^2.2.2"
|
is-error "^2.2.2"
|
||||||
is-plain-object "^3.0.0"
|
is-plain-object "^3.0.0"
|
||||||
is-promise "^2.1.0"
|
is-promise "^3.0.0"
|
||||||
lodash "^4.17.15"
|
lodash "^4.17.15"
|
||||||
matcher "^2.1.0"
|
matcher "^3.0.0"
|
||||||
md5-hex "^3.0.1"
|
md5-hex "^3.0.1"
|
||||||
mem "^6.1.0"
|
mem "^6.1.0"
|
||||||
ms "^2.1.2"
|
ms "^2.1.2"
|
||||||
ora "^4.0.3"
|
ora "^4.0.4"
|
||||||
p-map "^4.0.0"
|
p-map "^4.0.0"
|
||||||
picomatch "^2.2.2"
|
picomatch "^2.2.2"
|
||||||
pkg-conf "^3.1.0"
|
pkg-conf "^3.1.0"
|
||||||
@ -716,7 +723,7 @@ ava@^3.7.1:
|
|||||||
read-pkg "^5.2.0"
|
read-pkg "^5.2.0"
|
||||||
resolve-cwd "^3.0.0"
|
resolve-cwd "^3.0.0"
|
||||||
slash "^3.0.0"
|
slash "^3.0.0"
|
||||||
source-map-support "^0.5.16"
|
source-map-support "^0.5.19"
|
||||||
stack-utils "^2.0.1"
|
stack-utils "^2.0.1"
|
||||||
strip-ansi "^6.0.0"
|
strip-ansi "^6.0.0"
|
||||||
supertap "^1.0.0"
|
supertap "^1.0.0"
|
||||||
@ -819,7 +826,7 @@ caching-transform@^4.0.0:
|
|||||||
package-hash "^4.0.0"
|
package-hash "^4.0.0"
|
||||||
write-file-atomic "^3.0.0"
|
write-file-atomic "^3.0.0"
|
||||||
|
|
||||||
callsites@^3.0.0:
|
callsites@^3.0.0, callsites@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
|
||||||
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
|
||||||
@ -859,10 +866,10 @@ chardet@^0.7.0:
|
|||||||
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
|
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
|
||||||
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
|
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
|
||||||
|
|
||||||
chokidar@^3.3.1:
|
chokidar@^3.4.0:
|
||||||
version "3.3.1"
|
version "3.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450"
|
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8"
|
||||||
integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==
|
integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
anymatch "~3.1.1"
|
anymatch "~3.1.1"
|
||||||
braces "~3.0.2"
|
braces "~3.0.2"
|
||||||
@ -870,7 +877,7 @@ chokidar@^3.3.1:
|
|||||||
is-binary-path "~2.1.0"
|
is-binary-path "~2.1.0"
|
||||||
is-glob "~4.0.1"
|
is-glob "~4.0.1"
|
||||||
normalize-path "~3.0.0"
|
normalize-path "~3.0.0"
|
||||||
readdirp "~3.3.0"
|
readdirp "~3.4.0"
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
fsevents "~2.1.2"
|
fsevents "~2.1.2"
|
||||||
|
|
||||||
@ -889,7 +896,7 @@ ci-parallel-vars@^1.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/ci-parallel-vars/-/ci-parallel-vars-1.0.0.tgz#af97729ed1c7381911ca37bcea263d62638701b3"
|
resolved "https://registry.yarnpkg.com/ci-parallel-vars/-/ci-parallel-vars-1.0.0.tgz#af97729ed1c7381911ca37bcea263d62638701b3"
|
||||||
integrity sha512-u6dx20FBXm+apMi+5x7UVm6EH7BL1gc4XrcnQewjcB7HWRcor/V5qWc3RG2HwpgDJ26gIi2DSEu3B7sXynAw/g==
|
integrity sha512-u6dx20FBXm+apMi+5x7UVm6EH7BL1gc4XrcnQewjcB7HWRcor/V5qWc3RG2HwpgDJ26gIi2DSEu3B7sXynAw/g==
|
||||||
|
|
||||||
clean-stack@^2.0.0, clean-stack@^2.2.0:
|
clean-stack@^2.0.0:
|
||||||
version "2.2.0"
|
version "2.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
|
||||||
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
|
||||||
@ -1338,6 +1345,11 @@ escape-string-regexp@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
|
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
|
||||||
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
|
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
|
||||||
|
|
||||||
|
escape-string-regexp@^4.0.0:
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
|
||||||
|
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
|
||||||
|
|
||||||
eslint-import-resolver-node@^0.3.2:
|
eslint-import-resolver-node@^0.3.2:
|
||||||
version "0.3.3"
|
version "0.3.3"
|
||||||
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404"
|
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404"
|
||||||
@ -1861,9 +1873,9 @@ got@^9.6.0:
|
|||||||
url-parse-lax "^3.0.0"
|
url-parse-lax "^3.0.0"
|
||||||
|
|
||||||
graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2:
|
graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2:
|
||||||
version "4.2.3"
|
version "4.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
|
||||||
integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
|
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
|
||||||
|
|
||||||
has-flag@^3.0.0:
|
has-flag@^3.0.0:
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
@ -2148,10 +2160,10 @@ is-plain-object@^3.0.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
isobject "^4.0.0"
|
isobject "^4.0.0"
|
||||||
|
|
||||||
is-promise@^2.1.0:
|
is-promise@^3.0.0:
|
||||||
version "2.1.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
|
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-3.0.0.tgz#1f88031af842d9203dc1777cba40411e848f9beb"
|
||||||
integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
|
integrity sha512-aTHJ4BvETyySzLhguH+7sL4b8765eecqq7ZrHVuhZr3FjCL/IV+LsvisEeH+9d0AkChYny3ad1KEL+mKy4ot7A==
|
||||||
|
|
||||||
is-regex@^1.0.5:
|
is-regex@^1.0.5:
|
||||||
version "1.0.5"
|
version "1.0.5"
|
||||||
@ -2499,12 +2511,12 @@ map-age-cleaner@^0.1.3:
|
|||||||
dependencies:
|
dependencies:
|
||||||
p-defer "^1.0.0"
|
p-defer "^1.0.0"
|
||||||
|
|
||||||
matcher@^2.1.0:
|
matcher@^3.0.0:
|
||||||
version "2.1.0"
|
version "3.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/matcher/-/matcher-2.1.0.tgz#64e1041c15b993e23b786f93320a7474bf833c28"
|
resolved "https://registry.yarnpkg.com/matcher/-/matcher-3.0.0.tgz#bd9060f4c5b70aa8041ccc6f80368760994f30ca"
|
||||||
integrity sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==
|
integrity sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==
|
||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "^2.0.0"
|
escape-string-regexp "^4.0.0"
|
||||||
|
|
||||||
md5-hex@^2.0.0:
|
md5-hex@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
@ -2561,17 +2573,17 @@ micromatch@^4.0.2:
|
|||||||
braces "^3.0.1"
|
braces "^3.0.1"
|
||||||
picomatch "^2.0.5"
|
picomatch "^2.0.5"
|
||||||
|
|
||||||
mime-db@1.43.0:
|
mime-db@1.44.0:
|
||||||
version "1.43.0"
|
version "1.44.0"
|
||||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.43.0.tgz#0a12e0502650e473d735535050e7c8f4eb4fae58"
|
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
|
||||||
integrity sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==
|
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
|
||||||
|
|
||||||
mime-types@~2.1.24:
|
mime-types@~2.1.24:
|
||||||
version "2.1.26"
|
version "2.1.27"
|
||||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06"
|
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
|
||||||
integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==
|
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
|
||||||
dependencies:
|
dependencies:
|
||||||
mime-db "1.43.0"
|
mime-db "1.44.0"
|
||||||
|
|
||||||
mime@1.6.0:
|
mime@1.6.0:
|
||||||
version "1.6.0"
|
version "1.6.0"
|
||||||
@ -2791,7 +2803,7 @@ optionator@^0.8.3:
|
|||||||
type-check "~0.3.2"
|
type-check "~0.3.2"
|
||||||
word-wrap "~1.2.3"
|
word-wrap "~1.2.3"
|
||||||
|
|
||||||
ora@^4.0.3:
|
ora@^4.0.4:
|
||||||
version "4.0.4"
|
version "4.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.4.tgz#e8da697cc5b6a47266655bf68e0fb588d29a545d"
|
resolved "https://registry.yarnpkg.com/ora/-/ora-4.0.4.tgz#e8da697cc5b6a47266655bf68e0fb588d29a545d"
|
||||||
integrity sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==
|
integrity sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==
|
||||||
@ -2988,7 +3000,7 @@ path-type@^4.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
|
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
|
||||||
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
|
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
|
||||||
|
|
||||||
picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.0.7, picomatch@^2.2.1, picomatch@^2.2.2:
|
picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2:
|
||||||
version "2.2.2"
|
version "2.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
|
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad"
|
||||||
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
|
integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==
|
||||||
@ -3151,12 +3163,12 @@ read-pkg@^5.2.0:
|
|||||||
parse-json "^5.0.0"
|
parse-json "^5.0.0"
|
||||||
type-fest "^0.6.0"
|
type-fest "^0.6.0"
|
||||||
|
|
||||||
readdirp@~3.3.0:
|
readdirp@~3.4.0:
|
||||||
version "3.3.0"
|
version "3.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.3.0.tgz#984458d13a1e42e2e9f5841b129e162f369aff17"
|
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada"
|
||||||
integrity sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==
|
integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==
|
||||||
dependencies:
|
dependencies:
|
||||||
picomatch "^2.0.7"
|
picomatch "^2.2.1"
|
||||||
|
|
||||||
regexpp@^2.0.1:
|
regexpp@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.1"
|
||||||
@ -3268,11 +3280,9 @@ rimraf@^3.0.0, rimraf@~3.0.0:
|
|||||||
glob "^7.1.3"
|
glob "^7.1.3"
|
||||||
|
|
||||||
run-async@^2.4.0:
|
run-async@^2.4.0:
|
||||||
version "2.4.0"
|
version "2.4.1"
|
||||||
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8"
|
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
|
||||||
integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==
|
integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
|
||||||
dependencies:
|
|
||||||
is-promise "^2.1.0"
|
|
||||||
|
|
||||||
run-parallel@^1.1.9:
|
run-parallel@^1.1.9:
|
||||||
version "1.1.9"
|
version "1.1.9"
|
||||||
@ -3409,10 +3419,10 @@ slice-ansi@^3.0.0:
|
|||||||
astral-regex "^2.0.0"
|
astral-regex "^2.0.0"
|
||||||
is-fullwidth-code-point "^3.0.0"
|
is-fullwidth-code-point "^3.0.0"
|
||||||
|
|
||||||
source-map-support@^0.5.16:
|
source-map-support@^0.5.19:
|
||||||
version "0.5.18"
|
version "0.5.19"
|
||||||
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.18.tgz#f5f33489e270bd7f7d7e7b8debf283f3a4066960"
|
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"
|
||||||
integrity sha512-9luZr/BZ2QeU6tO2uG8N2aZpVSli4TSAOAqFOyTO51AJcD9P99c0K1h6dD6r6qo5dyT44BR5exweOaLLeldTkQ==
|
integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==
|
||||||
dependencies:
|
dependencies:
|
||||||
buffer-from "^1.0.0"
|
buffer-from "^1.0.0"
|
||||||
source-map "^0.6.0"
|
source-map "^0.6.0"
|
||||||
@ -3476,9 +3486,9 @@ sprintf-js@~1.0.2:
|
|||||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||||
|
|
||||||
stack-utils@^2.0.1:
|
stack-utils@^2.0.1:
|
||||||
version "2.0.1"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.1.tgz#3df48345a3b92adc06038f0e95782df61beff742"
|
resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593"
|
||||||
integrity sha512-BvBTnHGm8boe+HiJFqP19ywEsGlfQAKqW78pbfvUuzCbUuxPPUyLrH5dYFY+Xn9IpLY3b5ZmMcl8jAqXB4wddg==
|
integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg==
|
||||||
dependencies:
|
dependencies:
|
||||||
escape-string-regexp "^2.0.0"
|
escape-string-regexp "^2.0.0"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user