make deps optional + bug fixes

This commit is contained in:
Adhiraj Singh
2021-07-18 17:27:23 +05:30
parent bd86f95a9c
commit 6751b5cc73
9 changed files with 122 additions and 212 deletions

View File

@@ -32,20 +32,18 @@
"url": "git@github.com:adiwajshing/baileys.git" "url": "git@github.com:adiwajshing/baileys.git"
}, },
"dependencies": { "dependencies": {
"@adiwajshing/keyed-db": "^0.2.2",
"@hapi/boom": "^9.1.3", "@hapi/boom": "^9.1.3",
"curve25519-js": "^0.0.4", "curve25519-js": "^0.0.4",
"futoin-hkdf": "^1.3.2", "futoin-hkdf": "^1.3.2",
"got": "^11.8.1", "got": "^11.8.1",
"https-proxy-agent": "^5.0.0",
"jimp": "^0.16.1", "jimp": "^0.16.1",
"music-metadata": "^7.4.1", "music-metadata": "^7.4.1",
"pino": "^6.7.0", "pino": "^6.7.0",
"pino-pretty": "^4.3.0",
"protobufjs": "^6.10.1", "protobufjs": "^6.10.1",
"ws": "^7.3.1" "ws": "^7.3.1"
}, },
"optionalDependencies": { "optionalDependencies": {
"@adiwajshing/keyed-db": "^0.2.4",
"qrcode-terminal": "^0.12.0" "qrcode-terminal": "^0.12.0"
}, },
"files": [ "files": [
@@ -53,11 +51,13 @@
"WAMessage/*" "WAMessage/*"
], ],
"devDependencies": { "devDependencies": {
"@adiwajshing/keyed-db": "^0.2.4",
"@types/got": "^9.6.11", "@types/got": "^9.6.11",
"@types/jest": "^26.0.24", "@types/jest": "^26.0.24",
"@types/node": "^14.6.2", "@types/node": "^14.6.2",
"@types/pino": "^6.3.2", "@types/pino": "^6.3.2",
"@types/ws": "^7.2.6", "@types/ws": "^7.2.6",
"https-proxy-agent": "^5.0.0",
"jest": "^27.0.6", "jest": "^27.0.6",
"qrcode-terminal": "^0.12.0", "qrcode-terminal": "^0.12.0",
"ts-jest": "^27.0.3", "ts-jest": "^27.0.3",

View File

@@ -37,11 +37,11 @@ const makeAuthSocket = (config: SocketConfig) => {
} }
} }
}) })
const { socketEvents } = socket const { ws } = socket
let curveKeys: CurveKeyPair let curveKeys: CurveKeyPair
let initTimeout: NodeJS.Timeout let initTimeout: NodeJS.Timeout
// add close listener // add close listener
socketEvents.on('ws-close', (error: Boom | Error) => { ws.on('ws-close', (error: Boom | Error) => {
logger.info({ error }, 'Closed connection to WhatsApp') logger.info({ error }, 'Closed connection to WhatsApp')
initTimeout && clearTimeout(initTimeout) initTimeout && clearTimeout(initTimeout)
// if no reconnects occur // if no reconnects occur
@@ -239,7 +239,7 @@ const makeAuthSocket = (config: SocketConfig) => {
}) })
ev.emit('credentials.update', auth) ev.emit('credentials.update', auth)
} }
socketEvents.once('ws-open', async() => { ws.once('open', async() => {
try { try {
await onOpen() await onOpen()
} catch(error) { } catch(error) {

View File

@@ -156,8 +156,6 @@ const makeChatsSocket = (config: SocketConfig) => {
logger.error(`error in sending init queries: ${error}`) logger.error(`error in sending init queries: ${error}`)
} }
}) })
// this persists through socket connections
// as conn & getSocket share the same eventemitter
socketEvents.on('CB:response,type:chat', async ({ data }: BinaryNode) => { socketEvents.on('CB:response,type:chat', async ({ data }: BinaryNode) => {
chatsDebounceTimeout.cancel() chatsDebounceTimeout.cancel()
if(Array.isArray(data)) { if(Array.isArray(data)) {
@@ -171,7 +169,7 @@ const makeChatsSocket = (config: SocketConfig) => {
}) })
logger.info(`got ${chats.length} chats`) logger.info(`got ${chats.length} chats`)
ev.emit('chats.upsert', { chats, type: 'set' }) ev.emit('chats.set', { chats })
} }
}) })
// got all contacts from phone // got all contacts from phone
@@ -184,7 +182,7 @@ const makeChatsSocket = (config: SocketConfig) => {
}) })
logger.info(`got ${contacts.length} contacts`) logger.info(`got ${contacts.length} contacts`)
ev.emit('contacts.upsert', { contacts, type: 'set' }) ev.emit('contacts.set', { contacts })
} }
}) })
// status updates // status updates
@@ -237,7 +235,7 @@ const makeChatsSocket = (config: SocketConfig) => {
const user = node[1] as Contact const user = node[1] as Contact
user.jid = whatsappID(user.jid) user.jid = whatsappID(user.jid)
ev.emit('contacts.upsert', { contacts: [user], type: 'upsert' }) ev.emit('contacts.upsert', [user])
} }
}) })
@@ -251,7 +249,7 @@ const makeChatsSocket = (config: SocketConfig) => {
socketEvents.on('CB:Blocklist', json => { socketEvents.on('CB:Blocklist', json => {
json = json[1] json = json[1]
const blocklist = json.blocklist const blocklist = json.blocklist
ev.emit('blocklist.update', { blocklist, type: 'set' }) ev.emit('blocklist.set', { blocklist })
}) })
return { return {

View File

@@ -143,17 +143,14 @@ const makeGroupsSocket = (config: SocketConfig) => {
metadata = await groupMetadataFull(gid) metadata = await groupMetadataFull(gid)
logger.warn (`group ID switched from ${gid} to ${response.gid}`) logger.warn (`group ID switched from ${gid} to ${response.gid}`)
} }
ev.emit('chats.upsert', { ev.emit('chats.upsert', [
chats: [ {
{ jid: response.gid,
jid: response.gid, name: title,
name: title, t: unixTimestampSeconds(),
t: unixTimestampSeconds(), count: 0
count: 0 }
} ])
],
type: 'upsert'
})
return metadata return metadata
}, },
/** /**

View File

@@ -95,6 +95,8 @@ export const makeSocket = ({
return tag return tag
} }
const end = (error: Error | undefined) => { const end = (error: Error | undefined) => {
logger.debug({ error }, 'connection closed')
ws.removeAllListeners('close') ws.removeAllListeners('close')
ws.removeAllListeners('error') ws.removeAllListeners('error')
ws.removeAllListeners('open') ws.removeAllListeners('open')
@@ -105,9 +107,11 @@ export const makeSocket = ({
clearPhoneCheckInterval() clearPhoneCheckInterval()
if(ws.readyState !== ws.CLOSED && ws.readyState !== ws.CLOSING) { if(ws.readyState !== ws.CLOSED && ws.readyState !== ws.CLOSING) {
socketEvents.emit('ws-close', error)
try { ws.close() } catch { } try { ws.close() } catch { }
} }
ws.emit('ws-close', error)
// so it cannot be re-emitted
ws.removeAllListeners('ws-close')
} }
const onMessageRecieved = (message: string | Buffer) => { const onMessageRecieved = (message: string | Buffer) => {
if(message[0] === '!') { if(message[0] === '!') {
@@ -221,7 +225,8 @@ export const makeSocket = ({
onErr = err => reject(err || new Boom('Connection Closed', { statusCode: 429 })) onErr = err => reject(err || new Boom('Connection Closed', { statusCode: 429 }))
socketEvents.on(`TAG:${tag}`, onRecv) socketEvents.on(`TAG:${tag}`, onRecv)
socketEvents.on('ws-close', onErr) // if the socket closes, you'll never receive the message ws.on('close', onErr) // if the socket closes, you'll never receive the message
ws.on('error', onErr)
}, },
) )
return result as any return result as any
@@ -230,7 +235,8 @@ export const makeSocket = ({
cancelPhoneChecker && cancelPhoneChecker() cancelPhoneChecker && cancelPhoneChecker()
socketEvents.off(`TAG:${tag}`, onRecv) socketEvents.off(`TAG:${tag}`, onRecv)
socketEvents.off(`ws-close`, onErr) ws.off('close', onErr) // if the socket closes, you'll never receive the message
ws.off('error', onErr)
} }
} }
/** /**
@@ -290,21 +296,21 @@ export const makeSocket = ({
await new Promise((resolve, reject) => { await new Promise((resolve, reject) => {
onOpen = () => resolve(undefined) onOpen = () => resolve(undefined)
onClose = reject onClose = reject
socketEvents.on('ws-open', onOpen) ws.on('open', onOpen)
socketEvents.on('ws-close', onClose) ws.on('close', onClose)
ws.on('error', onClose)
}) })
.finally(() => { .finally(() => {
socketEvents.off('ws-open', onOpen) socketEvents.off('open', onOpen)
socketEvents.off('ws-close', onClose) socketEvents.off('close', onClose)
socketEvents.off('error', onClose)
}) })
} }
ws.on('message', onMessageRecieved) ws.on('message', onMessageRecieved)
ws.on('open', () => { ws.on('open', () => {
startKeepAliveRequest() startKeepAliveRequest()
logger.info('Opened WS connection to WhatsApp Web') logger.info('Opened WS connection to WhatsApp Web')
socketEvents.emit('ws-open')
}) })
ws.on('error', end) ws.on('error', end)
ws.on('close', () => end(new Boom('Connection Terminated', { statusCode: DisconnectReason.connectionLost }))) ws.on('close', () => end(new Boom('Connection Terminated', { statusCode: DisconnectReason.connectionLost })))

View File

@@ -1,6 +1,6 @@
import KeyedDB from "@adiwajshing/keyed-db" import type KeyedDB from "@adiwajshing/keyed-db"
import { Comparable } from "@adiwajshing/keyed-db/lib/Types" import type { Comparable } from "@adiwajshing/keyed-db/lib/Types"
import { Logger } from "pino" import type { Logger } from "pino"
import type { Connection } from "../Connection" import type { Connection } from "../Connection"
import type { BaileysEventEmitter, Chat, ConnectionState, Contact, GroupMetadata, WAMessage, WAMessageCursor } from "../Types" import type { BaileysEventEmitter, Chat, ConnectionState, Contact, GroupMetadata, WAMessage, WAMessageCursor } from "../Types"
import { toNumber } from "../Utils" import { toNumber } from "../Utils"
@@ -23,8 +23,8 @@ const makeMessagesDictionary = () => makeOrderedDictionary(waMessageID)
export default( export default(
{ logger, chatKey }: BaileysInMemoryStoreConfig { logger, chatKey }: BaileysInMemoryStoreConfig
) => { ) => {
const KeyedDBConstructor = require('@adiwajshing/keyed-db').default as new (...args: any[]) => KeyedDB<Chat, string>
const chats = new KeyedDB<Chat, string>(chatKey, c => c.jid) const chats = new KeyedDBConstructor(chatKey, c => c.jid)
const messages: { [_: string]: ReturnType<typeof makeMessagesDictionary> } = {} const messages: { [_: string]: ReturnType<typeof makeMessagesDictionary> } = {}
const contacts: { [_: string]: Contact } = {} const contacts: { [_: string]: Contact } = {}
const groupMetadata: { [_: string]: GroupMetadata } = {} const groupMetadata: { [_: string]: GroupMetadata } = {}
@@ -40,10 +40,7 @@ export default(
const listen = (ev: BaileysEventEmitter) => { const listen = (ev: BaileysEventEmitter) => {
ev.on('connection.update', update => { const contactsUpsert = (newContacts: Contact[]) => {
Object.assign(state, update)
})
ev.on('contacts.upsert', ({ contacts: newContacts, type }) => {
const oldContacts = new Set(Object.keys(contacts)) const oldContacts = new Set(Object.keys(contacts))
for(const contact of newContacts) { for(const contact of newContacts) {
oldContacts.delete(contact.jid) oldContacts.delete(contact.jid)
@@ -52,12 +49,18 @@ export default(
contact contact
) )
} }
if(type === 'set') { return oldContacts
for(const jid of oldContacts) { }
delete contacts[jid]
} ev.on('connection.update', update => {
logger.debug({ deletedContacts: oldContacts.size }, 'synced contacts') Object.assign(state, update)
})
ev.on('contacts.set', ({ contacts: newContacts }) => {
const oldContacts = contactsUpsert(newContacts)
for(const jid of oldContacts) {
delete contacts[jid]
} }
logger.debug({ deletedContacts: oldContacts.size }, 'synced contacts')
}) })
ev.on('contacts.update', updates => { ev.on('contacts.update', updates => {
for(const update of updates) { for(const update of updates) {
@@ -68,13 +71,11 @@ export default(
} }
} }
}) })
ev.on('chats.upsert', ({ chats: newChats, type }) => { ev.on('chats.upsert', newChats => {
if(type === 'set') { chats.upsert(...newChats)
chats.clear() })
} ev.on('chats.set', ({ chats: newChats }) => {
for(const chat of newChats) { chats.upsert(...newChats)
chats.upsert(chat)
}
}) })
ev.on('chats.update', updates => { ev.on('chats.update', updates => {
for(const update of updates) { for(const update of updates) {
@@ -101,10 +102,9 @@ export default(
list.upsert(msg, 'append') list.upsert(msg, 'append')
if(type === 'notify' && !chats.get(jid)) { if(type === 'notify' && !chats.get(jid)) {
ev.emit('chats.upsert', { ev.emit('chats.upsert', [
chats: [ { jid, t: toNumber(msg.messageTimestamp), count: 1 } ], { jid, t: toNumber(msg.messageTimestamp), count: 1 }
type: 'upsert' ])
})
} }
} }
break break
@@ -135,9 +135,10 @@ export default(
const list = assertMessageList(update.key.remoteJid) const list = assertMessageList(update.key.remoteJid)
const result = list.updateAssign(update) const result = list.updateAssign(update)
if(!result) { if(!result) {
logger.debug({ update }, `got update for non-existant message`) logger.debug({ update }, `got update for non-existent message`)
} }
} }
}) })
ev.on('messages.delete', item => { ev.on('messages.delete', item => {
const list = assertMessageList(item.jid) const list = assertMessageList(item.jid)

View File

@@ -50,6 +50,7 @@ const makeOrderedDictionary = function<T>(idGetter: (item: T) => string) {
const item = get(idGetter(update as any)) const item = get(idGetter(update as any))
if(item) { if(item) {
Object.assign(item, update) Object.assign(item, update)
return true
} }
return false return false
}, },

View File

@@ -170,11 +170,13 @@ export type BaileysEventMap = {
'connection.update': Partial<ConnectionState> 'connection.update': Partial<ConnectionState>
'credentials.update': AuthenticationCredentials 'credentials.update': AuthenticationCredentials
'chats.upsert': { chats: Chat[], type: 'set' | 'upsert' } 'chats.set': { chats: Chat[] }
'chats.upsert': Chat[]
'chats.update': Partial<Chat>[] 'chats.update': Partial<Chat>[]
'chats.delete': string[] 'chats.delete': string[]
'contacts.upsert': { contacts: Contact[], type: 'set' | 'upsert' } 'contacts.set': { contacts: Contact[] }
'contacts.upsert': Contact[]
'contacts.update': Partial<Contact>[] 'contacts.update': Partial<Contact>[]
'messages.delete': { jid: string, ids: string[] } | { jid: string, all: true } 'messages.delete': { jid: string, ids: string[] } | { jid: string, all: true }
@@ -184,7 +186,8 @@ export type BaileysEventMap = {
'groups.update': Partial<GroupMetadata>[] 'groups.update': Partial<GroupMetadata>[]
'group-participants.update': { jid: string, participants: string[], action: ParticipantAction } 'group-participants.update': { jid: string, participants: string[], action: ParticipantAction }
'blocklist.update': { blocklist: string[], type: 'add' | 'remove' | 'set' } 'blocklist.set': { blocklist: string[] }
'blocklist.update': { blocklist: string[], type: 'add' | 'remove' }
} }
export interface BaileysEventEmitter extends EventEmitter { export interface BaileysEventEmitter extends EventEmitter {
on<T extends keyof BaileysEventMap>(event: T, listener: (arg: BaileysEventMap[T]) => void): this on<T extends keyof BaileysEventMap>(event: T, listener: (arg: BaileysEventMap[T]) => void): this

204
yarn.lock
View File

@@ -2,7 +2,7 @@
# yarn lockfile v1 # yarn lockfile v1
"@adiwajshing/keyed-db@^0.2.2": "@adiwajshing/keyed-db@^0.2.4":
version "0.2.4" version "0.2.4"
resolved "https://registry.yarnpkg.com/@adiwajshing/keyed-db/-/keyed-db-0.2.4.tgz#2a09e88fce20b2672deb60a7750c5fe3ab0dfd99" resolved "https://registry.yarnpkg.com/@adiwajshing/keyed-db/-/keyed-db-0.2.4.tgz#2a09e88fce20b2672deb60a7750c5fe3ab0dfd99"
integrity sha512-yprSnAtj80/VKuDqRcFFLDYltoNV8tChNwFfIgcf6PGD4sjzWIBgs08pRuTqGH5mk5wgL6PBRSsMCZqtZwzFEw== integrity sha512-yprSnAtj80/VKuDqRcFFLDYltoNV8tChNwFfIgcf6PGD4sjzWIBgs08pRuTqGH5mk5wgL6PBRSsMCZqtZwzFEw==
@@ -321,11 +321,6 @@
dependencies: dependencies:
"@hapi/hoek" "9.x.x" "@hapi/hoek" "9.x.x"
"@hapi/bourne@^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@hapi/bourne/-/bourne-2.0.0.tgz#5bb2193eb685c0007540ca61d166d4e1edaf918d"
integrity sha512-WEezM1FWztfbzqIUbsDzFRVMxSoLy3HugVcux6KDDtTqzPsLE8NDRHfXvev66aH1i2oOKKar3/XDjbvh/OUBdg==
"@hapi/hoek@9.x.x": "@hapi/hoek@9.x.x":
version "9.2.0" version "9.2.0"
resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131"
@@ -890,9 +885,9 @@
"@sinonjs/commons" "^1.7.0" "@sinonjs/commons" "^1.7.0"
"@szmarczak/http-timer@^4.0.5": "@szmarczak/http-timer@^4.0.5":
version "4.0.5" version "4.0.6"
resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.5.tgz#bfbd50211e9dfa51ba07da58a14cdfd333205152" resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807"
integrity sha512-PyRA9sm1Yayuj5OIoJ1hGt2YISX45w9WcFbh6ddT0Z/0yaFxOtGLInr4jUfU1EAFVs0Yfyfev4RNwBlUaHdlDQ== integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==
dependencies: dependencies:
defer-to-connect "^2.0.0" defer-to-connect "^2.0.0"
@@ -969,11 +964,6 @@
"@types/node" "*" "@types/node" "*"
"@types/responselike" "*" "@types/responselike" "*"
"@types/debug@^4.1.5":
version "4.1.6"
resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.6.tgz#0b7018723084918a865eff99249c490505df2163"
integrity sha512-7fDOJFA/x8B+sO1901BmHlf5dE1cxBU8mRXj8QOEDnn16hhGJv/IHxJtZhvsabZsIMn0eLIyeOKAeqSNJJYTpA==
"@types/got@^9.6.11": "@types/got@^9.6.11":
version "9.6.12" version "9.6.12"
resolved "https://registry.yarnpkg.com/@types/got/-/got-9.6.12.tgz#fd42a6e1f5f64cd6bb422279b08c30bb5a15a56f" resolved "https://registry.yarnpkg.com/@types/got/-/got-9.6.12.tgz#fd42a6e1f5f64cd6bb422279b08c30bb5a15a56f"
@@ -1035,9 +1025,9 @@
integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w== integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
"@types/node@*", "@types/node@>=13.7.0": "@types/node@*", "@types/node@>=13.7.0":
version "16.0.1" version "16.3.3"
resolved "https://registry.yarnpkg.com/@types/node/-/node-16.0.1.tgz#70cedfda26af7a2ca073fdcc9beb2fff4aa693f8" resolved "https://registry.yarnpkg.com/@types/node/-/node-16.3.3.tgz#0c30adff37bbbc7a50eb9b58fae2a504d0d88038"
integrity sha512-hBOx4SUlEPKwRi6PrXuTGw1z6lz0fjsibcWCM378YxsSu/6+C30L6CR49zIBKHiwNWCYIcOLjg4OHKZaFeLAug== integrity sha512-8h7k1YgQKxKXWckzFCMfsIwn0Y61UK6tlD6y2lOb3hTOIMlK3t9/QwHOhc81TwU+RMf0As5fj7NPjroERCnejQ==
"@types/node@^14.6.2": "@types/node@^14.6.2":
version "14.17.5" version "14.17.5"
@@ -1073,14 +1063,6 @@
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3"
integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog==
"@types/readable-stream@^2.3.9":
version "2.3.11"
resolved "https://registry.yarnpkg.com/@types/readable-stream/-/readable-stream-2.3.11.tgz#942bc4574a1d7ca4368cb9cb4352e3d2b4b51dea"
integrity sha512-0z+/apYJwKFz/RHp6mOMxz/y7xOvWPYPevuCEyAY3gXsjtaac02E26RvxA+I96rfvmVH/dEMGXNvyJfViR1FSQ==
dependencies:
"@types/node" "*"
safe-buffer "*"
"@types/responselike@*", "@types/responselike@^1.0.0": "@types/responselike@*", "@types/responselike@^1.0.0":
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
@@ -1222,16 +1204,6 @@ argparse@^1.0.7:
dependencies: dependencies:
sprintf-js "~1.0.2" sprintf-js "~1.0.2"
args@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/args/-/args-5.0.1.tgz#4bf298df90a4799a09521362c579278cc2fdd761"
integrity sha512-1kqmFCFsPffavQFGt8OxJdIcETti99kySRUPMpOhaGjL6mRJn8HFU1OxKY5bMqfZKUwTQc1mZkAjmGYaVOHFtQ==
dependencies:
camelcase "5.0.0"
chalk "2.4.2"
leven "2.1.0"
mri "1.1.4"
asynckit@^0.4.0: asynckit@^0.4.0:
version "0.4.0" version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -1409,11 +1381,6 @@ callsites@^3.0.0:
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camelcase@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42"
integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==
camelcase@^5.3.1: camelcase@^5.3.1:
version "5.3.1" version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@@ -1425,11 +1392,11 @@ camelcase@^6.2.0:
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
caniuse-lite@^1.0.30001219: caniuse-lite@^1.0.30001219:
version "1.0.30001243" version "1.0.30001245"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001243.tgz#d9250155c91e872186671c523f3ae50cfc94a3aa" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001245.tgz#45b941bbd833cb0fa53861ff2bae746b3c6ca5d4"
integrity sha512-vNxw9mkTBtkmLFnJRv/2rhs1yufpDfCkBZexG3Y0xdOH2Z/eE/85E4Dl5j1YUN34nZVsSp6vVRFQRrez9wJMRA== integrity sha512-768fM9j1PKXpOCKws6eTo3RHmvTUsG9UrpT4WoREFeZgJBTi4/X9g565azS/rVUGtqb8nt7FjLeF5u4kukERnA==
chalk@2.4.2, chalk@^2.0.0: chalk@^2.0.0:
version "2.4.2" version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -1457,9 +1424,9 @@ ci-info@^3.1.1:
integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A==
cjs-module-lexer@^1.0.0: cjs-module-lexer@^1.0.0:
version "1.2.1" version "1.2.2"
resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz#2fd46d9906a126965aa541345c499aaa18e8cd73" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
integrity sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw== integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
cliui@^7.0.2: cliui@^7.0.2:
version "7.0.4" version "7.0.4"
@@ -1590,11 +1557,6 @@ data-urls@^2.0.0:
whatwg-mimetype "^2.3.0" whatwg-mimetype "^2.3.0"
whatwg-url "^8.0.0" whatwg-url "^8.0.0"
dateformat@^4.5.1:
version "4.5.1"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-4.5.1.tgz#c20e7a9ca77d147906b6dc2261a8be0a5bd2173c"
integrity sha512-OD0TZ+B7yP7ZgpJf5K2DIbj3FZvFvxgFUuaqA/V5zTjAtAAXZ1E8bktHxmAGs4x5b7PflqA9LeQ84Og7wYtF7Q==
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1:
version "4.3.2" version "4.3.2"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
@@ -1672,9 +1634,9 @@ domexception@^2.0.1:
webidl-conversions "^5.0.0" webidl-conversions "^5.0.0"
electron-to-chromium@^1.3.723: electron-to-chromium@^1.3.723:
version "1.3.770" version "1.3.779"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.770.tgz#a9e705a73315f4900880622b3ab76cf1d7221b77" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.779.tgz#de55492a756deec63424f89fbe62aec9776f0e6d"
integrity sha512-Kyh8DGK1KfEZuYKIHvuOmrKotsKZQ+qBkDIWHciE3QoFkxXB1KzPP+tfLilSHAfxTON0yYMnFCWkQtUOR7g6KQ== integrity sha512-nreave0y/1Qhmo8XtO6C/LpawNyC6U26+q7d814/e+tIqUK073pM+4xW7WUXyqCRa5K4wdxHmNMBAi8ap9nEew==
emittery@^0.8.1: emittery@^0.8.1:
version "0.8.1" version "0.8.1"
@@ -1787,10 +1749,10 @@ fast-redact@^3.0.0:
resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92" resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.0.1.tgz#d6015b971e933d03529b01333ba7f22c29961e92"
integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw== integrity sha512-kYpn4Y/valC9MdrISg47tZOpYBNoTXKgT9GYXFpHN/jYFs+lFkPoisY+LcBODdKVMY96ATzvzsWv+ES/4Kmufw==
fast-safe-stringify@^2.0.7: fast-safe-stringify@^2.0.8:
version "2.0.7" version "2.0.8"
resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.8.tgz#dc2af48c46cf712b683e849b2bbd446b32de936f"
integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== integrity sha512-lXatBjf3WPjmWD6DpIZxkeSsCOwqI0maYMpgDlx8g4U2qi4lbjA9oH/HD2a87G+KfsUmo5WbJFmqBZlPxtptag==
fb-watchman@^2.0.0: fb-watchman@^2.0.0:
version "2.0.1" version "2.0.1"
@@ -1800,9 +1762,9 @@ fb-watchman@^2.0.0:
bser "2.1.1" bser "2.1.1"
file-type@^16.5.0: file-type@^16.5.0:
version "16.5.0" version "16.5.1"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.0.tgz#16a2626f3b33bac612f6e81e52216f3a7c8e12a2" resolved "https://registry.yarnpkg.com/file-type/-/file-type-16.5.1.tgz#dd697dc5c3a2f4db63af746f38a6322e5e7bc6a5"
integrity sha512-OxgWA9tbL8N/WP00GD1z8O0MiwQKFyWRs1q+3FhjdvcGgKqwxcejyGWso3n4/IMU6DdwV+ARZ4A7TTnPkDcSiw== integrity sha512-Pi1G43smrCy82Q3be3sfKaeS5uHdfj905dP88YqhroG6TYbVY2ljTdDXeXqa6Cn5nOk6znOjWM2uZptA8vH/qQ==
dependencies: dependencies:
readable-web-to-node-stream "^3.0.0" readable-web-to-node-stream "^3.0.0"
strtok3 "^6.0.3" strtok3 "^6.0.3"
@@ -2095,9 +2057,9 @@ is-ci@^3.0.0:
ci-info "^3.1.1" ci-info "^3.1.1"
is-core-module@^2.2.0: is-core-module@^2.2.0:
version "2.4.0" version "2.5.0"
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.5.0.tgz#f754843617c70bfd29b7bd87327400cda5c18491"
integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== integrity sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==
dependencies: dependencies:
has "^1.0.3" has "^1.0.3"
@@ -2617,16 +2579,6 @@ jimp@^0.16.1:
"@jimp/types" "^0.16.1" "@jimp/types" "^0.16.1"
regenerator-runtime "^0.13.3" regenerator-runtime "^0.13.3"
jmespath@^0.15.0:
version "0.15.0"
resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217"
integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=
joycon@^2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/joycon/-/joycon-2.2.5.tgz#8d4cf4cbb2544d7b7583c216fcdfec19f6be1615"
integrity sha512-YqvUxoOcVPnCp0VU1/56f+iKSdvIRJYPznH22BdXV3xMk75SFXhWeJkZ8C9XxUWt1b5x2X1SxuFygW1U0FmkEQ==
jpeg-js@0.4.2: jpeg-js@0.4.2:
version "0.4.2" version "0.4.2"
resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.2.tgz#8b345b1ae4abde64c2da2fe67ea216a114ac279d" resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.2.tgz#8b345b1ae4abde64c2da2fe67ea216a114ac279d"
@@ -2716,11 +2668,6 @@ kleur@^3.0.3:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
leven@2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA=
leven@^3.1.0: leven@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@@ -2894,11 +2841,6 @@ mkdirp@^0.5.1:
dependencies: dependencies:
minimist "^1.2.5" minimist "^1.2.5"
mri@1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.4.tgz#7cb1dd1b9b40905f1fac053abe25b6720f44744a"
integrity sha512-6y7IjGPm8AzlvoUrwAaw1tLnUBudaS3752vcd8JtrpGGQn+rXIe63LFVHm/YMwtqAuh+LJPCFdlLYPWM1nYn6w==
ms@2.1.2: ms@2.1.2:
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -3083,10 +3025,10 @@ path-parse@^1.0.6:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
peek-readable@^3.1.3: peek-readable@^4.0.0:
version "3.1.3" version "4.0.0"
resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-3.1.3.tgz#932480d46cf6aa553c46c68566c4fb69a82cd2b1" resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.0.0.tgz#b024ef391c86136eba0ae9df3ff4f966a09e9a7e"
integrity sha512-mpAcysyRJxmICBcBa5IXH7SZPvWkcghm6Fk8RekoS3v+BpbSzlZzuWbMx+GXrlUwESi9qHar4nVEZNMKylIHvg== integrity sha512-kLbU4cz6h86poGVBKgAVMpFmD47nX04fPPQNKnv9fuj+IJZYkEBjsYAVu5nDbZWx0ZsWwWlMzeG90zQa5KLBaA==
phin@^2.9.1: phin@^2.9.1:
version "2.9.3" version "2.9.3"
@@ -3098,36 +3040,18 @@ picomatch@^2.0.4, picomatch@^2.2.3:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
pino-pretty@^4.3.0:
version "4.8.0"
resolved "https://registry.yarnpkg.com/pino-pretty/-/pino-pretty-4.8.0.tgz#f2f3055bf222456217b14ffb04d8be0a0cc17fce"
integrity sha512-mhQfHG4rw5ZFpWL44m0Utjo4GC2+HMfdNvxyA8lLw0sIqn6fCf7uQe6dPckUcW/obly+OQHD7B/MTso6LNizYw==
dependencies:
"@hapi/bourne" "^2.0.0"
args "^5.0.1"
chalk "^4.0.0"
dateformat "^4.5.1"
fast-safe-stringify "^2.0.7"
jmespath "^0.15.0"
joycon "^2.2.5"
pump "^3.0.0"
readable-stream "^3.6.0"
rfdc "^1.3.0"
split2 "^3.1.1"
strip-json-comments "^3.1.1"
pino-std-serializers@^3.1.0: pino-std-serializers@^3.1.0:
version "3.2.0" version "3.2.0"
resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671" resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz#b56487c402d882eb96cd67c257868016b61ad671"
integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg== integrity sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==
pino@^6.7.0: pino@^6.7.0:
version "6.11.3" version "6.12.0"
resolved "https://registry.yarnpkg.com/pino/-/pino-6.11.3.tgz#0c02eec6029d25e6794fdb6bbea367247d74bc29" resolved "https://registry.yarnpkg.com/pino/-/pino-6.12.0.tgz#2281521620d70eeff519039467352d656f46735e"
integrity sha512-drPtqkkSf0ufx2gaea3TryFiBHdNIdXKf5LN0hTM82SXI4xVIve2wLwNg92e1MT6m3jASLu6VO7eGY6+mmGeyw== integrity sha512-5NGopOcUusGuklGHVVv9az0Hv/Dj3urHhD3G+zhl5pBGIRYAeGCi/Ej6YCl16Q2ko28cmYiJz+/qRoJiwy62Rw==
dependencies: dependencies:
fast-redact "^3.0.0" fast-redact "^3.0.0"
fast-safe-stringify "^2.0.7" fast-safe-stringify "^2.0.8"
flatstr "^1.0.12" flatstr "^1.0.12"
pino-std-serializers "^3.1.0" pino-std-serializers "^3.1.0"
quick-format-unescaped "^4.0.3" quick-format-unescaped "^4.0.3"
@@ -3259,7 +3183,7 @@ react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
readable-stream@^3.0.0, readable-stream@^3.6.0: readable-stream@^3.6.0:
version "3.6.0" version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -3269,11 +3193,10 @@ readable-stream@^3.0.0, readable-stream@^3.6.0:
util-deprecate "^1.0.1" util-deprecate "^1.0.1"
readable-web-to-node-stream@^3.0.0: readable-web-to-node-stream@^3.0.0:
version "3.0.1" version "3.0.2"
resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.1.tgz#3f619b1bc5dd73a4cfe5c5f9b4f6faba55dff845" resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb"
integrity sha512-4zDC6CvjUyusN7V0QLsXVB7pJCD9+vtrM9bYDRv6uBQ+SKfx36rp5AFNPRgh9auKRul/a1iFZJYXcCbwRL+SaA== integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==
dependencies: dependencies:
"@types/readable-stream" "^2.3.9"
readable-stream "^3.6.0" readable-stream "^3.6.0"
rechoir@^0.6.2: rechoir@^0.6.2:
@@ -3325,11 +3248,6 @@ responselike@^2.0.0:
dependencies: dependencies:
lowercase-keys "^2.0.0" lowercase-keys "^2.0.0"
rfdc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
rimraf@^3.0.0: rimraf@^3.0.0:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -3337,16 +3255,16 @@ rimraf@^3.0.0:
dependencies: dependencies:
glob "^7.1.3" glob "^7.1.3"
safe-buffer@*, safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
safe-buffer@~5.1.1: safe-buffer@~5.1.1:
version "5.1.2" version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
"safer-buffer@>= 2.1.2 < 3": "safer-buffer@>= 2.1.2 < 3":
version "2.1.2" version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
@@ -3452,13 +3370,6 @@ source-map@^0.7.3:
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
split2@^3.1.1:
version "3.2.2"
resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
dependencies:
readable-stream "^3.0.0"
sprintf-js@~1.0.2: sprintf-js@~1.0.2:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
@@ -3512,19 +3423,12 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
strtok3@^6.0.3, strtok3@^6.0.8: strtok3@^6.0.3, strtok3@^6.0.8:
version "6.0.8" version "6.2.0"
resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.0.8.tgz#c839157f615c10ba0f4ae35067dad9959eeca346" resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-6.2.0.tgz#7c24e74a9a24c7f2b976e4469654d459e6795d91"
integrity sha512-QLgv+oiXwXgCgp2PdPPa+Jpp4D9imK9e/0BsyfeFMr6QL6wMVqoVn9+OXQ9I7MZbmUzN6lmitTJ09uwS2OmGcw== integrity sha512-hBbPN4+f9fypbfTs0NImALgzYcb6k/blFr2mJVX6bUOmJCbXe/trDHdIC+Ir5XUXRMGFvq487ecwLitDoHVoew==
dependencies: dependencies:
"@tokenizer/token" "^0.1.1" peek-readable "^4.0.0"
"@types/debug" "^4.1.5"
peek-readable "^3.1.3"
supports-color@^5.3.0: supports-color@^5.3.0:
version "5.5.0" version "5.5.0"
@@ -3650,9 +3554,9 @@ ts-jest@^27.0.3:
yargs-parser "20.x" yargs-parser "20.x"
ts-node@^10.0.0: ts-node@^10.0.0:
version "10.0.0" version "10.1.0"
resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.0.0.tgz#05f10b9a716b0b624129ad44f0ea05dac84ba3be" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.1.0.tgz#e656d8ad3b61106938a867f69c39a8ba6efc966e"
integrity sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg== integrity sha512-6szn3+J9WyG2hE+5W8e0ruZrzyk1uFLYye6IGMBadnOzDh8aP7t8CbFpsfCiEx2+wMixAhjFt7lOZC4+l+WbEA==
dependencies: dependencies:
"@tsconfig/node10" "^1.0.7" "@tsconfig/node10" "^1.0.7"
"@tsconfig/node12" "^1.0.7" "@tsconfig/node12" "^1.0.7"
@@ -3851,9 +3755,9 @@ write-file-atomic@^3.0.0:
typedarray-to-buffer "^3.1.5" typedarray-to-buffer "^3.1.5"
ws@^7.3.1, ws@^7.4.5: ws@^7.3.1, ws@^7.4.5:
version "7.5.2" version "7.5.3"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.2.tgz#09cc8fea3bec1bc5ed44ef51b42f945be36900f6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.3.tgz#160835b63c7d97bfab418fc1b8a9fced2ac01a74"
integrity sha512-lkF7AWRicoB9mAgjeKbGqVUekLnSNO4VjKVnuPHpQeOxZOErX6BPXwJk70nFslRCEEA8EVW7ZjKwXaP9N+1sKQ== integrity sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==
xhr@^2.0.1: xhr@^2.0.1:
version "2.6.0" version "2.6.0"