From 2e23341205a9ad6b0088278d495a497b11361e2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20=C5=BBaczek?= Date: Fri, 31 Dec 2021 22:37:33 +0100 Subject: [PATCH 01/41] Auto run Coderoad when codeAlly.json is present. (#556) --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 2306928e..53875ab4 100644 --- a/package.json +++ b/package.json @@ -76,7 +76,8 @@ }, "activationEvents": [ "onCommand:coderoad.start", - "workspaceContains:/codeally.json" + "workspaceContains:/codeally.json", + "workspaceContains:/codeAlly.json" ], "categories": [ "Other" From 389181fb1e7b4d4cde47cd72a80c5552e3574f19 Mon Sep 17 00:00:00 2001 From: shmck Date: Fri, 31 Dec 2021 13:58:41 -0800 Subject: [PATCH 02/41] update to v0.17.4 Signed-off-by: shmck --- package.json | 2 +- web-app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 53875ab4..03f9d7f0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.17.3", + "version": "0.17.4", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/web-app/package.json b/web-app/package.json index 50307378..4038f97b 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.17.3", + "version": "0.17.4", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From 4e1a40779b5e0ea749ef870cd33f4cd2280d1c45 Mon Sep 17 00:00:00 2001 From: ShMcK Date: Sun, 2 Jan 2022 16:01:20 -0800 Subject: [PATCH 03/41] Feature/output channel (#557) * send src logs to output channel Signed-off-by: shmck * send logs from client to ext channel Signed-off-by: shmck * cleanup onTutorialConfigContinue log Signed-off-by: shmck * clean up test fail logs Signed-off-by: shmck * cleanup init logs Signed-off-by: shmck * update logging across app Signed-off-by: shmck * only log non-trusted security warnings Signed-off-by: shmck * clenaup error messages Signed-off-by: shmck * cleanup action logs Signed-off-by: shmck --- src/actions/onOpenLogs.ts | 2 +- src/actions/onRunReset.ts | 3 +- src/actions/onTutorialConfigContinue.ts | 2 +- src/channel.ts | 9 ++++- src/commands.ts | 12 +++---- src/environment.ts | 3 -- src/services/git/index.ts | 34 ++++++++++--------- src/services/hooks/utils/openFiles.ts | 3 +- src/services/hooks/utils/runCommands.ts | 5 +-- src/services/logger/index.ts | 13 +++---- src/services/{testRunner => logger}/output.ts | 2 +- src/services/node/index.ts | 5 +-- src/services/reset/index.ts | 9 +++-- src/services/storage/index.ts | 13 ++++--- src/services/telemetry/index.ts | 4 +-- src/services/testRunner/index.ts | 15 ++++---- src/services/webview/render.ts | 3 +- web-app/src/Routes.tsx | 7 ++-- web-app/src/components/Error/index.tsx | 3 +- .../src/components/ErrorBoundary/index.tsx | 4 +-- web-app/src/components/Markdown/index.tsx | 9 ++--- web-app/src/components/Router/index.tsx | 3 +- .../SelectTutorial/LoadTutorialSummary.tsx | 3 +- .../src/containers/Tutorial/formatLevels.ts | 5 +-- web-app/src/environment.ts | 1 - web-app/src/services/listeners/index.ts | 10 +++--- web-app/src/services/logger/index.ts | 21 +++++------- web-app/src/services/state/actions/context.ts | 26 ++++++-------- web-app/src/services/state/machine.ts | 4 +-- .../src/services/state/useStateMachine.tsx | 18 ++++------ 30 files changed, 126 insertions(+), 125 deletions(-) rename src/services/{testRunner => logger}/output.ts (91%) diff --git a/src/actions/onOpenLogs.ts b/src/actions/onOpenLogs.ts index c440a3c8..33fd45a6 100644 --- a/src/actions/onOpenLogs.ts +++ b/src/actions/onOpenLogs.ts @@ -1,5 +1,5 @@ import * as T from 'typings' -import { showOutput } from '../services/testRunner/output' +import { showOutput } from '../services/logger/output' export const onOpenLogs = async (action: T.Action): Promise => { const channel = action.payload.channel diff --git a/src/actions/onRunReset.ts b/src/actions/onRunReset.ts index 4ae140a2..b82996d8 100644 --- a/src/actions/onRunReset.ts +++ b/src/actions/onRunReset.ts @@ -4,6 +4,7 @@ import Context from '../services/context/context' import reset from '../services/reset' import * as hooks from '../services/hooks' import getCommitHashByPosition from '../services/reset/lastHash' +import logger from '../services/logger' type ResetAction = { type: 'LATEST' | 'POSITION' @@ -22,7 +23,7 @@ const onRunReset = async (action: ResetAction, context: Context): Promise const branch = tutorial?.config.repo.branch if (!branch) { - console.error('No repo branch found for tutorial') + logger('Error: No repo branch found for tutorial') return } diff --git a/src/actions/onTutorialConfigContinue.ts b/src/actions/onTutorialConfigContinue.ts index 1a116c46..5ab560c9 100644 --- a/src/actions/onTutorialConfigContinue.ts +++ b/src/actions/onTutorialConfigContinue.ts @@ -8,7 +8,7 @@ import logger from '../services/logger' import { setupWebhook } from '../services/hooks/webhooks' const onTutorialConfigContinue = async (action: T.Action, context: Context): Promise => { - logger('onTutorialConfigContinue', action) + logger(`Continuing tutorial from progress: ${JSON.stringify(action.payload)}`) try { const tutorialToContinue: TT.Tutorial | null = context.tutorial.get() if (!tutorialToContinue) { diff --git a/src/channel.ts b/src/channel.ts index 994ec658..df896cdf 100644 --- a/src/channel.ts +++ b/src/channel.ts @@ -28,7 +28,14 @@ class Channel implements Channel { // action may be an object.type or plain string const actionType: string = typeof action === 'string' ? action : action.type - logger(`EXT RECEIVED: "${actionType}"`) + if (actionType === 'CLIENT_LOG') { + // logs in web client are not easily visible + // it's simpler to log to the "CodeRoad (Logs)" channel + logger(action.payload) + return + } + + logger(actionType) switch (actionType) { case 'EDITOR_STARTUP': diff --git a/src/commands.ts b/src/commands.ts index 4991ba8f..6c805cf5 100644 --- a/src/commands.ts +++ b/src/commands.ts @@ -21,15 +21,15 @@ interface CreateCommandProps { } let sendToClient = (action: T.Action): void => { - // function is replaced when webclient loads + // function is replaced when webview mounts } // This makes it easier to pass the send // function throughout the codebase export const send = (action: T.Action): void => { - logger(`EXT TO CLIENT: "${typeof action === 'string' ? action : action.type}"`) - - if (action) sendToClient(action) + // log send of event to client + logger(`${typeof action === 'string' ? action : action.type}`) + sendToClient(action) } export const createCommands = (commandProps: CreateCommandProps): { [key: string]: any } => { @@ -75,7 +75,7 @@ export const createCommands = (commandProps: CreateCommandProps): { [key: string } testRunner = createTestRunner(data, { onSuccess: (position: T.Position) => { - logger('test pass position', position) + logger(`Test pass position: ${JSON.stringify(position)}`) // send test pass message back to client channel.context.position.set({ ...position, complete: true }) send({ type: 'TEST_PASS', payload: { position: { ...position, complete: true } } }) @@ -91,7 +91,7 @@ export const createCommands = (commandProps: CreateCommandProps): { [key: string }, onRun: (position: T.Position) => { // send test run message back to client - send({ type: 'TEST_RUNNING', payload: { position } }) + send({ type: 'START_TEST', payload: { position } }) }, onLoadSubtasks: ({ summary }) => { send({ type: 'LOAD_SUBTASK_RESULTS', payload: { summary } }) diff --git a/src/environment.ts b/src/environment.ts index 65594db1..89393c94 100644 --- a/src/environment.ts +++ b/src/environment.ts @@ -10,9 +10,6 @@ export type Env = 'test' | 'local' | 'development' | 'production' // @ts-ignore export const NODE_ENV: Env = process.env.NODE_ENV || 'development' -// toggle logging -export const LOG = (process.env.CODEROAD_ENABLE_LOG || '').toLowerCase() === 'true' - // error logging tool export const INSTRUMENTATION_KEY = '6ff37c76-72f3-48e3-a1b9-d5636f519b7b' diff --git a/src/services/git/index.ts b/src/services/git/index.ts index db2afc62..73895081 100644 --- a/src/services/git/index.ts +++ b/src/services/git/index.ts @@ -9,14 +9,14 @@ const stashAllFiles = async (): Promise => { // stash files including untracked (eg. newly created file) const { stderr } = await exec({ command: `git stash --include-untracked` }) if (stderr) { - console.error(stderr) + logger(`Error: ${stderr}`) throw new Error('Error stashing files') } } const cherryPickCommit = async (commit: string, count = 0): Promise => { if (count > 1) { - console.warn('cherry-pick failed') + logger('cherry-pick failed') return } try { @@ -26,8 +26,8 @@ const cherryPickCommit = async (commit: string, count = 0): Promise { export async function saveCommit(message: string): Promise { const { stdout, stderr } = await exec({ command: `git commit -am '${message}'` }) if (stderr) { - console.error(stderr) + logger(`Error: ${stderr}`) throw new Error('Error saving progress to Git') } - logger(['save with commit & continue stdout', stdout]) + logger(`Commit saved: ${stdout}`) } export async function clear(): Promise { @@ -63,9 +63,9 @@ export async function clear(): Promise { if (!stderr) { return } - console.error(stderr) - } catch (error) { - console.error(error) + logger(`Error: ${stderr}`) + } catch (error: any) { + logger(`Error: ${error.message}`) } throw new Error('Error cleaning up current unsaved work') } @@ -127,7 +127,7 @@ export async function addRemote(repo: string): Promise { // validate the response is acceptable if (!alreadyExists && !successfulNewBranch) { - console.error(stderr) + logger(`Error: ${stderr}`) throw new Error('Error adding git remote') } } @@ -142,7 +142,8 @@ export async function checkRemoteExists(): Promise { // string match on remote output // TODO improve the specificity of this regex return !!stdout.match(gitOrigin) - } catch (error) { + } catch (error: any) { + logger(`Warn: ${error.message}`) return false } } @@ -168,8 +169,9 @@ export async function loadCommitHistory(): Promise { } // string match on remote output return stdout.split('\n') - } catch (error) { + } catch (error: any) { // likely no git setup or no commits + logger(`Warn: ${error.message}`) return [] } } @@ -189,8 +191,8 @@ export async function getCommitMessage(hash: string): Promise { } // string match on remote output return stdout - } catch (error) { - logger('error', error) + } catch (error: any) { + logger(`Error: ${error.message}`) // likely no git commit message found return null } @@ -204,8 +206,8 @@ export async function commitsExistsByMessage(message: string): Promise return false } return !!stdout.length - } catch (error) { - logger('error', error) + } catch (error: any) { + logger(`Error: ${error.message}`) // likely no commit found return false } diff --git a/src/services/hooks/utils/openFiles.ts b/src/services/hooks/utils/openFiles.ts index 592f14ff..d76d5211 100644 --- a/src/services/hooks/utils/openFiles.ts +++ b/src/services/hooks/utils/openFiles.ts @@ -1,5 +1,6 @@ import { join } from 'path' import * as vscode from 'vscode' +import logger from '../../logger' const openFiles = async (files: string[] = []): Promise => { if (!files.length) { @@ -16,7 +17,7 @@ const openFiles = async (files: string[] = []): Promise => { const doc = await vscode.workspace.openTextDocument(absoluteFilePath) await vscode.window.showTextDocument(doc, vscode.ViewColumn.One) } catch (error: any) { - console.log(`Failed to open file ${filePath}: ${error.message}`) + logger(`Failed to open file ${filePath}: ${error.message}`) } } } diff --git a/src/services/hooks/utils/runCommands.ts b/src/services/hooks/utils/runCommands.ts index a462d8b8..c7bd2cde 100644 --- a/src/services/hooks/utils/runCommands.ts +++ b/src/services/hooks/utils/runCommands.ts @@ -1,5 +1,6 @@ import { exec } from '../../node' import { send } from '../../../commands' +import logger from '../../logger' const runCommands = async (commands: string[] = []): Promise => { if (!commands.length) { @@ -14,9 +15,9 @@ const runCommands = async (commands: string[] = []): Promise => { let result: { stdout: string; stderr: string } try { result = await exec({ command }) - console.log(result) + logger(`Command output: ${JSON.stringify(result)}`) } catch (error: any) { - console.error(`Command failed: ${error.message}`) + logger(`Command failed: ${error.message}`) send({ type: 'COMMAND_FAIL', payload: { process: { ...process, status: 'FAIL' } } }) return } diff --git a/src/services/logger/index.ts b/src/services/logger/index.ts index 3e57e525..03f1e189 100644 --- a/src/services/logger/index.ts +++ b/src/services/logger/index.ts @@ -1,18 +1,15 @@ -import { LOG } from '../../environment' +import { getOutputChannel } from './output' export type Log = any +const logChannel = getOutputChannel('CodeRoad (Logs)') + const logger = (...messages: Log[]): void => { - if (!LOG) { - return - } - // Inside vscode, you console.log does not allow more than 1 param - // to get around it, we can log with multiple log statements for (const message of messages) { if (typeof message === 'object') { - console.log(JSON.stringify(message)) + logChannel.appendLine(message) } else { - console.log(message) + logChannel.appendLine(message) } } } diff --git a/src/services/testRunner/output.ts b/src/services/logger/output.ts similarity index 91% rename from src/services/testRunner/output.ts rename to src/services/logger/output.ts index 7e79f95f..ef1f1b69 100644 --- a/src/services/testRunner/output.ts +++ b/src/services/logger/output.ts @@ -6,7 +6,7 @@ const channels: /* */ } = {} -const getOutputChannel = (name: string): vscode.OutputChannel => { +export const getOutputChannel = (name: string): vscode.OutputChannel => { if (!channels[name]) { channels[name] = vscode.window.createOutputChannel(name) } diff --git a/src/services/node/index.ts b/src/services/node/index.ts index 325c708d..822445de 100644 --- a/src/services/node/index.ts +++ b/src/services/node/index.ts @@ -3,6 +3,7 @@ import * as fs from 'fs' import { join } from 'path' import { promisify } from 'util' import { WORKSPACE_ROOT } from '../../environment' +import logger from '../logger' const asyncExec = promisify(cpExec) const asyncRemoveFile = promisify(fs.unlink) @@ -35,13 +36,13 @@ export const removeFile = (...paths: string[]) => { export const readFile = (...paths: string[]): Promise => { const filePath = getWorkspacePath(...paths) return asyncReadFile(getWorkspacePath(...paths), 'utf8').catch((err) => { - console.warn(`Failed to read from ${filePath}: ${err.message}`) + logger(`Failed to read from ${filePath}: ${err.message}`) }) } export const writeFile = (data: any, ...paths: string[]): Promise => { const filePath = getWorkspacePath(...paths) return asyncWriteFile(filePath, data).catch((err) => { - console.warn(`Failed to write to ${filePath}: ${err.message}`) + logger(`Failed to write to ${filePath}: ${err.message}`) }) } diff --git a/src/services/reset/index.ts b/src/services/reset/index.ts index b05016da..e512a049 100644 --- a/src/services/reset/index.ts +++ b/src/services/reset/index.ts @@ -1,5 +1,5 @@ import { exec, removeFile } from '../node' - +import logger from '../logger' interface Input { hash: string branch: string @@ -17,13 +17,13 @@ const reset = async ({ branch, hash }: Input): Promise => { try { // if no git init, will initialize // otherwise re-initializes git - await exec({ command: 'git init' }).catch(console.log) + await exec({ command: 'git init' }).catch(logger) // capture current branch const hasBranch = await exec({ command: 'git branch --show-current' }) const localBranch = hasBranch.stdout // check if coderoad remote exists - const hasRemote = await exec({ command: 'git remote -v' }).catch(console.warn) + const hasRemote = await exec({ command: 'git remote -v' }).catch(logger) if (!hasRemote || !hasRemote.stdout || !hasRemote.stdout.length) { throw new Error('No remote found') } else if (!hasRemote.stdout.match(new RegExp(remote))) { @@ -64,8 +64,7 @@ const reset = async ({ branch, hash }: Input): Promise => { command: `git reset --hard ${hash}`, }) } catch (error: any) { - console.error('Error resetting') - console.error(error.message) + logger(`Error resetting: ${error.message}`) } } diff --git a/src/services/storage/index.ts b/src/services/storage/index.ts index f4ed4ac5..cb2abfbc 100644 --- a/src/services/storage/index.ts +++ b/src/services/storage/index.ts @@ -1,6 +1,7 @@ import * as vscode from 'vscode' import { readFile, writeFile } from '../node' import { SESSION_STORAGE_PATH } from '../../environment' +import logger from '../logger' // NOTE: localStorage is not available on client // and must be stored in editor @@ -46,8 +47,8 @@ class Storage { return data } } - } catch (err) { - console.warn(`Failed to read or parse session file: ${SESSION_STORAGE_PATH}/${this.filePath}.json`) + } catch (err: any) { + logger(`Failed to read or parse session file: ${SESSION_STORAGE_PATH}/${this.filePath}.json: ${err.message}`) } } const value: string | undefined = await this.storage.get(this.key) @@ -55,8 +56,8 @@ class Storage { // 2. read from local storage try { return JSON.parse(value) - } catch (err) { - console.warn(`Failed to parse session state from local storage: ${value}`) + } catch (err: any) { + logger(`Failed to parse session state from local storage: ${value}: ${err.message}`) } } // 3. fallback to the default @@ -83,7 +84,9 @@ class Storage { try { writeFile(data, SESSION_STORAGE_PATH, `${this.filePath}.json`) } catch (err: any) { - console.warn(`Failed to write coderoad session to path: ${SESSION_STORAGE_PATH}/${this.filePath}.json`) + logger( + `Failed to write coderoad session to path: ${SESSION_STORAGE_PATH}/${this.filePath}.json: ${err.message}`, + ) } } } diff --git a/src/services/telemetry/index.ts b/src/services/telemetry/index.ts index 7b5f1632..2f0ec03c 100644 --- a/src/services/telemetry/index.ts +++ b/src/services/telemetry/index.ts @@ -19,7 +19,7 @@ interface Measurements { let reporter: any export const activate = (subscribeFn: (reporter: any) => void): void => { - logger(EXTENSION_ID, VERSION, INSTRUMENTATION_KEY) + logger(`${EXTENSION_ID} v${VERSION}`) reporter = new TelemetryReporter(EXTENSION_ID, VERSION, INSTRUMENTATION_KEY) subscribeFn(reporter) } @@ -31,14 +31,12 @@ export const deactivate = (): void => { } export const onError = (error: Error, properties?: Properties, measurements?: Measurements): void => { - logger(error, properties, measurements) if (reporter) { reporter.sendTelemetryException(error, properties, measurements) } } export const onEvent = (eventName: string, properties?: Properties, measurements?: Measurements): void => { - logger(eventName, properties, measurements) if (reporter) { reporter.sendTelemetryEvent(eventName, properties, measurements) } diff --git a/src/services/testRunner/index.ts b/src/services/testRunner/index.ts index cb264665..d4538a45 100644 --- a/src/services/testRunner/index.ts +++ b/src/services/testRunner/index.ts @@ -6,7 +6,7 @@ import parser, { ParserOutput } from './parser' import parseSubtasks from './subtasks' import { debounce, throttle } from './throttle' import { onError } from '../telemetry' -import { clearOutput, addOutput } from './output' +import { clearOutput, addOutput } from '../logger/output' import { formatFailOutput } from './formatOutput' interface Callbacks { @@ -18,7 +18,6 @@ interface Callbacks { } const failChannelName = 'CodeRoad (Tests)' -const logChannelName = 'CodeRoad (Logs)' interface TestRunnerParams { position: T.Position @@ -41,12 +40,12 @@ const createTestRunner = (data: TT.Tutorial, callbacks: Callbacks): ((params: an // calculate level & step from position const level: TT.Level | null = data.levels.find((l) => l.id === position.levelId) || null if (!level) { - console.warn(`Level "${position.levelId}" not found`) + logger(`Error: Level "${position.levelId}" not found`) return } const step: TT.Step | null = level.steps.find((s) => s.id === position.stepId) || null if (!step) { - console.warn(`Step "${position.stepId}" not found`) + logger(`Error: Step "${position.stepId}" not found`) return } @@ -73,7 +72,7 @@ const createTestRunner = (data: TT.Tutorial, callbacks: Callbacks): ((params: an command = [command, testRunnerFilterArg, testFilter].join(' ') } } - logger('COMMAND', command) + logger(`COMMAND: ${command}`) result = await exec({ command, dir: testRunnerConfig.directory }) } catch (err: any) { result = { stdout: err.stdout, stderr: err.stack } @@ -85,13 +84,15 @@ const createTestRunner = (data: TT.Tutorial, callbacks: Callbacks): ((params: an return } - logger('----------------- PROCESS TEST -----------------') + logger('---------------- TEST RESULTS -----------------') const { stdout, stderr } = result const tap: ParserOutput = parser(stdout || '') - addOutput({ channel: logChannelName, text: tap.logs.join('\n'), show: false }) + if (tap.logs.length) { + logger(tap.logs.join('\n')) + } if (stderr) { if (!tap.failed.length) { diff --git a/src/services/webview/render.ts b/src/services/webview/render.ts index c7f5efc2..08719bbe 100644 --- a/src/services/webview/render.ts +++ b/src/services/webview/render.ts @@ -3,6 +3,7 @@ import * as vscode from 'vscode' import { asyncReadFile } from '../node' import { onError } from '../telemetry' import { CONTENT_SECURITY_POLICY_EXEMPTIONS } from '../../environment' +import logger from '../logger' const getNonce = (): string => { let text = '' @@ -142,8 +143,8 @@ async function render(panel: vscode.WebviewPanel, rootPath: string): Promise { return } - logger(`ROUTE: ${route}`) - logger(`POSITION: ${JSON.stringify(context.position)}`) + logger( + `ROUTE: "${route}": ${context.position?.complete ? 'Completed' : 'On'} level ${ + context.position?.levelId || 'unknown' + }, step ${context.position?.stepId || 'unknown'}`, + ) return ( diff --git a/web-app/src/components/Error/index.tsx b/web-app/src/components/Error/index.tsx index 5c1bf828..e095ef5d 100644 --- a/web-app/src/components/Error/index.tsx +++ b/web-app/src/components/Error/index.tsx @@ -5,6 +5,7 @@ import { css, jsx } from '@emotion/core' import Markdown from '../Markdown' import Button from '../../components/Button' import { Theme } from '../../styles/theme' +import logger from '../../services/logger' const styles = { container: (theme: Theme) => ({ @@ -42,7 +43,7 @@ const ErrorMarkdown = ({ error, send }: Props) => { React.useEffect(() => { if (error) { // log error - console.log(`ERROR in markdown: ${error.message}`) + logger(`ERROR in markdown: ${error.message}`) } }, [error]) diff --git a/web-app/src/components/ErrorBoundary/index.tsx b/web-app/src/components/ErrorBoundary/index.tsx index 9e2c30ba..44a66c70 100644 --- a/web-app/src/components/ErrorBoundary/index.tsx +++ b/web-app/src/components/ErrorBoundary/index.tsx @@ -9,8 +9,8 @@ class ErrorBoundary extends React.Component { // Display fallback UI this.setState({ errorMessage: error.message }) // You can also log the error to an error reporting service - logger('ERROR in component:', JSON.stringify(error)) - logger('ERROR info:', JSON.stringify(info)) + logger(`ERROR in component: ${JSON.stringify(error)}`) + logger(`ERROR info:: ${JSON.stringify(info)}`) } public render() { diff --git a/web-app/src/components/Markdown/index.tsx b/web-app/src/components/Markdown/index.tsx index ac5fcf70..2ae40345 100644 --- a/web-app/src/components/Markdown/index.tsx +++ b/web-app/src/components/Markdown/index.tsx @@ -1,11 +1,12 @@ import MarkdownIt from 'markdown-it' import Prism from 'prismjs' -import { css, jsx, InterpolationWithTheme } from '@emotion/core' +import { css, jsx } from '@emotion/core' // @ts-ignore no types for package import markdownEmoji from 'markdown-it-emoji' import * as React from 'react' // load prism styles & language support import './prism' +import logger from '../../services/logger' // markdown highlighter instance const md: MarkdownIt = new MarkdownIt({ @@ -17,8 +18,8 @@ const md: MarkdownIt = new MarkdownIt({ try { hl = Prism.highlight(str, Prism.languages[lang], lang) - } catch (error) { - console.error(error) + } catch (error: any) { + logger(`Error highlighting markdown: ${error.message}`) hl = md.utils.escapeHtml(str) } @@ -66,7 +67,7 @@ const Markdown = (props: Props) => { } catch (error) { const message = `Failed to parse markdown for ${props.children}` // TODO: onError(new Error(message)) - console.log(message) + logger(`Error: ${message}`) html = `
ERROR: Failed to parse markdown

${props.children}

diff --git a/web-app/src/components/Router/index.tsx b/web-app/src/components/Router/index.tsx index 90607c28..e8cb5031 100644 --- a/web-app/src/components/Router/index.tsx +++ b/web-app/src/components/Router/index.tsx @@ -1,4 +1,5 @@ import * as React from 'react' +import logger from '../../services/logger' interface RouterProps { children: any @@ -41,7 +42,7 @@ export const Router = ({ children, route }: RouterProps) => { } const message = `No Route matches for "${JSON.stringify(route)}"` // TODO: onError(new Error(message)) - console.warn(message) + logger(`Error: ${message}`) return null } diff --git a/web-app/src/containers/SelectTutorial/LoadTutorialSummary.tsx b/web-app/src/containers/SelectTutorial/LoadTutorialSummary.tsx index 66bb5423..714a11ca 100644 --- a/web-app/src/containers/SelectTutorial/LoadTutorialSummary.tsx +++ b/web-app/src/containers/SelectTutorial/LoadTutorialSummary.tsx @@ -3,6 +3,7 @@ import { Dialog } from '@alifd/next' import useFetch from '../../services/hooks/useFetch' import * as TT from 'typings/tutorial' import LoadingPage from '../Loading' +import logger from '../../services/logger' interface Props { url: string @@ -16,7 +17,7 @@ const LoadTutorialSummary = (props: Props) => { return } if (error) { - console.log(`Failed to load tutorial summary: ${error}`) + logger(`Failed to load tutorial summary: ${error}`) return
Error loading summary
} if (!data) { diff --git a/web-app/src/containers/Tutorial/formatLevels.ts b/web-app/src/containers/Tutorial/formatLevels.ts index 724474b9..b5f6d002 100644 --- a/web-app/src/containers/Tutorial/formatLevels.ts +++ b/web-app/src/containers/Tutorial/formatLevels.ts @@ -1,5 +1,6 @@ import * as T from 'typings' import * as TT from 'typings/tutorial' +import logger from '../../services/logger' interface Input { position: T.Position @@ -61,8 +62,8 @@ const formatLevels = ({ position, levels, testStatus }: Input): Output => { // test result count and subtask count don't match // something is wrong with the tutorial // NOTE: hacky temp solution as should be caught by tutorial creators / build tools - console.error( - 'ERROR: subtasks and test results have a different number of results. This is likely an error with the tutorial or an edited test file.', + logger( + 'Error: subtasks and test results have a different number of results. This is likely an error with the tutorial or an edited test file.', ) } subtasks = step.subtasks.map((subtask: string, subtaskIndex: number) => { diff --git a/web-app/src/environment.ts b/web-app/src/environment.ts index 11e7993d..90b2ee88 100644 --- a/web-app/src/environment.ts +++ b/web-app/src/environment.ts @@ -9,7 +9,6 @@ export const DEBUG: boolean = (process.env.REACT_APP_DEBUG || '').toLowerCase() === 'true' export const VERSION: string = process.env.VERSION || 'unknown' export const NODE_ENV: string = process.env.NODE_ENV || 'development' -export const LOG: boolean = (process.env.REACT_APP_LOG || '').toLowerCase() === 'true' export const TUTORIAL_LIST_URL: string = process.env.REACT_APP_TUTORIAL_LIST_URL || '' // config variables diff --git a/web-app/src/services/listeners/index.ts b/web-app/src/services/listeners/index.ts index f415bc3a..01194d54 100644 --- a/web-app/src/services/listeners/index.ts +++ b/web-app/src/services/listeners/index.ts @@ -1,8 +1,8 @@ -import ReactDOM from 'react-dom' +import logger from '../logger' -// document listeners - -document.addEventListener('securitypolicyviolation', () => { +document.addEventListener('securitypolicyviolation', (event) => { // TODO: add error handling - console.log('Security warning for resource') + if (event.isTrusted !== true) { + logger(`Security warning for resource: ${JSON.stringify(event)}`) + } }) diff --git a/web-app/src/services/logger/index.ts b/web-app/src/services/logger/index.ts index cb0fff9c..a72f868b 100644 --- a/web-app/src/services/logger/index.ts +++ b/web-app/src/services/logger/index.ts @@ -1,20 +1,15 @@ -import { LOG } from '../../environment' +import { editor } from '../state/useStateMachine' export type Log = string | object | number | null const logger = (...messages: Log[]): void => { - if (!LOG) { - return - } - // Inside vscode, you console.log does not allow more than 1 param - // to get around it, we can log with multiple log statements - for (const message of messages) { - if (typeof message === 'object') { - console.log(JSON.stringify(message)) - } else { - console.log(message) - } - } + // logs are difficult to view in the web client. + // for debugging purposes it's easier to collect logs in the "CodeRoad (Logs)" output channel + editor.postMessage({ + type: 'CLIENT_LOG', + payload: messages, + source: 'coderoad', // filter events by source on editor side + }) } export default logger diff --git a/web-app/src/services/state/actions/context.ts b/web-app/src/services/state/actions/context.ts index cbdf8f4a..474b19e8 100644 --- a/web-app/src/services/state/actions/context.ts +++ b/web-app/src/services/state/actions/context.ts @@ -35,7 +35,7 @@ export const initPosition = assign({ export const updateStepPosition = assign({ position: (context: T.MachineContext, event: T.MachineEvent): any => { - logger('updateStepPosition', event) + logger(`updateStepPosition: ${JSON.stringify(event)})`) return event.payload.position }, }) @@ -46,19 +46,15 @@ export const updatePosition = assign({ }, }) -export const loadNext = send( - (context: T.MachineContext): T.Action => { - const level = selectors.currentLevel(context) - return getNext(context.position, level, context.tutorial?.levels || []) - }, -) +export const loadNext = send((context: T.MachineContext): T.Action => { + const level: TT.Level = selectors.currentLevel(context) + return getNext(context.position, level, context.tutorial?.levels || []) +}) -export const stepNext = send( - (context: T.MachineContext): T.Action => { - const level: TT.Level = selectors.currentLevel(context) - return getStepNext(context.position, level) - }, -) +export const stepNext = send((context: T.MachineContext): T.Action => { + const level: TT.Level = selectors.currentLevel(context) + return getStepNext(context.position, level) +}) export const reset = assign({ tutorial() { @@ -78,13 +74,13 @@ export const setError = assign({ const error: string | null | E.ErrorMessage = event.payload.error if (error) { if (typeof error === 'string') { - console.log(`ERROR: ${error}`) + logger(`ERROR: ${error}`) return error } else if (error.type) { const errorMessage = errors[error.type] const content = errorMessage || '' const message = `${content}\n\n${error.message || ''}` - console.log(`ERROR: ${message}`) + logger(`ERROR: ${message}`) return { ...error, message, diff --git a/web-app/src/services/state/machine.ts b/web-app/src/services/state/machine.ts index defe444a..8b7e5e0a 100644 --- a/web-app/src/services/state/machine.ts +++ b/web-app/src/services/state/machine.ts @@ -157,7 +157,7 @@ export const createMachine = (options: any) => { LOAD_SUBTASK_RESULTS: { actions: ['testSubtasks'], }, - TEST_RUNNING: 'TestRunning', + START_TEST: 'TestRunning', STEP_SOLUTION_LOAD: { actions: ['editorLoadSolution'], }, @@ -204,7 +204,7 @@ export const createMachine = (options: any) => { }, LevelComplete: { onEntry: ['onLevelComplete'], - onExit: ['testClear', 'incrementLevel'], + onExit: ['testClear'], on: { NEXT_LEVEL: 'LoadNext', KEY_PRESS_ENTER: 'LoadNext', diff --git a/web-app/src/services/state/useStateMachine.tsx b/web-app/src/services/state/useStateMachine.tsx index 296ce76a..37a6edac 100644 --- a/web-app/src/services/state/useStateMachine.tsx +++ b/web-app/src/services/state/useStateMachine.tsx @@ -13,24 +13,18 @@ interface Output { declare let acquireVsCodeApi: any -const editor = acquireVsCodeApi() -const editorSend = (action: T.Action) => { - logger(`TO EXT: "${action.type}"`) - return editor.postMessage({ +export const editor = acquireVsCodeApi() + +const editorSend = (action: T.Action) => + editor.postMessage({ ...action, source: 'coderoad', // filter events by source on editor side }) -} // router finds first state match of const useStateMachine = (): Output => { const [state, send] = useMachine(createMachine({ editorSend })) - const sendWithLog = (action: T.Action): void => { - logger(`SEND: ${action.type}`, action) - send(action) - } - // event bus listener React.useEffect(() => { const listener = 'message' @@ -43,7 +37,7 @@ const useStateMachine = (): Output => { // filter out events from other extensions return } - sendWithLog(action) + send(action) } window.addEventListener(listener, handler) return () => { @@ -58,7 +52,7 @@ const useStateMachine = (): Output => { return { context: state.context, route, - send: sendWithLog, + send, } } From ba13b0ff1b86f62df2abf2b6fd733f4ce8ad85e8 Mon Sep 17 00:00:00 2001 From: shmck Date: Sun, 2 Jan 2022 16:03:05 -0800 Subject: [PATCH 04/41] prepare v0.18 release Signed-off-by: shmck --- CHANGELOG.md | 4 ++++ package.json | 2 +- web-app/package.json | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cabb493b..a28f0b00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to the "coderoad-vscode" extension will be documented in thi Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. +## [0.18.0] + +- Improved error logging in output channel "CodeRoad (Logs)" + ## [0.17.2] - Bundle size down to ~1mb diff --git a/package.json b/package.json index 03f9d7f0..3eeabc07 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.17.4", + "version": "0.18.0", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/web-app/package.json b/web-app/package.json index 4038f97b..2da6416d 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.17.4", + "version": "0.18.0", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From 6f5b4ed8466664b60ddab5827971ce06a59f72db Mon Sep 17 00:00:00 2001 From: shmck Date: Mon, 3 Jan 2022 19:18:23 -0800 Subject: [PATCH 05/41] check for tutorial version instead of id Signed-off-by: shmck --- src/actions/onStartup.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/actions/onStartup.ts b/src/actions/onStartup.ts index 98235536..74bd70da 100644 --- a/src/actions/onStartup.ts +++ b/src/actions/onStartup.ts @@ -34,7 +34,7 @@ const onStartup = async (context: Context): Promise => { const tutorial: TT.Tutorial | null = context.tutorial.get() // NEW: no stored tutorial, must start new tutorial - if (!tutorial || !tutorial.id) { + if (!tutorial || !tutorial.version) { if (TUTORIAL_URL) { // if a tutorial URL is added, launch on startup try { From 930ea7feb8689a74d8ed2ca9b240eddc0503e3e2 Mon Sep 17 00:00:00 2001 From: shmck Date: Mon, 3 Jan 2022 19:18:49 -0800 Subject: [PATCH 06/41] increment version for 0.18.1 release Signed-off-by: shmck --- package.json | 2 +- web-app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 3eeabc07..61979b2a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.18.0", + "version": "0.18.1", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/web-app/package.json b/web-app/package.json index 2da6416d..dfd55f4c 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.18.0", + "version": "0.18.1", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From d733339ce76d694ff0fd74e648c778ed6f2a23de Mon Sep 17 00:00:00 2001 From: shmck Date: Mon, 3 Jan 2022 19:28:35 -0800 Subject: [PATCH 07/41] release v0.18.2 Signed-off-by: shmck --- package.json | 2 +- web-app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 61979b2a..743fbad3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.18.1", + "version": "0.18.2", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/web-app/package.json b/web-app/package.json index dfd55f4c..0282f734 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.18.1", + "version": "0.18.2", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From 9d433afaf9931d92d06be8249816a7b556a06f0b Mon Sep 17 00:00:00 2001 From: shmck Date: Mon, 3 Jan 2022 19:31:13 -0800 Subject: [PATCH 08/41] release v0.18.3. Auto launch on .freeCodeCamp Signed-off-by: shmck --- package.json | 5 +++-- web-app/package.json | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 743fbad3..ffd5cade 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.18.2", + "version": "0.18.3", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", @@ -77,7 +77,8 @@ "activationEvents": [ "onCommand:coderoad.start", "workspaceContains:/codeally.json", - "workspaceContains:/codeAlly.json" + "workspaceContains:/codeAlly.json", + "workspaceContains:/.freeCodeCamp" ], "categories": [ "Other" diff --git a/web-app/package.json b/web-app/package.json index 0282f734..f4cd558e 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.18.2", + "version": "0.18.3", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From 122bd53c765f93bcc77c815dfc2c429bbf710667 Mon Sep 17 00:00:00 2001 From: ShMcK Date: Mon, 3 Jan 2022 19:50:50 -0800 Subject: [PATCH 09/41] Log/tutorial version (#559) * log tutorial and continue position Signed-off-by: shmck * prepare v0.18.4 release Signed-off-by: shmck --- package.json | 2 +- src/actions/onStartup.ts | 6 +++++- src/actions/onTutorialConfigContinue.ts | 2 +- src/services/hooks/utils/runCommands.ts | 2 +- web-app/package.json | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index ffd5cade..f7e72479 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.18.3", + "version": "0.18.4", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/src/actions/onStartup.ts b/src/actions/onStartup.ts index 74bd70da..54bfd9ea 100644 --- a/src/actions/onStartup.ts +++ b/src/actions/onStartup.ts @@ -5,6 +5,7 @@ import Context from '../services/context/context' import { send } from '../commands' import { WORKSPACE_ROOT, TUTORIAL_URL } from '../environment' import fetch from 'node-fetch' +import logger from '../services/logger' const onStartup = async (context: Context): Promise => { try { @@ -36,10 +37,12 @@ const onStartup = async (context: Context): Promise => { // NEW: no stored tutorial, must start new tutorial if (!tutorial || !tutorial.version) { if (TUTORIAL_URL) { + logger(`Using tutorial url from env: ${TUTORIAL_URL}`) // if a tutorial URL is added, launch on startup try { const tutorialRes = await fetch(TUTORIAL_URL) - const tutorial = await tutorialRes.json() + const tutorial: TT.Tutorial = await tutorialRes.json() + logger(`Tutorial: ${tutorial?.summary?.title} (${tutorial?.version})`) send({ type: 'START_TUTORIAL_FROM_URL', payload: { tutorial } }) return } catch (e: any) { @@ -54,6 +57,7 @@ const onStartup = async (context: Context): Promise => { // CONTINUE_FROM_PROGRESS const { position } = await context.onContinue(tutorial) + logger(`Continuing tutorial from progress: level ${position?.levelId} step ${position?.stepId}`) // communicate to client the tutorial & stepProgress state send({ type: 'LOAD_STORED_TUTORIAL', payload: { env, tutorial, position } }) } catch (e: any) { diff --git a/src/actions/onTutorialConfigContinue.ts b/src/actions/onTutorialConfigContinue.ts index 5ab560c9..ba84ad83 100644 --- a/src/actions/onTutorialConfigContinue.ts +++ b/src/actions/onTutorialConfigContinue.ts @@ -8,9 +8,9 @@ import logger from '../services/logger' import { setupWebhook } from '../services/hooks/webhooks' const onTutorialConfigContinue = async (action: T.Action, context: Context): Promise => { - logger(`Continuing tutorial from progress: ${JSON.stringify(action.payload)}`) try { const tutorialToContinue: TT.Tutorial | null = context.tutorial.get() + logger(`Tutorial: ${tutorialToContinue?.summary?.title} (${tutorialToContinue?.version})`) if (!tutorialToContinue) { throw new Error('Invalid tutorial to continue') } diff --git a/src/services/hooks/utils/runCommands.ts b/src/services/hooks/utils/runCommands.ts index c7bd2cde..f64090dd 100644 --- a/src/services/hooks/utils/runCommands.ts +++ b/src/services/hooks/utils/runCommands.ts @@ -18,7 +18,7 @@ const runCommands = async (commands: string[] = []): Promise => { logger(`Command output: ${JSON.stringify(result)}`) } catch (error: any) { logger(`Command failed: ${error.message}`) - send({ type: 'COMMAND_FAIL', payload: { process: { ...process, status: 'FAIL' } } }) + send({ type: '', payload: { process: { ...process, status: 'FAIL' } } }) return } send({ type: 'COMMAND_SUCCESS', payload: { process: { ...process, status: 'SUCCESS' } } }) diff --git a/web-app/package.json b/web-app/package.json index f4cd558e..90b875fb 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.18.3", + "version": "0.18.4", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From 94f483b9bd5fa744e50fba051dc9b31197e803f8 Mon Sep 17 00:00:00 2001 From: ShMcK Date: Sat, 8 Jan 2022 19:24:46 -0800 Subject: [PATCH 10/41] add onContinue hook (#561) * add onContinue hook Signed-off-by: shmck * cleanup typo Signed-off-by: shmck --- CHANGELOG.md | 10 ++++++++-- src/actions/onTutorialConfigContinue.ts | 10 ++++++++++ src/services/hooks/index.ts | 9 +++++++++ src/services/hooks/webhooks.ts | 11 +++++++++++ typings/tutorial.d.ts | 6 ++++-- 5 files changed, 42 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a28f0b00..11879f02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to the "coderoad-vscode" extension will be documented in thi Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. +# [0.19.0] + +- Add the ability to run scripts on continue to address an issue where continued tutorials weren't configured correctly. + - adds a "continue" webhook + - adds a `tutorial.config.continue` that lets you run `commands` or `vscodeCommands` + ## [0.18.0] - Improved error logging in output channel "CodeRoad (Logs)" @@ -18,10 +24,10 @@ Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how ## [0.17.0] -- auto-launch a continued tutorial +- Auto-launch a continued tutorial ## [0.16.0] -- add support for writing session state to a file. This is useful in multi-container environments where local storage is not necessarily preserved across sessions. +- Add support for writing session state to a file. This is useful in multi-container environments where local storage is not necessarily preserved across sessions. ## [0.15.1] diff --git a/src/actions/onTutorialConfigContinue.ts b/src/actions/onTutorialConfigContinue.ts index ba84ad83..5d1f2d12 100644 --- a/src/actions/onTutorialConfigContinue.ts +++ b/src/actions/onTutorialConfigContinue.ts @@ -6,6 +6,7 @@ import tutorialConfig from './utils/tutorialConfig' import { COMMANDS, send } from '../commands' import logger from '../services/logger' import { setupWebhook } from '../services/hooks/webhooks' +import * as hooks from '../services/hooks' const onTutorialConfigContinue = async (action: T.Action, context: Context): Promise => { try { @@ -25,6 +26,15 @@ const onTutorialConfigContinue = async (action: T.Action, context: Context): Pro if (tutorialToContinue.config?.webhook) { setupWebhook(tutorialToContinue.config.webhook) } + + // if tutorial.config.reset.command, run it + const continueActions = tutorialToContinue?.config?.continue + if (continueActions) { + hooks.onContinue( + { commands: continueActions?.commands, vscodeCommands: continueActions?.vscodeCommands }, + tutorialToContinue?.id as string, + ) + } } catch (e: any) { const error = { type: 'UnknownError', diff --git a/src/services/hooks/index.ts b/src/services/hooks/index.ts index 309d3ae3..2cd83e02 100644 --- a/src/services/hooks/index.ts +++ b/src/services/hooks/index.ts @@ -56,6 +56,15 @@ export const onReset = async (actions: TT.StepActions, tutorialId: string): Prom }) } +// run when a tutorial is continued +export const onContinue = async (actions: TT.StepActions, tutorialId: string): Promise => { + await runCommands(actions?.commands) + await runVSCodeCommands(actions?.vscodeCommands) + webhooks.onContinue({ + tutorialId, + }) +} + // run when an uncaught exception is thrown export const onError = async (error: Error): Promise => { telemetry.onError(error) diff --git a/src/services/hooks/webhooks.ts b/src/services/hooks/webhooks.ts index 64fcc830..b9e168c9 100644 --- a/src/services/hooks/webhooks.ts +++ b/src/services/hooks/webhooks.ts @@ -6,6 +6,7 @@ import { WEBHOOK_TOKEN } from '../../environment' const WEBHOOK_EVENTS = { init: false, reset: false, + continue: false, step_complete: false, level_complete: false, tutorial_complete: false, @@ -76,6 +77,16 @@ export const onReset = (event: WebhookEventReset): void => { } } +type WebhookEventContinue = { + tutorialId: string +} + +export const onContinue = (event: WebhookEventReset): void => { + if (WEBHOOK_EVENTS.continue) { + callWebhookEndpoint(event) + } +} + type WebhookEventStepComplete = { tutorialId: string; version?: string; levelId: string; stepId: string } export const onStepComplete = (event: WebhookEventStepComplete): void => { diff --git a/typings/tutorial.d.ts b/typings/tutorial.d.ts index 3a32599a..18bc7ef5 100644 --- a/typings/tutorial.d.ts +++ b/typings/tutorial.d.ts @@ -2,7 +2,7 @@ import { ProgressStatus } from './index' export type Maybe = T | null -export type ConfigReset = { +export type ConfigCommands = { commands?: string[] vscodeCommands?: VSCodeCommand[] } @@ -13,7 +13,8 @@ export type TutorialConfig = { repo: TutorialRepo dependencies?: TutorialDependency[] setup?: StepActions - reset?: ConfigReset + continue?: ConfigCommands + reset?: ConfigCommands webhook?: WebhookConfig } @@ -97,6 +98,7 @@ export type VSCodeCommand = string | [string, any] export interface WebhookConfigEvents { init?: boolean reset?: boolean + continue?: boolean step_complete?: boolean level_complete?: boolean tutorial_complete?: boolean From 41928fa3482e74bcdbb3472ff61f42e0c12c2242 Mon Sep 17 00:00:00 2001 From: ShMcK Date: Sat, 8 Jan 2022 19:35:43 -0800 Subject: [PATCH 11/41] log webhook endpoint (#562) Signed-off-by: shmck --- src/services/hooks/webhooks.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/services/hooks/webhooks.ts b/src/services/hooks/webhooks.ts index b9e168c9..64ca7e66 100644 --- a/src/services/hooks/webhooks.ts +++ b/src/services/hooks/webhooks.ts @@ -51,8 +51,9 @@ const callWebhookEndpoint = async (bodyObject: B): Promise => { if (!sendEvent.ok) { throw new Error('Error sending event') } + logger(`Called webhook endpoint ${WEBHOOK_URI} with body ${JSON.stringify(body)}`) } catch (err: unknown) { - logger(`Failed to call webhook endpoint ${WEBHOOK_URI} with body ${body}`) + logger(`Failed to call webhook endpoint ${WEBHOOK_URI} with body ${JSON.stringify(body)}`) } } From b7e23a97330f4e1f1e8b3b710aeaf9afa1e60bad Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 8 Jan 2022 19:37:21 -0800 Subject: [PATCH 12/41] increment version for v0.19 release Signed-off-by: shmck --- package.json | 2 +- web-app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f7e72479..c400d322 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.18.4", + "version": "0.19.0", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/web-app/package.json b/web-app/package.json index 90b875fb..1f396b0e 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.18.4", + "version": "0.19.0", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From 2b3a672e417c54b7894f9ec383abfd7ac517e861 Mon Sep 17 00:00:00 2001 From: shmck Date: Sat, 8 Jan 2022 20:00:28 -0800 Subject: [PATCH 13/41] check Node v16 on build Signed-off-by: shmck --- scripts/build.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/scripts/build.sh b/scripts/build.sh index e023232d..2bcfc057 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -1,6 +1,17 @@ #!/bin/bash -echo "Building Extension..." +echo "Checking Node version..." +nodeVersion="$(node --version)" +requiredNodeVersion="16.0.0" + if [ "$(printf '%s\n' "$requiredNodeVersion" "${nodeVersion##v}" | sort -V | head -n1)" = "$requiredNodeVersion" ]; then + echo "Using Node ${nodeVersion}" + else + echo "Build requires Node ${requiredNodeVersion} or above but using ${nodeVersion##v}" + exit 1 + fi + + +echo "Building extension..." tsc -v # remove build directory From fbf2be003a3ec25eb903ae0362512658c7c8c21b Mon Sep 17 00:00:00 2001 From: ShMcK Date: Sat, 8 Jan 2022 20:34:56 -0800 Subject: [PATCH 14/41] capture error on command failure (#563) * capture error on command failure Signed-off-by: shmck * log all commands and fs actions for debugging Signed-off-by: shmck --- scripts/build.sh | 1 - src/services/hooks/utils/runCommands.ts | 6 +++++- src/services/node/index.ts | 15 ++++++++++++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index 2bcfc057..347d4136 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -28,7 +28,6 @@ cd web-app yarn build cd .. -# For Windows build: switch the next 2 lines echo "Bundling webapp..." if [[ "$OSTYPE" == "msys" ]]; then # linux subsystem on windows selected diff --git a/src/services/hooks/utils/runCommands.ts b/src/services/hooks/utils/runCommands.ts index f64090dd..0593755a 100644 --- a/src/services/hooks/utils/runCommands.ts +++ b/src/services/hooks/utils/runCommands.ts @@ -11,11 +11,15 @@ const runCommands = async (commands: string[] = []): Promise => { title: command, description: 'Running process...', } + logger(`Command: ${command}`) send({ type: 'COMMAND_START', payload: { process: { ...process, status: 'RUNNING' } } }) let result: { stdout: string; stderr: string } try { result = await exec({ command }) - logger(`Command output: ${JSON.stringify(result)}`) + if (result.stderr) { + throw new Error(result.stderr) + } + logger(`Command output: ${result.stdout}`) } catch (error: any) { logger(`Command failed: ${error.message}`) send({ type: '', payload: { process: { ...process, status: 'FAIL' } } }) diff --git a/src/services/node/index.ts b/src/services/node/index.ts index 822445de..3d4a2bcc 100644 --- a/src/services/node/index.ts +++ b/src/services/node/index.ts @@ -17,24 +17,32 @@ interface ExecParams { // correct paths to be from workspace root rather than extension folder const getWorkspacePath = (...paths: string[]) => { - return join(WORKSPACE_ROOT, ...paths) + const workspacePath = join(WORKSPACE_ROOT, ...paths) + logger(`Workspace path: ${workspacePath}`) + return workspacePath } export const exec = (params: ExecParams): Promise<{ stdout: string; stderr: string }> | never => { const cwd = join(WORKSPACE_ROOT, params.dir || '') + logger(`Calling command: ${params.command}`) return asyncExec(params.command, { cwd }) } export const exists = (...paths: string[]): boolean | never => { - return fs.existsSync(getWorkspacePath(...paths)) + const filePath = getWorkspacePath(...paths) + logger(`Check file exists: ${filePath}`) + return fs.existsSync(filePath) } export const removeFile = (...paths: string[]) => { - return asyncRemoveFile(getWorkspacePath(...paths)) + const filePath = getWorkspacePath(...paths) + logger(`Removing file: ${filePath}`) + return asyncRemoveFile(filePath) } export const readFile = (...paths: string[]): Promise => { const filePath = getWorkspacePath(...paths) + logger(`Reading file: ${filePath}`) return asyncReadFile(getWorkspacePath(...paths), 'utf8').catch((err) => { logger(`Failed to read from ${filePath}: ${err.message}`) }) @@ -42,6 +50,7 @@ export const readFile = (...paths: string[]): Promise => { export const writeFile = (data: any, ...paths: string[]): Promise => { const filePath = getWorkspacePath(...paths) + logger(`Writing file: ${filePath}`) return asyncWriteFile(filePath, data).catch((err) => { logger(`Failed to write to ${filePath}: ${err.message}`) }) From 16396eca9024346853939fcde468bb7da8279283 Mon Sep 17 00:00:00 2001 From: ShMcK Date: Tue, 11 Jan 2022 19:28:27 -0800 Subject: [PATCH 15/41] Feat/await async calls (#564) * prepare v0.19.1 release with improved logging Signed-off-by: shmck * make calls async Signed-off-by: shmck --- package.json | 2 +- src/actions/onRunReset.ts | 4 ++-- src/actions/onTutorialConfigContinue.ts | 2 +- src/channel.ts | 10 +++++----- src/commands.ts | 2 +- src/services/reset/index.ts | 2 +- web-app/package.json | 2 +- 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index c400d322..b424fe58 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.19.0", + "version": "0.19.1", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/src/actions/onRunReset.ts b/src/actions/onRunReset.ts index b82996d8..bf03a7f6 100644 --- a/src/actions/onRunReset.ts +++ b/src/actions/onRunReset.ts @@ -28,12 +28,12 @@ const onRunReset = async (action: ResetAction, context: Context): Promise } // load timeline until last pass commit - reset({ branch, hash }) + await reset({ branch, hash }) // if tutorial.config.reset.command, run it const resetActions = tutorial?.config?.reset if (resetActions) { - hooks.onReset( + await hooks.onReset( { commands: resetActions?.commands, vscodeCommands: resetActions?.vscodeCommands }, tutorial?.id as string, ) diff --git a/src/actions/onTutorialConfigContinue.ts b/src/actions/onTutorialConfigContinue.ts index 5d1f2d12..61d85955 100644 --- a/src/actions/onTutorialConfigContinue.ts +++ b/src/actions/onTutorialConfigContinue.ts @@ -30,7 +30,7 @@ const onTutorialConfigContinue = async (action: T.Action, context: Context): Pro // if tutorial.config.reset.command, run it const continueActions = tutorialToContinue?.config?.continue if (continueActions) { - hooks.onContinue( + await hooks.onContinue( { commands: continueActions?.commands, vscodeCommands: continueActions?.vscodeCommands }, tutorialToContinue?.id as string, ) diff --git a/src/channel.ts b/src/channel.ts index df896cdf..e7f1aa80 100644 --- a/src/channel.ts +++ b/src/channel.ts @@ -59,12 +59,12 @@ class Channel implements Channel { case 'EDITOR_LEVEL_ENTER': case 'EDITOR_STEP_ENTER': await vscode.commands.executeCommand(COMMANDS.SET_CURRENT_POSITION, action.payload.position) - hooks.onSetupEnter(action.payload.actions) + await hooks.onSetupEnter(action.payload.actions) return // load solution step actions (git commits, commands, open files) case 'EDITOR_SOLUTION_ENTER': await vscode.commands.executeCommand(COMMANDS.SET_CURRENT_POSITION, action.payload.position) - hooks.onSolutionEnter(action.payload.actions) + await hooks.onSolutionEnter(action.payload.actions) return case 'EDITOR_SYNC_POSITION': // update progress when a level is deemed complete in the client @@ -83,13 +83,13 @@ class Channel implements Channel { actions.onRunReset({ type: 'POSITION', position: action.payload.position }, this.context) return case 'EDITOR_STEP_COMPLETE': - hooks.onStepComplete(action.payload) + await hooks.onStepComplete(action.payload) return case 'EDITOR_LEVEL_COMPLETE': - hooks.onLevelComplete(action.payload) + await hooks.onLevelComplete(action.payload) return case 'EDITOR_TUTORIAL_COMPLETE': - hooks.onTutorialComplete(action.payload) + await hooks.onTutorialComplete(action.payload) return default: logger(`No match for action type: ${actionType}`) diff --git a/src/commands.ts b/src/commands.ts index 6c805cf5..20e9eaf7 100644 --- a/src/commands.ts +++ b/src/commands.ts @@ -70,7 +70,7 @@ export const createCommands = (commandProps: CreateCommandProps): { [key: string if (!alreadyConfigured) { const setupActions = data.config.setup if (setupActions) { - hooks.onInit(setupActions, data.id) + await hooks.onInit(setupActions, data.id) } } testRunner = createTestRunner(data, { diff --git a/src/services/reset/index.ts b/src/services/reset/index.ts index e512a049..b13cdae6 100644 --- a/src/services/reset/index.ts +++ b/src/services/reset/index.ts @@ -36,7 +36,7 @@ const reset = async ({ branch, hash }: Input): Promise => { }) // stash any current work await exec({ - command: 'git stash', + command: 'git stash --include-untracked', }).catch(ignoreError) // remove any other files diff --git a/web-app/package.json b/web-app/package.json index 1f396b0e..f1637786 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.19.0", + "version": "0.19.1", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From ef3b4608ade22e0b09fc8fa0ef6c58184df7ab2a Mon Sep 17 00:00:00 2001 From: shmck Date: Tue, 11 Jan 2022 19:29:17 -0800 Subject: [PATCH 16/41] prepare v0.19.2 release Signed-off-by: shmck --- package.json | 2 +- web-app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index b424fe58..0fe8c5bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.19.1", + "version": "0.19.2", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/web-app/package.json b/web-app/package.json index f1637786..d07a7862 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.19.1", + "version": "0.19.2", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From 46e007cb9913729124b0034529f698d859c57dd7 Mon Sep 17 00:00:00 2001 From: shmck Date: Tue, 11 Jan 2022 19:53:04 -0800 Subject: [PATCH 17/41] fix missing command fail Signed-off-by: shmck --- src/services/hooks/utils/runCommands.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/hooks/utils/runCommands.ts b/src/services/hooks/utils/runCommands.ts index 0593755a..b0239d88 100644 --- a/src/services/hooks/utils/runCommands.ts +++ b/src/services/hooks/utils/runCommands.ts @@ -22,7 +22,7 @@ const runCommands = async (commands: string[] = []): Promise => { logger(`Command output: ${result.stdout}`) } catch (error: any) { logger(`Command failed: ${error.message}`) - send({ type: '', payload: { process: { ...process, status: 'FAIL' } } }) + send({ type: 'COMMAND_FAIL', payload: { process: { ...process, status: 'FAIL' } } }) return } send({ type: 'COMMAND_SUCCESS', payload: { process: { ...process, status: 'SUCCESS' } } }) From 4a634ddeadbe18ccf02d34184a14c18ae993dd64 Mon Sep 17 00:00:00 2001 From: shmck Date: Tue, 11 Jan 2022 19:53:55 -0800 Subject: [PATCH 18/41] prepare v0.19.3 release Signed-off-by: shmck --- package.json | 2 +- web-app/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 0fe8c5bc..4125d3f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.19.2", + "version": "0.19.3", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", diff --git a/web-app/package.json b/web-app/package.json index d07a7862..0efa035c 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.19.2", + "version": "0.19.3", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From cd883a3eaa5711e5f234eb7f515eb9f69076875c Mon Sep 17 00:00:00 2001 From: shmck Date: Thu, 20 Jan 2022 20:08:17 -0800 Subject: [PATCH 19/41] prepare v0.19.4 --- package.json | 8 ++++---- web-app/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4125d3f7..7d126b4e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "coderoad", - "version": "0.19.3", + "version": "0.19.4", "description": "Play interactive coding tutorials in your editor", "keywords": [ "tutorial", @@ -76,9 +76,9 @@ }, "activationEvents": [ "onCommand:coderoad.start", - "workspaceContains:/codeally.json", - "workspaceContains:/codeAlly.json", - "workspaceContains:/.freeCodeCamp" + "workspaceContains:*/codeally.json", + "workspaceContains:*/codeAlly.json", + "workspaceContains:*/.freeCodeCamp" ], "categories": [ "Other" diff --git a/web-app/package.json b/web-app/package.json index 0efa035c..5909c0f2 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -1,6 +1,6 @@ { "name": "coderoad-app", - "version": "0.19.3", + "version": "0.19.4", "private": true, "scripts": { "analyze": "source-map-explorer 'build/static/js/*.js'", From d1cce3da28aff287e20c254388393aa3ff56e871 Mon Sep 17 00:00:00 2001 From: shmck Date: Thu, 20 Jan 2022 20:22:48 -0800 Subject: [PATCH 20/41] cleanup dev deps Signed-off-by: shmck --- package.json | 11 +++++------ web-app/src/services/state/actions/utils/stepNext.ts | 1 - 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 7d126b4e..d244327c 100644 --- a/package.json +++ b/package.json @@ -37,15 +37,10 @@ "test-compile": "tsc -watch -p ./" }, "dependencies": { - "chokidar": "3.5.2", - "dotenv": "^8.2.0", - "eslint": "7.32.0", + "chokidar": "3.5.3", "git-url-parse": "11.6.0", - "jest": "27.3.1", "node-fetch": "2.6.6", "semver": "7.3.5", - "ts-jest": "27.0.7", - "typescript": "4.4.4", "vscode-extension-telemetry": "0.1.7" }, "devDependencies": { @@ -59,6 +54,7 @@ "@typescript-eslint/eslint-plugin": "5.4.0", "@typescript-eslint/parser": "5.4.0", "esbuild": "0.14.0", + "eslint": "7.32.0", "eslint-config-prettier": "8.3.0", "eslint-config-react-app": "6.0.0", "eslint-plugin-flowtype": "8.0.3", @@ -68,6 +64,9 @@ "eslint-plugin-react": "7.27.1", "eslint-plugin-react-hooks": "^4.3.0", "prettier": "2.5.0", + "jest": "27.3.1", + "ts-jest": "27.0.7", + "typescript": "4.4.4", "vscode": "^1.1.37", "vscode-test": "^1.6.1" }, diff --git a/web-app/src/services/state/actions/utils/stepNext.ts b/web-app/src/services/state/actions/utils/stepNext.ts index f52a3b77..3aab9372 100644 --- a/web-app/src/services/state/actions/utils/stepNext.ts +++ b/web-app/src/services/state/actions/utils/stepNext.ts @@ -1,6 +1,5 @@ import * as T from 'typings' import * as TT from 'typings/tutorial' -import logger from '../../../../services/logger' const getStepNext = (position: T.Position, level: TT.Level): T.Action => { const { steps } = level From d9043c145bbcd33bdbd3bbf0cbf3b88fa1e319fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:05:42 -0800 Subject: [PATCH 21/41] Bump markdown-it from 12.2.0 to 12.3.2 in /web-app (#566) Bumps [markdown-it](https://github.com/markdown-it/markdown-it) from 12.2.0 to 12.3.2. - [Release notes](https://github.com/markdown-it/markdown-it/releases) - [Changelog](https://github.com/markdown-it/markdown-it/blob/master/CHANGELOG.md) - [Commits](https://github.com/markdown-it/markdown-it/compare/12.2.0...12.3.2) --- updated-dependencies: - dependency-name: markdown-it dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/package.json | 2 +- web-app/yarn.lock | 15 +++++---------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/web-app/package.json b/web-app/package.json index 5909c0f2..e5d5943a 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -33,7 +33,7 @@ "babel-jest": "26.6.3", "emotion-theming": "10.0.27", "js-yaml": "4.1.0", - "markdown-it": "12.2.0", + "markdown-it": "12.3.2", "markdown-it-emoji": "2.0.0", "prismjs": "1.25.0", "react": "16.13.1", diff --git a/web-app/yarn.lock b/web-app/yarn.lock index a8729e97..5f263951 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -7925,12 +7925,7 @@ entities@^1.1.1, entities@^1.1.2: resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== -entities@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== - -entities@~2.1.0: +entities@^2.0.0, entities@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== @@ -11629,10 +11624,10 @@ markdown-it-emoji@2.0.0: resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-2.0.0.tgz#3164ad4c009efd946e98274f7562ad611089a231" integrity sha512-39j7/9vP/CPCKbEI44oV8yoPJTpvfeReTn/COgRhSpNrjWF3PfP/JUxxB0hxV6ynOY8KH8Y8aX9NMDdo6z+6YQ== -markdown-it@12.2.0: - version "12.2.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.2.0.tgz#091f720fd5db206f80de7a8d1f1a7035fd0d38db" - integrity sha512-Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg== +markdown-it@12.3.2: + version "12.3.2" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-12.3.2.tgz#bf92ac92283fe983fe4de8ff8abfb5ad72cd0c90" + integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== dependencies: argparse "^2.0.1" entities "~2.1.0" From cde900cfb68942eaf0c2c1e5ef0c709e63d5075d Mon Sep 17 00:00:00 2001 From: ShMcK Date: Sun, 23 Jan 2022 19:05:55 -0800 Subject: [PATCH 22/41] use either the file or local storage tutorial (#565) Signed-off-by: shmck --- src/services/storage/index.ts | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/services/storage/index.ts b/src/services/storage/index.ts index cb2abfbc..05fe87f4 100644 --- a/src/services/storage/index.ts +++ b/src/services/storage/index.ts @@ -33,7 +33,7 @@ class Storage { public get = async (): Promise => { if (SESSION_STORAGE_PATH) { try { - // 1. read from file instead of local storage if specified + // 1. attempt to read from file instead of local storage if specified const sessionFile = await readFile(SESSION_STORAGE_PATH, `${this.filePath}.json`) if (!sessionFile) { throw new Error('No session file found') @@ -50,14 +50,15 @@ class Storage { } catch (err: any) { logger(`Failed to read or parse session file: ${SESSION_STORAGE_PATH}/${this.filePath}.json: ${err.message}`) } - } - const value: string | undefined = await this.storage.get(this.key) - if (value) { - // 2. read from local storage - try { - return JSON.parse(value) - } catch (err: any) { - logger(`Failed to parse session state from local storage: ${value}: ${err.message}`) + } else { + // 2. attempt to read from local storage + const value: string | undefined = await this.storage.get(this.key) + if (value) { + try { + return JSON.parse(value) + } catch (err: any) { + logger(`Failed to parse session state from local storage: ${value}: ${err.message}`) + } } } // 3. fallback to the default From 64ba32407703ab568187a75cf42519c6d32c5a23 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:06:10 -0800 Subject: [PATCH 23/41] Bump follow-redirects from 1.13.0 to 1.14.7 in /docs (#567) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.0 to 1.14.7. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.13.0...v1.14.7) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index c0a11059..a41884a9 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -4145,15 +4145,10 @@ flux@^4.0.1: fbemitter "^3.0.0" fbjs "^3.0.0" -follow-redirects@^1.0.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.0.tgz#b42e8d93a2a7eea5ed88633676d6597bc8e384db" - integrity sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA== - -follow-redirects@^1.14.0: - version "1.14.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" - integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== +follow-redirects@^1.0.0, follow-redirects@^1.14.0: + version "1.14.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== fork-ts-checker-webpack-plugin@^6.0.5: version "6.4.0" From 6444e28f51c0e3c1c288540e4cc5ff765c9ae5ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:06:42 -0800 Subject: [PATCH 24/41] Bump shelljs from 0.8.4 to 0.8.5 in /docs (#568) Bumps [shelljs](https://github.com/shelljs/shelljs) from 0.8.4 to 0.8.5. - [Release notes](https://github.com/shelljs/shelljs/releases) - [Changelog](https://github.com/shelljs/shelljs/blob/master/CHANGELOG.md) - [Commits](https://github.com/shelljs/shelljs/compare/v0.8.4...v0.8.5) --- updated-dependencies: - dependency-name: shelljs dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 65 ++++++++++++++++++++++++++++---------------------- 1 file changed, 37 insertions(+), 28 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index a41884a9..d7b03cbb 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -2594,9 +2594,9 @@ bail@^1.0.0: integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base16@^1.0.0: version "1.0.0" @@ -4313,19 +4313,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.0, glob@^7.1.3: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.6: +glob@^7.0.0, glob@^7.1.3, glob@^7.1.6: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -4852,9 +4840,9 @@ internal-ip@^6.2.0: p-event "^4.2.0" interpret@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== ip-regex@^4.0.0: version "4.3.0" @@ -4940,6 +4928,13 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" +is-core-module@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== + dependencies: + has "^1.0.3" + is-date-object@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" @@ -6200,7 +6195,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -7257,12 +7252,14 @@ resolve-pathname@^3.0.0: resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== -resolve@^1.1.6, resolve@^1.3.2: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== +resolve@^1.1.6: + version "1.21.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" + integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== dependencies: - path-parse "^1.0.6" + is-core-module "^2.8.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" resolve@^1.14.2: version "1.20.0" @@ -7272,6 +7269,13 @@ resolve@^1.14.2: is-core-module "^2.2.0" path-parse "^1.0.6" +resolve@^1.3.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== + dependencies: + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -7558,9 +7562,9 @@ shell-quote@^1.7.2: integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== shelljs@^0.8.4: - version "0.8.4" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2" - integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ== + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== dependencies: glob "^7.0.0" interpret "^1.0.0" @@ -7921,6 +7925,11 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + svg-parser@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" From 4efed11a21df839f5f23d63cc71848c25dfdeb05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:07:02 -0800 Subject: [PATCH 25/41] Bump follow-redirects from 1.14.5 to 1.14.7 in /web-app (#569) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.5 to 1.14.7. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.5...v1.14.7) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-app/yarn.lock b/web-app/yarn.lock index 5f263951..3b4500a2 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -8811,9 +8811,9 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0: - version "1.14.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" - integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + version "1.14.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== for-in@^1.0.2: version "1.0.2" From 425f6c44b8929d4d60afee8c533cae91509fde69 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:07:15 -0800 Subject: [PATCH 26/41] Bump nanoid from 3.1.30 to 3.2.0 in /web-app (#570) Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.30 to 3.2.0. - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/3.1.30...3.2.0) --- updated-dependencies: - dependency-name: nanoid dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-app/yarn.lock b/web-app/yarn.lock index 3b4500a2..804965fb 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -12043,9 +12043,9 @@ nan@^2.12.1, nan@^2.13.2: integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== nanoid@^3.1.30: - version "3.1.30" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" - integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== nanomatch@^1.2.9: version "1.2.13" From 71aafc9caa7a8c1490034ce306444e00a42198c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:07:31 -0800 Subject: [PATCH 27/41] Bump nanoid from 3.1.30 to 3.2.0 in /docs (#571) Bumps [nanoid](https://github.com/ai/nanoid) from 3.1.30 to 3.2.0. - [Release notes](https://github.com/ai/nanoid/releases) - [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md) - [Commits](https://github.com/ai/nanoid/compare/3.1.30...3.2.0) --- updated-dependencies: - dependency-name: nanoid dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index d7b03cbb..3e33f5e0 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -5744,9 +5744,9 @@ multicast-dns@^6.0.1: thunky "^1.0.2" nanoid@^3.1.30: - version "3.1.30" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" - integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== + version "3.2.0" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.2.0.tgz#62667522da6673971cca916a6d3eff3f415ff80c" + integrity sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA== napi-build-utils@^1.0.1: version "1.0.2" From a24d48e3b924a0f25948ec6d6825b487a295a9be Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:07:44 -0800 Subject: [PATCH 28/41] Bump node-fetch from 2.6.6 to 2.6.7 (#573) Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.6 to 2.6.7. - [Release notes](https://github.com/node-fetch/node-fetch/releases) - [Changelog](https://github.com/node-fetch/node-fetch/blob/main/docs/CHANGELOG.md) - [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.6...v2.6.7) --- updated-dependencies: - dependency-name: node-fetch dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- yarn.lock | 39 ++++++++++----------------------------- 2 files changed, 11 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index d244327c..8005eb4e 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "dependencies": { "chokidar": "3.5.3", "git-url-parse": "11.6.0", - "node-fetch": "2.6.6", + "node-fetch": "2.6.7", "semver": "7.3.5", "vscode-extension-telemetry": "0.1.7" }, diff --git a/yarn.lock b/yarn.lock index 3f4f4b5b..0faccf11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1521,10 +1521,10 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -chokidar@3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" - integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== +chokidar@3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" braces "~3.0.2" @@ -1814,11 +1814,6 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -dotenv@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - duplexer2@~0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -3651,11 +3646,6 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" @@ -3805,10 +3795,10 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -node-fetch@2.6.6: - version "2.6.6" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" - integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA== +node-fetch@2.6.7: + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" @@ -4681,7 +4671,7 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" -tr46@^2.0.0, tr46@^2.0.2: +tr46@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== @@ -4926,16 +4916,7 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.0.0.tgz#37f256cb746398e19b107bd6ef820b4ae2d15871" - integrity sha512-41ou2Dugpij8/LPO5Pq64K5q++MnRCBpEHvQr26/mArEKTkCV5aoXIqyhuYtE0pkqScXwhf2JP57rkRTYM29lQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.0" - webidl-conversions "^5.0.0" - -whatwg-url@^8.5.0: +whatwg-url@^8.0.0, whatwg-url@^8.5.0: version "8.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== From f0edeebc9d09147a3ff3d79338709fc42f6b79c0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 23 Jan 2022 19:07:55 -0800 Subject: [PATCH 29/41] Bump node-fetch from 2.6.1 to 2.6.7 in /web-app (#574) Bumps [node-fetch](https://github.com/node-fetch/node-fetch) from 2.6.1 to 2.6.7. - [Release notes](https://github.com/node-fetch/node-fetch/releases) - [Changelog](https://github.com/node-fetch/node-fetch/blob/main/docs/CHANGELOG.md) - [Commits](https://github.com/node-fetch/node-fetch/compare/v2.6.1...v2.6.7) --- updated-dependencies: - dependency-name: node-fetch dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/yarn.lock | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/web-app/yarn.lock b/web-app/yarn.lock index 804965fb..f227f6f9 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -12122,9 +12122,11 @@ node-dir@^0.1.10: minimatch "^3.0.2" node-fetch@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== + version "2.6.7" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" + integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== + dependencies: + whatwg-url "^5.0.0" node-forge@^0.10.0: version "0.10.0" @@ -16348,6 +16350,11 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" @@ -17022,6 +17029,11 @@ web-namespaces@^1.0.0: resolved "https://registry.yarnpkg.com/web-namespaces/-/web-namespaces-1.1.4.tgz#bc98a3de60dadd7faefc403d1076d529f5e030ec" integrity sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw== +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= + webidl-conversions@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" @@ -17247,6 +17259,14 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + whatwg-url@^8.0.0, whatwg-url@^8.5.0: version "8.7.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" From 86207520573bb8ad01c385b381f83a21a972b656 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Feb 2022 19:53:03 -0800 Subject: [PATCH 30/41] Bump simple-get from 4.0.0 to 4.0.1 in /docs (#575) Bumps [simple-get](https://github.com/feross/simple-get) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/feross/simple-get/releases) - [Commits](https://github.com/feross/simple-get/compare/v4.0.0...v4.0.1) --- updated-dependencies: - dependency-name: simple-get dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 3e33f5e0..187b345e 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -7581,14 +7581,14 @@ signal-exit@^3.0.3: integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== simple-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.0.tgz#7344cbb8b6e26fb27d66b2fc86f9f6d5997521c6" - integrity sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY= + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== simple-get@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.0.tgz#73fa628278d21de83dadd5512d2cc1f4872bd675" - integrity sha512-ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ== + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== dependencies: decompress-response "^6.0.0" once "^1.3.1" From 2e540280bc307f8c8dc6013368efd995cc642844 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Feb 2022 19:53:27 -0800 Subject: [PATCH 31/41] Bump follow-redirects from 1.14.7 to 1.14.8 in /docs (#578) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 187b345e..315d86ed 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -4146,9 +4146,9 @@ flux@^4.0.1: fbjs "^3.0.0" follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" - integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== + version "1.14.8" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" + integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== fork-ts-checker-webpack-plugin@^6.0.5: version "6.4.0" From 22ba57aab4ce00940cf315cb8efe2412daf4f7b3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 17 Feb 2022 19:53:42 -0800 Subject: [PATCH 32/41] Bump follow-redirects from 1.14.7 to 1.14.8 in /web-app (#579) Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.14.7 to 1.14.8. - [Release notes](https://github.com/follow-redirects/follow-redirects/releases) - [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.14.7...v1.14.8) --- updated-dependencies: - dependency-name: follow-redirects dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-app/yarn.lock b/web-app/yarn.lock index f227f6f9..a869a4de 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -8811,9 +8811,9 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0: - version "1.14.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" - integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== + version "1.14.8" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc" + integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== for-in@^1.0.2: version "1.0.2" From a376cd3c5ff9bd3caf63ba09f7b0fb27fef46b24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 20:42:03 -0700 Subject: [PATCH 33/41] Bump url-parse from 1.5.3 to 1.5.10 in /web-app (#586) Bumps [url-parse](https://github.com/unshiftio/url-parse) from 1.5.3 to 1.5.10. - [Release notes](https://github.com/unshiftio/url-parse/releases) - [Commits](https://github.com/unshiftio/url-parse/compare/1.5.3...1.5.10) --- updated-dependencies: - dependency-name: url-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-app/yarn.lock b/web-app/yarn.lock index a869a4de..9162e6da 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -16774,9 +16774,9 @@ url-loader@4.1.1, url-loader@^4.1.1: schema-utils "^3.0.0" url-parse@^1.4.3, url-parse@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" - integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== + version "1.5.10" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" + integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" From 08a5a476febfeabd6af79d73671b48bebe0dd552 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 20:42:23 -0700 Subject: [PATCH 34/41] Bump ajv from 6.12.0 to 6.12.6 (#581) Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.0 to 6.12.6. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.0...v6.12.6) --- updated-dependencies: - dependency-name: ajv dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- yarn.lock | 31 ++++++++----------------------- 1 file changed, 8 insertions(+), 23 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0faccf11..d280b962 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1098,20 +1098,10 @@ agent-base@6: dependencies: debug "4" -ajv@^6.10.0: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" - integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.4: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -2387,12 +2377,7 @@ expect@^27.3.1: jest-message-util "^27.3.1" jest-regex-util "^27.0.6" -fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - -fast-deep-equal@^3.1.3: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -4797,9 +4782,9 @@ unzipper@^0.10.11: setimmediate "~1.0.4" uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" From 3d3be5daa8923dc11e062850ba88648b6897a627 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 20:42:38 -0700 Subject: [PATCH 35/41] Bump ajv from 6.12.0 to 6.12.6 in /web-app (#580) Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.0 to 6.12.6. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.0...v6.12.6) --- updated-dependencies: - dependency-name: ajv dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/yarn.lock | 35 +++++------------------------------ 1 file changed, 5 insertions(+), 30 deletions(-) diff --git a/web-app/yarn.lock b/web-app/yarn.lock index 9162e6da..65b933e0 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -5043,27 +5043,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" - integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.2: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.5.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -8570,12 +8550,7 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - -fast-deep-equal@^3.1.3: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -16753,9 +16728,9 @@ upath@^1.1.1, upath@^1.1.2, upath@^1.2.0: integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" From 6b4be2045797ccaafeef997bb8440815d3b909c8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 20:42:51 -0700 Subject: [PATCH 36/41] Bump ajv from 6.12.2 to 6.12.6 in /docs (#582) Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.2 to 6.12.6. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](https://github.com/ajv-validator/ajv/compare/v6.12.2...v6.12.6) --- updated-dependencies: - dependency-name: ajv dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 25 +++++-------------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 315d86ed..3a745808 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -2317,17 +2317,7 @@ ajv-keywords@^5.0.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.0: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^6.12.2, ajv@^6.12.5: +ajv@^6.12.0, ajv@^6.12.2, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3988,12 +3978,7 @@ extend@^3.0.0: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== -fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - -fast-deep-equal@^3.1.3: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -8360,9 +8345,9 @@ update-notifier@^5.1.0: xdg-basedir "^4.0.0" uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" From b111d2badb6f56fd334fe5bb4d3d16df77521c97 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 20:43:08 -0700 Subject: [PATCH 37/41] Bump prismjs from 1.25.0 to 1.27.0 in /docs (#584) Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0. - [Release notes](https://github.com/PrismJS/prism/releases) - [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md) - [Commits](https://github.com/PrismJS/prism/compare/v1.25.0...v1.27.0) --- updated-dependencies: - dependency-name: prismjs dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 3a745808..104e0099 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -6616,9 +6616,9 @@ prism-react-renderer@^1.2.1: integrity sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg== prismjs@^1.23.0: - version "1.25.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" - integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== private@^0.1.8: version "0.1.8" From 3ccf8418c6c99e24d24b54d33e8c0643dc0dfa7f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 20:43:21 -0700 Subject: [PATCH 38/41] Bump prismjs from 1.25.0 to 1.27.0 in /web-app (#585) Bumps [prismjs](https://github.com/PrismJS/prism) from 1.25.0 to 1.27.0. - [Release notes](https://github.com/PrismJS/prism/releases) - [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md) - [Commits](https://github.com/PrismJS/prism/compare/v1.25.0...v1.27.0) --- updated-dependencies: - dependency-name: prismjs dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/package.json | 2 +- web-app/yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/web-app/package.json b/web-app/package.json index e5d5943a..85d14c46 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -35,7 +35,7 @@ "js-yaml": "4.1.0", "markdown-it": "12.3.2", "markdown-it-emoji": "2.0.0", - "prismjs": "1.25.0", + "prismjs": "1.27.0", "react": "16.13.1", "react-addons-css-transition-group": "15.6.2", "react-dom": "16.13.1", diff --git a/web-app/yarn.lock b/web-app/yarn.lock index 65b933e0..e0cf3603 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -13763,10 +13763,10 @@ pretty-hrtime@^1.0.3: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -prismjs@1.25.0, prismjs@^1.21.0: - version "1.25.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.25.0.tgz#6f822df1bdad965734b310b315a23315cf999756" - integrity sha512-WCjJHl1KEWbnkQom1+SzftbtXMKQoezOCYs5rECqMN+jP+apI7ftoflyqigqzopSO3hMhTEb0mFClA8lkolgEg== +prismjs@1.27.0, prismjs@^1.21.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== prismjs@~1.22.0: version "1.22.0" From 857340124511054f1930ff071785be610d016009 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 21:56:50 -0700 Subject: [PATCH 39/41] Bump minimist from 1.2.5 to 1.2.6 in /docs (#588) Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- docs/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/yarn.lock b/docs/yarn.lock index 104e0099..2f84c597 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -5684,9 +5684,9 @@ minimatch@3.0.4, minimatch@^3.0.4: brace-expansion "^1.1.7" minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" From 16289185de6d0488db9055f812d14f2919cc30f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 21:56:58 -0700 Subject: [PATCH 40/41] Bump minimist from 1.2.5 to 1.2.6 in /web-app (#589) Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6. - [Release notes](https://github.com/substack/minimist/releases) - [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6) --- updated-dependencies: - dependency-name: minimist dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- web-app/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/web-app/yarn.lock b/web-app/yarn.lock index e0cf3603..f492b4a8 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -11896,9 +11896,9 @@ minimist-options@4.1.0: kind-of "^6.0.3" minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + version "1.2.6" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" + integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== minipass-collect@^1.0.2: version "1.0.2" From 13cd6cc9755dc115f0e9c2fecb1e2cd7322c785d Mon Sep 17 00:00:00 2001 From: Shawn McKay Date: Sun, 10 Apr 2022 14:12:46 -0700 Subject: [PATCH 41/41] replace node sass with sass (#591) Signed-off-by: shmck --- web-app/package.json | 2 +- web-app/yarn.lock | 659 ++++++------------------------------------- 2 files changed, 81 insertions(+), 580 deletions(-) diff --git a/web-app/package.json b/web-app/package.json index 85d14c46..24285f25 100644 --- a/web-app/package.json +++ b/web-app/package.json @@ -40,6 +40,7 @@ "react-addons-css-transition-group": "15.6.2", "react-dom": "16.13.1", "reselect": "^4.1.5", + "sass": "1.50.0", "use-media": "1.4.0", "xstate": "^4.26.1" }, @@ -66,7 +67,6 @@ "babel-plugin-import": "1.13.3", "customize-cra": "1.0.0", "mini-css-extract-plugin": "0.11.2", - "node-sass": "6.0.1", "prettier": "2.5.0", "react-app-rewired": "2.1.8", "react-scripts": "4.0.3", diff --git a/web-app/yarn.lock b/web-app/yarn.lock index f492b4a8..d89aeef2 100644 --- a/web-app/yarn.lock +++ b/web-app/yarn.lock @@ -4417,11 +4417,6 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - "@types/node-fetch@^2.5.7": version "2.5.10" resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132" @@ -4926,11 +4921,6 @@ abab@^2.0.3, abab@^2.0.5: resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" @@ -5043,7 +5033,7 @@ ajv-keywords@^3.5.2: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.5.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -5068,11 +5058,6 @@ alphanum-sort@^1.0.0: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= - ansi-align@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" @@ -5139,11 +5124,6 @@ ansi-regex@^5.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -5182,21 +5162,29 @@ anymatch@^3.0.3, anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +anymatch@~3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + app-root-dir@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118" integrity sha1-OBh+wt6nV3//Az/8sSFyaS/24Rg= -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - "aproba@^1.0.3 || ^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== +aproba@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + are-we-there-yet@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" @@ -5205,14 +5193,6 @@ are-we-there-yet@^2.0.0: delegates "^1.0.0" readable-stream "^3.6.0" -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -5350,11 +5330,6 @@ array.prototype.map@^1.0.1: es-array-method-boxes-properly "^1.0.0" is-string "^1.0.4" -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - arrify@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" @@ -5374,18 +5349,6 @@ asn1.js@^4.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - assert@^1.1.1: version "1.5.0" resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" @@ -5431,11 +5394,6 @@ async-each@^1.0.1: resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== -async-foreach@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" - integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI= - async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -5494,16 +5452,6 @@ autoprefixer@^9.8.6: postcss "^7.0.32" postcss-value-parser "^4.1.0" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" - integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== - axe-core@^4.3.5: version "4.3.5" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5" @@ -5873,13 +5821,6 @@ batch@0.6.1: resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - better-opn@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6" @@ -6294,15 +6235,6 @@ camelcase-css@2.0.1: resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" @@ -6360,11 +6292,6 @@ case-sensitive-paths-webpack-plugin@^2.3.0: resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - ccount@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" @@ -6384,17 +6311,6 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - chalk@^4.0.0, chalk@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" @@ -6428,6 +6344,21 @@ check-types@^11.1.1: resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.1.2.tgz#86a7c12bf5539f6324eb0e70ca8896c0e38f3e2f" integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== +"chokidar@>=3.0.0 <4.0.0": + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + chokidar@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" @@ -6604,11 +6535,6 @@ coa@^2.0.2: chalk "^2.4.1" q "^1.1.2" -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" @@ -6687,7 +6613,7 @@ colors@^1.1.2: resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== -combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -6796,7 +6722,7 @@ console-browserify@^1.1.0: resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== -console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0: +console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= @@ -6920,7 +6846,7 @@ core-js@^3.8.2: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.12.1.tgz#6b5af4ff55616c08a44d386f1f510917ff204112" integrity sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw== -core-util-is@1.0.2, core-util-is@~1.0.0: +core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= @@ -7013,7 +6939,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -7330,13 +7256,6 @@ damerau-levenshtein@^1.0.7: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -7386,15 +7305,7 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: dependencies: ms "^2.1.1" -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: +decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -7759,14 +7670,6 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -7910,11 +7813,6 @@ entities@^2.0.0, entities@~2.1.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -8057,7 +7955,7 @@ escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -8521,7 +8419,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.2: +extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -8540,16 +8438,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -8795,11 +8683,6 @@ for-in@^1.0.2: resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - fork-ts-checker-webpack-plugin@4.1.6, fork-ts-checker-webpack-plugin@^4.1.6: version "4.1.6" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5" @@ -8841,15 +8724,6 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - format@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" @@ -8969,7 +8843,7 @@ fsevents@^2.1.2: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== -fsevents@^2.1.3, fsevents@~2.3.1: +fsevents@^2.1.3, fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -9023,27 +8897,6 @@ gauge@^3.0.0: strip-ansi "^3.0.1 || ^4.0.0" wide-align "^1.1.2" -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -gaze@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" - integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g== - dependencies: - globule "^1.0.0" - gensync@^1.0.0-beta.1: version "1.0.0-beta.1" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" @@ -9078,11 +8931,6 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -9110,13 +8958,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -9125,7 +8966,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.1.0, glob-parent@^5.1.2: +glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== @@ -9156,7 +8997,7 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@~7.1.1: +glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -9260,15 +9101,6 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -globule@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.1.tgz#90a25338f22b7fbeb527cee63c629aea754d33b9" - integrity sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g== - dependencies: - glob "~7.1.1" - lodash "~4.17.12" - minimatch "~3.0.2" - good-listener@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" @@ -9281,11 +9113,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== -graceful-fs@^4.2.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" - integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== - graceful-fs@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -9333,36 +9160,11 @@ handlebars@^4.7.7: optionalDependencies: uglify-js "^3.1.4" -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - harmony-reflect@^1.4.6: version "1.6.1" resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" @@ -9402,7 +9204,7 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@^2.0.0, has-unicode@^2.0.1: +has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= @@ -9599,13 +9401,6 @@ hosted-git-info@^2.1.4: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - dependencies: - lru-cache "^6.0.0" - hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -9793,15 +9588,6 @@ http-proxy@^1.17.0: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - https-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" @@ -9871,6 +9657,11 @@ immer@8.0.1: resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== +immutable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== + import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -10151,7 +9942,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0, is-core-module@^2.5.0, is-core-module@^2.8.0: +is-core-module@^2.0.0, is-core-module@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== @@ -10242,13 +10033,6 @@ is-extglob@^2.1.0, is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - is-fullwidth-code-point@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" @@ -10363,7 +10147,7 @@ is-path-inside@^2.1.0: dependencies: path-is-inside "^1.0.2" -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: +is-plain-obj@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= @@ -10469,7 +10253,7 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.1" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -10550,11 +10334,6 @@ isobject@^4.0.0: resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - istanbul-lib-coverage@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" @@ -11063,11 +10842,6 @@ jest@26.6.0: import-local "^3.0.2" jest-cli "^26.6.0" -js-base64@^2.1.8: - version "2.5.2" - resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" - integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ== - js-string-escape@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" @@ -11093,11 +10867,6 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - jsdom@^16.4.0: version "16.7.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" @@ -11156,21 +10925,11 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - json3@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" @@ -11220,16 +10979,6 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" @@ -11267,7 +11016,7 @@ kind-of@^5.0.0: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -11470,7 +11219,7 @@ lodash.uniq@4.5.0, lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@~4.17.12: +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -11567,16 +11316,6 @@ map-cache@^0.2.2: resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - map-or-similar@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" @@ -11707,24 +11446,6 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize "^1.2.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.18.0" - yargs-parser "^20.2.3" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" @@ -11808,7 +11529,7 @@ mime-db@1.47.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.47.0.tgz#8cb313e59965d3c05cfbf898915a267af46a335c" integrity sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw== -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.24: version "2.1.26" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.26.tgz#9c921fc09b7e149a65dfdc0da4d20997200b0a06" integrity sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ== @@ -11879,22 +11600,13 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= -minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" @@ -12012,7 +11724,7 @@ multicast-dns@^6.0.1: dns-packet "^1.3.1" thunky "^1.0.2" -nan@^2.12.1, nan@^2.13.2: +nan@^2.12.1: version "2.14.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== @@ -12108,22 +11820,6 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== -node-gyp@^7.1.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-7.1.2.tgz#21a810aebb187120251c3bcec979af1587b188ae" - integrity sha512-CbpcIo7C3eMu3dL1c3d0xw449fHIGALIJsRP4DDPHpyiW8vcriNY7ubh9TE4zEKfSxscY7PjeFnshE7h75ynjQ== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.3" - nopt "^5.0.0" - npmlog "^4.1.2" - request "^2.88.2" - rimraf "^3.0.2" - semver "^7.3.2" - tar "^6.0.2" - which "^2.0.2" - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -12195,34 +11891,6 @@ node-releases@^2.0.1: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== -node-sass@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-6.0.1.tgz#cad1ccd0ce63e35c7181f545d8b986f3a9a887fe" - integrity sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ== - dependencies: - async-foreach "^0.1.3" - chalk "^1.1.1" - cross-spawn "^7.0.3" - gaze "^1.0.0" - get-stdin "^4.0.1" - glob "^7.0.3" - lodash "^4.17.15" - meow "^9.0.0" - nan "^2.13.2" - node-gyp "^7.1.0" - npmlog "^4.0.0" - request "^2.88.0" - sass-graph "2.2.5" - stdout-stream "^1.4.0" - "true-case-path" "^1.0.2" - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -12233,16 +11901,6 @@ normalize-package-data@^2.5.0: semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" @@ -12289,16 +11947,6 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" -npmlog@^4.0.0, npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - npmlog@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" @@ -12321,21 +11969,11 @@ num2fraction@^1.2.2: resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -13887,7 +13525,7 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= -psl@^1.1.28, psl@^1.1.33: +psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== @@ -13961,11 +13599,6 @@ qs@^6.10.0: dependencies: side-channel "^1.0.4" -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - query-string@^4.1.0: version "4.3.4" resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -13994,11 +13627,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" @@ -14439,7 +14067,7 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== @@ -14484,6 +14112,13 @@ readdirp@~3.5.0: dependencies: picomatch "^2.2.1" +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + recast@^0.14.7: version "0.14.7" resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d" @@ -14501,14 +14136,6 @@ recursive-readdir@2.2.2: dependencies: minimatch "3.0.4" -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - refractor@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.2.0.tgz#bc46f7cfbb6adbf45cd304e8e299b7fa854804e0" @@ -14702,32 +14329,6 @@ repeat-string@^1.5.4, repeat-string@^1.6.1: resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= -request@^2.88.0, request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -14982,7 +14583,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -15007,16 +14608,6 @@ sanitize.css@^10.0.0: resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" integrity sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg== -sass-graph@2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8" - integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag== - dependencies: - glob "^7.0.0" - lodash "^4.0.0" - scss-tokenizer "^0.2.3" - yargs "^13.3.2" - sass-loader@12.3.0: version "12.3.0" resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.3.0.tgz#93278981c189c36a58cbfc37d4b9cef0cdc02871" @@ -15036,6 +14627,15 @@ sass-loader@^10.0.5: schema-utils "^3.0.0" semver "^7.3.2" +sass@1.50.0: + version "1.50.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.50.0.tgz#3e407e2ebc53b12f1e35ce45efb226ea6063c7c8" + integrity sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ== + dependencies: + chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" + sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -15109,14 +14709,6 @@ schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" -scss-tokenizer@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" - integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE= - dependencies: - js-base64 "^2.1.8" - source-map "^0.4.2" - select-hose@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" @@ -15233,7 +14825,7 @@ serve-static@1.14.1: parseurl "~1.3.3" send "0.17.1" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -15451,6 +15043,11 @@ source-map-explorer@2.5.2: temp "^0.9.4" yargs "^16.2.0" +"source-map-js@>=0.6.2 <2.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + source-map-js@^0.6.2: version "0.6.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" @@ -15501,13 +15098,6 @@ source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, sourc resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" - integrity sha1-66T12pwNyZneaAMti092FzZSA2s= - dependencies: - amdefine ">=0.0.4" - source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" @@ -15589,21 +15179,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - ssri@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" @@ -15653,13 +15228,6 @@ static-extend@^0.1.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= -stdout-stream@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de" - integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA== - dependencies: - readable-stream "^2.0.1" - store2@^2.12.0: version "2.12.0" resolved "https://registry.yarnpkg.com/store2/-/store2-2.12.0.tgz#e1f1b7e1a59b6083b2596a8d067f6ee88fd4d3cf" @@ -15715,16 +15283,7 @@ string-natural-compare@^3.0.1: resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.1 || ^2.0.0", "string-width@^1.0.2 || 2": +"string-width@^1.0.1 || ^2.0.0": version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== @@ -15978,11 +15537,6 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -16310,14 +15864,6 @@ tough-cookie@^4.0.0: punycode "^2.1.1" universalify "^0.1.2" -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - tr46@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" @@ -16330,11 +15876,6 @@ tr46@~0.0.3: resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - trim-trailing-lines@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" @@ -16350,13 +15891,6 @@ trough@^1.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== -"true-case-path@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d" - integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew== - dependencies: - glob "^7.1.2" - tryer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" @@ -16421,18 +15955,6 @@ tty-browserify@0.0.0: resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -16457,11 +15979,6 @@ type-fest@^0.11.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== -type-fest@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" - integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -16894,15 +16411,6 @@ vendors@^1.0.0: resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - vfile-location@^3.0.0, vfile-location@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" @@ -17281,13 +16789,6 @@ which@^2.0.1, which@^2.0.2: dependencies: isexe "^2.0.0" -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - wide-align@^1.1.2: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" @@ -17606,7 +17107,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.2.2: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==