From 9e668574d4e0fa276bd4f7df8416953d1f0e4164 Mon Sep 17 00:00:00 2001 From: Agnieszka Gawrys Date: Thu, 25 Mar 2021 15:14:00 -0400 Subject: [PATCH 01/37] Added LSP Reporter and basic vs code extension --- flow-typed/npm/vscode-jsonrpc_vx.x.x.js | 165 ++ .../npm/vscode-languageserver_vx.x.x.js | 158 ++ packages/examples/kitchen-sink/package.json | 1 + packages/reporters/lsp-reporter/package.json | 14 + .../reporters/lsp-reporter/src/LspReporter.js | 42 + packages/utils/parcelforvscode/.eslintrc.json | 17 + packages/utils/parcelforvscode/.gitignore | 5 + packages/utils/parcelforvscode/.vscodeignore | 11 + packages/utils/parcelforvscode/.yarnrc | 1 + packages/utils/parcelforvscode/CHANGELOG.md | 9 + packages/utils/parcelforvscode/README.md | 71 + packages/utils/parcelforvscode/package.json | 45 + .../utils/parcelforvscode/src/extension.ts | 28 + .../utils/parcelforvscode/src/test/runTest.ts | 23 + .../src/test/suite/extension.test.ts | 15 + .../parcelforvscode/src/test/suite/index.ts | 38 + packages/utils/parcelforvscode/tsconfig.json | 16 + .../vsc-extension-quickstart.md | 41 + packages/utils/parcelforvscode/yarn.lock | 1529 +++++++++++++++++ yarn.lock | 408 ++++- 20 files changed, 2620 insertions(+), 17 deletions(-) create mode 100644 flow-typed/npm/vscode-jsonrpc_vx.x.x.js create mode 100644 flow-typed/npm/vscode-languageserver_vx.x.x.js create mode 100644 packages/reporters/lsp-reporter/package.json create mode 100644 packages/reporters/lsp-reporter/src/LspReporter.js create mode 100644 packages/utils/parcelforvscode/.eslintrc.json create mode 100644 packages/utils/parcelforvscode/.gitignore create mode 100644 packages/utils/parcelforvscode/.vscodeignore create mode 100644 packages/utils/parcelforvscode/.yarnrc create mode 100644 packages/utils/parcelforvscode/CHANGELOG.md create mode 100644 packages/utils/parcelforvscode/README.md create mode 100644 packages/utils/parcelforvscode/package.json create mode 100644 packages/utils/parcelforvscode/src/extension.ts create mode 100644 packages/utils/parcelforvscode/src/test/runTest.ts create mode 100644 packages/utils/parcelforvscode/src/test/suite/extension.test.ts create mode 100644 packages/utils/parcelforvscode/src/test/suite/index.ts create mode 100644 packages/utils/parcelforvscode/tsconfig.json create mode 100644 packages/utils/parcelforvscode/vsc-extension-quickstart.md create mode 100644 packages/utils/parcelforvscode/yarn.lock diff --git a/flow-typed/npm/vscode-jsonrpc_vx.x.x.js b/flow-typed/npm/vscode-jsonrpc_vx.x.x.js new file mode 100644 index 00000000000..21a29ccd4d3 --- /dev/null +++ b/flow-typed/npm/vscode-jsonrpc_vx.x.x.js @@ -0,0 +1,165 @@ +// flow-typed signature: 27e995e11a57ab7a1e817bab4b4a5c57 +// flow-typed version: <>/vscode-jsonrpc_v6.0.0/flow_v0.146.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'vscode-jsonrpc' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * /~https://github.com/flowtype/flow-typed + */ + +declare module 'vscode-jsonrpc' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'vscode-jsonrpc/browser' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/browser/main' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/browser/ril' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/api' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/cancellation' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/connection' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/disposable' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/encoding' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/events' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/is' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/linkedMap' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/messageBuffer' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/messageReader' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/messages' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/messageWriter' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/ral' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/common/semaphore' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/node/main' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/lib/node/ril' { + declare module.exports: any; +} + +declare module 'vscode-jsonrpc/node' { + declare module.exports: any; +} + +// Filename aliases +declare module 'vscode-jsonrpc/browser.js' { + declare module.exports: $Exports<'vscode-jsonrpc/browser'>; +} +declare module 'vscode-jsonrpc/lib/browser/main.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/browser/main'>; +} +declare module 'vscode-jsonrpc/lib/browser/ril.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/browser/ril'>; +} +declare module 'vscode-jsonrpc/lib/common/api.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/api'>; +} +declare module 'vscode-jsonrpc/lib/common/cancellation.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/cancellation'>; +} +declare module 'vscode-jsonrpc/lib/common/connection.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/connection'>; +} +declare module 'vscode-jsonrpc/lib/common/disposable.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/disposable'>; +} +declare module 'vscode-jsonrpc/lib/common/encoding.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/encoding'>; +} +declare module 'vscode-jsonrpc/lib/common/events.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/events'>; +} +declare module 'vscode-jsonrpc/lib/common/is.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/is'>; +} +declare module 'vscode-jsonrpc/lib/common/linkedMap.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/linkedMap'>; +} +declare module 'vscode-jsonrpc/lib/common/messageBuffer.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/messageBuffer'>; +} +declare module 'vscode-jsonrpc/lib/common/messageReader.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/messageReader'>; +} +declare module 'vscode-jsonrpc/lib/common/messages.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/messages'>; +} +declare module 'vscode-jsonrpc/lib/common/messageWriter.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/messageWriter'>; +} +declare module 'vscode-jsonrpc/lib/common/ral.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/ral'>; +} +declare module 'vscode-jsonrpc/lib/common/semaphore.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/common/semaphore'>; +} +declare module 'vscode-jsonrpc/lib/node/main.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/node/main'>; +} +declare module 'vscode-jsonrpc/lib/node/ril.js' { + declare module.exports: $Exports<'vscode-jsonrpc/lib/node/ril'>; +} +declare module 'vscode-jsonrpc/node.js' { + declare module.exports: $Exports<'vscode-jsonrpc/node'>; +} diff --git a/flow-typed/npm/vscode-languageserver_vx.x.x.js b/flow-typed/npm/vscode-languageserver_vx.x.x.js new file mode 100644 index 00000000000..361c4552179 --- /dev/null +++ b/flow-typed/npm/vscode-languageserver_vx.x.x.js @@ -0,0 +1,158 @@ +// flow-typed signature: a099272ddf8e8304ae56901c08505e04 +// flow-typed version: <>/vscode-languageserver_v7.0.0/flow_v0.146.0 + +/** + * This is an autogenerated libdef stub for: + * + * 'vscode-languageserver' + * + * Fill this stub out by replacing all the `any` types. + * + * Once filled out, we encourage you to share your work with the + * community by sending a pull request to: + * /~https://github.com/flowtype/flow-typed + */ + +declare module 'vscode-languageserver' { + declare module.exports: any; +} + +/** + * We include stubs for each file inside this npm package in case you need to + * require those files directly. Feel free to delete any files that aren't + * needed. + */ +declare module 'vscode-languageserver/browser' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/browser/main' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/api' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/callHierarchy' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/configuration' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/fileOperations' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/linkedEditingRange' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/moniker' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/progress' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/semanticTokens' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/server' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/showDocument' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/utils/is' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/utils/uuid' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/common/workspaceFolders' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/node/files' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/node/main' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/lib/node/resolve' { + declare module.exports: any; +} + +declare module 'vscode-languageserver/node' { + declare module.exports: any; +} + +// Filename aliases +declare module 'vscode-languageserver/browser.js' { + declare module.exports: $Exports<'vscode-languageserver/browser'>; +} +declare module 'vscode-languageserver/lib/browser/main.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/browser/main'>; +} +declare module 'vscode-languageserver/lib/common/api.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/api'>; +} +declare module 'vscode-languageserver/lib/common/callHierarchy.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/callHierarchy'>; +} +declare module 'vscode-languageserver/lib/common/configuration.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/configuration'>; +} +declare module 'vscode-languageserver/lib/common/fileOperations.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/fileOperations'>; +} +declare module 'vscode-languageserver/lib/common/linkedEditingRange.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/linkedEditingRange'>; +} +declare module 'vscode-languageserver/lib/common/moniker.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/moniker'>; +} +declare module 'vscode-languageserver/lib/common/progress.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/progress'>; +} +declare module 'vscode-languageserver/lib/common/semanticTokens.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/semanticTokens'>; +} +declare module 'vscode-languageserver/lib/common/server.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/server'>; +} +declare module 'vscode-languageserver/lib/common/showDocument.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/showDocument'>; +} +declare module 'vscode-languageserver/lib/common/utils/is.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/utils/is'>; +} +declare module 'vscode-languageserver/lib/common/utils/uuid.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/utils/uuid'>; +} +declare module 'vscode-languageserver/lib/common/workspaceFolders.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/common/workspaceFolders'>; +} +declare module 'vscode-languageserver/lib/node/files.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/node/files'>; +} +declare module 'vscode-languageserver/lib/node/main.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/node/main'>; +} +declare module 'vscode-languageserver/lib/node/resolve.js' { + declare module.exports: $Exports<'vscode-languageserver/lib/node/resolve'>; +} +declare module 'vscode-languageserver/node.js' { + declare module.exports: $Exports<'vscode-languageserver/node'>; +} diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index bfe105b871b..e36daefc297 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -12,6 +12,7 @@ "@parcel/config-default": "2.0.0-beta.2", "@parcel/optimizer-esbuild": "2.0.0-beta.2", "@parcel/reporter-sourcemap-visualiser": "2.0.0-beta.2", + "@parcel/reporter-lsp": "2.0.0-beta.2", "parcel": "2.0.0-beta.2" }, "browser": "dist/legacy/index.html", diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json new file mode 100644 index 00000000000..f10b5021ad0 --- /dev/null +++ b/packages/reporters/lsp-reporter/package.json @@ -0,0 +1,14 @@ +{ + "name": "@parcel/reporter-lsp", + "version": "2.0.0-beta.2", + "main": "lib/LspReporter.js", + "source": "src/LspReporter.js", + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.0.0-beta.1" + }, + "dependencies": { + "vscode-languageserver": "^7.0.0", + "vscode-jsonrpc": "^6.0.0" + } +} diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js new file mode 100644 index 00000000000..b4665b79546 --- /dev/null +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -0,0 +1,42 @@ +// @flow +import { + createConnection, + TextDocuments, + Diagnostic, + DiagnosticSeverity, + ProposedFeatures, + InitializeParams, + DidChangeConfigurationNotification, + CompletionItem, + CompletionItemKind, + TextDocumentPositionParams, + TextDocumentSyncKind, + InitializeResult, +} from 'vscode-languageserver/node'; + +import invariant from 'assert'; +import {createServerPipeTransport} from 'vscode-jsonrpc'; + +import {Reporter} from '@parcel/plugin'; + +let connection; + +export default (new Reporter({ + report({event, options}) { + switch (event.type) { + case 'watchStart': { + //TODO: include pid in createServerPipeTransport + connection = createConnection(...createServerPipeTransport('Parcel')); + connection.listen(); + console.log('connection listening...'); + break; + } + case 'watchEnd': + invariant(connection != null); + connection.dispose(); + connection = null; + console.log('connection disposed of'); + break; + } + }, +}): Reporter); diff --git a/packages/utils/parcelforvscode/.eslintrc.json b/packages/utils/parcelforvscode/.eslintrc.json new file mode 100644 index 00000000000..8c1155f4ad6 --- /dev/null +++ b/packages/utils/parcelforvscode/.eslintrc.json @@ -0,0 +1,17 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module" + }, + "plugins": ["@typescript-eslint"], + "rules": { + "@typescript-eslint/naming-convention": "warn", + "@typescript-eslint/semi": "warn", + "curly": "warn", + "eqeqeq": "warn", + "no-throw-literal": "warn", + "semi": "off" + } +} diff --git a/packages/utils/parcelforvscode/.gitignore b/packages/utils/parcelforvscode/.gitignore new file mode 100644 index 00000000000..0b60dfa12fb --- /dev/null +++ b/packages/utils/parcelforvscode/.gitignore @@ -0,0 +1,5 @@ +out +dist +node_modules +.vscode-test/ +*.vsix diff --git a/packages/utils/parcelforvscode/.vscodeignore b/packages/utils/parcelforvscode/.vscodeignore new file mode 100644 index 00000000000..0a5a2bfe393 --- /dev/null +++ b/packages/utils/parcelforvscode/.vscodeignore @@ -0,0 +1,11 @@ +.vscode/** +.vscode-test/** +out/test/** +src/** +.gitignore +.yarnrc +vsc-extension-quickstart.md +**/tsconfig.json +**/.eslintrc.json +**/*.map +**/*.ts diff --git a/packages/utils/parcelforvscode/.yarnrc b/packages/utils/parcelforvscode/.yarnrc new file mode 100644 index 00000000000..f757a6ac58b --- /dev/null +++ b/packages/utils/parcelforvscode/.yarnrc @@ -0,0 +1 @@ +--ignore-engines true \ No newline at end of file diff --git a/packages/utils/parcelforvscode/CHANGELOG.md b/packages/utils/parcelforvscode/CHANGELOG.md new file mode 100644 index 00000000000..446ee3d8538 --- /dev/null +++ b/packages/utils/parcelforvscode/CHANGELOG.md @@ -0,0 +1,9 @@ +# Change Log + +All notable changes to the "parcelforvscode" extension will be documented in this file. + +Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. + +## [Unreleased] + +- Initial release diff --git a/packages/utils/parcelforvscode/README.md b/packages/utils/parcelforvscode/README.md new file mode 100644 index 00000000000..92732e8da87 --- /dev/null +++ b/packages/utils/parcelforvscode/README.md @@ -0,0 +1,71 @@ +# parcelforvscode README + +This is the README for your extension "parcelforvscode". After writing up a brief description, we recommend including the following sections. + +## Features + +Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file. + +For example if there is an image subfolder under your extension project workspace: + +\!\[feature X\]\(images/feature-x.png\) + +> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow. + +## Requirements + +If you have any requirements or dependencies, add a section describing those and how to install and configure them. + +## Extension Settings + +Include if your extension adds any VS Code settings through the `contributes.configuration` extension point. + +For example: + +This extension contributes the following settings: + +- `myExtension.enable`: enable/disable this extension +- `myExtension.thing`: set to `blah` to do something + +## Known Issues + +Calling out known issues can help limit users opening duplicate issues against your extension. + +## Release Notes + +Users appreciate release notes as you update your extension. + +### 1.0.0 + +Initial release of ... + +### 1.0.1 + +Fixed issue #. + +### 1.1.0 + +Added features X, Y, and Z. + +--- + +## Following extension guidelines + +Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension. + +- [Extension Guidelines](https://code.visualstudio.com/api/references/extension-guidelines) + +## Working with Markdown + +**Note:** You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts: + +- Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux) +- Toggle preview (`Shift+CMD+V` on macOS or `Shift+Ctrl+V` on Windows and Linux) +- Press `Ctrl+Space` (Windows, Linux) or `Cmd+Space` (macOS) to see a list of Markdown snippets + +### For more information + +- [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown) +- [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/) + +**Enjoy!** diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json new file mode 100644 index 00000000000..a6d50335913 --- /dev/null +++ b/packages/utils/parcelforvscode/package.json @@ -0,0 +1,45 @@ +{ + "name": "parcelforvscode", + "displayName": "Parcel for VS Code", + "description": "", + "version": "0.0.1", + "engines": { + "vscode": "^1.46.0" + }, + "categories": [ + "Other" + ], + "activationEvents": [ + "onCommand:parcelforvscode.helloWorld" + ], + "main": "./out/extension.ts", + "contributes": { + "commands": [ + { + "command": "parcelforvscode.helloWorld", + "title": "Hello World" + } + ] + }, + "scripts": { + "vscode:prepublish": "yarn run compile", + "compile": "tsc -p ./", + "watch": "tsc -watch -p ./", + "pretest": "yarn run compile && yarn run lint", + "lint": "eslint src --ext ts", + "test": "node ./out/test/runTest.js" + }, + "devDependencies": { + "@types/vscode": "^1.46.0", + "@types/glob": "^7.1.3", + "@types/mocha": "^8.0.4", + "@types/node": "^12.11.7", + "eslint": "^7.19.0", + "@typescript-eslint/eslint-plugin": "^4.14.1", + "@typescript-eslint/parser": "^4.14.1", + "glob": "^7.1.6", + "mocha": "^8.2.1", + "typescript": "^4.1.3", + "vscode-test": "^1.5.0" + } +} diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts new file mode 100644 index 00000000000..952adc84f07 --- /dev/null +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -0,0 +1,28 @@ +// The module 'vscode' contains the VS Code extensibility API +// Import the module and reference it with the alias vscode in your code below +import * as vscode from 'vscode'; + +// this method is called when your extension is activated +// your extension is activated the very first time the command is executed +export function activate(context: vscode.ExtensionContext) { + + // Use the console to output diagnostic information (console.log) and errors (console.error) + // This line of code will only be executed once when your extension is activated + console.log('Congratulations, your extension "parcelforvscode" is now active!'); + + // The command has been defined in the package.json file + // Now provide the implementation of the command with registerCommand + // The commandId parameter must match the command field in package.json + let disposable = vscode.commands.registerCommand('parcelforvscode.helloWorld', () => { + // The code you place here will be executed every time your command is executed + + // Display a message box to the user + vscode.window.showInformationMessage('Hello from Parcel for VS Code!'); + }); + + context.subscriptions.push(disposable); +} + +// this method is called when your extension is deactivated +export function deactivate() {} +\ diff --git a/packages/utils/parcelforvscode/src/test/runTest.ts b/packages/utils/parcelforvscode/src/test/runTest.ts new file mode 100644 index 00000000000..1eabfa33d2e --- /dev/null +++ b/packages/utils/parcelforvscode/src/test/runTest.ts @@ -0,0 +1,23 @@ +import * as path from 'path'; + +import { runTests } from 'vscode-test'; + +async function main() { + try { + // The folder containing the Extension Manifest package.json + // Passed to `--extensionDevelopmentPath` + const extensionDevelopmentPath = path.resolve(__dirname, '../../'); + + // The path to test runner + // Passed to --extensionTestsPath + const extensionTestsPath = path.resolve(__dirname, './suite/index'); + + // Download VS Code, unzip it and run the integration test + await runTests({ extensionDevelopmentPath, extensionTestsPath }); + } catch (err) { + console.error('Failed to run tests'); + process.exit(1); + } +} + +main(); diff --git a/packages/utils/parcelforvscode/src/test/suite/extension.test.ts b/packages/utils/parcelforvscode/src/test/suite/extension.test.ts new file mode 100644 index 00000000000..4ca0ab41982 --- /dev/null +++ b/packages/utils/parcelforvscode/src/test/suite/extension.test.ts @@ -0,0 +1,15 @@ +import * as assert from 'assert'; + +// You can import and use all API from the 'vscode' module +// as well as import your extension to test it +import * as vscode from 'vscode'; +// import * as myExtension from '../../extension'; + +suite('Extension Test Suite', () => { + vscode.window.showInformationMessage('Start all tests.'); + + test('Sample test', () => { + assert.strictEqual(-1, [1, 2, 3].indexOf(5)); + assert.strictEqual(-1, [1, 2, 3].indexOf(0)); + }); +}); diff --git a/packages/utils/parcelforvscode/src/test/suite/index.ts b/packages/utils/parcelforvscode/src/test/suite/index.ts new file mode 100644 index 00000000000..7029e38ed31 --- /dev/null +++ b/packages/utils/parcelforvscode/src/test/suite/index.ts @@ -0,0 +1,38 @@ +import * as path from 'path'; +import * as Mocha from 'mocha'; +import * as glob from 'glob'; + +export function run(): Promise { + // Create the mocha test + const mocha = new Mocha({ + ui: 'tdd', + color: true + }); + + const testsRoot = path.resolve(__dirname, '..'); + + return new Promise((c, e) => { + glob('**/**.test.js', { cwd: testsRoot }, (err, files) => { + if (err) { + return e(err); + } + + // Add files to the test suite + files.forEach(f => mocha.addFile(path.resolve(testsRoot, f))); + + 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/packages/utils/parcelforvscode/tsconfig.json b/packages/utils/parcelforvscode/tsconfig.json new file mode 100644 index 00000000000..b9534e26f0a --- /dev/null +++ b/packages/utils/parcelforvscode/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "outDir": "out", + "lib": ["es6"], + "sourceMap": true, + "rootDir": "src", + "strict": true /* enable all strict type-checking options */ + /* Additional Checks */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + }, + "exclude": ["node_modules", ".vscode-test"] +} diff --git a/packages/utils/parcelforvscode/vsc-extension-quickstart.md b/packages/utils/parcelforvscode/vsc-extension-quickstart.md new file mode 100644 index 00000000000..a099532454b --- /dev/null +++ b/packages/utils/parcelforvscode/vsc-extension-quickstart.md @@ -0,0 +1,41 @@ +# Welcome to your VS Code Extension + +## What's in the folder + +- This folder contains all of the files necessary for your extension. +- `package.json` - this is the manifest file in which you declare your extension and command. + - The sample plugin registers a command and defines its title and command name. With this information VS Code can show the command in the command palette. It doesn’t yet need to load the plugin. +- `src/extension.ts` - this is the main file where you will provide the implementation of your command. + - The file exports one function, `activate`, which is called the very first time your extension is activated (in this case by executing the command). Inside the `activate` function we call `registerCommand`. + - We pass the function containing the implementation of the command as the second parameter to `registerCommand`. + +## Get up and running straight away + +- Press `F5` to open a new window with your extension loaded. +- Run your command from the command palette by pressing (`Ctrl+Shift+P` or `Cmd+Shift+P` on Mac) and typing `Hello World`. +- Set breakpoints in your code inside `src/extension.ts` to debug your extension. +- Find output from your extension in the debug console. + +## Make changes + +- You can relaunch the extension from the debug toolbar after changing code in `src/extension.ts`. +- You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. + +## Explore the API + +- You can open the full set of our API when you open the file `node_modules/@types/vscode/index.d.ts`. + +## Run tests + +- Open the debug viewlet (`Ctrl+Shift+D` or `Cmd+Shift+D` on Mac) and from the launch configuration dropdown pick `Extension Tests`. +- Press `F5` to run the tests in a new window with your extension loaded. +- See the output of the test result in the debug console. +- Make changes to `src/test/suite/extension.test.ts` or create new test files inside the `test/suite` folder. + - The provided test runner will only consider files matching the name pattern `**.test.ts`. + - You can create folders inside the `test` folder to structure your tests any way you want. + +## Go further + +- Reduce the extension size and improve the startup time by [bundling your extension](https://code.visualstudio.com/api/working-with-extensions/bundling-extension). +- [Publish your extension](https://code.visualstudio.com/api/working-with-extensions/publishing-extension) on the VSCode extension marketplace. +- Automate builds by setting up [Continuous Integration](https://code.visualstudio.com/api/working-with-extensions/continuous-integration). diff --git a/packages/utils/parcelforvscode/yarn.lock b/packages/utils/parcelforvscode/yarn.lock new file mode 100644 index 00000000000..b4663658235 --- /dev/null +++ b/packages/utils/parcelforvscode/yarn.lock @@ -0,0 +1,1529 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + +"@babel/highlight@^7.10.4": + version "7.13.10" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" + integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@eslint/eslintrc@^0.4.0": + version "0.4.0" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" + integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/glob@^7.1.3": + version "7.1.3" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/json-schema@^7.0.3": + version "7.0.7" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + +"@types/minimatch@*": + version "3.0.4" + resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" + integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== + +"@types/mocha@^8.0.4": + version "8.2.2" + resolved "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz#91daa226eb8c2ff261e6a8cbf8c7304641e095e0" + integrity sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw== + +"@types/node@*": + version "14.14.35" + resolved "https://registry.npmjs.org/@types/node/-/node-14.14.35.tgz#42c953a4e2b18ab931f72477e7012172f4ffa313" + integrity sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== + +"@types/node@^12.11.7": + version "12.20.6" + resolved "https://registry.npmjs.org/@types/node/-/node-12.20.6.tgz#7b73cce37352936e628c5ba40326193443cfba25" + integrity sha512-sRVq8d+ApGslmkE9e3i+D3gFGk7aZHAT+G4cIpIEdLJYPsWiSPwcAnJEjddLQQDqV3Ra2jOclX/Sv6YrvGYiWA== + +"@types/vscode@^1.46.0": + version "1.54.0" + resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.54.0.tgz#d28e3b3614054b2d6543c29412f60a986cabd9bb" + integrity sha512-sHHw9HG4bTrnKhLGgmEiOS88OLO/2RQytUN4COX9Djv81zc0FSZsSiYaVyjNidDzUSpXsySKBkZ31lk2/FbdCg== + +"@typescript-eslint/eslint-plugin@^4.14.1": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz#56f8da9ee118fe9763af34d6a526967234f6a7f0" + integrity sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw== + dependencies: + "@typescript-eslint/experimental-utils" "4.19.0" + "@typescript-eslint/scope-manager" "4.19.0" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + lodash "^4.17.15" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.19.0.tgz#9ca379919906dc72cb0fcd817d6cb5aa2d2054c6" + integrity sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.19.0" + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/typescript-estree" "4.19.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.14.1": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.19.0.tgz#4ae77513b39f164f1751f21f348d2e6cb2d11128" + integrity sha512-/uabZjo2ZZhm66rdAu21HA8nQebl3lAIDcybUoOxoI7VbZBYavLIwtOOmykKCJy+Xq6Vw6ugkiwn8Js7D6wieA== + dependencies: + "@typescript-eslint/scope-manager" "4.19.0" + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/typescript-estree" "4.19.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.19.0.tgz#5e0b49eca4df7684205d957c9856f4e720717a4f" + integrity sha512-GGy4Ba/hLXwJXygkXqMzduqOMc+Na6LrJTZXJWVhRrSuZeXmu8TAnniQVKgj8uTRKe4igO2ysYzH+Np879G75g== + dependencies: + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/visitor-keys" "4.19.0" + +"@typescript-eslint/types@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.19.0.tgz#5181d5d2afd02e5b8f149ebb37ffc8bd7b07a568" + integrity sha512-A4iAlexVvd4IBsSTNxdvdepW0D4uR/fwxDrKUa+iEY9UWvGREu2ZyB8ylTENM1SH8F7bVC9ac9+si3LWNxcBuA== + +"@typescript-eslint/typescript-estree@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.19.0.tgz#8a709ffa400284ab72df33376df085e2e2f61147" + integrity sha512-3xqArJ/A62smaQYRv2ZFyTA+XxGGWmlDYrsfZG68zJeNbeqRScnhf81rUVa6QG4UgzHnXw5VnMT5cg75dQGDkA== + dependencies: + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/visitor-keys" "4.19.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.19.0.tgz#cbea35109cbd9b26e597644556be4546465d8f7f" + integrity sha512-aGPS6kz//j7XLSlgpzU2SeTqHPsmRYxFztj2vPuMMFJXZudpRSehE3WCV+BaxwZFvfAqMoSd86TEuM0PQ59E/A== + dependencies: + "@typescript-eslint/types" "4.19.0" + eslint-visitor-keys "^2.0.0" + +"@ungap/promise-all-settled@1.1.2": + version "1.1.2" + resolved "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz#aa58042711d6e3275dd37dc597e5d31e8c290a44" + integrity sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q== + +acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +ajv@^6.10.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^7.0.2: + version "7.2.3" + resolved "https://registry.npmjs.org/ajv/-/ajv-7.2.3.tgz#ca78d1cf458d7d36d1c3fa0794dd143406db5772" + integrity sha512-idv5WZvKVXDqKralOImQgPM9v6WOdLNa0IY3B3doOjw/YxRGT8I+allIJ6kd7Uaj+SF1xZUSU+nPM5aDNBVtnw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@4.1.1, ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= + +ansi-regex@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" + integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +anymatch@~3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + +big-integer@^1.6.17: + version "1.6.48" + resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" + integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + +bluebird@~3.4.1: + version "3.4.7" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.1, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browser-stdout@1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +buffer-indexof-polyfill@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" + integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camelcase@^6.0.0: + version "6.2.0" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" + integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= + dependencies: + traverse ">=0.3.0 <0.4" + +chalk@^2.0.0: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" + integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@3.5.1: + version "3.5.1" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" + integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + dependencies: + anymatch "~3.1.1" + braces "~3.0.2" + glob-parent "~5.1.0" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.5.0" + optionalDependencies: + fsevents "~2.3.1" + +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.1: + version "4.3.1" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" + integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== + dependencies: + ms "2.1.2" + +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +deep-is@^0.1.3: + version "0.1.3" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + +diff@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" + integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + dependencies: + readable-stream "^2.0.2" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + +eslint-scope@^5.0.0, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-utils@^2.0.0, eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + +eslint@^7.19.0: + version "7.22.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" + integrity sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.21" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +fast-deep-equal@^3.1.1: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + +fastq@^1.6.0: + version "1.11.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" + integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-up@5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/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" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + +flatted@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" + integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + +fsevents@~2.3.1: + version "2.3.2" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob@7.1.6, glob@^7.1.3, glob@^7.1.6: + version "7.1.6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^12.1.0: + version "12.4.0" + resolved "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" + integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== + dependencies: + type-fest "^0.8.1" + +globals@^13.6.0: + version "13.7.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" + integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.1: + version "11.0.3" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" + integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.2.2: + version "4.2.6" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" + integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + +growl@1.10.5: + version "1.10.5" + resolved "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" + integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +he@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@~2.0.0, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" + integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +listenercount@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" + integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz#69b3cc46d20f448eccdb75ea1fa733d9e821c920" + integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== + dependencies: + chalk "^4.0.0" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + +minimatch@3.0.4, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + +"mkdirp@>=0.5 0": + version "0.5.5" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mocha@^8.2.1: + version "8.3.2" + resolved "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz#53406f195fa86fbdebe71f8b1c6fb23221d69fcc" + integrity sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "4.0.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.3" + nanoid "3.1.20" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +nanoid@3.1.20: + version "3.1.20" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz#badc263c6b1dcf14b71efaa85f6ab4c1d6cfc788" + integrity sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + dependencies: + wrappy "1" + +optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +punycode@^2.1.0: + version "2.1.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +readable-stream@^2.0.2, readable-stream@~2.3.6: + version "2.3.7" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@~3.5.0: + version "3.5.0" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" + integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== + dependencies: + picomatch "^2.2.1" + +regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@2: + version "2.7.1" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.1.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +semver@^7.2.1, semver@^7.3.2: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +serialize-javascript@5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" + integrity sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA== + dependencies: + randombytes "^2.1.0" + +setimmediate@~1.0.4: + version "1.0.5" + resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + +"string-width@^1.0.2 || 2": + version "2.1.1" + resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0: + version "4.2.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" + integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== + dependencies: + ansi-regex "^5.0.0" + +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.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +supports-color@8.1.1: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +table@^6.0.4: + version "6.0.7" + resolved "https://registry.npmjs.org/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== + dependencies: + ajv "^7.0.2" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= + +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +typescript@^4.1.3: + version "4.2.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" + integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== + +unzipper@^0.10.11: + version "0.10.11" + resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" + integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== + dependencies: + big-integer "^1.6.17" + binary "~0.3.0" + bluebird "~3.4.1" + buffer-indexof-polyfill "~1.0.0" + duplexer2 "~0.1.4" + fstream "^1.0.12" + graceful-fs "^4.2.2" + listenercount "~1.0.1" + readable-stream "~2.3.6" + setimmediate "~1.0.4" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +vscode-test@^1.5.0: + version "1.5.1" + resolved "https://registry.npmjs.org/vscode-test/-/vscode-test-1.5.1.tgz#68430a4def0f0c07187e0e1dfd3299fabb4c58e0" + integrity sha512-tDloz6euDne+GeUSglhufL0c2xhuYAPAT74hjsuGxfflALfXF9bYnJ7ehZEeVkr/ZnQEh/T8EBrfPL+m0h5qEQ== + dependencies: + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + rimraf "^3.0.2" + unzipper "^0.10.11" + +which@2.0.2, which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wide-align@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== + dependencies: + string-width "^1.0.2 || 2" + +word-wrap@^1.2.3: + version "1.2.3" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + +workerpool@6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" + integrity sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg== + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + +y18n@^5.0.5: + version "5.0.5" + resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz#8769ec08d03b1ea2df2500acef561743bbb9ab18" + integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yargs-parser@20.2.4: + version "20.2.4" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + +yargs-parser@^20.2.2: + version "20.2.7" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz#61df85c113edfb5a7a4e36eb8aa60ef423cbc90a" + integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== + +yargs-unparser@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/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: + version "16.2.0" + resolved "https://registry.npmjs.org/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" + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== diff --git a/yarn.lock b/yarn.lock index 563ef7b7a9a..4ec4d2fddb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1026,6 +1026,21 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^0.4.0": + version "0.4.0" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" + integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + "@evocateur/libnpmaccess@^3.1.2": version "3.1.2" resolved "https://registry.yarnpkg.com/@evocateur/libnpmaccess/-/libnpmaccess-3.1.2.tgz#ecf7f6ce6b004e9f942b098d92200be4a4b1c845" @@ -2319,6 +2334,11 @@ traverse "^0.6.6" unified "^6.1.6" +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" @@ -2338,6 +2358,14 @@ "@types/minimatch" "*" "@types/node" "*" +"@types/glob@^7.1.3": + version "7.1.3" + resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" + integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + "@types/hast@^2.0.0": version "2.3.1" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.1.tgz#b16872f2a6144c7025f296fb9636a667ebb79cd9" @@ -2352,6 +2380,11 @@ dependencies: "@types/node" "*" +"@types/json-schema@^7.0.3": + version "7.0.7" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -2369,11 +2402,21 @@ resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== +"@types/mocha@^8.0.4": + version "8.2.2" + resolved "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz#91daa226eb8c2ff261e6a8cbf8c7304641e095e0" + integrity sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw== + "@types/node@*", "@types/node@>= 8": version "13.1.8" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.8.tgz#1d590429fe8187a02707720ecf38a6fe46ce294b" integrity sha512-6XzyyNM9EKQW4HKuzbo/CkOIjn/evtCmsU+MUM1xDfJ+3/rNjBttM1NgN7AOQvN6tP1Sl1D1PIKMreTArnxM9A== +"@types/node@^12.11.7": + version "12.20.6" + resolved "https://registry.npmjs.org/@types/node/-/node-12.20.6.tgz#7b73cce37352936e628c5ba40326193443cfba25" + integrity sha512-sRVq8d+ApGslmkE9e3i+D3gFGk7aZHAT+G4cIpIEdLJYPsWiSPwcAnJEjddLQQDqV3Ra2jOclX/Sv6YrvGYiWA== + "@types/normalize-package-data@^2.4.0": version "2.4.0" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" @@ -2399,6 +2442,81 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== +"@types/vscode@^1.46.0": + version "1.54.0" + resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.54.0.tgz#d28e3b3614054b2d6543c29412f60a986cabd9bb" + integrity sha512-sHHw9HG4bTrnKhLGgmEiOS88OLO/2RQytUN4COX9Djv81zc0FSZsSiYaVyjNidDzUSpXsySKBkZ31lk2/FbdCg== + +"@typescript-eslint/eslint-plugin@^4.14.1": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz#56f8da9ee118fe9763af34d6a526967234f6a7f0" + integrity sha512-CRQNQ0mC2Pa7VLwKFbrGVTArfdVDdefS+gTw0oC98vSI98IX5A8EVH4BzJ2FOB0YlCmm8Im36Elad/Jgtvveaw== + dependencies: + "@typescript-eslint/experimental-utils" "4.19.0" + "@typescript-eslint/scope-manager" "4.19.0" + debug "^4.1.1" + functional-red-black-tree "^1.0.1" + lodash "^4.17.15" + regexpp "^3.0.0" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/experimental-utils@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.19.0.tgz#9ca379919906dc72cb0fcd817d6cb5aa2d2054c6" + integrity sha512-9/23F1nnyzbHKuoTqFN1iXwN3bvOm/PRIXSBR3qFAYotK/0LveEOHr5JT1WZSzcD6BESl8kPOG3OoDRKO84bHA== + dependencies: + "@types/json-schema" "^7.0.3" + "@typescript-eslint/scope-manager" "4.19.0" + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/typescript-estree" "4.19.0" + eslint-scope "^5.0.0" + eslint-utils "^2.0.0" + +"@typescript-eslint/parser@^4.14.1": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.19.0.tgz#4ae77513b39f164f1751f21f348d2e6cb2d11128" + integrity sha512-/uabZjo2ZZhm66rdAu21HA8nQebl3lAIDcybUoOxoI7VbZBYavLIwtOOmykKCJy+Xq6Vw6ugkiwn8Js7D6wieA== + dependencies: + "@typescript-eslint/scope-manager" "4.19.0" + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/typescript-estree" "4.19.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.19.0.tgz#5e0b49eca4df7684205d957c9856f4e720717a4f" + integrity sha512-GGy4Ba/hLXwJXygkXqMzduqOMc+Na6LrJTZXJWVhRrSuZeXmu8TAnniQVKgj8uTRKe4igO2ysYzH+Np879G75g== + dependencies: + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/visitor-keys" "4.19.0" + +"@typescript-eslint/types@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.19.0.tgz#5181d5d2afd02e5b8f149ebb37ffc8bd7b07a568" + integrity sha512-A4iAlexVvd4IBsSTNxdvdepW0D4uR/fwxDrKUa+iEY9UWvGREu2ZyB8ylTENM1SH8F7bVC9ac9+si3LWNxcBuA== + +"@typescript-eslint/typescript-estree@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.19.0.tgz#8a709ffa400284ab72df33376df085e2e2f61147" + integrity sha512-3xqArJ/A62smaQYRv2ZFyTA+XxGGWmlDYrsfZG68zJeNbeqRScnhf81rUVa6QG4UgzHnXw5VnMT5cg75dQGDkA== + dependencies: + "@typescript-eslint/types" "4.19.0" + "@typescript-eslint/visitor-keys" "4.19.0" + debug "^4.1.1" + globby "^11.0.1" + is-glob "^4.0.1" + semver "^7.3.2" + tsutils "^3.17.1" + +"@typescript-eslint/visitor-keys@4.19.0": + version "4.19.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.19.0.tgz#cbea35109cbd9b26e597644556be4546465d8f7f" + integrity sha512-aGPS6kz//j7XLSlgpzU2SeTqHPsmRYxFztj2vPuMMFJXZudpRSehE3WCV+BaxwZFvfAqMoSd86TEuM0PQ59E/A== + dependencies: + "@typescript-eslint/types" "4.19.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" @@ -2559,6 +2677,13 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" +agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + agent-base@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" @@ -2909,7 +3034,7 @@ array-union@^1.0.1, array-union@^1.0.2: array-union@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array-uniq@^1.0.1: @@ -3216,6 +3341,11 @@ before-after-hook@^2.1.0, before-after-hook@^2.2.0: resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.1.tgz#73540563558687586b52ed217dad6a802ab1549c" integrity sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw== +big-integer@^1.6.17: + version "1.6.48" + resolved "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz#8fd88bd1632cba4a1c8c3e3d7159f08bb95b4b9e" + integrity sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w== + big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -3231,6 +3361,14 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== +binary@~0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz#9f60553bc5ce8c3386f3b553cff47462adecaa79" + integrity sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk= + dependencies: + buffers "~0.1.1" + chainsaw "~0.1.0" + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -3252,6 +3390,11 @@ bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== +bluebird@~3.4.1: + version "3.4.7" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" + integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -3409,6 +3552,11 @@ buffer-from@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== +buffer-indexof-polyfill@~1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.2.tgz#d2732135c5999c64b277fcf9b1abe3498254729c" + integrity sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A== + buffer-xor@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" @@ -3422,6 +3570,11 @@ buffer@^5.5.0: base64-js "^1.0.2" ieee754 "^1.1.4" +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + integrity sha1-skV5w77U1tOWru5tmorn9Ugqt7s= + builtin-status-codes@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" @@ -3597,6 +3750,13 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== +chainsaw@~0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz#5eab50b28afe58074d0d58291388828b5e5fbc98" + integrity sha1-XqtQsor+WAdNDVgpE4iCi15fvJg= + dependencies: + traverse ">=0.3.0 <0.4" + chalk@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -4721,7 +4881,7 @@ deasync@^0.1.14: bindings "^1.5.0" node-addon-api "^1.7.1" -debug@*, debug@4.3.1, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: +debug@*, debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== @@ -4942,7 +5102,7 @@ dir-glob@^2.0.0, dir-glob@^2.2.2: dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" @@ -5087,6 +5247,13 @@ dotenv@^7.0.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-7.0.0.tgz#a2be3cd52736673206e8a85fb5210eea29628e7c" integrity sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g== +duplexer2@~0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= + dependencies: + readable-stream "^2.0.2" + duplexer@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -5510,7 +5677,7 @@ eslint-utils@^1.4.3: dependencies: eslint-visitor-keys "^1.1.0" -eslint-utils@^2.1.0: +eslint-utils@^2.0.0, eslint-utils@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== @@ -5570,6 +5737,49 @@ eslint@^6.0.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^7.19.0: + version "7.22.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.22.0.tgz#07ecc61052fec63661a2cab6bd507127c07adc6f" + integrity sha512-3VawOtjSJUQiiqac8MQc+w457iGLfuNGLFn8JmF051tTKbh5/x/0vlcEj8OgDCaw7Ysa2Jn8paGshV7x2abKXg== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.0.0" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash "^4.17.21" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + eslint@^7.20.0: version "7.20.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" @@ -5865,7 +6075,7 @@ fast-glob@^2.2.6: fast-glob@^3.1.1: version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -5959,6 +6169,13 @@ file-entry-cache@^6.0.0: dependencies: flat-cache "^3.0.4" +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -6257,6 +6474,16 @@ fsevents@~2.3.1: resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fstream@^1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045" + integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg== + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -6547,7 +6774,14 @@ globals@^13.2.0: dependencies: type-fest "^0.20.2" -globby@^11.0.3: +globals@^13.6.0: + version "13.7.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.7.0.tgz#aed3bcefd80ad3ec0f0be2cf0c895110c0591795" + integrity sha512-Aipsz6ZKRxa/xQkZhNg0qIWXT6x6rD46f6x/PCnBomlttdIyAPak4YD9jTmKpZ72uROSMU87qJtcgpgHaVchiA== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.1, globby@^11.0.3: version "11.0.3" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== @@ -7090,6 +7324,15 @@ http-proxy-agent@^2.1.0: agent-base "4" debug "3.1.0" +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-proxy-middleware@^1.0.0: version "1.0.6" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-1.0.6.tgz#0618557722f450375d3796d701a8ac5407b3b94e" @@ -7132,6 +7375,14 @@ https-proxy-agent@^2.2.1, https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" + human-signals@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" @@ -7202,7 +7453,7 @@ ignore@^4.0.3, ignore@^4.0.6: ignore@^5.1.4: version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== image-size@~0.5.0: @@ -7282,7 +7533,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -8263,6 +8514,11 @@ lint-staged@^10.2.11: string-argv "0.3.1" stringify-object "^3.3.0" +listenercount@~1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz#84c8a72ab59c4725321480c975e6508342e70937" + integrity sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc= + listr2@^2.1.0: version "2.1.8" resolved "https://registry.yarnpkg.com/listr2/-/listr2-2.1.8.tgz#8af7ebc70cdbe866ddbb6c80909142bd45758f1f" @@ -8920,6 +9176,13 @@ mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1, mkdirp@~0.5.x: dependencies: minimist "0.0.8" +"mkdirp@>=0.5 0": + version "0.5.5" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + mocha-junit-reporter@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mocha-junit-reporter/-/mocha-junit-reporter-2.0.0.tgz#3bf990fce7a42c0d2b718f188553a25d9f24b9a2" @@ -8939,6 +9202,37 @@ mocha-multi-reporters@^1.5.1: debug "^4.1.1" lodash "^4.17.15" +mocha@^8.2.1: + version "8.3.2" + resolved "https://registry.npmjs.org/mocha/-/mocha-8.3.2.tgz#53406f195fa86fbdebe71f8b1c6fb23221d69fcc" + integrity sha512-UdmISwr/5w+uXLPKspgoV7/RXZwKRTiTjJ2/AC5ZiEztIoOYdfKb19+9jNmEInzx5pBsCyJQzarAxqIGBNYJhg== + dependencies: + "@ungap/promise-all-settled" "1.1.2" + ansi-colors "4.1.1" + browser-stdout "1.3.1" + chokidar "3.5.1" + debug "4.3.1" + diff "5.0.0" + escape-string-regexp "4.0.0" + find-up "5.0.0" + glob "7.1.6" + growl "1.10.5" + he "1.2.0" + js-yaml "4.0.0" + log-symbols "4.0.0" + minimatch "3.0.4" + ms "2.1.3" + nanoid "3.1.20" + serialize-javascript "5.0.1" + strip-json-comments "3.1.1" + supports-color "8.1.1" + which "2.0.2" + wide-align "1.1.3" + workerpool "6.1.0" + yargs "16.2.0" + yargs-parser "20.2.4" + yargs-unparser "2.0.0" + mocha@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.3.0.tgz#a83a7432d382ae1ca29686062d7fdc2c36f63fe5" @@ -11274,7 +11568,7 @@ regexpp@^2.0.1: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== -regexpp@^3.1.0: +regexpp@^3.0.0, regexpp@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== @@ -11619,6 +11913,13 @@ rgba-regex@^1.0.0: resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: + version "2.7.1" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + dependencies: + glob "^7.1.3" + rimraf@2.6.3, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -11626,13 +11927,6 @@ rimraf@2.6.3, rimraf@~2.6.2: dependencies: glob "^7.1.3" -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -11795,6 +12089,13 @@ semver@^7.2.1, semver@^7.3.4: dependencies: lru-cache "^6.0.0" +semver@^7.3.2: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + serialize-javascript@5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz#7886ec848049a462467a97d3d918ebb2aaf934f4" @@ -11831,7 +12132,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4: +setimmediate@^1.0.4, setimmediate@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -12948,6 +13249,11 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" +"traverse@>=0.3.0 <0.4": + version "0.3.9" + resolved "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" + integrity sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk= + traverse@^0.6.6: version "0.6.6" resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" @@ -13003,6 +13309,11 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + tslib@^1.9.0: version "1.10.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" @@ -13013,6 +13324,13 @@ tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== +tsutils@^3.17.1: + version "3.21.0" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== + dependencies: + tslib "^1.8.1" + tty-browserify@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" @@ -13094,6 +13412,11 @@ typescript@>=3.0.0: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== +typescript@^4.1.3: + version "4.2.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" + integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== + uglify-js@^3.1.4: version "3.7.6" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.6.tgz#0783daa867d4bc962a37cc92f67f6e3238c47485" @@ -13392,6 +13715,22 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +unzipper@^0.10.11: + version "0.10.11" + resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" + integrity sha512-+BrAq2oFqWod5IESRjL3S8baohbevGcVA+teAIOYWM3pDVdseogqbzhhvvmiyQrUNKFUnDMtELW3X8ykbyDCJw== + dependencies: + big-integer "^1.6.17" + binary "~0.3.0" + bluebird "~3.4.1" + buffer-indexof-polyfill "~1.0.0" + duplexer2 "~0.1.4" + fstream "^1.0.12" + graceful-fs "^4.2.2" + listenercount "~1.0.1" + readable-stream "~2.3.6" + setimmediate "~1.0.4" + upath@^1.1.1, upath@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" @@ -13918,6 +14257,41 @@ void-elements@^3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk= +vscode-jsonrpc@6.0.0, vscode-jsonrpc@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz#108bdb09b4400705176b957ceca9e0880e9b6d4e" + integrity sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg== + +vscode-languageserver-protocol@3.16.0: + version "3.16.0" + resolved "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz#34135b61a9091db972188a07d337406a3cdbe821" + integrity sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A== + dependencies: + vscode-jsonrpc "6.0.0" + vscode-languageserver-types "3.16.0" + +vscode-languageserver-types@3.16.0: + version "3.16.0" + resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" + integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== + +vscode-languageserver@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz#49b068c87cfcca93a356969d20f5d9bdd501c6b0" + integrity sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw== + dependencies: + vscode-languageserver-protocol "3.16.0" + +vscode-test@^1.5.0: + version "1.5.1" + resolved "https://registry.npmjs.org/vscode-test/-/vscode-test-1.5.1.tgz#68430a4def0f0c07187e0e1dfd3299fabb4c58e0" + integrity sha512-tDloz6euDne+GeUSglhufL0c2xhuYAPAT74hjsuGxfflALfXF9bYnJ7ehZEeVkr/ZnQEh/T8EBrfPL+m0h5qEQ== + dependencies: + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + rimraf "^3.0.2" + unzipper "^0.10.11" + vue@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/vue/-/vue-3.0.4.tgz#872c65c143f5717bd5387c61613d9f55f4cc0f43" From 24dde9f3f46a6d471348b65bc64e7cf0271ed095 Mon Sep 17 00:00:00 2001 From: Agnieszka Gawrys Date: Thu, 25 Mar 2021 15:51:00 -0400 Subject: [PATCH 02/37] added language server client --- .../utils/parcelforvscode/src/extension.ts | 74 +++++++++++++------ 1 file changed, 53 insertions(+), 21 deletions(-) diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts index 952adc84f07..8648b61ac44 100644 --- a/packages/utils/parcelforvscode/src/extension.ts +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -1,28 +1,60 @@ -// The module 'vscode' contains the VS Code extensibility API -// Import the module and reference it with the alias vscode in your code below -import * as vscode from 'vscode'; +import * as path from 'path'; +import {workspace, ExtensionContext} from 'vscode'; -// this method is called when your extension is activated -// your extension is activated the very first time the command is executed -export function activate(context: vscode.ExtensionContext) { +import { + LanguageClient, + LanguageClientOptions, + ServerOptions, + TransportKind, +} from 'vscode-languageclient/node'; - // Use the console to output diagnostic information (console.log) and errors (console.error) - // This line of code will only be executed once when your extension is activated - console.log('Congratulations, your extension "parcelforvscode" is now active!'); +let client: LanguageClient; - // The command has been defined in the package.json file - // Now provide the implementation of the command with registerCommand - // The commandId parameter must match the command field in package.json - let disposable = vscode.commands.registerCommand('parcelforvscode.helloWorld', () => { - // The code you place here will be executed every time your command is executed +export function activate(context: ExtensionContext) { + // The server is implemented in node + let serverModule = context.asAbsolutePath( + path.join('server', 'out', 'server.js'), + ); + // The debug options for the server + // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging + let debugOptions = {execArgv: ['--nolazy', '--inspect=6009']}; - // Display a message box to the user - vscode.window.showInformationMessage('Hello from Parcel for VS Code!'); - }); + // If the extension is launched in debug mode then the debug server options are used + // Otherwise the run options are used + async function serverOptions(): Promise { + let [reader, writer] = await createClientPipeTransport('Parcel'); + return { + reader, + writer, + //Detached true probably + }; + } - context.subscriptions.push(disposable); + // Options to control the language client + let clientOptions: LanguageClientOptions = { + // Register the server for plain text documents + documentSelector: [{scheme: 'file', language: 'plaintext'}], + synchronize: { + // Notify the server about file changes to '.clientrc files contained in the workspace + fileEvents: workspace.createFileSystemWatcher('**/.clientrc'), + }, + }; + + // Create the language client and start the client. + client = new LanguageClient( + 'languageServerExample', + 'Language Server Example', + serverOptions, + clientOptions, + ); + + // Start the client. This will also launch the server + client.start(); } -// this method is called when your extension is deactivated -export function deactivate() {} -\ +export function deactivate(): Thenable | undefined { + if (!client) { + return undefined; + } + return client.stop(); +} From f224cf83f7f056a6fe9fa62a40765bd6a2003427 Mon Sep 17 00:00:00 2001 From: thebriando Date: Thu, 25 Mar 2021 16:07:49 -0700 Subject: [PATCH 03/37] add progress messages to extension for parcel phases --- packages/examples/kitchen-sink/package.json | 8 +- packages/examples/kitchen-sink/src/index.js | 7 +- .../reporters/lsp-reporter/src/LspReporter.js | 32 +- packages/utils/parcelforvscode/package.json | 19 +- .../utils/parcelforvscode/src/extension.ts | 31 +- yarn.lock | 2315 ++++++++++++++++- 6 files changed, 2343 insertions(+), 69 deletions(-) diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index e36daefc297..74a0cafd92f 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -11,8 +11,8 @@ "@parcel/babel-register": "2.0.0-beta.2", "@parcel/config-default": "2.0.0-beta.2", "@parcel/optimizer-esbuild": "2.0.0-beta.2", - "@parcel/reporter-sourcemap-visualiser": "2.0.0-beta.2", "@parcel/reporter-lsp": "2.0.0-beta.2", + "@parcel/reporter-sourcemap-visualiser": "2.0.0-beta.2", "parcel": "2.0.0-beta.2" }, "browser": "dist/legacy/index.html", @@ -34,8 +34,12 @@ } }, "dependencies": { + "@atlaskit/editor-common": "^55.4.2", + "@atlaskit/media-core": "^32.1.2", "lodash": "^4.17.11", "react": "^16.6.3", - "react-dom": "^16.6.3" + "react-dom": "^16.6.3", + "react-intl": "^5.13.5", + "rxjs-compat": "^6.6.6" } } diff --git a/packages/examples/kitchen-sink/src/index.js b/packages/examples/kitchen-sink/src/index.js index 96e243edc2e..c48e4af62f0 100644 --- a/packages/examples/kitchen-sink/src/index.js +++ b/packages/examples/kitchen-sink/src/index.js @@ -1,7 +1,9 @@ import styles from './styles.css'; import parcel from 'url:./parcel.webp'; import {message} from './message'; - +import lodash from 'lodash'; +import react from 'react'; +import foo from '@atlaskit/editor-common'; import('./async'); import('./async2'); @@ -9,6 +11,9 @@ new Worker('worker.js'); console.log(message); +// jasklfj +// asjdfk +// jfasdfj // const message = require('./message'); // const fs = require('fs'); diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index b4665b79546..aca8e09da31 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -12,27 +12,51 @@ import { TextDocumentPositionParams, TextDocumentSyncKind, InitializeResult, + WorkDoneProgressServerReporter, } from 'vscode-languageserver/node'; import invariant from 'assert'; -import {createServerPipeTransport} from 'vscode-jsonrpc'; +import {createClientPipeTransport} from 'vscode-jsonrpc'; import {Reporter} from '@parcel/plugin'; let connection; +let progressReporter: WorkDoneProgressServerReporter; export default (new Reporter({ - report({event, options}) { + async report({event, options}) { switch (event.type) { case 'watchStart': { //TODO: include pid in createServerPipeTransport - connection = createConnection(...createServerPipeTransport('Parcel')); + let transport = await createClientPipeTransport('/tmp/parcel'); + connection = createConnection(...(await transport.onConnected())); + connection.onInitialize(params => { + console.log('Connection is initialized'); + console.log(params); + connection.window.showInformationMessage('hi'); + }); + invariant(connection != null); connection.listen(); console.log('connection listening...'); break; } + case 'buildStart': + progressReporter = await connection.window.createWorkDoneProgress(); + progressReporter.begin('Parcel'); + break; + case 'buildSuccess': + progressReporter.done(); + break; + case 'buildFailure': + progressReporter.done(); + break; + case 'buildProgress': + progressReporter.report(event.phase); + break; case 'watchEnd': - invariant(connection != null); + if (connection == null) { + break; + } connection.dispose(); connection = null; console.log('connection disposed of'); diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json index a6d50335913..45361fcded3 100644 --- a/packages/utils/parcelforvscode/package.json +++ b/packages/utils/parcelforvscode/package.json @@ -10,17 +10,9 @@ "Other" ], "activationEvents": [ - "onCommand:parcelforvscode.helloWorld" + "onStartupFinished" ], - "main": "./out/extension.ts", - "contributes": { - "commands": [ - { - "command": "parcelforvscode.helloWorld", - "title": "Hello World" - } - ] - }, + "main": "./out/extension.js", "scripts": { "vscode:prepublish": "yarn run compile", "compile": "tsc -p ./", @@ -30,16 +22,19 @@ "test": "node ./out/test/runTest.js" }, "devDependencies": { - "@types/vscode": "^1.46.0", "@types/glob": "^7.1.3", "@types/mocha": "^8.0.4", "@types/node": "^12.11.7", - "eslint": "^7.19.0", + "@types/vscode": "^1.46.0", "@typescript-eslint/eslint-plugin": "^4.14.1", "@typescript-eslint/parser": "^4.14.1", + "eslint": "^7.19.0", "glob": "^7.1.6", "mocha": "^8.2.1", "typescript": "^4.1.3", "vscode-test": "^1.5.0" + }, + "dependencies": { + "vscode-languageclient": "^7.0.0" } } diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts index 8648b61ac44..2233b29a43e 100644 --- a/packages/utils/parcelforvscode/src/extension.ts +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -2,43 +2,31 @@ import * as path from 'path'; import {workspace, ExtensionContext} from 'vscode'; import { + createServerPipeTransport, LanguageClient, LanguageClientOptions, - ServerOptions, - TransportKind, + MessageTransports, + SocketMessageReader, + SocketMessageWriter, } from 'vscode-languageclient/node'; +import * as net from 'net'; let client: LanguageClient; export function activate(context: ExtensionContext) { - // The server is implemented in node - let serverModule = context.asAbsolutePath( - path.join('server', 'out', 'server.js'), - ); - // The debug options for the server - // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging - let debugOptions = {execArgv: ['--nolazy', '--inspect=6009']}; - // If the extension is launched in debug mode then the debug server options are used // Otherwise the run options are used async function serverOptions(): Promise { - let [reader, writer] = await createClientPipeTransport('Parcel'); + let socket = net.connect('/tmp/parcel'); return { - reader, - writer, + reader: new SocketMessageReader(socket), + writer: new SocketMessageWriter(socket), //Detached true probably }; } // Options to control the language client - let clientOptions: LanguageClientOptions = { - // Register the server for plain text documents - documentSelector: [{scheme: 'file', language: 'plaintext'}], - synchronize: { - // Notify the server about file changes to '.clientrc files contained in the workspace - fileEvents: workspace.createFileSystemWatcher('**/.clientrc'), - }, - }; + let clientOptions: LanguageClientOptions = {}; // Create the language client and start the client. client = new LanguageClient( @@ -48,6 +36,7 @@ export function activate(context: ExtensionContext) { clientOptions, ); + client.onReady().then(() => console.log('ready')); // Start the client. This will also launch the server client.start(); } diff --git a/yarn.lock b/yarn.lock index 4ec4d2fddb6..dfaeba5300d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,862 @@ # yarn lockfile v1 +"@atlaskit/activity-provider@^2.3.0": + version "2.3.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/activity-provider/-/activity-provider-2.3.2.tgz#6f10e4bf0211f74e5992cd412a09f92929690d1c" + integrity sha1-bxDkvwIR905Zks1BKgn5KSlpDRw= + dependencies: + "@atlaskit/util-service-support" "^6.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/adf-schema@^14.0.0": + version "14.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/adf-schema/-/adf-schema-14.1.0.tgz#751594e3d6447ab575f289e1507f69a0e28f9d46" + integrity sha1-dRWU49ZEerV18onhUH9poOKPnUY= + dependencies: + "@atlaskit/editor-tables" "^1.1.0" + "@babel/runtime" "^7.0.0" + "@types/linkify-it" "^2.0.4" + "@types/prosemirror-model" "^1.11.0" + "@types/prosemirror-state" "^1.2.0" + css-color-names "0.0.4" + linkify-it "^2.0.3" + memoize-one "^5.1.0" + prosemirror-model "1.11.0" + prosemirror-transform "1.2.8" + +"@atlaskit/adf-utils@^11.8.0": + version "11.8.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/adf-utils/-/adf-utils-11.8.1.tgz#09f105f8b50cd5a90747c6007dff4148a3afd021" + integrity sha1-CfEF+LUM1akHR8YAff9BSKOv0CE= + dependencies: + "@atlaskit/adf-schema" "^14.0.0" + "@atlaskit/editor-json-transformer" "^8.4.1" + "@babel/runtime" "^7.0.0" + +"@atlaskit/analytics-gas-types@^5.0.0", "@atlaskit/analytics-gas-types@^5.0.5": + version "5.0.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-gas-types/-/analytics-gas-types-5.0.5.tgz#6003b331273eb412c9cb5d76b17dd9c8ef2b1d55" + integrity sha1-YAOzMSc+tBLJy112sX3ZyO8rHVU= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/analytics-namespaced-context@^6.0.0": + version "6.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-namespaced-context/-/analytics-namespaced-context-6.0.0.tgz#3677ca09b54762dc556e35d9ac4e5ac3f5b51208" + integrity sha1-NnfKCbVHYtxVbjXZrE5aw/W1Egg= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/analytics-next-stable-react-context@1.0.1": + version "1.0.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-next-stable-react-context/-/analytics-next-stable-react-context-1.0.1.tgz#93c4c7a1a35f4ab606d727af443f49f0842fd96f" + integrity sha1-k8THoaNfSrYG1yevRD9J8IQv2W8= + dependencies: + tslib "^2.0.0" + +"@atlaskit/analytics-next@^8.0.0", "@atlaskit/analytics-next@^8.1.0", "@atlaskit/analytics-next@^8.1.1": + version "8.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-next/-/analytics-next-8.1.1.tgz#d0b0e91be59417129ea4296b3b6984f2e58e32d2" + integrity sha1-0LDpG+WUFxKepClrO2mE8uWOMtI= + dependencies: + "@atlaskit/analytics-next-stable-react-context" "1.0.1" + "@babel/runtime" "^7.0.0" + prop-types "^15.5.10" + use-memo-one "^1.1.1" + +"@atlaskit/avatar-group@^8.0.0", "@atlaskit/avatar-group@^8.0.13": + version "8.0.15" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/avatar-group/-/avatar-group-8.0.15.tgz#e8596884e98ba20be7382e9fb98a4f44caed9e67" + integrity sha1-6FlohOmLogvnOC6fuYpPRMrtnmc= + dependencies: + "@atlaskit/avatar" "^20.0.0" + "@atlaskit/menu" "^0.7.0" + "@atlaskit/popup" "^1.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/avatar@^20.0.0", "@atlaskit/avatar@^20.1.0", "@atlaskit/avatar@^20.2.0": + version "20.2.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/avatar/-/avatar-20.2.2.tgz#9cd58be2908428253083e866cf87458100fdb771" + integrity sha1-nNWL4pCEKCUwg+hmz4dFgQD9t3E= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/blanket@^11.1.0": + version "11.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/blanket/-/blanket-11.1.1.tgz#0dc6db40c7823fa1a09eeb263f48e822091cf7dd" + integrity sha1-DcbbQMeCP6GgnusmP0joIgkc990= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/button@^15.1.0": + version "15.1.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/button/-/button-15.1.5.tgz#1cbe12d86e9b54f2c42a9d8a5a8f874e2de7ae8f" + integrity sha1-HL4S2G6bVPLEKp2KWo+HTi3nro8= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/chunkinator@^3.0.0": + version "3.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/chunkinator/-/chunkinator-3.0.0.tgz#2e9b26f9da49e005f2b967bd412da4d270489cea" + integrity sha1-Lpsm+dpJ4AXyuWe9QS2k0nBInOo= + dependencies: + "@babel/runtime" "^7.0.0" + rxjs-async-map "^0.1.2" + +"@atlaskit/code@^13.2.1": + version "13.2.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/code/-/code-13.2.1.tgz#b39518c6e103c0248900281a79df55d9dd057db6" + integrity sha1-s5UYxuEDwCSJACgaed9V2d0FfbY= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + memoize-one "^5.1.0" + react-syntax-highlighter "^15.4.3" + +"@atlaskit/dropdown-menu@^10.1.0": + version "10.1.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/dropdown-menu/-/dropdown-menu-10.1.3.tgz#6f72cec9e5edcc4f41a43e4f1142e43d87b45ba1" + integrity sha1-b3LOyeXtzE9BpD5PEULkPYe0W6E= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/droplist" "^11.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/item" "^12.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + array-find "^1.0.0" + prop-types "^15.5.10" + react-uid "^2.2.0" + +"@atlaskit/droplist@^11.0.0": + version "11.0.7" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/droplist/-/droplist-11.0.7.tgz#d7c2bf472aee579a8512c032a6c2ec1d083c3f0f" + integrity sha1-18K/RyruV5qFEsAypsLsHQg8Pw8= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/item" "^12.0.0" + "@atlaskit/layer" "^9.0.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.0.0" + "@babel/runtime" "^7.0.0" + prop-types "^15.5.10" + +"@atlaskit/editor-common@^55.4.2": + version "55.4.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-common/-/editor-common-55.4.2.tgz#b03fd9c0538b3c16dce2e295ce3f0b0fdddad440" + integrity sha1-sD/ZwFOLPBbc4uKVzj8LD93a1EA= + dependencies: + "@atlaskit/activity-provider" "^2.3.0" + "@atlaskit/adf-schema" "^14.0.0" + "@atlaskit/adf-utils" "^11.8.0" + "@atlaskit/analytics-namespaced-context" "^6.0.0" + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/editor-json-transformer" "^8.4.0" + "@atlaskit/editor-shared-styles" "^1.3.0" + "@atlaskit/emoji" "^63.1.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/media-card" "^70.4.0" + "@atlaskit/media-client" "^13.0.0" + "@atlaskit/media-picker" "^57.3.0" + "@atlaskit/mention" "^19.3.0" + "@atlaskit/profilecard" "^15.0.0" + "@atlaskit/smart-card" "^15.0.0" + "@atlaskit/task-decision" "^17.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.1.0" + "@atlaskit/user-picker" "^7.3.0" + "@atlaskit/width-detector" "^3.0.0" + "@babel/runtime" "^7.0.0" + "@types/prosemirror-model" "^1.11.0" + "@types/prosemirror-state" "^1.2.0" + "@types/prosemirror-transform" "^1.1.0" + "@types/prosemirror-view" "^1.9.0" + classnames "^2.2.5" + date-fns "^1.30.1" + lodash "^4.17.15" + prosemirror-model "1.11.0" + prosemirror-state "1.3.3" + prosemirror-transform "1.2.8" + prosemirror-view "1.15.4" + raf-schd "^2.1.0" + react-loadable "^5.1.0" + +"@atlaskit/editor-json-transformer@^8.4.0", "@atlaskit/editor-json-transformer@^8.4.1": + version "8.4.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-json-transformer/-/editor-json-transformer-8.4.5.tgz#99c07bffd52b00feb0f4bca58d8db2ebcfee6cd2" + integrity sha1-mcB7/9UrAP6w9LyljY2y68/ubNI= + dependencies: + "@atlaskit/adf-schema" "^14.0.0" + "@babel/runtime" "^7.0.0" + lodash "^4.17.15" + prosemirror-model "1.11.0" + +"@atlaskit/editor-shared-styles@^1.3.0": + version "1.4.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-shared-styles/-/editor-shared-styles-1.4.0.tgz#95ccf7f42f0d509cd6adcbac3ceca448f880314a" + integrity sha1-lcz39C8NUJzWrcusPOykSPiAMUo= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + styled-components "^3.2.6" + +"@atlaskit/editor-tables@^1.1.0": + version "1.1.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-tables/-/editor-tables-1.1.3.tgz#a86f54991cd49b8c37e434940b332935962bf6f5" + integrity sha1-qG9UmRzUm4w35DSUCzMpNZYr9vU= + dependencies: + "@babel/runtime" "^7.0.0" + prosemirror-keymap "1.1.4" + prosemirror-model "1.11.0" + prosemirror-state "1.3.3" + prosemirror-transform "1.2.8" + prosemirror-utils "^1.0.0-0" + prosemirror-view "1.15.4" + +"@atlaskit/emoji@^63.1.0": + version "63.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/emoji/-/emoji-63.1.2.tgz#39a2ed3b56fb920e1415b12c53f8797e2f49390e" + integrity sha1-OaLtO1b7kg4UFbEsU/h5fi9JOQ4= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/field-base" "^15.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/media-client" "^13.0.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.1.0" + "@atlaskit/util-service-support" "^6.0.0" + "@babel/runtime" "^7.0.0" + classnames "^2.2.5" + js-search "^1.3.7" + lru-fast "^0.2.2" + prop-types "^15.5.10" + react-virtualized "^9.8.0" + typestyle "^1.4.4" + uuid "^3.1.0" + +"@atlaskit/field-base@^15.0.0": + version "15.0.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/field-base/-/field-base-15.0.4.tgz#e26790e8e9b258189a4bbce7f64aff1227ad5b86" + integrity sha1-4meQ6OmyWBiaS7zn9kr/EietW4Y= + dependencies: + "@atlaskit/icon" "^21.0.0" + "@atlaskit/inline-dialog" "^13.0.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/field-range@^9.0.0": + version "9.0.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/field-range/-/field-range-9.0.5.tgz#77a6b1c9a7ff72f0a975809c7d6ed4bd184847ee" + integrity sha1-d6axyaf/cvCpdYCcfW7UvRhIR+4= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/flag@^14.1.0": + version "14.2.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/flag/-/flag-14.2.2.tgz#9dacfad95487221173017a6ba240e97ff86ad13b" + integrity sha1-naz62VSHIhFzAXprokDpf/hq0Ts= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/motion" "^0.4.0" + "@atlaskit/portal" "^4.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/icon-file-type@^6.2.0": + version "6.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/icon-file-type/-/icon-file-type-6.2.0.tgz#7f354f88394beb08652b1605cbd4b805247ba8bb" + integrity sha1-fzVPiDlL6whlKxYFy9S4BSR7qLs= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/icon-object@^6.2.0": + version "6.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/icon-object/-/icon-object-6.2.0.tgz#fd316425add2284bc895205e7e51622c970ad0f3" + integrity sha1-/TFkJa3SKEvIlSBeflFiLJcK0PM= + dependencies: + "@atlaskit/icon" "21.4.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/icon@21.4.0", "@atlaskit/icon@^21.0.0", "@atlaskit/icon@^21.3.0", "@atlaskit/icon@^21.4.0": + version "21.4.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/icon/-/icon-21.4.0.tgz#aefac76f83d9b08d6d9aed8e8d27b46d2f30724a" + integrity sha1-rvrHb4PZsI1tmu2OjSe0bS8wcko= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/inline-dialog@^13.0.0": + version "13.0.10" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/inline-dialog/-/inline-dialog-13.0.10.tgz#f356ccce7df76c0afc293916a9a42fa5f8066d14" + integrity sha1-81bMzn33bAr8KTkWqaQvpfgGbRQ= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/popper" "^5.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + react-node-resolver "^1.0.1" + +"@atlaskit/item@^12.0.0": + version "12.0.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/item/-/item-12.0.5.tgz#8bbccfb71ef124e23d8b62c57ca6983a9c15576f" + integrity sha1-i7zPtx7xJOI9i2LFfKaYOpwVV28= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + prop-types "^15.5.10" + react-addons-text-content "^0.0.4" + uuid "^3.1.0" + +"@atlaskit/layer@^9.0.0": + version "9.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/layer/-/layer-9.0.3.tgz#c7d9e3979042478da519d3df195b53a0ccf5a9fb" + integrity sha1-x9njl5BCR42lGdPfGVtToMz1qfs= + dependencies: + "@babel/runtime" "^7.0.0" + popper.js "^1.14.1" + raf-schd "^2.1.0" + react-scrolllock "^5.0.1" + +"@atlaskit/locale@^2.3.0": + version "2.3.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/locale/-/locale-2.3.0.tgz#a5af8c96be1d804b3d63a8a48319f629f47a2376" + integrity sha1-pa+Mlr4dgEs9Y6ikgxn2KfR6I3Y= + dependencies: + "@atlaskit/select" "^13.0.0" + "@babel/runtime" "^7.0.0" + +"@atlaskit/logo@^13.1.0": + version "13.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/logo/-/logo-13.1.2.tgz#81feb7f309f2a268f326e9d2f32bf19c5d547ccd" + integrity sha1-gf638wnyomjzJunS8yvxnF1UfM0= + dependencies: + "@babel/runtime" "^7.0.0" + react-uid "^2.2.0" + +"@atlaskit/lozenge@^10.0.0", "@atlaskit/lozenge@^10.1.0": + version "10.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/lozenge/-/lozenge-10.1.2.tgz#2e56bd9c3fc3cd8d8bb94f478397943aa67709d1" + integrity sha1-Lla9nD/DzY2LuU9Hg5eUOqZ3CdE= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@compiled/react" "^0.6.0" + +"@atlaskit/media-card@^70.4.0": + version "70.4.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-card/-/media-card-70.4.0.tgz#8e0d48a931f55769f1d0727e8141b31371ea078d" + integrity sha1-jg1IqTH1V2nx0HJ+gUGzE3HqB40= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/dropdown-menu" "^10.1.0" + "@atlaskit/editor-shared-styles" "^1.3.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/locale" "^2.3.0" + "@atlaskit/media-client" "^13.0.0" + "@atlaskit/media-common" "^2.6.0" + "@atlaskit/media-ui" "^15.3.0" + "@atlaskit/media-viewer" "^45.7.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.1.0" + "@babel/runtime" "^7.0.0" + classnames "^2.2.5" + eventemitter2 "^4.1.0" + lru-fast "^0.2.2" + react-lazily-render "^1.2.0" + uuid "^3.1.0" + video-snapshot "^1.0.11" + +"@atlaskit/media-client@^13.0.0": + version "13.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-client/-/media-client-13.0.0.tgz#cbc7e20b58eab32fc50b4390be3cf00e7c2860e6" + integrity sha1-y8fiC1jqsy/FC0OQvjzwDnwoYOY= + dependencies: + "@atlaskit/chunkinator" "^3.0.0" + "@atlaskit/media-common" "^2.6.0" + "@babel/runtime" "^7.0.0" + dataloader "^1.4.0" + deep-equal "^1.0.1" + eventemitter2 "^4.1.0" + lru-fast "^0.2.2" + query-string "^5.1.0" + rusha "^0.8.13" + url-search-params "^0.10.0" + uuid "^3.1.0" + uuid-validate "^0.0.3" + video-snapshot "^1.0.11" + +"@atlaskit/media-common@^2.6.0": + version "2.6.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-common/-/media-common-2.6.0.tgz#6c7d694e357be4ce3849ad85fdf57222a398b07a" + integrity sha1-bH1pTjV75M44Sa2F/fVyIqOYsHo= + dependencies: + "@atlaskit/analytics-gas-types" "^5.0.5" + "@atlaskit/analytics-namespaced-context" "^6.0.0" + "@atlaskit/analytics-next" "^8.1.1" + "@babel/runtime" "^7.0.0" + +"@atlaskit/media-core@^32.1.2": + version "32.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-core/-/media-core-32.1.2.tgz#1b3b5ff8e96f1f4e97afe114854e23a41e0c4e66" + integrity sha1-Gztf+OlvH06Xr+EUhU4jpB4MTmY= + dependencies: + "@babel/runtime" "^7.0.0" + eventemitter2 "^4.1.0" + lru-fast "^0.2.2" + +"@atlaskit/media-editor@^38.1.0": + version "38.1.7" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-editor/-/media-editor-38.1.7.tgz#242808dae3b8c2946b7f8f280e2b712235d0ae71" + integrity sha1-JCgI2uO4wpRrf48oDitxIjXQrnE= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/field-range" "^9.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/inline-dialog" "^13.0.0" + "@atlaskit/media-card" "^70.4.0" + "@atlaskit/media-client" "^13.0.0" + "@atlaskit/media-ui" "^15.0.0" + "@atlaskit/modal-dialog" "^11.2.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.0.0" + "@babel/runtime" "^7.0.0" + "@types/uuid" "^3.4.4" + perf-marks "^1.5.0" + uuid "^3.1.0" + +"@atlaskit/media-picker@^57.3.0": + version "57.3.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-picker/-/media-picker-57.3.0.tgz#d585db0ec4e905dc7813a5962982d88ec6e2a5f1" + integrity sha1-1YXbDsTpBdx4E6WWKYLYjsbipfE= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/dropdown-menu" "^10.1.0" + "@atlaskit/flag" "^14.1.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/media-card" "^70.4.0" + "@atlaskit/media-client" "^13.0.0" + "@atlaskit/media-common" "^2.6.0" + "@atlaskit/media-editor" "^38.1.0" + "@atlaskit/media-ui" "^15.2.0" + "@atlaskit/modal-dialog" "^11.2.0" + "@atlaskit/outbound-auth-flow-client" "^3.1.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/textfield" "^5.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + bricks.js "^1.8.0" + dateformat "^1.0.12" + eventemitter2 "^4.1.0" + exenv "^1.2.2" + filesize "^3.2.1" + flat-files "^1.0.6" + json-ld-types "^2.1.7" + jwt-decode "^2.2.0" + lodash "^4.17.15" + perf-marks "^1.5.0" + postis "^2.2.0" + react-redux "^5.1.2" + redux "^3.7.2" + redux-devtools-extension "^2.13.2" + url "^0.11.0" + uuid "^3.1.0" + +"@atlaskit/media-ui@^15.0.0", "@atlaskit/media-ui@^15.2.0", "@atlaskit/media-ui@^15.3.0": + version "15.3.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-ui/-/media-ui-15.3.1.tgz#16ac3cf2629a5b0e85bb468f7bc81c531d2f7658" + integrity sha1-Fqw88mKaWw6Fu0aPe8gcUx0vdlg= + dependencies: + "@atlaskit/avatar" "^20.2.0" + "@atlaskit/avatar-group" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/droplist" "^11.0.0" + "@atlaskit/field-base" "^15.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/icon-file-type" "^6.2.0" + "@atlaskit/item" "^12.0.0" + "@atlaskit/lozenge" "^10.1.0" + "@atlaskit/media-common" "^2.6.0" + "@atlaskit/modal-dialog" "^11.2.0" + "@atlaskit/page" "^12.0.0" + "@atlaskit/select" "^13.2.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/textfield" "^5.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.1.0" + "@atlaskit/width-detector" "^3.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + blueimp-load-image "2.19.0" + bytes "^2.4.0" + exenv "^1.2.2" + facepaint "^1.2.1" + lodash "^4.17.15" + png-chunks-extract "^1.0.0" + react-render-image "^1.1.3" + react-video-renderer "^2.4.8" + +"@atlaskit/media-viewer@^45.7.0": + version "45.7.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-viewer/-/media-viewer-45.7.0.tgz#ac392fcb1273cdfc44c6b034ff1daf8bbaab09e1" + integrity sha1-rDkvyxJzzfxExrA0/x2vi7qrCeE= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/code" "^13.2.1" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/icon-file-type" "^6.2.0" + "@atlaskit/media-client" "^13.0.0" + "@atlaskit/media-common" "^2.6.0" + "@atlaskit/media-ui" "^15.0.0" + "@atlaskit/navigation-next" "^9.0.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@kenjiuno/msgreader" "^1.2.6" + deep-equal "^1.0.1" + exenv "^1.2.2" + mime "^2.4.6" + pdfjs-dist "2.0.943" + perf-marks "^1.5.0" + unzipit "^1.3.0" + +"@atlaskit/mention@^19.3.0": + version "19.3.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/mention/-/mention-19.3.1.tgz#d74045416b97168d676296333058302f0b821d6e" + integrity sha1-10BFQWuXFo1nYpYzMFgwLwuCHW4= + dependencies: + "@atlaskit/analytics-gas-types" "^5.0.0" + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/avatar" "^20.2.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/lozenge" "^10.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.1.0" + "@atlaskit/util-service-support" "^6.0.0" + "@babel/runtime" "^7.0.0" + uuid "^3.1.0" + +"@atlaskit/menu@^0.7.0": + version "0.7.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/menu/-/menu-0.7.4.tgz#6b2595ae2477fce8c651abb1fa9b0a47323693f0" + integrity sha1-ayWVriR3/OjGUaux+psKRzI2k/A= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/modal-dialog@^11.2.0": + version "11.2.8" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/modal-dialog/-/modal-dialog-11.2.8.tgz#a042c15a402e0c595b728be78a09093cce9961ef" + integrity sha1-oELBWkAuDFlbcovnigkJPM6ZYe8= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/blanket" "^11.1.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/portal" "^4.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + "@emotion/styled" "^10.0.7" + exenv "^1.2.2" + raf-schd "^2.1.0" + react-focus-lock "^1.19.1" + react-scrolllock "^5.0.1" + react-transition-group "^4.4.1" + react-uid "^2.2.0" + tiny-invariant "^0.0.3" + +"@atlaskit/motion@^0.4.0", "@atlaskit/motion@^0.4.3": + version "0.4.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/motion/-/motion-0.4.6.tgz#d4e6cb3a26152efbc1b2d6363eac18e2ce06ea60" + integrity sha1-1ObLOiYVLvvBstY2PqwY4s4G6mA= + dependencies: + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/navigation-next@^9.0.0": + version "9.0.10" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/navigation-next/-/navigation-next-9.0.10.tgz#7431afafb95fdb4b55e01a8ba84484fc1cff5e55" + integrity sha1-dDGvr7lf20tV4BqLqESE/Bz/XlU= + dependencies: + "@atlaskit/analytics-namespaced-context" "^6.0.0" + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/avatar" "^20.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/select" "^13.2.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + chromatism "^2.6.0" + deep-object-diff "^1.1.0" + emotion-theming "^10.0.7" + raf-schd "^2.1.0" + react-beautiful-dnd "^12.1.1" + react-fast-compare "^2.0.1" + react-loadable "^5.1.0" + react-node-resolver "^1.0.1" + react-transition-group "^4.4.1" + shallow-equal "^1.0.0" + unstated "^1.2.0" + +"@atlaskit/outbound-auth-flow-client@^3.1.0": + version "3.2.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/outbound-auth-flow-client/-/outbound-auth-flow-client-3.2.1.tgz#09be1bb0dd7bd71802dc35d5608a1ade260627d5" + integrity sha1-Cb4bsN171xgC3DXVYIoa3iYGJ9U= + dependencies: + "@babel/runtime" "^7.0.0" + +"@atlaskit/page@^12.0.0": + version "12.0.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/page/-/page-12.0.6.tgz#e4e6a8930fb9cd90930dde2d34ae59092103feed" + integrity sha1-5Oaokw+5zZCTDd4tNK5ZCSED/u0= + dependencies: + "@babel/runtime" "^7.0.0" + +"@atlaskit/popper@^5.0.0": + version "5.0.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/popper/-/popper-5.0.4.tgz#d2900d5b2ff97ed527448179fc2b1361e0c3c279" + integrity sha1-0pANWy/5ftUnRIF5/CsTYeDDwnk= + dependencies: + "@babel/runtime" "^7.0.0" + "@popperjs/core" "^2.4.2" + react-popper "^2.2.3" + +"@atlaskit/popup@^1.0.0", "@atlaskit/popup@^1.0.6": + version "1.0.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/popup/-/popup-1.0.6.tgz#5a9a1992222aee5cc0ad962ba5ab102db4f93aef" + integrity sha1-WpoZkiIq7lzArZYrpasQLbT5Ou8= + dependencies: + "@atlaskit/popper" "^5.0.0" + "@atlaskit/portal" "^4.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + bind-event-listener "^1.0.2" + focus-trap "^2.4.5" + +"@atlaskit/portal@^4.0.0": + version "4.0.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/portal/-/portal-4.0.5.tgz#ce4215411d3e13a4b9c2504cc639cbdaaf95d1c1" + integrity sha1-zkIVQR0+E6S5wlBMxjnL2q+V0cE= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + exenv "^1.2.2" + tiny-invariant "^0.0.3" + +"@atlaskit/profilecard@^15.0.0": + version "15.5.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/profilecard/-/profilecard-15.5.2.tgz#423c4581b3531f19cd200ef27edc00b9fe881641" + integrity sha1-QjxFgbNTHxnNIA7yftwAuf6IFkE= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/avatar" "^20.2.0" + "@atlaskit/avatar-group" "^8.0.13" + "@atlaskit/button" "^15.1.0" + "@atlaskit/icon" "^21.3.0" + "@atlaskit/lozenge" "^10.0.0" + "@atlaskit/menu" "^0.7.0" + "@atlaskit/popup" "^1.0.6" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + date-fns "^1.30.1" + es6-promise "^4.0.5" + lru-fast "^0.2.2" + +"@atlaskit/select@^13.0.0", "@atlaskit/select@^13.2.0": + version "13.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/select/-/select-13.2.0.tgz#dc6088c5802e401c04d22a83433572a71397b8ed" + integrity sha1-3GCIxYAuQBwE0iqDQzVypxOXuO0= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/spinner" "^15.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + "@popperjs/core" "^2.4.2" + "@types/react-select" "^3.1.2" + focus-trap "^2.4.5" + memoize-one "^5.1.0" + react-fast-compare "^2.0.1" + react-node-resolver "^1.0.1" + react-popper "^2.2.3" + react-select "^3.0.4" + shallow-equal "^1.0.0" + +"@atlaskit/smart-card@^15.0.0": + version "15.0.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/smart-card/-/smart-card-15.0.1.tgz#bfbdd4c93a7e1ccd1b0c106a06b3d43c6f1292d8" + integrity sha1-v73UyTp+HM0bDBBqBrPUPG8Sktg= + dependencies: + "@atlaskit/analytics-gas-types" "^5.0.0" + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/button" "^15.1.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/icon-file-type" "^6.2.0" + "@atlaskit/icon-object" "^6.2.0" + "@atlaskit/logo" "^13.1.0" + "@atlaskit/media-ui" "^15.3.0" + "@atlaskit/outbound-auth-flow-client" "^3.1.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@testing-library/react-hooks" "^1.0.4" + async-retry "^1.2.3" + bottleneck "^2.19.5" + dataloader "^1.4.0" + json-ld-types "^2.1.7" + react-lazily-render "^1.2.0" + react-loadable "^5.1.0" + redux "^3.7.2" + uuid "^3.1.0" + +"@atlaskit/spinner@^15.0.0": + version "15.0.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/spinner/-/spinner-15.0.6.tgz#3b8d95fcdba196e28ca712002f9ac3b81fc6e4f5" + integrity sha1-O42V/NuhluKMpxIAL5rDuB/G5PU= + dependencies: + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/tag@^11.0.0": + version "11.0.7" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/tag/-/tag-11.0.7.tgz#3f74bead058b2eae2aeff22445e264791a0a0889" + integrity sha1-P3S+rQWLLq4q7/IkReJkeRoKCIk= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/motion" "^0.4.3" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/task-decision@^17.0.0": + version "17.0.12" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/task-decision/-/task-decision-17.0.12.tgz#1a2c8ef42f9618b728fd2245025760fb53c84097" + integrity sha1-GiyO9C+WGLco/SJFAldg+1PIQJc= + dependencies: + "@atlaskit/analytics-namespaced-context" "^6.0.0" + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/util-service-support" "^6.0.0" + "@babel/runtime" "^7.0.0" + date-fns "^1.30.1" + uuid "^3.1.0" + +"@atlaskit/textfield@^5.0.0": + version "5.0.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/textfield/-/textfield-5.0.1.tgz#28fa035317a8f9d2056a830fd8816473e7265a84" + integrity sha1-KPoDUxeo+dIFaoMP2IFkc+cmWoQ= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + +"@atlaskit/theme@^11.0.0": + version "11.0.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/theme/-/theme-11.0.2.tgz#e657763905853e23ad385ae84e5bd49c2571863e" + integrity sha1-5ld2OQWFPiOtOFroTlvUnCVxhj4= + dependencies: + "@babel/runtime" "^7.0.0" + exenv "^1.2.2" + prop-types "^15.5.10" + +"@atlaskit/tooltip@^17.0.0", "@atlaskit/tooltip@^17.1.0": + version "17.1.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/tooltip/-/tooltip-17.1.3.tgz#b4ebe63cda445a87aca7bad738e785e68ba8fa8a" + integrity sha1-tOvmPNpEWoesp7rXOOeF5ouo+oo= + dependencies: + "@atlaskit/analytics-next" "^8.1.0" + "@atlaskit/motion" "^0.4.0" + "@atlaskit/popper" "^5.0.0" + "@atlaskit/portal" "^4.0.0" + "@atlaskit/theme" "^11.0.0" + "@babel/runtime" "^7.0.0" + "@emotion/core" "^10.0.9" + bind-event-listener "^1.0.2" + +"@atlaskit/user-picker@^7.3.0": + version "7.8.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/user-picker/-/user-picker-7.8.0.tgz#259c34ce787fbb1ddd92c1ba0276d166a7bd8f81" + integrity sha1-JZw0znh/ux3dksG6AnbRZqe9j4E= + dependencies: + "@atlaskit/analytics-next" "^8.0.0" + "@atlaskit/avatar" "^20.1.0" + "@atlaskit/field-base" "^15.0.0" + "@atlaskit/icon" "^21.4.0" + "@atlaskit/lozenge" "^10.1.0" + "@atlaskit/popper" "^5.0.0" + "@atlaskit/select" "^13.2.0" + "@atlaskit/tag" "^11.0.0" + "@atlaskit/theme" "^11.0.0" + "@atlaskit/tooltip" "^17.0.0" + "@babel/runtime" "^7.0.0" + apollo-client "^2.5.1" + graphql-tag "^2.10.1" + lodash "^4.17.15" + memoize-one "^5.1.0" + uuid "^3.1.0" + +"@atlaskit/util-service-support@^6.0.0": + version "6.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/util-service-support/-/util-service-support-6.0.3.tgz#4054ea0b9939611babb20e5de6d9a4480670aeff" + integrity sha1-QFTqC5k5YRursg5d5tmkSAZwrv8= + dependencies: + "@babel/runtime" "^7.0.0" + url "^0.11.0" + url-search-params "^0.10.0" + +"@atlaskit/width-detector@^3.0.0": + version "3.0.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/width-detector/-/width-detector-3.0.5.tgz#ee2a34d9ad9e1f7867de56544c1d77c6ba95e782" + integrity sha1-7io02a2eH3hn3lZUTB13xrqV54I= + dependencies: + "@babel/runtime" "^7.0.0" + raf-schd "^2.1.0" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -178,7 +1034,7 @@ dependencies: "@babel/types" "^7.13.12" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12": +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12": version "7.13.12" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== @@ -964,10 +1820,18 @@ pirates "^4.0.0" source-map-support "^0.5.16" -"@babel/runtime@^7.8.4": +"@babel/runtime-corejs2@^7.6.3": version "7.13.10" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.10.tgz#47d42a57b6095f4468da440388fdbad8bebf0d7d" - integrity sha512-4QPkjJq6Ns3V/RgpEahRk+AGfL0eO6RHHtTWoNNr5mO49G6B5+X6d6THgWEAvTrznU5xYpbAlVKRYcsCgh/Akw== + resolved "https://packages.atlassian.com/api/npm/npm-remote/@babel/runtime-corejs2/-/runtime-corejs2-7.13.10.tgz#31ba66b951cbd44569d7e70cb58a7b3da866951a" + integrity sha1-MbpmuVHL1EVp1+cMtYp7PahmlRo= + dependencies: + core-js "^2.6.5" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.13.10" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@babel/runtime/-/runtime-7.13.10.tgz#47d42a57b6095f4468da440388fdbad8bebf0d7d" + integrity sha1-R9QqV7YJX0Ro2kQDiP262L6/DX0= dependencies: regenerator-runtime "^0.13.4" @@ -994,7 +1858,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.14", "@babel/types@^7.4.4", "@babel/types@^7.6.1", "@babel/types@^7.9.0", "@babel/types@^7.9.6": +"@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.13.0", "@babel/types@^7.13.14", "@babel/types@^7.4.4", "@babel/types@^7.6.1", "@babel/types@^7.9.0", "@babel/types@^7.9.6": version "7.13.14" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.14.tgz#c35a4abb15c7cd45a2746d78ab328e362cbace0d" integrity sha512-A2aa3QTkWoyqsZZFl56MLUsfmh7O0gN41IPvXAE/++8ojpbz12SszD7JEGYVdn4f9Kt4amIei07swF1h4AqmmQ== @@ -1003,6 +1867,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.13.12": + version "7.13.12" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@babel/types/-/types-7.13.12.tgz#edbf99208ef48852acdff1c8a681a1e4ade580cd" + integrity sha1-7b+ZII70iFKs3/HIpoGh5K3lgM0= + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@choojs/findup@^0.2.0": version "0.2.1" resolved "https://registry.yarnpkg.com/@choojs/findup/-/findup-0.2.1.tgz#ac13c59ae7be6e1da64de0779a0a7f03d75615a3" @@ -1010,6 +1883,115 @@ dependencies: commander "^2.15.1" +"@compiled/react@^0.6.0": + version "0.6.8" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@compiled/react/-/react-0.6.8.tgz#788eed751893b7205388ceb530a0d021479676e6" + integrity sha1-eI7tdRiTtyBTiM61MKDQIUeWduY= + dependencies: + csstype "^3.0.7" + +"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9": + version "10.0.29" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" + integrity sha1-h+fmT0EsBgEC1Yn+fG3AQub50eA= + dependencies: + "@emotion/sheet" "0.9.4" + "@emotion/stylis" "0.8.5" + "@emotion/utils" "0.11.3" + "@emotion/weak-memoize" "0.2.5" + +"@emotion/core@^10.0.9": + version "10.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3" + integrity sha1-yVbBNl8vJIGWAGS8uMRzLl+2EsM= + dependencies: + "@babel/runtime" "^7.5.5" + "@emotion/cache" "^10.0.27" + "@emotion/css" "^10.0.27" + "@emotion/serialize" "^0.11.15" + "@emotion/sheet" "0.9.4" + "@emotion/utils" "0.11.3" + +"@emotion/css@^10.0.27", "@emotion/css@^10.0.9": + version "10.0.27" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c" + integrity sha1-OnRYGY+767U7AbK4f2Tl4hJB4Uw= + dependencies: + "@emotion/serialize" "^0.11.15" + "@emotion/utils" "0.11.3" + babel-plugin-emotion "^10.0.27" + +"@emotion/hash@0.8.0": + version "0.8.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" + integrity sha1-u7/2iXj+/b5ozLUzvIy+HRr7VBM= + +"@emotion/is-prop-valid@0.8.8": + version "0.8.8" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" + integrity sha1-2yixxDaKJZtgqXMR1qlS1P0BrBo= + dependencies: + "@emotion/memoize" "0.7.4" + +"@emotion/memoize@0.7.4": + version "0.7.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" + integrity sha1-Gb8PWvGRSREcQNmLsM+CEZ9dnus= + +"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": + version "0.11.16" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad" + integrity sha1-3uBfnpatL7JaUga211my0e0zea0= + dependencies: + "@emotion/hash" "0.8.0" + "@emotion/memoize" "0.7.4" + "@emotion/unitless" "0.7.5" + "@emotion/utils" "0.11.3" + csstype "^2.5.7" + +"@emotion/sheet@0.9.4": + version "0.9.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5" + integrity sha1-iUN0vqOeww9Im7/DQ4GSuXdNMuU= + +"@emotion/styled-base@^10.0.27": + version "10.0.31" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/styled-base/-/styled-base-10.0.31.tgz#940957ee0aa15c6974adc7d494ff19765a2f742a" + integrity sha1-lAlX7gqhXGl0rcfUlP8ZdlovdCo= + dependencies: + "@babel/runtime" "^7.5.5" + "@emotion/is-prop-valid" "0.8.8" + "@emotion/serialize" "^0.11.15" + "@emotion/utils" "0.11.3" + +"@emotion/styled@^10.0.7": + version "10.0.27" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/styled/-/styled-10.0.27.tgz#12cb67e91f7ad7431e1875b1d83a94b814133eaf" + integrity sha1-Estn6R9610MeGHWx2DqUuBQTPq8= + dependencies: + "@emotion/styled-base" "^10.0.27" + babel-plugin-emotion "^10.0.27" + +"@emotion/stylis@0.8.5": + version "0.8.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" + integrity sha1-3qyzib1u530ef8rMzp4WxcfnjgQ= + +"@emotion/unitless@0.7.5": + version "0.7.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" + integrity sha1-dyESkcGQCnALinjPr9oxYNdpSe0= + +"@emotion/utils@0.11.3": + version "0.11.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924" + integrity sha1-p1mGOGe++n5YNADTImUqP0SCCSQ= + +"@emotion/weak-memoize@0.2.5": + version "0.2.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" + integrity sha1-ju2YLi7m9/TkTCU+EpYpgHke/UY= + "@eslint/eslintrc@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" @@ -1115,6 +2097,42 @@ unique-filename "^1.1.1" which "^1.3.1" +"@formatjs/ecma402-abstract@1.6.3": + version "1.6.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/ecma402-abstract/-/ecma402-abstract-1.6.3.tgz#f82bd2cf3aa8aaa0f12f9339902942b8d4b96912" + integrity sha1-+CvSzzqoqqDxL5M5kClCuNS5aRI= + dependencies: + tslib "^2.1.0" + +"@formatjs/intl-displaynames@4.0.11": + version "4.0.11" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/intl-displaynames/-/intl-displaynames-4.0.11.tgz#7872625234c15f6e9ab91473a6de1ab26def1fda" + integrity sha1-eHJiUjTBX26auRRzpt4asm3vH9o= + dependencies: + "@formatjs/ecma402-abstract" "1.6.3" + tslib "^2.1.0" + +"@formatjs/intl-listformat@5.0.12": + version "5.0.12" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/intl-listformat/-/intl-listformat-5.0.12.tgz#da0daa1988bc753be915e5361b7c237a3bca314e" + integrity sha1-2g2qGYi8dTvpFeU2G3wjejvKMU4= + dependencies: + "@formatjs/ecma402-abstract" "1.6.3" + tslib "^2.1.0" + +"@formatjs/intl@1.8.4": + version "1.8.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/intl/-/intl-1.8.4.tgz#66418092611777f050ab99ba5fe66b89dbcbd846" + integrity sha1-ZkGAkmEXd/BQq5m6X+ZridvL2EY= + dependencies: + "@formatjs/ecma402-abstract" "1.6.3" + "@formatjs/intl-displaynames" "4.0.11" + "@formatjs/intl-listformat" "5.0.12" + fast-memoize "^2.5.2" + intl-messageformat "9.5.3" + intl-messageformat-parser "6.4.3" + tslib "^2.1.0" + "@iarna/toml@^2.2.0", "@iarna/toml@^2.2.3": version "2.2.3" resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab" @@ -1128,6 +2146,27 @@ cross-spawn "^6.0.5" kotlin-compiler "^1.3.21" +"@kenjiuno/decompressrtf@^0.1.3": + version "0.1.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@kenjiuno/decompressrtf/-/decompressrtf-0.1.3.tgz#838d1bcc53d1923d9eef6d7d92e87a1801664a52" + integrity sha1-g40bzFPRkj2e7219kuh6GAFmSlI= + +"@kenjiuno/iconvlite-wrapper-with-iso2022jp@^0.1.0": + version "0.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@kenjiuno/iconvlite-wrapper-with-iso2022jp/-/iconvlite-wrapper-with-iso2022jp-0.1.0.tgz#eaf33752658bbb41308db47af1e1ecfb6cb0fa9e" + integrity sha1-6vM3UmWLu0EwjbR68eHs+2yw+p4= + dependencies: + encoding-japanese "^1.0.29" + iconv-lite "^0.4.24" + +"@kenjiuno/msgreader@^1.2.6": + version "1.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@kenjiuno/msgreader/-/msgreader-1.5.0.tgz#3d508037a5cce525be59a9d6c041283467ee889f" + integrity sha1-PVCAN6XM5SW+WanWwEEoNGfuiJ8= + dependencies: + "@kenjiuno/decompressrtf" "^0.1.3" + "@kenjiuno/iconvlite-wrapper-with-iso2022jp" "^0.1.0" + "@kwsites/file-exists@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" @@ -2202,6 +3241,11 @@ node-addon-api "^3.0.2" node-gyp-build "^4.2.3" +"@popperjs/core@^2.4.2": + version "2.9.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@popperjs/core/-/core-2.9.1.tgz#7f554e7368c9ab679a11f4a042ca17149d70cf12" + integrity sha1-f1VOc2jJq2eaEfSgQsoXFJ1wzxI= + "@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.0.tgz#f90ffc52a2e519f018b13b6c4da03cbff36ebed6" @@ -2316,6 +3360,15 @@ resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.11.tgz#34c842dcd8182810b4ab72d0d1fc34b553909e2e" integrity sha512-0FFPZrCwRDLsbJDKzs1Oo+TAqfAyxnZWZoTF6rUrfWQCYpwuKFj7tAEt/wa830fqCPE5Uk6qIo9KMkPe7Qgukg== +"@testing-library/react-hooks@^1.0.4": + version "1.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@testing-library/react-hooks/-/react-hooks-1.1.0.tgz#14b6b5c7c3d0e2cb3e55e9cbb248b44321641c64" + integrity sha1-FLa1x8PQ4ss+VenLski0QyFkHGQ= + dependencies: + "@babel/runtime" "^7.4.2" + "@types/react" "^16.8.22" + "@types/react-test-renderer" "^16.8.2" + "@textlint/ast-node-types@^4.0.3": version "4.2.5" resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-4.2.5.tgz#ae13981bc8711c98313a6ac1c361194d6bf2d39b" @@ -2373,6 +3426,14 @@ dependencies: "@types/unist" "*" +"@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1": + version "3.3.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" + integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= + dependencies: + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + "@types/http-proxy@^1.17.4": version "1.17.4" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b" @@ -2390,6 +3451,11 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= +"@types/linkify-it@^2.0.4": + version "2.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/linkify-it/-/linkify-it-2.1.0.tgz#ea3dd64c4805597311790b61e872cbd1ed2cd806" + integrity sha1-6j3WTEgFWXMReQth6HLL0e0s2AY= + "@types/mdast@^3.0.0": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" @@ -2422,6 +3488,11 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== +"@types/orderedmap@*": + version "1.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/orderedmap/-/orderedmap-1.0.0.tgz#807455a192bba52cbbb4517044bc82bdbfa8c596" + integrity sha1-gHRVoZK7pSy7tFFwRLyCvb+oxZY= + "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -2432,21 +3503,131 @@ resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== +"@types/prop-types@*": + version "15.7.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" + integrity sha1-KrDV2i5YFflLC51LldHl8kOrLKc= + +"@types/prosemirror-model@*", "@types/prosemirror-model@^1.11.0": + version "1.13.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-model/-/prosemirror-model-1.13.0.tgz#d05937e918c3cac2cf49630ccab04a65fc5fffd6" + integrity sha1-0Fk36RjDysLPSWMMyrBKZfxf/9Y= + dependencies: + "@types/orderedmap" "*" + +"@types/prosemirror-state@*", "@types/prosemirror-state@^1.2.0": + version "1.2.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-state/-/prosemirror-state-1.2.6.tgz#bb0169084239a8393b354c6fda5420fc347d6bab" + integrity sha1-uwFpCEI5qDk7NUxv2lQg/DR9a6s= + dependencies: + "@types/prosemirror-model" "*" + "@types/prosemirror-transform" "*" + "@types/prosemirror-view" "*" + +"@types/prosemirror-transform@*", "@types/prosemirror-transform@^1.1.0": + version "1.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-transform/-/prosemirror-transform-1.1.2.tgz#fe883c19a5a9f1882346a294efd09d55c6764c7a" + integrity sha1-/og8GaWp8YgjRqKU79CdVcZ2THo= + dependencies: + "@types/prosemirror-model" "*" + +"@types/prosemirror-view@*", "@types/prosemirror-view@^1.9.0": + version "1.17.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-view/-/prosemirror-view-1.17.1.tgz#0895df5a57ae6e68d4f3f8020d9be4ef52192980" + integrity sha1-CJXfWleubmjU8/gCDZvk71IZKYA= + dependencies: + "@types/prosemirror-model" "*" + "@types/prosemirror-state" "*" + "@types/prosemirror-transform" "*" + "@types/q@^1.5.1": version "1.5.2" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== +"@types/react-dom@*": + version "17.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-dom/-/react-dom-17.0.3.tgz#7fdf37b8af9d6d40127137865bb3fff8871d7ee1" + integrity sha1-f983uK+dbUAScTeGW7P/+IcdfuE= + dependencies: + "@types/react" "*" + +"@types/react-redux@^7.1.16": + version "7.1.16" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-redux/-/react-redux-7.1.16.tgz#0fbd04c2500c12105494c83d4a3e45c084e3cb21" + integrity sha1-D70EwlAMEhBUlMg9Sj5FwITjyyE= + dependencies: + "@types/hoist-non-react-statics" "^3.3.0" + "@types/react" "*" + hoist-non-react-statics "^3.3.0" + redux "^4.0.0" + +"@types/react-select@^3.1.2": + version "3.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-select/-/react-select-3.1.2.tgz#38627df4b49be9b28f800ed72b35d830369a624b" + integrity sha1-OGJ99LSb6bKPgA7XKzXYMDaaYks= + dependencies: + "@types/react" "*" + "@types/react-dom" "*" + "@types/react-transition-group" "*" + +"@types/react-test-renderer@^16.8.2": + version "16.9.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-test-renderer/-/react-test-renderer-16.9.5.tgz#edab67da470f7c3e997f58d55dcfe2643cc30a68" + integrity sha1-7atn2kcPfD6Zf1jVXc/iZDzDCmg= + dependencies: + "@types/react" "^16" + +"@types/react-transition-group@*": + version "4.4.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1" + integrity sha1-4aPLJ4339H8XtQgrGz2hcXC9RLE= + dependencies: + "@types/react" "*" + +"@types/react@*": + version "17.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react/-/react-17.0.3.tgz#ba6e215368501ac3826951eef2904574c262cc79" + integrity sha1-um4hU2hQGsOCaVHu8pBFdMJizHk= + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/react@^16", "@types/react@^16.8.22": + version "16.14.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react/-/react-16.14.5.tgz#2c39b5cadefaf4829818f9219e5e093325979f4d" + integrity sha1-LDm1yt769IKYGPkhnl4JMyWXn00= + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + +"@types/scheduler@*": + version "0.16.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" + integrity sha1-GIRSBehv8AOFF6q3oYpiprn3EnU= + "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== +"@types/uuid@^3.4.4": + version "3.4.9" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/uuid/-/uuid-3.4.9.tgz#fcf01997bbc9f7c09ae5f91383af076d466594e1" + integrity sha1-/PAZl7vJ98Ca5fkTg68HbUZllOE= + "@types/vscode@^1.46.0": version "1.54.0" resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.54.0.tgz#d28e3b3614054b2d6543c29412f60a986cabd9bb" integrity sha512-sHHw9HG4bTrnKhLGgmEiOS88OLO/2RQytUN4COX9Djv81zc0FSZsSiYaVyjNidDzUSpXsySKBkZ31lk2/FbdCg== +"@types/zen-observable@^0.8.0": + version "0.8.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" + integrity sha1-gIyfp+RRcnTtVV+hWPLeS09GjnE= + "@typescript-eslint/eslint-plugin@^4.14.1": version "4.19.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz#56f8da9ee118fe9763af34d6a526967234f6a7f0" @@ -2600,6 +3781,13 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.4.tgz#6dc50f593bdfdeaa6183d1dbc15e2d45e7c6b8b3" integrity sha512-Swfbz31AaMX48CpFl+YmIrqOH9MgJMTrltG9e26A4ZxYx9LjGuMV+41WnxFzS3Bc9nbrc6sDPM37G6nIT8NJSg== +"@wry/equality@^0.1.2": + version "0.1.11" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" + integrity sha1-NcsVbkqWaVqoGp7MTQN4e8F/F5A= + dependencies: + tslib "^1.9.3" + "@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" @@ -2706,20 +3894,25 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" - integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== +ajv-keywords@^3.1.0: + version "3.5.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= + +ajv@^6.1.0, ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: + version "6.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" + integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -2860,6 +4053,48 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" +apollo-cache@1.3.5: + version "1.3.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-cache/-/apollo-cache-1.3.5.tgz#9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461" + integrity sha1-nb6/yNvo/n+XulaKIkvKLF2B9GE= + dependencies: + apollo-utilities "^1.3.4" + tslib "^1.10.0" + +apollo-client@^2.5.1: + version "2.6.10" + resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-client/-/apollo-client-2.6.10.tgz#86637047b51d940c8eaa771a4ce1b02df16bea6a" + integrity sha1-hmNwR7UdlAyOqncaTOGwLfFr6mo= + dependencies: + "@types/zen-observable" "^0.8.0" + apollo-cache "1.3.5" + apollo-link "^1.0.0" + apollo-utilities "1.3.4" + symbol-observable "^1.0.2" + ts-invariant "^0.4.0" + tslib "^1.10.0" + zen-observable "^0.8.0" + +apollo-link@^1.0.0: + version "1.2.14" + resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" + integrity sha1-P+2ktH+eu6f0Fgvvi5d7pyW2hNk= + dependencies: + apollo-utilities "^1.3.0" + ts-invariant "^0.4.0" + tslib "^1.9.3" + zen-observable-ts "^0.8.21" + +apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: + version "1.3.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" + integrity sha1-YSnkOOi+IBtsVbDxPOSdLHF1yc8= + dependencies: + "@wry/equality" "^0.1.2" + fast-json-stable-stringify "^2.0.0" + ts-invariant "^0.4.0" + tslib "^1.10.0" + append-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" @@ -2961,6 +4196,11 @@ array-find-index@^1.0.1: resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= +array-find@^1.0.0: + version "1.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" + integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= + array-flatten@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541" @@ -3152,6 +4392,13 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== +async-retry@^1.2.3: + version "1.3.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/async-retry/-/async-retry-1.3.1.tgz#139f31f8ddce50c0870b0ba558a6079684aaed55" + integrity sha1-E58x+N3OUMCHCwulWKYHloSq7VU= + dependencies: + retry "0.12.0" + async-settle@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" @@ -3221,6 +4468,22 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" +babel-plugin-emotion@^10.0.27: + version "10.2.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz#a1fe3503cff80abfd0bdda14abd2e8e57a79d17d" + integrity sha1-of41A8/4Cr/QvdoUq9Lo5Xp50X0= + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@emotion/hash" "0.8.0" + "@emotion/memoize" "0.7.4" + "@emotion/serialize" "^0.11.16" + babel-plugin-macros "^2.0.0" + babel-plugin-syntax-jsx "^6.18.0" + convert-source-map "^1.5.0" + escape-string-regexp "^1.0.5" + find-root "^1.1.0" + source-map "^0.5.7" + babel-plugin-extract-import-names@1.6.22: version "1.6.22" resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" @@ -3228,6 +4491,15 @@ babel-plugin-extract-import-names@1.6.22: dependencies: "@babel/helper-plugin-utils" "7.10.4" +babel-plugin-macros@^2.0.0: + version "2.8.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" + integrity sha1-D5WKfMZVax5lNERl2ZERoeXhATg= + dependencies: + "@babel/runtime" "^7.7.2" + cosmiconfig "^6.0.0" + resolve "^1.12.0" + babel-plugin-minify-dead-code-elimination@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz#1a0c68e44be30de4976ca69ffc535e08be13683f" @@ -3262,6 +4534,11 @@ babel-plugin-polyfill-regenerator@^0.2.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.2.0" +babel-plugin-syntax-jsx@^6.18.0: + version "6.18.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" + integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= + babel-plugin-transform-inline-environment-variables@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-environment-variables/-/babel-plugin-transform-inline-environment-variables-0.4.3.tgz#a3b09883353be8b5e2336e3ff1ef8a5d93f9c489" @@ -3311,6 +4588,11 @@ base64-js@^1.0.2: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= + base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -3369,6 +4651,11 @@ binary@~0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" +bind-event-listener@^1.0.2: + version "1.0.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/bind-event-listener/-/bind-event-listener-1.0.2.tgz#3af1ab15f64aff0b95ba38e0e9d7d2c78b85dc0b" + integrity sha1-OvGrFfZK/wuVujjg6dfSx4uF3As= + bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -3395,6 +4682,11 @@ bluebird@~3.4.1: resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= +blueimp-load-image@2.19.0: + version "2.19.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/blueimp-load-image/-/blueimp-load-image-2.19.0.tgz#b61eeac0063f371c710fdb78aebbc4d7d34f8e2e" + integrity sha1-th7qwAY/NxxxD9t4rrvE19NPji4= + bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -3405,6 +4697,11 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +bottleneck@^2.19.5: + version "2.19.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" + integrity sha1-XfC5D1n9R2VuvmPHiphBkgXK3ZE= + boundary@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/boundary/-/boundary-1.0.1.tgz#4d67dc2602c0cc16dd9bce7ebf87e948290f5812" @@ -3441,6 +4738,13 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" +bricks.js@^1.8.0: + version "1.8.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/bricks.js/-/bricks.js-1.8.0.tgz#8fdeb3c0226af251f4d5727a7df7f9ac0092b4b2" + integrity sha1-j96zwCJq8lH01XJ6fff5rACStLI= + dependencies: + knot.js "^1.1.5" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -3562,6 +4866,14 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= +buffer@^5.0.3: + version "5.7.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA= + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + buffer@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.5.0.tgz#9c3caa3d623c33dd1c7ef584b89b88bf9c9bc1ce" @@ -3600,6 +4912,11 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= +bytes@^2.4.0: + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a" + integrity sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo= + cacache@^12.0.0, cacache@^12.0.3: version "12.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" @@ -3720,6 +5037,11 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== +camelize@^1.0.0: + version "1.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" + integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= + caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -3876,6 +5198,11 @@ chownr@^1.1.1, chownr@^1.1.2: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== +chromatism@^2.6.0: + version "2.6.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/chromatism/-/chromatism-2.6.0.tgz#c50ba715565bc9febd87b57a351850e1e51376a4" + integrity sha1-xQunFVZbyf69h7V6NRhQ4eUTdqQ= + chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" @@ -3906,6 +5233,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +classnames@^2.2.5: + version "2.2.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" + integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= + clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -3953,6 +5285,15 @@ clipanion@^2.6.2: resolved "https://packages.atlassian.com/api/npm/npm-remote/clipanion/-/clipanion-2.6.2.tgz#820e7440812052442455b248f927b187ed732f71" integrity sha1-gg50QIEgUkQkVbJI+Sexh+1zL3E= +clipboard@^2.0.0: + version "2.0.8" + resolved "https://packages.atlassian.com/api/npm/npm-remote/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" + integrity sha1-/8bBA90pZ6gwBfP2GXaqRlWkzbo= + dependencies: + good-listener "^1.2.2" + select "^1.1.2" + tiny-emitter "^2.0.0" + cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -4018,6 +5359,11 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" +clsx@^1.0.4: + version "1.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" + integrity sha1-mLMTT5q73yOyZjSRrOE8XAOnMYg= + coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" @@ -4411,6 +5757,16 @@ core-js-compat@^3.9.0, core-js-compat@^3.9.1: browserslist "^4.16.3" semver "7.0.0" +core-js@^1.0.0: + version "1.2.7" + resolved "https://packages.atlassian.com/api/npm/npm-remote/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= + +core-js@^2.6.5: + version "2.6.12" + resolved "https://packages.atlassian.com/api/npm/npm-remote/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw= + core-js@^3.2.1: version "3.6.4" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" @@ -4453,6 +5809,11 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" +crc-32@^0.3.0: + version "0.3.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/crc-32/-/crc-32-0.3.0.tgz#6a3d3687f5baec41f7e9b99fe1953a2e5d19775e" + integrity sha1-aj02h/W67EH36bmf4ZU6Ll0Zd14= + create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" @@ -4484,6 +5845,11 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-react-context@^0.1.5: + version "0.1.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/create-react-context/-/create-react-context-0.1.6.tgz#0f425931d907741127acc6e31acb4f9015dd9fdc" + integrity sha1-D0JZMdkHdBEnrMbjGstPkBXdn9w= + cross-env@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.0.tgz#5a3b2ddce51ec713ea58f2fb79ce22e65b4f5479" @@ -4538,6 +5904,18 @@ crypto-random-string@^1.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= +css-box-model@^1.2.0: + version "1.2.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" + integrity sha1-WZUdO4H9ayB0pi1JREQVsNK018E= + dependencies: + tiny-invariant "^1.0.6" + +css-color-keywords@^1.0.0: + version "1.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" + integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= + css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -4599,6 +5977,15 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" +css-to-react-native@^2.0.3: + version "2.3.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/css-to-react-native/-/css-to-react-native-2.3.2.tgz#e75e2f8f7aa385b4c3611c52b074b70a002f2e7d" + integrity sha1-514vj3qjhbTDYRxSsHS3CgAvLn0= + dependencies: + camelize "^1.0.0" + css-color-keywords "^1.0.0" + postcss-value-parser "^3.3.0" + css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" @@ -4741,11 +6128,21 @@ cssstyle@^2.0.0: dependencies: cssom "~0.3.6" +csstype@^2.5.7: + version "2.6.16" + resolved "https://packages.atlassian.com/api/npm/npm-remote/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39" + integrity sha1-VE1p9UcBO4WkDRW/912zjzT+nDk= + csstype@^2.6.8: version "2.6.11" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.11.tgz#452f4d024149ecf260a852b025e36562a253ffc5" integrity sha512-l8YyEC9NBkSm783PFTvh0FmJy7s5pFKrDp49ZL7zBGX3fWkO+N4EEyan1qqp8cwPLDcD0OSdyY6hAMoxp34JFw== +csstype@^3.0.2, csstype@^3.0.7: + version "3.0.7" + resolved "https://packages.atlassian.com/api/npm/npm-remote/csstype/-/csstype-3.0.7.tgz#2a5fb75e1015e84dd15692f71e89a1450290950b" + integrity sha1-Kl+3XhAV6E3RVpL3HomhRQKQlQs= + currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -4868,6 +6265,24 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" +dataloader@^1.4.0: + version "1.4.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" + integrity sha1-vKEdhn9dPxue2fc3vRWXDGXf9cg= + +date-fns@^1.30.1: + version "1.30.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" + integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= + +dateformat@^1.0.12: + version "1.0.12" + resolved "https://packages.atlassian.com/api/npm/npm-remote/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + integrity sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk= + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" @@ -4963,6 +6378,18 @@ dedent@^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.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" + integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= + dependencies: + is-arguments "^1.0.4" + is-date-object "^1.0.1" + is-regex "^1.0.4" + object-is "^1.0.1" + object-keys "^1.1.1" + regexp.prototype.flags "^1.2.0" + deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -4973,6 +6400,11 @@ deep-is@^0.1.3, deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= +deep-object-diff@^1.1.0: + version "1.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/deep-object-diff/-/deep-object-diff-1.1.0.tgz#d6fabf476c2ed1751fc94d5ca693d2ed8c18bc5a" + integrity sha1-1vq/R2wu0XUfyU1cppPS7YwYvFo= + default-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" @@ -5026,6 +6458,11 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +delegate@^3.1.2: + version "3.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" + integrity sha1-tmtxwxWFIuirV0T3INjKDCr1kWY= + delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -5146,6 +6583,14 @@ doctypes@^1.1.0: resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= +dom-helpers@^5.0.1, dom-helpers@^5.1.3: + version "5.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" + integrity sha1-V/0FTF+PNMUqPu/9t+fpPNNX2Vs= + dependencies: + "@babel/runtime" "^7.8.7" + csstype "^3.0.2" + dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -5350,6 +6795,20 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= + +emotion-theming@^10.0.7: + version "10.0.27" + resolved "https://packages.atlassian.com/api/npm/npm-remote/emotion-theming/-/emotion-theming-10.0.27.tgz#1887baaec15199862c89b1b984b79806f2b9ab10" + integrity sha1-GIe6rsFRmYYsibG5hLeYBvK5qxA= + dependencies: + "@babel/runtime" "^7.5.5" + "@emotion/weak-memoize" "0.2.5" + hoist-non-react-statics "^3.3.0" + emphasize@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/emphasize/-/emphasize-4.2.0.tgz#6b6fdc4d212cb7eafea1c7cdd595dfd6cfc508d9" @@ -5364,6 +6823,11 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= +encoding-japanese@^1.0.29: + version "1.0.30" + resolved "https://packages.atlassian.com/api/npm/npm-remote/encoding-japanese/-/encoding-japanese-1.0.30.tgz#537c4d62881767925d601acb4c79fb14db81703a" + integrity sha1-U3xNYogXZ5JdYBrLTHn7FNuBcDo= + encoding@^0.1.11: version "0.1.12" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" @@ -5493,7 +6957,7 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= -es6-promise@^4.0.3: +es6-promise@^4.0.3, es6-promise@^4.0.5: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== @@ -5894,6 +7358,11 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +eventemitter2@^4.1.0: + version "4.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/eventemitter2/-/eventemitter2-4.1.2.tgz#0e1a8477af821a6ef3995b311bf74c23a5247f15" + integrity sha1-DhqEd6+CGm7zmVsxG/dMI6UkfxU= + eventemitter3@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" @@ -5950,6 +7419,11 @@ execa@^4.0.1: signal-exit "^3.0.2" strip-final-newline "^2.0.0" +exenv@^1.2.2: + version "1.2.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" + integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= + expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -6035,6 +7509,11 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= +facepaint@^1.2.1: + version "1.2.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/facepaint/-/facepaint-1.2.1.tgz#89929e601b15227278c53c516f764fc462b09c33" + integrity sha1-iZKeYBsVInJ4xTxRb3ZPxGKwnDM= + fancy-log@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" @@ -6095,6 +7574,11 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fast-memoize@^2.5.2: + version "2.5.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" + integrity sha1-eeO7ak7IZ+pAug5xRoFvbNzptX4= + fast-url-parser@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" @@ -6126,6 +7610,19 @@ fault@^1.0.0, fault@^1.0.1: dependencies: format "^0.2.0" +fbjs@^0.8.16: + version "0.8.17" + resolved "https://packages.atlassian.com/api/npm/npm-remote/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" + integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.18" + fclone@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" @@ -6181,6 +7678,11 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +filesize@^3.2.1: + version "3.6.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" + integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= + filesize@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" @@ -6233,6 +7735,11 @@ find-elm-dependencies@^2.0.4: firstline "^1.2.0" lodash "^4.17.19" +find-root@^1.1.0: + version "1.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ= + find-up@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -6321,6 +7828,11 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat-files@^1.0.6: + version "1.0.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/flat-files/-/flat-files-1.0.6.tgz#52168b0601c532383a2d3dc7246e8a36fd02c3b5" + integrity sha1-UhaLBgHFMjg6LT3HJG6KNv0Cw7U= + flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" @@ -6354,6 +7866,18 @@ flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: inherits "^2.0.3" readable-stream "^2.3.6" +focus-lock@^0.6.3: + version "0.6.8" + resolved "https://packages.atlassian.com/api/npm/npm-remote/focus-lock/-/focus-lock-0.6.8.tgz#61985fadfa92f02f2ee1d90bc738efaf7f3c9f46" + integrity sha1-YZhfrfqS8C8u4dkLxzjvr388n0Y= + +focus-trap@^2.4.5: + version "2.4.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/focus-trap/-/focus-trap-2.4.6.tgz#332b475b317cec6a4a129f5307ce7ebc0da90b40" + integrity sha1-MytHWzF87GpKEp9TB85+vA2pC0A= + dependencies: + tabbable "^1.0.3" + follow-redirects@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" @@ -6404,6 +7928,11 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" +free-style@2.5.1: + version "2.5.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/free-style/-/free-style-2.5.1.tgz#5e3f684c470d3bba7e4dbb43524e0a08917e873c" + integrity sha1-Xj9oTEcNO7p+TbtDUk4KCJF+hzw= + from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" @@ -6932,6 +8461,13 @@ glslify-deps@^1.3.1: map-limit "0.0.1" resolve "^1.0.0" +good-listener@^1.2.2: + version "1.2.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" + integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= + dependencies: + delegate "^3.1.2" + graceful-fs@^4.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: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -6944,6 +8480,11 @@ graphql-import-macro@^1.0.0: dependencies: graphql "^15.0.0" +graphql-tag@^2.10.1: + version "2.11.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/graphql-tag/-/graphql-tag-2.11.0.tgz#1deb53a01c46a7eb401d6cb59dec86fa1cccbffd" + integrity sha1-HetToBxGp+tAHWy1neyG+hzMv/0= + graphql@^15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.0.0.tgz#042a5eb5e2506a2e2111ce41eb446a8e570b8be9" @@ -7205,6 +8746,11 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== +highlight.js@^10.4.1, highlight.js@~10.7.0: + version "10.7.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/highlight.js/-/highlight.js-10.7.1.tgz#a8ec4152db24ea630c90927d6cae2a45f8ecb955" + integrity sha1-qOxBUtsk6mMMkJJ9bK4qRfjsuVU= + highlight.js@~10.4.0: version "10.4.1" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.4.1.tgz#d48fbcf4a9971c4361b3f95f302747afe19dbad0" @@ -7219,6 +8765,18 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +hoist-non-react-statics@^2.5.0: + version "2.5.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" + integrity sha1-xZA89AnA39kI84jmGdhrnBF0y0c= + +hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: + version "3.3.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" + integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= + dependencies: + react-is "^16.7.0" + homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -7419,6 +8977,11 @@ icss-utils@^4.0.0, icss-utils@^4.1.1: dependencies: postcss "^7.0.14" +ieee754@^1.1.13: + version "1.2.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= + ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" @@ -7633,6 +9196,30 @@ interpret@^1.1.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== +intl-messageformat-parser@6.4.3: + version "6.4.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/intl-messageformat-parser/-/intl-messageformat-parser-6.4.3.tgz#4326201256c52907f342c7bb058208113c3c7f95" + integrity sha1-QyYgElbFKQfzQse7BYIIETw8f5U= + dependencies: + "@formatjs/ecma402-abstract" "1.6.3" + tslib "^2.1.0" + +intl-messageformat@9.5.3: + version "9.5.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/intl-messageformat/-/intl-messageformat-9.5.3.tgz#cb89a91cc2da875c5c824d374ba8209fac63a3ca" + integrity sha1-y4mpHMLah1xcgk03S6ggn6xjo8o= + dependencies: + fast-memoize "^2.5.2" + intl-messageformat-parser "6.4.3" + tslib "^2.1.0" + +invariant@^2.2.4: + version "2.2.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= + dependencies: + loose-envify "^1.0.0" + invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" @@ -7978,7 +9565,7 @@ is-regex@^1.0.3, is-regex@^1.0.5: dependencies: has "^1.0.3" -is-regex@^1.1.1: +is-regex@^1.0.4, is-regex@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== @@ -8010,7 +9597,7 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -8137,6 +9724,14 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -8147,6 +9742,11 @@ jju@^1.4.0: resolved "https://packages.atlassian.com/api/npm/npm-remote/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= +js-search@^1.3.7: + version "1.4.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/js-search/-/js-search-1.4.3.tgz#23a86d7e064ca53a473930edc48615b6b1c1954a" + integrity sha1-I6htfgZMpTpHOTDtxIYVtrHBlUo= + js-stringify@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" @@ -8251,6 +9851,13 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= +json-ld-types@^2.1.7: + version "2.2.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/json-ld-types/-/json-ld-types-2.2.2.tgz#fb9be03628ee256aefd664a89fcc5f44bea50e37" + integrity sha1-+5vgNijuJWrv1mSon8xfRL6lDjc= + dependencies: + schema-dts "^0.5.1" + json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -8355,6 +9962,11 @@ just-extend@^4.0.2: resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== +jwt-decode@^2.2.0: + version "2.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/jwt-decode/-/jwt-decode-2.2.0.tgz#7d86bd56679f58ce6a84704a657dd392bba81a79" + integrity sha1-fYa9VmefWM5qhHBKZX3TkruoGnk= + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -8379,6 +9991,11 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +knot.js@^1.1.5: + version "1.1.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/knot.js/-/knot.js-1.1.5.tgz#28e72522f703f50fe98812fde224dd72728fef5d" + integrity sha1-KOclIvcD9Q/piBL94iTdcnKP710= + kotlin-compiler@^1.3.21: version "1.3.61" resolved "https://registry.yarnpkg.com/kotlin-compiler/-/kotlin-compiler-1.3.61.tgz#969b1cdab8ed45cc43d84505a12ce030577a94e2" @@ -8493,6 +10110,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.3: + version "2.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" + integrity sha1-47VGl+eL+RXHCjis14/QngBYsc8= + dependencies: + uc.micro "^1.0.1" + lint-staged@^10.2.11: version "10.2.11" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720" @@ -8575,6 +10199,15 @@ load-json-file@^5.3.0: strip-bom "^3.0.0" type-fest "^0.3.0" +loader-utils@^1.0.0: + version "1.4.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" + integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + loader-utils@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" @@ -8607,6 +10240,11 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash-es@^4.2.1: + version "4.17.21" + resolved "https://packages.atlassian.com/api/npm/npm-remote/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" + integrity sha1-Q+YmxG5lkbd1C+srUBFzkMYJ4+4= + lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -8716,7 +10354,7 @@ lolex@^5.0.1: dependencies: "@sinonjs/commons" "^1.7.0" -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -8731,6 +10369,14 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" +lowlight@^1.17.0: + version "1.20.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888" + integrity sha1-3bGX0zRirQ2TvxnRe2wwGqOUGIg= + dependencies: + fault "^1.0.0" + highlight.js "~10.7.0" + lowlight@~1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.17.0.tgz#a1143b2fba8239df8cd5893f9fe97aaf8465af4a" @@ -8753,6 +10399,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-fast@^0.2.2: + version "0.2.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/lru-fast/-/lru-fast-0.2.2.tgz#30c233304cdd9b694b75141d897c52d4d413796c" + integrity sha1-MMIzMEzdm2lLdRQdiXxS1NQTeWw= + macos-release@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" @@ -8909,6 +10560,11 @@ mdurl@^1.0.0: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= +memoize-one@^5.0.0, memoize-one@^5.1.0, memoize-one@^5.1.1: + version "5.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" + integrity sha1-BHtuMZm1COrsA1BN5xIpuOsddcA= + meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -9053,6 +10709,11 @@ mime@^2.4.4: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== +mime@^2.4.6: + version "2.5.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" + integrity sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4= + mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -9447,6 +11108,11 @@ node-elm-compiler@^5.0.5: lodash "^4.17.19" temp "^0.9.0" +node-ensure@^0.0.0: + version "0.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/node-ensure/-/node-ensure-0.0.0.tgz#ecae764150de99861ec5c810fd5d096b183932a7" + integrity sha1-7K52QVDemYYexcgQ/V0Jaxg5Mqc= + node-fetch-npm@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" @@ -9456,6 +11122,14 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + node-fetch@^2.2.0, node-fetch@^2.5.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" @@ -9893,6 +11567,11 @@ ordered-read-streams@^1.0.0: dependencies: readable-stream "^2.0.1" +orderedmap@^1.1.0: + version "1.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/orderedmap/-/orderedmap-1.1.1.tgz#c618e77611b3b21d0fe3edc92586265e0059c789" + integrity sha1-xhjndhGzsh0P4+3JJYYmXgBZx4k= + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -10295,6 +11974,21 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" +pdfjs-dist@2.0.943: + version "2.0.943" + resolved "https://packages.atlassian.com/api/npm/npm-remote/pdfjs-dist/-/pdfjs-dist-2.0.943.tgz#32fb9a2d863df5a1d89521a0b3cd900c16e7edde" + integrity sha1-MvuaLYY99aHYlSGgs82QDBbn7d4= + dependencies: + node-ensure "^0.0.0" + worker-loader "^2.0.0" + +perf-marks@^1.5.0: + version "1.14.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/perf-marks/-/perf-marks-1.14.1.tgz#2fabff7b3c6e87babed137389b85fcaac0918bc9" + integrity sha1-L6v/ezxuh7q+0Tc4m4X8qsCRi8k= + dependencies: + tslib "^2.1.0" + performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -10380,6 +12074,18 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== +png-chunks-extract@^1.0.0: + version "1.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/png-chunks-extract/-/png-chunks-extract-1.0.0.tgz#fad4a905e66652197351c65e35b92c64311e472d" + integrity sha1-+tSpBeZmUhlzUcZeNbksZDEeRy0= + dependencies: + crc-32 "^0.3.0" + +popper.js@^1.14.1: + version "1.16.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" + integrity sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs= + 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" @@ -10766,7 +12472,7 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1: +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== @@ -10894,6 +12600,11 @@ posthtml@^0.15.1: posthtml-parser "^0.6.0" posthtml-render "^1.2.3" +postis@^2.2.0: + version "2.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/postis/-/postis-2.2.0.tgz#dc5e323765985ddfdcbfdafc3141a9569aef75a9" + integrity sha1-3F4yN2WYXd/cv9r8MUGpVprvdak= + preact@^10.5.9: version "10.5.9" resolved "https://registry.yarnpkg.com/preact/-/preact-10.5.9.tgz#8caba9288b4db1d593be2317467f8735e43cda0b" @@ -10940,6 +12651,13 @@ pretty-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= +prismjs@^1.22.0, prismjs@~1.23.0: + version "1.23.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" + integrity sha1-07OWf31yRAaQSXZSqdQP8EYGfzM= + optionalDependencies: + clipboard "^2.0.0" + private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -10987,7 +12705,7 @@ promzard@^0.3.0: dependencies: read "1" -prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -11003,6 +12721,72 @@ property-information@^5.0.0, property-information@^5.3.0: dependencies: xtend "^4.0.1" +prosemirror-keymap@1.1.4: + version "1.1.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz#8b481bf8389a5ac40d38dbd67ec3da2c7eac6a6d" + integrity sha1-i0gb+DiaWsQNONvWfsPaLH6sam0= + dependencies: + prosemirror-state "^1.0.0" + w3c-keyname "^2.2.0" + +prosemirror-model@1.11.0: + version "1.11.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-model/-/prosemirror-model-1.11.0.tgz#dc36cdb3ad6442b9f6325c7d89170c624f9dc520" + integrity sha1-3DbNs61kQrn2Mlx9iRcMYk+dxSA= + dependencies: + orderedmap "^1.1.0" + +prosemirror-model@^1.0.0, prosemirror-model@^1.1.0: + version "1.13.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-model/-/prosemirror-model-1.13.3.tgz#3ccfde73b9c9e706933c72bdf7462906509ff1c9" + integrity sha1-PM/ec7nJ5waTPHK990YpBlCf8ck= + dependencies: + orderedmap "^1.1.0" + +prosemirror-state@1.3.3: + version "1.3.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-state/-/prosemirror-state-1.3.3.tgz#b2862866b14dec2b3ae1ab18229f2bd337651a2c" + integrity sha1-soYoZrFN7Cs64asYIp8r0zdlGiw= + dependencies: + prosemirror-model "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-state@^1.0.0: + version "1.3.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-state/-/prosemirror-state-1.3.4.tgz#4c6b52628216e753fc901c6d2bfd84ce109e8952" + integrity sha1-TGtSYoIW51P8kBxtK/2EzhCeiVI= + dependencies: + prosemirror-model "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-transform@1.2.8: + version "1.2.8" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-transform/-/prosemirror-transform-1.2.8.tgz#4b86544fa43637fe381549fb7b019f4fb71fe65c" + integrity sha1-S4ZUT6Q2N/44FUn7ewGfT7cf5lw= + dependencies: + prosemirror-model "^1.0.0" + +prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0: + version "1.2.12" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-transform/-/prosemirror-transform-1.2.12.tgz#4398b568faf75a1540fbf5c659ca436a8657ed6f" + integrity sha1-Q5i1aPr3WhVA+/XGWcpDaoZX7W8= + dependencies: + prosemirror-model "^1.0.0" + +prosemirror-utils@^1.0.0-0: + version "1.0.0-0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-utils/-/prosemirror-utils-1.0.0-0.tgz#7dfd112abf69001508a76200f9c8660fda7fa85f" + integrity sha1-ff0RKr9pABUIp2IA+chmD9p/qF8= + +prosemirror-view@1.15.4: + version "1.15.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-view/-/prosemirror-view-1.15.4.tgz#69a6217e3557dd1eb34a6d45caed1c3ee8e05b12" + integrity sha1-aaYhfjVX3R6zSm1Fyu0cPujgWxI= + dependencies: + prosemirror-model "^1.1.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -11218,6 +13002,15 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +query-string@^5.1.0: + version "5.1.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" + integrity sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s= + dependencies: + decode-uri-component "^0.2.0" + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -11233,6 +13026,16 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= +raf-schd@^2.1.0: + version "2.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/raf-schd/-/raf-schd-2.1.2.tgz#ec622b5167f2912089f054dc03ebd5bcf33c8f62" + integrity sha1-7GIrUWfykSCJ8FTcA+vVvPM8j2I= + +raf-schd@^4.0.2: + version "4.0.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/raf-schd/-/raf-schd-4.0.2.tgz#bd44c708188f2e84c810bf55fcea9231bcaed8a0" + integrity sha1-vUTHCBiPLoTIEL9V/OqSMbyu2KA= + ramda@^0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" @@ -11273,6 +13076,31 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" +react-addons-text-content@^0.0.4: + version "0.0.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-addons-text-content/-/react-addons-text-content-0.0.4.tgz#d2e259fdc951d1d8906c08902002108dce8792e5" + integrity sha1-0uJZ/clR0diQbAiQIAIQjc6HkuU= + +react-beautiful-dnd@^12.1.1: + version "12.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-beautiful-dnd/-/react-beautiful-dnd-12.2.0.tgz#e5f6222f9e7934c6ed4ee09024547f9e353ae423" + integrity sha1-5fYiL555NMbtTuCQJFR/njU65CM= + dependencies: + "@babel/runtime-corejs2" "^7.6.3" + css-box-model "^1.2.0" + memoize-one "^5.1.1" + raf-schd "^4.0.2" + react-redux "^7.1.1" + redux "^4.0.4" + use-memo-one "^1.1.1" + +react-clientside-effect@^1.2.0: + version "1.2.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz#e2c4dc3c9ee109f642fac4f5b6e9bf5bcd2219a3" + integrity sha1-4sTcPJ7hCfZC+sT1tum/W80iGaM= + dependencies: + "@babel/runtime" "^7.12.13" + react-dom@^16.11.0, react-dom@^16.6.3: version "16.12.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" @@ -11283,21 +13111,191 @@ react-dom@^16.11.0, react-dom@^16.6.3: prop-types "^15.6.2" scheduler "^0.18.0" -react-fast-compare@^2.0.0: +react-fast-compare@^2.0.0, react-fast-compare@^2.0.1: version "2.0.4" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== +react-fast-compare@^3.0.1: + version "3.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" + integrity sha1-ZBqdqBtqYyDycOiXJPtFoLOeQ7s= + +react-focus-lock@^1.19.1: + version "1.19.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-focus-lock/-/react-focus-lock-1.19.1.tgz#2f3429793edaefe2d077121f973ce5a3c7a0651a" + integrity sha1-LzQpeT7a7+LQdxIflzzlo8egZRo= + dependencies: + "@babel/runtime" "^7.0.0" + focus-lock "^0.6.3" + prop-types "^15.6.2" + react-clientside-effect "^1.2.0" + +react-input-autosize@^3.0.0: + version "3.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85" + integrity sha1-a1iYx5DUR41pQgtVRB/MMdXFCoU= + dependencies: + prop-types "^15.5.8" + +react-intl@^5.13.5: + version "5.13.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-intl/-/react-intl-5.13.5.tgz#32bb74120b67950fe63329db58aa83cfac73f6c8" + integrity sha1-Mrt0EgtnlQ/mMynbWKqDz6xz9sg= + dependencies: + "@formatjs/ecma402-abstract" "1.6.3" + "@formatjs/intl" "1.8.4" + "@formatjs/intl-displaynames" "4.0.11" + "@formatjs/intl-listformat" "5.0.12" + "@types/hoist-non-react-statics" "^3.3.1" + hoist-non-react-statics "^3.3.2" + intl-messageformat "9.5.3" + intl-messageformat-parser "6.4.3" + tslib "^2.1.0" + +react-is@^16.13.1, react-is@^16.3.1, react-is@^16.6.0, react-is@^16.7.0: + version "16.13.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= + react-is@^16.8.1: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== +react-lazily-render@^1.2.0: + version "1.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-lazily-render/-/react-lazily-render-1.2.0.tgz#732464b8f227eb58756df50549157c44c1c18c57" + integrity sha1-cyRkuPIn61h1bfUFSRV8RMHBjFc= + dependencies: + scrollparent "^2.0.1" + +react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: + version "3.0.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" + integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= + +react-loadable@^5.1.0: + version "5.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-loadable/-/react-loadable-5.5.0.tgz#582251679d3da86c32aae2c8e689c59f1196d8c4" + integrity sha1-WCJRZ509qGwyquLI5onFnxGW2MQ= + dependencies: + prop-types "^15.5.0" + +react-node-resolver@^1.0.1: + version "1.0.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-node-resolver/-/react-node-resolver-1.0.1.tgz#1798a729c0e218bf2f0e8ddf79c550d4af61d83a" + integrity sha1-F5inKcDiGL8vDo3fecVQ1K9h2Do= + +react-popper@^2.2.3: + version "2.2.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96" + integrity sha1-EhTvPOyGMwoXFnGk+8vutl7ljpY= + dependencies: + react-fast-compare "^3.0.1" + warning "^4.0.2" + +react-redux@^5.1.2: + version "5.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-redux/-/react-redux-5.1.2.tgz#b19cf9e21d694422727bf798e934a916c4080f57" + integrity sha1-sZz54h1pRCJye/eY6TSpFsQID1c= + dependencies: + "@babel/runtime" "^7.1.2" + hoist-non-react-statics "^3.3.0" + invariant "^2.2.4" + loose-envify "^1.1.0" + prop-types "^15.6.1" + react-is "^16.6.0" + react-lifecycles-compat "^3.0.0" + +react-redux@^7.1.1: + version "7.2.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-redux/-/react-redux-7.2.3.tgz#4c084618600bb199012687da9e42123cca3f0be9" + integrity sha1-TAhGGGALsZkBJofankISPMo/C+k= + dependencies: + "@babel/runtime" "^7.12.1" + "@types/react-redux" "^7.1.16" + hoist-non-react-statics "^3.3.2" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-is "^16.13.1" + react-refresh@^0.9.0: version "0.9.0" resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== +react-render-image@^1.1.3: + version "1.1.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-render-image/-/react-render-image-1.1.3.tgz#65a35c7f18a5b5a7c24d717e82b2285186f02b9e" + integrity sha1-ZaNcfxiltafCTXF+grIoUYbwK54= + +react-scrolllock@^5.0.1: + version "5.0.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-scrolllock/-/react-scrolllock-5.0.1.tgz#da1cfb7b6d55c86ae41dbad5274b778c307752b7" + integrity sha1-2hz7e21VyGrkHbrVJ0t3jDB3Urc= + dependencies: + exenv "^1.2.2" + +react-select@^3.0.4: + version "3.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-select/-/react-select-3.2.0.tgz#de9284700196f5f9b5277c5d850a9ce85f5c72fe" + integrity sha1-3pKEcAGW9fm1J3xdhQqc6F9ccv4= + dependencies: + "@babel/runtime" "^7.4.4" + "@emotion/cache" "^10.0.9" + "@emotion/core" "^10.0.9" + "@emotion/css" "^10.0.9" + memoize-one "^5.0.0" + prop-types "^15.6.0" + react-input-autosize "^3.0.0" + react-transition-group "^4.3.0" + +react-syntax-highlighter@^15.4.3: + version "15.4.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-syntax-highlighter/-/react-syntax-highlighter-15.4.3.tgz#fffe3286677ac470b963b364916d16374996f3a6" + integrity sha1-//4yhmd6xHC5Y7NkkW0WN0mW86Y= + dependencies: + "@babel/runtime" "^7.3.1" + highlight.js "^10.4.1" + lowlight "^1.17.0" + prismjs "^1.22.0" + refractor "^3.2.0" + +react-transition-group@^4.3.0, react-transition-group@^4.4.1: + version "4.4.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" + integrity sha1-Y4aPkyWjjqXulTXYKDJ/hXczRck= + dependencies: + "@babel/runtime" "^7.5.5" + dom-helpers "^5.0.1" + loose-envify "^1.4.0" + prop-types "^15.6.2" + +react-uid@^2.2.0: + version "2.3.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-uid/-/react-uid-2.3.1.tgz#22a75d4a948a4824b9b8078cbf864d55d91ca4be" + integrity sha1-IqddSpSKSCS5uAeMv4ZNVdkcpL4= + dependencies: + tslib "^1.10.0" + +react-video-renderer@^2.4.8: + version "2.4.8" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-video-renderer/-/react-video-renderer-2.4.8.tgz#663534d4241c07ec13a61a8ea13d0e64bd55751d" + integrity sha1-ZjU01CQcB+wTphqOoT0OZL1VdR0= + +react-virtualized@^9.8.0: + version "9.22.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421" + integrity sha1-9DDxa+sKQttCDb1NNAQDwN4zRCE= + dependencies: + "@babel/runtime" "^7.7.2" + clsx "^1.0.4" + dom-helpers "^5.1.3" + loose-envify "^1.4.0" + prop-types "^15.7.2" + react-lifecycles-compat "^3.0.4" + react@^16.11.0, react@^16.6.3: version "16.12.0" resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" @@ -11522,6 +13520,38 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" +redux-devtools-extension@^2.13.2: + version "2.13.9" + resolved "https://packages.atlassian.com/api/npm/npm-remote/redux-devtools-extension/-/redux-devtools-extension-2.13.9.tgz#6b764e8028b507adcb75a1cae790f71e6be08ae7" + integrity sha1-a3ZOgCi1B63LdaHK55D3Hmvgiuc= + +redux@^3.7.2: + version "3.7.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" + integrity sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s= + dependencies: + lodash "^4.2.1" + lodash-es "^4.2.1" + loose-envify "^1.1.0" + symbol-observable "^1.0.3" + +redux@^4.0.0, redux@^4.0.4: + version "4.0.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" + integrity sha1-TbXeWBbheJHeioDEJCMtBvBR2T8= + dependencies: + loose-envify "^1.4.0" + symbol-observable "^1.2.0" + +refractor@^3.2.0: + version "3.3.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/refractor/-/refractor-3.3.1.tgz#ebbc04b427ea81dc25ad333f7f67a0b5f4f0be3a" + integrity sha1-67wEtCfqgdwlrTM/f2egtfTwvjo= + dependencies: + hastscript "^6.0.0" + parse-entities "^2.0.0" + prismjs "~1.23.0" + regenerate-unicode-properties@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" @@ -11555,7 +13585,7 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.3.0: +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== @@ -11893,6 +13923,11 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +retry@0.12.0: + version "0.12.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" + integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + retry@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" @@ -11959,6 +13994,30 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" +rusha@^0.8.13: + version "0.8.13" + resolved "https://packages.atlassian.com/api/npm/npm-remote/rusha/-/rusha-0.8.13.tgz#9a084e7b860b17bff3015b92c67a6a336191513a" + integrity sha1-mghOe4YLF7/zAVuSxnpqM2GRUTo= + +rxjs-async-map@^0.1.2: + version "0.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/rxjs-async-map/-/rxjs-async-map-0.1.2.tgz#ff0db82adf5f15a84cc079c23665e0caa88d32dd" + integrity sha1-/w24Kt9fFahMwHnCNmXgyqiNMt0= + dependencies: + rxjs "^5.5.6" + +rxjs-compat@^6.6.6: + version "6.6.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/rxjs-compat/-/rxjs-compat-6.6.6.tgz#5fc76a1ff1e6a3f3c5c773826b2ae1deea51da80" + integrity sha1-X8dqH/Hmo/PFx3OCayrh3upR2oA= + +rxjs@^5.5.6: + version "5.5.12" + resolved "https://packages.atlassian.com/api/npm/npm-remote/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" + integrity sha1-b6YbinfD15PbrycL7i9D9lLXQcw= + dependencies: + symbol-observable "1.0.1" + rxjs@^6.4.0, rxjs@^6.5.5, rxjs@^6.6.0: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" @@ -12027,6 +14086,29 @@ scheduler@^0.18.0: loose-envify "^1.1.0" object-assign "^4.1.1" +schema-dts@^0.5.1: + version "0.5.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/schema-dts/-/schema-dts-0.5.3.tgz#e7f907f46f0dd530895c27ac0a304f15b834cada" + integrity sha1-5/kH9G8N1TCJXCesCjBPFbg0yto= + +schema-utils@^0.4.0: + version "0.4.7" + resolved "https://packages.atlassian.com/api/npm/npm-remote/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" + integrity sha1-unT1l9K+LqiAExdG7hfQoJPGgYc= + dependencies: + ajv "^6.1.0" + ajv-keywords "^3.1.0" + +scrollparent@^2.0.1: + version "2.0.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/scrollparent/-/scrollparent-2.0.1.tgz#715d5b9cc57760fb22bdccc3befb5bfe06b1a317" + integrity sha1-cV1bnMV3YPsivczDvvtb/gaxoxc= + +select@^1.1.2: + version "1.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" + integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= + "self-published@npm:@parcel/fs-search@2.0.0-beta.2": version "2.0.0-beta.2" resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.0.0-beta.2.tgz#5318990644861933412332a060ba1daeba15ba10" @@ -12132,7 +14214,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@~1.0.4: +setimmediate@^1.0.4, setimmediate@^1.0.5, setimmediate@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -12157,6 +14239,11 @@ shallow-copy@0.0.1: resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" integrity sha1-QV9CcC1z2BAzApLMXuhurhoRoXA= +shallow-equal@^1.0.0: + version "1.2.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" + integrity sha1-TBar+lYEOqINBQMk76aJQLDaedo= + sharp@^0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.27.1.tgz#cd04926406a697b58dfc5fb62e3c7a3a2d68389a" @@ -12399,7 +14486,7 @@ source-map@0.1.x: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -12571,6 +14658,11 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= + string-argv@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -12794,6 +14886,21 @@ style-to-object@0.3.0, style-to-object@^0.3.0: dependencies: inline-style-parser "0.1.1" +styled-components@^3.2.6: + version "3.4.10" + resolved "https://packages.atlassian.com/api/npm/npm-remote/styled-components/-/styled-components-3.4.10.tgz#9a654c50ea2b516c36ade57ddcfa296bf85c96e1" + integrity sha1-mmVMUOorUWw2reV93Popa/hcluE= + dependencies: + buffer "^5.0.3" + css-to-react-native "^2.0.3" + fbjs "^0.8.16" + hoist-non-react-statics "^2.5.0" + prop-types "^15.5.4" + react-is "^16.3.1" + stylis "^3.5.0" + stylis-rule-sheet "^0.0.10" + supports-color "^3.2.3" + stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" @@ -12803,6 +14910,16 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" +stylis-rule-sheet@^0.0.10: + version "0.0.10" + resolved "https://packages.atlassian.com/api/npm/npm-remote/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" + integrity sha1-ROZKKwdmQ/S1Ll/3HvwE2MPEpDA= + +stylis@^3.5.0: + version "3.5.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" + integrity sha1-9mXyX14pnPPWRlSrlJpXx2i3P74= + stylus@0.54.5: version "0.54.5" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79" @@ -12908,11 +15025,26 @@ svgo@^1.0.0, svgo@^1.3.2: unquote "~1.1.1" util.promisify "~1.0.0" +symbol-observable@1.0.1: + version "1.0.1" + resolved "https://packages.atlassian.com/api/npm/npm-remote/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" + integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= + +symbol-observable@^1.0.2, symbol-observable@^1.0.3, symbol-observable@^1.2.0: + version "1.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" + integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= + symbol-tree@^3.2.2: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +tabbable@^1.0.3: + version "1.1.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/tabbable/-/tabbable-1.1.3.tgz#0e4ee376f3631e42d7977a074dbd2b3827843081" + integrity sha1-Dk7jdvNjHkLXl3oHTb0rOCeEMIE= + table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -13148,6 +15280,21 @@ tiny-benchy@^1.0.1: resolved "https://registry.yarnpkg.com/tiny-benchy/-/tiny-benchy-1.0.2.tgz#ed13db50876b54ded3d4cdf7710a5c2856b234ae" integrity sha512-IpawVd9wuRyVXyajQ/La9ugQXKJohIEA6ufdPZsNuqOH7U4//xq4ivc7YdyCBshYccrUJovwYhMKWhxwdFgDsA== +tiny-emitter@^2.0.0: + version "2.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" + integrity sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM= + +tiny-invariant@^0.0.3: + version "0.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/tiny-invariant/-/tiny-invariant-0.0.3.tgz#4c7283c950e290889e9e94f64d3586ec9156cf44" + integrity sha1-THKDyVDikIienpT2TTWG7JFWz0Q= + +tiny-invariant@^1.0.6: + version "1.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" + integrity sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU= + tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -13299,6 +15446,13 @@ try-to-catch@^3.0.0: resolved "https://packages.atlassian.com/api/npm/npm-remote/try-to-catch/-/try-to-catch-3.0.0.tgz#a1903b44d13d5124c54d14a461d22ec1f52ea14b" integrity sha1-oZA7RNE9USTFTRSkYdIuwfUuoUs= +ts-invariant@^0.4.0: + version "0.4.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" + integrity sha1-l6UjUYaI+TqvrQGw6A64A+sqvYY= + dependencies: + tslib "^1.9.3" + tsconfig-paths@^3.9.0: version "3.9.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" @@ -13309,7 +15463,7 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.8.1: +tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.3: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -13319,10 +15473,10 @@ tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslib@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" - integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== +tslib@^2.0.0, tslib@^2.1.0: + version "2.1.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" + integrity sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo= tsutils@^3.17.1: version "3.21.0" @@ -13417,6 +15571,23 @@ typescript@^4.1.3: resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== +typestyle@^1.4.4: + version "1.7.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/typestyle/-/typestyle-1.7.2.tgz#22ca9dfeaf334f755030cc6d7799b468bb1ee132" + integrity sha1-Isqd/q8zT3VQMMxtd5m0aLse4TI= + dependencies: + free-style "2.5.1" + +ua-parser-js@^0.7.18: + version "0.7.25" + resolved "https://packages.atlassian.com/api/npm/npm-remote/ua-parser-js/-/ua-parser-js-0.7.25.tgz#67689fa263a87a52dabbc251ede89891f59156ce" + integrity sha1-Z2ifomOoelLau8JR7eiYkfWRVs4= + +uc.micro@^1.0.1: + version "1.0.6" + resolved "https://packages.atlassian.com/api/npm/npm-remote/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha1-nEEagCpAmpH8bPdAgbq6NLJEmaw= + uglify-js@^3.1.4: version "3.7.6" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.6.tgz#0783daa867d4bc962a37cc92f67f6e3238c47485" @@ -13715,6 +15886,20 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +unstated@^1.2.0: + version "1.2.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/unstated/-/unstated-1.2.0.tgz#5c57cc077473d2cce411ec0930da285cef3df306" + integrity sha1-XFfMB3Rz0szkEewJMNooXO898wY= + dependencies: + create-react-context "^0.1.5" + +unzipit@^1.3.0: + version "1.3.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/unzipit/-/unzipit-1.3.5.tgz#3ee48a478a3b7e248d65d3bc0bb189a8d63c3ce1" + integrity sha1-PuSKR4o7fiSNZdO8C7GJqNY8POE= + dependencies: + uzip-module "^1.0.2" + unzipper@^0.10.11: version "0.10.11" resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" @@ -13753,6 +15938,11 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-search-params@^0.10.0: + version "0.10.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/url-search-params/-/url-search-params-0.10.2.tgz#e9da69646e48c6140c6732e1f07fb669525f5a4e" + integrity sha1-6dppZG5IxhQMZzLh8H+2aVJfWk4= + url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -13766,6 +15956,11 @@ urlgrey@^0.4.4: resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8= +use-memo-one@^1.1.1: + version "1.1.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/use-memo-one/-/use-memo-one-1.1.2.tgz#0c8203a329f76e040047a35a1197defe342fab20" + integrity sha1-DIIDoyn3bgQAR6NaEZfe/jQvqyA= + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -13810,11 +16005,21 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.0.1, uuid@^3.3.2: +uuid-validate@^0.0.3: + version "0.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/uuid-validate/-/uuid-validate-0.0.3.tgz#e30617f75dc742a0e4f95012a11540faf9d39ab4" + integrity sha1-4wYX913HQqDk+VASoRVA+vnTmrQ= + +uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== +uzip-module@^1.0.2: + version "1.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/uzip-module/-/uzip-module-1.0.3.tgz#6bbabe2a3efea5d5a4a47479f523a571de3427ce" + integrity sha1-a7q+Kj7+pdWkpHR59SOlcd40J84= + v8-compile-cache@^2.0.0, v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" @@ -14192,6 +16397,11 @@ victory@^31.0.1: victory-voronoi-container "^31.2.0" victory-zoom-container "^31.2.0" +video-snapshot@^1.0.11: + version "1.0.11" + resolved "https://packages.atlassian.com/api/npm/npm-remote/video-snapshot/-/video-snapshot-1.0.11.tgz#fa578db764b42e7e6954b93a7ef6b4d8cfee1a34" + integrity sha1-+leNt2S0Ln5pVLk6fva02M/uGjQ= + vinyl-fs@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" @@ -14262,6 +16472,15 @@ vscode-jsonrpc@6.0.0, vscode-jsonrpc@^6.0.0: resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz#108bdb09b4400705176b957ceca9e0880e9b6d4e" integrity sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg== +vscode-languageclient@^7.0.0: + version "7.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz#b505c22c21ffcf96e167799757fca07a6bad0fb2" + integrity sha1-tQXCLCH/z5bhZ3mXV/ygemutD7I= + dependencies: + minimatch "^3.0.4" + semver "^7.3.4" + vscode-languageserver-protocol "3.16.0" + vscode-languageserver-protocol@3.16.0: version "3.16.0" resolved "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz#34135b61a9091db972188a07d337406a3cdbe821" @@ -14308,6 +16527,11 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" +w3c-keyname@^2.2.0: + version "2.2.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b" + integrity sha1-St5pFvYpAiTNvR24rEnqsD0O72s= + w3c-xmlserializer@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" @@ -14317,6 +16541,13 @@ w3c-xmlserializer@^1.1.2: webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" +warning@^4.0.2: + version "4.0.3" + resolved "https://packages.atlassian.com/api/npm/npm-remote/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" + integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= + dependencies: + loose-envify "^1.0.0" + wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -14341,6 +16572,11 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" +whatwg-fetch@>=0.10.0: + version "3.6.2" + resolved "https://packages.atlassian.com/api/npm/npm-remote/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha1-3O0k838mJO0CgXJdUdDi4/5nf4w= + whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" @@ -14430,6 +16666,14 @@ wordwrap@~0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= +worker-loader@^2.0.0: + version "2.0.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/worker-loader/-/worker-loader-2.0.0.tgz#45fda3ef76aca815771a89107399ee4119b430ac" + integrity sha1-Rf2j73asqBV3GokQc5nuQRm0MKw= + dependencies: + loader-utils "^1.0.0" + schema-utils "^0.4.0" + workerpool@6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" @@ -14694,6 +16938,19 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== +zen-observable-ts@^0.8.21: + version "0.8.21" + resolved "https://packages.atlassian.com/api/npm/npm-remote/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" + integrity sha1-hdADH7veHro80H07qQ2iQSFfQh0= + dependencies: + tslib "^1.9.3" + zen-observable "^0.8.0" + +zen-observable@^0.8.0: + version "0.8.15" + resolved "https://packages.atlassian.com/api/npm/npm-remote/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" + integrity sha1-lkFcUS2OP/2SCv04iWBOMLnqrBU= + zwitch@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.4.tgz#93b1b993b13c8926753a41afaf8f27bbfac6be8b" From f4c8a983a21ee9fbe8353dd5b73ff2003c82159d Mon Sep 17 00:00:00 2001 From: thebriando Date: Thu, 25 Mar 2021 17:09:41 -0700 Subject: [PATCH 04/37] add diagnostics --- packages/examples/kitchen-sink/src/index.js | 1 + .../reporters/lsp-reporter/src/LspReporter.js | 27 ++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/packages/examples/kitchen-sink/src/index.js b/packages/examples/kitchen-sink/src/index.js index c48e4af62f0..344fced6dd4 100644 --- a/packages/examples/kitchen-sink/src/index.js +++ b/packages/examples/kitchen-sink/src/index.js @@ -6,6 +6,7 @@ import react from 'react'; import foo from '@atlaskit/editor-common'; import('./async'); import('./async2'); +import('./async3'); new Worker('worker.js'); diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index aca8e09da31..101beaabe69 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -14,6 +14,7 @@ import { InitializeResult, WorkDoneProgressServerReporter, } from 'vscode-languageserver/node'; +import {DefaultMap} from '@parcel/utils'; import invariant from 'assert'; import {createClientPipeTransport} from 'vscode-jsonrpc'; @@ -47,9 +48,33 @@ export default (new Reporter({ case 'buildSuccess': progressReporter.done(); break; - case 'buildFailure': + case 'buildFailure': { + let fileDiagnostics = new DefaultMap(() => []); + for (let diagnostic of event.diagnostics) { + let range = diagnostic.codeFrame?.codeHighlights[0]; + if (diagnostic.filePath && range) { + fileDiagnostics.get(diagnostic.filePath).push({ + range: { + start: { + line: range.start.line - 1, + character: range.start.column - 1, + }, + end: { + line: range.end.line - 1, + character: range.end.column, + }, + }, + source: diagnostic.origin, + message: diagnostic.message, + }); + } + } + for (let [fileName, diagnostics] of fileDiagnostics) { + connection.sendDiagnostics({uri: `file://${fileName}`, diagnostics}); + } progressReporter.done(); break; + } case 'buildProgress': progressReporter.report(event.phase); break; From 6bedda864c29cff344e8c3b23ddfcaca2711849d Mon Sep 17 00:00:00 2001 From: thebriando Date: Thu, 25 Mar 2021 18:22:11 -0700 Subject: [PATCH 05/37] add case for log event --- .../reporters/lsp-reporter/src/LspReporter.js | 117 +++++++++++++----- 1 file changed, 84 insertions(+), 33 deletions(-) diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 101beaabe69..e1e6f6e8da0 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -1,28 +1,75 @@ // @flow import { createConnection, - TextDocuments, - Diagnostic, + Diagnostic as LspDiagnostic, DiagnosticSeverity, - ProposedFeatures, - InitializeParams, - DidChangeConfigurationNotification, - CompletionItem, - CompletionItemKind, - TextDocumentPositionParams, - TextDocumentSyncKind, - InitializeResult, WorkDoneProgressServerReporter, } from 'vscode-languageserver/node'; import {DefaultMap} from '@parcel/utils'; - +import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; +import type {FilePath} from '@parcel/types'; +import path from 'path'; import invariant from 'assert'; import {createClientPipeTransport} from 'vscode-jsonrpc'; import {Reporter} from '@parcel/plugin'; +import util from 'util'; let connection; let progressReporter: WorkDoneProgressServerReporter; +let fileDiagnostics: DefaultMap< + string, + Array, +> = new DefaultMap(() => []); + +type ParcelSeverity = 'error' | 'warn' | 'info' | 'verbose'; +function parcelSeverityToLspSeverity(parcelSeverity: ParcelSeverity): mixed { + switch (parcelSeverity) { + case 'error': + return DiagnosticSeverity.Error; + case 'warn': + return DiagnosticSeverity.Warning; + case 'info': + return DiagnosticSeverity.Information; + case 'verbose': + return DiagnosticSeverity.Hint; + default: + throw new Error('Unknown severity'); + } +} +function updateDiagnostics( + fileDiagnostics: DefaultMap>, + parcelDiagnostics: Array, + parcelSeverity: ParcelSeverity, + projectRoot: FilePath, +): void { + let severity = parcelSeverityToLspSeverity(parcelSeverity); + for (let diagnostic of parcelDiagnostics) { + let filePath = + diagnostic.filePath && + (path.isAbsolute(diagnostic.filePath) + ? diagnostic.filePath + : path.join(projectRoot, diagnostic.filePath)); + let range = diagnostic.codeFrame?.codeHighlights[0]; + if (filePath && range) { + fileDiagnostics.get(`file://${filePath}`).push({ + range: { + start: { + line: range.start.line - 1, + character: range.start.column - 1, + }, + end: { + line: range.end.line - 1, + character: range.end.column, + }, + }, + source: diagnostic.origin, + message: diagnostic.message, + severity, + }); + } + } +} export default (new Reporter({ async report({event, options}) { @@ -46,35 +93,39 @@ export default (new Reporter({ progressReporter.begin('Parcel'); break; case 'buildSuccess': + fileDiagnostics.clear(); progressReporter.done(); break; case 'buildFailure': { - let fileDiagnostics = new DefaultMap(() => []); - for (let diagnostic of event.diagnostics) { - let range = diagnostic.codeFrame?.codeHighlights[0]; - if (diagnostic.filePath && range) { - fileDiagnostics.get(diagnostic.filePath).push({ - range: { - start: { - line: range.start.line - 1, - character: range.start.column - 1, - }, - end: { - line: range.end.line - 1, - character: range.end.column, - }, - }, - source: diagnostic.origin, - message: diagnostic.message, - }); - } - } - for (let [fileName, diagnostics] of fileDiagnostics) { - connection.sendDiagnostics({uri: `file://${fileName}`, diagnostics}); + updateDiagnostics( + fileDiagnostics, + event.diagnostics, + 'error', + options.projectRoot, + ); + for (let [uri, diagnostics] of fileDiagnostics) { + connection.sendDiagnostics({uri, diagnostics}); } + fileDiagnostics.clear(); progressReporter.done(); break; } + case 'log': + if ( + event.diagnostics != null && + (event.level === 'error' || + event.level === 'warn' || + event.level === 'info' || + event.level === 'verbose') + ) { + updateDiagnostics( + fileDiagnostics, + event.diagnostics, + event.level, + options.projectRoot, + ); + } + break; case 'buildProgress': progressReporter.report(event.phase); break; From b4311f256ab419b10893ace2c18752ae49469fa7 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Fri, 26 Mar 2021 11:01:37 -0700 Subject: [PATCH 06/37] Clean up and fix flow --- packages/reporters/lsp-reporter/package.json | 2 + .../reporters/lsp-reporter/src/LspReporter.js | 136 ++++++++++-------- 2 files changed, 76 insertions(+), 62 deletions(-) diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index f10b5021ad0..ba0dacf87d2 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -8,6 +8,8 @@ "parcel": "^2.0.0-beta.1" }, "dependencies": { + "@parcel/plugin": "2.0.0-beta.2", + "@parcel/utils": "2.0.0-beta.2", "vscode-languageserver": "^7.0.0", "vscode-jsonrpc": "^6.0.0" } diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index e1e6f6e8da0..d70af5cebd4 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -1,10 +1,7 @@ -// @flow -import { - createConnection, - Diagnostic as LspDiagnostic, - DiagnosticSeverity, - WorkDoneProgressServerReporter, -} from 'vscode-languageserver/node'; +// @flow strict-local +/* eslint-disable no-console */ + +import {createConnection, DiagnosticSeverity} from 'vscode-languageserver/node'; import {DefaultMap} from '@parcel/utils'; import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; import type {FilePath} from '@parcel/types'; @@ -13,7 +10,13 @@ import invariant from 'assert'; import {createClientPipeTransport} from 'vscode-jsonrpc'; import {Reporter} from '@parcel/plugin'; -import util from 'util'; + +// flowlint-next-line unclear-type:off +type WorkDoneProgressServerReporter = any; +// flowlint-next-line unclear-type:off +type LspDiagnostic = any; + +type ParcelSeverity = 'error' | 'warn' | 'info' | 'verbose'; let connection; let progressReporter: WorkDoneProgressServerReporter; @@ -22,55 +25,6 @@ let fileDiagnostics: DefaultMap< Array, > = new DefaultMap(() => []); -type ParcelSeverity = 'error' | 'warn' | 'info' | 'verbose'; -function parcelSeverityToLspSeverity(parcelSeverity: ParcelSeverity): mixed { - switch (parcelSeverity) { - case 'error': - return DiagnosticSeverity.Error; - case 'warn': - return DiagnosticSeverity.Warning; - case 'info': - return DiagnosticSeverity.Information; - case 'verbose': - return DiagnosticSeverity.Hint; - default: - throw new Error('Unknown severity'); - } -} -function updateDiagnostics( - fileDiagnostics: DefaultMap>, - parcelDiagnostics: Array, - parcelSeverity: ParcelSeverity, - projectRoot: FilePath, -): void { - let severity = parcelSeverityToLspSeverity(parcelSeverity); - for (let diagnostic of parcelDiagnostics) { - let filePath = - diagnostic.filePath && - (path.isAbsolute(diagnostic.filePath) - ? diagnostic.filePath - : path.join(projectRoot, diagnostic.filePath)); - let range = diagnostic.codeFrame?.codeHighlights[0]; - if (filePath && range) { - fileDiagnostics.get(`file://${filePath}`).push({ - range: { - start: { - line: range.start.line - 1, - character: range.start.column - 1, - }, - end: { - line: range.end.line - 1, - character: range.end.column, - }, - }, - source: diagnostic.origin, - message: diagnostic.message, - severity, - }); - } - } -} - export default (new Reporter({ async report({event, options}) { switch (event.type) { @@ -78,17 +32,18 @@ export default (new Reporter({ //TODO: include pid in createServerPipeTransport let transport = await createClientPipeTransport('/tmp/parcel'); connection = createConnection(...(await transport.onConnected())); - connection.onInitialize(params => { - console.log('Connection is initialized'); - console.log(params); + connection.onInitialize(() => { + console.debug('Connection is initialized'); + invariant(connection != null); connection.window.showInformationMessage('hi'); }); invariant(connection != null); connection.listen(); - console.log('connection listening...'); + console.debug('connection listening...'); break; } case 'buildStart': + invariant(connection != null); progressReporter = await connection.window.createWorkDoneProgress(); progressReporter.begin('Parcel'); break; @@ -104,6 +59,7 @@ export default (new Reporter({ options.projectRoot, ); for (let [uri, diagnostics] of fileDiagnostics) { + invariant(connection != null); connection.sendDiagnostics({uri, diagnostics}); } fileDiagnostics.clear(); @@ -133,10 +89,66 @@ export default (new Reporter({ if (connection == null) { break; } + invariant(connection != null); connection.dispose(); connection = null; - console.log('connection disposed of'); + console.debug('connection disposed of'); break; } }, }): Reporter); + +function updateDiagnostics( + fileDiagnostics: DefaultMap>, + parcelDiagnostics: Array, + parcelSeverity: ParcelSeverity, + projectRoot: FilePath, +): void { + let severity = parcelSeverityToLspSeverity(parcelSeverity); + for (let diagnostic of parcelDiagnostics) { + let filePath = + diagnostic.filePath != null + ? normalizeFilePath(diagnostic.filePath, projectRoot) + : null; + + let range = diagnostic.codeFrame?.codeHighlights[0]; + if (filePath != null && range) { + fileDiagnostics.get(`file://${filePath}`).push({ + range: { + start: { + line: range.start.line - 1, + character: range.start.column - 1, + }, + end: { + line: range.end.line - 1, + character: range.end.column, + }, + }, + source: diagnostic.origin, + message: diagnostic.message, + severity, + }); + } + } +} + +function parcelSeverityToLspSeverity(parcelSeverity: ParcelSeverity): mixed { + switch (parcelSeverity) { + case 'error': + return DiagnosticSeverity.Error; + case 'warn': + return DiagnosticSeverity.Warning; + case 'info': + return DiagnosticSeverity.Information; + case 'verbose': + return DiagnosticSeverity.Hint; + default: + throw new Error('Unknown severity'); + } +} + +function normalizeFilePath(filePath: FilePath, projectRoot: FilePath) { + return path.isAbsolute(filePath) + ? filePath + : path.join(projectRoot, filePath); +} From 1a094ac778da711004b9923dfbe8c872cdeb13de Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Fri, 26 Mar 2021 11:32:41 -0700 Subject: [PATCH 07/37] Reuse message logic from cli reporter --- packages/core/utils/src/index.js | 1 + packages/core/utils/src/reporters.js | 23 +++++++++++++++++++ packages/reporters/cli/src/CLIReporter.js | 9 ++++++-- packages/reporters/cli/src/utils.js | 19 --------------- .../reporters/lsp-reporter/src/LspReporter.js | 18 +++++++++------ 5 files changed, 42 insertions(+), 28 deletions(-) create mode 100644 packages/core/utils/src/reporters.js diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index c2684397e7a..36d8ed8b363 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -71,3 +71,4 @@ export { loadSourceMap, remapSourceLocation, } from './sourcemap'; +export {getProgressMessage} from './reporters'; diff --git a/packages/core/utils/src/reporters.js b/packages/core/utils/src/reporters.js new file mode 100644 index 00000000000..130ec89fd00 --- /dev/null +++ b/packages/core/utils/src/reporters.js @@ -0,0 +1,23 @@ +// @flow strict-local + +import type {BuildProgressEvent} from '@parcel/types'; + +import path from 'path'; + +export function getProgressMessage(event: BuildProgressEvent): ?string { + switch (event.phase) { + case 'transforming': + return `Building ${path.basename(event.filePath)}...`; + + case 'bundling': + return 'Bundling...'; + + case 'packaging': + return `Packaging ${event.bundle.displayName}...`; + + case 'optimizing': + return `Optimizing ${event.bundle.displayName}...`; + } + + return null; +} diff --git a/packages/reporters/cli/src/CLIReporter.js b/packages/reporters/cli/src/CLIReporter.js index bf37ae634dc..fb2951fbafb 100644 --- a/packages/reporters/cli/src/CLIReporter.js +++ b/packages/reporters/cli/src/CLIReporter.js @@ -4,10 +4,15 @@ import type {Diagnostic} from '@parcel/diagnostic'; import type {Color} from 'chalk'; import {Reporter} from '@parcel/plugin'; -import {prettifyTime, prettyDiagnostic, throttle} from '@parcel/utils'; +import { + getProgressMessage, + prettifyTime, + prettyDiagnostic, + throttle, +} from '@parcel/utils'; import chalk from 'chalk'; -import {getProgressMessage, getTerminalWidth} from './utils'; +import {getTerminalWidth} from './utils'; import logLevels from './logLevels'; import bundleReport from './bundleReport'; import { diff --git a/packages/reporters/cli/src/utils.js b/packages/reporters/cli/src/utils.js index aa08c24341b..b15303da5a3 100644 --- a/packages/reporters/cli/src/utils.js +++ b/packages/reporters/cli/src/utils.js @@ -1,5 +1,4 @@ // @flow -import type {BuildProgressEvent} from '@parcel/types'; import path from 'path'; import chalk from 'chalk'; @@ -13,24 +12,6 @@ process.stdout.on('resize', function() { terminalSize = termSize(); }); -export function getProgressMessage(event: BuildProgressEvent): ?string { - switch (event.phase) { - case 'transforming': - return `Building ${path.basename(event.filePath)}...`; - - case 'bundling': - return 'Bundling...'; - - case 'packaging': - return `Packaging ${event.bundle.displayName}...`; - - case 'optimizing': - return `Optimizing ${event.bundle.displayName}...`; - } - - return null; -} - export function getTerminalWidth(): any { return terminalSize; } diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index d70af5cebd4..94baddc814d 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -1,15 +1,15 @@ // @flow strict-local /* eslint-disable no-console */ -import {createConnection, DiagnosticSeverity} from 'vscode-languageserver/node'; -import {DefaultMap} from '@parcel/utils'; import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; import type {FilePath} from '@parcel/types'; -import path from 'path'; -import invariant from 'assert'; -import {createClientPipeTransport} from 'vscode-jsonrpc'; +import {createClientPipeTransport} from 'vscode-jsonrpc'; +import {createConnection, DiagnosticSeverity} from 'vscode-languageserver/node'; +import {DefaultMap, getProgressMessage} from '@parcel/utils'; import {Reporter} from '@parcel/plugin'; +import invariant from 'assert'; +import path from 'path'; // flowlint-next-line unclear-type:off type WorkDoneProgressServerReporter = any; @@ -82,9 +82,13 @@ export default (new Reporter({ ); } break; - case 'buildProgress': - progressReporter.report(event.phase); + case 'buildProgress': { + let message = getProgressMessage(event); + if (message != null) { + progressReporter.report(message); + } break; + } case 'watchEnd': if (connection == null) { break; From 8c8b1609c7097dd7e11af067e75556e598528817 Mon Sep 17 00:00:00 2001 From: Gora Kong Date: Fri, 26 Mar 2021 16:00:07 -0700 Subject: [PATCH 08/37] Run parcel without an lsp connection --- packages/examples/kitchen-sink/package.json | 6 +----- packages/examples/kitchen-sink/src/index.js | 12 +++++++++--- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 74a0cafd92f..362c978290e 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -34,12 +34,8 @@ } }, "dependencies": { - "@atlaskit/editor-common": "^55.4.2", - "@atlaskit/media-core": "^32.1.2", "lodash": "^4.17.11", "react": "^16.6.3", - "react-dom": "^16.6.3", - "react-intl": "^5.13.5", - "rxjs-compat": "^6.6.6" + "react-dom": "^16.6.3" } } diff --git a/packages/examples/kitchen-sink/src/index.js b/packages/examples/kitchen-sink/src/index.js index 344fced6dd4..42142a102c0 100644 --- a/packages/examples/kitchen-sink/src/index.js +++ b/packages/examples/kitchen-sink/src/index.js @@ -3,12 +3,18 @@ import parcel from 'url:./parcel.webp'; import {message} from './message'; import lodash from 'lodash'; import react from 'react'; -import foo from '@atlaskit/editor-common'; import('./async'); import('./async2'); -import('./async3'); +// import('./async3'); +// +// +// -new Worker('worker.js'); +console.log(react); + +console.log(lodash); + +// new Worker('worker.js'); console.log(message); From a3cd34fbb0a7b807449b9e68090e8500bfe4fc41 Mon Sep 17 00:00:00 2001 From: Gora Kong Date: Tue, 30 Mar 2021 10:23:23 -0700 Subject: [PATCH 09/37] missing files --- packages/core/core/src/Parcel.js | 2 +- packages/reporters/lsp-reporter/package.json | 13 + .../reporters/lsp-reporter/src/LspReporter.js | 123 +- vscode-extension-TODO.md | 12 + yarn.lock | 2312 +---------------- 5 files changed, 167 insertions(+), 2295 deletions(-) create mode 100644 vscode-extension-TODO.md diff --git a/packages/core/core/src/Parcel.js b/packages/core/core/src/Parcel.js index ef4f959a78c..629e44b0d18 100644 --- a/packages/core/core/src/Parcel.js +++ b/packages/core/core/src/Parcel.js @@ -265,7 +265,7 @@ export default class Parcel { if (options.shouldProfile) { await this.startProfiling(); } - this.#reporterRunner.report({ + await this.#reporterRunner.report({ type: 'buildStart', }); let request = createAssetGraphRequest({ diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index ba0dacf87d2..07a65ec0d23 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -1,6 +1,18 @@ { "name": "@parcel/reporter-lsp", "version": "2.0.0-beta.2", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "/~https://github.com/parcel-bundler/parcel.git" + }, "main": "lib/LspReporter.js", "source": "src/LspReporter.js", "engines": { @@ -10,6 +22,7 @@ "dependencies": { "@parcel/plugin": "2.0.0-beta.2", "@parcel/utils": "2.0.0-beta.2", + "nullthrows": "^1.1.1", "vscode-languageserver": "^7.0.0", "vscode-jsonrpc": "^6.0.0" } diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 94baddc814d..b9f4a757eff 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -10,6 +10,7 @@ import {DefaultMap, getProgressMessage} from '@parcel/utils'; import {Reporter} from '@parcel/plugin'; import invariant from 'assert'; import path from 'path'; +import nullthrows from 'nullthrows'; // flowlint-next-line unclear-type:off type WorkDoneProgressServerReporter = any; @@ -18,8 +19,10 @@ type LspDiagnostic = any; type ParcelSeverity = 'error' | 'warn' | 'info' | 'verbose'; +let connectionPromise; let connection; -let progressReporter: WorkDoneProgressServerReporter; +let progressReporter: ?ProgressReporter; +let watchEnded = false; let fileDiagnostics: DefaultMap< string, Array, @@ -30,26 +33,60 @@ export default (new Reporter({ switch (event.type) { case 'watchStart': { //TODO: include pid in createServerPipeTransport - let transport = await createClientPipeTransport('/tmp/parcel'); - connection = createConnection(...(await transport.onConnected())); - connection.onInitialize(() => { - console.debug('Connection is initialized'); + connectionPromise = (async () => { + let transport = await createClientPipeTransport('/tmp/parcel'); + connection = await createConnection( + ...(await transport.onConnected()), + ); + + connection.onInitialize(() => { + console.debug('Connection is initialized'); + invariant(connection != null); + connection.window.showInformationMessage('hi'); + }); invariant(connection != null); - connection.window.showInformationMessage('hi'); + connection.listen(); + console.debug('connection listening...'); + return connection; + })(); + progressReporter = new ProgressReporter(); + nullthrows(connectionPromise).then(connection => { + if (fileDiagnostics.size > 0) { + if (connection != null) { + for (let [uri, diagnostics] of fileDiagnostics) { + connection.sendDiagnostics({uri, diagnostics}); + } + } + } + + if (watchEnded) { + connection.dispose(); + } }); - invariant(connection != null); - connection.listen(); - console.debug('connection listening...'); break; } - case 'buildStart': - invariant(connection != null); - progressReporter = await connection.window.createWorkDoneProgress(); - progressReporter.begin('Parcel'); + case 'buildStart': { + nullthrows(progressReporter).begin(); + let filePaths = [...fileDiagnostics.keys()]; + fileDiagnostics.clear(); + + if (connection != null) { + await Promise.all( + filePaths.map(uri => + connection.window.sendDiagnostics({uri, diagnostics: []}), + ), + ); + } + break; + } case 'buildSuccess': - fileDiagnostics.clear(); - progressReporter.done(); + nullthrows(progressReporter).done(); + if (connection != null) { + for (let [uri, diagnostics] of fileDiagnostics) { + connection.sendDiagnostics({uri, diagnostics}); + } + } break; case 'buildFailure': { updateDiagnostics( @@ -58,12 +95,14 @@ export default (new Reporter({ 'error', options.projectRoot, ); - for (let [uri, diagnostics] of fileDiagnostics) { - invariant(connection != null); - connection.sendDiagnostics({uri, diagnostics}); + + if (connection != null) { + const _connection = connection; + for (let [uri, diagnostics] of fileDiagnostics) { + _connection.sendDiagnostics({uri, diagnostics}); + } } - fileDiagnostics.clear(); - progressReporter.done(); + nullthrows(progressReporter).done(); break; } case 'log': @@ -85,16 +124,19 @@ export default (new Reporter({ case 'buildProgress': { let message = getProgressMessage(event); if (message != null) { - progressReporter.report(message); + nullthrows(progressReporter).report(message); } break; } case 'watchEnd': - if (connection == null) { + watchEnded = true; + if (connectionPromise == null) { break; } - invariant(connection != null); - connection.dispose(); + if (connection != null) { + connection.dispose(); + } + connectionPromise = null; connection = null; console.debug('connection disposed of'); break; @@ -102,6 +144,39 @@ export default (new Reporter({ }, }): Reporter); +class ProgressReporter { + progressReporterPromise: ?Promise; + lastMessage: ?string; + begin() { + this.progressReporterPromise = (async () => { + let connection = await nullthrows(connectionPromise); + let reporter = await connection.window.createWorkDoneProgress(); + reporter.begin('Parcel'); + return reporter; + })(); + this.progressReporterPromise.then(reporter => { + if (this.lastMessage != null) { + reporter.report(this.lastMessage); + } + }); + } + async done() { + if (this.progressReporterPromise == null) { + this.begin(); + } + invariant(this.progressReporterPromise != null); + (await this.progressReporterPromise).done(); + } + async report(message: string) { + if (this.progressReporterPromise == null) { + this.lastMessage = message; + this.begin(); + } else { + (await this.progressReporterPromise).report(message); + } + } +} + function updateDiagnostics( fileDiagnostics: DefaultMap>, parcelDiagnostics: Array, diff --git a/vscode-extension-TODO.md b/vscode-extension-TODO.md new file mode 100644 index 00000000000..ad82e9c8136 --- /dev/null +++ b/vscode-extension-TODO.md @@ -0,0 +1,12 @@ +TODO: + +- need to not wait for connections +- language server shuts down and kills our process when the extension is closed +- handle the case where parcel is started after the extension is running +- support multiple parcels + +WISHLIST: + +- quick fix +- show prior diagnostics on connection +- diff --git a/yarn.lock b/yarn.lock index dfaeba5300d..570ab0e0607 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,862 +2,6 @@ # yarn lockfile v1 -"@atlaskit/activity-provider@^2.3.0": - version "2.3.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/activity-provider/-/activity-provider-2.3.2.tgz#6f10e4bf0211f74e5992cd412a09f92929690d1c" - integrity sha1-bxDkvwIR905Zks1BKgn5KSlpDRw= - dependencies: - "@atlaskit/util-service-support" "^6.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/adf-schema@^14.0.0": - version "14.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/adf-schema/-/adf-schema-14.1.0.tgz#751594e3d6447ab575f289e1507f69a0e28f9d46" - integrity sha1-dRWU49ZEerV18onhUH9poOKPnUY= - dependencies: - "@atlaskit/editor-tables" "^1.1.0" - "@babel/runtime" "^7.0.0" - "@types/linkify-it" "^2.0.4" - "@types/prosemirror-model" "^1.11.0" - "@types/prosemirror-state" "^1.2.0" - css-color-names "0.0.4" - linkify-it "^2.0.3" - memoize-one "^5.1.0" - prosemirror-model "1.11.0" - prosemirror-transform "1.2.8" - -"@atlaskit/adf-utils@^11.8.0": - version "11.8.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/adf-utils/-/adf-utils-11.8.1.tgz#09f105f8b50cd5a90747c6007dff4148a3afd021" - integrity sha1-CfEF+LUM1akHR8YAff9BSKOv0CE= - dependencies: - "@atlaskit/adf-schema" "^14.0.0" - "@atlaskit/editor-json-transformer" "^8.4.1" - "@babel/runtime" "^7.0.0" - -"@atlaskit/analytics-gas-types@^5.0.0", "@atlaskit/analytics-gas-types@^5.0.5": - version "5.0.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-gas-types/-/analytics-gas-types-5.0.5.tgz#6003b331273eb412c9cb5d76b17dd9c8ef2b1d55" - integrity sha1-YAOzMSc+tBLJy112sX3ZyO8rHVU= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/analytics-namespaced-context@^6.0.0": - version "6.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-namespaced-context/-/analytics-namespaced-context-6.0.0.tgz#3677ca09b54762dc556e35d9ac4e5ac3f5b51208" - integrity sha1-NnfKCbVHYtxVbjXZrE5aw/W1Egg= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/analytics-next-stable-react-context@1.0.1": - version "1.0.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-next-stable-react-context/-/analytics-next-stable-react-context-1.0.1.tgz#93c4c7a1a35f4ab606d727af443f49f0842fd96f" - integrity sha1-k8THoaNfSrYG1yevRD9J8IQv2W8= - dependencies: - tslib "^2.0.0" - -"@atlaskit/analytics-next@^8.0.0", "@atlaskit/analytics-next@^8.1.0", "@atlaskit/analytics-next@^8.1.1": - version "8.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/analytics-next/-/analytics-next-8.1.1.tgz#d0b0e91be59417129ea4296b3b6984f2e58e32d2" - integrity sha1-0LDpG+WUFxKepClrO2mE8uWOMtI= - dependencies: - "@atlaskit/analytics-next-stable-react-context" "1.0.1" - "@babel/runtime" "^7.0.0" - prop-types "^15.5.10" - use-memo-one "^1.1.1" - -"@atlaskit/avatar-group@^8.0.0", "@atlaskit/avatar-group@^8.0.13": - version "8.0.15" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/avatar-group/-/avatar-group-8.0.15.tgz#e8596884e98ba20be7382e9fb98a4f44caed9e67" - integrity sha1-6FlohOmLogvnOC6fuYpPRMrtnmc= - dependencies: - "@atlaskit/avatar" "^20.0.0" - "@atlaskit/menu" "^0.7.0" - "@atlaskit/popup" "^1.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/avatar@^20.0.0", "@atlaskit/avatar@^20.1.0", "@atlaskit/avatar@^20.2.0": - version "20.2.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/avatar/-/avatar-20.2.2.tgz#9cd58be2908428253083e866cf87458100fdb771" - integrity sha1-nNWL4pCEKCUwg+hmz4dFgQD9t3E= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/blanket@^11.1.0": - version "11.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/blanket/-/blanket-11.1.1.tgz#0dc6db40c7823fa1a09eeb263f48e822091cf7dd" - integrity sha1-DcbbQMeCP6GgnusmP0joIgkc990= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/button@^15.1.0": - version "15.1.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/button/-/button-15.1.5.tgz#1cbe12d86e9b54f2c42a9d8a5a8f874e2de7ae8f" - integrity sha1-HL4S2G6bVPLEKp2KWo+HTi3nro8= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/chunkinator@^3.0.0": - version "3.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/chunkinator/-/chunkinator-3.0.0.tgz#2e9b26f9da49e005f2b967bd412da4d270489cea" - integrity sha1-Lpsm+dpJ4AXyuWe9QS2k0nBInOo= - dependencies: - "@babel/runtime" "^7.0.0" - rxjs-async-map "^0.1.2" - -"@atlaskit/code@^13.2.1": - version "13.2.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/code/-/code-13.2.1.tgz#b39518c6e103c0248900281a79df55d9dd057db6" - integrity sha1-s5UYxuEDwCSJACgaed9V2d0FfbY= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - memoize-one "^5.1.0" - react-syntax-highlighter "^15.4.3" - -"@atlaskit/dropdown-menu@^10.1.0": - version "10.1.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/dropdown-menu/-/dropdown-menu-10.1.3.tgz#6f72cec9e5edcc4f41a43e4f1142e43d87b45ba1" - integrity sha1-b3LOyeXtzE9BpD5PEULkPYe0W6E= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/droplist" "^11.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/item" "^12.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - array-find "^1.0.0" - prop-types "^15.5.10" - react-uid "^2.2.0" - -"@atlaskit/droplist@^11.0.0": - version "11.0.7" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/droplist/-/droplist-11.0.7.tgz#d7c2bf472aee579a8512c032a6c2ec1d083c3f0f" - integrity sha1-18K/RyruV5qFEsAypsLsHQg8Pw8= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/item" "^12.0.0" - "@atlaskit/layer" "^9.0.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.0.0" - "@babel/runtime" "^7.0.0" - prop-types "^15.5.10" - -"@atlaskit/editor-common@^55.4.2": - version "55.4.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-common/-/editor-common-55.4.2.tgz#b03fd9c0538b3c16dce2e295ce3f0b0fdddad440" - integrity sha1-sD/ZwFOLPBbc4uKVzj8LD93a1EA= - dependencies: - "@atlaskit/activity-provider" "^2.3.0" - "@atlaskit/adf-schema" "^14.0.0" - "@atlaskit/adf-utils" "^11.8.0" - "@atlaskit/analytics-namespaced-context" "^6.0.0" - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/editor-json-transformer" "^8.4.0" - "@atlaskit/editor-shared-styles" "^1.3.0" - "@atlaskit/emoji" "^63.1.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/media-card" "^70.4.0" - "@atlaskit/media-client" "^13.0.0" - "@atlaskit/media-picker" "^57.3.0" - "@atlaskit/mention" "^19.3.0" - "@atlaskit/profilecard" "^15.0.0" - "@atlaskit/smart-card" "^15.0.0" - "@atlaskit/task-decision" "^17.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.1.0" - "@atlaskit/user-picker" "^7.3.0" - "@atlaskit/width-detector" "^3.0.0" - "@babel/runtime" "^7.0.0" - "@types/prosemirror-model" "^1.11.0" - "@types/prosemirror-state" "^1.2.0" - "@types/prosemirror-transform" "^1.1.0" - "@types/prosemirror-view" "^1.9.0" - classnames "^2.2.5" - date-fns "^1.30.1" - lodash "^4.17.15" - prosemirror-model "1.11.0" - prosemirror-state "1.3.3" - prosemirror-transform "1.2.8" - prosemirror-view "1.15.4" - raf-schd "^2.1.0" - react-loadable "^5.1.0" - -"@atlaskit/editor-json-transformer@^8.4.0", "@atlaskit/editor-json-transformer@^8.4.1": - version "8.4.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-json-transformer/-/editor-json-transformer-8.4.5.tgz#99c07bffd52b00feb0f4bca58d8db2ebcfee6cd2" - integrity sha1-mcB7/9UrAP6w9LyljY2y68/ubNI= - dependencies: - "@atlaskit/adf-schema" "^14.0.0" - "@babel/runtime" "^7.0.0" - lodash "^4.17.15" - prosemirror-model "1.11.0" - -"@atlaskit/editor-shared-styles@^1.3.0": - version "1.4.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-shared-styles/-/editor-shared-styles-1.4.0.tgz#95ccf7f42f0d509cd6adcbac3ceca448f880314a" - integrity sha1-lcz39C8NUJzWrcusPOykSPiAMUo= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - styled-components "^3.2.6" - -"@atlaskit/editor-tables@^1.1.0": - version "1.1.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/editor-tables/-/editor-tables-1.1.3.tgz#a86f54991cd49b8c37e434940b332935962bf6f5" - integrity sha1-qG9UmRzUm4w35DSUCzMpNZYr9vU= - dependencies: - "@babel/runtime" "^7.0.0" - prosemirror-keymap "1.1.4" - prosemirror-model "1.11.0" - prosemirror-state "1.3.3" - prosemirror-transform "1.2.8" - prosemirror-utils "^1.0.0-0" - prosemirror-view "1.15.4" - -"@atlaskit/emoji@^63.1.0": - version "63.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/emoji/-/emoji-63.1.2.tgz#39a2ed3b56fb920e1415b12c53f8797e2f49390e" - integrity sha1-OaLtO1b7kg4UFbEsU/h5fi9JOQ4= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/field-base" "^15.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/media-client" "^13.0.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.1.0" - "@atlaskit/util-service-support" "^6.0.0" - "@babel/runtime" "^7.0.0" - classnames "^2.2.5" - js-search "^1.3.7" - lru-fast "^0.2.2" - prop-types "^15.5.10" - react-virtualized "^9.8.0" - typestyle "^1.4.4" - uuid "^3.1.0" - -"@atlaskit/field-base@^15.0.0": - version "15.0.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/field-base/-/field-base-15.0.4.tgz#e26790e8e9b258189a4bbce7f64aff1227ad5b86" - integrity sha1-4meQ6OmyWBiaS7zn9kr/EietW4Y= - dependencies: - "@atlaskit/icon" "^21.0.0" - "@atlaskit/inline-dialog" "^13.0.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/field-range@^9.0.0": - version "9.0.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/field-range/-/field-range-9.0.5.tgz#77a6b1c9a7ff72f0a975809c7d6ed4bd184847ee" - integrity sha1-d6axyaf/cvCpdYCcfW7UvRhIR+4= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/flag@^14.1.0": - version "14.2.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/flag/-/flag-14.2.2.tgz#9dacfad95487221173017a6ba240e97ff86ad13b" - integrity sha1-naz62VSHIhFzAXprokDpf/hq0Ts= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/motion" "^0.4.0" - "@atlaskit/portal" "^4.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/icon-file-type@^6.2.0": - version "6.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/icon-file-type/-/icon-file-type-6.2.0.tgz#7f354f88394beb08652b1605cbd4b805247ba8bb" - integrity sha1-fzVPiDlL6whlKxYFy9S4BSR7qLs= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/icon-object@^6.2.0": - version "6.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/icon-object/-/icon-object-6.2.0.tgz#fd316425add2284bc895205e7e51622c970ad0f3" - integrity sha1-/TFkJa3SKEvIlSBeflFiLJcK0PM= - dependencies: - "@atlaskit/icon" "21.4.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/icon@21.4.0", "@atlaskit/icon@^21.0.0", "@atlaskit/icon@^21.3.0", "@atlaskit/icon@^21.4.0": - version "21.4.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/icon/-/icon-21.4.0.tgz#aefac76f83d9b08d6d9aed8e8d27b46d2f30724a" - integrity sha1-rvrHb4PZsI1tmu2OjSe0bS8wcko= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/inline-dialog@^13.0.0": - version "13.0.10" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/inline-dialog/-/inline-dialog-13.0.10.tgz#f356ccce7df76c0afc293916a9a42fa5f8066d14" - integrity sha1-81bMzn33bAr8KTkWqaQvpfgGbRQ= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/popper" "^5.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - react-node-resolver "^1.0.1" - -"@atlaskit/item@^12.0.0": - version "12.0.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/item/-/item-12.0.5.tgz#8bbccfb71ef124e23d8b62c57ca6983a9c15576f" - integrity sha1-i7zPtx7xJOI9i2LFfKaYOpwVV28= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - prop-types "^15.5.10" - react-addons-text-content "^0.0.4" - uuid "^3.1.0" - -"@atlaskit/layer@^9.0.0": - version "9.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/layer/-/layer-9.0.3.tgz#c7d9e3979042478da519d3df195b53a0ccf5a9fb" - integrity sha1-x9njl5BCR42lGdPfGVtToMz1qfs= - dependencies: - "@babel/runtime" "^7.0.0" - popper.js "^1.14.1" - raf-schd "^2.1.0" - react-scrolllock "^5.0.1" - -"@atlaskit/locale@^2.3.0": - version "2.3.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/locale/-/locale-2.3.0.tgz#a5af8c96be1d804b3d63a8a48319f629f47a2376" - integrity sha1-pa+Mlr4dgEs9Y6ikgxn2KfR6I3Y= - dependencies: - "@atlaskit/select" "^13.0.0" - "@babel/runtime" "^7.0.0" - -"@atlaskit/logo@^13.1.0": - version "13.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/logo/-/logo-13.1.2.tgz#81feb7f309f2a268f326e9d2f32bf19c5d547ccd" - integrity sha1-gf638wnyomjzJunS8yvxnF1UfM0= - dependencies: - "@babel/runtime" "^7.0.0" - react-uid "^2.2.0" - -"@atlaskit/lozenge@^10.0.0", "@atlaskit/lozenge@^10.1.0": - version "10.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/lozenge/-/lozenge-10.1.2.tgz#2e56bd9c3fc3cd8d8bb94f478397943aa67709d1" - integrity sha1-Lla9nD/DzY2LuU9Hg5eUOqZ3CdE= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@compiled/react" "^0.6.0" - -"@atlaskit/media-card@^70.4.0": - version "70.4.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-card/-/media-card-70.4.0.tgz#8e0d48a931f55769f1d0727e8141b31371ea078d" - integrity sha1-jg1IqTH1V2nx0HJ+gUGzE3HqB40= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/dropdown-menu" "^10.1.0" - "@atlaskit/editor-shared-styles" "^1.3.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/locale" "^2.3.0" - "@atlaskit/media-client" "^13.0.0" - "@atlaskit/media-common" "^2.6.0" - "@atlaskit/media-ui" "^15.3.0" - "@atlaskit/media-viewer" "^45.7.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.1.0" - "@babel/runtime" "^7.0.0" - classnames "^2.2.5" - eventemitter2 "^4.1.0" - lru-fast "^0.2.2" - react-lazily-render "^1.2.0" - uuid "^3.1.0" - video-snapshot "^1.0.11" - -"@atlaskit/media-client@^13.0.0": - version "13.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-client/-/media-client-13.0.0.tgz#cbc7e20b58eab32fc50b4390be3cf00e7c2860e6" - integrity sha1-y8fiC1jqsy/FC0OQvjzwDnwoYOY= - dependencies: - "@atlaskit/chunkinator" "^3.0.0" - "@atlaskit/media-common" "^2.6.0" - "@babel/runtime" "^7.0.0" - dataloader "^1.4.0" - deep-equal "^1.0.1" - eventemitter2 "^4.1.0" - lru-fast "^0.2.2" - query-string "^5.1.0" - rusha "^0.8.13" - url-search-params "^0.10.0" - uuid "^3.1.0" - uuid-validate "^0.0.3" - video-snapshot "^1.0.11" - -"@atlaskit/media-common@^2.6.0": - version "2.6.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-common/-/media-common-2.6.0.tgz#6c7d694e357be4ce3849ad85fdf57222a398b07a" - integrity sha1-bH1pTjV75M44Sa2F/fVyIqOYsHo= - dependencies: - "@atlaskit/analytics-gas-types" "^5.0.5" - "@atlaskit/analytics-namespaced-context" "^6.0.0" - "@atlaskit/analytics-next" "^8.1.1" - "@babel/runtime" "^7.0.0" - -"@atlaskit/media-core@^32.1.2": - version "32.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-core/-/media-core-32.1.2.tgz#1b3b5ff8e96f1f4e97afe114854e23a41e0c4e66" - integrity sha1-Gztf+OlvH06Xr+EUhU4jpB4MTmY= - dependencies: - "@babel/runtime" "^7.0.0" - eventemitter2 "^4.1.0" - lru-fast "^0.2.2" - -"@atlaskit/media-editor@^38.1.0": - version "38.1.7" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-editor/-/media-editor-38.1.7.tgz#242808dae3b8c2946b7f8f280e2b712235d0ae71" - integrity sha1-JCgI2uO4wpRrf48oDitxIjXQrnE= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/field-range" "^9.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/inline-dialog" "^13.0.0" - "@atlaskit/media-card" "^70.4.0" - "@atlaskit/media-client" "^13.0.0" - "@atlaskit/media-ui" "^15.0.0" - "@atlaskit/modal-dialog" "^11.2.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.0.0" - "@babel/runtime" "^7.0.0" - "@types/uuid" "^3.4.4" - perf-marks "^1.5.0" - uuid "^3.1.0" - -"@atlaskit/media-picker@^57.3.0": - version "57.3.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-picker/-/media-picker-57.3.0.tgz#d585db0ec4e905dc7813a5962982d88ec6e2a5f1" - integrity sha1-1YXbDsTpBdx4E6WWKYLYjsbipfE= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/dropdown-menu" "^10.1.0" - "@atlaskit/flag" "^14.1.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/media-card" "^70.4.0" - "@atlaskit/media-client" "^13.0.0" - "@atlaskit/media-common" "^2.6.0" - "@atlaskit/media-editor" "^38.1.0" - "@atlaskit/media-ui" "^15.2.0" - "@atlaskit/modal-dialog" "^11.2.0" - "@atlaskit/outbound-auth-flow-client" "^3.1.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/textfield" "^5.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - bricks.js "^1.8.0" - dateformat "^1.0.12" - eventemitter2 "^4.1.0" - exenv "^1.2.2" - filesize "^3.2.1" - flat-files "^1.0.6" - json-ld-types "^2.1.7" - jwt-decode "^2.2.0" - lodash "^4.17.15" - perf-marks "^1.5.0" - postis "^2.2.0" - react-redux "^5.1.2" - redux "^3.7.2" - redux-devtools-extension "^2.13.2" - url "^0.11.0" - uuid "^3.1.0" - -"@atlaskit/media-ui@^15.0.0", "@atlaskit/media-ui@^15.2.0", "@atlaskit/media-ui@^15.3.0": - version "15.3.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-ui/-/media-ui-15.3.1.tgz#16ac3cf2629a5b0e85bb468f7bc81c531d2f7658" - integrity sha1-Fqw88mKaWw6Fu0aPe8gcUx0vdlg= - dependencies: - "@atlaskit/avatar" "^20.2.0" - "@atlaskit/avatar-group" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/droplist" "^11.0.0" - "@atlaskit/field-base" "^15.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/icon-file-type" "^6.2.0" - "@atlaskit/item" "^12.0.0" - "@atlaskit/lozenge" "^10.1.0" - "@atlaskit/media-common" "^2.6.0" - "@atlaskit/modal-dialog" "^11.2.0" - "@atlaskit/page" "^12.0.0" - "@atlaskit/select" "^13.2.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/textfield" "^5.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.1.0" - "@atlaskit/width-detector" "^3.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - blueimp-load-image "2.19.0" - bytes "^2.4.0" - exenv "^1.2.2" - facepaint "^1.2.1" - lodash "^4.17.15" - png-chunks-extract "^1.0.0" - react-render-image "^1.1.3" - react-video-renderer "^2.4.8" - -"@atlaskit/media-viewer@^45.7.0": - version "45.7.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/media-viewer/-/media-viewer-45.7.0.tgz#ac392fcb1273cdfc44c6b034ff1daf8bbaab09e1" - integrity sha1-rDkvyxJzzfxExrA0/x2vi7qrCeE= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/code" "^13.2.1" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/icon-file-type" "^6.2.0" - "@atlaskit/media-client" "^13.0.0" - "@atlaskit/media-common" "^2.6.0" - "@atlaskit/media-ui" "^15.0.0" - "@atlaskit/navigation-next" "^9.0.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@kenjiuno/msgreader" "^1.2.6" - deep-equal "^1.0.1" - exenv "^1.2.2" - mime "^2.4.6" - pdfjs-dist "2.0.943" - perf-marks "^1.5.0" - unzipit "^1.3.0" - -"@atlaskit/mention@^19.3.0": - version "19.3.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/mention/-/mention-19.3.1.tgz#d74045416b97168d676296333058302f0b821d6e" - integrity sha1-10BFQWuXFo1nYpYzMFgwLwuCHW4= - dependencies: - "@atlaskit/analytics-gas-types" "^5.0.0" - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/avatar" "^20.2.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/lozenge" "^10.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.1.0" - "@atlaskit/util-service-support" "^6.0.0" - "@babel/runtime" "^7.0.0" - uuid "^3.1.0" - -"@atlaskit/menu@^0.7.0": - version "0.7.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/menu/-/menu-0.7.4.tgz#6b2595ae2477fce8c651abb1fa9b0a47323693f0" - integrity sha1-ayWVriR3/OjGUaux+psKRzI2k/A= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/modal-dialog@^11.2.0": - version "11.2.8" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/modal-dialog/-/modal-dialog-11.2.8.tgz#a042c15a402e0c595b728be78a09093cce9961ef" - integrity sha1-oELBWkAuDFlbcovnigkJPM6ZYe8= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/blanket" "^11.1.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/portal" "^4.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - "@emotion/styled" "^10.0.7" - exenv "^1.2.2" - raf-schd "^2.1.0" - react-focus-lock "^1.19.1" - react-scrolllock "^5.0.1" - react-transition-group "^4.4.1" - react-uid "^2.2.0" - tiny-invariant "^0.0.3" - -"@atlaskit/motion@^0.4.0", "@atlaskit/motion@^0.4.3": - version "0.4.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/motion/-/motion-0.4.6.tgz#d4e6cb3a26152efbc1b2d6363eac18e2ce06ea60" - integrity sha1-1ObLOiYVLvvBstY2PqwY4s4G6mA= - dependencies: - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/navigation-next@^9.0.0": - version "9.0.10" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/navigation-next/-/navigation-next-9.0.10.tgz#7431afafb95fdb4b55e01a8ba84484fc1cff5e55" - integrity sha1-dDGvr7lf20tV4BqLqESE/Bz/XlU= - dependencies: - "@atlaskit/analytics-namespaced-context" "^6.0.0" - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/avatar" "^20.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/select" "^13.2.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - chromatism "^2.6.0" - deep-object-diff "^1.1.0" - emotion-theming "^10.0.7" - raf-schd "^2.1.0" - react-beautiful-dnd "^12.1.1" - react-fast-compare "^2.0.1" - react-loadable "^5.1.0" - react-node-resolver "^1.0.1" - react-transition-group "^4.4.1" - shallow-equal "^1.0.0" - unstated "^1.2.0" - -"@atlaskit/outbound-auth-flow-client@^3.1.0": - version "3.2.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/outbound-auth-flow-client/-/outbound-auth-flow-client-3.2.1.tgz#09be1bb0dd7bd71802dc35d5608a1ade260627d5" - integrity sha1-Cb4bsN171xgC3DXVYIoa3iYGJ9U= - dependencies: - "@babel/runtime" "^7.0.0" - -"@atlaskit/page@^12.0.0": - version "12.0.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/page/-/page-12.0.6.tgz#e4e6a8930fb9cd90930dde2d34ae59092103feed" - integrity sha1-5Oaokw+5zZCTDd4tNK5ZCSED/u0= - dependencies: - "@babel/runtime" "^7.0.0" - -"@atlaskit/popper@^5.0.0": - version "5.0.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/popper/-/popper-5.0.4.tgz#d2900d5b2ff97ed527448179fc2b1361e0c3c279" - integrity sha1-0pANWy/5ftUnRIF5/CsTYeDDwnk= - dependencies: - "@babel/runtime" "^7.0.0" - "@popperjs/core" "^2.4.2" - react-popper "^2.2.3" - -"@atlaskit/popup@^1.0.0", "@atlaskit/popup@^1.0.6": - version "1.0.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/popup/-/popup-1.0.6.tgz#5a9a1992222aee5cc0ad962ba5ab102db4f93aef" - integrity sha1-WpoZkiIq7lzArZYrpasQLbT5Ou8= - dependencies: - "@atlaskit/popper" "^5.0.0" - "@atlaskit/portal" "^4.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - bind-event-listener "^1.0.2" - focus-trap "^2.4.5" - -"@atlaskit/portal@^4.0.0": - version "4.0.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/portal/-/portal-4.0.5.tgz#ce4215411d3e13a4b9c2504cc639cbdaaf95d1c1" - integrity sha1-zkIVQR0+E6S5wlBMxjnL2q+V0cE= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - exenv "^1.2.2" - tiny-invariant "^0.0.3" - -"@atlaskit/profilecard@^15.0.0": - version "15.5.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/profilecard/-/profilecard-15.5.2.tgz#423c4581b3531f19cd200ef27edc00b9fe881641" - integrity sha1-QjxFgbNTHxnNIA7yftwAuf6IFkE= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/avatar" "^20.2.0" - "@atlaskit/avatar-group" "^8.0.13" - "@atlaskit/button" "^15.1.0" - "@atlaskit/icon" "^21.3.0" - "@atlaskit/lozenge" "^10.0.0" - "@atlaskit/menu" "^0.7.0" - "@atlaskit/popup" "^1.0.6" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - date-fns "^1.30.1" - es6-promise "^4.0.5" - lru-fast "^0.2.2" - -"@atlaskit/select@^13.0.0", "@atlaskit/select@^13.2.0": - version "13.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/select/-/select-13.2.0.tgz#dc6088c5802e401c04d22a83433572a71397b8ed" - integrity sha1-3GCIxYAuQBwE0iqDQzVypxOXuO0= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/spinner" "^15.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - "@popperjs/core" "^2.4.2" - "@types/react-select" "^3.1.2" - focus-trap "^2.4.5" - memoize-one "^5.1.0" - react-fast-compare "^2.0.1" - react-node-resolver "^1.0.1" - react-popper "^2.2.3" - react-select "^3.0.4" - shallow-equal "^1.0.0" - -"@atlaskit/smart-card@^15.0.0": - version "15.0.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/smart-card/-/smart-card-15.0.1.tgz#bfbdd4c93a7e1ccd1b0c106a06b3d43c6f1292d8" - integrity sha1-v73UyTp+HM0bDBBqBrPUPG8Sktg= - dependencies: - "@atlaskit/analytics-gas-types" "^5.0.0" - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/button" "^15.1.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/icon-file-type" "^6.2.0" - "@atlaskit/icon-object" "^6.2.0" - "@atlaskit/logo" "^13.1.0" - "@atlaskit/media-ui" "^15.3.0" - "@atlaskit/outbound-auth-flow-client" "^3.1.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@testing-library/react-hooks" "^1.0.4" - async-retry "^1.2.3" - bottleneck "^2.19.5" - dataloader "^1.4.0" - json-ld-types "^2.1.7" - react-lazily-render "^1.2.0" - react-loadable "^5.1.0" - redux "^3.7.2" - uuid "^3.1.0" - -"@atlaskit/spinner@^15.0.0": - version "15.0.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/spinner/-/spinner-15.0.6.tgz#3b8d95fcdba196e28ca712002f9ac3b81fc6e4f5" - integrity sha1-O42V/NuhluKMpxIAL5rDuB/G5PU= - dependencies: - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/tag@^11.0.0": - version "11.0.7" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/tag/-/tag-11.0.7.tgz#3f74bead058b2eae2aeff22445e264791a0a0889" - integrity sha1-P3S+rQWLLq4q7/IkReJkeRoKCIk= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/motion" "^0.4.3" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/task-decision@^17.0.0": - version "17.0.12" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/task-decision/-/task-decision-17.0.12.tgz#1a2c8ef42f9618b728fd2245025760fb53c84097" - integrity sha1-GiyO9C+WGLco/SJFAldg+1PIQJc= - dependencies: - "@atlaskit/analytics-namespaced-context" "^6.0.0" - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/util-service-support" "^6.0.0" - "@babel/runtime" "^7.0.0" - date-fns "^1.30.1" - uuid "^3.1.0" - -"@atlaskit/textfield@^5.0.0": - version "5.0.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/textfield/-/textfield-5.0.1.tgz#28fa035317a8f9d2056a830fd8816473e7265a84" - integrity sha1-KPoDUxeo+dIFaoMP2IFkc+cmWoQ= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - -"@atlaskit/theme@^11.0.0": - version "11.0.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/theme/-/theme-11.0.2.tgz#e657763905853e23ad385ae84e5bd49c2571863e" - integrity sha1-5ld2OQWFPiOtOFroTlvUnCVxhj4= - dependencies: - "@babel/runtime" "^7.0.0" - exenv "^1.2.2" - prop-types "^15.5.10" - -"@atlaskit/tooltip@^17.0.0", "@atlaskit/tooltip@^17.1.0": - version "17.1.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/tooltip/-/tooltip-17.1.3.tgz#b4ebe63cda445a87aca7bad738e785e68ba8fa8a" - integrity sha1-tOvmPNpEWoesp7rXOOeF5ouo+oo= - dependencies: - "@atlaskit/analytics-next" "^8.1.0" - "@atlaskit/motion" "^0.4.0" - "@atlaskit/popper" "^5.0.0" - "@atlaskit/portal" "^4.0.0" - "@atlaskit/theme" "^11.0.0" - "@babel/runtime" "^7.0.0" - "@emotion/core" "^10.0.9" - bind-event-listener "^1.0.2" - -"@atlaskit/user-picker@^7.3.0": - version "7.8.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/user-picker/-/user-picker-7.8.0.tgz#259c34ce787fbb1ddd92c1ba0276d166a7bd8f81" - integrity sha1-JZw0znh/ux3dksG6AnbRZqe9j4E= - dependencies: - "@atlaskit/analytics-next" "^8.0.0" - "@atlaskit/avatar" "^20.1.0" - "@atlaskit/field-base" "^15.0.0" - "@atlaskit/icon" "^21.4.0" - "@atlaskit/lozenge" "^10.1.0" - "@atlaskit/popper" "^5.0.0" - "@atlaskit/select" "^13.2.0" - "@atlaskit/tag" "^11.0.0" - "@atlaskit/theme" "^11.0.0" - "@atlaskit/tooltip" "^17.0.0" - "@babel/runtime" "^7.0.0" - apollo-client "^2.5.1" - graphql-tag "^2.10.1" - lodash "^4.17.15" - memoize-one "^5.1.0" - uuid "^3.1.0" - -"@atlaskit/util-service-support@^6.0.0": - version "6.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/util-service-support/-/util-service-support-6.0.3.tgz#4054ea0b9939611babb20e5de6d9a4480670aeff" - integrity sha1-QFTqC5k5YRursg5d5tmkSAZwrv8= - dependencies: - "@babel/runtime" "^7.0.0" - url "^0.11.0" - url-search-params "^0.10.0" - -"@atlaskit/width-detector@^3.0.0": - version "3.0.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@atlaskit/width-detector/-/width-detector-3.0.5.tgz#ee2a34d9ad9e1f7867de56544c1d77c6ba95e782" - integrity sha1-7io02a2eH3hn3lZUTB13xrqV54I= - dependencies: - "@babel/runtime" "^7.0.0" - raf-schd "^2.1.0" - "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -1034,7 +178,14 @@ dependencies: "@babel/types" "^7.13.12" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12": +"@babel/helper-module-imports@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" + integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== + dependencies: + "@babel/types" "^7.12.13" + +"@babel/helper-module-imports@^7.13.12": version "7.13.12" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== @@ -1117,6 +268,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@babel/helper-validator-identifier@^7.14.0": + version "7.14.0" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" + integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== + "@babel/helper-validator-option@^7.12.17": version "7.12.17" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" @@ -1820,18 +976,10 @@ pirates "^4.0.0" source-map-support "^0.5.16" -"@babel/runtime-corejs2@^7.6.3": - version "7.13.10" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@babel/runtime-corejs2/-/runtime-corejs2-7.13.10.tgz#31ba66b951cbd44569d7e70cb58a7b3da866951a" - integrity sha1-MbpmuVHL1EVp1+cMtYp7PahmlRo= - dependencies: - core-js "^2.6.5" - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.2", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.13.10" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@babel/runtime/-/runtime-7.13.10.tgz#47d42a57b6095f4468da440388fdbad8bebf0d7d" - integrity sha1-R9QqV7YJX0Ro2kQDiP262L6/DX0= +"@babel/runtime@^7.8.4": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" + integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== dependencies: regenerator-runtime "^0.13.4" @@ -1868,12 +1016,11 @@ to-fast-properties "^2.0.0" "@babel/types@^7.13.12": - version "7.13.12" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@babel/types/-/types-7.13.12.tgz#edbf99208ef48852acdff1c8a681a1e4ade580cd" - integrity sha1-7b+ZII70iFKs3/HIpoGh5K3lgM0= + version "7.14.2" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3" + integrity sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw== dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - lodash "^4.17.19" + "@babel/helper-validator-identifier" "^7.14.0" to-fast-properties "^2.0.0" "@choojs/findup@^0.2.0": @@ -1883,115 +1030,6 @@ dependencies: commander "^2.15.1" -"@compiled/react@^0.6.0": - version "0.6.8" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@compiled/react/-/react-0.6.8.tgz#788eed751893b7205388ceb530a0d021479676e6" - integrity sha1-eI7tdRiTtyBTiM61MKDQIUeWduY= - dependencies: - csstype "^3.0.7" - -"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9": - version "10.0.29" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0" - integrity sha1-h+fmT0EsBgEC1Yn+fG3AQub50eA= - dependencies: - "@emotion/sheet" "0.9.4" - "@emotion/stylis" "0.8.5" - "@emotion/utils" "0.11.3" - "@emotion/weak-memoize" "0.2.5" - -"@emotion/core@^10.0.9": - version "10.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3" - integrity sha1-yVbBNl8vJIGWAGS8uMRzLl+2EsM= - dependencies: - "@babel/runtime" "^7.5.5" - "@emotion/cache" "^10.0.27" - "@emotion/css" "^10.0.27" - "@emotion/serialize" "^0.11.15" - "@emotion/sheet" "0.9.4" - "@emotion/utils" "0.11.3" - -"@emotion/css@^10.0.27", "@emotion/css@^10.0.9": - version "10.0.27" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/css/-/css-10.0.27.tgz#3a7458198fbbebb53b01b2b87f64e5e21241e14c" - integrity sha1-OnRYGY+767U7AbK4f2Tl4hJB4Uw= - dependencies: - "@emotion/serialize" "^0.11.15" - "@emotion/utils" "0.11.3" - babel-plugin-emotion "^10.0.27" - -"@emotion/hash@0.8.0": - version "0.8.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" - integrity sha1-u7/2iXj+/b5ozLUzvIy+HRr7VBM= - -"@emotion/is-prop-valid@0.8.8": - version "0.8.8" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" - integrity sha1-2yixxDaKJZtgqXMR1qlS1P0BrBo= - dependencies: - "@emotion/memoize" "0.7.4" - -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" - integrity sha1-Gb8PWvGRSREcQNmLsM+CEZ9dnus= - -"@emotion/serialize@^0.11.15", "@emotion/serialize@^0.11.16": - version "0.11.16" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/serialize/-/serialize-0.11.16.tgz#dee05f9e96ad2fb25a5206b6d759b2d1ed3379ad" - integrity sha1-3uBfnpatL7JaUga211my0e0zea0= - dependencies: - "@emotion/hash" "0.8.0" - "@emotion/memoize" "0.7.4" - "@emotion/unitless" "0.7.5" - "@emotion/utils" "0.11.3" - csstype "^2.5.7" - -"@emotion/sheet@0.9.4": - version "0.9.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/sheet/-/sheet-0.9.4.tgz#894374bea39ec30f489bbfc3438192b9774d32e5" - integrity sha1-iUN0vqOeww9Im7/DQ4GSuXdNMuU= - -"@emotion/styled-base@^10.0.27": - version "10.0.31" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/styled-base/-/styled-base-10.0.31.tgz#940957ee0aa15c6974adc7d494ff19765a2f742a" - integrity sha1-lAlX7gqhXGl0rcfUlP8ZdlovdCo= - dependencies: - "@babel/runtime" "^7.5.5" - "@emotion/is-prop-valid" "0.8.8" - "@emotion/serialize" "^0.11.15" - "@emotion/utils" "0.11.3" - -"@emotion/styled@^10.0.7": - version "10.0.27" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/styled/-/styled-10.0.27.tgz#12cb67e91f7ad7431e1875b1d83a94b814133eaf" - integrity sha1-Estn6R9610MeGHWx2DqUuBQTPq8= - dependencies: - "@emotion/styled-base" "^10.0.27" - babel-plugin-emotion "^10.0.27" - -"@emotion/stylis@0.8.5": - version "0.8.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/stylis/-/stylis-0.8.5.tgz#deacb389bd6ee77d1e7fcaccce9e16c5c7e78e04" - integrity sha1-3qyzib1u530ef8rMzp4WxcfnjgQ= - -"@emotion/unitless@0.7.5": - version "0.7.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" - integrity sha1-dyESkcGQCnALinjPr9oxYNdpSe0= - -"@emotion/utils@0.11.3": - version "0.11.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/utils/-/utils-0.11.3.tgz#a759863867befa7e583400d322652a3f44820924" - integrity sha1-p1mGOGe++n5YNADTImUqP0SCCSQ= - -"@emotion/weak-memoize@0.2.5": - version "0.2.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" - integrity sha1-ju2YLi7m9/TkTCU+EpYpgHke/UY= - "@eslint/eslintrc@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" @@ -2097,42 +1135,6 @@ unique-filename "^1.1.1" which "^1.3.1" -"@formatjs/ecma402-abstract@1.6.3": - version "1.6.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/ecma402-abstract/-/ecma402-abstract-1.6.3.tgz#f82bd2cf3aa8aaa0f12f9339902942b8d4b96912" - integrity sha1-+CvSzzqoqqDxL5M5kClCuNS5aRI= - dependencies: - tslib "^2.1.0" - -"@formatjs/intl-displaynames@4.0.11": - version "4.0.11" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/intl-displaynames/-/intl-displaynames-4.0.11.tgz#7872625234c15f6e9ab91473a6de1ab26def1fda" - integrity sha1-eHJiUjTBX26auRRzpt4asm3vH9o= - dependencies: - "@formatjs/ecma402-abstract" "1.6.3" - tslib "^2.1.0" - -"@formatjs/intl-listformat@5.0.12": - version "5.0.12" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/intl-listformat/-/intl-listformat-5.0.12.tgz#da0daa1988bc753be915e5361b7c237a3bca314e" - integrity sha1-2g2qGYi8dTvpFeU2G3wjejvKMU4= - dependencies: - "@formatjs/ecma402-abstract" "1.6.3" - tslib "^2.1.0" - -"@formatjs/intl@1.8.4": - version "1.8.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@formatjs/intl/-/intl-1.8.4.tgz#66418092611777f050ab99ba5fe66b89dbcbd846" - integrity sha1-ZkGAkmEXd/BQq5m6X+ZridvL2EY= - dependencies: - "@formatjs/ecma402-abstract" "1.6.3" - "@formatjs/intl-displaynames" "4.0.11" - "@formatjs/intl-listformat" "5.0.12" - fast-memoize "^2.5.2" - intl-messageformat "9.5.3" - intl-messageformat-parser "6.4.3" - tslib "^2.1.0" - "@iarna/toml@^2.2.0", "@iarna/toml@^2.2.3": version "2.2.3" resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.3.tgz#f060bf6eaafae4d56a7dac618980838b0696e2ab" @@ -2146,27 +1148,6 @@ cross-spawn "^6.0.5" kotlin-compiler "^1.3.21" -"@kenjiuno/decompressrtf@^0.1.3": - version "0.1.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@kenjiuno/decompressrtf/-/decompressrtf-0.1.3.tgz#838d1bcc53d1923d9eef6d7d92e87a1801664a52" - integrity sha1-g40bzFPRkj2e7219kuh6GAFmSlI= - -"@kenjiuno/iconvlite-wrapper-with-iso2022jp@^0.1.0": - version "0.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@kenjiuno/iconvlite-wrapper-with-iso2022jp/-/iconvlite-wrapper-with-iso2022jp-0.1.0.tgz#eaf33752658bbb41308db47af1e1ecfb6cb0fa9e" - integrity sha1-6vM3UmWLu0EwjbR68eHs+2yw+p4= - dependencies: - encoding-japanese "^1.0.29" - iconv-lite "^0.4.24" - -"@kenjiuno/msgreader@^1.2.6": - version "1.5.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@kenjiuno/msgreader/-/msgreader-1.5.0.tgz#3d508037a5cce525be59a9d6c041283467ee889f" - integrity sha1-PVCAN6XM5SW+WanWwEEoNGfuiJ8= - dependencies: - "@kenjiuno/decompressrtf" "^0.1.3" - "@kenjiuno/iconvlite-wrapper-with-iso2022jp" "^0.1.0" - "@kwsites/file-exists@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" @@ -3241,11 +2222,6 @@ node-addon-api "^3.0.2" node-gyp-build "^4.2.3" -"@popperjs/core@^2.4.2": - version "2.9.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@popperjs/core/-/core-2.9.1.tgz#7f554e7368c9ab679a11f4a042ca17149d70cf12" - integrity sha1-f1VOc2jJq2eaEfSgQsoXFJ1wzxI= - "@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.0.tgz#f90ffc52a2e519f018b13b6c4da03cbff36ebed6" @@ -3360,15 +2336,6 @@ resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.2.11.tgz#34c842dcd8182810b4ab72d0d1fc34b553909e2e" integrity sha512-0FFPZrCwRDLsbJDKzs1Oo+TAqfAyxnZWZoTF6rUrfWQCYpwuKFj7tAEt/wa830fqCPE5Uk6qIo9KMkPe7Qgukg== -"@testing-library/react-hooks@^1.0.4": - version "1.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@testing-library/react-hooks/-/react-hooks-1.1.0.tgz#14b6b5c7c3d0e2cb3e55e9cbb248b44321641c64" - integrity sha1-FLa1x8PQ4ss+VenLski0QyFkHGQ= - dependencies: - "@babel/runtime" "^7.4.2" - "@types/react" "^16.8.22" - "@types/react-test-renderer" "^16.8.2" - "@textlint/ast-node-types@^4.0.3": version "4.2.5" resolved "https://registry.yarnpkg.com/@textlint/ast-node-types/-/ast-node-types-4.2.5.tgz#ae13981bc8711c98313a6ac1c361194d6bf2d39b" @@ -3426,14 +2393,6 @@ dependencies: "@types/unist" "*" -"@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1": - version "3.3.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" - integrity sha1-ESSq/lEYy1kZd66xzqrtEHDrA58= - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - "@types/http-proxy@^1.17.4": version "1.17.4" resolved "https://registry.yarnpkg.com/@types/http-proxy/-/http-proxy-1.17.4.tgz#e7c92e3dbe3e13aa799440ff42e6d3a17a9d045b" @@ -3451,11 +2410,6 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= -"@types/linkify-it@^2.0.4": - version "2.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/linkify-it/-/linkify-it-2.1.0.tgz#ea3dd64c4805597311790b61e872cbd1ed2cd806" - integrity sha1-6j3WTEgFWXMReQth6HLL0e0s2AY= - "@types/mdast@^3.0.0": version "3.0.3" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb" @@ -3488,11 +2442,6 @@ resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== -"@types/orderedmap@*": - version "1.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/orderedmap/-/orderedmap-1.0.0.tgz#807455a192bba52cbbb4517044bc82bdbfa8c596" - integrity sha1-gHRVoZK7pSy7tFFwRLyCvb+oxZY= - "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" @@ -3503,131 +2452,21 @@ resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== -"@types/prop-types@*": - version "15.7.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha1-KrDV2i5YFflLC51LldHl8kOrLKc= - -"@types/prosemirror-model@*", "@types/prosemirror-model@^1.11.0": - version "1.13.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-model/-/prosemirror-model-1.13.0.tgz#d05937e918c3cac2cf49630ccab04a65fc5fffd6" - integrity sha1-0Fk36RjDysLPSWMMyrBKZfxf/9Y= - dependencies: - "@types/orderedmap" "*" - -"@types/prosemirror-state@*", "@types/prosemirror-state@^1.2.0": - version "1.2.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-state/-/prosemirror-state-1.2.6.tgz#bb0169084239a8393b354c6fda5420fc347d6bab" - integrity sha1-uwFpCEI5qDk7NUxv2lQg/DR9a6s= - dependencies: - "@types/prosemirror-model" "*" - "@types/prosemirror-transform" "*" - "@types/prosemirror-view" "*" - -"@types/prosemirror-transform@*", "@types/prosemirror-transform@^1.1.0": - version "1.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-transform/-/prosemirror-transform-1.1.2.tgz#fe883c19a5a9f1882346a294efd09d55c6764c7a" - integrity sha1-/og8GaWp8YgjRqKU79CdVcZ2THo= - dependencies: - "@types/prosemirror-model" "*" - -"@types/prosemirror-view@*", "@types/prosemirror-view@^1.9.0": - version "1.17.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/prosemirror-view/-/prosemirror-view-1.17.1.tgz#0895df5a57ae6e68d4f3f8020d9be4ef52192980" - integrity sha1-CJXfWleubmjU8/gCDZvk71IZKYA= - dependencies: - "@types/prosemirror-model" "*" - "@types/prosemirror-state" "*" - "@types/prosemirror-transform" "*" - "@types/q@^1.5.1": version "1.5.2" resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== -"@types/react-dom@*": - version "17.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-dom/-/react-dom-17.0.3.tgz#7fdf37b8af9d6d40127137865bb3fff8871d7ee1" - integrity sha1-f983uK+dbUAScTeGW7P/+IcdfuE= - dependencies: - "@types/react" "*" - -"@types/react-redux@^7.1.16": - version "7.1.16" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-redux/-/react-redux-7.1.16.tgz#0fbd04c2500c12105494c83d4a3e45c084e3cb21" - integrity sha1-D70EwlAMEhBUlMg9Sj5FwITjyyE= - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" - -"@types/react-select@^3.1.2": - version "3.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-select/-/react-select-3.1.2.tgz#38627df4b49be9b28f800ed72b35d830369a624b" - integrity sha1-OGJ99LSb6bKPgA7XKzXYMDaaYks= - dependencies: - "@types/react" "*" - "@types/react-dom" "*" - "@types/react-transition-group" "*" - -"@types/react-test-renderer@^16.8.2": - version "16.9.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-test-renderer/-/react-test-renderer-16.9.5.tgz#edab67da470f7c3e997f58d55dcfe2643cc30a68" - integrity sha1-7atn2kcPfD6Zf1jVXc/iZDzDCmg= - dependencies: - "@types/react" "^16" - -"@types/react-transition-group@*": - version "4.4.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react-transition-group/-/react-transition-group-4.4.1.tgz#e1a3cb278df7f47f17b5082b1b3da17170bd44b1" - integrity sha1-4aPLJ4339H8XtQgrGz2hcXC9RLE= - dependencies: - "@types/react" "*" - -"@types/react@*": - version "17.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react/-/react-17.0.3.tgz#ba6e215368501ac3826951eef2904574c262cc79" - integrity sha1-um4hU2hQGsOCaVHu8pBFdMJizHk= - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/react@^16", "@types/react@^16.8.22": - version "16.14.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/react/-/react-16.14.5.tgz#2c39b5cadefaf4829818f9219e5e093325979f4d" - integrity sha1-LDm1yt769IKYGPkhnl4JMyWXn00= - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/scheduler@*": - version "0.16.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" - integrity sha1-GIRSBehv8AOFF6q3oYpiprn3EnU= - "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2", "@types/unist@^2.0.3": version "2.0.3" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== -"@types/uuid@^3.4.4": - version "3.4.9" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/uuid/-/uuid-3.4.9.tgz#fcf01997bbc9f7c09ae5f91383af076d466594e1" - integrity sha1-/PAZl7vJ98Ca5fkTg68HbUZllOE= - "@types/vscode@^1.46.0": version "1.54.0" resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.54.0.tgz#d28e3b3614054b2d6543c29412f60a986cabd9bb" integrity sha512-sHHw9HG4bTrnKhLGgmEiOS88OLO/2RQytUN4COX9Djv81zc0FSZsSiYaVyjNidDzUSpXsySKBkZ31lk2/FbdCg== -"@types/zen-observable@^0.8.0": - version "0.8.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@types/zen-observable/-/zen-observable-0.8.2.tgz#808c9fa7e4517274ed555fa158f2de4b4f468e71" - integrity sha1-gIyfp+RRcnTtVV+hWPLeS09GjnE= - "@typescript-eslint/eslint-plugin@^4.14.1": version "4.19.0" resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.19.0.tgz#56f8da9ee118fe9763af34d6a526967234f6a7f0" @@ -3781,13 +2620,6 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.4.tgz#6dc50f593bdfdeaa6183d1dbc15e2d45e7c6b8b3" integrity sha512-Swfbz31AaMX48CpFl+YmIrqOH9MgJMTrltG9e26A4ZxYx9LjGuMV+41WnxFzS3Bc9nbrc6sDPM37G6nIT8NJSg== -"@wry/equality@^0.1.2": - version "0.1.11" - resolved "https://packages.atlassian.com/api/npm/npm-remote/@wry/equality/-/equality-0.1.11.tgz#35cb156e4a96695aa81a9ecc4d03787bc17f1790" - integrity sha1-NcsVbkqWaVqoGp7MTQN4e8F/F5A= - dependencies: - tslib "^1.9.3" - "@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" @@ -3894,25 +2726,20 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv-keywords@^3.1.0: - version "3.5.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha1-MfKdpatuANHC0yms97WSlhTVAU0= - -ajv@^6.1.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== +ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: + version "6.11.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" + integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.11.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.11.0.tgz#c3607cbc8ae392d8a5a536f25b21f8e5f3f87fe9" - integrity sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA== +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -4053,48 +2880,6 @@ anymatch@~3.1.1: normalize-path "^3.0.0" picomatch "^2.0.4" -apollo-cache@1.3.5: - version "1.3.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-cache/-/apollo-cache-1.3.5.tgz#9dbebfc8dbe8fe7f97ba568a224bca2c5d81f461" - integrity sha1-nb6/yNvo/n+XulaKIkvKLF2B9GE= - dependencies: - apollo-utilities "^1.3.4" - tslib "^1.10.0" - -apollo-client@^2.5.1: - version "2.6.10" - resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-client/-/apollo-client-2.6.10.tgz#86637047b51d940c8eaa771a4ce1b02df16bea6a" - integrity sha1-hmNwR7UdlAyOqncaTOGwLfFr6mo= - dependencies: - "@types/zen-observable" "^0.8.0" - apollo-cache "1.3.5" - apollo-link "^1.0.0" - apollo-utilities "1.3.4" - symbol-observable "^1.0.2" - ts-invariant "^0.4.0" - tslib "^1.10.0" - zen-observable "^0.8.0" - -apollo-link@^1.0.0: - version "1.2.14" - resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-link/-/apollo-link-1.2.14.tgz#3feda4b47f9ebba7f4160bef8b977ba725b684d9" - integrity sha1-P+2ktH+eu6f0Fgvvi5d7pyW2hNk= - dependencies: - apollo-utilities "^1.3.0" - ts-invariant "^0.4.0" - tslib "^1.9.3" - zen-observable-ts "^0.8.21" - -apollo-utilities@1.3.4, apollo-utilities@^1.3.0, apollo-utilities@^1.3.4: - version "1.3.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/apollo-utilities/-/apollo-utilities-1.3.4.tgz#6129e438e8be201b6c55b0f13ce49d2c7175c9cf" - integrity sha1-YSnkOOi+IBtsVbDxPOSdLHF1yc8= - dependencies: - "@wry/equality" "^0.1.2" - fast-json-stable-stringify "^2.0.0" - ts-invariant "^0.4.0" - tslib "^1.10.0" - append-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" @@ -4196,11 +2981,6 @@ array-find-index@^1.0.1: resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= -array-find@^1.0.0: - version "1.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/array-find/-/array-find-1.0.0.tgz#6c8e286d11ed768327f8e62ecee87353ca3e78b8" - integrity sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg= - array-flatten@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-3.0.0.tgz#6428ca2ee52c7b823192ec600fa3ed2f157cd541" @@ -4392,13 +3172,6 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async-retry@^1.2.3: - version "1.3.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/async-retry/-/async-retry-1.3.1.tgz#139f31f8ddce50c0870b0ba558a6079684aaed55" - integrity sha1-E58x+N3OUMCHCwulWKYHloSq7VU= - dependencies: - retry "0.12.0" - async-settle@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" @@ -4468,22 +3241,6 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" -babel-plugin-emotion@^10.0.27: - version "10.2.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/babel-plugin-emotion/-/babel-plugin-emotion-10.2.2.tgz#a1fe3503cff80abfd0bdda14abd2e8e57a79d17d" - integrity sha1-of41A8/4Cr/QvdoUq9Lo5Xp50X0= - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@emotion/hash" "0.8.0" - "@emotion/memoize" "0.7.4" - "@emotion/serialize" "^0.11.16" - babel-plugin-macros "^2.0.0" - babel-plugin-syntax-jsx "^6.18.0" - convert-source-map "^1.5.0" - escape-string-regexp "^1.0.5" - find-root "^1.1.0" - source-map "^0.5.7" - babel-plugin-extract-import-names@1.6.22: version "1.6.22" resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz#de5f9a28eb12f3eb2578bf74472204e66d1a13dc" @@ -4491,15 +3248,6 @@ babel-plugin-extract-import-names@1.6.22: dependencies: "@babel/helper-plugin-utils" "7.10.4" -babel-plugin-macros@^2.0.0: - version "2.8.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha1-D5WKfMZVax5lNERl2ZERoeXhATg= - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - babel-plugin-minify-dead-code-elimination@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz#1a0c68e44be30de4976ca69ffc535e08be13683f" @@ -4534,11 +3282,6 @@ babel-plugin-polyfill-regenerator@^0.2.0: dependencies: "@babel/helper-define-polyfill-provider" "^0.2.0" -babel-plugin-syntax-jsx@^6.18.0: - version "6.18.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" - integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= - babel-plugin-transform-inline-environment-variables@^0.4.3: version "0.4.3" resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-environment-variables/-/babel-plugin-transform-inline-environment-variables-0.4.3.tgz#a3b09883353be8b5e2336e3ff1ef8a5d93f9c489" @@ -4588,11 +3331,6 @@ base64-js@^1.0.2: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== -base64-js@^1.3.1: - version "1.5.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha1-GxtEAWClv3rUC2UPCVljSBkDkwo= - base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -4651,11 +3389,6 @@ binary@~0.3.0: buffers "~0.1.1" chainsaw "~0.1.0" -bind-event-listener@^1.0.2: - version "1.0.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/bind-event-listener/-/bind-event-listener-1.0.2.tgz#3af1ab15f64aff0b95ba38e0e9d7d2c78b85dc0b" - integrity sha1-OvGrFfZK/wuVujjg6dfSx4uF3As= - bindings@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" @@ -4682,11 +3415,6 @@ bluebird@~3.4.1: resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz#f72d760be09b7f76d08ed8fae98b289a8d05fab3" integrity sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM= -blueimp-load-image@2.19.0: - version "2.19.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/blueimp-load-image/-/blueimp-load-image-2.19.0.tgz#b61eeac0063f371c710fdb78aebbc4d7d34f8e2e" - integrity sha1-th7qwAY/NxxxD9t4rrvE19NPji4= - bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: version "4.11.8" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" @@ -4697,11 +3425,6 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= -bottleneck@^2.19.5: - version "2.19.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/bottleneck/-/bottleneck-2.19.5.tgz#5df0b90f59fd47656ebe63c78a98419205cadd91" - integrity sha1-XfC5D1n9R2VuvmPHiphBkgXK3ZE= - boundary@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/boundary/-/boundary-1.0.1.tgz#4d67dc2602c0cc16dd9bce7ebf87e948290f5812" @@ -4738,13 +3461,6 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -bricks.js@^1.8.0: - version "1.8.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/bricks.js/-/bricks.js-1.8.0.tgz#8fdeb3c0226af251f4d5727a7df7f9ac0092b4b2" - integrity sha1-j96zwCJq8lH01XJ6fff5rACStLI= - dependencies: - knot.js "^1.1.5" - brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -4866,14 +3582,6 @@ buffer-xor@^1.0.3: resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= -buffer@^5.0.3: - version "5.7.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA= - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - buffer@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.5.0.tgz#9c3caa3d623c33dd1c7ef584b89b88bf9c9bc1ce" @@ -4912,11 +3620,6 @@ bytes@3.0.0: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= -bytes@^2.4.0: - version "2.5.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a" - integrity sha1-TJQj6i0lLCcMQbK97+/5u2tiwGo= - cacache@^12.0.0, cacache@^12.0.3: version "12.0.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" @@ -5037,11 +3740,6 @@ camelcase@^6.0.0, camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -camelize@^1.0.0: - version "1.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" - integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= - caniuse-api@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" @@ -5198,11 +3896,6 @@ chownr@^1.1.1, chownr@^1.1.2: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== -chromatism@^2.6.0: - version "2.6.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/chromatism/-/chromatism-2.6.0.tgz#c50ba715565bc9febd87b57a351850e1e51376a4" - integrity sha1-xQunFVZbyf69h7V6NRhQ4eUTdqQ= - chrome-trace-event@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" @@ -5233,11 +3926,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@^2.2.5: - version "2.2.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha1-Q5Nb/90pHzJtrQogUwmzjQD2UM4= - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -5285,15 +3973,6 @@ clipanion@^2.6.2: resolved "https://packages.atlassian.com/api/npm/npm-remote/clipanion/-/clipanion-2.6.2.tgz#820e7440812052442455b248f927b187ed732f71" integrity sha1-gg50QIEgUkQkVbJI+Sexh+1zL3E= -clipboard@^2.0.0: - version "2.0.8" - resolved "https://packages.atlassian.com/api/npm/npm-remote/clipboard/-/clipboard-2.0.8.tgz#ffc6c103dd2967a83005f3f61976aa4655a4cdba" - integrity sha1-/8bBA90pZ6gwBfP2GXaqRlWkzbo= - dependencies: - good-listener "^1.2.2" - select "^1.1.2" - tiny-emitter "^2.0.0" - cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -5359,11 +4038,6 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" -clsx@^1.0.4: - version "1.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" - integrity sha1-mLMTT5q73yOyZjSRrOE8XAOnMYg= - coa@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" @@ -5757,16 +4431,6 @@ core-js-compat@^3.9.0, core-js-compat@^3.9.1: browserslist "^4.16.3" semver "7.0.0" -core-js@^1.0.0: - version "1.2.7" - resolved "https://packages.atlassian.com/api/npm/npm-remote/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= - -core-js@^2.6.5: - version "2.6.12" - resolved "https://packages.atlassian.com/api/npm/npm-remote/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" - integrity sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw= - core-js@^3.2.1: version "3.6.4" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.4.tgz#440a83536b458114b9cb2ac1580ba377dc470647" @@ -5809,11 +4473,6 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -crc-32@^0.3.0: - version "0.3.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/crc-32/-/crc-32-0.3.0.tgz#6a3d3687f5baec41f7e9b99fe1953a2e5d19775e" - integrity sha1-aj02h/W67EH36bmf4ZU6Ll0Zd14= - create-ecdh@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" @@ -5845,11 +4504,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-context@^0.1.5: - version "0.1.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/create-react-context/-/create-react-context-0.1.6.tgz#0f425931d907741127acc6e31acb4f9015dd9fdc" - integrity sha1-D0JZMdkHdBEnrMbjGstPkBXdn9w= - cross-env@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.0.tgz#5a3b2ddce51ec713ea58f2fb79ce22e65b4f5479" @@ -5904,18 +4558,6 @@ crypto-random-string@^1.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= -css-box-model@^1.2.0: - version "1.2.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/css-box-model/-/css-box-model-1.2.1.tgz#59951d3b81fd6b2074a62d49444415b0d2b4d7c1" - integrity sha1-WZUdO4H9ayB0pi1JREQVsNK018E= - dependencies: - tiny-invariant "^1.0.6" - -css-color-keywords@^1.0.0: - version "1.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" - integrity sha1-/qJhbcZ2spYmhrOvjb2+GAskTgU= - css-color-names@0.0.4, css-color-names@^0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" @@ -5977,15 +4619,6 @@ css-selector-tokenizer@^0.7.0: fastparse "^1.1.1" regexpu-core "^1.0.0" -css-to-react-native@^2.0.3: - version "2.3.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/css-to-react-native/-/css-to-react-native-2.3.2.tgz#e75e2f8f7aa385b4c3611c52b074b70a002f2e7d" - integrity sha1-514vj3qjhbTDYRxSsHS3CgAvLn0= - dependencies: - camelize "^1.0.0" - css-color-keywords "^1.0.0" - postcss-value-parser "^3.3.0" - css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" @@ -6128,21 +4761,11 @@ cssstyle@^2.0.0: dependencies: cssom "~0.3.6" -csstype@^2.5.7: - version "2.6.16" - resolved "https://packages.atlassian.com/api/npm/npm-remote/csstype/-/csstype-2.6.16.tgz#544d69f547013b85a40d15bff75db38f34fe9c39" - integrity sha1-VE1p9UcBO4WkDRW/912zjzT+nDk= - csstype@^2.6.8: version "2.6.11" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.11.tgz#452f4d024149ecf260a852b025e36562a253ffc5" integrity sha512-l8YyEC9NBkSm783PFTvh0FmJy7s5pFKrDp49ZL7zBGX3fWkO+N4EEyan1qqp8cwPLDcD0OSdyY6hAMoxp34JFw== -csstype@^3.0.2, csstype@^3.0.7: - version "3.0.7" - resolved "https://packages.atlassian.com/api/npm/npm-remote/csstype/-/csstype-3.0.7.tgz#2a5fb75e1015e84dd15692f71e89a1450290950b" - integrity sha1-Kl+3XhAV6E3RVpL3HomhRQKQlQs= - currently-unhandled@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" @@ -6265,24 +4888,6 @@ data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -dataloader@^1.4.0: - version "1.4.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" - integrity sha1-vKEdhn9dPxue2fc3vRWXDGXf9cg= - -date-fns@^1.30.1: - version "1.30.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" - integrity sha1-LnG/CxGRU9u0zE6I2epaz7UNwFw= - -dateformat@^1.0.12: - version "1.0.12" - resolved "https://packages.atlassian.com/api/npm/npm-remote/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" - integrity sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk= - dependencies: - get-stdin "^4.0.1" - meow "^3.3.0" - dateformat@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" @@ -6378,18 +4983,6 @@ dedent@^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.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o= - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -6400,11 +4993,6 @@ deep-is@^0.1.3, deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deep-object-diff@^1.1.0: - version "1.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/deep-object-diff/-/deep-object-diff-1.1.0.tgz#d6fabf476c2ed1751fc94d5ca693d2ed8c18bc5a" - integrity sha1-1vq/R2wu0XUfyU1cppPS7YwYvFo= - default-compare@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" @@ -6458,11 +5046,6 @@ delayed-stream@~1.0.0: resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= -delegate@^3.1.2: - version "3.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166" - integrity sha1-tmtxwxWFIuirV0T3INjKDCr1kWY= - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -6583,14 +5166,6 @@ doctypes@^1.1.0: resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk= -dom-helpers@^5.0.1, dom-helpers@^5.1.3: - version "5.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/dom-helpers/-/dom-helpers-5.2.0.tgz#57fd054c5f8f34c52a3eeffdb7e7e93cd357d95b" - integrity sha1-V/0FTF+PNMUqPu/9t+fpPNNX2Vs= - dependencies: - "@babel/runtime" "^7.8.7" - csstype "^3.0.2" - dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -6795,20 +5370,6 @@ emojis-list@^2.0.0: resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha1-VXBmIEatKeLpFucariYKvf9Pang= - -emotion-theming@^10.0.7: - version "10.0.27" - resolved "https://packages.atlassian.com/api/npm/npm-remote/emotion-theming/-/emotion-theming-10.0.27.tgz#1887baaec15199862c89b1b984b79806f2b9ab10" - integrity sha1-GIe6rsFRmYYsibG5hLeYBvK5qxA= - dependencies: - "@babel/runtime" "^7.5.5" - "@emotion/weak-memoize" "0.2.5" - hoist-non-react-statics "^3.3.0" - emphasize@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/emphasize/-/emphasize-4.2.0.tgz#6b6fdc4d212cb7eafea1c7cdd595dfd6cfc508d9" @@ -6823,11 +5384,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding-japanese@^1.0.29: - version "1.0.30" - resolved "https://packages.atlassian.com/api/npm/npm-remote/encoding-japanese/-/encoding-japanese-1.0.30.tgz#537c4d62881767925d601acb4c79fb14db81703a" - integrity sha1-U3xNYogXZ5JdYBrLTHn7FNuBcDo= - encoding@^0.1.11: version "0.1.12" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" @@ -6957,7 +5513,7 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= -es6-promise@^4.0.3, es6-promise@^4.0.5: +es6-promise@^4.0.3: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== @@ -7358,11 +5914,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eventemitter2@^4.1.0: - version "4.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/eventemitter2/-/eventemitter2-4.1.2.tgz#0e1a8477af821a6ef3995b311bf74c23a5247f15" - integrity sha1-DhqEd6+CGm7zmVsxG/dMI6UkfxU= - eventemitter3@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" @@ -7419,11 +5970,6 @@ execa@^4.0.1: signal-exit "^3.0.2" strip-final-newline "^2.0.0" -exenv@^1.2.2: - version "1.2.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= - expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -7509,11 +6055,6 @@ extsprintf@^1.2.0: resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= -facepaint@^1.2.1: - version "1.2.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/facepaint/-/facepaint-1.2.1.tgz#89929e601b15227278c53c516f764fc462b09c33" - integrity sha1-iZKeYBsVInJ4xTxRb3ZPxGKwnDM= - fancy-log@^1.3.2: version "1.3.3" resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7" @@ -7574,11 +6115,6 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= -fast-memoize@^2.5.2: - version "2.5.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" - integrity sha1-eeO7ak7IZ+pAug5xRoFvbNzptX4= - fast-url-parser@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" @@ -7610,19 +6146,6 @@ fault@^1.0.0, fault@^1.0.1: dependencies: format "^0.2.0" -fbjs@^0.8.16: - version "0.8.17" - resolved "https://packages.atlassian.com/api/npm/npm-remote/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" - integrity sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90= - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.18" - fclone@^1.0.11: version "1.0.11" resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640" @@ -7678,11 +6201,6 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -filesize@^3.2.1: - version "3.6.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317" - integrity sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc= - filesize@^6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00" @@ -7735,11 +6253,6 @@ find-elm-dependencies@^2.0.4: firstline "^1.2.0" lodash "^4.17.19" -find-root@^1.1.0: - version "1.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" - integrity sha1-q8/Iunb3CMQql7PWhbfpRQv7nOQ= - find-up@5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" @@ -7828,11 +6341,6 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" -flat-files@^1.0.6: - version "1.0.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/flat-files/-/flat-files-1.0.6.tgz#52168b0601c532383a2d3dc7246e8a36fd02c3b5" - integrity sha1-UhaLBgHFMjg6LT3HJG6KNv0Cw7U= - flat@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" @@ -7866,18 +6374,6 @@ flush-write-stream@^1.0.0, flush-write-stream@^1.0.2: inherits "^2.0.3" readable-stream "^2.3.6" -focus-lock@^0.6.3: - version "0.6.8" - resolved "https://packages.atlassian.com/api/npm/npm-remote/focus-lock/-/focus-lock-0.6.8.tgz#61985fadfa92f02f2ee1d90bc738efaf7f3c9f46" - integrity sha1-YZhfrfqS8C8u4dkLxzjvr388n0Y= - -focus-trap@^2.4.5: - version "2.4.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/focus-trap/-/focus-trap-2.4.6.tgz#332b475b317cec6a4a129f5307ce7ebc0da90b40" - integrity sha1-MytHWzF87GpKEp9TB85+vA2pC0A= - dependencies: - tabbable "^1.0.3" - follow-redirects@^1.0.0: version "1.9.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.9.0.tgz#8d5bcdc65b7108fe1508649c79c12d732dcedb4f" @@ -7928,11 +6424,6 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" -free-style@2.5.1: - version "2.5.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/free-style/-/free-style-2.5.1.tgz#5e3f684c470d3bba7e4dbb43524e0a08917e873c" - integrity sha1-Xj9oTEcNO7p+TbtDUk4KCJF+hzw= - from2@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" @@ -8461,13 +6952,6 @@ glslify-deps@^1.3.1: map-limit "0.0.1" resolve "^1.0.0" -good-listener@^1.2.2: - version "1.2.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50" - integrity sha1-1TswzfkxPf+33JoNR3CWqm0UXFA= - dependencies: - delegate "^3.1.2" - graceful-fs@^4.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: version "4.2.4" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" @@ -8480,11 +6964,6 @@ graphql-import-macro@^1.0.0: dependencies: graphql "^15.0.0" -graphql-tag@^2.10.1: - version "2.11.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/graphql-tag/-/graphql-tag-2.11.0.tgz#1deb53a01c46a7eb401d6cb59dec86fa1cccbffd" - integrity sha1-HetToBxGp+tAHWy1neyG+hzMv/0= - graphql@^15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.0.0.tgz#042a5eb5e2506a2e2111ce41eb446a8e570b8be9" @@ -8746,11 +7225,6 @@ hex-color-regex@^1.1.0: resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== -highlight.js@^10.4.1, highlight.js@~10.7.0: - version "10.7.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/highlight.js/-/highlight.js-10.7.1.tgz#a8ec4152db24ea630c90927d6cae2a45f8ecb955" - integrity sha1-qOxBUtsk6mMMkJJ9bK4qRfjsuVU= - highlight.js@~10.4.0: version "10.4.1" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.4.1.tgz#d48fbcf4a9971c4361b3f95f302747afe19dbad0" @@ -8765,18 +7239,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^2.5.0: - version "2.5.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" - integrity sha1-xZA89AnA39kI84jmGdhrnBF0y0c= - -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha1-7OCsr3HWLClpwuxZ/v9CpLGoW0U= - dependencies: - react-is "^16.7.0" - homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -8977,11 +7439,6 @@ icss-utils@^4.0.0, icss-utils@^4.1.1: dependencies: postcss "^7.0.14" -ieee754@^1.1.13: - version "1.2.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= - ieee754@^1.1.4: version "1.1.13" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" @@ -9196,30 +7653,6 @@ interpret@^1.1.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== -intl-messageformat-parser@6.4.3: - version "6.4.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/intl-messageformat-parser/-/intl-messageformat-parser-6.4.3.tgz#4326201256c52907f342c7bb058208113c3c7f95" - integrity sha1-QyYgElbFKQfzQse7BYIIETw8f5U= - dependencies: - "@formatjs/ecma402-abstract" "1.6.3" - tslib "^2.1.0" - -intl-messageformat@9.5.3: - version "9.5.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/intl-messageformat/-/intl-messageformat-9.5.3.tgz#cb89a91cc2da875c5c824d374ba8209fac63a3ca" - integrity sha1-y4mpHMLah1xcgk03S6ggn6xjo8o= - dependencies: - fast-memoize "^2.5.2" - intl-messageformat-parser "6.4.3" - tslib "^2.1.0" - -invariant@^2.2.4: - version "2.2.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY= - dependencies: - loose-envify "^1.0.0" - invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" @@ -9565,7 +7998,7 @@ is-regex@^1.0.3, is-regex@^1.0.5: dependencies: has "^1.0.3" -is-regex@^1.0.4, is-regex@^1.1.1: +is-regex@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== @@ -9597,7 +8030,7 @@ is-ssh@^1.3.0: dependencies: protocols "^1.1.0" -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -9724,14 +8157,6 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -9742,11 +8167,6 @@ jju@^1.4.0: resolved "https://packages.atlassian.com/api/npm/npm-remote/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= -js-search@^1.3.7: - version "1.4.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/js-search/-/js-search-1.4.3.tgz#23a86d7e064ca53a473930edc48615b6b1c1954a" - integrity sha1-I6htfgZMpTpHOTDtxIYVtrHBlUo= - js-stringify@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" @@ -9851,13 +8271,6 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-ld-types@^2.1.7: - version "2.2.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/json-ld-types/-/json-ld-types-2.2.2.tgz#fb9be03628ee256aefd664a89fcc5f44bea50e37" - integrity sha1-+5vgNijuJWrv1mSon8xfRL6lDjc= - dependencies: - schema-dts "^0.5.1" - json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -9962,11 +8375,6 @@ just-extend@^4.0.2: resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== -jwt-decode@^2.2.0: - version "2.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/jwt-decode/-/jwt-decode-2.2.0.tgz#7d86bd56679f58ce6a84704a657dd392bba81a79" - integrity sha1-fYa9VmefWM5qhHBKZX3TkruoGnk= - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" @@ -9991,11 +8399,6 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -knot.js@^1.1.5: - version "1.1.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/knot.js/-/knot.js-1.1.5.tgz#28e72522f703f50fe98812fde224dd72728fef5d" - integrity sha1-KOclIvcD9Q/piBL94iTdcnKP710= - kotlin-compiler@^1.3.21: version "1.3.61" resolved "https://registry.yarnpkg.com/kotlin-compiler/-/kotlin-compiler-1.3.61.tgz#969b1cdab8ed45cc43d84505a12ce030577a94e2" @@ -10110,13 +8513,6 @@ 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.3: - version "2.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" - integrity sha1-47VGl+eL+RXHCjis14/QngBYsc8= - dependencies: - uc.micro "^1.0.1" - lint-staged@^10.2.11: version "10.2.11" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-10.2.11.tgz#713c80877f2dc8b609b05bc59020234e766c9720" @@ -10199,15 +8595,6 @@ load-json-file@^5.3.0: strip-bom "^3.0.0" type-fest "^0.3.0" -loader-utils@^1.0.0: - version "1.4.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha1-xXm140yzSxp07cbB+za/o3HVphM= - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - loader-utils@^1.1.0: version "1.2.3" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" @@ -10240,11 +8627,6 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lodash-es@^4.2.1: - version "4.17.21" - resolved "https://packages.atlassian.com/api/npm/npm-remote/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha1-Q+YmxG5lkbd1C+srUBFzkMYJ4+4= - lodash._reinterpolate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" @@ -10354,7 +8736,7 @@ lolex@^5.0.1: dependencies: "@sinonjs/commons" "^1.7.0" -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -10369,14 +8751,6 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lowlight@^1.17.0: - version "1.20.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888" - integrity sha1-3bGX0zRirQ2TvxnRe2wwGqOUGIg= - dependencies: - fault "^1.0.0" - highlight.js "~10.7.0" - lowlight@~1.17.0: version "1.17.0" resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.17.0.tgz#a1143b2fba8239df8cd5893f9fe97aaf8465af4a" @@ -10399,11 +8773,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-fast@^0.2.2: - version "0.2.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/lru-fast/-/lru-fast-0.2.2.tgz#30c233304cdd9b694b75141d897c52d4d413796c" - integrity sha1-MMIzMEzdm2lLdRQdiXxS1NQTeWw= - macos-release@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" @@ -10560,11 +8929,6 @@ mdurl@^1.0.0: resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= -memoize-one@^5.0.0, memoize-one@^5.1.0, memoize-one@^5.1.1: - version "5.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" - integrity sha1-BHtuMZm1COrsA1BN5xIpuOsddcA= - meow@^3.3.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -10709,11 +9073,6 @@ mime@^2.4.4: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== -mime@^2.4.6: - version "2.5.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4= - mimic-fn@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" @@ -11108,11 +9467,6 @@ node-elm-compiler@^5.0.5: lodash "^4.17.19" temp "^0.9.0" -node-ensure@^0.0.0: - version "0.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/node-ensure/-/node-ensure-0.0.0.tgz#ecae764150de99861ec5c810fd5d096b183932a7" - integrity sha1-7K52QVDemYYexcgQ/V0Jaxg5Mqc= - node-fetch-npm@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7" @@ -11122,14 +9476,6 @@ node-fetch-npm@^2.0.2: json-parse-better-errors "^1.0.0" safe-buffer "^5.1.1" -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha1-mA9vcthSEaU0fGsrwYxbhMPrR+8= - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-fetch@^2.2.0, node-fetch@^2.5.0, node-fetch@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" @@ -11567,11 +9913,6 @@ ordered-read-streams@^1.0.0: dependencies: readable-stream "^2.0.1" -orderedmap@^1.1.0: - version "1.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/orderedmap/-/orderedmap-1.1.1.tgz#c618e77611b3b21d0fe3edc92586265e0059c789" - integrity sha1-xhjndhGzsh0P4+3JJYYmXgBZx4k= - os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -11974,21 +10315,6 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -pdfjs-dist@2.0.943: - version "2.0.943" - resolved "https://packages.atlassian.com/api/npm/npm-remote/pdfjs-dist/-/pdfjs-dist-2.0.943.tgz#32fb9a2d863df5a1d89521a0b3cd900c16e7edde" - integrity sha1-MvuaLYY99aHYlSGgs82QDBbn7d4= - dependencies: - node-ensure "^0.0.0" - worker-loader "^2.0.0" - -perf-marks@^1.5.0: - version "1.14.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/perf-marks/-/perf-marks-1.14.1.tgz#2fabff7b3c6e87babed137389b85fcaac0918bc9" - integrity sha1-L6v/ezxuh7q+0Tc4m4X8qsCRi8k= - dependencies: - tslib "^2.1.0" - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -12074,18 +10400,6 @@ pn@^1.1.0: resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== -png-chunks-extract@^1.0.0: - version "1.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/png-chunks-extract/-/png-chunks-extract-1.0.0.tgz#fad4a905e66652197351c65e35b92c64311e472d" - integrity sha1-+tSpBeZmUhlzUcZeNbksZDEeRy0= - dependencies: - crc-32 "^0.3.0" - -popper.js@^1.14.1: - version "1.16.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b" - integrity sha1-KiI8s9x7YhPXQOQDcr5A3kPmWxs= - 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" @@ -12472,7 +10786,7 @@ postcss-unique-selectors@^4.0.1: postcss "^7.0.0" uniqs "^2.0.0" -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: +postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== @@ -12600,11 +10914,6 @@ posthtml@^0.15.1: posthtml-parser "^0.6.0" posthtml-render "^1.2.3" -postis@^2.2.0: - version "2.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/postis/-/postis-2.2.0.tgz#dc5e323765985ddfdcbfdafc3141a9569aef75a9" - integrity sha1-3F4yN2WYXd/cv9r8MUGpVprvdak= - preact@^10.5.9: version "10.5.9" resolved "https://registry.yarnpkg.com/preact/-/preact-10.5.9.tgz#8caba9288b4db1d593be2317467f8735e43cda0b" @@ -12651,13 +10960,6 @@ pretty-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE= -prismjs@^1.22.0, prismjs@~1.23.0: - version "1.23.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33" - integrity sha1-07OWf31yRAaQSXZSqdQP8EYGfzM= - optionalDependencies: - clipboard "^2.0.0" - private@^0.1.8: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -12705,7 +11007,7 @@ promzard@^0.3.0: dependencies: read "1" -prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.5.8, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -12721,72 +11023,6 @@ property-information@^5.0.0, property-information@^5.3.0: dependencies: xtend "^4.0.1" -prosemirror-keymap@1.1.4: - version "1.1.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz#8b481bf8389a5ac40d38dbd67ec3da2c7eac6a6d" - integrity sha1-i0gb+DiaWsQNONvWfsPaLH6sam0= - dependencies: - prosemirror-state "^1.0.0" - w3c-keyname "^2.2.0" - -prosemirror-model@1.11.0: - version "1.11.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-model/-/prosemirror-model-1.11.0.tgz#dc36cdb3ad6442b9f6325c7d89170c624f9dc520" - integrity sha1-3DbNs61kQrn2Mlx9iRcMYk+dxSA= - dependencies: - orderedmap "^1.1.0" - -prosemirror-model@^1.0.0, prosemirror-model@^1.1.0: - version "1.13.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-model/-/prosemirror-model-1.13.3.tgz#3ccfde73b9c9e706933c72bdf7462906509ff1c9" - integrity sha1-PM/ec7nJ5waTPHK990YpBlCf8ck= - dependencies: - orderedmap "^1.1.0" - -prosemirror-state@1.3.3: - version "1.3.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-state/-/prosemirror-state-1.3.3.tgz#b2862866b14dec2b3ae1ab18229f2bd337651a2c" - integrity sha1-soYoZrFN7Cs64asYIp8r0zdlGiw= - dependencies: - prosemirror-model "^1.0.0" - prosemirror-transform "^1.0.0" - -prosemirror-state@^1.0.0: - version "1.3.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-state/-/prosemirror-state-1.3.4.tgz#4c6b52628216e753fc901c6d2bfd84ce109e8952" - integrity sha1-TGtSYoIW51P8kBxtK/2EzhCeiVI= - dependencies: - prosemirror-model "^1.0.0" - prosemirror-transform "^1.0.0" - -prosemirror-transform@1.2.8: - version "1.2.8" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-transform/-/prosemirror-transform-1.2.8.tgz#4b86544fa43637fe381549fb7b019f4fb71fe65c" - integrity sha1-S4ZUT6Q2N/44FUn7ewGfT7cf5lw= - dependencies: - prosemirror-model "^1.0.0" - -prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0: - version "1.2.12" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-transform/-/prosemirror-transform-1.2.12.tgz#4398b568faf75a1540fbf5c659ca436a8657ed6f" - integrity sha1-Q5i1aPr3WhVA+/XGWcpDaoZX7W8= - dependencies: - prosemirror-model "^1.0.0" - -prosemirror-utils@^1.0.0-0: - version "1.0.0-0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-utils/-/prosemirror-utils-1.0.0-0.tgz#7dfd112abf69001508a76200f9c8660fda7fa85f" - integrity sha1-ff0RKr9pABUIp2IA+chmD9p/qF8= - -prosemirror-view@1.15.4: - version "1.15.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/prosemirror-view/-/prosemirror-view-1.15.4.tgz#69a6217e3557dd1eb34a6d45caed1c3ee8e05b12" - integrity sha1-aaYhfjVX3R6zSm1Fyu0cPujgWxI= - dependencies: - prosemirror-model "^1.1.0" - prosemirror-state "^1.0.0" - prosemirror-transform "^1.1.0" - proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -13002,15 +11238,6 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@^5.1.0: - version "5.1.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s= - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - querystring-es3@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" @@ -13026,16 +11253,6 @@ quick-lru@^1.0.0: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= -raf-schd@^2.1.0: - version "2.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/raf-schd/-/raf-schd-2.1.2.tgz#ec622b5167f2912089f054dc03ebd5bcf33c8f62" - integrity sha1-7GIrUWfykSCJ8FTcA+vVvPM8j2I= - -raf-schd@^4.0.2: - version "4.0.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/raf-schd/-/raf-schd-4.0.2.tgz#bd44c708188f2e84c810bf55fcea9231bcaed8a0" - integrity sha1-vUTHCBiPLoTIEL9V/OqSMbyu2KA= - ramda@^0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.27.1.tgz#66fc2df3ef873874ffc2da6aa8984658abacf5c9" @@ -13076,31 +11293,6 @@ rc@^1.2.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -react-addons-text-content@^0.0.4: - version "0.0.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-addons-text-content/-/react-addons-text-content-0.0.4.tgz#d2e259fdc951d1d8906c08902002108dce8792e5" - integrity sha1-0uJZ/clR0diQbAiQIAIQjc6HkuU= - -react-beautiful-dnd@^12.1.1: - version "12.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-beautiful-dnd/-/react-beautiful-dnd-12.2.0.tgz#e5f6222f9e7934c6ed4ee09024547f9e353ae423" - integrity sha1-5fYiL555NMbtTuCQJFR/njU65CM= - dependencies: - "@babel/runtime-corejs2" "^7.6.3" - css-box-model "^1.2.0" - memoize-one "^5.1.1" - raf-schd "^4.0.2" - react-redux "^7.1.1" - redux "^4.0.4" - use-memo-one "^1.1.1" - -react-clientside-effect@^1.2.0: - version "1.2.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-clientside-effect/-/react-clientside-effect-1.2.5.tgz#e2c4dc3c9ee109f642fac4f5b6e9bf5bcd2219a3" - integrity sha1-4sTcPJ7hCfZC+sT1tum/W80iGaM= - dependencies: - "@babel/runtime" "^7.12.13" - react-dom@^16.11.0, react-dom@^16.6.3: version "16.12.0" resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.12.0.tgz#0da4b714b8d13c2038c9396b54a92baea633fe11" @@ -13111,191 +11303,21 @@ react-dom@^16.11.0, react-dom@^16.6.3: prop-types "^15.6.2" scheduler "^0.18.0" -react-fast-compare@^2.0.0, react-fast-compare@^2.0.1: +react-fast-compare@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== -react-fast-compare@^3.0.1: - version "3.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb" - integrity sha1-ZBqdqBtqYyDycOiXJPtFoLOeQ7s= - -react-focus-lock@^1.19.1: - version "1.19.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-focus-lock/-/react-focus-lock-1.19.1.tgz#2f3429793edaefe2d077121f973ce5a3c7a0651a" - integrity sha1-LzQpeT7a7+LQdxIflzzlo8egZRo= - dependencies: - "@babel/runtime" "^7.0.0" - focus-lock "^0.6.3" - prop-types "^15.6.2" - react-clientside-effect "^1.2.0" - -react-input-autosize@^3.0.0: - version "3.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85" - integrity sha1-a1iYx5DUR41pQgtVRB/MMdXFCoU= - dependencies: - prop-types "^15.5.8" - -react-intl@^5.13.5: - version "5.13.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-intl/-/react-intl-5.13.5.tgz#32bb74120b67950fe63329db58aa83cfac73f6c8" - integrity sha1-Mrt0EgtnlQ/mMynbWKqDz6xz9sg= - dependencies: - "@formatjs/ecma402-abstract" "1.6.3" - "@formatjs/intl" "1.8.4" - "@formatjs/intl-displaynames" "4.0.11" - "@formatjs/intl-listformat" "5.0.12" - "@types/hoist-non-react-statics" "^3.3.1" - hoist-non-react-statics "^3.3.2" - intl-messageformat "9.5.3" - intl-messageformat-parser "6.4.3" - tslib "^2.1.0" - -react-is@^16.13.1, react-is@^16.3.1, react-is@^16.6.0, react-is@^16.7.0: - version "16.13.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha1-eJcppNw23imZ3BVt1sHZwYzqVqQ= - react-is@^16.8.1: version "16.12.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.12.0.tgz#2cc0fe0fba742d97fd527c42a13bec4eeb06241c" integrity sha512-rPCkf/mWBtKc97aLL9/txD8DZdemK0vkA3JMLShjlJB3Pj3s+lpf1KaBzMfQrAmhMQB0n1cU/SUGgKKBCe837Q== -react-lazily-render@^1.2.0: - version "1.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-lazily-render/-/react-lazily-render-1.2.0.tgz#732464b8f227eb58756df50549157c44c1c18c57" - integrity sha1-cyRkuPIn61h1bfUFSRV8RMHBjFc= - dependencies: - scrollparent "^2.0.1" - -react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: - version "3.0.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha1-TxonOv38jzSIqMUWv9p4+HI1I2I= - -react-loadable@^5.1.0: - version "5.5.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-loadable/-/react-loadable-5.5.0.tgz#582251679d3da86c32aae2c8e689c59f1196d8c4" - integrity sha1-WCJRZ509qGwyquLI5onFnxGW2MQ= - dependencies: - prop-types "^15.5.0" - -react-node-resolver@^1.0.1: - version "1.0.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-node-resolver/-/react-node-resolver-1.0.1.tgz#1798a729c0e218bf2f0e8ddf79c550d4af61d83a" - integrity sha1-F5inKcDiGL8vDo3fecVQ1K9h2Do= - -react-popper@^2.2.3: - version "2.2.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96" - integrity sha1-EhTvPOyGMwoXFnGk+8vutl7ljpY= - dependencies: - react-fast-compare "^3.0.1" - warning "^4.0.2" - -react-redux@^5.1.2: - version "5.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-redux/-/react-redux-5.1.2.tgz#b19cf9e21d694422727bf798e934a916c4080f57" - integrity sha1-sZz54h1pRCJye/eY6TSpFsQID1c= - dependencies: - "@babel/runtime" "^7.1.2" - hoist-non-react-statics "^3.3.0" - invariant "^2.2.4" - loose-envify "^1.1.0" - prop-types "^15.6.1" - react-is "^16.6.0" - react-lifecycles-compat "^3.0.0" - -react-redux@^7.1.1: - version "7.2.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-redux/-/react-redux-7.2.3.tgz#4c084618600bb199012687da9e42123cca3f0be9" - integrity sha1-TAhGGGALsZkBJofankISPMo/C+k= - dependencies: - "@babel/runtime" "^7.12.1" - "@types/react-redux" "^7.1.16" - hoist-non-react-statics "^3.3.2" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-is "^16.13.1" - react-refresh@^0.9.0: version "0.9.0" resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.9.0.tgz#71863337adc3e5c2f8a6bfddd12ae3bfe32aafbf" integrity sha512-Gvzk7OZpiqKSkxsQvO/mbTN1poglhmAV7gR/DdIrRrSMXraRQQlfikRJOr3Nb9GTMPC5kof948Zy6jJZIFtDvQ== -react-render-image@^1.1.3: - version "1.1.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-render-image/-/react-render-image-1.1.3.tgz#65a35c7f18a5b5a7c24d717e82b2285186f02b9e" - integrity sha1-ZaNcfxiltafCTXF+grIoUYbwK54= - -react-scrolllock@^5.0.1: - version "5.0.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-scrolllock/-/react-scrolllock-5.0.1.tgz#da1cfb7b6d55c86ae41dbad5274b778c307752b7" - integrity sha1-2hz7e21VyGrkHbrVJ0t3jDB3Urc= - dependencies: - exenv "^1.2.2" - -react-select@^3.0.4: - version "3.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-select/-/react-select-3.2.0.tgz#de9284700196f5f9b5277c5d850a9ce85f5c72fe" - integrity sha1-3pKEcAGW9fm1J3xdhQqc6F9ccv4= - dependencies: - "@babel/runtime" "^7.4.4" - "@emotion/cache" "^10.0.9" - "@emotion/core" "^10.0.9" - "@emotion/css" "^10.0.9" - memoize-one "^5.0.0" - prop-types "^15.6.0" - react-input-autosize "^3.0.0" - react-transition-group "^4.3.0" - -react-syntax-highlighter@^15.4.3: - version "15.4.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-syntax-highlighter/-/react-syntax-highlighter-15.4.3.tgz#fffe3286677ac470b963b364916d16374996f3a6" - integrity sha1-//4yhmd6xHC5Y7NkkW0WN0mW86Y= - dependencies: - "@babel/runtime" "^7.3.1" - highlight.js "^10.4.1" - lowlight "^1.17.0" - prismjs "^1.22.0" - refractor "^3.2.0" - -react-transition-group@^4.3.0, react-transition-group@^4.4.1: - version "4.4.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" - integrity sha1-Y4aPkyWjjqXulTXYKDJ/hXczRck= - dependencies: - "@babel/runtime" "^7.5.5" - dom-helpers "^5.0.1" - loose-envify "^1.4.0" - prop-types "^15.6.2" - -react-uid@^2.2.0: - version "2.3.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-uid/-/react-uid-2.3.1.tgz#22a75d4a948a4824b9b8078cbf864d55d91ca4be" - integrity sha1-IqddSpSKSCS5uAeMv4ZNVdkcpL4= - dependencies: - tslib "^1.10.0" - -react-video-renderer@^2.4.8: - version "2.4.8" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-video-renderer/-/react-video-renderer-2.4.8.tgz#663534d4241c07ec13a61a8ea13d0e64bd55751d" - integrity sha1-ZjU01CQcB+wTphqOoT0OZL1VdR0= - -react-virtualized@^9.8.0: - version "9.22.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/react-virtualized/-/react-virtualized-9.22.3.tgz#f430f16beb0a42db420dbd4d340403c0de334421" - integrity sha1-9DDxa+sKQttCDb1NNAQDwN4zRCE= - dependencies: - "@babel/runtime" "^7.7.2" - clsx "^1.0.4" - dom-helpers "^5.1.3" - loose-envify "^1.4.0" - prop-types "^15.7.2" - react-lifecycles-compat "^3.0.4" - react@^16.11.0, react@^16.6.3: version "16.12.0" resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" @@ -13520,38 +11542,6 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" -redux-devtools-extension@^2.13.2: - version "2.13.9" - resolved "https://packages.atlassian.com/api/npm/npm-remote/redux-devtools-extension/-/redux-devtools-extension-2.13.9.tgz#6b764e8028b507adcb75a1cae790f71e6be08ae7" - integrity sha1-a3ZOgCi1B63LdaHK55D3Hmvgiuc= - -redux@^3.7.2: - version "3.7.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" - integrity sha1-BrcxIyFZAdJdBlvjQusCa8HIU3s= - dependencies: - lodash "^4.2.1" - lodash-es "^4.2.1" - loose-envify "^1.1.0" - symbol-observable "^1.0.3" - -redux@^4.0.0, redux@^4.0.4: - version "4.0.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" - integrity sha1-TbXeWBbheJHeioDEJCMtBvBR2T8= - dependencies: - loose-envify "^1.4.0" - symbol-observable "^1.2.0" - -refractor@^3.2.0: - version "3.3.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/refractor/-/refractor-3.3.1.tgz#ebbc04b427ea81dc25ad333f7f67a0b5f4f0be3a" - integrity sha1-67wEtCfqgdwlrTM/f2egtfTwvjo= - dependencies: - hastscript "^6.0.0" - parse-entities "^2.0.0" - prismjs "~1.23.0" - regenerate-unicode-properties@^8.2.0: version "8.2.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" @@ -13585,7 +11575,7 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: +regexp.prototype.flags@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== @@ -13923,11 +11913,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retry@0.12.0: - version "0.12.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - retry@^0.10.0: version "0.10.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" @@ -13994,30 +11979,6 @@ run-queue@^1.0.0, run-queue@^1.0.3: dependencies: aproba "^1.1.1" -rusha@^0.8.13: - version "0.8.13" - resolved "https://packages.atlassian.com/api/npm/npm-remote/rusha/-/rusha-0.8.13.tgz#9a084e7b860b17bff3015b92c67a6a336191513a" - integrity sha1-mghOe4YLF7/zAVuSxnpqM2GRUTo= - -rxjs-async-map@^0.1.2: - version "0.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/rxjs-async-map/-/rxjs-async-map-0.1.2.tgz#ff0db82adf5f15a84cc079c23665e0caa88d32dd" - integrity sha1-/w24Kt9fFahMwHnCNmXgyqiNMt0= - dependencies: - rxjs "^5.5.6" - -rxjs-compat@^6.6.6: - version "6.6.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/rxjs-compat/-/rxjs-compat-6.6.6.tgz#5fc76a1ff1e6a3f3c5c773826b2ae1deea51da80" - integrity sha1-X8dqH/Hmo/PFx3OCayrh3upR2oA= - -rxjs@^5.5.6: - version "5.5.12" - resolved "https://packages.atlassian.com/api/npm/npm-remote/rxjs/-/rxjs-5.5.12.tgz#6fa61b8a77c3d793dbaf270bee2f43f652d741cc" - integrity sha1-b6YbinfD15PbrycL7i9D9lLXQcw= - dependencies: - symbol-observable "1.0.1" - rxjs@^6.4.0, rxjs@^6.5.5, rxjs@^6.6.0: version "6.6.3" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.3.tgz#8ca84635c4daa900c0d3967a6ee7ac60271ee552" @@ -14086,29 +12047,6 @@ scheduler@^0.18.0: loose-envify "^1.1.0" object-assign "^4.1.1" -schema-dts@^0.5.1: - version "0.5.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/schema-dts/-/schema-dts-0.5.3.tgz#e7f907f46f0dd530895c27ac0a304f15b834cada" - integrity sha1-5/kH9G8N1TCJXCesCjBPFbg0yto= - -schema-utils@^0.4.0: - version "0.4.7" - resolved "https://packages.atlassian.com/api/npm/npm-remote/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187" - integrity sha1-unT1l9K+LqiAExdG7hfQoJPGgYc= - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -scrollparent@^2.0.1: - version "2.0.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/scrollparent/-/scrollparent-2.0.1.tgz#715d5b9cc57760fb22bdccc3befb5bfe06b1a317" - integrity sha1-cV1bnMV3YPsivczDvvtb/gaxoxc= - -select@^1.1.2: - version "1.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" - integrity sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0= - "self-published@npm:@parcel/fs-search@2.0.0-beta.2": version "2.0.0-beta.2" resolved "https://registry.yarnpkg.com/@parcel/fs-search/-/fs-search-2.0.0-beta.2.tgz#5318990644861933412332a060ba1daeba15ba10" @@ -14214,7 +12152,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5, setimmediate@~1.0.4: +setimmediate@^1.0.4, setimmediate@~1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -14239,11 +12177,6 @@ shallow-copy@0.0.1: resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" integrity sha1-QV9CcC1z2BAzApLMXuhurhoRoXA= -shallow-equal@^1.0.0: - version "1.2.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" - integrity sha1-TBar+lYEOqINBQMk76aJQLDaedo= - sharp@^0.27.1: version "0.27.1" resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.27.1.tgz#cd04926406a697b58dfc5fb62e3c7a3a2d68389a" @@ -14486,7 +12419,7 @@ source-map@0.1.x: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7: +source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.6: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -14658,11 +12591,6 @@ stream-shift@^1.0.0: resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - string-argv@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -14886,21 +12814,6 @@ style-to-object@0.3.0, style-to-object@^0.3.0: dependencies: inline-style-parser "0.1.1" -styled-components@^3.2.6: - version "3.4.10" - resolved "https://packages.atlassian.com/api/npm/npm-remote/styled-components/-/styled-components-3.4.10.tgz#9a654c50ea2b516c36ade57ddcfa296bf85c96e1" - integrity sha1-mmVMUOorUWw2reV93Popa/hcluE= - dependencies: - buffer "^5.0.3" - css-to-react-native "^2.0.3" - fbjs "^0.8.16" - hoist-non-react-statics "^2.5.0" - prop-types "^15.5.4" - react-is "^16.3.1" - stylis "^3.5.0" - stylis-rule-sheet "^0.0.10" - supports-color "^3.2.3" - stylehacks@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" @@ -14910,16 +12823,6 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylis-rule-sheet@^0.0.10: - version "0.0.10" - resolved "https://packages.atlassian.com/api/npm/npm-remote/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" - integrity sha1-ROZKKwdmQ/S1Ll/3HvwE2MPEpDA= - -stylis@^3.5.0: - version "3.5.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" - integrity sha1-9mXyX14pnPPWRlSrlJpXx2i3P74= - stylus@0.54.5: version "0.54.5" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.5.tgz#42b9560931ca7090ce8515a798ba9e6aa3d6dc79" @@ -15025,26 +12928,11 @@ svgo@^1.0.0, svgo@^1.3.2: unquote "~1.1.1" util.promisify "~1.0.0" -symbol-observable@1.0.1: - version "1.0.1" - resolved "https://packages.atlassian.com/api/npm/npm-remote/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4" - integrity sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ= - -symbol-observable@^1.0.2, symbol-observable@^1.0.3, symbol-observable@^1.2.0: - version "1.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha1-wiaIrtTqs83C3+rLtWFmBWCgCAQ= - symbol-tree@^3.2.2: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -tabbable@^1.0.3: - version "1.1.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/tabbable/-/tabbable-1.1.3.tgz#0e4ee376f3631e42d7977a074dbd2b3827843081" - integrity sha1-Dk7jdvNjHkLXl3oHTb0rOCeEMIE= - table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" @@ -15280,21 +13168,6 @@ tiny-benchy@^1.0.1: resolved "https://registry.yarnpkg.com/tiny-benchy/-/tiny-benchy-1.0.2.tgz#ed13db50876b54ded3d4cdf7710a5c2856b234ae" integrity sha512-IpawVd9wuRyVXyajQ/La9ugQXKJohIEA6ufdPZsNuqOH7U4//xq4ivc7YdyCBshYccrUJovwYhMKWhxwdFgDsA== -tiny-emitter@^2.0.0: - version "2.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" - integrity sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM= - -tiny-invariant@^0.0.3: - version "0.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/tiny-invariant/-/tiny-invariant-0.0.3.tgz#4c7283c950e290889e9e94f64d3586ec9156cf44" - integrity sha1-THKDyVDikIienpT2TTWG7JFWz0Q= - -tiny-invariant@^1.0.6: - version "1.1.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha1-Y0xfjv3CdxS384bDXmdgmR0jCHU= - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -15446,13 +13319,6 @@ try-to-catch@^3.0.0: resolved "https://packages.atlassian.com/api/npm/npm-remote/try-to-catch/-/try-to-catch-3.0.0.tgz#a1903b44d13d5124c54d14a461d22ec1f52ea14b" integrity sha1-oZA7RNE9USTFTRSkYdIuwfUuoUs= -ts-invariant@^0.4.0: - version "0.4.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/ts-invariant/-/ts-invariant-0.4.4.tgz#97a523518688f93aafad01b0e80eb803eb2abd86" - integrity sha1-l6UjUYaI+TqvrQGw6A64A+sqvYY= - dependencies: - tslib "^1.9.3" - tsconfig-paths@^3.9.0: version "3.9.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" @@ -15463,7 +13329,7 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.3: +tslib@^1.8.1: version "1.14.1" resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== @@ -15473,7 +13339,7 @@ tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslib@^2.0.0, tslib@^2.1.0: +tslib@^2.1.0: version "2.1.0" resolved "https://packages.atlassian.com/api/npm/npm-remote/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha1-2mCGDxwuyqVwOrfTm8Bba/mIuXo= @@ -15571,23 +13437,6 @@ typescript@^4.1.3: resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== -typestyle@^1.4.4: - version "1.7.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/typestyle/-/typestyle-1.7.2.tgz#22ca9dfeaf334f755030cc6d7799b468bb1ee132" - integrity sha1-Isqd/q8zT3VQMMxtd5m0aLse4TI= - dependencies: - free-style "2.5.1" - -ua-parser-js@^0.7.18: - version "0.7.25" - resolved "https://packages.atlassian.com/api/npm/npm-remote/ua-parser-js/-/ua-parser-js-0.7.25.tgz#67689fa263a87a52dabbc251ede89891f59156ce" - integrity sha1-Z2ifomOoelLau8JR7eiYkfWRVs4= - -uc.micro@^1.0.1: - version "1.0.6" - resolved "https://packages.atlassian.com/api/npm/npm-remote/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha1-nEEagCpAmpH8bPdAgbq6NLJEmaw= - uglify-js@^3.1.4: version "3.7.6" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.6.tgz#0783daa867d4bc962a37cc92f67f6e3238c47485" @@ -15886,20 +13735,6 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unstated@^1.2.0: - version "1.2.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/unstated/-/unstated-1.2.0.tgz#5c57cc077473d2cce411ec0930da285cef3df306" - integrity sha1-XFfMB3Rz0szkEewJMNooXO898wY= - dependencies: - create-react-context "^0.1.5" - -unzipit@^1.3.0: - version "1.3.5" - resolved "https://packages.atlassian.com/api/npm/npm-remote/unzipit/-/unzipit-1.3.5.tgz#3ee48a478a3b7e248d65d3bc0bb189a8d63c3ce1" - integrity sha1-PuSKR4o7fiSNZdO8C7GJqNY8POE= - dependencies: - uzip-module "^1.0.2" - unzipper@^0.10.11: version "0.10.11" resolved "https://registry.npmjs.org/unzipper/-/unzipper-0.10.11.tgz#0b4991446472cbdb92ee7403909f26c2419c782e" @@ -15938,11 +13773,6 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-search-params@^0.10.0: - version "0.10.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/url-search-params/-/url-search-params-0.10.2.tgz#e9da69646e48c6140c6732e1f07fb669525f5a4e" - integrity sha1-6dppZG5IxhQMZzLh8H+2aVJfWk4= - url@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" @@ -15956,11 +13786,6 @@ urlgrey@^0.4.4: resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8= -use-memo-one@^1.1.1: - version "1.1.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/use-memo-one/-/use-memo-one-1.1.2.tgz#0c8203a329f76e040047a35a1197defe342fab20" - integrity sha1-DIIDoyn3bgQAR6NaEZfe/jQvqyA= - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -16005,21 +13830,11 @@ utils-merge@1.0.1: resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid-validate@^0.0.3: - version "0.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/uuid-validate/-/uuid-validate-0.0.3.tgz#e30617f75dc742a0e4f95012a11540faf9d39ab4" - integrity sha1-4wYX913HQqDk+VASoRVA+vnTmrQ= - -uuid@^3.0.1, uuid@^3.1.0, uuid@^3.3.2: +uuid@^3.0.1, uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uzip-module@^1.0.2: - version "1.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/uzip-module/-/uzip-module-1.0.3.tgz#6bbabe2a3efea5d5a4a47479f523a571de3427ce" - integrity sha1-a7q+Kj7+pdWkpHR59SOlcd40J84= - v8-compile-cache@^2.0.0, v8-compile-cache@^2.0.3: version "2.1.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" @@ -16397,11 +14212,6 @@ victory@^31.0.1: victory-voronoi-container "^31.2.0" victory-zoom-container "^31.2.0" -video-snapshot@^1.0.11: - version "1.0.11" - resolved "https://packages.atlassian.com/api/npm/npm-remote/video-snapshot/-/video-snapshot-1.0.11.tgz#fa578db764b42e7e6954b93a7ef6b4d8cfee1a34" - integrity sha1-+leNt2S0Ln5pVLk6fva02M/uGjQ= - vinyl-fs@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" @@ -16527,11 +14337,6 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" -w3c-keyname@^2.2.0: - version "2.2.4" - resolved "https://packages.atlassian.com/api/npm/npm-remote/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b" - integrity sha1-St5pFvYpAiTNvR24rEnqsD0O72s= - w3c-xmlserializer@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" @@ -16541,13 +14346,6 @@ w3c-xmlserializer@^1.1.2: webidl-conversions "^4.0.2" xml-name-validator "^3.0.0" -warning@^4.0.2: - version "4.0.3" - resolved "https://packages.atlassian.com/api/npm/npm-remote/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha1-Fungd+uKhtavfWSqHgX9hbRnjKM= - dependencies: - loose-envify "^1.0.0" - wcwidth@^1.0.0, wcwidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" @@ -16572,11 +14370,6 @@ whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" -whatwg-fetch@>=0.10.0: - version "3.6.2" - resolved "https://packages.atlassian.com/api/npm/npm-remote/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha1-3O0k838mJO0CgXJdUdDi4/5nf4w= - whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" @@ -16666,14 +14459,6 @@ wordwrap@~0.0.2: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= -worker-loader@^2.0.0: - version "2.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/worker-loader/-/worker-loader-2.0.0.tgz#45fda3ef76aca815771a89107399ee4119b430ac" - integrity sha1-Rf2j73asqBV3GokQc5nuQRm0MKw= - dependencies: - loader-utils "^1.0.0" - schema-utils "^0.4.0" - workerpool@6.1.0: version "6.1.0" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.1.0.tgz#a8e038b4c94569596852de7a8ea4228eefdeb37b" @@ -16938,19 +14723,6 @@ yocto-queue@^0.1.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -zen-observable-ts@^0.8.21: - version "0.8.21" - resolved "https://packages.atlassian.com/api/npm/npm-remote/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz#85d0031fbbde1eba3cd07d3ba90da241215f421d" - integrity sha1-hdADH7veHro80H07qQ2iQSFfQh0= - dependencies: - tslib "^1.9.3" - zen-observable "^0.8.0" - -zen-observable@^0.8.0: - version "0.8.15" - resolved "https://packages.atlassian.com/api/npm/npm-remote/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha1-lkFcUS2OP/2SCv04iWBOMLnqrBU= - zwitch@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.4.tgz#93b1b993b13c8926753a41afaf8f27bbfac6be8b" From 89c6dfdd2bfa11b5530a38ee9c8a33a5665b62ec Mon Sep 17 00:00:00 2001 From: Eric Eldredge Date: Tue, 30 Mar 2021 18:30:18 -0400 Subject: [PATCH 10/37] Support starting parcel after the extension and multiple parcels --- .../reporters/lsp-reporter/src/LspReporter.js | 46 ++++++++++--- .../utils/parcelforvscode/src/extension.ts | 66 +++++++++++++++---- vscode-extension-TODO.md | 9 +-- 3 files changed, 97 insertions(+), 24 deletions(-) diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index b9f4a757eff..33ab5bd6fea 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -4,13 +4,18 @@ import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; import type {FilePath} from '@parcel/types'; -import {createClientPipeTransport} from 'vscode-jsonrpc'; +import { + createClientPipeTransport, + generateRandomPipeName, +} from 'vscode-jsonrpc'; import {createConnection, DiagnosticSeverity} from 'vscode-languageserver/node'; import {DefaultMap, getProgressMessage} from '@parcel/utils'; import {Reporter} from '@parcel/plugin'; import invariant from 'assert'; import path from 'path'; import nullthrows from 'nullthrows'; +import os from 'os'; +import fs from 'fs'; // flowlint-next-line unclear-type:off type WorkDoneProgressServerReporter = any; @@ -27,6 +32,7 @@ let fileDiagnostics: DefaultMap< string, Array, > = new DefaultMap(() => []); +let pipeFilename; export default (new Reporter({ async report({event, options}) { @@ -34,20 +40,36 @@ export default (new Reporter({ case 'watchStart': { //TODO: include pid in createServerPipeTransport connectionPromise = (async () => { - let transport = await createClientPipeTransport('/tmp/parcel'); + let transportName = generateRandomPipeName(); + let transport = await createClientPipeTransport(transportName); + // Create a file to ID the transport + let pathname = path.join(os.tmpdir(), 'parcel-lsp'); + await fs.promises.mkdir(pathname, {recursive: true}); + pipeFilename = path.join(pathname, String(process.pid)); + await fs.promises.writeFile( + pipeFilename, + JSON.stringify({ + transportName, + pid: process.pid, + argv: process.argv, + }), + ); + connection = await createConnection( ...(await transport.onConnected()), ); - connection.onInitialize(() => { - console.debug('Connection is initialized'); + return new Promise((resolve, reject) => { + connection.onInitialized(() => { + console.debug('Connection is initialized'); + invariant(connection != null); + connection.window.showInformationMessage('hi'); + resolve(connection); + }); invariant(connection != null); - connection.window.showInformationMessage('hi'); + connection.listen(); + console.debug('connection listening...'); }); - invariant(connection != null); - connection.listen(); - console.debug('connection listening...'); - return connection; })(); progressReporter = new ProgressReporter(); nullthrows(connectionPromise).then(connection => { @@ -61,6 +83,8 @@ export default (new Reporter({ if (watchEnded) { connection.dispose(); + invariant(pipeFilename); + fs.unlinkSync(pipeFilename); } }); break; @@ -136,6 +160,10 @@ export default (new Reporter({ if (connection != null) { connection.dispose(); } + if (pipeFilename != null) { + fs.unlinkSync(pipeFilename); + } + connectionPromise = null; connection = null; console.debug('connection disposed of'); diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts index 2233b29a43e..22294f92c88 100644 --- a/packages/utils/parcelforvscode/src/extension.ts +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -1,8 +1,9 @@ import * as path from 'path'; -import {workspace, ExtensionContext} from 'vscode'; +import * as fs from 'fs'; +import * as os from 'os'; +import {ExtensionContext} from 'vscode'; import { - createServerPipeTransport, LanguageClient, LanguageClientOptions, MessageTransports, @@ -11,13 +12,33 @@ import { } from 'vscode-languageclient/node'; import * as net from 'net'; -let client: LanguageClient; +let clients: LanguageClient[] = []; +let watcher: fs.FSWatcher; -export function activate(context: ExtensionContext) { +function createLanguageClientIfPossible( + parcelLspDir: string, + filename: string, +): LanguageClient | undefined { + let pipeFilename = path.join(parcelLspDir, filename); + if (!fs.existsSync(pipeFilename)) { + return; + } + let transportName: string; + try { + transportName = JSON.parse( + fs.readFileSync(pipeFilename, { + encoding: 'utf8', + }), + ).transportName; + } catch (e) { + // TODO: Handle this + console.log(e); + return; + } // If the extension is launched in debug mode then the debug server options are used // Otherwise the run options are used async function serverOptions(): Promise { - let socket = net.connect('/tmp/parcel'); + let socket = net.connect(transportName); return { reader: new SocketMessageReader(socket), writer: new SocketMessageWriter(socket), @@ -29,21 +50,44 @@ export function activate(context: ExtensionContext) { let clientOptions: LanguageClientOptions = {}; // Create the language client and start the client. - client = new LanguageClient( + let client = new LanguageClient( 'languageServerExample', 'Language Server Example', serverOptions, clientOptions, ); - client.onReady().then(() => console.log('ready')); // Start the client. This will also launch the server client.start(); + console.log('client started'); + return client; } -export function deactivate(): Thenable | undefined { - if (!client) { - return undefined; +export function activate(context: ExtensionContext) { + let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); + for (let filename of fs.readdirSync(parcelLspDir)) { + let client = createLanguageClientIfPossible(parcelLspDir, filename); + if (client) { + clients.push(client); + } } - return client.stop(); + + watcher = fs.watch(parcelLspDir, (event, filename) => { + switch (event) { + case 'rename': + case 'change': { + let client = createLanguageClientIfPossible(parcelLspDir, filename); + if (client) { + clients.push(client); + } + break; + } + } + }); +} + +export async function deactivate() { + watcher?.close(); + await Promise.all(clients.map(client => client.stop())); + clients = []; } diff --git a/vscode-extension-TODO.md b/vscode-extension-TODO.md index ad82e9c8136..589ff9f996f 100644 --- a/vscode-extension-TODO.md +++ b/vscode-extension-TODO.md @@ -1,9 +1,10 @@ TODO: -- need to not wait for connections -- language server shuts down and kills our process when the extension is closed -- handle the case where parcel is started after the extension is running -- support multiple parcels +- [x] need to not wait for connections +- [ ] language server shuts down and kills our process when the extension is closed +- [x] handle the case where parcel is started after the extension is running +- [x] support multiple parcels +- [ ] only connect to parcels that match the workspace WISHLIST: From 59d9c74afe120019d569ea2894579bbbb725e32e Mon Sep 17 00:00:00 2001 From: thebriando Date: Thu, 1 Apr 2021 13:02:33 -0700 Subject: [PATCH 11/37] remove babel from kitchen-sink --- packages/examples/kitchen-sink/.parcelrc | 7 ------- packages/examples/kitchen-sink/package.json | 16 ---------------- 2 files changed, 23 deletions(-) delete mode 100644 packages/examples/kitchen-sink/.parcelrc diff --git a/packages/examples/kitchen-sink/.parcelrc b/packages/examples/kitchen-sink/.parcelrc deleted file mode 100644 index 25a6d59d24b..00000000000 --- a/packages/examples/kitchen-sink/.parcelrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "@parcel/config-default", - "transformers": { - "*.js": ["@parcel/transformer-babel", "..."] - }, - "reporters": ["...", "@parcel/reporter-sourcemap-visualiser"] -} diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 362c978290e..3c5ea413dc9 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -17,22 +17,6 @@ }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", - "targets": { - "browserModern": { - "engines": { - "browsers": [ - "last 1 Chrome version" - ] - } - }, - "browser": { - "engines": { - "browsers": [ - "> 0.25%" - ] - } - } - }, "dependencies": { "lodash": "^4.17.11", "react": "^16.6.3", From adfbd18aefe839d29a53135850328b0692e4398d Mon Sep 17 00:00:00 2001 From: Eric Eldredge Date: Mon, 17 May 2021 16:41:40 -0400 Subject: [PATCH 12/37] Add launch config for debugging vscode extension --- .vscode/launch.json | 20 ++++++++++++++++++++ .vscode/tasks.json | 14 ++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 .vscode/launch.json create mode 100644 .vscode/tasks.json diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000000..d5ba4d02042 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,20 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "args": [ + "--extensionDevelopmentPath=${workspaceFolder}/packages/utils/parcelforvscode" + ], + "name": "Launch Parcel for VSCode Extension", + "outFiles": [ + "${workspaceFolder}/packages/utils/parcelforvscode/out/**/*.js" + ], + "preLaunchTask": "npm: compile - packages/utils/parcelforvscode", + "request": "launch", + "type": "pwa-extensionHost" + } + ] +} diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000000..83cd2c35672 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,14 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "compile", + "path": "packages/utils/parcelforvscode/", + "group": "build", + "problemMatcher": [], + "label": "npm: compile - packages/utils/parcelforvscode", + "detail": "tsc -p ./" + } + ] +} From e687b4611156dba7265ba300493f40fdf41fd736 Mon Sep 17 00:00:00 2001 From: thebriando Date: Mon, 17 May 2021 14:00:23 -0700 Subject: [PATCH 13/37] fix diagnostic not clearing after save --- packages/reporters/lsp-reporter/src/LspReporter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 33ab5bd6fea..b99b5c2b439 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -97,7 +97,7 @@ export default (new Reporter({ if (connection != null) { await Promise.all( filePaths.map(uri => - connection.window.sendDiagnostics({uri, diagnostics: []}), + connection.sendDiagnostics({uri, diagnostics: []}), ), ); } From a34f5689f1241b98f0ad4b7be41e552788312d53 Mon Sep 17 00:00:00 2001 From: thebriando Date: Mon, 17 May 2021 16:02:27 -0700 Subject: [PATCH 14/37] remove information message, modify client options --- packages/examples/kitchen-sink/package.json | 2 +- packages/examples/kitchen-sink/src/index.js | 2 +- packages/reporters/lsp-reporter/src/LspReporter.js | 8 +++++++- packages/utils/parcelforvscode/package.json | 1 + packages/utils/parcelforvscode/src/extension.ts | 14 +++++++++++--- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 3c5ea413dc9..fbdac196b40 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -4,7 +4,7 @@ "license": "MIT", "private": true, "scripts": { - "serve": "parcel serve src/index.html --https --open", + "serve": "parcel serve src/index.html", "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { diff --git a/packages/examples/kitchen-sink/src/index.js b/packages/examples/kitchen-sink/src/index.js index 42142a102c0..6301fc737d3 100644 --- a/packages/examples/kitchen-sink/src/index.js +++ b/packages/examples/kitchen-sink/src/index.js @@ -4,7 +4,7 @@ import {message} from './message'; import lodash from 'lodash'; import react from 'react'; import('./async'); -import('./async2'); +import('./asyn'); // import('./async3'); // // diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index b99b5c2b439..34f4820b028 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -34,6 +34,13 @@ let fileDiagnostics: DefaultMap< > = new DefaultMap(() => []); let pipeFilename; +let exit = process.exit.bind(process); +process.exit = (...args) => { + console.error(...args); + console.log('process.exit called'); + exit(...args); +}; + export default (new Reporter({ async report({event, options}) { switch (event.type) { @@ -63,7 +70,6 @@ export default (new Reporter({ connection.onInitialized(() => { console.debug('Connection is initialized'); invariant(connection != null); - connection.window.showInformationMessage('hi'); resolve(connection); }); invariant(connection != null); diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json index 45361fcded3..77a3ac23a4e 100644 --- a/packages/utils/parcelforvscode/package.json +++ b/packages/utils/parcelforvscode/package.json @@ -1,6 +1,7 @@ { "name": "parcelforvscode", "displayName": "Parcel for VS Code", + "parcel-lsp.trace.server": "verbose", "description": "", "version": "0.0.1", "engines": { diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts index 22294f92c88..68c42fba918 100644 --- a/packages/utils/parcelforvscode/src/extension.ts +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -4,6 +4,8 @@ import * as os from 'os'; import {ExtensionContext} from 'vscode'; import { + CloseAction, + ErrorAction, LanguageClient, LanguageClientOptions, MessageTransports, @@ -43,16 +45,22 @@ function createLanguageClientIfPossible( reader: new SocketMessageReader(socket), writer: new SocketMessageWriter(socket), //Detached true probably + detached: true, }; } // Options to control the language client - let clientOptions: LanguageClientOptions = {}; + let clientOptions: LanguageClientOptions = { + errorHandler: { + closed: () => CloseAction.DoNotRestart, + error: () => ErrorAction.Continue, + }, + }; // Create the language client and start the client. let client = new LanguageClient( - 'languageServerExample', - 'Language Server Example', + 'parcel-lsp', + 'Parcel LSP', serverOptions, clientOptions, ); From 20ece897fdb925b6102e2426e2f0d95b07861694 Mon Sep 17 00:00:00 2001 From: Eric Eldredge Date: Tue, 18 May 2021 17:06:10 -0400 Subject: [PATCH 15/37] Clean up stale parcel-lsp pidfiles --- packages/reporters/lsp-reporter/package.json | 5 +++-- .../reporters/lsp-reporter/src/LspReporter.js | 15 +++++++++++++++ yarn.lock | 19 +++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index 07a65ec0d23..33aca23621b 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -23,7 +23,8 @@ "@parcel/plugin": "2.0.0-beta.2", "@parcel/utils": "2.0.0-beta.2", "nullthrows": "^1.1.1", - "vscode-languageserver": "^7.0.0", - "vscode-jsonrpc": "^6.0.0" + "ps-node": "^0.1.6", + "vscode-jsonrpc": "^6.0.0", + "vscode-languageserver": "^7.0.0" } } diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 34f4820b028..1af3ba81ae6 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -16,6 +16,10 @@ import path from 'path'; import nullthrows from 'nullthrows'; import os from 'os'; import fs from 'fs'; +import ps from 'ps-node'; +import {promisify} from 'util'; + +const lookupPid = promisify(ps.lookup); // flowlint-next-line unclear-type:off type WorkDoneProgressServerReporter = any; @@ -52,6 +56,17 @@ export default (new Reporter({ // Create a file to ID the transport let pathname = path.join(os.tmpdir(), 'parcel-lsp'); await fs.promises.mkdir(pathname, {recursive: true}); + + // For each existing file, check if the pid matches a running process. + // If no process matches, delete the file, assuming it was orphaned + // by a process that quit unexpectedly. + for (let filename of fs.readdirSync(pathname)) { + let pid = parseInt(filename, 10); + let resultList = await lookupPid({pid}); + if (resultList.length) continue; + fs.unlinkSync(path.join(pathname, filename)); + } + pipeFilename = path.join(pathname, String(process.pid)); await fs.promises.writeFile( pipeFilename, diff --git a/yarn.lock b/yarn.lock index 570ab0e0607..13fbb5e42ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4263,6 +4263,11 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" +connected-domain@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/connected-domain/-/connected-domain-1.0.0.tgz#bfe77238c74be453a79f0cb6058deeb4f2358e93" + integrity sha1-v+dyOMdL5FOnnwy2BY3utPI1jpM= + console-browserify@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -11045,6 +11050,13 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= +ps-node@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ps-node/-/ps-node-0.1.6.tgz#9af67a99d7b1d0132e51a503099d38a8d2ace2c3" + integrity sha1-mvZ6mdex0BMuUaUDCZ04qNKs4sM= + dependencies: + table-parser "^0.1.3" + psl@^1.1.24, psl@^1.1.28: version "1.7.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.7.0.tgz#f1c4c47a8ef97167dea5d6bbf4816d736e884a3c" @@ -12933,6 +12945,13 @@ symbol-tree@^3.2.2: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +table-parser@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/table-parser/-/table-parser-0.1.3.tgz#0441cfce16a59481684c27d1b5a67ff15a43c7b0" + integrity sha1-BEHPzhallIFoTCfRtaZ/8VpDx7A= + dependencies: + connected-domain "^1.0.0" + table@^5.2.3: version "5.4.6" resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" From a9fd5ee7cb4d7f42c85cc932b14374d1a6ad4bc5 Mon Sep 17 00:00:00 2001 From: Gora Kong Date: Thu, 20 May 2021 15:14:13 -0700 Subject: [PATCH 16/37] wip --- packages/examples/kitchen-sink/package.json | 2 +- packages/native-packages | 1 + .../reporters/lsp-reporter/src/LspReporter.js | 7 +- packages/utils/parcel-lsp/out/LspServer.js | 152 +++++++++++++ .../utils/parcel-lsp/out/LspServer.js.map | 1 + packages/utils/parcel-lsp/package.json | 53 +++++ packages/utils/parcel-lsp/src/LspServer.ts | 188 ++++++++++++++++ packages/utils/parcel-lsp/tsconfig.json | 16 ++ packages/utils/parcelforvscode/package.json | 1 + .../utils/parcelforvscode/src/extension.ts | 211 +++++++++++------- 10 files changed, 554 insertions(+), 78 deletions(-) create mode 120000 packages/native-packages create mode 100644 packages/utils/parcel-lsp/out/LspServer.js create mode 100644 packages/utils/parcel-lsp/out/LspServer.js.map create mode 100644 packages/utils/parcel-lsp/package.json create mode 100644 packages/utils/parcel-lsp/src/LspServer.ts create mode 100644 packages/utils/parcel-lsp/tsconfig.json diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index fbdac196b40..3fac10416c8 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -4,7 +4,7 @@ "license": "MIT", "private": true, "scripts": { - "serve": "parcel serve src/index.html", + "serve": "parcel serve src/index.html --reporter @parcel/reporter-lsp", "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { diff --git a/packages/native-packages b/packages/native-packages new file mode 120000 index 00000000000..618b90910cd --- /dev/null +++ b/packages/native-packages @@ -0,0 +1 @@ +../native-packages \ No newline at end of file diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 1af3ba81ae6..7f17d2417ba 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -7,6 +7,7 @@ import type {FilePath} from '@parcel/types'; import { createClientPipeTransport, generateRandomPipeName, + createMessageConnection, } from 'vscode-jsonrpc'; import {createConnection, DiagnosticSeverity} from 'vscode-languageserver/node'; import {DefaultMap, getProgressMessage} from '@parcel/utils'; @@ -77,7 +78,11 @@ export default (new Reporter({ }), ); - connection = await createConnection( + // connection = await createConnection( + // ...(await transport.onConnected()), + // ); + + connection = createMessageConnection( ...(await transport.onConnected()), ); diff --git a/packages/utils/parcel-lsp/out/LspServer.js b/packages/utils/parcel-lsp/out/LspServer.js new file mode 100644 index 00000000000..41443c0f147 --- /dev/null +++ b/packages/utils/parcel-lsp/out/LspServer.js @@ -0,0 +1,152 @@ +'use strict'; +// @flow strict-local +/* eslint-disable no-console */ +Object.defineProperty(exports, '__esModule', {value: true}); +// import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; +// import type {FilePath} from '@parcel/types'; +// import { +// createClientPipeTransport, +// generateRandomPipeName, +// } from 'vscode-jsonrpc'; +// import { +// createConnection, +// DiagnosticSeverity, +// ProposedFeatures, +// } from 'vscode-languageserver/node'; +// import {DefaultMap, getProgressMessage} from '@parcel/utils'; +// import {Reporter} from '@parcel/plugin'; +// import invariant from 'assert'; +// import path from 'path'; +// import nullthrows from 'nullthrows'; +// import os from 'os'; +// import fs from 'fs'; +// import ps from 'ps-node'; +// import {promisify} from 'util'; +const path = require('path'); +const fs = require('fs'); +const os = require('os'); +const node_1 = require('vscode-languageserver/node'); +const node_2 = require('vscode-jsonrpc/node'); +const net = require('net'); +const vscode_languageserver_textdocument_1 = require('vscode-languageserver-textdocument'); +const connection = node_1.createConnection(node_1.ProposedFeatures.all); +// Create a simple text document manager. +const documents = new node_1.TextDocuments( + vscode_languageserver_textdocument_1.TextDocument, +); +let hasConfigurationCapability = false; +let hasWorkspaceFolderCapability = false; +let hasDiagnosticRelatedInformationCapability = false; +connection.onInitialize(params => { + const capabilities = params.capabilities; + // Does the client support the `workspace/configuration` request? + // If not, we fall back using global settings. + hasConfigurationCapability = !!( + capabilities.workspace && !!capabilities.workspace.configuration + ); + hasWorkspaceFolderCapability = !!( + capabilities.workspace && !!capabilities.workspace.workspaceFolders + ); + hasDiagnosticRelatedInformationCapability = !!( + capabilities.textDocument && + capabilities.textDocument.publishDiagnostics && + capabilities.textDocument.publishDiagnostics.relatedInformation + ); + const result = { + capabilities: { + textDocumentSync: node_1.TextDocumentSyncKind.Incremental, + // Tell the client that this server supports code completion. + completionProvider: { + resolveProvider: true, + }, + }, + }; + console.log({result}); + if (hasWorkspaceFolderCapability) { + result.capabilities.workspace = { + workspaceFolders: { + supported: true, + }, + }; + } + return result; +}); +connection.onInitialized(() => { + console.log('initialized!'); + if (hasConfigurationCapability) { + // Register for all configuration changes. + connection.client.register( + node_1.DidChangeConfigurationNotification.type, + undefined, + ); + } + if (hasWorkspaceFolderCapability) { + connection.workspace.onDidChangeWorkspaceFolders(_event => { + connection.console.log('Workspace folder change event received.'); + }); + } +}); +function createLanguageClientIfPossible(parcelLspDir, filename) { + let pipeFilename = path.join(parcelLspDir, filename); + if (!fs.existsSync(pipeFilename)) { + return; + } + let transportName; + try { + transportName = JSON.parse( + fs.readFileSync(pipeFilename, { + encoding: 'utf8', + }), + ).transportName; + } catch (e) { + // TODO: Handle this + console.log(e); + return; + } + // If the extension is launched in debug mode then the debug server options are used + // Otherwise the run options are used + let socket = net.connect(transportName); + return { + reader: new node_2.SocketMessageReader(socket), + writer: new node_2.SocketMessageWriter(socket), + //Detached true probably + detached: true, + }; + // Options to control the language client + // let clientOptions: LanguageClientOptions = { + // errorHandler: { + // closed: () => CloseAction.DoNotRestart, + // error: () => ErrorAction.Continue, + // }, + // }; + // // Create the language client and start the client. + // let client = new LanguageClient( + // 'parcel-lsp', + // 'Parcel LSP', + // serverOptions, + // clientOptions, + // ); + // client.onReady().then(() => console.log('ready')); + // // Start the client. This will also launch the server + // client.start(); + // console.log('client started'); + // return client; +} +let clients = []; +let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); +console.log({parcelLspDir}); +for (let filename of fs.readdirSync(parcelLspDir)) { + console.log({filename}); + let client = createLanguageClientIfPossible(parcelLspDir, filename); + client === null || client === void 0 + ? void 0 + : client.reader.listen(msg => { + console.log('MESSAG RECEIVED'); + console.log(msg); + }); + if (client) { + clients.push(client); + } +} +connection.listen(); +//# sourceMappingURL=LspServer.js.map diff --git a/packages/utils/parcel-lsp/out/LspServer.js.map b/packages/utils/parcel-lsp/out/LspServer.js.map new file mode 100644 index 00000000000..3b370added9 --- /dev/null +++ b/packages/utils/parcel-lsp/out/LspServer.js.map @@ -0,0 +1 @@ +{"version":3,"file":"LspServer.js","sourceRoot":"","sources":["../src/LspServer.ts"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,+BAA+B;;AAE/B,0EAA0E;AAC1E,+CAA+C;AAE/C,WAAW;AACX,+BAA+B;AAC/B,4BAA4B;AAC5B,2BAA2B;AAC3B,WAAW;AACX,sBAAsB;AACtB,wBAAwB;AACxB,sBAAsB;AACtB,uCAAuC;AACvC,gEAAgE;AAChE,2CAA2C;AAC3C,kCAAkC;AAClC,2BAA2B;AAC3B,uCAAuC;AACvC,uBAAuB;AACvB,uBAAuB;AACvB,4BAA4B;AAC5B,kCAAkC;AAClC,6BAA6B;AAC7B,yBAAyB;AACzB,yBAAyB;AACzB,qDAaoC;AAUpC,8CAA6E;AAC7E,2BAA2B;AAE3B,2FAAgE;AAEhE,MAAM,UAAU,GAAG,uBAAgB,CAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,yCAAyC;AACzC,MAAM,SAAS,GAAgC,IAAI,oBAAa,CAAC,iDAAY,CAAC,CAAC;AAE/E,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,IAAI,yCAAyC,GAAG,KAAK,CAAC;AAEtD,UAAU,CAAC,YAAY,CAAC,CAAC,MAAwB,EAAE,EAAE;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,iEAAiE;IACjE,8CAA8C;IAC9C,0BAA0B,GAAG,CAAC,CAAC,CAC7B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CACjE,CAAC;IACF,4BAA4B,GAAG,CAAC,CAAC,CAC/B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CACpE,CAAC;IACF,yCAAyC,GAAG,CAAC,CAAC,CAC5C,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY,CAAC,kBAAkB;QAC5C,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,CAAC;IAEF,MAAM,MAAM,GAAqB;QAC/B,YAAY,EAAE;YACZ,gBAAgB,EAAE,2BAAoB,CAAC,WAAW;YAClD,6DAA6D;YAC7D,kBAAkB,EAAE;gBAClB,eAAe,EAAE,IAAI;aACtB;SACF;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;IACtB,IAAI,4BAA4B,EAAE;QAChC,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG;YAC9B,gBAAgB,EAAE;gBAChB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;KACH;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,IAAI,0BAA0B,EAAE;QAC9B,0CAA0C;QAC1C,UAAU,CAAC,MAAM,CAAC,QAAQ,CACxB,yCAAkC,CAAC,IAAI,EACvC,SAAS,CACV,CAAC;KACH;IACD,IAAI,4BAA4B,EAAE;QAChC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE;YACxD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,8BAA8B,CACrC,YAAoB,EACpB,QAAgB;IAEhB,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAChC,OAAO;KACR;IACD,IAAI,aAAqB,CAAC;IAC1B,IAAI;QACF,aAAa,GAAG,IAAI,CAAC,KAAK,CACxB,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;YAC5B,QAAQ,EAAE,MAAM;SACjB,CAAC,CACH,CAAC,aAAa,CAAC;KACjB;IAAC,OAAO,CAAC,EAAE;QACV,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;KACR;IACD,oFAAoF;IACpF,qCAAqC;IAErC,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,IAAI,0BAAmB,CAAC,MAAM,CAAC;QACvC,MAAM,EAAE,IAAI,0BAAmB,CAAC,MAAM,CAAC;QACvC,wBAAwB;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,yCAAyC;IACzC,+CAA+C;IAC/C,oBAAoB;IACpB,8CAA8C;IAC9C,yCAAyC;IACzC,OAAO;IACP,KAAK;IAEL,sDAAsD;IACtD,mCAAmC;IACnC,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,KAAK;IACL,qDAAqD;IACrD,wDAAwD;IACxD,kBAAkB;IAClB,iCAAiC;IACjC,iBAAiB;AACnB,CAAC;AACD,IAAI,OAAO,GAAG,EAAE,CAAC;AAEjB,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,OAAO,CAAC,GAAG,CAAC,EAAC,YAAY,EAAC,CAAC,CAAC;AAC5B,KAAK,IAAI,QAAQ,IAAI,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;IACjD,OAAO,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IACxB,IAAI,MAAM,GAAG,8BAA8B,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACtB;CACF;AAED,UAAU,CAAC,MAAM,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/utils/parcel-lsp/package.json b/packages/utils/parcel-lsp/package.json new file mode 100644 index 00000000000..8bc37ca6fde --- /dev/null +++ b/packages/utils/parcel-lsp/package.json @@ -0,0 +1,53 @@ +{ + "name": "@parcel/lsp", + "version": "2.0.0-beta.2", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "repository": { + "type": "git", + "url": "/~https://github.com/parcel-bundler/parcel.git" + }, + "main": "./out/LspServer.js", + "source": "src/LspServer.ts", + "scripts": { + "vscode:prepublish": "yarn run compile", + "compile": "tsc -p ./", + "watch": "tsc -watch -p ./", + "pretest": "yarn run compile && yarn run lint", + "lint": "eslint src --ext ts", + "test": "node ./out/test/runTest.js" + }, + "engines": { + "node": ">= 12.0.0", + "parcel": "^2.0.0-beta.1" + }, + "dependencies": { + "vscode-languageserver-textdocument": "^1.0.0", + "@parcel/diagnostic": "2.0.0-beta.2", + "@parcel/types": "2.0.0-beta.2", + "@parcel/plugin": "2.0.0-beta.2", + "@parcel/utils": "2.0.0-beta.2", + "nullthrows": "^1.1.1", + "ps-node": "^0.1.6", + "vscode-jsonrpc": "^6.0.0", + "vscode-languageserver": "^7.0.0" + }, + "devDependencies": { + "@types/glob": "^7.1.3", + "@types/mocha": "^8.0.4", + "@types/node": "^12.11.7", + "@types/vscode": "^1.46.0", + "@typescript-eslint/eslint-plugin": "^4.14.1", + "@typescript-eslint/parser": "^4.14.1", + "eslint": "^7.19.0", + "glob": "^7.1.6", + "typescript": "^4.1.3", + "vscode-test": "^1.5.0" + } +} diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts new file mode 100644 index 00000000000..acaf48d2cf2 --- /dev/null +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -0,0 +1,188 @@ +// @flow strict-local +/* eslint-disable no-console */ + +// import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; +// import type {FilePath} from '@parcel/types'; + +// import { +// createClientPipeTransport, +// generateRandomPipeName, +// } from 'vscode-jsonrpc'; +// import { +// createConnection, +// DiagnosticSeverity, +// ProposedFeatures, +// } from 'vscode-languageserver/node'; +// import {DefaultMap, getProgressMessage} from '@parcel/utils'; +// import {Reporter} from '@parcel/plugin'; +// import invariant from 'assert'; +// import path from 'path'; +// import nullthrows from 'nullthrows'; +// import os from 'os'; +// import fs from 'fs'; +// import ps from 'ps-node'; +// import {promisify} from 'util'; +import * as path from 'path'; +import * as fs from 'fs'; +import * as os from 'os'; +import { + createConnection, + TextDocuments, + Diagnostic, + DiagnosticSeverity, + ProposedFeatures, + InitializeParams, + DidChangeConfigurationNotification, + CompletionItem, + CompletionItemKind, + TextDocumentPositionParams, + TextDocumentSyncKind, + InitializeResult, +} from 'vscode-languageserver/node'; + +import { + CloseAction, + ErrorAction, + LanguageClient, + LanguageClientOptions, + MessageTransports, +} from 'vscode-languageclient/node'; + +import {SocketMessageReader, SocketMessageWriter} from 'vscode-jsonrpc/node'; +import * as net from 'net'; + +import {TextDocument} from 'vscode-languageserver-textdocument'; + +const connection = createConnection(ProposedFeatures.all); + +// Create a simple text document manager. +const documents: TextDocuments = new TextDocuments(TextDocument); + +let hasConfigurationCapability = false; +let hasWorkspaceFolderCapability = false; +let hasDiagnosticRelatedInformationCapability = false; + +connection.onInitialize((params: InitializeParams) => { + const capabilities = params.capabilities; + + // Does the client support the `workspace/configuration` request? + // If not, we fall back using global settings. + hasConfigurationCapability = !!( + capabilities.workspace && !!capabilities.workspace.configuration + ); + hasWorkspaceFolderCapability = !!( + capabilities.workspace && !!capabilities.workspace.workspaceFolders + ); + hasDiagnosticRelatedInformationCapability = !!( + capabilities.textDocument && + capabilities.textDocument.publishDiagnostics && + capabilities.textDocument.publishDiagnostics.relatedInformation + ); + + const result: InitializeResult = { + capabilities: { + textDocumentSync: TextDocumentSyncKind.Incremental, + // Tell the client that this server supports code completion. + completionProvider: { + resolveProvider: true, + }, + }, + }; + + console.log({result}); + if (hasWorkspaceFolderCapability) { + result.capabilities.workspace = { + workspaceFolders: { + supported: true, + }, + }; + } + return result; +}); + +connection.onInitialized(() => { + console.log('initialized!'); + if (hasConfigurationCapability) { + // Register for all configuration changes. + connection.client.register( + DidChangeConfigurationNotification.type, + undefined, + ); + } + if (hasWorkspaceFolderCapability) { + connection.workspace.onDidChangeWorkspaceFolders(_event => { + connection.console.log('Workspace folder change event received.'); + }); + } +}); + +function createLanguageClientIfPossible( + parcelLspDir: string, + filename: string, +): MessageTransports | undefined { + let pipeFilename = path.join(parcelLspDir, filename); + if (!fs.existsSync(pipeFilename)) { + return; + } + let transportName: string; + try { + transportName = JSON.parse( + fs.readFileSync(pipeFilename, { + encoding: 'utf8', + }), + ).transportName; + } catch (e) { + // TODO: Handle this + console.log(e); + return; + } + // If the extension is launched in debug mode then the debug server options are used + // Otherwise the run options are used + + let socket = net.connect(transportName); + return { + reader: new SocketMessageReader(socket), + writer: new SocketMessageWriter(socket), + //Detached true probably + detached: true, + }; + + // Options to control the language client + // let clientOptions: LanguageClientOptions = { + // errorHandler: { + // closed: () => CloseAction.DoNotRestart, + // error: () => ErrorAction.Continue, + // }, + // }; + + // // Create the language client and start the client. + // let client = new LanguageClient( + // 'parcel-lsp', + // 'Parcel LSP', + // serverOptions, + // clientOptions, + // ); + // client.onReady().then(() => console.log('ready')); + // // Start the client. This will also launch the server + // client.start(); + // console.log('client started'); + // return client; +} +let clients = []; + +let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); +console.log({parcelLspDir}); +for (let filename of fs.readdirSync(parcelLspDir)) { + console.log({filename}); + let client = createLanguageClientIfPossible(parcelLspDir, filename); + client?.reader.listen(msg => { + console.log('MESSAG RECEIVED'); + console.log(msg); + }); + + if (client) { + clients.push(client); + } +} + +connection.listen(); diff --git a/packages/utils/parcel-lsp/tsconfig.json b/packages/utils/parcel-lsp/tsconfig.json new file mode 100644 index 00000000000..b9534e26f0a --- /dev/null +++ b/packages/utils/parcel-lsp/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "outDir": "out", + "lib": ["es6"], + "sourceMap": true, + "rootDir": "src", + "strict": true /* enable all strict type-checking options */ + /* Additional Checks */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + }, + "exclude": ["node_modules", ".vscode-test"] +} diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json index 77a3ac23a4e..9d5f66bbf37 100644 --- a/packages/utils/parcelforvscode/package.json +++ b/packages/utils/parcelforvscode/package.json @@ -36,6 +36,7 @@ "vscode-test": "^1.5.0" }, "dependencies": { + "@parcel/lsp": "2.0.0-beta.2", "vscode-languageclient": "^7.0.0" } } diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts index 68c42fba918..ab725d3efb7 100644 --- a/packages/utils/parcelforvscode/src/extension.ts +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -1,101 +1,160 @@ import * as path from 'path'; -import * as fs from 'fs'; -import * as os from 'os'; -import {ExtensionContext} from 'vscode'; +import {workspace, ExtensionContext} from 'vscode'; import { - CloseAction, - ErrorAction, LanguageClient, LanguageClientOptions, - MessageTransports, - SocketMessageReader, - SocketMessageWriter, + ServerOptions, + TransportKind, } from 'vscode-languageclient/node'; -import * as net from 'net'; - -let clients: LanguageClient[] = []; -let watcher: fs.FSWatcher; - -function createLanguageClientIfPossible( - parcelLspDir: string, - filename: string, -): LanguageClient | undefined { - let pipeFilename = path.join(parcelLspDir, filename); - if (!fs.existsSync(pipeFilename)) { - return; - } - let transportName: string; - try { - transportName = JSON.parse( - fs.readFileSync(pipeFilename, { - encoding: 'utf8', - }), - ).transportName; - } catch (e) { - // TODO: Handle this - console.log(e); - return; - } + +let client: LanguageClient; + +export function activate(context: ExtensionContext) { + // The server is implemented in node + let serverModule = require.resolve('@parcel/lsp'); + // The debug options for the server + // --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging + let debugOptions = {execArgv: ['--nolazy', '--inspect=6009']}; + // If the extension is launched in debug mode then the debug server options are used // Otherwise the run options are used - async function serverOptions(): Promise { - let socket = net.connect(transportName); - return { - reader: new SocketMessageReader(socket), - writer: new SocketMessageWriter(socket), - //Detached true probably - detached: true, - }; - } + let serverOptions: ServerOptions = { + run: {module: serverModule, transport: TransportKind.ipc}, + debug: { + module: serverModule, + transport: TransportKind.ipc, + options: debugOptions, + }, + }; // Options to control the language client let clientOptions: LanguageClientOptions = { - errorHandler: { - closed: () => CloseAction.DoNotRestart, - error: () => ErrorAction.Continue, + // Register the server for plain text documents + documentSelector: [{scheme: 'file', language: 'plaintext'}], + synchronize: { + // Notify the server about file changes to '.clientrc files contained in the workspace + fileEvents: workspace.createFileSystemWatcher('**/.clientrc'), }, }; // Create the language client and start the client. - let client = new LanguageClient( - 'parcel-lsp', - 'Parcel LSP', + client = new LanguageClient( + 'languageServerExample', + 'Language Server Example', serverOptions, clientOptions, ); - client.onReady().then(() => console.log('ready')); + // Start the client. This will also launch the server client.start(); - console.log('client started'); - return client; } -export function activate(context: ExtensionContext) { - let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); - for (let filename of fs.readdirSync(parcelLspDir)) { - let client = createLanguageClientIfPossible(parcelLspDir, filename); - if (client) { - clients.push(client); - } +export function deactivate(): Thenable | undefined { + if (!client) { + return undefined; } - - watcher = fs.watch(parcelLspDir, (event, filename) => { - switch (event) { - case 'rename': - case 'change': { - let client = createLanguageClientIfPossible(parcelLspDir, filename); - if (client) { - clients.push(client); - } - break; - } - } - }); + return client.stop(); } -export async function deactivate() { - watcher?.close(); - await Promise.all(clients.map(client => client.stop())); - clients = []; -} +// import * as path from 'path'; +// import * as fs from 'fs'; +// import * as os from 'os'; +// import {ExtensionContext} from 'vscode'; + +// import { +// CloseAction, +// ErrorAction, +// LanguageClient, +// LanguageClientOptions, +// MessageTransports, +// SocketMessageReader, +// SocketMessageWriter, +// } from 'vscode-languageclient/node'; +// import * as net from 'net'; + +// let clients: LanguageClient[] = []; +// let watcher: fs.FSWatcher; + +// function createLanguageClientIfPossible( +// parcelLspDir: string, +// filename: string, +// ): LanguageClient | undefined { +// let pipeFilename = path.join(parcelLspDir, filename); +// if (!fs.existsSync(pipeFilename)) { +// return; +// } +// let transportName: string; +// try { +// transportName = JSON.parse( +// fs.readFileSync(pipeFilename, { +// encoding: 'utf8', +// }), +// ).transportName; +// } catch (e) { +// // TODO: Handle this +// console.log(e); +// return; +// } +// // If the extension is launched in debug mode then the debug server options are used +// // Otherwise the run options are used +// async function serverOptions(): Promise { +// let socket = net.connect(transportName); +// return { +// reader: new SocketMessageReader(socket), +// writer: new SocketMessageWriter(socket), +// //Detached true probably +// detached: true, +// }; +// } + +// // Options to control the language client +// let clientOptions: LanguageClientOptions = { +// errorHandler: { +// closed: () => CloseAction.DoNotRestart, +// error: () => ErrorAction.Continue, +// }, +// }; + +// // Create the language client and start the client. +// let client = new LanguageClient( +// 'parcel-lsp', +// 'Parcel LSP', +// serverOptions, +// clientOptions, +// ); +// client.onReady().then(() => console.log('ready')); +// // Start the client. This will also launch the server +// client.start(); +// console.log('client started'); +// return client; +// } + +// export function activate(context: ExtensionContext) { +// let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); +// for (let filename of fs.readdirSync(parcelLspDir)) { +// let client = createLanguageClientIfPossible(parcelLspDir, filename); +// if (client) { +// clients.push(client); +// } +// } + +// watcher = fs.watch(parcelLspDir, (event, filename) => { +// switch (event) { +// case 'rename': +// case 'change': { +// let client = createLanguageClientIfPossible(parcelLspDir, filename); +// if (client) { +// clients.push(client); +// } +// break; +// } +// } +// }); +// } + +// export async function deactivate() { +// watcher?.close(); +// await Promise.all(clients.map(client => client.stop())); +// clients = []; +// } From 6caea1923a1f1e577c3fe92c92885499235e4d53 Mon Sep 17 00:00:00 2001 From: Eric Eldredge Date: Thu, 20 May 2021 19:26:23 -0400 Subject: [PATCH 17/37] WIP: send progress and diagnostics over parcel-lsp --- .../reporters/lsp-reporter/src/LspReporter.js | 118 ++++++++---------- packages/utils/parcel-lsp/src/LspServer.ts | 82 ++++++++---- 2 files changed, 112 insertions(+), 88 deletions(-) diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 7f17d2417ba..5dd0908ab02 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -9,7 +9,15 @@ import { generateRandomPipeName, createMessageConnection, } from 'vscode-jsonrpc'; -import {createConnection, DiagnosticSeverity} from 'vscode-languageserver/node'; +import { + createConnection, + DiagnosticSeverity, + WorkDoneProgressBegin, + WorkDoneProgressReport, + WorkDoneProgressEnd, + PublishDiagnosticsNotification, +} from 'vscode-languageserver/node'; + import {DefaultMap, getProgressMessage} from '@parcel/utils'; import {Reporter} from '@parcel/plugin'; import invariant from 'assert'; @@ -31,7 +39,7 @@ type ParcelSeverity = 'error' | 'warn' | 'info' | 'verbose'; let connectionPromise; let connection; -let progressReporter: ?ProgressReporter; +// let progressReporter: ?ProgressReporter; let watchEnded = false; let fileDiagnostics: DefaultMap< string, @@ -86,23 +94,30 @@ export default (new Reporter({ ...(await transport.onConnected()), ); - return new Promise((resolve, reject) => { - connection.onInitialized(() => { - console.debug('Connection is initialized'); - invariant(connection != null); - resolve(connection); - }); - invariant(connection != null); - connection.listen(); - console.debug('connection listening...'); - }); + // return new Promise((resolve, reject) => { + // connection.onInitialized(() => { + // console.debug('Connection is initialized'); + // invariant(connection != null); + // resolve(connection); + // }); + invariant(connection != null); + connection.listen(); + console.debug('connection listening...'); + return connection; + // }); })(); - progressReporter = new ProgressReporter(); + // progressReporter = new ProgressReporter(); nullthrows(connectionPromise).then(connection => { if (fileDiagnostics.size > 0) { if (connection != null) { for (let [uri, diagnostics] of fileDiagnostics) { - connection.sendDiagnostics({uri, diagnostics}); + connection.sendNotification( + PublishDiagnosticsNotification.type, + { + uri, + diagnostics, + }, + ); } } } @@ -116,27 +131,33 @@ export default (new Reporter({ break; } case 'buildStart': { - nullthrows(progressReporter).begin(); - let filePaths = [...fileDiagnostics.keys()]; - fileDiagnostics.clear(); + nullthrows(connectionPromise).then(async connection => { + connection.sendProgress(WorkDoneProgressBegin); + let filePaths = [...fileDiagnostics.keys()]; + fileDiagnostics.clear(); - if (connection != null) { await Promise.all( filePaths.map(uri => - connection.sendDiagnostics({uri, diagnostics: []}), + connection.sendNotification(PublishDiagnosticsNotification.type, { + uri, + diagnostics: [], + }), ), ); - } + }); break; } case 'buildSuccess': - nullthrows(progressReporter).done(); - if (connection != null) { + nullthrows(connectionPromise).then(connection => { + connection.sendProgress(WorkDoneProgressEnd); for (let [uri, diagnostics] of fileDiagnostics) { - connection.sendDiagnostics({uri, diagnostics}); + connection.sendNotification(PublishDiagnosticsNotification.type, { + uri, + diagnostics, + }); } - } + }); break; case 'buildFailure': { updateDiagnostics( @@ -146,13 +167,15 @@ export default (new Reporter({ options.projectRoot, ); - if (connection != null) { - const _connection = connection; + nullthrows(connectionPromise).then(connection => { for (let [uri, diagnostics] of fileDiagnostics) { - _connection.sendDiagnostics({uri, diagnostics}); + connection.sendNotification(PublishDiagnosticsNotification.type, { + uri, + diagnostics, + }); } - } - nullthrows(progressReporter).done(); + connection.sendProgress(WorkDoneProgressEnd); + }); break; } case 'log': @@ -174,7 +197,9 @@ export default (new Reporter({ case 'buildProgress': { let message = getProgressMessage(event); if (message != null) { - nullthrows(progressReporter).report(message); + connectionPromise.then(connection => + connection.sendProgress(WorkDoneProgressReport, message), + ); } break; } @@ -198,39 +223,6 @@ export default (new Reporter({ }, }): Reporter); -class ProgressReporter { - progressReporterPromise: ?Promise; - lastMessage: ?string; - begin() { - this.progressReporterPromise = (async () => { - let connection = await nullthrows(connectionPromise); - let reporter = await connection.window.createWorkDoneProgress(); - reporter.begin('Parcel'); - return reporter; - })(); - this.progressReporterPromise.then(reporter => { - if (this.lastMessage != null) { - reporter.report(this.lastMessage); - } - }); - } - async done() { - if (this.progressReporterPromise == null) { - this.begin(); - } - invariant(this.progressReporterPromise != null); - (await this.progressReporterPromise).done(); - } - async report(message: string) { - if (this.progressReporterPromise == null) { - this.lastMessage = message; - this.begin(); - } else { - (await this.progressReporterPromise).report(message); - } - } -} - function updateDiagnostics( fileDiagnostics: DefaultMap>, parcelDiagnostics: Array, diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts index acaf48d2cf2..f513e13b7db 100644 --- a/packages/utils/parcel-lsp/src/LspServer.ts +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -38,6 +38,7 @@ import { TextDocumentPositionParams, TextDocumentSyncKind, InitializeResult, + WorkDoneProgressServerReporter, } from 'vscode-languageserver/node'; import { @@ -50,6 +51,8 @@ import { import {SocketMessageReader, SocketMessageWriter} from 'vscode-jsonrpc/node'; import * as net from 'net'; +import * as invariant from 'assert'; +import nullthrows from 'nullthrows'; import {TextDocument} from 'vscode-languageserver-textdocument'; @@ -116,6 +119,42 @@ connection.onInitialized(() => { } }); +class ProgressReporter { + progressReporterPromise?: Promise | null; + lastMessage?: string; + begin() { + this.progressReporterPromise = (async () => { + let reporter = await connection.window.createWorkDoneProgress(); + reporter.begin('Parcel'); + return reporter; + })(); + this.progressReporterPromise.then(reporter => { + if (this.lastMessage != null) { + console.log('reporting last message', this.lastMessage); + reporter.report(this.lastMessage); + } + }); + } + async done() { + if (this.progressReporterPromise == null) { + this.begin(); + } + invariant(this.progressReporterPromise != null); + (await this.progressReporterPromise).done(); + this.progressReporterPromise = null; + } + async report(message: string) { + if (this.progressReporterPromise == null) { + this.lastMessage = message; + this.begin(); + } else { + let r = await this.progressReporterPromise; + console.log('reporting', message); + r.report(message); + } + } +} + function createLanguageClientIfPossible( parcelLspDir: string, filename: string, @@ -146,38 +185,31 @@ function createLanguageClientIfPossible( //Detached true probably detached: true, }; - - // Options to control the language client - // let clientOptions: LanguageClientOptions = { - // errorHandler: { - // closed: () => CloseAction.DoNotRestart, - // error: () => ErrorAction.Continue, - // }, - // }; - - // // Create the language client and start the client. - // let client = new LanguageClient( - // 'parcel-lsp', - // 'Parcel LSP', - // serverOptions, - // clientOptions, - // ); - // client.onReady().then(() => console.log('ready')); - // // Start the client. This will also launch the server - // client.start(); - // console.log('client started'); - // return client; } + +let progressReporter = new ProgressReporter(); + let clients = []; let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); -console.log({parcelLspDir}); for (let filename of fs.readdirSync(parcelLspDir)) { - console.log({filename}); let client = createLanguageClientIfPossible(parcelLspDir, filename); client?.reader.listen(msg => { - console.log('MESSAG RECEIVED'); - console.log(msg); + let {method, params} = msg as any; + + if (method === '$/progress') { + if (params.token) { + progressReporter.report(params.token); + } else if (progressReporter.progressReporterPromise) { + progressReporter.done(); + } else { + progressReporter.begin(); + } + } else if (method === 'textDocument/publishDiagnostics') { + connection.sendDiagnostics(params); + } + + // console.log(msg); }); if (client) { From 61d2130e303d56b7fa4f39f647026d7342c740b0 Mon Sep 17 00:00:00 2001 From: Eric Eldredge Date: Fri, 21 May 2021 16:14:06 -0400 Subject: [PATCH 18/37] WIP: node-ipc server --- packages/reporters/lsp-reporter/package.json | 1 + .../reporters/lsp-reporter/src/LspReporter.js | 265 +++++++++--------- packages/utils/parcel-lsp/package.json | 2 + packages/utils/parcel-lsp/src/LspServer.ts | 77 +++-- yarn.lock | 43 +++ 5 files changed, 225 insertions(+), 163 deletions(-) diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index 33aca23621b..82c14df4e0c 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -22,6 +22,7 @@ "dependencies": { "@parcel/plugin": "2.0.0-beta.2", "@parcel/utils": "2.0.0-beta.2", + "node-ipc": "^9.1.4", "nullthrows": "^1.1.1", "ps-node": "^0.1.6", "vscode-jsonrpc": "^6.0.0", diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 5dd0908ab02..239346a7516 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -27,6 +27,8 @@ import os from 'os'; import fs from 'fs'; import ps from 'ps-node'; import {promisify} from 'util'; +import ipc from 'node-ipc'; +import {StreamMessageReader, StreamMessageWriter} from 'vscode-jsonrpc/node'; const lookupPid = promisify(ps.lookup); @@ -37,9 +39,6 @@ type LspDiagnostic = any; type ParcelSeverity = 'error' | 'warn' | 'info' | 'verbose'; -let connectionPromise; -let connection; -// let progressReporter: ?ProgressReporter; let watchEnded = false; let fileDiagnostics: DefaultMap< string, @@ -47,176 +46,170 @@ let fileDiagnostics: DefaultMap< > = new DefaultMap(() => []); let pipeFilename; -let exit = process.exit.bind(process); -process.exit = (...args) => { - console.error(...args); - console.log('process.exit called'); - exit(...args); -}; +let sockets = new Set(); + +let clientConnection = createMessageConnection({ + reader: new StreamMessageReader(), + writer: new StreamMessageWriter(), +}); export default (new Reporter({ async report({event, options}) { switch (event.type) { case 'watchStart': { - //TODO: include pid in createServerPipeTransport - connectionPromise = (async () => { - let transportName = generateRandomPipeName(); - let transport = await createClientPipeTransport(transportName); - // Create a file to ID the transport - let pathname = path.join(os.tmpdir(), 'parcel-lsp'); - await fs.promises.mkdir(pathname, {recursive: true}); + let transportName = `parcel-${process.pid}`; + ipc.config.id = transportName; + ipc.config.retry = 1500; - // For each existing file, check if the pid matches a running process. - // If no process matches, delete the file, assuming it was orphaned - // by a process that quit unexpectedly. - for (let filename of fs.readdirSync(pathname)) { - let pid = parseInt(filename, 10); - let resultList = await lookupPid({pid}); - if (resultList.length) continue; - fs.unlinkSync(path.join(pathname, filename)); - } + ipc.serve(() => { + ipc.server.on('message', (data, socket) => { + ipc.log('got a message : ', data); + sockets.add(socket); + }); - pipeFilename = path.join(pathname, String(process.pid)); - await fs.promises.writeFile( - pipeFilename, - JSON.stringify({ - transportName, - pid: process.pid, - argv: process.argv, - }), - ); + ipc.server.on('socket.disconnected', (socket, id) => { + ipc.log(`client ${id} has disconnected!`); + sockets.delete(socket); + }); + }); - // connection = await createConnection( - // ...(await transport.onConnected()), - // ); + ipc.server.start(); - connection = createMessageConnection( - ...(await transport.onConnected()), - ); + // Create a file to ID the transport + let pathname = path.join(os.tmpdir(), 'parcel-lsp'); + await fs.promises.mkdir(pathname, {recursive: true}); - // return new Promise((resolve, reject) => { - // connection.onInitialized(() => { - // console.debug('Connection is initialized'); - // invariant(connection != null); - // resolve(connection); - // }); - invariant(connection != null); - connection.listen(); - console.debug('connection listening...'); - return connection; - // }); - })(); - // progressReporter = new ProgressReporter(); - nullthrows(connectionPromise).then(connection => { - if (fileDiagnostics.size > 0) { - if (connection != null) { - for (let [uri, diagnostics] of fileDiagnostics) { - connection.sendNotification( - PublishDiagnosticsNotification.type, - { - uri, - diagnostics, - }, - ); - } - } - } + // For each existing file, check if the pid matches a running process. + // If no process matches, delete the file, assuming it was orphaned + // by a process that quit unexpectedly. + for (let filename of fs.readdirSync(pathname)) { + let pid = parseInt(filename, 10); + let resultList = await lookupPid({pid}); + if (resultList.length) continue; + fs.unlinkSync(path.join(pathname, filename)); + } - if (watchEnded) { - connection.dispose(); - invariant(pipeFilename); - fs.unlinkSync(pipeFilename); - } - }); + pipeFilename = path.join(pathname, String(process.pid)); + await fs.promises.writeFile( + pipeFilename, + JSON.stringify({ + transportName, + pid: process.pid, + argv: process.argv, + }), + ); + + console.debug('connection listening...'); + + if (watchEnded) { + ipc.server.stop(); + invariant(pipeFilename); + fs.unlinkSync(pipeFilename); + } else if (fileDiagnostics.size > 0) { + // for (let [uri, diagnostics] of fileDiagnostics) { + // ipc.server.connection.sendNotification( + // PublishDiagnosticsNotification.type, + // { + // uri, + // diagnostics, + // }, + // ); + // } + } break; } case 'buildStart': { - nullthrows(connectionPromise).then(async connection => { - connection.sendProgress(WorkDoneProgressBegin); - let filePaths = [...fileDiagnostics.keys()]; - fileDiagnostics.clear(); + for (let socket of sockets.values()) { + ipc.server.emit(socket, WorkDoneProgressBegin); + } - await Promise.all( - filePaths.map(uri => - connection.sendNotification(PublishDiagnosticsNotification.type, { - uri, - diagnostics: [], - }), - ), - ); - }); + // nullthrows(connectionPromise).then(async connection => { + // connection.sendProgress(WorkDoneProgressBegin); + // let filePaths = [...fileDiagnostics.keys()]; + // fileDiagnostics.clear(); + + // await Promise.all( + // filePaths.map(uri => + // connection.sendNotification(PublishDiagnosticsNotification.type, { + // uri, + // diagnostics: [], + // }), + // ), + // ); + // }); break; } case 'buildSuccess': - nullthrows(connectionPromise).then(connection => { - connection.sendProgress(WorkDoneProgressEnd); - for (let [uri, diagnostics] of fileDiagnostics) { - connection.sendNotification(PublishDiagnosticsNotification.type, { - uri, - diagnostics, - }); - } - }); + for (let socket of sockets.values()) { + ipc.server.emit(socket, WorkDoneProgressEnd); + } + // nullthrows(connectionPromise).then(connection => { + // connection.sendProgress(WorkDoneProgressEnd); + // for (let [uri, diagnostics] of fileDiagnostics) { + // connection.sendNotification(PublishDiagnosticsNotification.type, { + // uri, + // diagnostics, + // }); + // } + // }); break; case 'buildFailure': { - updateDiagnostics( - fileDiagnostics, - event.diagnostics, - 'error', - options.projectRoot, - ); + for (let socket of sockets.values()) { + ipc.server.emit(socket, WorkDoneProgressEnd); + } + // updateDiagnostics( + // fileDiagnostics, + // event.diagnostics, + // 'error', + // options.projectRoot, + // ); - nullthrows(connectionPromise).then(connection => { - for (let [uri, diagnostics] of fileDiagnostics) { - connection.sendNotification(PublishDiagnosticsNotification.type, { - uri, - diagnostics, - }); - } - connection.sendProgress(WorkDoneProgressEnd); - }); + // nullthrows(connectionPromise).then(connection => { + // for (let [uri, diagnostics] of fileDiagnostics) { + // connection.sendNotification(PublishDiagnosticsNotification.type, { + // uri, + // diagnostics, + // }); + // } + // connection.sendProgress(WorkDoneProgressEnd); + // }); break; } case 'log': - if ( - event.diagnostics != null && - (event.level === 'error' || - event.level === 'warn' || - event.level === 'info' || - event.level === 'verbose') - ) { - updateDiagnostics( - fileDiagnostics, - event.diagnostics, - event.level, - options.projectRoot, - ); - } + // if ( + // event.diagnostics != null && + // (event.level === 'error' || + // event.level === 'warn' || + // event.level === 'info' || + // event.level === 'verbose') + // ) { + // updateDiagnostics( + // fileDiagnostics, + // event.diagnostics, + // event.level, + // options.projectRoot, + // ); + // } break; case 'buildProgress': { let message = getProgressMessage(event); if (message != null) { - connectionPromise.then(connection => - connection.sendProgress(WorkDoneProgressReport, message), - ); + // connectionPromise.then(connection => + // connection.sendProgress(WorkDoneProgressReport, message), + // ); + for (let socket of sockets.values()) { + ipc.server.emit(socket, WorkDoneProgressReport, message); + } } break; } case 'watchEnd': watchEnded = true; - if (connectionPromise == null) { - break; - } - if (connection != null) { - connection.dispose(); - } if (pipeFilename != null) { fs.unlinkSync(pipeFilename); } - - connectionPromise = null; - connection = null; + ipc.server.stop(); console.debug('connection disposed of'); break; } diff --git a/packages/utils/parcel-lsp/package.json b/packages/utils/parcel-lsp/package.json index 8bc37ca6fde..99f8995a4be 100644 --- a/packages/utils/parcel-lsp/package.json +++ b/packages/utils/parcel-lsp/package.json @@ -33,6 +33,7 @@ "@parcel/types": "2.0.0-beta.2", "@parcel/plugin": "2.0.0-beta.2", "@parcel/utils": "2.0.0-beta.2", + "node-ipc": "^9.1.4", "nullthrows": "^1.1.1", "ps-node": "^0.1.6", "vscode-jsonrpc": "^6.0.0", @@ -42,6 +43,7 @@ "@types/glob": "^7.1.3", "@types/mocha": "^8.0.4", "@types/node": "^12.11.7", + "@types/node-ipc": "^9.1.3", "@types/vscode": "^1.46.0", "@typescript-eslint/eslint-plugin": "^4.14.1", "@typescript-eslint/parser": "^4.14.1", diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts index f513e13b7db..745f577feb4 100644 --- a/packages/utils/parcel-lsp/src/LspServer.ts +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -49,10 +49,10 @@ import { MessageTransports, } from 'vscode-languageclient/node'; -import {SocketMessageReader, SocketMessageWriter} from 'vscode-jsonrpc/node'; import * as net from 'net'; import * as invariant from 'assert'; import nullthrows from 'nullthrows'; +import {IPC} from 'node-ipc'; import {TextDocument} from 'vscode-languageserver-textdocument'; @@ -158,7 +158,7 @@ class ProgressReporter { function createLanguageClientIfPossible( parcelLspDir: string, filename: string, -): MessageTransports | undefined { +): any { let pipeFilename = path.join(parcelLspDir, filename); if (!fs.existsSync(pipeFilename)) { return; @@ -178,13 +178,37 @@ function createLanguageClientIfPossible( // If the extension is launched in debug mode then the debug server options are used // Otherwise the run options are used - let socket = net.connect(transportName); - return { - reader: new SocketMessageReader(socket), - writer: new SocketMessageWriter(socket), - //Detached true probably - detached: true, - }; + // let socket = net.connect(transportName); + // return { + // reader: new SocketMessageReader(socket), + // writer: new SocketMessageWriter(socket), + // //Detached true probably + // detached: true, + // }; + let client = new IPC(); + client.config.id = `parcel-lsp-${process.pid}`; + client.config.retry = 1500; + client.connectTo(transportName, function() { + client.of[transportName].on('connect', function() { + client.log('## connected to world ##', (client.config as any).delay); + client.of[transportName].emit( + 'message', //any event or message type your server listens for + 'hello', + ); + }); + client.of[transportName].on('disconnect', function() { + client.log('disconnected from world'); + }); + client.of[transportName].on( + 'message', //any event or message type your server listens for + function(data: any) { + // connection.sendMessage(data); + client.log('got a message from world : ', data); + }, + ); + }); + + return client; } let progressReporter = new ProgressReporter(); @@ -194,24 +218,23 @@ let clients = []; let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); for (let filename of fs.readdirSync(parcelLspDir)) { let client = createLanguageClientIfPossible(parcelLspDir, filename); - client?.reader.listen(msg => { - let {method, params} = msg as any; - - if (method === '$/progress') { - if (params.token) { - progressReporter.report(params.token); - } else if (progressReporter.progressReporterPromise) { - progressReporter.done(); - } else { - progressReporter.begin(); - } - } else if (method === 'textDocument/publishDiagnostics') { - connection.sendDiagnostics(params); - } - - // console.log(msg); - }); - + // client?.reader.listen(msg => { + // let {method, params} = msg as any; + + // if (method === '$/progress') { + // if (params.token) { + // progressReporter.report(params.token); + // } else if (progressReporter.progressReporterPromise) { + // progressReporter.done(); + // } else { + // progressReporter.begin(); + // } + // } else if (method === 'textDocument/publishDiagnostics') { + // connection.sendDiagnostics(params); + // } + + // // console.log(msg); + // }); if (client) { clients.push(client); } diff --git a/yarn.lock b/yarn.lock index 13fbb5e42ef..86297956498 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2427,6 +2427,13 @@ resolved "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.2.tgz#91daa226eb8c2ff261e6a8cbf8c7304641e095e0" integrity sha512-Lwh0lzzqT5Pqh6z61P3c3P5nm6fzQK/MMHl9UKeneAeInVflBSz1O2EkX6gM6xfJd7FBXBY5purtLx7fUiZ7Hw== +"@types/node-ipc@^9.1.3": + version "9.1.3" + resolved "https://registry.yarnpkg.com/@types/node-ipc/-/node-ipc-9.1.3.tgz#5381fbc910071083b28dd43225727877c108b361" + integrity sha512-ka7CPX9Dk2lwe4PxoZMLOwcQrtdcYe/7OKmH75fQbmt0jdKltWVkdGA81D5l55d0wNhkweHa3XmzFbt5C0ieOQ== + dependencies: + "@types/node" "*" + "@types/node@*", "@types/node@>= 8": version "13.1.8" resolved "https://registry.yarnpkg.com/@types/node/-/node-13.1.8.tgz#1d590429fe8187a02707720ecf38a6fe46ce294b" @@ -5302,6 +5309,11 @@ each-props@^1.3.0: is-plain-object "^2.0.1" object.defaults "^1.1.0" +easy-stack@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" + integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -5919,6 +5931,11 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + eventemitter3@^3.1.0: version "3.1.2" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" @@ -8172,6 +8189,18 @@ jju@^1.4.0: resolved "https://packages.atlassian.com/api/npm/npm-remote/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" + integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== + +js-queue@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.2.tgz#0be590338f903b36c73d33c31883a821412cd482" + integrity sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA== + dependencies: + easy-stack "^1.0.1" + js-stringify@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" @@ -9513,6 +9542,15 @@ node-gyp@^5.0.2: tar "^4.4.12" which "^1.3.1" +node-ipc@^9.1.4: + version "9.1.4" + resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.1.4.tgz#2acf962681afdac2602876d98fe6434d54d9bd3c" + integrity sha512-A+f0mn2KxUt1uRTSd5ktxQUsn2OEhj5evo7NUi/powBzMSZ0vocdzDjlq9QN2v3LH6CJi3e5xAenpZ1QwU5A8g== + dependencies: + event-pubsub "4.3.0" + js-message "1.0.7" + js-queue "2.0.2" + node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" @@ -14318,6 +14356,11 @@ vscode-languageserver-protocol@3.16.0: vscode-jsonrpc "6.0.0" vscode-languageserver-types "3.16.0" +vscode-languageserver-textdocument@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz#178168e87efad6171b372add1dea34f53e5d330f" + integrity sha512-UIcJDjX7IFkck7cSkNNyzIz5FyvpQfY7sdzVy+wkKN/BLaD4DQ0ppXQrKePomCxTS7RrolK1I0pey0bG9eh8dA== + vscode-languageserver-types@3.16.0: version "3.16.0" resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" From fcb12344dba5f04f88030d891db55a658ece411b Mon Sep 17 00:00:00 2001 From: thebriando Date: Fri, 21 May 2021 16:07:40 -0700 Subject: [PATCH 19/37] clean up code, implement node-ipc to send events to lsp --- .../reporters/lsp-reporter/src/LspReporter.js | 165 +++++------------- packages/utils/parcel-lsp/.gitignore | 3 + packages/utils/parcel-lsp/src/LspServer.ts | 70 +++----- 3 files changed, 78 insertions(+), 160 deletions(-) create mode 100644 packages/utils/parcel-lsp/.gitignore diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 239346a7516..b2546786900 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -4,36 +4,20 @@ import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; import type {FilePath} from '@parcel/types'; -import { - createClientPipeTransport, - generateRandomPipeName, - createMessageConnection, -} from 'vscode-jsonrpc'; -import { - createConnection, - DiagnosticSeverity, - WorkDoneProgressBegin, - WorkDoneProgressReport, - WorkDoneProgressEnd, - PublishDiagnosticsNotification, -} from 'vscode-languageserver/node'; +import {DiagnosticSeverity} from 'vscode-languageserver/node'; import {DefaultMap, getProgressMessage} from '@parcel/utils'; import {Reporter} from '@parcel/plugin'; import invariant from 'assert'; import path from 'path'; -import nullthrows from 'nullthrows'; import os from 'os'; import fs from 'fs'; import ps from 'ps-node'; import {promisify} from 'util'; import ipc from 'node-ipc'; -import {StreamMessageReader, StreamMessageWriter} from 'vscode-jsonrpc/node'; const lookupPid = promisify(ps.lookup); -// flowlint-next-line unclear-type:off -type WorkDoneProgressServerReporter = any; // flowlint-next-line unclear-type:off type LspDiagnostic = any; @@ -46,33 +30,15 @@ let fileDiagnostics: DefaultMap< > = new DefaultMap(() => []); let pipeFilename; -let sockets = new Set(); - -let clientConnection = createMessageConnection({ - reader: new StreamMessageReader(), - writer: new StreamMessageWriter(), -}); - export default (new Reporter({ - async report({event, options}) { + async report({event, logger, options}) { switch (event.type) { case 'watchStart': { let transportName = `parcel-${process.pid}`; ipc.config.id = transportName; ipc.config.retry = 1500; - - ipc.serve(() => { - ipc.server.on('message', (data, socket) => { - ipc.log('got a message : ', data); - sockets.add(socket); - }); - - ipc.server.on('socket.disconnected', (socket, id) => { - ipc.log(`client ${id} has disconnected!`); - sockets.delete(socket); - }); - }); - + ipc.config.logger = message => logger.verbose({message}); + ipc.serve(); ipc.server.start(); // Create a file to ID the transport @@ -106,101 +72,66 @@ export default (new Reporter({ invariant(pipeFilename); fs.unlinkSync(pipeFilename); } else if (fileDiagnostics.size > 0) { - // for (let [uri, diagnostics] of fileDiagnostics) { - // ipc.server.connection.sendNotification( - // PublishDiagnosticsNotification.type, - // { - // uri, - // diagnostics, - // }, - // ); - // } + ipc.server.broadcast('message', { + type: 'parcelFileDiagnostics', + fileDiagnostics: [...fileDiagnostics], + }); } break; } case 'buildStart': { - for (let socket of sockets.values()) { - ipc.server.emit(socket, WorkDoneProgressBegin); - } - - // nullthrows(connectionPromise).then(async connection => { - // connection.sendProgress(WorkDoneProgressBegin); - // let filePaths = [...fileDiagnostics.keys()]; - // fileDiagnostics.clear(); - - // await Promise.all( - // filePaths.map(uri => - // connection.sendNotification(PublishDiagnosticsNotification.type, { - // uri, - // diagnostics: [], - // }), - // ), - // ); - // }); - + ipc.server.broadcast('message', {type: 'parcelBuildStart'}); + ipc.server.broadcast('message', { + type: 'parcelFileDiagnostics', + fileDiagnostics: [...fileDiagnostics].map(([uri]) => [uri, []]), + }); + fileDiagnostics.clear(); break; } case 'buildSuccess': - for (let socket of sockets.values()) { - ipc.server.emit(socket, WorkDoneProgressEnd); - } - // nullthrows(connectionPromise).then(connection => { - // connection.sendProgress(WorkDoneProgressEnd); - // for (let [uri, diagnostics] of fileDiagnostics) { - // connection.sendNotification(PublishDiagnosticsNotification.type, { - // uri, - // diagnostics, - // }); - // } - // }); + ipc.server.broadcast('message', {type: 'parcelBuildSuccess'}); + ipc.server.broadcast('message', { + type: 'parcelFileDiagnostics', + fileDiagnostics: [...fileDiagnostics], + }); break; case 'buildFailure': { - for (let socket of sockets.values()) { - ipc.server.emit(socket, WorkDoneProgressEnd); - } - // updateDiagnostics( - // fileDiagnostics, - // event.diagnostics, - // 'error', - // options.projectRoot, - // ); - - // nullthrows(connectionPromise).then(connection => { - // for (let [uri, diagnostics] of fileDiagnostics) { - // connection.sendNotification(PublishDiagnosticsNotification.type, { - // uri, - // diagnostics, - // }); - // } - // connection.sendProgress(WorkDoneProgressEnd); - // }); + updateDiagnostics( + fileDiagnostics, + event.diagnostics, + 'error', + options.projectRoot, + ); + ipc.server.broadcast('message', {type: 'parcelBuildEnd'}); + ipc.server.broadcast('message', { + type: 'parcelFileDiagnostics', + fileDiagnostics: [...fileDiagnostics], + }); break; } case 'log': - // if ( - // event.diagnostics != null && - // (event.level === 'error' || - // event.level === 'warn' || - // event.level === 'info' || - // event.level === 'verbose') - // ) { - // updateDiagnostics( - // fileDiagnostics, - // event.diagnostics, - // event.level, - // options.projectRoot, - // ); - // } + if ( + event.diagnostics != null && + (event.level === 'error' || + event.level === 'warn' || + event.level === 'info' || + event.level === 'verbose') + ) { + updateDiagnostics( + fileDiagnostics, + event.diagnostics, + event.level, + options.projectRoot, + ); + } break; case 'buildProgress': { let message = getProgressMessage(event); if (message != null) { - // connectionPromise.then(connection => - // connection.sendProgress(WorkDoneProgressReport, message), - // ); - for (let socket of sockets.values()) { - ipc.server.emit(socket, WorkDoneProgressReport, message); - } + ipc.server.broadcast('message', { + type: 'parcelBuildProgress', + message, + }); } break; } diff --git a/packages/utils/parcel-lsp/.gitignore b/packages/utils/parcel-lsp/.gitignore new file mode 100644 index 00000000000..8aab4beeb18 --- /dev/null +++ b/packages/utils/parcel-lsp/.gitignore @@ -0,0 +1,3 @@ +out +dist +node_modules diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts index 745f577feb4..aaffcc700b5 100644 --- a/packages/utils/parcel-lsp/src/LspServer.ts +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -92,7 +92,6 @@ connection.onInitialize((params: InitializeParams) => { }, }; - console.log({result}); if (hasWorkspaceFolderCapability) { result.capabilities.workspace = { workspaceFolders: { @@ -104,7 +103,6 @@ connection.onInitialize((params: InitializeParams) => { }); connection.onInitialized(() => { - console.log('initialized!'); if (hasConfigurationCapability) { // Register for all configuration changes. connection.client.register( @@ -130,7 +128,6 @@ class ProgressReporter { })(); this.progressReporterPromise.then(reporter => { if (this.lastMessage != null) { - console.log('reporting last message', this.lastMessage); reporter.report(this.lastMessage); } }); @@ -149,7 +146,6 @@ class ProgressReporter { this.begin(); } else { let r = await this.progressReporterPromise; - console.log('reporting', message); r.report(message); } } @@ -175,35 +171,40 @@ function createLanguageClientIfPossible( console.log(e); return; } - // If the extension is launched in debug mode then the debug server options are used - // Otherwise the run options are used - - // let socket = net.connect(transportName); - // return { - // reader: new SocketMessageReader(socket), - // writer: new SocketMessageWriter(socket), - // //Detached true probably - // detached: true, - // }; + let client = new IPC(); client.config.id = `parcel-lsp-${process.pid}`; client.config.retry = 1500; client.connectTo(transportName, function() { - client.of[transportName].on('connect', function() { - client.log('## connected to world ##', (client.config as any).delay); - client.of[transportName].emit( - 'message', //any event or message type your server listens for - 'hello', - ); - }); - client.of[transportName].on('disconnect', function() { - client.log('disconnected from world'); - }); client.of[transportName].on( 'message', //any event or message type your server listens for function(data: any) { - // connection.sendMessage(data); - client.log('got a message from world : ', data); + switch (data.type) { + case 'parcelBuildEnd': + progressReporter.done(); + break; + + case 'parcelFileDiagnostics': + for (let [uri, diagnostics] of data.fileDiagnostics) { + connection.sendDiagnostics({uri, diagnostics}); + } + break; + + case 'parcelBuildSuccess': + progressReporter.done(); + break; + + case 'parcelBuildStart': + progressReporter.begin(); + break; + + case 'parcelBuildProgress': + progressReporter.report(data.message); + break; + + default: + throw new Error(); + } }, ); }); @@ -218,23 +219,6 @@ let clients = []; let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); for (let filename of fs.readdirSync(parcelLspDir)) { let client = createLanguageClientIfPossible(parcelLspDir, filename); - // client?.reader.listen(msg => { - // let {method, params} = msg as any; - - // if (method === '$/progress') { - // if (params.token) { - // progressReporter.report(params.token); - // } else if (progressReporter.progressReporterPromise) { - // progressReporter.done(); - // } else { - // progressReporter.begin(); - // } - // } else if (method === 'textDocument/publishDiagnostics') { - // connection.sendDiagnostics(params); - // } - - // // console.log(msg); - // }); if (client) { clients.push(client); } From b84e3839f0300b2ecd743965091498ee658c0b28 Mon Sep 17 00:00:00 2001 From: thebriando Date: Fri, 21 May 2021 16:22:58 -0700 Subject: [PATCH 20/37] fix issue with diagnostics not showing up until after save when building --- packages/reporters/lsp-reporter/src/LspReporter.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index b2546786900..d96b8b2cfac 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -38,7 +38,14 @@ export default (new Reporter({ ipc.config.id = transportName; ipc.config.retry = 1500; ipc.config.logger = message => logger.verbose({message}); - ipc.serve(); + ipc.serve(() => + ipc.server.on('init', (_, socket) => + ipc.server.emit(socket, 'message', { + type: 'parcelFileDiagnostics', + fileDiagnostics: [...fileDiagnostics], + }), + ), + ); ipc.server.start(); // Create a file to ID the transport From 2223783096fc4c8323446c08d4fc1f14ad90c76c Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Thu, 19 May 2022 12:51:31 -0700 Subject: [PATCH 21/37] Fix react-hmr example --- packages/examples/react-hmr/package.json | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 6e0ab50ac3b..42dd6826960 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -9,8 +9,6 @@ "devDependencies": { "parcel": "2.5.0" }, - "browser": "dist/legacy/index.html", - "browserModern": "dist/modern/index.html", "targets": { "browserModern": { "engines": { From 856a3ad8e77bd5d8f4b451105233de582747f16d Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Thu, 19 May 2022 12:51:50 -0700 Subject: [PATCH 22/37] Update diagnostics translation --- .../reporters/lsp-reporter/src/LspReporter.js | 80 ++++++--- packages/utils/parcel-lsp/out/LspServer.js | 152 ------------------ .../utils/parcel-lsp/out/LspServer.js.map | 1 - packages/utils/parcel-lsp/src/LspServer.ts | 30 +--- .../utils/parcelforvscode/src/extension.ts | 102 ------------ yarn.lock | 100 +----------- 6 files changed, 64 insertions(+), 401 deletions(-) delete mode 100644 packages/utils/parcel-lsp/out/LspServer.js delete mode 100644 packages/utils/parcel-lsp/out/LspServer.js.map diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index d96b8b2cfac..84619b32f3e 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -24,10 +24,9 @@ type LspDiagnostic = any; type ParcelSeverity = 'error' | 'warn' | 'info' | 'verbose'; let watchEnded = false; -let fileDiagnostics: DefaultMap< - string, - Array, -> = new DefaultMap(() => []); +let fileDiagnostics: DefaultMap> = new DefaultMap( + () => [], +); let pipeFilename; export default (new Reporter({ @@ -160,31 +159,72 @@ function updateDiagnostics( parcelSeverity: ParcelSeverity, projectRoot: FilePath, ): void { - let severity = parcelSeverityToLspSeverity(parcelSeverity); for (let diagnostic of parcelDiagnostics) { - let filePath = - diagnostic.filePath != null - ? normalizeFilePath(diagnostic.filePath, projectRoot) - : null; - - let range = diagnostic.codeFrame?.codeHighlights[0]; - if (filePath != null && range) { - fileDiagnostics.get(`file://${filePath}`).push({ + const codeFrames = diagnostic.codeFrames; + if (codeFrames == null) { + continue; + } + + const firstCodeFrame = codeFrames[0]; + const filePath = firstCodeFrame.filePath; + if (filePath == null) { + continue; + } + + const firstFrameHighlight = codeFrames[0].codeHighlights[0]; + if (firstFrameHighlight == null) { + continue; + } + + const relatedInformation = []; + for (const codeFrame of codeFrames) { + for (const highlight of codeFrame.codeHighlights) { + const filePath = codeFrame.filePath; + if (highlight === firstFrameHighlight || filePath == null) { + continue; + } + + relatedInformation.push({ + location: { + uri: `file://${normalizeFilePath(filePath, projectRoot)}`, + range: { + start: { + line: highlight.start.line - 1, + character: highlight.start.column - 1, + }, + end: { + line: highlight.end.line - 1, + character: highlight.end.column, + }, + }, + }, + message: highlight.message ?? diagnostic.message, + }); + } + } + + fileDiagnostics + .get(`file://${normalizeFilePath(filePath, projectRoot)}`) + .push({ range: { start: { - line: range.start.line - 1, - character: range.start.column - 1, + line: firstFrameHighlight.start.line - 1, + character: firstFrameHighlight.start.column - 1, }, end: { - line: range.end.line - 1, - character: range.end.column, + line: firstFrameHighlight.end.line - 1, + character: firstFrameHighlight.end.column, }, }, source: diagnostic.origin, - message: diagnostic.message, - severity, + severity: parcelSeverityToLspSeverity(parcelSeverity), + message: + diagnostic.message + + (firstFrameHighlight.message == null + ? '' + : ' ' + firstFrameHighlight.message), + relatedInformation, }); - } } } diff --git a/packages/utils/parcel-lsp/out/LspServer.js b/packages/utils/parcel-lsp/out/LspServer.js deleted file mode 100644 index 41443c0f147..00000000000 --- a/packages/utils/parcel-lsp/out/LspServer.js +++ /dev/null @@ -1,152 +0,0 @@ -'use strict'; -// @flow strict-local -/* eslint-disable no-console */ -Object.defineProperty(exports, '__esModule', {value: true}); -// import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; -// import type {FilePath} from '@parcel/types'; -// import { -// createClientPipeTransport, -// generateRandomPipeName, -// } from 'vscode-jsonrpc'; -// import { -// createConnection, -// DiagnosticSeverity, -// ProposedFeatures, -// } from 'vscode-languageserver/node'; -// import {DefaultMap, getProgressMessage} from '@parcel/utils'; -// import {Reporter} from '@parcel/plugin'; -// import invariant from 'assert'; -// import path from 'path'; -// import nullthrows from 'nullthrows'; -// import os from 'os'; -// import fs from 'fs'; -// import ps from 'ps-node'; -// import {promisify} from 'util'; -const path = require('path'); -const fs = require('fs'); -const os = require('os'); -const node_1 = require('vscode-languageserver/node'); -const node_2 = require('vscode-jsonrpc/node'); -const net = require('net'); -const vscode_languageserver_textdocument_1 = require('vscode-languageserver-textdocument'); -const connection = node_1.createConnection(node_1.ProposedFeatures.all); -// Create a simple text document manager. -const documents = new node_1.TextDocuments( - vscode_languageserver_textdocument_1.TextDocument, -); -let hasConfigurationCapability = false; -let hasWorkspaceFolderCapability = false; -let hasDiagnosticRelatedInformationCapability = false; -connection.onInitialize(params => { - const capabilities = params.capabilities; - // Does the client support the `workspace/configuration` request? - // If not, we fall back using global settings. - hasConfigurationCapability = !!( - capabilities.workspace && !!capabilities.workspace.configuration - ); - hasWorkspaceFolderCapability = !!( - capabilities.workspace && !!capabilities.workspace.workspaceFolders - ); - hasDiagnosticRelatedInformationCapability = !!( - capabilities.textDocument && - capabilities.textDocument.publishDiagnostics && - capabilities.textDocument.publishDiagnostics.relatedInformation - ); - const result = { - capabilities: { - textDocumentSync: node_1.TextDocumentSyncKind.Incremental, - // Tell the client that this server supports code completion. - completionProvider: { - resolveProvider: true, - }, - }, - }; - console.log({result}); - if (hasWorkspaceFolderCapability) { - result.capabilities.workspace = { - workspaceFolders: { - supported: true, - }, - }; - } - return result; -}); -connection.onInitialized(() => { - console.log('initialized!'); - if (hasConfigurationCapability) { - // Register for all configuration changes. - connection.client.register( - node_1.DidChangeConfigurationNotification.type, - undefined, - ); - } - if (hasWorkspaceFolderCapability) { - connection.workspace.onDidChangeWorkspaceFolders(_event => { - connection.console.log('Workspace folder change event received.'); - }); - } -}); -function createLanguageClientIfPossible(parcelLspDir, filename) { - let pipeFilename = path.join(parcelLspDir, filename); - if (!fs.existsSync(pipeFilename)) { - return; - } - let transportName; - try { - transportName = JSON.parse( - fs.readFileSync(pipeFilename, { - encoding: 'utf8', - }), - ).transportName; - } catch (e) { - // TODO: Handle this - console.log(e); - return; - } - // If the extension is launched in debug mode then the debug server options are used - // Otherwise the run options are used - let socket = net.connect(transportName); - return { - reader: new node_2.SocketMessageReader(socket), - writer: new node_2.SocketMessageWriter(socket), - //Detached true probably - detached: true, - }; - // Options to control the language client - // let clientOptions: LanguageClientOptions = { - // errorHandler: { - // closed: () => CloseAction.DoNotRestart, - // error: () => ErrorAction.Continue, - // }, - // }; - // // Create the language client and start the client. - // let client = new LanguageClient( - // 'parcel-lsp', - // 'Parcel LSP', - // serverOptions, - // clientOptions, - // ); - // client.onReady().then(() => console.log('ready')); - // // Start the client. This will also launch the server - // client.start(); - // console.log('client started'); - // return client; -} -let clients = []; -let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); -console.log({parcelLspDir}); -for (let filename of fs.readdirSync(parcelLspDir)) { - console.log({filename}); - let client = createLanguageClientIfPossible(parcelLspDir, filename); - client === null || client === void 0 - ? void 0 - : client.reader.listen(msg => { - console.log('MESSAG RECEIVED'); - console.log(msg); - }); - if (client) { - clients.push(client); - } -} -connection.listen(); -//# sourceMappingURL=LspServer.js.map diff --git a/packages/utils/parcel-lsp/out/LspServer.js.map b/packages/utils/parcel-lsp/out/LspServer.js.map deleted file mode 100644 index 3b370added9..00000000000 --- a/packages/utils/parcel-lsp/out/LspServer.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"LspServer.js","sourceRoot":"","sources":["../src/LspServer.ts"],"names":[],"mappings":";AAAA,qBAAqB;AACrB,+BAA+B;;AAE/B,0EAA0E;AAC1E,+CAA+C;AAE/C,WAAW;AACX,+BAA+B;AAC/B,4BAA4B;AAC5B,2BAA2B;AAC3B,WAAW;AACX,sBAAsB;AACtB,wBAAwB;AACxB,sBAAsB;AACtB,uCAAuC;AACvC,gEAAgE;AAChE,2CAA2C;AAC3C,kCAAkC;AAClC,2BAA2B;AAC3B,uCAAuC;AACvC,uBAAuB;AACvB,uBAAuB;AACvB,4BAA4B;AAC5B,kCAAkC;AAClC,6BAA6B;AAC7B,yBAAyB;AACzB,yBAAyB;AACzB,qDAaoC;AAUpC,8CAA6E;AAC7E,2BAA2B;AAE3B,2FAAgE;AAEhE,MAAM,UAAU,GAAG,uBAAgB,CAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,yCAAyC;AACzC,MAAM,SAAS,GAAgC,IAAI,oBAAa,CAAC,iDAAY,CAAC,CAAC;AAE/E,IAAI,0BAA0B,GAAG,KAAK,CAAC;AACvC,IAAI,4BAA4B,GAAG,KAAK,CAAC;AACzC,IAAI,yCAAyC,GAAG,KAAK,CAAC;AAEtD,UAAU,CAAC,YAAY,CAAC,CAAC,MAAwB,EAAE,EAAE;IACnD,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAEzC,iEAAiE;IACjE,8CAA8C;IAC9C,0BAA0B,GAAG,CAAC,CAAC,CAC7B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,aAAa,CACjE,CAAC;IACF,4BAA4B,GAAG,CAAC,CAAC,CAC/B,YAAY,CAAC,SAAS,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,gBAAgB,CACpE,CAAC;IACF,yCAAyC,GAAG,CAAC,CAAC,CAC5C,YAAY,CAAC,YAAY;QACzB,YAAY,CAAC,YAAY,CAAC,kBAAkB;QAC5C,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,kBAAkB,CAChE,CAAC;IAEF,MAAM,MAAM,GAAqB;QAC/B,YAAY,EAAE;YACZ,gBAAgB,EAAE,2BAAoB,CAAC,WAAW;YAClD,6DAA6D;YAC7D,kBAAkB,EAAE;gBAClB,eAAe,EAAE,IAAI;aACtB;SACF;KACF,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC;IACtB,IAAI,4BAA4B,EAAE;QAChC,MAAM,CAAC,YAAY,CAAC,SAAS,GAAG;YAC9B,gBAAgB,EAAE;gBAChB,SAAS,EAAE,IAAI;aAChB;SACF,CAAC;KACH;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC,CAAC;AAEH,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC5B,IAAI,0BAA0B,EAAE;QAC9B,0CAA0C;QAC1C,UAAU,CAAC,MAAM,CAAC,QAAQ,CACxB,yCAAkC,CAAC,IAAI,EACvC,SAAS,CACV,CAAC;KACH;IACD,IAAI,4BAA4B,EAAE;QAChC,UAAU,CAAC,SAAS,CAAC,2BAA2B,CAAC,MAAM,CAAC,EAAE;YACxD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,8BAA8B,CACrC,YAAoB,EACpB,QAAgB;IAEhB,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;QAChC,OAAO;KACR;IACD,IAAI,aAAqB,CAAC;IAC1B,IAAI;QACF,aAAa,GAAG,IAAI,CAAC,KAAK,CACxB,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE;YAC5B,QAAQ,EAAE,MAAM;SACjB,CAAC,CACH,CAAC,aAAa,CAAC;KACjB;IAAC,OAAO,CAAC,EAAE;QACV,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACf,OAAO;KACR;IACD,oFAAoF;IACpF,qCAAqC;IAErC,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACxC,OAAO;QACL,MAAM,EAAE,IAAI,0BAAmB,CAAC,MAAM,CAAC;QACvC,MAAM,EAAE,IAAI,0BAAmB,CAAC,MAAM,CAAC;QACvC,wBAAwB;QACxB,QAAQ,EAAE,IAAI;KACf,CAAC;IAEF,yCAAyC;IACzC,+CAA+C;IAC/C,oBAAoB;IACpB,8CAA8C;IAC9C,yCAAyC;IACzC,OAAO;IACP,KAAK;IAEL,sDAAsD;IACtD,mCAAmC;IACnC,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,mBAAmB;IACnB,KAAK;IACL,qDAAqD;IACrD,wDAAwD;IACxD,kBAAkB;IAClB,iCAAiC;IACjC,iBAAiB;AACnB,CAAC;AACD,IAAI,OAAO,GAAG,EAAE,CAAC;AAEjB,IAAI,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,YAAY,CAAC,CAAC;AACxD,OAAO,CAAC,GAAG,CAAC,EAAC,YAAY,EAAC,CAAC,CAAC;AAC5B,KAAK,IAAI,QAAQ,IAAI,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;IACjD,OAAO,CAAC,GAAG,CAAC,EAAC,QAAQ,EAAC,CAAC,CAAC;IACxB,IAAI,MAAM,GAAG,8BAA8B,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACpE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;QAC1B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KACtB;CACF;AAED,UAAU,CAAC,MAAM,EAAE,CAAC"} \ No newline at end of file diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts index aaffcc700b5..b4a32ad1511 100644 --- a/packages/utils/parcel-lsp/src/LspServer.ts +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -1,27 +1,5 @@ -// @flow strict-local /* eslint-disable no-console */ -// import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; -// import type {FilePath} from '@parcel/types'; - -// import { -// createClientPipeTransport, -// generateRandomPipeName, -// } from 'vscode-jsonrpc'; -// import { -// createConnection, -// DiagnosticSeverity, -// ProposedFeatures, -// } from 'vscode-languageserver/node'; -// import {DefaultMap, getProgressMessage} from '@parcel/utils'; -// import {Reporter} from '@parcel/plugin'; -// import invariant from 'assert'; -// import path from 'path'; -// import nullthrows from 'nullthrows'; -// import os from 'os'; -// import fs from 'fs'; -// import ps from 'ps-node'; -// import {promisify} from 'util'; import * as path from 'path'; import * as fs from 'fs'; import * as os from 'os'; @@ -175,10 +153,10 @@ function createLanguageClientIfPossible( let client = new IPC(); client.config.id = `parcel-lsp-${process.pid}`; client.config.retry = 1500; - client.connectTo(transportName, function() { + client.connectTo(transportName, function () { client.of[transportName].on( 'message', //any event or message type your server listens for - function(data: any) { + function (data: any) { switch (data.type) { case 'parcelBuildEnd': progressReporter.done(); @@ -213,15 +191,13 @@ function createLanguageClientIfPossible( } let progressReporter = new ProgressReporter(); - let clients = []; - let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); +fs.mkdirSync(parcelLspDir, {recursive: true}); for (let filename of fs.readdirSync(parcelLspDir)) { let client = createLanguageClientIfPossible(parcelLspDir, filename); if (client) { clients.push(client); } } - connection.listen(); diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts index ab725d3efb7..020009f4208 100644 --- a/packages/utils/parcelforvscode/src/extension.ts +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -56,105 +56,3 @@ export function deactivate(): Thenable | undefined { } return client.stop(); } - -// import * as path from 'path'; -// import * as fs from 'fs'; -// import * as os from 'os'; -// import {ExtensionContext} from 'vscode'; - -// import { -// CloseAction, -// ErrorAction, -// LanguageClient, -// LanguageClientOptions, -// MessageTransports, -// SocketMessageReader, -// SocketMessageWriter, -// } from 'vscode-languageclient/node'; -// import * as net from 'net'; - -// let clients: LanguageClient[] = []; -// let watcher: fs.FSWatcher; - -// function createLanguageClientIfPossible( -// parcelLspDir: string, -// filename: string, -// ): LanguageClient | undefined { -// let pipeFilename = path.join(parcelLspDir, filename); -// if (!fs.existsSync(pipeFilename)) { -// return; -// } -// let transportName: string; -// try { -// transportName = JSON.parse( -// fs.readFileSync(pipeFilename, { -// encoding: 'utf8', -// }), -// ).transportName; -// } catch (e) { -// // TODO: Handle this -// console.log(e); -// return; -// } -// // If the extension is launched in debug mode then the debug server options are used -// // Otherwise the run options are used -// async function serverOptions(): Promise { -// let socket = net.connect(transportName); -// return { -// reader: new SocketMessageReader(socket), -// writer: new SocketMessageWriter(socket), -// //Detached true probably -// detached: true, -// }; -// } - -// // Options to control the language client -// let clientOptions: LanguageClientOptions = { -// errorHandler: { -// closed: () => CloseAction.DoNotRestart, -// error: () => ErrorAction.Continue, -// }, -// }; - -// // Create the language client and start the client. -// let client = new LanguageClient( -// 'parcel-lsp', -// 'Parcel LSP', -// serverOptions, -// clientOptions, -// ); -// client.onReady().then(() => console.log('ready')); -// // Start the client. This will also launch the server -// client.start(); -// console.log('client started'); -// return client; -// } - -// export function activate(context: ExtensionContext) { -// let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); -// for (let filename of fs.readdirSync(parcelLspDir)) { -// let client = createLanguageClientIfPossible(parcelLspDir, filename); -// if (client) { -// clients.push(client); -// } -// } - -// watcher = fs.watch(parcelLspDir, (event, filename) => { -// switch (event) { -// case 'rename': -// case 'change': { -// let client = createLanguageClientIfPossible(parcelLspDir, filename); -// if (client) { -// clients.push(client); -// } -// break; -// } -// } -// }); -// } - -// export async function deactivate() { -// watcher?.close(); -// await Promise.all(clients.map(client => client.stop())); -// clients = []; -// } diff --git a/yarn.lock b/yarn.lock index c49997ea031..413da33e772 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2084,16 +2084,6 @@ dependencies: "@octokit/openapi-types" "^6.2.0" -"@parcel/codeframe@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/codeframe/-/codeframe-2.0.0-beta.2.tgz#5a72779cd3c75be54a26db91d113e477db93c79a" - integrity sha512-l7/meH8amRVsDFmNJqX/cUH8O9FqPwZHcKCLi0yu1KzemKLODQCfMPJqm3JRwaAUK4oC8fULVGpN7m4wKlSQnQ== - dependencies: - chalk "^4.1.0" - emphasize "^4.2.0" - slice-ansi "^4.0.0" - string-width "^4.2.0" - "@parcel/css-darwin-arm64@1.8.2": version "1.8.2" resolved "https://registry.yarnpkg.com/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.8.2.tgz#ac26b249e9f2ade2b674f51b8b1684901cf79449" @@ -2150,49 +2140,6 @@ "@parcel/css-linux-x64-musl" "1.8.2" "@parcel/css-win32-x64-msvc" "1.8.2" -"@parcel/diagnostic@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/diagnostic/-/diagnostic-2.0.0-beta.2.tgz#ecdb2d03c057d4c104aa19b8a6ee431a201d6ca3" - integrity sha512-6cRnWSRjzy5OPJyXl6DWAWoVfQg90chttwKd3lWDM4lpDDRq9hbpp4ADaOVAnF5rDd/B+mwwjAzxcgwJQD8u/w== - dependencies: - json-source-map "^0.6.1" - nullthrows "^1.1.1" - -"@parcel/events@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/events/-/events-2.0.0-beta.2.tgz#31e73129787422fa19b70d5b1a976169d18a05b7" - integrity sha512-kbiFb/Qd8TavhmL84FTg3dN29Zi5Bi8bWqMgzA8hq7E8W5ezXpmw1Tu5wkjsNzHuOTj2YcAtxlTh3l29UEmh2g== - -"@parcel/logger@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/logger/-/logger-2.0.0-beta.2.tgz#f721802b0549cc9a4a6509cc73cef7263a3f231b" - integrity sha512-YuTUGN47eMctdtTx0hhqKUCRCtuqqV+n6MRrm5sTlg/XpZP8ySUnq4+8VqMqslB761GgXmaDKtNIebe0lc+Erw== - dependencies: - "@parcel/diagnostic" "2.0.0-beta.2" - "@parcel/events" "2.0.0-beta.2" - -"@parcel/markdown-ansi@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/markdown-ansi/-/markdown-ansi-2.0.0-beta.2.tgz#5270b64313c6bbcdd8b401ecd9e02dda9e71b465" - integrity sha512-5fYNvwp2PpQaBxMM3qsVjVz5W8Rrc/eZdCaWudlxhucmUxy3BLedQ1ci6bSzjG1Fl/PDgzcIbZdrqD2+Z+QppA== - dependencies: - chalk "^4.1.0" - -"@parcel/plugin@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/plugin/-/plugin-2.0.0-beta.2.tgz#78de0725c9dfb010ccbf92fe39b1aafa960675e5" - integrity sha512-I89k7uc+yeSe6LrREajkvR6HnfcZzMDoz/TjnfG0W+iQYdKKaAuggf9zlQ6aOr8moGM1orcVSx5X+77u/tX0gg== - dependencies: - "@parcel/types" "2.0.0-beta.2" - -"@parcel/source-map@2.0.0-alpha.4.21": - version "2.0.0-alpha.4.21" - resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0-alpha.4.21.tgz#608f37fefe05ba1d8a8527ca0f3a8487560d4695" - integrity sha512-rKuySz3wRrAhmFriWGmAoAiVF+8VmA+Bzc19y9ITopk4Ax8a8+gmM5AJcXLZCmeVfr6gqdCwr+NsDwmT2Fk7QA== - dependencies: - node-addon-api "^3.0.0" - node-gyp-build "^4.2.3" - "@parcel/source-map@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0.tgz#41cf004109bbf277ceaf096a58838ff6a59af774" @@ -2201,36 +2148,6 @@ detect-libc "^1.0.3" globby "^11.0.3" -"@parcel/types@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/types/-/types-2.0.0-beta.2.tgz#39530f885a546ccc8759ba8b970440bb7aadc146" - integrity sha512-ri2BPGAFDntQbA5p3m/4QgnEqWYToUMkAtLelXSPbwnTM0KARavTAwSRqz1xwTdXa8gQyv4SSV7xURwaPaZ3GA== - -"@parcel/utils@2.0.0-beta.2": - version "2.0.0-beta.2" - resolved "https://registry.yarnpkg.com/@parcel/utils/-/utils-2.0.0-beta.2.tgz#705fb51f3a6e0e09b8fde86a8998f954ac7fb4d9" - integrity sha512-v8vFGdUY/IuuL7dvmdNxhv4TowgqYDxupToxEvMix1GePRx7QTV1ugy/uWgMXhNIytFo4qyo1fWD7VcXLMS1TQ== - dependencies: - "@iarna/toml" "^2.2.0" - "@parcel/codeframe" "2.0.0-beta.2" - "@parcel/diagnostic" "2.0.0-beta.2" - "@parcel/logger" "2.0.0-beta.2" - "@parcel/markdown-ansi" "2.0.0-beta.2" - "@parcel/source-map" "2.0.0-alpha.4.21" - ansi-html "^0.0.7" - chalk "^4.1.0" - clone "^2.1.1" - fast-glob "3.1.1" - fastest-levenshtein "^1.0.8" - is-glob "^4.0.0" - is-url "^1.2.2" - json5 "^1.0.1" - lru-cache "^6.0.0" - micromatch "^4.0.2" - node-forge "^0.10.0" - nullthrows "^1.1.1" - open "^7.0.3" - "@parcel/watcher@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.0.tgz#ebe992a4838b35c3da9a568eb95a71cb26ddf551" @@ -2921,11 +2838,6 @@ ansi-html-community@0.0.8: resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-html@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha512-JoAxEa1DfP9m2xfB/y2r/aKcwXNlltr4+0QSBC4TrLfcxyvepX2Pv0t/xpgGV5bGsDzCYV8SzjWgyCW0T9yYbA== - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -8247,11 +8159,6 @@ json-schema@0.2.3: resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= -json-source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/json-source-map/-/json-source-map-0.6.1.tgz#e0b1f6f4ce13a9ad57e2ae165a24d06e62c79a0f" - integrity sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg== - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -9449,7 +9356,7 @@ node-abi@^2.21.0: dependencies: semver "^5.4.1" -node-addon-api@^3.0.0, node-addon-api@^3.2.1: +node-addon-api@^3.2.1: 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== @@ -9483,11 +9390,6 @@ node-fetch@^2.2.0, node-fetch@^2.5.0, node-fetch@^2.6.1: resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-forge@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" From b400ac24a3405f49fc4577e4216e2da65dcc5fc1 Mon Sep 17 00:00:00 2001 From: thebriando Date: Thu, 19 May 2022 13:17:55 -0700 Subject: [PATCH 23/37] Update TODO --- vscode-extension-TODO.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vscode-extension-TODO.md b/vscode-extension-TODO.md index 589ff9f996f..3a30ebfc722 100644 --- a/vscode-extension-TODO.md +++ b/vscode-extension-TODO.md @@ -1,7 +1,7 @@ TODO: - [x] need to not wait for connections -- [ ] language server shuts down and kills our process when the extension is closed +- [x] language server shuts down and kills our process when the extension is closed - [x] handle the case where parcel is started after the extension is running - [x] support multiple parcels - [ ] only connect to parcels that match the workspace From aa3405178152d17ca826f308916fdd26c444dd72 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Thu, 19 May 2022 13:31:31 -0700 Subject: [PATCH 24/37] Update deps --- packages/utils/parcel-lsp/package.json | 9 ++-- packages/utils/parcelforvscode/package.json | 6 +-- yarn.lock | 52 ++++++++++++++------- 3 files changed, 43 insertions(+), 24 deletions(-) diff --git a/packages/utils/parcel-lsp/package.json b/packages/utils/parcel-lsp/package.json index 01bc42360f5..0f206b4ac5d 100644 --- a/packages/utils/parcel-lsp/package.json +++ b/packages/utils/parcel-lsp/package.json @@ -36,20 +36,19 @@ "node-ipc": "^9.1.4", "nullthrows": "^1.1.1", "ps-node": "^0.1.6", - "vscode-jsonrpc": "^6.0.0", - "vscode-languageserver": "^7.0.0" + "vscode-languageclient": "^8.0.1", + "vscode-languageserver": "^8.0.1" }, "devDependencies": { "@types/glob": "^7.1.3", "@types/mocha": "^8.0.4", "@types/node": "^12.11.7", "@types/node-ipc": "^9.1.3", - "@types/vscode": "^1.46.0", + "@types/vscode": "^1.67.0", "@typescript-eslint/eslint-plugin": "^4.14.1", "@typescript-eslint/parser": "^4.14.1", "eslint": "^7.19.0", "glob": "^7.1.6", - "typescript": "^4.1.3", - "vscode-test": "^1.5.0" + "typescript": "^4.6.4" } } diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json index 9d5f66bbf37..49866127ac6 100644 --- a/packages/utils/parcelforvscode/package.json +++ b/packages/utils/parcelforvscode/package.json @@ -26,17 +26,17 @@ "@types/glob": "^7.1.3", "@types/mocha": "^8.0.4", "@types/node": "^12.11.7", - "@types/vscode": "^1.46.0", + "@types/vscode": "^1.67.0", "@typescript-eslint/eslint-plugin": "^4.14.1", "@typescript-eslint/parser": "^4.14.1", "eslint": "^7.19.0", "glob": "^7.1.6", "mocha": "^8.2.1", - "typescript": "^4.1.3", + "typescript": "^4.6.4", "vscode-test": "^1.5.0" }, "dependencies": { "@parcel/lsp": "2.0.0-beta.2", - "vscode-languageclient": "^7.0.0" + "vscode-languageclient": "^8.0.1" } } diff --git a/yarn.lock b/yarn.lock index 413da33e772..637a34b14f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2487,10 +2487,10 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e" integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ== -"@types/vscode@^1.46.0": - version "1.54.0" - resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.54.0.tgz#d28e3b3614054b2d6543c29412f60a986cabd9bb" - integrity sha512-sHHw9HG4bTrnKhLGgmEiOS88OLO/2RQytUN4COX9Djv81zc0FSZsSiYaVyjNidDzUSpXsySKBkZ31lk2/FbdCg== +"@types/vscode@^1.67.0": + version "1.67.0" + resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.67.0.tgz#8eaba41d1591aa02f5d960b7dfae3b16e066f08c" + integrity sha512-GH8BDf8cw9AC9080uneJfulhSa7KHSMI2s/CyKePXoGNos9J486w2V4YKoeNUqIEkW4hKoEAWp6/cXTwyGj47g== "@typescript-eslint/eslint-plugin@^4.14.1": version "4.19.0" @@ -13068,16 +13068,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@>=3.0.0: +typescript@>=3.0.0, typescript@^4.6.4: version "4.6.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.4.tgz#caa78bbc3a59e6a5c510d35703f6a09877ce45e9" integrity sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg== -typescript@^4.1.3: - version "4.2.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.2.3.tgz#39062d8019912d43726298f09493d598048c1ce3" - integrity sha512-qOcYwxaByStAWrBf4x0fibwZvMRG+r4cQoTjbPtUlrWjBHbmCAww1i448U0GJ+3cNNEtebDteo/cHOR3xJ4wEw== - uglify-js@^3.1.4: version "3.7.6" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.7.6.tgz#0783daa867d4bc962a37cc92f67f6e3238c47485" @@ -13811,14 +13806,19 @@ vscode-jsonrpc@6.0.0, vscode-jsonrpc@^6.0.0: resolved "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz#108bdb09b4400705176b957ceca9e0880e9b6d4e" integrity sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg== -vscode-languageclient@^7.0.0: - version "7.0.0" - resolved "https://packages.atlassian.com/api/npm/npm-remote/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz#b505c22c21ffcf96e167799757fca07a6bad0fb2" - integrity sha1-tQXCLCH/z5bhZ3mXV/ygemutD7I= +vscode-jsonrpc@8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.0.1.tgz#f30b0625ebafa0fb3bc53e934ca47b706445e57e" + integrity sha512-N/WKvghIajmEvXpatSzvTvOIz61ZSmOSa4BRA4pTLi+1+jozquQKP/MkaylP9iB68k73Oua1feLQvH3xQuigiQ== + +vscode-languageclient@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.0.1.tgz#bf5535c4463a78daeaca0bcb4f5868aec86bb301" + integrity sha512-9XoE+HJfaWvu7Y75H3VmLo5WLCtsbxEgEhrLPqwt7eyoR49lUIyyrjb98Yfa50JCMqF2cePJAEVI6oe2o1sIhw== dependencies: minimatch "^3.0.4" - semver "^7.3.4" - vscode-languageserver-protocol "3.16.0" + semver "^7.3.5" + vscode-languageserver-protocol "3.17.1" vscode-languageserver-protocol@3.16.0: version "3.16.0" @@ -13828,6 +13828,14 @@ vscode-languageserver-protocol@3.16.0: vscode-jsonrpc "6.0.0" vscode-languageserver-types "3.16.0" +vscode-languageserver-protocol@3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.1.tgz#e801762c304f740208b6c804a0cf21f2c87509ed" + integrity sha512-BNlAYgQoYwlSgDLJhSG+DeA8G1JyECqRzM2YO6tMmMji3Ad9Mw6AW7vnZMti90qlAKb0LqAlJfSVGEdqMMNzKg== + dependencies: + vscode-jsonrpc "8.0.1" + vscode-languageserver-types "3.17.1" + vscode-languageserver-textdocument@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.1.tgz#178168e87efad6171b372add1dea34f53e5d330f" @@ -13838,6 +13846,11 @@ vscode-languageserver-types@3.16.0: resolved "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== +vscode-languageserver-types@3.17.1: + version "3.17.1" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.1.tgz#c2d87fa7784f8cac389deb3ff1e2d9a7bef07e16" + integrity sha512-K3HqVRPElLZVVPtMeKlsyL9aK0GxGQpvtAUTfX4k7+iJ4mc1M+JM+zQwkgGy2LzY0f0IAafe8MKqIkJrxfGGjQ== + vscode-languageserver@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-7.0.0.tgz#49b068c87cfcca93a356969d20f5d9bdd501c6b0" @@ -13845,6 +13858,13 @@ vscode-languageserver@^7.0.0: dependencies: vscode-languageserver-protocol "3.16.0" +vscode-languageserver@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.0.1.tgz#56bd7a01f5c88af075a77f1d220edcb30fc4bdc7" + integrity sha512-sn7SjBwWm3OlmLtgg7jbM0wBULppyL60rj8K5HF0ny/MzN+GzPBX1kCvYdybhl7UW63V5V5tRVnyB8iwC73lSQ== + dependencies: + vscode-languageserver-protocol "3.17.1" + vscode-test@^1.5.0: version "1.5.1" resolved "https://registry.npmjs.org/vscode-test/-/vscode-test-1.5.1.tgz#68430a4def0f0c07187e0e1dfd3299fabb4c58e0" From 14a7a0ca3c54980dcf9e5dd436f09e0c04f0b55d Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Thu, 19 May 2022 13:51:54 -0700 Subject: [PATCH 25/37] Clean up extension --- packages/utils/parcelforvscode/src/extension.ts | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/packages/utils/parcelforvscode/src/extension.ts b/packages/utils/parcelforvscode/src/extension.ts index 020009f4208..cc1885a0715 100644 --- a/packages/utils/parcelforvscode/src/extension.ts +++ b/packages/utils/parcelforvscode/src/extension.ts @@ -29,22 +29,10 @@ export function activate(context: ExtensionContext) { }; // Options to control the language client - let clientOptions: LanguageClientOptions = { - // Register the server for plain text documents - documentSelector: [{scheme: 'file', language: 'plaintext'}], - synchronize: { - // Notify the server about file changes to '.clientrc files contained in the workspace - fileEvents: workspace.createFileSystemWatcher('**/.clientrc'), - }, - }; + let clientOptions: LanguageClientOptions = {}; // Create the language client and start the client. - client = new LanguageClient( - 'languageServerExample', - 'Language Server Example', - serverOptions, - clientOptions, - ); + client = new LanguageClient('parcel', 'Parcel', serverOptions, clientOptions); // Start the client. This will also launch the server client.start(); From 156687bf9513ab309c9a767de0ac3185f007da81 Mon Sep 17 00:00:00 2001 From: Will Binns-Smith Date: Thu, 19 May 2022 13:52:02 -0700 Subject: [PATCH 26/37] Update TODO --- vscode-extension-TODO.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vscode-extension-TODO.md b/vscode-extension-TODO.md index 3a30ebfc722..ca202d04ca7 100644 --- a/vscode-extension-TODO.md +++ b/vscode-extension-TODO.md @@ -2,7 +2,8 @@ TODO: - [x] need to not wait for connections - [x] language server shuts down and kills our process when the extension is closed -- [x] handle the case where parcel is started after the extension is running +- [ ] handle the case where parcel is started after the extension is running +- [ ] handle the case where extension is started while parcel is running - [x] support multiple parcels - [ ] only connect to parcels that match the workspace From aed838fabb60694cf3ab2ccc553b629a02491101 Mon Sep 17 00:00:00 2001 From: thebriando Date: Thu, 19 May 2022 17:22:24 -0700 Subject: [PATCH 27/37] Add support for prior diagnostics on connection, handle showing diagnostics when Parcel is started before the extension and vice versa --- .../reporters/lsp-reporter/src/LspReporter.js | 16 +++-- packages/utils/parcel-lsp/package.json | 1 + packages/utils/parcel-lsp/src/LspServer.ts | 63 +++++++++++++++---- 3 files changed, 62 insertions(+), 18 deletions(-) diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 84619b32f3e..5cba15fc86b 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -37,14 +37,20 @@ export default (new Reporter({ ipc.config.id = transportName; ipc.config.retry = 1500; ipc.config.logger = message => logger.verbose({message}); - ipc.serve(() => - ipc.server.on('init', (_, socket) => + ipc.serve(() => { + ipc.server.on('init', (_, socket) => { ipc.server.emit(socket, 'message', { type: 'parcelFileDiagnostics', fileDiagnostics: [...fileDiagnostics], - }), - ), - ); + }); + ipc.server.on('connect', () => + ipc.server.emit(socket, 'message', { + type: 'parcelFileDiagnostics', + fileDiagnostics: [...fileDiagnostics], + }), + ); + }); + }); ipc.server.start(); // Create a file to ID the transport diff --git a/packages/utils/parcel-lsp/package.json b/packages/utils/parcel-lsp/package.json index 0f206b4ac5d..ce2616cc20b 100644 --- a/packages/utils/parcel-lsp/package.json +++ b/packages/utils/parcel-lsp/package.json @@ -33,6 +33,7 @@ "@parcel/types": "2.5.0", "@parcel/plugin": "2.5.0", "@parcel/utils": "2.5.0", + "@parcel/watcher": "2.0.5", "node-ipc": "^9.1.4", "nullthrows": "^1.1.1", "ps-node": "^0.1.6", diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts index b4a32ad1511..ef05e6057ea 100644 --- a/packages/utils/parcel-lsp/src/LspServer.ts +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -33,6 +33,9 @@ import nullthrows from 'nullthrows'; import {IPC} from 'node-ipc'; import {TextDocument} from 'vscode-languageserver-textdocument'; +import * as watcher from '@parcel/watcher'; + +type IPCType = InstanceType; const connection = createConnection(ProposedFeatures.all); @@ -129,18 +132,14 @@ class ProgressReporter { } } -function createLanguageClientIfPossible( +function createIPCClientIfPossible( parcelLspDir: string, - filename: string, -): any { - let pipeFilename = path.join(parcelLspDir, filename); - if (!fs.existsSync(pipeFilename)) { - return; - } + filePath: string, +): {client: IPCType; uris: Set} | undefined { let transportName: string; try { transportName = JSON.parse( - fs.readFileSync(pipeFilename, { + fs.readFileSync(filePath, { encoding: 'utf8', }), ).transportName; @@ -150,6 +149,7 @@ function createLanguageClientIfPossible( return; } + let uris: Set = new Set(); let client = new IPC(); client.config.id = `parcel-lsp-${process.pid}`; client.config.retry = 1500; @@ -165,6 +165,7 @@ function createLanguageClientIfPossible( case 'parcelFileDiagnostics': for (let [uri, diagnostics] of data.fileDiagnostics) { connection.sendDiagnostics({uri, diagnostics}); + uris.add(uri); } break; @@ -173,6 +174,7 @@ function createLanguageClientIfPossible( break; case 'parcelBuildStart': + uris.clear(); progressReporter.begin(); break; @@ -187,17 +189,52 @@ function createLanguageClientIfPossible( ); }); - return client; + return {client, uris}; } let progressReporter = new ProgressReporter(); -let clients = []; -let parcelLspDir = path.join(os.tmpdir(), 'parcel-lsp'); +let clients: Map}> = new Map(); +let parcelLspDir = path.join(fs.realpathSync(os.tmpdir()), 'parcel-lsp'); fs.mkdirSync(parcelLspDir, {recursive: true}); for (let filename of fs.readdirSync(parcelLspDir)) { - let client = createLanguageClientIfPossible(parcelLspDir, filename); + const filepath = path.join(parcelLspDir, filename); + let client = createIPCClientIfPossible(parcelLspDir, filepath); if (client) { - clients.push(client); + clients.set(filepath, client); } } + +watcher.subscribe(parcelLspDir, async (err, events) => { + if (err) { + throw err; + } + + for (let event of events) { + console.log('event', event); + if (event.type === 'create') { + let client = createIPCClientIfPossible(parcelLspDir, event.path); + console.log('created client?', client); + if (client) { + clients.set(event.path, client); + } + } else if (event.type === 'delete') { + let existing = clients.get(event.path); + console.log('path', event.path, 'clients', clients); + if (existing) { + clients.delete(event.path); + console.log('clearing diags for', existing.uris); + for (let id of Object.keys(existing.client.of)) { + existing.client.disconnect(id); + } + await Promise.all( + [...existing.uris].map(uri => + connection.sendDiagnostics({uri, diagnostics: []}), + ), + ); + console.log('cleared diags for', existing.uris); + } + } + } +}); + connection.listen(); From f54cde9f84cb08a5b081141755fb174f3d90ee6e Mon Sep 17 00:00:00 2001 From: thebriando Date: Thu, 19 May 2022 17:22:38 -0700 Subject: [PATCH 28/37] Update TODO --- vscode-extension-TODO.md | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/vscode-extension-TODO.md b/vscode-extension-TODO.md index ca202d04ca7..ecee839edcf 100644 --- a/vscode-extension-TODO.md +++ b/vscode-extension-TODO.md @@ -2,13 +2,10 @@ TODO: - [x] need to not wait for connections - [x] language server shuts down and kills our process when the extension is closed -- [ ] handle the case where parcel is started after the extension is running -- [ ] handle the case where extension is started while parcel is running +- [x] handle the case where parcel is started after the extension is running +- [x] handle the case where extension is started while parcel is running - [x] support multiple parcels +- [x] show prior diagnostics on connection - [ ] only connect to parcels that match the workspace - -WISHLIST: - -- quick fix -- show prior diagnostics on connection -- +- [ ] show parcel diagnostic hints +- [ ] implement quick fixes (requires Parcel changes?) From 8a9e8307d7e23d5c48de07aff5163e32a3f214bb Mon Sep 17 00:00:00 2001 From: thebriando Date: Mon, 23 May 2022 15:07:21 -0700 Subject: [PATCH 29/37] Cleanup --- packages/examples/kitchen-sink/.parcelrc | 7 +++++++ packages/examples/kitchen-sink/package.json | 19 +++++++++++++++++-- packages/examples/kitchen-sink/src/index.js | 12 ++---------- packages/examples/react-hmr/package.json | 2 ++ packages/reporters/cli/src/CLIReporter.js | 18 +++++++++--------- packages/reporters/cli/src/utils.js | 19 +++++++++++++++++++ packages/utils/parcel-lsp/src/LspServer.ts | 5 ----- 7 files changed, 56 insertions(+), 26 deletions(-) create mode 100644 packages/examples/kitchen-sink/.parcelrc diff --git a/packages/examples/kitchen-sink/.parcelrc b/packages/examples/kitchen-sink/.parcelrc new file mode 100644 index 00000000000..25a6d59d24b --- /dev/null +++ b/packages/examples/kitchen-sink/.parcelrc @@ -0,0 +1,7 @@ +{ + "extends": "@parcel/config-default", + "transformers": { + "*.js": ["@parcel/transformer-babel", "..."] + }, + "reporters": ["...", "@parcel/reporter-sourcemap-visualiser"] +} diff --git a/packages/examples/kitchen-sink/package.json b/packages/examples/kitchen-sink/package.json index 3018289943b..1bf0398300d 100644 --- a/packages/examples/kitchen-sink/package.json +++ b/packages/examples/kitchen-sink/package.json @@ -4,7 +4,7 @@ "license": "MIT", "private": true, "scripts": { - "serve": "parcel serve src/index.html --reporter @parcel/reporter-lsp", + "serve": "parcel serve src/index.html --https --open", "build": "rm -rf dist && parcel build src/index.html --no-cache" }, "devDependencies": { @@ -13,12 +13,27 @@ "@parcel/config-default": "2.5.0", "@parcel/core": "2.5.0", "@parcel/optimizer-esbuild": "2.5.0", - "@parcel/reporter-lsp": "2.0.0-beta.2", "@parcel/reporter-sourcemap-visualiser": "2.5.0", "parcel": "2.5.0" }, "browser": "dist/legacy/index.html", "browserModern": "dist/modern/index.html", + "targets": { + "browserModern": { + "engines": { + "browsers": [ + "last 1 Chrome version" + ] + } + }, + "browser": { + "engines": { + "browsers": [ + "> 0.25%" + ] + } + } + }, "dependencies": { "lodash": "^4.17.11", "react": "^17.0.2", diff --git a/packages/examples/kitchen-sink/src/index.js b/packages/examples/kitchen-sink/src/index.js index 411444c168e..0c191d916b7 100644 --- a/packages/examples/kitchen-sink/src/index.js +++ b/packages/examples/kitchen-sink/src/index.js @@ -1,22 +1,14 @@ import styles from './styles.css'; import parcel from 'url:./parcel.webp'; import {message} from './message'; -import lodash from 'lodash'; -import react from 'react'; + import('./async'); -import('./asyn'); -// import('./async3'); -// -// -// +import('./async2'); new Worker(new URL('worker.js', import.meta.url)); console.log(message); -// jasklfj -// asjdfk -// jfasdfj // const message = require('./message'); // const fs = require('fs'); diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 42dd6826960..6e0ab50ac3b 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -9,6 +9,8 @@ "devDependencies": { "parcel": "2.5.0" }, + "browser": "dist/legacy/index.html", + "browserModern": "dist/modern/index.html", "targets": { "browserModern": { "engines": { diff --git a/packages/reporters/cli/src/CLIReporter.js b/packages/reporters/cli/src/CLIReporter.js index aa1448fe8ea..73a389bc4a5 100644 --- a/packages/reporters/cli/src/CLIReporter.js +++ b/packages/reporters/cli/src/CLIReporter.js @@ -4,15 +4,10 @@ import type {Diagnostic} from '@parcel/diagnostic'; import type {Color} from 'chalk'; import {Reporter} from '@parcel/plugin'; -import { - getProgressMessage, - prettifyTime, - prettyDiagnostic, - throttle, -} from '@parcel/utils'; +import {prettifyTime, prettyDiagnostic, throttle} from '@parcel/utils'; import chalk from 'chalk'; -import {getTerminalWidth} from './utils'; +import {getProgressMessage, getTerminalWidth} from './utils'; import logLevels from './logLevels'; import bundleReport from './bundleReport'; import { @@ -176,8 +171,13 @@ async function writeDiagnostic( let columns = getTerminalWidth().columns; let indent = 2; for (let diagnostic of diagnostics) { - let {message, stack, codeframe, hints, documentation} = - await prettyDiagnostic(diagnostic, options, columns - indent); + let { + message, + stack, + codeframe, + hints, + documentation, + } = await prettyDiagnostic(diagnostic, options, columns - indent); // $FlowFixMe[incompatible-use] message = chalk[color](message); diff --git a/packages/reporters/cli/src/utils.js b/packages/reporters/cli/src/utils.js index fd8948afc22..da12ad67241 100644 --- a/packages/reporters/cli/src/utils.js +++ b/packages/reporters/cli/src/utils.js @@ -1,4 +1,5 @@ // @flow +import type {BuildProgressEvent} from '@parcel/types'; import path from 'path'; import chalk from 'chalk'; @@ -12,6 +13,24 @@ process.stdout.on('resize', function () { terminalSize = termSize(); }); +export function getProgressMessage(event: BuildProgressEvent): ?string { + switch (event.phase) { + case 'transforming': + return `Building ${path.basename(event.filePath)}...`; + + case 'bundling': + return 'Bundling...'; + + case 'packaging': + return `Packaging ${event.bundle.displayName}...`; + + case 'optimizing': + return `Optimizing ${event.bundle.displayName}...`; + } + + return null; +} + export function getTerminalWidth(): any { return terminalSize; } diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts index ef05e6057ea..c1e2fd233d1 100644 --- a/packages/utils/parcel-lsp/src/LspServer.ts +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -210,19 +210,15 @@ watcher.subscribe(parcelLspDir, async (err, events) => { } for (let event of events) { - console.log('event', event); if (event.type === 'create') { let client = createIPCClientIfPossible(parcelLspDir, event.path); - console.log('created client?', client); if (client) { clients.set(event.path, client); } } else if (event.type === 'delete') { let existing = clients.get(event.path); - console.log('path', event.path, 'clients', clients); if (existing) { clients.delete(event.path); - console.log('clearing diags for', existing.uris); for (let id of Object.keys(existing.client.of)) { existing.client.disconnect(id); } @@ -231,7 +227,6 @@ watcher.subscribe(parcelLspDir, async (err, events) => { connection.sendDiagnostics({uri, diagnostics: []}), ), ); - console.log('cleared diags for', existing.uris); } } } From 03900298292a41fa92ef01d3ae7c1f5ca17852be Mon Sep 17 00:00:00 2001 From: thebriando Date: Tue, 24 May 2022 10:27:10 -0700 Subject: [PATCH 30/37] Add setup steps for running locally --- packages/examples/react-hmr/package.json | 2 - packages/utils/parcelforvscode/README.md | 77 +++--------------------- 2 files changed, 8 insertions(+), 71 deletions(-) diff --git a/packages/examples/react-hmr/package.json b/packages/examples/react-hmr/package.json index 6e0ab50ac3b..42dd6826960 100644 --- a/packages/examples/react-hmr/package.json +++ b/packages/examples/react-hmr/package.json @@ -9,8 +9,6 @@ "devDependencies": { "parcel": "2.5.0" }, - "browser": "dist/legacy/index.html", - "browserModern": "dist/modern/index.html", "targets": { "browserModern": { "engines": { diff --git a/packages/utils/parcelforvscode/README.md b/packages/utils/parcelforvscode/README.md index 92732e8da87..8b9846d4abf 100644 --- a/packages/utils/parcelforvscode/README.md +++ b/packages/utils/parcelforvscode/README.md @@ -1,71 +1,10 @@ # parcelforvscode README -This is the README for your extension "parcelforvscode". After writing up a brief description, we recommend including the following sections. - -## Features - -Describe specific features of your extension including screenshots of your extension in action. Image paths are relative to this README file. - -For example if there is an image subfolder under your extension project workspace: - -\!\[feature X\]\(images/feature-x.png\) - -> Tip: Many popular extensions utilize animations. This is an excellent way to show off your extension! We recommend short, focused animations that are easy to follow. - -## Requirements - -If you have any requirements or dependencies, add a section describing those and how to install and configure them. - -## Extension Settings - -Include if your extension adds any VS Code settings through the `contributes.configuration` extension point. - -For example: - -This extension contributes the following settings: - -- `myExtension.enable`: enable/disable this extension -- `myExtension.thing`: set to `blah` to do something - -## Known Issues - -Calling out known issues can help limit users opening duplicate issues against your extension. - -## Release Notes - -Users appreciate release notes as you update your extension. - -### 1.0.0 - -Initial release of ... - -### 1.0.1 - -Fixed issue #. - -### 1.1.0 - -Added features X, Y, and Z. - ---- - -## Following extension guidelines - -Ensure that you've read through the extensions guidelines and follow the best practices for creating your extension. - -- [Extension Guidelines](https://code.visualstudio.com/api/references/extension-guidelines) - -## Working with Markdown - -**Note:** You can author your README using Visual Studio Code. Here are some useful editor keyboard shortcuts: - -- Split the editor (`Cmd+\` on macOS or `Ctrl+\` on Windows and Linux) -- Toggle preview (`Shift+CMD+V` on macOS or `Shift+Ctrl+V` on Windows and Linux) -- Press `Ctrl+Space` (Windows, Linux) or `Cmd+Space` (macOS) to see a list of Markdown snippets - -### For more information - -- [Visual Studio Code's Markdown Support](http://code.visualstudio.com/docs/languages/markdown) -- [Markdown Syntax Reference](https://help.github.com/articles/markdown-basics/) - -**Enjoy!** +## How to run the extension locally + +- Run `yarn watch` in the `parcel-lsp` dir +- Run Parcel in a project with --reporter @parcel/reporter-lsp +- Press F5 in VS Code from the `parcelforvscode` dir +- A debug window should open up + - Progress build phase reports should show up at the bottom + - Diagnostics should show up in the `Problems` tab From 63331df45c54531ece45530cc939e387929661e2 Mon Sep 17 00:00:00 2001 From: thebriando Date: Tue, 24 May 2022 12:50:45 -0700 Subject: [PATCH 31/37] Cleanup --- packages/configs/default/index.json | 4 +--- packages/core/core/src/Parcel.js | 2 +- packages/core/utils/src/index.js | 1 - packages/native-packages | 1 - packages/reporters/bundle-analyzer/client/index.js | 11 +++++------ packages/reporters/cli/src/CLIReporter.js | 9 ++------- packages/utils/hash/benchmark.js | 5 ++++- 7 files changed, 13 insertions(+), 20 deletions(-) delete mode 120000 packages/native-packages diff --git a/packages/configs/default/index.json b/packages/configs/default/index.json index b1ca63ffa91..3b7aedf3717 100644 --- a/packages/configs/default/index.json +++ b/packages/configs/default/index.json @@ -39,9 +39,7 @@ "script:*.vue": ["@parcel/transformer-vue"], "style:*.vue": ["@parcel/transformer-vue"], "custom:*.vue": ["@parcel/transformer-vue"], - "*.{png,jpg,jpeg,webp,gif,tiff,avif,heic,heif}": [ - "@parcel/transformer-image" - ], + "*.{png,jpg,jpeg,webp,gif,tiff,avif,heic,heif}": ["@parcel/transformer-image"], "*.svg": ["@parcel/transformer-svg"], "*.{xml,rss,atom}": ["@parcel/transformer-xml"], "url:*": ["...", "@parcel/transformer-raw"] diff --git a/packages/core/core/src/Parcel.js b/packages/core/core/src/Parcel.js index 8378522829f..02ee4b07046 100644 --- a/packages/core/core/src/Parcel.js +++ b/packages/core/core/src/Parcel.js @@ -255,7 +255,7 @@ export default class Parcel { if (options.shouldProfile) { await this.startProfiling(); } - await this.#reporterRunner.report({ + this.#reporterRunner.report({ type: 'buildStart', }); diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index 799d2cfafdb..4df6ac1adf0 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -70,4 +70,3 @@ export { loadSourceMap, remapSourceLocation, } from './sourcemap'; -export {getProgressMessage} from './reporters'; diff --git a/packages/native-packages b/packages/native-packages deleted file mode 120000 index 618b90910cd..00000000000 --- a/packages/native-packages +++ /dev/null @@ -1 +0,0 @@ -../native-packages \ No newline at end of file diff --git a/packages/reporters/bundle-analyzer/client/index.js b/packages/reporters/bundle-analyzer/client/index.js index 618f85af94b..f31ea232525 100644 --- a/packages/reporters/bundle-analyzer/client/index.js +++ b/packages/reporters/bundle-analyzer/client/index.js @@ -86,7 +86,7 @@ window.addEventListener( function debounce(fn, delay) { let timeout; - return function (...args) { + return function(...args) { if (timeout) { clearTimeout(timeout); } @@ -103,10 +103,9 @@ function translate3d(x, y, z) { const UNITS = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; function formatSize(x) { - let l = 0, - n = parseInt(x, 10) || 0; - while (n >= 1000 && ++l) { - n /= 1000; + let l = 0, n = parseInt(x, 10) || 0; + while(n >= 1000 && ++l){ + n /= 1000; } - return `${n.toFixed(l > 0 ? 2 : 0)} ${UNITS[l]}`; + return(`${n.toFixed(l > 0 ? 2 : 0)} ${UNITS[l]}`); } diff --git a/packages/reporters/cli/src/CLIReporter.js b/packages/reporters/cli/src/CLIReporter.js index 73a389bc4a5..ef5016e6c98 100644 --- a/packages/reporters/cli/src/CLIReporter.js +++ b/packages/reporters/cli/src/CLIReporter.js @@ -171,13 +171,8 @@ async function writeDiagnostic( let columns = getTerminalWidth().columns; let indent = 2; for (let diagnostic of diagnostics) { - let { - message, - stack, - codeframe, - hints, - documentation, - } = await prettyDiagnostic(diagnostic, options, columns - indent); + let {message, stack, codeframe, hints, documentation} = + await prettyDiagnostic(diagnostic, options, columns - indent); // $FlowFixMe[incompatible-use] message = chalk[color](message); diff --git a/packages/utils/hash/benchmark.js b/packages/utils/hash/benchmark.js index bb980e05428..0788a80076e 100644 --- a/packages/utils/hash/benchmark.js +++ b/packages/utils/hash/benchmark.js @@ -6,7 +6,10 @@ const wasm = require('./browser.js'); const suite = new Benchmark(10000); suite.add('md5 crypto', () => { - crypto.createHash('md5').update('hello world').digest('hex'); + crypto + .createHash('md5') + .update('hello world') + .digest('hex'); }); suite.add('hashString small rust', () => { From 96d82209c49a0331f9a7a08b8caf366ab33f8333 Mon Sep 17 00:00:00 2001 From: thebriando Date: Tue, 24 May 2022 13:04:30 -0700 Subject: [PATCH 32/37] Fix getProgressMessage import --- packages/core/utils/src/reporters.js | 23 ------------------- .../reporters/lsp-reporter/src/LspReporter.js | 3 ++- yarn.lock | 8 +++++++ 3 files changed, 10 insertions(+), 24 deletions(-) delete mode 100644 packages/core/utils/src/reporters.js diff --git a/packages/core/utils/src/reporters.js b/packages/core/utils/src/reporters.js deleted file mode 100644 index 130ec89fd00..00000000000 --- a/packages/core/utils/src/reporters.js +++ /dev/null @@ -1,23 +0,0 @@ -// @flow strict-local - -import type {BuildProgressEvent} from '@parcel/types'; - -import path from 'path'; - -export function getProgressMessage(event: BuildProgressEvent): ?string { - switch (event.phase) { - case 'transforming': - return `Building ${path.basename(event.filePath)}...`; - - case 'bundling': - return 'Bundling...'; - - case 'packaging': - return `Packaging ${event.bundle.displayName}...`; - - case 'optimizing': - return `Optimizing ${event.bundle.displayName}...`; - } - - return null; -} diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 5cba15fc86b..2d0f9cde2a0 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -6,7 +6,7 @@ import type {FilePath} from '@parcel/types'; import {DiagnosticSeverity} from 'vscode-languageserver/node'; -import {DefaultMap, getProgressMessage} from '@parcel/utils'; +import {DefaultMap} from '@parcel/utils'; import {Reporter} from '@parcel/plugin'; import invariant from 'assert'; import path from 'path'; @@ -15,6 +15,7 @@ import fs from 'fs'; import ps from 'ps-node'; import {promisify} from 'util'; import ipc from 'node-ipc'; +import {getProgressMessage} from '../../cli/src/utils'; const lookupPid = promisify(ps.lookup); diff --git a/yarn.lock b/yarn.lock index 637a34b14f1..eab803c61b6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2148,6 +2148,14 @@ detect-libc "^1.0.3" globby "^11.0.3" +"@parcel/watcher@2.0.5": + version "2.0.5" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/watcher/-/watcher-2.0.5.tgz#f913a54e1601b0aac972803829b0eece48de215b" + integrity sha512-x0hUbjv891omnkcHD7ZOhiyyUqUUR6MNjq89JhEI3BxppeKWAm6NPQsqqRrAkCJBogdT/o/My21sXtTI9rJIsw== + dependencies: + node-addon-api "^3.2.1" + node-gyp-build "^4.3.0" + "@parcel/watcher@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.0.tgz#ebe992a4838b35c3da9a568eb95a71cb26ddf551" From 3238f4c8a666364df46a4909ce27705ca5cc82c3 Mon Sep 17 00:00:00 2001 From: thebriando Date: Tue, 24 May 2022 13:08:54 -0700 Subject: [PATCH 33/37] Update Parcel versions --- packages/reporters/lsp-reporter/package.json | 4 ++-- packages/utils/parcel-lsp/package.json | 4 ++-- packages/utils/parcelforvscode/package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index fba960ac7eb..94c20bc9101 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/reporter-lsp", - "version": "2.0.0-beta.2", + "version": "2.5.0", "license": "MIT", "publishConfig": { "access": "public" @@ -17,7 +17,7 @@ "source": "src/LspReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.5.0" }, "dependencies": { "@parcel/plugin": "2.5.0", diff --git a/packages/utils/parcel-lsp/package.json b/packages/utils/parcel-lsp/package.json index ce2616cc20b..da10321896a 100644 --- a/packages/utils/parcel-lsp/package.json +++ b/packages/utils/parcel-lsp/package.json @@ -1,6 +1,6 @@ { "name": "@parcel/lsp", - "version": "2.0.0-beta.2", + "version": "2.5.0", "license": "MIT", "publishConfig": { "access": "public" @@ -25,7 +25,7 @@ }, "engines": { "node": ">= 12.0.0", - "parcel": "^2.0.0-beta.1" + "parcel": "^2.5.0" }, "dependencies": { "vscode-languageserver-textdocument": "^1.0.0", diff --git a/packages/utils/parcelforvscode/package.json b/packages/utils/parcelforvscode/package.json index 49866127ac6..d8afcc368e3 100644 --- a/packages/utils/parcelforvscode/package.json +++ b/packages/utils/parcelforvscode/package.json @@ -36,7 +36,7 @@ "vscode-test": "^1.5.0" }, "dependencies": { - "@parcel/lsp": "2.0.0-beta.2", + "@parcel/lsp": "2.5.0", "vscode-languageclient": "^8.0.1" } } From 35eabd229f7b8c709d27577992162fdb38f29cf0 Mon Sep 17 00:00:00 2001 From: thebriando Date: Tue, 24 May 2022 15:42:45 -0700 Subject: [PATCH 34/37] Add comments for diagnostic format and Parcel watcher for parcel-lsp descriptors --- packages/reporters/lsp-reporter/src/LspReporter.js | 4 ++++ packages/utils/parcel-lsp/src/LspServer.ts | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 2d0f9cde2a0..86c89d9edca 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -178,6 +178,10 @@ function updateDiagnostics( continue; } + // We use the first highlight of the first codeFrame as the main Diagnostic, + // and we place everything else in the current Parcel diagnostic + // in relatedInformation + // https://code.visualstudio.com/api/references/vscode-api#DiagnosticRelatedInformation const firstFrameHighlight = codeFrames[0].codeHighlights[0]; if (firstFrameHighlight == null) { continue; diff --git a/packages/utils/parcel-lsp/src/LspServer.ts b/packages/utils/parcel-lsp/src/LspServer.ts index c1e2fd233d1..4637bac3560 100644 --- a/packages/utils/parcel-lsp/src/LspServer.ts +++ b/packages/utils/parcel-lsp/src/LspServer.ts @@ -196,6 +196,8 @@ let progressReporter = new ProgressReporter(); let clients: Map}> = new Map(); let parcelLspDir = path.join(fs.realpathSync(os.tmpdir()), 'parcel-lsp'); fs.mkdirSync(parcelLspDir, {recursive: true}); +// Search for currently running Parcel processes in the parcel-lsp dir. +// Create an IPC client connection for each running process. for (let filename of fs.readdirSync(parcelLspDir)) { const filepath = path.join(parcelLspDir, filename); let client = createIPCClientIfPossible(parcelLspDir, filepath); @@ -204,6 +206,8 @@ for (let filename of fs.readdirSync(parcelLspDir)) { } } +// Watch for new Parcel processes in the parcel-lsp dir, and disconnect the +// client for each corresponding connection when a Parcel process ends watcher.subscribe(parcelLspDir, async (err, events) => { if (err) { throw err; From 156ddc4c4abb0e703ad5a6c8d1f4f429f3f8760a Mon Sep 17 00:00:00 2001 From: thebriando Date: Mon, 27 Jun 2022 13:03:13 -0700 Subject: [PATCH 35/37] Fix flow errors, bump Parcel deps --- packages/reporters/lsp-reporter/package.json | 6 +- .../reporters/lsp-reporter/src/LspReporter.js | 2 + yarn.lock | 140 ++++++++++++++++++ 3 files changed, 145 insertions(+), 3 deletions(-) diff --git a/packages/reporters/lsp-reporter/package.json b/packages/reporters/lsp-reporter/package.json index 94c20bc9101..dccd7561050 100644 --- a/packages/reporters/lsp-reporter/package.json +++ b/packages/reporters/lsp-reporter/package.json @@ -17,11 +17,11 @@ "source": "src/LspReporter.js", "engines": { "node": ">= 12.0.0", - "parcel": "^2.5.0" + "parcel": "^2.6.2" }, "dependencies": { - "@parcel/plugin": "2.5.0", - "@parcel/utils": "2.5.0", + "@parcel/plugin": "2.6.2", + "@parcel/utils": "2.6.2", "node-ipc": "^9.1.4", "nullthrows": "^1.1.1", "ps-node": "^0.1.6", diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 86c89d9edca..89764551448 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -12,8 +12,10 @@ import invariant from 'assert'; import path from 'path'; import os from 'os'; import fs from 'fs'; +// flowlint-next-line untyped-import:off import ps from 'ps-node'; import {promisify} from 'util'; +// flowlint-next-line untyped-import:off import ipc from 'node-ipc'; import {getProgressMessage} from '../../cli/src/utils'; diff --git a/yarn.lock b/yarn.lock index 0646a653514..cb797718441 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2114,6 +2114,23 @@ dependencies: "@octokit/openapi-types" "^6.2.0" +"@parcel/cache@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/cache/-/cache-2.5.0.tgz#957620b1b26bfd4f9bd7256ea25ef86e7d6f2816" + integrity sha512-3kOO3cZQv0FAKhrMHGLdb4Qtzpmy78Q6jPN3u8eCY4yqeDTnyQBZvWNHoyCm5WlmL8y6Q6REYMbETLxSH1ggAQ== + dependencies: + "@parcel/fs" "2.5.0" + "@parcel/logger" "2.5.0" + "@parcel/utils" "2.5.0" + lmdb "2.2.4" + +"@parcel/codeframe@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/codeframe/-/codeframe-2.5.0.tgz#de73dcd69a36e9d0fed1f4361cabfd83df13244a" + integrity sha512-qafqL8Vu2kr932cCWESoDEEoAeKVi7/xdzTBuhzEJng1AfmRT0rCbt/P4ao3RjiDyozPSjXsHOqM6GDZcto4eQ== + dependencies: + chalk "^4.1.0" + "@parcel/css-darwin-arm64@1.10.1": version "1.10.1" resolved "https://registry.yarnpkg.com/@parcel/css-darwin-arm64/-/css-darwin-arm64-1.10.1.tgz#47476d6162ff49d3d38af4dd6001c85097ff64de" @@ -2170,6 +2187,80 @@ "@parcel/css-linux-x64-musl" "1.10.1" "@parcel/css-win32-x64-msvc" "1.10.1" +"@parcel/diagnostic@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/diagnostic/-/diagnostic-2.5.0.tgz#8c6891924e04b625d50176aae141d24dc8dddf87" + integrity sha512-KiMGGRpEV7wl5gjcxBKcgX84a+cG+IEn94gwy5LK3lENR09nuKShqqgKGAmj/17CobJgw1QNP94/H4Md+oxIWg== + dependencies: + "@mischnic/json-sourcemap" "^0.1.0" + nullthrows "^1.1.1" + +"@parcel/events@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/events/-/events-2.5.0.tgz#5e108a01a5aa3075038d2a2081fde0432d2559e7" + integrity sha512-Gc2LPwL1H34Ony5MENbKZg7wvCscZ4x9y7Fu92sfbdWpLo3K13hVtsX3TMIIgYt3B7R7OmO8yR880U2T+JfVkQ== + +"@parcel/fs-search@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/fs-search/-/fs-search-2.5.0.tgz#d96b7c46c2326398e52c9c14cdd07559d598436d" + integrity sha512-uBONkz9ZCNSOqbPGWJY3MNl+pqBTfvzHH9+4UhzHEHPArvK2oD0+syYPVE60+zGrxybXTESYMCJp4bHvH6Z2hA== + dependencies: + detect-libc "^1.0.3" + +"@parcel/fs@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/fs/-/fs-2.5.0.tgz#2bcb6ccf43826f2bfca9e1ca644be3bf5252c400" + integrity sha512-YYr14BWtx/bJ+hu6PPQQ6G/3omOTWgVqEw+UFI3iQH3P6+e0LRXW/Ja1yAcJeepGcTwIP0opnXZBQOm8PBQ2SA== + dependencies: + "@parcel/fs-search" "2.5.0" + "@parcel/types" "2.5.0" + "@parcel/utils" "2.5.0" + "@parcel/watcher" "^2.0.0" + "@parcel/workers" "2.5.0" + +"@parcel/hash@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/hash/-/hash-2.5.0.tgz#f2a05f7090f8f27ce8b53afd6272183763101ba7" + integrity sha512-47JL0XpB7UvIW6Ijf8vv+yVMt9dLvB/lRlBHFmAkmovisueVMVbYD7smxVZnCSehD8UH8BcymKbMzyL5dimgoQ== + dependencies: + detect-libc "^1.0.3" + xxhash-wasm "^0.4.2" + +"@parcel/logger@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/logger/-/logger-2.5.0.tgz#c618b780b80984d821c5bc53f27527fd540f4d0f" + integrity sha512-pT1L3ceH6trL1N3I3r2HawPjz/PCubOo/Kazu7IeXsMsKVjj1a6AeieZHzkNZIbhiGPtm/cHbBNLz2zTWDLeOA== + dependencies: + "@parcel/diagnostic" "2.5.0" + "@parcel/events" "2.5.0" + +"@parcel/markdown-ansi@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/markdown-ansi/-/markdown-ansi-2.5.0.tgz#e0751d6c8fcd0aa4c8ee0a08d27e9d4d64705410" + integrity sha512-ixkNF3KWIqxMlfxTe9Gb2cp/uNmklQev8VEUxujMVxmUfGyQs4859zdJIQlIinabWYhArhsXATkVf3MzCUN6TQ== + dependencies: + chalk "^4.1.0" + +"@parcel/package-manager@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/package-manager/-/package-manager-2.5.0.tgz#9c82236e4e0fa158008b5bc5298def1085913b30" + integrity sha512-zTuF55/lITUjw9dUU/X0HiF++589xbPXw/zUiG9T6s8BQThLvrxAhYP89S719pw7cTqDimGkTxnIuK+a0djEkg== + dependencies: + "@parcel/diagnostic" "2.5.0" + "@parcel/fs" "2.5.0" + "@parcel/logger" "2.5.0" + "@parcel/types" "2.5.0" + "@parcel/utils" "2.5.0" + "@parcel/workers" "2.5.0" + semver "^5.7.1" + +"@parcel/plugin@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/plugin/-/plugin-2.5.0.tgz#ae24d9a709581483e0d494a9e09100f0e40956cf" + integrity sha512-obtb6/Gql6YFQ86bdv75A2Noabx8679reFZeyfKKf0L7Lppx4DFQetXwM9XVy7Gx6hJ1Ekm3UMuuIyVJk33YHQ== + dependencies: + "@parcel/types" "2.5.0" + "@parcel/source-map@^2.0.0": version "2.0.0" resolved "https://registry.yarnpkg.com/@parcel/source-map/-/source-map-2.0.0.tgz#41cf004109bbf277ceaf096a58838ff6a59af774" @@ -2178,6 +2269,32 @@ detect-libc "^1.0.3" globby "^11.0.3" +"@parcel/types@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/types/-/types-2.5.0.tgz#e3818d4358f849ac2593605b98366b8e156ab533" + integrity sha512-bA0fhG6aXSGYEVo5Dt96x6lseUQHeVZVzgmiRdZsvb614Gvx22ItfaKhPmAVbM9vzbObZDHl9l9G2Ovw8Xve4g== + dependencies: + "@parcel/cache" "2.5.0" + "@parcel/diagnostic" "2.5.0" + "@parcel/fs" "2.5.0" + "@parcel/package-manager" "2.5.0" + "@parcel/source-map" "^2.0.0" + "@parcel/workers" "2.5.0" + utility-types "^3.10.0" + +"@parcel/utils@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/utils/-/utils-2.5.0.tgz#96d2c7e7226128cc84418ba41770b38aff23ca20" + integrity sha512-kaLGXtQuOOH55KZqXdYDvczhh3mk2eeTVqrrXuuihGjbLKYFlUW2tFDm+5r2s9nCPwTQxOO43ZEOCKSnia+e4w== + dependencies: + "@parcel/codeframe" "2.5.0" + "@parcel/diagnostic" "2.5.0" + "@parcel/hash" "2.5.0" + "@parcel/logger" "2.5.0" + "@parcel/markdown-ansi" "2.5.0" + "@parcel/source-map" "^2.0.0" + chalk "^4.1.0" + "@parcel/watcher@2.0.5": version "2.0.5" resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/watcher/-/watcher-2.0.5.tgz#f913a54e1601b0aac972803829b0eece48de215b" @@ -2194,6 +2311,18 @@ node-addon-api "^3.2.1" node-gyp-build "^4.3.0" +"@parcel/workers@2.5.0": + version "2.5.0" + resolved "https://packages.atlassian.com/api/npm/npm-remote/@parcel/workers/-/workers-2.5.0.tgz#c7f1a4bcd491c7422212724dedbcf7d1e980146e" + integrity sha512-/Ow5OKJWs+9OzV3Jy4J++VnbNx0j3ls/M1CGVBLiBWyCada9DMtquYoBQ4Sk6Uam50BKkIFYetGOeXPNQyyMjg== + dependencies: + "@parcel/diagnostic" "2.5.0" + "@parcel/logger" "2.5.0" + "@parcel/types" "2.5.0" + "@parcel/utils" "2.5.0" + chrome-trace-event "^1.0.2" + nullthrows "^1.1.1" + "@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0", "@sinonjs/commons@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.0.tgz#f90ffc52a2e519f018b13b6c4da03cbff36ebed6" @@ -8459,6 +8588,17 @@ listr2@^2.1.0: rxjs "^6.5.5" through "^2.3.8" +lmdb@2.2.4: + version "2.2.4" + resolved "https://packages.atlassian.com/api/npm/npm-remote/lmdb/-/lmdb-2.2.4.tgz#6494d5a1d1db152e0be759edcfa06893e4cbdb53" + integrity sha512-gto+BB2uEob8qRiTlOq+R3uX0YNHsX9mjxj9Sbdue/LIKqu6IlZjrsjKeGyOMquc/474GEqFyX2pdytpydp0rQ== + dependencies: + msgpackr "^1.5.4" + nan "^2.14.2" + node-gyp-build "^4.2.3" + ordered-binary "^1.2.4" + weak-lru-cache "^1.2.2" + lmdb@2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/lmdb/-/lmdb-2.5.2.tgz#37e28a9fb43405f4dc48c44cec0e13a14c4a6ff1" From e608b072f3cc23b20c208b2ddbbf638476e6d1c8 Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 6 Jul 2022 15:23:54 +0200 Subject: [PATCH 36/37] More getProgressMessage to utils --- packages/core/utils/src/index.js | 1 + packages/core/utils/src/progress-message.js | 22 +++++++++++++++++++ packages/reporters/cli/src/CLIReporter.js | 9 ++++++-- packages/reporters/cli/src/utils.js | 20 ----------------- .../reporters/lsp-reporter/src/LspReporter.js | 3 +-- 5 files changed, 31 insertions(+), 24 deletions(-) create mode 100644 packages/core/utils/src/progress-message.js diff --git a/packages/core/utils/src/index.js b/packages/core/utils/src/index.js index 4df6ac1adf0..d537e7035aa 100644 --- a/packages/core/utils/src/index.js +++ b/packages/core/utils/src/index.js @@ -41,6 +41,7 @@ export { export {resolveConfig, resolveConfigSync, loadConfig} from './config'; export {DefaultMap, DefaultWeakMap} from './DefaultMap'; export {makeDeferredWithPromise} from './Deferred'; +export {getProgressMessage} from './progress-message.js'; export {isGlob, isGlobMatch, globSync, glob, globToRegex} from './glob'; export {hashStream, hashObject, hashFile} from './hash'; export {SharedBuffer} from './shared-buffer'; diff --git a/packages/core/utils/src/progress-message.js b/packages/core/utils/src/progress-message.js new file mode 100644 index 00000000000..625ba92d4a0 --- /dev/null +++ b/packages/core/utils/src/progress-message.js @@ -0,0 +1,22 @@ +// @flow strict-local +import type {BuildProgressEvent} from '@parcel/types'; + +import path from 'path'; + +export function getProgressMessage(event: BuildProgressEvent): ?string { + switch (event.phase) { + case 'transforming': + return `Building ${path.basename(event.filePath)}...`; + + case 'bundling': + return 'Bundling...'; + + case 'packaging': + return `Packaging ${event.bundle.displayName}...`; + + case 'optimizing': + return `Optimizing ${event.bundle.displayName}...`; + } + + return null; +} diff --git a/packages/reporters/cli/src/CLIReporter.js b/packages/reporters/cli/src/CLIReporter.js index 9bd9d77be93..234b7182020 100644 --- a/packages/reporters/cli/src/CLIReporter.js +++ b/packages/reporters/cli/src/CLIReporter.js @@ -4,10 +4,15 @@ import type {Diagnostic} from '@parcel/diagnostic'; import type {Color} from 'chalk'; import {Reporter} from '@parcel/plugin'; -import {prettifyTime, prettyDiagnostic, throttle} from '@parcel/utils'; +import { + getProgressMessage, + prettifyTime, + prettyDiagnostic, + throttle, +} from '@parcel/utils'; import chalk from 'chalk'; -import {getProgressMessage, getTerminalWidth} from './utils'; +import {getTerminalWidth} from './utils'; import logLevels from './logLevels'; import bundleReport from './bundleReport'; import { diff --git a/packages/reporters/cli/src/utils.js b/packages/reporters/cli/src/utils.js index da12ad67241..76379785848 100644 --- a/packages/reporters/cli/src/utils.js +++ b/packages/reporters/cli/src/utils.js @@ -1,6 +1,4 @@ // @flow -import type {BuildProgressEvent} from '@parcel/types'; - import path from 'path'; import chalk from 'chalk'; import stringWidth from 'string-width'; @@ -13,24 +11,6 @@ process.stdout.on('resize', function () { terminalSize = termSize(); }); -export function getProgressMessage(event: BuildProgressEvent): ?string { - switch (event.phase) { - case 'transforming': - return `Building ${path.basename(event.filePath)}...`; - - case 'bundling': - return 'Bundling...'; - - case 'packaging': - return `Packaging ${event.bundle.displayName}...`; - - case 'optimizing': - return `Optimizing ${event.bundle.displayName}...`; - } - - return null; -} - export function getTerminalWidth(): any { return terminalSize; } diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 89764551448..07d80fc50b5 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -6,7 +6,7 @@ import type {FilePath} from '@parcel/types'; import {DiagnosticSeverity} from 'vscode-languageserver/node'; -import {DefaultMap} from '@parcel/utils'; +import {DefaultMap, getProgressMessage} from '@parcel/utils'; import {Reporter} from '@parcel/plugin'; import invariant from 'assert'; import path from 'path'; @@ -17,7 +17,6 @@ import ps from 'ps-node'; import {promisify} from 'util'; // flowlint-next-line untyped-import:off import ipc from 'node-ipc'; -import {getProgressMessage} from '../../cli/src/utils'; const lookupPid = promisify(ps.lookup); From 690c7d594c31627d6bfc43f19543d607cf66398e Mon Sep 17 00:00:00 2001 From: Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> Date: Wed, 6 Jul 2022 15:24:05 +0200 Subject: [PATCH 37/37] Add missing flow types --- flow-libs/node-ipc.js.flow | 376 ++++++++++++++++++ flow-libs/ps-node.js.flow | 45 +++ .../reporters/lsp-reporter/src/LspReporter.js | 13 +- 3 files changed, 427 insertions(+), 7 deletions(-) create mode 100644 flow-libs/node-ipc.js.flow create mode 100644 flow-libs/ps-node.js.flow diff --git a/flow-libs/node-ipc.js.flow b/flow-libs/node-ipc.js.flow new file mode 100644 index 00000000000..4ee791cdc97 --- /dev/null +++ b/flow-libs/node-ipc.js.flow @@ -0,0 +1,376 @@ +// @flow strict-local + +// Based on /~https://github.com/DefinitelyTyped/DefinitelyTyped/blob/38f29378a16e729ebb9827dc06357bf1d24ea5dd/types/node-ipc/index.d.ts + +// Type definitions for node-ipc 9.2 +// Project: http://riaevangelist.github.io/node-ipc/ +// Definitions by: Arvitaly , gjurgens +// Definitions: /~https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module 'node-ipc' { + import type {Socket} from 'net'; + + declare class IPC { + /** + * Set these variables in the ipc.config scope to overwrite or set default values + */ + config: Config; + /** + * https://www.npmjs.com/package/node-ipc#log + */ + log(...args: any[]): void; + /** + * https://www.npmjs.com/package/node-ipc#connectto + * Used for connecting as a client to local Unix Sockets and Windows Sockets. + * This is the fastest way for processes on the same machine to communicate + * because it bypasses the network card which TCP and UDP must both use. + * @param id is the string id of the socket being connected to. + * The socket with this id is added to the ipc.of object when created. + * @param path is the path of the Unix Domain Socket File, if the System is Windows, + * this will automatically be converted to an appropriate pipe with the same information as the Unix Domain Socket File. + * If not set this will default to ipc.config.socketRoot+ipc.config.appspace+id + * @param callback this is the function to execute when the socket has been created + */ + connectTo(id: string, path?: string, callback?: () => void): void; + /** + * https://www.npmjs.com/package/node-ipc#connectto + * Used for connecting as a client to local Unix Sockets and Windows Sockets. + * This is the fastest way for processes on the same machine to communicate + * because it bypasses the network card which TCP and UDP must both use. + * @param id is the string id of the socket being connected to. + * The socket with this id is added to the ipc.of object when created. + * @param callback this is the function to execute when the socket has been created + */ + connectTo(id: string, callback?: () => void): void; + /** + * https://www.npmjs.com/package/node-ipc#connecttonet + * Used to connect as a client to a TCP or TLS socket via the network card. + * This can be local or remote, if local, it is recommended that you use the Unix + * and Windows Socket Implementaion of connectTo instead as it is much faster since it avoids the network card altogether. + * For TLS and SSL Sockets see the node-ipc TLS and SSL docs. + * They have a few additional requirements, and things to know about and so have their own doc. + * @param id is the string id of the socket being connected to. For TCP & TLS sockets, + * this id is added to the ipc.of object when the socket is created with a reference to the socket + * @param host is the host on which the TCP or TLS socket resides. + * This will default to ipc.config.networkHost if not specified + * @param port the port on which the TCP or TLS socket resides + * @param callback this is the function to execute when the socket has been created + */ + connectToNet( + id: string, + host?: string, + port?: number, + callback?: () => void, + ): void; + /** + * https://www.npmjs.com/package/node-ipc#connecttonet + * Used to connect as a client to a TCP or TLS socket via the network card. + * This can be local or remote, if local, it is recommended that you use the Unix + * and Windows Socket Implementaion of connectTo instead as it is much faster since it avoids the network card altogether. + * For TLS and SSL Sockets see the node-ipc TLS and SSL docs. + * They have a few additional requirements, and things to know about and so have their own doc. + * @param id is the string id of the socket being connected to. For TCP & TLS sockets, + * this id is added to the ipc.of object when the socket is created with a reference to the socket + * @param callback this is the function to execute when the socket has been created + */ + connectToNet(id: string, callback?: () => void): void; + /** + * https://www.npmjs.com/package/node-ipc#connecttonet + * Used to connect as a client to a TCP or TLS socket via the network card. + * This can be local or remote, if local, it is recommended that you use the Unix + * and Windows Socket Implementaion of connectTo instead as it is much faster since it avoids the network card altogether. + * For TLS and SSL Sockets see the node-ipc TLS and SSL docs. + * They have a few additional requirements, and things to know about and so have their own doc. + * @param id is the string id of the socket being connected to. + * For TCP & TLS sockets, this id is added to the ipc.of object when the socket is created with a reference to the socket + * @param host is the host on which the TCP or TLS socket resides. This will default to ipc.config.networkHost if not specified + * @param port the port on which the TCP or TLS socket resides + * @param callback this is the function to execute when the socket has been created + */ + connectToNet( + id: string, + hostOrPort: number | string, + callback?: () => void, + ): void; + /** + * https://www.npmjs.com/package/node-ipc#disconnect + * Used to disconnect a client from a Unix, Windows, TCP or TLS socket. + * The socket and its refrence will be removed from memory and the ipc.of scope. + * This can be local or remote. UDP clients do not maintain connections and so there are no Clients and this method has no value to them + * @param id is the string id of the socket from which to disconnect + */ + disconnect(id: string): void; + /** + * https://www.npmjs.com/package/node-ipc#serve + * Used to create local Unix Socket Server or Windows Socket Server to which Clients can bind. + * The server can emit events to specific Client Sockets, or broadcast events to all known Client Sockets + * @param path This is the path of the Unix Domain Socket File, if the System is Windows, + * this will automatically be converted to an appropriate pipe with the same information as the Unix Domain Socket File. + * If not set this will default to ipc.config.socketRoot+ipc.config.appspace+id + * @param callback This is a function to be called after the Server has started. + * This can also be done by binding an event to the start event like ipc.server.on('start',function(){}); + */ + serve(path: string, callback?: () => void): void; + /** + * https://www.npmjs.com/package/node-ipc#serve + * Used to create local Unix Socket Server or Windows Socket Server to which Clients can bind. + * The server can emit events to specific Client Sockets, or broadcast events to all known Client Sockets + * @param callback This is a function to be called after the Server has started. + * This can also be done by binding an event to the start event like ipc.server.on('start',function(){}); + */ + serve(callback?: () => void): void; + /** + * https://www.npmjs.com/package/node-ipc#serve + * Used to create local Unix Socket Server or Windows Socket Server to which Clients can bind. + * The server can emit events to specific Client Sockets, or broadcast events to all known Client Sockets + */ + serve(callback: null): void; + /** + * https://www.npmjs.com/package/node-ipc#servenet + * @param host If not specified this defaults to the first address in os.networkInterfaces(). + * For TCP, TLS & UDP servers this is most likely going to be 127.0.0.1 or ::1 + * @param port The port on which the TCP, UDP, or TLS Socket server will be bound, this defaults to 8000 if not specified + * @param UDPType If set this will create the server as a UDP socket. 'udp4' or 'udp6' are valid values. + * This defaults to not being set. When using udp6 make sure to specify a valid IPv6 host, like ::1 + * @param callback Function to be called when the server is created + */ + serveNet( + host?: string, + port?: number, + UDPType?: 'udp4' | 'udp6', + callback?: () => void, + ): void; + /** + * https://www.npmjs.com/package/node-ipc#servenet + * @param UDPType If set this will create the server as a UDP socket. 'udp4' or 'udp6' are valid values. + * This defaults to not being set. When using udp6 make sure to specify a valid IPv6 host, like ::1 + * @param callback Function to be called when the server is created + */ + serveNet(UDPType: 'udp4' | 'udp6', callback?: () => void): void; + /** + * https://www.npmjs.com/package/node-ipc#servenet + * @param callback Function to be called when the server is created + * @param port The port on which the TCP, UDP, or TLS Socket server will be bound, this defaults to 8000 if not specified + */ + serveNet(callbackOrPort: EmptyCallback | number): void; + /** + * https://www.npmjs.com/package/node-ipc#servenet + * @param host If not specified this defaults to the first address in os.networkInterfaces(). + * For TCP, TLS & UDP servers this is most likely going to be 127.0.0.1 or ::1 + * @param port The port on which the TCP, UDP, or TLS Socket server will be bound, this defaults to 8000 if not specified + * @param callback Function to be called when the server is created + */ + serveNet(host: string, port: number, callback?: () => void): void; + /** + * This is where socket connection references will be stored when connecting to them as a client via the ipc.connectTo + * or iupc.connectToNet. They will be stored based on the ID used to create them, eg : ipc.of.mySocket + */ + of: {[string]: Client}; + /** + * This is a refrence to the server created by ipc.serve or ipc.serveNet + */ + server: Server; + } + declare type EmptyCallback = () => void; + declare interface Client { + /** + * triggered when a JSON message is received. The event name will be the type string from your message + * and the param will be the data object from your message eg : { type:'myEvent',data:{a:1}} + */ + on(event: string, callback: (...args: any[]) => void): Client; + /** + * triggered when an error has occured + */ + on(event: 'error', callback: (err: any) => void): Client; + /** + * connect - triggered when socket connected + * disconnect - triggered by client when socket has disconnected from server + * destroy - triggered when socket has been totally destroyed, no further auto retries will happen and all references are gone + */ + on( + event: 'connect' | 'disconnect' | 'destroy', + callback: () => void, + ): Client; + /** + * triggered by server when a client socket has disconnected + */ + on( + event: 'socket.disconnected', + callback: (socket: Socket, destroyedSocketID: string) => void, + ): Client; + /** + * triggered when ipc.config.rawBuffer is true and a message is received + */ + on(event: 'data', callback: (buffer: Buffer) => void): Client; + emit(event: string, value?: any): Client; + /** + * Unbind subscribed events + */ + off(event: string, handler: any): Client; + } + declare interface Server extends Client { + /** + * start serving need top call serve or serveNet first to set up the server + */ + start(): void; + /** + * close the server and stop serving + */ + stop(): void; + emit(value: any): Client; + emit(event: string, value: any): Client; + emit(socket: Socket | SocketConfig, event: string, value?: any): Server; + emit(socketConfig: Socket | SocketConfig, value?: any): Server; + broadcast(event: string, value?: any): Client; + } + declare interface SocketConfig { + address?: string | void; + port?: number | void; + } + declare interface Config { + /** + * Default: 'app.' + * Used for Unix Socket (Unix Domain Socket) namespacing. + * If not set specifically, the Unix Domain Socket will combine the socketRoot, appspace, + * and id to form the Unix Socket Path for creation or binding. + * This is available incase you have many apps running on your system, you may have several sockets with the same id, + * but if you change the appspace, you will still have app specic unique sockets + */ + appspace: string; + /** + * Default: '/tmp/' + * The directory in which to create or bind to a Unix Socket + */ + socketRoot: string; + /** + * Default: os.hostname() + * The id of this socket or service + */ + id: string; + /** + * Default: 'localhost' + * The local or remote host on which TCP, TLS or UDP Sockets should connect + * Should resolve to 127.0.0.1 or ::1 see the table below related to this + */ + networkHost: string; + /** + * Default: 8000 + * The default port on which TCP, TLS, or UDP sockets should connect + */ + networkPort: number; + /** + * Default: false + * Makes the pipe readable for all users including windows services + */ + readableAll: boolean; + /** + * Default: false + * Makes the pipe writable for all users including windows services + */ + writableAll: boolean; + /** + * Default: 'utf8' + * the default encoding for data sent on sockets. Mostly used if rawBuffer is set to true. + * Valid values are : ascii utf8 utf16le ucs2 base64 hex + */ + encoding: 'ascii' | 'utf8' | 'utf16le' | 'ucs2' | 'base64' | 'hex'; + /** + * Default: false + * If true, data will be sent and received as a raw node Buffer NOT an Object as JSON. + * This is great for Binary or hex IPC, and communicating with other processes in languages like C and C++ + */ + rawBuffer: boolean; + /** + * Default: false + * Synchronous requests. Clients will not send new requests until the server answers + */ + sync: boolean; + /** + * Default: false + * Turn on/off logging default is false which means logging is on + */ + silent: boolean; + /** + * Default: true + * Turn on/off util.inspect colors for ipc.log + */ + logInColor: boolean; + /** + * Default: 5 + * Set the depth for util.inspect during ipc.log + */ + logDepth: number; + /** + * Default: console.log + * The function which receives the output from ipc.log; should take a single string argument + */ + logger: (msg: string) => void; + /** + * Default: 100 + * This is the max number of connections allowed to a socket. It is currently only being set on Unix Sockets. + * Other Socket types are using the system defaults + */ + maxConnections: number; + /** + * Default: 500 + * This is the time in milliseconds a client will wait before trying to reconnect to a server if the connection is lost. + * This does not effect UDP sockets since they do not have a client server relationship like Unix Sockets and TCP Sockets + */ + retry: number; + /* */ + /** + * Default: false + * if set, it represents the maximum number of retries after each disconnect before giving up + * and completely killing a specific connection + */ + maxRetries: boolean | number; + /** + * Default: false + * Defaults to false meaning clients will continue to retry to connect to servers indefinitely at the retry interval. + * If set to any number the client will stop retrying when that number is exceeded after each disconnect. + * If set to true in real time it will immediately stop trying to connect regardless of maxRetries. + * If set to 0, the client will NOT try to reconnect + */ + stopRetrying: boolean; + /** + * Default: true + * Defaults to true meaning that the module will take care of deleting the IPC socket prior to startup. + * If you use node-ipc in a clustered environment where there will be multiple listeners on the same socket, + * you must set this to false and then take care of deleting the socket in your own code. + */ + unlink: boolean; + /** + * Primarily used when specifying which interface a client should connect through. + * see the socket.connect documentation in the node.js api https://nodejs.org/api/net.html#net_socket_connect_options_connectlistener + */ + interfaces: {| + /** + * Default: false + */ + localAddress?: boolean | void, + /** + * Default: false + */ + localPort?: boolean | void, + /** + * Default: false + */ + family?: boolean | void, + /** + * Default: false + */ + hints?: boolean | void, + /** + * Default: false + */ + lookup?: boolean | void, + |}; + tls: {| + rejectUnauthorized?: boolean | void, + public?: string | void, + private?: string | void, + |}; + } + + declare module.exports: IPC; +} diff --git a/flow-libs/ps-node.js.flow b/flow-libs/ps-node.js.flow new file mode 100644 index 00000000000..19eafb9a909 --- /dev/null +++ b/flow-libs/ps-node.js.flow @@ -0,0 +1,45 @@ +// @flow strict-local + +// Based on /~https://github.com/DefinitelyTyped/DefinitelyTyped/blob/38f29378a16e729ebb9827dc06357bf1d24ea5dd/types/ps-node/index.d.ts + +// Type definitions for ps-node 0.1 +// Project: /~https://github.com/neekey/ps#readme +// Definitions by: Kyle Hensel +// Definitions: /~https://github.com/DefinitelyTyped/DefinitelyTyped + +declare module 'ps-node' { + declare export interface Program { + arguments: string[]; + command: string; + pid: number; + } + + declare export interface Query { + pid?: string | string[] | number | void; + ppid?: number | void; + command?: string | RegExp | void; + arguments?: string | RegExp | void; + psargs?: string | string[] | void; + } + + declare export interface Signal { + signal: string; + timeout: number; + } + + /** Query Process: Focus on pid & cmd */ + declare export function lookup( + query: Query, + cb: (err: Error, list: Program[]) => void, + ): void; + + declare export function kill( + pID: number | string, + cb?: (err?: Error) => void, + ): void; + declare export function kill( + pID: number | string, + signal?: string | Signal, + cb?: (err?: Error) => void, + ): void; +} diff --git a/packages/reporters/lsp-reporter/src/LspReporter.js b/packages/reporters/lsp-reporter/src/LspReporter.js index 07d80fc50b5..4e3ee4e300d 100644 --- a/packages/reporters/lsp-reporter/src/LspReporter.js +++ b/packages/reporters/lsp-reporter/src/LspReporter.js @@ -3,6 +3,7 @@ import type {Diagnostic as ParcelDiagnostic} from '@parcel/diagnostic'; import type {FilePath} from '@parcel/types'; +import type {Program, Query} from 'ps-node'; import {DiagnosticSeverity} from 'vscode-languageserver/node'; @@ -12,13 +13,11 @@ import invariant from 'assert'; import path from 'path'; import os from 'os'; import fs from 'fs'; -// flowlint-next-line untyped-import:off -import ps from 'ps-node'; +import * as ps from 'ps-node'; import {promisify} from 'util'; -// flowlint-next-line untyped-import:off import ipc from 'node-ipc'; -const lookupPid = promisify(ps.lookup); +const lookupPid: Query => Program[] = promisify(ps.lookup); // flowlint-next-line unclear-type:off type LspDiagnostic = any; @@ -45,12 +44,12 @@ export default (new Reporter({ type: 'parcelFileDiagnostics', fileDiagnostics: [...fileDiagnostics], }); - ipc.server.on('connect', () => + ipc.server.on('connect', () => { ipc.server.emit(socket, 'message', { type: 'parcelFileDiagnostics', fileDiagnostics: [...fileDiagnostics], - }), - ); + }); + }); }); }); ipc.server.start();