From 1e3d41b5325b82dea3fe9afa96b1edd73db0fc0f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Aug 2024 13:46:20 +0000 Subject: [PATCH 1/4] Bump the storybook group in /extensions/ql-vscode with 12 updates Bumps the storybook group in /extensions/ql-vscode with 12 updates: | Package | From | To | | --- | --- | --- | | [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.2.7` | `8.2.8` | | [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.2.7` | `8.2.8` | | [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.2.7` | `8.2.8` | | [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.2.7` | `8.2.8` | | [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.2.7` | `8.2.8` | | [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/blocks) | `8.2.7` | `8.2.8` | | [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/deprecated/components) | `8.2.7` | `8.2.8` | | [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.2.7` | `8.2.8` | | [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.2.7` | `8.2.8` | | [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.2.7` | `8.2.8` | | [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.2.7` | `8.2.8` | | [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.2.7` | `8.2.8` | Updates `@storybook/addon-a11y` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/addons/a11y) Updates `@storybook/addon-actions` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/addons/actions) Updates `@storybook/addon-essentials` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/addons/essentials) Updates `@storybook/addon-interactions` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/addons/interactions) Updates `@storybook/addon-links` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/addons/links) Updates `@storybook/blocks` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/lib/blocks) Updates `@storybook/components` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/deprecated/components) Updates `@storybook/manager-api` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/lib/manager-api) Updates `@storybook/react` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/renderers/react) Updates `@storybook/react-vite` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/frameworks/react-vite) Updates `@storybook/theming` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/lib/theming) Updates `storybook` from 8.2.7 to 8.2.8 - [Release notes](https://github.com/storybookjs/storybook/releases) - [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md) - [Commits](https://github.com/storybookjs/storybook/commits/v8.2.8/code/lib/cli) --- updated-dependencies: - dependency-name: "@storybook/addon-a11y" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/addon-actions" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/addon-essentials" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/addon-interactions" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/addon-links" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/blocks" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/components" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/manager-api" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/react" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/react-vite" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: "@storybook/theming" dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook - dependency-name: storybook dependency-type: direct:development update-type: version-update:semver-patch dependency-group: storybook ... Signed-off-by: dependabot[bot] --- extensions/ql-vscode/package-lock.json | 298 ++++++++++++------------- extensions/ql-vscode/package.json | 20 +- 2 files changed, 159 insertions(+), 159 deletions(-) diff --git a/extensions/ql-vscode/package-lock.json b/extensions/ql-vscode/package-lock.json index 8ab3dd111..c3c1e1685 100644 --- a/extensions/ql-vscode/package-lock.json +++ b/extensions/ql-vscode/package-lock.json @@ -54,18 +54,18 @@ "@faker-js/faker": "^8.4.1", "@github/markdownlint-github": "^0.6.2", "@playwright/test": "^1.40.1", - "@storybook/addon-a11y": "^8.2.7", - "@storybook/addon-actions": "^8.2.7", - "@storybook/addon-essentials": "^8.2.7", - "@storybook/addon-interactions": "^8.2.7", - "@storybook/addon-links": "^8.2.7", + "@storybook/addon-a11y": "^8.2.8", + "@storybook/addon-actions": "^8.2.8", + "@storybook/addon-essentials": "^8.2.8", + "@storybook/addon-interactions": "^8.2.8", + "@storybook/addon-links": "^8.2.8", "@storybook/blocks": "^8.0.2", - "@storybook/components": "^8.2.7", + "@storybook/components": "^8.2.8", "@storybook/csf": "^0.1.11", "@storybook/icons": "^1.2.10", - "@storybook/manager-api": "^8.2.7", - "@storybook/react": "^8.2.7", - "@storybook/react-vite": "^8.2.7", + "@storybook/manager-api": "^8.2.8", + "@storybook/react": "^8.2.8", + "@storybook/react-vite": "^8.2.8", "@storybook/theming": "^8.2.4", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.4.8", @@ -130,7 +130,7 @@ "npm-run-all": "^4.1.5", "patch-package": "^8.0.0", "prettier": "^3.2.5", - "storybook": "^8.2.7", + "storybook": "^8.2.8", "tar-stream": "^3.1.7", "through2": "^4.0.2", "ts-jest": "^29.1.4", @@ -4785,12 +4785,12 @@ } }, "node_modules/@storybook/addon-a11y": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.2.7.tgz", - "integrity": "sha512-fHr8a/+srayg1S8nBt6Urdi/4tHc/fO08V+5xJNZBXqjmWCxBkxslDxg1fYPixwFctoorpX279SxeVP7p/Px4w==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.2.8.tgz", + "integrity": "sha512-pUjTjJjoP/52hoB2BGqWmGPOUpM1YwEKsYJmY4ki3qJo/ehau+mMlal9xY9/mxafYFkYbrWvHoVSLxSRBxt3yg==", "dev": true, "dependencies": { - "@storybook/addon-highlight": "8.2.7", + "@storybook/addon-highlight": "8.2.8", "axe-core": "^4.2.0" }, "funding": { @@ -4798,13 +4798,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-actions": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.2.7.tgz", - "integrity": "sha512-wDnMGGmaogAForkNncfCx8BEDiwxeK8zC0lj8HkRPUuH6vTr81U5RIb12Wa2TnnNKLKMFAtyPSnofHf3OAfzZQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.2.8.tgz", + "integrity": "sha512-dyajqsMNAUktpi7aiml0Fsm4ey8Nh2YwRyTDuTJZ1iJFcFyARqfr5iKH4/qElq80y0FYXGgGRJB+dKJsCdefLw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -4818,13 +4818,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-backgrounds": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.2.7.tgz", - "integrity": "sha512-kEL3kzYB0qNfpznchlGBnQm4iydyzdTYDPlCFsKUAxfUmJFnpz2H52Sl5lB+qJC/4OREp1Usltag7cUjeuyzMQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.2.8.tgz", + "integrity": "sha512-OqXGpq8KzWwAAQWPnby/v4ayWuUAB18Twgi6zeb+QNLEQdFnSp7kz6+4mP8ZVg8RS3ACGXD31nnvvlF7GYoJjQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -4836,13 +4836,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-controls": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.2.7.tgz", - "integrity": "sha512-u3MruX0Zh6l1iNkoJdXwx+zPVqpDKypVrC0YdN3qQ3+mtTwqt35rgetYqtOkDnJ8mXKxo8A5giERKPIyzH9iBA==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.2.8.tgz", + "integrity": "sha512-adhg68CSFaR/r95rgyKU4ZzWwZz+MU0c4vr9hqrR1UGvg/zl33IZQQzb5j5v3Axo0O31yPMaY6LRty7pOv3+/Q==", "dev": true, "dependencies": { "dequal": "^2.0.2", @@ -4854,21 +4854,21 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-docs": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.2.7.tgz", - "integrity": "sha512-icLbvUWp95WUxq2sY+0xgJ49MaQ2HqtWY9RUJUZswJ/ZPJTCCpIoa6HP/NOB9A90Oec9n8sW+1CdDL4CxfxfZg==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.2.8.tgz", + "integrity": "sha512-8hqUYYveJjR3e/XdXt0vduA7TxFRIFWgXoa9jN5axa63kqfiHcfkpFYPjM8jCRhsfDIRgdrwe2qxsA0wewO1pA==", "dev": true, "dependencies": { "@babel/core": "^7.24.4", "@mdx-js/react": "^3.0.0", - "@storybook/blocks": "8.2.7", - "@storybook/csf-plugin": "8.2.7", + "@storybook/blocks": "8.2.8", + "@storybook/csf-plugin": "8.2.8", "@storybook/global": "^5.0.0", - "@storybook/react-dom-shim": "8.2.7", + "@storybook/react-dom-shim": "8.2.8", "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", "fs-extra": "^11.1.0", "react": "^16.8.0 || ^17.0.0 || ^18.0.0", @@ -4882,24 +4882,24 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-essentials": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.2.7.tgz", - "integrity": "sha512-5qe7La9B2Z4Y9Fet3C35y8zOZwKgrqduNk8yAUmPRAOwopdo8SGKYpnFTnAtTfTCVk6Y+AZlRfQq0yLUk0Wl3g==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.2.8.tgz", + "integrity": "sha512-NRbFv2ociM1l/Oi/1go/ZC5bUU41n9aKD1DzIbguEKBhUs/TGAES+f5x+7DvYnt3Hvd925/FyTXuMU+vNUeiUA==", "dev": true, "dependencies": { - "@storybook/addon-actions": "8.2.7", - "@storybook/addon-backgrounds": "8.2.7", - "@storybook/addon-controls": "8.2.7", - "@storybook/addon-docs": "8.2.7", - "@storybook/addon-highlight": "8.2.7", - "@storybook/addon-measure": "8.2.7", - "@storybook/addon-outline": "8.2.7", - "@storybook/addon-toolbars": "8.2.7", - "@storybook/addon-viewport": "8.2.7", + "@storybook/addon-actions": "8.2.8", + "@storybook/addon-backgrounds": "8.2.8", + "@storybook/addon-controls": "8.2.8", + "@storybook/addon-docs": "8.2.8", + "@storybook/addon-highlight": "8.2.8", + "@storybook/addon-measure": "8.2.8", + "@storybook/addon-outline": "8.2.8", + "@storybook/addon-toolbars": "8.2.8", + "@storybook/addon-viewport": "8.2.8", "ts-dedent": "^2.0.0" }, "funding": { @@ -4907,13 +4907,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-highlight": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.2.7.tgz", - "integrity": "sha512-YhiLtyJ3NBNV3FQoQo8RFjj59QGSmmeSwRvCjoac6No2DY5vkMW5a8mW6ORr6QYd7ratRNtd3AsPqksZIehRwQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.2.8.tgz", + "integrity": "sha512-IM1pPx6CCZbHV0bv3oB1qBCGDsr8soq7XLl93tc7mc4hstWSDFfNn7rx4CWycSlCqXlNTKh8cEkbrPrhV9cwbg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -4923,18 +4923,18 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-interactions": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.2.7.tgz", - "integrity": "sha512-WZXlwpBNLE483uKuR70A7nm+ZbcZNEmuVz/J1/u7dbi0BUWzmJUa9YIgVeQ/1KTwW8KTkxvB0TuUUH3aA4ZKlA==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.2.8.tgz", + "integrity": "sha512-ggctlrSlK72xMfhviHHRslZF5tr9aHr1VFwCG/tjF7s1lM3S7OGqgHLJpcja/wNREvq9GMEvX95ZSu5NMh5CtA==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", - "@storybook/instrumenter": "8.2.7", - "@storybook/test": "8.2.7", + "@storybook/instrumenter": "8.2.8", + "@storybook/test": "8.2.8", "polished": "^4.2.2", "ts-dedent": "^2.2.0" }, @@ -4943,13 +4943,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-links": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.2.7.tgz", - "integrity": "sha512-BJdR+vdj7S6Rtx8XqBNQzLsRGH/FYHJ6B6BPWGp0awVx0jNWJnxepINQov8i+GAddUVQGCNG+r4LI3QSD3tNAA==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.2.8.tgz", + "integrity": "sha512-2igEaSdKAFjKjioT6LGdBxZulpbVCzmlmV//sTu3sQiVnnxRjjGFt77sEeLMajrsSvg9DB1RMbDsvJ4FJTzXfQ==", "dev": true, "dependencies": { "@storybook/csf": "0.1.11", @@ -4962,7 +4962,7 @@ }, "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.2.7" + "storybook": "^8.2.8" }, "peerDependenciesMeta": { "react": { @@ -4971,9 +4971,9 @@ } }, "node_modules/@storybook/addon-measure": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.2.7.tgz", - "integrity": "sha512-cS5njwlzrgrUjigUKjhbgJMT8bhPmVDK3FwrQqGhw6xYP4cd9/YBJ4RLNPWhOgGJ+EUTz7eFZ/Rkli5mNrhYcQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.2.8.tgz", + "integrity": "sha512-oqZiX571F9NNy8o/oVyM1Pe2cJz3WJ/OpL0lVbepHrV4ir1f+SDYZdMI58jGBAtoM52cwFc2ZPbzXKQs7a513A==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -4984,13 +4984,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-outline": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.2.7.tgz", - "integrity": "sha512-oFSo3o5eEUSsdGUSPV22pGoJ5lL0PGcqjcee2hyl0Rc60ovsnB1BEGOoaGk7/bmkywMxRZm8D6j85V8HftA/kg==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.2.8.tgz", + "integrity": "sha512-Cbk4Z0ojggiXjpbS2c4WUP56yikQdT4O7+8AuBNNjVUHNvJQADWYovi6SvDmrS5dH1iyIkB+4saXMr0syp+BDw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -5001,26 +5001,26 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-toolbars": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.2.7.tgz", - "integrity": "sha512-lEq0/uiogQSxS8pM5AqIexPiG2mudHUxgBiVWSspbTQDUbGBUxB64VYeYERat50N/GyS2iCymlfSkC+OUXaYLQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.2.8.tgz", + "integrity": "sha512-k64G3FUpX3H/mhJ7AG1r/4Drsk6cdUtxI3yVdgWb7O3Ka7v/OFZexRXRSiV03n5q/kaqVKDu96Tuog57+7EB4w==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/addon-viewport": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.2.7.tgz", - "integrity": "sha512-d4+klwM/duTukNED1WCeBgIMqL5Jvm/iUs2rUc5HI1FGMEDYnoLVR2ztjivQs+6f1cJWuGwWZD/toB5pKHuR/A==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.2.8.tgz", + "integrity": "sha512-/JZeIgB33yhryUvWaNO+3t9akcS8nGLyAUmlljPFr3LUDDYrO/0H9tE4CgjLqtwCXBq3k3s0HLzEJOrKI9Tmbw==", "dev": true, "dependencies": { "memoizerific": "^1.11.3" @@ -5030,13 +5030,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/blocks": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.2.7.tgz", - "integrity": "sha512-lZB4EzmY4ftgubkf7hmkALEhmfMhRkDRD5QjrgTZLRpdVXPzFUyljgLlTBhv34YTN+ZLYK618/4uSVJBpgoKeQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.2.8.tgz", + "integrity": "sha512-AHBXu9s73Xv9r1JageIL7C4eGf5XYEByai4Y6NYQsE+jF7b7e8oaSUoLW6fWSyLGuqvjRx+5P7GMNI2K1EngBA==", "dev": true, "dependencies": { "@storybook/csf": "0.1.11", @@ -5061,7 +5061,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.2.7" + "storybook": "^8.2.8" }, "peerDependenciesMeta": { "react": { @@ -5073,12 +5073,12 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.2.7.tgz", - "integrity": "sha512-CoEQjsfAQdZeAavfh1sBTMmC453kUFLKHr1zs6MZAlkejxky+U21t1Zb1qEU+IsEr/AlzvJr60pxUNL/dy6PVQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.2.8.tgz", + "integrity": "sha512-p9EJfZkX9ZsVi1Qr3jYyCJaZZ/2pt0KVTOYnDzNnhi3P/suU6O3Lp/YCV5+KOfAmlg2IgTND0EidqZinqPIBSg==", "dev": true, "dependencies": { - "@storybook/csf-plugin": "8.2.7", + "@storybook/csf-plugin": "8.2.8", "@types/find-cache-dir": "^3.2.1", "browser-assert": "^1.2.1", "es-module-lexer": "^1.5.0", @@ -5094,7 +5094,7 @@ }, "peerDependencies": { "@preact/preset-vite": "*", - "storybook": "^8.2.7", + "storybook": "^8.2.8", "typescript": ">= 4.3.x", "vite": "^4.0.0 || ^5.0.0", "vite-plugin-glimmerx": "*" @@ -5112,15 +5112,15 @@ } }, "node_modules/@storybook/codemod": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.2.7.tgz", - "integrity": "sha512-D2sJcZMUO6Y7DNja4LvdT6uBee4bZbQKB904kEG9Kpr0XF20IHAP9BbkfG8HEFaS0GbJwvGvE03Sg+S1y+vO6Q==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.2.8.tgz", + "integrity": "sha512-dqD4j6JTsS8BM2y1yHBIe5fHvsGM08qpJQXkE77aXJIm5UfUeuWC7rY0xAheX3fU5G98l3BJk0ySUGspQL5pNg==", "dev": true, "dependencies": { "@babel/core": "^7.24.4", "@babel/preset-env": "^7.24.4", "@babel/types": "^7.24.0", - "@storybook/core": "8.2.7", + "@storybook/core": "8.2.8", "@storybook/csf": "0.1.11", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", @@ -5210,22 +5210,22 @@ } }, "node_modules/@storybook/components": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.2.7.tgz", - "integrity": "sha512-FXhnoHl9S+tKSFc62iUG3EWplQP9ojGQaSMhqP4QTus6xmo53oSsPzuTPQilKVHkGxFQW8eGgKKsfHw3G2NT2g==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.2.8.tgz", + "integrity": "sha512-d4fI7Clogx4rgLAM7vZVr9L2EFtAkGXvpkZFuB0H0eyYaxZSbuZYvDCzRglQGQGsqD8IA8URTgPVSXC3L3k6Bg==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/core": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.2.7.tgz", - "integrity": "sha512-vgw5MYN9Bq2/ZsObCOEHbBHwi4RpbYCHPFtKkr4kTnWID++FCSiSVd7jY3xPvcNxWqCxOyH6dThpBi+SsB/ZAA==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.2.8.tgz", + "integrity": "sha512-Wwm/Txh87hbxqU9OaxXwdGAmdRBjDn7rlZEPjNBx0tt43SQ11fKambY7nVWrWuw46YsJpdF9V/PQr4noNEXXEA==", "dev": true, "dependencies": { "@storybook/csf": "0.1.11", @@ -5264,9 +5264,9 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.2.7.tgz", - "integrity": "sha512-rBdplL6xcVJcuq+uM0eidomMQ5BtAlVAejYrOTNiqBk/zVh5JSvchYzYG9n6Fo2PdKLLKdlZ874zhsVuNriNBQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.2.8.tgz", + "integrity": "sha512-CEHY7xloBPE8d8h0wg2AM2kRaZkHK8/vkYMNZPbccqAYj6PQIdTuOcXZIBAhAGydyIBULZmsmmsASxM9RO5fKA==", "dev": true, "dependencies": { "unplugin": "^1.3.1" @@ -5276,7 +5276,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/global": { @@ -5299,9 +5299,9 @@ } }, "node_modules/@storybook/instrumenter": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.2.7.tgz", - "integrity": "sha512-Zm6Ty4uWFTNchKUviuJ9vfcMb7+qU8eyrFXVY80XRpr62JEWkYj4eCwx4OG8GzlQahTh9aSv9+hzV6p/5Ld4mw==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.2.8.tgz", + "integrity": "sha512-6Gk3CzoYQQXBXpW86PKqYSozOB/C9dSYiFvwPRo4XsEfjARDi8yglqkbOtG+FVqKDL66I5krcveB8bTWigqc9g==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -5313,47 +5313,47 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/manager-api": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.7.tgz", - "integrity": "sha512-BXjz6eNl1GyFcMwzRQTIokslcIY71AYblJUscPcy03X93oqI0GjFVa1xuSMwYw/oXWn7SHhKmqtqEG19lvBGRQ==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.8.tgz", + "integrity": "sha512-wzfRu3vrD9a99pN3W/RJXVtgNGNsy9PyvetjUfgQVtUZ9eXXDuA+tM7ITTu3xvONtV/rT2YEBwzOpowa+r1GNQ==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/preview-api": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.7.tgz", - "integrity": "sha512-lNZBTjZaYNSwBY8dEcDZdkOBvq1/JoVWpuvqDEKvGmp5usTe77xAOwGyncEb96Cx1BbXXkMiDrqbV5G23PFRYA==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.8.tgz", + "integrity": "sha512-BDt1lo5oEWAaTVCsl6JUHCBFtIWI/Za4qvIdn2Lx9eCA+Ae6IDliosmu273DcvGD9R4OPF6sm1dML3TXILGGcA==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/react": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.2.7.tgz", - "integrity": "sha512-Qkw1K1iBDk+E9dlHrEWOOkn0trUU6wSt4mvzyOekiApM290esnPtw6GYXvxfBgFwNXfXbaGG3QNYGAFevf7qHw==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-8.2.8.tgz", + "integrity": "sha512-Nln0DDTQ930P4J+SEkWbLSgaDe8eDd5gP6h3l4b5RwT7sRuSyHtTtYHPCnU9U7sLQ3AbMsclgtJukHXDitlccg==", "dev": true, "dependencies": { - "@storybook/components": "^8.2.7", + "@storybook/components": "^8.2.8", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "^8.2.7", - "@storybook/preview-api": "^8.2.7", - "@storybook/react-dom-shim": "8.2.7", - "@storybook/theming": "^8.2.7", + "@storybook/manager-api": "^8.2.8", + "@storybook/preview-api": "^8.2.8", + "@storybook/react-dom-shim": "8.2.8", + "@storybook/theming": "^8.2.8", "@types/escodegen": "^0.0.6", "@types/estree": "^0.0.51", "@types/node": "^18.0.0", @@ -5380,7 +5380,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.2.7", + "storybook": "^8.2.8", "typescript": ">= 4.2.x" }, "peerDependenciesMeta": { @@ -5390,9 +5390,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.2.7.tgz", - "integrity": "sha512-9VI+NrC09DAr0QQZsFmU5Fd9eqdJp/1AHK+sm9BOZretGGGJwn22xS7UXhHIiFpfXJQnr3TNcYWRzXFyuaE/Sw==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.2.8.tgz", + "integrity": "sha512-2my3dGBOpBe30+FsSdQOIYCfxMyT68+SEq0qcXxfuax0BkhhJnZLpwvpqOna6EOVTgBD+Tk1TKmjpGwxuwp4rg==", "dev": true, "funding": { "type": "opencollective", @@ -5401,19 +5401,19 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/react-vite": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.2.7.tgz", - "integrity": "sha512-OvC4c4VpMbMNWNR8zBfWPwSS+LilMZ5O7cUbFSFOsAAI5cYcReo1d0MqpiaWybQynkBFj81zRT+dr+B/5Y2Ajg==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-8.2.8.tgz", + "integrity": "sha512-xzXWyhFnLoFtJGgj8F5j/33QB4YTyEX61On6kolt7WFAjRFaUWJGYUC8cPPL4PNwsdouyCrnHvlJj77AvFlvfQ==", "dev": true, "dependencies": { "@joshwooding/vite-plugin-react-docgen-typescript": "0.3.1", "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "8.2.7", - "@storybook/react": "8.2.7", + "@storybook/builder-vite": "8.2.8", + "@storybook/react": "8.2.8", "find-up": "^5.0.0", "magic-string": "^0.30.0", "react-docgen": "^7.0.0", @@ -5430,7 +5430,7 @@ "peerDependencies": { "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^8.2.7", + "storybook": "^8.2.8", "vite": "^4.0.0 || ^5.0.0" } }, @@ -5467,13 +5467,13 @@ } }, "node_modules/@storybook/test": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.2.7.tgz", - "integrity": "sha512-7xypGR0zjJaM5MkxIz513SYiGs5vDJZL1bbkG1YKeBMff+ZRpa8y8VDYn/WDWuDw76KcFEXoPsPzKwktGhvnpw==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.2.8.tgz", + "integrity": "sha512-Lbt4DHP8WhnakTPw981kP85DeoONKN+zVLjFPa5ptllyT+jazZANjIdGhNUlBdIzOw3oyDXhGlWIdtqztS3pSA==", "dev": true, "dependencies": { "@storybook/csf": "0.1.11", - "@storybook/instrumenter": "8.2.7", + "@storybook/instrumenter": "8.2.8", "@testing-library/dom": "10.1.0", "@testing-library/jest-dom": "6.4.5", "@testing-library/user-event": "14.5.2", @@ -5486,7 +5486,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@storybook/test/node_modules/@testing-library/dom": { @@ -5625,16 +5625,16 @@ } }, "node_modules/@storybook/theming": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.2.7.tgz", - "integrity": "sha512-+iqm0GfRkshrjjNSOzwl7AD2m+LtJGXJCr93ke1huDK497WUKbX1hbbw51h5E1tEkx0c2wIqUlaqCM+7XMYcpw==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.2.8.tgz", + "integrity": "sha512-jt5oUO82LN3z5aygNdHucBZcErSicIAwzhR5Kz9E/C9wUbhyZhbWsWyhpZaytu8LJUj2YWAIPS8kq/jGx+qLZA==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^8.2.7" + "storybook": "^8.2.8" } }, "node_modules/@testing-library/dom": { @@ -13097,9 +13097,9 @@ "dev": true }, "node_modules/flow-parser": { - "version": "0.242.1", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.242.1.tgz", - "integrity": "sha512-E3ml21Q1S5cMAyPbtYslkvI6yZO5oCS/S2EoteeFH8Kx9iKOv/YOJ+dGd/yMf+H3YKfhMKjnOpyNwrO7NdddWA==", + "version": "0.243.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.243.0.tgz", + "integrity": "sha512-HCDBfH+kZcY5etWYeAqatjW78gkIryzb9XixRsA8lGI1uyYc7aCpElkkO4H+KIpoyQMiY0VAZPI4cyac3wQe8w==", "dev": true, "engines": { "node": ">=0.4.0" @@ -22711,15 +22711,15 @@ } }, "node_modules/storybook": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.2.7.tgz", - "integrity": "sha512-Jb9DXue1sr3tKkpuq66VP5ItOKTpxL6t99ze1wXDbjCvPiInTdPA5AyFEjBuKjOBIh28bayYoOZa6/xbMJV+Wg==", + "version": "8.2.8", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.2.8.tgz", + "integrity": "sha512-sh4CNCXkieVgJ5GXrCOESS0BjRbQ9wG7BVnurQPl6izNnB9zR8rag+aUmjPZWBwbj55V1BFA5A/vEsCov21qjg==", "dev": true, "dependencies": { "@babel/core": "^7.24.4", "@babel/types": "^7.24.0", - "@storybook/codemod": "8.2.7", - "@storybook/core": "8.2.7", + "@storybook/codemod": "8.2.8", + "@storybook/core": "8.2.8", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index 515b4f23a..3283a9ac8 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -2011,18 +2011,18 @@ "@faker-js/faker": "^8.4.1", "@github/markdownlint-github": "^0.6.2", "@playwright/test": "^1.40.1", - "@storybook/addon-a11y": "^8.2.7", - "@storybook/addon-actions": "^8.2.7", - "@storybook/addon-essentials": "^8.2.7", - "@storybook/addon-interactions": "^8.2.7", - "@storybook/addon-links": "^8.2.7", + "@storybook/addon-a11y": "^8.2.8", + "@storybook/addon-actions": "^8.2.8", + "@storybook/addon-essentials": "^8.2.8", + "@storybook/addon-interactions": "^8.2.8", + "@storybook/addon-links": "^8.2.8", "@storybook/blocks": "^8.0.2", - "@storybook/components": "^8.2.7", + "@storybook/components": "^8.2.8", "@storybook/csf": "^0.1.11", "@storybook/icons": "^1.2.10", - "@storybook/manager-api": "^8.2.7", - "@storybook/react": "^8.2.7", - "@storybook/react-vite": "^8.2.7", + "@storybook/manager-api": "^8.2.8", + "@storybook/react": "^8.2.8", + "@storybook/react-vite": "^8.2.8", "@storybook/theming": "^8.2.4", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.4.8", @@ -2087,7 +2087,7 @@ "npm-run-all": "^4.1.5", "patch-package": "^8.0.0", "prettier": "^3.2.5", - "storybook": "^8.2.7", + "storybook": "^8.2.8", "tar-stream": "^3.1.7", "through2": "^4.0.2", "ts-jest": "^29.1.4", From dc6d5c14eafc9396b6cec75f885a5d2be8678733 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20St=C3=B6ckli?= Date: Mon, 12 Aug 2024 15:20:05 +0200 Subject: [PATCH 2/4] feature: display length of shortest path in local results UI --- extensions/ql-vscode/CHANGELOG.md | 2 + .../src/view/results/AlertTablePathRow.tsx | 5 +- .../src/view/results/AlertTableResultRow.tsx | 13 ++- .../__tests__/AlertTablePathRow.spec.tsx | 38 +++++++ .../__tests__/AlertTableResultRow.spec.tsx | 33 ++++++ .../test/factories/results/mockresults.ts | 104 ++++++++++++++++++ 6 files changed, 191 insertions(+), 4 deletions(-) create mode 100644 extensions/ql-vscode/src/view/results/__tests__/AlertTablePathRow.spec.tsx create mode 100644 extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx create mode 100644 extensions/ql-vscode/test/factories/results/mockresults.ts diff --git a/extensions/ql-vscode/CHANGELOG.md b/extensions/ql-vscode/CHANGELOG.md index d638979fb..001ad6c0a 100644 --- a/extensions/ql-vscode/CHANGELOG.md +++ b/extensions/ql-vscode/CHANGELOG.md @@ -2,6 +2,8 @@ ## [UNRELEASED] +- Update results view to display the length of the shortest path for path queries. + ## 1.14.0 - 7 August 2024 - Add Python support to the CodeQL Model Editor. [#3676](https://github.com/github/vscode-codeql/pull/3676) diff --git a/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx b/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx index ab4faff74..db8af0efd 100644 --- a/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx +++ b/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx @@ -11,8 +11,9 @@ import { AlertTableDropdownIndicatorCell } from "./AlertTableDropdownIndicatorCe import { useCallback, useMemo } from "react"; import { VerticalRule } from "../common/VerticalRule"; import type { UserSettings } from "../../common/interface-types"; +import { pluralize } from "../../common/word"; -interface Props { +export interface Props { path: ThreadFlow; pathIndex: number; resultIndex: number; @@ -65,7 +66,7 @@ export function AlertTablePathRow(props: Props) { onClick={handleDropdownClick} /> - Path + {`Path (${pluralize(path.locations.length, "step", "steps")})`} {currentPathExpanded && diff --git a/extensions/ql-vscode/src/view/results/AlertTableResultRow.tsx b/extensions/ql-vscode/src/view/results/AlertTableResultRow.tsx index c405f3200..3ae0e5bad 100644 --- a/extensions/ql-vscode/src/view/results/AlertTableResultRow.tsx +++ b/extensions/ql-vscode/src/view/results/AlertTableResultRow.tsx @@ -13,8 +13,9 @@ import { SarifLocation } from "./locations/SarifLocation"; import { SarifMessageWithLocations } from "./locations/SarifMessageWithLocations"; import { AlertTablePathRow } from "./AlertTablePathRow"; import type { UserSettings } from "../../common/interface-types"; +import { VSCodeBadge } from "@vscode/webview-ui-toolkit/react"; -interface Props { +export interface Props { result: Result; resultIndex: number; expanded: Set; @@ -83,6 +84,11 @@ export function AlertTableResultRow(props: Props) { /> ); + const allPaths = getAllPaths(result); + const shortestPath = Math.min( + ...allPaths.map((path) => path.locations.length), + ); + const currentResultExpanded = expanded.has(keyToString(resultKey)); return ( <> @@ -102,6 +108,9 @@ export function AlertTableResultRow(props: Props) { onClick={handleDropdownClick} /> {listUnordered} + + {shortestPath} + {msg} )} @@ -118,7 +127,7 @@ export function AlertTableResultRow(props: Props) { {currentResultExpanded && result.codeFlows && - getAllPaths(result).map((path, pathIndex) => ( + allPaths.map((path, pathIndex) => ( { + const render = (props?: Props) => { + const mockRef = { current: null } as React.RefObject; + const results = createMockResults(); + const threadFlow = results[0]?.codeFlows?.[0]?.threadFlows?.[0]; + + if (!threadFlow) { + throw new Error("ThreadFlow is undefined"); + } + reactRender( + , + ); + }; + + it("renders number of steps", () => { + render(); + + expect(screen.getByText("Path (3 steps)")).toBeInTheDocument(); + }); +}); diff --git a/extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx b/extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx new file mode 100644 index 000000000..17f00e783 --- /dev/null +++ b/extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx @@ -0,0 +1,33 @@ +import { render as reactRender, screen } from "@testing-library/react"; +import { AlertTableResultRow } from "../AlertTableResultRow"; +import type { Props } from "../AlertTablePathRow"; +import { createMockResults } from "../../../../test/factories/results/mockresults"; + +describe(AlertTableResultRow.name, () => { + const render = (props?: Props) => { + const mockRef = { current: null } as React.RefObject; + const results = createMockResults(); + + reactRender( + , + ); + }; + + it("renders shortest path badge", () => { + render(); + + expect(screen.getByTitle("Shortest path")).toHaveTextContent("3"); + }); +}); diff --git a/extensions/ql-vscode/test/factories/results/mockresults.ts b/extensions/ql-vscode/test/factories/results/mockresults.ts new file mode 100644 index 000000000..368c05bb3 --- /dev/null +++ b/extensions/ql-vscode/test/factories/results/mockresults.ts @@ -0,0 +1,104 @@ +import type { Result } from "sarif"; + +export function createMockResults(): Result[] { + return [ + { + ruleId: "java/sql-injection", + ruleIndex: 0, + rule: { id: "java/sql-injection", index: 0 }, + message: { + text: "This query depends on a [user-provided value](1).", + }, + locations: [ + { + physicalLocation: { + artifactLocation: { + uri: "src/main/java/org/example/HelloController.java", + uriBaseId: "%SRCROOT%", + index: 0, + }, + region: { startLine: 15, startColumn: 29, endColumn: 56 }, + }, + }, + ], + partialFingerprints: { + primaryLocationLineHash: "87e2d3cc5b365094:1", + primaryLocationStartColumnFingerprint: "16", + }, + codeFlows: [ + { + threadFlows: [ + { + locations: [ + { + location: { + physicalLocation: { + artifactLocation: { + uri: "src/main/java/org/example/HelloController.java", + uriBaseId: "%SRCROOT%", + index: 0, + }, + region: { + startLine: 13, + startColumn: 25, + endColumn: 54, + }, + }, + message: { text: "id : String" }, + }, + }, + { + location: { + physicalLocation: { + artifactLocation: { + uri: "file:/", + index: 5, + }, + region: { + startLine: 13, + startColumn: 25, + endColumn: 54, + }, + }, + message: { text: "id : String" }, + }, + }, + { + location: { + physicalLocation: { + artifactLocation: { + uri: "src/main/java/org/example/HelloController.java", + uriBaseId: "%SRCROOT%", + index: 0, + }, + region: { + startLine: 15, + startColumn: 29, + endColumn: 56, + }, + }, + message: { text: "... + ..." }, + }, + }, + ], + }, + ], + }, + ], + relatedLocations: [ + { + id: 1, + physicalLocation: { + artifactLocation: { + uri: "src/main/java/org/example/HelloController.java", + uriBaseId: "%SRCROOT%", + index: 0, + }, + region: { startLine: 13, startColumn: 25, endColumn: 54 }, + }, + message: { text: "user-provided value" }, + }, + ], + }, + ]; +} From 268fd9fcd92227e9b1380295c15f8cc414e00801 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20St=C3=B6ckli?= Date: Mon, 12 Aug 2024 17:12:49 +0200 Subject: [PATCH 3/4] Apply suggestions (update changelog link) and change import Co-authored-by: Andrew Eisenberg --- extensions/ql-vscode/CHANGELOG.md | 2 +- .../src/view/results/__tests__/AlertTableResultRow.spec.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/extensions/ql-vscode/CHANGELOG.md b/extensions/ql-vscode/CHANGELOG.md index 001ad6c0a..49a374eee 100644 --- a/extensions/ql-vscode/CHANGELOG.md +++ b/extensions/ql-vscode/CHANGELOG.md @@ -2,7 +2,7 @@ ## [UNRELEASED] -- Update results view to display the length of the shortest path for path queries. +- Update results view to display the length of the shortest path for path queries. [#3687](https://github.com/github/vscode-codeql/pull/3687) ## 1.14.0 - 7 August 2024 diff --git a/extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx b/extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx index 17f00e783..0aa7279ae 100644 --- a/extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx +++ b/extensions/ql-vscode/src/view/results/__tests__/AlertTableResultRow.spec.tsx @@ -1,6 +1,6 @@ import { render as reactRender, screen } from "@testing-library/react"; import { AlertTableResultRow } from "../AlertTableResultRow"; -import type { Props } from "../AlertTablePathRow"; +import type { Props } from "../AlertTableResultRow"; import { createMockResults } from "../../../../test/factories/results/mockresults"; describe(AlertTableResultRow.name, () => { From 8326ef3c5de660e01870bcdbc846f6f1ab3c2ba0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 16:56:03 +0100 Subject: [PATCH 4/4] Bump CLI version from v2.18.1 to v2.18.2 for integration tests (#3688) Co-authored-by: github-actions[bot] --- extensions/ql-vscode/supported_cli_versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/ql-vscode/supported_cli_versions.json b/extensions/ql-vscode/supported_cli_versions.json index 31666d596..ef186cf6d 100644 --- a/extensions/ql-vscode/supported_cli_versions.json +++ b/extensions/ql-vscode/supported_cli_versions.json @@ -1,5 +1,5 @@ [ - "v2.18.1", + "v2.18.2", "v2.17.6", "v2.16.6", "v2.15.5",