diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index dec7a8ae..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,101 +0,0 @@ -name: build - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - -jobs: - - build: - runs-on: ${{ matrix.os }} - - strategy: - matrix: - os: [ubuntu-latest] - node-version: [16.x] - - steps: - - name: install dependencies on ubuntu - if: startsWith(matrix.os,'ubuntu') - run: | - sudo apt install -y make gcc pkg-config build-essential libx11-dev libxkbfile-dev - - - uses: actions/checkout@v2 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn cache dir)" - - - name: Cache node_modules with yarn - uses: actions/cache@v2 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn- - - - run: yarn --frozen-lockfile - - ui-test: - timeout-minutes: 60 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: 16 - - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: '17' - - name: Install dependencies - run: yarn - - name: Package VS Code Extension - run: yarn vsce:package - - name: Download sample traces - run: yarn download:sample-traces - - name: Download trace server - run: yarn download:server - - name: Start trace server - run: yarn start:server & - - name: Download openvscode-server - run: yarn download:openvscode-server - - name: Configure openvscode-server - run: yarn configure:openvscode-server - - name: Start openvscode-server - run: yarn start:openvscode-server & - - name: Install Playwright Browsers - run: yarn playwright install --with-deps - - name: Run Playwright tests - run: yarn playwright test - - uses: actions/upload-artifact@v3 - if: always() - with: - name: playwright-report - path: playwright-report/ - retention-days: 30 - - code-lint: - runs-on: ubuntu-latest - - steps: - - name: Check out Git repository - uses: actions/checkout@v2 - - - uses: actions/setup-node@v1 - with: - node-version: '16' - - # ESLint and Prettier must be in `package.json` - - run: yarn --frozen-lockfile --ignore-scripts - - - run: yarn lint - - run: yarn format:check \ No newline at end of file diff --git a/.github/workflows/ci-cd..yml b/.github/workflows/ci-cd..yml new file mode 100644 index 00000000..a4f3f7d3 --- /dev/null +++ b/.github/workflows/ci-cd..yml @@ -0,0 +1,116 @@ +name: CI/CD + +on: + push: + branches: [ master ] + tags: + - 'v*' + pull_request: + branches: [ master ] + +jobs: + + build-test: + name: Build and run UI Tests + timeout-minutes: 60 + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + node-version: [16] + + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + - name: Install npm dependencies and build + run: yarn --frozen-lockfile + - name: Package as VSCode Extension + run: yarn vsce:package + - name: Download sample traces + run: yarn download:sample-traces + - name: Download trace server + run: yarn download:server + - name: Start trace server + run: yarn start:server & + - name: Download openvscode-server + run: yarn download:openvscode-server + - name: Configure openvscode-server + run: yarn configure:openvscode-server + - name: Start openvscode-server + run: yarn start:openvscode-server & + - name: Install Playwright Browsers + run: yarn playwright install --with-deps + - name: Run Playwright tests + run: yarn playwright test + - uses: actions/upload-artifact@v3 + if: always() + with: + name: playwright-report + path: playwright-report/ + retention-days: 30 + # Save the extension .vsix file for potential publishing + # in later step (if appropriate) + - uses: actions/upload-artifact@v4 + with: + name: extension + path: vscode-trace-extension/*.vsix + + code-lint: + name: Run linter + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + node-version: [16] + + steps: + - name: Check out Git repository + uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + # ESLint and Prettier must be in `package.json` + - name: Install dependencies + run: yarn --frozen-lockfile --ignore-scripts + - name: Run lint + run: yarn lint + - name: Run format check + run: yarn format:check + + publish: + name: Publish extension to openvsx.org + runs-on: ${{ matrix.os }} + needs: + - build-test + strategy: + matrix: + os: [ubuntu-latest] + node-version: [16] + # Only execute when the trigger was a tag (new release) + if: startsWith(github.ref, 'refs/tags/') + + steps: + - uses: actions/checkout@v3 + - uses: actions/download-artifact@v4 + with: + name: extension + path: vscode-trace-extension + - uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + - name: Install dependencies + run: yarn --frozen-lockfile --ignore-scripts + - name: Publish extension + run: | + ls -al vscode-trace-extension/*.vsix + npx ovsx publish vscode-trace-extension/*.vsix + env: + # have ovsx consume the PAT from environment - if it's not handled explicitly + # in the workflow, less risk to leak it + OVSX_PAT: ${{ secrets.OPEN_VSX_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..949465ea --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,29 @@ +name: Create GitHub release based on "RELEASE" file + +on: + push: + branches: + - master + paths: + - 'RELEASE' + pull_request: + types: [opened, synchronize] + branches: + - master + paths: + - 'RELEASE' + +jobs: + gh-release: + name: Create GitHub release + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - uses: pipe-cd/actions-gh-release@v2.3.4 + with: + release_file: 'RELEASE' + token: ${{ secrets.GITHUB_TOKEN }} + \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 0e7ac9af..fa38703b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,5 @@ { "editor.codeActionsOnSave": { - "source.fixAll.eslint": true + "source.fixAll.eslint": "explicit" }, } \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c41a131d..005fea34 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,9 +1,9 @@ -# Contributing to Trace Viewer VS Code extension +# Contributing to Trace Viewer VSCode extension -Thanks for your interest in the [Trace Viewer VS Code extension][vscode-ext]!. The following is a set of -guidelines for contributing to the Trace Viewer extension for `VS Code` compatible tools. Information +Thanks for your interest in the [Trace Viewer VSCode extension][vscode-ext]!. The following is a set of +guidelines for contributing to the Trace Viewer extension for `VSCode` compatible tools. Information about the trace viewer capabilities can also be found in the [Trace Viewer Theia extension][trace-viewer] -repository and its [issue tracers][theia-issues]. +repository and its [issue tracker][theia-issues]. ## How to Contribute @@ -82,14 +82,11 @@ file. Adding the SHA-1 of a commit to this file will make `git-blame` ignore tha * For GitHub, this file is automatically detected and will ignore all the commits that are included in the file. * With Git CLI, run `git blame --ignore-revs-file=.git-blame-ignore-revs ` to ignore the commits. -<<<<<<< HEAD * `git config --global blame.ignoreRevsFile .git-blame-ignore-revs` will automatically detect these files for every repository. -======= ->>>>>>> d126837 (Repository formatted with prettier) ## Contact -For issues related to this extension, please open a GitHub tracker for the [VS Code Trace Extension][vscode-ext] repository. +For issues related to this extension, please open a GitHub tracker for the [VSCode Trace Extension][vscode-ext] repository. For issues concerning `eclipse-cdt-cloud`, please refer to the contact options listed on the [CDT Cloud website][cdt-cloud-website]. diff --git a/README.md b/README.md index 830c79e8..0383c6b0 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # VSCode Trace Extension -This project started from the [vscode webview react project][vscode-webview-react]. It works this way, with the extension itself being in the `vscode-trace-extension` directory and the react application being in the `vscode-trace-webapps` directory. +This document contains information that may be useful for developers that want to build, modify, enhance and/or debug this extension. If you only intend to consume the extension, it might be easier to get it from the [public OpenVSX registry](https://www.open-vsx.org/extension/eclipse-cdt/vscode-trace-extension), + +This project started from the [VSCode webview react project][vscode-webview-react]. It works this way, with the extension itself being in the `vscode-trace-extension` directory and the react application being in the `vscode-trace-webapps` directory. **👋 Want to help?** Read our [contributor guide](CONTRIBUTING.md) and follow the instructions to contribute code. -## Installation instructions +## Installation Instructions The code was migrated from the [PR in theia-trace-extension][init-contrib]. @@ -15,15 +17,15 @@ It depends on the trace viewer plugins from the [theia trace extension package][ - traceviewer-react-components - tsp-typescript-client -To build the vscode extension, run the `yarn` command: +To build the VSCode extension, run the `yarn` command: ``` bash yarn ``` -## Running the extension +## Debugging the extension -Then from vscode, press `f5` to run the extension. The trace server needs to be started separately as described [here](#run-the-trace-server). +Then from VSCode, press `f5` to run the extension. The trace server needs to be started separately as described [here](#run-the-trace-server). To open a trace use the VSCode file explorer to navigate to the trace directory. Then right mouse click on the trace and select menu option `Open with Trace Viewer`. See [here](#get-sample-traces) to get some sample traces. @@ -31,21 +33,21 @@ Open the `Trace Viewer` view (`View` -> `Open view...`). ![open-trace][open-trace] -2 tabs will be visible: `Traces` and `Views`. The `Traces` tab will show all available traces on the trace server. +Two tabs will be visible: `Traces` and `Views`. The `Traces` tab will show all available traces on the trace server. The `Views` tab shows all the available views for the selected trace. Click on a view to open the view under the timeline. ![open-output][open-output] -## Package as VsCode extension +## Package the extension (vsix) -To package it as VsCode extension, run the command `yarn vsce:package`. If you get errors about case-sensitive files, just delete the node_modules folder and run `yarn` again. +To package it as VSCode extension, run the command `yarn vsce:package`. If you get errors about case-sensitive files, just delete the node_modules folder and run `yarn` again. The packaging will produce a `vscode-trace-extension-x.x.x.vsix` file in the subdirectory `vscode-trace-extension` of the repository. -## Running the extension in VsCode, VsCodium or Theia application +## Running the extension in VSCode, VsCodium or Theia application -The packaged VSIX file can be installed in an existing `VsCode`, `VsCodium` or `Theia` application by using [Install from a vsix][install]. +The packaged VSIX file can be installed in an existing `VSCode`, `VSCodium` or `Theia` application by using [Install from a vsix][install]. The trace server needs to be started separately as described [here](#run-the-trace-server). @@ -64,15 +66,15 @@ When having to modify the code of the extension (in the `vscode-trace-extension` For changes in the webview part (in the `vscode-trace-webviews` folder), you can run the `yarn` command, simply re-opening a trace should show the changes. It is also possible to watch for changes with `yarn watch` or `ctrl-shift-b` and selecting the task `npm: watch - vscode-trace-webviews`. -For more information about `VsCode WebView API` see [here][vscode-webview]. +For more information about `VSCode WebView API` see [here][vscode-webview]. ### Communication between components -To communicate between VsCode extension and webviews use the [VsCode message API][vscode-messages]. When using `vscode.postMessage(data)` data structure `data` will be serialized to JSON before being propagated. Be aware that it cannot include data structures like `BigInt`. Proper handling of such data structures need to be implemented when sending and receiving messages. +To communicate between VSCode extension and webviews use the [VSCode message API][vscode-messages]. When using `vscode.postMessage(data)` data structure `data` will be serialized to JSON before being propagated. Be aware that it cannot include data structures like `BigInt`. Proper handling of such data structures need to be implemented when sending and receiving messages. Inside a webview or inside the extension signals can be used where data structures can be passed on. -The following sequence diagram shows how the `experiment-selected` signal (with payload `Experiment`) is propagated inside the application. The webview `Opened Traces WebView App` is sending the signal to the`VsCode extension` which is forwarding the signal to the `Available Views WebView App`. +The following sequence diagram shows how the `experiment-selected` signal (with payload `Experiment`) is propagated inside the application. The webview `Opened Traces WebView App` is sending the signal to the`VSCode extension` which is forwarding the signal to the `Available Views WebView App`. ```mermaid sequenceDiagram @@ -100,9 +102,9 @@ sequenceDiagram ### Debugging the extension -It is straightforward to debug the code of the vscode extension itself (the code in `vscode-trace-extension`) by just putting breakpoints in vscode and running the extension with `f5`. +It is straightforward to debug the code of the VSCode extension itself (the code in `vscode-trace-extension`) by just putting breakpoints in VSCode and running the extension with `f5`. -The react-app is another matter. The panel is a webview that is running in its own context, so current vscode does not have access to it. _(Patches welcome!)_ +The react-app is another matter. The panel is a webview that is running in its own context, so current VSCode does not have access to it. _(Patches welcome!)_ Each panel is its own small web application, so to debug, while in the context of the webview, press `ctrl-shift-p` and enter the command `Developer: Open Webview Developer Tools`. This will open the developer tools. The code is in the `Sources` tab of the developer tools window that opens. @@ -232,7 +234,7 @@ onWebviewPanelCreated(listener: (data: vscode.WebviewPanel) => void): void ```javascript //The following retrieves the API object from the vscode-trace-extension -const ext = vscode.extensions.getExtension("tracecompass-community.vscode-trace-extension"); +const ext = vscode.extensions.getExtension("eclipse-cdt.vscode-trace-extension"); const importedApi = ext.exports; ``` diff --git a/RELEASE b/RELEASE new file mode 100644 index 00000000..6a799ce1 --- /dev/null +++ b/RELEASE @@ -0,0 +1 @@ +# Release file \ No newline at end of file diff --git a/doc/Publishing.md b/doc/Publishing.md new file mode 100644 index 00000000..72efc209 --- /dev/null +++ b/doc/Publishing.md @@ -0,0 +1,16 @@ +# Releasing/Publishing the Trace Viewer Extension + +The Github workflows are setup to make this relatively simple. + +When it's desired to have a new release: + +- open a Pull Request that steps the version of the extension in `vscode-trace-extension/package.json` +- As part of the PR, update file RELEASE \[1\] in the repo root. Add or modify it to reflect the new version-to-be-released. + e.g. + > tag: v0.1.0 # The tag number will be created. Required. + +- The PR should be automatically updated, and automatically generated release noted added to it +- Upon merging the PR, the GH release will automatically be created, and the release notes added to document it. A release tag, for the new relase will also be created in the repo. +- The release tag should trigger a publish workflow that will build and release a new version of the extension to openvsx.org + +\[1\]: Here is the action that we use. For more details see its documentation: https://github.com/pipe-cd/actions-gh-release#actions-gh-release \ No newline at end of file diff --git a/package.json b/package.json index 20cd8938..77eaf361 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "copy-webpack-plugin": "^11.0.0", "eslint-config-prettier": "^9.0.0", "lerna": "^7.0.0", + "ovsx": "latest", "prettier": "^3.0.2" }, "workspaces": [ diff --git a/vscode-trace-common/package.json b/vscode-trace-common/package.json index b3bdb451..08598371 100644 --- a/vscode-trace-common/package.json +++ b/vscode-trace-common/package.json @@ -2,7 +2,6 @@ "name": "vscode-trace-common", "private": "true", "version": "0.0.0", - "publisher": "tracecompass-community", "categories": [ "Other" ], diff --git a/vscode-trace-extension/README.md b/vscode-trace-extension/README.md new file mode 100644 index 00000000..77d70ded --- /dev/null +++ b/vscode-trace-extension/README.md @@ -0,0 +1,41 @@ +# Trace Viewer for VSCode + +This extension adds trace viewing capabilities to VSCode and compatible tools. + +For information about building this extension from sources, debugging, etc, please see [Developing.md](https://github.com/eclipse-cdt-cloud/vscode-trace-extension/tree/master/README.md) + +## Using the extension + +Open the `Trace Viewer` view (`View` -> `Open view...`). + +Then find the trace folder in the file explorer and open it using `Open with Trace Viewer` from the context menu: + +![open-trace][open-trace] + +Two tabs will be visible: `Traces` and `Views`. The `Traces` tab will show all available traces on the trace server. + +The `Views` tab shows all the available views for the selected trace. Click on a view to open the view under the timeline. + +![open-output][open-output] + +[open-output]: https://raw.githubusercontent.com/eclipse-cdt-cloud/vscode-trace-extension/master/doc/images/vscode-trace-extension-001.png +[open-trace]: https://raw.githubusercontent.com/eclipse-cdt-cloud/vscode-trace-extension/master/doc/images/vscode-open-with-trace-viewer-001.png + +## Obtain the Trace Server (Eclipse Trace Compass) + +In order to open and view traces, you need a trace server running on the same machine as the trace extension. You can use the Eclipse Trace Compass server: + +Dwonload the Latest "incubator" build: [Linux x86_64](https://download.eclipse.org/tracecompass.incubator/trace-server/rcp/trace-compass-server-latest-linux.gtk.x86_64.tar.gz) () + +Extract it: +> tar -xf trace-compass-server-latest-linux.gtk.x86_64.tar.gz + +and start it: +> ./trace-compass-server-latest-linux.gtk.x86_64/tracecompass-server", + +Other architectures / Operating systems: [link](https://download.eclipse.org/tracecompass.incubator/trace-server/rcp/) + + + +yarn download:server +yarn start:server diff --git a/vscode-trace-extension/images/extension-icon.png b/vscode-trace-extension/images/extension-icon.png new file mode 100644 index 00000000..891ef6bc Binary files /dev/null and b/vscode-trace-extension/images/extension-icon.png differ diff --git a/vscode-trace-extension/package.json b/vscode-trace-extension/package.json index 1c2be0b0..c3d7a2d5 100644 --- a/vscode-trace-extension/package.json +++ b/vscode-trace-extension/package.json @@ -1,16 +1,29 @@ { "name": "vscode-trace-extension", - "displayName": "VsCode Trace Extension", - "description": "VsCode trace extension for visualizing traces analyzed by a trace server and data provide over the Trace Server Protocol (TSP)", + "displayName": "Trace Viewer for VSCode", + "description": "Viewer that permits visualizing traces and contained data, analyzed by a trace server, and provided over the Trace Server Protocol (TSP)", "version": "0.1.0", + "license": "EPL-2.0", "engines": { "vscode": "^1.52.0" }, - "publisher": "tracecompass-community", + "publisher": "eclipse-cdt", + "icon": "images/extension-icon.png", "categories": [ + "Visualization", + "Data Science", "Other" ], + "keywords": [ + "Trace Compass", + "trace", + "visualization", + "Eclipse Foundation" + ], "repository": "https://github.com/eclipse-cdt-cloud/vscode-trace-extension/", + "bugs": { + "url": "https://github.com/eclipse-cdt-cloud/vscode-trace-extension/issues" + }, "activationEvents": [ "onStartupFinished" ], diff --git a/vscode-trace-extension/src/extension.ts b/vscode-trace-extension/src/extension.ts index 117fe514..a61f2968 100644 --- a/vscode-trace-extension/src/extension.ts +++ b/vscode-trace-extension/src/extension.ts @@ -204,7 +204,7 @@ async function startTraceServerIfAvailable(pathToTrace?: string): Promise if (pathToTrace) { await traceServerManager.startServer(pathToTrace); } - const traceServerExtension = vscode.extensions.getExtension('tracecompass-community.' + extensionId); + const traceServerExtension = vscode.extensions.getExtension('eclipse-cdt.' + extensionId); if (!traceServerExtension) { return; } diff --git a/vscode-trace-webviews/package.json b/vscode-trace-webviews/package.json index 9a8d0f46..1dbe53c0 100644 --- a/vscode-trace-webviews/package.json +++ b/vscode-trace-webviews/package.json @@ -5,7 +5,6 @@ "engines": { "vscode": "^1.52.0" }, - "publisher": "tracecompass-community", "categories": [ "Other" ], diff --git a/yarn.lock b/yarn.lock index a72245e0..226b98b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1477,9 +1477,9 @@ resolved "https://registry.npmjs.org/@vscode/codicons/-/codicons-0.0.33.tgz#a56243ab5492801fff04e53c0aab0d18a6521751" integrity sha512-VdgpnD75swH9hpXjd34VBgQ2w2quK63WljodlUcOoJDPKiV+rPjHrcUc2sjLCNKxhl6oKqmsZgwOWcDAY2GKKQ== -"@vscode/vsce@^2.21.0": +"@vscode/vsce@^2.19.0", "@vscode/vsce@^2.21.0": version "2.22.0" - resolved "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.22.0.tgz#1eb3ebc6b89581a150bb44dd7d731a064019b617" + resolved "https://registry.yarnpkg.com/@vscode/vsce/-/vsce-2.22.0.tgz#1eb3ebc6b89581a150bb44dd7d731a064019b617" integrity sha512-8df4uJiM3C6GZ2Sx/KilSKVxsetrTBBIUb3c0W4B1EWHcddioVs5mkyDKtMNP0khP/xBILVSzlXxhV+nm2rC9A== dependencies: azure-devops-node-api "^11.0.1" @@ -2375,6 +2375,11 @@ chrome-trace-event@^1.0.2: resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== +ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + ci-info@^3.2.0, ci-info@^3.6.1: version "3.9.0" resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" @@ -2540,9 +2545,9 @@ commander@^2.20.0: resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^6.2.1: +commander@^6.1.0, commander@^6.2.1: version "6.2.1" - resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" + resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== compare-func@^2.0.0: @@ -3930,6 +3935,11 @@ flatted@^3.2.9: resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== +follow-redirects@^1.14.6: + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== + follow-redirects@^1.15.0: version "1.15.4" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf" @@ -4645,6 +4655,13 @@ is-ci@3.0.1: dependencies: ci-info "^3.2.0" +is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + is-core-module@^2.13.0, is-core-module@^2.13.1, is-core-module@^2.5.0, is-core-module@^2.8.1: version "2.13.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" @@ -4967,7 +4984,6 @@ js-yaml@^3.10.0, js-yaml@^3.13.1, js-yaml@^3.9.1: json-bigint@sidorares/json-bigint#2c0a5f896d7888e68e5f4ae3c7ea5cd42fd54473: version "1.0.0" - uid "2c0a5f896d7888e68e5f4ae3c7ea5cd42fd54473" resolved "https://codeload.github.com/sidorares/json-bigint/tar.gz/2c0a5f896d7888e68e5f4ae3c7ea5cd42fd54473" dependencies: bignumber.js "^9.0.0" @@ -6158,6 +6174,19 @@ os-tmpdir@~1.0.2: resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +ovsx@latest: + version "0.8.3" + resolved "https://registry.yarnpkg.com/ovsx/-/ovsx-0.8.3.tgz#3c67a595e423f3f70a3d62da3735dd07dfbca69f" + integrity sha512-LG7wTzy4eYV/KolFeO4AwWPzQSARvCONzd5oHQlNvYOlji2r/zjbdK8pyObZN84uZlk6rQBWrJrAdJfh/SX0Hg== + dependencies: + "@vscode/vsce" "^2.19.0" + commander "^6.1.0" + follow-redirects "^1.14.6" + is-ci "^2.0.0" + leven "^3.1.0" + semver "^7.5.2" + tmp "^0.2.1" + p-finally@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"