diff --git a/.eslintignore b/.eslintignore index ccb95ad6b..35e915e52 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,7 +1,3 @@ **/node_modules/* **/out/* **/.next/* - -# TODO: Remove these, vscode experiments are based on existing examples and are punting on making eslint happy just yet. -**/integrations/vscode-extension/* -**/integrations/vscode-simple/* diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 000000000..11748da7c --- /dev/null +++ b/.eslintrc @@ -0,0 +1,15 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"], + "overrides": [ + { + // enable the rule specifically for TypeScript files + "files": ["*.ts", "*.tsx"], + "rules": { + "@typescript-eslint/explicit-module-boundary-types": [0] + } + } + ] +} diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 80e3f6d0b..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,15 +0,0 @@ -module.exports = { - root: true, - parser: '@typescript-eslint/parser', - plugins: ['@typescript-eslint'], - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'], - overrides: [ - { - // enable the rule specifically for TypeScript files - files: ['*.ts', '*.tsx'], - rules: { - '@typescript-eslint/explicit-module-boundary-types': [0], - }, - }, - ], -} diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..3fbd4fbb7 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "trailingComma": "es5", + "singleQuote": true, + "semi": false, + "printWidth": 100 +} \ No newline at end of file diff --git a/package.json b/package.json index c4a06152f..d3475477a 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "workspaces": [ "electron", "vscode/editor", + "vscode/extension", "packages/tldraw", "example", "www" @@ -20,7 +21,8 @@ "test:watch": "jest --watchAll", "lerna": "lerna", "start:electron": "lerna run start:electron --stream --parallel", - "start:vscode": "lerna run start:vscode --stream --parallel", + "start:vscode": "yarn build:packages && lerna run start:vscode --stream --parallel & code vscode/extension; ", + "build:vscode": "cd vscode/extension && yarn package", "start": "lerna run start --stream --parallel", "start:www": "yarn build:packages && lerna run start --parallel & cd www && yarn dev", "build": "yarn build:packages && cd www && yarn build", @@ -39,6 +41,7 @@ "@types/node": "^15.0.1", "@types/react": "^17.0.33", "@types/react-dom": "^17.0.10", + "@types/vscode": "^1.59.0", "@typescript-eslint/eslint-plugin": "^4.19.0", "@typescript-eslint/parser": "^4.19.0", "eslint": "^7.32.0", @@ -54,12 +57,6 @@ "typedoc": "^0.22.3", "typescript": "^4.4.2" }, - "prettier": { - "trailingComma": "es5", - "singleQuote": true, - "semi": false, - "printWidth": 100 - }, "husky": { "hooks": { "pre-commit": "lint-staged", diff --git a/packages/tldraw/package.json b/packages/tldraw/package.json index 577a1e235..e1bac2379 100644 --- a/packages/tldraw/package.json +++ b/packages/tldraw/package.json @@ -23,7 +23,6 @@ "types": "./dist/types/index.d.ts", "scripts": { "start:electron": "yarn start", - "start:vscode": "yarn start", "start": "node scripts/dev & yarn types:dev", "build": "node scripts/build && yarn types:build && node scripts/copy-readme", "types:dev": "tsc -w", @@ -60,4 +59,4 @@ "tsconfig-replace-paths": "^0.0.5" }, "gitHead": "083b36e167b6911927a6b58cbbb830b11b33f00a" -} +} \ No newline at end of file diff --git a/packages/tldraw/src/TLDraw.tsx b/packages/tldraw/src/TLDraw.tsx index 4c6ae4f4c..79980019e 100644 --- a/packages/tldraw/src/TLDraw.tsx +++ b/packages/tldraw/src/TLDraw.tsx @@ -293,7 +293,7 @@ export function TLDraw({ return ( - Run > Start Debugging) -## 2. Start the Extension +Open a `.tldr` file or create a new `.tldr` file from the command palette. -- Open `vscode/extension` in a new VSCode window -- Install dependencies (`yarn`) -- Run the extension (F5) +## Publishing + +To publish, chat with the team on the [Discord channel](https://discord.gg/s4FXZ6fppJ). + +- Install `vsce` globally +- Run `vsce login tldraw-org` and sign in + +In the `vscode/extension` folder: + +- Run `yarn vscode:publish` + +#### References + +- [VS Code Marketplace Manager](https://marketplace.visualstudio.com/manage/) +- [Web Extensions Guide](https://code.visualstudio.com/api/extension-guides/web-extensions) + - [Test Your Web Extension](https://code.visualstudio.com/api/extension-guides/web-extensions#test-your-web-extension) + - [Web Extension Testing](https://code.visualstudio.com/api/extension-guides/web-extensions#web-extension-tests) + - An example custom editor that does work as a Web Extension + - https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio + - https://github.com/hediet/vscode-drawio +- [VS Code Extension API/Landing Page](https://code.visualstudio.com/api) +- [Getting Started](https://code.visualstudio.com/api/get-started/your-first-extension) +- [Custom Editor API](https://code.visualstudio.com/api/extension-guides/custom-editors) +- [github.com/microsoft/vscode-extension-samples](https://github.com/microsoft/vscode-extension-samples) +- [Extensions Guide -> Webviews](https://code.visualstudio.com/api/extension-guides/webview) +- [Publishing Extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) diff --git a/vscode/editor/README.md b/vscode/editor/README.md index 2d3ac4a5a..c83eed333 100644 --- a/vscode/editor/README.md +++ b/vscode/editor/README.md @@ -1,6 +1,9 @@ -# @tldraw/tldraw-example +
+ +
-An example for @tldraw/tldraw with a very fast dev server. +# @tldraw/vscode-editor -**Note:** You probably do not need to start the server here: it is started as -part of `yarn start` in the root directory. +The app for the TLDraw VS Code Extension. + +See the README at `vscode` for more about this project. diff --git a/vscode/editor/card-repo.png b/vscode/editor/card-repo.png new file mode 100644 index 000000000..2b3997cbd Binary files /dev/null and b/vscode/editor/card-repo.png differ diff --git a/vscode/editor/scripts/dev.mjs b/vscode/editor/scripts/dev.mjs index d9b57ca69..5f2b685c7 100644 --- a/vscode/editor/scripts/dev.mjs +++ b/vscode/editor/scripts/dev.mjs @@ -17,11 +17,10 @@ async function main() { incremental: true, target: 'es6', define: { - 'process.env.NODE_ENV': '"development"', + 'process.env.NODE_ENV': '"production"', }, watch: { onRebuild(err) { - serve.update() err ? error('❌ Failed') : log('✅ Updated') }, }, diff --git a/vscode/editor/src/app.tsx b/vscode/editor/src/app.tsx index b953b9027..d3ba681b2 100644 --- a/vscode/editor/src/app.tsx +++ b/vscode/editor/src/app.tsx @@ -1,32 +1,44 @@ import * as React from 'react' -import { TLDraw, TLDrawState, TLDrawSnapshot, TLDrawFile } from '@tldraw/tldraw' +import { TLDraw, TLDrawState, TLDrawFile, TLDrawDocument } from '@tldraw/tldraw' import { vscode } from './utils/vscode' -import { eventsRegex } from './utils/eventsRegex' import { defaultDocument } from './utils/defaultDocument' import { UI_EVENT } from './types' import './styles.css' +import { sanitizeDocument } from 'utils/sanitizeDocument' // Will be placed in global scope by extension declare let currentFile: TLDrawFile export default function App(): JSX.Element { const rTLDrawState = React.useRef() + const rInitialDocument = React.useRef( + currentFile ? currentFile.document : defaultDocument + ) // When the editor mounts, save the state instance in a ref. - const handleMount = React.useCallback((tldr: TLDrawState) => { - rTLDrawState.current = tldr + const handleMount = React.useCallback((state: TLDrawState) => { + rTLDrawState.current = state }, []) // When the editor's document changes, post the stringified document to the vscode extension. - const handlePersist = React.useCallback((tldr: TLDrawState) => { - vscode.postMessage({ type: UI_EVENT.TLDRAW_UPDATED, text: JSON.stringify(tldr.document) }) + const handlePersist = React.useCallback((state: TLDrawState) => { + const initialDocument = rInitialDocument.current + + vscode.postMessage({ + type: UI_EVENT.TLDRAW_UPDATED, + text: JSON.stringify({ + ...currentFile, + document: sanitizeDocument(initialDocument, state.document), + assets: {}, + }), + }) }, []) return (
{ + // if (next.pages[pageState.id] !== undefined) { + // final.pageStates[pageState.id] = pageState + // } + // }) + + // return final +} diff --git a/vscode/extension/.gitignore b/vscode/extension/.gitignore index fe0f3af61..56766c6e1 100644 --- a/vscode/extension/.gitignore +++ b/vscode/extension/.gitignore @@ -1,6 +1,6 @@ dist +editor node_modules .vscode-test-web/ *.vsix -editor-build .DS_Store \ No newline at end of file diff --git a/vscode/extension/.vscode/launch.json b/vscode/extension/.vscode/launch.json index 163b8d975..b031e0862 100644 --- a/vscode/extension/.vscode/launch.json +++ b/vscode/extension/.vscode/launch.json @@ -16,8 +16,7 @@ ], "outFiles": [ "${workspaceFolder}/dist/web/**/*.js" - ], - "preLaunchTask": "npm: watch-web" + ] }, { "name": "Extension Tests in VS Code", @@ -31,8 +30,7 @@ ], "outFiles": [ "${workspaceFolder}/dist/web/**/*.js" - ], - "preLaunchTask": "npm: watch-web" + ] } ] } diff --git a/vscode/extension/.vscode/tasks.json b/vscode/extension/.vscode/tasks.json index db6baff61..fdce98770 100644 --- a/vscode/extension/.vscode/tasks.json +++ b/vscode/extension/.vscode/tasks.json @@ -14,16 +14,6 @@ "$ts-webpack", "$tslint-webpack" ] - }, - { - "type": "npm", - "script": "watch-web", - "group": "build", - "isBackground": true, - "problemMatcher": [ - "$ts-webpack-watch", - "$tslint-webpack-watch" - ] } ] } diff --git a/vscode/extension/CHANGELOG.md b/vscode/extension/CHANGELOG.md new file mode 100644 index 000000000..e45e4559d --- /dev/null +++ b/vscode/extension/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.1.0 + +- Launched! diff --git a/vscode/extension/CONTRIBUTING.md b/vscode/extension/CONTRIBUTING.md deleted file mode 100644 index 2774dc04f..000000000 --- a/vscode/extension/CONTRIBUTING.md +++ /dev/null @@ -1,110 +0,0 @@ -### VS Code Extension - -This folder contains code implementing a VS Code extension for working with tldraw within VS Code. Files are saved locally and thus play well with version control. Target use case is developer documentation. - -### Todos - -- Get live reloading working while extension developing (debug launched) - - Watching and rebuilding is working, it's just hot-updating the running editor instances that's failing - - It currently at least updates every time you open a new editor, currently it's the websocket - needed for the live reloading logic that is failing to connect. -- Backlog - - Make sure extension works in Codespaces (when one of us gets into the beta) - - [Supporting Remote Development and GitHub Codespaces](https://code.visualstudio.com/api/advanced-topics/remote-extensions) - - -## Test Cases -Here's a list of functionality and behavior we'd like working for an initial beta. - - - Saving - - Save (Command+S or menu) should work - - Save As (menu or shortcut) - - Undo/Redo - - Should reflect correctly in VS Code menus (can/can't do it based on stack) - - Create new file using either of these methods - - Use VS Code's "New File", name the file with a .tldr extension - - Use the Tldraw extensions registered command to create a blank .tldr file - - Opening an - - The editor should communicate that a file isn't valid when loading it - - Detect and prevent multiple instances of the editor (For now) - -Things we're cutting - - Distinguishing app state from user state (selection, zoom, pan, etc) - -## Running The Extension - -- Setup/Run the editor (a create react app that houses the tldraw component) - - `cd integrations/vscode/editor` - - `yarn` - - `yarn start` -- To setup/run the extension - - In a new terminal - - Install dependencies - - `yarn` - - Open just the extension folder in VS Code (necessary to use it's launch.json) - - `cd integrations/vscode/extension` - - `code .` - - Run the extension using F5 (the launch.json setups watching too) - - This will open a new VS Code window where the extension is installed in memory - - Open a folder containing some .tldr files. Ex. tldraw/integrations/extension/examples - - Select a .tldr file to test - - You'll have to toggle between the extension/editor/debug VS Code instances to change things and see the results - - NOTE: Hot reloading doesn't work right now for the editor's create-react-app workflow. I have yet to figure out how to set the websocket host, which currently assumes it's housed on the same host as the page it's loaded in (which for the extension is some weird custom protocol) - - If you close and reopen a .tldr file, it will load the latest change though - -## Publishing/Packaging Extensions -**This stuff needs to be fully automated!!! We're not quite there yet.** - - - Make sure you have the vsce command line tool installed - - `npm install -g vsce` - - Build the editor static site - - `cd integrations/vscode/editor` - - `yarn build` - - This will build a static version of the create react app and put it into `integrations/vscode/editor`. - - Bump the package.json version - - Just do this manually in the file - - Change the code in `integrations/vscode/extension/src/get-html.ts` so it uses the production path. It should look like this: - - //return getDevModeHTML(context, webview, documentContent); - return getProductionModeHTML(context, webview, documentContent); - - - Run script that copies over the latest static file path hashes - - **TODO**: Find this script. It seems to have gone missing and I can't find it in history - - The manual version is to look at the latest editor-build/index.html and copy/reference it into get-html.ts - - Compile the extension in production mode - - `npm run package-web` - - Package up the extension as an extension installer .vsix - - `vsce package` - - A file with a name like: `wardlt-0.8.0.vsix` will now be put in the extension root - - TODO: Make this get build to a proper temp directory like dist - - Before publishing test using the .vsix based installation workflow available in VS Code Desktop - - Use the Web UI to publish the latest extension by uploading the .vsix file - - https://marketplace.visualstudio.com/manage/publishers/Wardlt - - Click on the elipse button and choose Update, then select the .vsix we just generated - - It should take a few minutes to go through some automated validation the VS Code Marketplace does - - Now test it quickly - - Desktop - - github.dev - - Go here and then press '.' https://github.com/tldraw/tldraw/tree/vscode-extension-v1/integrations/vscode/extension/examples - - Try one of the .tldr files - - Codespaces - - Go here: https://github.com/conveyhq/codespaces-test - - Select Code -> main or go straight there via link: https://seflless-conveyhq-codespaces-test-x76jf9xq7.github.dev/ - - I have a test code space here with a .tldr file already included - - Read more about this topic here: [Publishing Extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) - -#### Good References - -- [VS Code Marketplace Manager](https://marketplace.visualstudio.com/manage/) -- [Web Extensions Guide](https://code.visualstudio.com/api/extension-guides/web-extensions) - - [Test Your Web Extension](https://code.visualstudio.com/api/extension-guides/web-extensions#test-your-web-extension) - - [Web Extension Testing](https://code.visualstudio.com/api/extension-guides/web-extensions#web-extension-tests) - - An example custom editor that does work as a Web Extension - - https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio - - https://github.com/hediet/vscode-drawio -- [VS Code Extension API/Landing Page](https://code.visualstudio.com/api) -- [Getting Started](https://code.visualstudio.com/api/get-started/your-first-extension) -- [Custom Editor API](https://code.visualstudio.com/api/extension-guides/custom-editors) -- [github.com/microsoft/vscode-extension-samples](https://github.com/microsoft/vscode-extension-samples) -- [Extensions Guide -> Webviews](https://code.visualstudio.com/api/extension-guides/webview) -- [Publishing Extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) diff --git a/vscode/extension/LICENSE.md b/vscode/extension/LICENSE.md new file mode 100644 index 000000000..bdcc8b850 --- /dev/null +++ b/vscode/extension/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Stephen Ruiz Ltd + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vscode/extension/README.md b/vscode/extension/README.md index 0a867a41d..f96ad31b4 100644 --- a/vscode/extension/README.md +++ b/vscode/extension/README.md @@ -1,13 +1,34 @@ -# Wardlt -This is an awesome sketch/diagramming extension for making doodles and diagrams of system. It allows you to naturally create informal but legible diagrams, designed to be version controlled along side your code. +## Introduction + +TLDraw extends VS Code with support for [TLDraw](https://tldraw.com) files. + +[TLDraw](https://tldraw.com) is a free drawing and diagramming tool with a hand-drawn style and convenient features such as smart arrows, snapping, and sticky notes. With the TLDraw extension for VS Code, your TLDraw files can be version controlled alongside your code. + +> **Tip:** The files you create or edit here can also be opened in the TLDraw [web app](https://tldraw.com). + +## Installation + +You can install TLDraw from the Visual Studio Code Marketplace or by searching within VS Code. ## Features - 1. Hand drawn style - 2. Built in shapes like rectangles and ovals - 3. Add text elements - 4. Has smart arrows that support smart connecting between shapes/text for easy to make flow charts. - 5. Supports dashed strokes on all shapes. +1. View, edit and save TLDraw files (`.tldr`) ## Usage -Create a new file by either creating a blank .tldr file or by using the provided command: "Tldraw: Create a new .tldr file". \ No newline at end of file + +- To view an existing TLDraw file, open a file with the `.tldr` extension in VS Code. +- To create a new TLDraw file, use the provided command: "TLDraw: New TLDraw File". + +## Release Notes + +For full release notes, see the [changelog](https://github.com/tldraw/tldraw). + +## Community + +### Support + +Need help? Please [open an issue](https://github.com/tldraw/tldraw/issues/new) for support. + +### Discussion + +Want to connect with other devs? Visit the [Discord channel](https://discord.gg/s4FXZ6fppJ). diff --git a/vscode/extension/examples/2.tldr b/vscode/extension/examples/2.tldr index 81abec0ff..032d528eb 100644 --- a/vscode/extension/examples/2.tldr +++ b/vscode/extension/examples/2.tldr @@ -1,1023 +1,1026 @@ { - "id": "doc", "name": "New Document", - "version": 13, - "pages": { - "page": { - "id": "page", - "name": "Page 1", - "childIndex": 1, - "shapes": { - "d8f1475a-d37a-402c-3669-01944f9b84e8": { - "id": "d8f1475a-d37a-402c-3669-01944f9b84e8", - "type": "draw", - "name": "Draw", - "parentId": "page", - "childIndex": 1, - "point": [ - 317.52, - 317.56 - ], - "rotation": 0, - "style": { - "color": "black", - "size": "large", - "isFilled": false, - "dash": "draw" + "fileHandle": {}, + "document": { + "id": "doc", + "name": "New Document", + "version": 13, + "pages": { + "page": { + "id": "page", + "name": "Page 1", + "childIndex": 1, + "shapes": { + "d8f1475a-d37a-402c-3669-01944f9b84e8": { + "id": "d8f1475a-d37a-402c-3669-01944f9b84e8", + "type": "draw", + "name": "Draw", + "parentId": "page", + "childIndex": 1, + "point": [ + 313.77, + 287.84 + ], + "rotation": 0, + "style": { + "color": "black", + "size": "large", + "isFilled": false, + "dash": "draw" + }, + "points": [ + [ + 0, + 38.91, + 0.5 + ], + [ + 0, + 37.08, + 0.5 + ], + [ + 0, + 35.36, + 0.5 + ], + [ + 6.19, + 25.33, + 0.5 + ], + [ + 12.4, + 17.21, + 0.5 + ], + [ + 20.18, + 9.42, + 0.5 + ], + [ + 26.19, + 4.98, + 0.5 + ], + [ + 32.68, + 1.73, + 0.5 + ], + [ + 40.09, + 0, + 0.5 + ], + [ + 48.14, + 0, + 0.5 + ], + [ + 56.18, + 0, + 0.5 + ], + [ + 63.05, + 2.1599999999999966, + 0.5 + ], + [ + 70.5, + 8.429999999999996, + 0.5 + ], + [ + 74.77, + 15.179999999999996, + 0.5 + ], + [ + 76.5, + 23.619999999999997, + 0.5 + ], + [ + 76.5, + 38.91, + 0.5 + ], + [ + 68.56, + 58.839999999999996, + 0.5 + ], + [ + 57.59, + 75.91, + 0.5 + ], + [ + 42.45, + 97.68, + 0.5 + ], + [ + 30.36, + 115.05, + 0.5 + ], + [ + 25.65, + 122.03, + 0.5 + ], + [ + 21.21, + 128.03, + 0.5 + ], + [ + 19.68, + 130.31, + 0.5 + ], + [ + 19.13, + 131.13, + 0.5 + ], + [ + 19.13, + 131.41, + 0.5 + ], + [ + 21.29, + 129.5, + 0.5 + ], + [ + 25.29, + 126.02, + 0.5 + ], + [ + 32.08, + 122.03, + 0.5 + ], + [ + 41.43, + 118.28999999999999, + 0.5 + ], + [ + 52.94, + 116.24, + 0.5 + ], + [ + 64.4, + 115.53999999999999, + 0.5 + ], + [ + 76.53, + 115.53999999999999, + 0.5 + ], + [ + 86.91, + 115.53999999999999, + 0.5 + ], + [ + 97.28, + 117.47999999999999, + 0.5 + ], + [ + 104.2, + 118.56, + 0.5 + ], + [ + 111.61, + 120.28999999999999, + 0.5 + ], + [ + 115.79, + 121.21, + 0.5 + ], + [ + 118.34, + 121.97, + 0.5 + ], + [ + 118.89, + 122.24, + 0.5 + ], + [ + 119.16, + 122.24, + 0.5 + ] + ], + "isComplete": true }, - "points": [ - [ - 0, - 38.91, - 0.5 + "4a8c1095-335e-42d6-30c9-ff4171dd364e": { + "id": "4a8c1095-335e-42d6-30c9-ff4171dd364e", + "type": "draw", + "name": "Draw", + "parentId": "page", + "childIndex": 2, + "point": [ + 239.55, + 166.36 ], - [ - 0, - 37.08, - 0.5 + "rotation": 0.0759349816929582, + "style": { + "color": "black", + "size": "large", + "isFilled": false, + "dash": "draw" + }, + "points": [ + [ + 72.8938650204388, + 14.590000000000002, + 0.5 + ], + [ + 68.8781905397514, + 19.51, + 0.5 + ], + [ + 61.84336030699925, + 27.34, + 0.5 + ], + [ + 54.16720613998498, + 35.12, + 0.5 + ], + [ + 44.458548427463086, + 44.24, + 0.5 + ], + [ + 23.92631600900976, + 62.11, + 0.5 + ], + [ + 17.207214482355887, + 67.74, + 0.5 + ], + [ + 8.31747810127638, + 73.53, + 0.5 + ], + [ + 3.7196788187202796, + 77.64, + 0.5 + ], + [ + 1.4701117877700842, + 79.15, + 0.5 + ], + [ + 0.552525235671978, + 79.75, + 0.5 + ], + [ + 0, + 80.29, + 0.5 + ], + [ + 0, + 80.57, + 0.5 + ], + [ + 1.9338383248519229, + 80.57, + 0.5 + ], + [ + 7.547889380161841, + 80.57, + 0.5 + ], + [ + 15.756835738716942, + 81.75, + 0.5 + ], + [ + 26.99480437140235, + 83.09, + 0.5 + ], + [ + 40.689536998414944, + 83.09, + 0.5 + ], + [ + 51.35524735129723, + 83.09, + 0.5 + ], + [ + 62.71161424876949, + 83.09, + 0.5 + ], + [ + 70.9205606073246, + 83.09, + 0.5 + ], + [ + 76.5346116626345, + 83.09, + 0.5 + ], + [ + 80.6292183198465, + 83.09, + 0.5 + ], + [ + 82.98731709351797, + 83.09, + 0.5 + ], + [ + 84.26996496204221, + 83.41, + 0.5 + ], + [ + 84.81262367564861, + 83.41, + 0.5 + ], + [ + 85.07901977141903, + 83.41, + 0.5 + ], + [ + 84.32916409443563, + 82.04, + 0.5 + ], + [ + 82.82945274046884, + 77.05, + 0.5 + ], + [ + 80.68841745223992, + 70.45, + 0.5 + ], + [ + 78.12312171519146, + 60.059999999999995, + 0.5 + ], + [ + 75.83408859597897, + 44.82, + 0.5 + ], + [ + 75.02503378660215, + 28.34, + 0.5 + ], + [ + 75.02503378660215, + 16.24, + 0.5 + ], + [ + 74.38370985234003, + 6.879999999999999, + 0.5 + ], + [ + 74.38370985234003, + 2.73, + 0.5 + ], + [ + 74.00878201384833, + 0.93, + 0.5 + ], + [ + 74.00878201384833, + 0, + 0.5 + ], + [ + 74.22584549929091, + 3.552713678800501e-15, + 0.5 + ], + [ + 78.34018520063404, + 0.9100000000000037, + 0.5 + ], + [ + 84.84222324184536, + 1.9900000000000038, + 0.5 + ], + [ + 97.31350713272714, + 2.690000000000003, + 0.5 + ], + [ + 113.48473679819806, + 3.450000000000003, + 0.5 + ], + [ + 133.957770084258, + 3.450000000000003, + 0.5 + ], + [ + 157.27236172520233, + 3.450000000000003, + 0.5 + ], + [ + 177.74539501126222, + 3.450000000000003, + 0.5 + ], + [ + 195.16967297906066, + 3.450000000000003, + 0.5 + ], + [ + 204.61193459581213, + 3.450000000000003, + 0.5 + ], + [ + 212.92941269708854, + 2.9000000000000044, + 0.5 + ], + [ + 217.0240193543005, + 2.9000000000000044, + 0.5 + ], + [ + 219.05652289980813, + 2.9000000000000044, + 0.5 + ], + [ + 219.58931509134896, + 2.9000000000000044, + 0.5 + ], + [ + 219.86557770918498, + 2.9000000000000044, + 0.5 + ], + [ + 219.86557770918498, + 3.780000000000003, + 0.5 + ], + [ + 219.86557770918498, + 7.930000000000003, + 0.5 + ], + [ + 219.86557770918498, + 16.260000000000005, + 0.5 + ], + [ + 219.86557770918498, + 28.90000000000001, + 0.5 + ], + [ + 219.86557770918498, + 44.03, + 0.5 + ], + [ + 220.6055668641028, + 57.87, + 0.5 + ], + [ + 222.1447443063319, + 74.34, + 0.5 + ], + [ + 223.69378827062653, + 90.82000000000001, + 0.5 + ], + [ + 225.34149745557687, + 110.10000000000001, + 0.5 + ], + [ + 227.82786101610077, + 139.69, + 0.5 + ], + [ + 229.58410194377242, + 161.95000000000002, + 0.5 + ], + [ + 231.27127721698508, + 182.52, + 0.5 + ], + [ + 232.07046550429635, + 201.8, + 0.5 + ], + [ + 232.91898640193543, + 222.33, + 0.5 + ], + [ + 233.7181746892467, + 240.09, + 0.5 + ], + [ + 233.7181746892467, + 257.88, + 0.5 + ], + [ + 233.7181746892467, + 274.36, + 0.5 + ], + [ + 234.57656210895138, + 293.6, + 0.5 + ], + [ + 234.57656210895138, + 311.41999999999996, + 0.5 + ], + [ + 235.10935430049219, + 320.99, + 0.5 + ], + [ + 235.8000108450822, + 331.47, + 0.5 + ], + [ + 236.2736039042296, + 337.14, + 0.5 + ], + [ + 236.2736039042296, + 339.52, + 0.5 + ], + [ + 236.54000000000002, + 340.45000000000005, + 0.5 + ], + [ + 236.54000000000002, + 341, + 0.5 + ], + [ + 236.54000000000002, + 341.27, + 0.5 + ], + [ + 236.32293651455745, + 341.27, + 0.5 + ], + [ + 232.19873029114876, + 341.27, + 0.5 + ], + [ + 222.96366563777426, + 341.27, + 0.5 + ], + [ + 210.4825152248269, + 343.37, + 0.5 + ], + [ + 195.5643338616835, + 346.39, + 0.5 + ], + [ + 177.97232501877033, + 348.82000000000005, + 0.5 + ], + [ + 160.38031617585716, + 350.42999999999995, + 0.5 + ], + [ + 142.857372987403, + 351.23, + 0.5 + ], + [ + 122.38433970134314, + 352.1, + 0.5 + ], + [ + 101.91130641528324, + 352.1, + 0.5 + ], + [ + 85.66114457328774, + 352.90999999999997, + 0.5 + ], + [ + 74.99543422040544, + 353.45000000000005, + 0.5 + ], + [ + 65.76036956703096, + 354.09000000000003, + 0.5 + ], + [ + 60.146318511721056, + 354.63, + 0.5 + ], + [ + 57.79808626011515, + 355.06000000000006, + 0.5 + ], + [ + 56.39704012680406, + 355.06000000000006, + 0.5 + ], + [ + 56.13064403103365, + 355.06000000000006, + 0.5 + ], + [ + 55.88398097939437, + 355.06000000000006, + 0.5 + ], + [ + 55.65705097188623, + 355.06000000000006, + 0.5 + ], + [ + 55.420254442312526, + 355.06000000000006, + 0.5 + ], + [ + 55.420254442312526, + 354.83000000000004, + 0.5 + ], + [ + 55.420254442312526, + 354.28, + 0.5 + ], + [ + 55.420254442312526, + 352.58000000000004, + 0.5 + ], + [ + 55.420254442312526, + 351.91999999999996, + 0.5 + ], + [ + 53.14108784516562, + 345.85, + 0.5 + ], + [ + 51.64137649119882, + 340.86, + 0.5 + ], + [ + 49.766737298740324, + 331.5, + 0.5 + ], + [ + 47.94143071660968, + 322.14, + 0.5 + ], + [ + 46.65878284808544, + 311.76, + 0.5 + ], + [ + 44.68547843497124, + 300.24, + 0.5 + ], + [ + 43.560694919496136, + 292.61, + 0.5 + ], + [ + 41.47885876366065, + 281.25, + 0.5 + ], + [ + 38.07490865103865, + 269.57, + 0.5 + ], + [ + 36.46666555435057, + 263.65999999999997, + 0.5 + ], + [ + 34.21709852340037, + 256.25, + 0.5 + ], + [ + 32.07606323517146, + 249.75, + 0.5 + ], + [ + 30.477686660548947, + 243.28, + 0.5 + ], + [ + 28.020922666221765, + 233.93, + 0.5 + ], + [ + 26.146283473763262, + 224.57, + 0.5 + ], + [ + 24.86363560523903, + 214.25, + 0.5 + ], + [ + 22.84099858179697, + 202.72999999999996, + 0.5 + ], + [ + 20.759162425961478, + 191.43, + 0.5 + ], + [ + 18.04586885792944, + 181.42000000000002, + 0.5 + ], + [ + 15.579238341536684, + 172.06, + 0.5 + ], + [ + 13.467802619504488, + 165.54, + 0.5 + ], + [ + 10.053985984816912, + 154.01, + 0.5 + ], + [ + 7.912950696587994, + 147.51, + 0.5 + ], + [ + 6.788167181112896, + 140.09, + 0.5 + ], + [ + 6.255374989572053, + 133.62, + 0.5 + ], + [ + 5.712716275965649, + 127.13, + 0.5 + ], + [ + 5.712716275965649, + 122.97, + 0.5 + ], + [ + 5.712716275965649, + 120.09, + 0.5 + ], + [ + 5.712716275965649, + 118.77000000000002, + 0.5 + ], + [ + 5.712716275965649, + 118.22, + 0.5 + ], + [ + 5.712716275965649, + 117.94, + 0.5 + ], + [ + 5.712716275965649, + 117.69999999999999, + 0.5 + ], + [ + 5.712716275965649, + 117.45, + 0.5 + ], + [ + 5.712716275965649, + 114.57000000000001, + 0.5 + ], + [ + 5.712716275965649, + 109.69999999999999, + 0.5 + ], + [ + 5.712716275965649, + 101.36, + 0.5 + ], + [ + 5.712716275965649, + 96.37, + 0.5 + ], + [ + 5.712716275965649, + 92.81, + 0.5 + ], + [ + 5.712716275965649, + 90.52, + 0.5 + ], + [ + 5.712716275965649, + 89.97, + 0.5 + ], + [ + 5.712716275965649, + 89.68999999999998, + 0.5 + ], + [ + 5.712716275965649, + 89.46000000000001, + 0.5 + ], + [ + 6.2060423792442005, + 89.46000000000001, + 0.5 + ] ], - [ - 0, - 35.36, - 0.5 - ], - [ - 6.19, - 25.33, - 0.5 - ], - [ - 12.4, - 17.21, - 0.5 - ], - [ - 20.18, - 9.42, - 0.5 - ], - [ - 26.19, - 4.98, - 0.5 - ], - [ - 32.68, - 1.73, - 0.5 - ], - [ - 40.09, - 0, - 0.5 - ], - [ - 48.14, - 0, - 0.5 - ], - [ - 56.18, - 0, - 0.5 - ], - [ - 63.05, - 2.1599999999999966, - 0.5 - ], - [ - 70.5, - 8.429999999999996, - 0.5 - ], - [ - 74.77, - 15.179999999999996, - 0.5 - ], - [ - 76.5, - 23.619999999999997, - 0.5 - ], - [ - 76.5, - 38.91, - 0.5 - ], - [ - 68.56, - 58.839999999999996, - 0.5 - ], - [ - 57.59, - 75.91, - 0.5 - ], - [ - 42.45, - 97.68, - 0.5 - ], - [ - 30.36, - 115.05, - 0.5 - ], - [ - 25.65, - 122.03, - 0.5 - ], - [ - 21.21, - 128.03, - 0.5 - ], - [ - 19.68, - 130.31, - 0.5 - ], - [ - 19.13, - 131.13, - 0.5 - ], - [ - 19.13, - 131.41, - 0.5 - ], - [ - 21.29, - 129.5, - 0.5 - ], - [ - 25.29, - 126.02, - 0.5 - ], - [ - 32.08, - 122.03, - 0.5 - ], - [ - 41.43, - 118.28999999999999, - 0.5 - ], - [ - 52.94, - 116.24, - 0.5 - ], - [ - 64.4, - 115.53999999999999, - 0.5 - ], - [ - 76.53, - 115.53999999999999, - 0.5 - ], - [ - 86.91, - 115.53999999999999, - 0.5 - ], - [ - 97.28, - 117.47999999999999, - 0.5 - ], - [ - 104.2, - 118.56, - 0.5 - ], - [ - 111.61, - 120.28999999999999, - 0.5 - ], - [ - 115.79, - 121.21, - 0.5 - ], - [ - 118.34, - 121.97, - 0.5 - ], - [ - 118.89, - 122.24, - 0.5 - ], - [ - 119.16, - 122.24, - 0.5 - ] - ], - "isComplete": true - }, - "4a8c1095-335e-42d6-30c9-ff4171dd364e": { - "id": "4a8c1095-335e-42d6-30c9-ff4171dd364e", - "type": "draw", - "name": "Draw", - "parentId": "page", - "childIndex": 2, - "point": [ - 246.71, - 199.21 - ], - "rotation": 0, - "style": { - "color": "black", - "size": "large", - "isFilled": false, - "dash": "draw" + "isComplete": true }, - "points": [ - [ - 72.8938650204388, - 14.590000000000002, - 0.5 - ], - [ - 68.8781905397514, - 19.51, - 0.5 - ], - [ - 61.84336030699925, - 27.34, - 0.5 - ], - [ - 54.16720613998498, - 35.12, - 0.5 - ], - [ - 44.458548427463086, - 44.24, - 0.5 - ], - [ - 23.92631600900976, - 62.11, - 0.5 - ], - [ - 17.207214482355887, - 67.74, - 0.5 - ], - [ - 8.31747810127638, - 73.53, - 0.5 - ], - [ - 3.7196788187202796, - 77.64, - 0.5 - ], - [ - 1.4701117877700842, - 79.15, - 0.5 - ], - [ - 0.552525235671978, - 79.75, - 0.5 - ], - [ - 0, - 80.29, - 0.5 - ], - [ - 0, - 80.57, - 0.5 - ], - [ - 1.9338383248519229, - 80.57, - 0.5 - ], - [ - 7.547889380161841, - 80.57, - 0.5 - ], - [ - 15.756835738716942, - 81.75, - 0.5 - ], - [ - 26.99480437140235, - 83.09, - 0.5 - ], - [ - 40.689536998414944, - 83.09, - 0.5 - ], - [ - 51.35524735129723, - 83.09, - 0.5 - ], - [ - 62.71161424876949, - 83.09, - 0.5 - ], - [ - 70.9205606073246, - 83.09, - 0.5 - ], - [ - 76.5346116626345, - 83.09, - 0.5 - ], - [ - 80.6292183198465, - 83.09, - 0.5 - ], - [ - 82.98731709351797, - 83.09, - 0.5 - ], - [ - 84.26996496204221, - 83.41, - 0.5 - ], - [ - 84.81262367564861, - 83.41, - 0.5 - ], - [ - 85.07901977141903, - 83.41, - 0.5 - ], - [ - 84.32916409443563, - 82.04, - 0.5 - ], - [ - 82.82945274046884, - 77.05, - 0.5 - ], - [ - 80.68841745223992, - 70.45, - 0.5 - ], - [ - 78.12312171519146, - 60.059999999999995, - 0.5 - ], - [ - 75.83408859597897, - 44.82, - 0.5 - ], - [ - 75.02503378660215, - 28.34, - 0.5 - ], - [ - 75.02503378660215, - 16.24, - 0.5 - ], - [ - 74.38370985234003, - 6.879999999999999, - 0.5 - ], - [ - 74.38370985234003, - 2.73, - 0.5 - ], - [ - 74.00878201384833, - 0.93, - 0.5 - ], - [ - 74.00878201384833, - 0, - 0.5 - ], - [ - 74.22584549929091, - 3.552713678800501e-15, - 0.5 - ], - [ - 78.34018520063404, - 0.9100000000000037, - 0.5 - ], - [ - 84.84222324184536, - 1.9900000000000038, - 0.5 - ], - [ - 97.31350713272714, - 2.690000000000003, - 0.5 - ], - [ - 113.48473679819806, - 3.450000000000003, - 0.5 - ], - [ - 133.957770084258, - 3.450000000000003, - 0.5 - ], - [ - 157.27236172520233, - 3.450000000000003, - 0.5 - ], - [ - 177.74539501126222, - 3.450000000000003, - 0.5 - ], - [ - 195.16967297906066, - 3.450000000000003, - 0.5 - ], - [ - 204.61193459581213, - 3.450000000000003, - 0.5 - ], - [ - 212.92941269708854, - 2.9000000000000044, - 0.5 - ], - [ - 217.0240193543005, - 2.9000000000000044, - 0.5 - ], - [ - 219.05652289980813, - 2.9000000000000044, - 0.5 - ], - [ - 219.58931509134896, - 2.9000000000000044, - 0.5 - ], - [ - 219.86557770918498, - 2.9000000000000044, - 0.5 - ], - [ - 219.86557770918498, - 3.780000000000003, - 0.5 - ], - [ - 219.86557770918498, - 7.930000000000003, - 0.5 - ], - [ - 219.86557770918498, - 16.260000000000005, - 0.5 - ], - [ - 219.86557770918498, - 28.90000000000001, - 0.5 - ], - [ - 219.86557770918498, - 44.03, - 0.5 - ], - [ - 220.6055668641028, - 57.87, - 0.5 - ], - [ - 222.1447443063319, - 74.34, - 0.5 - ], - [ - 223.69378827062653, - 90.82000000000001, - 0.5 - ], - [ - 225.34149745557687, - 110.10000000000001, - 0.5 - ], - [ - 227.82786101610077, - 139.69, - 0.5 - ], - [ - 229.58410194377242, - 161.95000000000002, - 0.5 - ], - [ - 231.27127721698508, - 182.52, - 0.5 - ], - [ - 232.07046550429635, - 201.8, - 0.5 - ], - [ - 232.91898640193543, - 222.33, - 0.5 - ], - [ - 233.7181746892467, - 240.09, - 0.5 - ], - [ - 233.7181746892467, - 257.88, - 0.5 - ], - [ - 233.7181746892467, - 274.36, - 0.5 - ], - [ - 234.57656210895138, - 293.6, - 0.5 - ], - [ - 234.57656210895138, - 311.41999999999996, - 0.5 - ], - [ - 235.10935430049219, - 320.99, - 0.5 - ], - [ - 235.8000108450822, - 331.47, - 0.5 - ], - [ - 236.2736039042296, - 337.14, - 0.5 - ], - [ - 236.2736039042296, - 339.52, - 0.5 - ], - [ - 236.54000000000002, - 340.45000000000005, - 0.5 - ], - [ - 236.54000000000002, - 341, - 0.5 - ], - [ - 236.54000000000002, - 341.27, - 0.5 - ], - [ - 236.32293651455745, - 341.27, - 0.5 - ], - [ - 232.19873029114876, - 341.27, - 0.5 - ], - [ - 222.96366563777426, - 341.27, - 0.5 - ], - [ - 210.4825152248269, - 343.37, - 0.5 - ], - [ - 195.5643338616835, - 346.39, - 0.5 - ], - [ - 177.97232501877033, - 348.82000000000005, - 0.5 - ], - [ - 160.38031617585716, - 350.42999999999995, - 0.5 - ], - [ - 142.857372987403, - 351.23, - 0.5 - ], - [ - 122.38433970134314, - 352.1, - 0.5 - ], - [ - 101.91130641528324, - 352.1, - 0.5 - ], - [ - 85.66114457328774, - 352.90999999999997, - 0.5 - ], - [ - 74.99543422040544, - 353.45000000000005, - 0.5 - ], - [ - 65.76036956703096, - 354.09000000000003, - 0.5 - ], - [ - 60.146318511721056, - 354.63, - 0.5 - ], - [ - 57.79808626011515, - 355.06000000000006, - 0.5 - ], - [ - 56.39704012680406, - 355.06000000000006, - 0.5 - ], - [ - 56.13064403103365, - 355.06000000000006, - 0.5 - ], - [ - 55.88398097939437, - 355.06000000000006, - 0.5 - ], - [ - 55.65705097188623, - 355.06000000000006, - 0.5 - ], - [ - 55.420254442312526, - 355.06000000000006, - 0.5 - ], - [ - 55.420254442312526, - 354.83000000000004, - 0.5 - ], - [ - 55.420254442312526, - 354.28, - 0.5 - ], - [ - 55.420254442312526, - 352.58000000000004, - 0.5 - ], - [ - 55.420254442312526, - 351.91999999999996, - 0.5 - ], - [ - 53.14108784516562, - 345.85, - 0.5 - ], - [ - 51.64137649119882, - 340.86, - 0.5 - ], - [ - 49.766737298740324, - 331.5, - 0.5 - ], - [ - 47.94143071660968, - 322.14, - 0.5 - ], - [ - 46.65878284808544, - 311.76, - 0.5 - ], - [ - 44.68547843497124, - 300.24, - 0.5 - ], - [ - 43.560694919496136, - 292.61, - 0.5 - ], - [ - 41.47885876366065, - 281.25, - 0.5 - ], - [ - 38.07490865103865, - 269.57, - 0.5 - ], - [ - 36.46666555435057, - 263.65999999999997, - 0.5 - ], - [ - 34.21709852340037, - 256.25, - 0.5 - ], - [ - 32.07606323517146, - 249.75, - 0.5 - ], - [ - 30.477686660548947, - 243.28, - 0.5 - ], - [ - 28.020922666221765, - 233.93, - 0.5 - ], - [ - 26.146283473763262, - 224.57, - 0.5 - ], - [ - 24.86363560523903, - 214.25, - 0.5 - ], - [ - 22.84099858179697, - 202.72999999999996, - 0.5 - ], - [ - 20.759162425961478, - 191.43, - 0.5 - ], - [ - 18.04586885792944, - 181.42000000000002, - 0.5 - ], - [ - 15.579238341536684, - 172.06, - 0.5 - ], - [ - 13.467802619504488, - 165.54, - 0.5 - ], - [ - 10.053985984816912, - 154.01, - 0.5 - ], - [ - 7.912950696587994, - 147.51, - 0.5 - ], - [ - 6.788167181112896, - 140.09, - 0.5 - ], - [ - 6.255374989572053, - 133.62, - 0.5 - ], - [ - 5.712716275965649, - 127.13, - 0.5 - ], - [ - 5.712716275965649, - 122.97, - 0.5 - ], - [ - 5.712716275965649, - 120.09, - 0.5 - ], - [ - 5.712716275965649, - 118.77000000000002, - 0.5 - ], - [ - 5.712716275965649, - 118.22, - 0.5 - ], - [ - 5.712716275965649, - 117.94, - 0.5 - ], - [ - 5.712716275965649, - 117.69999999999999, - 0.5 - ], - [ - 5.712716275965649, - 117.45, - 0.5 - ], - [ - 5.712716275965649, - 114.57000000000001, - 0.5 - ], - [ - 5.712716275965649, - 109.69999999999999, - 0.5 - ], - [ - 5.712716275965649, - 101.36, - 0.5 - ], - [ - 5.712716275965649, - 96.37, - 0.5 - ], - [ - 5.712716275965649, - 92.81, - 0.5 - ], - [ - 5.712716275965649, - 90.52, - 0.5 - ], - [ - 5.712716275965649, - 89.97, - 0.5 - ], - [ - 5.712716275965649, - 89.68999999999998, - 0.5 - ], - [ - 5.712716275965649, - 89.46000000000001, - 0.5 - ], - [ - 6.2060423792442005, - 89.46000000000001, - 0.5 - ] - ], - "isComplete": true - }, - "9fa6dcc1-3d5e-4b7b-1afd-e9f5dd8742aa": { - "id": "9fa6dcc1-3d5e-4b7b-1afd-e9f5dd8742aa", - "type": "text", - "name": "Text", - "parentId": "page", - "childIndex": 3, - "point": [ - 513.14, - 289.69 - ], - "rotation": 0, - "text": "Save files!", - "style": { - "color": "black", - "size": "large", - "isFilled": false, - "dash": "draw" + "9fa6dcc1-3d5e-4b7b-1afd-e9f5dd8742aa": { + "id": "9fa6dcc1-3d5e-4b7b-1afd-e9f5dd8742aa", + "type": "text", + "name": "Text", + "parentId": "page", + "childIndex": 3, + "point": [ + 509.18, + 262.72 + ], + "rotation": 0, + "text": "Save files!", + "style": { + "color": "black", + "size": "large", + "isFilled": false, + "dash": "draw" + } } + }, + "bindings": {} + } + }, + "pageStates": { + "page": { + "id": "page", + "selectedIds": [ + "9fa6dcc1-3d5e-4b7b-1afd-e9f5dd8742aa" + ], + "camera": { + "point": [ + -130.08, + -111.66 + ], + "zoom": 1.1462851349067762 } - }, - "bindings": {} + } } }, - "pageStates": { - "page": { - "id": "page", - "selectedIds": [ - "9fa6dcc1-3d5e-4b7b-1afd-e9f5dd8742aa" - ], - "camera": { - "point": [ - -212.45, - -132.09 - ], - "zoom": 1.2675878661113014 - }, - "editingId": null, - "hoveredId": "9fa6dcc1-3d5e-4b7b-1afd-e9f5dd8742aa" - } - } + "assets": {} } \ No newline at end of file diff --git a/vscode/extension/examples/3.tldr b/vscode/extension/examples/3.tldr index 44c7a8a22..070a59916 100644 --- a/vscode/extension/examples/3.tldr +++ b/vscode/extension/examples/3.tldr @@ -3,6 +3,7 @@ "fileHandle": {}, "document": { "id": "doc", + "name": "New Document", "version": 13, "pages": { "page": { @@ -17,8 +18,8 @@ "parentId": "page", "childIndex": 1, "point": [ - 258.7, - 246.85 + 268.18, + 247.52 ], "rotation": 0, "style": { @@ -1095,9 +1096,7 @@ -220.86 ], "zoom": 2.462934947049924 - }, - "editingId": null, - "hoveredId": "60a83a6a-6477-45ff-3cd9-5c705c210c3a" + } } } }, diff --git a/vscode/extension/examples/smiley-image.png b/vscode/extension/examples/smiley-image.png deleted file mode 100644 index 0f80b0697..000000000 Binary files a/vscode/extension/examples/smiley-image.png and /dev/null differ diff --git a/vscode/extension/examples/test.drawio b/vscode/extension/examples/test.drawio deleted file mode 100644 index e69de29bb..000000000 diff --git a/vscode/extension/icon.png b/vscode/extension/icon.png new file mode 100644 index 000000000..df36121c9 Binary files /dev/null and b/vscode/extension/icon.png differ diff --git a/vscode/extension/package.json b/vscode/extension/package.json index 53736c14e..5eccacf7c 100644 --- a/vscode/extension/package.json +++ b/vscode/extension/package.json @@ -1,15 +1,33 @@ { - "name": "wardlt", - "displayName": "Wardlt Editor", - "description": "The wardlt editor for VS Code", - "version": "0.10.0", - "publisher": "Wardlt", - "repository": "https://github.com/microsoft/vscode-extension-samples/helloworld-web-sample", + "name": "tldraw-vscode", + "displayName": "TLDraw", + "description": "The TLDraw Extension for VS Code.", + "version": "0.1.15", + "license": "MIT", + "publisher": "tldraw-org", + "repository": { + "type": "git", + "url": "https://github.com/tldraw/tldraw" + }, "engines": { "vscode": "^1.59.0" }, + "keywords": [ + "diagram", + "draw", + "drawing", + "sketch", + "design", + "documentation", + "tldraw" + ], + "icon": "icon.png", + "galleryBanner": { + "color": "#1d1d1d", + "theme": "dark" + }, "categories": [ - "Other" + "Visualization" ], "activationEvents": [ "onCustomEditor:tldraw.tldr", @@ -25,7 +43,7 @@ "customEditors": [ { "viewType": "tldraw.tldr", - "displayName": "Tldr Editor", + "displayName": "TLDraw", "selector": [ { "filenamePattern": "*.tldr" @@ -36,35 +54,31 @@ "commands": [ { "command": "tldraw.tldr.new", - "title": "Create a new .tldr file", - "category": "Tldraw" + "title": "New TLDraw File", + "category": "TLDraw" } ] }, "scripts": { - "test": "vscode-test-web --browserType=chromium --extensionDevelopmentPath=. --extensionTestsPath=dist/web/test/suite/index.js", + "start:vscode": "node scripts/dev & yarn types:dev", + "types:dev": "tsc -w", "web": "vscode-test-web --browserType=chromium --extensionDevelopmentPath=.", - "pretest": "npm run compile-web", - "vscode:prepublish": "npm run package-web", - "compile-web": "webpack", - "watch-web": "webpack --watch", - "package-web": "webpack --mode production --devtool hidden-source-map", + "package": "cd ../editor && yarn build && cd ../extension && node scripts/build && node scripts/package", + "vscode:publish": "yarn version && yarn package && vsce publish", "lint": "eslint src --ext ts" }, + "dependencies": {}, + "peerDependencies": {}, "devDependencies": { - "@types/vscode": "^1.59.0", - "@types/mocha": "^9.0.0", - "eslint": "^7.32.0", "@typescript-eslint/eslint-plugin": "^4.31.1", "@typescript-eslint/parser": "^4.31.1", - "mocha": "^9.1.1", - "typescript": "^4.4.3", "@vscode/test-web": "^0.0.12", - "ts-loader": "^9.2.5", - "webpack": "^5.52.1", - "webpack-cli": "^4.8.0", - "@types/webpack-env": "^1.16.2", "assert": "^2.0.0", - "process": "^0.11.10" + "eslint": "^7.32.0", + "mocha": "^9.1.1", + "process": "^0.11.10", + "ts-loader": "^9.2.5", + "typescript": "^4.4.3", + "vsce": "^2.2.0" } -} \ No newline at end of file +} diff --git a/vscode/extension/scripts/build.js b/vscode/extension/scripts/build.js new file mode 100644 index 000000000..14f56f46e --- /dev/null +++ b/vscode/extension/scripts/build.js @@ -0,0 +1,53 @@ +/* eslint-disable */ +const fs = require('fs') +const esbuild = require('esbuild') +const { gzip } = require('zlib') +const pkg = require('../package.json') + +async function main() { + if (fs.existsSync('./dist')) { + fs.rmSync('./dist', { recursive: true }, (e) => { + if (e) { + throw e + } + }) + } + + try { + const esmResult = esbuild.buildSync({ + entryPoints: ['./src/extension.ts'], + outdir: 'dist/web', + minify: true, + bundle: true, + format: 'cjs', + target: 'es6', + define: { + 'process.env.NODE_ENV': '"production"', + }, + tsconfig: './tsconfig.json', + external: Object.keys(pkg.dependencies).concat(Object.keys(pkg.peerDependencies)).concat(["vscode"]), + metafile: true, + + }) + + let esmSize = 0 + Object.values(esmResult.metafile.outputs).forEach((output) => { + esmSize += output.bytes + }) + + fs.readFile('./dist/web/index.js', (_err, data) => { + gzip(data, (_err, result) => { + console.log( + `✔ ${pkg.name}: Built pkg. ${(esmSize / 1000).toFixed(2)}kb (${( + result.length / 1000 + ).toFixed(2)}kb minified)` + ) + }) + }) + } catch (e) { + console.log(`× ${pkg.name}: Build failed due to an error.`) + console.log(e) + } +} + +main() diff --git a/vscode/extension/scripts/dev.js b/vscode/extension/scripts/dev.js new file mode 100644 index 000000000..91b1749ec --- /dev/null +++ b/vscode/extension/scripts/dev.js @@ -0,0 +1,54 @@ +/* eslint-disable */ +const fs = require('fs') +const esbuild = require('esbuild') +const { gzip } = require('zlib') +const pkg = require('../package.json') + +async function main() { + if (fs.existsSync('./dist')) { + fs.rmSync('./dist', { recursive: true }, (e) => { + if (e) { + throw e + } + }) + } + + try { + const esmResult = esbuild.buildSync({ + entryPoints: ['./src/extension.ts'], + outdir: 'dist/web', + minify: true, + bundle: true, + format: 'cjs', + target: 'es6', + define: { + 'process.env.NODE_ENV': '"development"', + }, + tsconfig: './tsconfig.json', + external: Object.keys(pkg.dependencies) + .concat(Object.keys(pkg.peerDependencies)) + .concat(['vscode']), + metafile: true, + }) + + let esmSize = 0 + Object.values(esmResult.metafile.outputs).forEach((output) => { + esmSize += output.bytes + }) + + fs.readFile('./dist/web/index.js', (_err, data) => { + gzip(data, (_err, result) => { + console.log( + `✔ ${pkg.name}: Built pkg. ${(esmSize / 1000).toFixed(2)}kb (${( + result.length / 1000 + ).toFixed(2)}kb minified)` + ) + }) + }) + } catch (e) { + console.log(`× ${pkg.name}: Build failed due to an error.`) + console.log(e) + } +} + +main() diff --git a/vscode/extension/scripts/package.js b/vscode/extension/scripts/package.js new file mode 100644 index 000000000..1855fd92a --- /dev/null +++ b/vscode/extension/scripts/package.js @@ -0,0 +1,37 @@ +/* eslint-disable */ +//const version = require('../../../lerna.json').version +const pkg = require('../package.json') +const { exec } = require('child_process') +const fs = require('fs') +const dir = './temp' + +async function main() { + if (fs.existsSync(dir)) { + fs.rmSync(dir, { recursive: true }, (e) => { + if (e) { + throw e + } + }) + } + + fs.mkdirSync(dir) + + try { + exec( + `cp -r ../editor/dist editor; vsce package; mv ${pkg.name}-${pkg.version}.vsix ${dir}`, + (error, stdout, stderr) => { + if (error) { + throw new Error(error.message) + } + if (stderr && stderr.search('warning') !== 0) { + throw new Error(stderr) + } + } + ) + } catch (e) { + console.log(`× ${pkg.name}: Build failed due to an error.`) + console.log(e) + } +} + +main() diff --git a/vscode/extension/src/web/tldraw-editor.ts b/vscode/extension/src/TLDrawEditorProvider.ts similarity index 82% rename from vscode/extension/src/web/tldraw-editor.ts rename to vscode/extension/src/TLDrawEditorProvider.ts index 665426385..630399410 100644 --- a/vscode/extension/src/web/tldraw-editor.ts +++ b/vscode/extension/src/TLDrawEditorProvider.ts @@ -1,25 +1,27 @@ import * as vscode from 'vscode' -import { getHtmlForWebview } from './get-html' +import { TLDrawFile } from '@tldraw/tldraw' +import { getHtmlForWebview } from './getHtmlForWebview' import { EXTENSION_EVENT, UI_EVENT } from './types' +import { sanitizeDocument } from './utils' /** - * The Tldraw extension's editor uses CustomTextEditorProvider, which means + * The TLDraw extension's editor uses CustomTextEditorProvider, which means * it's underlying model from VS Code's perspective is a text file. We likely * will switch to CustomEditorProvider which gives us more control but will require * more book keeping on our part. */ -export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { +export class TLDrawEditorProvider implements vscode.CustomTextEditorProvider { private document?: vscode.TextDocument // When the tldraw.tldr.new command is triggered, we need to provide a file - // name when generating a new .tldr file. newTldrawFileId's current value is + // name when generating a new .tldr file. newTLDrawFileId's current value is // added to the end of the file to make it unique, and then incremented. // // While there is probably a more thoughtful way of creating suggested file names, // this name is only the temporary name for the new file. The file is still only in memory // and hasn't been saved to an actual underlying file. If we suggest a name that turns // out to already exist, VS Code will prevent it from being used in it's save dialogs. - private static newTldrawFileId = 1 + private static newTLDrawFileId = 1 // This is called one time by the main extension entry point. See 'extension.ts'. // We register commands here and register our custom editor's provider telling VS Code @@ -28,33 +30,20 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { // This makes a new command show up in the Command Palette that will // create a new empty .tldr. The file will actually start out // as an empty text file, which is fine as the editor treats - // blank text files as an empty Tldraw file. Once any change is made + // blank text files as an empty TLDraw file. Once any change is made // and the file saved it will be in a proper JSON format. - // - // The command shows up as: "Tldraw: Create a new .tldr file". - vscode.commands.registerCommand('tldraw.tldr.new', () => { - // This was included in the example CustomTextEditorProvider. It - // doesn't seem like we should need a workspace to be within to edit - // .tldr files, but I want to punt on digging into this. - // TODO: Test/decide if it is necessary to need a workspace. - // I can't think of why we'd want a concept of a global scope - // for editing .tldr files. - const workspaceFolders = vscode.workspace.workspaceFolders - if (!workspaceFolders) { - vscode.window.showErrorMessage( - 'Creating new Tldraw Editor files currently requires opening a workspace' - ) - return - } + // The command shows up as: "TLDraw: Create a new .tldr file". + vscode.commands.registerCommand('tldraw.tldr.new', () => { // Create a placeholder name for the new file. A new file isn't actually // created on disk yet, so this is just an in memory temporary name. - const uri = vscode.Uri.joinPath( - workspaceFolders[0].uri, - `drawing ${TldrawEditorProvider.newTldrawFileId++}.tldr` - ).with({ - scheme: 'untitled', - }) + const id = TLDrawEditorProvider.newTLDrawFileId++ + const name = id > 1 ? `New Document ${id}.tldr` : `New Document.tldr` + + // Create a placeholder file path for the folder. Use the workspace folder + // if one exists, otherwise make up an empty one. + const workspaceFolders = vscode.workspace.workspaceFolders + const path = workspaceFolders ? workspaceFolders[0].uri : vscode.Uri.parse('') // This triggers VS Code to open our custom editor to edit the file. // Note: Multiple editors can register to support certain files, so @@ -62,15 +51,19 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { // we are explicitly saying to launch our editor so we're streamlined. It // may awkwardly ask if they want to use our editor or a text editor when // first using our extension. - vscode.commands.executeCommand('vscode.openWith', uri, TldrawEditorProvider.viewType) + vscode.commands.executeCommand( + 'vscode.openWith', + vscode.Uri.joinPath(path, name).with({ scheme: 'untitled' }), + TLDrawEditorProvider.viewType + ) }) // This registers our editor provider, indicating to VS Code that we can // handle files with the .tldr extension. - const provider = new TldrawEditorProvider(context) + const provider = new TLDrawEditorProvider(context) const providerRegistration = vscode.window.registerCustomEditorProvider( - TldrawEditorProvider.viewType, + TLDrawEditorProvider.viewType, provider, { webviewOptions: { @@ -85,7 +78,7 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { // I'm not sure about the exact semantics about this one. I'm going to leave it in though as // it sounds right for our needs. I think this ensures we get a unique instance of our provider - // per Tldraw editor tab, vs it being shared. It would be really cool if we could support + // per TLDraw editor tab, vs it being shared. It would be really cool if we could support // multiple tabs sharing the same document state, but separate editor state (like zoom/pan/selection), // but this will likely be a lot of work. // @@ -147,9 +140,9 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { // being if the file changed on disk, say from git pull that pulls down a change // to a .tldr file you have open in a tab. - const changeDocumentSubscription = vscode.workspace.onDidSaveTextDocument((e) => { + const changeDocumentSubscription = vscode.workspace.onDidSaveTextDocument(() => { webviewPanel.webview.postMessage({ - type: EXTENSION_EVENT.LOCAL_FILE_UPDATED, + type: EXTENSION_EVENT.FILE_UPDATED, text: document.getText(), }) }) @@ -165,8 +158,14 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { webviewPanel.webview.onDidReceiveMessage((e) => { switch (e.type) { case UI_EVENT.TLDRAW_UPDATED: { - // Synchronize the TextDocument with the tldraw components document state - this.synchronizeTextDocument(document, JSON.parse(e.text)) + // Synchronize the TextDocument with the tldraw components document state + + const prevFile = JSON.parse(document.getText()) as TLDrawFile + const nextFile = JSON.parse(e.text) as TLDrawFile + + nextFile.document = sanitizeDocument(prevFile.document, nextFile.document) + + this.synchronizeTextDocument(document, nextFile) break } } @@ -178,7 +177,7 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { // the extension isn't actually an enclosing web page. webviewPanel.webview.postMessage({ - type: EXTENSION_EVENT.INITIAL_DOCUMENT, + type: EXTENSION_EVENT.OPENED_FILE, text: document.getText(), }) } @@ -189,7 +188,7 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { * VS Code will handle detecting if the in memory content and the on disk * content are different, and then mark/unmark the tab as saved/unsaved */ - private synchronizeTextDocument(document: vscode.TextDocument, json: any) { + private synchronizeTextDocument(document: vscode.TextDocument, nextFile: TLDrawFile) { // Just replace the entire document every time for this example extension. // A more complete extension should compute minimal edits instead. // TODO: Make sure to keep an eye on performance problems, as this may be the @@ -201,7 +200,7 @@ export class TldrawEditorProvider implements vscode.CustomTextEditorProvider { edit.replace( document.uri, new vscode.Range(0, 0, document.lineCount, 0), - JSON.stringify(json, null, 2) + JSON.stringify(nextFile, null, 2) ) return vscode.workspace.applyEdit(edit) diff --git a/vscode/extension/src/web/extension.ts b/vscode/extension/src/extension.ts similarity index 67% rename from vscode/extension/src/web/extension.ts rename to vscode/extension/src/extension.ts index 7d7c47c39..a006f9ab1 100644 --- a/vscode/extension/src/web/extension.ts +++ b/vscode/extension/src/extension.ts @@ -1,9 +1,9 @@ import * as vscode from 'vscode' -import { TldrawEditorProvider } from './tldraw-editor' +import { TLDrawEditorProvider } from './TLDrawEditorProvider' // This is the extension entry point. This is called once on the first // time a .tldr extension is opened/created. export function activate(context: vscode.ExtensionContext) { // Register our custom editor providers - context.subscriptions.push(TldrawEditorProvider.register(context)) + context.subscriptions.push(TLDrawEditorProvider.register(context)) } diff --git a/vscode/extension/src/web/get-html.ts b/vscode/extension/src/getHtmlForWebview.ts similarity index 91% rename from vscode/extension/src/web/get-html.ts rename to vscode/extension/src/getHtmlForWebview.ts index ca3a37388..90cade15d 100644 --- a/vscode/extension/src/web/get-html.ts +++ b/vscode/extension/src/getHtmlForWebview.ts @@ -23,8 +23,12 @@ export function getHtmlForWebview( documentContent = 'null' } - return getDevModeHTML(context, webview, documentContent) - // return getProductionModeHTML(context, webview, documentContent); + if(process.env.NODE_ENV === 'production'){ + return getProductionModeHTML(context, webview, documentContent); + } else { + return getDevModeHTML(context, webview, documentContent) + } + } /** @@ -85,13 +89,15 @@ function getProductionModeHTML( documentContent: string ): string { const cssUrl = webview.asWebviewUri( - vscode.Uri.joinPath(context.extensionUri, 'editor-build/static/css', 'index.css') + vscode.Uri.joinPath(context.extensionUri, 'editor/', 'index.css') ) const jsUrl = webview.asWebviewUri( - vscode.Uri.joinPath(context.extensionUri, 'editor-build/', 'index.js') + vscode.Uri.joinPath(context.extensionUri, 'editor/', 'index.js') ) + console.log("production mode"); + return ` diff --git a/vscode/extension/src/types.ts b/vscode/extension/src/types.ts new file mode 100644 index 000000000..f80c82e33 --- /dev/null +++ b/vscode/extension/src/types.ts @@ -0,0 +1,8 @@ +export enum UI_EVENT { + TLDRAW_UPDATED = 'TLDRAW_UPDATED', +} + +export enum EXTENSION_EVENT { + OPENED_FILE = 'OPENED_FILE', + FILE_UPDATED = 'FILE_UPDATED', +} diff --git a/vscode/extension/src/utils.ts b/vscode/extension/src/utils.ts new file mode 100644 index 000000000..2ea0e133b --- /dev/null +++ b/vscode/extension/src/utils.ts @@ -0,0 +1,21 @@ +import type { TLDrawDocument } from '@tldraw/tldraw' + +export function getNonce() { + let text = '' + const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' + for (let i = 0; i < 32; i++) { + text += possible.charAt(Math.floor(Math.random() * possible.length)) + } + return text +} + +export function sanitizeDocument(prev: TLDrawDocument, next: TLDrawDocument): TLDrawDocument { + Object.values(prev.pageStates).forEach((pageState) => { + // Ensure that the previous page state is preserved, if possible + if (next.pages[pageState.id] !== undefined) { + next.pageStates[pageState.id] = pageState + } + }) + + return next +} diff --git a/vscode/extension/src/web/test/suite/index.ts b/vscode/extension/src/web/test/suite/index.ts deleted file mode 100644 index 918c62e67..000000000 --- a/vscode/extension/src/web/test/suite/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -// imports mocha for the browser, defining the `mocha` global. -require('mocha/mocha') - -export function run(): Promise { - return new Promise((c, e) => { - mocha.setup({ - ui: 'tdd', - reporter: undefined, - }) - - // bundles all files in the current directory matching `*.test` - const importAll = (r: __WebpackModuleApi.RequireContext) => r.keys().forEach(r) - importAll(require.context('.', true, /\.test$/)) - - try { - // Run the mocha test - mocha.run((failures) => { - if (failures > 0) { - e(new Error(`${failures} tests failed.`)) - } else { - c() - } - }) - } catch (err) { - console.error(err) - e(err) - } - }) -} diff --git a/vscode/extension/src/web/types.ts b/vscode/extension/src/web/types.ts deleted file mode 100644 index 9da72b4c8..000000000 --- a/vscode/extension/src/web/types.ts +++ /dev/null @@ -1,12 +0,0 @@ -export enum UI_EVENT { - TLDRAW_UPDATED = 'TLDRAW_UPDATED', -} - -export enum EXTENSION_EVENT { - INITIAL_DOCUMENT = 'INITIAL_DOCUMENT', - LOCAL_FILE_UPDATED = 'LOCAL_FILE_UPDATED', -} - -export type UIMessage = MessageEvent<{ type: UI_EVENT; text: string }> - -export type ExtensionMessage = MessageEvent<{ type: EXTENSION_EVENT; text: string }> diff --git a/vscode/extension/src/web/util.ts b/vscode/extension/src/web/util.ts deleted file mode 100644 index 9fa195ad7..000000000 --- a/vscode/extension/src/web/util.ts +++ /dev/null @@ -1,9 +0,0 @@ -export function getNonce() { - let text = '' - const possible = - 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' - for (let i = 0; i < 32; i++) { - text += possible.charAt(Math.floor(Math.random() * possible.length)) - } - return text -} diff --git a/vscode/extension/webpack.config.js b/vscode/extension/webpack.config.js deleted file mode 100644 index ffab662a5..000000000 --- a/vscode/extension/webpack.config.js +++ /dev/null @@ -1,67 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -//@ts-check -'use strict'; - -//@ts-check -/** @typedef {import('webpack').Configuration} WebpackConfig **/ - -const path = require('path'); -const webpack = require('webpack'); - -const webExtensionConfig = /** @type WebpackConfig */ { - mode: 'none', // this leaves the source code as close as possible to the original (when packaging we set this to 'production') - target: 'webworker', // extensions run in a webworker context - entry: { - extension: './src/web/extension.ts', // source of the web extension main file - 'test/suite/index': './src/web/test/suite/index.ts', // source of the web extension test runner - }, - output: { - filename: '[name].js', - path: path.join(__dirname, './dist/web'), - libraryTarget: 'commonjs', - }, - resolve: { - mainFields: ['browser', 'module', 'main'], // look for `browser` entry point in imported node modules - extensions: ['.ts', '.js'], // support ts-files and js-files - alias: { - // provides alternate implementation for node module and source files - }, - fallback: { - // Webpack 5 no longer polyfills Node.js core modules automatically. - // see https://webpack.js.org/configuration/resolve/#resolvefallback - // for the list of Node.js core module polyfills. - assert: require.resolve('assert'), - }, - }, - module: { - rules: [ - { - test: /\.ts$/, - exclude: /node_modules/, - use: [ - { - loader: 'ts-loader', - }, - ], - }, - ], - }, - plugins: [ - new webpack.ProvidePlugin({ - process: 'process/browser', // provide a shim for the global `process` variable - }), - ], - externals: { - vscode: 'commonjs vscode', // ignored because it doesn't exist - }, - performance: { - hints: false, - }, - devtool: 'nosources-source-map', // create a source map that points to the original source file -}; - -module.exports = [webExtensionConfig]; diff --git a/yarn.lock b/yarn.lock index 2b4687ac6..2c7b5603a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1303,6 +1303,17 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@koa/router@^10.1.1": + version "10.1.1" + resolved "https://registry.yarnpkg.com/@koa/router/-/router-10.1.1.tgz#8e5a85c9b243e0bc776802c0de564561e57a5f78" + integrity sha512-ORNjq5z4EmQPriKbR0ER3k4Gh7YGNhWDL7JBW+8wXDrHLbWYKYSJaOJ9aN06npF5tbTxe2JBOsurpJDAvjiXKw== + dependencies: + debug "^4.1.1" + http-errors "^1.7.3" + koa-compose "^4.1.0" + methods "^1.1.2" + path-to-regexp "^6.1.0" + "@lerna/add@3.21.0": version "3.21.0" resolved "https://registry.yarnpkg.com/@lerna/add/-/add-3.21.0.tgz#27007bde71cc7b0a2969ab3c2f0ae41578b4577b" @@ -3395,6 +3406,11 @@ resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.5.tgz#2a1413aded46e67a1fe2386800e291123ed75eb1" integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw== +"@types/vscode@^1.59.0": + version "1.62.0" + resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.62.0.tgz#b4d6d192d5aeb75e91d0adef689c3ecef9879da7" + integrity sha512-iGlQJ1w5e3qPUryroO6v4lxg3ql1ztdTCwQW3xEwFawdyPLoeUSv48SYfMwc7kQA7h6ThUqflZIjgKAykeF9oA== + "@types/yargs-parser@*": version "20.2.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" @@ -3414,12 +3430,19 @@ dependencies: "@types/yargs-parser" "*" +"@types/yauzl@^2.9.1": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" + integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== + dependencies: + "@types/node" "*" + "@types/zen-observable@0.8.3": version "0.8.3" resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.3.tgz#781d360c282436494b32fe7d9f7f8e64b3118aa3" integrity sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw== -"@typescript-eslint/eslint-plugin@^4.19.0": +"@typescript-eslint/eslint-plugin@^4.19.0", "@typescript-eslint/eslint-plugin@^4.31.1": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== @@ -3445,7 +3468,7 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@^4.19.0", "@typescript-eslint/parser@^4.20.0": +"@typescript-eslint/parser@^4.19.0", "@typescript-eslint/parser@^4.20.0", "@typescript-eslint/parser@^4.31.1": version "4.33.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== @@ -3489,6 +3512,11 @@ "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + "@use-gesture/core@10.1.3": version "10.1.3" resolved "https://registry.yarnpkg.com/@use-gesture/core/-/core-10.1.3.tgz#3fc3515af7b1bf26e2035350d653e3287a6e1fe0" @@ -3501,6 +3529,24 @@ dependencies: "@use-gesture/core" "10.1.3" +"@vscode/test-web@^0.0.12": + version "0.0.12" + resolved "https://registry.yarnpkg.com/@vscode/test-web/-/test-web-0.0.12.tgz#0d2eda3c2740bf4c59997e7e8658f0794af2f042" + integrity sha512-PtmyN0SUI3iQbPgcTAQ23IFCrbSvdahY0I2KL5TlBplY3vpFOc3To497GXYuVNYG6YIA7KKDPAADLB/HIXPOPA== + dependencies: + "@koa/router" "^10.1.1" + decompress "^4.2.1" + decompress-targz "^4.1.1" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + koa "^2.13.1" + koa-morgan "^1.0.1" + koa-mount "^4.0.0" + koa-static "^5.0.0" + minimist "^1.2.5" + playwright "^1.14.1" + vscode-uri "^3.0.2" + "@zkochan/cmd-shim@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz#2ab8ed81f5bb5452a85f25758eb9b8681982fd2e" @@ -3528,7 +3574,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.5: +accepts@^1.3.5, accepts@~1.3.5: version "1.3.7" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== @@ -3571,7 +3617,7 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agent-base@6: +agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== @@ -3637,7 +3683,7 @@ ansi-align@^3.0.0: dependencies: string-width "^4.1.0" -ansi-colors@^4.1.1: +ansi-colors@4.1.1, ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== @@ -3931,7 +3977,7 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= -assert@2.0.0: +assert@2.0.0, assert@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== @@ -4016,6 +4062,14 @@ axobject-query@^2.2.0: resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== +azure-devops-node-api@^11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/azure-devops-node-api/-/azure-devops-node-api-11.0.1.tgz#b7ec4783230e1de8fc972b23effe7ed2ebac17ff" + integrity sha512-YMdjAw9l5p/6leiyIloxj3k7VIvYThKjvqgiQn88r3nhT93ENwsoDS3A83CyJ4uTWzCZ5f5jCi6c27rTU5Pz+A== + dependencies: + tunnel "0.0.6" + typed-rest-client "^1.8.4" + babel-jest@^27.3.1: version "27.3.1" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.3.1.tgz#0636a3404c68e07001e434ac4956d82da8a80022" @@ -4146,6 +4200,13 @@ base@^0.11.1: mixin-deep "^1.2.0" pascalcase "^0.1.1" +basic-auth@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" + integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== + dependencies: + safe-buffer "5.1.2" + bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -4168,6 +4229,23 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c" @@ -4190,6 +4268,11 @@ bn.js@^5.0.0, bn.js@^5.1.1: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= + boolean@^3.0.1: version "3.1.4" resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435" @@ -4250,6 +4333,11 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + browserify-aes@^1.0.0, browserify-aes@^1.0.4: version "1.2.0" resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" @@ -4396,7 +4484,7 @@ buffer@5.6.0: base64-js "^1.0.2" ieee754 "^1.1.4" -buffer@^5.1.0: +buffer@^5.1.0, buffer@^5.2.1, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -4512,6 +4600,14 @@ cache-base@^1.0.1: union-value "^1.0.0" unset-value "^1.0.0" +cache-content-type@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" + integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== + dependencies: + mime-types "^2.1.18" + ylru "^1.2.0" + cacheable-request@^6.0.0: version "6.1.0" resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" @@ -4603,7 +4699,7 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: +camelcase@^6.0.0, camelcase@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== @@ -4672,6 +4768,30 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +cheerio-select@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-1.5.0.tgz#faf3daeb31b17c5e1a9dabcee288aaf8aafa5823" + integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg== + dependencies: + css-select "^4.1.3" + css-what "^5.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + domutils "^2.7.0" + +cheerio@^1.0.0-rc.9: + version "1.0.0-rc.10" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.10.tgz#2ba3dcdfcc26e7956fc1f440e61d51c643379f3e" + integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== + dependencies: + cheerio-select "^1.5.0" + dom-serializer "^1.3.2" + domhandler "^4.2.0" + htmlparser2 "^6.1.0" + parse5 "^6.0.1" + parse5-htmlparser2-tree-adapter "^6.0.1" + tslib "^2.2.0" + chokidar@3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" @@ -4687,7 +4807,7 @@ chokidar@3.5.1: optionalDependencies: fsevents "~2.3.1" -chokidar@^3.5.0, chokidar@^3.5.2: +chokidar@3.5.2, chokidar@^3.5.0, 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== @@ -4957,6 +5077,11 @@ commander@^5.0.0: resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== +commander@^6.1.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + commander@^8.2.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -5090,6 +5215,18 @@ constants-browserify@1.0.0: resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= +content-disposition@~0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" + integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + dependencies: + safe-buffer "5.1.2" + +content-type@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + conventional-changelog-angular@^5.0.3: version "5.0.13" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" @@ -5191,6 +5328,14 @@ cookie@^0.4.1: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== +cookies@~0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" + integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== + dependencies: + depd "~2.0.0" + keygrip "~1.1.0" + copy-concurrently@^1.0.0: version "1.0.5" resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" @@ -5342,6 +5487,22 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + +css-what@^5.0.0, css-what@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== + css.escape@1.5.1, css.escape@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" @@ -5468,7 +5629,7 @@ debug@3.1.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: +debug@4, debug@4.3.2, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== @@ -5500,6 +5661,11 @@ decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + decimal.js@^10.2.1: version "10.3.1" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" @@ -5524,11 +5690,76 @@ decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" +decompress-response@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986" + integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw== + dependencies: + mimic-response "^2.0.0" + +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0, decompress-targz@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + integrity sha1-3qrM39FK6vhVePczroIQ+bSEj2k= + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" + integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= +deep-equal@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" + integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5608,6 +5839,11 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= +depd@^2.0.0, depd@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -5637,11 +5873,21 @@ des.js@^1.0.0: inherits "^2.0.1" minimalistic-assert "^1.0.0" +destroy@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -5747,6 +5993,11 @@ diff-sequences@^27.0.6: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== +diff@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + diffie-hellman@^5.0.0: version "5.0.3" resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" @@ -5828,11 +6079,25 @@ dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz#caa6d08f60388d0bb4539dd75fe458a9a1d0014c" integrity sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g== +dom-serializer@^1.0.1, dom-serializer@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + domain-browser@4.19.0: version "4.19.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + domexception@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" @@ -5847,6 +6112,22 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.5.2, domutils@^2.6.0, domutils@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + dot-prop@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.1.tgz#45884194a71fc2cda71cbb4bceb3a4dd2f433ba4" @@ -6083,14 +6364,14 @@ encoding@0.1.13, encoding@^0.1.11: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enhanced-resolve@^5.3.2, enhanced-resolve@^5.7.0: +enhanced-resolve@^5.0.0, enhanced-resolve@^5.3.2, enhanced-resolve@^5.7.0: version "5.8.3" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz#6d552d465cce0423f5b3d718511ea53826a7b2f0" integrity sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA== @@ -6105,6 +6386,16 @@ enquirer@^2.3.5, enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +entities@~2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" + integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -6322,11 +6613,16 @@ escape-goat@^2.0.0: resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== -escape-html@~1.0.3: +escape-html@^1.0.3, escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= +escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + escape-string-regexp@^1.0.2, 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" @@ -6337,11 +6633,6 @@ 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@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - escodegen@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" @@ -6658,6 +6949,11 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + expect@^27.3.1: version "27.3.1" resolved "https://registry.yarnpkg.com/expect/-/expect-27.3.1.tgz#d0f170b1f5c8a2009bab0beffd4bb94f043e38e7" @@ -6723,6 +7019,17 @@ extract-zip@^1.0.3: mkdirp "^0.5.4" yauzl "^2.10.0" +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -6823,6 +7130,21 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" +file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + integrity sha1-JXoHg4TR24CHvESdEH1SpSZyuek= + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + integrity sha1-LdvqfHP/42No365J3DOMBYwritY= + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== + filelist@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b" @@ -6902,6 +7224,14 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -6940,6 +7270,11 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.1.0: version "3.2.2" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" @@ -7003,6 +7338,11 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" +fresh@~0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" @@ -7011,6 +7351,11 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" @@ -7170,6 +7515,14 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + integrity sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4= + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + get-stream@^4.0.0, get-stream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -7258,6 +7611,11 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= + glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -7295,7 +7653,7 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.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.7, glob@^7.2.0: +glob@^7.0.3, glob@^7.0.6, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7, glob@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -7430,7 +7788,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: +graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== @@ -7440,6 +7798,11 @@ 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-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= +growl@1.10.5: + version "1.10.5" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + handlebars@^4.7.6: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" @@ -7636,6 +7999,24 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-assert@^1.3.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f" + integrity sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w== + dependencies: + deep-equal "~1.0.1" + http-errors "~1.8.0" + http-cache-semantics@^3.8.1: version "3.8.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" @@ -7657,6 +8038,27 @@ http-errors@1.7.3: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" +http-errors@^1.6.3, http-errors@^1.7.3, http-errors@~1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.0.tgz#75d1bbe497e1044f51e4ee9e704a62f28d336507" + integrity sha512-4I8r0C5JDhT5VkvI47QktDW75rNlGVsUf/8hzjCC/wkWI/jdTRmBb9aI7erSG82r1bjKY3F6k28WnsVxB1C73A== + dependencies: + depd "~1.1.2" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses ">= 1.5.0 < 2" + toidentifier "1.0.0" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + http-proxy-agent@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" @@ -7885,6 +8287,11 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + ini@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" @@ -7957,7 +8364,7 @@ invariant@^2.2.4: dependencies: loose-envify "^1.0.0" -ip@1.1.5: +ip@1.1.5, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= @@ -8172,6 +8579,11 @@ is-nan@^1.2.1: call-bind "^1.0.0" define-properties "^1.1.3" +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + integrity sha1-q5124dtM7VHjXeDHLr7PCfc0zeg= + is-negative-zero@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" @@ -8240,6 +8652,11 @@ is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -8334,6 +8751,11 @@ is-typedarray@^1.0.0, is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + is-url@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" @@ -8913,11 +9335,23 @@ jose@^1.27.2: dependencies: "@panva/asn1.js" "^1.0.0" +jpeg-js@^0.4.2: + version "0.4.3" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.4.3.tgz#6158e09f1983ad773813704be80680550eff977b" + integrity sha512-ru1HWKek8octvUHFHvE5ZzQ1yAsJmIvRdGWvSoKV52XKyuyYA437QWDttXT8eZXDSbuMpHlLzPDZUPd6idIz+Q== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== +js-yaml@4.1.0, js-yaml@^4.0.0, js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -8926,13 +9360,6 @@ js-yaml@^3.13.1: argparse "^1.0.7" esprima "^4.0.0" -js-yaml@^4.0.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -9122,6 +9549,21 @@ jws@^3.2.2: jwa "^1.4.1" safe-buffer "^5.0.1" +keygrip@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" + integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== + dependencies: + tsscmp "1.0.6" + +keytar@^7.7.0: + version "7.7.0" + resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.7.0.tgz#3002b106c01631aa79b1aa9ee0493b94179bbbd2" + integrity sha512-YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A== + dependencies: + node-addon-api "^3.0.0" + prebuild-install "^6.0.0" + keyv@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" @@ -9158,6 +9600,80 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +koa-compose@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" + integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== + +koa-convert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-2.0.0.tgz#86a0c44d81d40551bae22fee6709904573eea4f5" + integrity sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA== + dependencies: + co "^4.6.0" + koa-compose "^4.1.0" + +koa-morgan@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/koa-morgan/-/koa-morgan-1.0.1.tgz#08052e0ce0d839d3c43178b90a5bb3424bef1f99" + integrity sha1-CAUuDODYOdPEMXi5CluzQkvvH5k= + dependencies: + morgan "^1.6.1" + +koa-mount@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/koa-mount/-/koa-mount-4.0.0.tgz#e0265e58198e1a14ef889514c607254ff386329c" + integrity sha512-rm71jaA/P+6HeCpoRhmCv8KVBIi0tfGuO/dMKicbQnQW/YJntJ6MnnspkodoA4QstMVEZArsCphmd0bJEtoMjQ== + dependencies: + debug "^4.0.1" + koa-compose "^4.1.0" + +koa-send@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/koa-send/-/koa-send-5.0.1.tgz#39dceebfafb395d0d60beaffba3a70b4f543fe79" + integrity sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ== + dependencies: + debug "^4.1.1" + http-errors "^1.7.3" + resolve-path "^1.4.0" + +koa-static@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/koa-static/-/koa-static-5.0.0.tgz#5e92fc96b537ad5219f425319c95b64772776943" + integrity sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ== + dependencies: + debug "^3.1.0" + koa-send "^5.0.0" + +koa@^2.13.1: + version "2.13.4" + resolved "https://registry.yarnpkg.com/koa/-/koa-2.13.4.tgz#ee5b0cb39e0b8069c38d115139c774833d32462e" + integrity sha512-43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g== + dependencies: + accepts "^1.3.5" + cache-content-type "^1.0.0" + content-disposition "~0.5.2" + content-type "^1.0.4" + cookies "~0.8.0" + debug "^4.3.2" + delegates "^1.0.0" + depd "^2.0.0" + destroy "^1.0.4" + encodeurl "^1.0.2" + escape-html "^1.0.3" + fresh "~0.5.2" + http-assert "^1.3.0" + http-errors "^1.6.3" + is-generator-function "^1.0.7" + koa-compose "^4.1.0" + koa-convert "^2.0.0" + on-finished "^2.3.0" + only "~0.0.2" + parseurl "^1.3.2" + statuses "^1.5.0" + type-is "^1.6.16" + vary "^1.1.2" + language-subtag-registry@~0.3.2: version "0.3.21" resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" @@ -9239,6 +9755,13 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= +linkify-it@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== + dependencies: + uc.micro "^1.0.1" + lint-staged@^11.2.6: version "11.2.6" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.2.6.tgz#f477b1af0294db054e5937f171679df63baa4c43" @@ -9368,6 +9891,13 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -9473,6 +10003,14 @@ lodash@^4.17.10, lodash@^4.17.12, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.2. resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== +log-symbols@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + log-update@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" @@ -9622,6 +10160,17 @@ map-visit@^1.0.0: dependencies: object-visit "^1.0.0" +markdown-it@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" + integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== + dependencies: + argparse "^1.0.7" + entities "~2.0.0" + linkify-it "^2.0.0" + mdurl "^1.0.1" + uc.micro "^1.0.5" + marked@^3.0.8: version "3.0.8" resolved "https://registry.yarnpkg.com/marked/-/marked-3.0.8.tgz#2785f0dc79cbdc6034be4bb4f0f0a396bd3f8aeb" @@ -9643,6 +10192,16 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -9719,6 +10278,11 @@ merge2@^1.2.3, merge2@^1.3.0: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== +methods@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + micromatch@^3.1.10: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -9738,7 +10302,7 @@ micromatch@^3.1.10: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.4: +micromatch@^4.0.0, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -9759,14 +10323,19 @@ mime-db@1.50.0, "mime-db@>= 1.43.0 < 2": resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== -mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24: +mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.19, mime-types@~2.1.24: version "2.1.33" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== dependencies: mime-db "1.50.0" -mime@^2.5.2: +mime@^1.3.4: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mime@^2.4.6, mime@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== @@ -9791,6 +10360,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +mimic-response@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43" + integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -9814,7 +10388,7 @@ 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.4: +minimatch@3.0.4, minimatch@^3.0.3, 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== @@ -9838,7 +10412,7 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" -minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.1.3, 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== @@ -9882,6 +10456,11 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp-promise@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" @@ -9901,6 +10480,36 @@ mkdirp@^0.5.1, mkdirp@^0.5.4, mkdirp@^0.5.5: dependencies: minimist "^1.2.5" +mocha@^9.1.1: + version "9.1.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-9.1.3.tgz#8a623be6b323810493d8c8f6f7667440fa469fdb" + integrity sha512-Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.2" + debug "4.3.2" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.7" + growl "1.10.5" + he "1.2.0" + js-yaml "4.1.0" + log-symbols "4.1.0" + minimatch "3.0.4" + ms "2.1.3" + nanoid "3.1.25" + serialize-javascript "6.0.0" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + workerpool "6.1.5" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -9925,6 +10534,17 @@ module-lookup-amd@^7.0.0: requirejs "^2.3.5" requirejs-config-file "^4.0.0" +morgan@^1.6.1: + version "1.10.0" + resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" + integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== + dependencies: + basic-auth "~2.0.1" + debug "2.6.9" + depd "~2.0.0" + on-finished "~2.3.0" + on-headers "~1.0.2" + move-concurrently@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" @@ -9947,7 +10567,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.3, 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== @@ -9981,6 +10601,11 @@ mz@^2.4.0, mz@^2.5.0: object-assign "^4.0.1" thenify-all "^1.0.0" +nanoid@3.1.25: + version "3.1.25" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.25.tgz#09ca32747c0e543f0e1814b7d3793477f9c8e152" + integrity sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q== + nanoid@^3.1.23, nanoid@^3.1.30: version "3.1.30" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" @@ -10003,6 +10628,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -10138,11 +10768,23 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== +node-abi@^2.21.0: + version "2.30.1" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf" + integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w== + dependencies: + semver "^5.4.1" + node-addon-api@^1.6.3: version "1.7.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d" integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg== +node-addon-api@^3.0.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + node-fetch-npm@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" @@ -10348,7 +10990,7 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -npmlog@^4.1.2: +npmlog@^4.0.1, 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== @@ -10358,6 +11000,13 @@ npmlog@^4.1.2: gauge "~2.7.3" set-blocking "~2.0.0" +nth-check@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + dependencies: + boolbase "^1.0.0" + 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" @@ -10483,7 +11132,7 @@ octokit-pagination-methods@^1.1.0: resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== -on-finished@~2.3.0: +on-finished@^2.3.0, on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= @@ -10523,6 +11172,11 @@ onigasm@^2.2.5: dependencies: lru-cache "^5.1.1" +only@~0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" + integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -10593,7 +11247,7 @@ p-finally@^1.0.0: resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= -p-limit@3.1.0, p-limit@^3.1.0: +p-limit@3.1.0, p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -10635,6 +11289,13 @@ p-locate@^4.1.0: dependencies: p-limit "^2.2.0" +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + p-map-series@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" @@ -10775,6 +11436,13 @@ parse-path@^4.0.0: qs "^6.9.4" query-string "^6.13.8" +parse-semver@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/parse-semver/-/parse-semver-1.1.1.tgz#9a4afd6df063dc4826f93fba4a99cf223f666cb8" + integrity sha1-mkr9bfBj3Egm+T+6SpnPIj9mbLg= + dependencies: + semver "^5.1.0" + parse-url@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.0.tgz#f5dd262a7de9ec00914939220410b66cff09107d" @@ -10785,7 +11453,7 @@ parse-url@^6.0.0: parse-path "^4.0.0" protocols "^1.4.0" -parse5-htmlparser2-tree-adapter@^6.0.0: +parse5-htmlparser2-tree-adapter@^6.0.0, parse5-htmlparser2-tree-adapter@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== @@ -10802,7 +11470,7 @@ parse5@^5.1.1: resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== -parseurl@~1.3.3: +parseurl@^1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== @@ -10839,7 +11507,7 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-is-absolute@^1.0.0: +path-is-absolute@1.0.1, path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= @@ -10871,6 +11539,11 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" +path-to-regexp@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38" + integrity sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg== + path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -10993,6 +11666,35 @@ platform@1.3.6: resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== +playwright-core@=1.16.3: + version "1.16.3" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.16.3.tgz#f466be9acaffb698654adfb0a17a4906ba936895" + integrity sha512-16hF27IvQheJee+DbhC941AUZLjbJgfZFWi9YPS4LKEk/lKFhZI+9TiFD0sboYqb9eaEWvul47uR5xxTVbE4iw== + dependencies: + commander "^8.2.0" + debug "^4.1.1" + extract-zip "^2.0.1" + https-proxy-agent "^5.0.0" + jpeg-js "^0.4.2" + mime "^2.4.6" + pngjs "^5.0.0" + progress "^2.0.3" + proper-lockfile "^4.1.1" + proxy-from-env "^1.1.0" + rimraf "^3.0.2" + socks-proxy-agent "^6.1.0" + stack-utils "^2.0.3" + ws "^7.4.6" + yauzl "^2.10.0" + yazl "^2.5.1" + +playwright@^1.14.1: + version "1.16.3" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.16.3.tgz#27a292d9fa54fbac923998d3af58cd2b691f5ebe" + integrity sha512-nfJx/OpIb/8OexL3rYGxNN687hGyaM3XNpfuMzoPlrekURItyuiHHsNhC9oQCx3JDmCn5O3EyyyFCnrZjH6MpA== + dependencies: + playwright-core "=1.16.3" + please-upgrade-node@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942" @@ -11008,6 +11710,11 @@ plist@^3.0.1: base64-js "^1.5.1" xmlbuilder "^9.0.7" +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" @@ -11052,6 +11759,25 @@ preact@^10.4.1: resolved "https://registry.yarnpkg.com/preact/-/preact-10.5.15.tgz#6df94d8afecf3f9e10a742fd8c362ddab464225f" integrity sha512-5chK29n6QcJc3m1lVrKQSQ+V7K1Gb8HeQY6FViQ5AxCAEGu3DaHffWNDkC9+miZgsLvbvU9rxbV1qinGHMHzqA== +prebuild-install@^6.0.0: + version "6.1.4" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz#ae3c0142ad611d58570b89af4986088a4937e00f" + integrity sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ== + dependencies: + detect-libc "^1.0.3" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^2.21.0" + npmlog "^4.0.1" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^3.0.3" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + precinct-80@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/precinct-80/-/precinct-80-8.0.0.tgz#db690060bdb0e7efaa9ece079c52bbd3fc6b6ba0" @@ -11116,7 +11842,7 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -process@0.11.10: +process@0.11.10, process@^0.11.10: version "0.11.10" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= @@ -11163,6 +11889,15 @@ prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" +proper-lockfile@^4.1.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-4.1.2.tgz#c8b9de2af6b2f1601067f98e01ac66baa223141f" + integrity sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA== + dependencies: + graceful-fs "^4.2.4" + retry "^0.12.0" + signal-exit "^3.0.2" + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -11244,7 +11979,7 @@ q@^1.5.1: resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= -qs@^6.9.4: +qs@^6.9.1, qs@^6.9.4: version "6.10.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a" integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg== @@ -11323,7 +12058,7 @@ raw-body@2.4.1: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.8: +rc@^1.2.7, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -11529,14 +12264,14 @@ read-pkg@^5.2.0: parse-json "^5.0.0" type-fest "^0.6.0" -read@1, read@~1.0.1: +read@1, read@^1.0.7, read@~1.0.1: version "1.0.7" resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= dependencies: mute-stream "~0.0.4" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.5, 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== @@ -11549,7 +12284,7 @@ read@1, read@~1.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.5.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -11837,6 +12572,14 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-path@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/resolve-path/-/resolve-path-1.4.0.tgz#c4bda9f5efb2fce65247873ab36bb4d834fe16f7" + integrity sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc= + dependencies: + http-errors "~1.6.2" + path-is-absolute "1.0.1" + resolve-pathname@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" @@ -11901,6 +12644,11 @@ retry@^0.10.0: resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -12077,6 +12825,13 @@ schema-utils@^3.1.1: ajv "^6.12.5" ajv-keywords "^3.5.2" +seek-bzip@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" + integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== + dependencies: + commander "^2.8.1" + semver-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" @@ -12118,6 +12873,13 @@ serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" +serialize-javascript@6.0.0, serialize-javascript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" + integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== + dependencies: + randombytes "^2.1.0" + serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -12125,13 +12887,6 @@ serialize-javascript@^4.0.0: dependencies: randombytes "^2.1.0" -serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.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" @@ -12152,11 +12907,21 @@ setimmediate@^1.0.4: resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + setprototypeof@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: version "2.4.11" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" @@ -12224,6 +12989,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3" + integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA== + dependencies: + decompress-response "^4.2.0" + once "^1.3.1" + simple-concat "^1.0.0" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -12312,6 +13091,23 @@ socks-proxy-agent@^4.0.0: agent-base "~4.2.1" socks "~2.3.2" +socks-proxy-agent@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz#869cf2d7bd10fea96c7ad3111e81726855e285c3" + integrity sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg== + dependencies: + agent-base "^6.0.2" + debug "^4.3.1" + socks "^2.6.1" + +socks@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.1.tgz#989e6534a07cf337deb1b1c94aaa44296520d30e" + integrity sha512-kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA== + dependencies: + ip "^1.1.5" + smart-buffer "^4.1.0" + socks@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" @@ -12519,7 +13315,7 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: +"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.5.0, statuses@~1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= @@ -12723,6 +13519,13 @@ strip-comments@^2.0.1: resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== + dependencies: + is-natural-number "^4.0.1" + strip-eof@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" @@ -12752,7 +13555,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -12865,6 +13668,40 @@ tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -13044,7 +13881,7 @@ tmp@^0.0.33: dependencies: os-tmpdir "~1.0.2" -tmp@^0.2.0: +tmp@^0.2.0, tmp@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== @@ -13056,6 +13893,11 @@ tmpl@1.0.5: resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -13166,6 +14008,16 @@ truncate-utf8-bytes@^1.0.0: dependencies: utf8-byte-length "^1.0.1" +ts-loader@^9.2.5: + version "9.2.6" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.2.6.tgz#9937c4dd0a1e3dbbb5e433f8102a6601c6615d74" + integrity sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + tsconfig-paths@^3.11.0, tsconfig-paths@^3.9.0: version "3.11.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" @@ -13189,7 +14041,7 @@ tslib@^1.0.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1: +tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.0, tslib@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== @@ -13199,6 +14051,11 @@ tslib@~2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== +tsscmp@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" + integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -13218,7 +14075,7 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel@^0.0.6: +tunnel@0.0.6, tunnel@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== @@ -13292,6 +14149,23 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-is@^1.6.16: + version "1.6.18" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typed-rest-client@^1.8.4: + version "1.8.6" + resolved "https://registry.yarnpkg.com/typed-rest-client/-/typed-rest-client-1.8.6.tgz#d8facd6abd98cbd8ad14cccf056ca5cc306919d7" + integrity sha512-xcQpTEAJw2DP7GqVNECh4dD+riS+C1qndXLfBCJ3xk0kqprtGN491P5KlmrDbKdtuW8NEcP/5ChxiJI3S9WYTA== + dependencies: + qs "^6.9.1" + tunnel "0.0.6" + underscore "^1.12.1" + typedarray-to-buffer@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" @@ -13348,7 +14222,7 @@ typescript@^3.9.7: resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== -typescript@^4.4.2: +typescript@^4.4.2, typescript@^4.4.3: version "4.4.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c" integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA== @@ -13367,6 +14241,11 @@ typeson@^6.0.0, typeson@^6.1.0: resolved "https://registry.yarnpkg.com/typeson/-/typeson-6.1.0.tgz#5b2a53705a5f58ff4d6f82f965917cabd0d7448b" integrity sha512-6FTtyGr8ldU0pfbvW/eOZrEtEkczHRUtduBnA90Jh9kMPCiFNnXIon3vF41N0S4tV1HHQt4Hk1j4srpESziCaA== +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + uglify-js@^3.1.4: version "3.14.3" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf" @@ -13392,6 +14271,19 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" +unbzip2-stream@^1.0.9: + version "1.4.3" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" + integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== + dependencies: + buffer "^5.2.1" + through "^2.3.8" + +underscore@^1.12.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1" + integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" @@ -13523,6 +14415,11 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-join@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7" + integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA== + url-parse-lax@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" @@ -13628,7 +14525,7 @@ value-equal@^1.0.1: resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== -vary@~1.1.2: +vary@^1.1.2, vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= @@ -13656,11 +14553,42 @@ vm-browserify@1.1.2: resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== +vsce@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vsce/-/vsce-2.2.0.tgz#8e78b005d27909d2f903744d374a750ce7bf4aa3" + integrity sha512-Ww4P5MibbMorrRU5Dugd/IhGpq8inCtgxrFko7Yo8tIPlEq9LrjVD9/P7+s6gKMnlpGpvfC6xmR51cPb4Uf+nQ== + dependencies: + azure-devops-node-api "^11.0.1" + chalk "^2.4.2" + cheerio "^1.0.0-rc.9" + commander "^6.1.0" + glob "^7.0.6" + hosted-git-info "^4.0.2" + keytar "^7.7.0" + leven "^3.1.0" + markdown-it "^10.0.0" + mime "^1.3.4" + minimatch "^3.0.3" + parse-semver "^1.1.1" + read "^1.0.7" + semver "^5.1.0" + tmp "^0.2.1" + typed-rest-client "^1.8.4" + url-join "^4.0.1" + xml2js "^0.4.23" + yauzl "^2.3.1" + yazl "^2.2.2" + vscode-textmate@5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e" integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ== +vscode-uri@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.2.tgz#ecfd1d066cb8ef4c3a208decdbab9a8c23d055d0" + integrity sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA== + w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -13791,6 +14719,13 @@ which-typed-array@^1.1.2: has-tostringtag "^1.0.0" is-typed-array "^1.1.7" +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -13798,13 +14733,6 @@ which@^1.2.9, which@^1.3.1: dependencies: isexe "^2.0.0" -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - wide-align@^1.1.0: version "1.1.5" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" @@ -14007,6 +14935,11 @@ workbox-window@6.3.0, workbox-window@^6.3.0: "@types/trusted-types" "^2.0.2" workbox-core "6.3.0" +workerpool@6.1.5: + version "6.1.5" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.5.tgz#0f7cf076b6215fd7e1da903ff6f22ddd1886b581" + integrity sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw== + wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -14133,7 +15066,7 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -14172,6 +15105,11 @@ yargonaut@^1.1.4: figlet "^1.1.1" parent-require "^1.0.0" +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + yargs-parser@^15.0.1: version "15.0.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.3.tgz#316e263d5febe8b38eef61ac092b33dfcc9b1115" @@ -14185,6 +15123,29 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + +yargs@16.2.0, yargs@^16.0.0, yargs@^16.2.0: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + yargs@^14.2.2: version "14.2.3" resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" @@ -14202,19 +15163,6 @@ yargs@^14.2.2: y18n "^4.0.0" yargs-parser "^15.0.1" -yargs@^16.0.0, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yargs@^17.0.1: version "17.2.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea" @@ -14228,7 +15176,7 @@ yargs@^17.0.1: y18n "^5.0.5" yargs-parser "^20.2.2" -yauzl@^2.10.0: +yauzl@^2.10.0, yauzl@^2.3.1, yauzl@^2.4.2: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= @@ -14236,6 +15184,18 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yazl@^2.2.2, yazl@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" + integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== + dependencies: + buffer-crc32 "~0.2.3" + +ylru@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" + integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== + yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"