From 9642c994fc9a0726f0ccddeb7ab3bcd33d6766b4 Mon Sep 17 00:00:00 2001 From: zvigrinberg Date: Mon, 11 Sep 2023 15:44:56 +0000 Subject: [PATCH] feat: support golang --- .vscode/launch.json | 2 +- CHANGELOG.md | 2 + README.md | 29 +- .../extension-workspace-settings.png | Bin 66419 -> 73934 bytes package-lock.json | 370 +++++++++--------- package.json | 30 +- src/authextension.ts | 29 +- src/config.ts | 13 +- src/constants.ts | 4 +- src/multimanifestmodule.ts | 162 +++----- src/stackanalysismodule.ts | 30 +- test/authextension.test.ts | 3 +- test/config.test.ts | 18 +- test/multiManifestModule.test.ts | 19 - test/stackAnalysisModule.test.ts | 16 +- 15 files changed, 360 insertions(+), 367 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 28269b98d..2010f1d3e 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -18,7 +18,7 @@ "outFiles": [ "${workspaceFolder}/dist/*.js" ], - "preLaunchTask": "npm: webpack-dev" + "preLaunchTask": "npm: webpack-dev", }, { "name": "Launch Tests", diff --git a/CHANGELOG.md b/CHANGELOG.md index d6cab784d..9056dddee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,6 @@ # Change Log +## 0.7.3 (Oct 10th 2023) +- enhancement - Support for Golang. See [#645](https://github.com/fabric8-analytics/fabric8-analytics-vscode-extension/pull/645) ## 0.7.0 (Sep 11th 2023) - fixes - Improved overall performance and stability with the analysis report. - informational - Alpha release of the new Red Hat Dependency Analytics (RHDA) extension. diff --git a/README.md b/README.md index 84b0ab8f6..c07c1ec1b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Red Hat Dependency Analytics [![Visual Studio Marketplace](https://vsmarketplacebadges.dev/version/redhat.fabric8-analytics.svg)](https://marketplace.visualstudio.com/items?itemName=redhat.fabric8-analytics) -![CI Build](https://github.com/fabric8-analytics/fabric8-analytics-vscode-extension/workflows/Tests/badge.svg?branch=master) -[![codecov](https://codecov.io/gh/fabric8-analytics/fabric8-analytics-vscode-extension/branch/master/graph/badge.svg?token=rHIO4KNlJ0)](https://codecov.io/gh/fabric8-analytics/fabric8-analytics-vscode-extension) +![CI](https://github.com/fabric8-analytics/fabric8-analytics-vscode-extension/workflows/CI/badge.svg?branch=master) +[![Codecov](https://codecov.io/gh/fabric8-analytics/fabric8-analytics-vscode-extension/branch/master/graph/badge.svg?token=rHIO4KNlJ0)](https://codecov.io/gh/fabric8-analytics/fabric8-analytics-vscode-extension) Red Hat's Dependency Analytics (RHDA) extension gives you awareness to security concerns within your software supply chain while you build your application. The Dependency Analytics extension uses the Snyk REST API to query [Snyk's Vulnerability Database](https://snyk.io/product/vulnerability-database/) for the most up-to-date vulnerability information available. @@ -13,7 +13,7 @@ Snyk uses industry-leading security intelligence by pulling from many data sourc Dependency Analytics only accesses your manifest files to analyze your application dependencies before displaying the vulnerability report. **IMPORTANT:** -
Currently, Dependency Analytics only supports projects that use Maven (`mvn`), and Node ecosystems (`npm`). +
Currently, Dependency Analytics only supports projects that use Maven (`mvn`), Node (`npm`) and Golang (`go`) ecosystems. In future releases, Red Hat plans to support other programming languages. ##### Table of Contents @@ -32,12 +32,13 @@ In future releases, Red Hat plans to support other programming languages. - For Maven projects, analyzing a `pom.xml` file, you must have the `mvn` binary in your system’s `PATH` environment. - For Node projects, analyzing a `package.json` file, you must have the `npm` binary in your system’s `PATH` environment. +- For Golang projects, analyzing a `go.mod` file, you must have the `go` binary in your system’s `PATH` environment.
**IMPORTANT:**
Visual Studio Code by default executes binaries directly in a terminal found in your system's `PATH` environment. You can configure Visual Studio Code to look somewhere else to run the necessary binaries. You can configure this by accessing the [extension settings](https://code.visualstudio.com/docs/getstarted/settings). -Click the **Workspace** tab, search for the word _executable_, and specify the absolute path to the binary file you want to use for Maven or Node. +Click the **Workspace** tab, search for the word _executable_, and specify the absolute path to the binary file you want to use for Maven, Node or Golang. **Procedure** @@ -94,7 +95,7 @@ The default path is `/tmp/redhatDependencyAnalyticsReport.html`. ## Features - **Component analysis** -
Upon opening a manifest file, such as a `pom.xml` or `package.json` file, a scan starts the analysis process. +
Upon opening a manifest file, such as a `pom.xml`, `package.json` or `go.mod` file, a scan starts the analysis process. The scan provides immediate inline feedback on detected security vulnerabilities for your application's dependencies. Such dependencies are appropriately underlined in red, and hovering over it gives you a short summary of the security concern. The summary has the full package name, version number, the amount of known security vulnerabilities, and the highest severity status of said vulnerabilities. @@ -141,6 +142,14 @@ The default path is `/tmp/redhatDependencyAnalyticsReport.html`. } ``` + If you wish to ignore vulnerabilities for a dependency in a `go.mod` file, you must add `exhortignore` as a comment against the dependency in the manifest file. + For example: + ``` + require ( + golang.org/x/sys v1.6.7 // exhortignore + ) + ``` + - **Excluding developmental or test dependencies**
Red Hat Dependency Analytics does not analyze dependencies marked as `dev` or `test`, these dependencies are ignored. For example, setting `test` in the `scope` tag within a `pom.xml` file: @@ -177,6 +186,16 @@ The default path is `/tmp/redhatDependencyAnalyticsReport.html`. } ``` + For example, setting `exclude` attributte in the `go.mod` file: + + ``` + exclude golang.org/x/sys v1.6.7 + + exclude ( + golang.org/x/sys v1.6.7 + ) + ``` + - **Red Hat Dependency Analytics report**
The Red Hat Dependency Analytics report is a temporary HTML file that exist if the **Red Hat Dependency Analytics Report** tab remains open. Closing the tab removes the temporary HTML file. diff --git a/images/screenshots/extension-workspace-settings.png b/images/screenshots/extension-workspace-settings.png index 7c83839843c13c4ab6b4d52e5ceb0d538cc1c44a..f78f8009931bb0b5ccb7f105466044499f07a334 100644 GIT binary patch literal 73934 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 literal 66419 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.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.15.tgz", - "integrity": "sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", + "@babel/generator": "^7.23.0", "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.15", - "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15", - "convert-source-map": "^1.7.0", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.2.3", @@ -172,6 +172,12 @@ "url": "https://opencollective.com/babel" } }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, "node_modules/@babel/core/node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", @@ -182,12 +188,12 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.15.tgz", - "integrity": "sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15", + "@babel/types": "^7.23.0", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -222,22 +228,22 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" @@ -268,16 +274,16 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.15.tgz", - "integrity": "sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.15" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -320,9 +326,9 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz", - "integrity": "sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -338,26 +344,26 @@ } }, "node_modules/@babel/helpers": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.15.tgz", - "integrity": "sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw==", + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", "dev": true, "dependencies": { "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz", - "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, @@ -428,9 +434,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.16", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.16.tgz", - "integrity": "sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -454,19 +460,19 @@ } }, "node_modules/@babel/traverse": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.15.tgz", - "integrity": "sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", "@babel/helper-hoist-variables": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -475,13 +481,13 @@ } }, "node_modules/@babel/types": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.15.tgz", - "integrity": "sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.15", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -549,12 +555,12 @@ } }, "node_modules/@fabric8-analytics/fabric8-analytics-lsp-server": { - "version": "0.7.1-ea.4", - "resolved": "https://npm.pkg.github.com/download/@fabric8-analytics/fabric8-analytics-lsp-server/0.7.1-ea.4/c9b256300d889d81297ee3d33f4060310e03d494", - "integrity": "sha512-KVBH38bkZB7Ac9qJiWLECYEQWNsZ1/HblsV74nMtdZGsfT7moqLZ0zOia4aXchUlKAzOhT8xQcm6ewfSVW+XHw==", + "version": "0.7.1-ea.10", + "resolved": "https://npm.pkg.github.com/download/@fabric8-analytics/fabric8-analytics-lsp-server/0.7.1-ea.10/ab755d0128eb812c2113162e5b6dc6dfb4021a61", + "integrity": "sha512-KdhJL75NFzWGG1DrEVvdYnfGa5JEs+mATMP/jjN7o/7+VYx4+luFEUdGIrrmhq3dMiOU7avbZz30Lk+KQHXF1g==", "license": "Apache-2.0", "dependencies": { - "@RHEcosystemAppEng/exhort-javascript-api": "^0.0.2-alpha.4", + "@RHEcosystemAppEng/exhort-javascript-api": "^0.0.2-ea.32", "@xml-tools/ast": "^5.0.5", "@xml-tools/parser": "^1.0.11", "compare-versions": "^6.0.0-rc.1", @@ -821,9 +827,9 @@ } }, "node_modules/@RHEcosystemAppEng/exhort-javascript-api": { - "version": "0.0.2-alpha.4", - "resolved": "https://npm.pkg.github.com/download/@RHEcosystemAppEng/exhort-javascript-api/0.0.2-alpha.4/cc81bf68bc231f6cb7cf81bf7c63ba144a8537e3", - "integrity": "sha512-Lc6QPoedTB7uai4II+ZgbknI50A3mWV6boHQFFqkL+HIDUz/Hfj4IyaUTdbM2MASIXu8jjGFUNtDdYhLV1l+Xw==", + "version": "0.0.2-ea.32", + "resolved": "https://npm.pkg.github.com/download/@RHEcosystemAppEng/exhort-javascript-api/0.0.2-ea.32/1f79abff8138c7bfb663b1aeb49e3328f731b0d1", + "integrity": "sha512-4Bc3oeZsu9JbE3+SN2NxtPcSudsCdQ+x8yUfIwW+s1U/6oviCkyWBUSreoPqa/fHt3uk9bHJy1FJ+NLmVlb2Rw==", "license": "Apache-2.0", "dependencies": { "@cyclonedx/cyclonedx-library": "^4.0.0", @@ -941,9 +947,9 @@ "dev": true }, "node_modules/@types/eslint": { - "version": "8.44.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.2.tgz", - "integrity": "sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg==", + "version": "8.44.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.3.tgz", + "integrity": "sha512-iM/WfkwAhwmPff3wZuPLYiHX18HI24jU8k1ZSH7P8FHwxTjZ2P6CoX2wnF43oprR+YXJM6UUxATkNvyv/JHd+g==", "dev": true, "dependencies": { "@types/estree": "*", @@ -951,9 +957,9 @@ } }, "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "version": "3.7.5", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.5.tgz", + "integrity": "sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA==", "dev": true, "dependencies": { "@types/eslint": "*", @@ -961,9 +967,9 @@ } }, "node_modules/@types/estree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", - "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", "dev": true }, "node_modules/@types/glob": { @@ -977,9 +983,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==", "dev": true }, "node_modules/@types/minimatch": { @@ -989,42 +995,42 @@ "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.2.tgz", + "integrity": "sha512-NaHL0+0lLNhX6d9rs+NSt97WH/gIlRHmszXbQ/8/MV/eVcFNdeJ/GYhrFuUc8K7WuPhRhTSdMkCp8VMzhUq85w==", "dev": true }, "node_modules/@types/node": { - "version": "20.5.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.5.9.tgz", - "integrity": "sha512-PcGNd//40kHAS3sTlzKB9C9XL4K0sTup8nbG5lC14kzEteTNuAFh9u5nA0o5TWnSG2r/JNPRXFVcHJIIeRlmqQ==", + "version": "20.8.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.3.tgz", + "integrity": "sha512-jxiZQFpb+NlH5kjW49vXxvxTjeeqlbsnTAdBTKpzEdPs9itay7MscYXz3Fo9VYFEsfQ6LJFitHad3faerLAjCw==", "dev": true }, "node_modules/@types/sinon": { - "version": "10.0.16", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.16.tgz", - "integrity": "sha512-j2Du5SYpXZjJVJtXBokASpPRj+e2z+VUhCPHmM6WMfe3dpHu6iVKJMU6AiBcMp/XTAYnEj6Wc1trJUWwZ0QaAQ==", + "version": "10.0.19", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.19.tgz", + "integrity": "sha512-MWZNGPSchIdDfb5FL+VFi4zHsHbNOTQEgjqFQk7HazXSXwUU9PAX3z9XBqb3AJGYr9YwrtCtaSMsT3brYsN/jQ==", "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" } }, "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.3.tgz", + "integrity": "sha512-4g+2YyWe0Ve+LBh+WUm1697PD0Kdi6coG1eU0YjQbwx61AZ8XbEpL1zIT6WjuUKrCMCROpEaYQPDjBnDouBVAQ==", "dev": true }, "node_modules/@types/vscode": { - "version": "1.81.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.81.0.tgz", - "integrity": "sha512-YIaCwpT+O2E7WOMq0eCgBEABE++SX3Yl/O02GoMIF2DO3qAtvw7m6BXFYsxnc6XyzwZgh6/s/UG78LSSombl2w==", + "version": "1.83.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.83.0.tgz", + "integrity": "sha512-3mUtHqLAVz9hegut9au4xehuBrzRE3UJiQMpoEHkNl6XHliihO7eATx2BMHs0odsmmrwjJrlixx/Pte6M3ygDQ==", "dev": true }, "node_modules/@vscode/test-electron": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.4.tgz", - "integrity": "sha512-eWzIqXMhvlcoXfEFNWrVu/yYT5w6De+WZXR/bafUQhAp8+8GkQo95Oe14phwiRUPv8L+geAKl/QM2+PoT3YW3g==", + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.3.5.tgz", + "integrity": "sha512-lAW7nQ0HuPqJnGJrtCzEKZCICtRizeP6qNanyCrjmdCOAAWjX3ixiG8RVPwqsYPQBWLPgYuE12qQlwXsOR/2fQ==", "dev": true, "dependencies": { "http-proxy-agent": "^4.0.1", @@ -1555,9 +1561,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz", - "integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -1616,9 +1622,9 @@ "dev": true }, "node_modules/browserslist": { - "version": "4.21.10", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", - "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "dev": true, "funding": [ { @@ -1635,10 +1641,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001517", - "electron-to-chromium": "^1.4.477", + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -1696,9 +1702,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001528", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001528.tgz", - "integrity": "sha512-0Db4yyjR9QMNlsxh+kKWzQtkyflkG/snYheSzkjmvdEtEXB1+jt7A2HmSEiO6XIJPIbo92lHNGNySvE5pZcs5Q==", + "version": "1.0.30001546", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz", + "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==", "dev": true, "funding": [ { @@ -1716,18 +1722,18 @@ ] }, "node_modules/chai": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.8.tgz", - "integrity": "sha512-vX4YvVVtxlfSZ2VecZgFUTU5qPCYsobVI2O9FmwEXBhDigYGQA6jRXCycIs1yJnnWbZ6/+a2zNIF5DfVCcJBFQ==", + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" @@ -1771,10 +1777,13 @@ } }, "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } @@ -2116,9 +2125,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.510", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.510.tgz", - "integrity": "sha512-xPfLIPFcN/WLXBpQ/K4UgE98oUBO5Tia6BD4rkSR0wE7ep/PwBVlgvPJQrIBpmJGVAmUzwPKuDbVt9XV6+uC2g==", + "version": "1.4.544", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.544.tgz", + "integrity": "sha512-54z7squS1FyFRSUqq/knOFSptjjogLZXbKcYk3B0qkE1KZzvqASwRZnY2KzZQJqIYLVD38XZeoiMRflYSwyO4w==", "dev": true }, "node_modules/emoji-regex": { @@ -2160,9 +2169,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz", - "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz", + "integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==", "dev": true }, "node_modules/es6-error": { @@ -2356,17 +2365,17 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.2.7", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.7.tgz", - "integrity": "sha512-J8r6BriSLO1uj2miOk1NW0YVm8AGOOu3Si2HQp/cSmo6EA4m3fcwu2WKjJ4RK9wMLBtg69y1kS8baDiQBR41Ig==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.3.2.tgz", + "integrity": "sha512-rmrXUXwbJedoXkStenj1kkljNF7ugn5ZjR9FJcwmCfcCbtOMDghPajbc+Tck6vE6F5XsDmx+Pr2le9fw8+pXBg==", "funding": [ - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - }, { "type": "github", "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" } ], "dependencies": { @@ -2446,9 +2455,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.2", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", - "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", "funding": [ { "type": "individual", @@ -2565,12 +2574,6 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, "node_modules/gauge": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", @@ -2609,9 +2612,9 @@ } }, "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, "engines": { "node": "*" @@ -2733,13 +2736,10 @@ } }, "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, "engines": { "node": ">= 0.4.0" } @@ -4433,9 +4433,9 @@ } }, "node_modules/packageurl-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-1.0.2.tgz", - "integrity": "sha512-fWC4ZPxo80qlh3xN5FxfIoQD3phVY4+EyzTIqyksjhKNDmaicdpxSvkWwIrYTtv9C1/RcUN6pxaTwGmj2NzS6A==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/packageurl-js/-/packageurl-js-1.1.1.tgz", + "integrity": "sha512-juW4p0J23BvvMj0I9/ORe/Y7TFsNNrEjoZ/h3ToPfU0dvnGXUm6vHtcAINf2Scgv5EqQW7ngTZnkTfgFBPeXNw==" }, "node_modules/pako": { "version": "1.0.11", @@ -4742,9 +4742,9 @@ } }, "node_modules/rechoir/node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", "dev": true, "dependencies": { "is-core-module": "^2.13.0", @@ -5230,9 +5230,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==" + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==" }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -5376,9 +5376,9 @@ "optional": true }, "node_modules/terser": { - "version": "5.19.4", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.4.tgz", - "integrity": "sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.21.0.tgz", + "integrity": "sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -5507,15 +5507,16 @@ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/ts-loader": { - "version": "9.4.4", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.4.4.tgz", - "integrity": "sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w==", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.0.tgz", + "integrity": "sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg==", "dev": true, "dependencies": { "chalk": "^4.1.0", "enhanced-resolve": "^5.0.0", "micromatch": "^4.0.0", - "semver": "^7.3.4" + "semver": "^7.3.4", + "source-map": "^0.7.4" }, "engines": { "node": ">=12.0.0" @@ -5525,6 +5526,15 @@ "webpack": "^5.0.0" } }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -5704,9 +5714,9 @@ } }, "node_modules/tslint/node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", "dev": true, "dependencies": { "is-core-module": "^2.13.0", @@ -5849,9 +5859,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "dev": true, "funding": [ { @@ -5907,9 +5917,13 @@ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" }, "node_modules/uuid": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", - "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], "bin": { "uuid": "dist/bin/uuid" } @@ -5981,9 +5995,9 @@ } }, "node_modules/vscode-languageserver-textdocument": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.8.tgz", - "integrity": "sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.11.tgz", + "integrity": "sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==" }, "node_modules/vscode-languageserver-types": { "version": "3.17.3", diff --git a/package.json b/package.json index eed26a05c..e7fa03781 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,8 @@ }, "activationEvents": [ "workspaceContains:**/package.json", - "workspaceContains:**/pom.xml" + "workspaceContains:**/pom.xml", + "workspaceContains:**/go.mod" ], "main": "./dist/extension", "contributes": { @@ -83,6 +84,11 @@ "command": "fabric8.stackAnalysisFromPieBtn", "when": "resourceFilename == package.json", "group": "navigation" + }, + { + "command": "fabric8.stackAnalysisFromPieBtn", + "when": "resourceFilename == go.mod", + "group": "navigation" } ], "explorer/context": [ @@ -93,6 +99,10 @@ { "command": "fabric8.stackAnalysisFromExplorer", "when": "resourceFilename == pom.xml" + }, + { + "command": "fabric8.stackAnalysisFromExplorer", + "when": "resourceFilename == go.mod" } ], "editor/context": [ @@ -103,6 +113,10 @@ { "command": "fabric8.stackAnalysisFromEditor", "when": "resourceFilename == pom.xml" + }, + { + "command": "fabric8.stackAnalysisFromEditor", + "when": "resourceFilename == go.mod" } ], "commandPalette": [ @@ -168,7 +182,7 @@ "description": "Path to a local file where the Red Hat Dependency Analytics report will be saved.", "scope": "window" }, - "maven.executable.path": { + "mvn.executable.path": { "type": "string", "default": "", "description": "Specifies absolute path of mvn executable.", @@ -179,6 +193,12 @@ "default": "", "description": "Specifies absolute path of npm executable.", "scope": "window" + }, + "go.executable.path": { + "type": "string", + "default": "", + "description": "Specifies absolute path of go executable.", + "scope": "window" } } } @@ -220,11 +240,11 @@ "webpack-cli": "^5.1.1" }, "dependencies": { - "@fabric8-analytics/fabric8-analytics-lsp-server": "^0.7.1-ea.4", + "@fabric8-analytics/fabric8-analytics-lsp-server": "^0.7.1-ea.10", "@redhat-developer/vscode-redhat-telemetry": "^0.6.1", - "@RHEcosystemAppEng/exhort-javascript-api": "^0.0.2-alpha.4", + "@RHEcosystemAppEng/exhort-javascript-api": "^0.0.2-ea.32", "fs": "^0.0.1-security", "path": "^0.12.7", "vscode-languageclient": "^8.1.0" } -} +} \ No newline at end of file diff --git a/src/authextension.ts b/src/authextension.ts index 1c254519b..ec0d72c0c 100644 --- a/src/authextension.ts +++ b/src/authextension.ts @@ -2,7 +2,7 @@ import { GlobalState } from './constants'; import { Config } from './config'; -// import { getRedHatService } from '@redhat-developer/vscode-redhat-telemetry/lib'; +import { getRedHatService } from '@redhat-developer/vscode-redhat-telemetry/lib'; export module authextension { const apiConfig = Config.getApiConfig(); @@ -10,32 +10,27 @@ export module authextension { setContextData = (apiConfig) => { process.env['PROVIDE_FULLSTACK_ACTION'] = 'true'; - process.env['UTM_SOURCE'] = 'vscode'; + process.env['UTM_SOURCE'] = GlobalState.UtmSource; process.env['SNYK_TOKEN'] = apiConfig.exhortSnykToken; - process.env['MVN_EXECUTABLE'] = Config.getMavenExecutable(); - process.env['NPM_EXECUTABLE'] = Config.getNodeExecutable(); + process.env['MVN_EXECUTABLE'] = Config.getMvnExecutable(); + process.env['NPM_EXECUTABLE'] = Config.getNpmExecutable(); + process.env['GO_EXECUTABLE'] = Config.getGoExecutable(); process.env['EXHORT_DEV_MODE'] = GlobalState.ExhortDevMode; }; - // export async function setTelemetryid(context) { - // const redhatService = await getRedHatService(context); - // const redhatIdProvider = await redhatService.getIdProvider(); - // const REDHAT_UUID = await redhatIdProvider.getRedHatUUID(); - // process.env['TELEMETRY_ID'] = REDHAT_UUID; - // } + export async function setTelemetryid(context) { + const redhatService = await getRedHatService(context); + const redhatIdProvider = await redhatService.getIdProvider(); + const redhatUuid = await redhatIdProvider.getRedHatUUID(); + process.env['TELEMETRY_ID'] = redhatUuid; + } export const authorize_f8_analytics = async context => { try { - // await setTelemetryid(context); + await setTelemetryid(context); setContextData(apiConfig); - // let uuid = context.globalState.get(GlobalState.UUID); - - // if (uuid && uuid !== '') { - // process.env['UUID'] = uuid; - // } - return true; } catch (error) { console.log(error); diff --git a/src/config.ts b/src/config.ts index c64fd0103..3ba63aee5 100644 --- a/src/config.ts +++ b/src/config.ts @@ -8,17 +8,24 @@ export namespace Config { return vscode.workspace.getConfiguration('redHatDependencyAnalytics'); } - export function getMavenExecutable(): string { + export function getMvnExecutable(): string { const mavenPath: string = vscode.workspace - .getConfiguration('maven.executable') + .getConfiguration('mvn.executable') .get('path'); return mavenPath ? `"${mavenPath}"` : 'mvn'; } - export function getNodeExecutable(): string { + export function getNpmExecutable(): string { const npmPath: string = vscode.workspace .getConfiguration('npm.executable') .get('path'); return npmPath ? `"${npmPath}"` : 'npm'; } + + export function getGoExecutable(): string { + const goPath: string = vscode.workspace + .getConfiguration('go.executable') + .get('path'); + return goPath ? `${goPath}` : 'go'; + } } diff --git a/src/constants.ts b/src/constants.ts index 5b41ca601..79cbe5157 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -5,8 +5,8 @@ export enum GlobalState { // to store the current version string to localStorage Version = 'fabric8Version', - // to store the UUID string to localStorage - // UUID = 'uuid' + // to store the UTM source for tracking purposes + UtmSource = 'vscode', // to store the current exhort environment mode ExhortDevMode = 'false' } diff --git a/src/multimanifestmodule.ts b/src/multimanifestmodule.ts index 2ce1a611e..39a9a5cfd 100644 --- a/src/multimanifestmodule.ts +++ b/src/multimanifestmodule.ts @@ -4,134 +4,62 @@ import * as vscode from 'vscode'; import { stackanalysismodule } from './stackanalysismodule'; import { authextension } from './authextension'; -import { StatusMessages } from './constants'; import { DependencyReportPanel } from './dependencyReportPanel'; export module multimanifestmodule { - /* - * Needed async function in order to wait for user selection in case of - * multi root projects - */ export const redhatDependencyAnalyticsReportFlow = async (context, uri) => { let workspaceFolder: vscode.WorkspaceFolder; - if (uri && uri.scheme && uri.scheme === 'file') { - if ( - uri.fsPath && - uri.fsPath.toLowerCase().indexOf('pom.xml') !== -1 - ) { - workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); - stackanalysismodule.processStackAnalysis( - context, - workspaceFolder, - 'maven', - uri - ); - } else if ( - uri.fsPath && - uri.fsPath.toLowerCase().indexOf('package.json') !== -1 - ) { - workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); - stackanalysismodule.processStackAnalysis( - context, - workspaceFolder, - 'npm', - uri - ); - // } else if ( - // uri.fsPath && - // uri.fsPath.toLowerCase().indexOf('requirements.txt') !== -1 - // ) { - // workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); - // stackanalysismodule.processStackAnalysis( - // context, - // workspaceFolder, - // 'pypi', - // uri - // ); - // } else if ( - // uri.fsPath && - // uri.fsPath.toLowerCase().indexOf('go.mod') !== -1 - // ) { - // workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); - // stackanalysismodule.processStackAnalysis( - // context, - // workspaceFolder, - // 'golang', - // uri - // ); - } else { - vscode.window.showInformationMessage( - `File ${uri.fsPath} is not supported!!` - ); - } + if ( + uri.fsPath && + uri.fsPath.toLowerCase().indexOf('pom.xml') !== -1 + ) { + workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); + stackanalysismodule.processStackAnalysis( + context, + workspaceFolder, + 'maven', + uri + ); + } else if ( + uri.fsPath && + uri.fsPath.toLowerCase().indexOf('package.json') !== -1 + ) { + workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); + stackanalysismodule.processStackAnalysis( + context, + workspaceFolder, + 'npm', + uri + ); } else if ( - vscode.workspace.hasOwnProperty('workspaceFolders') && - vscode.workspace['workspaceFolders'].length > 1 + uri.fsPath && + uri.fsPath.toLowerCase().indexOf('go.mod') !== -1 ) { - let workspaceFolder = await vscode.window.showWorkspaceFolderPick({ - placeHolder: 'Pick Workspace Folder...' - }); - if (workspaceFolder) { - triggerFullStackAnalysis(context, workspaceFolder); - } else { - vscode.window.showInformationMessage(`No Workspace selected.`); - } + workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); + stackanalysismodule.processStackAnalysis( + context, + workspaceFolder, + 'golang', + uri + ); + // } else if ( + // uri.fsPath && + // uri.fsPath.toLowerCase().indexOf('requirements.txt') !== -1 + // ) { + // workspaceFolder = vscode.workspace.getWorkspaceFolder(uri); + // stackanalysismodule.processStackAnalysis( + // context, + // workspaceFolder, + // 'pypi', + // uri + // ); } else { - let workspaceFolder = vscode.workspace.workspaceFolders[0]; - triggerFullStackAnalysis(context, workspaceFolder); + vscode.window.showInformationMessage( + `File ${uri.fsPath} is not supported!!` + ); } }; - export const triggerFullStackAnalysis = ( - context: vscode.ExtensionContext, - workspaceFolder: vscode.WorkspaceFolder - ) => { - const relativePattern = new vscode.RelativePattern( - workspaceFolder, - '{pom.xml,**/package.json}' - ); - vscode.workspace.findFiles(relativePattern, '**/node_modules').then( - (result: vscode.Uri[]) => { - if (result && result.length) { - // Do not create an effective pom if no pom.xml is present - let effective_pom_skip = true; - let ecosystem = 'npm'; - let pom_count = 0; - result.forEach(item => { - if (item.fsPath.indexOf('pom.xml') >= 0) { - effective_pom_skip = false; - pom_count += 1; - ecosystem = 'maven'; - } - }); - - if (!effective_pom_skip && pom_count === 0) { - vscode.window.showInformationMessage( - 'Multi ecosystem support is not yet available.' - ); - return; - } else { - stackanalysismodule.processStackAnalysis( - context, - workspaceFolder, - ecosystem - ); - } - } else { - vscode.window.showInformationMessage( - StatusMessages.NO_SUPPORTED_MANIFEST - ); - } - }, - // Other ecosystem flow - (reason: any) => { - vscode.window.showInformationMessage( - StatusMessages.NO_SUPPORTED_MANIFEST - ); - } - ); - }; - export const triggerManifestWs = context => { return new Promise((resolve, reject) => { authextension diff --git a/src/stackanalysismodule.ts b/src/stackanalysismodule.ts index 7ac7a7bbf..cefb98370 100644 --- a/src/stackanalysismodule.ts +++ b/src/stackanalysismodule.ts @@ -5,7 +5,7 @@ import * as path from 'path'; import * as fs from 'fs'; import { Config } from './config'; -import { snykURL, defaultRedhatDependencyAnalyticsReportFilePath, StatusMessages, Titles, GlobalState } from './constants'; +import { snykURL, defaultRedhatDependencyAnalyticsReportFilePath, StatusMessages, Titles } from './constants'; import { multimanifestmodule } from './multimanifestmodule'; import { stackAnalysisServices } from './stackAnalysisService'; import { DependencyReportPanel } from './dependencyReportPanel'; @@ -34,10 +34,15 @@ export module stackanalysismodule { }); // set up configuration options for the stack analysis request - const options = {}; - options['EXHORT_MVN_PATH'] = Config.getMavenExecutable(); - options['EXHORT_NPM_PATH'] = Config.getNodeExecutable(); - options['EXHORT_DEV_MODE'] = GlobalState.ExhortDevMode; + const options = { + 'EXHORT_MVN_PATH': Config.getMvnExecutable(), + 'EXHORT_NPM_PATH': Config.getNpmExecutable(), + 'EXHORT_GO_PATH': Config.getGoExecutable(), + 'EXHORT_DEV_MODE': process.env.EXHORT_DEV_MODE, + 'RHDA_TOKEN': process.env.TELEMETRY_ID, + 'RHDA_SOURCE': process.env.UTM_SOURCE + }; + if (apiConfig.exhortSnykToken !== '') { options['EXHORT_SNYK_TOKEN'] = apiConfig.exhortSnykToken; } @@ -94,14 +99,15 @@ export module stackanalysismodule { manifestFilePath = uri ? uri.fsPath : path.join(workspaceFolder.uri.fsPath, 'package.json'); + + } else if (ecosystem === 'golang') { + manifestFilePath = uri + ? uri.fsPath + : path.join(workspaceFolder.uri.fsPath, 'go.mod'); // } else if (ecosystem === 'pypi') { // manifestFilePath = uri // ? uri.fsPath.split('requirements.txt')[0] // : workspaceFolder.uri.fsPath; - // } else if (ecosystem === 'golang') { - // manifestFilePath = uri - // ? uri.fsPath - // : workspaceFolder.uri.fsPath; } stackAnalysisLifeCycle(context, manifestFilePath); }; @@ -110,7 +116,7 @@ export module stackanalysismodule { if (DependencyReportPanel.currentPanel) { DependencyReportPanel.currentPanel.doUpdatePanel('error'); } - vscode.window.showErrorMessage(err); + vscode.window.showErrorMessage(err.message); }; export const validateSnykToken = async () => { @@ -120,7 +126,9 @@ export module stackanalysismodule { // set up configuration options for the token validation request let options = { 'EXHORT_SNYK_TOKEN': apiConfig.exhortSnykToken, - 'EXHORT_DEV_MODE': GlobalState.ExhortDevMode, + 'EXHORT_DEV_MODE': process.env.EXHORT_DEV_MODE, + 'RHDA_TOKEN': process.env.TELEMETRY_ID, + 'RHDA_SOURCE': process.env.UTM_SOURCE }; // execute stack analysis diff --git a/test/authextension.test.ts b/test/authextension.test.ts index 4bcec67d2..0e670ac83 100644 --- a/test/authextension.test.ts +++ b/test/authextension.test.ts @@ -19,7 +19,7 @@ suite('authextension Modules', () => { sandbox.restore(); }); - test('setContextData should set environment variables based on apiConfig', async () => { + test('setContextData should set environment variables', async () => { const mockApiConfig = { exhortSnykToken: 'mockToken' }; @@ -31,6 +31,7 @@ suite('authextension Modules', () => { expect(process.env['SNYK_TOKEN']).equals('mockToken'); expect(process.env['MVN_EXECUTABLE']).equals('mvn'); expect(process.env['NPM_EXECUTABLE']).equals('npm'); + expect(process.env['GO_EXECUTABLE']).equals('go'); expect(process.env['EXHORT_DEV_MODE']).equals(GlobalState.ExhortDevMode); }); }); diff --git a/test/config.test.ts b/test/config.test.ts index a636c9a4b..62f0792cf 100644 --- a/test/config.test.ts +++ b/test/config.test.ts @@ -28,15 +28,21 @@ suite('Config module', () => { expect(apiConfig).to.equal('mockApiConfig'); }); - test('getMavenExecutable should get Maven executable', () => { - let mavenPath = Config.getMavenExecutable(); + test('getMvnExecutable should get mvn executable', () => { + let mvnPath = Config.getMvnExecutable(); - expect(mavenPath).equals('mvn'); + expect(mvnPath).equals('mvn'); }); - test('getNodeExecutable should get Node executable', () => { - let nodePath = Config.getNodeExecutable(); + test('getNpmExecutable should get npm executable', () => { + let npmPath = Config.getNpmExecutable(); - expect(nodePath).equals('npm'); + expect(npmPath).equals('npm'); + }); + + test('getGoExecutable should get go executable', () => { + let goPath = Config.getGoExecutable(); + + expect(goPath).equals('go'); }); }); diff --git a/test/multiManifestModule.test.ts b/test/multiManifestModule.test.ts index 8317700ea..371b57bf7 100644 --- a/test/multiManifestModule.test.ts +++ b/test/multiManifestModule.test.ts @@ -34,25 +34,6 @@ suite('multimanifest module', () => { expect(processStackAnalysisStub.calledOnceWithExactly(context, { uri }, 'maven', uri)).to.be.true; }); - test('redhatDependencyAnalyticsReportFlow should call triggerFullStackAnalyse once', async () => { - let triggerFullStackAnalysisSpy = sandbox.spy(multimanifestmodule, 'triggerFullStackAnalysis'); - - await multimanifestmodule.redhatDependencyAnalyticsReportFlow(context, null); - - expect(triggerFullStackAnalysisSpy).to.be.calledOnce; - }); - - test('triggerFullStackAnalysis should trigger full stack analysis for specified workspace folder', async () => { - const workspaceFolder = { uri: vscode.Uri.file('/path/to/mock/workspace') } as vscode.WorkspaceFolder; - const findFilesStub = sandbox.stub(vscode.workspace, 'findFiles').resolves([vscode.Uri.file('/path/to/mock/pom.xml')]); - const processStackAnalysisStub = sandbox.stub(stackanalysismodule, 'processStackAnalysis'); - - await multimanifestmodule.triggerFullStackAnalysis(context, workspaceFolder); - - expect(findFilesStub).to.be.calledOnce; - expect(processStackAnalysisStub.calledOnceWithExactly(context, workspaceFolder, 'maven')).to.be.true; - }); - test('triggerManifestWs should resolve with true when authorized and create DependencyReportPanel', async () => { let authorize_f8_analyticsStub = sandbox.stub(authextension, 'authorize_f8_analytics').resolves(true); const createOrShowStub = sandbox.stub(DependencyReportPanel, 'createOrShow'); diff --git a/test/stackAnalysisModule.test.ts b/test/stackAnalysisModule.test.ts index 464055c65..94eaa6cd9 100644 --- a/test/stackAnalysisModule.test.ts +++ b/test/stackAnalysisModule.test.ts @@ -8,7 +8,6 @@ import { stackanalysismodule } from '../src/stackanalysismodule'; import { multimanifestmodule } from '../src/multimanifestmodule'; import { stackAnalysisServices } from '../src/stackAnalysisService'; import { Config } from '../src/config'; -import { GlobalState } from '../src/constants'; const expect = chai.expect; chai.use(sinonChai); @@ -50,6 +49,19 @@ suite('stackanalysis module', () => { expect(stackAnalysisLifeCycleStub.calledOnceWithExactly(context, '/path/to/mockFolder/package.json')).to.be.true; }); + test('processStackAnalysis should call stackAnalysisLifeCycle for golang', async () => { + const workspaceFolder = { uri: vscode.Uri.file('/path/to/mockFolder') } as vscode.WorkspaceFolder; + let stackAnalysisLifeCycleStub = sandbox.stub(stackanalysismodule, 'stackAnalysisLifeCycle'); + + await stackanalysismodule.processStackAnalysis( + context, + workspaceFolder, + 'golang' + ); + + expect(stackAnalysisLifeCycleStub.calledOnceWithExactly(context, '/path/to/mockFolder/go.mod')).to.be.true; + }); + test('stackAnalysisLifeCycle should call chain of promises', async () => { const withProgressSpy = sandbox.spy(vscode.window, 'withProgress'); const triggerManifestWsStub = sandbox.stub(multimanifestmodule, 'triggerManifestWs'); @@ -71,7 +83,7 @@ suite('stackanalysis module', () => { await stackanalysismodule.validateSnykToken(); expect(getApiConfigStub).to.be.calledOnce; - expect(getSnykTokenValidationServiceStub.calledOnceWithExactly({ EXHORT_SNYK_TOKEN: 'mockToken', 'EXHORT_DEV_MODE': GlobalState.ExhortDevMode })).to.be.true; + expect(getSnykTokenValidationServiceStub.calledOnceWithExactly({ EXHORT_SNYK_TOKEN: 'mockToken', 'EXHORT_DEV_MODE': process.env.EXHORT_DEV_MODE, 'RHDA_TOKEN': process.env.TELEMETRY_ID, 'RHDA_SOURCE': process.env.UTM_SOURCE })).to.be.true; }); test('validateSnykToken should show information message if no token is provided', async () => {