diff --git a/.devcontainer/README.md b/.devcontainer/README.md
index 6522e98aac9..a5bde90d527 100644
--- a/.devcontainer/README.md
+++ b/.devcontainer/README.md
@@ -19,13 +19,14 @@ This dev container includes configuration for a development container for workin
> **Note:** The Dev Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
4. Due to the size of the repository we strongly recommend cloning it on a Linux filesystem for better bind mount performance. On macOS we recommend using a Docker volume (press F1 and select **Dev Containers: Clone Repository in Container Volume...**) and on Windows we recommend using a WSL folder:
+
- Make sure you are running a recent WSL version to get X11 and Wayland support.
- Use the WSL extension for VS Code to open the cloned folder in WSL.
- Press F1 and select **Dev Containers: Reopen in Container**.
Next: **[Try it out!](#try-it)**
-## Try it!
+## Try it
To start working with Code - OSS, follow these steps:
@@ -50,6 +51,6 @@ Next, let's try debugging.
Enjoy!
-# Notes
+## Notes
The container comes with VS Code Insiders installed. To run it from an Integrated Terminal use `VSCODE_IPC_HOOK_CLI= /usr/bin/code-insiders .`.
diff --git a/.devcontainer/prebuilt/README.md b/.devcontainer/prebuilt/README.md
index 82e731230c0..2ca4619ce13 100644
--- a/.devcontainer/prebuilt/README.md
+++ b/.devcontainer/prebuilt/README.md
@@ -14,21 +14,21 @@ If you already have VS Code and Docker installed, you can click the badge above
2. **Important**: Docker needs at least **4 Cores and 8 GB of RAM** to run a full build with **9 GB of RAM** being recommended. If you are on macOS, or are using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item and going to **Preferences/Settings > Resources > Advanced**.
- > **Note:** The [Resource Monitor](https://marketplace.visualstudio.com/items?itemName=mutantdino.resourcemonitor) extension is included in the container so you can keep an eye on CPU/Memory in the status bar.
+ > **Note:** The [Resource Monitor](https://marketplace.visualstudio.com/items?itemName=mutantdino.resourcemonitor) extension is included in the container so you can keep an eye on CPU/Memory in the status bar.
3. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the [Dev Containers](https://aka.ms/vscode-remote/download/containers) extension.
- 
+ 
- > **Note:** The Dev Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
+ > **Note:** The Dev Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
4. Press Ctrl/Cmd + Shift + P or F1 and select **Dev Containers: Clone Repository in Container Volume...**.
- > **Tip:** While you can use your local source tree instead, operations like `yarn install` can be slow on macOS or when using the Hyper-V engine on Windows. We recommend the "clone repository in container" approach instead since it uses "named volume" rather than the local filesystem.
+ > **Tip:** While you can use your local source tree instead, operations like `yarn install` can be slow on macOS or when using the Hyper-V engine on Windows. We recommend the "clone repository in container" approach instead since it uses "named volume" rather than the local filesystem.
5. Type `https://github.com/microsoft/vscode` (or a branch or PR URL) in the input box and press Enter .
-6. After the container is running, open a web browser and go to [http://localhost:6080](http://localhost:6080), or use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
+6. After the container is running, open a web browser and go to [http://localhost:6080](http://localhost:6080), or use a [VNC Viewer][def] to connect to `localhost:5901` and enter `vscode` as the password.
Anything you start in VS Code, or the integrated terminal, will appear here.
@@ -54,41 +54,42 @@ Next: **[Try it out!](#try-it)**
### Using VS Code with GitHub Codespaces
-You may see improved VNC responsiveness when accessing a codespace from VS Code client since you can use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/). Here's how to do it.
+You may see improved VNC responsiveness when accessing a codespace from VS Code client since you can use a [VNC Viewer][def]. Here's how to do it.
-1. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the the [GitHub Codespaces extension](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces).
+1. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the the [GitHub Codespaces extension](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces).
- > **Note:** The GitHub Codespaces extension requires the Visual Studio Code distribution of Code - OSS.
+ > **Note:** The GitHub Codespaces extension requires the Visual Studio Code distribution of Code - OSS.
2. After the VS Code is up and running, press Ctrl/Cmd + Shift + P or F1 , choose **Codespaces: Create New Codespace**, and use the following settings:
- - `microsoft/vscode` for the repository.
- - Select any branch (e.g. **main**) - you can select a different one later.
- - Choose **Standard** (4-core, 8GB) as the size.
-4. After you have connected to the codespace, you can use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
+- `microsoft/vscode` for the repository.
+- Select any branch (e.g. **main**) - you can select a different one later.
+- Choose **Standard** (4-core, 8GB) as the size.
+
+3. After you have connected to the codespace, you can use a [VNC Viewer][def] to connect to `localhost:5901` and enter `vscode` as the password.
> **Tip:** You may also need change your VNC client's **Picture Quality** setting to **High** to get a full color desktop.
-5. Anything you start in VS Code, or the integrated terminal, will appear here.
+4. Anything you start in VS Code, or the integrated terminal, will appear here.
Next: **[Try it out!](#try-it)**
-## Try it!
+## Try it
This container uses the [Fluxbox](http://fluxbox.org/) window manager to keep things lean. **Right-click on the desktop** to see menu options. It works with GNOME and GTK applications, so other tools can be installed if needed.
-> **Note:** You can also set the resolution from the command line by typing `set-resolution`.
+ > **Note:** You can also set the resolution from the command line by typing `set-resolution`.
To start working with Code - OSS, follow these steps:
1. In your local VS Code client, open a terminal (Ctrl/Cmd + Shift + \` ) and type the following commands:
- ```bash
- yarn install
- bash scripts/code.sh
- ```
+ ```bash
+ yarn install
+ bash scripts/code.sh
+ ```
-2. After the build is complete, open a web browser or a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to the desktop environment as described in the quick start and enter `vscode` as the password.
+2. After the build is complete, open a web browser or a [VNC Viewer][def] to connect to the desktop environment as described in the quick start and enter `vscode` as the password.
3. You should now see Code - OSS!
@@ -98,8 +99,10 @@ Next, let's try debugging.
2. Go to your local VS Code client, and use the **Run / Debug** view to launch the **VS Code** configuration. (Typically the default, so you can likely just press F5 ).
- > **Note:** If launching times out, you can increase the value of `timeout` in the "VS Code", "Attach Main Process", "Attach Extension Host", and "Attach to Shared Process" configurations in [launch.json](../../.vscode/launch.json). However, running `scripts/code.sh` first will set up Electron which will usually solve timeout issues.
+ > **Note:** If launching times out, you can increase the value of `timeout` in the "VS Code", "Attach Main Process", "Attach Extension Host", and "Attach to Shared Process" configurations in [launch.json](../../.vscode/launch.json). However, running `scripts/code.sh` first will set up Electron which will usually solve timeout issues.
3. After a bit, Code - OSS will appear with the debugger attached!
Enjoy!
+
+[def]: https://www.realvnc.com/en/connect/download/viewer/
diff --git a/.eslintignore b/.eslintignore
index fea65b49587..7bbd3778e90 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -15,6 +15,7 @@
**/extensions/typescript-language-features/test-workspace/**
**/extensions/typescript-language-features/extension.webpack.config.js
**/extensions/typescript-language-features/extension-browser.webpack.config.js
+**/extensions/typescript-language-features/package-manager/node-maintainer/**
**/extensions/vscode-api-tests/testWorkspace/**
**/extensions/vscode-api-tests/testWorkspace2/**
**/fixtures/**
diff --git a/.eslintrc.json b/.eslintrc.json
index e6011aeed86..f44673cd1cd 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -172,6 +172,7 @@
"drop",
"edit",
"end",
+ "execute",
"expand",
"grant",
"hide",
@@ -195,6 +196,47 @@
]
}
},
+ {
+ "files": [
+ "**/vscode.d.ts"
+ ],
+ "rules": {
+ "jsdoc/tag-lines": "off",
+ "jsdoc/valid-types": "off",
+ "jsdoc/no-multi-asterisks": [
+ "warn",
+ {
+ "allowWhitespace": true
+ }
+ ],
+ "jsdoc/require-jsdoc": [
+ "warn",
+ {
+ "enableFixer": false,
+ "contexts": [
+ "TSInterfaceDeclaration",
+ "TSPropertySignature",
+ "TSMethodSignature",
+ "TSDeclareFunction",
+ "ClassDeclaration",
+ "MethodDefinition",
+ "PropertyDeclaration",
+ "TSEnumDeclaration",
+ "TSEnumMember",
+ "ExportNamedDeclaration"
+ ]
+ }
+ ],
+ "jsdoc/check-param-names": [
+ "warn",
+ {
+ "enableFixer": false,
+ "checkDestructured": false
+ }
+ ],
+ "jsdoc/require-returns": "warn"
+ }
+ },
{
"files": [
"src/**/{common,browser}/**/*.ts"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cd32a2b50b9..bf63d22e313 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -107,7 +107,7 @@ jobs:
- name: Setup Build Environment
run: |
sudo apt-get update
- sudo apt-get install -y libxkbfile-dev pkg-config libsecret-1-dev libkrb5-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
+ sudo apt-get install -y libxkbfile-dev pkg-config libkrb5-dev libxss1 dbus xvfb libgtk-3-0 libgbm1
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
sudo chmod +x /etc/init.d/xvfb
sudo update-rc.d xvfb defaults
@@ -221,8 +221,7 @@ jobs:
- name: Compile Integration Tests
run: yarn --cwd test/integration/browser compile
- # This is required for keytar unittests, otherwise we hit
- # https://github.com/atom/node-keytar/issues/76
+ # This is required for SecretStorage unittests
- name: Create temporary keychain
run: |
security create-keychain -p pwd $RUNNER_TEMP/buildagent.keychain
diff --git a/.vscode/launch.json b/.vscode/launch.json
index 3bea8e7c076..b2e25927a8a 100644
--- a/.vscode/launch.json
+++ b/.vscode/launch.json
@@ -256,7 +256,11 @@
"browserLaunchLocation": "workspace",
"presentation": {
"hidden": true,
- }
+ },
+ // This is read by the vscode-diagnostic-tools extension
+ "vscode-diagnostic-tools.debuggerScripts": [
+ "${workspaceFolder}/scripts/hot-reload-injected-script.js"
+ ]
},
{
"type": "node",
diff --git a/.vscode/notebooks/api.github-issues b/.vscode/notebooks/api.github-issues
index 706cb4d5d38..3c234735491 100644
--- a/.vscode/notebooks/api.github-issues
+++ b/.vscode/notebooks/api.github-issues
@@ -7,7 +7,7 @@
{
"kind": 2,
"language": "github-issues",
- "value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"August 2023\""
+ "value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"September 2023\""
},
{
"kind": 1,
diff --git a/.vscode/notebooks/my-endgame.github-issues b/.vscode/notebooks/my-endgame.github-issues
index 96c780e5a6f..6978af0b6f0 100644
--- a/.vscode/notebooks/my-endgame.github-issues
+++ b/.vscode/notebooks/my-endgame.github-issues
@@ -177,7 +177,7 @@
{
"kind": 2,
"language": "github-issues",
- "value": "$REPOS $MILESTONE -$MINE is:issue label:bug label:verification-steps-needed"
+ "value": "$REPOS $MILESTONE -$MINE is:issue label:bug label:verification-steps-needed -label:verified"
},
{
"kind": 1,
diff --git a/.vscode/notebooks/my-work.github-issues b/.vscode/notebooks/my-work.github-issues
index 06efd345018..e48617f8fde 100644
--- a/.vscode/notebooks/my-work.github-issues
+++ b/.vscode/notebooks/my-work.github-issues
@@ -7,7 +7,7 @@
{
"kind": 2,
"language": "github-issues",
- "value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-unpkg repo:microsoft/vscode-references-view repo:microsoft/vscode-anycode repo:microsoft/vscode-hexeditor repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-livepreview repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remote-repositories-github repo:microsoft/monaco-editor repo:microsoft/vscode-vsce repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-l10n repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release\n\n// current milestone name\n$milestone=milestone:\"August 2023\""
+ "value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-unpkg repo:microsoft/vscode-references-view repo:microsoft/vscode-anycode repo:microsoft/vscode-hexeditor repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-livepreview repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remote-repositories-github repo:microsoft/monaco-editor repo:microsoft/vscode-vsce repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-l10n repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release\n\n// current milestone name\n$milestone=milestone:\"September 2023\""
},
{
"kind": 1,
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 7eefe0c57f6..6925e3ed8c6 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -151,5 +151,4 @@
"application.experimental.rendererProfiling": true,
"editor.experimental.asyncTokenization": true,
"editor.experimental.asyncTokenizationVerification": true,
- "diffEditor.experimental.useVersion2": true,
}
diff --git a/.yarnrc b/.yarnrc
index 8f658afd4a9..fff0be195f2 100644
--- a/.yarnrc
+++ b/.yarnrc
@@ -1,5 +1,5 @@
disturl "https://electronjs.org/headers"
-target "25.5.0"
-ms_build_id "23084831"
+target "25.8.0"
+ms_build_id "23503258"
runtime "electron"
build_from_source "true"
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index b96e077aa67..f17fa843645 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -104,6 +104,6 @@ If you believe the bot got something wrong, please open a new issue and let us k
If you are interested in writing code to fix issues,
please see [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) in the wiki.
-# Thank You!
+## Thank You
Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.
diff --git a/README.md b/README.md
index 0c7c6236c42..61df8fc6bb4 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
# Visual Studio Code - Open Source ("Code - OSS")
+
[](https://github.com/microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Afeature-request+sort%3Areactions-%2B1-desc)
[](https://github.com/microsoft/vscode/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3Abug)
[](https://gitter.im/Microsoft/vscode)
@@ -60,9 +61,10 @@ VS Code includes a set of built-in extensions located in the [extensions](extens
This repository includes a Visual Studio Code Dev Containers / GitHub Codespaces development container.
-- For [Dev Containers](https://aka.ms/vscode-remote/download/containers), use the **Dev Containers: Clone Repository in Container Volume...** command which creates a Docker volume for better disk I/O on macOS and Windows.
- - If you already have VS Code and Docker installed, you can also click [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode) to get started. This will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
-- For Codespaces, install the [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) extension in VS Code, and use the **Codespaces: Create New Codespace** command.
+* For [Dev Containers](https://aka.ms/vscode-remote/download/containers), use the **Dev Containers: Clone Repository in Container Volume...** command which creates a Docker volume for better disk I/O on macOS and Windows.
+ * If you already have VS Code and Docker installed, you can also click [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode) to get started. This will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
+
+* For Codespaces, install the [GitHub Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) extension in VS Code, and use the **Codespaces: Create New Codespace** command.
Docker / the Codespace should have at least **4 Cores and 6 GB of RAM (8 GB recommended)** to run full build. See the [development container README](.devcontainer/README.md) for more information.
diff --git a/SECURITY.md b/SECURITY.md
index a050f362c15..4fa5946a867 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -18,13 +18,13 @@ You should receive a response within 24 hours. If for some reason you do not, pl
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
- * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
- * Full paths of source file(s) related to the manifestation of the issue
- * The location of the affected source code (tag/branch/commit or direct URL)
- * Any special configuration required to reproduce the issue
- * Step-by-step instructions to reproduce the issue
- * Proof-of-concept or exploit code (if possible)
- * Impact of the issue, including how an attacker might exploit the issue
+* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
+* Full paths of source file(s) related to the manifestation of the issue
+* The location of the affected source code (tag/branch/commit or direct URL)
+* Any special configuration required to reproduce the issue
+* Step-by-step instructions to reproduce the issue
+* Proof-of-concept or exploit code (if possible)
+* Impact of the issue, including how an attacker might exploit the issue
This information will help us triage your report more quickly.
diff --git a/ThirdPartyNotices.txt b/ThirdPartyNotices.txt
index cf52ca35c94..6863bf7828f 100644
--- a/ThirdPartyNotices.txt
+++ b/ThirdPartyNotices.txt
@@ -440,580 +440,6 @@ Title to copyright in this work will at all times remain with copyright holders.
---------------------------------------------------------
-dompurify 2.3.1 - Apache 2.0
-https://github.com/cure53/DOMPurify
-
-DOMPurify
-Copyright 2023 Dr.-Ing. Mario Heiderich, Cure53
-
-DOMPurify is free software; you can redistribute it and/or modify it under the
-terms of either:
-
-a) the Apache License Version 2.0, or
-b) the Mozilla Public License Version 2.0
-
------------------------------------------------------------------------------
-
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
------------------------------------------------------------------------------
-Mozilla Public License, version 2.0
-
-1. Definitions
-
-1.1. "Contributor"
-
- means each individual or legal entity that creates, contributes to the
- creation of, or owns Covered Software.
-
-1.2. "Contributor Version"
-
- means the combination of the Contributions of others (if any) used by a
- Contributor and that particular Contributor’s Contribution.
-
-1.3. "Contribution"
-
- means Covered Software of a particular Contributor.
-
-1.4. "Covered Software"
-
- means Source Code Form to which the initial Contributor has attached the
- notice in Exhibit A, the Executable Form of such Source Code Form, and
- Modifications of such Source Code Form, in each case including portions
- thereof.
-
-1.5. "Incompatible With Secondary Licenses"
- means
-
- a. that the initial Contributor has attached the notice described in
- Exhibit B to the Covered Software; or
-
- b. that the Covered Software was made available under the terms of version
- 1.1 or earlier of the License, but not also under the terms of a
- Secondary License.
-
-1.6. "Executable Form"
-
- means any form of the work other than Source Code Form.
-
-1.7. "Larger Work"
-
- means a work that combines Covered Software with other material, in a separate
- file or files, that is not Covered Software.
-
-1.8. "License"
-
- means this document.
-
-1.9. "Licensable"
-
- means having the right to grant, to the maximum extent possible, whether at the
- time of the initial grant or subsequently, any and all of the rights conveyed by
- this License.
-
-1.10. "Modifications"
-
- means any of the following:
-
- a. any file in Source Code Form that results from an addition to, deletion
- from, or modification of the contents of Covered Software; or
-
- b. any new file in Source Code Form that contains any Covered Software.
-
-1.11. "Patent Claims" of a Contributor
-
- means any patent claim(s), including without limitation, method, process,
- and apparatus claims, in any patent Licensable by such Contributor that
- would be infringed, but for the grant of the License, by the making,
- using, selling, offering for sale, having made, import, or transfer of
- either its Contributions or its Contributor Version.
-
-1.12. "Secondary License"
-
- means either the GNU General Public License, Version 2.0, the GNU Lesser
- General Public License, Version 2.1, the GNU Affero General Public
- License, Version 3.0, or any later versions of those licenses.
-
-1.13. "Source Code Form"
-
- means the form of the work preferred for making modifications.
-
-1.14. "You" (or "Your")
-
- means an individual or a legal entity exercising rights under this
- License. For legal entities, "You" includes any entity that controls, is
- controlled by, or is under common control with You. For purposes of this
- definition, "control" means (a) the power, direct or indirect, to cause
- the direction or management of such entity, whether by contract or
- otherwise, or (b) ownership of more than fifty percent (50%) of the
- outstanding shares or beneficial ownership of such entity.
-
-
-2. License Grants and Conditions
-
-2.1. Grants
-
- Each Contributor hereby grants You a world-wide, royalty-free,
- non-exclusive license:
-
- a. under intellectual property rights (other than patent or trademark)
- Licensable by such Contributor to use, reproduce, make available,
- modify, display, perform, distribute, and otherwise exploit its
- Contributions, either on an unmodified basis, with Modifications, or as
- part of a Larger Work; and
-
- b. under Patent Claims of such Contributor to make, use, sell, offer for
- sale, have made, import, and otherwise transfer either its Contributions
- or its Contributor Version.
-
-2.2. Effective Date
-
- The licenses granted in Section 2.1 with respect to any Contribution become
- effective for each Contribution on the date the Contributor first distributes
- such Contribution.
-
-2.3. Limitations on Grant Scope
-
- The licenses granted in this Section 2 are the only rights granted under this
- License. No additional rights or licenses will be implied from the distribution
- or licensing of Covered Software under this License. Notwithstanding Section
- 2.1(b) above, no patent license is granted by a Contributor:
-
- a. for any code that a Contributor has removed from Covered Software; or
-
- b. for infringements caused by: (i) Your and any other third party’s
- modifications of Covered Software, or (ii) the combination of its
- Contributions with other software (except as part of its Contributor
- Version); or
-
- c. under Patent Claims infringed by Covered Software in the absence of its
- Contributions.
-
- This License does not grant any rights in the trademarks, service marks, or
- logos of any Contributor (except as may be necessary to comply with the
- notice requirements in Section 3.4).
-
-2.4. Subsequent Licenses
-
- No Contributor makes additional grants as a result of Your choice to
- distribute the Covered Software under a subsequent version of this License
- (see Section 10.2) or under the terms of a Secondary License (if permitted
- under the terms of Section 3.3).
-
-2.5. Representation
-
- Each Contributor represents that the Contributor believes its Contributions
- are its original creation(s) or it has sufficient rights to grant the
- rights to its Contributions conveyed by this License.
-
-2.6. Fair Use
-
- This License is not intended to limit any rights You have under applicable
- copyright doctrines of fair use, fair dealing, or other equivalents.
-
-2.7. Conditions
-
- Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in
- Section 2.1.
-
-
-3. Responsibilities
-
-3.1. Distribution of Source Form
-
- All distribution of Covered Software in Source Code Form, including any
- Modifications that You create or to which You contribute, must be under the
- terms of this License. You must inform recipients that the Source Code Form
- of the Covered Software is governed by the terms of this License, and how
- they can obtain a copy of this License. You may not attempt to alter or
- restrict the recipients’ rights in the Source Code Form.
-
-3.2. Distribution of Executable Form
-
- If You distribute Covered Software in Executable Form then:
-
- a. such Covered Software must also be made available in Source Code Form,
- as described in Section 3.1, and You must inform recipients of the
- Executable Form how they can obtain a copy of such Source Code Form by
- reasonable means in a timely manner, at a charge no more than the cost
- of distribution to the recipient; and
-
- b. You may distribute such Executable Form under the terms of this License,
- or sublicense it under different terms, provided that the license for
- the Executable Form does not attempt to limit or alter the recipients’
- rights in the Source Code Form under this License.
-
-3.3. Distribution of a Larger Work
-
- You may create and distribute a Larger Work under terms of Your choice,
- provided that You also comply with the requirements of this License for the
- Covered Software. If the Larger Work is a combination of Covered Software
- with a work governed by one or more Secondary Licenses, and the Covered
- Software is not Incompatible With Secondary Licenses, this License permits
- You to additionally distribute such Covered Software under the terms of
- such Secondary License(s), so that the recipient of the Larger Work may, at
- their option, further distribute the Covered Software under the terms of
- either this License or such Secondary License(s).
-
-3.4. Notices
-
- You may not remove or alter the substance of any license notices (including
- copyright notices, patent notices, disclaimers of warranty, or limitations
- of liability) contained within the Source Code Form of the Covered
- Software, except that You may alter any license notices to the extent
- required to remedy known factual inaccuracies.
-
-3.5. Application of Additional Terms
-
- You may choose to offer, and to charge a fee for, warranty, support,
- indemnity or liability obligations to one or more recipients of Covered
- Software. However, You may do so only on Your own behalf, and not on behalf
- of any Contributor. You must make it absolutely clear that any such
- warranty, support, indemnity, or liability obligation is offered by You
- alone, and You hereby agree to indemnify every Contributor for any
- liability incurred by such Contributor as a result of warranty, support,
- indemnity or liability terms You offer. You may include additional
- disclaimers of warranty and limitations of liability specific to any
- jurisdiction.
-
-4. Inability to Comply Due to Statute or Regulation
-
- If it is impossible for You to comply with any of the terms of this License
- with respect to some or all of the Covered Software due to statute, judicial
- order, or regulation then You must: (a) comply with the terms of this License
- to the maximum extent possible; and (b) describe the limitations and the code
- they affect. Such description must be placed in a text file included with all
- distributions of the Covered Software under this License. Except to the
- extent prohibited by statute or regulation, such description must be
- sufficiently detailed for a recipient of ordinary skill to be able to
- understand it.
-
-5. Termination
-
-5.1. The rights granted under this License will terminate automatically if You
- fail to comply with any of its terms. However, if You become compliant,
- then the rights granted under this License from a particular Contributor
- are reinstated (a) provisionally, unless and until such Contributor
- explicitly and finally terminates Your grants, and (b) on an ongoing basis,
- if such Contributor fails to notify You of the non-compliance by some
- reasonable means prior to 60 days after You have come back into compliance.
- Moreover, Your grants from a particular Contributor are reinstated on an
- ongoing basis if such Contributor notifies You of the non-compliance by
- some reasonable means, this is the first time You have received notice of
- non-compliance with this License from such Contributor, and You become
- compliant prior to 30 days after Your receipt of the notice.
-
-5.2. If You initiate litigation against any entity by asserting a patent
- infringement claim (excluding declaratory judgment actions, counter-claims,
- and cross-claims) alleging that a Contributor Version directly or
- indirectly infringes any patent, then the rights granted to You by any and
- all Contributors for the Covered Software under Section 2.1 of this License
- shall terminate.
-
-5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user
- license agreements (excluding distributors and resellers) which have been
- validly granted by You or Your distributors under this License prior to
- termination shall survive termination.
-
-6. Disclaimer of Warranty
-
- Covered Software is provided under this License on an "as is" basis, without
- warranty of any kind, either expressed, implied, or statutory, including,
- without limitation, warranties that the Covered Software is free of defects,
- merchantable, fit for a particular purpose or non-infringing. The entire
- risk as to the quality and performance of the Covered Software is with You.
- Should any Covered Software prove defective in any respect, You (not any
- Contributor) assume the cost of any necessary servicing, repair, or
- correction. This disclaimer of warranty constitutes an essential part of this
- License. No use of any Covered Software is authorized under this License
- except under this disclaimer.
-
-7. Limitation of Liability
-
- Under no circumstances and under no legal theory, whether tort (including
- negligence), contract, or otherwise, shall any Contributor, or anyone who
- distributes Covered Software as permitted above, be liable to You for any
- direct, indirect, special, incidental, or consequential damages of any
- character including, without limitation, damages for lost profits, loss of
- goodwill, work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses, even if such party shall have been
- informed of the possibility of such damages. This limitation of liability
- shall not apply to liability for death or personal injury resulting from such
- party’s negligence to the extent applicable law prohibits such limitation.
- Some jurisdictions do not allow the exclusion or limitation of incidental or
- consequential damages, so this exclusion and limitation may not apply to You.
-
-8. Litigation
-
- Any litigation relating to this License may be brought only in the courts of
- a jurisdiction where the defendant maintains its principal place of business
- and such litigation shall be governed by laws of that jurisdiction, without
- reference to its conflict-of-law provisions. Nothing in this Section shall
- prevent a party’s ability to bring cross-claims or counter-claims.
-
-9. Miscellaneous
-
- This License represents the complete agreement concerning the subject matter
- hereof. If any provision of this License is held to be unenforceable, such
- provision shall be reformed only to the extent necessary to make it
- enforceable. Any law or regulation which provides that the language of a
- contract shall be construed against the drafter shall not be used to construe
- this License against a Contributor.
-
-
-10. Versions of the License
-
-10.1. New Versions
-
- Mozilla Foundation is the license steward. Except as provided in Section
- 10.3, no one other than the license steward has the right to modify or
- publish new versions of this License. Each version will be given a
- distinguishing version number.
-
-10.2. Effect of New Versions
-
- You may distribute the Covered Software under the terms of the version of
- the License under which You originally received the Covered Software, or
- under the terms of any subsequent version published by the license
- steward.
-
-10.3. Modified Versions
-
- If you create software not governed by this License, and you want to
- create a new license for such software, you may create and use a modified
- version of this License if you rename the license and remove any
- references to the name of the license steward (except to note that such
- modified license differs from this License).
-
-10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses
- If You choose to distribute Source Code Form that is Incompatible With
- Secondary Licenses under the terms of this version of the License, the
- notice described in Exhibit B of this License must be attached.
-
-Exhibit A - Source Code Form License Notice
-
- This Source Code Form is subject to the
- terms of the Mozilla Public License, v.
- 2.0. If a copy of the MPL was not
- distributed with this file, You can
- obtain one at
- http://mozilla.org/MPL/2.0/.
-
-If it is not possible or desirable to put the notice in a particular file, then
-You may include the notice in a location (such as a LICENSE file in a relevant
-directory) where a recipient would be likely to look for such a notice.
-
-You may add additional accurate notices of copyright ownership.
-
-Exhibit B - "Incompatible With Secondary Licenses" Notice
-
- This Source Code Form is "Incompatible
- With Secondary Licenses", as defined by
- the Mozilla Public License, v. 2.0.
----------------------------------------------------------
-
----------------------------------------------------------
-
dotnet/csharp-tmLanguage 0.1.0 - MIT
https://github.com/dotnet/csharp-tmLanguage
@@ -1345,27 +771,682 @@ SOFTWARE.
jeff-hykin/better-cpp-syntax 1.17.4 - MIT
https://github.com/jeff-hykin/better-cpp-syntax
-MIT License
+The MIT License (MIT)
-Copyright (c) 2019 Jeff Hykin
+GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+ Preamble
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+ .
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
---------------------------------------------------------
---------------------------------------------------------
@@ -1454,6 +1535,34 @@ SOFTWARE.
---------------------------------------------------------
+jeff-hykin/better-snippet-syntax 1.0.2 - MIT
+https://github.com/jeff-hykin/better-snippet-syntax
+
+MIT License
+
+Copyright (c) 2019 Jeff Hykin
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+---------------------------------------------------------
+
+---------------------------------------------------------
+
jlelong/vscode-latex-basics 1.5.3 - MIT
https://github.com/jlelong/vscode-latex-basics
diff --git a/build/.cachesalt b/build/.cachesalt
index 26ad5de2bca..1aad2ab5206 100644
--- a/build/.cachesalt
+++ b/build/.cachesalt
@@ -1 +1 @@
-2023-07-20T13:31:34.746Z
+2023-09-06T09:54:45.225Z
diff --git a/build/.moduleignore b/build/.moduleignore
index e4a19bbb762..d92dedf90f9 100644
--- a/build/.moduleignore
+++ b/build/.moduleignore
@@ -79,13 +79,6 @@ kerberos/src/**
kerberos/node_modules/**
!kerberos/**/*.node
-keytar/binding.gyp
-keytar/build/**
-keytar/src/**
-keytar/script/**
-keytar/node_modules/**
-!keytar/**/*.node
-
node-pty/binding.gyp
node-pty/build/**
node-pty/src/**
diff --git a/build/azure-pipelines/common/sign.js b/build/azure-pipelines/common/sign.js
index fc522d4ef60..993711adfbf 100644
--- a/build/azure-pipelines/common/sign.js
+++ b/build/azure-pipelines/common/sign.js
@@ -34,7 +34,7 @@ function getParams(type) {
return '[{"keyCode":"CP-230012","operationSetCode":"SigntoolSign","parameters":[{"parameterName":"OpusName","parameterValue":"VS Code"},{"parameterName":"OpusInfo","parameterValue":"https://code.visualstudio.com/"},{"parameterName":"Append","parameterValue":"/as"},{"parameterName":"FileDigest","parameterValue":"/fd \\"SHA256\\""},{"parameterName":"PageHash","parameterValue":"/NPH"},{"parameterName":"TimeStamp","parameterValue":"/tr \\"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\\" /td sha256"}],"toolName":"sign","toolVersion":"1.0"},{"keyCode":"CP-230012","operationSetCode":"SigntoolVerify","parameters":[{"parameterName":"VerifyAll","parameterValue":"/all"}],"toolName":"sign","toolVersion":"1.0"}]';
case 'windows-appx':
return '[{"keyCode":"CP-229979","operationSetCode":"SigntoolSign","parameters":[{"parameterName":"OpusName","parameterValue":"VS Code"},{"parameterName":"OpusInfo","parameterValue":"https://code.visualstudio.com/"},{"parameterName":"FileDigest","parameterValue":"/fd \\"SHA256\\""},{"parameterName":"PageHash","parameterValue":"/NPH"},{"parameterName":"TimeStamp","parameterValue":"/tr \\"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\\" /td sha256"}],"toolName":"sign","toolVersion":"1.0"},{"keyCode":"CP-229979","operationSetCode":"SigntoolVerify","parameters":[],"toolName":"sign","toolVersion":"1.0"}]';
- case 'rpm':
+ case 'pgp':
return '[{ "keyCode": "CP-450779-Pgp", "operationSetCode": "LinuxSign", "parameters": [], "toolName": "sign", "toolVersion": "1.0" }]';
case 'darwin-sign':
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppDeveloperSign","parameters":[{"parameterName":"Hardening","parameterValue":"--options=runtime"}],"toolName":"sign","toolVersion":"1.0"}]';
diff --git a/build/azure-pipelines/common/sign.ts b/build/azure-pipelines/common/sign.ts
index 955c9389c02..494e89b3e12 100644
--- a/build/azure-pipelines/common/sign.ts
+++ b/build/azure-pipelines/common/sign.ts
@@ -35,7 +35,7 @@ function getParams(type: string): string {
return '[{"keyCode":"CP-230012","operationSetCode":"SigntoolSign","parameters":[{"parameterName":"OpusName","parameterValue":"VS Code"},{"parameterName":"OpusInfo","parameterValue":"https://code.visualstudio.com/"},{"parameterName":"Append","parameterValue":"/as"},{"parameterName":"FileDigest","parameterValue":"/fd \\"SHA256\\""},{"parameterName":"PageHash","parameterValue":"/NPH"},{"parameterName":"TimeStamp","parameterValue":"/tr \\"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\\" /td sha256"}],"toolName":"sign","toolVersion":"1.0"},{"keyCode":"CP-230012","operationSetCode":"SigntoolVerify","parameters":[{"parameterName":"VerifyAll","parameterValue":"/all"}],"toolName":"sign","toolVersion":"1.0"}]';
case 'windows-appx':
return '[{"keyCode":"CP-229979","operationSetCode":"SigntoolSign","parameters":[{"parameterName":"OpusName","parameterValue":"VS Code"},{"parameterName":"OpusInfo","parameterValue":"https://code.visualstudio.com/"},{"parameterName":"FileDigest","parameterValue":"/fd \\"SHA256\\""},{"parameterName":"PageHash","parameterValue":"/NPH"},{"parameterName":"TimeStamp","parameterValue":"/tr \\"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\\" /td sha256"}],"toolName":"sign","toolVersion":"1.0"},{"keyCode":"CP-229979","operationSetCode":"SigntoolVerify","parameters":[],"toolName":"sign","toolVersion":"1.0"}]';
- case 'rpm':
+ case 'pgp':
return '[{ "keyCode": "CP-450779-Pgp", "operationSetCode": "LinuxSign", "parameters": [], "toolName": "sign", "toolVersion": "1.0" }]';
case 'darwin-sign':
return '[{"keyCode":"CP-401337-Apple","operationSetCode":"MacAppDeveloperSign","parameters":[{"parameterName":"Hardening","parameterValue":"--options=runtime"}],"toolName":"sign","toolVersion":"1.0"}]';
diff --git a/build/azure-pipelines/linux/product-build-linux.yml b/build/azure-pipelines/linux/product-build-linux.yml
index 2145e588b1c..734292ad4a3 100644
--- a/build/azure-pipelines/linux/product-build-linux.yml
+++ b/build/azure-pipelines/linux/product-build-linux.yml
@@ -52,7 +52,6 @@ steps:
libgtk-3-0 \
libgbm1 \
libxkbfile-dev \
- libsecret-1-dev \
libkrb5-dev
sudo cp build/azure-pipelines/linux/xvfb.init /etc/init.d/xvfb
sudo chmod +x /etc/init.d/xvfb
@@ -312,7 +311,10 @@ steps:
continueOnError: true
displayName: Download ESRPClient
- - script: node build/azure-pipelines/common/sign $(Agent.ToolsDirectory)/esrpclient/*/*/net6.0/esrpcli.dll rpm $(ESRP-PKI) $(esrp-aad-username) $(esrp-aad-password) .build/linux/rpm '*.rpm'
+ - script: node build/azure-pipelines/common/sign $(Agent.ToolsDirectory)/esrpclient/*/*/net6.0/esrpcli.dll pgp $(ESRP-PKI) $(esrp-aad-username) $(esrp-aad-password) .build/linux/deb '*.deb'
+ displayName: Codesign deb
+
+ - script: node build/azure-pipelines/common/sign $(Agent.ToolsDirectory)/esrpclient/*/*/net6.0/esrpcli.dll pgp $(ESRP-PKI) $(esrp-aad-username) $(esrp-aad-password) .build/linux/rpm '*.rpm'
displayName: Codesign rpm
- script: echo "##vso[task.setvariable variable=ARTIFACT_PREFIX]attempt$(System.JobAttempt)_"
diff --git a/build/azure-pipelines/product-compile.yml b/build/azure-pipelines/product-compile.yml
index 4bcf3fd9114..28cecdd87cd 100644
--- a/build/azure-pipelines/product-compile.yml
+++ b/build/azure-pipelines/product-compile.yml
@@ -52,7 +52,7 @@ steps:
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), ne(variables['NPM_REGISTRY'], 'none'))
displayName: Setup NPM Authentication
- - script: sudo apt update -y && sudo apt install -y build-essential pkg-config libx11-dev libx11-xcb-dev libxkbfile-dev libsecret-1-dev libnotify-bin libkrb5-dev
+ - script: sudo apt update -y && sudo apt install -y build-essential pkg-config libx11-dev libx11-xcb-dev libxkbfile-dev libnotify-bin libkrb5-dev
displayName: Install build tools
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
diff --git a/build/checksums/electron.txt b/build/checksums/electron.txt
index f5c22bc1c23..9c46b2ad8ef 100644
--- a/build/checksums/electron.txt
+++ b/build/checksums/electron.txt
@@ -1,27 +1,27 @@
-c3fb8cb4804143eb25fce55a179a6f2df8c215ed709104ec235c96e357b20f42 *electron-v25.5.0-darwin-arm64-symbols.zip
-e6d2a09348d4fe7c9fbd92bf796489a95e625642f0f1ce96169212554cfa6841 *electron-v25.5.0-darwin-arm64.zip
-15c28e613dfee0f7e46a296bb4aed64e17f9644d7ef19129aeb6480b8da230ab *electron-v25.5.0-darwin-x64-symbols.zip
-a5c5c0b621daf8242258c89edb2387fbdf1c69125c984f8564d89b87927373e3 *electron-v25.5.0-darwin-x64.zip
-69d60a69b7f692b9069cdf9e518bcbaca9cec561f40199cc87196929936a34ce *electron-v25.5.0-linux-arm64-symbols.zip
-adec2ba09faf5f8d8af8997c8bed43c7712eba5546db1e7d06f8357bf4613921 *electron-v25.5.0-linux-arm64.zip
-0fe7a5d152c9c401671e02ebcd9da34ab9bb0c28598ede3657077a79f8b3e70a *electron-v25.5.0-linux-armv7l-symbols.zip
-eccb66e4a308a0bd2d90474894370e3d687e32f78672e6b5077c1822c7bc526b *electron-v25.5.0-linux-armv7l.zip
-82bd9bc9e66f8ae802fe48a51b8d7e2fb599403e9715fa4b859190200a7376b1 *electron-v25.5.0-linux-x64-symbols.zip
-485cbeb206fccfb4ed42f694100eebb80c9db6639b3537a95823c4fcb7f210cd *electron-v25.5.0-linux-x64.zip
-ed2c2a7da571b53bcb336b9a2a024753a272df82ece45df83df888df51bf1912 *electron-v25.5.0-win32-arm64-pdb.zip
-c316f6364e9b4cd61e19d4763c96abda7247a2c31ae7d30e81219c9a7754f11a *electron-v25.5.0-win32-arm64-symbols.zip
-582ccbfc5a85a093f5639ee476bb5fef18c2d25dab4a60e5f5cb47e64c99f7fb *electron-v25.5.0-win32-arm64.zip
-5776e650c23e3847b0c52d850f61c57a84a4fa30943c3cc82197250112911b5b *electron-v25.5.0-win32-ia32-pdb.zip
-730b429ad2c4cae0fe3ba9600a6ee86c79dada77976bac1c75ca2404993495bc *electron-v25.5.0-win32-ia32-symbols.zip
-7e6e68aa33a89c0d647575b06daf415a2401feb170ebb9cd795e221af321f751 *electron-v25.5.0-win32-ia32.zip
-0792665fda9255b340a829cdd24601887a2ca8f04cc49f9a6d4557db0c0cd2f2 *electron-v25.5.0-win32-x64-pdb.zip
-dc2459546951f8418e866857e9111dd83a0789d401906b2200c2f8dd59d9146b *electron-v25.5.0-win32-x64-symbols.zip
-9bf7980fbc024ba77ea8ab3e2d32088a5f69bf32506a7d2db72ede17028abdf4 *electron-v25.5.0-win32-x64.zip
-5b1ea601b737842eacf88d7456c4d14e697822753e9a08ede889cce9e20bafb2 *ffmpeg-v25.5.0-darwin-arm64.zip
-37bf5c75edefc0b6735b44d0b5b06fdd427179a8501f6e93df9840283cdb4a95 *ffmpeg-v25.5.0-darwin-x64.zip
-bd52d57ff97fb56ac01a3482af905d04f0d4e9c13c53858c6d9f99957eca82da *ffmpeg-v25.5.0-linux-arm64.zip
-9b3d09177fa1e63e2a6beecfa70aeec30aeb5c1873ff21128a68051c4e23f95d *ffmpeg-v25.5.0-linux-armv7l.zip
-edc7b1c9f1a0733f109a2c0375a4e40c5bfe0bf28b7f06dcc76e1ada0aa2f125 *ffmpeg-v25.5.0-linux-x64.zip
-2e28767b3570ea247869a20988cddd23af710eb994d6099404f123390cedeba6 *ffmpeg-v25.5.0-win32-arm64.zip
-715568eefd7267573a30186ade3de901587baeb1f013200d8ae50b35941b613f *ffmpeg-v25.5.0-win32-ia32.zip
-29876504452aaa505f696642178968e24b8dc8cc4b055071e6f0f3f073088acc *ffmpeg-v25.5.0-win32-x64.zip
+88cafda8394985e59d3d84cb4a6692ad04d8e32db9ecd6429e748e41526ddad7 *electron-v25.8.0-darwin-arm64-symbols.zip
+6e33d3b8041561722ed41777e055a8c15d3f4e61b67367b2618918bcf0cfea76 *electron-v25.8.0-darwin-arm64.zip
+438ac9915e062a239fb6d2595323c4783d2c820efc9cbcf3d2c1253d0e057e83 *electron-v25.8.0-darwin-x64-symbols.zip
+798907d2a66bc79202c8213c61e7fd147ae2a8c31c485d814950b11d43bbbba8 *electron-v25.8.0-darwin-x64.zip
+3243f3764319cff6c942d9f90a86323c36ec05ec51ef01e782c4e9a7194187e1 *electron-v25.8.0-linux-arm64-symbols.zip
+f24f858b76bf8a2e18419f62e0f891712b2fa541089123e9caa8d5cd67fc3276 *electron-v25.8.0-linux-arm64.zip
+dc3ff0489a0ebeda56d06b31eeae75dd7321a52bb601069c4475c56462b4814a *electron-v25.8.0-linux-armv7l-symbols.zip
+3b7a0c3899f828a5cf30043b73992e90231400b90c1afa700a44f892a55e326b *electron-v25.8.0-linux-armv7l.zip
+44803b2487406eca8fff9cec405e9e50bd92a911808dfaaa523b9ef52a0e72d8 *electron-v25.8.0-linux-x64-symbols.zip
+d54fb2df0ad7318240220aa26327171ed1e891fb296f3c27c58b8b487c4df8eb *electron-v25.8.0-linux-x64.zip
+bf7be6c0c8d0df06f0ce22e16c97aea823415d7f5cbf0ffdadf65d75feaf3cd8 *electron-v25.8.0-win32-arm64-pdb.zip
+5d91757660b44bf30907f9c2b52225ade4d127d0fe48dc83dec134cc06c949f0 *electron-v25.8.0-win32-arm64-symbols.zip
+d1e6f30a8d8c7aed28d08ddf915d79de6b16b3a0a7c84c45fd3cc0d47f2b7f53 *electron-v25.8.0-win32-arm64.zip
+e389fef61c14ea0eefad91a9725aa0afd4dbdc982f7b30aba97bd9c2871c2061 *electron-v25.8.0-win32-ia32-pdb.zip
+374d6c8897f97fab04e990ecf928e05f643ae33801546bf7d39bf4045b9d8b52 *electron-v25.8.0-win32-ia32-symbols.zip
+73fc3382202b70dcaf7928f09a791662de82c701b8f403ed72cc5aa9b1401593 *electron-v25.8.0-win32-ia32.zip
+010d248bd2e77585e1fa977e58b016659566de5a91c1e6845c85a7e6e1851bb9 *electron-v25.8.0-win32-x64-pdb.zip
+72adb74fd92edff35c177c3c5d96765f230bc7adb8af11b30d5122b9e54c26e1 *electron-v25.8.0-win32-x64-symbols.zip
+0051d0f241aedc6cdab4751c60f48758936122796f06c9e3033c7710a531686c *electron-v25.8.0-win32-x64.zip
+2956915642c45eb0099228368d0af50e891e4c10014fa4d3d3bcfb135fbb89a7 *ffmpeg-v25.8.0-darwin-arm64.zip
+099ee69d44f8ac3802cdd612895f279f7adb043a5b9c9d123479b0f96514a44c *ffmpeg-v25.8.0-darwin-x64.zip
+bd52d57ff97fb56ac01a3482af905d04f0d4e9c13c53858c6d9f99957eca82da *ffmpeg-v25.8.0-linux-arm64.zip
+9b3d09177fa1e63e2a6beecfa70aeec30aeb5c1873ff21128a68051c4e23f95d *ffmpeg-v25.8.0-linux-armv7l.zip
+edc7b1c9f1a0733f109a2c0375a4e40c5bfe0bf28b7f06dcc76e1ada0aa2f125 *ffmpeg-v25.8.0-linux-x64.zip
+a58e9480dab981ff973749e9d1e08936b2dd63a4b7f9523c030b1833387a4eb5 *ffmpeg-v25.8.0-win32-arm64.zip
+6866b23a4d561c0322aeb7690aae646718c54398739946e352bf80d0dd721bfd *ffmpeg-v25.8.0-win32-ia32.zip
+7b906df4ad6252881cf1e58619285b624f74d593379fbc6728e238b852d6abad *ffmpeg-v25.8.0-win32-x64.zip
diff --git a/build/darwin/create-universal-app.js b/build/darwin/create-universal-app.js
index a85f394ad75..a01c222c35e 100644
--- a/build/darwin/create-universal-app.js
+++ b/build/darwin/create-universal-app.js
@@ -45,7 +45,7 @@ async function main(buildDir) {
});
fs.writeFileSync(productJsonPath, JSON.stringify(productJson, null, '\t'));
// Verify if native module architecture is correct
- const findOutput = await (0, cross_spawn_promise_1.spawn)('find', [outAppPath, '-name', 'keytar.node']);
+ const findOutput = await (0, cross_spawn_promise_1.spawn)('find', [outAppPath, '-name', 'kerberos.node']);
const lipoOutput = await (0, cross_spawn_promise_1.spawn)('lipo', ['-archs', findOutput.replace(/\n$/, '')]);
if (lipoOutput.replace(/\n$/, '') !== 'x86_64 arm64') {
throw new Error(`Invalid arch, got : ${lipoOutput}`);
@@ -57,4 +57,4 @@ if (require.main === module) {
process.exit(1);
});
}
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVuaXZlcnNhbC1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjcmVhdGUtdW5pdmVyc2FsLWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztnR0FHZ0c7O0FBRWhHLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFDekIsdUVBQTREO0FBQzVELHFFQUFvRDtBQUVwRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUVuRCxLQUFLLFVBQVUsSUFBSSxDQUFDLFFBQWlCO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFeEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUMxQztJQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDL0YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNuRyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFakcsTUFBTSxJQUFBLDJDQUFnQixFQUFDO1FBQ3RCLFVBQVU7UUFDVixZQUFZO1FBQ1osV0FBVztRQUNYLGFBQWE7UUFDYixXQUFXLEVBQUU7WUFDWixjQUFjO1lBQ2QsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsWUFBWTtZQUNaLGNBQWM7WUFDZCxRQUFRO1NBQ1I7UUFDRCxVQUFVO1FBQ1YsS0FBSyxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7SUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDMUIsc0JBQXNCLEVBQUUsa0JBQWtCO0tBQzFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRTNFLGtEQUFrRDtJQUNsRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEsMkJBQUssRUFBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDN0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLDJCQUFLLEVBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLGNBQWMsRUFBRTtRQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixVQUFVLEVBQUUsQ0FBQyxDQUFDO0tBQ3JEO0FBQ0YsQ0FBQztBQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7SUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0NBQ0gifQ==
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXVuaXZlcnNhbC1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjcmVhdGUtdW5pdmVyc2FsLWFwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7OztnR0FHZ0c7O0FBRWhHLDZCQUE2QjtBQUM3Qix5QkFBeUI7QUFDekIsdUVBQTREO0FBQzVELHFFQUFvRDtBQUVwRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUVuRCxLQUFLLFVBQVUsSUFBSSxDQUFDLFFBQWlCO0lBQ3BDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFeEMsSUFBSSxDQUFDLFFBQVEsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQztLQUMxQztJQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLG1CQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDL0YsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNuRyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekUsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFFakcsTUFBTSxJQUFBLDJDQUFnQixFQUFDO1FBQ3RCLFVBQVU7UUFDVixZQUFZO1FBQ1osV0FBVztRQUNYLGFBQWE7UUFDYixXQUFXLEVBQUU7WUFDWixjQUFjO1lBQ2QsYUFBYTtZQUNiLGVBQWU7WUFDZixlQUFlO1lBQ2YsWUFBWTtZQUNaLGNBQWM7WUFDZCxRQUFRO1NBQ1I7UUFDRCxVQUFVO1FBQ1YsS0FBSyxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7SUFFSCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUU7UUFDMUIsc0JBQXNCLEVBQUUsa0JBQWtCO0tBQzFDLENBQUMsQ0FBQztJQUNILEVBQUUsQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRTNFLGtEQUFrRDtJQUNsRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUEsMkJBQUssRUFBQyxNQUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDL0UsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFBLDJCQUFLLEVBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsRixJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLGNBQWMsRUFBRTtRQUNyRCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixVQUFVLEVBQUUsQ0FBQyxDQUFDO0tBQ3JEO0FBQ0YsQ0FBQztBQUVELElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUU7SUFDNUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDakMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNuQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0NBQ0gifQ==
\ No newline at end of file
diff --git a/build/darwin/create-universal-app.ts b/build/darwin/create-universal-app.ts
index 7b10af8af66..ffba8952cd8 100644
--- a/build/darwin/create-universal-app.ts
+++ b/build/darwin/create-universal-app.ts
@@ -51,7 +51,7 @@ async function main(buildDir?: string) {
fs.writeFileSync(productJsonPath, JSON.stringify(productJson, null, '\t'));
// Verify if native module architecture is correct
- const findOutput = await spawn('find', [outAppPath, '-name', 'keytar.node']);
+ const findOutput = await spawn('find', [outAppPath, '-name', 'kerberos.node']);
const lipoOutput = await spawn('lipo', ['-archs', findOutput.replace(/\n$/, '')]);
if (lipoOutput.replace(/\n$/, '') !== 'x86_64 arm64') {
throw new Error(`Invalid arch, got : ${lipoOutput}`);
diff --git a/build/filters.js b/build/filters.js
index 5a8cf36ef84..0e0c5fcabb8 100644
--- a/build/filters.js
+++ b/build/filters.js
@@ -37,7 +37,7 @@ module.exports.unicodeFilter = [
'!LICENSES.chromium.html',
'!**/LICENSE',
- '!**/*.{dll,exe,png,bmp,jpg,scpt,cur,ttf,woff,eot,template,ico,icns,opus}',
+ '!**/*.{dll,exe,png,bmp,jpg,scpt,cur,ttf,woff,eot,template,ico,icns,opus,wasm}',
'!**/test/**',
'!**/*.test.ts',
'!**/*.{d.ts,json,md}',
@@ -88,6 +88,7 @@ module.exports.indentationFilter = [
'!test/smoke/out/**',
'!extensions/typescript-language-features/test-workspace/**',
'!extensions/typescript-language-features/resources/walkthroughs/**',
+ '!extensions/typescript-language-features/package-manager/node-maintainer/**',
'!extensions/markdown-math/notebook-out/**',
'!extensions/ipynb/notebook-out/**',
'!extensions/vscode-api-tests/testWorkspace/**',
@@ -115,7 +116,7 @@ module.exports.indentationFilter = [
'!src/vs/*/**/*.d.ts',
'!src/typings/**/*.d.ts',
'!extensions/**/*.d.ts',
- '!**/*.{svg,exe,png,bmp,jpg,scpt,bat,cmd,cur,ttf,woff,eot,md,ps1,template,yaml,yml,d.ts.recipe,ico,icns,plist,opus,admx,adml}',
+ '!**/*.{svg,exe,png,bmp,jpg,scpt,bat,cmd,cur,ttf,woff,eot,md,ps1,template,yaml,yml,d.ts.recipe,ico,icns,plist,opus,admx,adml,wasm}',
'!build/{lib,download,linux,darwin}/**/*.js',
'!build/**/*.sh',
'!build/azure-pipelines/**/*.js',
@@ -157,6 +158,7 @@ module.exports.copyrightFilter = [
'!**/*.disabled',
'!**/*.code-workspace',
'!**/*.js.map',
+ '!**/*.wasm',
'!build/**/*.init',
'!build/linux/libcxx-fetcher.*',
'!resources/linux/snap/snapcraft.yaml',
@@ -166,6 +168,7 @@ module.exports.copyrightFilter = [
'!extensions/markdown-language-features/media/highlight.css',
'!extensions/markdown-math/notebook-out/**',
'!extensions/ipynb/notebook-out/**',
+ '!extensions/typescript-language-features/node-maintainer/**',
'!extensions/html-language-features/server/src/modes/typescript/*',
'!extensions/*/server/bin/*',
'!src/vs/editor/test/node/classification/typescript-test.ts',
diff --git a/build/gulpfile.reh.js b/build/gulpfile.reh.js
index a235f55c79e..592157f8d76 100644
--- a/build/gulpfile.reh.js
+++ b/build/gulpfile.reh.js
@@ -62,10 +62,6 @@ const serverResources = [
// Performance
'out-build/vs/base/common/performance.js',
- // Watcher
- 'out-build/vs/platform/files/**/*.exe',
- 'out-build/vs/platform/files/**/*.md',
-
// Process monitor
'out-build/vs/base/node/cpuUsage.sh',
'out-build/vs/base/node/ps.sh',
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
index 9505e8fe5ca..5f7f5ce4470 100644
--- a/build/gulpfile.vscode.js
+++ b/build/gulpfile.vscode.js
@@ -72,10 +72,9 @@ const vscodeResources = [
'out-build/vs/workbench/contrib/terminal/browser/media/*.sh',
'out-build/vs/workbench/contrib/terminal/browser/media/*.zsh',
'out-build/vs/workbench/contrib/webview/browser/pre/*.js',
+ 'out-build/vs/workbench/services/voiceRecognition/electron-sandbox/voiceTranscriptionWorklet.js',
'out-build/vs/**/markdown.css',
'out-build/vs/workbench/contrib/tasks/**/*.json',
- 'out-build/vs/platform/files/**/*.exe',
- 'out-build/vs/platform/files/**/*.md',
'!**/test/**'
];
diff --git a/build/lib/i18n.resources.json b/build/lib/i18n.resources.json
index f7f31337124..303ac03be1e 100644
--- a/build/lib/i18n.resources.json
+++ b/build/lib/i18n.resources.json
@@ -82,6 +82,10 @@
"name": "vs/workbench/services/assignment",
"project": "vscode-workbench"
},
+ {
+ "name": "vs/workbench/services/voiceRecognition",
+ "project": "vscode-workbench"
+ },
{
"name": "vs/workbench/contrib/extensions",
"project": "vscode-workbench"
diff --git a/build/lib/stylelint/vscode-known-variables.json b/build/lib/stylelint/vscode-known-variables.json
index a7d22a17b85..b7d31b812d8 100644
--- a/build/lib/stylelint/vscode-known-variables.json
+++ b/build/lib/stylelint/vscode-known-variables.json
@@ -734,6 +734,7 @@
"--tab-sizing-current-width",
"--tab-sizing-fixed-min-width",
"--tab-sizing-fixed-max-width",
+ "--editor-group-title-height",
"--testMessageDecorationFontFamily",
"--testMessageDecorationFontSize",
"--title-border-bottom-color",
@@ -757,6 +758,7 @@
"--vscode-sash-hover-size",
"--vscode-sash-size",
"--vscode-editorStickyScroll-scrollableWidth",
+ "--vscode-editorStickyScroll-foldingOpacityTransition",
"--window-border-color",
"--workspace-trust-check-color",
"--workspace-trust-selected-color",
@@ -779,4 +781,4 @@
"--z-index-notebook-sticky-scroll",
"--zoom-factor"
]
-}
\ No newline at end of file
+}
diff --git a/build/linux/debian/dep-lists.js b/build/linux/debian/dep-lists.js
index bd2ce4fa3d7..e60b340b45e 100644
--- a/build/linux/debian/dep-lists.js
+++ b/build/linux/debian/dep-lists.js
@@ -39,7 +39,6 @@ exports.referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.0.1)',
'libgbm1 (>= 17.1.0~rc2)',
- 'libglib2.0-0 (>= 2.16.0)',
'libglib2.0-0 (>= 2.37.3)',
'libgssapi-krb5-2',
'libgtk-3-0 (>= 3.9.10)',
@@ -49,7 +48,6 @@ exports.referenceGeneratedDepsByArch = {
'libnss3 (>= 2:3.30)',
'libnss3 (>= 3.26)',
'libpango-1.0-0 (>= 1.14.0)',
- 'libsecret-1-0 (>= 0.18)',
'libx11-6',
'libx11-6 (>= 2:1.4.99.1)',
'libxcb1 (>= 1.9.2)',
@@ -80,7 +78,6 @@ exports.referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.0.1)',
'libgbm1 (>= 17.1.0~rc2)',
- 'libglib2.0-0 (>= 2.12.0)',
'libglib2.0-0 (>= 2.37.3)',
'libgssapi-krb5-2',
'libgtk-3-0 (>= 3.9.10)',
@@ -90,7 +87,6 @@ exports.referenceGeneratedDepsByArch = {
'libnss3 (>= 2:3.30)',
'libnss3 (>= 3.26)',
'libpango-1.0-0 (>= 1.14.0)',
- 'libsecret-1-0 (>= 0.18)',
'libstdc++6 (>= 5)',
'libstdc++6 (>= 5.2)',
'libstdc++6 (>= 6)',
@@ -119,7 +115,6 @@ exports.referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.0.1)',
'libgbm1 (>= 17.1.0~rc2)',
- 'libglib2.0-0 (>= 2.12.0)',
'libglib2.0-0 (>= 2.37.3)',
'libgssapi-krb5-2',
'libgtk-3-0 (>= 3.9.10)',
@@ -129,7 +124,6 @@ exports.referenceGeneratedDepsByArch = {
'libnss3 (>= 2:3.30)',
'libnss3 (>= 3.26)',
'libpango-1.0-0 (>= 1.14.0)',
- 'libsecret-1-0 (>= 0.18)',
'libstdc++6 (>= 5)',
'libstdc++6 (>= 5.2)',
'libstdc++6 (>= 6)',
@@ -146,4 +140,4 @@ exports.referenceGeneratedDepsByArch = {
'xdg-utils (>= 1.0.2)'
]
};
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLWxpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwLWxpc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7O0FBRWhHLGtIQUFrSDtBQUNsSCw0REFBNEQ7QUFDL0MsUUFBQSxjQUFjLEdBQUc7SUFDN0IsaUJBQWlCO0lBQ2pCLHFDQUFxQztJQUNyQyxtQkFBbUI7SUFDbkIsc0RBQXNEO0lBQ3RELHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsV0FBVztDQUNYLENBQUM7QUFFRixvSEFBb0g7QUFDcEgsMENBQTBDO0FBQzFDLDhEQUE4RDtBQUNqRCxRQUFBLGVBQWUsR0FBRztJQUM5QixZQUFZLENBQUMseUVBQXlFO0NBQ3RGLENBQUM7QUFFVyxRQUFBLDRCQUE0QixHQUFHO0lBQzNDLE9BQU8sRUFBRTtRQUNSLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixzREFBc0Q7UUFDdEQseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixxQ0FBcUM7UUFDckMsV0FBVztRQUNYLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsVUFBVTtRQUNWLDBCQUEwQjtRQUMxQixvQkFBb0I7UUFDcEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QixVQUFVO1FBQ1YsWUFBWTtRQUNaLDBCQUEwQjtRQUMxQixhQUFhO1FBQ2IsWUFBWTtRQUNaLHNCQUFzQjtLQUN0QjtJQUNELE9BQU8sRUFBRTtRQUNSLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsc0JBQXNCO1FBQ3RCLHNEQUFzRDtRQUN0RCx5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHFDQUFxQztRQUNyQyxXQUFXO1FBQ1gsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsNEJBQTRCO1FBQzVCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQiwrQkFBK0I7UUFDL0Isd0JBQXdCO1FBQ3hCLFVBQVU7UUFDVixZQUFZO1FBQ1osMEJBQTBCO1FBQzFCLGFBQWE7UUFDYixZQUFZO1FBQ1osc0JBQXNCO0tBQ3RCO0lBQ0QsT0FBTyxFQUFFO1FBQ1IsaUJBQWlCO1FBQ2pCLHdCQUF3QjtRQUN4QiwrQkFBK0I7UUFDL0Isd0JBQXdCO1FBQ3hCLDJCQUEyQjtRQUMzQixpQkFBaUI7UUFDakIsc0JBQXNCO1FBQ3RCLHNEQUFzRDtRQUN0RCx3QkFBd0I7UUFDeEIscUJBQXFCO1FBQ3JCLHNCQUFzQjtRQUN0Qix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHFDQUFxQztRQUNyQyxXQUFXO1FBQ1gsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsNEJBQTRCO1FBQzVCLHlCQUF5QjtRQUN6QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQiwrQkFBK0I7UUFDL0Isd0JBQXdCO1FBQ3hCLFVBQVU7UUFDVixZQUFZO1FBQ1osMEJBQTBCO1FBQzFCLGFBQWE7UUFDYixZQUFZO1FBQ1osc0JBQXNCO0tBQ3RCO0NBQ0QsQ0FBQyJ9
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLWxpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwLWxpc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7O0FBRWhHLGtIQUFrSDtBQUNsSCw0REFBNEQ7QUFDL0MsUUFBQSxjQUFjLEdBQUc7SUFDN0IsaUJBQWlCO0lBQ2pCLHFDQUFxQztJQUNyQyxtQkFBbUI7SUFDbkIsc0RBQXNEO0lBQ3RELHNCQUFzQjtJQUN0QixrQkFBa0I7SUFDbEIsV0FBVztDQUNYLENBQUM7QUFFRixvSEFBb0g7QUFDcEgsMENBQTBDO0FBQzFDLDhEQUE4RDtBQUNqRCxRQUFBLGVBQWUsR0FBRztJQUM5QixZQUFZLENBQUMseUVBQXlFO0NBQ3RGLENBQUM7QUFFVyxRQUFBLDRCQUE0QixHQUFHO0lBQzNDLE9BQU8sRUFBRTtRQUNSLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLHdCQUF3QjtRQUN4QiwyQkFBMkI7UUFDM0IsaUJBQWlCO1FBQ2pCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixzREFBc0Q7UUFDdEQseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHFDQUFxQztRQUNyQyxXQUFXO1FBQ1gsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsNEJBQTRCO1FBQzVCLFVBQVU7UUFDViwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsVUFBVTtRQUNWLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsYUFBYTtRQUNiLFlBQVk7UUFDWixzQkFBc0I7S0FDdEI7SUFDRCxPQUFPLEVBQUU7UUFDUixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsaUJBQWlCO1FBQ2pCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHNCQUFzQjtRQUN0QixzREFBc0Q7UUFDdEQseUJBQXlCO1FBQ3pCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIseUJBQXlCO1FBQ3pCLDBCQUEwQjtRQUMxQixrQkFBa0I7UUFDbEIsd0JBQXdCO1FBQ3hCLHFDQUFxQztRQUNyQyxXQUFXO1FBQ1gsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsNEJBQTRCO1FBQzVCLG1CQUFtQjtRQUNuQixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLFVBQVU7UUFDViwwQkFBMEI7UUFDMUIsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsVUFBVTtRQUNWLFlBQVk7UUFDWiwwQkFBMEI7UUFDMUIsYUFBYTtRQUNiLFlBQVk7UUFDWixzQkFBc0I7S0FDdEI7SUFDRCxPQUFPLEVBQUU7UUFDUixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLCtCQUErQjtRQUMvQix3QkFBd0I7UUFDeEIsMkJBQTJCO1FBQzNCLGlCQUFpQjtRQUNqQixzQkFBc0I7UUFDdEIsc0RBQXNEO1FBQ3RELHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLHlCQUF5QjtRQUN6QiwwQkFBMEI7UUFDMUIsa0JBQWtCO1FBQ2xCLHdCQUF3QjtRQUN4QixxQ0FBcUM7UUFDckMsV0FBVztRQUNYLHdCQUF3QjtRQUN4QixxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLDRCQUE0QjtRQUM1QixtQkFBbUI7UUFDbkIscUJBQXFCO1FBQ3JCLG1CQUFtQjtRQUNuQixVQUFVO1FBQ1YsMEJBQTBCO1FBQzFCLG9CQUFvQjtRQUNwQiwrQkFBK0I7UUFDL0Isd0JBQXdCO1FBQ3hCLFVBQVU7UUFDVixZQUFZO1FBQ1osMEJBQTBCO1FBQzFCLGFBQWE7UUFDYixZQUFZO1FBQ1osc0JBQXNCO0tBQ3RCO0NBQ0QsQ0FBQyJ9
\ No newline at end of file
diff --git a/build/linux/debian/dep-lists.ts b/build/linux/debian/dep-lists.ts
index 842eaac27cc..c430f3b5ec3 100644
--- a/build/linux/debian/dep-lists.ts
+++ b/build/linux/debian/dep-lists.ts
@@ -39,7 +39,6 @@ export const referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.0.1)',
'libgbm1 (>= 17.1.0~rc2)',
- 'libglib2.0-0 (>= 2.16.0)',
'libglib2.0-0 (>= 2.37.3)',
'libgssapi-krb5-2',
'libgtk-3-0 (>= 3.9.10)',
@@ -49,7 +48,6 @@ export const referenceGeneratedDepsByArch = {
'libnss3 (>= 2:3.30)',
'libnss3 (>= 3.26)',
'libpango-1.0-0 (>= 1.14.0)',
- 'libsecret-1-0 (>= 0.18)',
'libx11-6',
'libx11-6 (>= 2:1.4.99.1)',
'libxcb1 (>= 1.9.2)',
@@ -80,7 +78,6 @@ export const referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.0.1)',
'libgbm1 (>= 17.1.0~rc2)',
- 'libglib2.0-0 (>= 2.12.0)',
'libglib2.0-0 (>= 2.37.3)',
'libgssapi-krb5-2',
'libgtk-3-0 (>= 3.9.10)',
@@ -90,7 +87,6 @@ export const referenceGeneratedDepsByArch = {
'libnss3 (>= 2:3.30)',
'libnss3 (>= 3.26)',
'libpango-1.0-0 (>= 1.14.0)',
- 'libsecret-1-0 (>= 0.18)',
'libstdc++6 (>= 5)',
'libstdc++6 (>= 5.2)',
'libstdc++6 (>= 6)',
@@ -119,7 +115,6 @@ export const referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.0.1)',
'libgbm1 (>= 17.1.0~rc2)',
- 'libglib2.0-0 (>= 2.12.0)',
'libglib2.0-0 (>= 2.37.3)',
'libgssapi-krb5-2',
'libgtk-3-0 (>= 3.9.10)',
@@ -129,7 +124,6 @@ export const referenceGeneratedDepsByArch = {
'libnss3 (>= 2:3.30)',
'libnss3 (>= 3.26)',
'libpango-1.0-0 (>= 1.14.0)',
- 'libsecret-1-0 (>= 0.18)',
'libstdc++6 (>= 5)',
'libstdc++6 (>= 5.2)',
'libstdc++6 (>= 6)',
diff --git a/build/linux/rpm/dep-lists.js b/build/linux/rpm/dep-lists.js
index 5e2749a50be..667d207ca9d 100644
--- a/build/linux/rpm/dep-lists.js
+++ b/build/linux/rpm/dep-lists.js
@@ -96,7 +96,6 @@ exports.referenceGeneratedDepsByArch = {
'libpthread.so.0(GLIBC_2.3.4)(64bit)',
'librt.so.1()(64bit)',
'librt.so.1(GLIBC_2.2.5)(64bit)',
- 'libsecret-1.so.0()(64bit)',
'libsmime3.so()(64bit)',
'libsmime3.so(NSS_3.10)(64bit)',
'libsmime3.so(NSS_3.2)(64bit)',
@@ -181,7 +180,6 @@ exports.referenceGeneratedDepsByArch = {
'libpthread.so.0(GLIBC_2.4)',
'librt.so.1',
'librt.so.1(GLIBC_2.4)',
- 'libsecret-1.so.0',
'libsmime3.so',
'libsmime3.so(NSS_3.10)',
'libsmime3.so(NSS_3.2)',
@@ -273,7 +271,6 @@ exports.referenceGeneratedDepsByArch = {
'libpthread.so.0(GLIBC_2.17)(64bit)',
'librt.so.1()(64bit)',
'librt.so.1(GLIBC_2.17)(64bit)',
- 'libsecret-1.so.0()(64bit)',
'libsmime3.so()(64bit)',
'libsmime3.so(NSS_3.10)(64bit)',
'libsmime3.so(NSS_3.2)(64bit)',
@@ -305,4 +302,4 @@ exports.referenceGeneratedDepsByArch = {
'xdg-utils'
]
};
-//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLWxpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwLWxpc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7O0FBRWhHLCtHQUErRztBQUMvRywrREFBK0Q7QUFDbEQsUUFBQSxjQUFjLEdBQUc7SUFDN0IsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyx5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLFdBQVcsQ0FBQyxpQkFBaUI7Q0FDN0IsQ0FBQztBQUVXLFFBQUEsNEJBQTRCLEdBQUc7SUFDM0MsUUFBUSxFQUFFO1FBQ1QsaUJBQWlCO1FBQ2pCLCtCQUErQjtRQUMvQiwwQ0FBMEM7UUFDMUMsd0NBQXdDO1FBQ3hDLHNCQUFzQjtRQUN0Qiw2QkFBNkI7UUFDN0IsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsc0NBQXNDO1FBQ3RDLDBCQUEwQjtRQUMxQixpQ0FBaUM7UUFDakMsd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQiw4QkFBOEI7UUFDOUIsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5Qiw4QkFBOEI7UUFDOUIsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsNkJBQTZCO1FBQzdCLCtCQUErQjtRQUMvQiwrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0IsNkJBQTZCO1FBQzdCLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0Isd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQyxzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0IsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5QiwrQ0FBK0M7UUFDL0Msd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2QixpQ0FBaUM7UUFDakMsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0IsK0JBQStCO1FBQy9CLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQUM1Qiw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBQzVCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIseUJBQXlCO1FBQ3pCLHVDQUF1QztRQUN2Qyw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLG9DQUFvQztRQUNwQyxxQ0FBcUM7UUFDckMscUNBQXFDO1FBQ3JDLHFDQUFxQztRQUNyQyxxQ0FBcUM7UUFDckMscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQywyQkFBMkI7UUFDM0IsdUJBQXVCO1FBQ3ZCLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLHVCQUF1QjtRQUN2QixrQ0FBa0M7UUFDbEMsc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsZ0NBQWdDO1FBQ2hDLGdCQUFnQjtRQUNoQixXQUFXO0tBQ1g7SUFDRCxTQUFTLEVBQUU7UUFDVixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQyxhQUFhO1FBQ2Isb0JBQW9CO1FBQ3BCLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsMEJBQTBCO1FBQzFCLCtCQUErQjtRQUMvQixpQkFBaUI7UUFDakIsd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixXQUFXO1FBQ1gsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLGVBQWU7UUFDZix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsYUFBYTtRQUNiLGVBQWU7UUFDZixhQUFhO1FBQ2IsZUFBZTtRQUNmLHdCQUF3QjtRQUN4Qix3QkFBd0I7UUFDeEIsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixxQkFBcUI7UUFDckIscUJBQXFCO1FBQ3JCLHdDQUF3QztRQUN4QyxlQUFlO1FBQ2Ysd0JBQXdCO1FBQ3hCLGNBQWM7UUFDZCwwQkFBMEI7UUFDMUIsV0FBVztRQUNYLHNCQUFzQjtRQUN0QixhQUFhO1FBQ2IsWUFBWTtRQUNaLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0QixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3QixxQkFBcUI7UUFDckIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLGdCQUFnQjtRQUNoQixnQ0FBZ0M7UUFDaEMsbUJBQW1CO1FBQ25CLGlCQUFpQjtRQUNqQiw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBQzVCLFlBQVk7UUFDWix1QkFBdUI7UUFDdkIsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCx3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLDZCQUE2QjtRQUM3QixnQkFBZ0I7UUFDaEIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5Qiw4QkFBOEI7UUFDOUIsOEJBQThCO1FBQzlCLGtDQUFrQztRQUNsQyw2QkFBNkI7UUFDN0IsZ0NBQWdDO1FBQ2hDLGdDQUFnQztRQUNoQyxnQ0FBZ0M7UUFDaEMsZ0NBQWdDO1FBQ2hDLGdDQUFnQztRQUNoQyxnQ0FBZ0M7UUFDaEMsZ0NBQWdDO1FBQ2hDLGdDQUFnQztRQUNoQywrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLGNBQWM7UUFDZCx5QkFBeUI7UUFDekIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQixpQkFBaUI7UUFDakIsZ0NBQWdDO1FBQ2hDLGdCQUFnQjtRQUNoQixXQUFXO0tBQ1g7SUFDRCxTQUFTLEVBQUU7UUFDVixpQkFBaUI7UUFDakIsZ0NBQWdDO1FBQ2hDLDBDQUEwQztRQUMxQyxzQkFBc0I7UUFDdEIsNkJBQTZCO1FBQzdCLDBCQUEwQjtRQUMxQix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIsaUNBQWlDO1FBQ2pDLHNDQUFzQztRQUN0QywwQkFBMEI7UUFDMUIsaUNBQWlDO1FBQ2pDLHdCQUF3QjtRQUN4QixvQkFBb0I7UUFDcEIsOEJBQThCO1FBQzlCLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIseUJBQXlCO1FBQ3pCLG9DQUFvQztRQUNwQyxxQkFBcUI7UUFDckIsK0JBQStCO1FBQy9CLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLHdCQUF3QjtRQUN4QiwrQkFBK0I7UUFDL0IsaUNBQWlDO1FBQ2pDLGlDQUFpQztRQUNqQywwQkFBMEI7UUFDMUIsMkJBQTJCO1FBQzNCLDhCQUE4QjtRQUM5Qiw4QkFBOEI7UUFDOUIsK0NBQStDO1FBQy9DLHdCQUF3QjtRQUN4Qix1QkFBdUI7UUFDdkIsaUNBQWlDO1FBQ2pDLG9CQUFvQjtRQUNwQiw4QkFBOEI7UUFDOUIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQiw2QkFBNkI7UUFDN0IsNkJBQTZCO1FBQzdCLCtCQUErQjtRQUMvQiw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQUM1Qiw0QkFBNEI7UUFDNUIsOEJBQThCO1FBQzlCLHlCQUF5QjtRQUN6Qix1Q0FBdUM7UUFDdkMsNEJBQTRCO1FBQzVCLDBCQUEwQjtRQUMxQixvQ0FBb0M7UUFDcEMscUJBQXFCO1FBQ3JCLCtCQUErQjtRQUMvQiwyQkFBMkI7UUFDM0IsdUJBQXVCO1FBQ3ZCLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLHlCQUF5QjtRQUN6QixtQ0FBbUM7UUFDbkMscUNBQXFDO1FBQ3JDLHFDQUFxQztRQUNyQyxxQ0FBcUM7UUFDckMsb0NBQW9DO1FBQ3BDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsc0NBQXNDO1FBQ3RDLHNDQUFzQztRQUN0Qyx1QkFBdUI7UUFDdkIsaUNBQWlDO1FBQ2pDLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsbUNBQW1DO1FBQ25DLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsZ0JBQWdCO1FBQ2hCLFdBQVc7S0FDWDtDQUNELENBQUMifQ==
\ No newline at end of file
+//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwLWxpc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZGVwLWxpc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7O2dHQUdnRzs7O0FBRWhHLCtHQUErRztBQUMvRywrREFBK0Q7QUFDbEQsUUFBQSxjQUFjLEdBQUc7SUFDN0IsaUJBQWlCO0lBQ2pCLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyx5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLFdBQVcsQ0FBQyxpQkFBaUI7Q0FDN0IsQ0FBQztBQUVXLFFBQUEsNEJBQTRCLEdBQUc7SUFDM0MsUUFBUSxFQUFFO1FBQ1QsaUJBQWlCO1FBQ2pCLCtCQUErQjtRQUMvQiwwQ0FBMEM7UUFDMUMsd0NBQXdDO1FBQ3hDLHNCQUFzQjtRQUN0Qiw2QkFBNkI7UUFDN0IsMEJBQTBCO1FBQzFCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLHlCQUF5QjtRQUN6QixpQ0FBaUM7UUFDakMsc0NBQXNDO1FBQ3RDLDBCQUEwQjtRQUMxQixpQ0FBaUM7UUFDakMsd0JBQXdCO1FBQ3hCLG9CQUFvQjtRQUNwQiw4QkFBOEI7UUFDOUIsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5Qiw4QkFBOEI7UUFDOUIsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5QiwrQkFBK0I7UUFDL0IsNkJBQTZCO1FBQzdCLCtCQUErQjtRQUMvQiwrQkFBK0I7UUFDL0IsK0JBQStCO1FBQy9CLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0IsNkJBQTZCO1FBQzdCLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0Isd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2Qix5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQyxzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLDBCQUEwQjtRQUMxQiwyQkFBMkI7UUFDM0IsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5QiwrQ0FBK0M7UUFDL0Msd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2QixpQ0FBaUM7UUFDakMsb0JBQW9CO1FBQ3BCLCtCQUErQjtRQUMvQixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLDZCQUE2QjtRQUM3Qiw2QkFBNkI7UUFDN0IsK0JBQStCO1FBQy9CLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQUM1Qiw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBQzVCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIseUJBQXlCO1FBQ3pCLHVDQUF1QztRQUN2Qyw0QkFBNEI7UUFDNUIsMEJBQTBCO1FBQzFCLG9DQUFvQztRQUNwQyxxQ0FBcUM7UUFDckMscUNBQXFDO1FBQ3JDLHFDQUFxQztRQUNyQyxxQ0FBcUM7UUFDckMscUJBQXFCO1FBQ3JCLGdDQUFnQztRQUNoQyx1QkFBdUI7UUFDdkIsK0JBQStCO1FBQy9CLDhCQUE4QjtRQUM5Qiw2QkFBNkI7UUFDN0IsdUJBQXVCO1FBQ3ZCLGtDQUFrQztRQUNsQyxzQkFBc0I7UUFDdEIsNEJBQTRCO1FBQzVCLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsZ0JBQWdCO1FBQ2hCLFdBQVc7S0FDWDtJQUNELFNBQVMsRUFBRTtRQUNWLGlCQUFpQjtRQUNqQixxQkFBcUI7UUFDckIsZ0NBQWdDO1FBQ2hDLGFBQWE7UUFDYixvQkFBb0I7UUFDcEIsaUJBQWlCO1FBQ2pCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQiwwQkFBMEI7UUFDMUIsK0JBQStCO1FBQy9CLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsZUFBZTtRQUNmLFdBQVc7UUFDWCx1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2Qix1QkFBdUI7UUFDdkIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsZUFBZTtRQUNmLHVCQUF1QjtRQUN2QixnQkFBZ0I7UUFDaEIsWUFBWTtRQUNaLHVCQUF1QjtRQUN2QixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWE7UUFDYixlQUFlO1FBQ2Ysd0JBQXdCO1FBQ3hCLHdCQUF3QjtRQUN4QixpQkFBaUI7UUFDakIsa0JBQWtCO1FBQ2xCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsd0NBQXdDO1FBQ3hDLGVBQWU7UUFDZix3QkFBd0I7UUFDeEIsY0FBYztRQUNkLDBCQUEwQjtRQUMxQixXQUFXO1FBQ1gsc0JBQXNCO1FBQ3RCLGFBQWE7UUFDYixZQUFZO1FBQ1osc0JBQXNCO1FBQ3RCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsc0JBQXNCO1FBQ3RCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQix1QkFBdUI7UUFDdkIsZ0JBQWdCO1FBQ2hCLGdDQUFnQztRQUNoQyxtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsWUFBWTtRQUNaLHVCQUF1QjtRQUN2QixjQUFjO1FBQ2Qsd0JBQXdCO1FBQ3hCLHVCQUF1QjtRQUN2Qiw2QkFBNkI7UUFDN0IsZ0JBQWdCO1FBQ2hCLDRCQUE0QjtRQUM1Qiw4QkFBOEI7UUFDOUIsOEJBQThCO1FBQzlCLDhCQUE4QjtRQUM5QixrQ0FBa0M7UUFDbEMsNkJBQTZCO1FBQzdCLGdDQUFnQztRQUNoQyxnQ0FBZ0M7UUFDaEMsZ0NBQWdDO1FBQ2hDLGdDQUFnQztRQUNoQyxnQ0FBZ0M7UUFDaEMsZ0NBQWdDO1FBQ2hDLGdDQUFnQztRQUNoQyxnQ0FBZ0M7UUFDaEMsK0JBQStCO1FBQy9CLCtCQUErQjtRQUMvQixjQUFjO1FBQ2QseUJBQXlCO1FBQ3pCLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsaUJBQWlCO1FBQ2pCLGdDQUFnQztRQUNoQyxnQkFBZ0I7UUFDaEIsV0FBVztLQUNYO0lBQ0QsU0FBUyxFQUFFO1FBQ1YsaUJBQWlCO1FBQ2pCLGdDQUFnQztRQUNoQywwQ0FBMEM7UUFDMUMsc0JBQXNCO1FBQ3RCLDZCQUE2QjtRQUM3QiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6Qix5QkFBeUI7UUFDekIseUJBQXlCO1FBQ3pCLGlDQUFpQztRQUNqQyxzQ0FBc0M7UUFDdEMsMEJBQTBCO1FBQzFCLGlDQUFpQztRQUNqQyx3QkFBd0I7UUFDeEIsb0JBQW9CO1FBQ3BCLDhCQUE4QjtRQUM5Qix3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLHlCQUF5QjtRQUN6QixvQ0FBb0M7UUFDcEMscUJBQXFCO1FBQ3JCLCtCQUErQjtRQUMvQixzQkFBc0I7UUFDdEIsd0JBQXdCO1FBQ3hCLHNCQUFzQjtRQUN0Qix3QkFBd0I7UUFDeEIsK0JBQStCO1FBQy9CLGlDQUFpQztRQUNqQyxpQ0FBaUM7UUFDakMsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQiw4QkFBOEI7UUFDOUIsOEJBQThCO1FBQzlCLCtDQUErQztRQUMvQyx3QkFBd0I7UUFDeEIsdUJBQXVCO1FBQ3ZCLGlDQUFpQztRQUNqQyxvQkFBb0I7UUFDcEIsOEJBQThCO1FBQzlCLHNCQUFzQjtRQUN0QixxQkFBcUI7UUFDckIsNkJBQTZCO1FBQzdCLDZCQUE2QjtRQUM3QiwrQkFBK0I7UUFDL0IsNkJBQTZCO1FBQzdCLDRCQUE0QjtRQUM1Qiw2QkFBNkI7UUFDN0IsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3Qiw0QkFBNEI7UUFDNUIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5Qix5QkFBeUI7UUFDekIsdUNBQXVDO1FBQ3ZDLDRCQUE0QjtRQUM1QiwwQkFBMEI7UUFDMUIsb0NBQW9DO1FBQ3BDLHFCQUFxQjtRQUNyQiwrQkFBK0I7UUFDL0IsdUJBQXVCO1FBQ3ZCLCtCQUErQjtRQUMvQiw4QkFBOEI7UUFDOUIsNkJBQTZCO1FBQzdCLHlCQUF5QjtRQUN6QixtQ0FBbUM7UUFDbkMscUNBQXFDO1FBQ3JDLHFDQUFxQztRQUNyQyxxQ0FBcUM7UUFDckMsb0NBQW9DO1FBQ3BDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsdUNBQXVDO1FBQ3ZDLHVDQUF1QztRQUN2Qyx1Q0FBdUM7UUFDdkMsc0NBQXNDO1FBQ3RDLHNDQUFzQztRQUN0Qyx1QkFBdUI7UUFDdkIsaUNBQWlDO1FBQ2pDLHNCQUFzQjtRQUN0Qiw0QkFBNEI7UUFDNUIsbUNBQW1DO1FBQ25DLDBCQUEwQjtRQUMxQixnQ0FBZ0M7UUFDaEMsZ0JBQWdCO1FBQ2hCLFdBQVc7S0FDWDtDQUNELENBQUMifQ==
\ No newline at end of file
diff --git a/build/linux/rpm/dep-lists.ts b/build/linux/rpm/dep-lists.ts
index 4e5f64dc20b..2a30ba9d640 100644
--- a/build/linux/rpm/dep-lists.ts
+++ b/build/linux/rpm/dep-lists.ts
@@ -95,7 +95,6 @@ export const referenceGeneratedDepsByArch = {
'libpthread.so.0(GLIBC_2.3.4)(64bit)',
'librt.so.1()(64bit)',
'librt.so.1(GLIBC_2.2.5)(64bit)',
- 'libsecret-1.so.0()(64bit)',
'libsmime3.so()(64bit)',
'libsmime3.so(NSS_3.10)(64bit)',
'libsmime3.so(NSS_3.2)(64bit)',
@@ -180,7 +179,6 @@ export const referenceGeneratedDepsByArch = {
'libpthread.so.0(GLIBC_2.4)',
'librt.so.1',
'librt.so.1(GLIBC_2.4)',
- 'libsecret-1.so.0',
'libsmime3.so',
'libsmime3.so(NSS_3.10)',
'libsmime3.so(NSS_3.2)',
@@ -272,7 +270,6 @@ export const referenceGeneratedDepsByArch = {
'libpthread.so.0(GLIBC_2.17)(64bit)',
'librt.so.1()(64bit)',
'librt.so.1(GLIBC_2.17)(64bit)',
- 'libsecret-1.so.0()(64bit)',
'libsmime3.so()(64bit)',
'libsmime3.so(NSS_3.10)(64bit)',
'libsmime3.so(NSS_3.2)(64bit)',
diff --git a/build/monaco/README-npm.md b/build/monaco/README-npm.md
index ca5592e0fe1..ec8eb5a4037 100644
--- a/build/monaco/README-npm.md
+++ b/build/monaco/README-npm.md
@@ -10,4 +10,5 @@ The Monaco Editor is the code editor that powers [VS Code](https://github.com/mi
This npm module contains the core editor functionality, as it comes from the [vscode repository](https://github.com/microsoft/vscode).
## License
+
[MIT](https://github.com/microsoft/vscode/blob/main/LICENSE.txt)
diff --git a/build/monaco/monaco.d.ts.recipe b/build/monaco/monaco.d.ts.recipe
index ff4febe8ce6..55efbe60085 100644
--- a/build/monaco/monaco.d.ts.recipe
+++ b/build/monaco/monaco.d.ts.recipe
@@ -89,7 +89,6 @@ declare namespace monaco {
}
declare namespace monaco.editor {
-#include(vs/editor/browser/widget/diffNavigator): IDiffNavigator
#includeAll(vs/editor/standalone/browser/standaloneEditor;languages.Token=>Token):
#include(vs/editor/standalone/common/standaloneTheme): BuiltinTheme, IStandaloneThemeData, IColors
#include(vs/editor/common/languages/supports/tokenization): ITokenThemeRule
@@ -107,10 +106,7 @@ export interface ICommandHandler {
#include(vs/editor/common/core/editOperation): ISingleEditOperation
#include(vs/editor/common/core/wordHelper): IWordAtPosition
#includeAll(vs/editor/common/model): IScrollEvent
-#include(vs/editor/common/diff/smartLinesDiffComputer): IChange, ICharChange, ILineChange
-#include(vs/editor/common/diff/documentDiffProvider): IDocumentDiffProvider, IDocumentDiffProviderOptions, IDocumentDiff
-#include(vs/editor/common/core/lineRange): LineRange
-#include(vs/editor/common/diff/linesDiffComputer): LineRangeMapping, RangeMapping, MovedText, SimpleLineRangeMapping
+#include(vs/editor/common/diff/legacyLinesDiffComputer): IChange, ICharChange, ILineChange
#include(vs/editor/common/core/dimension): IDimension
#includeAll(vs/editor/common/editorCommon): IScrollEvent
#includeAll(vs/editor/common/textModelEvents):
diff --git a/cgmanifest.json b/cgmanifest.json
index 574ec75d24d..6b2d2bfff44 100644
--- a/cgmanifest.json
+++ b/cgmanifest.json
@@ -528,12 +528,12 @@
"git": {
"name": "electron",
"repositoryUrl": "https://github.com/electron/electron",
- "commitHash": "34be316c404e84cdd967fa0e10fceeb6424eed90"
+ "commitHash": "84d7f7f071ae11637d4a41b95536410293672750"
}
},
"isOnlyProductionDependency": true,
"license": "MIT",
- "version": "25.5.0"
+ "version": "25.8.0"
},
{
"component": {
diff --git a/cli/Cargo.lock b/cli/Cargo.lock
index a67cc7cf3bd..1e75e0541fa 100644
--- a/cli/Cargo.lock
+++ b/cli/Cargo.lock
@@ -735,6 +735,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
dependencies = [
"crc32fast",
+ "libz-sys",
"miniz_oxide",
]
@@ -1217,6 +1218,17 @@ version = "0.2.144"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+[[package]]
+name = "libz-sys"
+version = "1.1.12"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+dependencies = [
+ "cc",
+ "pkg-config",
+ "vcpkg",
+]
+
[[package]]
name = "link-cplusplus"
version = "1.0.9"
@@ -2471,7 +2483,7 @@ dependencies = [
[[package]]
name = "tunnels"
version = "0.1.0"
-source = "git+https://github.com/microsoft/dev-tunnels?rev=2621784a9ad72aa39500372391332a14bad581a3#2621784a9ad72aa39500372391332a14bad581a3"
+source = "git+https://github.com/microsoft/dev-tunnels?rev=3141ad7be00e18c4231f7c4fb6c11f9219ac49af#3141ad7be00e18c4231f7c4fb6c11f9219ac49af"
dependencies = [
"async-trait",
"chrono",
diff --git a/cli/Cargo.toml b/cli/Cargo.toml
index 18f18069c1f..03a6f573952 100644
--- a/cli/Cargo.toml
+++ b/cli/Cargo.toml
@@ -18,8 +18,8 @@ open = "4.1.0"
reqwest = { version = "0.11.18", default-features = false, features = ["json", "stream", "native-tls"] }
tokio = { version = "1.28.2", features = ["full"] }
tokio-util = { version = "0.7.8", features = ["compat", "codec"] }
-flate2 = "1.0.26"
-zip = { version = "0.6.6", default-features = false, features = ["time", "deflate"] }
+flate2 = { version = "1.0.26", default-features = false, features = ["zlib"] }
+zip = { version = "0.6.6", default-features = false, features = ["time", "deflate-zlib"] }
regex = "1.8.3"
lazy_static = "1.4.0"
sysinfo = { version = "0.29.0", default-features = false }
@@ -34,7 +34,7 @@ serde_bytes = "0.11.9"
chrono = { version = "0.4.26", features = ["serde", "std", "clock"], default-features = false }
gethostname = "0.4.3"
libc = "0.2.144"
-tunnels = { git = "https://github.com/microsoft/dev-tunnels", rev = "2621784a9ad72aa39500372391332a14bad581a3", default-features = false, features = ["connections"] }
+tunnels = { git = "https://github.com/microsoft/dev-tunnels", rev = "3141ad7be00e18c4231f7c4fb6c11f9219ac49af", default-features = false, features = ["connections"] }
keyring = { version = "2.0.3", default-features = false, features = ["linux-secret-service-rt-tokio-crypto-openssl"] }
dialoguer = "0.10.4"
hyper = { version = "0.14.26", features = ["server", "http1", "runtime"] }
diff --git a/cli/ThirdPartyNotices.txt b/cli/ThirdPartyNotices.txt
index ba85a27096c..09856f72402 100644
--- a/cli/ThirdPartyNotices.txt
+++ b/cli/ThirdPartyNotices.txt
@@ -525,35 +525,6 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-atty 0.2.14 - MIT
-https://github.com/softprops/atty
-
-The MIT License (MIT)
-
-Copyright (c) 2015-2019 Doug Tangren
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
----------------------------------------------------------
-
----------------------------------------------------------
-
autocfg 1.1.0 - Apache-2.0 OR MIT
https://github.com/cuviper/autocfg
@@ -1875,7 +1846,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-crossbeam-utils 0.8.12 - MIT OR Apache-2.0
+crossbeam-utils 0.8.16 - MIT OR Apache-2.0
https://github.com/crossbeam-rs/crossbeam
The MIT License (MIT)
@@ -1965,7 +1936,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted
---------------------------------------------------------
-cxx 1.0.78 - MIT OR Apache-2.0
+cxx 1.0.97 - MIT OR Apache-2.0
https://github.com/dtolnay/cxx
Permission is hereby granted, free of charge, to any
@@ -1995,7 +1966,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-cxx-build 1.0.78 - MIT OR Apache-2.0
+cxx-build 1.0.97 - MIT OR Apache-2.0
https://github.com/dtolnay/cxx
Permission is hereby granted, free of charge, to any
@@ -2025,7 +1996,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-cxxbridge-flags 1.0.78 - MIT OR Apache-2.0
+cxxbridge-flags 1.0.97 - MIT OR Apache-2.0
https://github.com/dtolnay/cxx
Permission is hereby granted, free of charge, to any
@@ -2055,7 +2026,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-cxxbridge-macro 1.0.78 - MIT OR Apache-2.0
+cxxbridge-macro 1.0.97 - MIT OR Apache-2.0
https://github.com/dtolnay/cxx
Permission is hereby granted, free of charge, to any
@@ -3553,7 +3524,7 @@ Unless you explicitly state otherwise, any contribution intentionally submitted
---------------------------------------------------------
-http 0.2.8 - MIT OR Apache-2.0
+http 0.2.9 - MIT OR Apache-2.0
https://github.com/hyperium/http
Copyright (c) 2017 http-rs authors
@@ -3725,7 +3696,7 @@ THE SOFTWARE.
---------------------------------------------------------
-iana-time-zone 0.1.51 - MIT OR Apache-2.0
+iana-time-zone 0.1.57 - MIT OR Apache-2.0
https://github.com/strawlab/iana-time-zone
Copyright (c) 2020 Andrew D. Straw
@@ -3757,7 +3728,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-iana-time-zone-haiku 0.1.0 - MIT OR Apache-2.0
+iana-time-zone-haiku 0.1.1 - MIT OR Apache-2.0
https://github.com/strawlab/iana-time-zone
Copyright (c) 2020 Andrew D. Straw
@@ -4259,7 +4230,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-link-cplusplus 1.0.7 - MIT OR Apache-2.0
+link-cplusplus 1.0.9 - MIT OR Apache-2.0
https://github.com/dtolnay/link-cplusplus
Permission is hereby granted, free of charge, to any
@@ -7734,7 +7705,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-scratch 1.0.2 - MIT OR Apache-2.0
+scratch 1.0.7 - MIT OR Apache-2.0
https://github.com/dtolnay/scratch
Permission is hereby granted, free of charge, to any
@@ -8753,7 +8724,7 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-termcolor 1.1.3 - Unlicense OR MIT
+termcolor 1.2.0 - Unlicense OR MIT
https://github.com/BurntSushi/termcolor
The MIT License (MIT)
@@ -8841,7 +8812,6 @@ DEALINGS IN THE SOFTWARE.
---------------------------------------------------------
-time 0.1.44 - MIT/Apache-2.0
time 0.3.21 - MIT OR Apache-2.0
https://github.com/time-rs/time
@@ -9136,31 +9106,25 @@ DEALINGS IN THE SOFTWARE.
toml 0.5.9 - MIT/Apache-2.0
https://github.com/toml-rs/toml
-Copyright (c) 2014 Alex Crichton
+Copyright (c) Individual contributors
-Permission is hereby granted, free of charge, to any
-person obtaining a copy of this software and associated
-documentation files (the "Software"), to deal in the
-Software without restriction, including without
-limitation the rights to use, copy, modify, merge,
-publish, distribute, sublicense, and/or sell copies of
-the Software, and to permit persons to whom the Software
-is furnished to do so, subject to the following
-conditions:
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice
-shall be included in all copies or substantial portions
-of the Software.
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
-ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
-TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
-IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
---------------------------------------------------------
---------------------------------------------------------
@@ -9357,7 +9321,7 @@ THE SOFTWARE.
---------------------------------------------------------
-tunnels 2621784a9ad72aa39500372391332a14bad581a3
+tunnels 3141ad7be00e18c4231f7c4fb6c11f9219ac49af
https://github.com/microsoft/dev-tunnels
MIT License
@@ -9852,7 +9816,6 @@ THE SOFTWARE.
---------------------------------------------------------
-wasi 0.10.0+wasi-snapshot-preview1 - Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
wasi 0.11.0+wasi-snapshot-preview1 - Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
wasi 0.9.0+wasi-snapshot-preview1 - Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
https://github.com/bytecodealliance/wasi
@@ -10272,6 +10235,34 @@ SOFTWARE.
---------------------------------------------------------
+windows 0.48.0 - MIT OR Apache-2.0
+https://github.com/microsoft/windows-rs
+
+MIT License
+
+ Copyright (c) Microsoft Corporation.
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in all
+ copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE
+---------------------------------------------------------
+
+---------------------------------------------------------
+
windows-sys 0.36.1 - MIT OR Apache-2.0
windows-sys 0.45.0 - MIT OR Apache-2.0
windows-sys 0.48.0 - MIT OR Apache-2.0
diff --git a/cli/src/async_pipe.rs b/cli/src/async_pipe.rs
index 6c7c918967a..e9b710c1d68 100644
--- a/cli/src/async_pipe.rs
+++ b/cli/src/async_pipe.rs
@@ -6,6 +6,8 @@
use crate::{constants::APPLICATION_NAME, util::errors::CodeError};
use async_trait::async_trait;
use std::path::{Path, PathBuf};
+use std::pin::Pin;
+use std::task::{Context, Poll};
use tokio::io::{AsyncRead, AsyncWrite};
use tokio::net::TcpListener;
use uuid::Uuid;
@@ -44,7 +46,7 @@ cfg_if::cfg_if! {
} else {
use tokio::{time::sleep, io::ReadBuf};
use tokio::net::windows::named_pipe::{ClientOptions, ServerOptions, NamedPipeClient, NamedPipeServer};
- use std::{time::Duration, pin::Pin, task::{Context, Poll}, io};
+ use std::{time::Duration, io};
use pin_project::pin_project;
#[pin_project(project = AsyncPipeProj)]
@@ -174,6 +176,57 @@ cfg_if::cfg_if! {
}
}
+impl AsyncPipeListener {
+ pub fn into_pollable(self) -> PollableAsyncListener {
+ PollableAsyncListener {
+ listener: Some(self),
+ write_fut: tokio_util::sync::ReusableBoxFuture::new(make_accept_fut(None)),
+ }
+ }
+}
+
+pub struct PollableAsyncListener {
+ listener: Option,
+ write_fut: tokio_util::sync::ReusableBoxFuture<
+ 'static,
+ (AsyncPipeListener, Result),
+ >,
+}
+
+async fn make_accept_fut(
+ data: Option,
+) -> (AsyncPipeListener, Result) {
+ match data {
+ Some(mut l) => {
+ let c = l.accept().await;
+ (l, c)
+ }
+ None => unreachable!("this future should not be pollable in this state"),
+ }
+}
+
+impl hyper::server::accept::Accept for PollableAsyncListener {
+ type Conn = AsyncPipe;
+ type Error = CodeError;
+
+ fn poll_accept(
+ mut self: Pin<&mut Self>,
+ cx: &mut Context<'_>,
+ ) -> Poll>> {
+ if let Some(l) = self.listener.take() {
+ self.write_fut.set(make_accept_fut(Some(l)))
+ }
+
+ match self.write_fut.poll(cx) {
+ Poll::Ready((l, cnx)) => {
+ self.listener = Some(l);
+ Poll::Ready(Some(cnx))
+ }
+ Poll::Pending => Poll::Pending,
+ }
+ }
+}
+
/// Gets a random name for a pipe/socket on the paltform
pub fn get_socket_name() -> PathBuf {
cfg_if::cfg_if! {
diff --git a/cli/src/commands/args.rs b/cli/src/commands/args.rs
index cce01c52fd9..cbc33fcb071 100644
--- a/cli/src/commands/args.rs
+++ b/cli/src/commands/args.rs
@@ -52,6 +52,7 @@ const VERSION: &str = concatcp!(NUMBER_IN_VERSION, " (commit ", COMMIT_IN_VERSIO
#[clap(
help_template = INTEGRATED_TEMPLATE,
long_about = None,
+ name = constants::APPLICATION_NAME,
version = VERSION,
)]
pub struct IntegratedCli {
@@ -84,6 +85,7 @@ pub struct CliCore {
help_template = STANDALONE_TEMPLATE,
long_about = None,
version = VERSION,
+ name = constants::APPLICATION_NAME,
)]
pub struct StandaloneCli {
#[clap(flatten)]
@@ -173,6 +175,7 @@ pub enum Commands {
Version(VersionArgs),
/// Runs a local web version of VS Code.
+ #[clap(about = concatcp!("Runs a local web version of ", constants::PRODUCT_NAME_LONG))]
ServeWeb(ServeWebArgs),
/// Runs the control server on process stdin/stdout
@@ -185,6 +188,9 @@ pub struct ServeWebArgs {
/// Host to listen on, defaults to 'localhost'
#[clap(long)]
pub host: Option,
+ // The path to a socket file for the server to listen to.
+ #[clap(long)]
+ pub socket_path: Option,
/// Port to listen on. If 0 is passed a random free port is picked.
#[clap(long, default_value_t = 8000)]
pub port: u16,
diff --git a/cli/src/commands/serve_web.rs b/cli/src/commands/serve_web.rs
index b2bf4d431e4..2181c6339a4 100644
--- a/cli/src/commands/serve_web.rs
+++ b/cli/src/commands/serve_web.rs
@@ -10,17 +10,22 @@ use std::path::PathBuf;
use std::sync::{Arc, Mutex};
use std::time::{Duration, Instant};
+use const_format::concatcp;
use hyper::service::{make_service_fn, service_fn};
use hyper::{Body, Request, Response, Server};
use tokio::io::{AsyncBufReadExt, BufReader};
use tokio::pin;
use tokio::process::Command;
-use crate::async_pipe::{get_socket_name, get_socket_rw_stream, AsyncPipe};
+use crate::async_pipe::{
+ get_socket_name, get_socket_rw_stream, listen_socket_rw_stream, AsyncPipe,
+};
use crate::constants::VSCODE_CLI_QUALITY;
use crate::download_cache::DownloadCache;
use crate::log;
use crate::options::Quality;
+use crate::state::{LauncherPaths, PersistedState};
+use crate::tunnels::shutdown_signal::ShutdownRequest;
use crate::update_service::{
unzip_downloaded_release, Platform, Release, TargetKind, UpdateService,
};
@@ -46,6 +51,22 @@ const SERVER_ACTIVE_TIMEOUT_SECS: u64 = SERVER_IDLE_TIMEOUT_SECS * 24 * 30 * 12;
/// How long to cache the "latest" version we get from the update service.
const RELEASE_CACHE_SECS: u64 = 60 * 60;
+/// Number of bytes for the secret keys. See workbench.ts for their usage.
+const SECRET_KEY_BYTES: usize = 32;
+/// Path to mint the key combining server and client parts.
+const SECRET_KEY_MINT_PATH: &str = "/_vscode-cli/mint-key";
+/// Cookie set to the `SECRET_KEY_MINT_PATH`
+const PATH_COOKIE_NAME: &str = "vscode-secret-key-path";
+/// Cookie set to the `SECRET_KEY_MINT_PATH`
+const PATH_COOKIE_VALUE: &str = concatcp!(
+ PATH_COOKIE_NAME,
+ "=",
+ SECRET_KEY_MINT_PATH,
+ "; SameSite=Strict; Path=/"
+);
+/// HTTP-only cookie where the client's secret half is stored.
+const SECRET_KEY_COOKIE_NAME: &str = "vscode-cli-secret-half";
+
/// Implements the vscode "server of servers". Clients who go to the URI get
/// served the latest version of the VS Code server whenever they load the
/// page. The VS Code server prefixes all assets and connections it loads with
@@ -53,76 +74,148 @@ const RELEASE_CACHE_SECS: u64 = 60 * 60;
/// while new clients get new VS Code Server versions.
pub async fn serve_web(ctx: CommandContext, mut args: ServeWebArgs) -> Result {
legal::require_consent(&ctx.paths, args.accept_server_license_terms)?;
- let mut addr: SocketAddr = match &args.host {
- Some(h) => h.parse().map_err(CodeError::InvalidHostAddress)?,
- None => SocketAddr::new(IpAddr::V4(Ipv4Addr::LOCALHOST), 0),
- };
- addr.set_port(args.port);
let platform: crate::update_service::Platform = PreReqChecker::new().verify().await?;
if !args.without_connection_token {
// Ensure there's a defined connection token, since if multiple server versions
// are excuted, they will need to have a single shared token.
- let connection_token = args
- .connection_token
- .clone()
- .unwrap_or_else(|| uuid::Uuid::new_v4().to_string());
- ctx.log.result(format!(
- "Web UI available at http://{}?tkn={}",
- addr, connection_token,
- ));
- args.connection_token = Some(connection_token);
- } else {
- ctx.log
- .result(format!("Web UI available at http://{}", addr));
- args.connection_token = None;
+ args.connection_token = Some(
+ args.connection_token
+ .clone()
+ .unwrap_or_else(|| uuid::Uuid::new_v4().to_string()),
+ );
}
- let cm = ConnectionManager::new(&ctx, platform, args);
- let make_svc = make_service_fn(move |_conn| {
- let cm = cm.clone();
- let log = ctx.log.clone();
- let service = service_fn(move |req| handle(cm.clone(), log.clone(), req));
+ let cm = ConnectionManager::new(&ctx, platform, args.clone());
+ let key = get_server_key_half(&ctx.paths);
+ let make_svc = move || {
+ let ctx = HandleContext {
+ cm: cm.clone(),
+ log: cm.log.clone(),
+ server_secret_key: key.clone(),
+ };
+ let service = service_fn(move |req| handle(ctx.clone(), req));
async move { Ok::<_, Infallible>(service) }
- });
+ };
- let server = Server::bind(&addr).serve(make_svc);
+ let mut shutdown = ShutdownRequest::create_rx([ShutdownRequest::CtrlC]);
+ let r = if let Some(s) = args.socket_path {
+ let s = PathBuf::from(&s);
+ let socket = listen_socket_rw_stream(&s).await?;
+ ctx.log
+ .result(format!("Web UI available on {}", s.display()));
+ let r = Server::builder(socket.into_pollable())
+ .serve(make_service_fn(|_| make_svc()))
+ .with_graceful_shutdown(async {
+ let _ = shutdown.wait().await;
+ })
+ .await;
+ let _ = std::fs::remove_file(&s); // cleanup
+ r
+ } else {
+ let addr: SocketAddr = match &args.host {
+ Some(h) => {
+ SocketAddr::new(h.parse().map_err(CodeError::InvalidHostAddress)?, args.port)
+ }
+ None => SocketAddr::new(IpAddr::V4(Ipv4Addr::LOCALHOST), args.port),
+ };
- server.await.map_err(CodeError::CouldNotListenOnInterface)?;
+ let mut listening = format!("Web UI available at http://{}", addr);
+ if let Some(ct) = args.connection_token {
+ listening.push_str(&format!("?tkn={}", ct));
+ }
+ ctx.log.result(listening);
+
+ Server::bind(&addr)
+ .serve(make_service_fn(|_| make_svc()))
+ .with_graceful_shutdown(async {
+ let _ = shutdown.wait().await;
+ })
+ .await
+ };
+
+ r.map_err(CodeError::CouldNotListenOnInterface)?;
Ok(0)
}
-/// Handler function for an inbound request
-async fn handle(
+#[derive(Clone)]
+struct HandleContext {
cm: Arc,
log: log::Logger,
- req: Request,
-) -> Result, Infallible> {
- let release = if let Some((r, _)) = get_release_from_path(req.uri().path(), cm.platform) {
+ server_secret_key: SecretKeyPart,
+}
+
+/// Handler function for an inbound request
+async fn handle(ctx: HandleContext, req: Request) -> Result, Infallible> {
+ let client_key_half = get_client_key_half(&req);
+ let mut res = match req.uri().path() {
+ SECRET_KEY_MINT_PATH => handle_secret_mint(ctx, req),
+ _ => handle_proxied(ctx, req).await,
+ };
+
+ append_secret_headers(&mut res, &client_key_half);
+
+ Ok(res)
+}
+
+async fn handle_proxied(ctx: HandleContext, req: Request) -> Response {
+ let release = if let Some((r, _)) = get_release_from_path(req.uri().path(), ctx.cm.platform) {
r
} else {
- match cm.get_latest_release().await {
+ match ctx.cm.get_latest_release().await {
Ok(r) => r,
Err(e) => {
- error!(log, "error getting latest version: {}", e);
- return Ok(response::code_err(e));
+ error!(ctx.log, "error getting latest version: {}", e);
+ return response::code_err(e);
}
}
};
- Ok(match cm.get_connection(release).await {
+ match ctx.cm.get_connection(release).await {
Ok(rw) => {
if req.headers().contains_key(hyper::header::UPGRADE) {
- forward_ws_req_to_server(cm.log.clone(), rw, req).await
+ forward_ws_req_to_server(ctx.log.clone(), rw, req).await
} else {
forward_http_req_to_server(rw, req).await
}
}
Err(CodeError::ServerNotYetDownloaded) => response::wait_for_download(),
Err(e) => response::code_err(e),
- })
+ }
+}
+
+fn handle_secret_mint(ctx: HandleContext, req: Request) -> Response {
+ use sha2::{Digest, Sha256};
+
+ let mut hasher = Sha256::new();
+ hasher.update(ctx.server_secret_key.0.as_ref());
+ hasher.update(get_client_key_half(&req).0.as_ref());
+ let hash = hasher.finalize();
+ let hash = hash[..SECRET_KEY_BYTES].to_vec();
+ response::secret_key(hash)
+}
+
+/// Appends headers to response to maintain the secret storage of the workbench:
+/// sets the `PATH_COOKIE_VALUE` so workbench.ts knows about the 'mint' endpoint,
+/// and maintains the http-only cookie the client will use for cookies.
+fn append_secret_headers(res: &mut Response, client_key_half: &SecretKeyPart) {
+ let headers = res.headers_mut();
+ headers.append(
+ hyper::header::SET_COOKIE,
+ PATH_COOKIE_VALUE.parse().unwrap(),
+ );
+ headers.append(
+ hyper::header::SET_COOKIE,
+ format!(
+ "{}={}; SameSite=Strict; HttpOnly; Max-Age=2592000; Path=/",
+ SECRET_KEY_COOKIE_NAME,
+ client_key_half.encode()
+ )
+ .parse()
+ .unwrap(),
+ );
}
/// Gets the release info from the VS Code path prefix, which is in the
@@ -246,6 +339,77 @@ fn is_commit_hash(s: &str) -> bool {
s.len() == COMMIT_HASH_LEN && s.chars().all(|c| c.is_ascii_hexdigit())
}
+/// Gets a cookie from the request by name.
+fn extract_cookie(req: &Request, name: &str) -> Option {
+ for h in req.headers().get_all(hyper::header::COOKIE) {
+ if let Ok(str) = h.to_str() {
+ for pair in str.split("; ") {
+ let i = match pair.find('=') {
+ Some(i) => i,
+ None => continue,
+ };
+
+ if &pair[..i] == name {
+ return Some(pair[i + 1..].to_string());
+ }
+ }
+ }
+ }
+
+ None
+}
+
+#[derive(Clone)]
+struct SecretKeyPart(Box<[u8; SECRET_KEY_BYTES]>);
+
+impl SecretKeyPart {
+ pub fn new() -> Self {
+ let key: [u8; SECRET_KEY_BYTES] = rand::random();
+ Self(Box::new(key))
+ }
+
+ pub fn decode(s: &str) -> Result {
+ use base64::{engine::general_purpose, Engine as _};
+ let mut key: [u8; SECRET_KEY_BYTES] = [0; SECRET_KEY_BYTES];
+ let v = general_purpose::URL_SAFE.decode(s)?;
+ if v.len() != SECRET_KEY_BYTES {
+ return Err(base64::DecodeSliceError::OutputSliceTooSmall);
+ }
+
+ key.copy_from_slice(&v);
+ Ok(Self(Box::new(key)))
+ }
+
+ pub fn encode(&self) -> String {
+ use base64::{engine::general_purpose, Engine as _};
+ general_purpose::URL_SAFE.encode(self.0.as_ref())
+ }
+}
+
+/// Gets the server's half of the secret key.
+fn get_server_key_half(paths: &LauncherPaths) -> SecretKeyPart {
+ let ps = PersistedState::new(paths.root().join("serve-web-key-half"));
+ let value: String = ps.load();
+ if let Ok(sk) = SecretKeyPart::decode(&value) {
+ return sk;
+ }
+
+ let key = SecretKeyPart::new();
+ let _ = ps.save(key.encode());
+ key
+}
+
+/// Gets the client's half of the secret key.
+fn get_client_key_half(req: &Request) -> SecretKeyPart {
+ if let Some(c) = extract_cookie(req, SECRET_KEY_COOKIE_NAME) {
+ if let Ok(sk) = SecretKeyPart::decode(&c) {
+ return sk;
+ }
+ }
+
+ SecretKeyPart::new()
+}
+
/// Module holding original responses the CLI's server makes.
mod response {
use const_format::concatcp;
@@ -275,6 +439,14 @@ mod response {
.body(Body::from(concatcp!("The latest version of the ", QUALITYLESS_SERVER_NAME, " is downloading, please wait a moment...", )))
.unwrap()
}
+
+ pub fn secret_key(hash: Vec) -> Response {
+ Response::builder()
+ .status(200)
+ .header("Content-Type", "application/octet-stream") // todo: get latest
+ .body(Body::from(hash))
+ .unwrap()
+ }
}
/// Handle returned when getting a stream to the server, used to refcount
@@ -503,6 +675,7 @@ impl ConnectionManager {
let executable = path
.join("bin")
.join(args.release.quality.server_entrypoint());
+
let socket_path = get_socket_name();
#[cfg(not(windows))]
diff --git a/cli/src/log.rs b/cli/src/log.rs
index a7561a37f6c..1180f2c82c2 100644
--- a/cli/src/log.rs
+++ b/cli/src/log.rs
@@ -323,8 +323,8 @@ fn format(level: Level, prefix: &str, message: &str, use_colors: bool) -> String
}
pub fn emit(level: Level, prefix: &str, message: &str) {
- let line = format(level, prefix, message, true);
- if level == Level::Trace {
+ let line = format(level, prefix, message, *COLORS_ENABLED);
+ if level == Level::Trace && *COLORS_ENABLED {
print!("\x1b[2m{}\x1b[0m", line);
} else {
print!("{}", line);
diff --git a/cli/src/tunnels/code_server.rs b/cli/src/tunnels/code_server.rs
index 5bc5e39514a..16655533754 100644
--- a/cli/src/tunnels/code_server.rs
+++ b/cli/src/tunnels/code_server.rs
@@ -14,7 +14,7 @@ use crate::tunnels::paths::{get_server_folder_name, SERVER_FOLDER_NAME};
use crate::update_service::{
unzip_downloaded_release, Platform, Release, TargetKind, UpdateService,
};
-use crate::util::command::{capture_command, kill_tree};
+use crate::util::command::{capture_command, capture_command_and_check_status, kill_tree};
use crate::util::errors::{wrap, AnyError, CodeError, ExtensionInstallFailed, WrappedError};
use crate::util::http::{self, BoxedHttp};
use crate::util::io::SilentCopyProgress;
@@ -416,11 +416,23 @@ impl<'a> ServerBuilder<'a> {
)
.await?;
- unzip_downloaded_release(
- &archive_path,
- &target_dir.join(SERVER_FOLDER_NAME),
- SilentCopyProgress(),
- )?;
+ let server_dir = target_dir.join(SERVER_FOLDER_NAME);
+ unzip_downloaded_release(&archive_path, &server_dir, SilentCopyProgress())?;
+
+ let output = capture_command_and_check_status(
+ server_dir
+ .join("bin")
+ .join(self.server_params.release.quality.server_entrypoint()),
+ &["--version"],
+ )
+ .await
+ .map_err(|e| wrap(e, "error checking server integrity"))?;
+
+ trace!(
+ self.logger,
+ "Server integrity verified, version: {}",
+ String::from_utf8_lossy(&output.stdout).replace('\n', " / ")
+ );
Ok(())
})
diff --git a/cli/src/tunnels/control_server.rs b/cli/src/tunnels/control_server.rs
index 6f8c1060e1f..45e0c9748ef 100644
--- a/cli/src/tunnels/control_server.rs
+++ b/cli/src/tunnels/control_server.rs
@@ -1021,6 +1021,9 @@ where
p.current_dir(cwd);
}
+ #[cfg(target_os = "windows")]
+ p.creation_flags(winapi::um::winbase::CREATE_NO_WINDOW);
+
let mut p = p.spawn().map_err(CodeError::ProcessSpawnFailed)?;
let futs = FuturesUnordered::new();
diff --git a/cli/src/tunnels/dev_tunnels.rs b/cli/src/tunnels/dev_tunnels.rs
index b77f6da5f2e..e7b84ed4112 100644
--- a/cli/src/tunnels/dev_tunnels.rs
+++ b/cli/src/tunnels/dev_tunnels.rs
@@ -212,6 +212,7 @@ impl ActiveTunnel {
const VSCODE_CLI_TUNNEL_TAG: &str = "vscode-server-launcher";
const VSCODE_CLI_FORWARDING_TAG: &str = "vscode-port-forward";
+const OWNED_TUNNEL_TAGS: &[&str] = &[VSCODE_CLI_TUNNEL_TAG, VSCODE_CLI_FORWARDING_TAG];
const MAX_TUNNEL_NAME_LENGTH: usize = 20;
fn get_host_token_from_tunnel(tunnel: &Tunnel) -> String {
@@ -635,7 +636,7 @@ impl DevTunnels {
"Tunnel limit hit, trying to recycle an old tunnel"
);
- let existing_tunnels = self.list_all_server_tunnels().await?;
+ let existing_tunnels = self.list_tunnels_with_tag(OWNED_TUNNEL_TAGS).await?;
let recyclable = existing_tunnels
.iter()
@@ -667,13 +668,15 @@ impl DevTunnels {
}
}
- async fn list_all_server_tunnels(&mut self) -> Result, AnyError> {
+ async fn list_tunnels_with_tag(
+ &mut self,
+ tags: &[&'static str],
+ ) -> Result, AnyError> {
let tunnels = spanf!(
self.log,
self.log.span("dev-tunnel.listall"),
self.client.list_all_tunnels(&TunnelRequestOptions {
- tags: vec![self.tag.to_string()],
- require_all_tags: true,
+ tags: tags.iter().map(|t| t.to_string()).collect(),
..Default::default()
})
)
@@ -711,7 +714,7 @@ impl DevTunnels {
preferred_name: Option<&str>,
mut use_random_name: bool,
) -> Result {
- let existing_tunnels = self.list_all_server_tunnels().await?;
+ let existing_tunnels = self.list_tunnels_with_tag(&[self.tag]).await?;
let is_name_free = |n: &str| {
!existing_tunnels.iter().any(|v| {
v.status
diff --git a/cli/src/tunnels/socket_signal.rs b/cli/src/tunnels/socket_signal.rs
index 2a2df6607ea..53e6cd51567 100644
--- a/cli/src/tunnels/socket_signal.rs
+++ b/cli/src/tunnels/socket_signal.rs
@@ -264,8 +264,8 @@ where
#[cfg(test)]
mod tests {
- // Note this useful idiom: importing names from outer (for mod tests) scope.
use super::*;
+ use base64::{engine::general_purpose, Engine as _};
#[test]
fn test_round_trips_compression() {
@@ -287,4 +287,26 @@ mod tests {
assert_eq!(decompressed, vals);
}
}
+
+ const TEST_191501_BUFS: [&str; 3] = [
+ "TMzLSsQwFIDhfSDv0NXsYs2kubQQXIgX0IUwHVyfpCdjaSYZmkjRpxdEBnf/5vufHsZmK0PbxuwhfuRS2zmVecKVBd1rEYTUqL3gCoxBY7g2RoWOg+nE7Z4H1N3dij6nhL7OOY15wWTBeN87IVkACayTijMXcGJagevkxJ3i/e4/swFiwV1Z5ss7ukP2C9bHFc5YbF0/sXkex7eW33BK7q9maI6X0woTUvIXQ7OhK7+YkgN6dn2xF/wamhTgVM8xHl8Tr2kvvv2SymYtJZT8AAAA//8=",
+ "YmJAgIhqpZLKglQlK6XE0pIMJR0IZaVUlJqbX5JaXAwSSkksSQQK+WUkung5BWam6TumVaWEFhQHJBuUGrg4WUY4eQV4GOTnhwVkWJiX5lRmOdoq1QIAAAD//w==",
+ "jHdTdCZQk23UsW3btpOObeuLbdu2bdvs2E46tm17+p+71ty5b/ect13aVbte6n8XmfmfIv9rev8BaP8BNjYWzv8s/78S/ItxsjCzNTEW/T+s2DhZaNSE5Bi41B0kFBjZ2VjYtAzlzTWUHJWtJC2dPFUclDmZPW2EFQEAGkN3Rb7/tGPiZOFoYizy/1LhZvnXu6OZEzG3F/F/duNf6v/Zk39B9naO/yAuRi5GHx8FeWUVQob/JZTEPx9uQiZmDnrGf5/pv93+KeX0b7OEzExs/9kALo7WDBz0nEz0/wxCAICJ/T+QmoH6v0V2/udCJ2Nia+Zs/i8L47/3f+H/cOMmNLS3t7YAGP6HLIM7nZubG52pnaMN3b+kJrYAO2MT4//IGvKquY+4Oly7Z01ajWRItkE1jacYu9tcSU339/OnBkYgUbBD9rHonA9pvJV7heYuoFUpRcnKi8RwoJrSkW7ePD6N3ANHPr1UW7wPu5907dLnd4hlXwziROJkDgejfKv5ztZzPgXoUaEPEsM6y752iLyMJdkKwrSo+LAiaFp4HSRvSAnMT2Ck9JHIyQNuaFslDhaLQMIP+B7AGRyZFXeqpFF8HvfFVkQHqGejNjdizFvRHkndAl8AtfEqRHfxPFAit0twsNMyaONmusi/YHvmbQhpTRnyOV0gg+tXzisWmDsLBFAutCcGRHR0Cigere6p3A7NDGmBxHAZSmK/LGHKCeyUqN9fyBIUmyCtV99ptMaQWt4KAny5Fg+nTU1gBvBq4RvHlGCF9WL+2ZxKDfB2gr2GQaUY76Tv7x79VKbxwC5GITg2q02XPy6ZNFnLryVCGskiYPFPQLAsU+LrTvbyQTk7KNUFHwzBUTP1MiKg9LCdWAs8BZx3FHYaJyvIPw4nJpUAP3rP8GPdJeb3iIJ7i8xf15F71iT47rNv+qCXaQD9NBo8PcRVqnEy3vyrPG5SO8HwSDk9PhQJe2xo4Q52soIDB3v1jYYmR8ZkuoNq3Moy6BDjR1WBCTFJEHjdSSADxzRJ2hnozSOLmzTLuKgwWnFU1aGpQ5S8Ry7ME7gVb+CwnFvVtrpofL+DXvE3CY9Fhqe0y4Sq1yLyn/vcgA7ShFG+QnTB5zaKS3Ndj6LSCxwiNivY9R9TsAXobw4Exqog7xCAjYxNIbDuo/fC1QKpFUzvxw+7Rjc8J2lJg80YveK++I5fqJVAFu0Gb4SuJAd8ernBkpyy9lbou0enEfQMOjjucNiy+rgpU4pl+ERgt/Be+8G9l0RbeUwthLZp4ARnBHAB2mcB2o1cJIbhXnMiYStLmjwI+i+NOhBvRV8nmAVslkGdsEVU6Q3hYy/cT/QRTbEF0W58bkYPCyx93ESp7/sWkTG5i9GInCwW+zw1NIRfi2zkuz7KIzOlg33b5/R60L2tjlPtcLjZYL9qGWXwgPApKkndbDq0HhRCQYTyEZ1nC4MFi9NuasFm4t4UV4/W4L0A8YwsXH2m8Rh7hl1No5oIIlAGi5Er/amKw5mAA/Hvwbzfd4TGx66MHWA9t6NAA2WPx538griN7LCqE2315o09fNbOumI6fM1CN0AJT2FheQgaG4tdPFPn6uAeDXUDT8OkTdRFNi6Av4rwo6NnyfLnLYxBNdAhHs75bAedI5egbRrWLC48JT7aKsV+VsOmLsk0TGh6ISxI3WzskVbVFr6HGLy8jee1ZiMF0wzd/B4LvlyGIMa6HD+JBsGOH6vukgqV7ywTl6P+Wo8mTZHo12d7u09Z59eyXJcZKnqY4YzEzGUrlGzvO0Rgfgsse3RMPWJSpsETWqo5zMTtzYk9HANeoA5ubNoO/jjtLyModk/iH6XLiFD1591q+nXNb3Ve2v/aHlJQQYaytpOULvnsEYGIQH9+y3eK1Rgqgs7fxD3uzpv06A/afiToieIJpbjLhy3JZBEAmtN5UgJm6SuCbqgKJ+fDsuwMp/m0fCNVqrYORcBpKTvIWFzWF/leWJntKUis0dPrWy5x7Yu2GhqJh3GN2bT8w1uIh1haSlBmhMOzV3yNUmNcjqFV+GziNt6twoPDJ+4m7TE7hP2E9mEhiYihUDjT0X2Q4k0GIqdIl6fpoFPK0zdfRfbEkP2Ulr7fzfVqCYp9iuxtZFqBafBWLNHVjYtIn9/Z6Z3mP8DBfOYrXbMXldLjKW6rHr3w/LACe+LINkxcxQ9rxxBffepkhhj8NQ7vpyXpudfYmfPMsnai+b5VI5QMcyZly26kxMo6KGGilNYyX/hLaowV4GjIEY7kHRCNmJIBNevb1ag4w98wLWMtfyPMLn18o9cFKiJk2kjZmRBFh0S0Bd7AjxiNO8YdDQ83lBGS5JrxmLG+hW2oGYQllWS2UjK3+loONmC6NpPNgUiNhDQ05s24iRJZ/bzrgBskPLGukoMu8NK8CQNKZE8zzmsCrnkU53iPeZd/UT8ox6WMMZOtDv8YyQpTmhbzXCQW9ogbfgqH447dJFZuPkT4MGfKw+0c5L6aLWqAadBU9yLftFVsi8GZOSB9Ctv9/fJZ5SmlNgt25uGvspB9y1PQGEmLQyjFiGK7kveEw4Knn9lv/9GV2YlCdeRTAUyOS56k6G4ajfxNtMHPaDqIWTM1yBem3dShwkhD0nMXit14/wHRHosy59T+nkuvxG1MbTx8GJM45rvrOmUW0nwxNNdsdqFCNPWn+GcYzIdwCNFtHmdSKNOecfZZVJnKzuGbs41wRQIkv1E1p6ITiPxv+zKWflEU76wHOPrDx4rmyw3Z6MqaP316eOcW43JwBvp9hJuMUHr0TFkvjd5KzvmUSrZfYvpPZ2humVwOsjChiFzc7aoBMt8MdXyf2LIhuhBAg8Ue3wLqlg3cEYBS2z+uzrS5bJzmzH3NGmI+M/WbHOkbqcNtSoZjwp4NI5bSpCKWs7BqrK8sfsUC+UpA08Lfc4CpcBmsTyuHncO2gLc9jPMT+SBAgiZxTDncaiM+YG19ntqYSttys+jpASZDwEWjYRN8QURClAIs0G0KKoY0jjWcc0rypYXiCsHD9+kjtnYJHuzeZw2GQ5U5j7acLM8nyuy8bSJaKZXFq8TJkQ/p4lSkKHpVQPi+dWF4jYaQFEGiPAuiLOGzOE/f8B2rePs9zps7QivUyIiM8fsbPx5mwaC7FbjdihjbM198akLx99SpXAF4fh6d/xwLppw2kFrKa0UsTa/emTuV+6l2/8WmVWLd8JJAhcE+qbMrJBrohgGdDNZIRxJOrsFCzSmu2ykTCZnZlPITlbK/hUA/+DwdtJbmzKczEWAS9ENNbxHNSbn4Nqsz0yvhUE2a/FT6tvnBbXm/X2yLQQhxuVyNCsK2TeUNifqlsCEAJAALqqNI/NX+owJEAk+KehT/fpCsXGTsT3kFsUiPNWAkOEuHviK3Nzpu53edKRZgInWOWhGnd8aD6k7kio0tLT8i/PkxVrdZftlNrqPZfiEXkqX3hM526HzLGVzlr+CvTBKxsU8ROxHvBGWzJk4Tt0uDhZessy5BDFVx2xiYxMTXfQyv8NF0Op3CKCFvH1KbE2Z2TGCvpOEH7LKVK5TyTVSP+yah8TkpL1cHorIRxz2a5cMNMZGgdooqszII7PJuT3Ii0GpCCXe3v5mzysGhVKBulynWOeMrlJ4jKA4xzAXIg7ReLCGOntAOvU7qD+5UBufLWxx/3cqhuMcZDnR2dUjJuFG5LuFiwnvboFRMjVTvVJkcNdUc7b+0auIQWC1E3hTQx422OCMuGvayP3WMCGe8IClwSw4f1uA5LkoDYZbVQo1SUzETYNPQUK5BTJy7YRq4ln9vLvDHDImNd3TiWnsL7Zp9qWVSSTfSVSyZTT4fJqKIZ/Kcy7IkXFyv0Frw64R7y0vM+tAu+0kebn9y+DlN2xmi7nmf81iI1xffS5+ehMzQJTIa8SjVc8kCf14eOLiR7TgCnHcJieDFQI9r9K9co2G0hpitdihrbb56XvossnHl8Fu4JRLBPgKXsAQyX3v3BUHuw42rmeQXz74oZzmEIG13oteilg9HOUyoR5NHE94cYtIqP80qheAh9uQA9e3+TSmiLy6dsU625mYOYcPixVm9ZYuiOtLWQ3tT8j2T111qqjqNu6yUSxlIAh0+ANUEhEh9Uoj9v89/WqlGXNWPDmKfRtn+yFVoyggl8PjW0GB7qfreaEuoqouCGoV+lWma6sNZyKYQGIn51nzIyO1uUlRQZq5j8aTQgcXlNYi5rXALJ2Kj8nEbJT8OqXEt0fbWPKaLQZch23yR9RLyaXMpTIzzRBkoFY5g0MfTWFLbcMynydkZITcfLTSDeD/fxSqUzWmgjk9j1aQ07KUBInTRErSbfEhgCVikEENWXpOubo3XV4YBv9CJYSuXnSv0d3jLQdHefqwT7+Gyqy0ZJYicFYw3ma+acapIZw2r4qg4BNKbSbkMKOuWidsr1dxjS9bjSYoNH/VDBdbgXpXTpPJosDIjwMHsV48OfhwZjvnAC0r2yJ3+NPhBP4g/GU14mpdefzvR08OElSHLpZidGsL5GGtpzcohM5sQ48TMsOs6Cy3vvgKR1oanGjGa8dRN+UaaAWm1dieSOjvXzIIVPp3zoKEgVu9zlP2W5NtNSVDfceVy/cA2IFjOlKa5EiLEEA57fuxvGmOvxCB+ZROvg6KOi6EbxLMylQEbvzctlbmEJ0S32x1usYisIWFfCLX/SEETVFuAxZJej9AcvkolOkSLNlohZdKzOYeRMfQM/RMT4JwSfFqHgIq4XeYPtTzMO2ZkTdOjdrrWL0ZMFosuXiKD/9qKKbo1FjqjwiT5a4uIaPdU95J52kiPoS7adOxUFiypbB9SrLFTABESJrPr0qMSVCi9cMME+Vt2Qq9gYFIvXoDRAR0SP04c/2A1r/tvxBu6JRGDB9cwYWOE1g8W+W/vju6WwPvifEO4AQ+KD3bGEhffrUWM1SnsAZBbJOgep/M1iU/HX4uNGb6Dmz+0PQdJAo7TkA2D+Wigyb9CQUfK16vwLvIIvMnylTcOOIAUtbiy2/lcdbmnQcFMt7ZZLQxBemf8S5L8jkyl1WLZyVNGDm5qf/72TQLs6KK4ljCJqMt0F6p8tidu/52WK95lYzKiZy6nlOSKadsCEWX5+eMzpJu8ZjYF5Qf1K54q5wO/T4Y+QYoWlUlXB6MoL0adwXmSs5T7Mht+6k8BO7T5I+3iI54WdYwixTnvlI/TNQSjwGJdxqJOmInihyKgkCx1lUyn/fx6jKZ+1MHPZwvfOg5V9TuCf+aXvjVhcgJHJBilS8ytrZh8FQh23yNbEIMoE6lYyWuYdSKv6831VdffGAP6gvaD3d9aUBJRkHquA1iqVB/ZG+bcJLpeMFJagd95AvGXUIuYwFKFmBtlKkjOuiEbKNKxv+SJ/NQCIGRBxVkm6oqcabuFnskNEhB4FnYnplnCIUZEfsuLirqsm6sSQZ2ZITdUAkmQ308cj5051V8FwogjNmZJyYuNNsOxYzumG33B7Z5k6QHkr2HC4aky5ZHP2bW8quZNaSXEcL5YGfZeTPTOVCv3TA+e4NLZeVocXTUYNWe7pyYjaf6EUeHdXOAMpZk9084KP8PBCwnlNfiZG2fXD+36bvn8sOVcsLvwAT01LEmVgo2E0geZqDPd8OIHJxDVB7VXNeFYIKjKgOjT63Bq49GLdBmwOlTKDljg00eYqLTQO66FPzSTWMc2EMGCae7sVr/OluTg/T4NKFt39gySNurVvPtlXZfqCo3GfCiyTV6iZWeuVMh69PrrozqgCX0mHJ+OyzMtQrTbqUB4BvHZe9Bfo/uyBDmRDWV0vTCz1mz0t+DTOjRkjEiAOFOKSQ5w/L3RgIwmuEgW3kqaQqtwAFIfWb9PxNuLvTLGMttZ3yO5P3aYl9G6jCSrrcr+3m0ICKOTBu8lH/lonRkZOq/08lpP5VtCEak6I+aSIT9tP9LJIZACn/IUe7qE88kjETKmnZT6F1D/1p58pEA0NI4g5CtdHlSXmg0s+zhAKS7tYpvNx96EPw5cCc5+VneGb0RDNvLaa+cEF4M/JuU0PcA9u9gu+PC+byS52tGqNA8yuH7El6JwFI8dXUvX07iAkC2VOvtt4kg0aeiHDyPHJpvvN4TaAH9Bz+WT5FDWNTAz4LC79GO6pQb9j5iojBlt+UUHvr8nfZN6AKa57RMsFTt9m0t0eBVUqR5fgpE/k6+57U9FtAQPZ5ufj66n0Ys1Chyr93K5jhX3GM64JjdryhghfffO150Q+hYrX3a5/fo2ULWBM27UoViPGVCFtmd0Yw1V5F+l8j58Mck1yUYxpU6tg+o1tara6THtW91V2dqC0+ha42qUVZhScMys1ygeqrpwVTvfhsaVH3/e0xXB7cO4UYkBg1ivB9O+90jwFfg1noBWOg7JpyGvPzYuLPz1CzNtVCqtRpqhMbCu4e2xQ++w8gJGD87TjODSjvgsXoDOs/Fs2qzhSatxvKrnW6pmKqwo9j4B12XZ4Sc+4oE2DIquGY8iyYrp9oBkSCQ8kOIkYVD74yj5C+Y/+JkFNVPwwBvarswkuyZUp8gjHCBLFkf0l+yBDWvJ/jZBXyUFSCGDIrpl1USocwndJFH5zst9/ZyaiKGKEO2nEBAuOCo1XTAyPLIjonN2pH7c01ySgFXymnEV0K0UGq78eDfUtxpmcGLtK+75NVraVGD2wNVNrpWJl1al+s+CM4OvabLcM6VnweXcGciDFRmghhWVoE4EqnhFUuFxCB3umtoyn8lKuEy1fmrRsweDOMtUNd0qA6IctHwIM0AOX2Sx0KxqjEhpp+YkfStkyLrzC33yJbUqRbgkDGq1fKfJDAdenpfQOVj6VMCsB208bbzJUcGOWzZtvfnETOnRLxb4LddrcPuP91CawvOVuAphNrIEUsiRon1SrCuL8GVF75tbSHcskqjIVLfycIZlvVjlywu9gBptiORxw/e1CZ7bDeKlTTIK67KQqosSEs1fnc/X0aAxlkqaOEZQdefKhrABuZFa/KTPRhQsFSncg6wI+niscy0rjfkkvg5fe4c17WCpa0eXot7t+4ot9O5+v0H/buYYniE4MzfrsDnJhqu1tLt1z0dNQ60Qz/8RxR7461d9KxJaNTelFLXDQwDHcTCBSk+0BrJVKT9Ls0bHgxr0zDoaDnbnlXjuu9+I+TH6sZYee1kDBqfPV/RKaXBx6yCFxEBosyCqvwmiuHUzItjvCMSpgREhM861FtvcyaGbN1+nFgM0NlPJQdpqz7bpEJcVw8HFp0yAAT61uYy8m51btG5zFKE74t+qEpjkQPOxPzxh52MDHVgMT0vIQcdA2GGXmjLInOlKHy44blBXKhSsvnWk6goe3xaY/vatI9iOJP0zdmqYuV/Z82spbMuwMwDVEEqrn/KPXqWl0G9AIAPPSA/DO5U9NZAn8nW5CcnB359CkSxVmBXbPBph/GvVrjZEiohjaAfRzdYgSBArwPcIhmfsE3ankfWrXOiw0qJgH4UvOuQphVkNCTIDl405MQMo+6Usm6YMkKx93V+wFSt0l6zoNYeELrp5hNwWNc35EVD0YJegiTIgVDqJykV3YM5po2UCDF4a1Ijhgu+mWL/+B3K8OcvmsGG8X/tKBCNPK/0jJT6PKfks/NEJDkcRcfm1ZDp9AFzldq53UZoT4o4zhRSpLA+f6VTIJx4/t78vpyZKMEJmc8RbIp/swFrbSGInwW4NCrovIK+oS5Z3zXeNbGSpuf2oWYAtpQvttaM2LNl4svcEwxvYor7JMy46l1f2SB0Q0PXLIehirHvMLhbfdWLQw0QB7Gq2O0khxvT1LjZ+H+euX7uZmkY9IvXdW0pnDhaNmZKT6nKj9K1bcLT3520W7lrdOzlEMHxtoSMMd9u2LtEkdtO0KIyfVvkXReY+ilkTyBUmcRCEWl27pABXdcl9jZn6A/16Ze1Lv9SFRncN42vpbOS3xkIBPtFwaDftP6IZLtchcxmj3xkeJFH8fFKg5f06HvCjPbxR3US46FTJqo49yM0H1L8wOjSC8wYHb4Mo6Zhh4i48snY9IOVfrIGqFfTsTQ5kxIctBPqGnMO7dl+iu4TUqeHkDk2IkmZSNjB7hp0mmLHKcTAB49JQDsZdlPlcOeADP/r7q/I5vXE8ZHzXqFmxW9v90+JMckU0V0AIrcJK9IQWl4LQR+dRuKRxJwDpy4wa4ymhqnBdjDMqQ/cetUExuVkzntiCPyOz6dMpAx9ZeidxQ02hYjPVqgFg8sCl1lTHTulvk7Nj698usBJMG+IKJorZp7+a97Tr226dW1h++Ic3ERIIDuFrJVY0UvO/vrTZrxZbzT2Ki+UvjN5Ins+P6gU7XLKlAlh4h3u54VXMJO6MqqpSFKXQlRY2fOOn/m5YDfOCvjmhsmrp63Wz9s+kowNsciO+DZa5Mce5qH9/ysvEHv7Sgb3AIZ4+zl1R9px1bU2HI/tcieQUvHkNG0N43uBelEbsrZTfVDAsk7KashZp+QG9k91BWuxlN00Hmaqd3foNx2EwoBe14MbFyJKr0PLJvFrMBQamhlWX31hknK3y9m7F3cIopvO2kIngxuVgZ/c3XOMnJysZcmgeVvouinM2GCcJF5k54InnSO0JJ0g4taICxSdD1NbXw4aVfuPXY2loCOKwXAsHW+vRvIu5yBYsAXeOX1J7LwWwVHOTLjQDRyIwgAsot1J4dr3tRO1u3s72SospfgKrMJdMYtrSJ6zvRQTEDXZcyk3fqtElG55syIjePTyPVPDGCGHVvaqOCWvYDXnsFAy9L3gVg8HaLMerTRuSzj6HjRmyZNheBBZkDOTRmc6yaJVhK/+NCpXgPsW3xyAX6ZGQ44NOAyn9U49Jz5VIUpEfXTK/hDaJeMgl/HmLcfxbBara5U+J5xi9IvwTcMMzxxN/sm/BjLc+34gP33ChIncbfHleQbbQvS6JMkySTA2PCbI/vwYonIZnymVtA3c4fC5zso+ZgTyvnxZkeJdDRPjTUtP6DFIAxMbIotg2e93CXfUp4ciADmTWa4IbuP3n602bqsqzTldZAt7UzolvY0gnTcmZWJC8dCoZhebkdcf9hd+jW/HdVo/YM6s39d1Mqm7PnG2dsXFSCn+yg1redbnDTPpUVi1+T1xd6dGeM7GddroA/qyNLl9dvdvCUGQvRL7BIFQFUZYXRdx27OAStt+iqORvuibZWfLufrRJVM6AoyJNpRo4rALSdtAcfW8d4HJGPEaP1cxl6ErnQz+yDbv+zRMTFCJiuPTJRDXD+ir8hz+eChUN323YpgVJ0Qjl9oqEj9H3SKORfnFaq0337C3oyz0eQ5PedG/d78nJzRP+BfQIOFMDzPSJ40yg+MAgX0P6ZPOiBIW7c/i2j6TQhVyeEUzsjRMYMMiGQl/lgTz9D6Kc/WP4tzbzhRb0Icoy5+sZRiap1rQFjaOVzGUEOXgMoME9voaumyWcTskYTxGdil9CvKBKsHCFx8iZ63V1xcmT2JnOVuYEAqOwD6bSc6KhJznv+nSyG7HNY+ycCXP1NBoG5Z8QgXEcJxUMl0SDUaMAqM4K/NL+ZiQHDbDL38U9eBa9zYaG7xronBtZ7ieC2yMOcMfz4tSvATwPeH+qlTOJQjBtFEzHkFV84bUdVYLaMj8/oM+rVU/4hZCpXR42AXjhfEZBT2M4YZv9ciCjNAo63zbfTv2zt7A6ZYVUkRFW3mRQw0EP7bmK8w4BcVzhy2U0zaJqlBAbc1i/4A+0lmSnyKBISJRF4lrGz1dIsCpZ5AeuDopJNc59Rb7viBjmnA5rBqdrxPhNnReYbJd2k3g7YPAV21Hx4wf7oUsVn8Mu6dgmChDCc1IEc9jxSnHYCWqlCA7YBeUtXTXIJf2qe7knGliksYKnYfX9RnXdeDoIbmKWGsV2mnK+oJPzOlF46TC391bf9GBe8T2rvcXJINCfZBmS60iO+5Yo2NNJQi+Qc9SebaaygxTZOj6rIbNwzdhDEUYCG8zfS9KmEhZKfcz5+9oCIG6mM8oh7q79yxzDIzdpaotBKCgJ9M8jtC/Ee5ZI8adPdXMkB1EEzaGWZBuBvzecpPmTyhzpKBy8FB0kKhEOjY0/utP7JAJKpId0xWuDDsFlSsbCqPgb4wbUqID7Qxu6FUJ1QGCxGYA+u/NXFQesgGrYlWKdm0zY62gtlUv89zV1PwQwB4TNtP16MrfZAuYhqgR2xJ7ON7tWJ49lVyjB5NbzlCGelLKJIkoicwMz1CSQ8b9SO2qk+WMWUPnXqCsHBSU7ews5rZ8ccw539tfEBj9UNPUqW30tjb9BIc5q0ypPa15S8ucZOGEpSGyRLaf8SdSxw1JDsq0vYF04PoWvvYyAIAVNl6ACzWEnCPSzVAb2orLKO2McQpRAY4I762BRDhBt0R6a1Qm9Hx9g0gUfQE6iXBniPe81OUTKzGHNKxHzV2sP3HgVlBmB2M3N2tJTzb65XnRGKLGOgMe2/eVvLj54lK4MRe5vTJG1QvZUKbxnK0YdMNE/N/eTPwJ3tB7tMyVVVDEUQpzKNtWqrbKvtQcxG1Dy42DjnsCW+DNlXdgmIKcG8ZpJT9vTihoR2UAK1ZG1WPhVF2oNNvQGU3z3hIQ8VNmdu0EMJlEu6v4iTlLYi3E68RpLs8Eq1d6csi6nKrJRssSwsm8ApR/yO/p9c7dYj4EsfcwhxzsfgLdpu8SKZUUgHkSs+KWA2F3fHUawrHUZvl4xdkDqC/S4vi8CweW7ed/VvuriZXHgljCahrwhe2YRn0rZl3Kvsc3wz2L8XaRhusY1lT5Xy8rqsCiKFcuevI7DUCV2/c3uuhY08+5+qTihQwGlrJTQo8iTNr39o6lcoalqyKYeXWoQEKpUQP/SvTT5qhq+7NdJoB+q9JkU+q0aEQwqBOF+rdmRUeYEMWXmPiJ7NndcQGuAJg+M5pnbB25DUv2zP2Xqj/PjYypAJMMavI7YgoIlZ6VZ/L1yqU+PlABLp7+A93JgpG0hv221lEPIWY4+RNr3yyhPnCxtGA8obgUDu/6FIHqq+hxm+GfZx2DI2TQjgQs5yJiUyIVoXbmjjoBX0axEn1x3xsa7YlGVeFw1jeqFbgdIFN+KInG4kpJVd07c4BLJiITZFodHExoFD65tsX1SLXpZgdoljKwDo2DkacLCLiaV8PShqJEjo58uXdCu676mtSePbGyW0KZigAPGEpUEZ6zc1l9cZXjeDi2aLJpl6sphMR/B5aiIz6J7Afj3feUuq5qxxFHQC8jR1C1hPV7ZxF7Sub+U5iB+ynvUkt4iJd7kxJDARVbZPBbUSb9/ny0nBbzZmkRE6oi+0ocWxaH4ZnVrsL/NgnFPwKuG2IwbNCHls26kUeON7qS/+j0PLAXzBghwiRgBku1clT/tM30AS1mvJ6cKDjjLPMei7GwGHaJFfQqEjjikb7ktX5O1jVMlZTrNGliwOK1fTh3jE9b5K9AppT5IFuPxhbJ97+HMazBEPtMA9aZBIKXNFIvdPPCs0DHt05HzygjrejibsBA/SS2F+gSlANRlkrJinMIpt/gdlvUbjaxFrMupGmVCoMDfRDrxO053FTh8nto2pA2ActBghuqLM8p91U5FtVhXU+FI8whYX5WdWMmWc2E2wGzFz1aCKYJIC/qr4xzN305xQLxAVb2n0BQedGI+j38cc0ECk1NxJ2isVKvmhk5RyzSc6EPzB1884xko7roUM7NOu0FiPw+Zu4R8OGoHRYqsigkTRxlmL19aGEbBbdK9TmGBvwCd307SHj2GojSWN7DL9olp1+VMMYQ9UG8DTX47r23qkXZ4z3ctQl86rRjpzdj+70XvZb+h0FzgnyJmYSHxIIn2FWNYmvwPjyiBUgHYP5RoHhSJoeI6W+nkFnHijreTncsonIU5FKlqHQFGzzdc8s9U5sfrMFtR1SUYFYWj3C8KP0oQwiXZcn3AcqPkTqVU0o5kRZ2+QS+fJP1ozNeh6hKJSpUVSb2LZ9329cfBOPAJ7u8zYUqJZ8CIzIa26Qy5ADf5bco2Z18IcLHAulDYBXxaBCm2DXpryNEQMYWmMTHA0mVpIFVkmU5dfnNQykdZiAXU1l+Fw6kIjrMJ9AgF0xWiaZnOyTehWtuxU47hvUm8B2A9ociq2x5aFOxazc3YG5IB7IZmXercFhEWIMzMw63jvREmRjCT5ou+MIjmbi1na8d0SaLUudX5pUouPbc+4stjuNveU6cNACO0s+nbAlVyZyCeRMAPk5C+11kHcwSNd8IZugXSih5eJ4xPoIW0knz0365CjhNUfz9+31qYzK0lZNMUCuf2K0vrUBB/i3T3gdXMGSeldKp3Lx+tz/bpKXTHtUzzsvdS9Gs+uMIZ1XK6AxFyeCxOJ+cU9XN1fBnLPe2JYUlJUmCu4tiwsprlamaRzZQNWlUxombEZeKC7q3mwHcZM5wU0ICwEnLfTxW0VL9N10+batqOKxQnIspanPsw1ez2cuwr/hQSPXqoP2gIkFZnmAqUKUX8GZ5ib+C60pulz4Uxz/QvZW7V2SAAGcUwS30VsW6U2Ld2v5UbOfEQCxPdOHJZw75sKgEdyVdN1FDl4JC6s8IUclP+LD6R/CXIEDhbSWuXdTsAinSZLlMH1LzCXp6Cqvih/NReD6FJezE4Hi0sUGxti+4YngNBTWhUOblVY4+ioJs/kpVyXoAksKXh+Fe1j1PG2gbHkCQQWWCDqufQCEypj+dCoj37UreY26CogoUkVCnNUXQ5jZNFOPeXjh336gUEGzTt9qLgRwsxEJpQKH+aCWZALuJHtCVlK1WQMM6eM15EjMtRabejRb7eD3Us4WqESLYxpZ5KCobtmQDzV/4vOlvq0BSClPNORXWKygxQ2J9casayyd9DxvL77P41vt3k3fsT5PB1d6WR+6JZWwYJGZTdxyDyiFJDCKV9TuCeGkZQ26g1V0sV/H5a1xciwxOCNt7GgQOajs3aR4wpXxg4GbU0nOR0c9Ii/Sn27VMt4BqnAj5W4fx8q4ecJlPHlG3tSjqKSUsP0rlyg7JRFXcxCUGv7QMYc2K9WLvLEHbBOcM/ZD87o+UaQ3CvTwOkQTDq8hUeOBRxcerQV5Xi6Y+Hh6Vg4aeMpoGdUV7xXbw5oVh/mkSLP70aWsGQ3UbqZLFHrxQzLeDFkYJX6q069Lp/1X+lGTY+5ykXDRtK1n+GarP5tNWi4nd81eFXdracJWwcYk2GA6MbdjMnoaTrfSHXO3EXgrlq6ko5DABSrMg+9kF88aW5LAVOxGADYFS8bniGvdKVXnEhhQDJVCYKqqWKYGpAek5BGeVRWSbwLCKdQ5BcBnn+oEsmp46uK3k8KO72Pn+1hPMbgE6xWxVYPqAe7HVPPjNRiQS6cQGOxU1gdlAuEJ4V7ip4o+TgDM2/M4bthC6c4SBMQaMfRZfL5ko/uf3U2MXch54RJ2/LQRAy3AHiOI6enjY+L88VIvjU+hnmwro8yEflSD4tEMeFIkrxEW19Gycl1BDXpDVbs9nrU5MMIGx6QxCFw8FibHOtcRcI71o8s+OvDCQFsw7ZVMslGVDaprGZZmJ2j4uTgxrn15ihGv020yixBNktFCYgTyPlxA1f36ciarunxld8CPUVUPV/D/XFX5s/Neg2cdPqmSlO/fpnXxz4UJnIlB6hSl82wNGKJud1KoVyDHmmjI+EKBSUO7kNuvrQ/fY3duE75BX/HUAeUiLFKBZ1O2/mThw8t0Wq782ApG12/Jvza+94ENybWDDpLLmTddfEP7cYjFtZZONpGuxNkP8FAAD//w=="
+ ];
+
+ // Test that fixes #191501. Ensures compressed data can be streamed out correctly.
+ #[test]
+ fn test_flatestream_decodes_191501() {
+ let mut dec = ClientMessageDecoder::new_compressed();
+ let mut len = 0;
+ for b in TEST_191501_BUFS {
+ let b = general_purpose::STANDARD
+ .decode(b)
+ .expect("expected no decode error");
+ let s = dec.decode(&b).expect("expected no decompress error");
+ len += s.len();
+ }
+
+ assert_eq!(len, 265 + 101 + 10370);
+ }
}
diff --git a/extensions/css-language-features/package.json b/extensions/css-language-features/package.json
index b267163da39..e2fed901bce 100644
--- a/extensions/css-language-features/package.json
+++ b/extensions/css-language-features/package.json
@@ -994,7 +994,7 @@
]
},
"dependencies": {
- "vscode-languageclient": "^8.2.0-next.1",
+ "vscode-languageclient": "^8.2.0-next.3",
"vscode-uri": "^3.0.7"
},
"devDependencies": {
diff --git a/extensions/css-language-features/server/package.json b/extensions/css-language-features/server/package.json
index bdb66297271..874ce1e8202 100644
--- a/extensions/css-language-features/server/package.json
+++ b/extensions/css-language-features/server/package.json
@@ -10,9 +10,9 @@
"main": "./out/node/cssServerMain",
"browser": "./dist/browser/cssServerMain",
"dependencies": {
- "@vscode/l10n": "^0.0.14",
- "vscode-css-languageservice": "^6.2.6",
- "vscode-languageserver": "^8.2.0-next.1",
+ "@vscode/l10n": "^0.0.16",
+ "vscode-css-languageservice": "^6.2.7",
+ "vscode-languageserver": "^8.2.0-next.3",
"vscode-uri": "^3.0.7"
},
"devDependencies": {
diff --git a/extensions/css-language-features/server/yarn.lock b/extensions/css-language-features/server/yarn.lock
index 649160819e3..296912060e4 100644
--- a/extensions/css-language-features/server/yarn.lock
+++ b/extensions/css-language-features/server/yarn.lock
@@ -12,55 +12,55 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/l10n@^0.0.14":
- version "0.0.14"
- resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.14.tgz#431e5814c35c3cb11ee21873bc70a4b0fbf90fcf"
- integrity sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==
+"@vscode/l10n@^0.0.16":
+ version "0.0.16"
+ resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.16.tgz#f075db346d0b08419a12540171b230bd803c42be"
+ integrity sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==
-vscode-css-languageservice@^6.2.6:
- version "6.2.6"
- resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.6.tgz#bc26c2abaaa2eb117b143fdb9387ee1701d9661a"
- integrity sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==
+vscode-css-languageservice@^6.2.7:
+ version "6.2.7"
+ resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.7.tgz#d64e347e9a432d2b9c1a12d1ea5bc77996a2e9dc"
+ integrity sha512-Jd8wpIg5kJ15CfrieoEPvu3gGFc36sbM3qXCtjVq5zrnLEX5NhHxikMDtf8AgQsYklXiDqiZLKoBnzkJtRbTHQ==
dependencies:
- "@vscode/l10n" "^0.0.14"
+ "@vscode/l10n" "^0.0.16"
vscode-languageserver-textdocument "^1.0.8"
vscode-languageserver-types "^3.17.3"
vscode-uri "^3.0.7"
-vscode-jsonrpc@8.2.0-next.0:
- version "8.2.0-next.0"
- resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.0.tgz#41409413c8cebf10f2f1b7cc87e330f0e292814c"
- integrity sha512-13jYzaFQpTz5qQ2P+l5c/iTVsj1wUpflP0CR/v4XaEpM0oToLEXZBTcuuox1WaGIbu3Av3xxmGNU4Hydl1iNKg==
+vscode-jsonrpc@8.2.0-next.2:
+ version "8.2.0-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz#09d72832353fc7fb43b33c9c68b083907f6a8a68"
+ integrity sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==
-vscode-languageserver-protocol@3.17.4-next.1:
- version "3.17.4-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.1.tgz#a15480e1bc663853ae90ded226efafc5ab333616"
- integrity sha512-qrK4BycgPR/+nkRN9PRVTblkLp+kUPUmAgF6rDhFzZIPXW4/MqWwFUT8uswIMGdlTPPgCEkFO/AYEZK1fDXODg==
+vscode-languageserver-protocol@3.17.4-next.3:
+ version "3.17.4-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz#7d1d4fcaaa3213a8f2b8a6f1efa8187163251b7c"
+ integrity sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==
dependencies:
- vscode-jsonrpc "8.2.0-next.0"
- vscode-languageserver-types "3.17.4-next.0"
+ vscode-jsonrpc "8.2.0-next.2"
+ vscode-languageserver-types "3.17.4-next.2"
vscode-languageserver-textdocument@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0"
integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
-vscode-languageserver-types@3.17.4-next.0:
- version "3.17.4-next.0"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.0.tgz#4b5238d21cceaeb836d36a05d23c61a8c0238de2"
- integrity sha512-2FPKboHnT04xYjfM8JpJVBz4a/tryMw58jmzucaabZMZN5hzoFBrhc97jNG4n6edr9JUb9+QSwwcAcYpDTAoag==
+vscode-languageserver-types@3.17.4-next.2:
+ version "3.17.4-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz#4099ff39b38edbd2680df13bfb1c05f0c07bfe8d"
+ integrity sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==
vscode-languageserver-types@^3.17.3:
version "3.17.3"
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
-vscode-languageserver@^8.2.0-next.1:
- version "8.2.0-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.2.0-next.1.tgz#ad2558d74392b1cfaccd427febe9a368fc328f8b"
- integrity sha512-994AXMKBijzjlnpf8p9M+ntsNJDjR8pr55NJPYxKjy/nUhVkg962dAomelH6Z94401kBZmSbfP/K/20cB54aFA==
+vscode-languageserver@^8.2.0-next.3:
+ version "8.2.0-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.2.0-next.3.tgz#72e4998392260173fb0c35d2d556fb4015f56ce3"
+ integrity sha512-fqHRwcIRoxfKke7iLDSeUmdo3uk7o/uWNn/44xdWa4urdhsvpTZ5c1GsL1EX4TAvdDg0qeXy89NBZ5Gld2DkgQ==
dependencies:
- vscode-languageserver-protocol "3.17.4-next.1"
+ vscode-languageserver-protocol "3.17.4-next.3"
vscode-uri@^3.0.7:
version "3.0.7"
diff --git a/extensions/css-language-features/yarn.lock b/extensions/css-language-features/yarn.lock
index acd761d8f5b..826e0bb3306 100644
--- a/extensions/css-language-features/yarn.lock
+++ b/extensions/css-language-features/yarn.lock
@@ -40,32 +40,32 @@ semver@^7.3.7:
dependencies:
lru-cache "^6.0.0"
-vscode-jsonrpc@8.2.0-next.0:
- version "8.2.0-next.0"
- resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.0.tgz#41409413c8cebf10f2f1b7cc87e330f0e292814c"
- integrity sha512-13jYzaFQpTz5qQ2P+l5c/iTVsj1wUpflP0CR/v4XaEpM0oToLEXZBTcuuox1WaGIbu3Av3xxmGNU4Hydl1iNKg==
+vscode-jsonrpc@8.2.0-next.2:
+ version "8.2.0-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz#09d72832353fc7fb43b33c9c68b083907f6a8a68"
+ integrity sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==
-vscode-languageclient@^8.2.0-next.1:
- version "8.2.0-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.2.0-next.1.tgz#a3f98b80cfa3225fde0583aa6a5c9b20219fa37e"
- integrity sha512-oITaqHQ10PM3zXCUu/104wriMeDutXMkQXMaRBWh1jKihcNcUBLC/os7RhqiVGypY0nl+F0pwStAf4Koc8inaw==
+vscode-languageclient@^8.2.0-next.3:
+ version "8.2.0-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.2.0-next.3.tgz#a5086f451a679ce77106d8fd1e05c8cbf8e9b886"
+ integrity sha512-Ojo6L2cb7GSiyD864k8vGb9fHxBdZeciHQQOF595C3IDHWg0w4KQ7iN7qGWVdl4wDNwlGTX3wWZawGfPTxnrPQ==
dependencies:
minimatch "^5.1.0"
semver "^7.3.7"
- vscode-languageserver-protocol "3.17.4-next.1"
+ vscode-languageserver-protocol "3.17.4-next.3"
-vscode-languageserver-protocol@3.17.4-next.1:
- version "3.17.4-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.1.tgz#a15480e1bc663853ae90ded226efafc5ab333616"
- integrity sha512-qrK4BycgPR/+nkRN9PRVTblkLp+kUPUmAgF6rDhFzZIPXW4/MqWwFUT8uswIMGdlTPPgCEkFO/AYEZK1fDXODg==
+vscode-languageserver-protocol@3.17.4-next.3:
+ version "3.17.4-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz#7d1d4fcaaa3213a8f2b8a6f1efa8187163251b7c"
+ integrity sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==
dependencies:
- vscode-jsonrpc "8.2.0-next.0"
- vscode-languageserver-types "3.17.4-next.0"
+ vscode-jsonrpc "8.2.0-next.2"
+ vscode-languageserver-types "3.17.4-next.2"
-vscode-languageserver-types@3.17.4-next.0:
- version "3.17.4-next.0"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.0.tgz#4b5238d21cceaeb836d36a05d23c61a8c0238de2"
- integrity sha512-2FPKboHnT04xYjfM8JpJVBz4a/tryMw58jmzucaabZMZN5hzoFBrhc97jNG4n6edr9JUb9+QSwwcAcYpDTAoag==
+vscode-languageserver-types@3.17.4-next.2:
+ version "3.17.4-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz#4099ff39b38edbd2680df13bfb1c05f0c07bfe8d"
+ integrity sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==
vscode-uri@^3.0.7:
version "3.0.7"
diff --git a/extensions/git-base/README.md b/extensions/git-base/README.md
index ff5bcc321c7..d6f0b7c128b 100644
--- a/extensions/git-base/README.md
+++ b/extensions/git-base/README.md
@@ -14,7 +14,8 @@ The Git extension exposes an API, reachable by any other extension.
2. Include `git-base.d.ts` in your extension's compilation.
3. Get a hold of the API with the following snippet:
- ```ts
- const gitBaseExtension = vscode.extensions.getExtension('vscode.git-base').exports;
- const git = gitBaseExtension.getAPI(1);
- ```
+ ```ts
+ const gitBaseExtension = vscode.extensions.getExtension('vscode.git-base').exports;
+ const git = gitBaseExtension.getAPI(1);
+
+ ```
diff --git a/extensions/git/README.md b/extensions/git/README.md
index a20f3207534..97911b612ee 100644
--- a/extensions/git/README.md
+++ b/extensions/git/README.md
@@ -17,4 +17,10 @@ The Git extension exposes an API, reachable by any other extension.
```ts
const gitExtension = vscode.extensions.getExtension('vscode.git').exports;
const git = gitExtension.getAPI(1);
- ```
\ No newline at end of file
+ ```
+ **Note:** To ensure that the `vscode.git` extension is activated before your extension, add `extensionDependencies` ([docs](https://code.visualstudio.com/api/references/extension-manifest)) into the `package.json` of your extension:
+ ```json
+ "extensionDependencies": [
+ "vscode.git"
+ ]
+ ```
diff --git a/extensions/git/package.json b/extensions/git/package.json
index d7d241e0aab..9ad1978be0e 100644
--- a/extensions/git/package.json
+++ b/extensions/git/package.json
@@ -2950,13 +2950,13 @@
{
"view": "scm",
"contents": "%view.workbench.scm.folder%",
- "when": "config.git.enabled && !git.missing && git.state == initialized && workbenchState == folder && scmRepositoryCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",
+ "when": "config.git.enabled && !git.missing && git.state == initialized && workbenchState == folder && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",
"group": "5_scm@1"
},
{
"view": "scm",
"contents": "%view.workbench.scm.workspace%",
- "when": "config.git.enabled && !git.missing && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && scmRepositoryCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",
+ "when": "config.git.enabled && !git.missing && git.state == initialized && workbenchState == workspace && workspaceFolderCount != 0 && scm.providerCount == 0 && git.parentRepositoryCount == 0 && git.unsafeRepositoryCount == 0 && git.closedRepositoryCount == 0 && remoteName != 'codespaces'",
"group": "5_scm@1"
},
{
@@ -2992,27 +2992,27 @@
{
"view": "explorer",
"contents": "%view.workbench.cloneRepository%",
- "when": "config.git.enabled && git.state == initialized && scmRepositoryCount == 0",
+ "when": "config.git.enabled && git.state == initialized && scm.providerCount == 0",
"group": "5_scm@1"
},
{
"view": "explorer",
"contents": "%view.workbench.learnMore%",
- "when": "config.git.enabled && git.state == initialized && scmRepositoryCount == 0",
+ "when": "config.git.enabled && git.state == initialized && scm.providerCount == 0",
"group": "5_scm@10"
}
]
},
"dependencies": {
"@joaomoreno/unique-names-generator": "^5.1.0",
- "@vscode/extension-telemetry": "0.7.5",
+ "@vscode/extension-telemetry": "^0.8.4",
"@vscode/iconv-lite-umd": "0.7.0",
"byline": "^5.0.0",
"file-type": "16.5.4",
"jschardet": "3.0.0",
"picomatch": "2.3.1",
"vscode-uri": "^2.0.0",
- "which": "3.0.1"
+ "which": "4.0.0"
},
"devDependencies": {
"@types/byline": "4.2.31",
diff --git a/extensions/git/src/api/git.d.ts b/extensions/git/src/api/git.d.ts
index ae1d57d3098..05af77899f0 100644
--- a/extensions/git/src/api/git.d.ts
+++ b/extensions/git/src/api/git.d.ts
@@ -129,6 +129,8 @@ export interface LogOptions {
/** Max number of log entries to retrieve. If not specified, the default is 32. */
readonly maxEntries?: number;
readonly path?: string;
+ /** A commit range, such as "0a47c67f0fb52dd11562af48658bc1dff1d75a38..0bb4bdea78e1db44d728fd6894720071e303304f" */
+ readonly range?: string;
}
export interface CommitOptions {
diff --git a/extensions/git/src/commands.ts b/extensions/git/src/commands.ts
index af40853e27e..704a4fa47fd 100644
--- a/extensions/git/src/commands.ts
+++ b/extensions/git/src/commands.ts
@@ -1783,12 +1783,17 @@ export class CommandCenter {
const message = documents.length === 1
? l10n.t('The following file has unsaved changes which won\'t be included in the commit if you proceed: {0}.\n\nWould you like to save it before committing?', path.basename(documents[0].uri.fsPath))
: l10n.t('There are {0} unsaved files.\n\nWould you like to save them before committing?', documents.length);
- const saveAndCommit = l10n.t('Save All & Commit');
- const commit = l10n.t('Commit Staged Changes');
+ const saveAndCommit = l10n.t('Save All & Commit Changes');
+ const commit = l10n.t('Commit Changes');
const pick = await window.showWarningMessage(message, { modal: true }, saveAndCommit, commit);
if (pick === saveAndCommit) {
await Promise.all(documents.map(d => d.save()));
+
+ // After saving the dirty documents, if there are any documents that are part of the
+ // index group we have to add them back in order for the saved changes to be committed
+ documents = documents
+ .filter(d => repository.indexGroup.resourceStates.some(s => pathEquals(s.resourceUri.fsPath, d.uri.fsPath)));
await repository.add(documents.map(d => d.uri));
noStagedChanges = repository.indexGroup.resourceStates.length === 0;
diff --git a/extensions/git/src/git.ts b/extensions/git/src/git.ts
index 62bdf24ebcb..502e8de947b 100644
--- a/extensions/git/src/git.ts
+++ b/extensions/git/src/git.ts
@@ -66,14 +66,14 @@ function parseVersion(raw: string): string {
function findSpecificGit(path: string, onValidate: (path: string) => boolean): Promise {
return new Promise((c, e) => {
if (!onValidate(path)) {
- return e('git not found');
+ return e(new Error(`Path "${path}" is invalid.`));
}
const buffers: Buffer[] = [];
const child = cp.spawn(path, ['--version']);
child.stdout.on('data', (b: Buffer) => buffers.push(b));
child.on('error', cpErrorHandler(e));
- child.on('close', code => code ? e(new Error('Not found')) : c({ path, version: parseVersion(Buffer.concat(buffers).toString('utf8').trim()) }));
+ child.on('close', code => code ? e(new Error(`Not found. Code: ${code}`)) : c({ path, version: parseVersion(Buffer.concat(buffers).toString('utf8').trim()) }));
});
}
@@ -81,21 +81,21 @@ function findGitDarwin(onValidate: (path: string) => boolean): Promise {
return new Promise((c, e) => {
cp.exec('which git', (err, gitPathBuffer) => {
if (err) {
- return e('git not found');
+ return e(new Error(`Executing "which git" failed: ${err.message}`));
}
const path = gitPathBuffer.toString().trim();
function getVersion(path: string) {
if (!onValidate(path)) {
- return e('git not found');
+ return e(new Error(`Path "${path}" is invalid.`));
}
// make sure git executes
cp.exec('git --version', (err, stdout) => {
if (err) {
- return e('git not found');
+ return e(new Error(`Executing "git --version" failed: ${err.message}`));
}
return c({ path, version: parseVersion(stdout.trim()) });
@@ -112,7 +112,7 @@ function findGitDarwin(onValidate: (path: string) => boolean): Promise {
// git is not installed, and launching /usr/bin/git
// will prompt the user to install it
- return e('git not found');
+ return e(new Error('Executing "xcode-select -p" failed with error code 2.'));
}
getVersion(path);
@@ -142,12 +142,13 @@ function findGitWin32(onValidate: (path: string) => boolean): Promise {
.then(undefined, () => findGitWin32InPath(onValidate));
}
-export async function findGit(hints: string[], onValidate: (path: string) => boolean): Promise {
+export async function findGit(hints: string[], onValidate: (path: string) => boolean, logger: LogOutputChannel): Promise {
for (const hint of hints) {
try {
return await findSpecificGit(hint, onValidate);
- } catch {
+ } catch (err) {
// noop
+ logger.info(`Unable to find git on the PATH: "${hint}". Error: ${err.message}`);
}
}
@@ -157,8 +158,9 @@ export async function findGit(hints: string[], onValidate: (path: string) => boo
case 'win32': return await findGitWin32(onValidate);
default: return await findSpecificGit('git', onValidate);
}
- } catch {
+ } catch (err) {
// noop
+ logger.warn(`Unable to find git. Error: ${err.message}`);
}
throw new Error('Git installation not found.');
@@ -397,8 +399,8 @@ export class Git {
return Versions.compare(Versions.fromString(this.version), Versions.fromString(version));
}
- open(repository: string, dotGit: { path: string; commonPath?: string }, logger: LogOutputChannel): Repository {
- return new Repository(this, repository, dotGit, logger);
+ open(repositoryRoot: string, repositoryRootRealPath: string | undefined, dotGit: { path: string; commonPath?: string }, logger: LogOutputChannel): Repository {
+ return new Repository(this, repositoryRoot, repositoryRootRealPath, dotGit, logger);
}
async init(repository: string, options: InitOptions = {}): Promise {
@@ -956,6 +958,7 @@ export class Repository {
constructor(
private _git: Git,
private repositoryRoot: string,
+ private repositoryRootRealPath: string | undefined,
readonly dotGit: { path: string; commonPath?: string },
private logger: LogOutputChannel
) { }
@@ -968,6 +971,10 @@ export class Repository {
return this.repositoryRoot;
}
+ get rootRealPath(): string | undefined {
+ return this.repositoryRootRealPath;
+ }
+
async exec(args: string[], options: SpawnOptions = {}): Promise> {
return await this.git.exec(this.repositoryRoot, args, options);
}
@@ -1017,7 +1024,14 @@ export class Repository {
async log(options?: LogOptions): Promise {
const maxEntries = options?.maxEntries ?? 32;
- const args = ['log', `-n${maxEntries}`, `--format=${COMMIT_FORMAT}`, '-z', '--'];
+ const args = ['log', `-n${maxEntries}`, `--format=${COMMIT_FORMAT}`, '-z'];
+
+ if (options?.range) {
+ args.push(options.range);
+ }
+
+ args.push('--');
+
if (options?.path) {
args.push(options.path);
}
diff --git a/extensions/git/src/main.ts b/extensions/git/src/main.ts
index 7c93979ee69..5440795cce9 100644
--- a/extensions/git/src/main.ts
+++ b/extensions/git/src/main.ts
@@ -58,7 +58,7 @@ async function createModel(context: ExtensionContext, logger: LogOutputChannel,
logger.info(l10n.t('Skipped found git in: "{0}"', gitPath));
}
return !skip;
- });
+ }, logger);
let ipcServer: IPCServer | undefined = undefined;
diff --git a/extensions/git/src/model.ts b/extensions/git/src/model.ts
index eacfca8f035..03a6ccf18ad 100644
--- a/extensions/git/src/model.ts
+++ b/extensions/git/src/model.ts
@@ -5,7 +5,7 @@
import { workspace, WorkspaceFoldersChangeEvent, Uri, window, Event, EventEmitter, QuickPickItem, Disposable, SourceControl, SourceControlResourceGroup, TextEditor, Memento, commands, LogOutputChannel, l10n, ProgressLocation, WorkspaceFolder } from 'vscode';
import TelemetryReporter from '@vscode/extension-telemetry';
-import { Repository, RepositoryState } from './repository';
+import { IRepositoryResolver, Repository, RepositoryState } from './repository';
import { memoize, sequentialize, debounce } from './decorators';
import { dispose, anyEvent, filterEvent, isDescendant, pathEquals, toDisposable, eventToPromise } from './util';
import { Git } from './git';
@@ -170,7 +170,7 @@ class UnsafeRepositoriesManager {
}
}
-export class Model implements IBranchProtectionProviderRegistry, IRemoteSourcePublisherRegistry, IPostCommitCommandsProviderRegistry, IPushErrorHandlerRegistry {
+export class Model implements IRepositoryResolver, IBranchProtectionProviderRegistry, IRemoteSourcePublisherRegistry, IPostCommitCommandsProviderRegistry, IPushErrorHandlerRegistry {
private _onDidOpenRepository = new EventEmitter();
readonly onDidOpenRepository: Event = this._onDidOpenRepository.event;
@@ -577,8 +577,8 @@ export class Model implements IBranchProtectionProviderRegistry, IRemoteSourcePu
}
// Open repository
- const dotGit = await this.git.getRepositoryDotGit(repositoryRoot);
- const repository = new Repository(this.git.open(repositoryRoot, dotGit, this.logger), this, this, this, this, this.globalState, this.logger, this.telemetryReporter);
+ const [dotGit, repositoryRootRealPath] = await Promise.all([this.git.getRepositoryDotGit(repositoryRoot), this.getRepositoryRootRealPath(repositoryRoot)]);
+ const repository = new Repository(this.git.open(repositoryRoot, repositoryRootRealPath, dotGit, this.logger), this, this, this, this, this, this.globalState, this.logger, this.telemetryReporter);
this.open(repository);
this._closedRepositoriesManager.deleteRepository(repository.root);
@@ -615,6 +615,16 @@ export class Model implements IBranchProtectionProviderRegistry, IRemoteSourcePu
}
}
+ private async getRepositoryRootRealPath(repositoryRoot: string): Promise {
+ try {
+ const repositoryRootRealPath = await fs.promises.realpath(repositoryRoot);
+ return !pathEquals(repositoryRoot, repositoryRootRealPath) ? repositoryRootRealPath : undefined;
+ } catch (err) {
+ this.logger.warn(`Failed to get repository realpath for: "${repositoryRoot}". ${err}`);
+ return undefined;
+ }
+ }
+
private shouldRepositoryBeIgnored(repositoryRoot: string): boolean {
const config = workspace.getConfiguration('git');
const ignoredRepos = config.get('ignoredRepositories') || [];
@@ -766,15 +776,25 @@ export class Model implements IBranchProtectionProviderRegistry, IRemoteSourcePu
}
private async getRepositoryExact(repoPath: string): Promise {
- const repoPathCanonical = await fs.promises.realpath(repoPath, { encoding: 'utf8' });
+ // Use the repository path
+ const openRepository = this.openRepositories
+ .find(r => pathEquals(r.repository.root, repoPath));
- for (const openRepository of this.openRepositories) {
- const rootPathCanonical = await fs.promises.realpath(openRepository.repository.root, { encoding: 'utf8' });
- if (pathEquals(rootPathCanonical, repoPathCanonical)) {
- return openRepository.repository;
- }
+ if (openRepository) {
+ return openRepository.repository;
+ }
+
+ try {
+ // Use the repository real path
+ const repoPathRealPath = await fs.promises.realpath(repoPath, { encoding: 'utf8' });
+ const openRepositoryRealPath = this.openRepositories
+ .find(r => pathEquals(r.repository.rootRealPath ?? '', repoPathRealPath));
+
+ return openRepositoryRealPath?.repository;
+ } catch (err) {
+ this.logger.warn(`Failed to get repository realpath for: "${repoPath}". ${err}`);
+ return undefined;
}
- return undefined;
}
private getOpenRepository(repository: Repository): OpenRepository | undefined;
diff --git a/extensions/git/src/repository.ts b/extensions/git/src/repository.ts
index 77739e11ce9..ea4d6cbe56f 100644
--- a/extensions/git/src/repository.ts
+++ b/extensions/git/src/repository.ts
@@ -633,6 +633,14 @@ interface BranchProtectionMatcher {
exclude?: picomatch.Matcher;
}
+export interface IRepositoryResolver {
+ getRepository(sourceControl: SourceControl): Repository | undefined;
+ getRepository(resourceGroup: SourceControlResourceGroup): Repository | undefined;
+ getRepository(path: string): Repository | undefined;
+ getRepository(resource: Uri): Repository | undefined;
+ getRepository(hint: any): Repository | undefined;
+}
+
export class Repository implements Disposable {
private _onDidChangeRepository = new EventEmitter();
@@ -765,6 +773,10 @@ export class Repository implements Disposable {
return this.repository.root;
}
+ get rootRealPath(): string | undefined {
+ return this.repository.rootRealPath;
+ }
+
get dotGit(): { path: string; commonPath?: string } {
return this.repository.dotGit;
}
@@ -780,6 +792,7 @@ export class Repository implements Disposable {
constructor(
private readonly repository: BaseRepository,
+ private readonly repositoryResolver: IRepositoryResolver,
private pushErrorHandlerRegistry: IPushErrorHandlerRegistry,
remoteSourcePublisherRegistry: IRemoteSourcePublisherRegistry,
postCommitCommandsProviderRegistry: IPostCommitCommandsProviderRegistry,
@@ -1006,13 +1019,13 @@ export class Repository implements Disposable {
return;
}
- // Ignore path that is inside a merge group
- if (this.mergeGroup.resourceStates.some(r => r.resourceUri.path === uri.path)) {
+ // Ignore path that is not inside the current repository
+ if (this.repositoryResolver.getRepository(uri) !== this) {
return undefined;
}
- // Ignore path that is inside a submodule
- if (this.submodules.some(s => isDescendant(path.join(this.repository.root, s.path), uri.path))) {
+ // Ignore path that is inside a merge group
+ if (this.mergeGroup.resourceStates.some(r => r.resourceUri.path === uri.path)) {
return undefined;
}
diff --git a/extensions/git/yarn.lock b/extensions/git/yarn.lock
index 6be6a6b4e43..0b62d7472be 100644
--- a/extensions/git/yarn.lock
+++ b/extensions/git/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -55,71 +80,105 @@
dependencies:
tslib "^2.2.0"
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
+ dependencies:
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
"@joaomoreno/unique-names-generator@^5.1.0":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@joaomoreno/unique-names-generator/-/unique-names-generator-5.1.0.tgz#d577d425aed794c44c0e8863cddd5dea349f74f3"
integrity sha512-KEVThTpUIKPb7dBKJ9mJ3WYnD1mJZZsEinCSp9CVEPlWbDagurFv1RKRjvvujrLfJzsGc0HkBHS9W8Bughao4A==
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -131,39 +190,74 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tokenizer/token@^0.3.0":
version "0.3.0"
@@ -202,26 +296,41 @@
resolved "https://registry.yarnpkg.com/@types/picomatch/-/picomatch-2.3.0.tgz#75db5e75a713c5a83d5b76780c3da84a82806003"
integrity sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
"@types/which@3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/which/-/which-3.0.0.tgz#849afdd9fdcb0b67339b9cfc80fa6ea4e0253fc5"
integrity sha512-ASCxdbsrwNfSMXALlC3Decif9rwDMu+80KGp5zI2RLRotfMsTv7fHL8W8VDp24wymzDyIFudhUeSCugrgRFfHQ==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
"@vscode/iconv-lite-umd@0.7.0":
version "0.7.0"
resolved "https://registry.yarnpkg.com/@vscode/iconv-lite-umd/-/iconv-lite-umd-0.7.0.tgz#d2f1e0664ee6036408f9743fee264ea0699b0e48"
integrity sha512-bRRFxLfg5dtAyl5XyiVWz/ZBPahpOpPrNYnnHpOpUZvam4tKH35wdhP4Kj6PbM0+KdliOsPzbGWpkxcdpNB/sg==
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
+
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -229,22 +338,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -271,6 +382,11 @@ byline@^5.0.0:
resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -295,7 +411,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -307,17 +423,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -344,6 +460,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -366,21 +494,45 @@ ieee754@^1.2.1:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
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==
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
+isexe@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d"
+ integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==
jschardet@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882"
integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -393,11 +545,21 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.52.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
peek-readable@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/peek-readable/-/peek-readable-4.1.0.tgz#4ece1111bf5c2ad8867c314c81356847e8a62e72"
@@ -424,6 +586,24 @@ readable-web-to-node-stream@^3.0.0:
dependencies:
readable-stream "^3.6.0"
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
safe-buffer@~5.2.0:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
@@ -434,7 +614,14 @@ semver@^5.3.0, semver@^5.4.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -459,6 +646,11 @@ strtok3@^6.2.4:
"@tokenizer/token" "^0.3.0"
peek-readable "^4.1.0"
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
token-types@^4.1.1:
version "4.2.0"
resolved "https://registry.yarnpkg.com/token-types/-/token-types-4.2.0.tgz#b66bc3d67420c6873222a424eee64a744f4c2f13"
@@ -487,9 +679,14 @@ vscode-uri@^2.0.0:
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-2.0.0.tgz#2df704222f72b8a71ff266ba0830ed6c51ac1542"
integrity sha512-lWXWofDSYD8r/TIyu64MdwB4FaSirQ608PP/TzUyslyOeHGwQ0eTHUZeJrK1ILOmwUHaJtV693m2JoUYroUDpw==
-which@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/which/-/which-3.0.1.tgz#89f1cd0c23f629a8105ffe69b8172791c87b4be1"
- integrity sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==
+which@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/which/-/which-4.0.0.tgz#cd60b5e74503a3fbcfbf6cd6b4138a8bae644c1a"
+ integrity sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==
dependencies:
- isexe "^2.0.0"
+ isexe "^3.1.1"
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/extensions/github-authentication/package.json b/extensions/github-authentication/package.json
index f5e3c95e6dd..4855716e08e 100644
--- a/extensions/github-authentication/package.json
+++ b/extensions/github-authentication/package.json
@@ -60,7 +60,7 @@
},
"dependencies": {
"node-fetch": "2.6.7",
- "@vscode/extension-telemetry": "0.7.5",
+ "@vscode/extension-telemetry": "^0.8.4",
"vscode-tas-client": "^0.1.47"
},
"devDependencies": {
diff --git a/extensions/github-authentication/src/common/keychain.ts b/extensions/github-authentication/src/common/keychain.ts
index c7b36d96212..977dade571b 100644
--- a/extensions/github-authentication/src/common/keychain.ts
+++ b/extensions/github-authentication/src/common/keychain.ts
@@ -3,8 +3,6 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
-// keytar depends on a native module shipped in vscode, so this is
-// how we load it
import * as vscode from 'vscode';
import { Log } from './logger';
diff --git a/extensions/github-authentication/src/flows.ts b/extensions/github-authentication/src/flows.ts
index 5bc9d095385..1e988d92d30 100644
--- a/extensions/github-authentication/src/flows.ts
+++ b/extensions/github-authentication/src/flows.ts
@@ -200,7 +200,9 @@ const allFlows: IFlow[] = [
// other flows that work well.
supportsGitHubEnterpriseServer: false,
supportsHostedGitHubEnterprise: true,
- supportsRemoteExtensionHost: true,
+ // Opening a port on the remote side can't be open in the browser on
+ // the client side so this flow won't work in remote extension hosts
+ supportsRemoteExtensionHost: false,
// Web worker can't open a port to listen for the redirect
supportsWebWorkerExtensionHost: false,
// exchanging a code for a token requires a client secret
diff --git a/extensions/github-authentication/yarn.lock b/extensions/github-authentication/yarn.lock
index 858f60ddaff..da5f5631576 100644
--- a/extensions/github-authentication/yarn.lock
+++ b/extensions/github-authentication/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -55,66 +80,100 @@
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -126,39 +185,74 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -183,15 +277,30 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -200,22 +309,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -244,6 +355,11 @@ axios@^0.26.1:
dependencies:
follow-redirects "^1.14.8"
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -268,7 +384,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -280,17 +396,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -322,6 +438,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -339,6 +467,30 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
mime-db@1.44.0:
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
@@ -351,6 +503,11 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.44.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -363,12 +520,42 @@ node-fetch@2.6.7:
dependencies:
whatwg-url "^5.0.0"
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -378,6 +565,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tas-client@0.1.45:
version "0.1.45"
resolved "https://registry.yarnpkg.com/tas-client/-/tas-client-0.1.45.tgz#83bbf73f8458a0f527f9a389f7e1c37f63a64a76"
@@ -419,3 +611,8 @@ whatwg-url@^5.0.0:
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/extensions/github/package.json b/extensions/github/package.json
index ec02df2ec85..afbb7253f7f 100644
--- a/extensions/github/package.json
+++ b/extensions/github/package.json
@@ -183,7 +183,7 @@
"@octokit/graphql-schema": "14.4.0",
"@octokit/rest": "19.0.4",
"tunnel": "^0.0.6",
- "@vscode/extension-telemetry": "0.7.5"
+ "@vscode/extension-telemetry": "^0.8.4"
},
"devDependencies": {
"@types/node": "18.x"
diff --git a/extensions/github/yarn.lock b/extensions/github/yarn.lock
index f562d36c972..ab4275a38b9 100644
--- a/extensions/github/yarn.lock
+++ b/extensions/github/yarn.lock
@@ -17,32 +17,50 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.11.0.tgz#fc0e8f56caac08a9d4ac91c07a6c5a360ea31c82"
- integrity sha512-nB4KXl6qAyJmBVLWA7SakT4tzpYZTCk4pvRBeI+Ye0WYSOrlTqlMhc4MSS/8atD3ufeYWdkN380LLoXlUUzThw==
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
+ integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
dependencies:
"@azure/abort-controller" "^1.0.0"
"@azure/core-auth" "^1.4.0"
"@azure/core-tracing" "^1.0.1"
- "@azure/core-util" "^1.3.0"
+ "@azure/core-util" "^1.0.0"
"@azure/logger" "^1.0.0"
form-data "^4.0.0"
http-proxy-agent "^5.0.0"
https-proxy-agent "^5.0.0"
tslib "^2.2.0"
+ uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
-"@azure/core-util@^1.3.0":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.3.2.tgz#3f8cfda1e87fac0ce84f8c1a42fcd6d2a986632d"
- integrity sha512-2bECOUh88RvL1pMZTcc6OzfobBeWDBf5oBbhjIhT1MV9otMVWCzpOJkkiKtrnO88y5GGBelgY8At73KGAdbkeQ==
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
+"@azure/core-util@^1.0.0", "@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
dependencies:
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
@@ -54,66 +72,100 @@
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.12", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.12"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.12.tgz#f5f56626bd0385a357fae6f730eea347be02ce64"
- integrity sha512-cHpxZZ+pbtOyqFMFB/c1COpaOE3VPFU6phYVHVvOA9DvoeMZfI/Xrxaj7B/vfq4MmkiE7nOAPhv5ZRn+i6OogA==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.14"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.12"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.12.tgz#60f6ff48ba48c88880c1bceb376711cdd34f87ea"
- integrity sha512-vhIVYg4FzBfwtM8tBqDUq3xU+cFu6SQ7biuJHtQpd5PVjDgvAovVOMRF1khsZE/k2rttRRBpmBgNEqG3Ptoysw==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.12"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.14":
- version "2.8.14"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.14.tgz#daabd8a418d9b70a318c0126518e000dd6f67fa0"
- integrity sha512-z1AG6lqV3ACtdUXnT0Ubj48BAZ8K01sFsYdWgroSXpw2lYUlXAzdx3tK8zpaqEXSEhok8CWTZki7aunHzkZHSw==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
+ dependencies:
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
+
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
+
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.14"
- "@microsoft/applicationinsights-core-js" "2.8.14"
"@microsoft/applicationinsights-shims" "2.0.2"
"@microsoft/dynamicproto-js" "^1.1.9"
-"@microsoft/applicationinsights-common@2.8.14":
- version "2.8.14"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.14.tgz#7d082295f862a189c80aa98b3f4aaec926546051"
- integrity sha512-1xjJvyyRN7tb5ahOTkEGGsvw8zvqmS714y3+1m7ooKHFfxO0wX+eYOU/kke74BCY0nJ/pocB/6hjWZOgwvbHig==
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.14"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.9"
-
-"@microsoft/applicationinsights-core-js@2.8.14":
- version "2.8.14"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.14.tgz#80e3d9d42102e741494726d78ac923098bad7132"
- integrity sha512-XacWUHdjSHMUwdngMZBp0oiCBifD56CQK2Egu2PiBiF4xu2AO2yNCtWSXsQX2g5OkEhVwaEjfa/aH3WbpYxB1g==
- dependencies:
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.9"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.14"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.14.tgz#8c43bcad2e12f25eb00a9aaad0182371507b21b9"
- integrity sha512-R2mzg5NmCtLloq3lPQFmnlvjrPIqm3mWNYVy5ELJuOPZ7S6j9y7s4yHOzfXynmOziiQd+0q1j9pTth9aP9vo0g==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.14"
- "@microsoft/applicationinsights-common" "2.8.14"
- "@microsoft/applicationinsights-core-js" "2.8.14"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.9"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -125,6 +177,25 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
+ dependencies:
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
+ dependencies:
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
+
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
"@octokit/auth-token@^3.0.0":
version "3.0.1"
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.1.tgz#88bc2baf5d706cb258474e722a720a8365dff2ec"
@@ -255,39 +326,50 @@
dependencies:
"@octokit/openapi-types" "^17.1.0"
-"@opentelemetry/api@^1.0.4":
+"@opentelemetry/api@^1.4.1":
version "1.4.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
-"@opentelemetry/core@1.14.0", "@opentelemetry/core@^1.0.1":
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.14.0.tgz#64e876b29cb736c984d54164cd47433f513eafd3"
- integrity sha512-MnMZ+sxsnlzloeuXL2nm5QcNczt/iO82UOeQQDHhV83F2fP3sgntW2evvtoxJki0MBLxEsh5ADD7PR/Hn5uzjw==
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/semantic-conventions" "1.14.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/resources@1.14.0":
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.14.0.tgz#d6b0a4e71c2706d33c8c6ec7a7b8fea6ad27ddea"
- integrity sha512-qRfWIgBxxl3z47E036Aey0Lj2ZjlFb27Q7Xnj1y1z/P293RXJZGLtcfn/w8JF7v1Q2hs3SDGxz7Wb9Dko1YUQA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
dependencies:
- "@opentelemetry/core" "1.14.0"
- "@opentelemetry/semantic-conventions" "1.14.0"
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.14.0.tgz#831af08f002228a11e577ff860eb6059c8b80fb7"
- integrity sha512-NzRGt3PS+HPKfQYMb6Iy8YYc5OKA73qDwci/6ujOIvyW9vcqBJSWbjZ8FeLEAmuatUB5WrRhEKu9b0sIiIYTrQ==
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
dependencies:
- "@opentelemetry/core" "1.14.0"
- "@opentelemetry/resources" "1.14.0"
- "@opentelemetry/semantic-conventions" "1.14.0"
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.14.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.14.0.tgz#6a729b7f372ce30f77a3f217c09bc216f863fccb"
- integrity sha512-rJfCY8rCWz3cb4KI6pEofnytvMPuj3YLQwoscCCYZ5DkdiPjo15IQ0US7+mjcWy9H3fcZIzf2pbJZ7ck/h4tug==
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -299,15 +381,30 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -316,22 +413,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -358,6 +457,11 @@ before-after-hook@^2.2.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.2.tgz#a6e8ca41028d90ee2c24222f201c90956091613e"
integrity sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -382,7 +486,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -399,17 +503,17 @@ deprecation@^2.0.0, deprecation@^2.3.1:
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -427,6 +531,11 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
graphql-tag@^2.10.3:
version "2.12.6"
resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1"
@@ -439,6 +548,13 @@ graphql@^16.0.0:
resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb"
integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -456,11 +572,35 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
is-plain-object@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -473,6 +613,11 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.52.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -492,12 +637,42 @@ once@^1.4.0:
dependencies:
wrappy "1"
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -507,6 +682,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
@@ -532,6 +712,11 @@ universal-user-agent@^6.0.0:
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==
+uuid@^8.3.0:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
webidl-conversions@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
@@ -549,3 +734,8 @@ wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/extensions/html-language-features/package.json b/extensions/html-language-features/package.json
index 58bd75f70e9..422fce5e7f6 100644
--- a/extensions/html-language-features/package.json
+++ b/extensions/html-language-features/package.json
@@ -258,8 +258,8 @@
]
},
"dependencies": {
- "@vscode/extension-telemetry": "^0.7.5",
- "vscode-languageclient": "^8.2.0-next.1",
+ "@vscode/extension-telemetry": "^0.8.4",
+ "vscode-languageclient": "^8.2.0-next.3",
"vscode-uri": "^3.0.7"
},
"devDependencies": {
diff --git a/extensions/html-language-features/server/package.json b/extensions/html-language-features/server/package.json
index 3304c243b35..1816dca28f5 100644
--- a/extensions/html-language-features/server/package.json
+++ b/extensions/html-language-features/server/package.json
@@ -9,10 +9,10 @@
},
"main": "./out/node/htmlServerMain",
"dependencies": {
- "@vscode/l10n": "^0.0.14",
- "vscode-css-languageservice": "^6.2.6",
- "vscode-html-languageservice": "^5.0.6",
- "vscode-languageserver": "^8.2.0-next.1",
+ "@vscode/l10n": "^0.0.16",
+ "vscode-css-languageservice": "^6.2.7",
+ "vscode-html-languageservice": "^5.0.7",
+ "vscode-languageserver": "^8.2.0-next.3",
"vscode-languageserver-textdocument": "^1.0.8",
"vscode-uri": "^3.0.7"
},
diff --git a/extensions/html-language-features/server/yarn.lock b/extensions/html-language-features/server/yarn.lock
index fe6c91e3cf8..22f945e7f84 100644
--- a/extensions/html-language-features/server/yarn.lock
+++ b/extensions/html-language-features/server/yarn.lock
@@ -12,65 +12,65 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/l10n@^0.0.14":
- version "0.0.14"
- resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.14.tgz#431e5814c35c3cb11ee21873bc70a4b0fbf90fcf"
- integrity sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==
+"@vscode/l10n@^0.0.16":
+ version "0.0.16"
+ resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.16.tgz#f075db346d0b08419a12540171b230bd803c42be"
+ integrity sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==
-vscode-css-languageservice@^6.2.6:
- version "6.2.6"
- resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.6.tgz#bc26c2abaaa2eb117b143fdb9387ee1701d9661a"
- integrity sha512-SA2WkeOecIpUiEbZnjOsP/fI5CRITZEiQGSHXKiDQDwLApfKcnLhZwMtOBbIifSzESVcQa7b/shX/nbnF4NoCg==
+vscode-css-languageservice@^6.2.7:
+ version "6.2.7"
+ resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-6.2.7.tgz#d64e347e9a432d2b9c1a12d1ea5bc77996a2e9dc"
+ integrity sha512-Jd8wpIg5kJ15CfrieoEPvu3gGFc36sbM3qXCtjVq5zrnLEX5NhHxikMDtf8AgQsYklXiDqiZLKoBnzkJtRbTHQ==
dependencies:
- "@vscode/l10n" "^0.0.14"
+ "@vscode/l10n" "^0.0.16"
vscode-languageserver-textdocument "^1.0.8"
vscode-languageserver-types "^3.17.3"
vscode-uri "^3.0.7"
-vscode-html-languageservice@^5.0.6:
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-5.0.6.tgz#e7a7f78e9f98d0f5341c5518dd9305e3cc438bb6"
- integrity sha512-gCixNg6fjPO7+kwSMBAVXcwDRHdjz1WOyNfI0n5Wx0J7dfHG8ggb3zD1FI8E2daTZrwS1cooOiSoc1Xxph4qRQ==
+vscode-html-languageservice@^5.0.7:
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/vscode-html-languageservice/-/vscode-html-languageservice-5.0.7.tgz#8d27773e0197799a9db777ee4fc134cf1c669d84"
+ integrity sha512-jX+7/kUXrdOaRT8vqYR/jLxrGDib+Far8I7n/A6apuEl88k+mhIHZPwc6ezuLeiCKUCaLG4b0dqFwjVa7QL3/w==
dependencies:
- "@vscode/l10n" "^0.0.14"
+ "@vscode/l10n" "^0.0.16"
vscode-languageserver-textdocument "^1.0.8"
vscode-languageserver-types "^3.17.3"
vscode-uri "^3.0.7"
-vscode-jsonrpc@8.2.0-next.0:
- version "8.2.0-next.0"
- resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.0.tgz#41409413c8cebf10f2f1b7cc87e330f0e292814c"
- integrity sha512-13jYzaFQpTz5qQ2P+l5c/iTVsj1wUpflP0CR/v4XaEpM0oToLEXZBTcuuox1WaGIbu3Av3xxmGNU4Hydl1iNKg==
+vscode-jsonrpc@8.2.0-next.2:
+ version "8.2.0-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz#09d72832353fc7fb43b33c9c68b083907f6a8a68"
+ integrity sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==
-vscode-languageserver-protocol@3.17.4-next.1:
- version "3.17.4-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.1.tgz#a15480e1bc663853ae90ded226efafc5ab333616"
- integrity sha512-qrK4BycgPR/+nkRN9PRVTblkLp+kUPUmAgF6rDhFzZIPXW4/MqWwFUT8uswIMGdlTPPgCEkFO/AYEZK1fDXODg==
+vscode-languageserver-protocol@3.17.4-next.3:
+ version "3.17.4-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz#7d1d4fcaaa3213a8f2b8a6f1efa8187163251b7c"
+ integrity sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==
dependencies:
- vscode-jsonrpc "8.2.0-next.0"
- vscode-languageserver-types "3.17.4-next.0"
+ vscode-jsonrpc "8.2.0-next.2"
+ vscode-languageserver-types "3.17.4-next.2"
vscode-languageserver-textdocument@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0"
integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
-vscode-languageserver-types@3.17.4-next.0:
- version "3.17.4-next.0"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.0.tgz#4b5238d21cceaeb836d36a05d23c61a8c0238de2"
- integrity sha512-2FPKboHnT04xYjfM8JpJVBz4a/tryMw58jmzucaabZMZN5hzoFBrhc97jNG4n6edr9JUb9+QSwwcAcYpDTAoag==
+vscode-languageserver-types@3.17.4-next.2:
+ version "3.17.4-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz#4099ff39b38edbd2680df13bfb1c05f0c07bfe8d"
+ integrity sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==
vscode-languageserver-types@^3.17.3:
version "3.17.3"
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
-vscode-languageserver@^8.2.0-next.1:
- version "8.2.0-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.2.0-next.1.tgz#ad2558d74392b1cfaccd427febe9a368fc328f8b"
- integrity sha512-994AXMKBijzjlnpf8p9M+ntsNJDjR8pr55NJPYxKjy/nUhVkg962dAomelH6Z94401kBZmSbfP/K/20cB54aFA==
+vscode-languageserver@^8.2.0-next.3:
+ version "8.2.0-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.2.0-next.3.tgz#72e4998392260173fb0c35d2d556fb4015f56ce3"
+ integrity sha512-fqHRwcIRoxfKke7iLDSeUmdo3uk7o/uWNn/44xdWa4urdhsvpTZ5c1GsL1EX4TAvdDg0qeXy89NBZ5Gld2DkgQ==
dependencies:
- vscode-languageserver-protocol "3.17.4-next.1"
+ vscode-languageserver-protocol "3.17.4-next.3"
vscode-uri@^3.0.7:
version "3.0.7"
diff --git a/extensions/html-language-features/yarn.lock b/extensions/html-language-features/yarn.lock
index 8bf14ed8f82..57d4562ac85 100644
--- a/extensions/html-language-features/yarn.lock
+++ b/extensions/html-language-features/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -55,66 +80,100 @@
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -126,39 +185,74 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -170,15 +264,30 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/extension-telemetry@^0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -187,22 +296,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -236,6 +347,11 @@ brace-expansion@^2.0.1:
dependencies:
balanced-match "^1.0.0"
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -260,7 +376,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -272,17 +388,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -300,6 +416,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -317,6 +445,23 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
@@ -343,24 +488,52 @@ minimatch@^5.1.0:
dependencies:
brace-expansion "^2.0.1"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@^7.3.7:
+semver@^7.3.7, semver@^7.5.1, semver@^7.5.3:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
-shimmer@^1.1.0, shimmer@^1.2.0:
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -370,6 +543,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tslib@^2.2.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
@@ -380,32 +558,32 @@ uuid@^8.3.0:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-vscode-jsonrpc@8.2.0-next.0:
- version "8.2.0-next.0"
- resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.0.tgz#41409413c8cebf10f2f1b7cc87e330f0e292814c"
- integrity sha512-13jYzaFQpTz5qQ2P+l5c/iTVsj1wUpflP0CR/v4XaEpM0oToLEXZBTcuuox1WaGIbu3Av3xxmGNU4Hydl1iNKg==
+vscode-jsonrpc@8.2.0-next.2:
+ version "8.2.0-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz#09d72832353fc7fb43b33c9c68b083907f6a8a68"
+ integrity sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==
-vscode-languageclient@^8.2.0-next.1:
- version "8.2.0-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.2.0-next.1.tgz#a3f98b80cfa3225fde0583aa6a5c9b20219fa37e"
- integrity sha512-oITaqHQ10PM3zXCUu/104wriMeDutXMkQXMaRBWh1jKihcNcUBLC/os7RhqiVGypY0nl+F0pwStAf4Koc8inaw==
+vscode-languageclient@^8.2.0-next.3:
+ version "8.2.0-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.2.0-next.3.tgz#a5086f451a679ce77106d8fd1e05c8cbf8e9b886"
+ integrity sha512-Ojo6L2cb7GSiyD864k8vGb9fHxBdZeciHQQOF595C3IDHWg0w4KQ7iN7qGWVdl4wDNwlGTX3wWZawGfPTxnrPQ==
dependencies:
minimatch "^5.1.0"
semver "^7.3.7"
- vscode-languageserver-protocol "3.17.4-next.1"
+ vscode-languageserver-protocol "3.17.4-next.3"
-vscode-languageserver-protocol@3.17.4-next.1:
- version "3.17.4-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.1.tgz#a15480e1bc663853ae90ded226efafc5ab333616"
- integrity sha512-qrK4BycgPR/+nkRN9PRVTblkLp+kUPUmAgF6rDhFzZIPXW4/MqWwFUT8uswIMGdlTPPgCEkFO/AYEZK1fDXODg==
+vscode-languageserver-protocol@3.17.4-next.3:
+ version "3.17.4-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz#7d1d4fcaaa3213a8f2b8a6f1efa8187163251b7c"
+ integrity sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==
dependencies:
- vscode-jsonrpc "8.2.0-next.0"
- vscode-languageserver-types "3.17.4-next.0"
+ vscode-jsonrpc "8.2.0-next.2"
+ vscode-languageserver-types "3.17.4-next.2"
-vscode-languageserver-types@3.17.4-next.0:
- version "3.17.4-next.0"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.0.tgz#4b5238d21cceaeb836d36a05d23c61a8c0238de2"
- integrity sha512-2FPKboHnT04xYjfM8JpJVBz4a/tryMw58jmzucaabZMZN5hzoFBrhc97jNG4n6edr9JUb9+QSwwcAcYpDTAoag==
+vscode-languageserver-types@3.17.4-next.2:
+ version "3.17.4-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz#4099ff39b38edbd2680df13bfb1c05f0c07bfe8d"
+ integrity sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==
vscode-uri@^3.0.7:
version "3.0.7"
diff --git a/extensions/ipynb/package.json b/extensions/ipynb/package.json
index f5e25ac3695..25d08040183 100644
--- a/extensions/ipynb/package.json
+++ b/extensions/ipynb/package.json
@@ -58,8 +58,8 @@
"title": "%cleanInvalidImageAttachment.title%"
},
{
- "command": "notebook.cellOutput.copyToClipboard",
- "title": "%copyOutputToClipboard.title%"
+ "command": "notebook.cellOutput.copy",
+ "title": "%copyCellOutput.title%"
}
],
"notebooks": [
@@ -106,7 +106,7 @@
],
"webview/context": [
{
- "command": "notebook.cellOutput.copyToClipboard",
+ "command": "notebook.cellOutput.copy",
"when": "webviewId == 'notebook.output' && webviewSection == 'image'"
}
]
diff --git a/extensions/ipynb/package.nls.json b/extensions/ipynb/package.nls.json
index 45aa2aa03e8..1f281c32dd3 100644
--- a/extensions/ipynb/package.nls.json
+++ b/extensions/ipynb/package.nls.json
@@ -6,7 +6,7 @@
"newUntitledIpynb.shortTitle": "Jupyter Notebook",
"openIpynbInNotebookEditor.title": "Open IPYNB File In Notebook Editor",
"cleanInvalidImageAttachment.title": "Clean Invalid Image Attachment Reference",
- "copyOutputToClipboard.title": "Copy Output to Clipboard",
+ "copyCellOutput.title": "Copy Output",
"markdownAttachmentRenderer.displayName": {
"message": "Markdown-It ipynb Cell Attachment renderer",
"comment": [
diff --git a/extensions/ipynb/src/ipynbMain.ts b/extensions/ipynb/src/ipynbMain.ts
index 1d61f8a1cae..c256e3b4f65 100644
--- a/extensions/ipynb/src/ipynbMain.ts
+++ b/extensions/ipynb/src/ipynbMain.ts
@@ -24,7 +24,7 @@ type NotebookMetadata = {
pygments_lexer?: string;
[propName: string]: unknown;
};
- orig_nbformat: number;
+ orig_nbformat?: number;
[propName: string]: unknown;
};
@@ -76,9 +76,7 @@ export function activate(context: vscode.ExtensionContext) {
data.metadata = {
custom: {
cells: [],
- metadata: {
- orig_nbformat: 4
- },
+ metadata: {},
nbformat: 4,
nbformat_minor: 2
}
diff --git a/extensions/ipynb/src/notebookSerializer.ts b/extensions/ipynb/src/notebookSerializer.ts
index 968c2738ed4..26cc2b44232 100644
--- a/extensions/ipynb/src/notebookSerializer.ts
+++ b/extensions/ipynb/src/notebookSerializer.ts
@@ -63,7 +63,7 @@ export class NotebookSerializer implements vscode.NotebookSerializer {
// For notebooks without metadata default the language in metadata to the preferred language.
if (!json.metadata || (!json.metadata.kernelspec && !json.metadata.language_info)) {
- json.metadata = json.metadata || { orig_nbformat: defaultNotebookFormat.major };
+ json.metadata = json.metadata || {};
json.metadata.language_info = json.metadata.language_info || { name: preferredCellLanguage };
}
@@ -101,8 +101,8 @@ export class NotebookSerializer implements vscode.NotebookSerializer {
export function getNotebookMetadata(document: vscode.NotebookDocument | vscode.NotebookData) {
const notebookContent: Partial = document.metadata?.custom || {};
notebookContent.cells = notebookContent.cells || [];
- notebookContent.nbformat = notebookContent.nbformat || 4;
- notebookContent.nbformat_minor = notebookContent.nbformat_minor ?? 2;
- notebookContent.metadata = notebookContent.metadata || { orig_nbformat: 4 };
+ notebookContent.nbformat = notebookContent.nbformat || defaultNotebookFormat.major;
+ notebookContent.nbformat_minor = notebookContent.nbformat_minor ?? defaultNotebookFormat.minor;
+ notebookContent.metadata = notebookContent.metadata || {};
return notebookContent;
}
diff --git a/extensions/javascript/syntaxes/Readme.md b/extensions/javascript/syntaxes/Readme.md
index bc29199fd73..b7db3a6a4c9 100644
--- a/extensions/javascript/syntaxes/Readme.md
+++ b/extensions/javascript/syntaxes/Readme.md
@@ -1,10 +1,12 @@
The file `JavaScript.tmLanguage.json` is derived from [TypeScriptReact.tmLanguage](https://github.com/microsoft/TypeScript-TmLanguage/blob/master/TypeScriptReact.tmLanguage).
To update to the latest version:
+
- `cd extensions/typescript` and run `npm run update-grammars`
- don't forget to run the integration tests at `./scripts/test-integration.sh`
The script does the following changes:
+
- fileTypes .tsx -> .js & .jsx
- scopeName scope.tsx -> scope.js
- update all rule names .tsx -> .js
diff --git a/extensions/json-language-features/README.md b/extensions/json-language-features/README.md
index 2ff5e6e57d3..3de3d11081a 100644
--- a/extensions/json-language-features/README.md
+++ b/extensions/json-language-features/README.md
@@ -4,4 +4,4 @@
## Features
-See [JSON in Visual Studio Code](https://code.visualstudio.com/docs/languages/json) to learn about the features of this extension.
\ No newline at end of file
+See [JSON in Visual Studio Code](https://code.visualstudio.com/docs/languages/json) to learn about the features of this extension.
diff --git a/extensions/json-language-features/client/src/jsonClient.ts b/extensions/json-language-features/client/src/jsonClient.ts
index 23410ebb814..3f191f165cf 100644
--- a/extensions/json-language-features/client/src/jsonClient.ts
+++ b/extensions/json-language-features/client/src/jsonClient.ts
@@ -8,7 +8,7 @@ export type JSONLanguageStatus = { schemas: string[] };
import {
workspace, window, languages, commands, ExtensionContext, extensions, Uri, ColorInformation,
Diagnostic, StatusBarAlignment, TextEditor, TextDocument, FormattingOptions, CancellationToken, FoldingRange,
- ProviderResult, TextEdit, Range, Position, Disposable, CompletionItem, CompletionList, CompletionContext, Hover, MarkdownString, FoldingContext, DocumentSymbol, SymbolInformation, l10n, TextEditorOptions
+ ProviderResult, TextEdit, Range, Position, Disposable, CompletionItem, CompletionList, CompletionContext, Hover, MarkdownString, FoldingContext, DocumentSymbol, SymbolInformation, l10n
} from 'vscode';
import {
LanguageClientOptions, RequestType, NotificationType, FormattingOptions as LSPFormattingOptions,
@@ -102,7 +102,6 @@ export type JSONSchemaSettings = {
export namespace SettingIds {
export const enableFormatter = 'json.format.enable';
export const enableKeepLines = 'json.format.keepLines';
- export const enableSortOnSave = 'json.sortOnSave.enable';
export const enableValidation = 'json.validate.enable';
export const enableSchemaDownload = 'json.schemaDownload.enable';
export const maxItemsComputed = 'json.maxItemsComputed';
@@ -171,15 +170,6 @@ export async function startClient(context: ExtensionContext, newLanguageClient:
window.showInformationMessage(l10n.t('JSON schema cache cleared.'));
}));
- toDispose.push(workspace.onWillSaveTextDocument(event => {
- const sortOnSave = workspace.getConfiguration().get(SettingIds.enableSortOnSave);
- const document = event.document;
- if (sortOnSave && (document.languageId === 'json' || document.languageId === 'jsonc')) {
- const documentOptions = getOptionsForDocument(document);
- const textEditsPromise = getSortTextEdits(document, documentOptions?.tabSize, documentOptions?.insertSpaces);
- event.waitUntil(textEditsPromise);
- }
- }));
toDispose.push(commands.registerCommand('json.sort', async () => {
@@ -643,12 +633,3 @@ function updateMarkdownString(h: MarkdownString): MarkdownString {
function isSchemaResolveError(d: Diagnostic) {
return d.code === /* SchemaResolveError */ 0x300;
}
-
-function getOptionsForDocument(document: TextDocument): TextEditorOptions | undefined {
- for (const editor of window.visibleTextEditors) {
- if (editor.document.uri.toString() === document.uri.toString()) {
- return editor.options;
- }
- }
- return;
-}
diff --git a/extensions/json-language-features/package.json b/extensions/json-language-features/package.json
index 05075ec1389..f804c30da79 100644
--- a/extensions/json-language-features/package.json
+++ b/extensions/json-language-features/package.json
@@ -91,12 +91,6 @@
"default": false,
"description": "%json.format.keepLines.desc%"
},
- "json.sortOnSave.enable": {
- "type": "boolean",
- "scope": "window",
- "default": false,
- "description": "%json.sortOnSave.enable.desc%"
- },
"json.trace.server": {
"type": "string",
"scope": "window",
@@ -164,9 +158,9 @@
]
},
"dependencies": {
- "@vscode/extension-telemetry": "^0.7.5",
+ "@vscode/extension-telemetry": "^0.8.4",
"request-light": "^0.7.0",
- "vscode-languageclient": "^8.2.0-next.1"
+ "vscode-languageclient": "^8.2.0-next.3"
},
"devDependencies": {
"@types/node": "18.x"
diff --git a/extensions/json-language-features/package.nls.json b/extensions/json-language-features/package.nls.json
index df68b3f8eac..2586bc6ab0a 100644
--- a/extensions/json-language-features/package.nls.json
+++ b/extensions/json-language-features/package.nls.json
@@ -8,7 +8,6 @@
"json.schemas.schema.desc": "The schema definition for the given URL. The schema only needs to be provided to avoid accesses to the schema URL.",
"json.format.enable.desc": "Enable/disable default JSON formatter",
"json.format.keepLines.desc" : "Keep all existing new lines when formatting.",
- "json.sortOnSave.enable.desc": "Enable/disable default sorting on save",
"json.validate.enable.desc": "Enable/disable JSON validation.",
"json.tracing.desc": "Traces the communication between VS Code and the JSON language server.",
"json.colorDecorators.enable.desc": "Enables or disables color decorators",
diff --git a/extensions/json-language-features/server/README.md b/extensions/json-language-features/server/README.md
index e9875ba5977..10956439e32 100644
--- a/extensions/json-language-features/server/README.md
+++ b/extensions/json-language-features/server/README.md
@@ -11,6 +11,7 @@ The JSON Language server provides language-specific smarts for editing, validati
### Server capabilities
The JSON language server supports requests on documents of language id `json` and `jsonc`.
+
- `json` documents are parsed and validated following the [JSON specification](https://tools.ietf.org/html/rfc7159).
- `jsonc` documents additionally accept single line (`//`) and multi-line comments (`/* ... */`). JSONC is a VSCode specific file format, intended for VSCode configuration files, without any aspirations to define a new common file format.
@@ -25,12 +26,12 @@ The server implements the following capabilities of the language server protocol
- Semantic Selection for semantic selection for one or multiple cursor positions.
- [Goto Definition](https://microsoft.github.io/language-server-protocol/specification#textDocument_definition) for $ref references in JSON schemas
- [Diagnostics (Validation)](https://microsoft.github.io/language-server-protocol/specification#textDocument_publishDiagnostics) are pushed for all open documents
- - syntax errors
- - structural validation based on the document's [JSON schema](http://json-schema.org/).
+ - syntax errors
+ - structural validation based on the document's [JSON schema](http://json-schema.org/).
In order to load JSON schemas, the JSON server uses NodeJS `http` and `fs` modules. For all other features, the JSON server only relies on the documents and settings provided by the client through the LSP.
-### Client requirements:
+### Client requirements
The JSON language server expects the client to only send requests and notifications for documents of language id `json` and `jsonc`.
@@ -56,8 +57,8 @@ Clients may send a `workspace/didChangeConfiguration` notification to notify the
The server supports the following settings:
- http
- - `proxy`: The URL of the proxy server to use when fetching schema. When undefined or empty, no proxy is used.
- - `proxyStrictSSL`: Whether the proxy server certificate should be verified against the list of supplied CAs.
+ - `proxy`: The URL of the proxy server to use when fetching schema. When undefined or empty, no proxy is used.
+ - `proxyStrictSSL`: Whether the proxy server certificate should be verified against the list of supplied CAs.
- json
- `format`
@@ -72,6 +73,7 @@ The server supports the following settings:
- `resultLimit`: The max number of color decorators and outline symbols to be computed (for performance reasons)
- `jsonFoldingLimit`: The max number of folding ranges to be computed for json documents (for performance reasons)
- `jsoncFoldingLimit`: The max number of folding ranges to be computed for jsonc documents (for performance reasons)
+
```json
{
"http": {
@@ -103,6 +105,7 @@ The server supports the following settings:
[JSON schemas](http://json-schema.org/) are essential for code assist, hovers, color decorators to work and are required for structural validation.
To find the schema for a given JSON document, the server uses the following mechanisms:
+
- JSON documents can define the schema URL using a `$schema` property
- The settings define a schema association based on the documents URL. Settings can either associate a schema URL to a file or path pattern, and they can directly provide a schema.
- Additionally, schema associations can also be provided by a custom 'schemaAssociations' configuration call.
@@ -115,9 +118,9 @@ The `initializationOptions.handledSchemaProtocols` initialization option defines
```ts
let clientOptions: LanguageClientOptions = {
- initializationOptions: {
- handledSchemaProtocols: ['file'] // language server should only try to load file URLs
- }
+ initializationOptions: {
+ handledSchemaProtocols: ['file'] // language server should only try to load file URLs
+ }
...
}
```
@@ -132,6 +135,7 @@ If `handledSchemaProtocols` is not set, the JSON language server will load the f
Requests for schemas with URLs not handled by the server are forwarded to the client through an LSP request. This request is a JSON language server-specific, non-standardized, extension to the LSP.
Request:
+
- method: 'vscode/content'
- params: `string` - The schema URL to request.
- response: `string` - The content of the schema with the given URL
@@ -146,6 +150,7 @@ The server will, as a response, clear the schema content from the cache and relo
In addition to the settings, schemas associations can also be provided through a notification from the client to the server. This notification is a JSON language server-specific, non-standardized, extension to the LSP.
Notification:
+
- method: 'json/schemaAssociations'
- params: `ISchemaAssociations` or `ISchemaAssociation[]` defined as follows
@@ -183,11 +188,14 @@ interface ISchemaAssociation {
}
```
+
`ISchemaAssociations`
- - keys: a file names or file path (separated by `/`). `*` can be used as a wildcard.
- - values: An array of schema URLs
+
+- keys: a file names or file path (separated by `/`). `*` can be used as a wildcard.
+- values: An array of schema URLs
Notification:
+
- method: 'json/schemaContent'
- params: `string` the URL of the schema that has changed.
@@ -226,6 +234,7 @@ The source code of the JSON language server can be found in the [VSCode reposito
File issues and pull requests in the [VSCode GitHub Issues](https://github.com/microsoft/vscode/issues). See the document [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute) on how to build and run from source.
Most of the functionality of the server is located in libraries:
+
- [jsonc-parser](https://github.com/microsoft/node-jsonc-parser) contains the JSON parser and scanner.
- [vscode-json-languageservice](https://github.com/microsoft/vscode-json-languageservice) contains the implementation of all features as a re-usable library.
- [vscode-languageserver-node](https://github.com/microsoft/vscode-languageserver-node) contains the implementation of language server for NodeJS.
diff --git a/extensions/json-language-features/server/package.json b/extensions/json-language-features/server/package.json
index b0012a72816..8d100ef9087 100644
--- a/extensions/json-language-features/server/package.json
+++ b/extensions/json-language-features/server/package.json
@@ -12,11 +12,11 @@
},
"main": "./out/node/jsonServerMain",
"dependencies": {
- "@vscode/l10n": "^0.0.14",
+ "@vscode/l10n": "^0.0.16",
"jsonc-parser": "^3.2.0",
"request-light": "^0.7.0",
- "vscode-json-languageservice": "^5.3.5",
- "vscode-languageserver": "^8.2.0-next.1",
+ "vscode-json-languageservice": "^5.3.6",
+ "vscode-languageserver": "^8.2.0-next.3",
"vscode-uri": "^3.0.7"
},
"devDependencies": {
diff --git a/extensions/json-language-features/server/src/jsonServer.ts b/extensions/json-language-features/server/src/jsonServer.ts
index 0282e6fa939..36ca0dc591d 100644
--- a/extensions/json-language-features/server/src/jsonServer.ts
+++ b/extensions/json-language-features/server/src/jsonServer.ts
@@ -6,7 +6,7 @@
import {
Connection,
TextDocuments, InitializeParams, InitializeResult, NotificationType, RequestType,
- DocumentRangeFormattingRequest, Disposable, ServerCapabilities, TextDocumentSyncKind, TextEdit, DocumentFormattingRequest, TextDocumentIdentifier, FormattingOptions, Diagnostic
+ DocumentRangeFormattingRequest, Disposable, ServerCapabilities, TextDocumentSyncKind, TextEdit, DocumentFormattingRequest, TextDocumentIdentifier, FormattingOptions, Diagnostic, CodeAction, CodeActionKind
} from 'vscode-languageserver';
import { runSafe, runSafeAsync } from './utils/runner';
@@ -14,6 +14,7 @@ import { DiagnosticsSupport, registerDiagnosticsPullSupport, registerDiagnostics
import { TextDocument, JSONDocument, JSONSchema, getLanguageService, DocumentLanguageSettings, SchemaConfiguration, ClientCapabilities, Range, Position, SortOptions } from 'vscode-json-languageservice';
import { getLanguageModelCache } from './languageModelCache';
import { Utils, URI } from 'vscode-uri';
+import * as l10n from '@vscode/l10n';
type ISchemaAssociations = Record;
@@ -188,7 +189,8 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
documentSelector: null,
interFileDependencies: false,
workspaceDiagnostics: false
- }
+ },
+ codeActionProvider: true
};
return { capabilities };
@@ -424,6 +426,21 @@ export function startServer(connection: Connection, runtime: RuntimeEnvironment)
}, [], `Error while computing document symbols for ${documentSymbolParams.textDocument.uri}`, token);
});
+ connection.onCodeAction((codeActionParams, token) => {
+ return runSafeAsync(runtime, async () => {
+ const document = documents.get(codeActionParams.textDocument.uri);
+ if (document) {
+ const sortCodeAction = CodeAction.create('Sort JSON', CodeActionKind.Source.concat('.sort', '.json'));
+ sortCodeAction.command = {
+ command: 'json.sort',
+ title: l10n.t('Sort JSON')
+ };
+ return [sortCodeAction];
+ }
+ return [];
+ }, [], `Error while computing code actions for ${codeActionParams.textDocument.uri}`, token);
+ });
+
function onFormat(textDocument: TextDocumentIdentifier, range: Range | undefined, options: FormattingOptions): TextEdit[] {
options.keepLines = keepLinesEnabled;
diff --git a/extensions/json-language-features/server/yarn.lock b/extensions/json-language-features/server/yarn.lock
index 48f16a0f42f..c433012b1a3 100644
--- a/extensions/json-language-features/server/yarn.lock
+++ b/extensions/json-language-features/server/yarn.lock
@@ -12,15 +12,10 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/l10n@^0.0.13":
- version "0.0.13"
- resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.13.tgz#f51ff130b8c98f189476c5f812d214b8efb09590"
- integrity sha512-A3uY356uOU9nGa+TQIT/i3ziWUgJjVMUrGGXSrtRiTwklyCFjGVWIOHoEIHbJpiyhDkJd9kvIWUOfXK1IkK8XQ==
-
-"@vscode/l10n@^0.0.14":
- version "0.0.14"
- resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.14.tgz#431e5814c35c3cb11ee21873bc70a4b0fbf90fcf"
- integrity sha512-/yrv59IEnmh655z1oeDnGcvMYwnEzNzHLgeYcQCkhYX0xBvYWrAuefoiLcPBUkMpJsb46bqQ6Yv4pwTTQ4d3Qg==
+"@vscode/l10n@^0.0.16":
+ version "0.0.16"
+ resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.16.tgz#f075db346d0b08419a12540171b230bd803c42be"
+ integrity sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==
jsonc-parser@^3.2.0:
version "3.2.0"
@@ -32,51 +27,51 @@ request-light@^0.7.0:
resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.7.0.tgz#885628bb2f8040c26401ebf258ec51c4ae98ac2a"
integrity sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==
-vscode-json-languageservice@^5.3.5:
- version "5.3.5"
- resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-5.3.5.tgz#20acd827e13ea4bdeb9976df84ec2bfbb2452c73"
- integrity sha512-DasT+bKtpaS2rTPEB4VMROnvO1WES2KD8RZZxXbumnk9sk5wco10VdB6sJgTlsKQN14tHQLZDXuHnSoSAlE8LQ==
+vscode-json-languageservice@^5.3.6:
+ version "5.3.6"
+ resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-5.3.6.tgz#8cbe39dfdf29e7f7e97c9b6966b76031991290f6"
+ integrity sha512-P4kthBi3GMLKi7Lmp24nkKHAWxbFfCsIDBPlMrK1Tag1aqbl3l60UferDkfAasupDVBM2dekbArzGycUjw8OHA==
dependencies:
- "@vscode/l10n" "^0.0.13"
+ "@vscode/l10n" "^0.0.16"
jsonc-parser "^3.2.0"
vscode-languageserver-textdocument "^1.0.8"
vscode-languageserver-types "^3.17.3"
vscode-uri "^3.0.7"
-vscode-jsonrpc@8.2.0-next.0:
- version "8.2.0-next.0"
- resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.0.tgz#41409413c8cebf10f2f1b7cc87e330f0e292814c"
- integrity sha512-13jYzaFQpTz5qQ2P+l5c/iTVsj1wUpflP0CR/v4XaEpM0oToLEXZBTcuuox1WaGIbu3Av3xxmGNU4Hydl1iNKg==
+vscode-jsonrpc@8.2.0-next.2:
+ version "8.2.0-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz#09d72832353fc7fb43b33c9c68b083907f6a8a68"
+ integrity sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==
-vscode-languageserver-protocol@3.17.4-next.1:
- version "3.17.4-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.1.tgz#a15480e1bc663853ae90ded226efafc5ab333616"
- integrity sha512-qrK4BycgPR/+nkRN9PRVTblkLp+kUPUmAgF6rDhFzZIPXW4/MqWwFUT8uswIMGdlTPPgCEkFO/AYEZK1fDXODg==
+vscode-languageserver-protocol@3.17.4-next.3:
+ version "3.17.4-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz#7d1d4fcaaa3213a8f2b8a6f1efa8187163251b7c"
+ integrity sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==
dependencies:
- vscode-jsonrpc "8.2.0-next.0"
- vscode-languageserver-types "3.17.4-next.0"
+ vscode-jsonrpc "8.2.0-next.2"
+ vscode-languageserver-types "3.17.4-next.2"
vscode-languageserver-textdocument@^1.0.8:
version "1.0.8"
resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz#9eae94509cbd945ea44bca8dcfe4bb0c15bb3ac0"
integrity sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==
-vscode-languageserver-types@3.17.4-next.0:
- version "3.17.4-next.0"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.0.tgz#4b5238d21cceaeb836d36a05d23c61a8c0238de2"
- integrity sha512-2FPKboHnT04xYjfM8JpJVBz4a/tryMw58jmzucaabZMZN5hzoFBrhc97jNG4n6edr9JUb9+QSwwcAcYpDTAoag==
+vscode-languageserver-types@3.17.4-next.2:
+ version "3.17.4-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz#4099ff39b38edbd2680df13bfb1c05f0c07bfe8d"
+ integrity sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==
vscode-languageserver-types@^3.17.3:
version "3.17.3"
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz#72d05e47b73be93acb84d6e311b5786390f13f64"
integrity sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==
-vscode-languageserver@^8.2.0-next.1:
- version "8.2.0-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.2.0-next.1.tgz#ad2558d74392b1cfaccd427febe9a368fc328f8b"
- integrity sha512-994AXMKBijzjlnpf8p9M+ntsNJDjR8pr55NJPYxKjy/nUhVkg962dAomelH6Z94401kBZmSbfP/K/20cB54aFA==
+vscode-languageserver@^8.2.0-next.3:
+ version "8.2.0-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-8.2.0-next.3.tgz#72e4998392260173fb0c35d2d556fb4015f56ce3"
+ integrity sha512-fqHRwcIRoxfKke7iLDSeUmdo3uk7o/uWNn/44xdWa4urdhsvpTZ5c1GsL1EX4TAvdDg0qeXy89NBZ5Gld2DkgQ==
dependencies:
- vscode-languageserver-protocol "3.17.4-next.1"
+ vscode-languageserver-protocol "3.17.4-next.3"
vscode-uri@^3.0.7:
version "3.0.7"
diff --git a/extensions/json-language-features/yarn.lock b/extensions/json-language-features/yarn.lock
index 98083a9489f..1ea64055bdd 100644
--- a/extensions/json-language-features/yarn.lock
+++ b/extensions/json-language-features/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -55,66 +80,100 @@
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -126,39 +185,74 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -170,15 +264,30 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/extension-telemetry@^0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -187,22 +296,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -236,6 +347,11 @@ brace-expansion@^2.0.1:
dependencies:
balanced-match "^1.0.0"
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -260,7 +376,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -272,17 +388,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -300,6 +416,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -317,6 +445,23 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
@@ -343,29 +488,57 @@ minimatch@^5.1.0:
dependencies:
brace-expansion "^2.0.1"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
request-light@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/request-light/-/request-light-0.7.0.tgz#885628bb2f8040c26401ebf258ec51c4ae98ac2a"
integrity sha512-lMbBMrDoxgsyO+yB3sDcrDuX85yYt7sS8BfQd11jtbW/z5ZWgLZRcEGLsLoYw7I0WSUGQBs8CC8ScIxkTX1+6Q==
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@^7.3.7:
+semver@^7.3.7, semver@^7.5.1, semver@^7.5.3:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
-shimmer@^1.1.0, shimmer@^1.2.0:
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -375,6 +548,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tslib@^2.2.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
@@ -385,32 +563,32 @@ uuid@^8.3.0:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-vscode-jsonrpc@8.2.0-next.0:
- version "8.2.0-next.0"
- resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.0.tgz#41409413c8cebf10f2f1b7cc87e330f0e292814c"
- integrity sha512-13jYzaFQpTz5qQ2P+l5c/iTVsj1wUpflP0CR/v4XaEpM0oToLEXZBTcuuox1WaGIbu3Av3xxmGNU4Hydl1iNKg==
+vscode-jsonrpc@8.2.0-next.2:
+ version "8.2.0-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz#09d72832353fc7fb43b33c9c68b083907f6a8a68"
+ integrity sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==
-vscode-languageclient@^8.2.0-next.1:
- version "8.2.0-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.2.0-next.1.tgz#a3f98b80cfa3225fde0583aa6a5c9b20219fa37e"
- integrity sha512-oITaqHQ10PM3zXCUu/104wriMeDutXMkQXMaRBWh1jKihcNcUBLC/os7RhqiVGypY0nl+F0pwStAf4Koc8inaw==
+vscode-languageclient@^8.2.0-next.3:
+ version "8.2.0-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageclient/-/vscode-languageclient-8.2.0-next.3.tgz#a5086f451a679ce77106d8fd1e05c8cbf8e9b886"
+ integrity sha512-Ojo6L2cb7GSiyD864k8vGb9fHxBdZeciHQQOF595C3IDHWg0w4KQ7iN7qGWVdl4wDNwlGTX3wWZawGfPTxnrPQ==
dependencies:
minimatch "^5.1.0"
semver "^7.3.7"
- vscode-languageserver-protocol "3.17.4-next.1"
+ vscode-languageserver-protocol "3.17.4-next.3"
-vscode-languageserver-protocol@3.17.4-next.1:
- version "3.17.4-next.1"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.1.tgz#a15480e1bc663853ae90ded226efafc5ab333616"
- integrity sha512-qrK4BycgPR/+nkRN9PRVTblkLp+kUPUmAgF6rDhFzZIPXW4/MqWwFUT8uswIMGdlTPPgCEkFO/AYEZK1fDXODg==
+vscode-languageserver-protocol@3.17.4-next.3:
+ version "3.17.4-next.3"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz#7d1d4fcaaa3213a8f2b8a6f1efa8187163251b7c"
+ integrity sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==
dependencies:
- vscode-jsonrpc "8.2.0-next.0"
- vscode-languageserver-types "3.17.4-next.0"
+ vscode-jsonrpc "8.2.0-next.2"
+ vscode-languageserver-types "3.17.4-next.2"
-vscode-languageserver-types@3.17.4-next.0:
- version "3.17.4-next.0"
- resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.0.tgz#4b5238d21cceaeb836d36a05d23c61a8c0238de2"
- integrity sha512-2FPKboHnT04xYjfM8JpJVBz4a/tryMw58jmzucaabZMZN5hzoFBrhc97jNG4n6edr9JUb9+QSwwcAcYpDTAoag==
+vscode-languageserver-types@3.17.4-next.2:
+ version "3.17.4-next.2"
+ resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz#4099ff39b38edbd2680df13bfb1c05f0c07bfe8d"
+ integrity sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==
yallist@^4.0.0:
version "4.0.0"
diff --git a/extensions/markdown-basics/cgmanifest.json b/extensions/markdown-basics/cgmanifest.json
index bb88d5a8bf8..8dcb43d123f 100644
--- a/extensions/markdown-basics/cgmanifest.json
+++ b/extensions/markdown-basics/cgmanifest.json
@@ -33,7 +33,7 @@
"git": {
"name": "microsoft/vscode-markdown-tm-grammar",
"repositoryUrl": "https://github.com/microsoft/vscode-markdown-tm-grammar",
- "commitHash": "c635942289ebf40954e69cf3637aac906465ade8"
+ "commitHash": "0a4b23580308fdcfb4ab7b526e3e13ba17d436fb"
}
},
"license": "MIT",
diff --git a/extensions/markdown-basics/package.json b/extensions/markdown-basics/package.json
index 9021acac872..52588bbd362 100644
--- a/extensions/markdown-basics/package.json
+++ b/extensions/markdown-basics/package.json
@@ -81,7 +81,11 @@
"meta.embedded.block.typescriptreact": "typescriptreact",
"meta.embedded.block.csharp": "csharp",
"meta.embedded.block.fsharp": "fsharp"
- }
+ },
+ "unbalancedBracketScopes": [
+ "markup.underline.link.markdown",
+ "punctuation.definition.list.begin.markdown"
+ ]
}
],
"snippets": [
diff --git a/extensions/markdown-basics/syntaxes/markdown.tmLanguage.json b/extensions/markdown-basics/syntaxes/markdown.tmLanguage.json
index dcfa85d6e93..3f96e33b010 100644
--- a/extensions/markdown-basics/syntaxes/markdown.tmLanguage.json
+++ b/extensions/markdown-basics/syntaxes/markdown.tmLanguage.json
@@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
- "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/c635942289ebf40954e69cf3637aac906465ade8",
+ "version": "https://github.com/microsoft/vscode-markdown-tm-grammar/commit/0a4b23580308fdcfb4ab7b526e3e13ba17d436fb",
"name": "Markdown",
"scopeName": "text.html.markdown",
"patterns": [
@@ -2989,7 +2989,7 @@
"name": "punctuation.definition.link.title.end.markdown"
}
},
- "match": "(?= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -126,39 +185,74 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -207,6 +301,11 @@
resolved "https://registry.yarnpkg.com/@types/picomatch/-/picomatch-2.3.0.tgz#75db5e75a713c5a83d5b76780c3da84a82806003"
integrity sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
"@types/trusted-types@*":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756"
@@ -222,21 +321,31 @@
resolved "https://registry.yarnpkg.com/@types/vscode-webview/-/vscode-webview-1.57.0.tgz#bad5194d45ae8d03afc1c0f67f71ff5e7a243bbf"
integrity sha512-x3Cb/SMa1IwRHfSvKaZDZOTh4cNoG505c3NjTqGlMC082m++x/ETUmtYniDsw6SSmYzZXO8KBNhYxR0+VqymqA==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
"@vscode/l10n@^0.0.10":
version "0.0.10"
resolved "https://registry.yarnpkg.com/@vscode/l10n/-/l10n-0.0.10.tgz#9c513107c690c0dd16e3ec61e453743de15ebdb0"
integrity sha512-E1OCmDcDWa0Ya7vtSjp/XfHFGqYJfh+YPC1RkATU71fTac+j1JjCcB3qwSzmlKAighx2WxhLlfhS0RwAN++PFQ==
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
+
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -244,22 +353,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
argparse@^2.0.1:
version "2.0.1"
@@ -299,6 +410,11 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -328,7 +444,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -340,17 +456,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
dompurify@^3.0.5:
version "3.0.5"
@@ -378,6 +494,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
highlight.js@^11.8.0:
version "11.8.0"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.8.0.tgz#966518ea83257bae2e7c9a48596231856555bb65"
@@ -400,6 +528,23 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
linkify-it@^3.0.1:
version "3.0.3"
resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-3.0.3.tgz#a98baf44ce45a550efb4d49c769d07524cc2fa2e"
@@ -459,6 +604,11 @@ minimatch@^3.0.4:
dependencies:
brace-expansion "^1.1.7"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
morphdom@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/morphdom/-/morphdom-2.6.1.tgz#e868e24f989fa3183004b159aed643e628b4306e"
@@ -469,24 +619,47 @@ ms@2.1.2:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@^7.3.5:
+semver@^7.3.5, semver@^7.5.1, semver@^7.5.3:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
dependencies:
lru-cache "^6.0.0"
-shimmer@^1.1.0, shimmer@^1.2.0:
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -496,6 +669,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tslib@^2.2.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
diff --git a/extensions/media-preview/README.md b/extensions/media-preview/README.md
index 48428a684bf..8163e017143 100644
--- a/extensions/media-preview/README.md
+++ b/extensions/media-preview/README.md
@@ -16,7 +16,6 @@ This extension provides basic preview for images, audio and video files.
- `.webp`
- `.avif`
-
### Supported audio formats
- `.mp3`
diff --git a/extensions/media-preview/package.json b/extensions/media-preview/package.json
index 3107d9d60bf..6c1b46220b9 100644
--- a/extensions/media-preview/package.json
+++ b/extensions/media-preview/package.json
@@ -126,7 +126,7 @@
"watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose"
},
"dependencies": {
- "@vscode/extension-telemetry": "0.7.5",
+ "@vscode/extension-telemetry": "^0.8.4",
"vscode-uri": "^3.0.6"
},
"repository": {
diff --git a/extensions/media-preview/yarn.lock b/extensions/media-preview/yarn.lock
index 971c4c2c50a..36b652d7d7b 100644
--- a/extensions/media-preview/yarn.lock
+++ b/extensions/media-preview/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -55,66 +80,100 @@
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -126,54 +185,104 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -182,22 +291,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -219,6 +330,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -243,7 +359,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -255,17 +371,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -283,6 +399,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -300,6 +428,30 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -312,17 +464,52 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.52.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -332,6 +519,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tslib@^2.2.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
@@ -346,3 +538,8 @@ vscode-uri@^3.0.6:
version "3.0.6"
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.6.tgz#5e6e2e1a4170543af30151b561a41f71db1d6f91"
integrity sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/extensions/merge-conflict/package.json b/extensions/merge-conflict/package.json
index 00a7136cff2..751e85c3da2 100644
--- a/extensions/merge-conflict/package.json
+++ b/extensions/merge-conflict/package.json
@@ -166,7 +166,7 @@
}
},
"dependencies": {
- "@vscode/extension-telemetry": "0.7.5"
+ "@vscode/extension-telemetry": "^0.8.4"
},
"devDependencies": {
"@types/node": "18.x"
diff --git a/extensions/merge-conflict/yarn.lock b/extensions/merge-conflict/yarn.lock
index f07c9a13701..d214c5e4447 100644
--- a/extensions/merge-conflict/yarn.lock
+++ b/extensions/merge-conflict/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -55,66 +80,100 @@
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -126,39 +185,74 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.3.0.tgz#27c6f776ac3c1c616651e506a89f438a0ed6a055"
- integrity sha512-YveTnGNsFFixTKJz09Oi4zYkiLT5af3WpZDu4aIUM7xX+2bHAkOJayFTVQd6zB8kkWPpbua4Ha6Ql00grdLlJQ==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.8.0", "@opentelemetry/core@^1.0.1":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.8.0.tgz#cca18594dd48ded6dc0d08c7e789c79af0315934"
- integrity sha512-6SDjwBML4Am0AQmy7z1j6HGrWDgeK8awBRUvl1PGw6HayViMk4QpnUXvv4HTHisecgVBy43NE/cstWprm8tIfw==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.8.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.8.0":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.8.0.tgz#260be9742cf7bceccc0db928d8ca8d64391acfe3"
- integrity sha512-KSyMH6Jvss/PFDy16z5qkCK0ERlpyqixb1xwb73wLMvVq+j7i89lobDjw3JkpCcd1Ws0J6jAI4fw28Zufj2ssg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.8.0"
- "@opentelemetry/semantic-conventions" "1.8.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.8.0.tgz#70713aab90978a16dea188c8335209f857be7384"
- integrity sha512-iH41m0UTddnCKJzZx3M85vlhKzRcmT48pUeBbnzsGrq4nIay1oWVHKM5nhB5r8qRDGvd/n7f/YLCXClxwM0tvA==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.8.0"
- "@opentelemetry/resources" "1.8.0"
- "@opentelemetry/semantic-conventions" "1.8.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.8.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.8.0.tgz#fe2aa90e6df050a11cd57f5c0f47b0641fd2cad3"
- integrity sha512-TYh1MRcm4JnvpqtqOwT9WYaBYY4KERHdToxs/suDTLviGRsQkIjS5yYROTYTSJQUnYLOn/TuOh5GoMwfLSU+Ew==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -170,15 +264,30 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -187,22 +296,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -224,6 +335,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -248,7 +364,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -260,17 +376,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -288,6 +404,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -305,6 +433,30 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -317,17 +469,52 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.52.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -337,6 +524,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tslib@^2.2.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
@@ -346,3 +538,8 @@ uuid@^8.3.0:
version "8.3.2"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/extensions/microsoft-authentication/extension-browser.webpack.config.js b/extensions/microsoft-authentication/extension-browser.webpack.config.js
index c32a44124a2..2513c7d0f9c 100644
--- a/extensions/microsoft-authentication/extension-browser.webpack.config.js
+++ b/extensions/microsoft-authentication/extension-browser.webpack.config.js
@@ -20,9 +20,6 @@ module.exports = withBrowserDefaults({
entry: {
extension: './src/extension.ts',
},
- externals: {
- 'keytar': 'commonjs keytar',
- },
resolve: {
alias: {
'./node/crypto': path.resolve(__dirname, 'src/browser/crypto'),
diff --git a/extensions/microsoft-authentication/extension.webpack.config.js b/extensions/microsoft-authentication/extension.webpack.config.js
index a513ac5c3b5..45600607fc5 100644
--- a/extensions/microsoft-authentication/extension.webpack.config.js
+++ b/extensions/microsoft-authentication/extension.webpack.config.js
@@ -12,9 +12,6 @@ const withDefaults = require('../shared.webpack.config');
module.exports = withDefaults({
context: __dirname,
entry: {
- extension: './src/extension.ts',
- },
- externals: {
- 'keytar': 'commonjs keytar'
+ extension: './src/extension.ts'
}
});
diff --git a/extensions/microsoft-authentication/package.json b/extensions/microsoft-authentication/package.json
index c0ed977db77..8747c4a1df8 100644
--- a/extensions/microsoft-authentication/package.json
+++ b/extensions/microsoft-authentication/package.json
@@ -118,7 +118,7 @@
"dependencies": {
"node-fetch": "2.6.7",
"@azure/ms-rest-azure-env": "^2.0.0",
- "@vscode/extension-telemetry": "0.7.5"
+ "@vscode/extension-telemetry": "^0.8.4"
},
"repository": {
"type": "git",
diff --git a/extensions/microsoft-authentication/yarn.lock b/extensions/microsoft-authentication/yarn.lock
index 13322694966..68b4aa00b84 100644
--- a/extensions/microsoft-authentication/yarn.lock
+++ b/extensions/microsoft-authentication/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -60,66 +85,100 @@
resolved "https://registry.yarnpkg.com/@azure/ms-rest-azure-env/-/ms-rest-azure-env-2.0.0.tgz#45809f89763a480924e21d3c620cd40866771625"
integrity sha512-dG76W7ElfLi+fbTjnZVGj+M9e0BIEJmRxU6fHaUQ12bZBe8EJKYb2GV50YWNaP2uJiVQ5+7nXEVj1VN1UQtaEw==
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -131,39 +190,74 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -202,20 +296,35 @@
dependencies:
"@types/node" "*"
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
"@types/uuid@8.0.0":
version "8.0.0"
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.0.0.tgz#165aae4819ad2174a17476dbe66feebd549556c0"
integrity sha512-xSQfNcvOiE5f9dyd4Kzxbof1aTrLobL278pGLKOZI6esGfZ7ts9Ka16CzIN6Y8hFHE1C7jIBZokULhK1bOgjRw==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -224,22 +333,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -261,6 +372,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -285,7 +401,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -297,17 +413,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -334,6 +450,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -351,6 +479,30 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
mime-db@1.44.0:
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
@@ -363,6 +515,11 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.44.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
@@ -375,12 +532,42 @@ node-fetch@2.6.7:
dependencies:
whatwg-url "^5.0.0"
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -390,6 +577,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tr46@~0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
@@ -417,3 +609,8 @@ whatwg-url@^5.0.0:
dependencies:
tr46 "~0.0.3"
webidl-conversions "^3.0.0"
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/extensions/npm/README.md b/extensions/npm/README.md
index 82730c7e82a..296bf03f73e 100644
--- a/extensions/npm/README.md
+++ b/extensions/npm/README.md
@@ -28,7 +28,7 @@ The extension supports running a script as a task from a folder in the Explorer.
### Others
-The extension fetches data from https://registry.npmjs.org and https://registry.bower.io to provide auto-completion and information on hover features on npm dependencies.
+The extension fetches data from and to provide auto-completion and information on hover features on npm dependencies.
## Settings
@@ -40,5 +40,3 @@ The extension fetches data from https://registry.npmjs.org and https://registry.
- `npm.scriptExplorerAction` - The default click action: `open` or `run`, the default is `open`.
- `npm.enableRunFromFolder` - Enable running npm scripts from the context menu of folders in Explorer, the default is `false`.
- `npm.scriptCodeLens.enable` - Enable/disable the code lenses to run a script, the default is `false`.
-
-
diff --git a/extensions/package.json b/extensions/package.json
index 02a1f822e7d..2b68f668d5b 100644
--- a/extensions/package.json
+++ b/extensions/package.json
@@ -4,7 +4,7 @@
"license": "MIT",
"description": "Dependencies shared by all extensions",
"dependencies": {
- "typescript": "^5.2.1-rc"
+ "typescript": "^5.2.2"
},
"scripts": {
"postinstall": "node ./postinstall.mjs"
diff --git a/extensions/php-language-features/README.md b/extensions/php-language-features/README.md
index c00be6a964e..e0d28f5254f 100644
--- a/extensions/php-language-features/README.md
+++ b/extensions/php-language-features/README.md
@@ -4,4 +4,4 @@
## Features
-See [PHP in Visual Studio Code](https://code.visualstudio.com/docs/languages/php) to learn about the features of this extension.
\ No newline at end of file
+See [PHP in Visual Studio Code](https://code.visualstudio.com/docs/languages/php) to learn about the features of this extension.
diff --git a/extensions/php/snippets/php.code-snippets b/extensions/php/snippets/php.code-snippets
index 5cc31f19661..3be8a89eb29 100644
--- a/extensions/php/snippets/php.code-snippets
+++ b/extensions/php/snippets/php.code-snippets
@@ -21,7 +21,7 @@
},
"$a <=> $b": {
"prefix": "spaceship",
- "body": "(${1:$$a} <=> ${2:$$b} === ${3|0,1,-1|})",
+ "body": "(${1:\\$a} <=> ${2:\\$b} === ${3|0,1,-1|})",
"description": "Spaceship equality check"
},
"attribute": {
diff --git a/extensions/shared.webpack.config.js b/extensions/shared.webpack.config.js
index 5a9ccd93d30..19e76a9d35f 100644
--- a/extensions/shared.webpack.config.js
+++ b/extensions/shared.webpack.config.js
@@ -60,6 +60,7 @@ function withNodeDefaults(/**@type WebpackConfig & { context: string }*/extConfi
externals: {
'vscode': 'commonjs vscode', // ignored because it doesn't exist,
'applicationinsights-native-metrics': 'commonjs applicationinsights-native-metrics', // ignored because we don't ship native module
+ '@azure/functions-core': 'commonjs azure/functions-core', // optioinal dependency of appinsights that we don't use
'@opentelemetry/tracing': 'commonjs @opentelemetry/tracing', // ignored because we don't ship this module
'@opentelemetry/instrumentation': 'commonjs @opentelemetry/instrumentation', // ignored because we don't ship this module
'@azure/opentelemetry-instrumentation-azure-sdk': 'commonjs @azure/opentelemetry-instrumentation-azure-sdk', // ignored because we don't ship this module
@@ -138,11 +139,15 @@ function withBrowserDefaults(/**@type WebpackConfig & { context: string }*/extCo
},
},
]
+ }, {
+ test: /\.wasm$/,
+ type: 'asset/inline'
}]
},
externals: {
'vscode': 'commonjs vscode', // ignored because it doesn't exist,
'applicationinsights-native-metrics': 'commonjs applicationinsights-native-metrics', // ignored because we don't ship native module
+ '@azure/functions-core': 'commonjs azure/functions-core', // optioinal dependency of appinsights that we don't use
'@opentelemetry/tracing': 'commonjs @opentelemetry/tracing', // ignored because we don't ship this module
'@opentelemetry/instrumentation': 'commonjs @opentelemetry/instrumentation', // ignored because we don't ship this module
'@azure/opentelemetry-instrumentation-azure-sdk': 'commonjs @azure/opentelemetry-instrumentation-azure-sdk', // ignored because we don't ship this module
diff --git a/extensions/simple-browser/README.md b/extensions/simple-browser/README.md
index b4ecf7a4ad6..5121dc86e89 100644
--- a/extensions/simple-browser/README.md
+++ b/extensions/simple-browser/README.md
@@ -2,5 +2,4 @@
**Notice:** This extension is bundled with Visual Studio Code. It can be disabled but not uninstalled.
-Provides a very basic browser preview using an iframe embedded in a [webview](). This extension is primarily meant to be used by other extensions for showing simple web content.
-
+Provides a very basic browser preview using an iframe embedded in a [webviewW](). This extension is primarily meant to be used by other extensions for showing simple web content.
diff --git a/extensions/simple-browser/package.json b/extensions/simple-browser/package.json
index 79abe8e57cd..e86b8de070b 100644
--- a/extensions/simple-browser/package.json
+++ b/extensions/simple-browser/package.json
@@ -66,7 +66,7 @@
"watch-web": "npx webpack-cli --config extension-browser.webpack.config --mode none --watch --info-verbosity verbose"
},
"dependencies": {
- "@vscode/extension-telemetry": "0.7.5"
+ "@vscode/extension-telemetry": "^0.8.4"
},
"devDependencies": {
"@types/vscode-webview": "^1.57.0",
diff --git a/extensions/simple-browser/yarn.lock b/extensions/simple-browser/yarn.lock
index e57ce16ff44..d6ce34c9e21 100644
--- a/extensions/simple-browser/yarn.lock
+++ b/extensions/simple-browser/yarn.lock
@@ -17,7 +17,16 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
+ tslib "^2.2.0"
+
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,13 +42,21 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/core-util@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
@@ -48,6 +65,14 @@
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
+"@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
"@azure/logger@^1.0.0":
version "1.0.3"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
@@ -55,66 +80,100 @@
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
@@ -126,59 +185,109 @@
resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
+"@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
"@types/vscode-webview@^1.57.0":
version "1.57.0"
resolved "https://registry.yarnpkg.com/@types/vscode-webview/-/vscode-webview-1.57.0.tgz#bad5194d45ae8d03afc1c0f67f71ff5e7a243bbf"
integrity sha512-x3Cb/SMa1IwRHfSvKaZDZOTh4cNoG505c3NjTqGlMC082m++x/ETUmtYniDsw6SSmYzZXO8KBNhYxR0+VqymqA==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
agent-base@6:
version "6.0.2"
@@ -187,22 +296,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -224,6 +335,11 @@ asynckit@^0.4.0:
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -248,7 +364,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -260,17 +376,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -288,6 +404,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -305,6 +433,30 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
+lru-cache@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+ integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+ dependencies:
+ yallist "^4.0.0"
+
mime-db@1.52.0:
version "1.52.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
@@ -317,17 +469,52 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.52.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@^5.3.0, semver@^5.4.1:
version "5.7.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -337,6 +524,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tslib@^2.2.0:
version "2.4.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
@@ -351,3 +543,8 @@ vscode-codicons@^0.0.14:
version "0.0.14"
resolved "https://registry.yarnpkg.com/vscode-codicons/-/vscode-codicons-0.0.14.tgz#e0d05418e2e195564ff6f6a2199d70415911c18f"
integrity sha512-6CEH5KT9ct5WMw7n5dlX7rB8ya4CUI2FSq1Wk36XaW+c5RglFtAanUV0T+gvZVVFhl/WxfjTvFHq06Hz9c1SLA==
+
+yallist@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+ integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
diff --git a/extensions/theme-defaults/themes/dark_vs.json b/extensions/theme-defaults/themes/dark_vs.json
index 21af2d3cf3a..2b9f0d5a5ab 100644
--- a/extensions/theme-defaults/themes/dark_vs.json
+++ b/extensions/theme-defaults/themes/dark_vs.json
@@ -34,6 +34,7 @@
"meta.embedded",
"source.groovy.embedded",
"string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#D4D4D4"
diff --git a/extensions/theme-defaults/themes/hc_black.json b/extensions/theme-defaults/themes/hc_black.json
index 26dadd320a0..816fbf9395a 100644
--- a/extensions/theme-defaults/themes/hc_black.json
+++ b/extensions/theme-defaults/themes/hc_black.json
@@ -19,7 +19,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#FFFFFF"
diff --git a/extensions/theme-defaults/themes/hc_light.json b/extensions/theme-defaults/themes/hc_light.json
index fde5393f070..17c1af9ef34 100644
--- a/extensions/theme-defaults/themes/hc_light.json
+++ b/extensions/theme-defaults/themes/hc_light.json
@@ -3,7 +3,11 @@
"name": "Light High Contrast",
"tokenColors": [
{
- "scope": ["meta.embedded", "source.groovy.embedded"],
+ "scope": [
+ "meta.embedded",
+ "source.groovy.embedded",
+ "variable.legacy.builtin.python"
+ ],
"settings": {
"foreground": "#292929"
}
diff --git a/extensions/theme-defaults/themes/light_vs.json b/extensions/theme-defaults/themes/light_vs.json
index 301730e078e..5e2d5a7889e 100644
--- a/extensions/theme-defaults/themes/light_vs.json
+++ b/extensions/theme-defaults/themes/light_vs.json
@@ -38,7 +38,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#000000ff"
diff --git a/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json b/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json
index eeb4eeb6b88..3554c486209 100644
--- a/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json
+++ b/extensions/theme-kimbie-dark/themes/kimbie-dark-color-theme.json
@@ -64,7 +64,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#d3af86"
diff --git a/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json b/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json
index ea84bededd5..691680512a4 100644
--- a/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json
+++ b/extensions/theme-monokai-dimmed/themes/dimmed-monokai-color-theme.json
@@ -71,7 +71,8 @@
{
"scope": [
"meta.embedded",
- "source.groovy.embedded"
+ "source.groovy.embedded",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#C5C8C6"
diff --git a/extensions/theme-monokai/themes/monokai-color-theme.json b/extensions/theme-monokai/themes/monokai-color-theme.json
index 6489b0dd39c..9a510748714 100644
--- a/extensions/theme-monokai/themes/monokai-color-theme.json
+++ b/extensions/theme-monokai/themes/monokai-color-theme.json
@@ -111,7 +111,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#F8F8F2"
diff --git a/extensions/theme-quietlight/themes/quietlight-color-theme.json b/extensions/theme-quietlight/themes/quietlight-color-theme.json
index 9d55f2e362b..3705ed48608 100644
--- a/extensions/theme-quietlight/themes/quietlight-color-theme.json
+++ b/extensions/theme-quietlight/themes/quietlight-color-theme.json
@@ -10,7 +10,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#333333"
diff --git a/extensions/theme-red/themes/Red-color-theme.json b/extensions/theme-red/themes/Red-color-theme.json
index c139400dc56..233fd9e83da 100644
--- a/extensions/theme-red/themes/Red-color-theme.json
+++ b/extensions/theme-red/themes/Red-color-theme.json
@@ -70,7 +70,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#F8F8F8"
diff --git a/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json b/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json
index e10c6e67403..e67135a9d99 100644
--- a/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json
+++ b/extensions/theme-solarized-dark/themes/solarized-dark-color-theme.json
@@ -10,7 +10,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#839496"
diff --git a/extensions/theme-solarized-light/themes/solarized-light-color-theme.json b/extensions/theme-solarized-light/themes/solarized-light-color-theme.json
index 8b4074c9a07..d5f6dc11bf0 100644
--- a/extensions/theme-solarized-light/themes/solarized-light-color-theme.json
+++ b/extensions/theme-solarized-light/themes/solarized-light-color-theme.json
@@ -10,7 +10,8 @@
"scope": [
"meta.embedded",
"source.groovy.embedded",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
"foreground": "#657B83"
diff --git a/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json b/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json
index 8e24e6fe4de..b0bdf8e90a9 100644
--- a/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json
+++ b/extensions/theme-tomorrow-night-blue/themes/tomorrow-night-blue-color-theme.json
@@ -70,7 +70,8 @@
"meta.embedded",
"source.groovy.embedded",
"meta.jsx.children",
- "string meta.image.inline.markdown"
+ "string meta.image.inline.markdown",
+ "variable.legacy.builtin.python"
],
"settings": {
//"background": "#002451",
diff --git a/extensions/tunnel-forwarding/src/extension.ts b/extensions/tunnel-forwarding/src/extension.ts
index 3dd6fdfef19..f6ef85e71b1 100644
--- a/extensions/tunnel-forwarding/src/extension.ts
+++ b/extensions/tunnel-forwarding/src/extension.ts
@@ -25,7 +25,7 @@ const cliPath = process.env.VSCODE_FORWARDING_IS_DEV
? path.join(__dirname, '../../../cli/target/debug/code')
: path.join(
vscode.env.appRoot,
- process.platform === 'win32' ? '../../bin' : 'bin',
+ process.platform === 'darwin' ? 'bin' : '../../bin',
vscode.env.appQuality === 'stable' ? 'code-tunnel' : 'code-tunnel-insiders',
) + (process.platform === 'win32' ? '.exe' : '');
@@ -231,8 +231,8 @@ class TunnelProvider implements vscode.TunnelProvider {
];
this.logger.log('info', '[forwarding] starting CLI');
- const process = spawn(cliPath, args, { stdio: 'pipe' });
- this.state = { state: State.Starting, process };
+ const child = spawn(cliPath, args, { stdio: 'pipe', env: { ...process.env, NO_COLOR: '1' } });
+ this.state = { state: State.Starting, process: child };
const progressP = new DeferredPromise();
vscode.window.withProgress(
@@ -248,29 +248,29 @@ class TunnelProvider implements vscode.TunnelProvider {
);
let lastPortFormat: string | undefined;
- process.on('exit', status => {
+ child.on('exit', status => {
const msg = `[forwarding] exited with code ${status}`;
this.logger.log('info', msg);
progressP.complete(); // make sure to clear progress on unexpected exit
- if (this.isInStateWithProcess(process)) {
+ if (this.isInStateWithProcess(child)) {
this.state = { state: State.Error, error: msg };
}
});
- process.on('error', err => {
+ child.on('error', err => {
this.logger.log('error', `[forwarding] ${err}`);
progressP.complete(); // make sure to clear progress on unexpected exit
- if (this.isInStateWithProcess(process)) {
+ if (this.isInStateWithProcess(child)) {
this.state = { state: State.Error, error: String(err) };
}
});
- process.stdout
+ child.stdout
.pipe(splitNewLines())
.on('data', line => this.logger.log('info', `[forwarding] ${line}`))
.resume();
- process.stderr
+ child.stderr
.pipe(splitNewLines())
.on('data', line => {
try {
@@ -278,7 +278,7 @@ class TunnelProvider implements vscode.TunnelProvider {
if (l.port_format && l.port_format !== lastPortFormat) {
this.state = {
state: State.Active,
- portFormat: l.port_format, process,
+ portFormat: l.port_format, process: child,
cleanupTimeout: 'cleanupTimeout' in this.state ? this.state.cleanupTimeout : undefined,
};
progressP.complete();
@@ -290,8 +290,8 @@ class TunnelProvider implements vscode.TunnelProvider {
.resume();
await new Promise((resolve, reject) => {
- process.on('spawn', resolve);
- process.on('error', reject);
+ child.on('spawn', resolve);
+ child.on('error', reject);
});
}
}
diff --git a/extensions/tunnel-forwarding/src/split.ts b/extensions/tunnel-forwarding/src/split.ts
index 6e9d7474604..33ad055ac67 100644
--- a/extensions/tunnel-forwarding/src/split.ts
+++ b/extensions/tunnel-forwarding/src/split.ts
@@ -9,6 +9,8 @@ export const splitNewLines = () => new StreamSplitter('\n'.charCodeAt(0));
/**
* Copied and simplified from src\vs\base\node\nodeStreams.ts
+ *
+ * Exception: does not include the split character in the output.
*/
export class StreamSplitter extends Transform {
private buffer: Buffer | undefined;
@@ -31,7 +33,7 @@ export class StreamSplitter extends Transform {
break;
}
- this.push(this.buffer.subarray(offset, index + 1));
+ this.push(this.buffer.subarray(offset, index));
offset = index + 1;
}
diff --git a/extensions/typescript-basics/syntaxes/Readme.md b/extensions/typescript-basics/syntaxes/Readme.md
index 2f9c2b95ee2..fa05c28d970 100644
--- a/extensions/typescript-basics/syntaxes/Readme.md
+++ b/extensions/typescript-basics/syntaxes/Readme.md
@@ -1,6 +1,7 @@
The file `TypeScript.tmLanguage.json` and `TypeScriptReact.tmLanguage.json` are derived from [TypeScript.tmLanguage](https://github.com/microsoft/TypeScript-TmLanguage/blob/master/TypeScript.tmLanguage) and [TypeScriptReact.tmLanguage](https://github.com/microsoft/TypeScript-TmLanguage/blob/master/TypeScriptReact.tmLanguage).
To update to the latest version:
+
- `cd extensions/typescript` and run `npm run update-grammars`
- don't forget to run the integration tests at `./scripts/test-integration.sh`
diff --git a/extensions/typescript-language-features/package.json b/extensions/typescript-language-features/package.json
index 7c2e7c2c1c3..ea933eb5659 100644
--- a/extensions/typescript-language-features/package.json
+++ b/extensions/typescript-language-features/package.json
@@ -21,7 +21,8 @@
"restrictedConfigurations": [
"typescript.tsdk",
"typescript.tsserver.pluginPaths",
- "typescript.npm"
+ "typescript.npm",
+ "typescript.tsserver.nodePath"
]
}
},
@@ -33,13 +34,14 @@
"Programming Languages"
],
"dependencies": {
- "@vscode/extension-telemetry": "0.7.5",
- "jsonc-parser": "^3.2.0",
- "semver": "7.5.2",
- "vscode-tas-client": "^0.1.63",
+ "@vscode/extension-telemetry": "^0.8.4",
"@vscode/sync-api-client": "^0.7.2",
"@vscode/sync-api-common": "^0.7.2",
"@vscode/sync-api-service": "^0.7.3",
+ "@vscode/ts-package-manager": "^0.0.2",
+ "jsonc-parser": "^3.2.0",
+ "semver": "7.5.2",
+ "vscode-tas-client": "^0.1.63",
"vscode-uri": "^3.0.3"
},
"devDependencies": {
@@ -1131,7 +1133,7 @@
"typescript.tsserver.maxTsServerMemory": {
"type": "number",
"default": 3072,
- "description": "%configuration.tsserver.maxTsServerMemory%",
+ "markdownDescription": "%configuration.tsserver.maxTsServerMemory%",
"scope": "window"
},
"typescript.tsserver.experimental.enableProjectDiagnostics": {
@@ -1250,6 +1252,18 @@
"description": "%configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors%",
"scope": "window"
},
+ "typescript.tsserver.nodePath": {
+ "type": "string",
+ "description": "%configuration.tsserver.nodePath%",
+ "scope": "window"
+ },
+ "typescript.experimental.tsserver.web.typeAcquisition.enabled": {
+ "type": "boolean",
+ "default": false,
+ "description": "%configuration.experimental.tsserver.web.typeAcquisition.enabled%",
+ "scope": "window",
+ "tags": ["experimental"]
+ },
"typescript.preferGoToSourceDefinition": {
"type": "boolean",
"default": false,
diff --git a/extensions/typescript-language-features/package.nls.json b/extensions/typescript-language-features/package.nls.json
index 81260c405e1..c235219fef2 100644
--- a/extensions/typescript-language-features/package.nls.json
+++ b/extensions/typescript-language-features/package.nls.json
@@ -70,7 +70,7 @@
"configuration.tsserver.useSyntaxServer.always": "Use a lighter weight syntax server to handle all IntelliSense operations. This syntax server can only provide IntelliSense for opened files.",
"configuration.tsserver.useSyntaxServer.never": "Don't use a dedicated syntax server. Use a single server to handle all IntelliSense operations.",
"configuration.tsserver.useSyntaxServer.auto": "Spawn both a full server and a lighter weight server dedicated to syntax operations. The syntax server is used to speed up syntax operations and provide IntelliSense while projects are loading.",
- "configuration.tsserver.maxTsServerMemory": "The maximum amount of memory (in MB) to allocate to the TypeScript server process.",
+ "configuration.tsserver.maxTsServerMemory": "The maximum amount of memory (in MB) to allocate to the TypeScript server process. To use a memory limit greater than 4 GB, use `#typescript.tsserver.nodePath#` to run TS Server with a custom Node installation.",
"configuration.tsserver.experimental.enableProjectDiagnostics": "(Experimental) Enables project wide error reporting.",
"typescript.locale": "Sets the locale used to report JavaScript and TypeScript errors. Defaults to use VS Code's locale.",
"configuration.implicitProjectConfig.module": "Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.",
@@ -212,5 +212,21 @@
"configuration.suggest.classMemberSnippets.enabled": "Enable/disable snippet completions for class members.",
"configuration.suggest.objectLiteralMethodSnippets.enabled": "Enable/disable snippet completions for methods in object literals. Requires using TypeScript 4.7+ in the workspace.",
"configuration.tsserver.web.projectWideIntellisense.enabled": "Enable/disable project-wide IntelliSense on web. Requires that VS Code is running in a trusted context.",
- "configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors": "Suppresses semantic errors. This is needed when using external packages as these can't be included analyzed on web."
+ "configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors": "Suppresses semantic errors. This is needed when using external packages as these can't be included analyzed on web.",
+ "configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.",
+ "configuration.experimental.tsserver.web.typeAcquisition.enabled": "Enable/disable package acquisition on the web.",
+ "walkthroughs.nodejsWelcome.title": "Get started with JavaScript and Node.js",
+ "walkthroughs.nodejsWelcome.description": "Make the most of Visual Studio Code's first-class JavaScript experience.",
+ "walkthroughs.nodejsWelcome.downloadNode.forMacOrWindows.title": "Install Node.js",
+ "walkthroughs.nodejsWelcome.downloadNode.forMacOrWindows.description": "Node.js is an easy way to run JavaScript code. You can use it to quickly build command-line apps and servers. It also comes with npm, a package manager which makes reusing and sharing JavaScript code easy.\n[Install Node.js](https://nodejs.org/en/download/)",
+ "walkthroughs.nodejsWelcome.downloadNode.forLinux.title": "Install Node.js",
+ "walkthroughs.nodejsWelcome.downloadNode.forLinux.description": "Node.js is an easy way to run JavaScript code. You can use it to quickly build command-line apps and servers. It also comes with npm, a package manager which makes reusing and sharing JavaScript code easy.\n[Install Node.js](https://nodejs.org/en/download/package-manager/)",
+ "walkthroughs.nodejsWelcome.makeJsFile.title": "Create a JavaScript File",
+ "walkthroughs.nodejsWelcome.makeJsFile.description": "Let's write our first JavaScript file. We'll have to create a new file and save it with the ``.js`` extension at the end of the file name.\n[Create a JavaScript File](command:javascript-walkthrough.commands.createJsFile)",
+ "walkthroughs.nodejsWelcome.debugJsFile.title": "Run and Debug your JavaScript",
+ "walkthroughs.nodejsWelcome.debugJsFile.description": "Once you've installed Node.js, you can run JavaScript programs at a terminal by entering ``node your-file-name.js``\nAnother easy way to run Node.js programs is by using VS Code's debugger which lets you run your code, pause at different points, and help you understand what's going on step-by-step.\n[Start Debugging](command:javascript-walkthrough.commands.debugJsFile)",
+ "walkthroughs.nodejsWelcome.debugJsFile.altText": "Debug and run your JavaScript code in Node.js with Visual Studio Code.",
+ "walkthroughs.nodejsWelcome.learnMoreAboutJs.title": "Explore More",
+ "walkthroughs.nodejsWelcome.learnMoreAboutJs.description": "Want to get more comfortable with JavaScript, Node.js, and VS Code? Be sure to check out our docs!\nWe've got lots of resources for learning [JavaScript](https://code.visualstudio.com/docs/nodejs/working-with-javascript) and [Node.js](https://code.visualstudio.com/docs/nodejs/nodejs-tutorial).\n\n[Learn More](https://code.visualstudio.com/docs/nodejs/nodejs-tutorial)",
+ "walkthroughs.nodejsWelcome.learnMoreAboutJs.altText": "Learn more about JavaScript and Node.js in Visual Studio Code."
}
diff --git a/extensions/typescript-language-features/src/configuration/configuration.browser.ts b/extensions/typescript-language-features/src/configuration/configuration.browser.ts
index cfe7ed8b74d..15d4705de0e 100644
--- a/extensions/typescript-language-features/src/configuration/configuration.browser.ts
+++ b/extensions/typescript-language-features/src/configuration/configuration.browser.ts
@@ -16,4 +16,13 @@ export class BrowserServiceConfigurationProvider extends BaseServiceConfiguratio
protected readLocalTsdk(_configuration: vscode.WorkspaceConfiguration): string | null {
return null;
}
+
+ // On browsers, we don't run TSServer on Node
+ protected readLocalNodePath(_configuration: vscode.WorkspaceConfiguration): string | null {
+ return null;
+ }
+
+ protected override readGlobalNodePath(_configuration: vscode.WorkspaceConfiguration): string | null {
+ return null;
+ }
}
diff --git a/extensions/typescript-language-features/src/configuration/configuration.electron.ts b/extensions/typescript-language-features/src/configuration/configuration.electron.ts
index db84603c314..0c2a7ab12f7 100644
--- a/extensions/typescript-language-features/src/configuration/configuration.electron.ts
+++ b/extensions/typescript-language-features/src/configuration/configuration.electron.ts
@@ -6,7 +6,10 @@
import * as os from 'os';
import * as path from 'path';
import * as vscode from 'vscode';
+import * as child_process from 'child_process';
+import * as fs from 'fs';
import { BaseServiceConfigurationProvider } from './configuration';
+import { RelativeWorkspacePathResolver } from '../utils/relativePathResolver';
export class ElectronServiceConfigurationProvider extends BaseServiceConfigurationProvider {
@@ -35,4 +38,65 @@ export class ElectronServiceConfigurationProvider extends BaseServiceConfigurati
}
return null;
}
+
+ protected readLocalNodePath(configuration: vscode.WorkspaceConfiguration): string | null {
+ return this.validatePath(this.readLocalNodePathWorker(configuration));
+ }
+
+ private readLocalNodePathWorker(configuration: vscode.WorkspaceConfiguration): string | null {
+ const inspect = configuration.inspect('typescript.tsserver.nodePath');
+ if (inspect?.workspaceValue && typeof inspect.workspaceValue === 'string') {
+ if (inspect.workspaceValue === 'node') {
+ return this.findNodePath();
+ }
+ const fixedPath = this.fixPathPrefixes(inspect.workspaceValue);
+ if (!path.isAbsolute(fixedPath)) {
+ const workspacePath = RelativeWorkspacePathResolver.asAbsoluteWorkspacePath(fixedPath);
+ return workspacePath || null;
+ }
+ return fixedPath;
+ }
+ return null;
+ }
+
+ protected readGlobalNodePath(configuration: vscode.WorkspaceConfiguration): string | null {
+ return this.validatePath(this.readGlobalNodePathWorker(configuration));
+ }
+
+ private readGlobalNodePathWorker(configuration: vscode.WorkspaceConfiguration): string | null {
+ const inspect = configuration.inspect('typescript.tsserver.nodePath');
+ if (inspect?.globalValue && typeof inspect.globalValue === 'string') {
+ if (inspect.globalValue === 'node') {
+ return this.findNodePath();
+ }
+ const fixedPath = this.fixPathPrefixes(inspect.globalValue);
+ if (path.isAbsolute(fixedPath)) {
+ return fixedPath;
+ }
+ }
+ return null;
+ }
+
+ private findNodePath(): string | null {
+ try {
+ const out = child_process.execFileSync('node', ['-e', 'console.log(process.execPath)'], {
+ windowsHide: true,
+ timeout: 2000,
+ cwd: vscode.workspace.workspaceFolders?.[0].uri.fsPath,
+ encoding: 'utf-8',
+ });
+ return out.trim();
+ } catch (error) {
+ vscode.window.showWarningMessage(vscode.l10n.t("Could not detect a Node installation to run TS Server."));
+ return null;
+ }
+ }
+
+ private validatePath(nodePath: string | null): string | null {
+ if (nodePath && (!fs.existsSync(nodePath) || fs.lstatSync(nodePath).isDirectory())) {
+ vscode.window.showWarningMessage(vscode.l10n.t("The path {0} doesn\'t point to a valid Node installation to run TS Server. Falling back to bundled Node.", nodePath));
+ return null;
+ }
+ return nodePath;
+ }
}
diff --git a/extensions/typescript-language-features/src/configuration/configuration.ts b/extensions/typescript-language-features/src/configuration/configuration.ts
index cab1cf4c819..0d60cd74932 100644
--- a/extensions/typescript-language-features/src/configuration/configuration.ts
+++ b/extensions/typescript-language-features/src/configuration/configuration.ts
@@ -112,12 +112,16 @@ export interface TypeScriptServiceConfiguration {
readonly useSyntaxServer: SyntaxServerConfiguration;
readonly webProjectWideIntellisenseEnabled: boolean;
readonly webProjectWideIntellisenseSuppressSemanticErrors: boolean;
+ readonly webExperimentalTypeAcquisition: boolean;
+ readonly enableDiagnosticsTelemetry: boolean;
readonly enableProjectDiagnostics: boolean;
readonly maxTsServerMemory: number;
readonly enablePromptUseWorkspaceTsdk: boolean;
readonly watchOptions: Proto.WatchOptions | undefined;
readonly includePackageJsonAutoImports: 'auto' | 'on' | 'off' | undefined;
readonly enableTsServerTracing: boolean;
+ readonly localNodePath: string | null;
+ readonly globalNodePath: string | null;
}
export function areServiceConfigurationsEqual(a: TypeScriptServiceConfiguration, b: TypeScriptServiceConfiguration): boolean {
@@ -144,17 +148,23 @@ export abstract class BaseServiceConfigurationProvider implements ServiceConfigu
useSyntaxServer: this.readUseSyntaxServer(configuration),
webProjectWideIntellisenseEnabled: this.readWebProjectWideIntellisenseEnable(configuration),
webProjectWideIntellisenseSuppressSemanticErrors: this.readWebProjectWideIntellisenseSuppressSemanticErrors(configuration),
+ webExperimentalTypeAcquisition: this.readWebExperimentalTypeAcquisition(configuration),
+ enableDiagnosticsTelemetry: this.readEnableDiagnosticsTelemetry(configuration),
enableProjectDiagnostics: this.readEnableProjectDiagnostics(configuration),
maxTsServerMemory: this.readMaxTsServerMemory(configuration),
enablePromptUseWorkspaceTsdk: this.readEnablePromptUseWorkspaceTsdk(configuration),
watchOptions: this.readWatchOptions(configuration),
includePackageJsonAutoImports: this.readIncludePackageJsonAutoImports(configuration),
enableTsServerTracing: this.readEnableTsServerTracing(configuration),
+ localNodePath: this.readLocalNodePath(configuration),
+ globalNodePath: this.readGlobalNodePath(configuration),
};
}
protected abstract readGlobalTsdk(configuration: vscode.WorkspaceConfiguration): string | null;
protected abstract readLocalTsdk(configuration: vscode.WorkspaceConfiguration): string | null;
+ protected abstract readLocalNodePath(configuration: vscode.WorkspaceConfiguration): string | null;
+ protected abstract readGlobalNodePath(configuration: vscode.WorkspaceConfiguration): string | null;
protected readTsServerLogLevel(configuration: vscode.WorkspaceConfiguration): TsServerLogLevel {
const setting = configuration.get('typescript.tsserver.log', 'off');
@@ -173,6 +183,10 @@ export abstract class BaseServiceConfigurationProvider implements ServiceConfigu
return configuration.get('typescript.disableAutomaticTypeAcquisition', false);
}
+ protected readWebExperimentalTypeAcquisition(configuration: vscode.WorkspaceConfiguration): boolean {
+ return configuration.get('typescript.experimental.tsserver.web.typeAcquisition.enabled', false);
+ }
+
protected readLocale(configuration: vscode.WorkspaceConfiguration): string | null {
const value = configuration.get('typescript.locale', 'auto');
return !value || value === 'auto' ? null : value;
@@ -197,6 +211,11 @@ export abstract class BaseServiceConfigurationProvider implements ServiceConfigu
return SyntaxServerConfiguration.Never;
}
+ protected readEnableDiagnosticsTelemetry(configuration: vscode.WorkspaceConfiguration): boolean {
+ // This setting does not appear in the settings view, as it is not to be enabled by users outside the team
+ return configuration.get('typescript.enableDiagnosticsTelemetry', false);
+ }
+
protected readEnableProjectDiagnostics(configuration: vscode.WorkspaceConfiguration): boolean {
return configuration.get('typescript.tsserver.experimental.enableProjectDiagnostics', false);
}
diff --git a/extensions/typescript-language-features/src/extension.browser.ts b/extensions/typescript-language-features/src/extension.browser.ts
index 392a81f7922..65e9d57fc38 100644
--- a/extensions/typescript-language-features/src/extension.browser.ts
+++ b/extensions/typescript-language-features/src/extension.browser.ts
@@ -8,22 +8,24 @@ import * as vscode from 'vscode';
import { Api, getExtensionApi } from './api';
import { CommandManager } from './commands/commandManager';
import { registerBaseCommands } from './commands/index';
+import { TypeScriptServiceConfiguration } from './configuration/configuration';
+import { BrowserServiceConfigurationProvider } from './configuration/configuration.browser';
import { ExperimentationTelemetryReporter, IExperimentationTelemetryReporter } from './experimentTelemetryReporter';
+import { AutoInstallerFs } from './filesystems/autoInstallerFs';
+import { MemFs } from './filesystems/memFs';
import { createLazyClientHost, lazilyActivateClient } from './lazyClientHost';
+import { Logger } from './logging/logger';
import RemoteRepositories from './remoteRepositories.browser';
import { API } from './tsServer/api';
import { noopRequestCancellerFactory } from './tsServer/cancellation';
import { noopLogDirectoryProvider } from './tsServer/logDirectoryProvider';
+import { PluginManager } from './tsServer/plugins';
import { WorkerServerProcessFactory } from './tsServer/serverProcess.browser';
import { ITypeScriptVersionProvider, TypeScriptVersion, TypeScriptVersionSource } from './tsServer/versionProvider';
import { ActiveJsTsEditorTracker } from './ui/activeJsTsEditorTracker';
-import { TypeScriptServiceConfiguration } from './configuration/configuration';
-import { BrowserServiceConfigurationProvider } from './configuration/configuration.browser';
-import { Logger } from './logging/logger';
+import { Disposable } from './utils/dispose';
import { getPackageInfo } from './utils/packageInfo';
import { isWebAndHasSharedArrayBuffers } from './utils/platform';
-import { PluginManager } from './tsServer/plugins';
-import { Disposable } from './utils/dispose';
class StaticVersionProvider implements ITypeScriptVersionProvider {
@@ -99,6 +101,14 @@ export async function activate(context: vscode.ExtensionContext): Promise {
context.subscriptions.push(lazilyActivateClient(lazyClientHost, pluginManager, activeJsTsEditorTracker, async () => {
await startPreloadWorkspaceContentsIfNeeded(context, logger);
}));
+ context.subscriptions.push(vscode.workspace.registerFileSystemProvider('vscode-global-typings', new MemFs(), {
+ isCaseSensitive: true,
+ isReadonly: false
+ }));
+ context.subscriptions.push(vscode.workspace.registerFileSystemProvider('vscode-node-modules', new AutoInstallerFs(), {
+ isCaseSensitive: true,
+ isReadonly: false
+ }));
return getExtensionApi(onCompletionAccepted.event, pluginManager);
}
diff --git a/extensions/typescript-language-features/src/filesystems/autoInstallerFs.ts b/extensions/typescript-language-features/src/filesystems/autoInstallerFs.ts
new file mode 100644
index 00000000000..4e69fce8cda
--- /dev/null
+++ b/extensions/typescript-language-features/src/filesystems/autoInstallerFs.ts
@@ -0,0 +1,252 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+import * as vscode from 'vscode';
+import { MemFs } from './memFs';
+import { URI } from 'vscode-uri';
+import { PackageManager, FileSystem, packagePath } from '@vscode/ts-package-manager';
+import { join, basename, dirname } from 'path';
+
+const TEXT_DECODER = new TextDecoder('utf-8');
+const TEXT_ENCODER = new TextEncoder();
+
+export class AutoInstallerFs implements vscode.FileSystemProvider {
+
+ private readonly memfs = new MemFs();
+ private readonly fs: FileSystem;
+ private readonly projectCache = new Map>();
+ private readonly watcher: vscode.FileSystemWatcher;
+ private readonly _emitter = new vscode.EventEmitter();
+
+ readonly onDidChangeFile: vscode.Event = this._emitter.event;
+
+ constructor() {
+ this.watcher = vscode.workspace.createFileSystemWatcher('**/{package.json,package-lock.json,package-lock.kdl}');
+ const handler = (uri: URI) => {
+ const root = dirname(uri.path);
+ if (this.projectCache.delete(root)) {
+ (async () => {
+ const pm = new PackageManager(this.fs);
+ const opts = await this.getInstallOpts(uri, root);
+ const proj = await pm.resolveProject(root, opts);
+ proj.pruneExtraneous();
+ // TODO: should this fire on vscode-node-modules instead?
+ // NB(kmarchan): This should tell TSServer that there's
+ // been changes inside node_modules and it needs to
+ // re-evaluate things.
+ this._emitter.fire([{
+ type: vscode.FileChangeType.Changed,
+ uri: uri.with({ path: join(root, 'node_modules') })
+ }]);
+ })();
+ }
+ };
+ this.watcher.onDidChange(handler);
+ this.watcher.onDidCreate(handler);
+ this.watcher.onDidDelete(handler);
+ const memfs = this.memfs;
+ memfs.onDidChangeFile((e) => {
+ this._emitter.fire(e.map(ev => ({
+ type: ev.type,
+ // TODO: we're gonna need a MappedUri dance...
+ uri: ev.uri.with({ scheme: 'memfs' })
+ })));
+ });
+ this.fs = {
+ readDirectory(path: string, _extensions?: readonly string[], _exclude?: readonly string[], _include?: readonly string[], _depth?: number): string[] {
+ return memfs.readDirectory(URI.file(path)).map(([name, _]) => name);
+ },
+
+ deleteFile(path: string): void {
+ memfs.delete(URI.file(path));
+ },
+
+ createDirectory(path: string): void {
+ memfs.createDirectory(URI.file(path));
+ },
+
+ writeFile(path: string, data: string, _writeByteOrderMark?: boolean): void {
+ memfs.writeFile(URI.file(path), TEXT_ENCODER.encode(data), { overwrite: true, create: true });
+ },
+
+ directoryExists(path: string): boolean {
+ try {
+ const stat = memfs.stat(URI.file(path));
+ return stat.type === vscode.FileType.Directory;
+ } catch (e) {
+ return false;
+ }
+ },
+
+ readFile(path: string, _encoding?: string): string | undefined {
+ try {
+ return TEXT_DECODER.decode(memfs.readFile(URI.file(path)));
+ } catch (e) {
+ return undefined;
+ }
+ }
+ };
+ }
+
+ watch(resource: vscode.Uri): vscode.Disposable {
+ const mapped = URI.file(new MappedUri(resource).path);
+ console.log('watching', mapped);
+ return this.memfs.watch(mapped);
+ }
+
+ async stat(uri: vscode.Uri): Promise {
+ // console.log('stat', uri.toString());
+ const mapped = new MappedUri(uri);
+
+ // TODO: case sensitivity configuration
+
+ // We pretend every single node_modules or @types directory ever actually
+ // exists.
+ if (basename(mapped.path) === 'node_modules' || basename(mapped.path) === '@types') {
+ return {
+ mtime: 0,
+ ctime: 0,
+ type: vscode.FileType.Directory,
+ size: 0
+ };
+ }
+
+ await this.ensurePackageContents(mapped);
+
+ return this.memfs.stat(URI.file(mapped.path));
+ }
+
+ async readDirectory(uri: vscode.Uri): Promise<[string, vscode.FileType][]> {
+ // console.log('readDirectory', uri.toString());
+ const mapped = new MappedUri(uri);
+ await this.ensurePackageContents(mapped);
+
+ return this.memfs.readDirectory(URI.file(mapped.path));
+ }
+
+ async readFile(uri: vscode.Uri): Promise {
+ // console.log('readFile', uri.toString());
+ const mapped = new MappedUri(uri);
+ await this.ensurePackageContents(mapped);
+
+ return this.memfs.readFile(URI.file(mapped.path));
+ }
+
+ writeFile(_uri: vscode.Uri, _content: Uint8Array, _options: { create: boolean; overwrite: boolean }): void {
+ throw new Error('not implemented');
+ }
+
+ rename(_oldUri: vscode.Uri, _newUri: vscode.Uri, _options: { overwrite: boolean }): void {
+ throw new Error('not implemented');
+ }
+
+ delete(_uri: vscode.Uri): void {
+ throw new Error('not implemented');
+ }
+
+ createDirectory(_uri: vscode.Uri): void {
+ throw new Error('not implemented');
+ }
+
+ private async ensurePackageContents(incomingUri: MappedUri): Promise {
+ // console.log('ensurePackageContents', incomingUri.path);
+
+ // If we're not looking for something inside node_modules, bail early.
+ if (!incomingUri.path.includes('node_modules')) {
+ throw vscode.FileSystemError.FileNotFound();
+ }
+
+ // standard lib files aren't handled through here
+ if (incomingUri.path.includes('node_modules/@typescript') || incomingUri.path.includes('node_modules/@types/typescript__')) {
+ throw vscode.FileSystemError.FileNotFound();
+ }
+
+ const root = this.getProjectRoot(incomingUri.path);
+
+ const pkgPath = packagePath(incomingUri.path);
+ if (!root || this.projectCache.get(root)?.has(pkgPath)) {
+ return;
+ }
+
+ const proj = await (new PackageManager(this.fs)).resolveProject(root, await this.getInstallOpts(incomingUri.original, root));
+
+ const restore = proj.restorePackageAt(incomingUri.path);
+ try {
+ await restore;
+ } catch (e) {
+ console.error(`failed to restore package at ${incomingUri.path}: `, e);
+ throw e;
+ }
+ if (!this.projectCache.has(root)) {
+ this.projectCache.set(root, new Set());
+ }
+ this.projectCache.get(root)!.add(pkgPath);
+ }
+
+ private async getInstallOpts(originalUri: URI, root: string) {
+ const vsfs = vscode.workspace.fs;
+ let pkgJson;
+ try {
+ pkgJson = TEXT_DECODER.decode(await vsfs.readFile(originalUri.with({ path: join(root, 'package.json') })));
+ } catch (e) { }
+
+ let kdlLock;
+ try {
+ kdlLock = TEXT_DECODER.decode(await vsfs.readFile(originalUri.with({ path: join(root, 'package-lock.kdl') })));
+ } catch (e) { }
+
+ let npmLock;
+ try {
+ npmLock = TEXT_DECODER.decode(await vsfs.readFile(originalUri.with({ path: join(root, 'package-lock.json') })));
+ } catch (e) { }
+
+ return {
+ pkgJson,
+ kdlLock,
+ npmLock
+ };
+ }
+
+ private getProjectRoot(path: string): string | undefined {
+ const pkgPath = path.match(/(^.*)\/node_modules/);
+ return pkgPath?.[1];
+ }
+
+ // --- manage file events
+
+}
+
+class MappedUri {
+ readonly raw: vscode.Uri;
+ readonly original: vscode.Uri;
+ readonly mapped: vscode.Uri;
+ constructor(uri: vscode.Uri) {
+ this.raw = uri;
+
+ const parts = uri.path.match(/^\/([^\/]+)\/([^\/]*)(?:\/(.+))?$/);
+ if (!parts) {
+ throw new Error(`Invalid path: ${uri.path}`);
+ }
+
+ const scheme = parts[1];
+ const authority = parts[2] === 'ts-nul-authority' ? '' : parts[2];
+ const path = parts[3];
+ this.original = URI.from({ scheme, authority, path: (path ? '/' + path : path) });
+ this.mapped = this.original.with({ scheme: this.raw.scheme, authority: this.raw.authority });
+ }
+
+ get path() {
+ return this.mapped.path;
+ }
+ get scheme() {
+ return this.mapped.scheme;
+ }
+ get authority() {
+ return this.mapped.authority;
+ }
+ get flatPath() {
+ return join('/', this.scheme, this.authority, this.path);
+ }
+}
diff --git a/extensions/typescript-language-features/src/filesystems/memFs.ts b/extensions/typescript-language-features/src/filesystems/memFs.ts
new file mode 100644
index 00000000000..02476ec1804
--- /dev/null
+++ b/extensions/typescript-language-features/src/filesystems/memFs.ts
@@ -0,0 +1,198 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+import * as vscode from 'vscode';
+import { basename, dirname } from 'path';
+
+export class MemFs implements vscode.FileSystemProvider {
+
+ private readonly root = new FsEntry(
+ new Map(),
+ 0,
+ 0,
+ );
+
+ stat(uri: vscode.Uri): vscode.FileStat {
+ // console.log('stat', uri.toString());
+ const entry = this.getEntry(uri);
+ if (!entry) {
+ throw vscode.FileSystemError.FileNotFound();
+ }
+
+ return entry;
+ }
+
+ readDirectory(uri: vscode.Uri): [string, vscode.FileType][] {
+ // console.log('readDirectory', uri.toString());
+
+ const entry = this.getEntry(uri);
+ if (!entry) {
+ throw vscode.FileSystemError.FileNotFound();
+ }
+
+ return [...entry.contents.entries()].map(([name, entry]) => [name, entry.type]);
+ }
+
+ readFile(uri: vscode.Uri): Uint8Array {
+ // console.log('readFile', uri.toString());
+
+ const entry = this.getEntry(uri);
+ if (!entry) {
+ throw vscode.FileSystemError.FileNotFound();
+ }
+
+ return entry.data;
+ }
+
+ writeFile(uri: vscode.Uri, content: Uint8Array, { create, overwrite }: { create: boolean; overwrite: boolean }): void {
+ // console.log('writeFile', uri.toString());
+
+ const dir = this.getParent(uri);
+
+ const fileName = basename(uri.path);
+ const dirContents = dir.contents;
+
+ const time = Date.now() / 1000;
+ const entry = dirContents.get(basename(uri.path));
+ if (!entry) {
+ if (create) {
+ dirContents.set(fileName, new FsEntry(content, time, time));
+ this._emitter.fire([{ type: vscode.FileChangeType.Created, uri }]);
+ } else {
+ throw vscode.FileSystemError.FileNotFound();
+ }
+ } else {
+ if (overwrite) {
+ entry.mtime = time;
+ entry.data = content;
+ this._emitter.fire([{ type: vscode.FileChangeType.Changed, uri }]);
+ } else {
+ throw vscode.FileSystemError.NoPermissions('overwrite option was not passed in');
+ }
+ }
+ }
+
+ rename(_oldUri: vscode.Uri, _newUri: vscode.Uri, _options: { overwrite: boolean }): void {
+ throw new Error('not implemented');
+ }
+
+ delete(uri: vscode.Uri): void {
+ try {
+ const dir = this.getParent(uri);
+ dir.contents.delete(basename(uri.path));
+ this._emitter.fire([{ type: vscode.FileChangeType.Deleted, uri }]);
+ } catch (e) { }
+ }
+
+ createDirectory(uri: vscode.Uri): void {
+ // console.log('createDirectory', uri.toString());
+ const dir = this.getParent(uri);
+ const now = Date.now() / 1000;
+ dir.contents.set(basename(uri.path), new FsEntry(new Map(), now, now));
+ }
+
+ private getEntry(uri: vscode.Uri): FsEntry | void {
+ // TODO: have this throw FileNotFound itself?
+ // TODO: support configuring case sensitivity
+ let node: FsEntry = this.root;
+ for (const component of uri.path.split('/')) {
+ if (!component) {
+ // Skip empty components (root, stuff between double slashes,
+ // trailing slashes)
+ continue;
+ }
+
+ if (node.type !== vscode.FileType.Directory) {
+ // We're looking at a File or such, so bail.
+ return;
+ }
+
+ const next = node.contents.get(component);
+
+ if (!next) {
+ // not found!
+ return;
+ }
+
+ node = next;
+ }
+ return node;
+ }
+
+ private getParent(uri: vscode.Uri) {
+ const dir = this.getEntry(uri.with({ path: dirname(uri.path) }));
+ if (!dir) {
+ throw vscode.FileSystemError.FileNotFound();
+ }
+ return dir;
+ }
+
+ // --- manage file events
+
+ private readonly _emitter = new vscode.EventEmitter();
+
+ readonly onDidChangeFile: vscode.Event = this._emitter.event;
+ private readonly watchers = new Map>;
+
+ watch(resource: vscode.Uri): vscode.Disposable {
+ if (!this.watchers.has(resource.path)) {
+ this.watchers.set(resource.path, new Set());
+ }
+ const sy = Symbol(resource.path);
+ return new vscode.Disposable(() => {
+ const watcher = this.watchers.get(resource.path);
+ if (watcher) {
+ watcher.delete(sy);
+ if (!watcher.size) {
+ this.watchers.delete(resource.path);
+ }
+ }
+ });
+ }
+}
+
+class FsEntry {
+ get type(): vscode.FileType {
+ if (this._data instanceof Uint8Array) {
+ return vscode.FileType.File;
+ } else {
+ return vscode.FileType.Directory;
+ }
+ }
+
+ get size(): number {
+ if (this.type === vscode.FileType.Directory) {
+ return [...this.contents.values()].reduce((acc: number, entry: FsEntry) => acc + entry.size, 0);
+ } else {
+ return this.data.length;
+ }
+ }
+
+ constructor(
+ private _data: Uint8Array | Map,
+ public ctime: number,
+ public mtime: number,
+ ) { }
+
+ get data() {
+ if (this.type === vscode.FileType.Directory) {
+ throw vscode.FileSystemError.FileIsADirectory;
+ }
+ return this._data;
+ }
+ set data(val: Uint8Array) {
+ if (this.type === vscode.FileType.Directory) {
+ throw vscode.FileSystemError.FileIsADirectory;
+ }
+ this._data = val;
+ }
+
+ get contents() {
+ if (this.type !== vscode.FileType.Directory) {
+ throw vscode.FileSystemError.FileNotADirectory;
+ }
+ return >this._data;
+ }
+}
diff --git a/extensions/typescript-language-features/src/languageFeatures/diagnostics.ts b/extensions/typescript-language-features/src/languageFeatures/diagnostics.ts
index aeb4491872e..1f6c21a5d88 100644
--- a/extensions/typescript-language-features/src/languageFeatures/diagnostics.ts
+++ b/extensions/typescript-language-features/src/languageFeatures/diagnostics.ts
@@ -8,6 +8,9 @@ import { DiagnosticLanguage } from '../configuration/languageDescription';
import * as arrays from '../utils/arrays';
import { Disposable } from '../utils/dispose';
import { ResourceMap } from '../utils/resourceMap';
+import { TelemetryReporter } from '../logging/telemetry';
+import { TypeScriptServiceConfiguration } from '../configuration/configuration';
+import { equals } from '../utils/objects';
function diagnosticsEquals(a: vscode.Diagnostic, b: vscode.Diagnostic): boolean {
if (a === b) {
@@ -148,6 +151,82 @@ class DiagnosticSettings {
}
}
+class DiagnosticsTelemetryManager extends Disposable {
+
+ private readonly _diagnosticCodesMap = new Map();
+ private readonly _diagnosticSnapshotsMap = new ResourceMap(uri => uri.toString(), { onCaseInsensitiveFileSystem: false });
+ private _timeout: NodeJS.Timeout | undefined;
+ private _telemetryEmitter: NodeJS.Timer | undefined;
+
+ constructor(
+ private readonly _telemetryReporter: TelemetryReporter,
+ private readonly _diagnosticsCollection: vscode.DiagnosticCollection,
+ ) {
+ super();
+ this._register(vscode.workspace.onDidChangeTextDocument(e => {
+ if (e.document.languageId === 'typescript' || e.document.languageId === 'typescriptreact') {
+ this._updateAllDiagnosticCodesAfterTimeout();
+ }
+ }));
+ this._updateAllDiagnosticCodesAfterTimeout();
+ this._registerTelemetryEventEmitter();
+ }
+
+ private _updateAllDiagnosticCodesAfterTimeout() {
+ clearTimeout(this._timeout);
+ this._timeout = setTimeout(() => this._updateDiagnosticCodes(), 5000);
+ }
+
+ private _increaseDiagnosticCodeCount(code: string | number | undefined) {
+ if (code === undefined) {
+ return;
+ }
+ this._diagnosticCodesMap.set(Number(code), (this._diagnosticCodesMap.get(Number(code)) || 0) + 1);
+ }
+
+ private _updateDiagnosticCodes() {
+ this._diagnosticsCollection.forEach((uri, diagnostics) => {
+ const previousDiagnostics = this._diagnosticSnapshotsMap.get(uri);
+ this._diagnosticSnapshotsMap.set(uri, diagnostics);
+ const diagnosticsDiff = diagnostics.filter((diagnostic) => !previousDiagnostics?.some((previousDiagnostic) => equals(diagnostic, previousDiagnostic)));
+ diagnosticsDiff.forEach((diagnostic) => {
+ const code = diagnostic.code;
+ this._increaseDiagnosticCodeCount(typeof code === 'string' || typeof code === 'number' ? code : code?.value);
+ });
+ });
+ }
+
+ private _registerTelemetryEventEmitter() {
+ this._telemetryEmitter = setInterval(() => {
+ if (this._diagnosticCodesMap.size > 0) {
+ let diagnosticCodes = '';
+ this._diagnosticCodesMap.forEach((value, key) => {
+ diagnosticCodes += `${key}:${value},`;
+ });
+ this._diagnosticCodesMap.clear();
+ /* __GDPR__
+ "typescript.diagnostics" : {
+ "owner": "@aiday-mar",
+ "diagnosticCodes" : { "classification": "PublicNonPersonalData", "purpose": "FeatureInsight" },
+ "${include}": [
+ "${TypeScriptCommonProperties}"
+ ]
+ }
+ */
+ this._telemetryReporter.logTelemetry('typescript.diagnostics', {
+ diagnoticCodes: diagnosticCodes
+ });
+ }
+ }, 5 * 60 * 1000); // 5 minutes
+ }
+
+ override dispose() {
+ super.dispose();
+ clearTimeout(this._timeout);
+ clearInterval(this._telemetryEmitter);
+ }
+}
+
export class DiagnosticsManager extends Disposable {
private readonly _diagnostics: ResourceMap;
private readonly _settings = new DiagnosticSettings();
@@ -158,6 +237,8 @@ export class DiagnosticsManager extends Disposable {
constructor(
owner: string,
+ configuration: TypeScriptServiceConfiguration,
+ telemetryReporter: TelemetryReporter,
onCaseInsensitiveFileSystem: boolean
) {
super();
@@ -165,6 +246,10 @@ export class DiagnosticsManager extends Disposable {
this._pendingUpdates = new ResourceMap(undefined, { onCaseInsensitiveFileSystem });
this._currentDiagnostics = this._register(vscode.languages.createDiagnosticCollection(owner));
+ // Here we are selecting only 1 user out of 1000 to send telemetry diagnostics
+ if (Math.random() * 1000 <= 1 || configuration.enableDiagnosticsTelemetry) {
+ this._register(new DiagnosticsTelemetryManager(telemetryReporter, this._currentDiagnostics));
+ }
}
public override dispose() {
diff --git a/extensions/typescript-language-features/src/languageFeatures/inlayHints.ts b/extensions/typescript-language-features/src/languageFeatures/inlayHints.ts
index 5363619579b..4fa38e4986b 100644
--- a/extensions/typescript-language-features/src/languageFeatures/inlayHints.ts
+++ b/extensions/typescript-language-features/src/languageFeatures/inlayHints.ts
@@ -6,6 +6,7 @@
import * as vscode from 'vscode';
import { DocumentSelector } from '../configuration/documentSelector';
import { LanguageDescription } from '../configuration/languageDescription';
+import { TelemetryReporter } from '../logging/telemetry';
import { API } from '../tsServer/api';
import type * as Proto from '../tsServer/protocol/protocol';
import { Location, Position } from '../typeConverters';
@@ -29,13 +30,16 @@ class TypeScriptInlayHintsProvider extends Disposable implements vscode.InlayHin
public static readonly minVersion = API.v440;
- private readonly _onDidChangeInlayHints = new vscode.EventEmitter();
+ private readonly _onDidChangeInlayHints = this._register(new vscode.EventEmitter());
public readonly onDidChangeInlayHints = this._onDidChangeInlayHints.event;
+ private hasReportedTelemetry = false;
+
constructor(
private readonly language: LanguageDescription,
private readonly client: ITypeScriptServiceClient,
- private readonly fileConfigurationManager: FileConfigurationManager
+ private readonly fileConfigurationManager: FileConfigurationManager,
+ private readonly telemetryReporter: TelemetryReporter,
) {
super();
@@ -54,31 +58,47 @@ class TypeScriptInlayHintsProvider extends Disposable implements vscode.InlayHin
}));
}
- async provideInlayHints(model: vscode.TextDocument, range: vscode.Range, token: vscode.CancellationToken): Promise {
+ async provideInlayHints(model: vscode.TextDocument, range: vscode.Range, token: vscode.CancellationToken): Promise {
const filepath = this.client.toOpenTsFilePath(model);
if (!filepath) {
- return [];
+ return;
}
if (!areInlayHintsEnabledForFile(this.language, model)) {
- return [];
+ return;
}
const start = model.offsetAt(range.start);
const length = model.offsetAt(range.end) - start;
await this.fileConfigurationManager.ensureConfigurationForDocument(model, token);
+ if (token.isCancellationRequested) {
+ return;
+ }
+
+ if (!this.hasReportedTelemetry) {
+ this.hasReportedTelemetry = true;
+ /* __GDPR__
+ "inlayHints.provide" : {
+ "owner": "mjbvz",
+ "${include}": [
+ "${TypeScriptCommonProperties}"
+ ]
+ }
+ */
+ this.telemetryReporter.logTelemetry('inlayHints.provide', {});
+ }
const response = await this.client.execute('provideInlayHints', { file: filepath, start, length }, token);
if (response.type !== 'response' || !response.success || !response.body) {
- return [];
+ return;
}
return response.body.map(hint => {
const result = new vscode.InlayHint(
Position.fromLocation(hint.position),
- this.convertInlayHintText(model.uri, hint),
- hint.kind && fromProtocolInlayHintKind(hint.kind)
+ this.convertInlayHintText(hint),
+ fromProtocolInlayHintKind(hint.kind)
);
result.paddingLeft = hint.whitespaceBefore;
result.paddingRight = hint.whitespaceAfter;
@@ -86,19 +106,18 @@ class TypeScriptInlayHintsProvider extends Disposable implements vscode.InlayHin
});
}
- private convertInlayHintText(resource: vscode.Uri, tsHint: Proto.InlayHintItem): string | vscode.InlayHintLabelPart[] {
+ private convertInlayHintText(tsHint: Proto.InlayHintItem): string | vscode.InlayHintLabelPart[] {
if (tsHint.displayParts) {
return tsHint.displayParts.map((part): vscode.InlayHintLabelPart => {
const out = new vscode.InlayHintLabelPart(part.text);
if (part.span) {
- out.location = Location.fromTextSpan(resource, part.span);
+ out.location = Location.fromTextSpan(this.client.toResource(part.span.file), part.span);
}
return out;
});
}
return tsHint.text;
-
}
}
@@ -128,13 +147,14 @@ export function register(
selector: DocumentSelector,
language: LanguageDescription,
client: ITypeScriptServiceClient,
- fileConfigurationManager: FileConfigurationManager
+ fileConfigurationManager: FileConfigurationManager,
+ telemetryReporter: TelemetryReporter,
) {
return conditionalRegistration([
requireMinVersion(client, TypeScriptInlayHintsProvider.minVersion),
requireSomeCapability(client, ClientCapability.Semantic),
], () => {
- const provider = new TypeScriptInlayHintsProvider(language, client, fileConfigurationManager);
+ const provider = new TypeScriptInlayHintsProvider(language, client, fileConfigurationManager, telemetryReporter);
return vscode.languages.registerInlayHintsProvider(selector.semantic, provider);
});
}
diff --git a/extensions/typescript-language-features/src/languageProvider.ts b/extensions/typescript-language-features/src/languageProvider.ts
index 1de34c6998c..7acbf733f0c 100644
--- a/extensions/typescript-language-features/src/languageProvider.ts
+++ b/extensions/typescript-language-features/src/languageProvider.ts
@@ -74,7 +74,7 @@ export default class LanguageProvider extends Disposable {
import('./languageFeatures/formatting').then(provider => this._register(provider.register(selector, this.description, this.client, this.fileConfigurationManager))),
import('./languageFeatures/hover').then(provider => this._register(provider.register(selector, this.client, this.fileConfigurationManager))),
import('./languageFeatures/implementations').then(provider => this._register(provider.register(selector, this.client))),
- import('./languageFeatures/inlayHints').then(provider => this._register(provider.register(selector, this.description, this.client, this.fileConfigurationManager))),
+ import('./languageFeatures/inlayHints').then(provider => this._register(provider.register(selector, this.description, this.client, this.fileConfigurationManager, this.telemetryReporter))),
import('./languageFeatures/jsDocCompletions').then(provider => this._register(provider.register(selector, this.description, this.client, this.fileConfigurationManager))),
import('./languageFeatures/linkedEditing').then(provider => this._register(provider.register(selector, this.client))),
import('./languageFeatures/organizeImports').then(provider => this._register(provider.register(selector, this.client, this.commandManager, this.fileConfigurationManager, this.telemetryReporter))),
diff --git a/extensions/typescript-language-features/src/tsServer/nodeManager.ts b/extensions/typescript-language-features/src/tsServer/nodeManager.ts
new file mode 100644
index 00000000000..037fc1898e8
--- /dev/null
+++ b/extensions/typescript-language-features/src/tsServer/nodeManager.ts
@@ -0,0 +1,149 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+import * as vscode from 'vscode';
+import { TypeScriptServiceConfiguration } from '../configuration/configuration';
+import { setImmediate } from '../utils/async';
+import { Disposable } from '../utils/dispose';
+
+
+const useWorkspaceNodeStorageKey = 'typescript.useWorkspaceNode';
+const lastKnownWorkspaceNodeStorageKey = 'typescript.lastKnownWorkspaceNode';
+type UseWorkspaceNodeState = undefined | boolean;
+type LastKnownWorkspaceNodeState = undefined | string;
+
+export class NodeVersionManager extends Disposable {
+ private _currentVersion: string | undefined;
+
+ public constructor(
+ private configuration: TypeScriptServiceConfiguration,
+ private readonly workspaceState: vscode.Memento
+ ) {
+ super();
+
+ this._currentVersion = this.configuration.globalNodePath || undefined;
+ if (vscode.workspace.isTrusted) {
+ const workspaceVersion = this.configuration.localNodePath;
+ if (workspaceVersion) {
+ const useWorkspaceNode = this.canUseWorkspaceNode(workspaceVersion);
+ if (useWorkspaceNode === undefined) {
+ setImmediate(() => {
+ this.promptAndSetWorkspaceNode();
+ });
+ }
+ else if (useWorkspaceNode) {
+ this._currentVersion = workspaceVersion;
+ }
+ }
+ }
+ else {
+ this._disposables.push(vscode.workspace.onDidGrantWorkspaceTrust(() => {
+ const workspaceVersion = this.configuration.localNodePath;
+ if (workspaceVersion) {
+ const useWorkspaceNode = this.canUseWorkspaceNode(workspaceVersion);
+ if (useWorkspaceNode === undefined) {
+ setImmediate(() => {
+ this.promptAndSetWorkspaceNode();
+ });
+ }
+ else if (useWorkspaceNode) {
+ this.updateActiveVersion(workspaceVersion);
+ }
+ }
+ }));
+ }
+ }
+
+ private readonly _onDidPickNewVersion = this._register(new vscode.EventEmitter());
+ public readonly onDidPickNewVersion = this._onDidPickNewVersion.event;
+
+ public get currentVersion(): string | undefined {
+ return this._currentVersion;
+ }
+
+ public async updateConfiguration(nextConfiguration: TypeScriptServiceConfiguration) {
+ const oldConfiguration = this.configuration;
+ this.configuration = nextConfiguration;
+ if (oldConfiguration.globalNodePath !== nextConfiguration.globalNodePath
+ || oldConfiguration.localNodePath !== nextConfiguration.localNodePath) {
+ await this.computeNewVersion();
+ }
+ }
+
+ private async computeNewVersion() {
+ let version = this.configuration.globalNodePath || undefined;
+ const workspaceVersion = this.configuration.localNodePath;
+ if (vscode.workspace.isTrusted && workspaceVersion) {
+ const useWorkspaceNode = this.canUseWorkspaceNode(workspaceVersion);
+ if (useWorkspaceNode === undefined) {
+ version = await this.promptUseWorkspaceNode() || version;
+ }
+ else if (useWorkspaceNode) {
+ version = workspaceVersion;
+ }
+ }
+ this.updateActiveVersion(version);
+ }
+
+ private async promptUseWorkspaceNode(): Promise {
+ const workspaceVersion = this.configuration.localNodePath;
+ if (workspaceVersion === null) {
+ throw new Error('Could not prompt to use workspace Node installation because no workspace Node installation is specified');
+ }
+
+ const allow = vscode.l10n.t("Yes");
+ const disallow = vscode.l10n.t("No");
+ const dismiss = vscode.l10n.t("Not now");
+
+ const result = await vscode.window.showInformationMessage(vscode.l10n.t("This workspace wants to use the Node installation at '{0}' to run TS Server. Would you like to use it?", workspaceVersion),
+ allow,
+ disallow,
+ dismiss,
+ );
+
+ let version = undefined;
+ switch (result) {
+ case allow:
+ await this.setUseWorkspaceNodeState(true, workspaceVersion);
+ version = workspaceVersion;
+ break;
+ case disallow:
+ await this.setUseWorkspaceNodeState(false, workspaceVersion);
+ break;
+ case dismiss:
+ await this.setUseWorkspaceNodeState(undefined, workspaceVersion);
+ break;
+ }
+ return version;
+ }
+
+ private async promptAndSetWorkspaceNode(): Promise {
+ const version = await this.promptUseWorkspaceNode();
+ if (version !== undefined) {
+ this.updateActiveVersion(version);
+ }
+ }
+
+ private updateActiveVersion(pickedVersion: string | undefined): void {
+ const oldVersion = this.currentVersion;
+ this._currentVersion = pickedVersion;
+ if (oldVersion !== pickedVersion) {
+ this._onDidPickNewVersion.fire();
+ }
+ }
+
+ private canUseWorkspaceNode(nodeVersion: string): boolean | undefined {
+ const lastKnownWorkspaceNode = this.workspaceState.get(lastKnownWorkspaceNodeStorageKey);
+ if (lastKnownWorkspaceNode === nodeVersion) {
+ return this.workspaceState.get(useWorkspaceNodeStorageKey);
+ }
+ return undefined;
+ }
+
+ private async setUseWorkspaceNodeState(allow: boolean | undefined, nodeVersion: string) {
+ await this.workspaceState.update(lastKnownWorkspaceNodeStorageKey, nodeVersion);
+ await this.workspaceState.update(useWorkspaceNodeStorageKey, allow);
+ }
+}
diff --git a/extensions/typescript-language-features/src/tsServer/server.ts b/extensions/typescript-language-features/src/tsServer/server.ts
index 421c5f5d8e9..883aa6830bd 100644
--- a/extensions/typescript-language-features/src/tsServer/server.ts
+++ b/extensions/typescript-language-features/src/tsServer/server.ts
@@ -19,6 +19,7 @@ import type * as Proto from './protocol/protocol';
import { EventName } from './protocol/protocol.const';
import { TypeScriptVersionManager } from './versionManager';
import { TypeScriptVersion } from './versionProvider';
+import { NodeVersionManager } from './nodeManager';
export enum ExecutionTarget {
Semantic,
@@ -70,6 +71,7 @@ export interface TsServerProcessFactory {
kind: TsServerProcessKind,
configuration: TypeScriptServiceConfiguration,
versionManager: TypeScriptVersionManager,
+ nodeVersionManager: NodeVersionManager,
tsServerLog: TsServerLog | undefined,
): TsServerProcess;
}
diff --git a/extensions/typescript-language-features/src/tsServer/serverProcess.browser.ts b/extensions/typescript-language-features/src/tsServer/serverProcess.browser.ts
index ab916a1f0e9..bb57c2644b4 100644
--- a/extensions/typescript-language-features/src/tsServer/serverProcess.browser.ts
+++ b/extensions/typescript-language-features/src/tsServer/serverProcess.browser.ts
@@ -13,6 +13,7 @@ import type * as Proto from './protocol/protocol';
import { TsServerLog, TsServerProcess, TsServerProcessFactory, TsServerProcessKind } from './server';
import { TypeScriptVersionManager } from './versionManager';
import { TypeScriptVersion } from './versionProvider';
+import { NodeVersionManager } from './nodeManager';
type BrowserWatchEvent = {
type: 'watchDirectory' | 'watchFile';
@@ -40,16 +41,19 @@ export class WorkerServerProcessFactory implements TsServerProcessFactory {
kind: TsServerProcessKind,
_configuration: TypeScriptServiceConfiguration,
_versionManager: TypeScriptVersionManager,
+ _nodeVersionManager: NodeVersionManager,
tsServerLog: TsServerLog | undefined,
) {
const tsServerPath = version.tsServerPath;
- return new WorkerServerProcess(kind, tsServerPath, this._extensionUri, [
+ const launchArgs = [
...args,
-
- // Explicitly give TS Server its path so it can
- // load local resources
+ // Explicitly give TS Server its path so it can load local resources
'--executingFilePath', tsServerPath,
- ], tsServerLog, this._logger);
+ ];
+ if (_configuration.webExperimentalTypeAcquisition) {
+ launchArgs.push('--experimentalTypeAcquisition');
+ }
+ return new WorkerServerProcess(kind, tsServerPath, this._extensionUri, launchArgs, tsServerLog, this._logger);
}
}
diff --git a/extensions/typescript-language-features/src/tsServer/serverProcess.electron.ts b/extensions/typescript-language-features/src/tsServer/serverProcess.electron.ts
index b5848d5eb9f..8b0ec2fb7b7 100644
--- a/extensions/typescript-language-features/src/tsServer/serverProcess.electron.ts
+++ b/extensions/typescript-language-features/src/tsServer/serverProcess.electron.ts
@@ -15,6 +15,7 @@ import type * as Proto from './protocol/protocol';
import { TsServerLog, TsServerProcess, TsServerProcessFactory, TsServerProcessKind } from './server';
import { TypeScriptVersionManager } from './versionManager';
import { TypeScriptVersion } from './versionProvider';
+import { NodeVersionManager } from './nodeManager';
const defaultSize: number = 8192;
@@ -134,10 +135,12 @@ class Reader extends Disposable {
}
}
-function generatePatchedEnv(env: any, modulePath: string): any {
+function generatePatchedEnv(env: any, modulePath: string, hasExecPath: boolean): any {
const newEnv = Object.assign({}, env);
- newEnv['ELECTRON_RUN_AS_NODE'] = '1';
+ if (!hasExecPath) {
+ newEnv['ELECTRON_RUN_AS_NODE'] = '1';
+ }
newEnv['NODE_PATH'] = path.join(modulePath, '..', '..', '..');
// Ensure we always have a PATH set
@@ -253,6 +256,7 @@ export class ElectronServiceProcessFactory implements TsServerProcessFactory {
kind: TsServerProcessKind,
configuration: TypeScriptServiceConfiguration,
versionManager: TypeScriptVersionManager,
+ nodeVersionManager: NodeVersionManager,
_tsserverLog: TsServerLog | undefined,
): TsServerProcess {
let tsServerPath = version.tsServerPath;
@@ -263,20 +267,30 @@ export class ElectronServiceProcessFactory implements TsServerProcessFactory {
tsServerPath = versionManager.currentVersion.tsServerPath;
}
- const useIpc = version.apiVersion?.gte(API.v460);
+ const execPath = nodeVersionManager.currentVersion;
+ const env = generatePatchedEnv(process.env, tsServerPath, !!execPath);
const runtimeArgs = [...args];
+ const execArgv = getExecArgv(kind, configuration);
+ const useIpc = !execPath && version.apiVersion?.gte(API.v460);
if (useIpc) {
runtimeArgs.push('--useNodeIpc');
}
- const childProcess = child_process.fork(tsServerPath, runtimeArgs, {
- silent: true,
- cwd: undefined,
- env: generatePatchedEnv(process.env, tsServerPath),
- execArgv: getExecArgv(kind, configuration),
- stdio: useIpc ? ['pipe', 'pipe', 'pipe', 'ipc'] : undefined,
- });
+ const childProcess = execPath ?
+ child_process.spawn(execPath, [...execArgv, tsServerPath, ...runtimeArgs], {
+ shell: true,
+ windowsHide: true,
+ cwd: undefined,
+ env,
+ }) :
+ child_process.fork(tsServerPath, runtimeArgs, {
+ silent: true,
+ cwd: undefined,
+ env,
+ execArgv,
+ stdio: useIpc ? ['pipe', 'pipe', 'pipe', 'ipc'] : undefined,
+ });
return useIpc ? new IpcChildServerProcess(childProcess) : new StdioChildServerProcess(childProcess);
}
diff --git a/extensions/typescript-language-features/src/tsServer/spawner.ts b/extensions/typescript-language-features/src/tsServer/spawner.ts
index 0fa9bedf4a6..52dcf5baa19 100644
--- a/extensions/typescript-language-features/src/tsServer/spawner.ts
+++ b/extensions/typescript-language-features/src/tsServer/spawner.ts
@@ -19,6 +19,7 @@ import { PluginManager } from './plugins';
import { GetErrRoutingTsServer, ITypeScriptServer, SingleTsServer, SyntaxRoutingTsServer, TsServerDelegate, TsServerLog, TsServerProcessFactory, TsServerProcessKind } from './server';
import { TypeScriptVersionManager } from './versionManager';
import { ITypeScriptVersionProvider, TypeScriptVersion } from './versionProvider';
+import { NodeVersionManager } from './nodeManager';
const enum CompositeServerType {
/** Run a single server that handles all commands */
@@ -44,6 +45,7 @@ export class TypeScriptServerSpawner {
public constructor(
private readonly _versionProvider: ITypeScriptVersionProvider,
private readonly _versionManager: TypeScriptVersionManager,
+ private readonly _nodeVersionManager: NodeVersionManager,
private readonly _logDirectoryProvider: ILogDirectoryProvider,
private readonly _pluginPathsProvider: TypeScriptPluginPathsProvider,
private readonly _logger: Logger,
@@ -160,7 +162,7 @@ export class TypeScriptServerSpawner {
}
this._logger.info(`<${kind}> Forking...`);
- const process = this._factory.fork(version, args, kind, configuration, this._versionManager, tsServerLog);
+ const process = this._factory.fork(version, args, kind, configuration, this._versionManager, this._nodeVersionManager, tsServerLog);
this._logger.info(`<${kind}> Starting...`);
return new SingleTsServer(
diff --git a/extensions/typescript-language-features/src/typescriptServiceClient.ts b/extensions/typescript-language-features/src/typescriptServiceClient.ts
index 86c6bb8d9f1..5b7591bfd8f 100644
--- a/extensions/typescript-language-features/src/typescriptServiceClient.ts
+++ b/extensions/typescript-language-features/src/typescriptServiceClient.ts
@@ -30,6 +30,7 @@ import { TelemetryProperties, TelemetryReporter, VSCodeTelemetryReporter } from
import Tracer from './logging/tracer';
import { ProjectType, inferredProjectCompilerOptions } from './tsconfig';
import { Schemes } from './configuration/schemes';
+import { NodeVersionManager } from './tsServer/nodeManager';
export interface TsDiagnostics {
@@ -103,6 +104,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
private _configuration: TypeScriptServiceConfiguration;
private readonly pluginPathsProvider: TypeScriptPluginPathsProvider;
private readonly _versionManager: TypeScriptVersionManager;
+ private readonly _nodeVersionManager: NodeVersionManager;
private readonly logger: Logger;
private readonly tracer: Tracer;
@@ -173,10 +175,14 @@ export default class TypeScriptServiceClient extends Disposable implements IType
this.restartTsServer();
}));
+ this._nodeVersionManager = this._register(new NodeVersionManager(this._configuration, context.workspaceState));
+ this._register(this._nodeVersionManager.onDidPickNewVersion(() => {
+ this.restartTsServer();
+ }));
+
this.bufferSyncSupport = new BufferSyncSupport(this, allModeIds, onCaseInsenitiveFileSystem);
this.onReady(() => { this.bufferSyncSupport.listen(); });
- this.diagnosticsManager = new DiagnosticsManager('typescript', onCaseInsenitiveFileSystem);
this.bufferSyncSupport.onDelete(resource => {
this.cancelInflightRequestsForResource(resource);
this.diagnosticsManager.deleteAllDiagnosticsInFile(resource);
@@ -193,6 +199,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
this.versionProvider.updateConfiguration(this._configuration);
this._versionManager.updateConfiguration(this._configuration);
this.pluginPathsProvider.updateConfiguration(this._configuration);
+ this._nodeVersionManager.updateConfiguration(this._configuration);
if (this.serverState.type === ServerState.Type.Running) {
if (!this._configuration.implicitProjectConfiguration.isEqualTo(oldConfiguration.implicitProjectConfiguration)) {
@@ -214,7 +221,8 @@ export default class TypeScriptServiceClient extends Disposable implements IType
return this.apiVersion.fullVersionString;
});
- this.typescriptServerSpawner = new TypeScriptServerSpawner(this.versionProvider, this._versionManager, this.logDirectoryProvider, this.pluginPathsProvider, this.logger, this.telemetryReporter, this.tracer, this.processFactory);
+ this.diagnosticsManager = new DiagnosticsManager('typescript', this._configuration, this.telemetryReporter, onCaseInsenitiveFileSystem);
+ this.typescriptServerSpawner = new TypeScriptServerSpawner(this.versionProvider, this._versionManager, this._nodeVersionManager, this.logDirectoryProvider, this.pluginPathsProvider, this.logger, this.telemetryReporter, this.tracer, this.processFactory);
this._register(this.pluginManager.onDidUpdateConfig(update => {
this.configurePlugin(update.pluginId, update.config);
@@ -388,6 +396,10 @@ export default class TypeScriptServiceClient extends Disposable implements IType
}
this.info(`Using tsserver from: ${version.path}`);
+ const nodePath = this._nodeVersionManager.currentVersion;
+ if (nodePath) {
+ this.info(`Using Node installation from ${nodePath} to run TS Server`);
+ }
const apiVersion = version.apiVersion || API.defaultVersion;
const mytoken = ++this.token;
diff --git a/extensions/typescript-language-features/tsconfig.json b/extensions/typescript-language-features/tsconfig.json
index e9327c99fc5..e649de38986 100644
--- a/extensions/typescript-language-features/tsconfig.json
+++ b/extensions/typescript-language-features/tsconfig.json
@@ -2,6 +2,7 @@
"extends": "../tsconfig.base.json",
"compilerOptions": {
"outDir": "./out",
+ "esModuleInterop": true,
"experimentalDecorators": true,
"types": [
"node"
diff --git a/extensions/typescript-language-features/web/README.md b/extensions/typescript-language-features/web/README.md
index 9cae35b8cf3..eda9e9cb00b 100644
--- a/extensions/typescript-language-features/web/README.md
+++ b/extensions/typescript-language-features/web/README.md
@@ -1,154 +1,45 @@
# vscode-wasm-typescript
-Language server host for typescript using vscode's sync-api in the browser
-## TODOs
+Language server host for typescript using vscode's sync-api in the browser.
-### Prototype
+## Getting up and running
-- [x] get semantic diagnostics rendering squigglies
- - typescriptserviceclient.ts has some functions that look at `scheme` to determine some features (hasCapabilityForResource) (also getWorkspaceRootForResource)
- - known schemes are in utils/fileSchemes.ts, but don't include vscode-test-web
- - adding vscode-test-web in a couple places didn't help, maybe I need to be hackier
- - nope, another predicate is `isWeb`, so I had to change place(s) it's used too
-- [x] cancellation
+To test this out, you'll need three shells:
-### Cleanup
+1. `yarn watch` for vscode itself
+2. `yarn watch-web` for the web side
+3. `node /scripts/code-web.js --coi`
-- [x] point webpack hack to node_modules; link those files to locally built ones
-- [x] create one or more MessageChannels for various communication
-- [x] shut down normal listener
- - starting the server currently crashes because ts.sys isn't defined -- I think it's a race condition.
- In any case it'll need to get shut down before then, which may not be possible without changing Typescript.
- - LATER: Turns out you can skip the existing server by depending on tsserverlibrary instead of tsserver.
-- [x] figure out a webpack-native way to generate tsserver.web.js if possible
-- [x] path rewriting is pretty loosey-goosey; likely to be incorrect some of the time
- - invert the logic from TypeScriptServiceClient.normalizedPath for requests
- - invert the function from webServer.ts for responses (maybe)
- - something with getWorkspaceRootForResource (or anything else that checks `resouce.scheme`)
-- [x] put files one level down from virtual root
-- [x] fill in missing environment files like lib.dom.d.ts
- - toResource's isWeb branch *probably* knows where to find this, just need to put it in the virtual FS
- - I guess during setup in serverProcess.browser.ts.
- - Not sure whether it needs to have the data or just a fs entry.
- - Wait, I don't know how files get added to the FS normally.
-- [x] cancellation should only retain one cancellation checker
- - the one that matches the current request id
- - but that means tracking (or retrieving from tsserver) the request id (aka seq?)
- - and correctly setting/resetting it on the cancellation token too.
- - I looked at the tsserver code. I think the web case is close to the single-pipe node case,
- so I just require that requestId is set in order to call the *current* cancellation checker.
- - Any incoming message with a cancellation checker will overwrite the current one.
-- [x] Cancellation code in vscode is suspiciously prototypey.
- - Specifically, it adds the vscode-wasm cancellation to original cancellation code, but should actually switch to the former for web only.
- - looks like `isWeb()` is a way to check for being on the web
-- [x] create multiple watchers
- - on-demand instead of watching everything and checking on watch firing
-- [x] get file watching to work
- - it could *already* work, I just don't know how to test it
- - look at extensions/markdown-language-features/src/client/fileWatchingManager.ts to see if I can use that
- - later: it is OK. its main difference is that you can watch files in not-yet-created directories, and it maintains
- a web of directory watches that then check whether the file is eventually created.
- - even later: well, it works even though it is similar to my code.
- I'm not sure what is different.
-- [x] copy fileWatchingManager.ts to web/ ; there's no sharing code between extensions
-- [x] Find out scheme the web actually uses instead of vscode-test-web (or switch over entirely to isWeb)
-- [x] Need to parse and pass args through so that the syntax server isn't hard-coded to actually be another semantic server
-- [x] think about implementing all the other ServerHost methods
- - [x] copy importPlugin from previous version of webServer.ts
- - [x] also copy details from
- - previous implementation (although it's syntax-only so only covers part)
- - node implementation in typescript proper
-- [x] make realpath support symlinks similarly to node's realpath.
- - Johannes says that the filesystem automatically follows symlinks,
- so I don't think this is needed.
-- [x] organise webServer.ts into multiple files
- - OR at least re-arrange it so the diff with the previous version is smaller
- - split it into multiple files after the initial PR
-- [x] clear out TODOs
-- [x] add semicolons everywhere; vscode's lint doesn't seem to complain, but the code clearly uses them
-- [x] Further questions about host methods based on existing implementations
- - `require` -- is this needed? In TS, it's only used in project system
- - `trace` -- is this needed? In TS, it's only used in project system
- - `useCaseSensitiveFileNames` -- old version says 'false' is the
- safest option, but the virtual fs is case sensitive. Is the old
- version still better?
- - `writeOutputIsTTY` -- I'm using apiClient.vscode.terminal.write -- is it a tty?
- - `getWidthOfTerminal` -- I don't know where to find this on apiClient.vscode.terminal either
- - `clearScreen` -- node version writes \x1BC to the terminal. Would
- this work for vscode?
- - `readFile/writeFile` -- TS handles utf8, utf16le and manually
- converts big-endian to utf16 little-endian. How does the in-memory
- filesystem handle this? There's no place to specify encoding. (And
- `writeFile` currently ignores the flag to write a BOM.)
- - `resolvePath` -- node version uses path.resolve. Is it OK to use
- that? Or should I re-implement it? Just use identity like the old
- web code?
- - `getDirectories`/`readDirectory`
- - the node code manually skips '.' and '..' in the array returned by
- readDirectory. Is this needed?
- - `createSHA256Hash` -- the browser version is async, so I skipped it
- - `realpath` -- still skips symlinks, I need to figure out what node does
+The last command will open a browser window. You'll want to add `?vscode-coi=`
+to the end. This is for enabling shared array buffers. So, for example:
+`http://localhost:8080/?vscode-coi=`.
-### Bugs
+### Working on type acquisition
-- [x] Response `seq` is always 0.
-- [ ] current method of encoding /scheme/authority means that (node) module resolution looks for /scheme/node_modules and /node_modules
- - even though they can't possibly exist
- - probably not a problem though
-- [x] problems pane doesn't clear problems issued on tsconfig.
- - This is a known problem in normal usage as well.
-- [x] renaming a file throws a No Project error to the console.
-- [x] gotodef in another file throws and the editor has a special UI for it.
- - definitionProviderBase.getSymbolLocations calls toOpenedFilePath which eventually calls the new / code
- - then it calls client.execute which appears to actually request/response to the tsserver
- - then the response body is mapped over location.file >> client.toResource >> fromTextSpan
- - toResource has isWeb support, as well as (now unused) inMemoryResourcePrefix support
- - so I can just redo whatever that did and it'll be fine
+In order to work with web's new type acquisition, you'll need to enable
+`TypeScript > Experimental > Tsserver > Web: Enable Project Wide Intellisense`
+in your VS Code options (`Ctrl-,`), you may need to reload the page.
-### Done
-- [x] need to update 0.2 -> 0.7.* API (once it's working properly)
-- [x] including reshuffling the webpack hack if needed
-- [x] need to use the settings recommended by Sheetal
-- [x] ProjectService always requests a typesMap.json at the cwd
-- [x] sync-api-client says fs is rooted at memfs:/sample-folder; the protocol 'memfs:' is confusing our file parsing I think
-- [x] nothing ever seems to find tsconfig.json
-- [x] messages aren't actually coming through, just the message from the first request
- - fixed by simplifying the listener setup for now
-- [x] once messages work, you can probably log by postMessage({ type: 'log', body: "some logging text" })
-- [x] implement realpath, modifiedtime, resolvepath, then turn semantic mode on
-- [x] file watching implemented with saved map of filename to callback, and forwarding
+This happens when working in a regular `.js` file on a dependency without
+declared types. You should be able to open `file.js` and write something like
+`import lodash from 'lodash';` at the top of the file and, after a moment, get
+types and other intellisense features (like Go To Def/Source Def) working as
+expected. This scenario works off Tsserver's own Automatic Type Acquisition
+capabilities, and simulates a "global" types cache stored at
+`/vscode-global-typings/ts-nul-authority/project`, which is backed by an
+in-memory `MemFs` `FileSystemProvider`.
-### Also
+### Simulated `node_modules`
-- [ ] ATA will eventually need a host interface, or an improvement of the existing one (?)
-
-## Notes
-
-messages received by extension AND host use paths like ^/memfs/ts-nul-authority/sample-folder/file.ts
-- problem: pretty sure the extension doesn't know what to do with that: it's not putting down error spans in file.ts
-- question: why is the extension requesting quickinfo in that URI format? And it works! (probably because the result is a tooltip, not an in-file span)
-- problem: weird concatenations with memfs:/ in the middle
-- problem: weird concatenations with ^/memfs/ts-nul-authority in the middle
-
-question: where is the population of sample-folder with a bunch of files happening?
-
-question: Is that location writable while it's running?
-
-but readFile is getting called with things like memfs:/sample-folder/memfs:/typesMap.json
- directoryExists with /sample-folder/node_modules/@types and /node_modules/@types
- same for watchDirectory
- watchDirectory with /sample-folder/^ and directoryExists with /sample-folder/^/memfs/ts-nul-authority/sample-folder/workspaces/
- watchFile with /sample-folder/memfs:/sample-folder/memfs:/lib.es2020.full.d.ts
-
-### LATER:
-
-OK, so the paths that tsserver has look like this: ^/scheme/mount/whatever.ts
-but the paths the filesystem has look like this: scheme:/whatever.ts (not sure about 'mount', that's only when cloning from the fs)
-so you have to shave off the scheme that the host combined with the path and put on the scheme that the vfs is using.
-
-### LATER 2:
-
-Some commands ask for getExecutingFilePath or getCurrentDirectory and cons up a path themselves.
-This works, because URI.from({ scheme, path }) matches what the fs has in it
-Problem: In *some* messages (all?), vscode then refers to /x.ts and ^/vscode-test-web/mount/x.ts (or ^/memfs/ts-nul-authority/x.ts)
+For regular `.ts` files, instead of going through Tsserver's type acquisition,
+a separate `AutoInstallerFs` is used to create a "virtual" `node_modules` that
+extracts desired packages on demand, to an underlying `MemFs`. This will
+happen any time a filesystem operation is done inside a `node_modules` folder
+across any project in the workspace, and will use the "real" `package.json`
+(and, if present, `package-lock.json`) to resolve the dependency tree.
+A fallback is then set up such that when a URI like
+`memfs:/path/to/node_modules/lodash/lodash.d.ts` is accessed, that gets
+redirected to
+`vscode-node-modules:/ts-nul-authority/memfs/ts-nul-authority/path/to/node_modules/lodash/lodash.d.ts`,
+which will be sent to the `AutoInstallerFs`.
diff --git a/extensions/typescript-language-features/web/jsTyping.ts b/extensions/typescript-language-features/web/jsTyping.ts
new file mode 100644
index 00000000000..bd940e88c1c
--- /dev/null
+++ b/extensions/typescript-language-features/web/jsTyping.ts
@@ -0,0 +1,78 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+/// Utilities copied from ts.JsTyping internals
+
+export const enum NameValidationResult {
+ Ok,
+ EmptyName,
+ NameTooLong,
+ NameStartsWithDot,
+ NameStartsWithUnderscore,
+ NameContainsNonURISafeCharacters
+}
+
+type PackageNameValidationResult = NameValidationResult | ScopedPackageNameValidationResult;
+
+interface ScopedPackageNameValidationResult {
+ readonly name: string;
+ readonly isScopeName: boolean;
+ readonly result: NameValidationResult;
+}
+
+enum CharacterCodes {
+ _ = 0x5F,
+ dot = 0x2E,
+}
+
+const maxPackageNameLength = 214;
+
+// Validates package name using rules defined at https://docs.npmjs.com/files/package.json
+// Copied from typescript/jsTypings.ts
+export function validatePackageNameWorker(packageName: string, supportScopedPackage: true): ScopedPackageNameValidationResult;
+export function validatePackageNameWorker(packageName: string, supportScopedPackage: false): NameValidationResult;
+export function validatePackageNameWorker(packageName: string, supportScopedPackage: boolean): PackageNameValidationResult {
+ if (!packageName) {
+ return NameValidationResult.EmptyName;
+ }
+ if (packageName.length > maxPackageNameLength) {
+ return NameValidationResult.NameTooLong;
+ }
+ if (packageName.charCodeAt(0) === CharacterCodes.dot) {
+ return NameValidationResult.NameStartsWithDot;
+ }
+ if (packageName.charCodeAt(0) === CharacterCodes._) {
+ return NameValidationResult.NameStartsWithUnderscore;
+ }
+
+ // check if name is scope package like: starts with @ and has one '/' in the middle
+ // scoped packages are not currently supported
+ if (supportScopedPackage) {
+ const matches = /^@([^/]+)\/([^/]+)$/.exec(packageName);
+ if (matches) {
+ const scopeResult = validatePackageNameWorker(matches[1], /*supportScopedPackage*/ false);
+ if (scopeResult !== NameValidationResult.Ok) {
+ return { name: matches[1], isScopeName: true, result: scopeResult };
+ }
+ const packageResult = validatePackageNameWorker(matches[2], /*supportScopedPackage*/ false);
+ if (packageResult !== NameValidationResult.Ok) {
+ return { name: matches[2], isScopeName: false, result: packageResult };
+ }
+ return NameValidationResult.Ok;
+ }
+ }
+
+ if (encodeURIComponent(packageName) !== packageName) {
+ return NameValidationResult.NameContainsNonURISafeCharacters;
+ }
+
+ return NameValidationResult.Ok;
+}
+
+export interface TypingResolutionHost {
+ directoryExists(path: string): boolean;
+ fileExists(fileName: string): boolean;
+ readFile(path: string, encoding?: string): string | undefined;
+ readDirectory(rootDir: string, extensions: readonly string[], excludes: readonly string[] | undefined, includes: readonly string[] | undefined, depth?: number): string[];
+}
diff --git a/extensions/typescript-language-features/web/tsconfig.json b/extensions/typescript-language-features/web/tsconfig.json
index 9944d5b63d8..531d57bddcb 100644
--- a/extensions/typescript-language-features/web/tsconfig.json
+++ b/extensions/typescript-language-features/web/tsconfig.json
@@ -2,8 +2,7 @@
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "../../out",
- "module": "nodenext",
- "moduleDetection": "legacy",
+ "esModuleInterop": true,
"experimentalDecorators": true,
"types": [
"node"
diff --git a/extensions/typescript-language-features/web/typingsInstaller.ts b/extensions/typescript-language-features/web/typingsInstaller.ts
new file mode 100644
index 00000000000..7b9b164c40c
--- /dev/null
+++ b/extensions/typescript-language-features/web/typingsInstaller.ts
@@ -0,0 +1,213 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+/*
+ * This file implements the global typings installer API for web clients. It
+ * uses [nassun](https://docs.rs/nassun) and
+ * [node-maintainer](https://docs.rs/node-maintainer) to install typings
+ * in-memory (and maybe eventually cache them in IndexedDB?).
+ *
+ * Implementing a typings installer involves implementing two parts:
+ *
+ * -> ITypingsInstaller: the "top level" interface that tsserver uses to
+ * request typings. Implementers of this interface are what actually get
+ * passed to tsserver.
+ *
+ * -> TypingsInstaller: an abstract class that implements a good chunk of
+ * the "generic" functionality for what ITypingsInstaller needs to do. For
+ * implementation detail reasons, it does this in a "server/client" model of
+ * sorts. In our case, we don't need a separate process, or even _quite_ a
+ * pure "server/client" model, so we play along a bit for the sake of reusing
+ * the stuff the abstract class is already doing for us.
+ */
+
+import { PackageManager, PackageType } from '@vscode/ts-package-manager';
+import { join } from 'path';
+import * as ts from 'typescript/lib/tsserverlibrary';
+import { NameValidationResult, validatePackageNameWorker } from './jsTyping';
+
+type InstallerResponse = ts.server.PackageInstalledResponse | ts.server.SetTypings | ts.server.InvalidateCachedTypings | ts.server.BeginInstallTypes | ts.server.EndInstallTypes | ts.server.WatchTypingLocations;
+
+/**
+ * The "server" part of the "server/client" model. This is the part that
+ * actually gets instantiated and passed to tsserver.
+ */
+export default class WebTypingsInstallerClient implements ts.server.ITypingsInstaller {
+
+ private projectService: ts.server.ProjectService | undefined;
+
+ private requestedRegistry = false;
+
+ private typesRegistryCache: Map> = new Map();
+
+ private readonly server: Promise;
+
+ constructor(
+ private readonly fs: ts.server.ServerHost,
+ readonly globalTypingsCacheLocation: string,
+ ) {
+ this.server = WebTypingsInstallerServer.initialize(
+ (response: InstallerResponse) => this.handleResponse(response),
+ this.fs,
+ globalTypingsCacheLocation
+ );
+ }
+
+ /**
+ * TypingsInstaller expects a "server/client" model, and as such, some of
+ * its methods are implemented in terms of sending responses back to a
+ * client. This method is a catch-all for those responses generated by
+ * TypingsInstaller internals.
+ */
+ private async handleResponse(response: InstallerResponse): Promise {
+ switch (response.kind) {
+ case 'action::packageInstalled':
+ case 'action::invalidate':
+ case 'action::set':
+ this.projectService!.updateTypingsForProject(response);
+ break;
+ case 'event::beginInstallTypes':
+ case 'event::endInstallTypes':
+ // Don't care.
+ break;
+ default:
+ throw new Error(`unexpected response: ${response}`);
+ }
+ }
+
+ // NB(kmarchan): this is a code action that expects an actual NPM-specific
+ // installation. We shouldn't mess with this ourselves.
+ async installPackage(_options: ts.server.InstallPackageOptionsWithProject): Promise {
+ throw new Error('not implemented');
+ }
+
+ // NB(kmarchan): As far as I can tell, this is only ever used for
+ // completions?
+ isKnownTypesPackageName(packageName: string): boolean {
+ console.log('isKnownTypesPackageName', packageName);
+ const looksLikeValidName = validatePackageNameWorker(packageName, true);
+ if (looksLikeValidName.result !== NameValidationResult.Ok) {
+ return false;
+ }
+
+ if (this.requestedRegistry) {
+ return !!this.typesRegistryCache && this.typesRegistryCache.has(packageName);
+ }
+
+ this.requestedRegistry = true;
+ this.server.then(s => this.typesRegistryCache = s.typesRegistry);
+ return false;
+ }
+
+ enqueueInstallTypingsRequest(p: ts.server.Project, typeAcquisition: ts.TypeAcquisition, unresolvedImports: ts.SortedReadonlyArray): void {
+ console.log('enqueueInstallTypingsRequest', typeAcquisition, unresolvedImports);
+ const req = ts.server.createInstallTypingsRequest(p, typeAcquisition, unresolvedImports);
+ this.server.then(s => s.install(req));
+ }
+
+ attach(projectService: ts.server.ProjectService): void {
+ this.projectService = projectService;
+ }
+
+ onProjectClosed(_projectService: ts.server.Project): void {
+ // noop
+ }
+}
+
+/**
+ * Internal implementation of the "server" part of the "server/client" model.
+ * This takes advantage of the existing TypingsInstaller to reuse a lot of
+ * already-implemented logic around package installation, but with
+ * installation details handled by Nassun/Node Maintainer.
+ */
+class WebTypingsInstallerServer extends ts.server.typingsInstaller.TypingsInstaller {
+
+ private static readonly typesRegistryPackageName = 'types-registry';
+
+ private constructor(
+ override typesRegistry: Map>,
+ private readonly handleResponse: (response: InstallerResponse) => void,
+ fs: ts.server.ServerHost,
+ private readonly packageManager: PackageManager,
+ globalTypingsCachePath: string,
+ ) {
+ super(fs, globalTypingsCachePath, join(globalTypingsCachePath, 'fakeSafeList') as ts.Path, join(globalTypingsCachePath, 'fakeTypesMapLocation') as ts.Path, Infinity);
+ }
+
+ /**
+ * Because loading the typesRegistry is an async operation for us, we need
+ * to have a separate "constructor" that will be used by
+ * WebTypingsInstallerClient.
+ *
+ * @returns a promise that resolves to a WebTypingsInstallerServer
+ */
+ static async initialize(
+ handleResponse: (response: InstallerResponse) => void,
+ fs: ts.server.ServerHost,
+ globalTypingsCachePath: string,
+ ): Promise {
+ const pm = new PackageManager(fs);
+ const pkgJson = join(globalTypingsCachePath, 'package.json');
+ if (!fs.fileExists(pkgJson)) {
+ fs.writeFile(pkgJson, '{"private":true}');
+ }
+ const resolved = await pm.resolveProject(globalTypingsCachePath, {
+ addPackages: [this.typesRegistryPackageName]
+ });
+ await resolved.restore();
+
+ const registry = new Map>();
+ const indexPath = join(globalTypingsCachePath, 'node_modules/types-registry/index.json');
+ const index = WebTypingsInstallerServer.readJson(fs, indexPath);
+ for (const [packageName, entry] of Object.entries(index.entries)) {
+ registry.set(packageName, entry as ts.MapLike);
+ }
+ console.log('ATA registry loaded');
+ return new WebTypingsInstallerServer(registry, handleResponse, fs, pm, globalTypingsCachePath);
+ }
+
+ /**
+ * Implements the actual logic of installing a set of given packages. It
+ * does this by looking up the latest versions of those packages using
+ * Nassun, then handing Node Maintainer the updated package.json to run a
+ * full install (modulo existing lockfiles, which can make this faster).
+ */
+ protected override installWorker(requestId: number, packageNames: string[], cwd: string, onRequestCompleted: ts.server.typingsInstaller.RequestCompletedAction): void {
+ console.log('installWorker', requestId, cwd);
+ (async () => {
+ try {
+ const resolved = await this.packageManager.resolveProject(cwd, {
+ addPackages: packageNames,
+ packageType: PackageType.DevDependency
+ });
+ await resolved.restore();
+ onRequestCompleted(true);
+ } catch (e) {
+ onRequestCompleted(false);
+ }
+ })();
+ }
+
+ /**
+ * This is a thing that TypingsInstaller uses internally to send
+ * responses, and we'll need to handle this in the Client later.
+ */
+ protected override sendResponse(response: InstallerResponse): void {
+ this.handleResponse(response);
+ }
+
+ /**
+ * What it says on the tin. Reads a JSON file from the given path. Throws
+ * if the file doesn't exist (as opposed to returning `undefined`, like
+ * fs.readFile does).
+ */
+ private static readJson(fs: ts.server.ServerHost, path: string): any {
+ const data = fs.readFile(path);
+ if (!data) {
+ throw new Error('Failed to read file: ' + path);
+ }
+ return JSON.parse(data.trim());
+ }
+}
diff --git a/extensions/typescript-language-features/web/webServer.ts b/extensions/typescript-language-features/web/webServer.ts
index 1688a93fcc0..191c2d03f63 100644
--- a/extensions/typescript-language-features/web/webServer.ts
+++ b/extensions/typescript-language-features/web/webServer.ts
@@ -5,10 +5,12 @@
///
///
-import * as ts from 'typescript/lib/tsserverlibrary';
-import { ApiClient, FileType, Requests } from '@vscode/sync-api-client';
+import { ApiClient, FileStat, FileSystem, FileType, Requests } from '@vscode/sync-api-client';
import { ClientConnection } from '@vscode/sync-api-common/browser';
+import { basename } from 'path';
+import * as ts from 'typescript/lib/tsserverlibrary';
import { URI } from 'vscode-uri';
+import WebTypingsInstaller from './typingsInstaller';
// GLOBALS
const watchFiles: Map = new Map();
@@ -87,7 +89,7 @@ class AccessOutsideOfRootError extends Error {
type ServerHostWithImport = ts.server.ServerHost & { importPlugin(root: string, moduleName: string): Promise };
-function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient: ApiClient | undefined, args: string[], fsWatcher: MessagePort): ServerHostWithImport {
+function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient: ApiClient | undefined, args: string[], fsWatcher: MessagePort, enabledExperimentalTypeAcquisition: boolean): ServerHostWithImport {
const currentDirectory = '/';
const fs = apiClient?.vscode.workspace.fileSystem;
let watchId = 0;
@@ -99,7 +101,6 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
const directorySeparator: string = (ts as any).directorySeparator;
const executingFilePath = findArgument(args, '--executingFilePath') || location + '';
const getExecutingDirectoryPath = memoize(() => memoize(() => ensureTrailingDirectorySeparator(getDirectoryPath(executingFilePath))));
- // Later we could map ^memfs:/ to do something special if we want to enable more functionality like module resolution or something like that
const getWebPath = (path: string) => path.startsWith(directorySeparator) ? path.replace(directorySeparator, getExecutingDirectoryPath()) : undefined;
const textDecoder = new TextDecoder();
@@ -121,6 +122,8 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
return noopWatcher;
}
+ console.log('watching file:', path);
+
logVerbose('fs.watchFile', { path });
let uri: URI;
@@ -132,14 +135,20 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
}
watchFiles.set(path, { path, callback, pollingInterval, options });
- watchId++;
- fsWatcher.postMessage({ type: 'watchFile', uri, id: watchId });
+ const watchIds = [++watchId];
+ fsWatcher.postMessage({ type: 'watchFile', uri: uri, id: watchIds[0] });
+ if (enabledExperimentalTypeAcquisition && looksLikeNodeModules(path)) {
+ watchIds.push(++watchId);
+ fsWatcher.postMessage({ type: 'watchFile', uri: mapUri(uri, 'vscode-node-modules'), id: watchIds[1] });
+ }
return {
close() {
logVerbose('fs.watchFile.close', { path });
watchFiles.delete(path);
- fsWatcher.postMessage({ type: 'dispose', id: watchId });
+ for (const id of watchIds) {
+ fsWatcher.postMessage({ type: 'dispose', id });
+ }
}
};
},
@@ -155,14 +164,16 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
}
watchDirectories.set(path, { path, callback, recursive, options });
- watchId++;
+ const watchIds = [++watchId];
fsWatcher.postMessage({ type: 'watchDirectory', recursive, uri, id: watchId });
return {
close() {
logVerbose('fs.watchDirectory.close', { path });
watchDirectories.delete(path);
- fsWatcher.postMessage({ type: 'dispose', id: watchId });
+ for (const id of watchIds) {
+ fsWatcher.postMessage({ type: 'dispose', id });
+ }
}
};
},
@@ -226,14 +237,28 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
}
}
+ let uri;
try {
- // We need to slice the bytes since we can't pass a shared array to text decoder
- const contents = fs.readFile(toResource(path)).slice();
- return textDecoder.decode(contents);
- } catch (error) {
- logNormal('Error fs.readFile', { path, error: error + '' });
+ uri = toResource(path);
+ } catch (e) {
return undefined;
}
+
+ let contents: Uint8Array | undefined;
+ try {
+ // We need to slice the bytes since we can't pass a shared array to text decoder
+ contents = fs.readFile(uri);
+ } catch (error) {
+ if (!enabledExperimentalTypeAcquisition) {
+ return undefined;
+ }
+ try {
+ contents = fs.readFile(mapUri(uri, 'vscode-node-modules'));
+ } catch (e) {
+ return undefined;
+ }
+ }
+ return textDecoder.decode(contents.slice());
},
getFileSize(path) {
logVerbose('fs.getFileSize', { path });
@@ -242,12 +267,19 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
throw new Error('not supported');
}
+ const uri = toResource(path);
+ let ret = 0;
try {
- return fs.stat(toResource(path)).size;
- } catch (error) {
- logNormal('Error fs.getFileSize', { path, error: error + '' });
- return 0;
+ ret = fs.stat(uri).size;
+ } catch (_error) {
+ if (enabledExperimentalTypeAcquisition) {
+ try {
+ ret = fs.stat(mapUri(uri, 'vscode-node-modules')).size;
+ } catch (_error) {
+ }
+ }
}
+ return ret;
},
writeFile(path, data, writeByteOrderMark) {
logVerbose('fs.writeFile', { path });
@@ -260,10 +292,21 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
data = byteOrderMarkIndicator + data;
}
+ let uri;
try {
- fs.writeFile(toResource(path), textEncoder.encode(data));
+ uri = toResource(path);
+ } catch (e) {
+ return;
+ }
+ const encoded = textEncoder.encode(data);
+ try {
+ fs.writeFile(uri, encoded);
+ const name = basename(uri.path);
+ if (uri.scheme !== 'vscode-global-typings' && (name === 'package.json' || name === 'package-lock.json' || name === 'package-lock.kdl')) {
+ fs.writeFile(mapUri(uri, 'vscode-node-modules'), encoded);
+ }
} catch (error) {
- logNormal('Error fs.writeFile', { path, error: error + '' });
+ console.error('fs.writeFile', { path, error });
}
},
resolvePath(path: string): string {
@@ -284,12 +327,24 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
return request.status === 200;
}
+ let uri;
try {
- return fs.stat(toResource(path)).type === FileType.File;
- } catch (error) {
- logNormal('Error fs.fileExists', { path, error: error + '' });
+ uri = toResource(path);
+ } catch (e) {
return false;
}
+ let ret = false;
+ try {
+ ret = fs.stat(uri).type === FileType.File;
+ } catch (_error) {
+ if (enabledExperimentalTypeAcquisition) {
+ try {
+ ret = fs.stat(mapUri(uri, 'vscode-node-modules')).type === FileType.File;
+ } catch (_error) {
+ }
+ }
+ }
+ return ret;
},
directoryExists(path: string): boolean {
logVerbose('fs.directoryExists', { path });
@@ -298,10 +353,32 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
return false;
}
+ let uri;
try {
- return fs.stat(toResource(path)).type === FileType.Directory;
- } catch (error) {
- logNormal('Error fs.directoryExists', { path, error: error + '' });
+ uri = toResource(path);
+ } catch (_error) {
+ return false;
+ }
+
+ let stat: FileStat | undefined = undefined;
+ try {
+ stat = fs.stat(uri);
+ } catch (_error) {
+ if (enabledExperimentalTypeAcquisition) {
+ try {
+ stat = fs.stat(mapUri(uri, 'vscode-node-modules'));
+ } catch (_error) {
+ }
+ }
+ }
+ if (stat) {
+ if (path.startsWith('/https') && !path.endsWith('.d.ts')) {
+ // TODO: Hack, https "file system" can't actually tell what is a file vs directory
+ return stat.type === FileType.File || stat.type === FileType.Directory;
+ }
+
+ return stat.type === FileType.Directory;
+ } else {
return false;
}
},
@@ -341,12 +418,19 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
throw new Error('not supported');
}
+ const uri = toResource(path);
+ let s: FileStat | undefined = undefined;
try {
- return new Date(fs.stat(toResource(path)).mtime);
- } catch (error) {
- logNormal('Error fs.getModifiedTime', { path, error: error + '' });
- return undefined;
+ s = fs.stat(uri);
+ } catch (_e) {
+ if (enabledExperimentalTypeAcquisition) {
+ try {
+ s = fs.stat(mapUri(uri, 'vscode-node-modules'));
+ } catch (_e) {
+ }
+ }
}
+ return s && new Date(s.mtime);
},
deleteFile(path: string): void {
logVerbose('fs.deleteFile', { path });
@@ -373,13 +457,19 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
base64encode: input => Buffer.from(input).toString('base64'),
};
- /** For module resolution only; symlinks aren't supported yet. */
+ // For module resolution only. `node_modules` is also automatically mapped
+ // as if all node_modules-like paths are symlinked.
function realpath(path: string): string {
- // skip paths without .. or ./ or /.
- if (!path.match(/\.\.|\/\.|\.\//)) {
+ const isNm = looksLikeNodeModules(path) && !path.startsWith('/vscode-global-typings/');
+ // skip paths without .. or ./ or /. And things that look like node_modules
+ if (!isNm && !path.match(/\.\.|\/\.|\.\//)) {
return path;
}
- const uri = toResource(path);
+
+ let uri = toResource(path);
+ if (isNm) {
+ uri = mapUri(uri, 'vscode-node-modules');
+ }
const out = [uri.scheme];
if (uri.authority) { out.push(uri.authority); }
for (const part of uri.path.split('/')) {
@@ -403,31 +493,35 @@ function createServerHost(extensionUri: URI, logger: ts.server.Logger, apiClient
throw new Error('not supported');
}
+ const uri = toResource(path || '.');
+ let entries: [string, FileType][] = [];
+ const files: string[] = [];
+ const directories: string[] = [];
try {
- const uri = toResource(path || '.');
- const entries = fs.readDirectory(uri);
- const files: string[] = [];
- const directories: string[] = [];
- for (const [entry, type] of entries) {
- // This is necessary because on some file system node fails to exclude
- // '.' and '..'. See https://github.com/nodejs/node/issues/4002
- if (entry === '.' || entry === '..') {
- continue;
- }
-
- if (type === FileType.File) {
- files.push(entry);
- }
- else if (type === FileType.Directory) {
- directories.push(entry);
- }
+ entries = fs.readDirectory(uri);
+ } catch (_e) {
+ try {
+ entries = fs.readDirectory(mapUri(uri, 'vscode-node-modules'));
+ } catch (_e) {
}
- files.sort();
- directories.sort();
- return { files, directories };
- } catch (e) {
- return { files: [], directories: [] };
}
+ for (const [entry, type] of entries) {
+ // This is necessary because on some file system node fails to exclude
+ // '.' and '..'. See https://github.com/nodejs/node/issues/4002
+ if (entry === '.' || entry === '..') {
+ continue;
+ }
+
+ if (type === FileType.File) {
+ files.push(entry);
+ }
+ else if (type === FileType.Directory) {
+ directories.push(entry);
+ }
+ }
+ files.sort();
+ directories.sort();
+ return { files, directories };
}
/**
@@ -475,6 +569,10 @@ function looksLikeLibDtsPath(filepath: string) {
return filepath.startsWith('/lib.') && filepath.endsWith('.d.ts');
}
+function looksLikeNodeModules(filepath: string) {
+ return filepath.includes('/node_modules');
+}
+
function filePathToResourceUri(filepath: string): URI | undefined {
const parts = filepath.match(/^\/([^\/]+)\/([^\/]*)(?:\/(.+))?$/);
if (!parts) {
@@ -509,14 +607,15 @@ class WasmCancellationToken implements ts.server.ServerCancellationToken {
}
interface StartSessionOptions {
- globalPlugins: ts.server.SessionOptions['globalPlugins'];
- pluginProbeLocations: ts.server.SessionOptions['pluginProbeLocations'];
- allowLocalPluginLoads: ts.server.SessionOptions['allowLocalPluginLoads'];
- useSingleInferredProject: ts.server.SessionOptions['useSingleInferredProject'];
- useInferredProjectPerProjectRoot: ts.server.SessionOptions['useInferredProjectPerProjectRoot'];
- suppressDiagnosticEvents: ts.server.SessionOptions['suppressDiagnosticEvents'];
- noGetErrOnBackgroundUpdate: ts.server.SessionOptions['noGetErrOnBackgroundUpdate'];
- serverMode: ts.server.SessionOptions['serverMode'];
+ readonly globalPlugins: ts.server.SessionOptions['globalPlugins'];
+ readonly pluginProbeLocations: ts.server.SessionOptions['pluginProbeLocations'];
+ readonly allowLocalPluginLoads: ts.server.SessionOptions['allowLocalPluginLoads'];
+ readonly useSingleInferredProject: ts.server.SessionOptions['useSingleInferredProject'];
+ readonly useInferredProjectPerProjectRoot: ts.server.SessionOptions['useInferredProjectPerProjectRoot'];
+ readonly suppressDiagnosticEvents: ts.server.SessionOptions['suppressDiagnosticEvents'];
+ readonly noGetErrOnBackgroundUpdate: ts.server.SessionOptions['noGetErrOnBackgroundUpdate'];
+ readonly serverMode: ts.server.SessionOptions['serverMode'];
+ readonly disableAutomaticTypingAcquisition: boolean;
}
class WorkerSession extends ts.server.Session<{}> {
@@ -526,17 +625,20 @@ class WorkerSession extends ts.server.Session<{}> {
constructor(
host: ts.server.ServerHost,
+ fs: FileSystem | undefined,
options: StartSessionOptions,
- public readonly port: MessagePort,
+ private readonly port: MessagePort,
logger: ts.server.Logger,
hrtime: ts.server.SessionOptions['hrtime']
) {
const cancellationToken = new WasmCancellationToken();
+ const typingsInstaller = options.disableAutomaticTypingAcquisition || !fs ? ts.server.nullTypingsInstaller : new WebTypingsInstaller(host, '/vscode-global-typings/ts-nul-authority/projects');
+
super({
host,
cancellationToken,
...options,
- typingsInstaller: ts.server.nullTypingsInstaller, // TODO: Someday!
+ typingsInstaller,
byteLength: () => { throw new Error('Not implemented'); }, // Formats the message text in send of Session which is overridden in this class so not needed
hrtime,
logger,
@@ -671,7 +773,7 @@ async function initializeSession(args: string[], extensionUri: URI, ports: { tss
logger.info(`Version: 0.0.0`);
logger.info(`Arguments: ${args.join(' ')}`);
logger.info(`ServerMode: ${serverMode} unknownServerMode: ${unknownServerMode}`);
- const options = {
+ const options: StartSessionOptions = {
globalPlugins: findArgumentStringArray(args, '--globalPlugins'),
pluginProbeLocations: findArgumentStringArray(args, '--pluginProbeLocations'),
allowLocalPluginLoads: hasArgument(args, '--allowLocalPluginLoads'),
@@ -679,22 +781,27 @@ async function initializeSession(args: string[], extensionUri: URI, ports: { tss
useInferredProjectPerProjectRoot: hasArgument(args, '--useInferredProjectPerProjectRoot'),
suppressDiagnosticEvents: hasArgument(args, '--suppressDiagnosticEvents'),
noGetErrOnBackgroundUpdate: hasArgument(args, '--noGetErrOnBackgroundUpdate'),
- serverMode
+ serverMode,
+ disableAutomaticTypingAcquisition: hasArgument(args, '--disableAutomaticTypingAcquisition'),
};
+
let sys: ServerHostWithImport;
+ let fs: FileSystem | undefined;
if (hasArgument(args, '--enableProjectWideIntelliSenseOnWeb')) {
+ const enabledExperimentalTypeAcquisition = hasArgument(args, '--experimentalTypeAcquisition');
const connection = new ClientConnection(ports.sync);
await connection.serviceReady();
- sys = createServerHost(extensionUri, logger, new ApiClient(connection), args, ports.watcher);
+ const apiClient = new ApiClient(connection);
+ fs = apiClient.vscode.workspace.fileSystem;
+ sys = createServerHost(extensionUri, logger, apiClient, args, ports.watcher, enabledExperimentalTypeAcquisition);
} else {
- sys = createServerHost(extensionUri, logger, undefined, args, ports.watcher);
-
+ sys = createServerHost(extensionUri, logger, undefined, args, ports.watcher, false);
}
setSys(sys);
- session = new WorkerSession(sys, options, ports.tsserver, logger, hrtime);
+ session = new WorkerSession(sys, fs, options, ports.tsserver, logger, hrtime);
session.listen();
}
@@ -743,3 +850,15 @@ const listener = async (e: any) => {
console.error(`unexpected message on main channel: ${JSON.stringify(e)}`);
};
addEventListener('message', listener);
+
+function mapUri(uri: URI, mappedScheme: string): URI {
+ if (uri.scheme === 'vscode-global-typings') {
+ throw new Error('can\'t map vscode-global-typings');
+ }
+ if (!uri.authority) {
+ uri = uri.with({ authority: 'ts-nul-authority' });
+ }
+ uri = uri.with({ scheme: mappedScheme, path: `/${uri.scheme}/${uri.authority || 'ts-nul-authority'}${uri.path}` });
+
+ return uri;
+}
diff --git a/extensions/typescript-language-features/yarn.lock b/extensions/typescript-language-features/yarn.lock
index 1b011de0449..710e6c54132 100644
--- a/extensions/typescript-language-features/yarn.lock
+++ b/extensions/typescript-language-features/yarn.lock
@@ -9,15 +9,16 @@
dependencies:
tslib "^2.2.0"
-"@azure/core-auth@^1.4.0":
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.4.0.tgz#6fa9661c1705857820dbc216df5ba5665ac36a9e"
- integrity sha512-HFrcTgmuSuukRf/EdPmqBrc5l6Q5Uu+2TbuhaKbgaCpP2TfAeiNaQPAadxO+CYBRHGUzIDteMAjFspFLDLnKVQ==
+"@azure/core-auth@^1.4.0", "@azure/core-auth@^1.5.0":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.5.0.tgz#a41848c5c31cb3b7c84c409885267d55a2c92e44"
+ integrity sha512-udzoBuYG1VBoHVohDTrvKjyzel34zt77Bhp7dQntVGGD0ehVq48owENbBG8fIgkHRNUBQH5k1r0hpoMu5L8+kw==
dependencies:
"@azure/abort-controller" "^1.0.0"
+ "@azure/core-util" "^1.1.0"
tslib "^2.2.0"
-"@azure/core-rest-pipeline@^1.10.0":
+"@azure/core-rest-pipeline@1.10.1":
version "1.10.1"
resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.10.1.tgz#348290847ca31b9eecf9cf5de7519aaccdd30968"
integrity sha512-Kji9k6TOFRDB5ZMTw8qUf2IJ+CeJtsuMdAHox9eqpTf1cefiNMpzrfnF6sINEBZJsaVaWgQ0o48B6kcUH68niA==
@@ -33,132 +34,204 @@
tslib "^2.2.0"
uuid "^8.3.0"
-"@azure/core-tracing@^1.0.1":
+"@azure/core-tracing@^1.0.0", "@azure/core-tracing@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@azure/core-tracing/-/core-tracing-1.0.1.tgz#352a38cbea438c4a83c86b314f48017d70ba9503"
integrity sha512-I5CGMoLtX+pI17ZdiFJZgxMJApsK6jjfm85hpgp3oazCdq5Wxgh4wMr7ge/TTWW1B5WBuvIOI1fMU/FrOAMKrw==
dependencies:
tslib "^2.2.0"
-"@azure/core-util@^1.0.0":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1"
- integrity sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog==
+"@azure/core-util@1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
+ integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
+ dependencies:
+ "@azure/abort-controller" "^1.0.0"
+ tslib "^2.2.0"
+
+"@azure/core-util@^1.0.0", "@azure/core-util@^1.1.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.4.0.tgz#c120a56b3e48a9e4d20619a0b00268ae9de891c7"
+ integrity sha512-eGAyJpm3skVQoLiRqm/xPa+SXi/NPDdSHMxbRAz2lSprd+Zs+qrpQGQQ2VQ3Nttu+nSZR4XoYQC71LbEI7jsig==
dependencies:
"@azure/abort-controller" "^1.0.0"
tslib "^2.2.0"
"@azure/logger@^1.0.0":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96"
- integrity sha512-aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g==
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.4.tgz#28bc6d0e5b3c38ef29296b32d35da4e483593fa1"
+ integrity sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==
dependencies:
tslib "^2.2.0"
-"@microsoft/1ds-core-js@3.2.8", "@microsoft/1ds-core-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.8.tgz#1b6b7d9bb858238c818ccf4e4b58ece7aeae5760"
- integrity sha512-9o9SUAamJiTXIYwpkQDuueYt83uZfXp8zp8YFix1IwVPwC9RmE36T2CX9gXOeq1nDckOuOduYpA8qHvdh5BGfQ==
+"@azure/opentelemetry-instrumentation-azure-sdk@^1.0.0-beta.5":
+ version "1.0.0-beta.5"
+ resolved "https://registry.yarnpkg.com/@azure/opentelemetry-instrumentation-azure-sdk/-/opentelemetry-instrumentation-azure-sdk-1.0.0-beta.5.tgz#78809e6c005d08450701e5d37f087f6fce2f86eb"
+ integrity sha512-fsUarKQDvjhmBO4nIfaZkfNSApm1hZBzcvpNbSrXdcUBxu7lRvKsV5DnwszX7cnhLyVOW9yl1uigtRQ1yDANjA==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
+ "@azure/core-tracing" "^1.0.0"
+ "@azure/logger" "^1.0.0"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/instrumentation" "^0.41.2"
+ tslib "^2.2.0"
+
+"@microsoft/1ds-core-js@3.2.13", "@microsoft/1ds-core-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-core-js/-/1ds-core-js-3.2.13.tgz#0c105ed75091bae3f1555c0334704fa9911c58fb"
+ integrity sha512-CluYTRWcEk0ObG5EWFNWhs87e2qchJUn0p2D21ZUa3PWojPZfPSBs4//WIE0MYV8Qg1Hdif2ZTwlM7TbYUjfAg==
+ dependencies:
+ "@microsoft/applicationinsights-core-js" "2.8.15"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/1ds-post-js@^3.2.8":
- version "3.2.8"
- resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.8.tgz#46793842cca161bf7a2a5b6053c349f429e55110"
- integrity sha512-SjlRoNcXcXBH6WQD/5SkkaCHIVqldH3gDu+bI7YagrOVJ5APxwT1Duw9gm3L1FjFa9S2i81fvJ3EVSKpp9wULA==
+"@microsoft/1ds-post-js@^3.2.13":
+ version "3.2.13"
+ resolved "https://registry.yarnpkg.com/@microsoft/1ds-post-js/-/1ds-post-js-3.2.13.tgz#560aacac8a92fdbb79e8c2ebcb293d56e19f51aa"
+ integrity sha512-HgS574fdD19Bo2vPguyznL4eDw7Pcm1cVNpvbvBLWiW3x4e1FCQ3VMXChWnAxCae8Hb0XqlA2sz332ZobBavTA==
dependencies:
- "@microsoft/1ds-core-js" "3.2.8"
+ "@microsoft/1ds-core-js" "3.2.13"
"@microsoft/applicationinsights-shims" "^2.0.2"
"@microsoft/dynamicproto-js" "^1.1.7"
-"@microsoft/applicationinsights-channel-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-2.8.9.tgz#840656f3c716de8b3eb0a98c122aa1b92bb8ebfb"
- integrity sha512-fMBsAEB7pWtPn43y72q9Xy5E5y55r6gMuDQqRRccccVoQDPXyS57VCj5IdATblctru0C6A8XpL2vRyNmEsu0Vg==
+"@microsoft/applicationinsights-channel-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-channel-js/-/applicationinsights-channel-js-3.0.2.tgz#be49fbf74831c7b8c97950027c5052ea99d2a8a5"
+ integrity sha512-jDBNKbCHsJgmpv0CKNhJ/uN9ZphvfGdb93Svk+R4LjO8L3apNNMbDDPxBvXXi0uigRmA1TBcmyBG4IRKjabGhw==
dependencies:
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-common@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-2.8.9.tgz#a75e4a3143a7fd797687830c0ddd2069fd900827"
- integrity sha512-mObn1moElyxZaGIRF/IU3cOaeKMgxghXnYEoHNUCA2e+rNwBIgxjyKkblFIpmGuHf4X7Oz3o3yBWpaC6AoMpig==
+"@microsoft/applicationinsights-common@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-common/-/applicationinsights-common-3.0.2.tgz#37670bb07f4858ed41ff9759119e0759007d6e05"
+ integrity sha512-y+WXWop+OVim954Cu1uyYMnNx6PWO8okHpZIQi/1YSqtqaYdtJVPv4P0AVzwJdohxzVfgzKvqj9nec/VWqE2Zg==
dependencies:
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
-"@microsoft/applicationinsights-core-js@2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.9.tgz#0e5d207acfae6986a6fc97249eeb6117e523bf1b"
- integrity sha512-HRuIuZ6aOWezcg/G5VyFDDWGL8hDNe/ljPP01J7ImH2kRPEgbtcfPSUMjkamGMefgdq81GZsSoC/NNGTP4pp2w==
+"@microsoft/applicationinsights-core-js@2.8.15":
+ version "2.8.15"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-2.8.15.tgz#8fa466474260e01967fe649f14dd9e5ff91dcdc8"
+ integrity sha512-yYAs9MyjGr2YijQdUSN9mVgT1ijI1FPMgcffpaPmYbHAVbQmF7bXudrBWHxmLzJlwl5rfep+Zgjli2e67lwUqQ==
dependencies:
"@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@microsoft/dynamicproto-js" "^1.1.9"
+
+"@microsoft/applicationinsights-core-js@3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-core-js/-/applicationinsights-core-js-3.0.2.tgz#108e20df8c162bec92b1f66f9de2530a25d9f51a"
+ integrity sha512-WQhVhzlRlLDrQzn3OShCW/pL3BW5WC57t0oywSknX3q7lMzI3jDg7Ihh0iuIcNTzGCTbDkuqr4d6IjEDWIMtJQ==
+ dependencies:
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-shims@2.0.2", "@microsoft/applicationinsights-shims@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-2.0.2.tgz#92b36a09375e2d9cb2b4203383b05772be837085"
integrity sha512-PoHEgsnmcqruLNHZ/amACqdJ6YYQpED0KSRe6J7gIJTtpZC1FfFU9b1fmDKDKtFoUSrPzEh1qzO3kmRZP0betg==
-"@microsoft/applicationinsights-web-basic@^2.8.9":
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-2.8.9.tgz#eed2f3d1e19069962ed2155915c1656e6936e1d5"
- integrity sha512-CH0J8JFOy7MjK8JO4pXXU+EML+Ilix+94PMZTX5EJlBU1in+mrik74/8qSg3UC4ekPi12KwrXaHCQSVC3WseXQ==
+"@microsoft/applicationinsights-shims@3.0.1":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-shims/-/applicationinsights-shims-3.0.1.tgz#3865b73ace8405b9c4618cc5c571f2fe3876f06f"
+ integrity sha512-DKwboF47H1nb33rSUfjqI6ryX29v+2QWcTrRvcQDA32AZr5Ilkr7whOOSsD1aBzwqX0RJEIP1Z81jfE3NBm/Lg==
dependencies:
- "@microsoft/applicationinsights-channel-js" "2.8.9"
- "@microsoft/applicationinsights-common" "2.8.9"
- "@microsoft/applicationinsights-core-js" "2.8.9"
- "@microsoft/applicationinsights-shims" "2.0.2"
- "@microsoft/dynamicproto-js" "^1.1.7"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
+
+"@microsoft/applicationinsights-web-basic@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-basic/-/applicationinsights-web-basic-3.0.2.tgz#f777a4d24b79dde3ae396d3b819e1fce06b7240a"
+ integrity sha512-6Lq0DE/pZp9RvSV+weGbcxN1NDmfczj6gNPhvZKV2YSQ3RK0LZE3+wjTWLXfuStq8a+nCBdsRpWk8tOKgsoxcg==
+ dependencies:
+ "@microsoft/applicationinsights-channel-js" "3.0.2"
+ "@microsoft/applicationinsights-common" "3.0.2"
+ "@microsoft/applicationinsights-core-js" "3.0.2"
+ "@microsoft/applicationinsights-shims" "3.0.1"
+ "@microsoft/dynamicproto-js" "^2.0.2"
+ "@nevware21/ts-async" ">= 0.2.4 < 2.x"
+ "@nevware21/ts-utils" ">= 0.9.5 < 2.x"
"@microsoft/applicationinsights-web-snippet@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@microsoft/applicationinsights-web-snippet/-/applicationinsights-web-snippet-1.0.1.tgz#6bb788b2902e48bf5d460c38c6bb7fedd686ddd7"
integrity sha512-2IHAOaLauc8qaAitvWS+U931T+ze+7MNWrDHY47IENP5y2UA0vqJDu67kWZDdpCN1fFC77sfgfB+HV7SrKshnQ==
-"@microsoft/dynamicproto-js@^1.1.7":
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.7.tgz#ede48dd3f85af14ee369c805e5ed5b84222b9fe2"
- integrity sha512-SK3D3aVt+5vOOccKPnGaJWB5gQ8FuKfjboUJHedMP7gu54HqSCXX5iFXhktGD8nfJb0Go30eDvs/UDoTnR2kOA==
+"@microsoft/dynamicproto-js@^1.1.7", "@microsoft/dynamicproto-js@^1.1.9":
+ version "1.1.9"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.9.tgz#7437db7aa061162ee94e4131b69a62b8dad5dea6"
+ integrity sha512-n1VPsljTSkthsAFYdiWfC+DKzK2WwcRp83Y1YAqdX552BstvsDjft9YXppjUzp11BPsapDoO1LDgrDB0XVsfNQ==
-"@opentelemetry/api@^1.0.4":
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686"
- integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g==
-
-"@opentelemetry/core@1.7.0", "@opentelemetry/core@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.7.0.tgz#83bdd1b7a4ceafcdffd6590420657caec5f7b34c"
- integrity sha512-AVqAi5uc8DrKJBimCTFUT4iFI+5eXpo4sYmGbQ0CypG0piOTHE2g9c5aSoTGYXu3CzOmJZf7pT6Xh+nwm5d6yQ==
+"@microsoft/dynamicproto-js@^2.0.2":
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-2.0.2.tgz#e57fbec2e7067d48b7e8e1e1c1d354028ef718a6"
+ integrity sha512-MB8trWaFREpmb037k/d0bB7T2BP7Ai24w1e1tbz3ASLB0/lwphsq3Nq8S9I5AsI5vs4zAQT+SB5nC5/dLYTiOg==
dependencies:
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.9.4 < 2.x"
-"@opentelemetry/resources@1.7.0":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.7.0.tgz#90ccd3a6a86b4dfba4e833e73944bd64958d78c5"
- integrity sha512-u1M0yZotkjyKx8dj+46Sg5thwtOTBmtRieNXqdCRiWUp6SfFiIP0bI+1XK3LhuXqXkBXA1awJZaTqKduNMStRg==
+"@nevware21/ts-async@>= 0.2.4 < 2.x":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-async/-/ts-async-0.3.0.tgz#a8b97ba01065fc930de9a3f4dd4a05e862becc6c"
+ integrity sha512-ZUcgUH12LN/F6nzN0cYd0F/rJaMLmXr0EHVTyYfaYmK55bdwE4338uue4UiVoRqHVqNW4KDUrJc49iGogHKeWA==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@nevware21/ts-utils" ">= 0.10.0 < 2.x"
-"@opentelemetry/sdk-trace-base@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.7.0.tgz#b498424e0c6340a9d80de63fd408c5c2130a60a5"
- integrity sha512-Iz84C+FVOskmauh9FNnj4+VrA+hG5o+tkMzXuoesvSfunVSioXib0syVFeNXwOm4+M5GdWCuW632LVjqEXStIg==
+"@nevware21/ts-utils@>= 0.10.0 < 2.x", "@nevware21/ts-utils@>= 0.9.4 < 2.x", "@nevware21/ts-utils@>= 0.9.5 < 2.x":
+ version "0.10.1"
+ resolved "https://registry.yarnpkg.com/@nevware21/ts-utils/-/ts-utils-0.10.1.tgz#aa65abc71eba06749a396598f22263d26f796ac7"
+ integrity sha512-pMny25NnF2/MJwdqC3Iyjm2pGIXNxni4AROpcqDeWa+td9JMUY4bUS9uU9XW+BoBRqTLUL+WURF9SOd/6OQzRg==
+
+"@opentelemetry/api@^1.4.1":
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
+ integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
+
+"@opentelemetry/core@1.15.2", "@opentelemetry/core@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.15.2.tgz#5b170bf223a2333884bbc2d29d95812cdbda7c9f"
+ integrity sha512-+gBv15ta96WqkHZaPpcDHiaz0utiiHZVfm2YOYSqFGrUaJpPkMoSuLBB58YFQGi6Rsb9EHos84X6X5+9JspmLw==
dependencies:
- "@opentelemetry/core" "1.7.0"
- "@opentelemetry/resources" "1.7.0"
- "@opentelemetry/semantic-conventions" "1.7.0"
+ "@opentelemetry/semantic-conventions" "1.15.2"
-"@opentelemetry/semantic-conventions@1.7.0", "@opentelemetry/semantic-conventions@^1.0.1":
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.7.0.tgz#af80a1ef7cf110ea3a68242acd95648991bcd763"
- integrity sha512-FGBx/Qd09lMaqQcogCHyYrFEpTx4cAjeS+48lMIR12z7LdH+zofGDVQSubN59nL6IpubfKqTeIDu9rNO28iHVA==
+"@opentelemetry/instrumentation@^0.41.2":
+ version "0.41.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.41.2.tgz#cae11fa64485dcf03dae331f35b315b64bc6189f"
+ integrity sha512-rxU72E0pKNH6ae2w5+xgVYZLzc5mlxAbGzF4shxMVK8YC2QQsfN38B2GPbj0jvrKWWNUElfclQ+YTykkNg/grw==
+ dependencies:
+ "@types/shimmer" "^1.0.2"
+ import-in-the-middle "1.4.2"
+ require-in-the-middle "^7.1.1"
+ semver "^7.5.1"
+ shimmer "^1.2.1"
+
+"@opentelemetry/resources@1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.15.2.tgz#0c9e26cb65652a1402834a3c030cce6028d6dd9d"
+ integrity sha512-xmMRLenT9CXmm5HMbzpZ1hWhaUowQf8UB4jMjFlAxx1QzQcsD3KFNAVX/CAWzFPtllTyTplrA4JrQ7sCH3qmYw==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/sdk-trace-base@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.15.2.tgz#4821f94033c55a6c8bbd35ae387b715b6108517a"
+ integrity sha512-BEaxGZbWtvnSPchV98qqqqa96AOcb41pjgvhfzDij10tkBhIu9m0Jd6tZ1tJB5ZHfHbTffqYVYE0AOGobec/EQ==
+ dependencies:
+ "@opentelemetry/core" "1.15.2"
+ "@opentelemetry/resources" "1.15.2"
+ "@opentelemetry/semantic-conventions" "1.15.2"
+
+"@opentelemetry/semantic-conventions@1.15.2", "@opentelemetry/semantic-conventions@^1.15.2":
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.15.2.tgz#3bafb5de3e20e841dff6cb3c66f4d6e9694c4241"
+ integrity sha512-CjbOKwk2s+3xPIMcd5UNYQzsf+v94RczbdNix9/kQh38WiQkM90sUOi3if8eyHFgiBjBjhwXrA7W3ydiSQP9mw==
"@tootallnate/once@2":
version "2.0.0"
@@ -166,24 +239,29 @@
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
"@types/node@18.x":
- version "18.15.13"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
- integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
+ version "18.17.11"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.11.tgz#c04054659d88bfeba94095f41ef99a8ddf4e1813"
+ integrity sha512-r3hjHPBu+3LzbGBa8DHnr/KAeTEEOrahkcL+cZc4MaBMTM+mk8LtXR+zw+nqfjuDZZzYTYgTcpHuP+BEQk069g==
"@types/semver@^5.5.0":
version "5.5.0"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-5.5.0.tgz#146c2a29ee7d3bae4bf2fcb274636e264c813c45"
integrity sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==
-"@vscode/extension-telemetry@0.7.5":
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.7.5.tgz#bf965731816e08c3f146f96d901ec67954fc913b"
- integrity sha512-fJ5y3TcpqqkFYHneabYaoB4XAhDdVflVm+TDKshw9VOs77jkgNS4UA7LNXrWeO0eDne3Sh3JgURf+xzc1rk69w==
+"@types/shimmer@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/shimmer/-/shimmer-1.0.2.tgz#93eb2c243c351f3f17d5c580c7467ae5d686b65f"
+ integrity sha512-dKkr1bTxbEsFlh2ARpKzcaAmsYixqt9UyCdoEZk8rHyE4iQYcDCyvSjDSf7JUWJHlJiTtbIoQjxKh6ViywqDAg==
+
+"@vscode/extension-telemetry@^0.8.4":
+ version "0.8.4"
+ resolved "https://registry.yarnpkg.com/@vscode/extension-telemetry/-/extension-telemetry-0.8.4.tgz#c078c6f55df1c9e0592de3b4ce0f685dd345bfe7"
+ integrity sha512-UqM9+KZDDK3MyoHTsg6XNM+XO6pweQxzCpqJz33BoBEYAGsbBviRYcVpJglgay2oReuDD2pOI1Nio3BKNDLhWA==
dependencies:
- "@microsoft/1ds-core-js" "^3.2.8"
- "@microsoft/1ds-post-js" "^3.2.8"
- "@microsoft/applicationinsights-web-basic" "^2.8.9"
- applicationinsights "2.4.1"
+ "@microsoft/1ds-core-js" "^3.2.13"
+ "@microsoft/1ds-post-js" "^3.2.13"
+ "@microsoft/applicationinsights-web-basic" "^3.0.2"
+ applicationinsights "^2.7.1"
"@vscode/sync-api-client@^0.7.2":
version "0.7.2"
@@ -206,6 +284,21 @@
"@vscode/sync-api-common" "0.7.2"
vscode-uri "3.0.3"
+"@vscode/ts-package-manager@^0.0.2":
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/@vscode/ts-package-manager/-/ts-package-manager-0.0.2.tgz#d1cade5ff0d01da8c5b5b00bf79d80e7156771cf"
+ integrity sha512-cXPxGbPVTkEQI8mUiWYUwB6j3ga6M9i7yubUOCrjgZ01GeZPMSnaWRprfJ09uuy81wJjY2gfHgLsOgwrGvUBTw==
+
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
+
+acorn@^8.8.2:
+ version "8.10.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
+ integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
+
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -213,22 +306,24 @@ agent-base@6:
dependencies:
debug "4"
-applicationinsights@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.4.1.tgz#4de4c4dd3c7c4a44445cfbf3d15808fc0dcc423d"
- integrity sha512-0n0Ikd0gzSm460xm+M0UTWIwXrhrH/0bqfZatcJjYObWyefxfAxapGEyNnSGd1Tg90neHz+Yhf+Ff/zgvPiQYA==
+applicationinsights@^2.7.1:
+ version "2.7.3"
+ resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-2.7.3.tgz#8781454d29c0b14c9773f2e892b4cf5e7468ffa5"
+ integrity sha512-JY8+kTEkjbA+kAVNWDtpfW2lqsrDALfDXuxOs74KLPu2y13fy/9WB52V4LfYVTVcW1/jYOXjTxNS2gPZIDh1iw==
dependencies:
- "@azure/core-auth" "^1.4.0"
- "@azure/core-rest-pipeline" "^1.10.0"
+ "@azure/core-auth" "^1.5.0"
+ "@azure/core-rest-pipeline" "1.10.1"
+ "@azure/core-util" "1.2.0"
+ "@azure/opentelemetry-instrumentation-azure-sdk" "^1.0.0-beta.5"
"@microsoft/applicationinsights-web-snippet" "^1.0.1"
- "@opentelemetry/api" "^1.0.4"
- "@opentelemetry/core" "^1.0.1"
- "@opentelemetry/sdk-trace-base" "^1.0.1"
- "@opentelemetry/semantic-conventions" "^1.0.1"
+ "@opentelemetry/api" "^1.4.1"
+ "@opentelemetry/core" "^1.15.2"
+ "@opentelemetry/sdk-trace-base" "^1.15.2"
+ "@opentelemetry/semantic-conventions" "^1.15.2"
cls-hooked "^4.2.2"
continuation-local-storage "^3.2.1"
- diagnostic-channel "1.1.0"
- diagnostic-channel-publishers "1.0.5"
+ diagnostic-channel "1.1.1"
+ diagnostic-channel-publishers "1.0.7"
async-hook-jl@^1.7.6:
version "1.7.6"
@@ -257,6 +352,11 @@ axios@^0.26.1:
dependencies:
follow-redirects "^1.14.8"
+cjs-module-lexer@^1.2.2:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107"
+ integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==
+
cls-hooked@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908"
@@ -281,7 +381,7 @@ continuation-local-storage@^3.2.1:
async-listener "^0.6.0"
emitter-listener "^1.1.1"
-debug@4:
+debug@4, debug@^4.1.1:
version "4.3.4"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -293,17 +393,17 @@ delayed-stream@~1.0.0:
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-diagnostic-channel-publishers@1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.5.tgz#df8c317086c50f5727fdfb5d2fce214d2e4130ae"
- integrity sha512-dJwUS0915pkjjimPJVDnS/QQHsH0aOYhnZsLJdnZIMOrB+csj8RnZhWTuwnm8R5v3Z7OZs+ksv5luC14DGB7eg==
+diagnostic-channel-publishers@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-1.0.7.tgz#9b7f8d5ee1295481aee19c827d917e96fedf2c4a"
+ integrity sha512-SEECbY5AiVt6DfLkhkaHNeshg1CogdLLANA8xlG/TKvS+XUgvIKl7VspJGYiEdL5OUyzMVnr7o0AwB7f+/Mjtg==
-diagnostic-channel@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.0.tgz#6985e9dfedfbc072d91dc4388477e4087147756e"
- integrity sha512-fwujyMe1gj6rk6dYi9hMZm0c8Mz8NDMVl2LB4iaYh3+LIAThZC8RKFGXWG0IML2OxAit/ZFRgZhMkhQ3d/bobQ==
+diagnostic-channel@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/diagnostic-channel/-/diagnostic-channel-1.1.1.tgz#44b60972de9ee055c16216535b0e9db3f6a0efd0"
+ integrity sha512-r2HV5qFkUICyoaKlBEpLKHjxMXATUf/l+h8UZPGBHGLy4DDiY2sOLcIctax4eRnTw5wH2jTMExLntGPJ8eOJxw==
dependencies:
- semver "^5.3.0"
+ semver "^7.5.3"
emitter-listener@^1.0.1, emitter-listener@^1.1.1:
version "1.1.2"
@@ -313,9 +413,9 @@ emitter-listener@^1.0.1, emitter-listener@^1.1.1:
shimmer "^1.2.0"
follow-redirects@^1.14.8:
- version "1.15.1"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5"
- integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==
+ version "1.15.2"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
+ integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
form-data@^4.0.0:
version "4.0.0"
@@ -326,6 +426,18 @@ form-data@^4.0.0:
combined-stream "^1.0.8"
mime-types "^2.1.12"
+function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+ integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+has@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+ integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+ dependencies:
+ function-bind "^1.1.1"
+
http-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -343,6 +455,23 @@ https-proxy-agent@^5.0.0:
agent-base "6"
debug "4"
+import-in-the-middle@1.4.2:
+ version "1.4.2"
+ resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.4.2.tgz#2a266676e3495e72c04bbaa5ec14756ba168391b"
+ integrity sha512-9WOz1Yh/cvO/p69sxRmhyQwrIGGSp7EIdcb+fFNVi7CzQGQB8U1/1XrKVSbEd/GNOAeM0peJtmi7+qphe7NvAw==
+ dependencies:
+ acorn "^8.8.2"
+ acorn-import-assertions "^1.9.0"
+ cjs-module-lexer "^1.2.2"
+ module-details-from-path "^1.0.3"
+
+is-core-module@^2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db"
+ integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==
+ dependencies:
+ has "^1.0.3"
+
jsonc-parser@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
@@ -367,11 +496,39 @@ mime-types@^2.1.12:
dependencies:
mime-db "1.52.0"
+module-details-from-path@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b"
+ integrity sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==
+
ms@2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+require-in-the-middle@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-7.2.0.tgz#b539de8f00955444dc8aed95e17c69b0a4f10fcf"
+ integrity sha512-3TLx5TGyAY6AOqLBoXmHkNql0HIf2RGbuMgCDT2WO/uGVAPJs6h7Kl+bN6TIZGd9bWhWPwnDnTHGtW8Iu77sdw==
+ dependencies:
+ debug "^4.1.1"
+ module-details-from-path "^1.0.3"
+ resolve "^1.22.1"
+
+resolve@^1.22.1:
+ version "1.22.4"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34"
+ integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==
+ dependencies:
+ is-core-module "^2.13.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
semver@7.5.2:
version "7.5.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.2.tgz#5b851e66d1be07c1cdaf37dfc856f543325a2beb"
@@ -384,7 +541,14 @@ semver@^5.3.0, semver@^5.4.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-shimmer@^1.1.0, shimmer@^1.2.0:
+semver@^7.5.1, semver@^7.5.3:
+ version "7.5.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
+ integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
+ dependencies:
+ lru-cache "^6.0.0"
+
+shimmer@^1.1.0, shimmer@^1.2.0, shimmer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337"
integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==
@@ -394,6 +558,11 @@ stack-chain@^1.3.7:
resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285"
integrity sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
tas-client@0.1.58:
version "0.1.58"
resolved "https://registry.yarnpkg.com/tas-client/-/tas-client-0.1.58.tgz#67d66bf0e27df5276ebc751105e6ad47791c36d8"
@@ -402,9 +571,9 @@ tas-client@0.1.58:
axios "^0.26.1"
tslib@^2.2.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
- integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
+ integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
uuid@^8.3.0:
version "8.3.2"
@@ -418,11 +587,16 @@ vscode-tas-client@^0.1.63:
dependencies:
tas-client "0.1.58"
-vscode-uri@3.0.3, vscode-uri@^3.0.3:
+vscode-uri@3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.3.tgz#a95c1ce2e6f41b7549f86279d19f47951e4f4d84"
integrity sha512-EcswR2S8bpR7fD0YPeS7r2xXExrScVMxg4MedACaWHEtx9ftCF/qHG1xGkolzTPcEmjTavCQgbVzHUIdTMzFGA==
+vscode-uri@^3.0.3:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.7.tgz#6d19fef387ee6b46c479e5fb00870e15e58c1eb8"
+ integrity sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==
+
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
index 9d50e393547..ad2305f8a6a 100644
--- a/extensions/vscode-api-tests/package.json
+++ b/extensions/vscode-api-tests/package.json
@@ -45,15 +45,12 @@
"textSearchProvider",
"timeline",
"tokenInformation",
- "treeItemCheckbox",
- "treeViewActiveItem",
+ "treeViewActiveItem",
"treeViewReveal",
"workspaceTrust",
"telemetry",
"windowActivity",
- "interactiveUserActions",
- "envCollectionWorkspace",
- "envCollectionOptions"
+ "interactiveUserActions"
],
"private": true,
"activationEvents": [],
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/languagedetection.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/languagedetection.test.ts
index ce6f675b5f6..900eb25649e 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/languagedetection.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/languagedetection.test.ts
@@ -36,7 +36,6 @@ suite('vscode - automatic language detection', () => {
"outDir": "../out/vs",
"target": "es2020",
"types": [
- "keytar",
"mocha",
"semver",
"sinon",
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts
index 76408d2de77..4275898e244 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/terminal.test.ts
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import { deepStrictEqual, doesNotThrow, equal, ok, strictEqual, throws } from 'assert';
-import { commands, ConfigurationTarget, Disposable, env, EnvironmentVariableMutator, EnvironmentVariableMutatorOptions, EnvironmentVariableMutatorType, EventEmitter, ExtensionContext, extensions, ExtensionTerminalOptions, GlobalEnvironmentVariableCollection, Pseudoterminal, Terminal, TerminalDimensions, TerminalExitReason, TerminalOptions, TerminalState, UIKind, Uri, window, workspace } from 'vscode';
+import { commands, ConfigurationTarget, Disposable, env, EnvironmentVariableMutator, EnvironmentVariableMutatorOptions, EnvironmentVariableMutatorType, EventEmitter, ExtensionContext, extensions, ExtensionTerminalOptions, Pseudoterminal, Terminal, TerminalDimensions, TerminalExitReason, TerminalOptions, TerminalState, UIKind, Uri, window, workspace } from 'vscode';
import { assertNoRpc, poll } from '../utils';
// Disable terminal tests:
@@ -912,8 +912,7 @@ import { assertNoRpc, poll } from '../utils';
});
test('get and forEach should work (scope)', () => {
- // TODO: Remove cast once `envCollectionWorkspace` API is finalized.
- const collection = extensionContext.environmentVariableCollection as GlobalEnvironmentVariableCollection;
+ const collection = extensionContext.environmentVariableCollection;
disposables.push({ dispose: () => collection.clear() });
const scope = { workspaceFolder: { uri: Uri.file('workspace1'), name: 'workspace1', index: 0 } };
const scopedCollection = collection.getScoped(scope);
diff --git a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
index 6e0c8e59404..e69eecff5d1 100644
--- a/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
+++ b/extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
@@ -977,6 +977,22 @@ suite('vscode API - workspace', () => {
assert.strictEqual(document.getText(), expected);
});
+
+ test('[Bug] Failed to create new test file when in an untitled file #1261', async function () {
+ const uri = vscode.Uri.parse('untitled:Untitled-5.test');
+ const contents = `Hello Test File ${uri.toString()}`;
+ const we = new vscode.WorkspaceEdit();
+ we.createFile(uri, { ignoreIfExists: true });
+ we.replace(uri, new vscode.Range(0, 0, 0, 0), contents);
+
+ const success = await vscode.workspace.applyEdit(we);
+
+ assert.ok(success);
+
+ const doc = await vscode.workspace.openTextDocument(uri);
+ assert.strictEqual(doc.getText(), contents);
+ });
+
test('Should send a single FileWillRenameEvent instead of separate events when moving multiple files at once#111867, 1/3', async function () {
const file1 = await createRandomFile();
diff --git a/extensions/vscode-colorize-tests/test/colorize-fixtures/test.md b/extensions/vscode-colorize-tests/test/colorize-fixtures/test.md
index 28f3590536e..309aa6de793 100644
--- a/extensions/vscode-colorize-tests/test/colorize-fixtures/test.md
+++ b/extensions/vscode-colorize-tests/test/colorize-fixtures/test.md
@@ -103,4 +103,4 @@ Pop
* Multiple definitions and terms are possible
* Definitions can include multiple paragraphs too
-*[ABBR]: Markdown plus abbreviations (produces an tag)
\ No newline at end of file
+*[ABBR]: Markdown plus abbreviations (produces an tag)
diff --git a/extensions/vscode-colorize-tests/test/colorize-results/test_py.json b/extensions/vscode-colorize-tests/test/colorize-results/test_py.json
index e858cd5f201..e8d718cad72 100644
--- a/extensions/vscode-colorize-tests/test/colorize-results/test_py.json
+++ b/extensions/vscode-colorize-tests/test/colorize-results/test_py.json
@@ -1907,14 +1907,14 @@
"c": "reduce",
"t": "source.python meta.function-call.python variable.legacy.builtin.python",
"r": {
- "dark_plus": "variable: #9CDCFE",
- "light_plus": "variable: #001080",
- "dark_vs": "default: #D4D4D4",
- "light_vs": "default: #000000",
- "hc_black": "variable: #9CDCFE",
- "dark_modern": "variable: #9CDCFE",
- "hc_light": "variable: #001080",
- "light_modern": "variable: #001080"
+ "dark_plus": "variable.legacy.builtin.python: #D4D4D4",
+ "light_plus": "variable.legacy.builtin.python: #000000",
+ "dark_vs": "variable.legacy.builtin.python: #D4D4D4",
+ "light_vs": "variable.legacy.builtin.python: #000000",
+ "hc_black": "variable.legacy.builtin.python: #FFFFFF",
+ "dark_modern": "variable.legacy.builtin.python: #D4D4D4",
+ "hc_light": "variable.legacy.builtin.python: #292929",
+ "light_modern": "variable.legacy.builtin.python: #000000"
}
},
{
@@ -6233,14 +6233,14 @@
"c": "raw_input",
"t": "source.python meta.function-call.python variable.legacy.builtin.python",
"r": {
- "dark_plus": "variable: #9CDCFE",
- "light_plus": "variable: #001080",
- "dark_vs": "default: #D4D4D4",
- "light_vs": "default: #000000",
- "hc_black": "variable: #9CDCFE",
- "dark_modern": "variable: #9CDCFE",
- "hc_light": "variable: #001080",
- "light_modern": "variable: #001080"
+ "dark_plus": "variable.legacy.builtin.python: #D4D4D4",
+ "light_plus": "variable.legacy.builtin.python: #000000",
+ "dark_vs": "variable.legacy.builtin.python: #D4D4D4",
+ "light_vs": "variable.legacy.builtin.python: #000000",
+ "hc_black": "variable.legacy.builtin.python: #FFFFFF",
+ "dark_modern": "variable.legacy.builtin.python: #D4D4D4",
+ "hc_light": "variable.legacy.builtin.python: #292929",
+ "light_modern": "variable.legacy.builtin.python: #000000"
}
},
{
diff --git a/extensions/yarn.lock b/extensions/yarn.lock
index 08ae5fb06c3..b704d5f8a28 100644
--- a/extensions/yarn.lock
+++ b/extensions/yarn.lock
@@ -228,10 +228,10 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
-typescript@^5.2.1-rc:
- version "5.2.1-rc"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.1-rc.tgz#9cf33ff6bc39ba9e1fa59761124f596ecf5e0c07"
- integrity sha512-gsOdmedQZEWLrYhNqHuzPmcV+4wX7UujzYqszDC5mVMjcN6Nm7lN2eAtndmjWl24aGdAwJqL2ooywkxpaTx8QQ==
+typescript@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
+ integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
vscode-grammar-updater@^1.1.0:
version "1.1.0"
diff --git a/package.json b/package.json
index 584247e9fa4..bf70dc18097 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "code-oss-dev",
- "version": "1.82.0",
- "distro": "1591281180fd2cd18935e6847131d2d4213b7b69",
+ "version": "1.83.0",
+ "distro": "46e7bb69af9f06de037c3d7e8f61de4a679f9ef1",
"author": {
"name": "Microsoft Corporation"
},
@@ -84,7 +84,6 @@
"https-proxy-agent": "^2.2.3",
"jschardet": "3.0.0",
"kerberos": "^2.0.1",
- "keytar": "7.9.0",
"minimist": "^1.2.6",
"native-is-elevated": "0.7.0",
"native-keymap": "^3.3.4",
@@ -107,7 +106,7 @@
"yazl": "^2.4.3"
},
"devDependencies": {
- "@playwright/test": "^1.34.3",
+ "@playwright/test": "^1.37.1",
"@swc/cli": "0.1.62",
"@swc/core": "1.3.62",
"@types/cookie": "^0.3.3",
@@ -118,7 +117,6 @@
"@types/gulp-svgmin": "^1.2.1",
"@types/http-proxy-agent": "^2.0.1",
"@types/kerberos": "^1.1.2",
- "@types/keytar": "^4.4.0",
"@types/minimist": "^1.2.1",
"@types/mocha": "^9.1.1",
"@types/node": "18.x",
@@ -150,10 +148,10 @@
"cssnano": "^4.1.11",
"debounce": "^1.0.0",
"deemon": "^1.8.0",
- "electron": "25.5.0",
+ "electron": "25.8.0",
"eslint": "8.36.0",
"eslint-plugin-header": "3.1.1",
- "eslint-plugin-jsdoc": "^39.3.2",
+ "eslint-plugin-jsdoc": "^46.5.0",
"eslint-plugin-local": "^1.0.0",
"event-stream": "3.3.4",
"fancy-log": "^1.3.3",
@@ -212,7 +210,7 @@
"ts-loader": "^9.4.2",
"ts-node": "^10.9.1",
"tsec": "0.2.7",
- "typescript": "^5.3.0-dev.20230816",
+ "typescript": "^5.3.0-dev.20230905",
"typescript-formatter": "7.1.0",
"underscore": "^1.12.1",
"util": "^0.12.4",
diff --git a/product.json b/product.json
index 2ae3ee8f0f8..acb24971c39 100644
--- a/product.json
+++ b/product.json
@@ -52,8 +52,8 @@
},
{
"name": "ms-vscode.js-debug",
- "version": "1.81.0",
- "sha256": "6d1c7ee89881afd65e8fee47445b6a1c5fb345bf30e2bdf70cd2fdd8d1ff6dec",
+ "version": "1.82.0",
+ "sha256": "4fba41b4b764c3f5a6591d6d9a5bdc59b417f2d799071c889c2b54163f256282",
"repo": "https://github.com/microsoft/vscode-js-debug",
"metadata": {
"id": "25629058-ddac-4e17-abba-74678e126c5d",
diff --git a/remote/.yarnrc b/remote/.yarnrc
index c4421581246..26dc815d0f8 100644
--- a/remote/.yarnrc
+++ b/remote/.yarnrc
@@ -1,5 +1,5 @@
disturl "https://nodejs.org/dist"
target "18.15.0"
-ms_build_id "223745"
+ms_build_id "229541"
runtime "node"
build_from_source "true"
diff --git a/remote/package.json b/remote/package.json
index 8fe0e55c1de..f064462fc27 100644
--- a/remote/package.json
+++ b/remote/package.json
@@ -19,7 +19,6 @@
"https-proxy-agent": "^2.2.3",
"jschardet": "3.0.0",
"kerberos": "^2.0.1",
- "keytar": "7.9.0",
"minimist": "^1.2.6",
"native-watchdog": "^1.4.1",
"node-pty": "1.1.0-beta1",
diff --git a/remote/yarn.lock b/remote/yarn.lock
index 4716df355d5..e2a07ab9843 100644
--- a/remote/yarn.lock
+++ b/remote/yarn.lock
@@ -141,29 +141,6 @@ agent-base@^7.0.1, agent-base@^7.0.2, agent-base@^7.1.0:
dependencies:
debug "^4.3.4"
-ansi-regex@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
- integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
-
-ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-
-aproba@^1.0.3:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
- integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
-
-are-we-there-yet@~1.1.2:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
- integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^2.0.6"
-
base64-js@^1.3.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
@@ -210,26 +187,11 @@ chownr@^1.1.1:
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-code-point-at@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
- integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
- integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-
cookie@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
-core-util-is@~1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-
debug@3.1.0, debug@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
@@ -263,21 +225,11 @@ deep-extend@^0.6.0:
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
-delegates@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
- integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
-
detect-libc@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd"
integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
end-of-stream@^1.1.0, end-of-stream@^1.4.1:
version "1.4.4"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
@@ -326,20 +278,6 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-gauge@~2.7.3:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
- integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
- dependencies:
- aproba "^1.0.3"
- console-control-strings "^1.0.0"
- has-unicode "^2.0.0"
- object-assign "^4.1.0"
- signal-exit "^3.0.0"
- string-width "^1.0.1"
- strip-ansi "^3.0.1"
- wide-align "^1.1.0"
-
github-from-package@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
@@ -350,11 +288,6 @@ graceful-fs@4.2.11:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-has-unicode@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
- integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
-
http-proxy-agent@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405"
@@ -400,7 +333,7 @@ ieee754@^1.1.13:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+inherits@^2.0.3, inherits@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -420,18 +353,6 @@ is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-is-fullwidth-code-point@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
- integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
- dependencies:
- number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
is-glob@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
@@ -444,11 +365,6 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-isarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
- integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
-
jschardet@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882"
@@ -463,14 +379,6 @@ kerberos@^2.0.1:
node-addon-api "^4.3.0"
prebuild-install "7.1.1"
-keytar@7.9.0:
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/keytar/-/keytar-7.9.0.tgz#4c6225708f51b50cbf77c5aae81721964c2918cb"
- integrity sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==
- dependencies:
- node-addon-api "^4.3.0"
- prebuild-install "^7.0.1"
-
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
@@ -567,26 +475,6 @@ node-pty@1.1.0-beta1:
dependencies:
nan "^2.17.0"
-npmlog@^4.0.1:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
- integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
- dependencies:
- are-we-there-yet "~1.1.2"
- console-control-strings "~1.1.0"
- gauge "~2.7.3"
- set-blocking "~2.0.0"
-
-number-is-nan@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
- integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
-
-object-assign@^4.1.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
-
once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -622,30 +510,6 @@ prebuild-install@7.1.1:
tar-fs "^2.0.0"
tunnel-agent "^0.6.0"
-prebuild-install@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz#c10075727c318efe72412f333e0ef625beaf3870"
- integrity sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==
- dependencies:
- detect-libc "^2.0.0"
- expand-template "^2.0.3"
- github-from-package "0.0.0"
- minimist "^1.2.3"
- mkdirp-classic "^0.5.3"
- napi-build-utils "^1.0.1"
- node-abi "^3.3.0"
- npmlog "^4.0.1"
- pump "^3.0.0"
- rc "^1.2.7"
- simple-get "^4.0.0"
- tar-fs "^2.0.0"
- tunnel-agent "^0.6.0"
-
-process-nextick-args@~2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
- integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
-
proxy-from-env@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
@@ -669,19 +533,6 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-readable-stream@^2.0.6:
- version "2.3.7"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
- integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
- 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"
-
readable-stream@^3.1.1, readable-stream@^3.4.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
@@ -696,11 +547,6 @@ safe-buffer@^5.0.1, safe-buffer@~5.2.0:
resolved "https://registry.yarnpkg.com/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.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
semver@^7.3.5:
version "7.5.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
@@ -708,16 +554,6 @@ semver@^7.3.5:
dependencies:
lru-cache "^6.0.0"
-set-blocking@~2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
-
-signal-exit@^3.0.0:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
- integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
-
simple-concat@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
@@ -754,24 +590,6 @@ socks@^2.7.1:
ip "^2.0.0"
smart-buffer "^4.2.0"
-string-width@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
- integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
- dependencies:
- code-point-at "^1.0.0"
- is-fullwidth-code-point "^1.0.0"
- strip-ansi "^3.0.0"
-
-"string-width@^1.0.2 || 2 || 3 || 4":
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
@@ -779,27 +597,6 @@ string_decoder@^1.1.1:
dependencies:
safe-buffer "~5.2.0"
-string_decoder@~1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
- integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
- dependencies:
- safe-buffer "~5.1.0"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
- integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
- dependencies:
- ansi-regex "^2.0.0"
-
-strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -845,7 +642,7 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+util-deprecate@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
@@ -865,13 +662,6 @@ vscode-textmate@9.0.0:
resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-9.0.0.tgz#313c6c8792b0507aef35aeb81b6b370b37c44d6c"
integrity sha512-Cl65diFGxz7gpwbav10HqiY/eVYTO1sjQpmRmV991Bj7wAoOAjGQ97PpQcXorDE2Uc4hnGWLY17xme+5t6MlSg==
-wide-align@^1.1.0:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
- integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
- dependencies:
- string-width "^1.0.2 || 2 || 3 || 4"
-
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
diff --git a/scripts/debugger-scripts-api.d.ts b/scripts/debugger-scripts-api.d.ts
new file mode 100644
index 00000000000..149912bc04f
--- /dev/null
+++ b/scripts/debugger-scripts-api.d.ts
@@ -0,0 +1,22 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+type RunFunction = ((debugSession: IDebugSession) => IDisposable) | ((debugSession: IDebugSession) => Promise);
+
+interface IDebugSession {
+ name: string;
+ eval(expression: string): Promise;
+ evalJs(bodyFn: (...args: T) => void, ...args: T): Promise;
+}
+
+interface IDisposable {
+ dispose(): void;
+}
+
+interface GlobalThisAddition extends globalThis {
+ $hotReload_applyNewExports?(oldExports: Record): AcceptNewExportsFn | undefined;
+}
+
+type AcceptNewExportsFn = (newExports: Record) => boolean;
diff --git a/scripts/hot-reload-injected-script.js b/scripts/hot-reload-injected-script.js
new file mode 100644
index 00000000000..c6311f3b9c9
--- /dev/null
+++ b/scripts/hot-reload-injected-script.js
@@ -0,0 +1,267 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+// @ts-check
+///
+
+const path = require('path');
+const fsPromise = require('fs/promises');
+const parcelWatcher = require('@parcel/watcher');
+
+// This file is loaded by the vscode-diagnostic-tools extension and injected into the debugger.
+
+/** @type {RunFunction} */
+module.exports.run = async function (debugSession) {
+ const watcher = await DirWatcher.watchRecursively(path.join(__dirname, '../out/'));
+
+ const sub = watcher.onDidChange(changes => {
+ const supportedChanges = changes.filter(c => c.path.endsWith('.js') || c.path.endsWith('.css'));
+ debugSession.evalJs(function (changes, debugSessionName) {
+ // This function is stringified and injected into the debuggee.
+
+ /** @type {{ count: number; originalWindowTitle: any; timeout: any; shouldReload: boolean }} */
+ const hotReloadData = globalThis.$hotReloadData || (globalThis.$hotReloadData = { count: 0, messageHideTimeout: undefined, shouldReload: false });
+
+ /**
+ * @param {string} path
+ * @param {string} newSrc
+ */
+ function handleChange(path, newSrc) {
+ const relativePath = path.replace(/\\/g, '/').split('/out/')[1];
+ if (relativePath.endsWith('.css')) {
+ handleCssChange(relativePath);
+ } else if (relativePath.endsWith('.js')) {
+ handleJsChange(relativePath, newSrc);
+ }
+ }
+
+ /**
+ * @param {string} relativePath
+ */
+ function handleCssChange(relativePath) {
+ if (typeof document === 'undefined') {
+ return;
+ }
+
+ const styleSheet = (/** @type {HTMLLinkElement[]} */ ([...document.querySelectorAll(`link[rel='stylesheet']`)]))
+ .find(l => new URL(l.href, document.location.href).pathname.endsWith(relativePath));
+ if (styleSheet) {
+ setMessage(`reload ${formatPath(relativePath)} - ${new Date().toLocaleTimeString()}`);
+ console.log(debugSessionName, 'css reloaded', relativePath);
+ styleSheet.href = styleSheet.href.replace(/\?.*/, '') + '?' + Date.now();
+ } else {
+ setMessage(`could not reload ${formatPath(relativePath)} - ${new Date().toLocaleTimeString()}`);
+ console.log(debugSessionName, 'ignoring css change, as stylesheet is not loaded', relativePath);
+ }
+ }
+
+ /**
+ * @param {string} relativePath
+ * @param {string} newSrc
+ */
+ function handleJsChange(relativePath, newSrc) {
+ const moduleIdStr = trimEnd(relativePath, '.js');
+
+ /** @type {any} */
+ const requireFn = globalThis.require;
+ const moduleManager = requireFn.moduleManager;
+ if (!moduleManager) {
+ console.log(debugSessionName, 'ignoring js change, as moduleManager is not available', relativePath);
+ return;
+ }
+
+ const moduleId = moduleManager._moduleIdProvider.getModuleId(moduleIdStr);
+ const oldModule = moduleManager._modules2[moduleId];
+
+ if (!oldModule) {
+ console.log(debugSessionName, 'ignoring js change, as module is not loaded', relativePath);
+ return;
+ }
+
+ // Check if we can reload
+ const g = /** @type {GlobalThisAddition} */ (globalThis);
+
+ // A frozen copy of the previous exports
+ const oldExports = Object.freeze({ ...oldModule.exports });
+ const reloadFn = g.$hotReload_applyNewExports?.(oldExports);
+
+ if (!reloadFn) {
+ console.log(debugSessionName, 'ignoring js change, as module does not support hot-reload', relativePath);
+ hotReloadData.shouldReload = true;
+ setMessage(`hot reload not supported for ${formatPath(relativePath)} - ${new Date().toLocaleTimeString()}`);
+ return;
+ }
+
+ const newScript = new Function('define', newSrc); // CodeQL [SM01632] This code is only executed during development. It is required for the hot-reload functionality.
+
+ newScript(/* define */ function (deps, callback) {
+ // Evaluating the new code was successful.
+
+ // Redefine the module
+ delete moduleManager._modules2[moduleId];
+ moduleManager.defineModule(moduleIdStr, deps, callback);
+ const newModule = moduleManager._modules2[moduleId];
+
+
+ // Patch the exports of the old module, so that modules using the old module get the new exports
+ Object.assign(oldModule.exports, newModule.exports);
+ // We override the exports so that future reloads still patch the initial exports.
+ newModule.exports = oldModule.exports;
+
+ const successful = reloadFn(newModule.exports);
+ if (!successful) {
+ hotReloadData.shouldReload = true;
+ setMessage(`hot reload failed ${formatPath(relativePath)} - ${new Date().toLocaleTimeString()}`);
+ console.log(debugSessionName, 'hot reload was not successful', relativePath);
+ return;
+ }
+
+ console.log(debugSessionName, 'hot reloaded', moduleIdStr);
+ setMessage(`successfully reloaded ${formatPath(relativePath)} - ${new Date().toLocaleTimeString()}`);
+ });
+ }
+
+ /**
+ * @param {string} message
+ */
+ function setMessage(message) {
+ const domElem = /** @type {HTMLDivElement | undefined} */ (document.querySelector('.titlebar-center .window-title'));
+ if (!domElem) { return; }
+ if (!hotReloadData.timeout) {
+ hotReloadData.originalWindowTitle = domElem.innerText;
+ } else {
+ clearTimeout(hotReloadData.timeout);
+ }
+ if (hotReloadData.shouldReload) {
+ message += ' (manual reload required)';
+ }
+
+ domElem.innerText = message;
+ hotReloadData.timeout = setTimeout(() => {
+ hotReloadData.timeout = undefined;
+ // If wanted, we can restore the previous title message
+ // domElem.replaceChildren(hotReloadData.originalWindowTitle);
+ }, 5000);
+ }
+
+ /**
+ * @param {string} path
+ * @returns {string}
+ */
+ function formatPath(path) {
+ const parts = path.split('/');
+ parts.reverse();
+ let result = parts[0];
+ parts.shift();
+ for (const p of parts) {
+ if (result.length + p.length > 40) {
+ break;
+ }
+ result = p + '/' + result;
+ if (result.length > 20) {
+ break;
+ }
+ }
+ return result;
+ }
+
+ function trimEnd(str, suffix) {
+ if (str.endsWith(suffix)) {
+ return str.substring(0, str.length - suffix.length);
+ }
+ return str;
+ }
+
+ for (const change of changes) {
+ handleChange(change.path, change.newContent);
+ }
+
+ }, supportedChanges, debugSession.name.substring(0, 25));
+ });
+
+ return {
+ dispose() {
+ sub.dispose();
+ watcher.dispose();
+ }
+ };
+};
+
+class DirWatcher {
+ /**
+ *
+ * @param {string} dir
+ * @returns {Promise}
+ */
+ static async watchRecursively(dir) {
+ /** @type {((changes: { path: string, newContent: string }[]) => void)[]} */
+ const listeners = [];
+ /** @type {Map } */
+ const fileContents = new Map();
+ /** @type {Map} */
+ const changes = new Map();
+ /** @type {(handler: (changes: { path: string, newContent: string }[]) => void) => IDisposable} */
+ const event = (handler) => {
+ listeners.push(handler);
+ return {
+ dispose: () => {
+ const idx = listeners.indexOf(handler);
+ if (idx >= 0) {
+ listeners.splice(idx, 1);
+ }
+ }
+ };
+ };
+ const r = parcelWatcher.subscribe(dir, async (err, events) => {
+ for (const e of events) {
+ if (e.type === 'update') {
+ const newContent = await fsPromise.readFile(e.path, 'utf8');
+ if (fileContents.get(e.path) !== newContent) {
+ fileContents.set(e.path, newContent);
+ changes.set(e.path, { path: e.path, newContent });
+ }
+ }
+ }
+ if (changes.size > 0) {
+ debounce(() => {
+ const uniqueChanges = Array.from(changes.values());
+ changes.clear();
+ listeners.forEach(l => l(uniqueChanges));
+ })();
+ }
+ });
+ const result = await r;
+ return new DirWatcher(event, () => result.unsubscribe());
+ }
+
+ /**
+ * @param {(handler: (changes: { path: string, newContent: string }[]) => void) => IDisposable} onDidChange
+ * @param {() => void} unsub
+ */
+ constructor(onDidChange, unsub) {
+ this.onDidChange = onDidChange;
+ this.unsub = unsub;
+ }
+
+ dispose() {
+ this.unsub();
+ }
+}
+
+/**
+ * Debounce function calls
+ * @param {() => void} fn
+ * @param {number} delay
+ */
+function debounce(fn, delay = 50) {
+ let timeoutId;
+ return function (...args) {
+ clearTimeout(timeoutId);
+ timeoutId = setTimeout(() => {
+ fn.apply(this, args);
+ }, delay);
+ };
+}
+
diff --git a/src/tsconfig.json b/src/tsconfig.json
index df96ed71247..56ca209276b 100644
--- a/src/tsconfig.json
+++ b/src/tsconfig.json
@@ -8,7 +8,6 @@
"resolveJsonModule": true,
"outDir": "../out/vs",
"types": [
- "keytar",
"mocha",
"semver",
"sinon",
diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts
index a72e8e0ea85..a3430a44354 100644
--- a/src/vs/base/browser/dom.ts
+++ b/src/vs/base/browser/dom.ts
@@ -920,8 +920,11 @@ class FocusTracker extends Disposable implements IFocusTracker {
this._register(addDisposableListener(element, EventType.FOCUS, onFocus, true));
this._register(addDisposableListener(element, EventType.BLUR, onBlur, true));
- this._register(addDisposableListener(element, EventType.FOCUS_IN, () => this._refreshStateHandler()));
- this._register(addDisposableListener(element, EventType.FOCUS_OUT, () => this._refreshStateHandler()));
+ if (element instanceof HTMLElement) {
+ this._register(addDisposableListener(element, EventType.FOCUS_IN, () => this._refreshStateHandler()));
+ this._register(addDisposableListener(element, EventType.FOCUS_OUT, () => this._refreshStateHandler()));
+ }
+
}
refreshState() {
diff --git a/src/vs/base/browser/ui/codicons/codicon/codicon.ttf b/src/vs/base/browser/ui/codicons/codicon/codicon.ttf
index b5623b0a55c..91105610d11 100644
Binary files a/src/vs/base/browser/ui/codicons/codicon/codicon.ttf and b/src/vs/base/browser/ui/codicons/codicon/codicon.ttf differ
diff --git a/src/vs/base/browser/ui/findinput/findInput.ts b/src/vs/base/browser/ui/findinput/findInput.ts
index d663c086cff..8707c671aac 100644
--- a/src/vs/base/browser/ui/findinput/findInput.ts
+++ b/src/vs/base/browser/ui/findinput/findInput.ts
@@ -15,7 +15,7 @@ import { Emitter, Event } from 'vs/base/common/event';
import { KeyCode } from 'vs/base/common/keyCodes';
import 'vs/css!./findInput';
import * as nls from 'vs/nls';
-import { DisposableStore } from 'vs/base/common/lifecycle';
+import { DisposableStore, MutableDisposable } from 'vs/base/common/lifecycle';
export interface IFindInputOptions {
@@ -50,7 +50,7 @@ export class FindInput extends Widget {
private readonly showCommonFindToggles: boolean;
private fixFocusOnOptionClickEnabled = true;
private imeSessionInProgress = false;
- private additionalTogglesDisposables: DisposableStore = new DisposableStore();
+ private additionalTogglesDisposables: MutableDisposable = this._register(new MutableDisposable());
protected readonly controls: HTMLDivElement;
protected readonly regex?: RegexToggle;
@@ -278,14 +278,13 @@ export class FindInput extends Widget {
currentToggle.domNode.remove();
}
this.additionalToggles = [];
- this.additionalTogglesDisposables.dispose();
- this.additionalTogglesDisposables = new DisposableStore();
+ this.additionalTogglesDisposables.value = new DisposableStore();
for (const toggle of toggles ?? []) {
- this.additionalTogglesDisposables.add(toggle);
+ this.additionalTogglesDisposables.value.add(toggle);
this.controls.appendChild(toggle.domNode);
- this.additionalTogglesDisposables.add(toggle.onChange(viaKeyboard => {
+ this.additionalTogglesDisposables.value.add(toggle.onChange(viaKeyboard => {
this._onDidOptionChange.fire(viaKeyboard);
if (!viaKeyboard && this.fixFocusOnOptionClickEnabled) {
this.inputBox.focus();
diff --git a/src/vs/base/browser/ui/grid/grid.ts b/src/vs/base/browser/ui/grid/grid.ts
index 2562b2fa153..821567ccf59 100644
--- a/src/vs/base/browser/ui/grid/grid.ts
+++ b/src/vs/base/browser/ui/grid/grid.ts
@@ -8,8 +8,7 @@ import { equals, tail2 as tail } from 'vs/base/common/arrays';
import { Event } from 'vs/base/common/event';
import { Disposable } from 'vs/base/common/lifecycle';
import 'vs/css!./gridview';
-import { Box, GridView, IGridViewOptions, IGridViewStyles, IView as IGridViewView, IViewSize, orthogonal, Sizing as GridViewSizing } from './gridview';
-import type { GridLocation } from 'vs/base/browser/ui/grid/gridview';
+import { Box, GridView, IGridViewOptions, IGridViewStyles, IView as IGridViewView, IViewSize, orthogonal, Sizing as GridViewSizing, GridLocation } from './gridview';
import type { SplitView, AutoSizing as SplitViewAutoSizing } from 'vs/base/browser/ui/splitview/splitview';
export { IViewSize, LayoutPriority, Orientation, orthogonal } from './gridview';
diff --git a/src/vs/base/browser/ui/list/listView.ts b/src/vs/base/browser/ui/list/listView.ts
index b73e5811121..df252f81290 100644
--- a/src/vs/base/browser/ui/list/listView.ts
+++ b/src/vs/base/browser/ui/list/listView.ts
@@ -403,11 +403,11 @@ export class ListView implements IListView {
this.disposables.add(Gesture.addTarget(this.rowsContainer));
- this.scrollable = new Scrollable({
+ this.scrollable = this.disposables.add(new Scrollable({
forceIntegerValues: true,
smoothScrollDuration: (options.smoothScrolling ?? false) ? 125 : 0,
scheduleAtNextAnimationFrame: cb => scheduleAtNextAnimationFrame(cb)
- });
+ }));
this.scrollableElement = this.disposables.add(new SmoothScrollableElement(this.rowsContainer, {
alwaysConsumeMouseWheel: options.alwaysConsumeMouseWheel ?? DefaultOptions.alwaysConsumeMouseWheel,
horizontal: ScrollbarVisibility.Auto,
@@ -1525,20 +1525,21 @@ export class ListView implements IListView {
// Dispose
dispose() {
- if (this.items) {
- for (const item of this.items) {
- if (item.row) {
- const renderer = this.renderers.get(item.row.templateId);
- if (renderer) {
- renderer.disposeElement?.(item.element, -1, item.row.templateData, undefined);
- renderer.disposeTemplate(item.row.templateData);
- }
+ for (const item of this.items) {
+ item.dragStartDisposable.dispose();
+ item.checkedDisposable.dispose();
+
+ if (item.row) {
+ const renderer = this.renderers.get(item.row.templateId);
+ if (renderer) {
+ renderer.disposeElement?.(item.element, -1, item.row.templateData, undefined);
+ renderer.disposeTemplate(item.row.templateData);
}
}
-
- this.items = [];
}
+ this.items = [];
+
if (this.domNode && this.domNode.parentNode) {
this.domNode.parentNode.removeChild(this.domNode);
}
diff --git a/src/vs/base/browser/ui/list/listWidget.ts b/src/vs/base/browser/ui/list/listWidget.ts
index ee900068b4b..1bd342c99c7 100644
--- a/src/vs/base/browser/ui/list/listWidget.ts
+++ b/src/vs/base/browser/ui/list/listWidget.ts
@@ -293,12 +293,15 @@ class KeyboardController implements IDisposable {
private readonly disposables = new DisposableStore();
private readonly multipleSelectionDisposables = new DisposableStore();
+ private multipleSelectionSupport: boolean | undefined;
@memoize
- private get onKeyDown(): Event.IChainableEvent {
- return this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(this.view.domNode, 'keydown')).event)
- .filter(e => !isInputElement(e.target as HTMLElement))
- .map(e => new StandardKeyboardEvent(e)));
+ private get onKeyDown(): Event {
+ return Event.chain(
+ this.disposables.add(new DomEmitter(this.view.domNode, 'keydown')).event, $ =>
+ $.filter(e => !isInputElement(e.target as HTMLElement))
+ .map(e => new StandardKeyboardEvent(e))
+ );
}
constructor(
@@ -306,25 +309,32 @@ class KeyboardController implements IDisposable {
private view: IListView,
options: IListOptions
) {
- this.onKeyDown.filter(e => e.keyCode === KeyCode.Enter).on(this.onEnter, this, this.disposables);
- this.onKeyDown.filter(e => e.keyCode === KeyCode.UpArrow).on(this.onUpArrow, this, this.disposables);
- this.onKeyDown.filter(e => e.keyCode === KeyCode.DownArrow).on(this.onDownArrow, this, this.disposables);
- this.onKeyDown.filter(e => e.keyCode === KeyCode.PageUp).on(this.onPageUpArrow, this, this.disposables);
- this.onKeyDown.filter(e => e.keyCode === KeyCode.PageDown).on(this.onPageDownArrow, this, this.disposables);
- this.onKeyDown.filter(e => e.keyCode === KeyCode.Escape).on(this.onEscape, this, this.disposables);
-
- if (options.multipleSelectionSupport !== false) {
- this.onKeyDown.filter(e => (platform.isMacintosh ? e.metaKey : e.ctrlKey) && e.keyCode === KeyCode.KeyA).on(this.onCtrlA, this, this.multipleSelectionDisposables);
- }
+ this.multipleSelectionSupport = options.multipleSelectionSupport;
+ this.disposables.add(this.onKeyDown(e => {
+ switch (e.keyCode) {
+ case KeyCode.Enter:
+ return this.onEnter(e);
+ case KeyCode.UpArrow:
+ return this.onUpArrow(e);
+ case KeyCode.DownArrow:
+ return this.onDownArrow(e);
+ case KeyCode.PageUp:
+ return this.onPageUpArrow(e);
+ case KeyCode.PageDown:
+ return this.onPageDownArrow(e);
+ case KeyCode.Escape:
+ return this.onEscape(e);
+ case KeyCode.KeyA:
+ if (this.multipleSelectionSupport && (platform.isMacintosh ? e.metaKey : e.ctrlKey)) {
+ this.onCtrlA(e);
+ }
+ }
+ }));
}
updateOptions(optionsUpdate: IListOptionsUpdate): void {
if (optionsUpdate.multipleSelectionSupport !== undefined) {
- this.multipleSelectionDisposables.clear();
-
- if (optionsUpdate.multipleSelectionSupport) {
- this.onKeyDown.filter(e => (platform.isMacintosh ? e.metaKey : e.ctrlKey) && e.keyCode === KeyCode.KeyA).on(this.onCtrlA, this, this.multipleSelectionDisposables);
- }
+ this.multipleSelectionSupport = optionsUpdate.multipleSelectionSupport;
}
}
@@ -464,15 +474,15 @@ class TypeNavigationController implements IDisposable {
let typing = false;
- const onChar = this.enabledDisposables.add(Event.chain(this.enabledDisposables.add(new DomEmitter(this.view.domNode, 'keydown')).event))
- .filter(e => !isInputElement(e.target as HTMLElement))
- .filter(() => this.mode === TypeNavigationMode.Automatic || this.triggered)
- .map(event => new StandardKeyboardEvent(event))
- .filter(e => typing || this.keyboardNavigationEventFilter(e))
- .filter(e => this.delegate.mightProducePrintableCharacter(e))
- .forEach(e => EventHelper.stop(e, true))
- .map(event => event.browserEvent.key)
- .event;
+ const onChar = Event.chain(this.enabledDisposables.add(new DomEmitter(this.view.domNode, 'keydown')).event, $ =>
+ $.filter(e => !isInputElement(e.target as HTMLElement))
+ .filter(() => this.mode === TypeNavigationMode.Automatic || this.triggered)
+ .map(event => new StandardKeyboardEvent(event))
+ .filter(e => typing || this.keyboardNavigationEventFilter(e))
+ .filter(e => this.delegate.mightProducePrintableCharacter(e))
+ .forEach(e => EventHelper.stop(e, true))
+ .map(event => event.browserEvent.key)
+ );
const onClear = Event.debounce(onChar, () => null, 800, undefined, undefined, undefined, this.enabledDisposables);
const onInput = Event.reduce(Event.any(onChar, onClear), (r, i) => i === null ? null : ((r || '') + i), undefined, this.enabledDisposables);
@@ -529,25 +539,33 @@ class TypeNavigationController implements IDisposable {
if (this.list.options.typeNavigationEnabled) {
if (typeof labelStr !== 'undefined') {
- const prefix = matchesPrefix(word, labelStr);
- const fuzzy = matchesFuzzy2(word, labelStr);
- // ensures that when fuzzy matching, it doesn't clash with prefix matching (1 input vs 1+ should be prefix and fuzzy respecitvely)
- const fuzzyScore = fuzzy ? fuzzy[0].end - fuzzy[0].start : 0;
- if (prefix || fuzzyScore > 1) {
+ // If prefix is found, focus and return early
+ if (matchesPrefix(word, labelStr)) {
this.previouslyFocused = start;
this.list.setFocus([index]);
this.list.reveal(index);
return;
}
+
+ const fuzzy = matchesFuzzy2(word, labelStr);
+
+ if (fuzzy) {
+ const fuzzyScore = fuzzy[0].end - fuzzy[0].start;
+ // ensures that when fuzzy matching, doesn't clash with prefix matching (1 input vs 1+ should be prefix and fuzzy respecitvely). Also makes sure that exact matches are prioritized.
+ if (fuzzyScore > 1 && fuzzy.length === 1) {
+ this.previouslyFocused = start;
+ this.list.setFocus([index]);
+ this.list.reveal(index);
+ return;
+ }
+ }
}
- } else {
- if (typeof labelStr === 'undefined' || matchesPrefix(word, labelStr)) {
- this.previouslyFocused = start;
- this.list.setFocus([index]);
- this.list.reveal(index);
- return;
- }
+ } else if (typeof labelStr === 'undefined' || matchesPrefix(word, labelStr)) {
+ this.previouslyFocused = start;
+ this.list.setFocus([index]);
+ this.list.reveal(index);
+ return;
}
}
}
@@ -567,12 +585,14 @@ class DOMFocusController implements IDisposable {
private list: List,
private view: IListView
) {
- const onKeyDown = this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(view.domNode, 'keydown')).event))
+ const onKeyDown = Event.chain(this.disposables.add(new DomEmitter(view.domNode, 'keydown')).event, $ => $
.filter(e => !isInputElement(e.target as HTMLElement))
- .map(e => new StandardKeyboardEvent(e));
+ .map(e => new StandardKeyboardEvent(e))
+ );
- onKeyDown.filter(e => e.keyCode === KeyCode.Tab && !e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey)
- .on(this.onTab, this, this.disposables);
+ const onTab = Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === KeyCode.Tab && !e.ctrlKey && !e.metaKey && !e.shiftKey && !e.altKey));
+
+ onTab(this.onTab, this, this.disposables);
}
private onTab(e: StandardKeyboardEvent): void {
@@ -729,10 +749,6 @@ export class MouseController implements IDisposable {
return;
}
- if (this.isSelectionRangeChangeEvent(e)) {
- return this.changeSelection(e);
- }
-
if (this.isSelectionChangeEvent(e)) {
return this.changeSelection(e);
}
@@ -994,7 +1010,6 @@ export interface IListOptions extends IListOptionsUpdate {
readonly keyboardNavigationLabelProvider?: IKeyboardNavigationLabelProvider;
readonly keyboardNavigationDelegate?: IKeyboardNavigationDelegate;
readonly keyboardSupport?: boolean;
- readonly keyboardNavigationEnabled?: boolean;
readonly multipleSelectionController?: IMultipleSelectionController;
readonly styleController?: (suffix: string) => IStyleController;
readonly accessibilityProvider?: IListAccessibilityProvider;
@@ -1349,31 +1364,29 @@ export class List implements ISpliceable, IDisposable {
@memoize get onContextMenu(): Event> {
let didJustPressContextMenuKey = false;
- const fromKeyDown = this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(this.view.domNode, 'keydown')).event))
- .map(e => new StandardKeyboardEvent(e))
- .filter(e => didJustPressContextMenuKey = e.keyCode === KeyCode.ContextMenu || (e.shiftKey && e.keyCode === KeyCode.F10))
- .map(e => EventHelper.stop(e, true))
- .filter(() => false)
- .event as Event;
+ const fromKeyDown: Event = Event.chain(this.disposables.add(new DomEmitter(this.view.domNode, 'keydown')).event, $ =>
+ $.map(e => new StandardKeyboardEvent(e))
+ .filter(e => didJustPressContextMenuKey = e.keyCode === KeyCode.ContextMenu || (e.shiftKey && e.keyCode === KeyCode.F10))
+ .map(e => EventHelper.stop(e, true))
+ .filter(() => false));
- const fromKeyUp = this.disposables.add(Event.chain(this.disposables.add(new DomEmitter(this.view.domNode, 'keyup')).event))
- .forEach(() => didJustPressContextMenuKey = false)
- .map(e => new StandardKeyboardEvent(e))
- .filter(e => e.keyCode === KeyCode.ContextMenu || (e.shiftKey && e.keyCode === KeyCode.F10))
- .map(e => EventHelper.stop(e, true))
- .map(({ browserEvent }) => {
- const focus = this.getFocus();
- const index = focus.length ? focus[0] : undefined;
- const element = typeof index !== 'undefined' ? this.view.element(index) : undefined;
- const anchor = typeof index !== 'undefined' ? this.view.domElement(index) as HTMLElement : this.view.domNode;
- return { index, element, anchor, browserEvent };
- })
- .event;
+ const fromKeyUp = Event.chain(this.disposables.add(new DomEmitter(this.view.domNode, 'keyup')).event, $ =>
+ $.forEach(() => didJustPressContextMenuKey = false)
+ .map(e => new StandardKeyboardEvent(e))
+ .filter(e => e.keyCode === KeyCode.ContextMenu || (e.shiftKey && e.keyCode === KeyCode.F10))
+ .map(e => EventHelper.stop(e, true))
+ .map(({ browserEvent }) => {
+ const focus = this.getFocus();
+ const index = focus.length ? focus[0] : undefined;
+ const element = typeof index !== 'undefined' ? this.view.element(index) : undefined;
+ const anchor = typeof index !== 'undefined' ? this.view.domElement(index) as HTMLElement : this.view.domNode;
+ return { index, element, anchor, browserEvent };
+ }));
- const fromMouse = this.disposables.add(Event.chain(this.view.onContextMenu))
- .filter(_ => !didJustPressContextMenuKey)
- .map(({ element, index, browserEvent }) => ({ element, index, anchor: new StandardMouseEvent(browserEvent), browserEvent }))
- .event;
+ const fromMouse = Event.chain(this.view.onContextMenu, $ =>
+ $.filter(_ => !didJustPressContextMenuKey)
+ .map(({ element, index, browserEvent }) => ({ element, index, anchor: new StandardMouseEvent(browserEvent), browserEvent }))
+ );
return Event.any>(fromKeyDown, fromKeyUp, fromMouse);
}
diff --git a/src/vs/base/browser/ui/scrollbar/scrollableElement.ts b/src/vs/base/browser/ui/scrollbar/scrollableElement.ts
index 45a3b751e41..4073f4272d0 100644
--- a/src/vs/base/browser/ui/scrollbar/scrollableElement.ts
+++ b/src/vs/base/browser/ui/scrollbar/scrollableElement.ts
@@ -626,14 +626,14 @@ export class DomScrollableElement extends AbstractScrollableElement {
super(element, options, scrollable);
this._register(scrollable);
this._element = element;
- this.onScroll((e) => {
+ this._register(this.onScroll((e) => {
if (e.scrollTopChanged) {
this._element.scrollTop = e.scrollTop;
}
if (e.scrollLeftChanged) {
this._element.scrollLeft = e.scrollLeft;
}
- });
+ }));
this.scanDomNode();
}
diff --git a/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts b/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts
index 898d768e870..819921c07ea 100644
--- a/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts
+++ b/src/vs/base/browser/ui/selectBox/selectBoxCustom.ts
@@ -752,20 +752,21 @@ export class SelectBoxList extends Disposable implements ISelectBoxDelegate, ILi
// SetUp list keyboard controller - control navigation, disabled items, focus
const onKeyDown = this._register(new DomEmitter(this.selectDropDownListContainer, 'keydown'));
- const onSelectDropDownKeyDown = Event.chain(onKeyDown.event)
- .filter(() => this.selectList.length > 0)
- .map(e => new StandardKeyboardEvent(e));
+ const onSelectDropDownKeyDown = Event.chain(onKeyDown.event, $ =>
+ $.filter(() => this.selectList.length > 0)
+ .map(e => new StandardKeyboardEvent(e))
+ );
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.Enter).on(e => this.onEnter(e), this));
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.Tab).on(e => this.onEnter(e), this)); // Tab should behave the same as enter, #79339
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.Escape).on(e => this.onEscape(e), this));
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.UpArrow).on(e => this.onUpArrow(e), this));
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.DownArrow).on(e => this.onDownArrow(e), this));
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.PageDown).on(this.onPageDown, this));
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.PageUp).on(this.onPageUp, this));
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.Home).on(this.onHome, this));
- this._register(onSelectDropDownKeyDown.filter(e => e.keyCode === KeyCode.End).on(this.onEnd, this));
- this._register(onSelectDropDownKeyDown.filter(e => (e.keyCode >= KeyCode.Digit0 && e.keyCode <= KeyCode.KeyZ) || (e.keyCode >= KeyCode.Semicolon && e.keyCode <= KeyCode.NumpadDivide)).on(this.onCharacter, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.Enter))(this.onEnter, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.Tab))(this.onEnter, this)); // Tab should behave the same as enter, #79339
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.Escape))(this.onEscape, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.UpArrow))(this.onUpArrow, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.DownArrow))(this.onDownArrow, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.PageDown))(this.onPageDown, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.PageUp))(this.onPageUp, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.Home))(this.onHome, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => e.keyCode === KeyCode.End))(this.onEnd, this));
+ this._register(Event.chain(onSelectDropDownKeyDown, $ => $.filter(e => (e.keyCode >= KeyCode.Digit0 && e.keyCode <= KeyCode.KeyZ) || (e.keyCode >= KeyCode.Semicolon && e.keyCode <= KeyCode.NumpadDivide)))(this.onCharacter, this));
// SetUp list mouse controller - control navigation, disabled items, focus
this._register(dom.addDisposableListener(this.selectList.getHTMLElement(), dom.EventType.POINTER_UP, e => this.onPointerUp(e)));
diff --git a/src/vs/base/browser/ui/toolbar/toolbar.ts b/src/vs/base/browser/ui/toolbar/toolbar.ts
index bcb90361b41..8d0e2f48d03 100644
--- a/src/vs/base/browser/ui/toolbar/toolbar.ts
+++ b/src/vs/base/browser/ui/toolbar/toolbar.ts
@@ -212,6 +212,7 @@ export class ToolBar extends Disposable {
override dispose(): void {
this.clear();
+ this.disposables.dispose();
super.dispose();
}
}
diff --git a/src/vs/base/browser/ui/tree/abstractTree.ts b/src/vs/base/browser/ui/tree/abstractTree.ts
index 3591193bab9..5376fe98462 100644
--- a/src/vs/base/browser/ui/tree/abstractTree.ts
+++ b/src/vs/base/browser/ui/tree/abstractTree.ts
@@ -19,7 +19,7 @@ import { getVisibleState, isFilterResult } from 'vs/base/browser/ui/tree/indexTr
import { ICollapseStateChangeEvent, ITreeContextMenuEvent, ITreeDragAndDrop, ITreeEvent, ITreeFilter, ITreeModel, ITreeModelSpliceEvent, ITreeMouseEvent, ITreeNavigator, ITreeNode, ITreeRenderer, TreeDragOverBubble, TreeError, TreeFilterResult, TreeMouseEventTarget, TreeVisibility } from 'vs/base/browser/ui/tree/tree';
import { Action } from 'vs/base/common/actions';
import { distinct, equals, firstOrDefault, range } from 'vs/base/common/arrays';
-import { disposableTimeout, timeout } from 'vs/base/common/async';
+import { Delayer, disposableTimeout, timeout } from 'vs/base/common/async';
import { Codicon } from 'vs/base/common/codicons';
import { ThemeIcon } from 'vs/base/common/themables';
import { SetMap } from 'vs/base/common/collections';
@@ -814,9 +814,7 @@ class FindWidget extends Disposable {
this.mode = mode;
const emitter = this._register(new DomEmitter(this.findInput.inputBox.inputElement, 'keydown'));
- const onKeyDown = this._register(Event.chain(emitter.event))
- .map(e => new StandardKeyboardEvent(e))
- .event;
+ const onKeyDown = Event.chain(emitter.event, $ => $.map(e => new StandardKeyboardEvent(e)));
this._register(onKeyDown((e): any => {
// Using equals() so we reserve modified keys for future use
@@ -886,9 +884,7 @@ class FindWidget extends Disposable {
}));
}));
- const onGrabKeyDown = this._register(Event.chain(this._register(new DomEmitter(this.elements.grab, 'keydown')).event))
- .map(e => new StandardKeyboardEvent(e))
- .event;
+ const onGrabKeyDown = Event.chain(this._register(new DomEmitter(this.elements.grab, 'keydown')).event, $ => $.map(e => new StandardKeyboardEvent(e)));
this._register(onGrabKeyDown((e): any => {
let right: number | undefined;
@@ -1218,7 +1214,7 @@ export interface IAbstractTreeOptions extends IAbstractTr
readonly collapseByDefault?: boolean; // defaults to false
readonly filter?: ITreeFilter;
readonly dnd?: ITreeDragAndDrop;
- readonly additionalScrollHeight?: number;
+ readonly paddingBottom?: number;
readonly findWidgetEnabled?: boolean;
readonly findWidgetStyles?: IFindWidgetStyles;
readonly defaultFindVisibility?: TreeVisibility | ((e: T) => TreeVisibility);
@@ -1624,9 +1620,10 @@ export abstract class AbstractTree implements IDisposable
// We debounce it with 0 delay since these events may fire in the same stack and we only
// want to run this once. It also doesn't matter if it runs on the next tick since it's only
// a nice to have UI feature.
- onDidChangeActiveNodes.input = Event.chain(Event.any(onDidModelSplice, this.focus.onDidChange, this.selection.onDidChange))
- .debounce(() => null, 0)
- .map(() => {
+ const activeNodesEmitter = this.disposables.add(new Emitter[]>());
+ const activeNodesDebounce = this.disposables.add(new Delayer(0));
+ this.disposables.add(Event.any(onDidModelSplice, this.focus.onDidChange, this.selection.onDidChange)(() => {
+ activeNodesDebounce.trigger(() => {
const set = new Set>();
for (const node of this.focus.getNodes()) {
@@ -1637,17 +1634,20 @@ export abstract class AbstractTree implements IDisposable
set.add(node);
}
- return [...set.values()];
- }).event;
+ activeNodesEmitter.fire([...set.values()]);
+ });
+ }));
+ onDidChangeActiveNodes.input = activeNodesEmitter.event;
if (_options.keyboardSupport !== false) {
- const onKeyDown = Event.chain(this.view.onKeyDown)
- .filter(e => !isInputElement(e.target as HTMLElement))
- .map(e => new StandardKeyboardEvent(e));
+ const onKeyDown = Event.chain(this.view.onKeyDown, $ =>
+ $.filter(e => !isInputElement(e.target as HTMLElement))
+ .map(e => new StandardKeyboardEvent(e))
+ );
- onKeyDown.filter(e => e.keyCode === KeyCode.LeftArrow).on(this.onLeftArrow, this, this.disposables);
- onKeyDown.filter(e => e.keyCode === KeyCode.RightArrow).on(this.onRightArrow, this, this.disposables);
- onKeyDown.filter(e => e.keyCode === KeyCode.Space).on(this.onSpace, this, this.disposables);
+ Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === KeyCode.LeftArrow))(this.onLeftArrow, this, this.disposables);
+ Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === KeyCode.RightArrow))(this.onRightArrow, this, this.disposables);
+ Event.chain(onKeyDown, $ => $.filter(e => e.keyCode === KeyCode.Space))(this.onSpace, this, this.disposables);
}
if ((_options.findWidgetEnabled ?? true) && _options.keyboardNavigationLabelProvider && _options.contextViewProvider) {
diff --git a/src/vs/base/browser/ui/tree/asyncDataTree.ts b/src/vs/base/browser/ui/tree/asyncDataTree.ts
index 3b4d493144b..ad460ab3d1d 100644
--- a/src/vs/base/browser/ui/tree/asyncDataTree.ts
+++ b/src/vs/base/browser/ui/tree/asyncDataTree.ts
@@ -1061,6 +1061,7 @@ export class AsyncDataTree implements IDisposable
dispose(): void {
this.disposables.dispose();
+ this.tree.dispose();
}
}
diff --git a/src/vs/base/common/arrays.ts b/src/vs/base/common/arrays.ts
index 22c2859f5e9..35b0620e7b2 100644
--- a/src/vs/base/common/arrays.ts
+++ b/src/vs/base/common/arrays.ts
@@ -6,6 +6,7 @@
import { CancellationToken } from 'vs/base/common/cancellation';
import { CancellationError } from 'vs/base/common/errors';
import { ISplice } from 'vs/base/common/sequence';
+import { findFirstIdxMonotonousOrArrLen } from './arraysFind';
/**
* Returns the last element of an array.
@@ -106,27 +107,6 @@ export function binarySearch2(length: number, compareToKey: (index: number) => n
return -(low + 1);
}
-/**
- * Takes a sorted array and a function p. The array is sorted in such a way that all elements where p(x) is false
- * are located before all elements where p(x) is true.
- * @returns the least x for which p(x) is true or array.length if no element fullfills the given function.
- */
-export function findFirstInSorted(array: ReadonlyArray, p: (x: T) => boolean): number {
- let low = 0, high = array.length;
- if (high === 0) {
- return 0; // no children
- }
- while (low < high) {
- const mid = Math.floor((low + high) / 2);
- if (p(array[mid])) {
- high = mid;
- } else {
- low = mid + 1;
- }
- }
- return low;
-}
-
type Compare = (a: T, b: T) => number;
@@ -177,6 +157,36 @@ export function groupBy(data: ReadonlyArray, compare: (a: T, b: T) => numb
return result;
}
+/**
+ * Splits the given items into a list of (non-empty) groups.
+ * `shouldBeGrouped` is used to decide if two consecutive items should be in the same group.
+ * The order of the items is preserved.
+ */
+export function* groupAdjacentBy(items: Iterable, shouldBeGrouped: (item1: T, item2: T) => boolean): Iterable {
+ let currentGroup: T[] | undefined;
+ let last: T | undefined;
+ for (const item of items) {
+ if (last !== undefined && shouldBeGrouped(last, item)) {
+ currentGroup!.push(item);
+ } else {
+ if (currentGroup) {
+ yield currentGroup;
+ }
+ currentGroup = [item];
+ }
+ last = item;
+ }
+ if (currentGroup) {
+ yield currentGroup;
+ }
+}
+
+export function forEachAdjacent(arr: T[], f: (item1: T | undefined, item2: T | undefined) => void): void {
+ for (let i = 0; i <= arr.length; i++) {
+ f(i === 0 ? undefined : arr[i - 1], i === arr.length ? undefined : arr[i]);
+ }
+}
+
interface IMutableSplice extends ISplice {
readonly toInsert: T[];
deleteCount: number;
@@ -315,7 +325,7 @@ function topStep(array: ReadonlyArray, compare: (a: T, b: T) => number, re
const element = array[i];
if (compare(element, result[n - 1]) < 0) {
result.pop();
- const j = findFirstInSorted(result, e => compare(element, e) < 0);
+ const j = findFirstIdxMonotonousOrArrLen(result, e => compare(element, e) < 0);
result.splice(j, 0, element);
}
}
@@ -397,26 +407,6 @@ export function uniqueFilter(keyFn: (t: T) => R): (t: T) => boolean {
};
}
-export function findLast(arr: readonly T[], predicate: (item: T) => boolean): T | undefined {
- const idx = findLastIndex(arr, predicate);
- if (idx === -1) {
- return undefined;
- }
- return arr[idx];
-}
-
-export function findLastIndex(array: ReadonlyArray, fn: (item: T) => boolean): number {
- for (let i = array.length - 1; i >= 0; i--) {
- const element = array[i];
-
- if (fn(element)) {
- return i;
- }
- }
-
- return -1;
-}
-
export function firstOrDefault(array: ReadonlyArray, notFoundValue: NotFound): T | NotFound;
export function firstOrDefault(array: ReadonlyArray): T | undefined;
export function firstOrDefault(array: ReadonlyArray, notFoundValue?: NotFound): T | NotFound | undefined {
@@ -592,20 +582,6 @@ export function getRandomElement(arr: T[]): T | undefined {
return arr[Math.floor(Math.random() * arr.length)];
}
-/**
- * Returns the first mapped value of the array which is not undefined.
- */
-export function mapFind(array: Iterable, mapFn: (value: T) => R | undefined): R | undefined {
- for (const value of array) {
- const mapped = mapFn(value);
- if (mapped !== undefined) {
- return mapped;
- }
- }
-
- return undefined;
-}
-
/**
* Insert the new items in the array.
* @param array The original array.
@@ -637,7 +613,11 @@ export function insertInto(array: T[], start: number, newItems: T[]): void {
*/
export function splice(array: T[], start: number, deleteCount: number, newItems: T[]): T[] {
const index = getActualStartIndex(array, start);
- const result = array.splice(index, deleteCount);
+ let result = array.splice(index, deleteCount);
+ if (result === undefined) {
+ // see https://bugs.webkit.org/show_bug.cgi?id=261140
+ result = [];
+ }
insertInto(array, index, newItems);
return result;
}
@@ -666,6 +646,10 @@ export namespace CompareResult {
return result < 0;
}
+ export function isLessThanOrEqual(result: CompareResult): boolean {
+ return result <= 0;
+ }
+
export function isGreaterThan(result: CompareResult): boolean {
return result > 0;
}
@@ -713,64 +697,6 @@ export function reverseOrder(comparator: Comparator): Comparator -comparator(a, b);
}
-/**
- * Returns the first item that is equal to or greater than every other item.
-*/
-export function findMaxBy(items: readonly T[], comparator: Comparator): T | undefined {
- if (items.length === 0) {
- return undefined;
- }
-
- let max = items[0];
- for (let i = 1; i < items.length; i++) {
- const item = items[i];
- if (comparator(item, max) > 0) {
- max = item;
- }
- }
- return max;
-}
-
-/**
- * Returns the last item that is equal to or greater than every other item.
-*/
-export function findLastMaxBy(items: readonly T[], comparator: Comparator): T | undefined {
- if (items.length === 0) {
- return undefined;
- }
-
- let max = items[0];
- for (let i = 1; i < items.length; i++) {
- const item = items[i];
- if (comparator(item, max) >= 0) {
- max = item;
- }
- }
- return max;
-}
-
-/**
- * Returns the first item that is equal to or less than every other item.
-*/
-export function findMinBy(items: readonly T[], comparator: Comparator): T | undefined {
- return findMaxBy(items, (a, b) => -comparator(a, b));
-}
-
-export function findMaxIdxBy(items: readonly T[], comparator: Comparator): number {
- if (items.length === 0) {
- return -1;
- }
-
- let maxIdx = 0;
- for (let i = 1; i < items.length; i++) {
- const item = items[i];
- if (comparator(item, items[maxIdx]) > 0) {
- maxIdx = i;
- }
- }
- return maxIdx;
-}
-
export class ArrayQueue {
private firstIdx = 0;
private lastIdx = this.items.length - 1;
diff --git a/src/vs/base/common/arraysFind.ts b/src/vs/base/common/arraysFind.ts
new file mode 100644
index 00000000000..8ef2d2ad936
--- /dev/null
+++ b/src/vs/base/common/arraysFind.ts
@@ -0,0 +1,202 @@
+/*---------------------------------------------------------------------------------------------
+ * Copyright (c) Microsoft Corporation. All rights reserved.
+ * Licensed under the MIT License. See License.txt in the project root for license information.
+ *--------------------------------------------------------------------------------------------*/
+
+import { Comparator } from './arrays';
+
+export function findLast(array: readonly T[], predicate: (item: T) => boolean): T | undefined {
+ const idx = findLastIdx(array, predicate);
+ if (idx === -1) {
+ return undefined;
+ }
+ return array[idx];
+}
+
+export function findLastIdx(array: readonly T[], predicate: (item: T) => boolean): number {
+ for (let i = array.length - 1; i >= 0; i--) {
+ const element = array[i];
+
+ if (predicate(element)) {
+ return i;
+ }
+ }
+
+ return -1;
+}
+
+/**
+ * Finds the last item where predicate is true using binary search.
+ * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[true, ..., true, false, ..., false]`!
+ *
+ * @returns `undefined` if no item matches, otherwise the last item that matches the predicate.
+ */
+export function findLastMonotonous(array: readonly T[], predicate: (item: T) => boolean): T | undefined {
+ const idx = findLastIdxMonotonous(array, predicate);
+ return idx === -1 ? undefined : array[idx];
+}
+
+/**
+ * Finds the last item where predicate is true using binary search.
+ * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[true, ..., true, false, ..., false]`!
+ *
+ * @returns `startIdx - 1` if predicate is false for all items, otherwise the index of the last item that matches the predicate.
+ */
+export function findLastIdxMonotonous(array: readonly T[], predicate: (item: T) => boolean, startIdx = 0, endIdxEx = array.length): number {
+ let i = startIdx;
+ let j = endIdxEx;
+ while (i < j) {
+ const k = Math.floor((i + j) / 2);
+ if (predicate(array[k])) {
+ i = k + 1;
+ } else {
+ j = k;
+ }
+ }
+ return i - 1;
+}
+
+/**
+ * Finds the first item where predicate is true using binary search.
+ * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[false, ..., false, true, ..., true]`!
+ *
+ * @returns `undefined` if no item matches, otherwise the first item that matches the predicate.
+ */
+export function findFirstMonotonous(array: readonly T[], predicate: (item: T) => boolean): T | undefined {
+ const idx = findFirstIdxMonotonousOrArrLen(array, predicate);
+ return idx === array.length ? undefined : array[idx];
+}
+
+/**
+ * Finds the first item where predicate is true using binary search.
+ * `predicate` must be monotonous, i.e. `arr.map(predicate)` must be like `[false, ..., false, true, ..., true]`!
+ *
+ * @returns `endIdxEx` if predicate is false for all items, otherwise the index of the first item that matches the predicate.
+ */
+export function findFirstIdxMonotonousOrArrLen(array: readonly T[], predicate: (item: T) => boolean, startIdx = 0, endIdxEx = array.length): number {
+ let i = startIdx;
+ let j = endIdxEx;
+ while (i < j) {
+ const k = Math.floor((i + j) / 2);
+ if (predicate(array[k])) {
+ j = k;
+ } else {
+ i = k + 1;
+ }
+ }
+ return i;
+}
+
+export function findFirstIdxMonotonous(array: readonly T[], predicate: (item: T) => boolean, startIdx = 0, endIdxEx = array.length): number {
+ const idx = findFirstIdxMonotonousOrArrLen(array, predicate, startIdx, endIdxEx);
+ return idx === array.length ? -1 : idx;
+}
+
+/**
+ * Use this when
+ * * You have a sorted array
+ * * You query this array with a monotonous predicate to find the last item that has a certain property.
+ * * You query this array multiple times with monotonous predicates that get weaker and weaker.
+ */
+export class MonotonousArray {
+ public static assertInvariants = false;
+
+ private _findLastMonotonousLastIdx = 0;
+ private _prevFindLastPredicate: ((item: T) => boolean) | undefined;
+
+ constructor(private readonly _array: readonly T[]) {
+ }
+
+ /**
+ * The predicate must be monotonous, i.e. `arr.map(predicate)` must be like `[true, ..., true, false, ..., false]`!
+ * For subsequent calls, current predicate must be weaker than (or equal to) the previous predicate, i.e. more entries must be `true`.
+ */
+ findLastMonotonous(predicate: (item: T) => boolean): T | undefined {
+ if (MonotonousArray.assertInvariants) {
+ if (this._prevFindLastPredicate) {
+ for (const item of this._array) {
+ if (this._prevFindLastPredicate(item) && !predicate(item)) {
+ throw new Error('MonotonousArray: current predicate must be weaker than (or equal to) the previous predicate.');
+ }
+ }
+ }
+ this._prevFindLastPredicate = predicate;
+ }
+
+ const idx = findLastIdxMonotonous(this._array, predicate, this._findLastMonotonousLastIdx);
+ this._findLastMonotonousLastIdx = idx + 1;
+ return idx === -1 ? undefined : this._array[idx];
+ }
+}
+
+/**
+ * Returns the first item that is equal to or greater than every other item.
+*/
+export function findFirstMaxBy(array: readonly T[], comparator: Comparator): T | undefined {
+ if (array.length === 0) {
+ return undefined;
+ }
+
+ let max = array[0];
+ for (let i = 1; i < array.length; i++) {
+ const item = array[i];
+ if (comparator(item, max) > 0) {
+ max = item;
+ }
+ }
+ return max;
+}
+
+/**
+ * Returns the last item that is equal to or greater than every other item.
+*/
+export function findLastMaxBy(array: readonly T[], comparator: Comparator): T | undefined {
+ if (array.length === 0) {
+ return undefined;
+ }
+
+ let max = array[0];
+ for (let i = 1; i < array.length; i++) {
+ const item = array[i];
+ if (comparator(item, max) >= 0) {
+ max = item;
+ }
+ }
+ return max;
+}
+
+/**
+ * Returns the first item that is equal to or less than every other item.
+*/
+export function findFirstMinBy(array: readonly T[], comparator: Comparator): T | undefined {
+ return findFirstMaxBy(array, (a, b) => -comparator(a, b));
+}
+
+export function findMaxIdxBy(array: readonly T[], comparator: Comparator): number {
+ if (array.length === 0) {
+ return -1;
+ }
+
+ let maxIdx = 0;
+ for (let i = 1; i < array.length; i++) {
+ const item = array[i];
+ if (comparator(item, array[maxIdx]) > 0) {
+ maxIdx = i;
+ }
+ }
+ return maxIdx;
+}
+
+/**
+ * Returns the first mapped value of the array which is not undefined.
+ */
+export function mapFindFirst(items: Iterable, mapFn: (value: T) => R | undefined): R | undefined {
+ for (const value of items) {
+ const mapped = mapFn(value);
+ if (mapped !== undefined) {
+ return mapped;
+ }
+ }
+
+ return undefined;
+}
diff --git a/src/vs/base/common/async.ts b/src/vs/base/common/async.ts
index e00f3d59653..dad5135fd56 100644
--- a/src/vs/base/common/async.ts
+++ b/src/vs/base/common/async.ts
@@ -6,7 +6,7 @@
import { CancellationToken, CancellationTokenSource } from 'vs/base/common/cancellation';
import { CancellationError } from 'vs/base/common/errors';
import { Emitter, Event } from 'vs/base/common/event';
-import { Disposable, IDisposable, MutableDisposable, toDisposable } from 'vs/base/common/lifecycle';
+import { Disposable, DisposableMap, IDisposable, MutableDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { extUri as defaultExtUri, IExtUri } from 'vs/base/common/resources';
import { URI } from 'vs/base/common/uri';
import { setTimeout0 } from 'vs/base/common/platform';
@@ -682,6 +682,31 @@ export class Queue extends Limiter {
}
}
+/**
+ * Same as `Queue`, ensures that only 1 task is executed at the same time. The difference to `Queue` is that
+ * there is only 1 task about to be scheduled next. As such, calling `queue` while a task is executing will
+ * replace the currently queued task until it executes.
+ *
+ * As such, the returned promise may not be from the factory that is passed in but from the next factory that
+ * is running after having called `queue`.
+ */
+export class LimitedQueue {
+
+ private readonly sequentializer = new TaskSequentializer();
+
+ private tasks = 0;
+
+ queue(factory: ITask>): Promise {
+ if (!this.sequentializer.isRunning()) {
+ return this.sequentializer.run(this.tasks++, factory());
+ }
+
+ return this.sequentializer.queue(() => {
+ return this.sequentializer.run(this.tasks++, factory());
+ });
+ }
+}
+
/**
* A helper to organize queues per resource. The ResourceQueue makes sure to manage queues per resource
* by disposing them once the queue is empty.
@@ -692,6 +717,9 @@ export class ResourceQueue implements IDisposable {
private readonly drainers = new Set>();
+ private drainListeners: DisposableMap | undefined = undefined;
+ private drainListenerCount = 0;
+
async whenDrained(): Promise {
if (this.isDrained()) {
return;
@@ -719,12 +747,25 @@ export class ResourceQueue implements IDisposable {
let queue = this.queues.get(key);
if (!queue) {
queue = new Queue();
- Event.once(queue.onDrained)(() => {
+ const drainListenerId = this.drainListenerCount++;
+ const drainListener = Event.once(queue.onDrained)(() => {
queue?.dispose();
this.queues.delete(key);
this.onDidQueueDrain();
+
+ this.drainListeners?.deleteAndDispose(drainListenerId);
+
+ if (this.drainListeners?.size === 0) {
+ this.drainListeners.dispose();
+ this.drainListeners = undefined;
+ }
});
+ if (!this.drainListeners) {
+ this.drainListeners = new DisposableMap();
+ }
+ this.drainListeners.set(drainListenerId, drainListener);
+
this.queues.set(key, queue);
}
@@ -761,6 +802,8 @@ export class ResourceQueue implements IDisposable {
// promises when the resource queue is being
// disposed.
this.releaseDrainers();
+
+ this.drainListeners?.dispose();
}
}
@@ -1267,87 +1310,92 @@ export async function retry(task: ITask>, delay: number, retries:
//#region Task Sequentializer
-interface IPendingTask {
+interface IRunningTask {
readonly taskId: number;
readonly cancel: () => void;
readonly promise: Promise;
}
-interface INextTask {
+interface IQueuedTask {
readonly promise: Promise;
readonly promiseResolve: () => void;
readonly promiseReject: (error: Error) => void;
- run: () => Promise;
+ run: ITask>;
}
-export interface ITaskSequentializerWithPendingTask {
- readonly pending: Promise;
+export interface ITaskSequentializerWithRunningTask {
+ readonly running: Promise;
}
-export interface ITaskSequentializerWithNextTask {
- readonly next: INextTask;
+export interface ITaskSequentializerWithQueuedTask {
+ readonly queued: IQueuedTask;
}
+/**
+ * @deprecated use `LimitedQueue` instead for an easier to use API
+ */
export class TaskSequentializer {
- private _pending?: IPendingTask;
- private _next?: INextTask;
-
- hasPending(taskId?: number): this is ITaskSequentializerWithPendingTask {
- if (!this._pending) {
- return false;
- }
+ private _running?: IRunningTask;
+ private _queued?: IQueuedTask;
+ isRunning(taskId?: number): this is ITaskSequentializerWithRunningTask {
if (typeof taskId === 'number') {
- return this._pending.taskId === taskId;
+ return this._running?.taskId === taskId;
}
- return !!this._pending;
+ return !!this._running;
}
- get pending(): Promise | undefined {
- return this._pending?.promise;
+ get running(): Promise | undefined {
+ return this._running?.promise;
}
- cancelPending(): void {
- this._pending?.cancel();
+ cancelRunning(): void {
+ this._running?.cancel();
}
- setPending(taskId: number, promise: Promise, onCancel?: () => void,): Promise {
- this._pending = { taskId, cancel: () => onCancel?.(), promise };
+ run(taskId: number, promise: Promise, onCancel?: () => void,): Promise {
+ this._running = { taskId, cancel: () => onCancel?.(), promise };
- promise.then(() => this.donePending(taskId), () => this.donePending(taskId));
+ promise.then(() => this.doneRunning(taskId), () => this.doneRunning(taskId));
return promise;
}
- private donePending(taskId: number): void {
- if (this._pending && taskId === this._pending.taskId) {
+ private doneRunning(taskId: number): void {
+ if (this._running && taskId === this._running.taskId) {
- // only set pending to done if the promise finished that is associated with that taskId
- this._pending = undefined;
+ // only set running to done if the promise finished that is associated with that taskId
+ this._running = undefined;
- // schedule the next task now that we are free if we have any
- this.triggerNext();
+ // schedule the queued task now that we are free if we have any
+ this.runQueued();
}
}
- private triggerNext(): void {
- if (this._next) {
- const next = this._next;
- this._next = undefined;
+ private runQueued(): void {
+ if (this._queued) {
+ const queued = this._queued;
+ this._queued = undefined;
- // Run next task and complete on the associated promise
- next.run().then(next.promiseResolve, next.promiseReject);
+ // Run queued task and complete on the associated promise
+ queued.run().then(queued.promiseResolve, queued.promiseReject);
}
}
- setNext(run: () => Promise): Promise {
+ /**
+ * Note: the promise to schedule as next run MUST itself call `run`.
+ * Otherwise, this sequentializer will report `false` for `isRunning`
+ * even when this task is running. Missing this detail means that
+ * suddenly multiple tasks will run in parallel.
+ */
+ queue(run: ITask>): Promise {
- // this is our first next task, so we create associated promise with it
+ // this is our first queued task, so we create associated promise with it
// so that we can return a promise that completes when the task has
// completed.
- if (!this._next) {
+ if (!this._queued) {
let promiseResolve: () => void;
let promiseReject: (error: Error) => void;
const promise = new Promise((resolve, reject) => {
@@ -1355,7 +1403,7 @@ export class TaskSequentializer {
promiseReject = reject;
});
- this._next = {
+ this._queued = {
run,
promise,
promiseResolve: promiseResolve!,
@@ -1363,20 +1411,20 @@ export class TaskSequentializer {
};
}
- // we have a previous next task, just overwrite it
+ // we have a previous queued task, just overwrite it
else {
- this._next.run = run;
+ this._queued.run = run;
}
- return this._next.promise;
+ return this._queued.promise;
}
- hasNext(): this is ITaskSequentializerWithNextTask {
- return !!this._next;
+ hasQueued(): this is ITaskSequentializerWithQueuedTask {
+ return !!this._queued;
}
async join(): Promise {
- return this._next?.promise ?? this._pending?.promise;
+ return this._queued?.promise ?? this._running?.promise;
}
}
diff --git a/src/vs/base/common/codicons.ts b/src/vs/base/common/codicons.ts
index 48dd3abfb72..0c5fd5a01e8 100644
--- a/src/vs/base/common/codicons.ts
+++ b/src/vs/base/common/codicons.ts
@@ -567,6 +567,7 @@ export const Codicon = {
send: register('send', 0xec0f),
sparkle: register('sparkle', 0xec10),
insert: register('insert', 0xec11),
+ mic: register('mic', 0xec12),
// derived icons, that could become separate icons
diff --git a/src/vs/base/common/errors.ts b/src/vs/base/common/errors.ts
index a558a0b06d8..f0d9296057b 100644
--- a/src/vs/base/common/errors.ts
+++ b/src/vs/base/common/errors.ts
@@ -201,16 +201,10 @@ export function illegalState(name?: string): Error {
}
}
-export function readonly(name?: string): Error {
- return name
- ? new Error(`readonly property '${name} cannot be changed'`)
- : new Error('readonly property cannot be changed');
-}
-
-export function disposed(what: string): Error {
- const result = new Error(`${what} has been disposed`);
- result.name = 'DISPOSED';
- return result;
+export class ReadonlyError extends TypeError {
+ constructor(name?: string) {
+ super(name ? `${name} is read-only and cannot be changed` : 'Cannot change read-only property');
+ }
}
export function getErrorMessage(err: any): string {
diff --git a/src/vs/base/common/event.ts b/src/vs/base/common/event.ts
index 872263f2e9e..2e5f7fc27a1 100644
--- a/src/vs/base/common/event.ts
+++ b/src/vs/base/common/event.ts
@@ -6,7 +6,7 @@
import { CancellationToken } from 'vs/base/common/cancellation';
import { onUnexpectedError } from 'vs/base/common/errors';
import { once as onceFn } from 'vs/base/common/functional';
-import { combinedDisposable, Disposable, DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
+import { combinedDisposable, Disposable, DisposableMap, DisposableStore, IDisposable, toDisposable } from 'vs/base/common/lifecycle';
import { LinkedList } from 'vs/base/common/linkedList';
import { IObservable, IObserver } from 'vs/base/common/observable';
import { StopWatch } from 'vs/base/common/stopwatch';
@@ -165,7 +165,10 @@ export namespace Event {
export function any(...events: Event[]): Event;
export function any(...events: Event[]): Event;
export function any(...events: Event[]): Event {
- return (listener, thisArgs = null, disposables?) => combinedDisposable(...events.map(event => event(e => listener.call(thisArgs, e), null, disposables)));
+ return (listener, thisArgs = null, disposables?) => {
+ const disposable = combinedDisposable(...events.map(event => event(e => listener.call(thisArgs, e))));
+ return addAndReturnDisposable(disposable, disposables);
+ };
}
/**
@@ -205,6 +208,19 @@ export namespace Event {
return emitter.event;
}
+ /**
+ * Adds the IDisposable to the store if it's set, and returns it. Useful to
+ * Event function implementation.
+ */
+ function addAndReturnDisposable(d: T, store: DisposableStore | IDisposable[] | undefined): T {
+ if (store instanceof Array) {
+ store.push(d);
+ } else if (store) {
+ store.add(d);
+ }
+ return d;
+ }
+
/**
* Given an event, creates a new emitter that event that will debounce events based on {@link delay} and give an
* array event object of all events that fired.
@@ -421,79 +437,6 @@ export namespace Event {
return emitter.event;
}
-
- export interface IChainableEvent extends IDisposable {
-
- event: Event;
- map(fn: (i: T) => O): IChainableEvent;
- forEach(fn: (i: T) => void): IChainableEvent;
- filter(fn: (e: T) => boolean): IChainableEvent;
- filter(fn: (e: T | R) => e is R): IChainableEvent;
- reduce(merge: (last: R | undefined, event: T) => R, initial?: R): IChainableEvent;
- latch(): IChainableEvent;
- debounce(merge: (last: T | undefined, event: T) => T, delay?: number, leading?: boolean, flushOnListenerRemove?: boolean, leakWarningThreshold?: number): IChainableEvent