feat: sqlite backed session for node js
This commit is contained in:
parent
3ecef3bde4
commit
126ed3016d
4 changed files with 714 additions and 136 deletions
523
packages/sqlite/index.ts
Normal file
523
packages/sqlite/index.ts
Normal file
|
@ -0,0 +1,523 @@
|
||||||
|
// noinspection SqlResolve
|
||||||
|
|
||||||
|
import {
|
||||||
|
BinaryReader,
|
||||||
|
BinaryWriter,
|
||||||
|
ITelegramStorage,
|
||||||
|
LruMap,
|
||||||
|
MAX_CHANNEL_ID,
|
||||||
|
} from '@mtcute/core'
|
||||||
|
import { tl } from '@mtcute/tl'
|
||||||
|
import sqlite3 from 'better-sqlite3'
|
||||||
|
import bigInt from 'big-integer'
|
||||||
|
import { throttle } from '@mtcute/core'
|
||||||
|
|
||||||
|
const debug = require('debug')('mtcute:sqlite')
|
||||||
|
|
||||||
|
function serializeAccessHash(hash: tl.Long): Buffer {
|
||||||
|
const arr = hash.toArray(256)
|
||||||
|
arr.value.push(arr.isNegative ? 1 : 0)
|
||||||
|
return Buffer.from(arr.value)
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseAccessHash(hash: Buffer): tl.Long {
|
||||||
|
const arr = hash.toJSON().data
|
||||||
|
return bigInt.fromArray(arr.slice(0, -1), 256, arr[arr.length - 1] as any)
|
||||||
|
}
|
||||||
|
|
||||||
|
function getInputPeer(
|
||||||
|
row: SqliteEntity | ITelegramStorage.PeerInfo
|
||||||
|
): tl.TypeInputPeer {
|
||||||
|
switch (row.type) {
|
||||||
|
case 'user':
|
||||||
|
return {
|
||||||
|
_: 'inputPeerUser',
|
||||||
|
userId: row.id,
|
||||||
|
accessHash:
|
||||||
|
'accessHash' in row
|
||||||
|
? row.accessHash
|
||||||
|
: parseAccessHash(row.hash),
|
||||||
|
}
|
||||||
|
case 'chat':
|
||||||
|
return {
|
||||||
|
_: 'inputPeerChat',
|
||||||
|
chatId: -row.id,
|
||||||
|
}
|
||||||
|
case 'channel':
|
||||||
|
return {
|
||||||
|
_: 'inputPeerChannel',
|
||||||
|
channelId: MAX_CHANNEL_ID - row.id,
|
||||||
|
accessHash:
|
||||||
|
'accessHash' in row
|
||||||
|
? row.accessHash
|
||||||
|
: parseAccessHash(row.hash),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error(`Invalid peer type: ${row.type}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
const CURRENT_VERSION = 1
|
||||||
|
// language=SQLite
|
||||||
|
const SCHEMA = `
|
||||||
|
create table kv (
|
||||||
|
key text primary key,
|
||||||
|
value text not null
|
||||||
|
);
|
||||||
|
|
||||||
|
create table auth_keys (
|
||||||
|
dc integer primary key,
|
||||||
|
key blob not null
|
||||||
|
);
|
||||||
|
|
||||||
|
create table pts (
|
||||||
|
channel_id integer primary key,
|
||||||
|
pts integer not null
|
||||||
|
);
|
||||||
|
|
||||||
|
create table entities (
|
||||||
|
id integer primary key,
|
||||||
|
hash blob not null,
|
||||||
|
type text not null,
|
||||||
|
username text,
|
||||||
|
phone text,
|
||||||
|
updated integer not null,
|
||||||
|
"full" blob
|
||||||
|
);
|
||||||
|
create index idx_entities_username on entities (username);
|
||||||
|
create unique index idx_entities_phone on entities (phone);
|
||||||
|
`
|
||||||
|
|
||||||
|
const RESET = `
|
||||||
|
delete from kv;
|
||||||
|
delete from auth_keys where key <> 'ver';
|
||||||
|
delete from pts;
|
||||||
|
delete from entities
|
||||||
|
`
|
||||||
|
|
||||||
|
const USERNAME_TTL = 86400000 // 24 hours
|
||||||
|
|
||||||
|
interface SqliteEntity {
|
||||||
|
id: number
|
||||||
|
hash: Buffer
|
||||||
|
type: string
|
||||||
|
username?: string
|
||||||
|
phone?: string
|
||||||
|
updated: number
|
||||||
|
full: Buffer
|
||||||
|
}
|
||||||
|
|
||||||
|
interface CacheItem {
|
||||||
|
peer: tl.TypeInputPeer
|
||||||
|
full: tl.TypeUser | tl.TypeChat
|
||||||
|
}
|
||||||
|
|
||||||
|
const STATEMENTS = {
|
||||||
|
getKv: 'select value from kv where key = ?',
|
||||||
|
setKv: 'insert or replace into kv (key, value) values (?, ?)',
|
||||||
|
delKv: 'delete from kv where key = ?',
|
||||||
|
|
||||||
|
getAuth: 'select key from auth_keys where dc = ?',
|
||||||
|
setAuth: 'insert or replace into auth_keys (dc, key) values (?, ?)',
|
||||||
|
delAuth: 'delete from auth_keys where dc = ?',
|
||||||
|
|
||||||
|
getPts: 'select pts from pts where channel_id = ?',
|
||||||
|
setPts: 'insert or replace into pts (channel_id, pts) values (?, ?)',
|
||||||
|
|
||||||
|
updateUpdated: 'update entities set updated = ? where id = ?',
|
||||||
|
updateCachedEnt:
|
||||||
|
'update entities set username = ?, phone = ?, updated = ?, "full" = ? where id = ?',
|
||||||
|
upsertEnt:
|
||||||
|
'insert or replace into entities (id, hash, type, username, phone, updated, "full") values (?, ?, ?, ?, ?, ?, ?)',
|
||||||
|
getEntById: 'select * from entities where id = ?',
|
||||||
|
getEntByPhone: 'select * from entities where phone = ?',
|
||||||
|
getEntByUser: 'select * from entities where username = ?',
|
||||||
|
} as const
|
||||||
|
|
||||||
|
const EMPTY_BUFFER = Buffer.alloc(0)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SQLite backed storage for MTCute.
|
||||||
|
*
|
||||||
|
* Uses `better-sqlite3` library
|
||||||
|
*/
|
||||||
|
export class SqliteStorage implements ITelegramStorage {
|
||||||
|
private _db: sqlite3.Database
|
||||||
|
private _statements: Record<keyof typeof STATEMENTS, sqlite3.Statement>
|
||||||
|
private readonly _filename: string
|
||||||
|
|
||||||
|
private _pending: [sqlite3.Statement, any[]][] = []
|
||||||
|
private _pendingUnimportant: Record<number, any[]> = {}
|
||||||
|
private _cache?: LruMap<number, CacheItem>
|
||||||
|
|
||||||
|
private _wal?: boolean
|
||||||
|
|
||||||
|
private _reader = new BinaryReader(EMPTY_BUFFER)
|
||||||
|
|
||||||
|
private _saveUnimportantLater: () => void
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param filename Database file name, or `:memory:` for in-memory DB
|
||||||
|
* @param params
|
||||||
|
*/
|
||||||
|
constructor(
|
||||||
|
filename = ':memory:',
|
||||||
|
params?: {
|
||||||
|
/**
|
||||||
|
* Entities cache size, in number of entities.
|
||||||
|
*
|
||||||
|
* Recently encountered entities are cached in memory,
|
||||||
|
* to avoid redundant database calls. Set to 0 to
|
||||||
|
* disable caching (not recommended)
|
||||||
|
*
|
||||||
|
* Note that by design in-memory cached is only
|
||||||
|
* used when finding peer by ID, since other
|
||||||
|
* kinds of lookups (phone, username) may get stale quickly
|
||||||
|
*
|
||||||
|
* Defaults to `100`
|
||||||
|
*/
|
||||||
|
cacheSize?: number
|
||||||
|
|
||||||
|
/**
|
||||||
|
* By default, WAL mode is enabled, which
|
||||||
|
* significantly improves performance.
|
||||||
|
* [Learn more](https://github.com/JoshuaWise/better-sqlite3/blob/master/docs/performance.md)
|
||||||
|
*
|
||||||
|
* However, you might encounter some issues,
|
||||||
|
* and if you do, you can disable WAL by passing `true`
|
||||||
|
*
|
||||||
|
* Defaults to false
|
||||||
|
*/
|
||||||
|
disableWal?: boolean
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates to already cached in-memory entities are only
|
||||||
|
* applied in DB once in a while, to avoid redundant
|
||||||
|
* DB calls.
|
||||||
|
*
|
||||||
|
* If you are having issues with this, you can set this to `0`
|
||||||
|
*
|
||||||
|
* Defaults to `30000` (30 sec)
|
||||||
|
*/
|
||||||
|
unimportantSavesDelay?: number
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
this._filename = filename
|
||||||
|
if (params?.cacheSize !== 0) {
|
||||||
|
this._cache = new LruMap(params?.cacheSize ?? 100)
|
||||||
|
}
|
||||||
|
this._wal = !params?.disableWal
|
||||||
|
|
||||||
|
this._saveUnimportantLater = throttle(() => {
|
||||||
|
// unimportant changes are changes about cached in memory entities,
|
||||||
|
// that don't really need to be cached right away.
|
||||||
|
// to avoid redundant DB calls, these changes are persisted
|
||||||
|
// no more than once every 30 seconds.
|
||||||
|
//
|
||||||
|
// additionally, to avoid redundant changes that
|
||||||
|
// are immediately overwritten, we use object instead
|
||||||
|
// of an array, where the key is marked peer id,
|
||||||
|
// and value is the arguments array, since
|
||||||
|
// the query is always `updateCachedEnt`
|
||||||
|
const items = Object.values(this._pendingUnimportant)
|
||||||
|
if (!items.length) return
|
||||||
|
|
||||||
|
this._updateManyPeers(items)
|
||||||
|
this._pendingUnimportant = {}
|
||||||
|
}, params?.unimportantSavesDelay ?? 30000)
|
||||||
|
|
||||||
|
// todo: add support for workers (idk if really needed, but still)
|
||||||
|
}
|
||||||
|
|
||||||
|
private _readFullPeer(data: Buffer): tl.TypeUser | tl.TypeChat {
|
||||||
|
// reuse reader because why not
|
||||||
|
this._reader.pos = 0
|
||||||
|
this._reader.data = data
|
||||||
|
const obj = this._reader.object()
|
||||||
|
// remove reference to allow GC-ing
|
||||||
|
this._reader.data = EMPTY_BUFFER
|
||||||
|
return obj
|
||||||
|
}
|
||||||
|
|
||||||
|
private _addToCache(id: number, item: CacheItem): void {
|
||||||
|
if (this._cache) {
|
||||||
|
this._cache.set(id, item)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private _getFromKv(key: string): any {
|
||||||
|
const row = this._statements.getKv.get(key)
|
||||||
|
return row ? JSON.parse(row.value) : null
|
||||||
|
}
|
||||||
|
|
||||||
|
private _setToKv(key: string, value: any, now = false): void {
|
||||||
|
const query =
|
||||||
|
value === null ? this._statements.delKv : this._statements.setKv
|
||||||
|
const params = value === null ? [key] : [key, JSON.stringify(value)]
|
||||||
|
|
||||||
|
if (now) {
|
||||||
|
query.run(params)
|
||||||
|
} else {
|
||||||
|
this._pending.push([query, params])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private _runMany: (stmts: [sqlite3.Statement, any[]][]) => void
|
||||||
|
private _updateManyPeers: (updates: any[]) => void
|
||||||
|
|
||||||
|
private _upgradeDatabase(from: number): void {
|
||||||
|
// not needed (yet) since no versions except 1 //
|
||||||
|
}
|
||||||
|
|
||||||
|
private _initializeStatements(): void {
|
||||||
|
this._statements = {} as any
|
||||||
|
Object.entries(STATEMENTS).forEach(([name, sql]) => {
|
||||||
|
;(this._statements as any)[name] = this._db.prepare(sql)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
private _initialize(): void {
|
||||||
|
const hasTables = this._db
|
||||||
|
.prepare(
|
||||||
|
"select name from sqlite_master where type = 'table' and name = 'kv'"
|
||||||
|
)
|
||||||
|
.get()
|
||||||
|
|
||||||
|
if (hasTables) {
|
||||||
|
// tables already exist, check version
|
||||||
|
this._initializeStatements()
|
||||||
|
const version = this._getFromKv('ver')
|
||||||
|
debug('current db version = %d', version)
|
||||||
|
if (version < CURRENT_VERSION) {
|
||||||
|
this._upgradeDatabase(version)
|
||||||
|
this._setToKv('ver', CURRENT_VERSION, true)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// create tables
|
||||||
|
debug('creating tables')
|
||||||
|
this._db.exec(SCHEMA)
|
||||||
|
this._initializeStatements()
|
||||||
|
this._setToKv('ver', CURRENT_VERSION, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
load(): void {
|
||||||
|
this._db = sqlite3(this._filename, {
|
||||||
|
verbose: debug.enabled ? debug : null,
|
||||||
|
})
|
||||||
|
|
||||||
|
this._initialize()
|
||||||
|
|
||||||
|
// init wal if needed
|
||||||
|
if (this._wal) {
|
||||||
|
this._db.pragma('journal_mode = WAL')
|
||||||
|
}
|
||||||
|
|
||||||
|
// helper methods
|
||||||
|
this._runMany = this._db.transaction((stmts) => {
|
||||||
|
stmts.forEach((stmt: [sqlite3.Statement, any[]]) => {
|
||||||
|
stmt[0].run(stmt[1])
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
this._updateManyPeers = this._db.transaction((data) => {
|
||||||
|
data.forEach((it: any[]) => {
|
||||||
|
this._statements.updateCachedEnt.run(it)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
save(): void {
|
||||||
|
if (!this._pending.length) return
|
||||||
|
|
||||||
|
this._runMany(this._pending)
|
||||||
|
this._pending = []
|
||||||
|
|
||||||
|
this._saveUnimportantLater()
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy(): void {
|
||||||
|
this._db.close()
|
||||||
|
}
|
||||||
|
|
||||||
|
reset(): void {
|
||||||
|
this._db.exec(RESET)
|
||||||
|
}
|
||||||
|
|
||||||
|
setDefaultDc(dc: tl.RawDcOption | null): void {
|
||||||
|
return this._setToKv('def_dc', dc)
|
||||||
|
}
|
||||||
|
|
||||||
|
getDefaultDc(): tl.RawDcOption | null {
|
||||||
|
return this._getFromKv('def_dc')
|
||||||
|
}
|
||||||
|
|
||||||
|
getAuthKeyFor(dcId: number): Promise<Buffer | null> {
|
||||||
|
const row = this._statements.getAuth.get(dcId)
|
||||||
|
return row ? row.key : null
|
||||||
|
}
|
||||||
|
|
||||||
|
setAuthKeyFor(dcId: number, key: Buffer | null): void {
|
||||||
|
this._pending.push([
|
||||||
|
key === null ? this._statements.delAuth : this._statements.setAuth,
|
||||||
|
key === null ? [dcId] : [dcId, key],
|
||||||
|
])
|
||||||
|
}
|
||||||
|
|
||||||
|
getSelf(): ITelegramStorage.SelfInfo | null {
|
||||||
|
return this._getFromKv('self')
|
||||||
|
}
|
||||||
|
|
||||||
|
setSelf(self: ITelegramStorage.SelfInfo | null): void {
|
||||||
|
return this._setToKv('self', self)
|
||||||
|
}
|
||||||
|
|
||||||
|
getUpdatesState(): [number, number, number] | null {
|
||||||
|
const pts = this._getFromKv('pts')
|
||||||
|
if (pts == null) return null
|
||||||
|
|
||||||
|
return [pts, this._getFromKv('date')!, this._getFromKv('seq')!]
|
||||||
|
}
|
||||||
|
|
||||||
|
setCommonPts(val: [number, number] | null): void {
|
||||||
|
return this._setToKv('cpts', val)
|
||||||
|
}
|
||||||
|
|
||||||
|
setUpdatesPts(val: number): void {
|
||||||
|
return this._setToKv('pts', val)
|
||||||
|
}
|
||||||
|
|
||||||
|
setUpdatesDate(val: number): void {
|
||||||
|
return this._setToKv('date', val)
|
||||||
|
}
|
||||||
|
|
||||||
|
setUpdatesSeq(val: number): void {
|
||||||
|
return this._setToKv('seq', val)
|
||||||
|
}
|
||||||
|
|
||||||
|
getChannelPts(entityId: number): number | null {
|
||||||
|
const row = this._statements.getPts.get(entityId)
|
||||||
|
return row ? row.pts : null
|
||||||
|
}
|
||||||
|
|
||||||
|
setManyChannelPts(values: Record<number, number>): void {
|
||||||
|
Object.entries(values).forEach(([cid, pts]) => {
|
||||||
|
this._pending.push([this._statements.setPts, [cid, pts]])
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
updatePeers(peers: ITelegramStorage.PeerInfo[]): void {
|
||||||
|
peers.forEach((peer) => {
|
||||||
|
const cached = this._cache?.get(peer.id)
|
||||||
|
|
||||||
|
if (
|
||||||
|
cached &&
|
||||||
|
'accessHash' in cached.peer &&
|
||||||
|
cached.peer.accessHash.eq(peer.accessHash)
|
||||||
|
) {
|
||||||
|
// when entity is cached and hash is the same, an update query is needed,
|
||||||
|
// since some field in the full entity might have changed, or the username/phone
|
||||||
|
//
|
||||||
|
// since it is cached, we know for sure that it already exists in db,
|
||||||
|
// so we can safely use `update` instead of `insert or replace`
|
||||||
|
//
|
||||||
|
// to avoid too many DB calls, and since these updates are pretty common,
|
||||||
|
// they are grouped and applied in batches no more than once every 30sec (or user-defined).
|
||||||
|
//
|
||||||
|
// until then, they are either served from in-memory cache,
|
||||||
|
// or an older version is fetched from DB
|
||||||
|
|
||||||
|
this._pendingUnimportant[peer.id] = [
|
||||||
|
peer.username,
|
||||||
|
peer.phone,
|
||||||
|
Date.now(),
|
||||||
|
BinaryWriter.serializeObject(peer.full),
|
||||||
|
peer.id,
|
||||||
|
]
|
||||||
|
cached.full = peer.full
|
||||||
|
} else {
|
||||||
|
// entity is not cached in memory, or the access hash has changed
|
||||||
|
// we need to update it in the DB asap, and also update the in-memory cache
|
||||||
|
this._pending.push([
|
||||||
|
this._statements.upsertEnt,
|
||||||
|
[
|
||||||
|
peer.id,
|
||||||
|
serializeAccessHash(peer.accessHash),
|
||||||
|
peer.type,
|
||||||
|
peer.username,
|
||||||
|
peer.phone,
|
||||||
|
Date.now(),
|
||||||
|
BinaryWriter.serializeObject(peer.full),
|
||||||
|
],
|
||||||
|
])
|
||||||
|
this._addToCache(peer.id, {
|
||||||
|
peer: getInputPeer(peer)!,
|
||||||
|
full: peer.full,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
getPeerById(peerId: number): tl.TypeInputPeer | null {
|
||||||
|
const cached = this._cache?.get(peerId)
|
||||||
|
if (cached) return cached.peer
|
||||||
|
|
||||||
|
const row = this._statements.getEntById.get(peerId)
|
||||||
|
if (row) {
|
||||||
|
const peer = getInputPeer(row)
|
||||||
|
this._addToCache(peerId, {
|
||||||
|
peer,
|
||||||
|
full: this._readFullPeer(row.full),
|
||||||
|
})
|
||||||
|
return peer
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
getPeerByPhone(phone: string): tl.TypeInputPeer | null {
|
||||||
|
const row = this._statements.getEntByPhone.get(phone)
|
||||||
|
if (row) {
|
||||||
|
const peer = getInputPeer(row)
|
||||||
|
this._addToCache(row.id, {
|
||||||
|
peer,
|
||||||
|
full: this._readFullPeer(row.full),
|
||||||
|
})
|
||||||
|
return peer
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
getPeerByUsername(username: string): tl.TypeInputPeer | null {
|
||||||
|
const row = this._statements.getEntByUser.get(username.toLowerCase())
|
||||||
|
if (!row || Date.now() - row.updated > USERNAME_TTL) return null
|
||||||
|
|
||||||
|
if (row) {
|
||||||
|
const peer = getInputPeer(row)
|
||||||
|
this._addToCache(row.id, {
|
||||||
|
peer,
|
||||||
|
full: this._readFullPeer(row.full),
|
||||||
|
})
|
||||||
|
return peer
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
getFullPeerById(id: number): tl.TypeUser | tl.TypeChat | null {
|
||||||
|
const cached = this._cache?.get(id)
|
||||||
|
if (cached) return cached.full
|
||||||
|
|
||||||
|
const row = this._statements.getEntById.get(id)
|
||||||
|
if (row) {
|
||||||
|
this._addToCache(id, {
|
||||||
|
peer: getInputPeer(row),
|
||||||
|
full: this._readFullPeer(row.full),
|
||||||
|
})
|
||||||
|
return row.full
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
23
packages/sqlite/package.json
Normal file
23
packages/sqlite/package.json
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
"name": "@mtcute/sqlite",
|
||||||
|
"private": true,
|
||||||
|
"version": "0.0.0",
|
||||||
|
"description": "SQLite-based storage for MTCute",
|
||||||
|
"author": "Alisa Sireneva <me@tei.su>",
|
||||||
|
"license": "MIT",
|
||||||
|
"main": "index.ts",
|
||||||
|
"scripts": {
|
||||||
|
"test": "mocha -r ts-node/register tests/**/*.spec.ts",
|
||||||
|
"docs": "npx typedoc",
|
||||||
|
"build": "tsc"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@mtcute/core": "^0.0.0",
|
||||||
|
"@mtcute/tl": "^0.0.0",
|
||||||
|
"better-sqlite3": "^7.4.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/sqlite3": "^3.1.7",
|
||||||
|
"@types/better-sqlite3": "^5.4.1"
|
||||||
|
}
|
||||||
|
}
|
19
packages/sqlite/tsconfig.json
Normal file
19
packages/sqlite/tsconfig.json
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"extends": "../../tsconfig.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "./dist"
|
||||||
|
},
|
||||||
|
"include": [
|
||||||
|
"./src"
|
||||||
|
],
|
||||||
|
"typedocOptions": {
|
||||||
|
"name": "@mtcute/client",
|
||||||
|
"includeVersion": true,
|
||||||
|
"out": "../../docs/packages/client",
|
||||||
|
"listInvalidSymbolLinks": true,
|
||||||
|
"excludePrivate": true,
|
||||||
|
"entryPoints": [
|
||||||
|
"./src/index.ts"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
285
yarn.lock
285
yarn.lock
|
@ -2423,6 +2423,13 @@
|
||||||
resolved "https://registry.yarnpkg.com/@turist/time/-/time-0.0.1.tgz#57637d2a7d1860adb9f9cecbdcc966ce4f551d63"
|
resolved "https://registry.yarnpkg.com/@turist/time/-/time-0.0.1.tgz#57637d2a7d1860adb9f9cecbdcc966ce4f551d63"
|
||||||
integrity sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==
|
integrity sha512-M2BiThcbxMxSKX8W4z5u9jKZn6datnM3+FpEU+eYw0//l31E2xhqi7vTAuJ/Sf0P3yhp66SDJgPu3bRRpvrdQQ==
|
||||||
|
|
||||||
|
"@types/better-sqlite3@^5.4.1":
|
||||||
|
version "5.4.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/better-sqlite3/-/better-sqlite3-5.4.1.tgz#d45600bc19f8f41397263d037ca9b0d05df85e58"
|
||||||
|
integrity sha512-8hje3Rhsg/9veTkALfCwiWn7VMrP1QDwHhBSgerttYPABEvrHsMQnU9dlqoM6QX3x4uw3Y06dDVz8uDQo1J4Ng==
|
||||||
|
dependencies:
|
||||||
|
"@types/integer" "*"
|
||||||
|
|
||||||
"@types/chai@^4.2.14":
|
"@types/chai@^4.2.14":
|
||||||
version "4.2.14"
|
version "4.2.14"
|
||||||
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.14.tgz#44d2dd0b5de6185089375d976b4ec5caf6861193"
|
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.14.tgz#44d2dd0b5de6185089375d976b4ec5caf6861193"
|
||||||
|
@ -2523,6 +2530,11 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
|
"@types/integer@*":
|
||||||
|
version "4.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/integer/-/integer-4.0.0.tgz#3b778715df72d2cf8ba73bad27bd9d830907f944"
|
||||||
|
integrity sha512-2U1i6bIRiqizl6O+ETkp2HhUZIxg7g+burUabh9tzGd0qcszfNaFRaY9bGNlQKgEU7DCsH5qMajRDW5QamWQbw==
|
||||||
|
|
||||||
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
|
"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
|
||||||
version "2.0.3"
|
version "2.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
|
resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762"
|
||||||
|
@ -2698,6 +2710,13 @@
|
||||||
resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275"
|
resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275"
|
||||||
integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==
|
integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA==
|
||||||
|
|
||||||
|
"@types/sqlite3@^3.1.7":
|
||||||
|
version "3.1.7"
|
||||||
|
resolved "https://registry.yarnpkg.com/@types/sqlite3/-/sqlite3-3.1.7.tgz#84fbc65946603d15cff4968d0cb283d1879dd156"
|
||||||
|
integrity sha512-8FHV/8Uzd7IwdHm5mvmF2Aif4aC/gjrt4axWD9SmfaxITnOjtOhCbOSTuqv/VbH1uq0QrwlaTj9aTz3gmR6u4w==
|
||||||
|
dependencies:
|
||||||
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/tmp@^0.0.33":
|
"@types/tmp@^0.0.33":
|
||||||
version "0.0.33"
|
version "0.0.33"
|
||||||
resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.33.tgz#1073c4bc824754ae3d10cfab88ab0237ba964e4d"
|
resolved "https://registry.yarnpkg.com/@types/tmp/-/tmp-0.0.33.tgz#1073c4bc824754ae3d10cfab88ab0237ba964e4d"
|
||||||
|
@ -3707,6 +3726,15 @@ better-queue@^3.8.10:
|
||||||
node-eta "^0.9.0"
|
node-eta "^0.9.0"
|
||||||
uuid "^3.0.0"
|
uuid "^3.0.0"
|
||||||
|
|
||||||
|
better-sqlite3@^7.4.0:
|
||||||
|
version "7.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-7.4.0.tgz#178cec863aa3090cbb0c5392f920925811d6ac87"
|
||||||
|
integrity sha512-hXwwaFvtYwRfjBSGP6+woB95qbwSnfpXyy/kDFzgOMoDttzyaWsBGcU3FGuRbzhbRv0qpKRCJQ6Hru2pQ8adxg==
|
||||||
|
dependencies:
|
||||||
|
bindings "^1.5.0"
|
||||||
|
prebuild-install "^6.0.1"
|
||||||
|
tar "^6.1.0"
|
||||||
|
|
||||||
big-integer@1.6.48, big-integer@^1.6.48:
|
big-integer@1.6.48, big-integer@^1.6.48:
|
||||||
version "1.6.48"
|
version "1.6.48"
|
||||||
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e"
|
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e"
|
||||||
|
@ -3734,7 +3762,7 @@ bindings@^1.5.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
file-uri-to-path "1.0.0"
|
file-uri-to-path "1.0.0"
|
||||||
|
|
||||||
bl@^4.0.0:
|
bl@^4.0.0, bl@^4.0.3:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
|
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
|
||||||
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
||||||
|
@ -3743,13 +3771,6 @@ bl@^4.0.0:
|
||||||
inherits "^2.0.4"
|
inherits "^2.0.4"
|
||||||
readable-stream "^3.4.0"
|
readable-stream "^3.4.0"
|
||||||
|
|
||||||
block-stream@*:
|
|
||||||
version "0.0.9"
|
|
||||||
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
|
|
||||||
integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
|
|
||||||
dependencies:
|
|
||||||
inherits "~2.0.0"
|
|
||||||
|
|
||||||
bluebird@^3.7.2:
|
bluebird@^3.7.2:
|
||||||
version "3.7.2"
|
version "3.7.2"
|
||||||
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
|
||||||
|
@ -5223,6 +5244,13 @@ decompress-response@^3.3.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
mimic-response "^1.0.0"
|
mimic-response "^1.0.0"
|
||||||
|
|
||||||
|
decompress-response@^4.2.0:
|
||||||
|
version "4.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
|
||||||
|
integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
|
||||||
|
dependencies:
|
||||||
|
mimic-response "^2.0.0"
|
||||||
|
|
||||||
dedent@^0.7.0:
|
dedent@^0.7.0:
|
||||||
version "0.7.0"
|
version "0.7.0"
|
||||||
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
|
||||||
|
@ -5375,7 +5403,7 @@ detect-indent@^6.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
|
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd"
|
||||||
integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
|
integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==
|
||||||
|
|
||||||
detect-libc@^1.0.2:
|
detect-libc@^1.0.3:
|
||||||
version "1.0.3"
|
version "1.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
||||||
|
@ -5678,7 +5706,7 @@ encoding@^0.1.12:
|
||||||
dependencies:
|
dependencies:
|
||||||
iconv-lite "^0.6.2"
|
iconv-lite "^0.6.2"
|
||||||
|
|
||||||
end-of-stream@^1.1.0:
|
end-of-stream@^1.1.0, end-of-stream@^1.4.1:
|
||||||
version "1.4.4"
|
version "1.4.4"
|
||||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
||||||
|
@ -6291,6 +6319,11 @@ expand-brackets@^2.1.4:
|
||||||
snapdragon "^0.8.1"
|
snapdragon "^0.8.1"
|
||||||
to-regex "^3.0.1"
|
to-regex "^3.0.1"
|
||||||
|
|
||||||
|
expand-template@^2.0.3:
|
||||||
|
version "2.0.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
|
||||||
|
integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
|
||||||
|
|
||||||
express-graphql@^0.9.0:
|
express-graphql@^0.9.0:
|
||||||
version "0.9.0"
|
version "0.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.9.0.tgz#00fd8552f866bac5c9a4612b2c4c82076107b3c2"
|
resolved "https://registry.yarnpkg.com/express-graphql/-/express-graphql-0.9.0.tgz#00fd8552f866bac5c9a4612b2c4c82076107b3c2"
|
||||||
|
@ -6734,6 +6767,11 @@ fs-capacitor@^6.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-6.2.0.tgz#fa79ac6576629163cb84561995602d8999afb7f5"
|
resolved "https://registry.yarnpkg.com/fs-capacitor/-/fs-capacitor-6.2.0.tgz#fa79ac6576629163cb84561995602d8999afb7f5"
|
||||||
integrity sha512-nKcE1UduoSKX27NSZlg879LdQc94OtbOsEmKMN2MBNudXREvijRKx2GEBsTMTfws+BrbkJoEuynbGSVRSpauvw==
|
integrity sha512-nKcE1UduoSKX27NSZlg879LdQc94OtbOsEmKMN2MBNudXREvijRKx2GEBsTMTfws+BrbkJoEuynbGSVRSpauvw==
|
||||||
|
|
||||||
|
fs-constants@^1.0.0:
|
||||||
|
version "1.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
|
||||||
|
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
|
||||||
|
|
||||||
fs-exists-cached@1.0.0, fs-exists-cached@^1.0.0:
|
fs-exists-cached@1.0.0, fs-exists-cached@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce"
|
resolved "https://registry.yarnpkg.com/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz#cf25554ca050dc49ae6656b41de42258989dcbce"
|
||||||
|
@ -6800,16 +6838,6 @@ fsevents@~2.3.1:
|
||||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
|
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
|
||||||
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
|
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
|
||||||
|
|
||||||
fstream@^1.0.0, fstream@^1.0.12:
|
|
||||||
version "1.0.12"
|
|
||||||
resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
|
|
||||||
integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
|
|
||||||
dependencies:
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
inherits "~2.0.0"
|
|
||||||
mkdirp ">=0.5 0"
|
|
||||||
rimraf "2"
|
|
||||||
|
|
||||||
function-bind@^1.1.1:
|
function-bind@^1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
||||||
|
@ -7475,6 +7503,11 @@ gitconfiglocal@^1.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
ini "^1.3.2"
|
ini "^1.3.2"
|
||||||
|
|
||||||
|
github-from-package@0.0.0:
|
||||||
|
version "0.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
|
||||||
|
integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
|
||||||
|
|
||||||
glob-parent@^3.1.0:
|
glob-parent@^3.1.0:
|
||||||
version "3.1.0"
|
version "3.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
|
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
|
||||||
|
@ -8110,7 +8143,7 @@ hyphenate-style-name@^1.0.3:
|
||||||
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
|
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
|
||||||
integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
|
integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
|
||||||
|
|
||||||
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
|
iconv-lite@0.4.24, iconv-lite@^0.4.24:
|
||||||
version "0.4.24"
|
version "0.4.24"
|
||||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
|
||||||
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
|
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
|
||||||
|
@ -8134,13 +8167,6 @@ ieee754@^1.1.13, ieee754@^1.2.1:
|
||||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
||||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||||
|
|
||||||
ignore-walk@^3.0.1:
|
|
||||||
version "3.0.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
|
|
||||||
integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
|
|
||||||
dependencies:
|
|
||||||
minimatch "^3.0.4"
|
|
||||||
|
|
||||||
ignore-walk@^3.0.3:
|
ignore-walk@^3.0.3:
|
||||||
version "3.0.3"
|
version "3.0.3"
|
||||||
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
|
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
|
||||||
|
@ -8249,7 +8275,7 @@ inflight@^1.0.4:
|
||||||
once "^1.3.0"
|
once "^1.3.0"
|
||||||
wrappy "1"
|
wrappy "1"
|
||||||
|
|
||||||
inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
|
inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
|
||||||
version "2.0.4"
|
version "2.0.4"
|
||||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
|
||||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||||
|
@ -10103,6 +10129,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
|
||||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||||
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
|
integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
|
||||||
|
|
||||||
|
mimic-response@^2.0.0:
|
||||||
|
version "2.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
|
||||||
|
integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
|
||||||
|
|
||||||
min-indent@^1.0.0:
|
min-indent@^1.0.0:
|
||||||
version "1.0.1"
|
version "1.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
|
resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
|
||||||
|
@ -10138,7 +10169,7 @@ minimist-options@4.1.0:
|
||||||
is-plain-obj "^1.1.0"
|
is-plain-obj "^1.1.0"
|
||||||
kind-of "^6.0.3"
|
kind-of "^6.0.3"
|
||||||
|
|
||||||
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5:
|
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
|
||||||
version "1.2.5"
|
version "1.2.5"
|
||||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||||
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
|
||||||
|
@ -10233,6 +10264,11 @@ mixin-deep@^1.2.0:
|
||||||
for-in "^1.0.2"
|
for-in "^1.0.2"
|
||||||
is-extendable "^1.0.1"
|
is-extendable "^1.0.1"
|
||||||
|
|
||||||
|
mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
|
||||||
|
version "0.5.3"
|
||||||
|
resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
|
||||||
|
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
|
||||||
|
|
||||||
mkdirp-infer-owner@^2.0.0:
|
mkdirp-infer-owner@^2.0.0:
|
||||||
version "2.0.0"
|
version "2.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316"
|
resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316"
|
||||||
|
@ -10242,7 +10278,7 @@ mkdirp-infer-owner@^2.0.0:
|
||||||
infer-owner "^1.0.4"
|
infer-owner "^1.0.4"
|
||||||
mkdirp "^1.0.3"
|
mkdirp "^1.0.3"
|
||||||
|
|
||||||
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1:
|
mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.5, mkdirp@~0.5.1:
|
||||||
version "0.5.5"
|
version "0.5.5"
|
||||||
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
|
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
|
||||||
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
|
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
|
||||||
|
@ -10381,6 +10417,11 @@ nanomatch@^1.2.9:
|
||||||
snapdragon "^0.8.1"
|
snapdragon "^0.8.1"
|
||||||
to-regex "^3.0.1"
|
to-regex "^3.0.1"
|
||||||
|
|
||||||
|
napi-build-utils@^1.0.1:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
|
||||||
|
integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
|
||||||
|
|
||||||
native-url@^0.2.6:
|
native-url@^0.2.6:
|
||||||
version "0.2.6"
|
version "0.2.6"
|
||||||
resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae"
|
resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae"
|
||||||
|
@ -10393,15 +10434,6 @@ natural-compare@^1.4.0:
|
||||||
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
|
||||||
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
|
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
|
||||||
|
|
||||||
needle@^2.2.1:
|
|
||||||
version "2.6.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/needle/-/needle-2.6.0.tgz#24dbb55f2509e2324b4a99d61f413982013ccdbe"
|
|
||||||
integrity sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==
|
|
||||||
dependencies:
|
|
||||||
debug "^3.2.6"
|
|
||||||
iconv-lite "^0.4.4"
|
|
||||||
sax "^1.2.4"
|
|
||||||
|
|
||||||
negotiator@0.6.2, negotiator@~0.6.2:
|
negotiator@0.6.2, negotiator@~0.6.2:
|
||||||
version "0.6.2"
|
version "0.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
|
||||||
|
@ -10435,10 +10467,12 @@ no-case@^3.0.4:
|
||||||
lower-case "^2.0.2"
|
lower-case "^2.0.2"
|
||||||
tslib "^2.0.3"
|
tslib "^2.0.3"
|
||||||
|
|
||||||
node-addon-api@^3.0.0:
|
node-abi@^2.21.0:
|
||||||
version "3.1.0"
|
version "2.26.0"
|
||||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
|
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.26.0.tgz#355d5d4bc603e856f74197adbf3f5117a396ba40"
|
||||||
integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
|
integrity sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ==
|
||||||
|
dependencies:
|
||||||
|
semver "^5.4.1"
|
||||||
|
|
||||||
node-eta@^0.9.0:
|
node-eta@^0.9.0:
|
||||||
version "0.9.0"
|
version "0.9.0"
|
||||||
|
@ -10455,24 +10489,6 @@ node-forge@^0.10.0:
|
||||||
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
|
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
|
||||||
integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
|
integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
|
||||||
|
|
||||||
node-gyp@3.x:
|
|
||||||
version "3.8.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
|
|
||||||
integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
|
|
||||||
dependencies:
|
|
||||||
fstream "^1.0.0"
|
|
||||||
glob "^7.0.3"
|
|
||||||
graceful-fs "^4.1.2"
|
|
||||||
mkdirp "^0.5.0"
|
|
||||||
nopt "2 || 3"
|
|
||||||
npmlog "0 || 1 || 2 || 3 || 4"
|
|
||||||
osenv "0"
|
|
||||||
request "^2.87.0"
|
|
||||||
rimraf "2"
|
|
||||||
semver "~5.3.0"
|
|
||||||
tar "^2.0.0"
|
|
||||||
which "1"
|
|
||||||
|
|
||||||
node-gyp@^5.0.2:
|
node-gyp@^5.0.2:
|
||||||
version "5.1.1"
|
version "5.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e"
|
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.1.tgz#eb915f7b631c937d282e33aed44cb7a025f62a3e"
|
||||||
|
@ -10535,22 +10551,6 @@ node-object-hash@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.3.1.tgz#5e4a6ac7f932cec4f90aff2fbdb953cb83344416"
|
resolved "https://registry.yarnpkg.com/node-object-hash/-/node-object-hash-2.3.1.tgz#5e4a6ac7f932cec4f90aff2fbdb953cb83344416"
|
||||||
integrity sha512-ab7pm34jqISawXpJ+fHjj2E9CmzDtm2fTTdurgzbWXIrdTEk2q2cSZRzoeGrwa0cvq6Sqezq6S9bhOBYPHRzuQ==
|
integrity sha512-ab7pm34jqISawXpJ+fHjj2E9CmzDtm2fTTdurgzbWXIrdTEk2q2cSZRzoeGrwa0cvq6Sqezq6S9bhOBYPHRzuQ==
|
||||||
|
|
||||||
node-pre-gyp@^0.11.0:
|
|
||||||
version "0.11.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz#db1f33215272f692cd38f03238e3e9b47c5dd054"
|
|
||||||
integrity sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==
|
|
||||||
dependencies:
|
|
||||||
detect-libc "^1.0.2"
|
|
||||||
mkdirp "^0.5.1"
|
|
||||||
needle "^2.2.1"
|
|
||||||
nopt "^4.0.1"
|
|
||||||
npm-packlist "^1.1.6"
|
|
||||||
npmlog "^4.0.2"
|
|
||||||
rc "^1.2.7"
|
|
||||||
rimraf "^2.6.1"
|
|
||||||
semver "^5.3.0"
|
|
||||||
tar "^4"
|
|
||||||
|
|
||||||
node-preload@^0.2.1:
|
node-preload@^0.2.1:
|
||||||
version "0.2.1"
|
version "0.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301"
|
resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301"
|
||||||
|
@ -10571,12 +10571,10 @@ noms@0.0.0:
|
||||||
inherits "^2.0.1"
|
inherits "^2.0.1"
|
||||||
readable-stream "~1.0.31"
|
readable-stream "~1.0.31"
|
||||||
|
|
||||||
"nopt@2 || 3":
|
noop-logger@^0.1.1:
|
||||||
version "3.0.6"
|
version "0.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
|
resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"
|
||||||
integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
|
integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=
|
||||||
dependencies:
|
|
||||||
abbrev "1"
|
|
||||||
|
|
||||||
nopt@^4.0.1:
|
nopt@^4.0.1:
|
||||||
version "4.0.3"
|
version "4.0.3"
|
||||||
|
@ -10649,13 +10647,6 @@ normalize-url@^4.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
|
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.0.tgz#453354087e6ca96957bd8f5baf753f5982142129"
|
||||||
integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
|
integrity sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==
|
||||||
|
|
||||||
npm-bundled@^1.0.1:
|
|
||||||
version "1.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
|
|
||||||
integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
|
|
||||||
dependencies:
|
|
||||||
npm-normalize-package-bin "^1.0.1"
|
|
||||||
|
|
||||||
npm-bundled@^1.1.1:
|
npm-bundled@^1.1.1:
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
|
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
|
||||||
|
@ -10698,15 +10689,6 @@ npm-package-arg@^8.0.0, npm-package-arg@^8.0.1, npm-package-arg@^8.1.0:
|
||||||
semver "^7.0.0"
|
semver "^7.0.0"
|
||||||
validate-npm-package-name "^3.0.0"
|
validate-npm-package-name "^3.0.0"
|
||||||
|
|
||||||
npm-packlist@^1.1.6:
|
|
||||||
version "1.4.8"
|
|
||||||
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
|
|
||||||
integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==
|
|
||||||
dependencies:
|
|
||||||
ignore-walk "^3.0.1"
|
|
||||||
npm-bundled "^1.0.1"
|
|
||||||
npm-normalize-package-bin "^1.0.1"
|
|
||||||
|
|
||||||
npm-packlist@^2.1.4:
|
npm-packlist@^2.1.4:
|
||||||
version "2.1.4"
|
version "2.1.4"
|
||||||
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.4.tgz#40e96b2b43787d0546a574542d01e066640d09da"
|
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.1.4.tgz#40e96b2b43787d0546a574542d01e066640d09da"
|
||||||
|
@ -10754,7 +10736,7 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
path-key "^3.0.0"
|
path-key "^3.0.0"
|
||||||
|
|
||||||
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.2, npmlog@^4.1.2:
|
npmlog@^4.0.1, npmlog@^4.1.2:
|
||||||
version "4.1.2"
|
version "4.1.2"
|
||||||
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
|
||||||
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
|
||||||
|
@ -11021,7 +11003,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
|
||||||
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
|
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
|
||||||
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
|
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
|
||||||
|
|
||||||
osenv@0, osenv@^0.1.4:
|
osenv@^0.1.4:
|
||||||
version "0.1.5"
|
version "0.1.5"
|
||||||
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
|
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
|
||||||
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
|
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
|
||||||
|
@ -11938,6 +11920,26 @@ postcss@^8.2.8:
|
||||||
nanoid "^3.1.22"
|
nanoid "^3.1.22"
|
||||||
source-map "^0.6.1"
|
source-map "^0.6.1"
|
||||||
|
|
||||||
|
prebuild-install@^6.0.1:
|
||||||
|
version "6.1.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.2.tgz#6ce5fc5978feba5d3cbffedca0682b136a0b5bff"
|
||||||
|
integrity sha512-PzYWIKZeP+967WuKYXlTOhYBgGOvTRSfaKI89XnfJ0ansRAH7hDU45X+K+FZeI1Wb/7p/NnuctPH3g0IqKUuSQ==
|
||||||
|
dependencies:
|
||||||
|
detect-libc "^1.0.3"
|
||||||
|
expand-template "^2.0.3"
|
||||||
|
github-from-package "0.0.0"
|
||||||
|
minimist "^1.2.3"
|
||||||
|
mkdirp-classic "^0.5.3"
|
||||||
|
napi-build-utils "^1.0.1"
|
||||||
|
node-abi "^2.21.0"
|
||||||
|
noop-logger "^0.1.1"
|
||||||
|
npmlog "^4.0.1"
|
||||||
|
pump "^3.0.0"
|
||||||
|
rc "^1.2.7"
|
||||||
|
simple-get "^3.0.3"
|
||||||
|
tar-fs "^2.0.0"
|
||||||
|
tunnel-agent "^0.6.0"
|
||||||
|
|
||||||
prelude-ls@^1.2.1:
|
prelude-ls@^1.2.1:
|
||||||
version "1.2.1"
|
version "1.2.1"
|
||||||
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
|
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
|
||||||
|
@ -12743,7 +12745,7 @@ repeating@^2.0.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
is-finite "^1.0.0"
|
is-finite "^1.0.0"
|
||||||
|
|
||||||
request@^2.87.0, request@^2.88.0, request@^2.88.2:
|
request@^2.88.0, request@^2.88.2:
|
||||||
version "2.88.2"
|
version "2.88.2"
|
||||||
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
|
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
|
||||||
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
|
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
|
||||||
|
@ -12913,7 +12915,7 @@ rgba-regex@^1.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
|
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
|
||||||
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
|
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
|
||||||
|
|
||||||
rimraf@2, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
|
rimraf@^2.6.2, rimraf@^2.6.3:
|
||||||
version "2.7.1"
|
version "2.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
|
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
|
||||||
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
|
||||||
|
@ -12986,7 +12988,7 @@ sass@^1.32.8:
|
||||||
dependencies:
|
dependencies:
|
||||||
chokidar ">=2.0.0 <4.0.0"
|
chokidar ">=2.0.0 <4.0.0"
|
||||||
|
|
||||||
sax@^1.2.4, sax@~1.2.4:
|
sax@~1.2.4:
|
||||||
version "1.2.4"
|
version "1.2.4"
|
||||||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||||
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
|
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
|
||||||
|
@ -13045,7 +13047,7 @@ semver-diff@^3.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
semver "^6.3.0"
|
semver "^6.3.0"
|
||||||
|
|
||||||
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1:
|
"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1:
|
||||||
version "5.7.1"
|
version "5.7.1"
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
|
||||||
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
|
||||||
|
@ -13074,11 +13076,6 @@ semver@^7.3.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
lru-cache "^6.0.0"
|
lru-cache "^6.0.0"
|
||||||
|
|
||||||
semver@~5.3.0:
|
|
||||||
version "5.3.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
|
||||||
integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
|
|
||||||
|
|
||||||
send@0.17.1:
|
send@0.17.1:
|
||||||
version "0.17.1"
|
version "0.17.1"
|
||||||
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
|
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
|
||||||
|
@ -13230,6 +13227,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
|
||||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
|
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
|
||||||
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
|
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
|
||||||
|
|
||||||
|
simple-concat@^1.0.0:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
|
||||||
|
integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
|
||||||
|
|
||||||
|
simple-get@^3.0.3:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"
|
||||||
|
integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==
|
||||||
|
dependencies:
|
||||||
|
decompress-response "^4.2.0"
|
||||||
|
once "^1.3.1"
|
||||||
|
simple-concat "^1.0.0"
|
||||||
|
|
||||||
simple-swizzle@^0.2.2:
|
simple-swizzle@^0.2.2:
|
||||||
version "0.2.2"
|
version "0.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
|
||||||
|
@ -13538,16 +13549,6 @@ sprintf-js@~1.0.2:
|
||||||
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"
|
||||||
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
|
||||||
|
|
||||||
sqlite3@^5.0.2:
|
|
||||||
version "5.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/sqlite3/-/sqlite3-5.0.2.tgz#00924adcc001c17686e0a6643b6cbbc2d3965083"
|
|
||||||
integrity sha512-1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==
|
|
||||||
dependencies:
|
|
||||||
node-addon-api "^3.0.0"
|
|
||||||
node-pre-gyp "^0.11.0"
|
|
||||||
optionalDependencies:
|
|
||||||
node-gyp "3.x"
|
|
||||||
|
|
||||||
sse-z@0.3.0:
|
sse-z@0.3.0:
|
||||||
version "0.3.0"
|
version "0.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/sse-z/-/sse-z-0.3.0.tgz#e215db7c303d6c4a4199d80cb63811cc28fa55b9"
|
resolved "https://registry.yarnpkg.com/sse-z/-/sse-z-0.3.0.tgz#e215db7c303d6c4a4199d80cb63811cc28fa55b9"
|
||||||
|
@ -13957,16 +13958,28 @@ tapable@^2.1.1, tapable@^2.2.0:
|
||||||
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b"
|
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.0.tgz#5c373d281d9c672848213d0e037d1c4165ab426b"
|
||||||
integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==
|
integrity sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw==
|
||||||
|
|
||||||
tar@^2.0.0:
|
tar-fs@^2.0.0:
|
||||||
version "2.2.2"
|
version "2.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
|
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
|
||||||
integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
|
integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
|
||||||
dependencies:
|
dependencies:
|
||||||
block-stream "*"
|
chownr "^1.1.1"
|
||||||
fstream "^1.0.12"
|
mkdirp-classic "^0.5.2"
|
||||||
inherits "2"
|
pump "^3.0.0"
|
||||||
|
tar-stream "^2.1.4"
|
||||||
|
|
||||||
tar@^4, tar@^4.4.12:
|
tar-stream@^2.1.4:
|
||||||
|
version "2.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
|
||||||
|
integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
|
||||||
|
dependencies:
|
||||||
|
bl "^4.0.3"
|
||||||
|
end-of-stream "^1.4.1"
|
||||||
|
fs-constants "^1.0.0"
|
||||||
|
inherits "^2.0.3"
|
||||||
|
readable-stream "^3.1.1"
|
||||||
|
|
||||||
|
tar@^4.4.12:
|
||||||
version "4.4.13"
|
version "4.4.13"
|
||||||
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
|
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
|
||||||
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
|
integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
|
||||||
|
@ -15026,13 +15039,6 @@ which-module@^2.0.0:
|
||||||
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
|
||||||
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
|
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
|
||||||
|
|
||||||
which@1, which@^1.2.9, which@^1.3.1:
|
|
||||||
version "1.3.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
|
||||||
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
|
|
||||||
dependencies:
|
|
||||||
isexe "^2.0.0"
|
|
||||||
|
|
||||||
which@2.0.2, which@^2.0.1, which@^2.0.2:
|
which@2.0.2, which@^2.0.1, which@^2.0.2:
|
||||||
version "2.0.2"
|
version "2.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
||||||
|
@ -15040,6 +15046,13 @@ which@2.0.2, which@^2.0.1, which@^2.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
isexe "^2.0.0"
|
isexe "^2.0.0"
|
||||||
|
|
||||||
|
which@^1.2.9, which@^1.3.1:
|
||||||
|
version "1.3.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
|
||||||
|
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
|
||||||
|
dependencies:
|
||||||
|
isexe "^2.0.0"
|
||||||
|
|
||||||
wide-align@1.1.3, wide-align@^1.1.0:
|
wide-align@1.1.3, wide-align@^1.1.0:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
|
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
|
||||||
|
|
Loading…
Reference in a new issue