diff --git a/README.md b/README.md index ae07922..ec66860 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ As a regular user you must use the official integrated application through [Umbrel](https://github.com/getumbrel/umbrel). This way you could switch between mainnet and testnet network. -![Umbrel](https://user-images.githubusercontent.com/45034541/140373859-66b7fa6d-5eeb-4fc5-8608-d139e8677267.png) +![Umbrel](https://user-images.githubusercontent.com/45034541/163248849-69ba8bde-4654-4145-838f-9cdb4d04a4d5.png) You can find the information about how to build an app for Umbrel [here](https://github.com/getumbrel/umbrel/tree/b768bcf9e90e51cb6cc13ddb8a8a2a905ac2017b/apps) diff --git a/apps/api/.eslintrc.cjs b/apps/api/.eslintrc.cjs new file mode 100644 index 0000000..ef1489d --- /dev/null +++ b/apps/api/.eslintrc.cjs @@ -0,0 +1,125 @@ +module.exports = { + root: true, + env: { + es6: true, + node: true, + }, + globals: { + require: true, + module: true, + }, + parserOptions: { + ecmaVersion: 'latest', + sourceType: 'module', + }, + ignorePatterns: ['node_modules/**'], + plugins: ['no-autofix', 'prefer-arrow'], + extends: [ + 'eslint:recommended', + 'plugin:prettier/recommended', + 'plugin:import/recommended', + 'plugin:promise/recommended', + 'plugin:sonarjs/recommended', + 'plugin:eslint-comments/recommended', + ], + rules: { + 'space-before-function-paren': 'off', + 'no-empty': ['error', { allowEmptyCatch: true }], + camelcase: 'off', + 'prefer-destructuring': [ + 'error', + { + VariableDeclarator: { + array: false, + object: true, + }, + AssignmentExpression: { + array: true, + object: false, + }, + }, + { + enforceForRenamedProperties: false, + }, + ], + 'require-await': 'error', + 'no-return-await': 'error', + 'no-return-assign': 'error', + eqeqeq: 'error', + 'no-var': 'error', + 'prefer-const': 'error', + 'prefer-arrow-callback': 'error', + + 'eslint-comments/disable-enable-pair': ['error', { allowWholeFile: true }], + + 'sonarjs/no-duplicate-string': 'off', + 'sonarjs/cognitive-complexity': 'off', + 'sonarjs/no-identical-functions': 'off', + + 'import/first': 'error', + 'import/newline-after-import': 'error', + 'import/no-duplicates': 'error', + 'import/order': [ + 'error', + { + groups: ['builtin', 'external', 'internal', 'parent', 'sibling', 'index'], + alphabetize: { + order: 'asc', + caseInsensitive: true, + }, + 'newlines-between': 'always', + pathGroups: [ + { + pattern: '@ln-markets/**', + group: 'internal', + }, + { + pattern: '#src/**', + group: 'internal', + }, + ], + }, + ], + + 'no-autofix/jsdoc/require-jsdoc': 'off', + + 'prefer-arrow/prefer-arrow-functions': [ + 'error', + { + disallowPrototype: true, + singleReturnOnly: false, + classPropertiesAllowed: false, + }, + ], + }, + settings: { + 'import/core-modules': [ + 'node:process', + 'node:async_hooks', + 'node:console', + 'node:os', + 'node:net', + 'node:crypto', + 'node:buffer', + 'node:timers', + 'node:querystring', + 'node:url', + 'node:http', + 'node:path', + 'node:fs', + 'node:fs/promises', + 'node:https', + 'node:v8', + 'node:worker_threads', + 'zx/globals', + ], + 'import/resolver': { + alias: { + map: [ + ['#src', './src'], + ], + extensions: ['.js', '.json'], + }, + }, + }, +} diff --git a/apps/api/.eslintrc.js b/apps/api/.eslintrc.js deleted file mode 100644 index 5bd2496..0000000 --- a/apps/api/.eslintrc.js +++ /dev/null @@ -1,62 +0,0 @@ -module.exports = { - extends: [ - 'standard', - 'prettier', - 'plugin:prettier/recommended', - 'plugin:import/errors', - 'plugin:import/warnings', - 'plugin:node/recommended', - 'plugin:promise/recommended', - ], - plugins: ['import', 'prettier', 'promise'], - env: { - node: true, - es2020: true, - }, - parserOptions: { - ecmaVersion: 2020, - sourceType: 'module', - }, - rules: { - 'space-before-function-paren': 'off', - 'new-cap': 'off', - camelcase: 'off', - 'import/no-unresolved': ['error', { commonjs: true }], - 'import/no-extraneous-dependencies': 'error', - 'node/shebang': 'off', - 'node/no-unsupported-features/es-syntax': 'off', - 'node/no-missing-require': 'off', - 'no-global-assign': ['error', { exceptions: ['require'] }], - 'prefer-destructuring': [ - 'error', - { - VariableDeclarator: { - array: false, - object: true, - }, - AssignmentExpression: { - array: true, - object: false, - }, - }, - { - enforceForRenamedProperties: false, - }, - ], - 'require-await': 'error', - 'no-return-await': 'error', - 'no-return-assign': 'error', - eqeqeq: 'error', - 'no-var': 'error', - 'prefer-const': 'error', - 'prefer-arrow-callback': 'error', - }, - settings: { - 'import/resolver': { - alias: { - map: [['@', './src']], - extensions: ['.js', '.json'], - }, - }, - }, -} diff --git a/apps/api/jsconfig.json b/apps/api/jsconfig.json index dd988d9..e73cb96 100644 --- a/apps/api/jsconfig.json +++ b/apps/api/jsconfig.json @@ -1,10 +1,10 @@ { "compilerOptions": { - "module": "commonjs", + "module": "CommonJS", "target": "es2020", "baseUrl": ".", "paths": { - "@/*": [ + "#src/*": [ "src/*" ], } diff --git a/apps/api/package.json b/apps/api/package.json index 5efdf75..03cec2e 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -7,7 +7,7 @@ "license": "MIT", "private": true, "engines": { - "node": ">=14" + "node": ">=16" }, "scripts": { "eslint": "eslint --fix", @@ -16,27 +16,30 @@ "format": "prettier --write 'src/**/*.js'", "dev": "nodemon" }, + "type": "module", + "imports": { + "#src/*": "./src/*" + }, "dependencies": { - "@ln-markets/api": "^1.4.2", + "@ln-markets/api": "^1.7.0", + "@ln-markets/maths": "^1.0.1", "bech32": "^2.0.0", "bip32": "^3.0.1", "bip39": "^3.0.4", - "body-parser": "^1.19.0", + "body-parser": "^1.20.0", "cors": "^2.8.5", "cuid": "^2.1.8", - "express": "^4.17.1", + "express": "^4.17.3", "express-session": "^1.17.2", "express-winston": "^4.2.0", "helmet": "^4.6.0", "ln-service": "53.0.1", "module-alias": "^2.2.2", - "secp256k1": "^4.0.2", - "tiny-secp256k1": "^2.1.2", - "winston": "^3.3.3", - "ws": "^8.3.0" - }, - "_moduleAliases": { - "@": "src/" + "node-fetch": "^3.2.3", + "secp256k1": "^4.0.3", + "tiny-secp256k1": "^2.2.1", + "winston": "^3.7.2", + "ws": "^8.5.0" }, "nodemonConfig": { "exec": "node src/index.js", diff --git a/apps/api/src/classes/lnd.js b/apps/api/src/classes/lnd.js index 2e9d757..346b2fa 100644 --- a/apps/api/src/classes/lnd.js +++ b/apps/api/src/classes/lnd.js @@ -1,14 +1,16 @@ -const fs = require('fs') -const net = require('net') +import { Buffer } from 'node:buffer' +import fs from 'node:fs' +import net from 'node:net' +import process from 'node:process' -const { +import { authenticatedLndGrpc, getWalletInfo, diffieHellmanComputeSecret, decodePaymentRequest, pay, createInvoice, -} = require('ln-service') +} from 'ln-service' const isPortOpen = async (opt = {}) => { const { host, port } = opt @@ -105,4 +107,4 @@ class LND { } } -module.exports = new LND() +export default new LND() diff --git a/apps/api/src/classes/lnmarkets-api.js b/apps/api/src/classes/lnmarkets-api.js index 088a7b3..55e2382 100644 --- a/apps/api/src/classes/lnmarkets-api.js +++ b/apps/api/src/classes/lnmarkets-api.js @@ -1,29 +1,18 @@ -const { LNMarketsRest } = require('@ln-markets/api') -const { createLnurlAuthPubkeyAndSignature } = require('@/helpers/lnurl.js') +import { LNMarketsRest } from '@ln-markets/api' +import fetch from 'node-fetch' -const isTokenExpired = (token) => { - const convertBase64 = (input) => { - input = input.replace(/-/g, '+').replace(/_/g, '/') +import { createLnurlAuthPubkeyAndSignature } from '#src/helpers/lnurl.js' - const pad = input.length % 4 +const isCookieExpired = (cookie) => { + const expiry = Date.parse( + cookie + .split('; ') + .find((property) => property.startsWith('Expires=')) + .substring(8) // Lenght of Expires=, to only get the date. + ) + const now = Date.now() - if (pad) { - if (pad === 1) { - throw new Error('InvalidLengthError') - } - input += new Array(5 - pad).join('=') - } - - return input - } - - const convertedString = convertBase64(token.split('.')[1]) - const payload = Buffer.from(convertedString, 'base64').toString() - - const { exp } = JSON.parse(payload) - const now = Math.floor(Date.now() / 1000) - - return now >= exp + return now > expiry } const network = process.env.BITCOIN_NETWORK @@ -34,20 +23,23 @@ const customHeaders = { class LNMarketsAPI extends LNMarketsRest { constructor() { - super({ network, customHeaders }) + super({ network, customHeaders, skipApiKey: true }) - this.doNotCheckToken = false + this.doNotCheckCookie = false } async beforeRequestApi(options) { try { - if (!this.doNotCheckToken) { - if (!this.token || isTokenExpired(this.token)) { - // Mutex du pauvre - this.doNotCheckToken = true - this.token = await this.createToken() + if ( + !this.doNotCheckCookie && + (!this.cookie || isCookieExpired(this.cookie)) + ) { + await this.authenticate() + } - this.doNotCheckToken = false + if (options.credentials) { + options.headers = { + Cookie: this.cookie, } } @@ -57,16 +49,50 @@ class LNMarketsAPI extends LNMarketsRest { } } - async createToken() { + async authenticate(opt = {}) { try { - const { lnurl } = await this.getLnurlAuth() - const params = await createLnurlAuthPubkeyAndSignature({ lnurl }) - const { token } = await this.lnurlAuth(params) - return token + const { withJWT = false } = opt + + this.doNotCheckCookie = true + + const authResponse = await fetch( + 'https://api.kibotrel.lnmarkets.dev/v1/lnurl/auth', + { + method: 'post', + body: JSON.stringify({}), + headers: { 'Content-Type': 'application/json' }, + credentials: true, + } + ) + + const cookie = authResponse.headers.get('set-cookie') + const { lnurl } = await authResponse.json() + + const params = new URLSearchParams( + await createLnurlAuthPubkeyAndSignature({ lnurl, withJWT }) + ) + + const response = await fetch( + `https://${this.hostname}/${ + this.version + }/lnurl/auth?${params.toString()}`, + { + credentials: true, + headers: { Cookie: cookie }, + } + ) + + if (!withJWT) { + this.cookie = cookie + } + + this.doNotCheckCookie = false + + return response.json() } catch (error) { return Promise.reject(error) } } } -module.exports = new LNMarketsAPI() +export default new LNMarketsAPI() diff --git a/apps/api/src/express.js b/apps/api/src/express.js index 290d651..6dc9067 100644 --- a/apps/api/src/express.js +++ b/apps/api/src/express.js @@ -1,11 +1,18 @@ -const express = require('express') -const cuid = require('cuid') -const routes = require('@/routes/index.js') -const path = require('path') -const bodyParser = require('body-parser') -const helmet = require('helmet') -const context = require('@/helpers/context.js') -const HttpError = require('@/helpers/errors.js') +import path from 'node:path' +import process from 'node:process' + +import bodyParser from 'body-parser' +import cuid from 'cuid' +import express from 'express' +import helmet from 'helmet' + +import context from '#src/helpers/context.js' +import HttpError from '#src/helpers/errors.js' +import cors from '#src/middleware/cors.js' +import errors from '#src/middleware/errors.js' +import logRequest from '#src/middleware/log-request.js' +import session from '#src/middleware/session.js' +import routes from '#src/routes/index.js' const setRequestId = (req, res, next) => { const requestId = cuid() @@ -29,7 +36,7 @@ const asyncContext = (req, res, next) => { } } -module.exports = () => { +export default () => { const app = express() app.use(helmet.dnsPrefetchControl()) @@ -46,12 +53,12 @@ module.exports = () => { app.use(bodyParser.text()) app.use(bodyParser.urlencoded({ extended: false })) - app.use(require('@/middleware/cors.js')) + app.use(cors) app.use(setRequestId) app.use(asyncContext) - app.use(require('@/middleware/session.js')) + app.use(session) app.get('/status', (req, res) => { res.status(200).end() @@ -67,18 +74,19 @@ module.exports = () => { ) }) - app.use(require('@/middleware/log-request.js')(['password'])) + app.use(logRequest(['password'])) app.use('/api', routes) if (process.env.NODE_ENV === 'production') { app.use(express.static(path.join(__dirname, '../public'))) + // eslint-disable-next-line no-unused-vars app.get('*', (req, res, next) => { res.sendFile('index.html', { root: path.join(__dirname, '../public') }) }) } - app.use(require('@/middleware/errors.js')) + app.use(errors) return app } diff --git a/apps/api/src/helpers/context.js b/apps/api/src/helpers/context.js index 1f2ed45..5e36fa7 100644 --- a/apps/api/src/helpers/context.js +++ b/apps/api/src/helpers/context.js @@ -1,3 +1,3 @@ -const { AsyncLocalStorage } = require('async_hooks') +import { AsyncLocalStorage } from 'node:async_hooks' -module.exports = new AsyncLocalStorage() +export default new AsyncLocalStorage() diff --git a/apps/api/src/helpers/errors.js b/apps/api/src/helpers/errors.js index 0bfec27..f265a4a 100644 --- a/apps/api/src/helpers/errors.js +++ b/apps/api/src/helpers/errors.js @@ -1,4 +1,4 @@ -module.exports = class HttpError extends Error { +export default class HttpError extends Error { constructor(status, code, message, details) { if (!status) throw new Error('An HTTP Error need a status') if (!code) throw new Error('An HTTP Error need a code') diff --git a/apps/api/src/helpers/lnurl.js b/apps/api/src/helpers/lnurl.js index 153e929..1e5c75b 100644 --- a/apps/api/src/helpers/lnurl.js +++ b/apps/api/src/helpers/lnurl.js @@ -1,10 +1,12 @@ -const LND = require('@/classes/lnd.js') -const bip39 = require('bip39') -const { bech32 } = require('bech32') -const secp256k1 = require('secp256k1') -const BIP32Factory = require('bip32') -const ecc = require('tiny-secp256k1') -const { createHmac } = require('crypto') +import { createHmac } from 'crypto' + +import { bech32 } from 'bech32' +import BIP32Factory from 'bip32' +import bip39 from 'bip39' +import secp256k1 from 'secp256k1' +import * as ecc from 'tiny-secp256k1' + +import LND from '#src/classes/lnd.js' const bip32 = BIP32Factory.default(ecc) @@ -21,7 +23,10 @@ const arrayToHexString = (array) => { ) } -const createLnurlAuthPubkeyAndSignature = async ({ lnurl }) => { +export const createLnurlAuthPubkeyAndSignature = async ({ + lnurl, + withJWT = false, +}) => { try { if (!lnurl) { throw new Error('lnurlNotFound') @@ -70,8 +75,9 @@ const createLnurlAuthPubkeyAndSignature = async ({ lnurl }) => { throw new Error('ErrorGeneratingKey') } - // Generates url parameters to get a JWT to communicate with lnmarkets api - // by signing a message with the given lnurl. + // Generates url parameters to get a cookie to communicate + // with lnmarkets api and JWT for the "Trade" button redirection by + // signing a message with the given lnurl. const sign = secp256k1.ecdsaSign( hexStringToArray(k1), @@ -87,11 +93,9 @@ const createLnurlAuthPubkeyAndSignature = async ({ lnurl }) => { hmac, sig: hexStringSignature, key: publicKey, - jwt: true, + jwt: withJWT, } } catch (error) { return Promise.reject(error) } } - -module.exports = { createLnurlAuthPubkeyAndSignature } diff --git a/apps/api/src/index.js b/apps/api/src/index.js index e037772..4d439b9 100644 --- a/apps/api/src/index.js +++ b/apps/api/src/index.js @@ -1,12 +1,10 @@ -const path = require('path') -require('module-alias')(path.join(__dirname, '..')) -const http = require('http') +import http from 'node:http' -const log = require('@/logger/index.js') -const LND = require('@/classes/lnd.js') -const WebsocketServer = require('./websockets.js') +import LND from '#src/classes/lnd.js' +import log from '#src/logger/index.js' -const createExpressApp = require('./express.js') +import createExpressApp from './express.js' +import WebsocketServer from './websockets.js' process.on('unchaughtException', (error) => { log.error(error) @@ -17,6 +15,7 @@ const main = async () => { await LND.connect() const app = createExpressApp() const server = http.createServer(app) + WebsocketServer(server) server.on('error', (error) => { diff --git a/apps/api/src/logger/format.js b/apps/api/src/logger/format.js index 4f30ddf..2e7a256 100644 --- a/apps/api/src/logger/format.js +++ b/apps/api/src/logger/format.js @@ -1,5 +1,8 @@ -const { format } = require('winston') -const context = require('@/helpers/context.js') +import winston from 'winston' + +import context from '#src/helpers/context.js' + +const { format } = winston const getContext = format((info) => { const store = context.getStore() @@ -32,4 +35,4 @@ const isError = format((info) => { return info }) -module.exports = format.combine(getContext(), isHttpError(), isError()) +export default format.combine(getContext(), isHttpError(), isError()) diff --git a/apps/api/src/logger/index.js b/apps/api/src/logger/index.js index 419a98f..3eccffd 100644 --- a/apps/api/src/logger/index.js +++ b/apps/api/src/logger/index.js @@ -1,6 +1,7 @@ -const winston = require('winston') -const loki = require('./loki.js') -const format = require('./format.js') +import winston from 'winston' + +import format from './format.js' +import loki from './loki.js' const { createLogger, transports } = winston @@ -37,4 +38,4 @@ const loggerOptions = { transports: [new transports.Console(loki())], } -module.exports = createLogger(loggerOptions) +export default createLogger(loggerOptions) diff --git a/apps/api/src/logger/loki.js b/apps/api/src/logger/loki.js index 7a95cf0..920b231 100644 --- a/apps/api/src/logger/loki.js +++ b/apps/api/src/logger/loki.js @@ -1,7 +1,9 @@ -const { format } = require('winston') +import winston from 'winston' + +const { format } = winston const { combine, timestamp, printf, colorize } = format -module.exports = () => { +export default () => { const loki = printf((info) => { const { timestamp, level, message, reqid, uid, ip } = info @@ -33,9 +35,7 @@ module.exports = () => { } }) - const consoleOptions = { + return { format: combine(colorize(), timestamp(), loki), } - - return consoleOptions } diff --git a/apps/api/src/middleware/auth.js b/apps/api/src/middleware/auth.js index 8914dad..c986466 100644 --- a/apps/api/src/middleware/auth.js +++ b/apps/api/src/middleware/auth.js @@ -1,6 +1,6 @@ -const HttpError = require('@/helpers/errors.js') +import HttpError from '#src/helpers/errors.js' -module.exports = (req, res, next) => { +export default (req, res, next) => { if (!req.session || !req.session.auth) { throw new HttpError( 401, diff --git a/apps/api/src/middleware/cors.js b/apps/api/src/middleware/cors.js index bba70dc..5497d99 100644 --- a/apps/api/src/middleware/cors.js +++ b/apps/api/src/middleware/cors.js @@ -1,6 +1,6 @@ -const cors = require('cors') +import cors from 'cors' -module.exports = cors({ +export default cors({ credentials: true, exposedHeaders: ['Set-Cookie', 'Cookie', 'X-RequestId'], origin: (origin, callback) => { @@ -8,6 +8,8 @@ module.exports = cors({ !origin || origin.match(/^http:\/\/localhost:\d+$/) || origin.match(/^http:\/\/umbrel(.*?).local(:\d+)?$/) || + // eslint-disable-next-line prettier/prettier, no-useless-escape + origin.match('/^http://192.168.d{1,3}.d{1,3}(:d+)?$/') || origin.match(`http://${process.env.APP_HIDDEN_SERVICE}`) || origin.match(`http://${process.env.APP_DOMAIN}`) ) { diff --git a/apps/api/src/middleware/errors.js b/apps/api/src/middleware/errors.js index 582fe5e..b6454e8 100644 --- a/apps/api/src/middleware/errors.js +++ b/apps/api/src/middleware/errors.js @@ -1,5 +1,5 @@ -const HttpError = require('@/helpers/errors.js') -const log = require('@/logger/index.js') +import HttpError from '#src/helpers/errors.js' +import log from '#src/logger/index.js' const handleLNMarketsRestError = (error) => { const { message, statusCode, code } = error @@ -39,7 +39,8 @@ const parseHttpError = ({ status, code, message }) => { } } -module.exports = (error, req, res, next) => { +// eslint-disable-next-line no-unused-vars +export default (error, req, res, next) => { let response log.error(error) diff --git a/apps/api/src/middleware/log-request.js b/apps/api/src/middleware/log-request.js index d4e9f32..fc94aa3 100644 --- a/apps/api/src/middleware/log-request.js +++ b/apps/api/src/middleware/log-request.js @@ -1,6 +1,6 @@ -const log = require('@/logger/index.js') +import log from '#src/logger/index.js' -module.exports = (doNotLogParams) => { +export default (doNotLogParams) => { return (req, res, next) => { const { path, method } = req @@ -9,10 +9,11 @@ module.exports = (doNotLogParams) => { if (Object.keys(clone).length > 0) { for (const key in clone) { - if (process.env.NODE_ENV !== 'development') { - if (doNotLogParams.indexOf(key) > -1) { - delete clone[key] - } + if ( + process.env.NODE_ENV !== 'development' && + doNotLogParams.indexOf(key) > -1 + ) { + delete clone[key] } } diff --git a/apps/api/src/middleware/session.js b/apps/api/src/middleware/session.js index a2cc396..9207acf 100644 --- a/apps/api/src/middleware/session.js +++ b/apps/api/src/middleware/session.js @@ -1,6 +1,6 @@ -const session = require('express-session') +import session from 'express-session' -module.exports = session({ +export default session({ secret: process.env.APP_PASSWORD, resave: false, saveUninitialized: true, diff --git a/apps/api/src/routes/auth/get.js b/apps/api/src/routes/auth/get.js index e4ed923..6094816 100644 --- a/apps/api/src/routes/auth/get.js +++ b/apps/api/src/routes/auth/get.js @@ -1,10 +1,12 @@ -const LNMarketsAPI = require('@/classes/lnmarkets-api.js') +import LNMarketsAPI from '#src/classes/lnmarkets-api.js' -module.exports = async (req, res, next) => { +export default async (req, res, next) => { try { const parts = LNMarketsAPI.hostname.split('.') + parts.shift() - const token = await LNMarketsAPI.createToken() + + const { token } = await LNMarketsAPI.authenticate({ withJWT: true }) res.json({ hostname: parts.join('.'), token }) } catch (error) { diff --git a/apps/api/src/routes/futures/get.js b/apps/api/src/routes/futures/get.js index cfa5ea1..47545dc 100644 --- a/apps/api/src/routes/futures/get.js +++ b/apps/api/src/routes/futures/get.js @@ -1,6 +1,6 @@ -const LNMarketsAPI = require('@/classes/lnmarkets-api.js') +import LNMarketsAPI from '#src/classes/lnmarkets-api.js' -module.exports = async (req, res, next) => { +export default async (req, res, next) => { try { const positions = await LNMarketsAPI.futuresGetPositions({ type: 'running', diff --git a/apps/api/src/routes/index.js b/apps/api/src/routes/index.js index 43add0b..bb87a35 100644 --- a/apps/api/src/routes/index.js +++ b/apps/api/src/routes/index.js @@ -1,11 +1,19 @@ -const express = require('express') -const isAuth = require('@/middleware/auth.js') +import express from 'express' + +import isAuth from '#src/middleware/auth.js' + +import auth from './auth/get.js' +import futures from './futures/get.js' +import login from './login/post.js' +import options from './options/get.js' +import user from './user/index.js' const router = express.Router() -router.get('/auth', [isAuth], require('./auth/get.js')) -router.get('/futures', [isAuth], require('./futures/get.js')) -router.post('/login', require('./login/post.js')) -router.use('/user', require('./user/index.js')) +router.get('/auth', [isAuth], auth) +router.get('/futures', [isAuth], futures) +router.get('/options', [isAuth], options) +router.post('/login', login) +router.use('/user', user) -module.exports = router +export default router diff --git a/apps/api/src/routes/login/post.js b/apps/api/src/routes/login/post.js index 3b740da..15e6c7a 100644 --- a/apps/api/src/routes/login/post.js +++ b/apps/api/src/routes/login/post.js @@ -1,6 +1,6 @@ -const HttpError = require('@/helpers/errors.js') +import HttpError from '#src/helpers/errors.js' -module.exports = (req, res, next) => { +export default (req, res, next) => { try { if (req.body.password === process.env.APP_PASSWORD) { req.session.auth = true diff --git a/apps/api/src/routes/options/get.js b/apps/api/src/routes/options/get.js new file mode 100644 index 0000000..a93ec5a --- /dev/null +++ b/apps/api/src/routes/options/get.js @@ -0,0 +1,11 @@ +import LNMarketsAPI from '#src/classes/lnmarkets-api.js' + +export default async (req, res, next) => { + try { + const positions = await LNMarketsAPI.optionsGetPositions() + + res.json(positions) + } catch (error) { + next(error) + } +} diff --git a/apps/api/src/routes/user/deposit/post.js b/apps/api/src/routes/user/deposit/post.js index b001a06..016d93b 100644 --- a/apps/api/src/routes/user/deposit/post.js +++ b/apps/api/src/routes/user/deposit/post.js @@ -1,9 +1,8 @@ -const LNMarketsAPI = require('@/classes/lnmarkets-api.js') -const LND = require('@/classes/lnd.js') +import LND from '#src/classes/lnd.js' +import LNMarketsAPI from '#src/classes/lnmarkets-api.js' +import HttpError from '#src/helpers/errors.js' -const HttpError = require('@/helpers/errors.js') - -module.exports = async (req, res, next) => { +export default async (req, res, next) => { try { const { amount } = req.body diff --git a/apps/api/src/routes/user/get.js b/apps/api/src/routes/user/get.js index 5472e8b..4858493 100644 --- a/apps/api/src/routes/user/get.js +++ b/apps/api/src/routes/user/get.js @@ -1,6 +1,6 @@ -const LNMarketsAPI = require('@/classes/lnmarkets-api.js') +import LNMarketsAPI from '#src/classes/lnmarkets-api.js' -module.exports = async (req, res, next) => { +export default async (req, res, next) => { try { const { uid, @@ -10,23 +10,63 @@ module.exports = async (req, res, next) => { total_deposit_success_count, total_withdraw_success_count, total_open_positions, + total_open_quantity, + total_open_margin, + total_canceled_positions, + total_running_quantity, total_running_positions, + total_running_margin, total_closed_positions, - total_canceled_positions, + options: { + total_running_quantity: total_option_running_quantity, + total_running_trades, + total_closed_trades, + }, } = await LNMarketsAPI.getUser() - res.json({ - uid, - balance, - username, - linkingpublickey, - total_deposit_success_count, - total_withdraw_success_count, - total_open_positions, - total_running_positions, - total_closed_positions, - total_canceled_positions, - }) + const response = { + account: { + uid, + available_balance: balance, + username, + linkingpublickey, + }, + metrics: { + transactions: { + deposits: total_deposit_success_count, + withdrawals: total_withdraw_success_count, + }, + futures: { + opened: { + quantity: total_open_quantity, + positions: total_open_positions, + margin: total_open_margin, + }, + running: { + quantity: total_running_quantity, + positions: total_running_positions, + margin: total_running_margin, + }, + canceled: { + positions: total_canceled_positions, + }, + closed: { + positions: total_closed_positions, + }, + }, + options: { + running: { + quantity: total_option_running_quantity, + positions: total_running_trades, + }, + closed: { + positions: total_closed_trades, + }, + }, + }, + } + + res.json(response) } catch (error) { next(error) } diff --git a/apps/api/src/routes/user/index.js b/apps/api/src/routes/user/index.js index 6718e07..13e73a9 100644 --- a/apps/api/src/routes/user/index.js +++ b/apps/api/src/routes/user/index.js @@ -1,10 +1,15 @@ -const express = require('express') -const isAuth = require('@/middleware/auth.js') +import express from 'express' + +import isAuth from '#src/middleware/auth.js' + +import deposit from './deposit/post.js' +import user from './get.js' +import withdraw from './withdraw/post.js' const router = express.Router() -router.get('/', [isAuth], require('./get.js')) -router.post('/deposit', [isAuth], require('./deposit/post.js')) -router.post('/withdraw', [isAuth], require('./withdraw/post.js')) +router.get('/', [isAuth], user) +router.post('/deposit', [isAuth], deposit) +router.post('/withdraw', [isAuth], withdraw) -module.exports = router +export default router diff --git a/apps/api/src/routes/user/withdraw/post.js b/apps/api/src/routes/user/withdraw/post.js index b4aa117..9b985a1 100644 --- a/apps/api/src/routes/user/withdraw/post.js +++ b/apps/api/src/routes/user/withdraw/post.js @@ -1,7 +1,7 @@ -const LNMarketsAPI = require('@/classes/lnmarkets-api.js') -const LND = require('@/classes/lnd.js') +import LND from '#src/classes/lnd.js' +import LNMarketsAPI from '#src/classes/lnmarkets-api.js' -module.exports = async (req, res, next) => { +export default async (req, res, next) => { try { const { amount } = req.body diff --git a/apps/api/src/websockets.js b/apps/api/src/websockets.js index 0b753f3..2d53a5c 100644 --- a/apps/api/src/websockets.js +++ b/apps/api/src/websockets.js @@ -1,20 +1,20 @@ -const { LNMarketsWebsocket } = require('@ln-markets/api') -const { Server } = require('ws') +import { LNMarketsWebsocket } from '@ln-markets/api' +import Websocket from 'ws' -const log = require('@/logger/index.js') +import log from '#src/logger/index.js' const OPEN = 1 -module.exports = async (server) => { +export default async (server) => { try { const lnm = new LNMarketsWebsocket({ network: process.env.BITCOIN_NETWORK }) - const ws = new Server({ + const ws = new Websocket.Server({ server, maxPayload: 1024, clientTracking: true, }) - lnm.on('connected', (message) => { + lnm.on('connected', () => { log.info(`Connected to ${lnm.hostname} websockets`) }) @@ -28,7 +28,11 @@ module.exports = async (server) => { await lnm.connect() await lnm.subscribe({ - params: ['futures/market/index', 'futures/market/bid-offer'], + params: [ + 'futures/market/index', + 'futures/market/bid-offer', + 'options/market/volatility', + ], }) } catch (error) { return Promise.reject(error) diff --git a/apps/front/.eslintrc.js b/apps/front/.eslintrc.js index c5517e1..b361303 100644 --- a/apps/front/.eslintrc.js +++ b/apps/front/.eslintrc.js @@ -45,4 +45,32 @@ module.exports = { 'prefer-const': 'error', 'prefer-arrow-callback': 'error', }, + settings: { + 'import/core-modules': [ + 'node:process', + 'node:async_hooks', + 'node:console', + 'node:os', + 'node:net', + 'node:crypto', + 'node:buffer', + 'node:timers', + 'node:querystring', + 'node:url', + 'node:http', + 'node:path', + 'node:fs', + 'node:fs/promises', + 'node:https', + 'node:v8', + 'node:worker_threads', + 'zx/globals', + ], + 'import/resolver': { + alias: { + map: [['#src', './src']], + extensions: ['.js', '.json'], + }, + }, + }, } diff --git a/apps/front/package.json b/apps/front/package.json index e38c72c..5f7c78a 100644 --- a/apps/front/package.json +++ b/apps/front/package.json @@ -16,24 +16,25 @@ "format": "prettier --write 'src/**/*.js'" }, "dependencies": { - "@fortawesome/fontawesome-svg-core": "^1.2.35", - "@fortawesome/free-brands-svg-icons": "^5.15.3", + "@fortawesome/fontawesome-svg-core": "^1.2.36", + "@fortawesome/free-brands-svg-icons": "^5.15.4", "@fortawesome/free-regular-svg-icons": "^5.15.4", - "@fortawesome/free-solid-svg-icons": "^5.15.3", - "@fortawesome/vue-fontawesome": "^3.0.0-4", + "@fortawesome/free-solid-svg-icons": "^5.15.4", + "@fortawesome/vue-fontawesome": "^3.0.0-5", + "@ln-markets/maths": "^1.0.2", "mitt": "^3.0.0", - "vue": "^3.2.20", + "vue": "^3.2.33", "vue-final-modal": "^3.4.3", - "vue-router": "^4.0.12", + "vue-router": "^4.0.14", "vuex": "^4.0.2", - "vuex-persistedstate": "^4.0.0" + "vuex-persistedstate": "^4.1.0" }, "devDependencies": { - "@vitejs/plugin-vue": "^1.10.1", - "@vue/compiler-sfc": "^3.2.23", - "autoprefixer": "^10.4.0", - "postcss": "^8.4.1", + "@vitejs/plugin-vue": "^1.10.2", + "@vue/compiler-sfc": "^3.2.33", + "autoprefixer": "^10.4.4", + "postcss": "^8.4.12", "tailwindcss": "^2.2.19", - "vite": "^2.6.14" + "vite": "^2.9.5" } } diff --git a/apps/front/public/favicon/android-chrome-192x192.png b/apps/front/public/favicon/android-chrome-192x192.png old mode 100644 new mode 100755 index 545bf36..1abb38d Binary files a/apps/front/public/favicon/android-chrome-192x192.png and b/apps/front/public/favicon/android-chrome-192x192.png differ diff --git a/apps/front/public/favicon/android-chrome-512x512.png b/apps/front/public/favicon/android-chrome-512x512.png old mode 100644 new mode 100755 index c008021..c81ce3b Binary files a/apps/front/public/favicon/android-chrome-512x512.png and b/apps/front/public/favicon/android-chrome-512x512.png differ diff --git a/apps/front/public/favicon/apple-touch-icon.png b/apps/front/public/favicon/apple-touch-icon.png old mode 100644 new mode 100755 index fc8d78f..829feee Binary files a/apps/front/public/favicon/apple-touch-icon.png and b/apps/front/public/favicon/apple-touch-icon.png differ diff --git a/apps/front/public/favicon/favicon-16x16.png b/apps/front/public/favicon/favicon-16x16.png old mode 100644 new mode 100755 index 65e0a20..25b171e Binary files a/apps/front/public/favicon/favicon-16x16.png and b/apps/front/public/favicon/favicon-16x16.png differ diff --git a/apps/front/public/favicon/favicon-32x32.png b/apps/front/public/favicon/favicon-32x32.png old mode 100644 new mode 100755 index ee0fe19..23806ef Binary files a/apps/front/public/favicon/favicon-32x32.png and b/apps/front/public/favicon/favicon-32x32.png differ diff --git a/apps/front/public/favicon/favicon.ico b/apps/front/public/favicon/favicon.ico old mode 100644 new mode 100755 index 0c5c8f7..f948556 Binary files a/apps/front/public/favicon/favicon.ico and b/apps/front/public/favicon/favicon.ico differ diff --git a/apps/front/src/layout/Footer.vue b/apps/front/src/layout/Footer.vue index 6886504..2e8d9a9 100644 --- a/apps/front/src/layout/Footer.vue +++ b/apps/front/src/layout/Footer.vue @@ -1,16 +1,7 @@ @@ -29,6 +33,7 @@ export default { index: computed(() => store.getters['futures/market/fixedIndex']), bid: computed(() => store.state.futures.market.bid), offer: computed(() => store.state.futures.market.offer), + volatility: computed(() => store.state.options.market.volatility), } }, methods: { diff --git a/apps/front/src/views/profile/Positions.vue b/apps/front/src/views/profile/Positions.vue deleted file mode 100644 index 5210d84..0000000 --- a/apps/front/src/views/profile/Positions.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - diff --git a/apps/front/src/views/profile/Profile.vue b/apps/front/src/views/profile/Profile.vue index 771abac..650872d 100644 --- a/apps/front/src/views/profile/Profile.vue +++ b/apps/front/src/views/profile/Profile.vue @@ -6,21 +6,15 @@
@@ -38,14 +32,12 @@ export default { setup() { const store = useStore() return { - username: computed(() => store.state.user.username), - total_deposit_success_count: computed( - () => store.state.user.total_deposit_success_count + username: computed(() => store.state.user.account.username), + deposits: computed(() => store.state.user.metrics.transactions.deposits), + withdrawals: computed( + () => store.state.user.metrics.transactions.withdrawals ), - total_withdraw_success_count: computed( - () => store.state.user.total_withdraw_success_count - ), - total_positions: computed(() => store.getters['user/positionCount']), + positions: computed(() => store.getters['user/positionsCount']), } }, } diff --git a/apps/front/src/views/profile/Risk.vue b/apps/front/src/views/profile/Risk.vue new file mode 100644 index 0000000..434b823 --- /dev/null +++ b/apps/front/src/views/profile/Risk.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/dev/README.md b/dev/README.md index e029f96..4b55047 100644 --- a/dev/README.md +++ b/dev/README.md @@ -20,6 +20,8 @@ You must launch LN Markets local env beforehand. $> pnpm local:start ``` +> Be sure to edit `dev/local/docker-compose.yml` to put your own dev domain in `LNMARKETS_API_HOSTNAME` for both `api` and `app` services. + ## Install testnet env This environment is linked to the **testnet** version of LN Markets. **Meant for development use only**. @@ -39,7 +41,6 @@ This command will output you a wallet address that you must use to get tBTC in o | https://coinfaucet.eu/en/btc-testnet/ | | https://testnet-faucet.mempool.co/ | | https://bitcoinfaucet.uo1.net/ | -| | You can check how much your wallet contains. @@ -74,4 +75,3 @@ These following services ar now accessible on any web browser no matter which en | :-----: | :-----------------------: | | API | http://localhost:8001/api | | Front | http://localhost:3000 | -| | | diff --git a/dev/local/docker-compose.yml b/dev/local/docker-compose.yml index 611b2ba..e1f0072 100644 --- a/dev/local/docker-compose.yml +++ b/dev/local/docker-compose.yml @@ -10,11 +10,11 @@ x-logging: &default-logging networks: lnmarkets_backend: external: true - reverse_proxy: + lnmarkets_reverse_proxy: external: true volumes: - lnmarkets_infra_lnd_user: + lnmarkets_lnd_user: external: true services: @@ -24,22 +24,20 @@ services: build: context: ../.. dockerfile: ./apps/api/docker/Dockerfile.dev - dns: 172.81.1.253 ports: - 8001:4242 environment: - - NODE_TLS_REJECT_UNAUTHORIZED=0 - NODE_ENV=development - LND_IP=lnmarkets_lnd_user - - LNMARKETS_API_HOSTNAME=api.lnmarkets.test + - LNMARKETS_API_HOSTNAME=api.kibotrel.lnmarkets.dev - BITCOIN_NETWORK=regtest - APP_PASSWORD=lnmarkets volumes: - ${PWD}/../../apps/api/src:/usr/src/apps/api/src:cached - - lnmarkets_infra_lnd_user:/lnd/:ro + - lnmarkets_lnd_user:/lnd/:ro networks: - lnmarkets_backend - - reverse_proxy + - lnmarkets_reverse_proxy logging: *default-logging front: @@ -69,19 +67,17 @@ services: build: context: ../.. dockerfile: ./Dockerfile - dns: 172.81.1.253 user: root ports: - 4242:4242 environment: - - NODE_TLS_REJECT_UNAUTHORIZED=0 - LND_IP=lnmarkets_lnd_user - - LNMARKETS_API_HOSTNAME=api.lnmarkets.test + - LNMARKETS_API_HOSTNAME=api.kibotrel.lnmarkets.dev - BITCOIN_NETWORK=regtest - APP_PASSWORD=lnmarkets volumes: - - lnmarkets_infra_lnd_user:/lnd/:ro + - lnmarkets_lnd_user:/lnd/:ro networks: - lnmarkets_backend - - reverse_proxy + - lnmarkets_reverse_proxy logging: *default-logging diff --git a/package.json b/package.json index 01298e7..6af6b08 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "author": "BOTREL Kilian ", "private": true, "engines": { - "node": ">=14", + "node": ">=16", "pnpm": ">=6" }, "scripts": { @@ -25,18 +25,25 @@ "devDependencies": { "@commitlint/cli": "^15.0.0", "@commitlint/config-conventional": "^15.0.0", - "eslint": "^8.3.0", - "eslint-config-prettier": "^8.3.0", + "eslint": "^8.13.0", + "eslint-config-prettier": "^8.5.0", "eslint-config-standard": "^16.0.3", + "eslint-formatter-gitlab": "^3.0.0", "eslint-import-resolver-alias": "^1.1.2", - "eslint-plugin-import": "^2.25.3", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.26.0", + "eslint-plugin-jsdoc": "^39.2.7", + "eslint-plugin-no-autofix": "^1.2.3", "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prefer-arrow": "^1.2.3", "eslint-plugin-prettier": "^4.0.0", - "eslint-plugin-promise": "^5.1.1", + "eslint-plugin-promise": "^5.2.0", + "eslint-plugin-sonarjs": "^0.13.0", "eslint-plugin-tailwindcss": "^1.17.2", - "eslint-plugin-vue": "^8.1.1", + "eslint-plugin-unicorn": "^42.0.0", + "eslint-plugin-vue": "^8.6.0", "husky": "^7.0.4", - "lint-staged": "^12.1.2", + "lint-staged": "^12.4.0", "nodemon": "^2.0.15", "prettier": "2.2.1" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b5c4cec..385af42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,143 +6,168 @@ importers: specifiers: '@commitlint/cli': ^15.0.0 '@commitlint/config-conventional': ^15.0.0 - eslint: ^8.3.0 - eslint-config-prettier: ^8.3.0 + eslint: ^8.13.0 + eslint-config-prettier: ^8.5.0 eslint-config-standard: ^16.0.3 + eslint-formatter-gitlab: ^3.0.0 eslint-import-resolver-alias: ^1.1.2 - eslint-plugin-import: ^2.25.3 + eslint-plugin-eslint-comments: ^3.2.0 + eslint-plugin-import: ^2.26.0 + eslint-plugin-jsdoc: ^39.2.7 + eslint-plugin-no-autofix: ^1.2.3 eslint-plugin-node: ^11.1.0 + eslint-plugin-prefer-arrow: ^1.2.3 eslint-plugin-prettier: ^4.0.0 - eslint-plugin-promise: ^5.1.1 + eslint-plugin-promise: ^5.2.0 + eslint-plugin-sonarjs: ^0.13.0 eslint-plugin-tailwindcss: ^1.17.2 - eslint-plugin-vue: ^8.1.1 + eslint-plugin-unicorn: ^42.0.0 + eslint-plugin-vue: ^8.6.0 husky: ^7.0.4 - lint-staged: ^12.1.2 + lint-staged: ^12.4.0 nodemon: ^2.0.15 prettier: 2.2.1 devDependencies: '@commitlint/cli': 15.0.0 '@commitlint/config-conventional': 15.0.0 - eslint: 8.3.0 - eslint-config-prettier: 8.3.0_eslint@8.3.0 - eslint-config-standard: 16.0.3_a91986cd61f51e0cdba75303fb12b37d - eslint-import-resolver-alias: 1.1.2_eslint-plugin-import@2.25.3 - eslint-plugin-import: 2.25.3_eslint@8.3.0 - eslint-plugin-node: 11.1.0_eslint@8.3.0 - eslint-plugin-prettier: 4.0.0_843edcb3cc71540567de9d6fc0b08253 - eslint-plugin-promise: 5.1.1_eslint@8.3.0 + eslint: 8.13.0 + eslint-config-prettier: 8.5.0_eslint@8.13.0 + eslint-config-standard: 16.0.3_6960c0c20e52186dd03aaccb5866d131 + eslint-formatter-gitlab: 3.0.0_eslint@8.13.0 + eslint-import-resolver-alias: 1.1.2_eslint-plugin-import@2.26.0 + eslint-plugin-eslint-comments: 3.2.0_eslint@8.13.0 + eslint-plugin-import: 2.26.0_eslint@8.13.0 + eslint-plugin-jsdoc: 39.2.7_eslint@8.13.0 + eslint-plugin-no-autofix: 1.2.3_eslint@8.13.0 + eslint-plugin-node: 11.1.0_eslint@8.13.0 + eslint-plugin-prefer-arrow: 1.2.3_eslint@8.13.0 + eslint-plugin-prettier: 4.0.0_7b849999f0285322972e7e593f1ec452 + eslint-plugin-promise: 5.2.0_eslint@8.13.0 + eslint-plugin-sonarjs: 0.13.0_eslint@8.13.0 eslint-plugin-tailwindcss: 1.17.2 - eslint-plugin-vue: 8.1.1_eslint@8.3.0 + eslint-plugin-unicorn: 42.0.0_eslint@8.13.0 + eslint-plugin-vue: 8.6.0_eslint@8.13.0 husky: 7.0.4 - lint-staged: 12.1.2 + lint-staged: 12.4.0 nodemon: 2.0.15 prettier: 2.2.1 apps/api: specifiers: - '@ln-markets/api': ^1.4.2 + '@ln-markets/api': ^1.7.0 + '@ln-markets/maths': ^1.0.1 bech32: ^2.0.0 bip32: ^3.0.1 bip39: ^3.0.4 - body-parser: ^1.19.0 + body-parser: ^1.20.0 cors: ^2.8.5 cuid: ^2.1.8 - express: ^4.17.1 + express: ^4.17.3 express-session: ^1.17.2 express-winston: ^4.2.0 helmet: ^4.6.0 ln-service: 53.0.1 module-alias: ^2.2.2 - secp256k1: ^4.0.2 - tiny-secp256k1: ^2.1.2 - winston: ^3.3.3 - ws: ^8.3.0 - dependencies: - '@ln-markets/api': 1.4.2 + node-fetch: ^3.2.3 + secp256k1: ^4.0.3 + tiny-secp256k1: ^2.2.1 + winston: ^3.7.2 + ws: ^8.5.0 + dependencies: + '@ln-markets/api': 1.7.0 + '@ln-markets/maths': 1.0.1 bech32: 2.0.0 bip32: 3.0.1 bip39: 3.0.4 - body-parser: 1.19.0 + body-parser: 1.20.0 cors: 2.8.5 cuid: 2.1.8 - express: 4.17.1 + express: 4.17.3 express-session: 1.17.2 - express-winston: 4.2.0_winston@3.3.3 + express-winston: 4.2.0_winston@3.7.2 helmet: 4.6.0 ln-service: 53.0.1 module-alias: 2.2.2 - secp256k1: 4.0.2 - tiny-secp256k1: 2.1.2 - winston: 3.3.3 - ws: 8.3.0 + node-fetch: 3.2.3 + secp256k1: 4.0.3 + tiny-secp256k1: 2.2.1 + winston: 3.7.2 + ws: 8.5.0 apps/front: specifiers: - '@fortawesome/fontawesome-svg-core': ^1.2.35 - '@fortawesome/free-brands-svg-icons': ^5.15.3 + '@fortawesome/fontawesome-svg-core': ^1.2.36 + '@fortawesome/free-brands-svg-icons': ^5.15.4 '@fortawesome/free-regular-svg-icons': ^5.15.4 - '@fortawesome/free-solid-svg-icons': ^5.15.3 - '@fortawesome/vue-fontawesome': ^3.0.0-4 - '@vitejs/plugin-vue': ^1.10.1 - '@vue/compiler-sfc': ^3.2.23 - autoprefixer: ^10.4.0 + '@fortawesome/free-solid-svg-icons': ^5.15.4 + '@fortawesome/vue-fontawesome': ^3.0.0-5 + '@ln-markets/maths': ^1.0.2 + '@vitejs/plugin-vue': ^1.10.2 + '@vue/compiler-sfc': ^3.2.33 + autoprefixer: ^10.4.4 mitt: ^3.0.0 - postcss: ^8.4.1 + postcss: ^8.4.12 tailwindcss: ^2.2.19 - vite: ^2.6.14 - vue: ^3.2.20 + vite: ^2.9.5 + vue: ^3.2.33 vue-final-modal: ^3.4.3 - vue-router: ^4.0.12 + vue-router: ^4.0.14 vuex: ^4.0.2 - vuex-persistedstate: ^4.0.0 + vuex-persistedstate: ^4.1.0 dependencies: '@fortawesome/fontawesome-svg-core': 1.2.36 '@fortawesome/free-brands-svg-icons': 5.15.4 '@fortawesome/free-regular-svg-icons': 5.15.4 '@fortawesome/free-solid-svg-icons': 5.15.4 - '@fortawesome/vue-fontawesome': 3.0.0-5_33491c0562c6fa409d94218bdac8a819 + '@fortawesome/vue-fontawesome': 3.0.0-5_7e74aab82fa1e3a604ad95c83c4d60ed + '@ln-markets/maths': 1.0.2 mitt: 3.0.0 - vue: 3.2.20 + vue: 3.2.33 vue-final-modal: 3.4.3 - vue-router: 4.0.12_vue@3.2.20 - vuex: 4.0.2_vue@3.2.20 + vue-router: 4.0.14_vue@3.2.33 + vuex: 4.0.2_vue@3.2.33 vuex-persistedstate: 4.1.0_vuex@4.0.2 devDependencies: - '@vitejs/plugin-vue': 1.10.1_vite@2.6.14 - '@vue/compiler-sfc': 3.2.23 - autoprefixer: 10.4.0_postcss@8.4.1 - postcss: 8.4.1 - tailwindcss: 2.2.19_343577c3dd31b4e787406ab8c6576ff6 - vite: 2.6.14 + '@vitejs/plugin-vue': 1.10.2_vite@2.9.5 + '@vue/compiler-sfc': 3.2.33 + autoprefixer: 10.4.4_postcss@8.4.12 + postcss: 8.4.12 + tailwindcss: 2.2.19_081650f2f4dba35b17265937ab2a2ec0 + vite: 2.9.5 packages: - /@babel/code-frame/7.15.8: - resolution: {integrity: sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==} + /@babel/code-frame/7.16.7: + resolution: {integrity: sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.14.5 + '@babel/highlight': 7.17.9 dev: true - /@babel/helper-validator-identifier/7.15.7: - resolution: {integrity: sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==} + /@babel/helper-validator-identifier/7.16.7: + resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} engines: {node: '>=6.9.0'} dev: true - /@babel/highlight/7.14.5: - resolution: {integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==} + /@babel/highlight/7.17.9: + resolution: {integrity: sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.15.7 + '@babel/helper-validator-identifier': 7.16.7 chalk: 2.4.2 js-tokens: 4.0.0 dev: true - /@babel/parser/7.16.4: - resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} + /@babel/parser/7.17.9: + resolution: {integrity: sha512-vqUSBLP8dQHFPdPi9bc5GK9vRkYHJ49fsZdtoJ8EQ8ibpwk5rPKfvNIwChB0KVXcIjcepEBBd2VHC5r9Gy8ueg==} engines: {node: '>=6.0.0'} hasBin: true + /@colors/colors/1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + dev: false + /@commitlint/cli/15.0.0: resolution: {integrity: sha512-Y5xmDCweytqzo4N4lOI2YRiuX35xTjcs8n5hUceBH8eyK0YbwtgWX50BJOH2XbkwEmII9blNhlBog6AdQsqicg==} engines: {node: '>=v12'} @@ -156,14 +181,14 @@ packages: lodash: 4.17.21 resolve-from: 5.0.0 resolve-global: 1.0.0 - yargs: 17.2.1 + yargs: 17.4.1 dev: true /@commitlint/config-conventional/15.0.0: resolution: {integrity: sha512-eZBRL8Lk3hMNHp1wUMYj0qrZQEsST1ai7KHR8J1IDD9aHgT7L2giciibuQ+Og7vxVhR5WtYDvh9xirXFVPaSkQ==} engines: {node: '>=v12'} dependencies: - conventional-changelog-conventionalcommits: 4.6.1 + conventional-changelog-conventionalcommits: 4.6.3 dev: true /@commitlint/ensure/15.0.0: @@ -212,12 +237,12 @@ packages: '@commitlint/execute-rule': 15.0.0 '@commitlint/resolve-extends': 15.0.0 '@commitlint/types': 15.0.0 - '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_b67f536f129c730ed129a6d21d223ba9 + '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2_ec5c0ebd3030a0a5109338876648df1b chalk: 4.1.2 cosmiconfig: 7.0.1 lodash: 4.17.21 resolve-from: 5.0.0 - typescript: 4.5.2 + typescript: 4.6.3 dev: true /@commitlint/message/15.0.0: @@ -231,7 +256,7 @@ packages: dependencies: '@commitlint/types': 15.0.0 conventional-changelog-angular: 5.0.13 - conventional-commits-parser: 3.2.3 + conventional-commits-parser: 3.2.4 dev: true /@commitlint/read/15.0.0: @@ -240,8 +265,8 @@ packages: dependencies: '@commitlint/top-level': 15.0.0 '@commitlint/types': 15.0.0 - fs-extra: 10.0.0 - git-raw-commits: 2.0.10 + fs-extra: 10.1.0 + git-raw-commits: 2.0.11 dev: true /@commitlint/resolve-extends/15.0.0: @@ -284,15 +309,15 @@ packages: chalk: 4.1.2 dev: true - /@dabh/diagnostics/2.0.2: - resolution: {integrity: sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==} + /@dabh/diagnostics/2.0.3: + resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==} dependencies: colorspace: 1.1.4 enabled: 2.0.0 kuler: 2.0.0 dev: false - /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_b67f536f129c730ed129a6d21d223ba9: + /@endemolshinegroup/cosmiconfig-typescript-loader/3.0.2_ec5c0ebd3030a0a5109338876648df1b: resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} engines: {node: '>=10.0.0'} peerDependencies: @@ -301,24 +326,33 @@ packages: cosmiconfig: 7.0.1 lodash.get: 4.4.2 make-error: 1.3.6 - ts-node: 9.1.1_typescript@4.5.2 + ts-node: 9.1.1_typescript@4.6.3 tslib: 2.3.1 transitivePeerDependencies: - typescript dev: true - /@eslint/eslintrc/1.0.4: - resolution: {integrity: sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==} + /@es-joy/jsdoccomment/0.28.0: + resolution: {integrity: sha512-qXqur4077IrMLZIY0YKpGQvpuSBsiH5dY67HkjINspFgzl/i0rytmSuD8s/hen9+h7Sww3Vg+U01Q/dgxJeFcQ==} + engines: {node: ^12 || ^14 || ^16 || ^17 || ^18} + dependencies: + comment-parser: 1.3.1 + esquery: 1.4.0 + jsdoc-type-pratt-parser: 3.0.1 + dev: true + + /@eslint/eslintrc/1.2.1: + resolution: {integrity: sha512-bxvbYnBPN1Gibwyp6NrpnFzA3YtRL3BBAyEAFVIpNTm2Rn4Vy87GA5M4aSn3InRrlsbX5N0GW7XIx+U4SAEKdQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.2 - espree: 9.1.0 - globals: 13.12.0 - ignore: 4.0.6 + debug: 4.3.4 + espree: 9.3.1 + globals: 13.13.0 + ignore: 5.2.0 import-fresh: 3.3.0 js-yaml: 4.1.0 - minimatch: 3.0.4 + minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color @@ -362,14 +396,14 @@ packages: '@fortawesome/fontawesome-common-types': 0.2.36 dev: false - /@fortawesome/vue-fontawesome/3.0.0-5_33491c0562c6fa409d94218bdac8a819: + /@fortawesome/vue-fontawesome/3.0.0-5_7e74aab82fa1e3a604ad95c83c4d60ed: resolution: {integrity: sha512-aNmBT4bOecrFsZTog1l6AJDQHPP3ocXV+WQ3Ogy8WZCqstB/ahfhH4CPu5i4N9Hw0MBKXqE+LX+NbUxcj8cVTw==} peerDependencies: '@fortawesome/fontawesome-svg-core': ~1 || >=1.3.0-beta1 vue: '>= 3.0.0 < 4' dependencies: '@fortawesome/fontawesome-svg-core': 1.2.36 - vue: 3.2.20 + vue: 3.2.33 dev: false /@grpc/grpc-js/1.4.4: @@ -392,13 +426,13 @@ packages: yargs: 16.2.0 dev: false - /@humanwhocodes/config-array/0.6.0: - resolution: {integrity: sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==} + /@humanwhocodes/config-array/0.9.5: + resolution: {integrity: sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.2 - minimatch: 3.0.4 + debug: 4.3.4 + minimatch: 3.1.2 transitivePeerDependencies: - supports-color dev: true @@ -407,17 +441,27 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true - /@ln-markets/api/1.4.2: - resolution: {integrity: sha512-Aniem77l1pebEQ7RzHblFrcraXmEWFHU+zcE9ebNAJTwznVlm4iYRLVZfhUq1COb914ye7tMEPLGX4rV7TFzWQ==} + /@ln-markets/api/1.7.0: + resolution: {integrity: sha512-y/0IN4wqZqIGytioq8te0uEoo+1z+S0lnPrSiAq1ipUPNPV/H4Uxlm2wXEhyYZVQ5rpWhPlLVCV59+ZA1zDxwg==} engines: {node: '>=14', pnpm: '>=6'} dependencies: eventemitter3: 4.0.7 - ws: 8.3.0 + ws: 8.5.0 transitivePeerDependencies: - bufferutil - utf-8-validate dev: false + /@ln-markets/maths/1.0.1: + resolution: {integrity: sha512-WdVjcfUr2AhKf3qV7urD6NK5NDrOQXm7ax15hr0IHS/b5sFlsrTN1fZhdFLcumZlBG+XvrIJ96YNj/0Q4JaYvQ==} + engines: {node: '>=14', pnpm: '>=6'} + dev: false + + /@ln-markets/maths/1.0.2: + resolution: {integrity: sha512-46tDMmyrPcxzr9AR0B11yBqYOKs0U2oVM1c+RPBFvklZZGFcKs9F4N9nlFtVIjp0jd5UHJ4v5/bETjHe7IFgVQ==} + engines: {node: '>=14', pnpm: '>=6'} + dev: false + /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -511,8 +555,8 @@ packages: '@types/node': 16.11.9 dev: false - /@types/express-serve-static-core/4.17.25: - resolution: {integrity: sha512-OUJIVfRMFijZukGGwTpKNFprqCCXk5WjNGvUgB/CxxBR40QWSjsNK86+yvGKlCOGc7sbwfHLaXhkG+NsytwBaQ==} + /@types/express-serve-static-core/4.17.28: + resolution: {integrity: sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==} dependencies: '@types/node': 16.11.9 '@types/qs': 6.9.7 @@ -523,7 +567,7 @@ packages: resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==} dependencies: '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.25 + '@types/express-serve-static-core': 4.17.28 '@types/qs': 6.9.7 '@types/serve-static': 1.13.10 dev: false @@ -577,7 +621,7 @@ packages: dependencies: '@types/caseless': 0.12.2 '@types/node': 16.11.9 - '@types/tough-cookie': 4.0.1 + '@types/tough-cookie': 4.0.2 form-data: 2.5.1 dev: false @@ -588,8 +632,8 @@ packages: '@types/node': 16.11.9 dev: false - /@types/tough-cookie/4.0.1: - resolution: {integrity: sha512-Y0K95ThC3esLEYD6ZuqNek29lNX2EM1qxV8y2FTLUB0ff5wWrk7az+mLrnNFUnaXcgKye22+sFBRXOgpPILZNg==} + /@types/tough-cookie/4.0.2: + resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} dev: false /@types/ws/8.2.0: @@ -598,153 +642,95 @@ packages: '@types/node': 16.11.9 dev: false - /@vitejs/plugin-vue/1.10.1_vite@2.6.14: - resolution: {integrity: sha512-oL76QETMSpVE9jIScirGB2bYJEVU/+r+g+K7oG+sXPs9TZljqveoVRsmLyXlMZTjpQkLL8gz527cW80NMGVKJg==} + /@vitejs/plugin-vue/1.10.2_vite@2.9.5: + resolution: {integrity: sha512-/QJ0Z9qfhAFtKRY+r57ziY4BSbGUTGsPRMpB/Ron3QPwBZM4OZAZHdTa4a8PafCwU5DTatXG8TMDoP8z+oDqJw==} engines: {node: '>=12.0.0'} peerDependencies: vite: ^2.5.10 dependencies: - vite: 2.6.14 + vite: 2.9.5 dev: true - /@vue/compiler-core/3.2.20: - resolution: {integrity: sha512-vcEXlKXoPwBXFP5aUTHN9GTZaDfwCofa9Yu9bbW2C5O/QSa9Esdt7OG4+0RRd3EHEMxUvEdj4RZrd/KpQeiJbA==} - dependencies: - '@babel/parser': 7.16.4 - '@vue/shared': 3.2.20 - estree-walker: 2.0.2 - source-map: 0.6.1 - dev: false - - /@vue/compiler-core/3.2.23: - resolution: {integrity: sha512-4ZhiI/orx+7EJ1B+0zjgvXMV2uRN+XBfG06UN2sJfND9rH5gtEQT3QmO4erum1o6Irl7y754W8/KSaDJh4EUQg==} + /@vue/compiler-core/3.2.33: + resolution: {integrity: sha512-AAmr52ji3Zhk7IKIuigX2osWWsb2nQE5xsdFYjdnmtQ4gymmqXbjLvkSE174+fF3A3kstYrTgGkqgOEbsdLDpw==} dependencies: - '@babel/parser': 7.16.4 - '@vue/shared': 3.2.23 + '@babel/parser': 7.17.9 + '@vue/shared': 3.2.33 estree-walker: 2.0.2 source-map: 0.6.1 - dev: true - /@vue/compiler-dom/3.2.20: - resolution: {integrity: sha512-QnI77ec/JtV7R0YBbcVayYTDCRcI9OCbxiUQK6izVyqQO0658n0zQuoNwe+bYgtqnvGAIqTR3FShTd5y4oOjdg==} + /@vue/compiler-dom/3.2.33: + resolution: {integrity: sha512-GhiG1C8X98Xz9QUX/RlA6/kgPBWJkjq0Rq6//5XTAGSYrTMBgcLpP9+CnlUg1TFxnnCVughAG+KZl28XJqw8uQ==} dependencies: - '@vue/compiler-core': 3.2.20 - '@vue/shared': 3.2.20 - dev: false + '@vue/compiler-core': 3.2.33 + '@vue/shared': 3.2.33 - /@vue/compiler-dom/3.2.23: - resolution: {integrity: sha512-X2Nw8QFc5lgoK3kio5ktM95nqmLUH+q+N/PbV4kCHzF1avqv/EGLnAhaaF0Iu4bewNvHJAAhhwPZFeoV/22nbw==} + /@vue/compiler-sfc/3.2.33: + resolution: {integrity: sha512-H8D0WqagCr295pQjUYyO8P3IejM3vEzeCO1apzByAEaAR/WimhMYczHfZVvlCE/9yBaEu/eu9RdiWr0kF8b71Q==} dependencies: - '@vue/compiler-core': 3.2.23 - '@vue/shared': 3.2.23 - dev: true - - /@vue/compiler-sfc/3.2.20: - resolution: {integrity: sha512-03aZo+6tQKiFLfunHKSPZvdK4Jsn/ftRCyaro8AQIWkuxJbvSosbKK6HTTn+D2c3nPScG155akJoxKENw7rftQ==} - dependencies: - '@babel/parser': 7.16.4 - '@vue/compiler-core': 3.2.20 - '@vue/compiler-dom': 3.2.20 - '@vue/compiler-ssr': 3.2.20 - '@vue/ref-transform': 3.2.20 - '@vue/shared': 3.2.20 + '@babel/parser': 7.17.9 + '@vue/compiler-core': 3.2.33 + '@vue/compiler-dom': 3.2.33 + '@vue/compiler-ssr': 3.2.33 + '@vue/reactivity-transform': 3.2.33 + '@vue/shared': 3.2.33 estree-walker: 2.0.2 - magic-string: 0.25.7 - postcss: 8.4.1 + magic-string: 0.25.9 + postcss: 8.4.12 source-map: 0.6.1 - dev: false - /@vue/compiler-sfc/3.2.23: - resolution: {integrity: sha512-Aw+pb50Q5zTjyvWod8mNKmYZDRGHJBptmNNWE+84ZxrzEztPgMz8cNYIzWGbwcFVkmJlhvioAMvKnB+LM/sjSA==} + /@vue/compiler-ssr/3.2.33: + resolution: {integrity: sha512-XQh1Xdk3VquDpXsnoCd7JnMoWec9CfAzQDQsaMcSU79OrrO2PNR0ErlIjm/mGq3GmBfkQjzZACV+7GhfRB8xMQ==} dependencies: - '@babel/parser': 7.16.4 - '@vue/compiler-core': 3.2.23 - '@vue/compiler-dom': 3.2.23 - '@vue/compiler-ssr': 3.2.23 - '@vue/ref-transform': 3.2.23 - '@vue/shared': 3.2.23 - estree-walker: 2.0.2 - magic-string: 0.25.7 - postcss: 8.4.1 - source-map: 0.6.1 - dev: true - - /@vue/compiler-ssr/3.2.20: - resolution: {integrity: sha512-rzzVVYivm+EjbfiGQvNeyiYZWzr6Hkej97RZLZvcumacQlnKv9176Xo9rRyeWwFbBlxmtNdrVMslRXtipMXk2w==} - dependencies: - '@vue/compiler-dom': 3.2.20 - '@vue/shared': 3.2.20 - dev: false - - /@vue/compiler-ssr/3.2.23: - resolution: {integrity: sha512-Bqzn4jFyXPK1Ehqiq7e/czS8n62gtYF1Zfeu0DrR5uv+SBllh7LIvZjZU6+c8qbocAd3/T3I3gn2cZGmnDb6zg==} - dependencies: - '@vue/compiler-dom': 3.2.23 - '@vue/shared': 3.2.23 - dev: true + '@vue/compiler-dom': 3.2.33 + '@vue/shared': 3.2.33 - /@vue/devtools-api/6.0.0-beta.19: - resolution: {integrity: sha512-ObzQhgkoVeoyKv+e8+tB/jQBL2smtk/NmC9OmFK8UqdDpoOdv/Kf9pyDWL+IFyM7qLD2C75rszJujvGSPSpGlw==} + /@vue/devtools-api/6.1.4: + resolution: {integrity: sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ==} dev: false - /@vue/reactivity/3.2.20: - resolution: {integrity: sha512-nSmoLojUTk+H8HNTAkrUduB4+yIUBK2HPihJo2uXVSH4Spry6oqN6lFzE5zpLK+F27Sja+UqR9R1+/kIOsHV5w==} + /@vue/reactivity-transform/3.2.33: + resolution: {integrity: sha512-4UL5KOIvSQb254aqenW4q34qMXbfZcmEsV/yVidLUgvwYQQ/D21bGX3DlgPUGI3c4C+iOnNmDCkIxkILoX/Pyw==} dependencies: - '@vue/shared': 3.2.20 - dev: false - - /@vue/ref-transform/3.2.20: - resolution: {integrity: sha512-Y42d3PGlYZ1lXcF3dbd3+qU/C/a3wYEZ949fyOI5ptzkjDWlkfU6vn74fmOjsLjEcjs10BXK2qO99FqQIK2r1Q==} - dependencies: - '@babel/parser': 7.16.4 - '@vue/compiler-core': 3.2.20 - '@vue/shared': 3.2.20 + '@babel/parser': 7.17.9 + '@vue/compiler-core': 3.2.33 + '@vue/shared': 3.2.33 estree-walker: 2.0.2 - magic-string: 0.25.7 - dev: false + magic-string: 0.25.9 - /@vue/ref-transform/3.2.23: - resolution: {integrity: sha512-gW0GD2PSAs/th7mC7tPB/UwpIQxclbApVtsDtscDmOJXb2+cdu60ny+SuHNgfrlUT/JqWKQHq7jFKO4woxLNaA==} + /@vue/reactivity/3.2.33: + resolution: {integrity: sha512-62Sq0mp9/0bLmDuxuLD5CIaMG2susFAGARLuZ/5jkU1FCf9EDbwUuF+BO8Ub3Rbodx0ziIecM/NsmyjardBxfQ==} dependencies: - '@babel/parser': 7.16.4 - '@vue/compiler-core': 3.2.23 - '@vue/shared': 3.2.23 - estree-walker: 2.0.2 - magic-string: 0.25.7 - dev: true + '@vue/shared': 3.2.33 + dev: false - /@vue/runtime-core/3.2.20: - resolution: {integrity: sha512-d1xfUGhZPfiZzAN7SatStD4vRtT8deJSXib2+Cz3x0brjMWKxe32asQc154FF1E2fFgMCHtnfd4A90bQEzV4GQ==} + /@vue/runtime-core/3.2.33: + resolution: {integrity: sha512-N2D2vfaXsBPhzCV3JsXQa2NECjxP3eXgZlFqKh4tgakp3iX6LCGv76DLlc+IfFZq+TW10Y8QUfeihXOupJ1dGw==} dependencies: - '@vue/reactivity': 3.2.20 - '@vue/shared': 3.2.20 + '@vue/reactivity': 3.2.33 + '@vue/shared': 3.2.33 dev: false - /@vue/runtime-dom/3.2.20: - resolution: {integrity: sha512-4TCvZMLhESWCFHFYgqN4QmMA/onnINAlUovhopjlS8ST27G1A8Z0tyxPzLoXLa+b5JrOpbMPheEMPvdKExTJig==} + /@vue/runtime-dom/3.2.33: + resolution: {integrity: sha512-LSrJ6W7CZTSUygX5s8aFkraDWlO6K4geOwA3quFF2O+hC3QuAMZt/0Xb7JKE3C4JD4pFwCSO7oCrZmZ0BIJUnw==} dependencies: - '@vue/runtime-core': 3.2.20 - '@vue/shared': 3.2.20 - csstype: 2.6.18 + '@vue/runtime-core': 3.2.33 + '@vue/shared': 3.2.33 + csstype: 2.6.20 dev: false - /@vue/server-renderer/3.2.20_vue@3.2.20: - resolution: {integrity: sha512-viIbZGep9XabnrRcaxWIi00cOh1x21QYm2upIL5W0zqzTJ54VdTzpI+zi1osNp+VfRQDTHpV2U7H3Kn4ljYJvg==} + /@vue/server-renderer/3.2.33_vue@3.2.33: + resolution: {integrity: sha512-4jpJHRD4ORv8PlbYi+/MfP8ec1okz6rybe36MdpkDrGIdEItHEUyaHSKvz+ptNEyQpALmmVfRteHkU9F8vxOew==} peerDependencies: - vue: 3.2.20 + vue: 3.2.33 dependencies: - '@vue/compiler-ssr': 3.2.20 - '@vue/shared': 3.2.20 - vue: 3.2.20 + '@vue/compiler-ssr': 3.2.33 + '@vue/shared': 3.2.33 + vue: 3.2.33 dev: false - /@vue/shared/3.2.20: - resolution: {integrity: sha512-FbpX+hD5BvXCQerEYO7jtAGHlhAkhTQ4KIV73kmLWNlawWhTiVuQxizgVb0BOkX5oG9cIRZ42EG++d/k/Efp0w==} - dev: false - - /@vue/shared/3.2.23: - resolution: {integrity: sha512-U+/Jefa0QfXUF2qVy9Dqlrb6HKJSr9/wJcM66wXmWcTOoqg7hOWzF4qruDle51pyF4x3wMn6TSH54UdjKjCKMA==} - dev: true + /@vue/shared/3.2.33: + resolution: {integrity: sha512-UBc1Pg1T3yZ97vsA2ueER0F6GbJebLHYlEi4ou1H5YL4KWvMOOWwpYo9/QpWq93wxKG6Wo13IY74Hcn/f7c7Bg==} /JSONStream/1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -758,20 +744,20 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /accepts/1.3.7: - resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} + /accepts/1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} dependencies: - mime-types: 2.1.34 - negotiator: 0.6.2 + mime-types: 2.1.35 + negotiator: 0.6.3 dev: false - /acorn-jsx/5.3.2_acorn@8.6.0: + /acorn-jsx/5.3.2_acorn@8.7.0: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.6.0 + acorn: 8.7.0 dev: true /acorn-node/1.8.2: @@ -793,8 +779,8 @@ packages: hasBin: true dev: true - /acorn/8.6.0: - resolution: {integrity: sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==} + /acorn/8.7.0: + resolution: {integrity: sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -822,11 +808,6 @@ packages: string-width: 4.2.3 dev: true - /ansi-colors/4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true - /ansi-escapes/4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -865,7 +846,7 @@ packages: engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 - picomatch: 2.3.0 + picomatch: 2.3.1 dev: true /arg/4.1.3: @@ -893,19 +874,20 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.19.5 get-intrinsic: 1.1.1 is-string: 1.0.7 dev: true - /array.prototype.flat/1.2.5: - resolution: {integrity: sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==} + /array.prototype.flat/1.3.0: + resolution: {integrity: sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.19.5 + es-shim-unscopables: 1.0.0 dev: true /arrify/1.0.1: @@ -922,6 +904,10 @@ packages: resolution: {integrity: sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==} dev: false + /async/3.2.3: + resolution: {integrity: sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==} + dev: false + /asyncjs-util/1.2.7: resolution: {integrity: sha512-+NoBU9in09GHOWgRv+HhF3kDxqgJ6KowRA7xwHZKxajnh+ybBJhp24i2nOyulZtpdn+4eyrfLvTD6VoRk7TWyQ==} dependencies: @@ -932,20 +918,20 @@ packages: resolution: {integrity: sha1-x57Zf380y48robyXkLzDZkdLS3k=} dev: false - /autoprefixer/10.4.0_postcss@8.4.1: - resolution: {integrity: sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==} + /autoprefixer/10.4.4_postcss@8.4.12: + resolution: {integrity: sha512-Tm8JxsB286VweiZ5F0anmbyGiNI3v3wGv3mz9W+cxEDYB/6jbnj6GM9H9mK3wIL8ftgl+C07Lcwb8PG5PCCPzA==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.17.5 - caniuse-lite: 1.0.30001272 - fraction.js: 4.1.1 + browserslist: 4.20.2 + caniuse-lite: 1.0.30001332 + fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.1 - postcss-value-parser: 4.1.0 + postcss: 8.4.12 + postcss-value-parser: 4.2.0 dev: true /balanced-match/1.0.2: @@ -1091,6 +1077,40 @@ packages: type-is: 1.6.18 dev: false + /body-parser/1.19.2: + resolution: {integrity: sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + content-type: 1.0.4 + debug: 2.6.9 + depd: 1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: 2.3.0 + qs: 6.9.7 + raw-body: 2.4.3 + type-is: 1.6.18 + dev: false + + /body-parser/1.20.0: + resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.4 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.10.3 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + dev: false + /bolt07/1.7.4: resolution: {integrity: sha512-y82Na9vEBY+rqjJhjYMFAch70nWvbL5OiEPFqNf7cGTtQfG7g/Vui2KnemrX1mxEw2SgccF+Rn1NSRm9HFtu3w==} dependencies: @@ -1107,7 +1127,7 @@ packages: engines: {node: '>=10'} dependencies: ansi-align: 3.0.1 - camelcase: 6.2.0 + camelcase: 6.3.0 chalk: 4.1.2 cli-boxes: 2.2.1 string-width: 4.2.3 @@ -1134,15 +1154,15 @@ packages: resolution: {integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=} dev: false - /browserslist/4.17.5: - resolution: {integrity: sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==} + /browserslist/4.20.2: + resolution: {integrity: sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001272 - electron-to-chromium: 1.3.884 + caniuse-lite: 1.0.30001332 + electron-to-chromium: 1.4.117 escalade: 3.1.1 - node-releases: 2.0.1 + node-releases: 2.0.3 picocolors: 1.0.0 dev: true @@ -1164,9 +1184,19 @@ packages: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true + /builtin-modules/3.2.0: + resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} + engines: {node: '>=6'} + dev: true + /bytes/3.1.0: resolution: {integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==} engines: {node: '>= 0.8'} + dev: false + + /bytes/3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} /cacheable-request/6.1.0: resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} @@ -1186,7 +1216,6 @@ packages: dependencies: function-bind: 1.1.1 get-intrinsic: 1.1.1 - dev: true /callsites/3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -1212,13 +1241,13 @@ packages: engines: {node: '>=6'} dev: true - /camelcase/6.2.0: - resolution: {integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==} + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} dev: true - /caniuse-lite/1.0.30001272: - resolution: {integrity: sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==} + /caniuse-lite/1.0.30001332: + resolution: {integrity: sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw==} dev: true /cbor/8.1.0: @@ -1244,8 +1273,8 @@ packages: supports-color: 7.2.0 dev: true - /chokidar/3.5.2: - resolution: {integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==} + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 @@ -1263,6 +1292,10 @@ packages: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true + /ci-info/3.3.0: + resolution: {integrity: sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==} + dev: true + /cipher-base/1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: @@ -1270,6 +1303,13 @@ packages: safe-buffer: 5.2.1 dev: false + /clean-regexp/1.0.0: + resolution: {integrity: sha1-jffHquUf02h06PjQW5GAvBGj/tc=} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + /clean-stack/2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -1300,7 +1340,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: slice-ansi: 5.0.0 - string-width: 5.0.1 + string-width: 5.1.2 dev: true /cliui/7.0.4: @@ -1333,8 +1373,8 @@ packages: /color-name/1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /color-string/1.6.0: - resolution: {integrity: sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==} + /color-string/1.9.0: + resolution: {integrity: sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==} dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 @@ -1343,25 +1383,21 @@ packages: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} dependencies: color-convert: 1.9.3 - color-string: 1.6.0 + color-string: 1.9.0 dev: false - /color/4.0.1: - resolution: {integrity: sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==} + /color/4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} dependencies: color-convert: 2.0.1 - color-string: 1.6.0 + color-string: 1.9.0 dev: true /colorette/2.0.16: resolution: {integrity: sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==} dev: true - /colors/1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - dev: false - /colorspace/1.1.4: resolution: {integrity: sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==} dependencies: @@ -1376,16 +1412,16 @@ packages: delayed-stream: 1.0.0 dev: false - /commander/6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - dev: true - /commander/8.3.0: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} dev: true + /comment-parser/1.3.1: + resolution: {integrity: sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA==} + engines: {node: '>= 12.0.0'} + dev: true + /compare-func/2.0.0: resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} dependencies: @@ -1402,7 +1438,7 @@ packages: engines: {node: '>=8'} dependencies: dot-prop: 5.3.0 - graceful-fs: 4.2.8 + graceful-fs: 4.2.10 make-dir: 3.1.0 unique-string: 2.0.0 write-file-atomic: 3.0.3 @@ -1416,6 +1452,13 @@ packages: safe-buffer: 5.1.2 dev: false + /content-disposition/0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: false + /content-type/1.0.4: resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} engines: {node: '>= 0.6'} @@ -1429,8 +1472,8 @@ packages: q: 1.5.1 dev: true - /conventional-changelog-conventionalcommits/4.6.1: - resolution: {integrity: sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw==} + /conventional-changelog-conventionalcommits/4.6.3: + resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} engines: {node: '>=10'} dependencies: compare-func: 2.0.0 @@ -1438,8 +1481,8 @@ packages: q: 1.5.1 dev: true - /conventional-commits-parser/3.2.3: - resolution: {integrity: sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw==} + /conventional-commits-parser/3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} engines: {node: '>=10'} hasBin: true dependencies: @@ -1465,8 +1508,9 @@ packages: engines: {node: '>= 0.6'} dev: false - /core-util-is/1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + /cookie/0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} dev: false /cors/2.8.5: @@ -1541,8 +1585,8 @@ packages: hasBin: true dev: true - /csstype/2.6.18: - resolution: {integrity: sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==} + /csstype/2.6.20: + resolution: {integrity: sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA==} dev: false /cuid/2.1.8: @@ -1554,6 +1598,11 @@ packages: engines: {node: '>=8'} dev: true + /data-uri-to-buffer/4.0.0: + resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} + engines: {node: '>= 12'} + dev: false + /debug/2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} dependencies: @@ -1565,8 +1614,8 @@ packages: ms: 2.1.3 dev: true - /debug/4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1577,8 +1626,8 @@ packages: ms: 2.1.2 dev: true - /debug/4.3.2_supports-color@9.2.1: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + /debug/4.3.4_supports-color@9.2.2: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1587,7 +1636,7 @@ packages: optional: true dependencies: ms: 2.1.2 - supports-color: 9.2.1 + supports-color: 9.2.2 dev: true /decamelize-keys/1.1.0: @@ -1628,10 +1677,11 @@ packages: resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} dev: true - /define-properties/1.1.3: - resolution: {integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==} + /define-properties/1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} engines: {node: '>= 0.4'} dependencies: + has-property-descriptors: 1.0.0 object-keys: 1.1.1 dev: true @@ -1658,6 +1708,11 @@ packages: resolution: {integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=} dev: false + /destroy/1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: false + /detective/5.2.0: resolution: {integrity: sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==} engines: {node: '>=0.8.0'} @@ -1665,7 +1720,7 @@ packages: dependencies: acorn-node: 1.8.2 defined: 1.0.0 - minimist: 1.2.5 + minimist: 1.2.6 dev: true /didyoumean/1.2.2: @@ -1706,12 +1761,16 @@ packages: resolution: {integrity: sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=} dev: true + /eastasianwidth/0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + /ee-first/1.1.1: resolution: {integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=} dev: false - /electron-to-chromium/1.3.884: - resolution: {integrity: sha512-kOaCAa+biA98PwH5BpCkeUeTL6mCeg8p3Q3OhqzPyqhu/5QUnWAN2wr/3IK8xMQxIV76kfoQpP+Bn/wij/jXrg==} + /electron-to-chromium/1.4.117: + resolution: {integrity: sha512-ypZHxY+Sf/PXu7LVN+xoeanyisnJeSOy8Ki439L/oLueZb4c72FI45zXcK3gPpmTwyufh9m6NnbMLXnJh/0Fxg==} dev: true /elliptic/6.5.4: @@ -1748,21 +1807,14 @@ packages: once: 1.4.0 dev: true - /enquirer/2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.1 - dev: true - /error-ex/1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true - /es-abstract/1.19.1: - resolution: {integrity: sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==} + /es-abstract/1.19.5: + resolution: {integrity: sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -1771,15 +1823,15 @@ packages: get-intrinsic: 1.1.1 get-symbol-description: 1.0.0 has: 1.0.3 - has-symbols: 1.0.2 + has-symbols: 1.0.3 internal-slot: 1.0.3 is-callable: 1.2.4 - is-negative-zero: 2.0.1 + is-negative-zero: 2.0.2 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.1 + is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-weakref: 1.0.1 - object-inspect: 1.11.0 + is-weakref: 1.0.2 + object-inspect: 1.12.0 object-keys: 1.1.1 object.assign: 4.1.2 string.prototype.trimend: 1.0.4 @@ -1787,6 +1839,12 @@ packages: unbox-primitive: 1.0.1 dev: true + /es-shim-unscopables/1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + /es-to-primitive/1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} @@ -1796,164 +1854,212 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-arm64/0.13.15: - resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} + /esbuild-android-64/0.14.37: + resolution: {integrity: sha512-Jb61ihbS3iSj3+PhURe7sEuBg4h16CeT4CiT3W4Aop6rr5p/N6IvNXNWFX0gzUaRWtGoAFfCXFBEIn6zWUU3hQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.14.37: + resolution: {integrity: sha512-wwcI+EUHWe1LlxBE7vjdqZ53DEiCllD6XsYOIiGxzL8KaG7eOLXNS7tNhdK0QIR4wwMNTPLDB40ZKuAXZ8zv6Q==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /esbuild-darwin-64/0.13.15: - resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} + /esbuild-darwin-64/0.14.37: + resolution: {integrity: sha512-gg/UZ/FZrRzPq+tAOiMwyBoa6eNxX6bcjuivZ8v2Tny83RhIyeDhvC84dgVcPinqK39u8pOYw6a7nffotUrjKQ==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-darwin-arm64/0.13.15: - resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} + /esbuild-darwin-arm64/0.14.37: + resolution: {integrity: sha512-eFwy5il5yvIHAVau97kWoNYfxuCd1X7hfgKc4Ns5ymlYXhyRzRywwJfknHax5rDyZxfDXtnFaT/nftUiYwsHIQ==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-freebsd-64/0.13.15: - resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} + /esbuild-freebsd-64/0.14.37: + resolution: {integrity: sha512-4iFbdmohve6wyPwsVPe/1j5rVwg5uPTopmgIUiJBbnPKMmo8NecUSbz3HwddsDHLrvGoIs5aOiETPWo9rg3wyg==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /esbuild-freebsd-arm64/0.13.15: - resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} + /esbuild-freebsd-arm64/0.14.37: + resolution: {integrity: sha512-MGmZ9akBdqcIH7FcWhUrVTmTW18Xz/EVrvBcV6BHSFDQci0YnOhPAGCrV54t1JNG/5poHNBnaG3R2zNxnmJT5Q==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /esbuild-linux-32/0.13.15: - resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} + /esbuild-linux-32/0.14.37: + resolution: {integrity: sha512-UCyQrn3n3dHXHDQTPO3gWxfoqtEpGObBdAgevuUtw0//TSyNftnaLcQYyBiGC6J85sM8f/c+Minz5jUFOKrmOA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-64/0.13.15: - resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} + /esbuild-linux-64/0.14.37: + resolution: {integrity: sha512-UURL6k1Ffr6K4faFgdP6lKVvMKYwq8JmAh+odCukzIWN4EpjIzgmhBUzyFVU+VQLh1+K3tlE1SPJ057PNpayUQ==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm/0.13.15: - resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} + /esbuild-linux-arm/0.14.37: + resolution: {integrity: sha512-SgWcdAivyK2z2kcYAGwLTBSTECXXj/lC0S/BiayyHLYJHA6C3aEGexB6ZDMgffj4Quy/l3Tyr9ktZh8bgcmJrA==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.13.15: - resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} + /esbuild-linux-arm64/0.14.37: + resolution: {integrity: sha512-vDHyuFsDpz6nquJO7CAxU2CBj+PB+BJhGawzBrHtcM249fXK4GfVNVArgWFKkSGMZW1ZpKSeef7FeOvM6juhPg==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.13.15: - resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} + /esbuild-linux-mips64le/0.14.37: + resolution: {integrity: sha512-azRAGYGKg3dxbYE7C+L35/2Oyg1RCuXvT3Z8M76JZF2N1ZNEA9g01zbuw3GtXWLyI6mhhoHxQL0H1SQUL0At1w==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-ppc64le/0.13.15: - resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} + /esbuild-linux-ppc64le/0.14.37: + resolution: {integrity: sha512-SyNitGH/h7Hti7A+a5rkRDHhjra1TM1JnJJymRndOzw5Vd+AkWpoSQxxTfvmRw62g42zoeHBgcyrvGfT053l5w==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-netbsd-64/0.13.15: - resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} + /esbuild-linux-riscv64/0.14.37: + resolution: {integrity: sha512-IgEwVXYGC3HpCmZ1nl+vZw1h72i9WEf4mx+JBZ1s+Z0QVGww/8LI6oYZVboPtr7Lok1gKdg5tUZdFukGn5Fr/A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.37: + resolution: {integrity: sha512-X105T1x7PV9pZ/rDpOeNiTWGBd1A0BGUbi6hK9BW7X8IxzQZNwAsaahLOlAFf+OKezoSQrhHfNdBwIu9UZMmtw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.14.37: + resolution: {integrity: sha512-93mHLGTTFWAemDNGxlx0RJyNQ4E2OnnUGNHpNhKu/zzYw/Imf6dWGB6h7e9axtce8yOg5rOnx8BMhRu0NwQnKA==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true - /esbuild-openbsd-64/0.13.15: - resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} + /esbuild-openbsd-64/0.14.37: + resolution: {integrity: sha512-jdhv2koRbF69artwD4aaSS72b+syfcdVHKs1SqjyfPvi/MsL7OC+jWGOSCZ329RmnECAwCOaL4dO7ZaJiLLj3Q==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /esbuild-sunos-64/0.13.15: - resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} + /esbuild-sunos-64/0.14.37: + resolution: {integrity: sha512-YvQsr++g0ZBHJUjPeR1Ui81eFcZTH5qJp8s5GP8jur0BwBM+2wCTNutXSh/ZKYp+4ejOo54PFTy3tGo36q7D6g==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true dev: true optional: true - /esbuild-windows-32/0.13.15: - resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} + /esbuild-windows-32/0.14.37: + resolution: {integrity: sha512-aQlHyME09dWo2FVAniTXLurr/xYZre5bJrnW8yALPUu09ExCC7LzlFQFoJuuSyCdMDHcxYLc6HcrJLwRdR3b/Q==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-64/0.13.15: - resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} + /esbuild-windows-64/0.14.37: + resolution: {integrity: sha512-4mJjpS71AV4rj5PXrOn19uQwiASiyziJwyZT+qQ3M/hc/fIWS2Pgv5gbgytC1O8jptMB6NIpgrauCw56lKgckA==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-arm64/0.13.15: - resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} + /esbuild-windows-arm64/0.14.37: + resolution: {integrity: sha512-wQy+sAKD7/d6vDrgH+i+ZdbRLVHGG5BjBpBRStvGgLiuIo46/QEQCaHbBy2LOtXu/o1JYchxilzeQ+ExZdYkeA==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild/0.13.15: - resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} + /esbuild/0.14.37: + resolution: {integrity: sha512-sPlTpEkjzgFjWjYdve5xM1A3fpKXWNc+0yh0u9tqdER992OEpvde1c/+5rbRFsaSEEjQM9qXRcYn3EvNwgLF9w==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-arm64: 0.13.15 - esbuild-darwin-64: 0.13.15 - esbuild-darwin-arm64: 0.13.15 - esbuild-freebsd-64: 0.13.15 - esbuild-freebsd-arm64: 0.13.15 - esbuild-linux-32: 0.13.15 - esbuild-linux-64: 0.13.15 - esbuild-linux-arm: 0.13.15 - esbuild-linux-arm64: 0.13.15 - esbuild-linux-mips64le: 0.13.15 - esbuild-linux-ppc64le: 0.13.15 - esbuild-netbsd-64: 0.13.15 - esbuild-openbsd-64: 0.13.15 - esbuild-sunos-64: 0.13.15 - esbuild-windows-32: 0.13.15 - esbuild-windows-64: 0.13.15 - esbuild-windows-arm64: 0.13.15 + esbuild-android-64: 0.14.37 + esbuild-android-arm64: 0.14.37 + esbuild-darwin-64: 0.14.37 + esbuild-darwin-arm64: 0.14.37 + esbuild-freebsd-64: 0.14.37 + esbuild-freebsd-arm64: 0.14.37 + esbuild-linux-32: 0.14.37 + esbuild-linux-64: 0.14.37 + esbuild-linux-arm: 0.14.37 + esbuild-linux-arm64: 0.14.37 + esbuild-linux-mips64le: 0.14.37 + esbuild-linux-ppc64le: 0.14.37 + esbuild-linux-riscv64: 0.14.37 + esbuild-linux-s390x: 0.14.37 + esbuild-netbsd-64: 0.14.37 + esbuild-openbsd-64: 0.14.37 + esbuild-sunos-64: 0.14.37 + esbuild-windows-32: 0.14.37 + esbuild-windows-64: 0.14.37 + esbuild-windows-arm64: 0.14.37 dev: true /escalade/3.1.1: @@ -1978,16 +2084,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier/8.3.0_eslint@8.3.0: - resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + /eslint-config-prettier/8.5.0_eslint@8.13.0: + resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.3.0 + eslint: 8.13.0 dev: true - /eslint-config-standard/16.0.3_a91986cd61f51e0cdba75303fb12b37d: + /eslint-config-standard/16.0.3_6960c0c20e52186dd03aaccb5866d131: resolution: {integrity: sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==} peerDependencies: eslint: ^7.12.1 @@ -1995,86 +2101,143 @@ packages: eslint-plugin-node: ^11.1.0 eslint-plugin-promise: ^4.2.1 || ^5.0.0 dependencies: - eslint: 8.3.0 - eslint-plugin-import: 2.25.3_eslint@8.3.0 - eslint-plugin-node: 11.1.0_eslint@8.3.0 - eslint-plugin-promise: 5.1.1_eslint@8.3.0 + eslint: 8.13.0 + eslint-plugin-import: 2.26.0_eslint@8.13.0 + eslint-plugin-node: 11.1.0_eslint@8.13.0 + eslint-plugin-promise: 5.2.0_eslint@8.13.0 + dev: true + + /eslint-formatter-gitlab/3.0.0_eslint@8.13.0: + resolution: {integrity: sha512-fqZ2G45rgbrHcFunqmwuG5Qo6QAOlxEsR+KdOP08T1Xegw5tJhHh9KFWMSct8q6x8xCMUyYGHypZd342bLUttA==} + peerDependencies: + eslint: ^5 || ^6 || ^7 || ^8 + dependencies: + chalk: 4.1.2 + eslint: 8.13.0 + js-yaml: 4.1.0 dev: true - /eslint-import-resolver-alias/1.1.2_eslint-plugin-import@2.25.3: + /eslint-import-resolver-alias/1.1.2_eslint-plugin-import@2.26.0: resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} engines: {node: '>= 4'} peerDependencies: eslint-plugin-import: '>=1.4.0' dependencies: - eslint-plugin-import: 2.25.3_eslint@8.3.0 + eslint-plugin-import: 2.26.0_eslint@8.13.0 dev: true /eslint-import-resolver-node/0.3.6: resolution: {integrity: sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==} dependencies: debug: 3.2.7 - resolve: 1.20.0 + resolve: 1.22.0 dev: true - /eslint-module-utils/2.7.1: - resolution: {integrity: sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==} + /eslint-module-utils/2.7.3: + resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==} engines: {node: '>=4'} dependencies: debug: 3.2.7 find-up: 2.1.0 - pkg-dir: 2.0.0 dev: true - /eslint-plugin-es/3.0.1_eslint@8.3.0: + /eslint-plugin-es/3.0.1_eslint@8.13.0: resolution: {integrity: sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=4.19.1' dependencies: - eslint: 8.3.0 + eslint: 8.13.0 eslint-utils: 2.1.0 regexpp: 3.2.0 dev: true - /eslint-plugin-import/2.25.3_eslint@8.3.0: - resolution: {integrity: sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==} + /eslint-plugin-eslint-comments/3.2.0_eslint@8.13.0: + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.13.0 + ignore: 5.2.0 + dev: true + + /eslint-plugin-import/2.26.0_eslint@8.13.0: + resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==} engines: {node: '>=4'} peerDependencies: eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 dependencies: array-includes: 3.1.4 - array.prototype.flat: 1.2.5 + array.prototype.flat: 1.3.0 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.3.0 + eslint: 8.13.0 eslint-import-resolver-node: 0.3.6 - eslint-module-utils: 2.7.1 + eslint-module-utils: 2.7.3 has: 1.0.3 - is-core-module: 2.8.0 + is-core-module: 2.9.0 is-glob: 4.0.3 - minimatch: 3.0.4 + minimatch: 3.1.2 object.values: 1.1.5 - resolve: 1.20.0 - tsconfig-paths: 3.11.0 + resolve: 1.22.0 + tsconfig-paths: 3.14.1 dev: true - /eslint-plugin-node/11.1.0_eslint@8.3.0: + /eslint-plugin-jsdoc/39.2.7_eslint@8.13.0: + resolution: {integrity: sha512-vLaNFVbhoUrAX2f7gKpzALEWaDCiGGydlPYzrZLVlWXdUm6UZdJq3GKlYEoI9Q/eL66cPbHukaQHD4MQ1/T8rg==} + engines: {node: ^14 || ^16 || ^17 || ^18} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@es-joy/jsdoccomment': 0.28.0 + comment-parser: 1.3.1 + debug: 4.3.4 + escape-string-regexp: 4.0.0 + eslint: 8.13.0 + esquery: 1.4.0 + semver: 7.3.7 + spdx-expression-parse: 3.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-no-autofix/1.2.3_eslint@8.13.0: + resolution: {integrity: sha512-JFSYe82Da2A8Krh+Gfq7+3X2pchTScKgmrlMKIA4HmV6t5xGBF/kgjiFL3YTWRQXQ0NB9eOqpcxh6SuLtQUFjQ==} + engines: {node: '>=8'} + peerDependencies: + eslint: '>= 5.12.1' + dependencies: + eslint: 8.13.0 + eslint-rule-composer: 0.3.0 + find-up: 5.0.0 + dev: true + + /eslint-plugin-node/11.1.0_eslint@8.13.0: resolution: {integrity: sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==} engines: {node: '>=8.10.0'} peerDependencies: eslint: '>=5.16.0' dependencies: - eslint: 8.3.0 - eslint-plugin-es: 3.0.1_eslint@8.3.0 + eslint: 8.13.0 + eslint-plugin-es: 3.0.1_eslint@8.13.0 eslint-utils: 2.1.0 - ignore: 5.1.9 - minimatch: 3.0.4 - resolve: 1.20.0 + ignore: 5.2.0 + minimatch: 3.1.2 + resolve: 1.22.0 semver: 6.3.0 dev: true - /eslint-plugin-prettier/4.0.0_843edcb3cc71540567de9d6fc0b08253: + /eslint-plugin-prefer-arrow/1.2.3_eslint@8.13.0: + resolution: {integrity: sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==} + peerDependencies: + eslint: '>=2.0.0' + dependencies: + eslint: 8.13.0 + dev: true + + /eslint-plugin-prettier/4.0.0_7b849999f0285322972e7e593f1ec452: resolution: {integrity: sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==} engines: {node: '>=6.0.0'} peerDependencies: @@ -2085,58 +2248,87 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.3.0 - eslint-config-prettier: 8.3.0_eslint@8.3.0 + eslint: 8.13.0 + eslint-config-prettier: 8.5.0_eslint@8.13.0 prettier: 2.2.1 prettier-linter-helpers: 1.0.0 dev: true - /eslint-plugin-promise/5.1.1_eslint@8.3.0: - resolution: {integrity: sha512-XgdcdyNzHfmlQyweOPTxmc7pIsS6dE4MvwhXWMQ2Dxs1XAL2GJDilUsjWen6TWik0aSI+zD/PqocZBblcm9rdA==} + /eslint-plugin-promise/5.2.0_eslint@8.13.0: + resolution: {integrity: sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: eslint: ^7.0.0 dependencies: - eslint: 8.3.0 + eslint: 8.13.0 + dev: true + + /eslint-plugin-sonarjs/0.13.0_eslint@8.13.0: + resolution: {integrity: sha512-t3m7ta0EspzDxSOZh3cEOJIJVZgN/TlJYaBGnQlK6W/PZNbWep8q4RQskkJkA7/zwNpX0BaoEOSUUrqaADVoqA==} + engines: {node: '>=12'} + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.13.0 dev: true /eslint-plugin-tailwindcss/1.17.2: resolution: {integrity: sha512-cQWP7bSdJHcnBIv/eCXqerMYiwn7qfpyRvqzCiGhttWBhjr+h5q6XsAgg967mdUeJzzQr+68ETXNHLkCK7KJQA==} engines: {node: '>=12.13.0'} dependencies: - fast-glob: 3.2.7 - postcss: 8.3.11 - tailwindcss: 2.2.19_postcss@8.3.11 + fast-glob: 3.2.11 + postcss: 8.4.12 + tailwindcss: 2.2.19_postcss@8.4.12 transitivePeerDependencies: - autoprefixer - ts-node dev: true - /eslint-plugin-vue/8.1.1_eslint@8.3.0: - resolution: {integrity: sha512-rx64IrlhdfPya6u2V5ukOGiLCTgaCBdMSpczLVqyo8A0l+Vbo+lzvIfEUfAQ2auj+MF6y0TwxLorzdCIzHunnw==} + /eslint-plugin-unicorn/42.0.0_eslint@8.13.0: + resolution: {integrity: sha512-ixBsbhgWuxVaNlPTT8AyfJMlhyC5flCJFjyK3oKE8TRrwBnaHvUbuIkCM1lqg8ryYrFStL/T557zfKzX4GKSlg==} + engines: {node: '>=12'} + peerDependencies: + eslint: '>=8.8.0' + dependencies: + '@babel/helper-validator-identifier': 7.16.7 + ci-info: 3.3.0 + clean-regexp: 1.0.0 + eslint: 8.13.0 + eslint-utils: 3.0.0_eslint@8.13.0 + esquery: 1.4.0 + indent-string: 4.0.0 + is-builtin-module: 3.1.0 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.24 + safe-regex: 2.1.1 + semver: 7.3.7 + strip-indent: 3.0.0 + dev: true + + /eslint-plugin-vue/8.6.0_eslint@8.13.0: + resolution: {integrity: sha512-abXiF2J18n/7ZPy9foSlJyouKf54IqpKlNvNmzhM93N0zs3QUxZG/oBd3tVPOJTKg7SlhBUtPxugpqzNbgGpQQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - eslint: 8.3.0 - eslint-utils: 3.0.0_eslint@8.3.0 + eslint: 8.13.0 + eslint-utils: 3.0.0_eslint@8.13.0 natural-compare: 1.4.0 - semver: 7.3.5 - vue-eslint-parser: 8.0.1_eslint@8.3.0 + semver: 7.3.7 + vue-eslint-parser: 8.3.0_eslint@8.13.0 transitivePeerDependencies: - supports-color dev: true - /eslint-scope/6.0.0: - resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 + /eslint-rule-composer/0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} dev: true - /eslint-scope/7.1.0: - resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} + /eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 @@ -2150,13 +2342,13 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /eslint-utils/3.0.0_eslint@8.3.0: + /eslint-utils/3.0.0_eslint@8.13.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.3.0 + eslint: 8.13.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2170,37 +2362,36 @@ packages: engines: {node: '>=10'} dev: true - /eslint-visitor-keys/3.1.0: - resolution: {integrity: sha512-yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==} + /eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint/8.3.0: - resolution: {integrity: sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==} + /eslint/8.13.0: + resolution: {integrity: sha512-D+Xei61eInqauAyTJ6C0q6x9mx7kTUC1KZ0m0LSEexR0V+e94K12LmWX076ZIsldwfQ2RONdaJe0re0TRGQbRQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint/eslintrc': 1.0.4 - '@humanwhocodes/config-array': 0.6.0 + '@eslint/eslintrc': 1.2.1 + '@humanwhocodes/config-array': 0.9.5 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.2 + debug: 4.3.4 doctrine: 3.0.0 - enquirer: 2.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 7.1.0 - eslint-utils: 3.0.0_eslint@8.3.0 - eslint-visitor-keys: 3.1.0 - espree: 9.1.0 + eslint-scope: 7.1.1 + eslint-utils: 3.0.0_eslint@8.13.0 + eslint-visitor-keys: 3.3.0 + espree: 9.3.1 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 6.0.1 functional-red-black-tree: 1.0.1 glob-parent: 6.0.2 - globals: 13.12.0 - ignore: 4.0.6 + globals: 13.13.0 + ignore: 5.2.0 import-fresh: 3.3.0 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -2208,12 +2399,10 @@ packages: json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 - minimatch: 3.0.4 + minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.1 - progress: 2.0.3 regexpp: 3.2.0 - semver: 7.3.5 strip-ansi: 6.0.1 strip-json-comments: 3.1.1 text-table: 0.2.0 @@ -2222,13 +2411,13 @@ packages: - supports-color dev: true - /espree/9.1.0: - resolution: {integrity: sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==} + /espree/9.3.1: + resolution: {integrity: sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.6.0 - acorn-jsx: 5.3.2_acorn@8.6.0 - eslint-visitor-keys: 3.1.0 + acorn: 8.7.0 + acorn-jsx: 5.3.2_acorn@8.7.0 + eslint-visitor-keys: 3.3.0 dev: true /esquery/1.4.0: @@ -2278,7 +2467,7 @@ packages: merge-stream: 2.0.0 npm-run-path: 4.0.1 onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 strip-final-newline: 2.0.0 dev: true @@ -2296,7 +2485,7 @@ packages: uid-safe: 2.1.5 dev: false - /express-winston/4.2.0_winston@3.3.3: + /express-winston/4.2.0_winston@3.7.2: resolution: {integrity: sha512-EMD74g63nVHi7pFleQw7KHCxiA1pjF5uCwbCfzGqmFxs9KvlDPIVS3cMGpULm6MshExMT9TjC3SqmRGB9kb7yw==} engines: {node: '>= 6'} peerDependencies: @@ -2304,14 +2493,14 @@ packages: dependencies: chalk: 2.4.2 lodash: 4.17.21 - winston: 3.3.3 + winston: 3.7.2 dev: false /express/4.17.1: resolution: {integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==} engines: {node: '>= 0.10.0'} dependencies: - accepts: 1.3.7 + accepts: 1.3.8 array-flatten: 1.1.1 body-parser: 1.19.0 content-disposition: 0.5.3 @@ -2343,6 +2532,42 @@ packages: vary: 1.1.2 dev: false + /express/4.17.3: + resolution: {integrity: sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.19.2 + content-disposition: 0.5.4 + content-type: 1.0.4 + cookie: 0.4.2 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 1.1.2 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.3.0 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.9.7 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.17.2 + serve-static: 1.14.2 + setprototypeof: 1.2.0 + statuses: 1.5.0 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + dev: false + /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -2351,15 +2576,15 @@ packages: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} dev: true - /fast-glob/3.2.7: - resolution: {integrity: sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==} - engines: {node: '>=8'} + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.4 + micromatch: 4.0.5 dev: true /fast-json-stable-stringify/2.1.0: @@ -2376,8 +2601,16 @@ packages: reusify: 1.0.4 dev: true - /fecha/4.2.1: - resolution: {integrity: sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==} + /fecha/4.2.3: + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + dev: false + + /fetch-blob/3.1.5: + resolution: {integrity: sha512-N64ZpKqoLejlrwkIAnb9iLSA3Vx/kjgzpcDhygcqJ2KKjky8nCgUQ+dzXtbrLaWZGZNmNfQTsiQ0weZ1svglHg==} + engines: {node: ^12.20 || >= 14.13} + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.2.1 dev: false /file-entry-cache/6.0.1: @@ -2438,12 +2671,12 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.2.2 + flatted: 3.2.5 rimraf: 3.0.2 dev: true - /flatted/3.2.2: - resolution: {integrity: sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==} + /flatted/3.2.5: + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true /fn.name/1.1.0: @@ -2456,7 +2689,14 @@ packages: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 - mime-types: 2.1.34 + mime-types: 2.1.35 + dev: false + + /formdata-polyfill/4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + dependencies: + fetch-blob: 3.1.5 dev: false /forwarded/0.2.0: @@ -2464,8 +2704,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /fraction.js/4.1.1: - resolution: {integrity: sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==} + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} dev: true /fresh/0.5.2: @@ -2473,11 +2713,11 @@ packages: engines: {node: '>= 0.6'} dev: false - /fs-extra/10.0.0: - resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} + /fs-extra/10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} dependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.10 jsonfile: 6.1.0 universalify: 2.0.0 dev: true @@ -2496,7 +2736,6 @@ packages: /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true /functional-red-black-tree/1.0.1: resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} @@ -2511,8 +2750,7 @@ packages: dependencies: function-bind: 1.1.1 has: 1.0.3 - has-symbols: 1.0.2 - dev: true + has-symbols: 1.0.3 /get-stream/4.1.0: resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} @@ -2541,8 +2779,8 @@ packages: get-intrinsic: 1.1.1 dev: true - /git-raw-commits/2.0.10: - resolution: {integrity: sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ==} + /git-raw-commits/2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} engines: {node: '>=10'} hasBin: true dependencies: @@ -2573,7 +2811,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -2592,8 +2830,8 @@ packages: ini: 2.0.0 dev: true - /globals/13.12.0: - resolution: {integrity: sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==} + /globals/13.13.0: + resolution: {integrity: sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==} engines: {node: '>=8'} dependencies: type-fest: 0.20.2 @@ -2616,8 +2854,8 @@ packages: url-parse-lax: 3.0.0 dev: true - /graceful-fs/4.2.8: - resolution: {integrity: sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==} + /graceful-fs/4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} dev: true /hard-rejection/2.1.0: @@ -2625,8 +2863,8 @@ packages: engines: {node: '>=6'} dev: true - /has-bigints/1.0.1: - resolution: {integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==} + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag/3.0.0: @@ -2638,16 +2876,21 @@ packages: engines: {node: '>=8'} dev: true - /has-symbols/1.0.2: - resolution: {integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==} - engines: {node: '>= 0.4'} + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.1.1 dev: true + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + /has-tostringtag/1.0.0: resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.2 + has-symbols: 1.0.3 dev: true /has-yarn/2.1.0: @@ -2660,7 +2903,6 @@ packages: engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 - dev: true /hash-base/3.1.0: resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} @@ -2699,8 +2941,8 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true - /hosted-git-info/4.0.2: - resolution: {integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==} + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} engines: {node: '>=10'} dependencies: lru-cache: 6.0.0 @@ -2714,8 +2956,8 @@ packages: resolution: {integrity: sha1-wc56MWjIxmFAM6S194d/OyJfnDg=} dev: true - /html-tags/3.1.0: - resolution: {integrity: sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==} + /html-tags/3.2.0: + resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} engines: {node: '>=8'} dev: true @@ -2745,6 +2987,28 @@ packages: toidentifier: 1.0.0 dev: false + /http-errors/1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + dev: false + + /http-errors/2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + /human-signals/2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} @@ -2767,23 +3031,11 @@ packages: resolution: {integrity: sha1-SMptcvbGo68Aqa1K5odr44ieKwk=} dev: true - /ignore/4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} engines: {node: '>= 4'} dev: true - /ignore/5.1.9: - resolution: {integrity: sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==} - engines: {node: '>= 4'} - dev: true - - /import-cwd/3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} - dependencies: - import-from: 3.0.0 - dev: true - /import-fresh/3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -2792,13 +3044,6 @@ packages: resolve-from: 4.0.0 dev: true - /import-from/3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} - dependencies: - resolve-from: 5.0.0 - dev: true - /import-lazy/2.1.0: resolution: {integrity: sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=} engines: {node: '>=4'} @@ -2873,7 +3118,7 @@ packages: /is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: - has-bigints: 1.0.1 + has-bigints: 1.0.2 dev: true /is-binary-path/2.1.0: @@ -2891,6 +3136,13 @@ packages: has-tostringtag: 1.0.0 dev: true + /is-builtin-module/3.1.0: + resolution: {integrity: sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.2.0 + dev: true + /is-callable/1.2.4: resolution: {integrity: sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==} engines: {node: '>= 0.4'} @@ -2914,8 +3166,8 @@ packages: rgba-regex: 1.0.0 dev: true - /is-core-module/2.8.0: - resolution: {integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==} + /is-core-module/2.9.0: + resolution: {integrity: sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==} dependencies: has: 1.0.3 dev: true @@ -2956,8 +3208,8 @@ packages: is-path-inside: 3.0.3 dev: true - /is-negative-zero/2.0.1: - resolution: {integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==} + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} dev: true @@ -2966,8 +3218,8 @@ packages: engines: {node: '>=10'} dev: true - /is-number-object/1.0.6: - resolution: {integrity: sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==} + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.0 @@ -3001,8 +3253,10 @@ packages: has-tostringtag: 1.0.0 dev: true - /is-shared-array-buffer/1.0.1: - resolution: {integrity: sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==} + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 dev: true /is-stream/2.0.1: @@ -3020,7 +3274,7 @@ packages: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.2 + has-symbols: 1.0.3 dev: true /is-text-path/1.0.1: @@ -3034,8 +3288,8 @@ packages: resolution: {integrity: sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=} dev: true - /is-weakref/1.0.1: - resolution: {integrity: sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==} + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.2 dev: true @@ -3044,10 +3298,6 @@ packages: resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} dev: true - /isarray/1.0.0: - resolution: {integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=} - dev: false - /isexe/2.0.0: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} dev: true @@ -3063,6 +3313,11 @@ packages: argparse: 2.0.1 dev: true + /jsdoc-type-pratt-parser/3.0.1: + resolution: {integrity: sha512-vqMCdAFVIiFhVgBYE/X8naf3L/7qiJsaYWTfUJZZZ124dR3OUz9HrmaMUGpYIYAN4VSuodf6gIZY0e8ktPw9cg==} + engines: {node: '>=12.0.0'} + dev: true + /json-buffer/3.0.0: resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} dev: true @@ -3083,7 +3338,7 @@ packages: resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} hasBin: true dependencies: - minimist: 1.2.5 + minimist: 1.2.6 dev: true /jsonfile/6.1.0: @@ -3091,7 +3346,7 @@ packages: dependencies: universalify: 2.0.0 optionalDependencies: - graceful-fs: 4.2.8 + graceful-fs: 4.2.10 dev: true /jsonparse/1.3.1: @@ -3153,44 +3408,46 @@ packages: type-fest: 2.6.0 dev: false - /lilconfig/2.0.3: - resolution: {integrity: sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==} + /lilconfig/2.0.4: + resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} engines: {node: '>=10'} dev: true - /lilconfig/2.0.4: - resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} + /lilconfig/2.0.5: + resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==} engines: {node: '>=10'} dev: true - /lines-and-columns/1.1.6: - resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged/12.1.2: - resolution: {integrity: sha512-bSMcQVqMW98HLLLR2c2tZ+vnDCnx4fd+0QJBQgN/4XkdspGRPc8DGp7UuOEBe1ApCfJ+wXXumYnJmU+wDo7j9A==} + /lint-staged/12.4.0: + resolution: {integrity: sha512-3X7MR0h9b7qf4iXf/1n7RlVAx+EzpAZXoCEMhVSpaBlgKDfH2ewf+QUm7BddFyq29v4dgPP+8+uYpWuSWx035A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true dependencies: cli-truncate: 3.1.0 colorette: 2.0.16 commander: 8.3.0 - debug: 4.3.2_supports-color@9.2.1 - enquirer: 2.3.6 + debug: 4.3.4_supports-color@9.2.2 execa: 5.1.1 lilconfig: 2.0.4 - listr2: 3.13.5_enquirer@2.3.6 - micromatch: 4.0.4 + listr2: 4.0.5 + micromatch: 4.0.5 normalize-path: 3.0.0 - object-inspect: 1.11.0 + object-inspect: 1.12.0 + pidtree: 0.5.0 string-argv: 0.3.1 - supports-color: 9.2.1 + supports-color: 9.2.2 yaml: 1.10.2 + transitivePeerDependencies: + - enquirer dev: true - /listr2/3.13.5_enquirer@2.3.6: - resolution: {integrity: sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA==} - engines: {node: '>=10.0.0'} + /listr2/4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -3199,11 +3456,10 @@ packages: dependencies: cli-truncate: 2.1.0 colorette: 2.0.16 - enquirer: 2.3.6 log-update: 4.0.0 p-map: 4.0.0 rfdc: 1.3.0 - rxjs: 7.4.0 + rxjs: 7.5.5 through: 2.3.8 wrap-ansi: 7.0.0 dev: true @@ -3276,13 +3532,13 @@ packages: wrap-ansi: 6.2.0 dev: true - /logform/2.3.0: - resolution: {integrity: sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==} + /logform/2.4.0: + resolution: {integrity: sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==} dependencies: - colors: 1.4.0 - fecha: 4.2.1 + '@colors/colors': 1.5.0 + fecha: 4.2.3 ms: 2.1.3 - safe-stable-stringify: 1.1.1 + safe-stable-stringify: 2.3.1 triple-beam: 1.3.0 dev: false @@ -3315,8 +3571,8 @@ packages: tweetnacl-util: 0.15.1 dev: false - /magic-string/0.25.7: - resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} + /magic-string/0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} dependencies: sourcemap-codec: 1.4.8 @@ -3393,24 +3649,24 @@ packages: engines: {node: '>= 0.6'} dev: false - /micromatch/4.0.4: - resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.2 - picomatch: 2.3.0 + picomatch: 2.3.1 dev: true - /mime-db/1.51.0: - resolution: {integrity: sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==} + /mime-db/1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} dev: false - /mime-types/2.1.34: - resolution: {integrity: sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==} + /mime-types/2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: - mime-db: 1.51.0 + mime-db: 1.52.0 dev: false /mime/1.6.0: @@ -3442,8 +3698,8 @@ packages: resolution: {integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=} dev: false - /minimatch/3.0.4: - resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true @@ -3457,8 +3713,8 @@ packages: kind-of: 6.0.3 dev: true - /minimist/1.2.5: - resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} + /minimist/1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} dev: true /mitt/3.0.0: @@ -3503,8 +3759,8 @@ packages: resolution: {integrity: sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==} dev: false - /nanoid/3.1.30: - resolution: {integrity: sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==} + /nanoid/3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -3512,8 +3768,8 @@ packages: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} dev: true - /negotiator/0.6.2: - resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} + /negotiator/0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} dev: false @@ -3521,19 +3777,33 @@ packages: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} dev: false + /node-domexception/1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: false + /node-emoji/1.11.0: resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} dependencies: lodash: 4.17.21 dev: true - /node-gyp-build/4.3.0: - resolution: {integrity: sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==} + /node-fetch/3.2.3: + resolution: {integrity: sha512-AXP18u4pidSZ1xYXRDPY/8jdv3RAozIt/WLNR/MBGZAz+xjtlr90RvCnsvHQRiXyWliZF/CpytExp32UU67/SA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + data-uri-to-buffer: 4.0.0 + fetch-blob: 3.1.5 + formdata-polyfill: 4.0.10 + dev: false + + /node-gyp-build/4.4.0: + resolution: {integrity: sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ==} hasBin: true dev: false - /node-releases/2.0.1: - resolution: {integrity: sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==} + /node-releases/2.0.3: + resolution: {integrity: sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw==} dev: true /nodemon/2.0.15: @@ -3542,10 +3812,10 @@ packages: hasBin: true requiresBuild: true dependencies: - chokidar: 3.5.2 + chokidar: 3.5.3 debug: 3.2.7 ignore-by-default: 1.0.1 - minimatch: 3.0.4 + minimatch: 3.1.2 pstree.remy: 1.1.8 semver: 5.7.1 supports-color: 5.5.0 @@ -3570,7 +3840,7 @@ packages: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 - resolve: 1.20.0 + resolve: 1.22.0 semver: 5.7.1 validate-npm-package-license: 3.0.4 dev: true @@ -3579,9 +3849,9 @@ packages: resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} engines: {node: '>=10'} dependencies: - hosted-git-info: 4.0.2 - is-core-module: 2.8.0 - semver: 7.3.5 + hosted-git-info: 4.1.0 + is-core-module: 2.9.0 + semver: 7.3.7 validate-npm-package-license: 3.0.4 dev: true @@ -3617,9 +3887,8 @@ packages: engines: {node: '>= 6'} dev: true - /object-inspect/1.11.0: - resolution: {integrity: sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==} - dev: true + /object-inspect/1.12.0: + resolution: {integrity: sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==} /object-keys/1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -3631,8 +3900,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - has-symbols: 1.0.2 + define-properties: 1.1.4 + has-symbols: 1.0.3 object-keys: 1.1.1 dev: true @@ -3641,8 +3910,8 @@ packages: engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 - es-abstract: 1.19.1 + define-properties: 1.1.4 + es-abstract: 1.19.5 dev: true /on-finished/2.3.0: @@ -3652,6 +3921,13 @@ packages: ee-first: 1.1.1 dev: false + /on-finished/2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: false + /on-headers/1.0.2: resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} engines: {node: '>= 0.8'} @@ -3773,10 +4049,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.15.8 + '@babel/code-frame': 7.16.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.1.6 + lines-and-columns: 1.2.4 dev: true /parseurl/1.3.3: @@ -3831,16 +4107,20 @@ packages: /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - /picomatch/2.3.0: - resolution: {integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==} + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: true - /pkg-dir/2.0.0: - resolution: {integrity: sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=} + /pidtree/0.5.0: + resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pluralize/8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} engines: {node: '>=4'} - dependencies: - find-up: 2.1.0 dev: true /postcss-js/3.0.3: @@ -3848,45 +4128,38 @@ packages: engines: {node: '>=10.0'} dependencies: camelcase-css: 2.0.1 - postcss: 8.4.1 + postcss: 8.4.12 dev: true - /postcss-load-config/3.1.0: - resolution: {integrity: sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==} + /postcss-load-config/3.1.4_postcss@8.4.12: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: + postcss: '>=8.0.9' ts-node: '>=9.0.0' peerDependenciesMeta: + postcss: + optional: true ts-node: optional: true dependencies: - import-cwd: 3.0.0 - lilconfig: 2.0.3 + lilconfig: 2.0.5 + postcss: 8.4.12 yaml: 1.10.2 dev: true - /postcss-nested/5.0.6_postcss@8.3.11: + /postcss-nested/5.0.6_postcss@8.4.12: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.3.11 - postcss-selector-parser: 6.0.6 + postcss: 8.4.12 + postcss-selector-parser: 6.0.10 dev: true - /postcss-nested/5.0.6_postcss@8.4.1: - resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dependencies: - postcss: 8.4.1 - postcss-selector-parser: 6.0.6 - dev: true - - /postcss-selector-parser/6.0.6: - resolution: {integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==} + /postcss-selector-parser/6.0.10: + resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} dependencies: cssesc: 3.0.0 @@ -3897,26 +4170,17 @@ packages: resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} dev: true - /postcss-value-parser/4.1.0: - resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.3.11: - resolution: {integrity: sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==} + /postcss/8.4.12: + resolution: {integrity: sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==} engines: {node: ^10 || ^12 || >=14} dependencies: - nanoid: 3.1.30 + nanoid: 3.3.3 picocolors: 1.0.0 - source-map-js: 0.6.2 - dev: true - - /postcss/8.4.1: - resolution: {integrity: sha512-WqLs/TTzXdG+/A4ZOOK9WDZiikrRaiA+eoEb/jz2DT9KUhMNHgP7yKPO8vwi62ZCsb703Gwb7BMZwDzI54Y2Ag==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.1.30 - picocolors: 1.0.0 - source-map-js: 1.0.1 + source-map-js: 1.0.2 /prelude-ls/1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -3946,15 +4210,6 @@ packages: engines: {node: '>= 0.8'} dev: true - /process-nextick-args/2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: false - - /progress/2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - /protobufjs/6.11.2: resolution: {integrity: sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==} hasBin: true @@ -4017,14 +4272,14 @@ packages: escape-goat: 2.1.1 dev: true - /purgecss/4.0.3: - resolution: {integrity: sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==} + /purgecss/4.1.3: + resolution: {integrity: sha512-99cKy4s+VZoXnPxaoM23e5ABcP851nC2y2GROkkjS8eJaJtlciGavd7iYAw2V84WeBqggZ12l8ef44G99HmTaw==} hasBin: true dependencies: - commander: 6.2.1 + commander: 8.3.0 glob: 7.2.0 - postcss: 8.4.1 - postcss-selector-parser: 6.0.6 + postcss: 8.4.12 + postcss-selector-parser: 6.0.10 dev: true /pushdata-bitcoin/1.0.1: @@ -4038,11 +4293,23 @@ packages: engines: {node: '>=0.6.0', teleport: '>=0.2.0'} dev: true + /qs/6.10.3: + resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: false + /qs/6.7.0: resolution: {integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==} engines: {node: '>=0.6'} dev: false + /qs/6.9.7: + resolution: {integrity: sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==} + engines: {node: '>=0.6'} + dev: false + /queue-microtask/1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true @@ -4083,13 +4350,33 @@ packages: unpipe: 1.0.0 dev: false + /raw-body/2.4.3: + resolution: {integrity: sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + + /raw-body/2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: false + /rc/1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true dependencies: deep-extend: 0.6.0 ini: 1.3.8 - minimist: 1.2.5 + minimist: 1.2.6 strip-json-comments: 2.0.1 dev: true @@ -4112,18 +4399,6 @@ packages: type-fest: 0.6.0 dev: true - /readable-stream/2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - dev: false - /readable-stream/3.6.0: resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} engines: {node: '>= 6'} @@ -4136,7 +4411,7 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} dependencies: - picomatch: 2.3.0 + picomatch: 2.3.1 dev: true /redent/3.0.0: @@ -4154,6 +4429,11 @@ packages: postcss-value-parser: 3.3.1 dev: true + /regexp-tree/0.1.24: + resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} + hasBin: true + dev: true + /regexpp/3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -4194,11 +4474,13 @@ packages: global-dirs: 0.1.1 dev: true - /resolve/1.20.0: - resolution: {integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==} + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true dependencies: - is-core-module: 2.8.0 + is-core-module: 2.9.0 path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 dev: true /responselike/1.0.2: @@ -4212,7 +4494,7 @@ packages: engines: {node: '>=8'} dependencies: onetime: 5.1.2 - signal-exit: 3.0.6 + signal-exit: 3.0.7 dev: true /reusify/1.0.4: @@ -4246,8 +4528,8 @@ packages: inherits: 2.0.4 dev: false - /rollup/2.60.1: - resolution: {integrity: sha512-akwfnpjY0rXEDSn1UTVfKXJhPsEBu+imi1gqBA1ZkHGydUnkV/fWCC90P7rDaLEW8KTwBcS1G3N4893Ndz+jwg==} + /rollup/2.70.2: + resolution: {integrity: sha512-EitogNZnfku65I1DD5Mxe8JYRUCy0hkK5X84IlDtUs+O6JRMpRciXTzyCUuX11b5L5pvjH+OmFXiQ3XjabcXgg==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -4260,10 +4542,10 @@ packages: queue-microtask: 1.2.3 dev: true - /rxjs/7.4.0: - resolution: {integrity: sha512-7SQDi7xeTMCJpqViXh8gL/lebcwlp3d831F05+9B44A4B0WfsEwUQHR64gsH1kvJ+Ep/J9K2+n1hVl1CsGN23w==} + /rxjs/7.5.5: + resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==} dependencies: - tslib: 2.1.0 + tslib: 2.3.1 dev: true /safe-buffer/5.1.2: @@ -4273,8 +4555,15 @@ packages: /safe-buffer/5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-stable-stringify/1.1.1: - resolution: {integrity: sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==} + /safe-regex/2.1.1: + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + dependencies: + regexp-tree: 0.1.24 + dev: true + + /safe-stable-stringify/2.3.1: + resolution: {integrity: sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==} + engines: {node: '>=10'} dev: false /safer-buffer/2.1.2: @@ -4288,7 +4577,17 @@ packages: dependencies: elliptic: 6.5.4 node-addon-api: 2.0.2 - node-gyp-build: 4.3.0 + node-gyp-build: 4.4.0 + dev: false + + /secp256k1/4.0.3: + resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dependencies: + elliptic: 6.5.4 + node-addon-api: 2.0.2 + node-gyp-build: 4.4.0 dev: false /semver-diff/3.1.1: @@ -4316,6 +4615,14 @@ packages: lru-cache: 6.0.0 dev: true + /semver/7.3.7: + resolution: {integrity: sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + /send/0.17.1: resolution: {integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==} engines: {node: '>= 0.8.0'} @@ -4335,6 +4642,25 @@ packages: statuses: 1.5.0 dev: false + /send/0.17.2: + resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 1.1.2 + destroy: 1.0.4 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 1.8.1 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.3.0 + range-parser: 1.2.1 + statuses: 1.5.0 + dev: false + /serve-static/1.14.1: resolution: {integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==} engines: {node: '>= 0.8.0'} @@ -4345,10 +4671,24 @@ packages: send: 0.17.1 dev: false + /serve-static/1.14.2: + resolution: {integrity: sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.17.2 + dev: false + /setprototypeof/1.1.1: resolution: {integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==} dev: false + /setprototypeof/1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + /sha.js/2.4.11: resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true @@ -4378,11 +4718,10 @@ packages: dependencies: call-bind: 1.0.2 get-intrinsic: 1.1.1 - object-inspect: 1.11.0 - dev: true + object-inspect: 1.12.0 - /signal-exit/3.0.6: - resolution: {integrity: sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==} + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true /simple-swizzle/0.2.2: @@ -4420,13 +4759,8 @@ packages: is-fullwidth-code-point: 4.0.0 dev: true - /source-map-js/0.6.2: - resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map-js/1.0.1: - resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} /source-map-support/0.5.21: @@ -4480,6 +4814,11 @@ packages: engines: {node: '>= 0.6'} dev: false + /statuses/2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + /string-argv/0.3.1: resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} engines: {node: '>=0.6.19'} @@ -4493,12 +4832,12 @@ packages: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width/5.0.1: - resolution: {integrity: sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g==} + /string-width/5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} dependencies: + eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - is-fullwidth-code-point: 4.0.0 strip-ansi: 7.0.1 dev: true @@ -4506,22 +4845,16 @@ packages: resolution: {integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 + define-properties: 1.1.4 dev: true /string.prototype.trimstart/1.0.4: resolution: {integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==} dependencies: call-bind: 1.0.2 - define-properties: 1.1.3 + define-properties: 1.1.4 dev: true - /string_decoder/1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - dependencies: - safe-buffer: 5.1.2 - dev: false - /string_decoder/1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: @@ -4580,12 +4913,17 @@ packages: has-flag: 4.0.0 dev: true - /supports-color/9.2.1: - resolution: {integrity: sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==} + /supports-color/9.2.2: + resolution: {integrity: sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==} engines: {node: '>=12'} dev: true - /tailwindcss/2.2.19_343577c3dd31b4e787406ab8c6576ff6: + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /tailwindcss/2.2.19_081650f2f4dba35b17265937ab2a2ec0: resolution: {integrity: sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==} engines: {node: '>=12.13.0'} hasBin: true @@ -4594,19 +4932,19 @@ packages: postcss: ^8.0.9 dependencies: arg: 5.0.1 - autoprefixer: 10.4.0_postcss@8.4.1 - bytes: 3.1.0 + autoprefixer: 10.4.4_postcss@8.4.12 + bytes: 3.1.2 chalk: 4.1.2 - chokidar: 3.5.2 - color: 4.0.1 + chokidar: 3.5.3 + color: 4.2.3 cosmiconfig: 7.0.1 detective: 5.2.0 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.2.7 - fs-extra: 10.0.0 + fast-glob: 3.2.11 + fs-extra: 10.1.0 glob-parent: 6.0.2 - html-tags: 3.1.0 + html-tags: 3.2.0 is-color-stop: 1.1.0 is-glob: 4.0.3 lodash: 4.17.21 @@ -4615,23 +4953,23 @@ packages: node-emoji: 1.11.0 normalize-path: 3.0.0 object-hash: 2.2.0 - postcss: 8.4.1 + postcss: 8.4.12 postcss-js: 3.0.3 - postcss-load-config: 3.1.0 - postcss-nested: 5.0.6_postcss@8.4.1 - postcss-selector-parser: 6.0.6 - postcss-value-parser: 4.1.0 + postcss-load-config: 3.1.4_postcss@8.4.12 + postcss-nested: 5.0.6_postcss@8.4.12 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 pretty-hrtime: 1.0.3 - purgecss: 4.0.3 + purgecss: 4.1.3 quick-lru: 5.1.1 reduce-css-calc: 2.1.8 - resolve: 1.20.0 + resolve: 1.22.0 tmp: 0.2.1 transitivePeerDependencies: - ts-node dev: true - /tailwindcss/2.2.19_postcss@8.3.11: + /tailwindcss/2.2.19_postcss@8.4.12: resolution: {integrity: sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==} engines: {node: '>=12.13.0'} hasBin: true @@ -4640,18 +4978,18 @@ packages: postcss: ^8.0.9 dependencies: arg: 5.0.1 - bytes: 3.1.0 + bytes: 3.1.2 chalk: 4.1.2 - chokidar: 3.5.2 - color: 4.0.1 + chokidar: 3.5.3 + color: 4.2.3 cosmiconfig: 7.0.1 detective: 5.2.0 didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.2.7 - fs-extra: 10.0.0 + fast-glob: 3.2.11 + fs-extra: 10.1.0 glob-parent: 6.0.2 - html-tags: 3.1.0 + html-tags: 3.2.0 is-color-stop: 1.1.0 is-glob: 4.0.3 lodash: 4.17.21 @@ -4660,17 +4998,17 @@ packages: node-emoji: 1.11.0 normalize-path: 3.0.0 object-hash: 2.2.0 - postcss: 8.3.11 + postcss: 8.4.12 postcss-js: 3.0.3 - postcss-load-config: 3.1.0 - postcss-nested: 5.0.6_postcss@8.3.11 - postcss-selector-parser: 6.0.6 - postcss-value-parser: 4.1.0 + postcss-load-config: 3.1.4_postcss@8.4.12 + postcss-nested: 5.0.6_postcss@8.4.12 + postcss-selector-parser: 6.0.10 + postcss-value-parser: 4.2.0 pretty-hrtime: 1.0.3 - purgecss: 4.0.3 + purgecss: 4.1.3 quick-lru: 5.1.1 reduce-css-calc: 2.1.8 - resolve: 1.20.0 + resolve: 1.22.0 tmp: 0.2.1 transitivePeerDependencies: - ts-node @@ -4711,11 +5049,11 @@ packages: nan: 2.15.0 dev: false - /tiny-secp256k1/2.1.2: - resolution: {integrity: sha512-8qPw7zDK6Hco2tVGYGQeOmOPp/hZnREwy2iIkcq0ygAuqc9WHo29vKN94lNymh1QbB3nthtAMF6KTIrdbsIotA==} + /tiny-secp256k1/2.2.1: + resolution: {integrity: sha512-/U4xfVqnVxJXN4YVsru0E6t5wVncu2uunB8+RVR40fYUxkKYUPS10f+ePQZgFBoE/Jbf9H1NBveupF2VmB58Ng==} engines: {node: '>=14.0.0'} dependencies: - uint8array-tools: 0.0.6 + uint8array-tools: 0.0.7 dev: false /tmp/0.2.1: @@ -4742,6 +5080,11 @@ packages: engines: {node: '>=0.6'} dev: false + /toidentifier/1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + /touch/3.1.0: resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} hasBin: true @@ -4758,7 +5101,7 @@ packages: resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} dev: false - /ts-node/9.1.1_typescript@4.5.2: + /ts-node/9.1.1_typescript@4.6.3: resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} engines: {node: '>=10.0.0'} hasBin: true @@ -4770,23 +5113,19 @@ packages: diff: 4.0.2 make-error: 1.3.6 source-map-support: 0.5.21 - typescript: 4.5.2 + typescript: 4.6.3 yn: 3.1.1 dev: true - /tsconfig-paths/3.11.0: - resolution: {integrity: sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==} + /tsconfig-paths/3.14.1: + resolution: {integrity: sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==} dependencies: '@types/json5': 0.0.29 json5: 1.0.1 - minimist: 1.2.5 + minimist: 1.2.6 strip-bom: 3.0.0 dev: true - /tslib/2.1.0: - resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} - dev: true - /tslib/2.3.1: resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} dev: true @@ -4841,7 +5180,7 @@ packages: engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 - mime-types: 2.1.34 + mime-types: 2.1.35 dev: false /typedarray-to-buffer/3.1.5: @@ -4854,8 +5193,8 @@ packages: resolution: {integrity: sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==} dev: false - /typescript/4.5.2: - resolution: {integrity: sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==} + /typescript/4.6.3: + resolution: {integrity: sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==} engines: {node: '>=4.2.0'} hasBin: true dev: true @@ -4867,8 +5206,8 @@ packages: random-bytes: 1.0.0 dev: false - /uint8array-tools/0.0.6: - resolution: {integrity: sha512-aIvEHNRX1AlOYAr6qSUjQBn4mCduxx6MtC967aRDTb2UUBPj0Ix2ZFQDcmXUUO/UxRPHcw1f5a5nVbCSKDSOqA==} + /uint8array-tools/0.0.7: + resolution: {integrity: sha512-vrrNZJiusLWoFWBqz5Y5KMCgP9W9hnjZHzZiZRT8oNAkq3d5Z5Oe76jAvVVSRh4U8GGR90N2X1dWtrhvx6L8UQ==} engines: {node: '>=14.0.0'} dev: false @@ -4876,8 +5215,8 @@ packages: resolution: {integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==} dependencies: function-bind: 1.1.1 - has-bigints: 1.0.1 - has-symbols: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 dev: true @@ -4917,7 +5256,7 @@ packages: is-yarn-global: 0.3.0 latest-version: 5.1.0 pupa: 2.1.1 - semver: 7.3.5 + semver: 7.3.7 semver-diff: 3.1.1 xdg-basedir: 4.0.0 dev: true @@ -4965,8 +5304,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite/2.6.14: - resolution: {integrity: sha512-2HA9xGyi+EhY2MXo0+A2dRsqsAG3eFNEVIo12olkWhOmc8LfiM+eMdrXf+Ruje9gdXgvSqjLI9freec1RUM5EA==} + /vite/2.9.5: + resolution: {integrity: sha512-dvMN64X2YEQgSXF1lYabKXw3BbN6e+BL67+P3Vy4MacnY+UzT1AfkHiioFSi9+uiDUiaDy7Ax/LQqivk6orilg==} engines: {node: '>=12.2.0'} hasBin: true peerDependencies: @@ -4981,28 +5320,28 @@ packages: stylus: optional: true dependencies: - esbuild: 0.13.15 - postcss: 8.4.1 - resolve: 1.20.0 - rollup: 2.60.1 + esbuild: 0.14.37 + postcss: 8.4.12 + resolve: 1.22.0 + rollup: 2.70.2 optionalDependencies: fsevents: 2.3.2 dev: true - /vue-eslint-parser/8.0.1_eslint@8.3.0: - resolution: {integrity: sha512-lhWjDXJhe3UZw2uu3ztX51SJAPGPey1Tff2RK3TyZURwbuI4vximQLzz4nQfCv8CZq4xx7uIiogHMMoSJPr33A==} + /vue-eslint-parser/8.3.0_eslint@8.13.0: + resolution: {integrity: sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.2 - eslint: 8.3.0 - eslint-scope: 6.0.0 - eslint-visitor-keys: 3.1.0 - espree: 9.1.0 + debug: 4.3.4 + eslint: 8.13.0 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.3.0 + espree: 9.3.1 esquery: 1.4.0 lodash: 4.17.21 - semver: 7.3.5 + semver: 7.3.7 transitivePeerDependencies: - supports-color dev: true @@ -5011,42 +5350,48 @@ packages: resolution: {integrity: sha512-sp6M09oXGcRM3d3Jr80UywWx4C9I18nH/549fgNrs8qbCcw+DJc8QSUFkJ91lqWndGQ1q5rYen4i4IIrpHPVYA==} dev: false - /vue-router/4.0.12_vue@3.2.20: - resolution: {integrity: sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==} + /vue-router/4.0.14_vue@3.2.33: + resolution: {integrity: sha512-wAO6zF9zxA3u+7AkMPqw9LjoUCjSxfFvINQj3E/DceTt6uEz1XZLraDhdg2EYmvVwTBSGlLYsUw8bDmx0754Mw==} peerDependencies: - vue: ^3.0.0 + vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.0.0-beta.19 - vue: 3.2.20 + '@vue/devtools-api': 6.1.4 + vue: 3.2.33 dev: false - /vue/3.2.20: - resolution: {integrity: sha512-81JjEP4OGk9oO8+CU0h2nFPGgJBm9mNa3kdCX2k6FuRdrWrC+CNe+tOnuIeTg8EWwQuI+wwdra5Q7vSzp7p4Iw==} + /vue/3.2.33: + resolution: {integrity: sha512-si1ExAlDUrLSIg/V7D/GgA4twJwfsfgG+t9w10z38HhL/HA07132pUQ2KuwAo8qbCyMJ9e6OqrmWrOCr+jW7ZQ==} dependencies: - '@vue/compiler-dom': 3.2.20 - '@vue/compiler-sfc': 3.2.20 - '@vue/runtime-dom': 3.2.20 - '@vue/server-renderer': 3.2.20_vue@3.2.20 - '@vue/shared': 3.2.20 + '@vue/compiler-dom': 3.2.33 + '@vue/compiler-sfc': 3.2.33 + '@vue/runtime-dom': 3.2.33 + '@vue/server-renderer': 3.2.33_vue@3.2.33 + '@vue/shared': 3.2.33 dev: false /vuex-persistedstate/4.1.0_vuex@4.0.2: resolution: {integrity: sha512-3SkEj4NqwM69ikJdFVw6gObeB0NHyspRYMYkR/EbhR0hbvAKyR5gksVhtAfY1UYuWUOCCA0QNGwv9pOwdj+XUQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. peerDependencies: vuex: ^3.0 || ^4.0.0-rc dependencies: deepmerge: 4.2.2 shvl: 2.0.3 - vuex: 4.0.2_vue@3.2.20 + vuex: 4.0.2_vue@3.2.33 dev: false - /vuex/4.0.2_vue@3.2.20: + /vuex/4.0.2_vue@3.2.33: resolution: {integrity: sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==} peerDependencies: vue: ^3.0.2 dependencies: - '@vue/devtools-api': 6.0.0-beta.19 - vue: 3.2.20 + '@vue/devtools-api': 6.1.4 + vue: 3.2.33 + dev: false + + /web-streams-polyfill/3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} dev: false /which-boxed-primitive/1.0.2: @@ -5054,7 +5399,7 @@ packages: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 - is-number-object: 1.0.6 + is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 dev: true @@ -5080,27 +5425,29 @@ packages: bs58check: 2.1.2 dev: false - /winston-transport/4.4.0: - resolution: {integrity: sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==} + /winston-transport/4.5.0: + resolution: {integrity: sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==} engines: {node: '>= 6.4.0'} dependencies: - readable-stream: 2.3.7 + logform: 2.4.0 + readable-stream: 3.6.0 triple-beam: 1.3.0 dev: false - /winston/3.3.3: - resolution: {integrity: sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==} - engines: {node: '>= 6.4.0'} + /winston/3.7.2: + resolution: {integrity: sha512-QziIqtojHBoyzUOdQvQiar1DH0Xp9nF1A1y7NVy2DGEsz82SBDtOalS0ulTRGVT14xPX3WRWkCsdcJKqNflKng==} + engines: {node: '>= 12.0.0'} dependencies: - '@dabh/diagnostics': 2.0.2 - async: 3.2.2 + '@dabh/diagnostics': 2.0.3 + async: 3.2.3 is-stream: 2.0.1 - logform: 2.3.0 + logform: 2.4.0 one-time: 1.0.0 readable-stream: 3.6.0 + safe-stable-stringify: 2.3.1 stack-trace: 0.0.10 triple-beam: 1.3.0 - winston-transport: 4.4.0 + winston-transport: 4.5.0 dev: false /word-wrap/1.2.3: @@ -5134,7 +5481,7 @@ packages: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 - signal-exit: 3.0.6 + signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 dev: true @@ -5151,8 +5498,8 @@ packages: optional: true dev: false - /ws/8.3.0: - resolution: {integrity: sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==} + /ws/8.5.0: + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5191,6 +5538,11 @@ packages: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} + /yargs-parser/21.0.1: + resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==} + engines: {node: '>=12'} + dev: true + /yargs/16.2.0: resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} engines: {node: '>=10'} @@ -5204,8 +5556,8 @@ packages: yargs-parser: 20.2.9 dev: false - /yargs/17.2.1: - resolution: {integrity: sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==} + /yargs/17.4.1: + resolution: {integrity: sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==} engines: {node: '>=12'} dependencies: cliui: 7.0.4 @@ -5214,7 +5566,7 @@ packages: require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 - yargs-parser: 20.2.9 + yargs-parser: 21.0.1 dev: true /yn/3.1.1: