From 51fe5c3f6d3b1c6f4a621626cb0d5fa9cc4b0ebc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Jan 2026 13:13:01 +0000 Subject: [PATCH 1/7] Bump the storybook group in /extensions/ql-vscode with 7 updates Bumps the storybook group in /extensions/ql-vscode with 7 updates: | Package | From | To | | --- | --- | --- | | [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `9.1.17` | `10.2.1` | | [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/docs) | `9.1.17` | `10.2.1` | | [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `9.1.17` | `10.2.1` | | [@storybook/icons](https://github.com/storybookjs/icons) | `1.6.0` | `2.0.1` | | [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `9.1.17` | `10.2.1` | | [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `9.1.17` | `10.2.1` | | [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/core) | `9.1.17` | `10.2.1` | Updates `@storybook/addon-a11y` from 9.1.17 to 10.2.1 - [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/v10.2.1/code/addons/a11y) Updates `@storybook/addon-docs` from 9.1.17 to 10.2.1 - [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/v10.2.1/code/addons/docs) Updates `@storybook/addon-links` from 9.1.17 to 10.2.1 - [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/v10.2.1/code/addons/links) Updates `@storybook/icons` from 1.6.0 to 2.0.1 - [Release notes](https://github.com/storybookjs/icons/releases) - [Changelog](https://github.com/storybookjs/icons/blob/main/CHANGELOG.md) - [Commits](https://github.com/storybookjs/icons/compare/v1.6.0...v2.0.1) Updates `@storybook/react` from 9.1.17 to 10.2.1 - [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/v10.2.1/code/renderers/react) Updates `@storybook/react-vite` from 9.1.17 to 10.2.1 - [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/v10.2.1/code/frameworks/react-vite) Updates `storybook` from 9.1.17 to 10.2.1 - [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/v10.2.1/code/core) --- updated-dependencies: - dependency-name: "@storybook/addon-a11y" dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: storybook - dependency-name: "@storybook/addon-docs" dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: storybook - dependency-name: "@storybook/addon-links" dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: storybook - dependency-name: "@storybook/icons" dependency-version: 2.0.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: storybook - dependency-name: "@storybook/react" dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: storybook - dependency-name: "@storybook/react-vite" dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: storybook - dependency-name: storybook dependency-version: 10.2.1 dependency-type: direct:development update-type: version-update:semver-major dependency-group: storybook ... Signed-off-by: dependabot[bot] --- extensions/ql-vscode/package-lock.json | 671 +++++++++++-------------- extensions/ql-vscode/package.json | 14 +- 2 files changed, 309 insertions(+), 376 deletions(-) diff --git a/extensions/ql-vscode/package-lock.json b/extensions/ql-vscode/package-lock.json index a3a70c01bb9..9200c4b1581 100644 --- a/extensions/ql-vscode/package-lock.json +++ b/extensions/ql-vscode/package-lock.json @@ -59,13 +59,13 @@ "@jest/environment-jsdom-abstract": "^30.2.0", "@microsoft/eslint-formatter-sarif": "^3.1.0", "@playwright/test": "^1.57.0", - "@storybook/addon-a11y": "^9.1.6", - "@storybook/addon-docs": "^9.1.17", - "@storybook/addon-links": "^9.1.6", + "@storybook/addon-a11y": "^10.2.1", + "@storybook/addon-docs": "^10.2.1", + "@storybook/addon-links": "^10.2.1", "@storybook/csf": "^0.1.13", - "@storybook/icons": "^1.6.0", - "@storybook/react": "^9.1.6", - "@storybook/react-vite": "^9.1.6", + "@storybook/icons": "^2.0.1", + "@storybook/react": "^10.2.1", + "@storybook/react-vite": "^10.2.1", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", @@ -125,7 +125,7 @@ "npm-run-all": "^4.1.5", "patch-package": "^8.0.1", "prettier": "^3.6.1", - "storybook": "^9.1.6", + "storybook": "^10.2.1", "tar-stream": "^3.1.7", "through2": "^4.0.2", "ts-jest": "^29.4.6", @@ -5292,14 +5292,13 @@ } }, "node_modules/@joshwooding/vite-plugin-react-docgen-typescript": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.6.1.tgz", - "integrity": "sha512-J4BaTocTOYFkMHIra1JDWrMWpNmBl4EkplIwHEsV8aeUOtdWjwSnln9U7twjMFTAEB7mptNtSKyVi1Y2W9sDJw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@joshwooding/vite-plugin-react-docgen-typescript/-/vite-plugin-react-docgen-typescript-0.6.3.tgz", + "integrity": "sha512-9TGZuAX+liGkNKkwuo3FYJu7gHWT0vkBcf7GkOe7s7fmC19XwH/4u5u7sDIFrMooe558ORcmuBvBz7Ur5PlbHw==", "dev": true, "license": "MIT", "dependencies": { - "glob": "^10.0.0", - "magic-string": "^0.30.0", + "glob": "^11.1.0", "react-docgen-typescript": "^2.2.2" }, "peerDependencies": { @@ -5312,93 +5311,6 @@ } } }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/glob": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@joshwooding/vite-plugin-react-docgen-typescript/node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.12", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz", @@ -5410,6 +5322,17 @@ "@jridgewell/trace-mapping": "^0.3.24" } }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", @@ -7027,9 +6950,9 @@ } }, "node_modules/@storybook/addon-a11y": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-9.1.17.tgz", - "integrity": "sha512-xP2Nb+idph2r0wE2Lc3z7LjtyXxTS+U+mJWmS8hw5w0oU2TkVdV7Ew/V7/iNl5jIWMXIp9HCRmcJuKSSGuertA==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-10.2.1.tgz", + "integrity": "sha512-2oVKs3gDveVYcAzcB/Ik6AQcNvZ+cmvJQxwf6GO7dNJ81uIwSsVS4JFyxt9KFCKVn3uR00OGwOtEmyMEtsTvDw==", "dev": true, "license": "MIT", "dependencies": { @@ -7041,20 +6964,20 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^9.1.17" + "storybook": "^10.2.1" } }, "node_modules/@storybook/addon-docs": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-9.1.17.tgz", - "integrity": "sha512-yc4hlgkrwNi045qk210dRuIMijkgbLmo3ft6F4lOdpPRn4IUnPDj7FfZR8syGzUzKidxRfNtLx5m0yHIz83xtA==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-10.2.1.tgz", + "integrity": "sha512-7imMi6YRO4j00DGC27Z2niXUUaIVcVUGkPK3X6hCrl/QkD2aO8yO1kRaJpQEnrCxl/uRMfsh7wyt0xFsGA35FQ==", "dev": true, "license": "MIT", "dependencies": { "@mdx-js/react": "^3.0.0", - "@storybook/csf-plugin": "9.1.17", - "@storybook/icons": "^1.4.0", - "@storybook/react-dom-shim": "9.1.17", + "@storybook/csf-plugin": "10.2.1", + "@storybook/icons": "^2.0.1", + "@storybook/react-dom-shim": "10.2.1", "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", "ts-dedent": "^2.0.0" @@ -7064,13 +6987,13 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^9.1.17" + "storybook": "^10.2.1" } }, "node_modules/@storybook/addon-links": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-9.1.17.tgz", - "integrity": "sha512-LqtrDXRJrdMfZJ0om38SjmY2lQUGmpL8Zt2xTZtQjUy1V+ZiQpuUx7+TJZIOWujzRp75fxhM4AB0HuLDsemlcA==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-10.2.1.tgz", + "integrity": "sha512-RW00NsFbIiAnZDB56JJMxhFYnD5GLdfTXUdBGLH6F2DCGkXJn2eKisGCDjgqSZaR75yeTVm3HONOuuNpePrQwg==", "dev": true, "license": "MIT", "dependencies": { @@ -7081,8 +7004,8 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", - "storybook": "^9.1.17" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "storybook": "^10.2.1" }, "peerDependenciesMeta": { "react": { @@ -7091,13 +7014,13 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-9.1.17.tgz", - "integrity": "sha512-OQCYaFWoTBvovN2IJmkAW+7FgHMJiih1WA/xqgpKIx0ImZjB4z5FrKgzQeXsrYcLEsynyaj+xN3JFUKsz5bzGQ==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-10.2.1.tgz", + "integrity": "sha512-6FGvq956qe4xzq9JDkoTJXSrlps8mBVPIikk83v1u+g4x7f+F/x2arNVB/ox/JtbOg5NmDatRSHTK70SukpkKg==", "dev": true, "license": "MIT", "dependencies": { - "@storybook/csf-plugin": "9.1.17", + "@storybook/csf-plugin": "10.2.1", "ts-dedent": "^2.0.0" }, "funding": { @@ -7105,7 +7028,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^9.1.17", + "storybook": "^10.2.1", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" } }, @@ -7120,20 +7043,38 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-9.1.17.tgz", - "integrity": "sha512-o+ebQDdSfZHDRDhu2hNDGhCLIazEB4vEAqJcHgz1VsURq+l++bgZUcKojPMCAbeblptSEz2bwS0eYAOvG7aSXg==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-10.2.1.tgz", + "integrity": "sha512-x21uUsBJ71F83fH/dlSPoZ1g2RnEyXiQunCGWLDfOntVKAk8ezCF09am4b8f+evq+uq9prR9BsgFh3+tAdyFvg==", "dev": true, "license": "MIT", "dependencies": { - "unplugin": "^1.3.1" + "unplugin": "^2.3.5" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "storybook": "^9.1.17" + "esbuild": "*", + "rollup": "*", + "storybook": "^10.2.1", + "vite": "*", + "webpack": "*" + }, + "peerDependenciesMeta": { + "esbuild": { + "optional": true + }, + "rollup": { + "optional": true + }, + "vite": { + "optional": true + }, + "webpack": { + "optional": true + } } }, "node_modules/@storybook/global": { @@ -7143,40 +7084,35 @@ "dev": true }, "node_modules/@storybook/icons": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.6.0.tgz", - "integrity": "sha512-hcFZIjW8yQz8O8//2WTIXylm5Xsgc+lW9ISLgUk1xGmptIJQRdlhVIXCpSyLrQaaRiyhQRaVg7l3BD9S216BHw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-2.0.1.tgz", + "integrity": "sha512-/smVjw88yK3CKsiuR71vNgWQ9+NuY2L+e8X7IMrFjexjm6ZR8ULrV2DRkTA61aV6ryefslzHEGDInGpnNeIocg==", "dev": true, "license": "MIT", - "engines": { - "node": ">=14.0.0" - }, "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" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/@storybook/react": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-9.1.17.tgz", - "integrity": "sha512-TZCplpep5BwjHPIIcUOMHebc/2qKadJHYPisRn5Wppl014qgT3XkFLpYkFgY1BaRXtqw8Mn3gqq4M/49rQ7Iww==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-10.2.1.tgz", + "integrity": "sha512-drs4btT34sgbXWnVgXTHJvAsPvnAYihgeOWW2BWATldAm2gXeopeSHnXMDMSLS/2bMtC3ALOZjzCHVaoL9ku3A==", "dev": true, "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", - "@storybook/react-dom-shim": "9.1.17" - }, - "engines": { - "node": ">=20.0.0" + "@storybook/react-dom-shim": "10.2.1", + "react-docgen": "^8.0.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "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": "^9.1.17", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "storybook": "^10.2.1", "typescript": ">= 4.9.x" }, "peerDependenciesMeta": { @@ -7186,9 +7122,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-9.1.17.tgz", - "integrity": "sha512-Ss/lNvAy0Ziynu+KniQIByiNuyPz3dq7tD62hqSC/pHw190X+M7TKU3zcZvXhx2AQx1BYyxtdSHIZapb+P5mxQ==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-10.2.1.tgz", + "integrity": "sha512-YN4WExJGm9erWgRfrKKHUzXn4SUja6h7OR4rxlaBOGDWHIiD+8i3yfNnPOYh1DaATa2w/6e84IAKJQdkvAUxfA==", "dev": true, "license": "MIT", "funding": { @@ -7196,118 +7132,39 @@ "url": "https://opencollective.com/storybook" }, "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": "^9.1.17" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "storybook": "^10.2.1" } }, "node_modules/@storybook/react-vite": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-9.1.17.tgz", - "integrity": "sha512-RZHsqD1mnTMo4MCJw68t3swS5BTMSTpeRhlelMwjoTEe7jJCPa+qx00uMlWliR1QBN1hMO8Y1dkchxSiUS9otA==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-10.2.1.tgz", + "integrity": "sha512-LHAGqaEVvbYNV9+LEPdsYS+r+rbJGE16TNz2ZQJEHXaSVYrTdMirvsALwB+FxaRH5HCMkUkinLjj/vQZRQzvNg==", "dev": true, "license": "MIT", "dependencies": { - "@joshwooding/vite-plugin-react-docgen-typescript": "0.6.1", + "@joshwooding/vite-plugin-react-docgen-typescript": "^0.6.3", "@rollup/pluginutils": "^5.0.2", - "@storybook/builder-vite": "9.1.17", - "@storybook/react": "9.1.17", - "find-up": "^7.0.0", + "@storybook/builder-vite": "10.2.1", + "@storybook/react": "10.2.1", + "empathic": "^2.0.0", "magic-string": "^0.30.0", "react-docgen": "^8.0.0", "resolve": "^1.22.8", "tsconfig-paths": "^4.2.0" }, - "engines": { - "node": ">=20.0.0" - }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "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": "^9.1.17", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "storybook": "^10.2.1", "vite": "^5.0.0 || ^6.0.0 || ^7.0.0" } }, - "node_modules/@storybook/react-vite/node_modules/find-up": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", - "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^7.2.0", - "path-exists": "^5.0.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@storybook/react-vite/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@storybook/react-vite/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@storybook/react-vite/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@storybook/react-vite/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/@storybook/react-vite/node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -7331,19 +7188,6 @@ "node": ">=6" } }, - "node_modules/@storybook/react-vite/node_modules/yocto-queue": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz", - "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@testing-library/dom": { "version": "10.4.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", @@ -9286,66 +9130,6 @@ "win32" ] }, - "node_modules/@vitest/mocker": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/spy": "3.2.4", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" - }, - "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { - "optional": true - } - } - }, - "node_modules/@vitest/mocker/node_modules/@vitest/spy": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^4.0.3" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/mocker/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/@vitest/mocker/node_modules/tinyspy": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.4.tgz", - "integrity": "sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/@vscode-elements/elements": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/@vscode-elements/elements/-/elements-1.14.0.tgz", @@ -10484,37 +10268,6 @@ "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", "license": "Apache-2.0" }, - "node_modules/better-opn": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", - "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "open": "^8.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/better-opn/node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bidi-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", @@ -10716,6 +10469,22 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -12186,6 +11955,36 @@ "node": ">=0.10.0" } }, + "node_modules/default-browser": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz", + "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -12550,6 +12349,16 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, + "node_modules/empathic": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/empathic/-/empathic-2.0.0.tgz", + "integrity": "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", @@ -12849,19 +12658,6 @@ "@esbuild/win32-x64": "0.25.12" } }, - "node_modules/esbuild-register": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.6.0.tgz", - "integrity": "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, - "peerDependencies": { - "esbuild": ">=0.12 <1" - } - }, "node_modules/esbuild/node_modules/@esbuild/openharmony-arm64": { "version": "0.25.12", "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", @@ -15928,6 +15724,41 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -24112,6 +23943,19 @@ "dev": true, "license": "MIT" }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -24738,27 +24582,27 @@ } }, "node_modules/storybook": { - "version": "9.1.17", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-9.1.17.tgz", - "integrity": "sha512-kfr6kxQAjA96ADlH6FMALJwJ+eM80UqXy106yVHNgdsAP/CdzkkicglRAhZAvUycXK9AeadF6KZ00CWLtVMN4w==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-10.2.1.tgz", + "integrity": "sha512-hgiiwT4ZWJ/yrRpoXnHpCzWOsUvLUwQqgM/ws6mCIDsKJ7Gc7irL6DjWpi8G7l1Uq5VXYsQjXQo5ydb8Pyajdg==", "dev": true, "license": "MIT", "dependencies": { "@storybook/global": "^5.0.0", + "@storybook/icons": "^2.0.1", "@testing-library/jest-dom": "^6.6.3", "@testing-library/user-event": "^14.6.1", "@vitest/expect": "3.2.4", - "@vitest/mocker": "3.2.4", "@vitest/spy": "3.2.4", - "better-opn": "^3.0.2", - "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0", - "esbuild-register": "^3.5.0", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0 || ^0.21.0 || ^0.22.0 || ^0.23.0 || ^0.24.0 || ^0.25.0 || ^0.26.0 || ^0.27.0", + "open": "^10.2.0", "recast": "^0.23.5", - "semver": "^7.6.2", + "semver": "^7.7.3", + "use-sync-external-store": "^1.5.0", "ws": "^8.18.0" }, "bin": { - "storybook": "bin/index.cjs" + "storybook": "dist/bin/dispatcher.js" }, "funding": { "type": "opencollective", @@ -24831,6 +24675,38 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/storybook/node_modules/define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/storybook/node_modules/open": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/storybook/node_modules/tinyrainbow": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", @@ -26865,17 +26741,32 @@ } }, "node_modules/unplugin": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.16.1.tgz", - "integrity": "sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==", + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", + "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", "dev": true, "license": "MIT", "dependencies": { - "acorn": "^8.14.0", + "@jridgewell/remapping": "^2.3.5", + "acorn": "^8.15.0", + "picomatch": "^4.0.3", "webpack-virtual-modules": "^0.6.2" }, "engines": { - "node": ">=14.0.0" + "node": ">=18.12.0" + } + }, + "node_modules/unplugin/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/unrs-resolver": { @@ -26967,6 +26858,16 @@ "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/utf8": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/utf8/-/utf8-3.0.0.tgz", @@ -28264,6 +28165,38 @@ } } }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wsl-utils/node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/xml-name-validator": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index 6583ed63820..96cd55571cb 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -2110,13 +2110,13 @@ "@jest/environment-jsdom-abstract": "^30.2.0", "@microsoft/eslint-formatter-sarif": "^3.1.0", "@playwright/test": "^1.57.0", - "@storybook/addon-a11y": "^9.1.6", - "@storybook/addon-docs": "^9.1.17", - "@storybook/addon-links": "^9.1.6", + "@storybook/addon-a11y": "^10.2.1", + "@storybook/addon-docs": "^10.2.1", + "@storybook/addon-links": "^10.2.1", "@storybook/csf": "^0.1.13", - "@storybook/icons": "^1.6.0", - "@storybook/react": "^9.1.6", - "@storybook/react-vite": "^9.1.6", + "@storybook/icons": "^2.0.1", + "@storybook/react": "^10.2.1", + "@storybook/react-vite": "^10.2.1", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", @@ -2176,7 +2176,7 @@ "npm-run-all": "^4.1.5", "patch-package": "^8.0.1", "prettier": "^3.6.1", - "storybook": "^9.1.6", + "storybook": "^10.2.1", "tar-stream": "^3.1.7", "through2": "^4.0.2", "ts-jest": "^29.4.6", From beded4bf5da0d954253ecea2eada949f0dbdb7d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Mon, 2 Feb 2026 12:14:40 +0100 Subject: [PATCH 2/7] Fix TypeScript config for Storybook 10.x compatibility This commit updates TypeScript compiler options in Storybook-related configuration files to support Storybook 10.x's module resolution requirements. Problem: Storybook 10.x changed its package structure to use subpath exports (e.g., 'storybook/manager-api', 'storybook/theming'). These subpath exports require modern TypeScript module resolution strategies to work correctly. The legacy 'node' module resolution strategy doesn't understand package.json 'exports' fields, causing TypeScript to fail resolving Storybook imports. Changes: - Changed moduleResolution from 'node' to 'bundler' in both .storybook/tsconfig.json and src/stories/tsconfig.json - Added 'allowImportingTsExtensions: true' to support TypeScript extension imports in bundler mode - Added 'noEmit: true' since these configs are for type-checking only, not compilation This fixes the underlying module resolution issues that were causing ESLint's TypeScript parser to fail during the lint-ci step. Files modified: - extensions/ql-vscode/.storybook/tsconfig.json - extensions/ql-vscode/src/stories/tsconfig.json --- extensions/ql-vscode/.storybook/tsconfig.json | 6 ++++-- extensions/ql-vscode/src/stories/tsconfig.json | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/extensions/ql-vscode/.storybook/tsconfig.json b/extensions/ql-vscode/.storybook/tsconfig.json index defe43edce5..6d40b4bf367 100644 --- a/extensions/ql-vscode/.storybook/tsconfig.json +++ b/extensions/ql-vscode/.storybook/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", "target": "es2021", "outDir": "out", "lib": ["ES2021", "dom"], @@ -13,7 +13,9 @@ "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "experimentalDecorators": true, - "skipLibCheck": true + "skipLibCheck": true, + "allowImportingTsExtensions": true, + "noEmit": true }, "exclude": ["node_modules"] } diff --git a/extensions/ql-vscode/src/stories/tsconfig.json b/extensions/ql-vscode/src/stories/tsconfig.json index 498d867b626..e4176d4461a 100644 --- a/extensions/ql-vscode/src/stories/tsconfig.json +++ b/extensions/ql-vscode/src/stories/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "module": "esnext", - "moduleResolution": "node", + "moduleResolution": "bundler", "target": "es2021", "outDir": "out", "lib": ["ES2021", "dom"], @@ -14,7 +14,9 @@ "noFallthroughCasesInSwitch": true, "experimentalDecorators": true, "resolveJsonModule": true, - "skipLibCheck": true + "skipLibCheck": true, + "allowImportingTsExtensions": true, + "noEmit": true }, "exclude": ["node_modules"] } From 911f8800bb41c95f4ee1c364e6b289daa1dc8aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Mon, 2 Feb 2026 12:14:58 +0100 Subject: [PATCH 3/7] Fix redundant await in Promise.all in ast-builder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit removes redundant 'await' keywords inside a Promise.all() call that were causing ESLint errors. Problem: ESLint rule '@typescript-eslint/await-thenable' detected that the code was using 'await' on expressions that were already being passed to Promise.all(). This is redundant and incorrect: await Promise.all([ await this.cli.bqrsDecode(...), // ❌ redundant await await this.cli.bqrsDecode(...), // ❌ redundant await await this.cli.bqrsDecode(...), // ❌ redundant await ]); The 'await' inside the array causes each promise to be awaited sequentially before being added to the array, defeating the purpose of Promise.all() which is to run them in parallel. ESLint's stricter type checking (enabled by the Storybook 10 upgrade) now catches this. Solution: Remove the redundant 'await' keywords inside the Promise.all() array. The outer 'await Promise.all(...)' is sufficient: await Promise.all([ this.cli.bqrsDecode(...), // ✓ returns Promise this.cli.bqrsDecode(...), // ✓ returns Promise this.cli.bqrsDecode(...), // ✓ returns Promise ]); This fixes 3 ESLint errors: src/language-support/ast-viewer/ast-builder.ts:36:7 src/language-support/ast-viewer/ast-builder.ts:37:7 src/language-support/ast-viewer/ast-builder.ts:38:7 File modified: - extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts --- .../src/language-support/ast-viewer/ast-builder.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts b/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts index a8fd32a3276..970d1f61a26 100644 --- a/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts +++ b/extensions/ql-vscode/src/language-support/ast-viewer/ast-builder.ts @@ -33,9 +33,9 @@ export class AstBuilder { private async parseRoots(): Promise { const options = { entities: ["id", "url", "string"] }; const [nodeTuples, edgeTuples, graphProperties] = await Promise.all([ - await this.cli.bqrsDecode(this.bqrsPath, "nodes", options), - await this.cli.bqrsDecode(this.bqrsPath, "edges", options), - await this.cli.bqrsDecode(this.bqrsPath, "graphProperties", options), + this.cli.bqrsDecode(this.bqrsPath, "nodes", options), + this.cli.bqrsDecode(this.bqrsPath, "edges", options), + this.cli.bqrsDecode(this.bqrsPath, "graphProperties", options), ]); if (!this.isValidGraph(graphProperties)) { From b6a6d27d4496866e173f264feaac9850a6a71994 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Mon, 2 Feb 2026 12:15:27 +0100 Subject: [PATCH 4/7] Fix non-Promise values in Promise.all in extension.ts This commit fixes incorrect usage of Promise.all() where non-Promise values were being passed, causing ESLint errors. Problem: The restartQueryServer command was passing an array to Promise.all() containing: 1. A Promise (queryRunner.restartQueryServer) 2. Either a Promise or an empty object {} (conditional expression) 3. An async function (not invoked, so not a Promise) ESLint rule '@typescript-eslint/await-thenable' detected this error: src/extension.ts:200:11 Unexpected iterable of non-Promise (non-"Thenable") values passed to promise aggregator The issues were: - Line 199: Using `{}` as a fallback instead of a resolved Promise - Line 200: Declaring an async function but not invoking it (missing the `()` to actually call the function and get its Promise) Solution: 1. Replace `{}` with `Promise.resolve()` to maintain type consistency 2. Wrap the async function in an IIFE (Immediately Invoked Function Expression) by adding `()` at the end: `(async () => { ... })()` This ensures Promise.all() receives an array of actual Promise objects, allowing it to properly await all operations in parallel. File modified: - extensions/ql-vscode/src/extension.ts --- extensions/ql-vscode/src/extension.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extensions/ql-vscode/src/extension.ts b/extensions/ql-vscode/src/extension.ts index b92cb25a4dd..cda8a62e0f9 100644 --- a/extensions/ql-vscode/src/extension.ts +++ b/extensions/ql-vscode/src/extension.ts @@ -196,14 +196,14 @@ function getCommands( queryRunner.restartQueryServer(progress), queryRunnerForWarmingOverlayBaseCache ? queryRunnerForWarmingOverlayBaseCache.restartQueryServer(progress) - : {}, - async () => { + : Promise.resolve(), + (async () => { if (languageClient.isRunning()) { await languageClient.restart(); } else { await languageClient.start(); } - }, + })(), ]); void showAndLogInformationMessage( queryServerLogger, From 8793d0baae8bafe5d864da77bc3167ed88c33718 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Mon, 2 Feb 2026 12:15:56 +0100 Subject: [PATCH 5/7] Fix event handler type and Promise handling in query-server-client This commit fixes incorrect type signatures and Promise handling for query server event handlers that were causing ESLint errors. Problem: The queryServerStartListeners were typed to return 'void', but actual usage in the codebase shows they can be async functions returning 'Promise'. This mismatch caused two issues: 1. Type mismatch: The onStart() method in query-runner.ts accepts callbacks typed as '(progress) => Promise', but the listener registration was typed as '(progress) => void' 2. ESLint error at line 163: When calling Promise.all() on the array of handler results, ESLint detected that handlers might return void instead of Promise, triggering '@typescript-eslint/await-thenable': 'Unexpected iterable of non-Promise values passed to promise aggregator' Solution: 1. Update type signatures to allow both synchronous (void) and asynchronous (Promise) handlers: - Changed listener array type from '() => void' to '() => void | Promise' - Updated onDidStartQueryServer parameter type to match 2. Wrap handler invocations in Promise.resolve() to ensure they always return a Promise, regardless of whether the handler is sync or async: - Changed: handler(progress) - To: Promise.resolve(handler(progress)) This makes Promise.all() safe to use with mixed sync/async handlers while maintaining backward compatibility with existing code. File modified: - extensions/ql-vscode/src/query-server/query-server-client.ts --- .../ql-vscode/src/query-server/query-server-client.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/extensions/ql-vscode/src/query-server/query-server-client.ts b/extensions/ql-vscode/src/query-server/query-server-client.ts index b7134d2f481..ad214b52649 100644 --- a/extensions/ql-vscode/src/query-server/query-server-client.ts +++ b/extensions/ql-vscode/src/query-server/query-server-client.ts @@ -52,14 +52,14 @@ export class QueryServerClient extends DisposableObject { withProgressReporting: WithProgressReporting; private readonly queryServerStartListeners = [] as Array< - (progress: ProgressCallback) => void + (progress: ProgressCallback) => void | Promise >; // Can't use standard vscode EventEmitter here since they do not cause the calling // function to fail if one of the event handlers fail. This is something that // we need here. readonly onDidStartQueryServer = ( - e: (progress: ProgressCallback) => void, + e: (progress: ProgressCallback) => void | Promise, ) => { this.queryServerStartListeners.push(e); }; @@ -160,7 +160,9 @@ export class QueryServerClient extends DisposableObject { // Ensure we await all responses from event handlers so that // errors can be properly reported to the user. await Promise.all( - this.queryServerStartListeners.map((handler) => handler(progress)), + this.queryServerStartListeners.map((handler) => + Promise.resolve(handler(progress)), + ), ); } From ee33e31876370c9c204313520b7f019866aa897f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Mon, 2 Feb 2026 12:16:23 +0100 Subject: [PATCH 6/7] Fix mixed undefined/Promise values in Promise.all in updates.ts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit fixes incorrect usage of Promise.all() where the mapped array could contain undefined values mixed with Promises, causing ESLint errors. Problem: The downloadDatabaseUpdateFromGitHub function was passing an array to Promise.all() where map callbacks could return either: - undefined (when no update is found for a database) - A Promise (from the withProgress call) ESLint rule '@typescript-eslint/await-thenable' detected this error at line 172: 'Unexpected iterable of non-Promise (non-"Thenable") values passed to promise aggregator' The code pattern was: await Promise.all( selectedDatabases.map((database) => { const update = updates.find(...); return; // ❌ returns undefined } return withProgress(...); // ✓ returns Promise }) ); This creates an array like [Promise, undefined, Promise, undefined] which violates Promise.all()'s type contract expecting all Promises. Solution: 1. Change early return from 'return;' to 'return undefined;' for explicit clarity 2. Filter out undefined values before passing to Promise.all() using a type guard: .filter((p): p is Promise => p !== undefined) This ensures Promise.all() receives only actual Promise objects while maintaining the same runtime behavior (skipping databases without updates). File modified: - extensions/ql-vscode/src/databases/github-databases/updates.ts --- .../src/databases/github-databases/updates.ts | 78 ++++++++++--------- 1 file changed, 40 insertions(+), 38 deletions(-) diff --git a/extensions/ql-vscode/src/databases/github-databases/updates.ts b/extensions/ql-vscode/src/databases/github-databases/updates.ts index 5b589649fea..2561f680db0 100644 --- a/extensions/ql-vscode/src/databases/github-databases/updates.ts +++ b/extensions/ql-vscode/src/databases/github-databases/updates.ts @@ -169,46 +169,48 @@ export async function downloadDatabaseUpdateFromGitHub( } await Promise.all( - selectedDatabases.map((database) => { - const update = updates.find((update) => update.database === database); - if (!update) { - return; - } + selectedDatabases + .map((database) => { + const update = updates.find((update) => update.database === database); + if (!update) { + return undefined; + } - return withProgress( - async (progress) => { - const newDatabase = - await databaseFetcher.downloadGitHubDatabaseFromUrl( - database.url, - database.id, - database.created_at, - database.commit_oid ?? null, - owner, - repo, - octokit, - progress, - databaseManager.currentDatabaseItem === update.databaseItem, - update.databaseItem.hasSourceArchiveInExplorer(), + return withProgress( + async (progress) => { + const newDatabase = + await databaseFetcher.downloadGitHubDatabaseFromUrl( + database.url, + database.id, + database.created_at, + database.commit_oid ?? null, + owner, + repo, + octokit, + progress, + databaseManager.currentDatabaseItem === update.databaseItem, + update.databaseItem.hasSourceArchiveInExplorer(), + ); + if (newDatabase === undefined) { + return; + } + + await databaseManager.removeDatabaseItem(update.databaseItem); + + await commandManager.execute("codeQLDatabases.focus"); + void window.showInformationMessage( + `Updated ${getLanguageDisplayName( + database.language, + )} database from GitHub.`, ); - if (newDatabase === undefined) { - return; - } - - await databaseManager.removeDatabaseItem(update.databaseItem); - - await commandManager.execute("codeQLDatabases.focus"); - void window.showInformationMessage( - `Updated ${getLanguageDisplayName( + }, + { + title: `Updating ${getLanguageDisplayName( database.language, - )} database from GitHub.`, - ); - }, - { - title: `Updating ${getLanguageDisplayName( - database.language, - )} database from GitHub`, - }, - ); - }), + )} database from GitHub`, + }, + ); + }) + .filter((p): p is Promise => p !== undefined), ); } From ad655c8c009761817a475f45226bd0f5fc90ee4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nora=20Dimitrijevi=C4=87?= Date: Tue, 3 Feb 2026 15:24:15 +0100 Subject: [PATCH 7/7] Fix TypeScript type errors for @vscode-elements API changes This commit fixes TypeScript type errors in view components caused by breaking changes in the @vscode-elements/react-elements library that was updated as part of the Storybook 10 upgrade. Problem: The @vscode-elements/react-elements library changed its event handler types and component prop APIs: 1. Event handlers now expect native DOM Event types (Event, InputEvent) instead of React's synthetic event types (ChangeEvent). The library uses Lit web components which emit native events, not React synthetic events. 2. VscodeButton's API changed from `appearance="primary"` to `secondary={false}` for primary button styling. 3. Component refs must use specific element types (HTMLDivElement) instead of generic HTMLElement | undefined. TypeScript Errors Fixed: - 11 event handler type mismatches where code used ChangeEvent or InputEvent when Event was expected - 1 VscodeButton prop error (appearance doesn't exist) - 4 ref type errors (HTMLElement | undefined vs HTMLDivElement) Changes by Category: Event Handler Fixes: - CodeFlowsDropdown.tsx: Changed ChangeEvent to Event - ModelTypeTextbox.tsx: Changed ChangeEvent to InputEvent - ModelAlertsSort.tsx: Changed InputEvent to Event - RepositoriesFilter.tsx: Changed InputEvent to Event - RepositoriesResultFormat.tsx: Changed InputEvent to Event - RepositoriesSort.tsx: Changed InputEvent to Event - RepoRow.tsx: Changed ChangeEvent to Event All event handlers now cast e.target to the appropriate element type (HTMLSelectElement, HTMLInputElement) to access properties like .value and .checked. Component API Fixes: - VariantAnalysisActions.tsx: Changed `appearance="primary"` to `secondary={false}` on VscodeButton Ref Type Fixes: - DataGrid.tsx: Changed DataGridRow and DataGridCell ref types from `React.Ref` to `React.Ref` - TextButton.tsx: Made $size prop optional in styled component - MethodRow.tsx: Changed ModelableMethodRow and UnmodelableMethodRow forwardRef types from `HTMLElement | undefined` to `HTMLDivElement`, and changed useRef from `useRef(undefined)` to `useRef(null)` These changes align the codebase with the updated @vscode-elements library APIs while maintaining the same runtime behavior. Files modified: - extensions/ql-vscode/src/view/common/CodePaths/CodeFlowsDropdown.tsx - extensions/ql-vscode/src/view/common/DataGrid.tsx - extensions/ql-vscode/src/view/common/TextButton.tsx - extensions/ql-vscode/src/view/model-alerts/ModelAlertsSort.tsx - extensions/ql-vscode/src/view/model-editor/MethodRow.tsx - extensions/ql-vscode/src/view/model-editor/ModelTypeTextbox.tsx - extensions/ql-vscode/src/view/variant-analysis/RepoRow.tsx - extensions/ql-vscode/src/view/variant-analysis/RepositoriesFilter.tsx - extensions/ql-vscode/src/view/variant-analysis/RepositoriesResultFormat.tsx - extensions/ql-vscode/src/view/variant-analysis/RepositoriesSort.tsx - extensions/ql-vscode/src/view/variant-analysis/VariantAnalysisActions.tsx --- .../common/CodePaths/CodeFlowsDropdown.tsx | 6 +- .../ql-vscode/src/view/common/DataGrid.tsx | 4 +- .../ql-vscode/src/view/common/TextButton.tsx | 2 +- .../src/view/model-alerts/ModelAlertsSort.tsx | 2 +- .../src/view/model-editor/MethodRow.tsx | 69 +++++++++---------- .../view/model-editor/ModelTypeTextbox.tsx | 5 +- .../src/view/variant-analysis/RepoRow.tsx | 8 +-- .../variant-analysis/RepositoriesFilter.tsx | 2 +- .../RepositoriesResultFormat.tsx | 2 +- .../variant-analysis/RepositoriesSort.tsx | 2 +- .../VariantAnalysisActions.tsx | 2 +- 11 files changed, 51 insertions(+), 53 deletions(-) diff --git a/extensions/ql-vscode/src/view/common/CodePaths/CodeFlowsDropdown.tsx b/extensions/ql-vscode/src/view/common/CodePaths/CodeFlowsDropdown.tsx index cc232060f0a..12af1de42d2 100644 --- a/extensions/ql-vscode/src/view/common/CodePaths/CodeFlowsDropdown.tsx +++ b/extensions/ql-vscode/src/view/common/CodePaths/CodeFlowsDropdown.tsx @@ -1,4 +1,4 @@ -import type { ChangeEvent, SetStateAction } from "react"; +import type { SetStateAction } from "react"; import { useCallback } from "react"; import { VscodeOption, @@ -25,8 +25,8 @@ export const CodeFlowsDropdown = ({ setSelectedCodeFlow, }: CodeFlowsDropdownProps) => { const handleChange = useCallback( - (e: ChangeEvent) => { - const selectedOption = e.target; + (e: Event) => { + const selectedOption = e.target as HTMLSelectElement; const selectedIndex = parseInt(selectedOption.value); setSelectedCodeFlow(codeFlows[selectedIndex]); }, diff --git a/extensions/ql-vscode/src/view/common/DataGrid.tsx b/extensions/ql-vscode/src/view/common/DataGrid.tsx index a8bce90b0a3..2dc3bfa95ad 100644 --- a/extensions/ql-vscode/src/view/common/DataGrid.tsx +++ b/extensions/ql-vscode/src/view/common/DataGrid.tsx @@ -83,7 +83,7 @@ export const DataGridRow = forwardRef( "data-testid": testId, onClick, }: DataGridRowProps, - ref?: React.Ref, + ref?: React.Ref, ) => ( , + ref?: React.Ref, ) => { return ( ` +const StyledButton = styled.button<{ $size?: Size }>` background: none; color: var(--vscode-textLink-foreground); border: none; diff --git a/extensions/ql-vscode/src/view/model-alerts/ModelAlertsSort.tsx b/extensions/ql-vscode/src/view/model-alerts/ModelAlertsSort.tsx index e5d4e9f2eb6..c2053575587 100644 --- a/extensions/ql-vscode/src/view/model-alerts/ModelAlertsSort.tsx +++ b/extensions/ql-vscode/src/view/model-alerts/ModelAlertsSort.tsx @@ -20,7 +20,7 @@ type Props = { export const ModelAlertsSort = ({ value, onChange, className }: Props) => { const handleInput = useCallback( - (e: InputEvent) => { + (e: Event) => { const target = e.target as HTMLSelectElement; onChange(target.value as SortKey); diff --git a/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx b/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx index 03a1abdd44c..c3c6b646f79 100644 --- a/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx +++ b/extensions/ql-vscode/src/view/model-editor/MethodRow.tsx @@ -85,7 +85,7 @@ export type MethodRowProps = { export const MethodRow = (props: MethodRowProps) => { const { method, methodCanBeModeled, revealedMethodSignature } = props; - const ref = useRef(undefined); + const ref = useRef(null); useEffect(() => { if (method.signature === revealedMethodSignature) { @@ -103,7 +103,7 @@ export const MethodRow = (props: MethodRowProps) => { } }; -const ModelableMethodRow = forwardRef( +const ModelableMethodRow = forwardRef( (props: MethodRowProps, ref) => { const { method, @@ -359,39 +359,38 @@ const ModelableMethodRow = forwardRef( ); ModelableMethodRow.displayName = "ModelableMethodRow"; -const UnmodelableMethodRow = forwardRef< - HTMLElement | undefined, - MethodRowProps ->((props: MethodRowProps, ref) => { - const { method, viewState, revealedMethodSignature } = props; - - const jumpToMethod = useCallback( - () => sendJumpToMethodMessage(method), - [method], - ); - - return ( - - - - - - - {viewState.mode === Mode.Application && ( - - {method.usages.length} - - )} - View - - - Method already modeled - - ); -}); +const UnmodelableMethodRow = forwardRef( + (props: MethodRowProps, ref) => { + const { method, viewState, revealedMethodSignature } = props; + + const jumpToMethod = useCallback( + () => sendJumpToMethodMessage(method), + [method], + ); + + return ( + + + + + + + {viewState.mode === Mode.Application && ( + + {method.usages.length} + + )} + View + + + Method already modeled + + ); + }, +); UnmodelableMethodRow.displayName = "UnmodelableMethodRow"; function sendJumpToMethodMessage(method: Method) { diff --git a/extensions/ql-vscode/src/view/model-editor/ModelTypeTextbox.tsx b/extensions/ql-vscode/src/view/model-editor/ModelTypeTextbox.tsx index 69f9a0829b9..e44336c6e1d 100644 --- a/extensions/ql-vscode/src/view/model-editor/ModelTypeTextbox.tsx +++ b/extensions/ql-vscode/src/view/model-editor/ModelTypeTextbox.tsx @@ -1,4 +1,3 @@ -import type { ChangeEvent } from "react"; import { useCallback, useEffect, useState } from "react"; import type { ModeledMethod, @@ -33,8 +32,8 @@ export const ModelTypeTextbox = ({ setValue(modeledMethod[typeInfo]); }, [modeledMethod, typeInfo]); - const handleChange = useCallback((e: ChangeEvent) => { - const target = e.target as HTMLSelectElement; + const handleChange = useCallback((e: InputEvent) => { + const target = e.target as HTMLInputElement; setValue(target.value); }, []); diff --git a/extensions/ql-vscode/src/view/variant-analysis/RepoRow.tsx b/extensions/ql-vscode/src/view/variant-analysis/RepoRow.tsx index 19edad08cc2..06fa7ec8705 100644 --- a/extensions/ql-vscode/src/view/variant-analysis/RepoRow.tsx +++ b/extensions/ql-vscode/src/view/variant-analysis/RepoRow.tsx @@ -1,4 +1,3 @@ -import type { ChangeEvent } from "react"; import { useCallback, useEffect, useState } from "react"; import { styled } from "styled-components"; import { VscodeCheckbox } from "@vscode-elements/react-elements"; @@ -229,9 +228,10 @@ export const RepoRow = ({ e.stopPropagation(); }, []); const onChangeCheckbox = useCallback( - (e: ChangeEvent) => { + (e: Event) => { + const target = e.target as HTMLInputElement; // This is called on first render, but we don't really care about this value - if (e.target.checked === undefined) { + if (target.checked === undefined) { return; } @@ -239,7 +239,7 @@ export const RepoRow = ({ return; } - onSelectedChange?.(repository.id, e.target.checked); + onSelectedChange?.(repository.id, target.checked); }, [onSelectedChange, repository], ); diff --git a/extensions/ql-vscode/src/view/variant-analysis/RepositoriesFilter.tsx b/extensions/ql-vscode/src/view/variant-analysis/RepositoriesFilter.tsx index 206b33586fb..8605296bcac 100644 --- a/extensions/ql-vscode/src/view/variant-analysis/RepositoriesFilter.tsx +++ b/extensions/ql-vscode/src/view/variant-analysis/RepositoriesFilter.tsx @@ -20,7 +20,7 @@ type Props = { export const RepositoriesFilter = ({ value, onChange, className }: Props) => { const handleInput = useCallback( - (e: InputEvent) => { + (e: Event) => { const target = e.target as HTMLSelectElement; onChange(target.value as FilterKey); diff --git a/extensions/ql-vscode/src/view/variant-analysis/RepositoriesResultFormat.tsx b/extensions/ql-vscode/src/view/variant-analysis/RepositoriesResultFormat.tsx index 380599017eb..cc7455bab25 100644 --- a/extensions/ql-vscode/src/view/variant-analysis/RepositoriesResultFormat.tsx +++ b/extensions/ql-vscode/src/view/variant-analysis/RepositoriesResultFormat.tsx @@ -24,7 +24,7 @@ export const RepositoriesResultFormat = ({ className, }: Props) => { const handleInput = useCallback( - (e: InputEvent) => { + (e: Event) => { const target = e.target as HTMLSelectElement; onChange(target.value as ResultFormat); diff --git a/extensions/ql-vscode/src/view/variant-analysis/RepositoriesSort.tsx b/extensions/ql-vscode/src/view/variant-analysis/RepositoriesSort.tsx index 96ec4c43dd4..b067b68d110 100644 --- a/extensions/ql-vscode/src/view/variant-analysis/RepositoriesSort.tsx +++ b/extensions/ql-vscode/src/view/variant-analysis/RepositoriesSort.tsx @@ -20,7 +20,7 @@ type Props = { export const RepositoriesSort = ({ value, onChange, className }: Props) => { const handleInput = useCallback( - (e: InputEvent) => { + (e: Event) => { const target = e.target as HTMLSelectElement; onChange(target.value as SortKey); diff --git a/extensions/ql-vscode/src/view/variant-analysis/VariantAnalysisActions.tsx b/extensions/ql-vscode/src/view/variant-analysis/VariantAnalysisActions.tsx index abec9443946..9dea1950a65 100644 --- a/extensions/ql-vscode/src/view/variant-analysis/VariantAnalysisActions.tsx +++ b/extensions/ql-vscode/src/view/variant-analysis/VariantAnalysisActions.tsx @@ -102,7 +102,7 @@ export const VariantAnalysisActions = ({ })}