From 7658ced796e152f362229500e3b16f8186411be6 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 15 Oct 2020 17:32:35 +0300 Subject: [PATCH 01/35] feat(main): add basic analytics and transported --- package.json | 5 +- src/main/logger/analytics.ts | 67 ++++++++++++++++++++++++++ src/main/logger/analytics_transport.ts | 32 ++++++++++++ src/main/logger/index.ts | 55 +++++++++++---------- 4 files changed, 132 insertions(+), 27 deletions(-) create mode 100644 src/main/logger/analytics.ts create mode 100644 src/main/logger/analytics_transport.ts diff --git a/package.json b/package.json index c7d93fcb..7f8f3327 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "@types/request": "^2.48.5", "@types/rimraf": "^2.0.4", "@types/semver": "^6.2.1", + "@types/universal-analytics": "^0.4.4", "@types/websocket": "^0.0.40", "@types/ws": "^7.2.6", "@types/xmldom": "^0.1.30", @@ -86,8 +87,10 @@ "semver": "^6.3.0", "sudo-prompt": "^9.2.1", "tsyringe": "^4.3.0", + "universal-analytics": "^0.4.23", "webcrypto-core": "^1.1.8", - "winston": "^3.3.3" + "winston": "^3.3.3", + "winston-transport": "^4.4.0" }, "mocha": { "require": [ diff --git a/src/main/logger/analytics.ts b/src/main/logger/analytics.ts new file mode 100644 index 00000000..640c5575 --- /dev/null +++ b/src/main/logger/analytics.ts @@ -0,0 +1,67 @@ +import * as ua from 'universal-analytics'; + +interface IEvent { + userId: string; + category: string; + action: string; + timestamp: number; + params?: Object; +} + +/** + * https://www.npmjs.com/package/universal-analytics + */ + +export class Analytics { + // private queue: IEvent[] = []; + + private visitor: ua.Visitor; + + constructor(accountId: string, userId: string) { + console.log(userId); + + this.visitor = ua(accountId, { + uid: userId, + }); + } + + // private enqueue(category: string, action: string, params?: Object) { + // this.queue.push({ + // // userId: this.userId, + // category, + // action, + // timestamp: new Date().getTime(), + // params, + // }); + // } + + // private resetQueue() { + // this.queue = []; + // } + + // getQueue() { + // return this.queue; + // } + + event(category: string, action: string, label: string, params: Object = {}) { + // this.enqueue(category, action, params); + + // console.log(this.accountId, this.userId, category, action, params); + // console.log('========='); + // console.log(params); + + + this.visitor.event(category, action, label, '', params).send(); + + // visitor.event(category, action, '', '', params).send(); + + // return this; + } + + // TODO: Add service for send events. + // send() { + // console.log('queue send:', this.getQueue()); + + // this.resetQueue(); + // } +} diff --git a/src/main/logger/analytics_transport.ts b/src/main/logger/analytics_transport.ts new file mode 100644 index 00000000..d4283704 --- /dev/null +++ b/src/main/logger/analytics_transport.ts @@ -0,0 +1,32 @@ +import * as Transport from 'winston-transport'; +import { Analytics } from './analytics'; + +const analytics = new Analytics('UA-180537591-1', 'as8eknlll'); + +export class AnalyticsTransport extends Transport { + // constructor(opts) { + // super(opts); + // } + + log(info: any, callback: () => void) { + const { level, source, message, ...other } = info; + + // const x = this.format(info); + + // this.emit('logged', info); + + // console.log('!!!!'); + // console.log(level); + // console.log(source); + // console.log(message); + // console.log(other); + // console.log(Object.keys(other)); + analytics.event(source, message, level, other); + + this.emit('logged', info); + + if (callback) { + callback(); + } + } +} diff --git a/src/main/logger/index.ts b/src/main/logger/index.ts index 1647e78f..d59432d8 100644 --- a/src/main/logger/index.ts +++ b/src/main/logger/index.ts @@ -1,33 +1,34 @@ import * as winston from 'winston'; +import { AnalyticsTransport } from './analytics_transport'; import { APP_LOG_FILE, isDevelopment } from '../constants'; -const transportConsole = new winston.transports.Console({ - format: winston.format.combine( - winston.format.colorize(), - winston.format.printf((info) => { - const { - level, - message, - source, - ...other - } = info; +// const transportConsole = new winston.transports.Console({ +// format: winston.format.combine( +// winston.format.colorize(), +// winston.format.printf((info) => { +// const { +// level, +// message, +// source, +// ...other +// } = info; - if (other && Object.keys(other).length) { - return `${level}: [${source}] ${message} ${JSON.stringify(other)}`; - } +// if (other && Object.keys(other).length) { +// return `${level}: [${source}] ${message} ${JSON.stringify(other)}`; +// } - return `${level}: [${source}] ${message}`; - }), - ), -}); +// return `${level}: [${source}] ${message}`; +// }), +// ), +// }); -const transportFileGet = () => new winston.transports.File({ - filename: APP_LOG_FILE, - format: winston.format.combine( - winston.format.timestamp(), - winston.format.json(), - ), -}); +// const transportFileGet = () => new winston.transports.File({ +// filename: APP_LOG_FILE, +// format: winston.format.combine( +// winston.format.timestamp(), +// winston.format.json(), +// ), +// }); const winstonlogger = winston.createLogger({ exitOnError: false, @@ -37,12 +38,14 @@ export const loggingSwitch = (enabled: boolean) => { winstonlogger.clear(); if (isDevelopment || enabled) { - winstonlogger.add(transportConsole); + // winstonlogger.add(transportConsole); } if (enabled) { - winstonlogger.add(transportFileGet()); + // winstonlogger.add(transportFileGet()); } + + winstonlogger.add(new AnalyticsTransport()); }; export default { From 823bc49504c7600d56c2eaebc2aa49c248c50a01 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 15 Oct 2020 17:33:05 +0300 Subject: [PATCH 02/35] chore: bump package lock --- package-lock.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index e97310f6..812ae081 100644 --- a/package-lock.json +++ b/package-lock.json @@ -414,6 +414,12 @@ "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==", "dev": true }, + "@types/universal-analytics": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@types/universal-analytics/-/universal-analytics-0.4.4.tgz", + "integrity": "sha512-9g3F0SGxVr4UDd6y07bWtFnkpSSX1Ake7U7AGHgSFrwM6pF53/fV85bfxT2JLWS/3sjLCcyzoYzQlCxpkVo7wA==", + "dev": true + }, "@types/websocket": { "version": "0.0.40", "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-0.0.40.tgz", @@ -2440,7 +2446,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, "requires": { "ms": "^2.1.1" } @@ -9476,6 +9481,16 @@ "imurmurhash": "^0.1.4" } }, + "universal-analytics": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", + "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", + "requires": { + "debug": "^4.1.1", + "request": "^2.88.2", + "uuid": "^3.0.0" + } + }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", From c8872db6d9567a80b0f39909bf082d556f4b7c5d Mon Sep 17 00:00:00 2001 From: donskov Date: Mon, 26 Oct 2020 15:59:42 +0200 Subject: [PATCH 03/35] feat(telemetry): add telemetry view, actions for change --- locale/cs.json | 4 +- locale/de.json | 4 +- locale/el.json | 4 +- locale/en.json | 4 +- locale/es.json | 4 +- locale/fr.json | 4 +- locale/it.json | 4 +- locale/ja.json | 4 +- locale/nl.json | 4 +- locale/pt.json | 4 +- locale/ru.json | 4 +- locale/tr.json | 4 +- locale/zh.json | 4 +- package-lock.json | 34 ++++++++++-- package.json | 2 + src/main/config.ts | 53 +++++++++++-------- src/main/ipc_messages.ts | 14 +++++ src/main/type.d.ts | 8 ++- .../containers/settings/container.tsx | 24 ++++++++- src/renderer/containers/settings/index.tsx | 46 +++++++++++----- .../containers/settings/telemetry.tsx | 45 ++++++++++++++++ 21 files changed, 223 insertions(+), 55 deletions(-) create mode 100644 src/renderer/containers/settings/telemetry.tsx diff --git a/locale/cs.json b/locale/cs.json index 9ceb3e2f..1e7c24bf 100644 --- a/locale/cs.json +++ b/locale/cs.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Zdá se, že `Správce prostředků čipových karet` není spuštěn. Spusťte tuto službu a poté restartujte Fortify, prosím.", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/de.json b/locale/de.json index a8329a1f..105baab4 100644 --- a/locale/de.json +++ b/locale/de.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Der `Smart Card Resource Manager` ist möglicherweise nicht in Betrieb. Bitte starten Sie den Service und versuchen Sie es erneut.", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/el.json b/locale/el.json index 9735986b..3c82319a 100644 --- a/locale/el.json +++ b/locale/el.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Φαίνεται πως το `Smart Card Resource Manager` δεν τρέχει.Παρακαλούμε εκκινήστε την υπηρεσία και εκκινήστε το Fortify ξανά.", "keys.empty.search": "Δεν υπάρχουν ιστοσελίδες που να ταιριάζουν με αυτή την αναζήτηση.", "remove": "Αφαίρεση", - "settings": "Ρυθμίσεις" + "settings": "Ρυθμίσεις", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/en.json b/locale/en.json index a627e320..fdbcc545 100644 --- a/locale/en.json +++ b/locale/en.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "It looks like the `Smart Card Resource Manager` is not running. Please start this service and start Fortify again.", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/es.json b/locale/es.json index 0ea7ceb9..66b61229 100644 --- a/locale/es.json +++ b/locale/es.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Parece que el `Smart Card Resource Manager` no está corriendo. Por favor iniciar este servicio y volver a iniciar Fortify.", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/fr.json b/locale/fr.json index eb7f3a36..c74f5d17 100644 --- a/locale/fr.json +++ b/locale/fr.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Il semble que `Smart Card Resource Manager` ne soit pas lancé. Veuillez démarrer le service puis redémarrer Fortify.", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/it.json b/locale/it.json index f4d3d614..7cfbe811 100644 --- a/locale/it.json +++ b/locale/it.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Sembra che lo `Smart Card Resource Manager` non funzioni. Imposta questo servizio e riavvia Fortify.", "keys.empty.search": "Non ci sono siti che corrispondono alla ricerca.", "remove": "Rimuovi", - "settings": "Impostazioni" + "settings": "Impostazioni", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/ja.json b/locale/ja.json index 348cfe11..cd529114 100644 --- a/locale/ja.json +++ b/locale/ja.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "`Smart Card Resource Manager`が動作していないようにみえます。本サービスを開始し、再度Fortifyを起動してください。", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/nl.json b/locale/nl.json index 8b951bfb..f1b23a3e 100644 --- a/locale/nl.json +++ b/locale/nl.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Het lijkt erop dat de 'Smart Card Resource Manager' niet actief is. Start deze service en herstart Fortify.", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/pt.json b/locale/pt.json index 21e31cf2..04b76dca 100644 --- a/locale/pt.json +++ b/locale/pt.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "O serviço `Smart Card Resource Manager` não está em execução. Por favor inicie o serviço e reinicie a aplicação Fortify.", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/ru.json b/locale/ru.json index 948dec8c..2ed4402d 100644 --- a/locale/ru.json +++ b/locale/ru.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "Невозможно подключиться к службе `Менеджер смарт-карт`. Возможно служба не запущена. Пожалуйста, запустите службу и заново откройте приложение Fortify.", "keys.empty.search": "Совпадений не найдено.", "remove": "Удалить", - "settings": "Настройки" + "settings": "Настройки", + "telemetry.title": "Телеметрия", + "telemetry.enable": "Разрешить отправку данных об использовании и отчетов о сбоях для улучшения приложения" } diff --git a/locale/tr.json b/locale/tr.json index e43e14ee..e52d87d0 100644 --- a/locale/tr.json +++ b/locale/tr.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "`Smart Card Resource Manager` servisi çalışmıyor. Lütfen servisi çalıştırın ve sonrasında Fortify'ı tekrar açın.", "keys.empty.search": "Arama kriterlerine uyan web sitesi bulunamadı.", "remove": "Kaldır", - "settings": "Ayarlar" + "settings": "Ayarlar", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/locale/zh.json b/locale/zh.json index 45ef2a0a..9d18fb25 100644 --- a/locale/zh.json +++ b/locale/zh.json @@ -48,5 +48,7 @@ "warn.pcsc.cannot_start": "看起来“智能卡资源管理器”没有运行。 请启动此服务并再次启动Fortify。", "keys.empty.search": "There are no websites matching that search.", "remove": "Remove", - "settings": "Settings" + "settings": "Settings", + "telemetry.title": "Telemetry", + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" } diff --git a/package-lock.json b/package-lock.json index 812ae081..c43086f7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -420,6 +420,12 @@ "integrity": "sha512-9g3F0SGxVr4UDd6y07bWtFnkpSSX1Ake7U7AGHgSFrwM6pF53/fV85bfxT2JLWS/3sjLCcyzoYzQlCxpkVo7wA==", "dev": true }, + "@types/uuid": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", + "integrity": "sha512-eQ9qFW/fhfGJF8WKHGEHZEyVWfZxrT+6CLIJGBcZPfxUh/+BnEj+UCGYMlr9qZuX/2AltsvwrGqp0LhEW8D0zQ==", + "dev": true + }, "@types/websocket": { "version": "0.0.40", "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-0.0.40.tgz", @@ -7905,6 +7911,13 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } } }, "request-progress": { @@ -9489,6 +9502,13 @@ "debug": "^4.1.1", "request": "^2.88.2", "uuid": "^3.0.0" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } } }, "universalify": { @@ -9635,9 +9655,9 @@ } }, "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", + "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" }, "v8-compile-cache": { "version": "2.1.1", @@ -10106,6 +10126,14 @@ "log-symbols": "^2.1.0", "loglevelnext": "^1.0.1", "uuid": "^3.1.0" + }, + "dependencies": { + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + } } }, "webpack-merge": { diff --git a/package.json b/package.json index 7f8f3327..1f5c7460 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "@types/rimraf": "^2.0.4", "@types/semver": "^6.2.1", "@types/universal-analytics": "^0.4.4", + "@types/uuid": "^8.3.0", "@types/websocket": "^0.0.40", "@types/ws": "^7.2.6", "@types/xmldom": "^0.1.30", @@ -88,6 +89,7 @@ "sudo-prompt": "^9.2.1", "tsyringe": "^4.3.0", "universal-analytics": "^0.4.23", + "uuid": "^8.3.1", "webcrypto-core": "^1.1.8", "winston": "^3.3.3", "winston-transport": "^4.4.0" diff --git a/src/main/config.ts b/src/main/config.ts index cb4b71ab..2e12647b 100644 --- a/src/main/config.ts +++ b/src/main/config.ts @@ -1,10 +1,18 @@ import * as fs from 'fs'; +import { v4 as uuidv4 } from 'uuid'; import { APP_CONFIG_FILE } from './constants'; +const defaultConfig = { + userId: uuidv4(), + providers: [], + cards: [], + disableCardUpdate: false, + logging: false, + telemetry: false, +}; + /** - * Write config data to file - * - * @param path Path to config file + * Set application config. * @param config Config data */ export function setConfig(config: IConfigure) { @@ -14,29 +22,28 @@ export function setConfig(config: IConfigure) { } /** - * Read config file by path - * - * @param path Path to file config - * @param cb Callback for configure creation + * Get application config. */ -export function getConfig() { - let res: IConfigure; - - if (!fs.existsSync(APP_CONFIG_FILE)) { - // Create config with default data - res = { - providers: [], - cards: [], - disableCardUpdate: false, - logging: false, - }; - - setConfig(res); - } else { +export function getConfig(): IConfigure { + const isConfigExist = fs.existsSync(APP_CONFIG_FILE); + + if (isConfigExist) { const json = fs.readFileSync(APP_CONFIG_FILE, 'utf8'); + const config = JSON.parse(json) as IConfigure; + + // Add `userId` key if exist. + if (!config.userId) { + config.userId = uuidv4(); - res = JSON.parse(json); + // Save config with new keys. + setConfig(config); + } + + return config; } - return res; + // Save default config. + setConfig(defaultConfig); + + return defaultConfig; } diff --git a/src/main/ipc_messages.ts b/src/main/ipc_messages.ts index 6b902883..1a11daa4 100644 --- a/src/main/ipc_messages.ts +++ b/src/main/ipc_messages.ts @@ -91,6 +91,20 @@ const initEvents = () => { list: l10n.supportedLangs, }; }) + .on('ipc-telemetry-status-get', (event: IpcMainEvent) => { + const config = getConfig(); + + event.returnValue = config.telemetry; + }) + .on('ipc-telemetry-status-change', (event: IpcMainEvent) => { + const config = getConfig(); + + config.telemetry = !config.telemetry; + + setConfig(config); + + event.sender.send('ipc-telemetry-status-changed', config.telemetry); + }) .on('error', (event: IpcMainEvent) => { logger.error('ipc-messages', 'Event error', { event: event.toString(), diff --git a/src/main/type.d.ts b/src/main/type.d.ts index 50180956..fa2abce0 100644 --- a/src/main/type.d.ts +++ b/src/main/type.d.ts @@ -27,8 +27,14 @@ interface IConfigure { cardConfigPath?: string; providers?: IConfigureProvider[]; cards: ICard[]; + userId: string; + telemetry?: boolean; } declare module 'sudo-prompt' { - export function exec(script: string, options: any, cb: (err: Error, stdout: Buffer) => void): void; + export function exec( + script: string, + options: any, + cb: (err: Error, stdout: Buffer) => void, + ): void; } diff --git a/src/renderer/containers/settings/container.tsx b/src/renderer/containers/settings/container.tsx index 616bfaae..dd700491 100644 --- a/src/renderer/containers/settings/container.tsx +++ b/src/renderer/containers/settings/container.tsx @@ -9,6 +9,7 @@ import classnames from 'classnames'; import { Sites } from './sites'; import { Logging } from './logging'; import { Language } from './language'; +import { Telemetry } from './telemetry'; import { IntlContext } from '../../components/intl'; const s = require('./styles/container.sass'); @@ -17,6 +18,7 @@ enum TabType { sites = 1, logging, language, + telemetry, } export interface IContainerProps { @@ -25,6 +27,10 @@ export interface IContainerProps { onLoggingStatusChange: () => void; status: boolean; }; + telemetry: { + onTelemetryStatusChange: () => void; + status: boolean; + }; language: { onLanguageChange: (lang: string) => void; }; @@ -57,7 +63,12 @@ export default class Container extends React.Component {intl('logging')} + + {intl('telemetry.title')} + + diff --git a/src/renderer/containers/settings/index.tsx b/src/renderer/containers/settings/index.tsx index d1491224..478f864f 100644 --- a/src/renderer/containers/settings/index.tsx +++ b/src/renderer/containers/settings/index.tsx @@ -11,9 +11,8 @@ interface IRootState { list: IKey[]; isFetching: IsFetchingType; }; - logging: { - status: boolean; - }; + logging: boolean; + telemetry: boolean; } class Root extends WindowProvider { @@ -25,18 +24,19 @@ class Root extends WindowProvider { list: [], isFetching: 'pending', }, - logging: { - status: false, - }, + logging: false, + telemetry: false, }; } componentWillMount() { this.handleKeysListGet(); this.handleLoggingGet(); + this.handleTelemetryGet(); ipcRenderer.on('ipc-2key-changed', this.handleKeysListGet); ipcRenderer.on('ipc-logging-status-changed', this.onLoggingChangedListener); + ipcRenderer.on('ipc-telemetry-status-changed', this.onTelemetryChangedListener); } handleKeysListGet = () => { @@ -54,17 +54,27 @@ class Root extends WindowProvider { const status = ipcRenderer.sendSync('ipc-logging-status-get'); this.setState({ - logging: { - status, - }, + logging: status, + }); + } + + handleTelemetryGet() { + const status = ipcRenderer.sendSync('ipc-telemetry-status-get'); + + this.setState({ + telemetry: status, }); } onLoggingChangedListener = (_: IpcRendererEvent, status: boolean) => { this.setState({ - logging: { - status, - }, + logging: status, + }); + }; + + onTelemetryChangedListener = (_: IpcRendererEvent, status: boolean) => { + this.setState({ + telemetry: status, }); }; @@ -84,15 +94,23 @@ class Root extends WindowProvider { ipcRenderer.send('ipc-language-set', lang); }; + onTelemetryStatusChange = () => { + ipcRenderer.send('ipc-telemetry-status-change'); + }; + renderChildrens() { - const { keys, logging } = this.state; + const { keys, logging, telemetry } = this.state; return ( void; + status: boolean; + }; +} + +export class Telemetry extends React.Component { + static contextType = IntlContext; + + render() { + const { telemetry } = this.props; + const { intl } = this.context; + + return ( + <> + + + + + ); + } +} From ef6a717979e82dab1f2cfa050f54800999a2e84e Mon Sep 17 00:00:00 2001 From: donskov Date: Mon, 26 Oct 2020 16:00:18 +0200 Subject: [PATCH 04/35] chore(logger): update some actions text --- src/main/application.ts | 6 ++---- src/main/server.ts | 16 ++++++++-------- src/main/services/ssl/nss.ts | 2 +- src/main/windows/browser_window.ts | 2 ++ 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/application.ts b/src/main/application.ts index 955d756c..f2a90089 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -1,7 +1,6 @@ import { app, screen } from 'electron'; import * as fs from 'fs'; import * as os from 'os'; -import * as path from 'path'; import { inject, injectable, @@ -13,7 +12,6 @@ import { CHECK_UPDATE, CHECK_UPDATE_INTERVAL, APP_USER_DIR, - APP_DIR, } from './constants'; import { setConfig, getConfig } from './config'; import logger, { loggingSwitch } from './logger'; @@ -175,10 +173,10 @@ export class Application { logger.info('application', 'Starting', { time: this.startTime, }); - logger.info('application', 'Env', { + logger.info('application', 'Info', { version: app.getVersion(), }); - logger.info('system', 'Env', { + logger.info('system', 'Info', { type: os.type(), platform: os.platform(), arch: os.arch(), diff --git a/src/main/server.ts b/src/main/server.ts index cc5cfe83..fb7b2ca5 100644 --- a/src/main/server.ts +++ b/src/main/server.ts @@ -81,7 +81,7 @@ export class Server { try { await sslService.run(); } catch (error) { - logger.error('server', 'SSL service run', { + logger.error('server', 'SSL service run error', { stack: error.stack, }); @@ -99,7 +99,7 @@ export class Server { key: fs.readFileSync(constants.APP_SSL_KEY), } as any; - logger.info('server', 'Certificate is loaded'); + logger.info('server', 'SSL certificate is loaded'); await this.prepareConfig(); @@ -243,7 +243,7 @@ export class Server { } }) .on('close', (e: any) => { - logger.info('server', 'Close', { + logger.info('server', 'Close event', { e, }); }) @@ -276,7 +276,7 @@ export class Server { } } } catch (error) { - logger.error('server', 'Cannot prepare config data', { + logger.error('server', 'Cannot prepare config data error', { stack: error.stack, }); } @@ -298,7 +298,7 @@ export class Server { } } } catch (error) { - logger.error('server', 'Cannot prepare config data', { + logger.error('server', 'Cannot prepare config data error', { stack: error.stack, }); } @@ -325,7 +325,7 @@ export class Server { return; } catch (error) { - logger.error('server', 'Cannot get card.json', { + logger.error('server', 'Cannot get card.json error', { from: constants.APP_CARD_JSON_LINK, stack: error.stack, }); @@ -350,7 +350,7 @@ export class Server { const jwsString = await request(constants.APP_CARD_JSON_LINK); remote = await jws.getContent(jwsString); } catch (error) { - logger.error('server', 'Cannot get get file', { + logger.error('server', 'Cannot get file error', { file: constants.APP_CARD_JSON_LINK, stack: error.stack, }); @@ -375,7 +375,7 @@ export class Server { } } } catch (error) { - logger.error('server', 'Cannot prepare card.json data', { + logger.error('server', 'Cannot prepare card.json data error', { stack: error.stack, }); } diff --git a/src/main/services/ssl/nss.ts b/src/main/services/ssl/nss.ts index 669fc3b4..891182b8 100644 --- a/src/main/services/ssl/nss.ts +++ b/src/main/services/ssl/nss.ts @@ -518,7 +518,7 @@ export class NssCertUtils { const execCommand = `"${this.app}" ${command} ${args2.join(' ')}`; - logger.info('nss', 'Run', { command: execCommand, shell }); + logger.info('nss', 'Run certutil command', { command: execCommand, shell }); return execSync(execCommand, { shell }).toString(); } diff --git a/src/main/windows/browser_window.ts b/src/main/windows/browser_window.ts index db856598..4082f823 100644 --- a/src/main/windows/browser_window.ts +++ b/src/main/windows/browser_window.ts @@ -55,6 +55,7 @@ export class BrowserWindow { private onInit(options: IWindowOptions) { logger.info('windows', 'Create window', { name: options.app, + id: options.params?.id, }); this.window.loadURL(url.format({ @@ -98,6 +99,7 @@ export class BrowserWindow { this.window.on('close', () => { logger.info('windows', 'Close window', { name: options.app, + id: options.params?.id, }); globalShortcut.unregisterAll(); From 9f9036644d431d08e8db81fb55293a071d3b51df Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 29 Oct 2020 15:37:19 +0200 Subject: [PATCH 05/35] chore(events): add message to error evemts --- src/main/application.ts | 8 ++++---- src/main/server.ts | 14 +++++++++++--- src/main/services/ssl/index.ts | 2 ++ src/main/services/ssl/installer.ts | 3 ++- src/main/updater.ts | 7 +++++-- src/main/windows/dialogs_storage.ts | 1 + 6 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/main/application.ts b/src/main/application.ts index f2a90089..128a4ef3 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -122,6 +122,7 @@ export class Application { ipcMessages.initServerEvents(); } catch (error) { logger.error('application', 'On ready error', { + error: error.message, stack: error.stack, }); } @@ -173,10 +174,10 @@ export class Application { logger.info('application', 'Starting', { time: this.startTime, }); - logger.info('application', 'Info', { + logger.info('application', 'Application info', { version: app.getVersion(), }); - logger.info('system', 'Info', { + logger.info('system', 'System info', { type: os.type(), platform: os.platform(), arch: os.arch(), @@ -194,7 +195,6 @@ export class Application { logger.info('system', 'Screen size', { width, height, - points: 'px', }); } @@ -205,7 +205,6 @@ export class Application { logger.info('application', 'Loaded', { time: loadTime, duration: loadDuration, - points: 'ms', }); } @@ -223,6 +222,7 @@ export class Application { setConfig(this.config); } catch (error) { logger.error('application', 'Firefox providers create error', { + error: error.message, stack: error.stack, }); } diff --git a/src/main/server.ts b/src/main/server.ts index fb7b2ca5..650f5302 100644 --- a/src/main/server.ts +++ b/src/main/server.ts @@ -82,6 +82,7 @@ export class Server { await sslService.run(); } catch (error) { logger.error('server', 'SSL service run error', { + error: error.message, stack: error.stack, }); @@ -111,6 +112,7 @@ export class Server { this.load(sslData); } catch (error) { logger.error('server', 'LocalServer is empty. webcrypto-local module wasn\'t loaded', { + error: error.message, stack: error.stack, }); } @@ -120,9 +122,9 @@ export class Server { run() { this.server - .on('listening', (e: any) => { + .on('listening', (address: string) => { logger.info('server', 'Started', { - time: e, + address, }); }) .on('info', (level, source, message, data) => { @@ -154,12 +156,14 @@ export class Server { } } catch (error) { logger.error('server', 'Token window', { + error: error.message, stack: error.stack, }); } }) .on('error', (error: Error) => { - logger.error('server', 'Event error', { + logger.error('server', 'Server event error', { + error: error.message, stack: error.stack, }); @@ -277,6 +281,7 @@ export class Server { } } catch (error) { logger.error('server', 'Cannot prepare config data error', { + error: error.message, stack: error.stack, }); } @@ -327,6 +332,7 @@ export class Server { } catch (error) { logger.error('server', 'Cannot get card.json error', { from: constants.APP_CARD_JSON_LINK, + error: error.message, stack: error.stack, }); } @@ -352,6 +358,7 @@ export class Server { } catch (error) { logger.error('server', 'Cannot get file error', { file: constants.APP_CARD_JSON_LINK, + error: error.message, stack: error.stack, }); } @@ -376,6 +383,7 @@ export class Server { } } catch (error) { logger.error('server', 'Cannot prepare card.json data error', { + error: error.message, stack: error.stack, }); } diff --git a/src/main/services/ssl/index.ts b/src/main/services/ssl/index.ts index cc1e9af5..be49177a 100644 --- a/src/main/services/ssl/index.ts +++ b/src/main/services/ssl/index.ts @@ -253,6 +253,7 @@ export class SslService { logger.info('ssl-service', 'Certificate added to trusted storages'); } catch (error) { logger.error('ssl-service', 'Cannot install SSL certificate', { + error: error.message, stack: error.stack, }); @@ -275,6 +276,7 @@ export class SslService { this.installer.installFirefox(constants.APP_SSL_CERT_CA); } catch (error) { logger.error('ssl-service', 'Install Firefox', { + error: error.message, stack: error.stack, }); } diff --git a/src/main/services/ssl/installer.ts b/src/main/services/ssl/installer.ts index 0200dccd..c0d8bafb 100644 --- a/src/main/services/ssl/installer.ts +++ b/src/main/services/ssl/installer.ts @@ -151,7 +151,8 @@ export class SslCertInstaller { }); installed = true; } catch (error) { - logger.error('ssl-installer', 'Error', { + logger.error('ssl-installer', 'SSL install error', { + error: error.message, stack: error.stack, }); } diff --git a/src/main/updater.ts b/src/main/updater.ts index af4afe6d..68a272b9 100644 --- a/src/main/updater.ts +++ b/src/main/updater.ts @@ -39,8 +39,9 @@ class Updater extends EventEmitter { return response.replace(/[\n\r]/g, ''); } catch (error) { - logger.error('update', 'Cannot GET', { + logger.error('update', 'JWS GET error', { jwsLink: JWS_LINK, + error: error.message, stack: error.stack, }); @@ -58,6 +59,7 @@ class Updater extends EventEmitter { return jws.getContent(jwsString); } catch (error) { logger.error('update', 'Get info error', { + error: error.message, stack: error.stack, }); @@ -125,7 +127,8 @@ class Updater extends EventEmitter { this.emit('update-not-found'); } } catch (error) { - logger.error('update', 'Error', { + logger.error('update', 'Update error', { + error: error.message, stack: error.stack, }); diff --git a/src/main/windows/dialogs_storage.ts b/src/main/windows/dialogs_storage.ts index 7167ad51..4d9d9991 100644 --- a/src/main/windows/dialogs_storage.ts +++ b/src/main/windows/dialogs_storage.ts @@ -23,6 +23,7 @@ export class DialogsStorage { } catch (error) { logger.error('dialog-storage', 'Cannot parse JSON file', { file: constants.APP_DIALOG_FILE, + error: error.message, stack: error.stack, }); } From 48a3fd01e5398289886d5e097a76a1c35745830e Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 29 Oct 2020 18:06:10 +0200 Subject: [PATCH 06/35] feat(constants): add mixpanel token --- src/main/constants/index.ts | 1 + src/main/constants/third_party.ts | 1 + 2 files changed, 2 insertions(+) create mode 100644 src/main/constants/third_party.ts diff --git a/src/main/constants/index.ts b/src/main/constants/index.ts index d5db9168..88921aa7 100644 --- a/src/main/constants/index.ts +++ b/src/main/constants/index.ts @@ -1,4 +1,5 @@ export * from './design'; export * from './files'; +export * from './third_party'; export const isDevelopment = process.env.NODE_ENV === 'development'; diff --git a/src/main/constants/third_party.ts b/src/main/constants/third_party.ts new file mode 100644 index 00000000..89608b74 --- /dev/null +++ b/src/main/constants/third_party.ts @@ -0,0 +1 @@ +export const MIXPANEL_TOKEN = '31a2bd73f845a3bef59965badb55fe34'; From 5b1e98e802994a26f3f92b87c831a06e27581f8f Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 29 Oct 2020 18:06:56 +0200 Subject: [PATCH 07/35] chore(deps): remove universal-analytics and add mixpanel --- package-lock.json | 48 ++++++++++++++++++++++++----------------------- package.json | 3 +-- 2 files changed, 26 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index c43086f7..9691659a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -414,12 +414,6 @@ "integrity": "sha512-I99sngh224D0M7XgW1s120zxCt3VYQ3IQsuw3P3jbq5GG4yc79+ZjyKznyOGIQrflfylLgcfekeZW/vk0yng6A==", "dev": true }, - "@types/universal-analytics": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@types/universal-analytics/-/universal-analytics-0.4.4.tgz", - "integrity": "sha512-9g3F0SGxVr4UDd6y07bWtFnkpSSX1Ake7U7AGHgSFrwM6pF53/fV85bfxT2JLWS/3sjLCcyzoYzQlCxpkVo7wA==", - "dev": true - }, "@types/uuid": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.0.tgz", @@ -796,6 +790,14 @@ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", "dev": true }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "requires": { + "debug": "4" + } + }, "ajv": { "version": "6.12.4", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", @@ -4554,6 +4556,15 @@ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", "dev": true }, + "https-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", + "requires": { + "agent-base": "6", + "debug": "4" + } + }, "iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -5821,6 +5832,14 @@ } } }, + "mixpanel": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/mixpanel/-/mixpanel-0.13.0.tgz", + "integrity": "sha512-YOWmpr/o4+zJ8LPjuLUkWLc2ImFeIkX6hF1t62Wlvq6loC6e8EK8qieYO4gYPTPxxtjAryl7xmIvf/7qnPwjrQ==", + "requires": { + "https-proxy-agent": "5.0.0" + } + }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -9494,23 +9513,6 @@ "imurmurhash": "^0.1.4" } }, - "universal-analytics": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", - "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", - "requires": { - "debug": "^4.1.1", - "request": "^2.88.2", - "uuid": "^3.0.0" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } - } - }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", diff --git a/package.json b/package.json index 1f5c7460..79b1cc2f 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@types/request": "^2.48.5", "@types/rimraf": "^2.0.4", "@types/semver": "^6.2.1", - "@types/universal-analytics": "^0.4.4", "@types/uuid": "^8.3.0", "@types/websocket": "^0.0.40", "@types/ws": "^7.2.6", @@ -79,6 +78,7 @@ "get-proxy-settings": "^0.1.11", "jose-jwe-jws": "github:microshine/js-jose", "lib-react-components": "^1.2.0", + "mixpanel": "^0.13.0", "pkijs": "^2.1.89", "pvtsutils": "^1.0.14", "react": "^16.13.1", @@ -88,7 +88,6 @@ "semver": "^6.3.0", "sudo-prompt": "^9.2.1", "tsyringe": "^4.3.0", - "universal-analytics": "^0.4.23", "uuid": "^8.3.1", "webcrypto-core": "^1.1.8", "winston": "^3.3.3", From d49bf7da4108495ecc2b8bb2888fa684ef0099e6 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 29 Oct 2020 18:13:32 +0200 Subject: [PATCH 08/35] chore(config): rewrite merge default config --- src/main/config.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/config.ts b/src/main/config.ts index 2e12647b..680f78e1 100644 --- a/src/main/config.ts +++ b/src/main/config.ts @@ -8,7 +8,8 @@ const defaultConfig = { cards: [], disableCardUpdate: false, logging: false, - telemetry: false, + telemetry: true, + locale: 'en', }; /** @@ -29,13 +30,15 @@ export function getConfig(): IConfigure { if (isConfigExist) { const json = fs.readFileSync(APP_CONFIG_FILE, 'utf8'); - const config = JSON.parse(json) as IConfigure; + let config = JSON.parse(json) as IConfigure; - // Add `userId` key if exist. - if (!config.userId) { - config.userId = uuidv4(); + // Add existing keys to config. + if (Object.keys(defaultConfig).join('') !== Object.keys(config).join('')) { + config = { + ...defaultConfig, + ...config, + }; - // Save config with new keys. setConfig(config); } From 8f675018a6921a0fc241caa89720cf1fbee3fe39 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 29 Oct 2020 18:13:55 +0200 Subject: [PATCH 09/35] feat(logger): add analytics logger --- src/main/logger/analytics.ts | 69 ++++++------------------ src/main/logger/analytics_transport.ts | 33 ++++++------ src/main/logger/index.ts | 75 +++++++++++++++----------- 3 files changed, 75 insertions(+), 102 deletions(-) diff --git a/src/main/logger/analytics.ts b/src/main/logger/analytics.ts index 640c5575..9c5daf75 100644 --- a/src/main/logger/analytics.ts +++ b/src/main/logger/analytics.ts @@ -1,67 +1,28 @@ -import * as ua from 'universal-analytics'; +import * as Mixpanel from 'mixpanel'; +import { MIXPANEL_TOKEN } from '../constants'; -interface IEvent { +const mixpanel = Mixpanel.init(MIXPANEL_TOKEN); + +export interface IAnalyticsOptions { userId: string; - category: string; - action: string; - timestamp: number; - params?: Object; } /** - * https://www.npmjs.com/package/universal-analytics + * https://www.npmjs.com/package/mixpanel */ export class Analytics { - // private queue: IEvent[] = []; - - private visitor: ua.Visitor; + private userId: string; - constructor(accountId: string, userId: string) { - console.log(userId); - - this.visitor = ua(accountId, { - uid: userId, - }); + constructor(options: IAnalyticsOptions) { + this.userId = options.userId; } - // private enqueue(category: string, action: string, params?: Object) { - // this.queue.push({ - // // userId: this.userId, - // category, - // action, - // timestamp: new Date().getTime(), - // params, - // }); - // } - - // private resetQueue() { - // this.queue = []; - // } - - // getQueue() { - // return this.queue; - // } - - event(category: string, action: string, label: string, params: Object = {}) { - // this.enqueue(category, action, params); - - // console.log(this.accountId, this.userId, category, action, params); - // console.log('========='); - // console.log(params); - - - this.visitor.event(category, action, label, '', params).send(); - - // visitor.event(category, action, '', '', params).send(); - - // return this; + event(category: string, action: string, params: Record) { + mixpanel.track(action, { + distinct_id: this.userId, + category, + ...params, + }); } - - // TODO: Add service for send events. - // send() { - // console.log('queue send:', this.getQueue()); - - // this.resetQueue(); - // } } diff --git a/src/main/logger/analytics_transport.ts b/src/main/logger/analytics_transport.ts index d4283704..3d5ba110 100644 --- a/src/main/logger/analytics_transport.ts +++ b/src/main/logger/analytics_transport.ts @@ -1,27 +1,24 @@ import * as Transport from 'winston-transport'; -import { Analytics } from './analytics'; - -const analytics = new Analytics('UA-180537591-1', 'as8eknlll'); +import { Analytics, IAnalyticsOptions } from './analytics'; export class AnalyticsTransport extends Transport { - // constructor(opts) { - // super(opts); - // } - - log(info: any, callback: () => void) { - const { level, source, message, ...other } = info; + analytics: Analytics; - // const x = this.format(info); + constructor(options: IAnalyticsOptions & Transport.TransportStreamOptions) { + super(options); - // this.emit('logged', info); + this.analytics = new Analytics(options); + } - // console.log('!!!!'); - // console.log(level); - // console.log(source); - // console.log(message); - // console.log(other); - // console.log(Object.keys(other)); - analytics.event(source, message, level, other); + log(info: any, callback: () => void) { + const { + level, + source, + message, + ...other + } = info; + + this.analytics.event(source, message, other); this.emit('logged', info); diff --git a/src/main/logger/index.ts b/src/main/logger/index.ts index d59432d8..35fcce6a 100644 --- a/src/main/logger/index.ts +++ b/src/main/logger/index.ts @@ -1,51 +1,66 @@ import * as winston from 'winston'; import { AnalyticsTransport } from './analytics_transport'; import { APP_LOG_FILE, isDevelopment } from '../constants'; +import { getConfig } from '../config'; -// const transportConsole = new winston.transports.Console({ -// format: winston.format.combine( -// winston.format.colorize(), -// winston.format.printf((info) => { -// const { -// level, -// message, -// source, -// ...other -// } = info; +const config = getConfig(); -// if (other && Object.keys(other).length) { -// return `${level}: [${source}] ${message} ${JSON.stringify(other)}`; -// } +const transportConsole = new winston.transports.Console({ + format: winston.format.combine( + winston.format.colorize(), + winston.format.printf((info) => { + const { + level, + message, + source, + ...other + } = info; -// return `${level}: [${source}] ${message}`; -// }), -// ), -// }); + if (other && Object.keys(other).length) { + return `${level}: [${source}] ${message} ${JSON.stringify(other)}`; + } -// const transportFileGet = () => new winston.transports.File({ -// filename: APP_LOG_FILE, -// format: winston.format.combine( -// winston.format.timestamp(), -// winston.format.json(), -// ), -// }); + return `${level}: [${source}] ${message}`; + }), + ), +}); + +const transportFile = new winston.transports.File({ + filename: APP_LOG_FILE, + format: winston.format.combine( + winston.format.timestamp(), + winston.format.json(), + ), +}); + +const transportAnalytics = new AnalyticsTransport({ + userId: config.userId, +}); const winstonlogger = winston.createLogger({ exitOnError: false, + transports: [ + transportConsole, + transportFile, + transportAnalytics, + ], }); export const loggingSwitch = (enabled: boolean) => { - winstonlogger.clear(); + if (isDevelopment) { + transportConsole.silent = false; + transportFile.silent = false; - if (isDevelopment || enabled) { - // winstonlogger.add(transportConsole); + return; } if (enabled) { - // winstonlogger.add(transportFileGet()); + transportConsole.silent = false; + transportFile.silent = false; + } else { + transportConsole.silent = true; + transportFile.silent = true; } - - winstonlogger.add(new AnalyticsTransport()); }; export default { From 07fdfe6b471ed7d9536d774c77d236ff8952d088 Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 30 Oct 2020 14:47:49 +0200 Subject: [PATCH 10/35] feat(locale): add values for telemetry dialog --- locale/cs.json | 4 +++- locale/de.json | 4 +++- locale/el.json | 4 +++- locale/en.json | 4 +++- locale/es.json | 4 +++- locale/fr.json | 4 +++- locale/it.json | 4 +++- locale/ja.json | 4 +++- locale/nl.json | 4 +++- locale/pt.json | 4 +++- locale/ru.json | 4 +++- locale/tr.json | 4 +++- locale/zh.json | 4 +++- 13 files changed, 39 insertions(+), 13 deletions(-) diff --git a/locale/cs.json b/locale/cs.json index 1e7c24bf..029585db 100644 --- a/locale/cs.json +++ b/locale/cs.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/de.json b/locale/de.json index 105baab4..c7323dcc 100644 --- a/locale/de.json +++ b/locale/de.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/el.json b/locale/el.json index 3c82319a..3989fc17 100644 --- a/locale/el.json +++ b/locale/el.json @@ -50,5 +50,7 @@ "remove": "Αφαίρεση", "settings": "Ρυθμίσεις", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/en.json b/locale/en.json index fdbcc545..221fef8f 100644 --- a/locale/en.json +++ b/locale/en.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/es.json b/locale/es.json index 66b61229..62823bac 100644 --- a/locale/es.json +++ b/locale/es.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/fr.json b/locale/fr.json index c74f5d17..643a622b 100644 --- a/locale/fr.json +++ b/locale/fr.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/it.json b/locale/it.json index 7cfbe811..d212289b 100644 --- a/locale/it.json +++ b/locale/it.json @@ -50,5 +50,7 @@ "remove": "Rimuovi", "settings": "Impostazioni", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/ja.json b/locale/ja.json index cd529114..d70f9ffb 100644 --- a/locale/ja.json +++ b/locale/ja.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/nl.json b/locale/nl.json index f1b23a3e..047bd93d 100644 --- a/locale/nl.json +++ b/locale/nl.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/pt.json b/locale/pt.json index 04b76dca..6d1c3576 100644 --- a/locale/pt.json +++ b/locale/pt.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/ru.json b/locale/ru.json index 2ed4402d..137c315a 100644 --- a/locale/ru.json +++ b/locale/ru.json @@ -50,5 +50,7 @@ "remove": "Удалить", "settings": "Настройки", "telemetry.title": "Телеметрия", - "telemetry.enable": "Разрешить отправку данных об использовании и отчетов о сбоях для улучшения приложения" + "telemetry.enable": "Разрешить отправку данных об использовании и отчетов о сбоях для улучшения приложения", + "question.telemetry.enable": "Мы включили отправку данных об использовании и отчетов о сбоях, чтобы улучшить приложение.\nВы можете отключить ее в любое время в настройках приложения.", + "disable": "Отключить" } diff --git a/locale/tr.json b/locale/tr.json index e52d87d0..d0e23b3b 100644 --- a/locale/tr.json +++ b/locale/tr.json @@ -50,5 +50,7 @@ "remove": "Kaldır", "settings": "Ayarlar", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } diff --git a/locale/zh.json b/locale/zh.json index 9d18fb25..0ace4d80 100644 --- a/locale/zh.json +++ b/locale/zh.json @@ -50,5 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application" + "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", + "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "disable": "Disable" } From 8f91285d45ce4b0412131f8b275874fb9f8a4c1e Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 30 Oct 2020 14:48:50 +0200 Subject: [PATCH 11/35] chore(windows): add possibility change actions button text --- src/main/server.ts | 6 +-- src/main/services/ssl/index.ts | 4 +- src/main/tray/development_template.ts | 8 ++-- src/main/windows/windows_controller.ts | 4 +- src/renderer/containers/message/container.tsx | 41 ++++++++++++------- src/renderer/containers/message/index.tsx | 8 ++-- 6 files changed, 44 insertions(+), 27 deletions(-) diff --git a/src/main/server.ts b/src/main/server.ts index 650f5302..1be521ad 100644 --- a/src/main/server.ts +++ b/src/main/server.ts @@ -177,7 +177,7 @@ export class Server { { text: l10n.get('warn.pcsc.cannot_start'), title: 'warning.title.oh_no', - buttonLabel: l10n.get('i_understand'), + buttonRejectLabel: 'i_understand', id: 'warn.pcsc.cannot_start', showAgain: true, showAgainValue: false, @@ -189,7 +189,7 @@ export class Server { { text: l10n.get('warn.token.crypto_not_found', err.message), title: 'warning.title.oh_no', - buttonLabel: l10n.get('close'), + buttonRejectLabel: 'close', id: 'warn.token.crypto_not_found', showAgain: true, showAgainValue: false, @@ -202,7 +202,7 @@ export class Server { { text: l10n.get('warn.token.crypto_wrong', err.message), title: 'warning.title.oh_no', - buttonLabel: l10n.get('close'), + buttonRejectLabel: 'close', id: 'warn.token.crypto_wrong', showAgain: true, showAgainValue: false, diff --git a/src/main/services/ssl/index.ts b/src/main/services/ssl/index.ts index be49177a..8e29e5b6 100644 --- a/src/main/services/ssl/index.ts +++ b/src/main/services/ssl/index.ts @@ -99,7 +99,7 @@ export class SslService { { text: l10n.get('warn.ssl.renew'), title: 'warning.title.oh_no', - buttonLabel: l10n.get('close'), + buttonRejectLabel: 'close', id: 'ssl.renew', }, ); @@ -118,7 +118,7 @@ export class SslService { try { await windowsController.showWarningWindow({ text: l10n.get('warn.ssl.install'), - buttonLabel: l10n.get('i_understand'), + buttonRejectLabel: 'i_understand', id: 'ssl.install', }); diff --git a/src/main/tray/development_template.ts b/src/main/tray/development_template.ts index 046fe8a2..f81aecde 100644 --- a/src/main/tray/development_template.ts +++ b/src/main/tray/development_template.ts @@ -76,7 +76,7 @@ export const developmentTemplate = (): MenuItemConstructorOptions[] => ([ windowsController.showWarningWindow( { text: l10n.get('warn.ssl.install'), - buttonLabel: l10n.get('i_understand'), + buttonRejectLabel: 'i_understand', id: 'ssl.install', }, ); @@ -89,7 +89,7 @@ export const developmentTemplate = (): MenuItemConstructorOptions[] => ([ { text: l10n.get('warn.pcsc.cannot_start'), title: 'warning.title.oh_no', - buttonLabel: l10n.get('i_understand'), + buttonRejectLabel: 'i_understand', id: 'warn.pcsc.cannot_start', showAgain: true, showAgainValue: false, @@ -104,7 +104,7 @@ export const developmentTemplate = (): MenuItemConstructorOptions[] => ([ { text: l10n.get('warn.token.crypto_not_found', 'TEST'), title: 'warning.title.oh_no', - buttonLabel: l10n.get('close'), + buttonRejectLabel: 'close', id: 'warn.token.crypto_not_found', showAgain: true, showAgainValue: false, @@ -119,7 +119,7 @@ export const developmentTemplate = (): MenuItemConstructorOptions[] => ([ { text: l10n.get('warn.token.crypto_wrong', 'TEST'), title: 'warning.title.oh_no', - buttonLabel: l10n.get('close'), + buttonRejectLabel: 'close', id: 'warn.token.crypto_wrong', showAgain: true, showAgainValue: false, diff --git a/src/main/windows/windows_controller.ts b/src/main/windows/windows_controller.ts index 6f1316c9..ea420e34 100644 --- a/src/main/windows/windows_controller.ts +++ b/src/main/windows/windows_controller.ts @@ -30,6 +30,8 @@ interface IQuestionWindowParams { showAgainValue?: boolean; text: string; result: number; + buttonRejectLabel?: string; + buttonApproveLabel?: string; } interface IWarningWindowParams { @@ -38,7 +40,7 @@ interface IWarningWindowParams { showAgain?: boolean; showAgainValue?: boolean; text: string; - buttonLabel: string; + buttonRejectLabel: string; } class WindowsController { diff --git a/src/renderer/containers/message/container.tsx b/src/renderer/containers/message/container.tsx index eb49660b..894e0b93 100644 --- a/src/renderer/containers/message/container.tsx +++ b/src/renderer/containers/message/container.tsx @@ -10,9 +10,11 @@ export interface IContainerProps { type: 'error' | 'warning' | 'question' | 'token'; text: string; onClose: (showAgain?: boolean) => void; - onApprove?: () => void; + onApprove?: (showAgain?: boolean) => void; hasShowAgain?: boolean; - textClose?: string; + defaultShowAgainValue?: boolean; + buttonRejectLabel?: string; + buttonApproveLabel?: string; } export default class Container extends React.Component { @@ -21,12 +23,12 @@ export default class Container extends React.Component { checkboxRef = React.createRef(); onKeyDown = (e: KeyboardEvent) => { - const { type, onApprove } = this.props; + const { type } = this.props; switch (e.keyCode) { case 13: // enter - if (['question', 'token'].includes(type) && onApprove) { - onApprove(); + if (['question', 'token'].includes(type)) { + this.onApprove(); } break; @@ -47,12 +49,22 @@ export default class Container extends React.Component { onClose(checkboxRef?.current?.state.checkedState); }; + onApprove = () => { + const { onApprove } = this.props; + const { checkboxRef } = this; + + if (onApprove) { + onApprove(checkboxRef?.current?.state.checkedState); + } + }; + getDialogProps() { const { type, - textClose, - onApprove, + buttonRejectLabel, + buttonApproveLabel, hasShowAgain, + defaultShowAgainValue, } = this.props; const { intl } = this.context; const props: Omit = { @@ -64,7 +76,7 @@ export default class Container extends React.Component { /> ), onReject: this.onClose, - textReject: textClose, + textReject: buttonRejectLabel && intl(buttonRejectLabel), }; if (hasShowAgain) { @@ -77,6 +89,7 @@ export default class Container extends React.Component { colorOn="grey_4" iconColorOn="black" ref={this.checkboxRef} + defaultChecked={defaultShowAgainValue} labelProps={{ type: 'b3', color: 'grey_4', @@ -105,9 +118,9 @@ export default class Container extends React.Component { /> ); - props.onApprove = onApprove; - props.textReject = intl('no'); - props.textApprove = intl('yes'); + props.onApprove = this.onApprove; + props.textReject = intl(buttonRejectLabel || 'no'); + props.textApprove = intl(buttonApproveLabel || 'yes'); break; case 'token': @@ -119,9 +132,9 @@ export default class Container extends React.Component { /> ); - props.onApprove = onApprove; - props.textReject = intl('no'); - props.textApprove = intl('yes'); + props.onApprove = this.onApprove; + props.textReject = intl(buttonRejectLabel || 'no'); + props.textApprove = intl(buttonApproveLabel || 'yes'); break; default: diff --git a/src/renderer/containers/message/index.tsx b/src/renderer/containers/message/index.tsx index c32f0014..a510b005 100644 --- a/src/renderer/containers/message/index.tsx +++ b/src/renderer/containers/message/index.tsx @@ -4,9 +4,9 @@ import WindowProvider from '../../components/window_provider'; import Container from './container'; class Root extends WindowProvider<{}, {}> { - onApprove = () => { + onApprove = (showAgain?: boolean) => { this.params.result = 1; - this.close(); + this.close(showAgain); }; onClose = (showAgain?: boolean) => { @@ -23,7 +23,9 @@ class Root extends WindowProvider<{}, {}> { onClose={this.close} onApprove={this.onApprove} hasShowAgain={this.params.id && this.params.showAgain} - textClose={this.params.buttonLabel} + defaultShowAgainValue={this.params.showAgainValue} + buttonRejectLabel={this.params.buttonRejectLabel} + buttonApproveLabel={this.params.buttonApproveLabel} /> ); } From d5bd278e513531dfdaa9c077e877780430497440 Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 30 Oct 2020 14:49:19 +0200 Subject: [PATCH 12/35] feat(logger): add function for switch analytics --- src/main/logger/index.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/logger/index.ts b/src/main/logger/index.ts index 35fcce6a..bbfdc409 100644 --- a/src/main/logger/index.ts +++ b/src/main/logger/index.ts @@ -63,6 +63,20 @@ export const loggingSwitch = (enabled: boolean) => { } }; +export const loggingAnalyticsSwitch = (enabled: boolean) => { + if (isDevelopment) { + transportAnalytics.silent = true; + + return; + } + + if (enabled) { + transportAnalytics.silent = false; + } else { + transportAnalytics.silent = true; + } +}; + export default { log: (level: string, source: string, message: string, params: object = {}) => { winstonlogger.log(level, message, { From 3a102c1b6b5a219b79379162adf9aed78b992fff Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 30 Oct 2020 14:50:19 +0200 Subject: [PATCH 13/35] feat(main): add telemetry dialog --- src/main/application.ts | 37 +++++++++++++++++++++++++++++++++++-- src/main/ipc_messages.ts | 12 +++++++++++- 2 files changed, 46 insertions(+), 3 deletions(-) diff --git a/src/main/application.ts b/src/main/application.ts index 128a4ef3..5144120d 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -1,4 +1,4 @@ -import { app, screen } from 'electron'; +import { app, screen, ipcMain } from 'electron'; import * as fs from 'fs'; import * as os from 'os'; import { @@ -14,10 +14,11 @@ import { APP_USER_DIR, } from './constants'; import { setConfig, getConfig } from './config'; -import logger, { loggingSwitch } from './logger'; +import logger, { loggingSwitch, loggingAnalyticsSwitch } from './logger'; import { Server } from './server'; import { firefoxProviders } from './firefox_providers'; import { ipcMessages } from './ipc_messages'; +import { windowsController } from './windows'; @injectable() export class Application { @@ -42,6 +43,7 @@ export class Application { * Set logging from config. */ loggingSwitch(!!this.config.logging); + loggingAnalyticsSwitch(!!this.config.telemetry); /** * Print start information about system and application. @@ -106,6 +108,11 @@ export class Application { */ tray.create(); + /** + * Init show telemetry allow dialog. + */ + await this.initTelemetryDialogShow(); + /** * Init check updates. */ @@ -228,4 +235,30 @@ export class Application { } } } + + private async initTelemetryDialogShow() { + if (this.config.telemetry) { + try { + const questionWindowResult = await windowsController.showQuestionWindow({ + text: l10n.get('question.telemetry.enable'), + id: 'question.telemetry.enable', + result: 0, + showAgain: true, + showAgainValue: true, + buttonRejectLabel: 'disable', + buttonApproveLabel: 'ok', + }); + + if (questionWindowResult.result) { // yes + logger.info('telemetry-dialog', 'User agreed to use telemetry'); + } else { // no + logger.info('telemetry-dialog', 'User disagreed to use telemetry'); + + ipcMain.emit('ipc-telemetry-status-change'); + } + } catch { + // + } + } + } } diff --git a/src/main/ipc_messages.ts b/src/main/ipc_messages.ts index 1a11daa4..a97dd2d4 100644 --- a/src/main/ipc_messages.ts +++ b/src/main/ipc_messages.ts @@ -7,7 +7,7 @@ import { import { APP_LOG_FILE } from './constants'; import { windowsController } from './windows'; import { l10n } from './l10n'; -import logger, { loggingSwitch } from './logger'; +import logger, { loggingSwitch, loggingAnalyticsSwitch } from './logger'; import { ServerStorage } from './server_storage'; import { setConfig, getConfig } from './config'; import container from './container'; @@ -77,6 +77,10 @@ const initEvents = () => { loggingSwitch(config.logging); + logger.info('logging', 'Logging status changed', { + value: config.logging, + }); + event.sender.send('ipc-logging-status-changed', config.logging); }) .on('ipc-language-set', (_: IpcMainEvent, lang: string) => { @@ -103,6 +107,12 @@ const initEvents = () => { setConfig(config); + loggingAnalyticsSwitch(config.telemetry); + + logger.info('telemetry', 'Telemetry status changed', { + value: config.telemetry, + }); + event.sender.send('ipc-telemetry-status-changed', config.telemetry); }) .on('error', (event: IpcMainEvent) => { From fbaf9ff8bd8bac42686d43cc5c55c6bdae8f4ac4 Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 30 Oct 2020 15:08:25 +0200 Subject: [PATCH 14/35] feat(locale): add missed translate --- locale/cs.json | 14 +++++++------- locale/de.json | 14 +++++++------- locale/el.json | 8 ++++---- locale/es.json | 14 +++++++------- locale/fr.json | 14 +++++++------- locale/it.json | 8 ++++---- locale/ja.json | 14 +++++++------- locale/nl.json | 14 +++++++------- locale/pt.json | 14 +++++++------- locale/tr.json | 8 ++++---- locale/zh.json | 14 +++++++------- 11 files changed, 68 insertions(+), 68 deletions(-) diff --git a/locale/cs.json b/locale/cs.json index 029585db..8df0d1b7 100644 --- a/locale/cs.json +++ b/locale/cs.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "Vložená karta je aplikací Fortify podporována ale nepodařilo se zjistit správný ovladač. Ujistěte se, že soubor (%1) existuje. Pokud ne, nainstalujte ovladače pro čipovou kartu a zkuste znovu.", "warn.token.crypto_wrong": "Nepodařilo se spustit ovladače (%1) pro vaši čipovou kartu nebo token.\nUjistěte se, že je ovladač nainstalován správně a zkuste znovu.", "warn.pcsc.cannot_start": "Zdá se, že `Správce prostředků čipových karet` není spuštěn. Spusťte tuto službu a poté restartujte Fortify, prosím.", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "Tomuto vyhledávání neodpovídají žádné webové stránky.", + "remove": "Odstranit", + "settings": "Nastavení", + "telemetry.title": "Telemetrie", + "telemetry.enable": "Chcete-li aplikaci vylepšit, povolte odesílání údajů o využití a zpráv o selhání", + "question.telemetry.enable": "Abychom vylepšili aplikaci, povolili jsme odesílání údajů o používání a zpráv o selhání.\nMůžete ji kdykoli deaktivovat v nastavení aplikace.", + "disable": "Zakázat" } diff --git a/locale/de.json b/locale/de.json index c7323dcc..65b0e5b4 100644 --- a/locale/de.json +++ b/locale/de.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "Die verwendete Smart Card wird von Fortify unterstützt, jedoch wurde die Middleware für diese Karte nicht gefunden. Stellen Sie sicher das (%1) existiert, falls nicht, installieren Sie die entsprechende Middleware der Karte und versuchen Sie es erneut.", "warn.token.crypto_wrong": "Ein Problem ist beim Laden der Middleware (%1) des Security Tokens oder Smart Card aufgetreten. \nBitte stellen Sie sicher, dass die Middleware korrekt installiert wurde und versuchen Sie es erneut.", "warn.pcsc.cannot_start": "Der `Smart Card Resource Manager` ist möglicherweise nicht in Betrieb. Bitte starten Sie den Service und versuchen Sie es erneut.", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "Es gibt keine Websites, die dieser Suche entsprechen.", + "remove": "Entfernen", + "settings": "die Einstellungen", + "telemetry.title": "Telemetrie", + "telemetry.enable": "Aktivieren Sie das Senden von Nutzungsdaten und Absturzberichten, um die Anwendung zu verbessern", + "question.telemetry.enable": "Wir haben das Senden von Nutzungsdaten und Absturzberichten aktiviert, um die Anwendung zu verbessern.\nSie können es jederzeit in den Anwendungseinstellungen deaktivieren.", + "disable": "Deaktivieren" } diff --git a/locale/el.json b/locale/el.json index 3989fc17..08772cf3 100644 --- a/locale/el.json +++ b/locale/el.json @@ -49,8 +49,8 @@ "keys.empty.search": "Δεν υπάρχουν ιστοσελίδες που να ταιριάζουν με αυτή την αναζήτηση.", "remove": "Αφαίρεση", "settings": "Ρυθμίσεις", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "telemetry.title": "Τηλεμετρία", + "telemetry.enable": "Ενεργοποιήστε την αποστολή δεδομένων χρήσης και αναφορών σφαλμάτων για τη βελτίωση της εφαρμογής", + "question.telemetry.enable": "Ενεργοποιήσαμε την αποστολή δεδομένων χρήσης και αναφορών σφαλμάτων για τη βελτίωση της εφαρμογής.\nΜπορείτε να το απενεργοποιήσετε ανά πάσα στιγμή στις ρυθμίσεις της εφαρμογής.", + "disable": "Καθιστώ ανίκανο" } diff --git a/locale/es.json b/locale/es.json index 62823bac..627efa63 100644 --- a/locale/es.json +++ b/locale/es.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "La smartcard insertada está soportada por Fortify, pero no se pudo encontrar el middleware para esta tarjeta. Asegurese que (%1) existe, si no, instale el middleware de la smartcard e intente de nuevo.", "warn.token.crypto_wrong": "Un problema se produjo al cargar el middleware (%1) para su smartcard o token.\nPor favor asegurese que el middleware está instalado correctamente y vuelva a intentar.", "warn.pcsc.cannot_start": "Parece que el `Smart Card Resource Manager` no está corriendo. Por favor iniciar este servicio y volver a iniciar Fortify.", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "No hay sitios web que coincidan con esa búsqueda.", + "remove": "Eliminar", + "settings": "Configuraciones", + "telemetry.title": "Telemetría", + "telemetry.enable": "Habilite el envío de informes de fallos y datos de uso para mejorar la aplicación", + "question.telemetry.enable": "Hemos habilitado el envío de informes de fallos y datos de uso para mejorar la aplicación.\nPuede desactivarlo en cualquier momento en la configuración de la aplicación.", + "disable": "Inhabilitar" } diff --git a/locale/fr.json b/locale/fr.json index 643a622b..41c6233f 100644 --- a/locale/fr.json +++ b/locale/fr.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "La smartcard insérée est prise en charge par Fortify mais nous n'arrivons pas à trouver le middleware pour cette smartcard. Assurez-vous que (%1) existe, sinon installez le middleware de la smartcard et essayez à nouveau.", "warn.token.crypto_wrong": "Un problème s'est produit au chargement du middleware (%1) de votre token ou smartcard.\nVeuillez vérifier que le middleware est installé correctement et essayez à nouveau.", "warn.pcsc.cannot_start": "Il semble que `Smart Card Resource Manager` ne soit pas lancé. Veuillez démarrer le service puis redémarrer Fortify.", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "Aucun site Web ne correspond à cette recherche.", + "remove": "Retirer", + "settings": "Réglages", + "telemetry.title": "Télémétrie", + "telemetry.enable": "Permettre l'envoi des données d'utilisation et des rapports d'erreur pour améliorer l'application", + "question.telemetry.enable": "Nous avons activé l'envoi de données d'utilisation et de rapports d'erreur pour améliorer l'application.\nVous pouvez le désactiver à tout moment dans les paramètres de l'application.", + "disable": "Désactiver" } diff --git a/locale/it.json b/locale/it.json index d212289b..06ed8f62 100644 --- a/locale/it.json +++ b/locale/it.json @@ -49,8 +49,8 @@ "keys.empty.search": "Non ci sono siti che corrispondono alla ricerca.", "remove": "Rimuovi", "settings": "Impostazioni", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "telemetry.title": "Telemetria", + "telemetry.enable": "Abilita l'invio di dati sull'utilizzo e rapporti sugli arresti anomali per migliorare l'applicazione", + "question.telemetry.enable": "Abbiamo abilitato l'invio di dati sull'utilizzo e rapporti sugli arresti anomali per migliorare l'applicazione.\nPuoi disabilitarlo in qualsiasi momento nelle impostazioni dell'applicazione.", + "disable": "Disattivare" } diff --git a/locale/ja.json b/locale/ja.json index d70f9ffb..34cd6d3a 100644 --- a/locale/ja.json +++ b/locale/ja.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "挿入されているスマートカードはFortifyによりサポートされていますが、カードのミドルウエアを見つけることができませんでした。 本スマートカードミドルウエアがインストールされていない場合、 (%1) が存在するかを確認し、再試行願います。", "warn.token.crypto_wrong": "セキュリティトークンもしくはスマートカードのミドルウエア (%1) のロード中に問題が発生しました。\n該当のミドルウエアが正しくインストールされているか確認し、再試行願います。", "warn.pcsc.cannot_start": "`Smart Card Resource Manager`が動作していないようにみえます。本サービスを開始し、再度Fortifyを起動してください。", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "その検索に一致するウェブサイトはありません。", + "remove": "削除する", + "settings": "設定", + "telemetry.title": "テレメトリー", + "telemetry.enable": "アプリケーションを改善するために、使用状況データとクラッシュレポートを送信できるようにします", + "question.telemetry.enable": "アプリケーションを改善するために、使用状況データとクラッシュレポートを送信できるようにしました。\nアプリケーション設定でいつでも無効にできます。", + "disable": "無効にする" } diff --git a/locale/nl.json b/locale/nl.json index 047bd93d..338a5933 100644 --- a/locale/nl.json +++ b/locale/nl.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "De ingestoken Smart Card wordt ondersteund door Fortify, maar de middleware kan niet worden gelokaliseerd. Controleer of deze is geïnstalleerd, zo niet, installeer deze en probeer het nogmaals.", "warn.token.crypto_wrong": "Er is een probleem opgetreden bij het laden van de middleware (%1) voor uw beveiligde token of Smart Card.\nControleer of de middelware correct is geïnstalleerd en probeer het nogmaals.", "warn.pcsc.cannot_start": "Het lijkt erop dat de 'Smart Card Resource Manager' niet actief is. Start deze service en herstart Fortify.", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "Er zijn geen websites die overeenkomen met die zoekopdracht.", + "remove": "Verwijderen", + "settings": "Instellingen", + "telemetry.title": "Telemetrie", + "telemetry.enable": "Schakel gebruiksgegevens en crashrapporten in om de applicatie te verbeteren", + "question.telemetry.enable": "We hebben het mogelijk gemaakt om gebruiksgegevens en crashrapporten te verzenden om de applicatie te verbeteren.\nU kunt het op elk moment uitschakelen in de applicatie-instellingen.", + "disable": "Uitschakelen" } diff --git a/locale/pt.json b/locale/pt.json index 6d1c3576..ceb59296 100644 --- a/locale/pt.json +++ b/locale/pt.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "O smart card inserido é suportado pelo Fortify mas não foi possível encontrar o middleware para o cartão. Verifique se (%1) existe, senão instale o middleware do smart card e tente novamente.", "warn.token.crypto_wrong": "Ocorreu um problema ao carregar o middleware (%1) para o token ou smart card.\nVerifique se o middleware está corretamente instalado e tente novamente.", "warn.pcsc.cannot_start": "O serviço `Smart Card Resource Manager` não está em execução. Por favor inicie o serviço e reinicie a aplicação Fortify.", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "Não há sites que correspondam a essa pesquisa.", + "remove": "Remover", + "settings": "Definições", + "telemetry.title": "Telemetria", + "telemetry.enable": "Permitir o envio de dados de uso e relatórios de falhas para melhorar o aplicativo", + "question.telemetry.enable": "Permitimos o envio de dados de uso e relatórios de falhas para melhorar o aplicativo.\nVocê pode desativá-lo a qualquer momento nas configurações do aplicativo.", + "disable": "Desabilitar" } diff --git a/locale/tr.json b/locale/tr.json index d0e23b3b..8bef1941 100644 --- a/locale/tr.json +++ b/locale/tr.json @@ -49,8 +49,8 @@ "keys.empty.search": "Arama kriterlerine uyan web sitesi bulunamadı.", "remove": "Kaldır", "settings": "Ayarlar", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "telemetry.title": "Telemetri", + "telemetry.enable": "Uygulamayı iyileştirmek için kullanım verilerinin ve kilitlenme raporlarının gönderilmesini etkinleştirin", + "question.telemetry.enable": "Uygulamayı iyileştirmek için kullanım verilerinin ve kilitlenme raporlarının gönderilmesini etkinleştirdik.\nUygulama ayarlarından istediğiniz zaman devre dışı bırakabilirsiniz.", + "disable": "Devre dışı bırak" } diff --git a/locale/zh.json b/locale/zh.json index 0ace4d80..916ac267 100644 --- a/locale/zh.json +++ b/locale/zh.json @@ -46,11 +46,11 @@ "warn.token.crypto_not_found": "Fortify支持插入的智能卡,但我们无法找到该卡的中间件请确保(%1)存在。如果没有安装智能卡中间件,请重新尝试。", "warn.token.crypto_wrong": "加载安全令牌或智能卡的中间件(%1)时出现问题。\n请确保中间件安装正确并重试.", "warn.pcsc.cannot_start": "看起来“智能卡资源管理器”没有运行。 请启动此服务并再次启动Fortify。", - "keys.empty.search": "There are no websites matching that search.", - "remove": "Remove", - "settings": "Settings", - "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", - "disable": "Disable" + "keys.empty.search": "沒有與該搜索匹配的網站。", + "remove": "去掉", + "settings": "設定值", + "telemetry.title": "遙測", + "telemetry.enable": "啟用發送使用情況數據和崩潰報告以改進應用程序", + "question.telemetry.enable": "我們啟用了使用情況數據和崩潰報告,以改進應用程序。\n您可以隨時在應用程序設置中將其禁用。", + "disable": "禁用" } From b97da697eaf063cdf0b26c2f404da81b2eb92979 Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 30 Oct 2020 15:24:31 +0200 Subject: [PATCH 15/35] 1.5.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9691659a..62d6523f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "fortify", - "version": "1.4.0", + "version": "1.5.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 79b1cc2f..2bb26b7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fortify", "productName": "Fortify", - "version": "1.4.0", + "version": "1.5.0", "description": "", "main": "out/main.js", "scripts": { From 81587933b009c28e8fb1c167d765fc95f9c7a1b3 Mon Sep 17 00:00:00 2001 From: donskov Date: Mon, 23 Nov 2020 17:29:49 +0200 Subject: [PATCH 16/35] fix(ci): remove unused push branch --- .github/workflows/pipeline.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 1febb0e6..0e8afb7b 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -5,7 +5,6 @@ on: branches: - master - canary - - prepare-sign-artifacts jobs: macos: From 5b1ac11d552a5360a962f3d224f93e8a3f2e93f4 Mon Sep 17 00:00:00 2001 From: donskov Date: Wed, 25 Nov 2020 13:21:43 +0200 Subject: [PATCH 17/35] 1.6.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index bfdbf937..58925624 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "fortify", - "version": "1.5.0", + "version": "1.6.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 6b664c3d..8b09ea51 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fortify", "productName": "Fortify", - "version": "1.5.0", + "version": "1.6.0", "description": "Fortify enables web applications to use smart cards, local certificate stores and do certificate enrollment", "main": "out/main.js", "scripts": { From 33353b38ef3b61bb9b91154118ef1664a33481fb Mon Sep 17 00:00:00 2001 From: donskov Date: Wed, 25 Nov 2020 13:23:46 +0200 Subject: [PATCH 18/35] chore(ci): test build --- .github/workflows/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pipeline.yml b/.github/workflows/pipeline.yml index 1febb0e6..f1939ef3 100644 --- a/.github/workflows/pipeline.yml +++ b/.github/workflows/pipeline.yml @@ -5,7 +5,7 @@ on: branches: - master - canary - - prepare-sign-artifacts + - analytics-implementation jobs: macos: From ee42cd58732bf7c4890ee10277c6b38462337ab2 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 26 Nov 2020 12:11:59 +0200 Subject: [PATCH 19/35] chore(locales): change telemetry locale messages --- locale/cs.json | 4 ++-- locale/de.json | 4 ++-- locale/el.json | 4 ++-- locale/en.json | 4 ++-- locale/es.json | 4 ++-- locale/fr.json | 4 ++-- locale/it.json | 4 ++-- locale/ja.json | 4 ++-- locale/nl.json | 4 ++-- locale/pt.json | 4 ++-- locale/ru.json | 4 ++-- locale/tr.json | 4 ++-- locale/zh.json | 4 ++-- src/main/application.ts | 1 - src/main/tray/development_template.ts | 15 +++++++++++++++ 15 files changed, 41 insertions(+), 27 deletions(-) diff --git a/locale/cs.json b/locale/cs.json index 8df0d1b7..8d999f59 100644 --- a/locale/cs.json +++ b/locale/cs.json @@ -50,7 +50,7 @@ "remove": "Odstranit", "settings": "Nastavení", "telemetry.title": "Telemetrie", - "telemetry.enable": "Chcete-li aplikaci vylepšit, povolte odesílání údajů o využití a zpráv o selhání", - "question.telemetry.enable": "Abychom vylepšili aplikaci, povolili jsme odesílání údajů o používání a zpráv o selhání.\nMůžete ji kdykoli deaktivovat v nastavení aplikace.", + "telemetry.enable": "Povolte zprávy o použití a selhání, které nám pomohou zajistit, aby budoucí verze Fortify řešily problémy, se kterými se můžete setkat", + "question.telemetry.enable": "Zprávy o použití a selhání nám pomáhají zajistit, aby budoucí verze Fortify řešily problémy, se kterými se můžete setkat.\nNechat povoleno hlášení o využití a selhání?", "disable": "Zakázat" } diff --git a/locale/de.json b/locale/de.json index 65b0e5b4..bc7255c1 100644 --- a/locale/de.json +++ b/locale/de.json @@ -50,7 +50,7 @@ "remove": "Entfernen", "settings": "die Einstellungen", "telemetry.title": "Telemetrie", - "telemetry.enable": "Aktivieren Sie das Senden von Nutzungsdaten und Absturzberichten, um die Anwendung zu verbessern", - "question.telemetry.enable": "Wir haben das Senden von Nutzungsdaten und Absturzberichten aktiviert, um die Anwendung zu verbessern.\nSie können es jederzeit in den Anwendungseinstellungen deaktivieren.", + "telemetry.enable": "Aktivieren Sie Verwendungs- und Absturzberichte, um sicherzustellen, dass zukünftige Versionen von Fortify die Probleme beheben, die möglicherweise auftreten", + "question.telemetry.enable": "Mithilfe von Verwendungs- und Absturzberichten können wir sicherstellen, dass zukünftige Versionen von Fortify die möglicherweise auftretenden Probleme beheben.\nNutzung und Absturzberichterstattung aktiviert lassen?", "disable": "Deaktivieren" } diff --git a/locale/el.json b/locale/el.json index 08772cf3..ca96e20b 100644 --- a/locale/el.json +++ b/locale/el.json @@ -50,7 +50,7 @@ "remove": "Αφαίρεση", "settings": "Ρυθμίσεις", "telemetry.title": "Τηλεμετρία", - "telemetry.enable": "Ενεργοποιήστε την αποστολή δεδομένων χρήσης και αναφορών σφαλμάτων για τη βελτίωση της εφαρμογής", - "question.telemetry.enable": "Ενεργοποιήσαμε την αποστολή δεδομένων χρήσης και αναφορών σφαλμάτων για τη βελτίωση της εφαρμογής.\nΜπορείτε να το απενεργοποιήσετε ανά πάσα στιγμή στις ρυθμίσεις της εφαρμογής.", + "telemetry.enable": "Ενεργοποιήστε τις αναφορές χρήσης και σφαλμάτων για να μας βοηθήσετε να διασφαλίσουμε ότι οι μελλοντικές εκδόσεις του Fortify αντιμετωπίζουν τα προβλήματα που ενδέχεται να αντιμετωπίσετε", + "question.telemetry.enable": "Οι αναφορές χρήσης και σφαλμάτων μάς βοηθούν να διασφαλίσουμε ότι οι μελλοντικές εκδόσεις του Fortify αντιμετωπίζουν τα προβλήματα που ενδέχεται να αντιμετωπίσετε.\nΑφήστε τη χρήση και την αναφορά σφαλμάτων ενεργοποιημένη;", "disable": "Καθιστώ ανίκανο" } diff --git a/locale/en.json b/locale/en.json index 221fef8f..d1e400a4 100644 --- a/locale/en.json +++ b/locale/en.json @@ -50,7 +50,7 @@ "remove": "Remove", "settings": "Settings", "telemetry.title": "Telemetry", - "telemetry.enable": "Enable usage data and crash reports to be sent to improve the application", - "question.telemetry.enable": "We enabled usage data and crash reports to be sent to improve the application.\nYou can disable it at any time in the application settings.", + "telemetry.enable": "Enable usage and crash reports to help us ensure future versions of Fortify address the issues you may experience", + "question.telemetry.enable": "Usage and crash reports help us ensure future versions of Fortify address the issues you may experience.\nLeave usage and crash reporting enabled?", "disable": "Disable" } diff --git a/locale/es.json b/locale/es.json index 627efa63..93014f41 100644 --- a/locale/es.json +++ b/locale/es.json @@ -50,7 +50,7 @@ "remove": "Eliminar", "settings": "Configuraciones", "telemetry.title": "Telemetría", - "telemetry.enable": "Habilite el envío de informes de fallos y datos de uso para mejorar la aplicación", - "question.telemetry.enable": "Hemos habilitado el envío de informes de fallos y datos de uso para mejorar la aplicación.\nPuede desactivarlo en cualquier momento en la configuración de la aplicación.", + "telemetry.enable": "Habilite los informes de uso y fallas para ayudarnos a garantizar que las versiones futuras de Fortify aborden los problemas que pueda experimentar", + "question.telemetry.enable": "Los informes de uso y fallos nos ayudan a garantizar que las versiones futuras de Fortify aborden los problemas que pueda experimentar.\n¿Dejar habilitados los informes de uso y fallos?", "disable": "Inhabilitar" } diff --git a/locale/fr.json b/locale/fr.json index 41c6233f..a8fa8345 100644 --- a/locale/fr.json +++ b/locale/fr.json @@ -50,7 +50,7 @@ "remove": "Retirer", "settings": "Réglages", "telemetry.title": "Télémétrie", - "telemetry.enable": "Permettre l'envoi des données d'utilisation et des rapports d'erreur pour améliorer l'application", - "question.telemetry.enable": "Nous avons activé l'envoi de données d'utilisation et de rapports d'erreur pour améliorer l'application.\nVous pouvez le désactiver à tout moment dans les paramètres de l'application.", + "telemetry.enable": "Activez l'utilisation et les rapports d'erreur pour nous aider à nous assurer que les futures versions de Fortify résoudront les problèmes que vous pourriez rencontrer", + "question.telemetry.enable": "Les rapports d'utilisation et d'erreur nous aident à nous assurer que les futures versions de Fortify résoudront les problèmes que vous pourriez rencontrer.\nLaisser les rapports d'utilisation et de plantage activés?", "disable": "Désactiver" } diff --git a/locale/it.json b/locale/it.json index 06ed8f62..5599590f 100644 --- a/locale/it.json +++ b/locale/it.json @@ -50,7 +50,7 @@ "remove": "Rimuovi", "settings": "Impostazioni", "telemetry.title": "Telemetria", - "telemetry.enable": "Abilita l'invio di dati sull'utilizzo e rapporti sugli arresti anomali per migliorare l'applicazione", - "question.telemetry.enable": "Abbiamo abilitato l'invio di dati sull'utilizzo e rapporti sugli arresti anomali per migliorare l'applicazione.\nPuoi disabilitarlo in qualsiasi momento nelle impostazioni dell'applicazione.", + "telemetry.enable": "Abilita i rapporti sull'utilizzo e sugli arresti anomali per assicurarci che le versioni future di Fortify risolvano i problemi che potresti riscontrare", + "question.telemetry.enable": "I rapporti sull'utilizzo e sugli arresti anomali ci aiutano a garantire che le versioni future di Fortify risolvano i problemi che potresti riscontrare.\nLasciare abilitati i rapporti sull'utilizzo e sugli arresti anomali?", "disable": "Disattivare" } diff --git a/locale/ja.json b/locale/ja.json index 34cd6d3a..548a4fb0 100644 --- a/locale/ja.json +++ b/locale/ja.json @@ -50,7 +50,7 @@ "remove": "削除する", "settings": "設定", "telemetry.title": "テレメトリー", - "telemetry.enable": "アプリケーションを改善するために、使用状況データとクラッシュレポートを送信できるようにします", - "question.telemetry.enable": "アプリケーションを改善するために、使用状況データとクラッシュレポートを送信できるようにしました。\nアプリケーション設定でいつでも無効にできます。", + "telemetry.enable": "使用状況とクラッシュレポートを有効にして、Fortifyの将来のバージョンで発生する可能性のある問題に確実に対処できるようにします", + "question.telemetry.enable": "使用状況とクラッシュレポートは、Fortifyの将来のバージョンが発生する可能性のある問題に確実に対処するのに役立ちます。\n使用状況とクラッシュレポートを有効のままにしますか?。", "disable": "無効にする" } diff --git a/locale/nl.json b/locale/nl.json index 338a5933..e0910671 100644 --- a/locale/nl.json +++ b/locale/nl.json @@ -50,7 +50,7 @@ "remove": "Verwijderen", "settings": "Instellingen", "telemetry.title": "Telemetrie", - "telemetry.enable": "Schakel gebruiksgegevens en crashrapporten in om de applicatie te verbeteren", - "question.telemetry.enable": "We hebben het mogelijk gemaakt om gebruiksgegevens en crashrapporten te verzenden om de applicatie te verbeteren.\nU kunt het op elk moment uitschakelen in de applicatie-instellingen.", + "telemetry.enable": "Schakel gebruiks- en crashrapporten in om ons te helpen ervoor te zorgen dat toekomstige versies van Fortify de problemen aanpakken die u mogelijk ondervindt", + "question.telemetry.enable": "Gebruiks- en crashrapporten helpen ons ervoor te zorgen dat toekomstige versies van Fortify de problemen aanpakken die u mogelijk ondervindt.\nGebruiks- en crashrapportage ingeschakeld laten?", "disable": "Uitschakelen" } diff --git a/locale/pt.json b/locale/pt.json index ceb59296..9bb5a7cc 100644 --- a/locale/pt.json +++ b/locale/pt.json @@ -50,7 +50,7 @@ "remove": "Remover", "settings": "Definições", "telemetry.title": "Telemetria", - "telemetry.enable": "Permitir o envio de dados de uso e relatórios de falhas para melhorar o aplicativo", - "question.telemetry.enable": "Permitimos o envio de dados de uso e relatórios de falhas para melhorar o aplicativo.\nVocê pode desativá-lo a qualquer momento nas configurações do aplicativo.", + "telemetry.enable": "Habilite relatórios de uso e falhas para nos ajudar a garantir que versões futuras do Fortify resolvam os problemas que você pode enfrentar", + "question.telemetry.enable": "Os relatórios de uso e falhas nos ajudam a garantir que versões futuras do Fortify resolvam os problemas que você pode enfrentar.\nDeixar os relatórios de uso e falha ativados?", "disable": "Desabilitar" } diff --git a/locale/ru.json b/locale/ru.json index 137c315a..199187f1 100644 --- a/locale/ru.json +++ b/locale/ru.json @@ -50,7 +50,7 @@ "remove": "Удалить", "settings": "Настройки", "telemetry.title": "Телеметрия", - "telemetry.enable": "Разрешить отправку данных об использовании и отчетов о сбоях для улучшения приложения", - "question.telemetry.enable": "Мы включили отправку данных об использовании и отчетов о сбоях, чтобы улучшить приложение.\nВы можете отключить ее в любое время в настройках приложения.", + "telemetry.enable": "Включить отчеты об использовании и сбоях, чтобы гарантировать, что будущие версии Fortify решают проблемы, с которыми вы можете столкнуться", + "question.telemetry.enable": "Отчеты об использовании и сбоях помогают нам гарантировать, что будущие версии Fortify решат проблемы, с которыми вы можете столкнуться.\nОставить включенными отчеты об использовании и сбоях?", "disable": "Отключить" } diff --git a/locale/tr.json b/locale/tr.json index 8bef1941..d28f2406 100644 --- a/locale/tr.json +++ b/locale/tr.json @@ -50,7 +50,7 @@ "remove": "Kaldır", "settings": "Ayarlar", "telemetry.title": "Telemetri", - "telemetry.enable": "Uygulamayı iyileştirmek için kullanım verilerinin ve kilitlenme raporlarının gönderilmesini etkinleştirin", - "question.telemetry.enable": "Uygulamayı iyileştirmek için kullanım verilerinin ve kilitlenme raporlarının gönderilmesini etkinleştirdik.\nUygulama ayarlarından istediğiniz zaman devre dışı bırakabilirsiniz.", + "telemetry.enable": "Fortify'ın gelecekteki sürümlerinin karşılaşabileceğiniz sorunları ele almasını sağlamamıza yardımcı olmak için kullanım ve kilitlenme raporlarını etkinleştirin", + "question.telemetry.enable": "Kullanım ve kilitlenme raporları, Fortify'ın gelecekteki sürümlerinin karşılaşabileceğiniz sorunları ele almasını sağlamamıza yardımcı olur.\nKullanım ve kilitlenme raporlaması etkin mi bırakılsın?", "disable": "Devre dışı bırak" } diff --git a/locale/zh.json b/locale/zh.json index 916ac267..1098b699 100644 --- a/locale/zh.json +++ b/locale/zh.json @@ -50,7 +50,7 @@ "remove": "去掉", "settings": "設定值", "telemetry.title": "遙測", - "telemetry.enable": "啟用發送使用情況數據和崩潰報告以改進應用程序", - "question.telemetry.enable": "我們啟用了使用情況數據和崩潰報告,以改進應用程序。\n您可以隨時在應用程序設置中將其禁用。", + "telemetry.enable": "啟用使用情況和崩潰報告以幫助我們確保Fortify的未來版本能夠解決您可能遇到的問題", + "question.telemetry.enable": "使用情況和崩潰報告有助於我們確保Fortify的未來版本能夠解決您可能遇到的問題。\n是否啟用使用情況和崩潰報告?", "disable": "禁用" } diff --git a/src/main/application.ts b/src/main/application.ts index 5144120d..39770bb4 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -246,7 +246,6 @@ export class Application { showAgain: true, showAgainValue: true, buttonRejectLabel: 'disable', - buttonApproveLabel: 'ok', }); if (questionWindowResult.result) { // yes diff --git a/src/main/tray/development_template.ts b/src/main/tray/development_template.ts index f81aecde..163a47ef 100644 --- a/src/main/tray/development_template.ts +++ b/src/main/tray/development_template.ts @@ -67,6 +67,21 @@ export const developmentTemplate = (): MenuItemConstructorOptions[] => ([ ); }, }, + { + label: 'Question telemetry enable', + click: () => { + windowsController.showQuestionWindow( + { + text: l10n.get('question.telemetry.enable'), + id: 'question.telemetry.enable', + result: 0, + showAgain: true, + showAgainValue: false, + buttonRejectLabel: 'disable', + }, + ); + }, + }, { type: 'separator', }, From 368322b76256f1d26c320b2b90b32b7068528cd4 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 16:39:29 +0200 Subject: [PATCH 20/35] chore(deps): update electron version to "9.4.1" --- .npmrc | 2 +- package-lock.json | 124 +++++++++++++++++++++++---------------- package.json | 2 +- src/main/ipc_messages.ts | 2 +- 4 files changed, 76 insertions(+), 54 deletions(-) diff --git a/.npmrc b/.npmrc index 9d63038d..ee18635d 100644 --- a/.npmrc +++ b/.npmrc @@ -1,4 +1,4 @@ runtime = electron -target = 8.5.2 +target = 9.4.1 target_arch = x64 disturl = https://atom.io/download/atom-shell diff --git a/package-lock.json b/package-lock.json index 29b825a5..19d20c93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -85,19 +85,20 @@ } }, "@electron/get": { - "version": "1.12.2", - "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz", - "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.3.tgz", + "integrity": "sha512-NFwSnVZQK7dhOYF1NQCt+HGqgL1aNdj0LUSx75uCqnZJqyiWCVdAMFV4b4/kC8HjUJAnsvdSEmjEt4G2qNQ9+Q==", "dev": true, "requires": { "debug": "^4.1.1", "env-paths": "^2.2.0", + "filenamify": "^4.1.0", "fs-extra": "^8.1.0", "global-agent": "^2.0.2", "global-tunnel-ng": "^2.7.1", "got": "^9.6.0", "progress": "^2.0.3", - "sanitize-filename": "^1.6.2", + "semver": "^6.2.0", "sumchecker": "^3.0.1" }, "dependencies": { @@ -1234,17 +1235,7 @@ "asn1js": { "version": "2.0.26", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-2.0.26.tgz", - "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==", - "requires": { - "pvutils": "^1.0.17" - }, - "dependencies": { - "pvutils": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.0.17.tgz", - "integrity": "sha512-wLHYUQxWaXVQvKnwIDWFVKDJku9XDCvyhhxoq8dc5MFdIlRenyPI9eSfEtcvgHgD7FlvCyGAlWgOzRnZD99GZQ==" - } - } + "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==" }, "assert": { "version": "1.5.0", @@ -1499,9 +1490,9 @@ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" }, "boolean": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.1.tgz", - "integrity": "sha512-HRZPIjPcbwAVQvOTxR4YE3o8Xs98NqbbL1iEZDCz7CL8ql0Lt5iOyJFxfnAB0oFs8Oh02F/lLlg30Mexv46LjA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.0.2.tgz", + "integrity": "sha512-RwywHlpCRc3/Wh81MiCKun4ydaIFyW5Ea6JbL6sRCVx5q5irDw7pMXBUFYF/jArQ6YrG36q0kpovc9P/Kd3I4g==", "dev": true, "optional": true }, @@ -2929,9 +2920,9 @@ } }, "electron": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/electron/-/electron-8.5.2.tgz", - "integrity": "sha512-VU+zZnmCzxoZ5UfBg2UGVm+nyxlNlQOQkotMLfk7FCtnkIOhX+sosl618OCxUWjOvPc+Mpg5MEkEmxPU5ziW4Q==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/electron/-/electron-9.4.1.tgz", + "integrity": "sha512-r4CxoVG9Ja7tBtkilWMnBsBGup8G8Z+v7icZmwysHa8/OSr0OrLjrcOF/30BAP7yPE5fz/XTxygnltzW4OTZdw==", "dev": true, "requires": { "@electron/get": "^1.0.1", @@ -3822,6 +3813,23 @@ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=", + "dev": true + }, + "filenamify": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.2.0.tgz", + "integrity": "sha512-pkgE+4p7N1n7QieOopmn3TqJaefjdWXwEkj2XLZJLKfOgcQKkn11ahvGNgTD8mLggexLiDFQxeTs14xVU22XPA==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -4391,16 +4399,36 @@ }, "dependencies": { "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==", "dev": true, "optional": true }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "optional": true, + "requires": { + "yallist": "^4.0.0" + } + }, "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "optional": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true, "optional": true } @@ -8329,15 +8357,6 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, - "sanitize-filename": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz", - "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==", - "dev": true, - "requires": { - "truncate-utf8-bytes": "^1.0.0" - } - }, "sass-graph": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.5.tgz", @@ -9122,6 +9141,15 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, "style-loader": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", @@ -9493,6 +9521,15 @@ "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", "dev": true }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, "triple-beam": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", @@ -9507,15 +9544,6 @@ "glob": "^7.1.2" } }, - "truncate-utf8-bytes": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz", - "integrity": "sha1-QFkjkJWS1W94pYGENLC3hInKXys=", - "dev": true, - "requires": { - "utf8-byte-length": "^1.0.1" - } - }, "ts-node": { "version": "8.10.2", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz", @@ -9806,12 +9834,6 @@ "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true }, - "utf8-byte-length": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz", - "integrity": "sha1-9F8VDExm7uloGGUFq5P8u4rWv2E=", - "dev": true - }, "util": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", diff --git a/package.json b/package.json index c8852897..70a5c1c5 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "colors": "^1.4.0", "cross-env": "^7.0.2", "css-loader": "^3.6.0", - "electron": "8.5.2", + "electron": "9.4.1", "eslint": "^6.8.0", "eslint-config-airbnb-typescript": "^7.2.1", "eslint-plugin-import": "^2.22.0", diff --git a/src/main/ipc_messages.ts b/src/main/ipc_messages.ts index 6b902883..286cdcb5 100644 --- a/src/main/ipc_messages.ts +++ b/src/main/ipc_messages.ts @@ -61,7 +61,7 @@ const initServerEvents = () => { const initEvents = () => { ipcMain .on('ipc-logging-open', () => { - shell.openItem(APP_LOG_FILE); + shell.openPath(APP_LOG_FILE); }) .on('ipc-logging-status-get', (event: IpcMainEvent) => { const config = getConfig(); From e4559d4d7ee01f641a460d5f1bdc675bb3e549c6 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 16:57:02 +0200 Subject: [PATCH 21/35] chore(ci): change fortify-setup branch to "dev" --- .github/actions/prepare-fortify-setup-repo/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/prepare-fortify-setup-repo/action.yml b/.github/actions/prepare-fortify-setup-repo/action.yml index 9664156d..0c074b93 100644 --- a/.github/actions/prepare-fortify-setup-repo/action.yml +++ b/.github/actions/prepare-fortify-setup-repo/action.yml @@ -2,7 +2,7 @@ name: Prepare fortify-setup repository runs: using: "composite" steps: - - run: git clone https://$ACCESS_TOKEN:x-oauth-basic@github.com/PeculiarVentures/fortify-setup.git --depth=1 --branch=master + - run: git clone https://$ACCESS_TOKEN:x-oauth-basic@github.com/PeculiarVentures/fortify-setup.git --depth=1 --branch=dev shell: bash - run: npm ci --prefix ./fortify-setup shell: bash From 748c48f4c6aeacc99eaaaf79843d3e2be7f5a821 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 17:19:35 +0200 Subject: [PATCH 22/35] chore(main): add logs about electron/chrome/node version --- src/main/application.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/application.ts b/src/main/application.ts index 955d756c..06a2800e 100644 --- a/src/main/application.ts +++ b/src/main/application.ts @@ -1,7 +1,6 @@ import { app, screen } from 'electron'; import * as fs from 'fs'; import * as os from 'os'; -import * as path from 'path'; import { inject, injectable, @@ -13,7 +12,6 @@ import { CHECK_UPDATE, CHECK_UPDATE_INTERVAL, APP_USER_DIR, - APP_DIR, } from './constants'; import { setConfig, getConfig } from './config'; import logger, { loggingSwitch } from './logger'; @@ -177,6 +175,9 @@ export class Application { }); logger.info('application', 'Env', { version: app.getVersion(), + versionChrome: process.versions.chrome, + versionElectron: process.versions.electron, + versionNode: process.versions.node, }); logger.info('system', 'Env', { type: os.type(), From 683186172fe6596039236a253a8972f373e5d935 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 17:22:05 +0200 Subject: [PATCH 23/35] 1.6.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 19d20c93..8905932e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "fortify", - "version": "1.5.0", + "version": "1.6.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 70a5c1c5..be035508 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fortify", "productName": "Fortify", - "version": "1.5.0", + "version": "1.6.0", "description": "Fortify enables web applications to use smart cards, local certificate stores and do certificate enrollment", "main": "out/main.js", "scripts": { From 4267d9b2a5c2559e1f6dd25d654914e85a9e5836 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 17:42:36 +0200 Subject: [PATCH 24/35] chore: change mixpanel token --- src/main/constants/third_party.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/constants/third_party.ts b/src/main/constants/third_party.ts index 89608b74..ab2c9d4a 100644 --- a/src/main/constants/third_party.ts +++ b/src/main/constants/third_party.ts @@ -1 +1 @@ -export const MIXPANEL_TOKEN = '31a2bd73f845a3bef59965badb55fe34'; +export const MIXPANEL_TOKEN = '124773c76c7622781c7bbef371a07c93'; From 835644b7934dfcaf9607468d7788519000c83a71 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 17:46:33 +0200 Subject: [PATCH 25/35] chore(deps): bump deps --- package-lock.json | 28 ++++++++++++++-------------- package.json | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index cbea92a3..e92838ea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -948,16 +948,6 @@ "ws": "^7.3.1" }, "dependencies": { - "pkijs": { - "version": "2.1.91", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-2.1.91.tgz", - "integrity": "sha512-L8CHhbC5ub4LR522GMp7Yo+qWy567f9JX0XBMT+FqzqVl7GUp42EWHL5KE662mqv/YSqSs5djKF4HfGHp2xHvg==", - "requires": { - "asn1js": "^2.0.26", - "bytestreamjs": "^1.0.29", - "pvutils": "^1.0.17" - } - }, "tslib": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", @@ -1249,7 +1239,17 @@ "asn1js": { "version": "2.0.26", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-2.0.26.tgz", - "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==" + "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==", + "requires": { + "pvutils": "^1.0.17" + }, + "dependencies": { + "pvutils": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.0.17.tgz", + "integrity": "sha512-wLHYUQxWaXVQvKnwIDWFVKDJku9XDCvyhhxoq8dc5MFdIlRenyPI9eSfEtcvgHgD7FlvCyGAlWgOzRnZD99GZQ==" + } + } }, "assert": { "version": "1.5.0", @@ -7204,9 +7204,9 @@ } }, "pkijs": { - "version": "2.1.90", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-2.1.90.tgz", - "integrity": "sha512-HwiuzrscbJaiMYRlBTr+B00yBcSbVud+NaInxHOwwc+2IdXz84Ex2sM/JWyChXpJLS8JVz2OMj+UmB7L3QsA9g==", + "version": "2.1.91", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-2.1.91.tgz", + "integrity": "sha512-L8CHhbC5ub4LR522GMp7Yo+qWy567f9JX0XBMT+FqzqVl7GUp42EWHL5KE662mqv/YSqSs5djKF4HfGHp2xHvg==", "requires": { "asn1js": "^2.0.26", "bytestreamjs": "^1.0.29", diff --git a/package.json b/package.json index adf6ab0a..98776f84 100644 --- a/package.json +++ b/package.json @@ -83,7 +83,7 @@ "jose-jwe-jws": "github:microshine/js-jose", "lib-react-components": "^1.2.0", "mixpanel": "^0.13.0", - "pkijs": "^2.1.89", + "pkijs": "^2.1.91", "pvtsutils": "^1.1.1", "react": "^16.13.1", "react-dom": "^16.13.1", From 597a110f3c2cf2e37f7c26b9b313b45509da3532 Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 17:48:50 +0200 Subject: [PATCH 26/35] 1.7.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e92838ea..585b1bd4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "fortify", - "version": "1.6.0", + "version": "1.7.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 98776f84..cbfce5ba 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "fortify", "productName": "Fortify", - "version": "1.6.0", + "version": "1.7.0", "description": "Fortify enables web applications to use smart cards, local certificate stores and do certificate enrollment", "main": "out/main.js", "scripts": { From f07f7ed9985d933ad889c7ce0d742a9bbd42673a Mon Sep 17 00:00:00 2001 From: donskov Date: Thu, 4 Feb 2021 23:55:20 +0200 Subject: [PATCH 27/35] chore(deps): update @webcrypto-local version --- package-lock.json | 570 ++++++++++++++++++++++++++++++++++------------ package.json | 4 +- 2 files changed, 430 insertions(+), 144 deletions(-) diff --git a/package-lock.json b/package-lock.json index 585b1bd4..b75e3404 100644 --- a/package-lock.json +++ b/package-lock.json @@ -116,134 +116,306 @@ } }, "@peculiar/asn1-cms": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.0.26.tgz", - "integrity": "sha512-7M5u5tjzH/XxhvYzwR6IjOPIJARPjBquGMqzGcAhWfSrtY6qrJcIU1cKHA0oEqZ3nDSpHXQEpmKP5ly29d8Tqg==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.0.27.tgz", + "integrity": "sha512-zwB92KcF8HRD9x2Ytzpcf1GlcexhdW7lhXUZZB7J55Itk9ERaJmYjdUchj6FqO1IJ4RXSypkKbTG7vTTCbzB8w==", "requires": { - "@peculiar/asn1-schema": "^2.0.26", - "@peculiar/asn1-x509": "^2.0.26", - "@peculiar/asn1-x509-attr": "^2.0.26", + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/asn1-x509": "^2.0.27", + "@peculiar/asn1-x509-attr": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@peculiar/asn1-x509": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", + "requires": { + "@peculiar/asn1-schema": "^2.0.27", + "asn1js": "^2.0.26", + "ipaddr.js": "^2.0.0", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@peculiar/asn1-csr": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.0.26.tgz", - "integrity": "sha512-6Zhle4A1uSoyQnVM/js0XcNCmcAMiu03dZktUeUkikaCaNhBy6vms7m2SOamfojoYhSsOnFG7GfYjNjs7W0vwA==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.0.27.tgz", + "integrity": "sha512-sjIWpk0xjYZY39/Cay/gLmgGOZ8XtmfUBikGx5vE0ZGm0+ZPiFdo6zJhh2Ca7EFZ450KcW9Xm4kkC61WnPP+Mw==", "requires": { - "@peculiar/asn1-schema": "^2.0.26", - "@peculiar/asn1-x509": "^2.0.26", + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@peculiar/asn1-x509": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", + "requires": { + "@peculiar/asn1-schema": "^2.0.27", + "asn1js": "^2.0.26", + "ipaddr.js": "^2.0.0", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@peculiar/asn1-ecc": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.0.26.tgz", - "integrity": "sha512-2xQKFaCkC2cTn0U4lfqx/pO18yacEEO3bxJimhNQnDBrjAGNNBHA2A3R6LZRu0dRzTmIIZAK/sOOrfNQUNFlUg==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.0.27.tgz", + "integrity": "sha512-b2p2WP90bYz14vASthQumFgkK+Fmz4dwx9EQime1uyQo30a2vSpJNzD2oeUqXCoAEMQWV6VDwKPj586P+3ZG/Q==", "requires": { - "@peculiar/asn1-schema": "^2.0.26", + "@peculiar/asn1-schema": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@peculiar/asn1-pfx": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.0.26.tgz", - "integrity": "sha512-4b3Bywrj0hGZS/hzDjS3ygZPru8hMRWebIEgeAudU1HezLqE+qggEqSuMv7UpzHFIo2MJM9utw4m88k+XiKGdw==", - "requires": { - "@peculiar/asn1-cms": "^2.0.26", - "@peculiar/asn1-pkcs8": "^2.0.26", - "@peculiar/asn1-rsa": "^2.0.26", - "@peculiar/asn1-schema": "^2.0.26", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.0.27.tgz", + "integrity": "sha512-inyQryqS1bUYeJ+o+xwhHuFFE6qMYlDdY2G/UgYPL4mzYNCqn6+L6UstsXnlCtL71mB8UfYV++gqpqO3h+pmxA==", + "requires": { + "@peculiar/asn1-cms": "^2.0.27", + "@peculiar/asn1-pkcs8": "^2.0.27", + "@peculiar/asn1-rsa": "^2.0.27", + "@peculiar/asn1-schema": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@peculiar/asn1-pkcs8": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.0.26.tgz", - "integrity": "sha512-unRf+e9SNusoHzQCgcn7jdFUouoXdsE69gFnr3ACOk17SvXNtpufsClZVloCCO1NBQ+HhRzdQxdcUtW1nKEyIw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.0.27.tgz", + "integrity": "sha512-rYcP8E4ykS+Z8DHurXQNP+jbNTDZbRw84NuzIU39jQ2RiQFpYcs7/nidehPjBSXBC+bHMRc3JC35qP3ZgcTw7Q==", "requires": { - "@peculiar/asn1-schema": "^2.0.26", - "@peculiar/asn1-x509": "^2.0.26", + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@peculiar/asn1-x509": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", + "requires": { + "@peculiar/asn1-schema": "^2.0.27", + "asn1js": "^2.0.26", + "ipaddr.js": "^2.0.0", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@peculiar/asn1-pkcs9": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.0.26.tgz", - "integrity": "sha512-g4Uk/n0tO+W3INFr+Bbdh0jS5KMaep3BnxoNzIKiCCANtiTNBMPdxBOz62WUvV/gqFXs3Nv2omLUbMLccw/Eow==", - "requires": { - "@peculiar/asn1-cms": "^2.0.26", - "@peculiar/asn1-pfx": "^2.0.26", - "@peculiar/asn1-pkcs8": "^2.0.26", - "@peculiar/asn1-schema": "^2.0.26", - "@peculiar/asn1-x509": "^2.0.26", - "@peculiar/asn1-x509-attr": "^2.0.26", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.0.27.tgz", + "integrity": "sha512-WRHd+CGqNoizV776zgUk04PvV5r3wyw1Mz2lrx6nr1ewChLq3gz0cJpFsYC+lGmkvND5gnYkAc1sbZgau+aFAg==", + "requires": { + "@peculiar/asn1-cms": "^2.0.27", + "@peculiar/asn1-pfx": "^2.0.27", + "@peculiar/asn1-pkcs8": "^2.0.27", + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/asn1-x509": "^2.0.27", + "@peculiar/asn1-x509-attr": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@peculiar/asn1-x509": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", + "requires": { + "@peculiar/asn1-schema": "^2.0.27", + "asn1js": "^2.0.26", + "ipaddr.js": "^2.0.0", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@peculiar/asn1-rsa": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.0.26.tgz", - "integrity": "sha512-XqvLmM7xJh9nMdHBt5gNSOTxAejTa9dnzQ2AWbXNWAJiPV8K3JvqoYzD40yFxoVd93mFCfLK5yEUW3372bpx5Q==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.0.27.tgz", + "integrity": "sha512-IX7H5FLGKnipo2f3lbabU+V9iTSFLklgxTRPSt6XfVPnDTACsLIdnhuNEXW/sN8rbMuKwFxqy00uxSay5Mqp3w==", "requires": { - "@peculiar/asn1-schema": "^2.0.26", - "@peculiar/asn1-x509": "^2.0.26", + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@peculiar/asn1-x509": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", + "requires": { + "@peculiar/asn1-schema": "^2.0.27", + "asn1js": "^2.0.26", + "ipaddr.js": "^2.0.0", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, @@ -295,20 +467,48 @@ } }, "@peculiar/asn1-x509-attr": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.0.26.tgz", - "integrity": "sha512-N9bp3sdt9Xj4KyjZzSM+MR6OfdC0JY5nj5sDCNJCe4kWWC2matjcYh/lJv4BLRE5rBw07cHnJLeMGV6AOn0rKw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.0.27.tgz", + "integrity": "sha512-X6fl6ep9Q+lj8iSiwI5dGfuyCPluvzN4MnUam4cw7KDY5dk2Q/LN3FWU4zwmC9i9tmXZtw8IDn/Wrgnn9QXZrA==", "requires": { - "@peculiar/asn1-schema": "^2.0.26", - "@peculiar/asn1-x509": "^2.0.26", + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" }, "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@peculiar/asn1-x509": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", + "requires": { + "@peculiar/asn1-schema": "^2.0.27", + "asn1js": "^2.0.26", + "ipaddr.js": "^2.0.0", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, @@ -350,21 +550,71 @@ } }, "@peculiar/x509": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.0.6.tgz", - "integrity": "sha512-jjxmk/W8XSmwnXF+QaNQEg3wKhcz5htIG5kye1Q+yJ09tG4HKdaBAtIZKJHCraZeOjRd6AAPj+45knJ+c80ZVw==", - "requires": { - "@peculiar/asn1-cms": "^2.0.22", - "@peculiar/asn1-csr": "^2.0.22", - "@peculiar/asn1-ecc": "^2.0.17", - "@peculiar/asn1-pkcs9": "^2.0.22", - "@peculiar/asn1-rsa": "^2.0.22", - "@peculiar/asn1-schema": "^2.0.17", - "@peculiar/asn1-x509": "^2.0.22", - "pvtsutils": "^1.0.13", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.2.0.tgz", + "integrity": "sha512-QS0h4la8pGnenYqDk7N9OC337oBOVQ6h1nXrb4qWqGmEw/ai2xkxwjpczxzH2jJ0YK+EMEGxjM5hWFyyxXSivg==", + "requires": { + "@peculiar/asn1-cms": "^2.0.27", + "@peculiar/asn1-csr": "^2.0.27", + "@peculiar/asn1-ecc": "^2.0.27", + "@peculiar/asn1-pkcs9": "^2.0.27", + "@peculiar/asn1-rsa": "^2.0.27", + "@peculiar/asn1-schema": "^2.0.27", + "@peculiar/asn1-x509": "^2.0.27", + "pvtsutils": "^1.1.1", "reflect-metadata": "^0.1.13", - "tslib": "^2.0.1", - "tsyringe": "^4.3.0" + "tslib": "^2.1.0", + "tsyringe": "^4.4.0" + }, + "dependencies": { + "@peculiar/asn1-schema": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", + "requires": { + "@types/asn1js": "^2.0.0", + "asn1js": "^2.0.26", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@peculiar/asn1-x509": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", + "requires": { + "@peculiar/asn1-schema": "^2.0.27", + "asn1js": "^2.0.26", + "ipaddr.js": "^2.0.0", + "pvtsutils": "^1.1.1", + "tslib": "^2.0.3" + } + }, + "@types/asn1js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", + "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + }, + "tsyringe": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.4.0.tgz", + "integrity": "sha512-SlMApe1lhIq546CDp7bF+IdF4RB6d+9C5T7B0AS0P/Bm+Qpizj/gEmZzvw9J/KlXPEt4qHTbi1TRvX3rCPSdTg==", + "requires": { + "tslib": "^1.9.3" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + } } }, "@protobufjs/aspromise": { @@ -875,66 +1125,83 @@ } }, "@webcrypto-local/cards": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webcrypto-local/cards/-/cards-1.5.0.tgz", - "integrity": "sha512-RvL1IwG7ZyHdWOJ3wHtQhpk0lzVjInIjtTfU5YVVaNWGF9u/Zen3/9y2UyNn+t6FMDdwxj82UGeyRCwc6hCLww==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webcrypto-local/cards/-/cards-1.6.0.tgz", + "integrity": "sha512-UqvbClrr1u5EkUxCixhXfXtX2vP23xWwiKnphY1Iu3jqD/aps6UOk+4MFrbGUvF5eBcuWwpGAp4cFbmiiSLCww==", "requires": { "@peculiar/json-schema": "1.1.12", - "tslib": "2.0.3" + "tslib": "2.1.0" }, "dependencies": { "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@webcrypto-local/core": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webcrypto-local/core/-/core-1.5.0.tgz", - "integrity": "sha512-1zeYbyeUY3aj+Yp3DNiG9joPm+zb3h3d/nZTJs/nXJDFAE2mdSOF7na+6tOR0iq2ukMauCMvbtsStAKehtdQuw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webcrypto-local/core/-/core-1.6.0.tgz", + "integrity": "sha512-lgld8JQEaKKOzGhfjVtOIU7p833QeBKGJTGW+S2ODQY+Hrz59j4xszUw3MHJO8O5EJbL0RlHezGxr+zO8pu3yg==", "requires": { "2key-ratchet": "1.0.18", - "pvtsutils": "^1.1.1", - "tslib": "2.0.3" + "pvtsutils": "^1.1.2", + "tslib": "2.1.0" }, "dependencies": { + "pvtsutils": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.1.2.tgz", + "integrity": "sha512-Yfm9Dsk1zfEpOWCaJaHfqtNXAFWNNHMFSCLN6jTnhuCCBCC2nqge4sAgo7UrkRBoAAYIL8TN/6LlLoNfZD/b5A==", + "requires": { + "tslib": "^2.1.0" + } + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@webcrypto-local/proto": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@webcrypto-local/proto/-/proto-1.5.0.tgz", - "integrity": "sha512-mXsq00fPZLHFcZmGh4unFJoL7CHlAc7woQB3pOj5YIEXTiq3qgoqbnpebOpfLkULXEJ7BBCCeO9b1sg5QeMpbw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webcrypto-local/proto/-/proto-1.6.0.tgz", + "integrity": "sha512-yS0jc8aVrIT3JoKAB9uR88I0e9lJ9RmnFBR+a+jx/p+quRu6SvPYXEUWjeZzfjlUsmEQVA6GICwpUT1c4/qCdA==", "requires": { - "@webcrypto-local/core": "^1.5.0", - "pvtsutils": "^1.1.1", - "tslib": "2.0.3", - "tsprotobuf": "^1.0.15" + "@webcrypto-local/core": "^1.6.0", + "pvtsutils": "^1.1.2", + "tslib": "2.1.0", + "tsprotobuf": "^1.0.17" }, "dependencies": { + "pvtsutils": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.1.2.tgz", + "integrity": "sha512-Yfm9Dsk1zfEpOWCaJaHfqtNXAFWNNHMFSCLN6jTnhuCCBCC2nqge4sAgo7UrkRBoAAYIL8TN/6LlLoNfZD/b5A==", + "requires": { + "tslib": "^2.1.0" + } + }, "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, "@webcrypto-local/server": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@webcrypto-local/server/-/server-1.5.2.tgz", - "integrity": "sha512-fH3f1rws2tBjq9pk/bLuhp+d2uU75CKRemIP+obKmR2bJ06Gmd0BZICReiAof42WEcDoSzPLcRcgvJ9ec3E7Kw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webcrypto-local/server/-/server-1.6.0.tgz", + "integrity": "sha512-LOTX+WpNaqG6OkdULNDY+VvLTDFj2lFNwknEhrRJJOg0p9pDkvlpjXqvGCqHdw4GG4I1Fm3pQH/w0+OCQAfrOw==", "requires": { "2key-ratchet": "1.0.18", "@peculiar/json-schema": "1.1.12", - "@webcrypto-local/cards": "^1.5.0", - "@webcrypto-local/core": "^1.5.0", - "@webcrypto-local/proto": "^1.5.0", + "@types/pvutils": "^1.0.0", + "@webcrypto-local/cards": "^1.6.0", + "@webcrypto-local/core": "^1.6.0", + "@webcrypto-local/proto": "^1.6.0", "asn1js": "2.0.26", "graphene-pk11": "^2.1.13", "node-webcrypto-p11": "2.3.3", @@ -948,6 +1215,11 @@ "ws": "^7.3.1" }, "dependencies": { + "@types/pvutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/pvutils/-/pvutils-1.0.0.tgz", + "integrity": "sha512-Z0pssWyJimqFb4u1aOlAZ7m4X1BSyzOYR2wiuv1V0WfTq1jsOFhl9QgjMUwr92R28Dfwq3eQxziKarmuaKCkKw==" + }, "tslib": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", @@ -4587,13 +4859,20 @@ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" }, "graphene-pk11": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/graphene-pk11/-/graphene-pk11-2.1.13.tgz", - "integrity": "sha512-0VD6X/YyYbwwXoNyx0o11o/nWUAC8/a5DNfV3chx7rY5iJwwSHAPS7AjDDlBzZYgr5TS32uYhl23io5xWks0Cg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/graphene-pk11/-/graphene-pk11-2.2.1.tgz", + "integrity": "sha512-DFpDIH2HvubZcPLOLKDMbvyUonppfoxwmcarxz7vhUZ+NcMVVxWKfDB5HDZguKsAe9y8IgdoHIgBx2jP6wuMlw==", "requires": { - "int64-buffer": "^0.99.1007", - "pkcs11js": "^1.0.22", - "tslib": "^2.0.1" + "int64-buffer": "^1.0.0", + "pkcs11js": "^1.2.0", + "tslib": "^2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } } }, "growl": { @@ -5048,9 +5327,9 @@ } }, "int64-buffer": { - "version": "0.99.1007", - "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.99.1007.tgz", - "integrity": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-1.0.0.tgz", + "integrity": "sha512-yD4sihjB6Puqlk7hL3Cz0/0C6dtueUcf70mUbgioNQacgi4+pkoC9t0TkRetHvm+zvajyb7WaJZ6Bq4Xax3nTQ==" }, "internal-slot": { "version": "1.0.2", @@ -6615,9 +6894,9 @@ }, "dependencies": { "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, @@ -7187,11 +7466,18 @@ } }, "pkcs11js": { - "version": "1.0.22", - "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.0.22.tgz", - "integrity": "sha512-g0gOCCkKSa8YfoQPZFKk8VnbPvK+y3Gfx4O9NplzG6ntUX+1HSu491l8IUouxx45Jm3oEQXdDMtdTKH9t695aQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pkcs11js/-/pkcs11js-1.2.0.tgz", + "integrity": "sha512-sDSRkMOQnybT7NY62hHzMpYFPoJQ+YrtLxylpsg4WfhgV32CRCvCf7s9YIXjwSqv9dvJsPACvMQfL7Kh+qXJxw==", "requires": { - "nan": "^2.14.1" + "nan": "^2.14.2" + }, + "dependencies": { + "nan": { + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" + } } }, "pkg-dir": { @@ -7847,9 +8133,9 @@ }, "dependencies": { "@types/node": { - "version": "13.13.30", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.30.tgz", - "integrity": "sha512-HmqFpNzp3TSELxU/bUuRK+xzarVOAsR00hzcvM0TXrMlt/+wcSLa5q6YhTb6/cA6wqDCZLDcfd8fSL95x5h7AA==" + "version": "13.13.41", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.41.tgz", + "integrity": "sha512-qLT9IvHiXJfdrje9VmsLzun7cQ65obsBTmtU3EOnCSLFOoSHx1hpiRHoBnpdbyFqnzqdUUIv81JcEJQCB8un9g==" } } }, @@ -9620,9 +9906,9 @@ "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" }, "tsprotobuf": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/tsprotobuf/-/tsprotobuf-1.0.16.tgz", - "integrity": "sha512-FNYePQe/KIJe6/FSJfzFlZT/Ud2DuaAZWBPd+X1fxhelmsh/3z3ceKllk7diDTRE5JsbH00vdFUfkoySk73JCA==", + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/tsprotobuf/-/tsprotobuf-1.0.17.tgz", + "integrity": "sha512-Utz7lnRQwogz6o+I8oG7akOlBYrJwRdr+1X6jMy1ohf80oM1o0sWPO+svLDNBTDLpQ1gYIkWEc5adDFPK/ylnQ==", "requires": { "@types/long": "^4.0.1", "protobufjs": "^6.10.1", @@ -10583,9 +10869,9 @@ } }, "ws": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", - "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.3.tgz", + "integrity": "sha512-hr6vCR76GsossIRsr8OLR9acVVm1jyfEWvhbNjtgPOrfvAlKzvyeg/P6r8RuDjRyrcQoPQT7K0DGEPc7Ae6jzA==" }, "xmldom": { "version": "0.1.31", diff --git a/package.json b/package.json index cbfce5ba..8b9c8978 100644 --- a/package.json +++ b/package.json @@ -75,8 +75,8 @@ "@peculiar/asn1-schema": "^2.0.26", "@peculiar/asn1-x509": "^2.0.26", "@peculiar/webcrypto": "1.0.22", - "@webcrypto-local/cards": "^1.5.0", - "@webcrypto-local/server": "^1.5.2", + "@webcrypto-local/cards": "^1.6.0", + "@webcrypto-local/server": "^1.6.0", "asn1js": "^2.0.26", "classnames": "^2.2.6", "get-proxy-settings": "^0.1.11", From 60f6f05af2e84761c01a715dd7d1269ea2c57f3c Mon Sep 17 00:00:00 2001 From: microshine Date: Fri, 5 Feb 2021 03:14:59 +0300 Subject: [PATCH 28/35] chore: Update dependencies --- package-lock.json | 1528 +++++++++++++++++---------------------------- 1 file changed, 576 insertions(+), 952 deletions(-) diff --git a/package-lock.json b/package-lock.json index b75e3404..c1bc0da7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,52 +22,52 @@ } }, "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz", + "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==", "dev": true, "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.12.13" } }, "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", "dev": true }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz", + "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.10.4", + "@babel/helper-validator-identifier": "^7.12.11", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, "@babel/polyfill": { - "version": "7.11.5", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.11.5.tgz", - "integrity": "sha512-FunXnE0Sgpd61pKSj2OSOs1D44rKTD3pGOfGilZ6LGrrIH0QEtJlTjqOqdF8Bs98JmjfGhni2BBkTfv9KcKJ9g==", + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", "requires": { "core-js": "^2.6.5", "regenerator-runtime": "^0.13.4" } }, "@babel/runtime": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", - "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.13.tgz", + "integrity": "sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz", - "integrity": "sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A==", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.13.tgz", + "integrity": "sha512-8fSpqYRETHATtNitsCXq8QQbKJP31/KnDl2Wz2Vtui9nKzjss2ysuZtyVsWjBtvkeEFo346gkwjYPab1hvrXkQ==", "dev": true, "requires": { "core-js-pure": "^3.0.0", @@ -125,41 +125,6 @@ "@peculiar/asn1-x509-attr": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@peculiar/asn1-x509": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", - "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", - "requires": { - "@peculiar/asn1-schema": "^2.0.27", - "asn1js": "^2.0.26", - "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/asn1-csr": { @@ -171,41 +136,6 @@ "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@peculiar/asn1-x509": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", - "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", - "requires": { - "@peculiar/asn1-schema": "^2.0.27", - "asn1js": "^2.0.26", - "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/asn1-ecc": { @@ -216,29 +146,6 @@ "@peculiar/asn1-schema": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/asn1-pfx": { @@ -252,29 +159,6 @@ "@peculiar/asn1-schema": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/asn1-pkcs8": { @@ -286,41 +170,6 @@ "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@peculiar/asn1-x509": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", - "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", - "requires": { - "@peculiar/asn1-schema": "^2.0.27", - "asn1js": "^2.0.26", - "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/asn1-pkcs9": { @@ -336,41 +185,6 @@ "@peculiar/asn1-x509-attr": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@peculiar/asn1-x509": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", - "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", - "requires": { - "@peculiar/asn1-schema": "^2.0.27", - "asn1js": "^2.0.26", - "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/asn1-rsa": { @@ -382,51 +196,16 @@ "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@peculiar/asn1-x509": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", - "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", - "requires": { - "@peculiar/asn1-schema": "^2.0.27", - "asn1js": "^2.0.26", - "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/asn1-schema": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.26.tgz", - "integrity": "sha512-IKkHojZkiLgtqMpahDm5UENMGN3UUOj51Pq6yAkZxLaNjDFc7H14g3oxgwHS7c7w6j76HbL8Agm4xnmSmJtbhg==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", + "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", "requires": { "@types/asn1js": "^2.0.0", "asn1js": "^2.0.26", - "pvtsutils": "^1.0.15", + "pvtsutils": "^1.1.1", "tslib": "^2.0.3" }, "dependencies": { @@ -434,36 +213,19 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" } } }, "@peculiar/asn1-x509": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.26.tgz", - "integrity": "sha512-aB39YFOcvj6r//oMIQqOr9mt6sIRq28ZPRB1d1VPkg2+sZDB3eFdir1y5YEoVW0KI1FvPT0Vr13p6tBih8siaw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", + "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", "requires": { - "@peculiar/asn1-schema": "^2.0.26", + "@peculiar/asn1-schema": "^2.0.27", "asn1js": "^2.0.26", "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.0", + "pvtsutils": "^1.1.1", "tslib": "^2.0.3" - }, - "dependencies": { - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } } }, "@peculiar/asn1-x509-attr": { @@ -475,41 +237,6 @@ "@peculiar/asn1-x509": "^2.0.27", "asn1js": "^2.0.26", "tslib": "^2.0.3" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@peculiar/asn1-x509": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", - "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", - "requires": { - "@peculiar/asn1-schema": "^2.0.27", - "asn1js": "^2.0.26", - "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@peculiar/json-schema": { @@ -565,56 +292,6 @@ "reflect-metadata": "^0.1.13", "tslib": "^2.1.0", "tsyringe": "^4.4.0" - }, - "dependencies": { - "@peculiar/asn1-schema": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.0.27.tgz", - "integrity": "sha512-1tIx7iL3Ma3HtnNS93nB7nhyI0soUJypElj9owd4tpMrRDmeJ8eZubsdq1sb0KSaCs5RqZNoABCP6m5WtnlVhQ==", - "requires": { - "@types/asn1js": "^2.0.0", - "asn1js": "^2.0.26", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@peculiar/asn1-x509": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.0.27.tgz", - "integrity": "sha512-NUfYamIvWyCQTRTDQUXxRiEWXLLIVsp3mEsbcW/EkrMHJ4of/3eW3YFUssJlkERYXLAkZNXl/VEEa2j+XAwAMw==", - "requires": { - "@peculiar/asn1-schema": "^2.0.27", - "asn1js": "^2.0.26", - "ipaddr.js": "^2.0.0", - "pvtsutils": "^1.1.1", - "tslib": "^2.0.3" - } - }, - "@types/asn1js": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@types/asn1js/-/asn1js-2.0.0.tgz", - "integrity": "sha512-Jjzp5EqU0hNpADctc/UqhiFbY1y2MqIxBVa2S4dBlbnZHTLPMuggoL5q43X63LpsOIINRDirBjP56DUUKIUWIA==" - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - }, - "tsyringe": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.4.0.tgz", - "integrity": "sha512-SlMApe1lhIq546CDp7bF+IdF4RB6d+9C5T7B0AS0P/Bm+Qpizj/gEmZzvw9J/KlXPEt4qHTbi1TRvX3rCPSdTg==", - "requires": { - "tslib": "^1.9.3" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - } } }, "@protobufjs/aspromise": { @@ -702,15 +379,9 @@ "dev": true }, "@types/classnames": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.10.tgz", - "integrity": "sha512-1UzDldn9GfYYEsWWnn/P4wkTlkZDH7lDb0wBMGbtIQc9zXEQq7FlKBdZUn6OBqD8sKZZ2RQO2mAjGpXiDGoRmQ==", - "dev": true - }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.2.11.tgz", + "integrity": "sha512-2koNhpWm3DgWRp5tpkiJ8JGc1xTn2q0l+jUNUE7oMKXUf5NpI9AIdC4kbjGNFBdHtcxBD18LAksoudAVhFKCjw==", "dev": true }, "@types/eslint-visitor-keys": { @@ -742,9 +413,9 @@ } }, "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", "dev": true }, "@types/json5": { @@ -771,9 +442,9 @@ "dev": true }, "@types/node": { - "version": "12.12.54", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.54.tgz", - "integrity": "sha512-ge4xZ3vSBornVYlDnk7yZ0gK6ChHf/CHB7Gl1I0Jhah8DDnEQqBzgohYG4FX4p81TNirSETOiSyn+y1r9/IR6w==", + "version": "12.19.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.19.16.tgz", + "integrity": "sha512-7xHmXm/QJ7cbK2laF+YYD7gb5MggHIIQwqyjin3bpEGiSuvScMQ5JZZXPvRipi1MwckTQbJZROMns/JxdnIL1Q==", "dev": true }, "@types/prop-types": { @@ -783,10 +454,9 @@ "dev": true }, "@types/pvutils": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@types/pvutils/-/pvutils-0.0.2.tgz", - "integrity": "sha512-CgQAm7pjyeF3Gnv78ty4RBVIfluB+Td+2DR8iPaU0prF18pkzptHHP+DoKPfpsJYknKsVZyVsJEu5AuGgAqQ5w==", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/pvutils/-/pvutils-1.0.0.tgz", + "integrity": "sha512-Z0pssWyJimqFb4u1aOlAZ7m4X1BSyzOYR2wiuv1V0WfTq1jsOFhl9QgjMUwr92R28Dfwq3eQxziKarmuaKCkKw==" }, "@types/q": { "version": "1.5.4", @@ -794,9 +464,9 @@ "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" }, "@types/react": { - "version": "16.9.49", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.49.tgz", - "integrity": "sha512-DtLFjSj0OYAdVLBbyjhuV9CdGVHCkHn2R+xr3XkBvK2rS1Y1tkc14XSGjYgm5Fjjr90AxH9tiSzc1pCFMGO06g==", + "version": "16.14.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.3.tgz", + "integrity": "sha512-zPrXn03hmPYqh9DznqSFQsoRtrQ4aHgnZDO+hMGvsE/PORvDTdJCHQ6XvJV31ic+0LzF73huPFXUb++W6Kri0Q==", "dev": true, "requires": { "@types/prop-types": "*", @@ -804,12 +474,12 @@ } }, "@types/react-dom": { - "version": "16.9.8", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.8.tgz", - "integrity": "sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==", + "version": "16.9.10", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.10.tgz", + "integrity": "sha512-ItatOrnXDMAYpv6G8UCk2VhbYVTjZT9aorLtA/OzDN9XJ2GKcfam68jutoAcILdRjsRUO8qb7AmyObF77Q8QFw==", "dev": true, "requires": { - "@types/react": "*" + "@types/react": "^16" } }, "@types/request": { @@ -848,9 +518,9 @@ } }, "@types/semver": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.1.tgz", - "integrity": "sha512-+beqKQOh9PYxuHvijhVl+tIHvT6tuwOrE9m14zd+MT2A38KoKZhh7pYJ0SNleLtwDsiIxHDsIk9bv01oOxvSvA==", + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.2.tgz", + "integrity": "sha512-RxAwYt4rGwK5GyoRwuP0jT6ZHAVTdz2EqgsHmX0PYNjGsko+OeT4WFXXTs/lM3teJUJodM+SNtAL5/pXIJ61IQ==", "dev": true }, "@types/tough-cookie": { @@ -876,9 +546,9 @@ } }, "@types/ws": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.2.6.tgz", - "integrity": "sha512-Q07IrQUSNpr+cXU4E4LtkSIBPie5GLZyyMC1QtQYRLWz701+XcoVygGUZgvLqElq1nU4ICldMYPnexlBsg3dqQ==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-Y29uQ3Uy+58bZrFLhX36hcI3Np37nqWE7ky5tjiDoy1GDZnIwVxS0CgF+s+1bXMzjKBFy+fqaRfb708iNzdinw==", "dev": true, "requires": { "@types/node": "*" @@ -942,10 +612,13 @@ }, "dependencies": { "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, @@ -1131,13 +804,6 @@ "requires": { "@peculiar/json-schema": "1.1.12", "tslib": "2.1.0" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@webcrypto-local/core": { @@ -1148,21 +814,6 @@ "2key-ratchet": "1.0.18", "pvtsutils": "^1.1.2", "tslib": "2.1.0" - }, - "dependencies": { - "pvtsutils": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.1.2.tgz", - "integrity": "sha512-Yfm9Dsk1zfEpOWCaJaHfqtNXAFWNNHMFSCLN6jTnhuCCBCC2nqge4sAgo7UrkRBoAAYIL8TN/6LlLoNfZD/b5A==", - "requires": { - "tslib": "^2.1.0" - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@webcrypto-local/proto": { @@ -1174,21 +825,6 @@ "pvtsutils": "^1.1.2", "tslib": "2.1.0", "tsprotobuf": "^1.0.17" - }, - "dependencies": { - "pvtsutils": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.1.2.tgz", - "integrity": "sha512-Yfm9Dsk1zfEpOWCaJaHfqtNXAFWNNHMFSCLN6jTnhuCCBCC2nqge4sAgo7UrkRBoAAYIL8TN/6LlLoNfZD/b5A==", - "requires": { - "tslib": "^2.1.0" - } - }, - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "@webcrypto-local/server": { @@ -1215,11 +851,6 @@ "ws": "^7.3.1" }, "dependencies": { - "@types/pvutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/pvutils/-/pvutils-1.0.0.tgz", - "integrity": "sha512-Z0pssWyJimqFb4u1aOlAZ7m4X1BSyzOYR2wiuv1V0WfTq1jsOFhl9QgjMUwr92R28Dfwq3eQxziKarmuaKCkKw==" - }, "tslib": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", @@ -1246,15 +877,15 @@ "dev": true }, "acorn": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz", - "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", "dev": true }, "acorn-jsx": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz", - "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", "dev": true }, "agent-base": { @@ -1266,9 +897,9 @@ } }, "ajv": { - "version": "6.12.4", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz", - "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1443,13 +1074,15 @@ "dev": true }, "array-includes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.1.tgz", - "integrity": "sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", + "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", + "es-abstract": "^1.18.0-next.1", + "get-intrinsic": "^1.0.1", "is-string": "^1.0.5" } }, @@ -1460,23 +1093,25 @@ "dev": true }, "array.prototype.flat": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz", - "integrity": "sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "array.prototype.flatmap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.3.tgz", - "integrity": "sha512-OOEk+lkePcg+ODXIpvuU9PAryCikCJyo7GlDG1upleEpQRx6mzL9puEBkozQ5iAx20KV0l3DbyQwqciJtqe5Pg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", + "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", + "es-abstract": "^1.18.0-next.1", "function-bind": "^1.1.1" } }, @@ -1514,13 +1149,6 @@ "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==", "requires": { "pvutils": "^1.0.17" - }, - "dependencies": { - "pvutils": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.0.17.tgz", - "integrity": "sha512-wLHYUQxWaXVQvKnwIDWFVKDJku9XDCvyhhxoq8dc5MFdIlRenyPI9eSfEtcvgHgD7FlvCyGAlWgOzRnZD99GZQ==" - } } }, "assert": { @@ -1638,14 +1266,14 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", - "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==" + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" }, "axe-core": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-3.5.5.tgz", - "integrity": "sha512-5P0QZ6J5xGikH780pghEdbEKijCTrruK9KxtPZCFWUpef0f6GipO+xEZ5GKCb020mmqgbiNO6TcA55CriL784Q==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.1.tgz", + "integrity": "sha512-5Kgy8Cz6LPC9DJcNb3yjAXTu3XihQgEdnIg50c//zOC/MyLP0Clg+Y8Sh9ZjjnvBrDZU4DgXS9C3T9r4/scGZQ==", "dev": true }, "axobject-query": { @@ -1716,9 +1344,9 @@ } }, "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "dev": true }, "bcrypt-pbkdf": { @@ -1736,9 +1364,9 @@ "dev": true }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, "bindings": { @@ -1871,21 +1499,13 @@ } }, "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { - "bn.js": "^4.1.0", + "bn.js": "^5.0.0", "randombytes": "^2.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } } }, "browserify-sign": { @@ -1915,14 +1535,15 @@ } }, "browserslist": { - "version": "4.14.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.5.tgz", - "integrity": "sha512-Z+vsCZIvCBvqLoYkBFTwEYH3v5MCQbsAjp50ERycpOjnPmolg1Gjy4+KaWWpm8QOJt9GHkhdqAl14NpCX73CWA==", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", + "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", "requires": { - "caniuse-lite": "^1.0.30001135", - "electron-to-chromium": "^1.3.571", - "escalade": "^3.1.0", - "node-releases": "^1.1.61" + "caniuse-lite": "^1.0.30001181", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.649", + "escalade": "^3.1.1", + "node-releases": "^1.1.70" } }, "buffer": { @@ -2005,6 +1626,12 @@ "requires": { "glob": "^7.1.3" } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true } } }, @@ -2063,6 +1690,15 @@ } } }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, "caller-callsite": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", @@ -2120,9 +1756,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001142", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001142.tgz", - "integrity": "sha512-pDPpn9ankEpBFZXyCv2I4lh1v/ju+bqb78QfKf+w9XgDAFWBwSYPswXqprRdrgQWK0wQnpIbfwRjNHO1HWqvoQ==" + "version": "1.0.30001183", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001183.tgz", + "integrity": "sha512-7JkwTEE1hlRKETbCFd8HDZeLiQIUcl8rC6JgNjvHCNaxOeNmQ9V4LvQXRUsKIV2CC73qKxljwVhToaA3kLRqTw==" }, "caseless": { "version": "0.12.0", @@ -2222,9 +1858,9 @@ }, "dependencies": { "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } @@ -2376,12 +2012,12 @@ } }, "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", "requires": { "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-string": "^1.5.4" } }, "color-convert": { @@ -2398,9 +2034,9 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" @@ -2534,9 +2170,9 @@ } }, "confusing-browser-globals": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz", - "integrity": "sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", + "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==", "dev": true }, "console-browserify": { @@ -2595,14 +2231,14 @@ "dev": true }, "core-js": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz", - "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "core-js-pure": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", - "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", "dev": true }, "core-util-is": { @@ -2676,9 +2312,9 @@ } }, "cross-env": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.2.tgz", - "integrity": "sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "requires": { "cross-spawn": "^7.0.1" @@ -2775,9 +2411,9 @@ } }, "css-what": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.1.tgz", - "integrity": "sha512-wHOppVDKl4vTAOWzJt5Ek37Sgd9qq1Bmj/T1OjvicWbU5W7ru7Pqbn0Jdqii3Drx/h+dixHKXNhZYx7blthL7g==" + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==" }, "cssesc": { "version": "3.0.0", @@ -2856,33 +2492,33 @@ "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==" }, "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "requires": { - "css-tree": "1.0.0-alpha.39" + "css-tree": "^1.1.2" }, "dependencies": { "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", "requires": { - "mdn-data": "2.0.6", + "mdn-data": "2.0.14", "source-map": "^0.6.1" } }, "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" } } }, "csstype": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.3.tgz", - "integrity": "sha512-jPl+wbWPOWJ7SXsWyqGRk3lGecbar0Cb0OvZF/r/ZU011R4YqiRehgkQ9p4eQfo9DSDLqLL3wHwfxeJiuIsNag==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz", + "integrity": "sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==", "dev": true }, "currently-unhandled": { @@ -2925,11 +2561,11 @@ } }, "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "decamelize": { @@ -3111,9 +2747,9 @@ }, "dependencies": { "domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", - "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==" } } }, @@ -3216,23 +2852,23 @@ } }, "electron-to-chromium": { - "version": "1.3.576", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.576.tgz", - "integrity": "sha512-uSEI0XZ//5ic+0NdOqlxp0liCD44ck20OAGyLMSymIWTEAtHKVJi6JM18acOnRgUgX7Q65QqnI+sNncNvIy8ew==" + "version": "1.3.654", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.654.tgz", + "integrity": "sha512-Zy2gc/c8KYFg2GkNr7Ruzh5tPEZpFm7EyXqZTFasm1YRDJtpyBRGaOuM0H3t6SuIP53qX4kNmtO9t0WjhBjE9A==" }, "elliptic": { - "version": "6.5.3", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz", - "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==", + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", "dev": true, "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", + "bn.js": "^4.11.9", + "brorand": "^1.1.0", "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" }, "dependencies": { "bn.js": { @@ -3277,9 +2913,9 @@ } }, "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", "dev": true, "requires": { "graceful-fs": "^4.1.2", @@ -3288,9 +2924,9 @@ } }, "entities": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", - "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, "env-paths": { "version": "2.2.0", @@ -3299,9 +2935,9 @@ "dev": true }, "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, "requires": { "prr": "~1.0.1" @@ -3316,21 +2952,24 @@ } }, "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", "requires": { + "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", "has": "^1.0.3", "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" } }, "es-to-primitive": { @@ -3383,9 +3022,9 @@ } }, "escalade": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.0.tgz", - "integrity": "sha512-mAk+hPSO8fLDkhV7V0dXazH5pDc6MrjBTPyD3VeKzxnVFjH1MIxbCdqGZB9O8+EwWakZs3ZCbDS4IpRt79V1ig==" + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" }, "escape-string-regexp": { "version": "1.0.5", @@ -3468,9 +3107,9 @@ } }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -3522,24 +3161,24 @@ } }, "eslint-config-airbnb": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.0.tgz", - "integrity": "sha512-Fz4JIUKkrhO0du2cg5opdyPKQXOI2MvF8KUvN2710nJMT6jaRUpRE2swrJftAjVGL7T1otLM5ieo5RqS1v9Udg==", + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", + "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", "dev": true, "requires": { - "eslint-config-airbnb-base": "^14.2.0", - "object.assign": "^4.1.0", + "eslint-config-airbnb-base": "^14.2.1", + "object.assign": "^4.1.2", "object.entries": "^1.1.2" } }, "eslint-config-airbnb-base": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.0.tgz", - "integrity": "sha512-Snswd5oC6nJaevs3nZoLSTvGJBvzTfnBqOIArkf3cbyTyq9UD79wOk8s+RiL6bhca0p/eRO6veczhf6A/7Jy8Q==", + "version": "14.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", + "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", "dev": true, "requires": { - "confusing-browser-globals": "^1.0.9", - "object.assign": "^4.1.0", + "confusing-browser-globals": "^1.0.10", + "object.assign": "^4.1.2", "object.entries": "^1.1.2" } }, @@ -3609,9 +3248,9 @@ } }, "eslint-plugin-import": { - "version": "2.22.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.0.tgz", - "integrity": "sha512-66Fpf1Ln6aIS5Gr/55ts19eUuoDhAbZgnr6UxK5hbDx6l/QgQgx61AePq+BV4PP2uXQFClgMVzep5zZ94qqsxg==", + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", "dev": true, "requires": { "array-includes": "^3.1.1", @@ -3619,7 +3258,7 @@ "contains-path": "^0.1.0", "debug": "^2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.3", + "eslint-import-resolver-node": "^0.3.4", "eslint-module-utils": "^2.6.0", "has": "^1.0.3", "minimatch": "^3.0.4", @@ -3657,48 +3296,48 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.3.1.tgz", - "integrity": "sha512-i1S+P+c3HOlBJzMFORRbC58tHa65Kbo8b52/TwCwSKLohwvpfT5rm2GjGWzOHTEuq4xxf2aRlHHTtmExDQOP+g==", + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", "dev": true, "requires": { - "@babel/runtime": "^7.10.2", + "@babel/runtime": "^7.11.2", "aria-query": "^4.2.2", "array-includes": "^3.1.1", "ast-types-flow": "^0.0.7", - "axe-core": "^3.5.4", - "axobject-query": "^2.1.2", + "axe-core": "^4.0.2", + "axobject-query": "^2.2.0", "damerau-levenshtein": "^1.0.6", "emoji-regex": "^9.0.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1", + "jsx-ast-utils": "^3.1.0", "language-tags": "^1.0.5" }, "dependencies": { "emoji-regex": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.0.0.tgz", - "integrity": "sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.1.tgz", + "integrity": "sha512-117l1H6U4X3Krn+MrzYrL57d5H7siRHWraBs7s+LjRuFK7Fe7hJqnJ0skWlinqsycVLU5YAo6L8CsEYQ0V5prg==", "dev": true } } }, "eslint-plugin-react": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.20.6.tgz", - "integrity": "sha512-kidMTE5HAEBSLu23CUDvj8dc3LdBU0ri1scwHBZjI41oDv4tjsWZKU7MQccFzH1QYPYhsnTF2ovh7JlcIcmxgg==", + "version": "7.22.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz", + "integrity": "sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA==", "dev": true, "requires": { "array-includes": "^3.1.1", "array.prototype.flatmap": "^1.2.3", "doctrine": "^2.1.0", "has": "^1.0.3", - "jsx-ast-utils": "^2.4.1", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", "object.entries": "^1.1.2", "object.fromentries": "^2.0.2", "object.values": "^1.1.1", "prop-types": "^15.7.2", - "resolve": "^1.17.0", + "resolve": "^1.18.1", "string.prototype.matchall": "^4.0.2" }, "dependencies": { @@ -3720,12 +3359,12 @@ "dev": true }, "eslint-scope": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", - "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "requires": { - "esrecurse": "^4.1.0", + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" } }, @@ -4225,18 +3864,18 @@ } }, "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz", + "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==", "dev": true, "requires": { "is-buffer": "~2.0.3" }, "dependencies": { "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", "dev": true } } @@ -4365,9 +4004,9 @@ } }, "tslib": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.0.tgz", - "integrity": "sha512-+Zw5lu0D9tvBMjGP8LpvMb0u2WW2QV3y+D8mO6J+cNzCYIN4sVy43Bf9vl92nqFahutN0I8zHa7cc4vihIshnw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } @@ -4601,6 +4240,16 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, "get-proxy-settings": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/get-proxy-settings/-/get-proxy-settings-0.1.12.tgz", @@ -4690,16 +4339,6 @@ "dev": true, "optional": true }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "optional": true, - "requires": { - "yallist": "^4.0.0" - } - }, "semver": { "version": "7.3.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", @@ -4709,13 +4348,6 @@ "requires": { "lru-cache": "^6.0.0" } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true } } }, @@ -4866,13 +4498,6 @@ "int64-buffer": "^1.0.0", "pkcs11js": "^1.2.0", "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "growl": { @@ -5102,9 +4727,9 @@ } }, "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true }, "iferr": { @@ -5266,12 +4891,11 @@ }, "dependencies": { "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "requires": { - "@types/color-name": "^1.1.1", "color-convert": "^2.0.1" } }, @@ -5332,14 +4956,14 @@ "integrity": "sha512-yD4sihjB6Puqlk7hL3Cz0/0C6dtueUcf70mUbgioNQacgi4+pkoC9t0TkRetHvm+zvajyb7WaJZ6Bq4Xax3nTQ==" }, "internal-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.2.tgz", - "integrity": "sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", "dev": true, "requires": { - "es-abstract": "^1.17.0-next.1", + "get-intrinsic": "^1.1.0", "has": "^1.0.3", - "side-channel": "^1.0.2" + "side-channel": "^1.0.4" } }, "interpret": { @@ -5379,9 +5003,12 @@ } }, "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "requires": { + "call-bind": "^1.0.0" + } }, "is-arrayish": { "version": "0.2.1", @@ -5404,9 +5031,9 @@ "dev": true }, "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz", + "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==" }, "is-color-stop": { "version": "1.1.0", @@ -5421,6 +5048,14 @@ "rgba-regex": "^1.0.0" } }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", @@ -5504,9 +5139,9 @@ } }, "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" }, "is-number": { "version": "3.0.0", @@ -5543,10 +5178,11 @@ } }, "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz", + "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==", "requires": { + "call-bind": "^1.0.2", "has-symbols": "^1.0.1" } }, @@ -5648,9 +5284,9 @@ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "js-yaml": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", - "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5731,13 +5367,13 @@ } }, "jsx-ast-utils": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz", - "integrity": "sha512-z1xSldJ6imESSzOjd3NNkieVJKRlKYSOtMG8SFyCj2FIrvSaSuli/WjpBkEzCBoR9bYYYFgqJw61Xhu7Lcgk+w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz", + "integrity": "sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "object.assign": "^4.1.0" + "array-includes": "^3.1.2", + "object.assign": "^4.1.2" } }, "keyv": { @@ -5761,9 +5397,9 @@ "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==" }, "language-subtag-registry": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz", - "integrity": "sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg==", + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", "dev": true }, "language-tags": { @@ -5786,12 +5422,12 @@ } }, "lib-react-components": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/lib-react-components/-/lib-react-components-1.2.0.tgz", - "integrity": "sha512-Cy/YUSKCC/IDMqyi+4ueDycZlHTyBA6KOLdTNWVNQSpOftvLqETOQ4Dpwab6XBpR/FGr1hq2a2KLnStv4ngKHw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lib-react-components/-/lib-react-components-1.6.0.tgz", + "integrity": "sha512-7zNnmSHTB0MANYOfhiOLfNGYnvtsZW5Fg4EtYqA81m+Tn9nzSO0sfBbD/jyQYBlrmpq/QdgxuXLJJGjjpUjFhw==", "requires": { "classnames": "^2.2.5", - "lib-theme-contructor": "^0.4.0", + "lib-theme-contructor": "^0.4.1", "prismjs": "1.21.0", "prop-types": "^15.6.1", "react": "^16.2.0", @@ -5800,9 +5436,9 @@ } }, "lib-theme-contructor": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/lib-theme-contructor/-/lib-theme-contructor-0.4.0.tgz", - "integrity": "sha512-47VBV1zj6Ldy8nGqXyhnJNlW7Q6aGrp8ZBIIZzvnslPUXMYO6QJn1Ayv86MyC9EwL9nqSE507z9pv5cwcOF8Pw==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/lib-theme-contructor/-/lib-theme-contructor-0.4.1.tgz", + "integrity": "sha512-eSH9Q0dx9GcqanooUbddqU4kNqFxHkSN3ANDw46YXc1D9ndJxoGaYTOcoq0KErws6gY/JimenIjTKjvWprvTEA==", "requires": { "autoprefixer": "^9.7.2", "cssnano": "^4.1.10", @@ -5949,21 +5585,12 @@ "dev": true }, "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - }, - "dependencies": { - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } + "yallist": "^4.0.0" } }, "make-dir": { @@ -6242,16 +5869,16 @@ } }, "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==" + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" }, "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", "requires": { - "mime-db": "1.44.0" + "mime-db": "1.45.0" } }, "mimic-fn": { @@ -6300,6 +5927,14 @@ "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, "minizlib": { @@ -6465,6 +6100,18 @@ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true }, + "object.assign": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", + "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, "p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -6552,9 +6199,9 @@ "dev": true }, "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==" + "version": "2.14.2", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", + "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" }, "nanomatch": { "version": "1.2.13", @@ -6734,9 +6381,9 @@ } }, "node-releases": { - "version": "1.1.61", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.61.tgz", - "integrity": "sha512-DD5vebQLg8jLCOzwupn954fbIiZht05DAZs0k2u8NStSe6h9XdsuIQL8hSRKYiU8WUQRznmSDrKGbv3ObOmC7g==" + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==" }, "node-sass": { "version": "4.14.1", @@ -6798,6 +6445,16 @@ "which": "^1.2.9" } }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, "node-gyp": { "version": "3.8.0", "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", @@ -6876,6 +6533,12 @@ "requires": { "isexe": "^2.0.0" } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true } } }, @@ -6891,13 +6554,6 @@ "graphene-pk11": "^2.1.13", "tslib": "^2.0.3", "webcrypto-core": "^1.1.8" - }, - "dependencies": { - "tslib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", - "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" - } } }, "nopt": { @@ -7028,54 +6684,17 @@ } }, "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" }, "object-is": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", - "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "object.assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.1.tgz", - "integrity": "sha512-VT/cxmx5yaoHSOTSyrCygIDFco+RsibY2NM0a4RdEeY/4KgqezwFtK1yr3U67xYhqJSlASm2pKhLVzPj2lr4bA==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.0", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "object-keys": { @@ -7093,46 +6712,48 @@ } }, "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" } }, "object.entries": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.2.tgz", - "integrity": "sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.3.tgz", + "integrity": "sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" } }, "object.fromentries": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.2.tgz", - "integrity": "sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.3.tgz", + "integrity": "sha512-IDUSMXs6LOSJBWE++L0lzIbSqHl9KDCfff2x/JSEIDtEUavUnyMYC2ZGay/04Zq4UT8lvd4xNhU4/YHKibAOlw==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" } }, "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "es-abstract": "^1.18.0-next.1" } }, "object.pick": { @@ -7145,13 +6766,13 @@ } }, "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", + "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" } }, @@ -7471,13 +7092,6 @@ "integrity": "sha512-sDSRkMOQnybT7NY62hHzMpYFPoJQ+YrtLxylpsg4WfhgV32CRCvCf7s9YIXjwSqv9dvJsPACvMQfL7Kh+qXJxw==", "requires": { "nan": "^2.14.2" - }, - "dependencies": { - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==" - } } }, "pkg-dir": { @@ -7490,9 +7104,9 @@ } }, "pkijs": { - "version": "2.1.91", - "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-2.1.91.tgz", - "integrity": "sha512-L8CHhbC5ub4LR522GMp7Yo+qWy567f9JX0XBMT+FqzqVl7GUp42EWHL5KE662mqv/YSqSs5djKF4HfGHp2xHvg==", + "version": "2.1.93", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-2.1.93.tgz", + "integrity": "sha512-Ot82i9gEuJpmABKiozuZAs/3lfvm8FlY01jVEElM8lxEdLtIW9AJLK4JXx2tAcY7vP009rPuzbT0LG9PmyO72g==", "requires": { "asn1js": "^2.0.26", "bytestreamjs": "^1.0.29", @@ -7511,9 +7125,9 @@ "dev": true }, "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", "requires": { "chalk": "^2.4.2", "source-map": "^0.6.1", @@ -7521,9 +7135,9 @@ } }, "postcss-calc": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.4.tgz", - "integrity": "sha512-0I79VRAd1UTkaHzY9w83P39YGO/M3bG7/tNLrHGEunBolfoGM0hSjrGvjoeaj0JE/zIw5GsI2KZ0UwDJqv5hjw==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", "requires": { "postcss": "^7.0.27", "postcss-selector-parser": "^6.0.2", @@ -7987,13 +7601,14 @@ } }, "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", "requires": { "cssesc": "^3.0.0", "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" } }, "postcss-simple-vars": { @@ -8217,18 +7832,11 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "pvtsutils": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.1.1.tgz", - "integrity": "sha512-Evbhe6L4Sxwu4SPLQ4LQZhgfWDQO3qa1lju9jM5cxsQp8vE10VipcSmo7hiJW48TmiHgVLgDtC2TL6/+ND+IVg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.1.2.tgz", + "integrity": "sha512-Yfm9Dsk1zfEpOWCaJaHfqtNXAFWNNHMFSCLN6jTnhuCCBCC2nqge4sAgo7UrkRBoAAYIL8TN/6LlLoNfZD/b5A==", "requires": { - "tslib": "^2.0.3" - }, - "dependencies": { - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" - } + "tslib": "^2.1.0" } }, "pvutils": { @@ -8278,9 +7886,9 @@ } }, "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react/-/react-16.14.0.tgz", + "integrity": "sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -8288,9 +7896,9 @@ } }, "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -8403,12 +8011,12 @@ } }, "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" } }, "regexpp": { @@ -8501,10 +8109,11 @@ "dev": true }, "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "requires": { + "is-core-module": "^2.1.0", "path-parse": "^1.0.6" } }, @@ -8645,18 +8254,18 @@ } }, "rxjs": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz", - "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==", + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", "dev": true, "requires": { "tslib": "^1.9.0" }, "dependencies": { "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } @@ -8858,35 +8467,14 @@ "dev": true }, "side-channel": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.3.tgz", - "integrity": "sha512-A6+ByhlLkksFoUepsGxfj5x1gTSrs+OydsRptUxeNCabQpCFUvcwIczgOigI8vhY/OJCnPnyE9rGiwgvr9cS1g==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, "requires": { - "es-abstract": "^1.18.0-next.0", - "object-inspect": "^1.8.0" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.0.tgz", - "integrity": "sha512-elZXTZXKn51hUBdJjSZGYRujuzilgXo8vSPQzjGYXLvSlGiCo8VO8ZGV3kjo9a0WNJJ57hENagwbtlRuHuzkcQ==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - } + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" } }, "signal-exit": { @@ -9113,9 +8701,9 @@ } }, "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "dev": true }, "spdx-correct": { @@ -9145,9 +8733,9 @@ } }, "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==", "dev": true }, "split-string": { @@ -9387,35 +8975,36 @@ } }, "string.prototype.matchall": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz", - "integrity": "sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.3.tgz", + "integrity": "sha512-OBxYDA2ifZQ2e13cP82dWFMaCV9CGF8GzmN4fljBVw5O5wep0lu4gacm1OL6MjROoUnB8VbkWRThqkV2YFLNxw==", "dev": true, "requires": { + "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.17.0", + "es-abstract": "^1.18.0-next.1", "has-symbols": "^1.0.1", "internal-slot": "^1.0.2", "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.2" + "side-channel": "^1.0.3" } }, "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" } }, "string_decoder": { @@ -9474,19 +9063,19 @@ } }, "style-loader": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz", - "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", + "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==", "dev": true, "requires": { "loader-utils": "^2.0.0", - "schema-utils": "^2.6.6" + "schema-utils": "^2.7.0" }, "dependencies": { "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", "dev": true, "requires": { "minimist": "^1.2.5" @@ -9633,6 +9222,14 @@ "mkdirp": "^0.5.0", "safe-buffer": "^5.1.2", "yallist": "^3.0.3" + }, + "dependencies": { + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } } }, "terser": { @@ -9742,9 +9339,9 @@ } }, "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -9901,9 +9498,9 @@ } }, "tslib": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz", - "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" }, "tsprotobuf": { "version": "1.0.17", @@ -9917,34 +9514,34 @@ } }, "tsutils": { - "version": "3.17.1", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.17.1.tgz", - "integrity": "sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==", + "version": "3.20.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz", + "integrity": "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==", "dev": true, "requires": { "tslib": "^1.8.1" }, "dependencies": { "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true } } }, "tsyringe": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.3.0.tgz", - "integrity": "sha512-Vzty1M/EQXSsEE8aoIOLl1l793chcPyQAnFJaS1mFDtFvNPY+jknSPwMIF6yfcjua+2GTgwxWFzuA3cjIx4NZA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.4.0.tgz", + "integrity": "sha512-SlMApe1lhIq546CDp7bF+IdF4RB6d+9C5T7B0AS0P/Bm+Qpizj/gEmZzvw9J/KlXPEt4qHTbi1TRvX3rCPSdTg==", "requires": { "tslib": "^1.9.3" }, "dependencies": { "tslib": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", - "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" } } }, @@ -10111,9 +9708,9 @@ "optional": true }, "uri-js": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", - "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "requires": { "punycode": "^2.1.0" } @@ -10188,17 +9785,37 @@ "es-abstract": "^1.17.2", "has-symbols": "^1.0.1", "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } } }, "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==" + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" }, "v8-compile-cache": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", - "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz", + "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==", "dev": true }, "validate-npm-package-license": { @@ -10241,15 +9858,15 @@ } }, "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" + "watchpack-chokidar2": "^2.0.1" }, "dependencies": { "braces": { @@ -10263,20 +9880,20 @@ } }, "chokidar": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz", - "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, "optional": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "readdirp": "~3.5.0" } }, "fill-range": { @@ -10289,6 +9906,13 @@ "to-regex-range": "^5.0.1" } }, + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "dev": true, + "optional": true + }, "is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -10297,9 +9921,9 @@ "optional": true }, "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", "dev": true, "optional": true, "requires": { @@ -10319,9 +9943,9 @@ } }, "watchpack-chokidar2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz", - "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", "dev": true, "optional": true, "requires": { @@ -10471,21 +10095,21 @@ } }, "webcrypto-core": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.1.8.tgz", - "integrity": "sha512-hKnFXsqh0VloojNeTfrwFoRM4MnaWzH6vtXcaFcGjPEu+8HmBdQZnps3/2ikOFqS8bJN1RYr6mI2P/FJzyZnXg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.2.0.tgz", + "integrity": "sha512-p76Z/YLuE4CHCRdc49FB/ETaM4bzM3roqWNJeGs+QNY1fOTzKTOVnhmudW1fuO+5EZg6/4LG9NJ6gaAyxTk9XQ==", "requires": { - "@peculiar/asn1-schema": "^2.0.12", + "@peculiar/asn1-schema": "^2.0.27", "@peculiar/json-schema": "^1.1.12", "asn1js": "^2.0.26", - "pvtsutils": "^1.0.11", - "tslib": "^2.0.1" + "pvtsutils": "^1.1.2", + "tslib": "^2.1.0" } }, "webpack": { - "version": "4.44.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.1.tgz", - "integrity": "sha512-4UOGAohv/VGUNQJstzEywwNxqX417FnjZgZJpJQegddzPmTvph37eBIRbRTfdySXzVtJXLJfbMN3mMYhM6GdmQ==", + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", "dev": true, "requires": { "@webassemblyjs/ast": "1.9.0", @@ -10496,7 +10120,7 @@ "ajv": "^6.10.2", "ajv-keywords": "^3.4.1", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", + "enhanced-resolve": "^4.5.0", "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", "loader-runner": "^2.4.0", @@ -10514,9 +10138,9 @@ }, "dependencies": { "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", "dev": true }, "eslint-scope": { @@ -10886,15 +10510,15 @@ "dev": true }, "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, "yargs": { From 6dd72b136495c52af0a3af997509a1ae8d0b8f6c Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 5 Feb 2021 14:36:27 +0200 Subject: [PATCH 29/35] fix(main): fix create config file error --- package-lock.json | 5 +---- src/main/config.ts | 6 ++++++ 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index c1bc0da7..3e791902 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1146,10 +1146,7 @@ "asn1js": { "version": "2.0.26", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-2.0.26.tgz", - "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==", - "requires": { - "pvutils": "^1.0.17" - } + "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==" }, "assert": { "version": "1.5.0", diff --git a/src/main/config.ts b/src/main/config.ts index 680f78e1..c7c9120b 100644 --- a/src/main/config.ts +++ b/src/main/config.ts @@ -1,4 +1,5 @@ import * as fs from 'fs'; +import * as path from 'path'; import { v4 as uuidv4 } from 'uuid'; import { APP_CONFIG_FILE } from './constants'; @@ -18,6 +19,11 @@ const defaultConfig = { */ export function setConfig(config: IConfigure) { const json = JSON.stringify(config, null, ' '); + const parentDirname = path.dirname(APP_CONFIG_FILE); + + if (!fs.existsSync(parentDirname)) { + fs.mkdirSync(parentDirname); + } fs.writeFileSync(APP_CONFIG_FILE, json, { flag: 'w+' }); } From f470bf93bd1d7d2126aaa4c2c3d1d939a6643ec0 Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 5 Feb 2021 17:26:48 +0200 Subject: [PATCH 30/35] fix(render): fix get checkbox value --- src/renderer/containers/message/container.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/renderer/containers/message/container.tsx b/src/renderer/containers/message/container.tsx index 894e0b93..db0fa5e6 100644 --- a/src/renderer/containers/message/container.tsx +++ b/src/renderer/containers/message/container.tsx @@ -46,7 +46,7 @@ export default class Container extends React.Component { const { onClose } = this.props; const { checkboxRef } = this; - onClose(checkboxRef?.current?.state.checkedState); + onClose(checkboxRef?.current?.isChecked()); }; onApprove = () => { @@ -54,7 +54,7 @@ export default class Container extends React.Component { const { checkboxRef } = this; if (onApprove) { - onApprove(checkboxRef?.current?.state.checkedState); + onApprove(checkboxRef?.current?.isChecked()); } }; From 0f1824e28d7a1ae1ba2ab0950c71d3a72d4f53ad Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 5 Feb 2021 17:58:16 +0200 Subject: [PATCH 31/35] feat(main): add ip adress to each analytics event --- package-lock.json | 108 ++++++++++++++++++++++------------- package.json | 1 + src/main/logger/analytics.ts | 14 +++++ 3 files changed, 83 insertions(+), 40 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3e791902..5277a49a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -351,14 +351,12 @@ "@sindresorhus/is": { "version": "0.14.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz", - "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==", - "dev": true + "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==" }, "@szmarczak/http-timer": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz", "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==", - "dev": true, "requires": { "defer-to-connect": "^1.0.1" } @@ -1146,7 +1144,17 @@ "asn1js": { "version": "2.0.26", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-2.0.26.tgz", - "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==" + "integrity": "sha512-yG89F0j9B4B0MKIcFyWWxnpZPLaNTjCj4tkE3fjbAoo0qmpGw0PYYqSbX/4ebnd9Icn8ZgK4K1fvDyEtW1JYtQ==", + "requires": { + "pvutils": "^1.0.17" + }, + "dependencies": { + "pvutils": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.0.17.tgz", + "integrity": "sha512-wLHYUQxWaXVQvKnwIDWFVKDJku9XDCvyhhxoq8dc5MFdIlRenyPI9eSfEtcvgHgD7FlvCyGAlWgOzRnZD99GZQ==" + } + } }, "assert": { "version": "1.5.0", @@ -1653,7 +1661,6 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz", "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==", - "dev": true, "requires": { "clone-response": "^1.0.2", "get-stream": "^5.1.0", @@ -1668,7 +1675,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -1676,14 +1682,12 @@ "lowercase-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz", - "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==", - "dev": true + "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==" }, "normalize-url": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz", - "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==", - "dev": true + "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==" } } }, @@ -1977,7 +1981,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", - "dev": true, "requires": { "mimic-response": "^1.0.0" } @@ -2581,7 +2584,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", - "dev": true, "requires": { "mimic-response": "^1.0.0" } @@ -2608,8 +2610,7 @@ "defer-to-connect": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz", - "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==", - "dev": true + "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==" }, "define-properties": { "version": "1.1.3", @@ -2725,6 +2726,22 @@ } } }, + "dns-packet": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.1.tgz", + "integrity": "sha512-JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w==", + "requires": { + "ip": "^1.1.5" + } + }, + "dns-socket": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.1.tgz", + "integrity": "sha512-fNvDq86lS522+zMbh31X8cQzYQd6xumCNlxsuZF5TKxQThF/e+rJbVM6K8mmlsdcSm6yNjKJQq3Sf38viAJj8g==", + "requires": { + "dns-packet": "^5.1.2" + } + }, "doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -2781,8 +2798,7 @@ "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", - "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=", - "dev": true + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, "duplexify": { "version": "3.7.1", @@ -2904,7 +2920,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dev": true, "requires": { "once": "^1.4.0" } @@ -4265,7 +4280,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "dev": true, "requires": { "pump": "^3.0.0" } @@ -4467,7 +4481,6 @@ "version": "9.6.0", "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz", "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==", - "dev": true, "requires": { "@sindresorhus/is": "^0.14.0", "@szmarczak/http-timer": "^1.1.2", @@ -4677,8 +4690,7 @@ "http-cache-semantics": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", - "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", - "dev": true + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==" }, "http-signature": { "version": "1.2.0", @@ -4969,6 +4981,16 @@ "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==" + }, "ipaddr.js": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.0.tgz", @@ -5135,6 +5157,14 @@ "is-extglob": "^2.1.1" } }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "requires": { + "ip-regex": "^4.0.0" + } + }, "is-negative-zero": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", @@ -5297,8 +5327,7 @@ "json-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", - "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=", - "dev": true + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" }, "json-parse-better-errors": { "version": "1.0.2", @@ -5377,7 +5406,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz", "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==", - "dev": true, "requires": { "json-buffer": "3.0.0" } @@ -5578,8 +5606,7 @@ "lowercase-keys": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz", - "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==", - "dev": true + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "lru-cache": { "version": "6.0.0", @@ -5887,8 +5914,7 @@ "mimic-response": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==", - "dev": true + "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" }, "minimalistic-assert": { "version": "1.0.1", @@ -6777,7 +6803,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -6844,8 +6869,7 @@ "p-cancelable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz", - "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==", - "dev": true + "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==" }, "p-limit": { "version": "1.3.0", @@ -7675,8 +7699,7 @@ "prepend-http": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", - "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=", - "dev": true + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" }, "prismjs": { "version": "1.21.0", @@ -7790,11 +7813,20 @@ } } }, + "public-ip": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-ip/-/public-ip-4.0.3.tgz", + "integrity": "sha512-IofiJJWoZ8hZHBk25l4ozLvcET0pjZSxocbUfh4sGkjidMOm4iZNzzWxezGqGsVY7HuxiK7SkyJKHNeT0YQ7uw==", + "requires": { + "dns-socket": "^4.2.1", + "got": "^9.6.0", + "is-ip": "^3.1.0" + } + }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -8161,7 +8193,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", - "dev": true, "requires": { "lowercase-keys": "^1.0.0" } @@ -9393,8 +9424,7 @@ "to-readable-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz", - "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==", - "dev": true + "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==" }, "to-regex": { "version": "3.0.2", @@ -9740,7 +9770,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", - "dev": true, "requires": { "prepend-http": "^2.0.0" } @@ -10477,8 +10506,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "1.0.3", diff --git a/package.json b/package.json index 8b9c8978..57261d70 100644 --- a/package.json +++ b/package.json @@ -84,6 +84,7 @@ "lib-react-components": "^1.2.0", "mixpanel": "^0.13.0", "pkijs": "^2.1.91", + "public-ip": "^4.0.3", "pvtsutils": "^1.1.1", "react": "^16.13.1", "react-dom": "^16.13.1", diff --git a/src/main/logger/analytics.ts b/src/main/logger/analytics.ts index 9c5daf75..8dbd8269 100644 --- a/src/main/logger/analytics.ts +++ b/src/main/logger/analytics.ts @@ -1,4 +1,5 @@ import * as Mixpanel from 'mixpanel'; +import publicIp from 'public-ip'; import { MIXPANEL_TOKEN } from '../constants'; const mixpanel = Mixpanel.init(MIXPANEL_TOKEN); @@ -14,13 +15,26 @@ export interface IAnalyticsOptions { export class Analytics { private userId: string; + private userIp!: string; + constructor(options: IAnalyticsOptions) { this.userId = options.userId; + + this.initIp(); + } + + private async initIp() { + try { + this.userIp = await publicIp.v4(); + } catch { + // + } } event(category: string, action: string, params: Record) { mixpanel.track(action, { distinct_id: this.userId, + ip: this.userIp, category, ...params, }); From 0093aa75c10344679801864e1d4be424b0b1b3b7 Mon Sep 17 00:00:00 2001 From: donskov Date: Fri, 5 Feb 2021 18:14:15 +0200 Subject: [PATCH 32/35] fix(main): fix module import --- src/main/logger/analytics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/logger/analytics.ts b/src/main/logger/analytics.ts index 8dbd8269..a6f0d0d8 100644 --- a/src/main/logger/analytics.ts +++ b/src/main/logger/analytics.ts @@ -1,5 +1,5 @@ import * as Mixpanel from 'mixpanel'; -import publicIp from 'public-ip'; +import * as publicIp from 'public-ip'; import { MIXPANEL_TOKEN } from '../constants'; const mixpanel = Mixpanel.init(MIXPANEL_TOKEN); From d429fbc49b6655d501f19b73fe57cbe3b9af4000 Mon Sep 17 00:00:00 2001 From: donskov Date: Mon, 8 Feb 2021 14:41:32 +0200 Subject: [PATCH 33/35] feat: add "Fortify" prefix to window title --- src/main/windows/browser_window.ts | 2 +- src/renderer/components/document_title.tsx | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/main/windows/browser_window.ts b/src/main/windows/browser_window.ts index 4082f823..d397e631 100644 --- a/src/main/windows/browser_window.ts +++ b/src/main/windows/browser_window.ts @@ -43,7 +43,7 @@ export class BrowserWindow { constructor(options: IWindowOptions) { this.window = new ElectronWindow({ - title: options.title, + title: options.title ? `Fortify - ${options.title}` : 'Fortify', ...this.getWindowDefaultOptions(), ...this.getWindowSize(options.size), ...options.windowOptions, diff --git a/src/renderer/components/document_title.tsx b/src/renderer/components/document_title.tsx index ea20fec5..7b5d733d 100644 --- a/src/renderer/components/document_title.tsx +++ b/src/renderer/components/document_title.tsx @@ -26,7 +26,9 @@ export default class DocumentTitle extends React.Component } if (title) { - document.title = title; + document.title = `Fortify - ${title}`; + } else { + document.title = 'Fortify'; } } From 26d51b9556f9a2588ad2a9368999cd7c879fcfca Mon Sep 17 00:00:00 2001 From: donskov Date: Mon, 8 Feb 2021 14:52:32 +0200 Subject: [PATCH 34/35] chore(ci): revert fortify-setup branch name --- .github/actions/prepare-fortify-setup-repo/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/prepare-fortify-setup-repo/action.yml b/.github/actions/prepare-fortify-setup-repo/action.yml index 0c074b93..9664156d 100644 --- a/.github/actions/prepare-fortify-setup-repo/action.yml +++ b/.github/actions/prepare-fortify-setup-repo/action.yml @@ -2,7 +2,7 @@ name: Prepare fortify-setup repository runs: using: "composite" steps: - - run: git clone https://$ACCESS_TOKEN:x-oauth-basic@github.com/PeculiarVentures/fortify-setup.git --depth=1 --branch=dev + - run: git clone https://$ACCESS_TOKEN:x-oauth-basic@github.com/PeculiarVentures/fortify-setup.git --depth=1 --branch=master shell: bash - run: npm ci --prefix ./fortify-setup shell: bash From 3657de66b3a3a30cd6b57f04d65f66e5d6cb9f73 Mon Sep 17 00:00:00 2001 From: donskov Date: Mon, 8 Feb 2021 15:17:47 +0200 Subject: [PATCH 35/35] feat: add CHANGELOG --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..928b3c08 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +## [1.7.0](https://github.com/PeculiarVentures/fortify/releases/tag/1.7.0) (08.02.2021) + +### Features + +- Implement analytics ([#374](https://github.com/PeculiarVentures/fortify/pull/374)). +- Update `@webcrypto-local` dependency to `1.6.0` ([#390](https://github.com/PeculiarVentures/fortify/pull/390), [#387](https://github.com/PeculiarVentures/fortify/issues/387)). + +### Bug Fixes + +- Update `electron` dependency to `9.4.1` ([#388](https://github.com/PeculiarVentures/fortify/pull/388), [#386](https://github.com/PeculiarVentures/fortify/pull/386)). + + +## [1.5.0](https://github.com/PeculiarVentures/fortify/releases/tag/1.5.0) (23.11.2020) + +### Features + +- Add scripts to create `update.jw`s and `card.jws`. +- Add CI workflow to create installers for `macOS`, `linux (ubuntu)` and `windows (x64, x86)`. + +### Bug Fixes + +- Update `@webcrypto-local/server` dependency to `1.5.2`. \ No newline at end of file