Update UI Tests to use Galata

pull/6294/head
Jeremy Tuloup 5 years ago
parent 6ce134fa17
commit 6f8e0c1faa

@ -0,0 +1,53 @@
name: "Build RetroLab"
description: "Build RetroLab fron source"
runs:
using: "composite"
steps:
- name: Install node
uses: actions/setup-node@v2
with:
node-version: '14.x'
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
architecture: 'x64'
- name: Install dependencies
shell: bash
run: |
python -m pip install --upgrade pip wheel
python -m pip install setuptools jupyter_packaging~=0.10 "jupyterlab>=3,<4" build
- name: Build pypi distributions
shell: bash
run: |
python -m build
- name: Build npm distributions
shell: bash
run: |
mkdir pkgs
jlpm lerna exec -- npm pack
cp packages/*/*.tgz pkgs
- name: Build checksum file
shell: bash
run: |
cd dist
sha256sum * | tee SHA256SUMS
cd ../pkgs
sha256sum * | tee SHA256SUMS
- name: Upload distributions
uses: actions/upload-artifact@v2
with:
name: retrolab-dist-${{ github.run_number }}
path: ./dist
- name: Upload distributions
uses: actions/upload-artifact@v2
with:
name: retrolab-pkgs-${{ github.run_number }}
path: ./pkgs

@ -2,9 +2,11 @@ name: Build
on:
push:
branches: '*'
branches:
- '*'
pull_request:
branches: '*'
branches:
- '*'
permissions:
contents:
@ -18,6 +20,15 @@ defaults:
shell: bash -l {0}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build
uses: ./.github/actions/build-dist
test:
runs-on: ubuntu-latest
steps:
@ -52,52 +63,9 @@ jobs:
jlpm run build:test
jlpm run test
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install node
uses: actions/setup-node@v2
with:
node-version: '14.x'
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
architecture: 'x64'
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel
python -m pip install setuptools jupyter_packaging~=0.10 "jupyterlab>=3,<4" build
- name: Build pypi distributions
run: |
python -m build
- name: Build npm distributions
run: |
mkdir pkgs
jlpm lerna exec -- npm pack
cp packages/*/*.tgz pkgs
- name: Build checksum file
run: |
cd dist
sha256sum * | tee SHA256SUMS
cd ../pkgs
sha256sum * | tee SHA256SUMS
- name: Upload distributions
uses: actions/upload-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
- name: Upload distributions
uses: actions/upload-artifact@v2
with:
name: pkgs ${{ github.run_number }}
path: ./pkgs
install:
runs-on: ${{ matrix.os }}-latest
needs: [build]
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
@ -143,43 +111,3 @@ jobs:
jupyter server extension list 2>&1 | grep -ie "retrolab.*enabled" -
jupyter retro --version
jupyter retro --help
end2end:
needs: [build]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
browser: [firefox, chromium]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
architecture: 'x64'
- uses: actions/download-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
- name: Install the prerequisites
run: |
python -m pip install pip wheel
- name: Install the package
run: |
cd dist
python -m pip install -vv retrolab*.whl
- uses: microsoft/playwright-github-action@v1
- name: Test
run: |
jlpm
jlpm run build:test
jlpm run test:ci
env:
BROWSER: ${{ matrix.browser }}
- uses: actions/upload-artifact@v2
if: ${{ always() }}
with:
name: test-artifacts-${{ matrix.browser }} ${{ github.run_number }}
path: app/test-results

@ -0,0 +1,100 @@
name: UI Tests
on: [push, pull_request]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Build
uses: ./.github/actions/build-dist
ui-tests:
needs: [build]
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
browser: [firefox, chromium]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
architecture: 'x64'
- uses: actions/download-artifact@v2
with:
name: dist ${{ github.run_number }}
path: ./dist
- name: Install the prerequisites
run: |
python -m pip install pip wheel
- name: Install the package
run: |
cd dist
python -m pip install -vv retrolab*.whl
- name: Install the test dependencies
run: |
cd ui-tests
jlpm --frozen-lockfile
jlpm playwright install
- name: Start RetroLab
run: |
cd ui-tests
jlpm start:detached
- name: Wait for RetroLab
uses: ifaxity/wait-on-action@v1
with:
resource: http-get://127.0.0.1:8888/
timeout: 360000
- name: Test
run: |
cd ui-tests
jlpm test --browser ${{ matrix.browser }}
- name: Upload Playwright Test assets
if: always()
uses: actions/upload-artifact@v2
with:
name: retrolab-${{ matrix.browser }}-test-assets
path: |
ui-tests/test-results
- name: Upload Playwright Test report
if: always()
uses: actions/upload-artifact@v2
with:
name: retrolab-${{ matrix.browser }}-test-report
path: |
ui-tests/playwright-report
- name: Update snapshots
if: failure()
run: |
cd ui-tests
# remove previous snapshots from other browser
jlpm rimraf "test/**/*-snapshots/*.png"
# generate new snapshots
jlpm run test:update --browser ${{ matrix.browser }}
- name: Upload updated snapshots
if: failure()
uses: actions/upload-artifact@v2
with:
name: retrolab-${{ matrix.browser }}-updated-snapshots
path: ui-tests/test

4
.gitignore vendored

@ -119,5 +119,5 @@ retrolab/labextension
retrolab/schemas
# playwright
app/test-results
app/test/data
ui-tests/test-results
ui-tests/playwright-report

