Merge branch 'main' into dependabot/npm_and_yarn/extensions/ql-vscode/typescript-eslint-7954a73ad2
This commit is contained in:
Коммит
cddf078dd0
|
@ -2,6 +2,8 @@
|
|||
|
||||
## [UNRELEASED]
|
||||
|
||||
- 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
|
||||
|
||||
- Add Python support to the CodeQL Model Editor. [#3676](https://github.com/github/vscode-codeql/pull/3676)
|
||||
|
|
|
@ -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": {
|
||||
|
@ -13295,9 +13295,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"
|
||||
|
@ -22909,15 +22909,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",
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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}
|
||||
/>
|
||||
<td className="vscode-codeql__text-center" colSpan={4}>
|
||||
Path
|
||||
{`Path (${pluralize(path.locations.length, "step", "steps")})`}
|
||||
</td>
|
||||
</tr>
|
||||
{currentPathExpanded &&
|
||||
|
|
|
@ -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<string>;
|
||||
|
@ -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}
|
||||
/>
|
||||
<td className="vscode-codeql__icon-cell">{listUnordered}</td>
|
||||
<td className="vscode-codeql__icon-cell">
|
||||
<VSCodeBadge title="Shortest path">{shortestPath}</VSCodeBadge>
|
||||
</td>
|
||||
<td colSpan={3}>{msg}</td>
|
||||
</>
|
||||
)}
|
||||
|
@ -118,7 +127,7 @@ export function AlertTableResultRow(props: Props) {
|
|||
</tr>
|
||||
{currentResultExpanded &&
|
||||
result.codeFlows &&
|
||||
getAllPaths(result).map((path, pathIndex) => (
|
||||
allPaths.map((path, pathIndex) => (
|
||||
<AlertTablePathRow
|
||||
key={`${resultIndex}-${pathIndex}`}
|
||||
{...props}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
import { render as reactRender, screen } from "@testing-library/react";
|
||||
import type { Props } from "../AlertTablePathRow";
|
||||
import { AlertTablePathRow } from "../AlertTablePathRow";
|
||||
import { createMockResults } from "../../../../test/factories/results/mockresults";
|
||||
|
||||
describe(AlertTablePathRow.name, () => {
|
||||
const render = (props?: Props) => {
|
||||
const mockRef = { current: null } as React.RefObject<HTMLTableRowElement>;
|
||||
const results = createMockResults();
|
||||
const threadFlow = results[0]?.codeFlows?.[0]?.threadFlows?.[0];
|
||||
|
||||
if (!threadFlow) {
|
||||
throw new Error("ThreadFlow is undefined");
|
||||
}
|
||||
reactRender(
|
||||
<AlertTablePathRow
|
||||
resultIndex={1}
|
||||
selectedItem={undefined}
|
||||
selectedItemRef={mockRef}
|
||||
path={threadFlow}
|
||||
pathIndex={0}
|
||||
currentPathExpanded={true}
|
||||
databaseUri={"dbUri"}
|
||||
sourceLocationPrefix="src"
|
||||
userSettings={{ shouldShowProvenance: false }}
|
||||
updateSelectionCallback={jest.fn()}
|
||||
toggleExpanded={jest.fn()}
|
||||
{...props}
|
||||
/>,
|
||||
);
|
||||
};
|
||||
|
||||
it("renders number of steps", () => {
|
||||
render();
|
||||
|
||||
expect(screen.getByText("Path (3 steps)")).toBeInTheDocument();
|
||||
});
|
||||
});
|
|
@ -0,0 +1,33 @@
|
|||
import { render as reactRender, screen } from "@testing-library/react";
|
||||
import { AlertTableResultRow } from "../AlertTableResultRow";
|
||||
import type { Props } from "../AlertTableResultRow";
|
||||
import { createMockResults } from "../../../../test/factories/results/mockresults";
|
||||
|
||||
describe(AlertTableResultRow.name, () => {
|
||||
const render = (props?: Props) => {
|
||||
const mockRef = { current: null } as React.RefObject<HTMLTableRowElement>;
|
||||
const results = createMockResults();
|
||||
|
||||
reactRender(
|
||||
<AlertTableResultRow
|
||||
result={results[0]}
|
||||
expanded={new Set()}
|
||||
resultIndex={1}
|
||||
selectedItem={undefined}
|
||||
selectedItemRef={mockRef}
|
||||
databaseUri={"dbUri"}
|
||||
sourceLocationPrefix="src"
|
||||
userSettings={{ shouldShowProvenance: false }}
|
||||
updateSelectionCallback={jest.fn()}
|
||||
toggleExpanded={jest.fn()}
|
||||
{...props}
|
||||
/>,
|
||||
);
|
||||
};
|
||||
|
||||
it("renders shortest path badge", () => {
|
||||
render();
|
||||
|
||||
expect(screen.getByTitle("Shortest path")).toHaveTextContent("3");
|
||||
});
|
||||
});
|
|
@ -1,5 +1,5 @@
|
|||
[
|
||||
"v2.18.1",
|
||||
"v2.18.2",
|
||||
"v2.17.6",
|
||||
"v2.16.6",
|
||||
"v2.15.5",
|
||||
|
|
|
@ -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" },
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
}
|
Загрузка…
Ссылка в новой задаче