@ -7,11 +7,8 @@
"build:prod": "webpack --mode=production",
"build:test": "tsc --build tsconfig.test.json",
"clean": "rimraf build && jlpm run clean:static",
"clean:artifacts": "rimraf artifacts",
"clean:static": "rimraf -g \"../retrolab/static/!(favicons)\"",
"prepublishOnly": "yarn run build",
"test:e2e": "jlpm run clean:artifacts && playwright test",
"test:e2e:pwdebug": "jlpm run clean:artifacts && PWDEBUG=1 jlpm run test:e2e",
"watch": "webpack --config ./webpack.config.watch.js"
},
"resolutions": {
@ -132,7 +129,6 @@
"devDependencies": {
"@jupyterlab/builder": "^3.2.0",
"@jupyterlab/buildutils": "^3.2.0",
"@playwright/test": "^1.12.3",
"@types/rimraf": "^3.0.0",
"css-loader": "~5.0.1",
"file-loader": "~5.0.2",

@ -1,23 +0,0 @@
import process from 'process';
import { PlaywrightTestConfig } from '@playwright/test';
import { BrowserName } from './test/utils';
const browserName = (process.env.BROWSER ?? 'chromium') as BrowserName;
const config: PlaywrightTestConfig = {
projects: [
{
name: 'Retro',
use: {
viewport: { width: 1600, height: 900 },
slowMo: 100,
video: 'on',
browserName
},
outputDir: 'test-results'
}
]
};
export default config;

@ -1,55 +0,0 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
import fs from 'fs';
import path from 'path';
import rimraf from 'rimraf';
import { test, expect } from '@playwright/test';
import { BASE_URL } from './utils';
const NOTEBOOK_PATH = 'app/test/data/example.ipynb';
const NOTEBOOK_URL = `${BASE_URL}retro/notebooks/${NOTEBOOK_PATH}`;
test.beforeAll(async () => {
const data = path.join(__dirname, './data');
const example = path.join(__dirname, '../../binder/example.ipynb');
const dest = path.join(data, 'example.ipynb');
rimraf.sync(data);
fs.mkdirSync(data);
fs.copyFileSync(example, dest);
});
test.describe('Notebook', () => {
test('Title should be rendered', async ({ page }) => {
await page.goto(NOTEBOOK_URL);
await page.waitForTimeout(2000);
const href = await page.evaluate(() => {
return document.querySelector('#jp-RetroLogo')?.getAttribute('href');
});
expect(href).toContain('/retro/tree');
});
test('Renaming the notebook should be possible', async ({ page }) => {
await page.goto(NOTEBOOK_URL);
// Click on the title
await page.click('text="example.ipynb"');
// Rename in the input dialog
const newName = 'test.ipynb';
await page.fill(
`//div[normalize-space(.)='File Path${NOTEBOOK_PATH}New Name']/input`,
newName
);
await page.click('text="Rename"');
// Check the URL contains the new name
const url = page.url();
expect(url).toContain(newName);
});
});

@ -1,30 +0,0 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
import { test, expect } from '@playwright/test';
import { BASE_URL } from './utils';
test('Tree', async ({ page }) => {
await page.goto(`${BASE_URL}retro/tree`);
const button = await page.$('text="New Notebook"');
expect(button).toBeDefined();
});
test('should go to subfolder', async ({ page }) => {
await page.goto(`${BASE_URL}retro/tree/binder`);
expect(
await page.waitForSelector('.jp-FileBrowser-crumbs >> text=/binder/')
).toBeTruthy();
});
test('should update url when navigating in filebrowser', async ({ page }) => {
await page.goto(`${BASE_URL}retro/tree`);
await page.dblclick('.jp-FileBrowser-listing >> text=binder');
await page.waitForSelector('.jp-FileBrowser-crumbs >> text=/binder/');
expect(page.url()).toEqual(`${BASE_URL}retro/tree/binder`);
});

@ -1,3 +0,0 @@
export type BrowserName = 'chromium' | 'firefox';
export const BASE_URL = 'http://localhost:8889/';

@ -33,10 +33,7 @@
"prettier:check": "prettier --list-different \"**/*{.ts,.tsx,.js,.jsx,.css,.json,.md}\"",
"release:bump": "node ./buildutils/lib/release-bump.js",
"release:patch": "node ./buildutils/lib/release-patch.js",
"start": "jupyter retro --config ./app/test/jupyter_server_config.py --no-browser",
"test": "lerna run test",
"test:ci": "(jlpm run start&) && jlpm run test:e2e",
"test:e2e": "lerna run test:e2e --stream",
"update:dependency": "node ./node_modules/@jupyterlab/buildutils/lib/update-dependency.js --lerna",
"watch": "run-p watch:lib watch:app",
"watch:app": "lerna exec --stream --scope \"@retrolab/app\" jlpm watch",

@ -1,5 +1,5 @@
{
"extends": "./tsconfigbase",
"include": ["packages/**/*", "app/**/*", "buildutils/**/*"],
"include": ["packages/**/*", "app/**/*", "buildutils/**/*", "ui-tests/**/*"],
"types": ["jest"]
}

@ -0,0 +1,19 @@
{
"name": "@retrolab/ui-tests",
"private": true,
"version": "0.1.0",
"author": "Project Jupyter",
"license": "BSD-3-Clause",
"description": "RetroLab UI Tests",
"scripts": {
"start": "jupyter retro --config test/jupyter_server_config.py",
"start:detached": "yarn run start&",
"test": "playwright test",
"test:debug": "PWDEBUG=1 playwright test",
"test:report": "http-server ./playwright-report -a localhost -o",
"test:update": "playwright test --update-snapshots"
},
"dependencies": {
"@jupyterlab/galata": "~4.0.2"
}
}

@ -0,0 +1,10 @@
import baseConfig from '@jupyterlab/galata/lib/playwright-config';
module.exports = {
...baseConfig,
timeout: 240000,
use: {
appPath: '/retro'
},
retries: 1
};

@ -0,0 +1,10 @@
import { test as base } from '@jupyterlab/galata';
export const test = base.extend({
waitForApplication: async ({ baseURL }, use, testInfo) => {
const waitIsReady = async (page): Promise<void> => {
await page.waitForSelector('#main-panel');
};
await use(waitIsReady);
}
});

@ -1,5 +1,6 @@
c.ServerApp.port = 8889
c.ServerApp.port = 8888
c.ServerApp.token = ""
c.ServerApp.password = ""
c.ServerApp.disable_check_xsrf = True
c.ServerApp.open_browser = False
c.RetroApp.expose_app_in_browser = True

@ -0,0 +1,57 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
import path from 'path';
import { test } from './fixtures';
import { expect } from '@playwright/test';
const NOTEBOOK = 'example.ipynb';
test.use({ autoGoto: false });
test.describe('Notebook', () => {
test.beforeEach(async ({ page, tmpPath }) => {
await page.contents.uploadFile(
path.resolve(__dirname, `../../binder/${NOTEBOOK}`),
`${tmpPath}/${NOTEBOOK}`
);
});
test('Title should be rendered', async ({ page, tmpPath }) => {
await page.goto(`notebooks/${tmpPath}/${NOTEBOOK}`);
const href = await page.evaluate(() => {
return document.querySelector('#jp-RetroLogo')?.getAttribute('href');
});
expect(href).toContain('/retro/tree');
});
test('Renaming the notebook should be possible', async ({
page,
tmpPath
}) => {
const notebook = `${tmpPath}/${NOTEBOOK}`;
await page.goto(`notebooks/${notebook}`);
// Click on the title
await page.click('text="example.ipynb"');
// Rename in the input dialog
const newName = 'test.ipynb';
await page.fill(
`//div[normalize-space(.)='File Path${notebook}New Name']/input`,
newName
);
await Promise.all([
await page.click('text="Rename"'),
// wait until the URL is updated
await page.waitForNavigation()
]);
// Check the URL contains the new name
const url = page.url();
expect(url).toContain(newName);
});
});

@ -1,19 +1,24 @@
import { test, expect } from '@playwright/test';
import { test } from './fixtures';
import { BASE_URL } from './utils';
import { expect } from '@playwright/test';
test.use({ autoGoto: false });
test.describe('Smoke', () => {
test('Tour', async ({ page }) => {
test('Tour', async ({ page, tmpPath }) => {
// Open the tree page
await page.goto(`${BASE_URL}retro/tree`);
await page.goto(`tree/${tmpPath}`);
await page.click('text="Running"');
await page.click('text="Files"');
// Create a new console
await page.click('text="New Console"');
// Choose the kernel
await page.click('text="Select"');
const console = await page.waitForEvent('popup');
const [console] = await Promise.all([
page.waitForEvent('popup'),
page.click('text="Select"')
]);
await console.waitForLoadState();
await console.waitForSelector('.jp-CodeConsole');
// Create a new notebook

@ -0,0 +1,38 @@
// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.
import { test } from './fixtures';
import { expect } from '@playwright/test';
const SUBFOLDER = 'subfolder';
test('Tree', async ({ page }) => {
await page.goto('tree');
const button = await page.$('text="New Notebook"');
expect(button).toBeDefined();
});
test('should go to subfolder', async ({ page, tmpPath }) => {
const dir = `${tmpPath}/${SUBFOLDER}`;
await page.contents.createDirectory(dir);
await page.goto(`tree/${dir}`);
expect(
await page.waitForSelector(`.jp-FileBrowser-crumbs >> text=/${SUBFOLDER}/`)
).toBeTruthy();
});
test('should update url when navigating in filebrowser', async ({
page,
tmpPath
}) => {
await page.contents.createDirectory(`${tmpPath}/${SUBFOLDER}`);
await page.dblclick(`.jp-FileBrowser-listing >> text=${SUBFOLDER}`);
await page.waitForSelector(`.jp-FileBrowser-crumbs >> text=/${SUBFOLDER}/`);
const url = new URL(page.url());
expect(url.pathname).toEqual(`/retro/tree/${tmpPath}/${SUBFOLDER}`);
});

File diff suppressed because it is too large Load Diff

@ -16,23 +16,11 @@
dependencies:
"@babel/highlight" "^7.12.13"
"@babel/code-frame@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"
integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==
dependencies:
"@babel/highlight" "^7.14.5"
"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.14.0":
version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919"
integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==
"@babel/compat-data@^7.14.5":
version "7.14.7"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08"
integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==
"@babel/core@^7.1.0", "@babel/core@^7.10.2", "@babel/core@^7.11.6", "@babel/core@^7.7.5":
version "7.14.3"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38"
@ -54,27 +42,6 @@
semver "^6.3.0"
source-map "^0.5.0"
"@babel/core@^7.14.0":
version "7.14.6"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab"
integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==
dependencies:
"@babel/code-frame" "^7.14.5"
"@babel/generator" "^7.14.5"
"@babel/helper-compilation-targets" "^7.14.5"
"@babel/helper-module-transforms" "^7.14.5"
"@babel/helpers" "^7.14.6"
"@babel/parser" "^7.14.6"
"@babel/template" "^7.14.5"
"@babel/traverse" "^7.14.5"
"@babel/types" "^7.14.5"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.1.2"
semver "^6.3.0"
source-map "^0.5.0"
"@babel/generator@^7.14.2", "@babel/generator@^7.14.3":
version "7.14.3"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91"
@ -84,15 +51,6 @@
jsesc "^2.5.1"
source-map "^0.5.0"
"@babel/generator@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785"
integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA==
dependencies:
"@babel/types" "^7.14.5"
jsesc "^2.5.1"
source-map "^0.5.0"
"@babel/helper-annotate-as-pure@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
@ -100,13 +58,6 @@
dependencies:
"@babel/types" "^7.12.13"
"@babel/helper-annotate-as-pure@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61"
integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc"
@ -125,16 +76,6 @@
browserslist "^4.14.5"
semver "^6.3.0"
"@babel/helper-compilation-targets@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf"
integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw==
dependencies:
"@babel/compat-data" "^7.14.5"
"@babel/helper-validator-option" "^7.14.5"
browserslist "^4.16.6"
semver "^6.3.0"
"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.0", "@babel/helper-create-class-features-plugin@^7.14.3":
version "7.14.3"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz#832111bcf4f57ca57a4c5b1a000fc125abc6554a"
@ -147,18 +88,6 @@
"@babel/helper-replace-supers" "^7.14.3"
"@babel/helper-split-export-declaration" "^7.12.13"
"@babel/helper-create-class-features-plugin@^7.14.6":
version "7.14.6"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz#f114469b6c06f8b5c59c6c4e74621f5085362542"
integrity sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==
dependencies:
"@babel/helper-annotate-as-pure" "^7.14.5"
"@babel/helper-function-name" "^7.14.5"
"@babel/helper-member-expression-to-functions" "^7.14.5"
"@babel/helper-optimise-call-expression" "^7.14.5"
"@babel/helper-replace-supers" "^7.14.5"
"@babel/helper-split-export-declaration" "^7.14.5"
"@babel/helper-create-regexp-features-plugin@^7.12.13":
version "7.14.3"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz#149aa6d78c016e318c43e2409a0ae9c136a86688"
@ -197,15 +126,6 @@
"@babel/template" "^7.12.13"
"@babel/types" "^7.14.2"
"@babel/helper-function-name@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4"
integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==
dependencies:
"@babel/helper-get-function-arity" "^7.14.5"
"@babel/template" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/helper-get-function-arity@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
@ -213,13 +133,6 @@
dependencies:
"@babel/types" "^7.12.13"
"@babel/helper-get-function-arity@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815"
integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-hoist-variables@^7.13.0":
version "7.13.16"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30"
@ -228,13 +141,6 @@
"@babel/traverse" "^7.13.15"
"@babel/types" "^7.13.16"
"@babel/helper-hoist-variables@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d"
integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-member-expression-to-functions@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72"
@ -242,13 +148,6 @@
dependencies:
"@babel/types" "^7.13.12"
"@babel/helper-member-expression-to-functions@^7.14.5":
version "7.14.7"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970"
integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
@ -256,13 +155,6 @@
dependencies:
"@babel/types" "^7.13.12"
"@babel/helper-module-imports@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3"
integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5"
@ -277,20 +169,6 @@
"@babel/traverse" "^7.14.2"
"@babel/types" "^7.14.2"
"@babel/helper-module-transforms@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e"
integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA==
dependencies:
"@babel/helper-module-imports" "^7.14.5"
"@babel/helper-replace-supers" "^7.14.5"
"@babel/helper-simple-access" "^7.14.5"
"@babel/helper-split-export-declaration" "^7.14.5"
"@babel/helper-validator-identifier" "^7.14.5"
"@babel/template" "^7.14.5"
"@babel/traverse" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/helper-optimise-call-expression@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
@ -298,23 +176,11 @@
dependencies:
"@babel/types" "^7.12.13"
"@babel/helper-optimise-call-expression@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c"
integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af"
integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==
"@babel/helper-plugin-utils@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9"
integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
"@babel/helper-remap-async-to-generator@^7.13.0":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209"
@ -334,16 +200,6 @@
"@babel/traverse" "^7.14.2"
"@babel/types" "^7.14.2"
"@babel/helper-replace-supers@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94"
integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow==
dependencies:
"@babel/helper-member-expression-to-functions" "^7.14.5"
"@babel/helper-optimise-call-expression" "^7.14.5"
"@babel/traverse" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/helper-simple-access@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
@ -351,13 +207,6 @@
dependencies:
"@babel/types" "^7.13.12"
"@babel/helper-simple-access@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4"
integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
@ -372,33 +221,16 @@
dependencies:
"@babel/types" "^7.12.13"
"@babel/helper-split-export-declaration@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a"
integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==
dependencies:
"@babel/types" "^7.14.5"
"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0":
version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
"@babel/helper-validator-identifier@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8"
integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg==
"@babel/helper-validator-option@^7.12.17":
version "7.12.17"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==
"@babel/helper-validator-option@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3"
integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==
"@babel/helper-wrap-function@^7.13.0":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4"
@ -418,15 +250,6 @@
"@babel/traverse" "^7.14.0"
"@babel/types" "^7.14.0"
"@babel/helpers@^7.14.6":
version "7.14.6"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635"
integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==
dependencies:
"@babel/template" "^7.14.5"
"@babel/traverse" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13":
version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
@ -436,25 +259,11 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/highlight@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"
integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==
dependencies:
"@babel/helper-validator-identifier" "^7.14.5"
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3":
version "7.14.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298"
integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ==
"@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7":
version "7.14.7"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595"
integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA==
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
version "7.13.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a"
@ -490,14 +299,6 @@
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-class-static-block" "^7.12.13"
"@babel/plugin-proposal-dynamic-import@^7.13.8":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c"
integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-proposal-dynamic-import@^7.14.2":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz#01ebabd7c381cff231fa43e302939a9de5be9d9f"
@ -506,14 +307,6 @@
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-proposal-export-namespace-from@^7.12.13":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76"
integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
"@babel/plugin-proposal-export-namespace-from@^7.14.2":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz#62542f94aa9ce8f6dba79eec698af22112253791"
@ -530,14 +323,6 @@
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-proposal-logical-assignment-operators@^7.13.8":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738"
integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
"@babel/plugin-proposal-logical-assignment-operators@^7.14.2":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz#222348c080a1678e0e74ea63fe76f275882d1fd7"
@ -546,14 +331,6 @@
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6"
integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.2":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz#425b11dc62fc26939a2ab42cbba680bdf5734546"
@ -562,14 +339,6 @@
"@babel/helper-plugin-utils" "^7.13.0"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
"@babel/plugin-proposal-numeric-separator@^7.12.13":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18"
integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
"@babel/plugin-proposal-numeric-separator@^7.14.2":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz#82b4cc06571143faf50626104b335dd71baa4f9e"
@ -744,13 +513,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-syntax-typescript@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716"
integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-transform-arrow-functions@^7.13.0":
version "7.13.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae"
@ -984,15 +746,6 @@
dependencies:
"@babel/helper-plugin-utils" "^7.12.13"
"@babel/plugin-transform-typescript@^7.14.5":
version "7.14.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.6.tgz#6e9c2d98da2507ebe0a883b100cde3c7279df36c"
integrity sha512-XlTdBq7Awr4FYIzqhmYY80WN0V0azF74DMPyFqVHBvf81ZUgc4X7ZOpx6O8eLDK6iM5cCQzeyJw0ynTaefixRA==
dependencies:
"@babel/helper-create-class-features-plugin" "^7.14.6"
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/plugin-syntax-typescript" "^7.14.5"
"@babel/plugin-transform-unicode-escapes@^7.12.13":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74"
@ -1098,15 +851,6 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
"@babel/preset-typescript@^7.13.0":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz#aa98de119cf9852b79511f19e7f44a2d379bcce0"
integrity sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
"@babel/helper-validator-option" "^7.14.5"
"@babel/plugin-transform-typescript" "^7.14.5"
"@babel/runtime@^7.1.2", "@babel/runtime@^7.8.4":
version "7.14.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
@ -1123,15 +867,6 @@
"@babel/parser" "^7.12.13"
"@babel/types" "^7.12.13"
"@babel/template@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4"
integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==
dependencies:
"@babel/code-frame" "^7.14.5"
"@babel/parser" "^7.14.5"
"@babel/types" "^7.14.5"
"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.13.15", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b"
@ -1146,21 +881,6 @@
debug "^4.1.0"
globals "^11.1.0"
"@babel/traverse@^7.14.5":
version "7.14.7"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753"
integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==
dependencies:
"@babel/code-frame" "^7.14.5"
"@babel/generator" "^7.14.5"
"@babel/helper-function-name" "^7.14.5"
"@babel/helper-hoist-variables" "^7.14.5"
"@babel/helper-split-export-declaration" "^7.14.5"
"@babel/parser" "^7.14.7"
"@babel/types" "^7.14.5"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.16", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
version "7.14.2"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3"
@ -1169,14 +889,6 @@
"@babel/helper-validator-identifier" "^7.14.0"
to-fast-properties "^2.0.0"
"@babel/types@^7.14.5":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff"
integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg==
dependencies:
"@babel/helper-validator-identifier" "^7.14.5"
to-fast-properties "^2.0.0"
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
@ -3580,57 +3292,13 @@
dependencies:
"@octokit/openapi-types" "^7.0.0"
"@playwright/test@^1.12.3":
version "1.12.3"
resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.12.3.tgz#178e5d84e4c97c339dd315bd265ab1af39275ef0"
integrity sha512-e8i8rMqd1nhdyW2ELShOc5F2EiLIcZs+2LRglrCAy/nzftpLdAqfsk6gp29n8N5KExIlzpKdoQ5QBviqGzT9DA==
dependencies:
"@babel/code-frame" "^7.12.13"
"@babel/core" "^7.14.0"
"@babel/plugin-proposal-class-properties" "^7.13.0"
"@babel/plugin-proposal-dynamic-import" "^7.13.8"
"@babel/plugin-proposal-export-namespace-from" "^7.12.13"
"@babel/plugin-proposal-logical-assignment-operators" "^7.13.8"
"@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8"
"@babel/plugin-proposal-numeric-separator" "^7.12.13"
"@babel/plugin-proposal-optional-chaining" "^7.13.12"
"@babel/plugin-proposal-private-methods" "^7.13.0"
"@babel/plugin-proposal-private-property-in-object" "^7.14.0"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
"@babel/plugin-transform-modules-commonjs" "^7.14.0"
"@babel/preset-typescript" "^7.13.0"
colors "^1.4.0"
commander "^6.1.0"
debug "^4.1.1"
expect "^26.4.2"
extract-zip "^2.0.1"
https-proxy-agent "^5.0.0"
jpeg-js "^0.4.2"
mime "^2.4.6"
minimatch "^3.0.3"
ms "^2.1.2"
pirates "^4.0.1"
pixelmatch "^5.2.1"
pngjs "^5.0.0"
progress "^2.0.3"
proper-lockfile "^4.1.1"
proxy-from-env "^1.1.0"
rimraf "^3.0.2"
source-map-support "^0.4.18"
stack-utils "^2.0.3"
ws "^7.4.6"
yazl "^2.5.1"
"@polka/url@^1.0.0-next.9":
version "1.0.0-next.12"
resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.12.tgz#431ec342a7195622f86688bbda82e3166ce8cb28"
integrity sha512-6RglhutqrGFMO1MNUXp95RBuYIuc8wTnMAV5MUhLmjTOy78ncwOw7RgeQ/HeymkKXRhZd0s2DNrM1rL7unk3MQ==
"@retrolab/application-extension@file:packages/application-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/apputils" "^3.2.0"
@ -3647,11 +3315,11 @@
"@lumino/coreutils" "^1.8.0"
"@lumino/disposable" "^1.7.0"
"@lumino/widgets" "^1.23.0"
"@retrolab/application" "^0.3.9"
"@retrolab/ui-components" "^0.3.9"
"@retrolab/application" "^0.3.12"
"@retrolab/ui-components" "^0.3.12"
"@retrolab/application@file:packages/application":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/coreutils" "^5.2.0"
@ -3666,7 +3334,7 @@
"@lumino/widgets" "^1.23.0"
"@retrolab/console-extension@file:packages/console-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/console" "^3.2.0"
@ -3674,7 +3342,7 @@
"@lumino/algorithm" "^1.6.0"
"@retrolab/docmanager-extension@file:packages/docmanager-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/coreutils" "^5.2.0"
@ -3684,16 +3352,16 @@
"@lumino/algorithm" "^1.6.0"
"@retrolab/help-extension@file:packages/help-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/apputils" "^3.2.0"
"@jupyterlab/mainmenu" "^3.2.0"
"@jupyterlab/translation" "^3.2.0"
"@retrolab/ui-components" "^0.3.9"
"@retrolab/ui-components" "^0.3.12"
"@retrolab/lab-extension@file:packages/lab-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/apputils" "^3.2.0"
@ -3705,11 +3373,11 @@
"@jupyterlab/ui-components" "^3.2.0"
"@lumino/commands" "^1.15.0"
"@lumino/disposable" "^1.7.0"
"@retrolab/application" "^0.3.9"
"@retrolab/ui-components" "^0.3.9"
"@retrolab/application" "^0.3.12"
"@retrolab/ui-components" "^0.3.12"
"@retrolab/notebook-extension@file:packages/notebook-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/apputils" "^3.2.0"
@ -3718,10 +3386,10 @@
"@jupyterlab/translation" "^3.2.0"
"@lumino/polling" "^1.6.0"
"@lumino/widgets" "^1.23.0"
"@retrolab/application" "^0.3.9"
"@retrolab/application" "^0.3.12"
"@retrolab/terminal-extension@file:packages/terminal-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/coreutils" "^5.2.0"
@ -3729,7 +3397,7 @@
"@lumino/algorithm" "^1.6.0"
"@retrolab/tree-extension@file:packages/tree-extension":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/application" "^3.2.0"
"@jupyterlab/apputils" "^3.2.0"
@ -3745,10 +3413,10 @@
"@lumino/algorithm" "^1.6.0"
"@lumino/commands" "^1.15.0"
"@lumino/widgets" "^1.23.0"
"@retrolab/application" "^0.3.9"
"@retrolab/application" "^0.3.12"
"@retrolab/ui-components@file:packages/ui-components":
version "0.3.9"
version "0.3.12"
dependencies:
"@jupyterlab/ui-components" "^3.2.0"
react "^17.0.1"
@ -5589,11 +5257,6 @@ colorette@^1.2.1, colorette@^1.2.2:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
colors@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
columnify@^1.5.4:
version "1.5.4"
resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb"
@ -7059,7 +6722,7 @@ expand-brackets@^2.1.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
expect@^26.4.2, expect@^26.6.2:
expect@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417"
integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==
@ -10229,7 +9892,7 @@ mini-css-extract-plugin@~1.3.2:
schema-utils "^3.0.0"
webpack-sources "^1.1.0"
"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.4:
"minimatch@2 || 3", minimatch@3.0.4, minimatch@^3.0.4, 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==
@ -10389,7 +10052,7 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
ms@^2.0.0, ms@^2.1.1, ms@^2.1.2:
ms@^2.0.0, ms@^2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@ -11302,13 +10965,6 @@ pirates@^4.0.1:
dependencies:
node-modules-regexp "^1.0.0"
pixelmatch@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.2.1.tgz#9e4e4f4aa59648208a31310306a5bed5522b0d65"
integrity sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ==
dependencies:
pngjs "^4.0.1"
pkg-dir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
@ -11360,11 +11016,6 @@ pn@^1.1.0:
resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
pngjs@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-4.0.1.tgz#f803869bb2fc1bfe1bf99aa4ec21c108117cfdbe"
integrity sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg==
pngjs@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
@ -12772,13 +12423,6 @@ source-map-resolve@^0.5.0:
source-map-url "^0.4.0"
urix "^0.1.0"
source-map-support@^0.4.18:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
dependencies:
source-map "^0.5.6"
source-map-support@^0.5.6, source-map-support@~0.5.19:
version "0.5.19"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61"

Loading…
Cancel
Save