Compare commits

..

1801 Commits

Author SHA1 Message Date
Michael Hohn
495b52661e add viewer configuration
Some checks failed
Run CLI tests / Find Nightly Release (push) Has been cancelled
Run CLI tests / Set Matrix for cli-test (push) Has been cancelled
Run CLI tests / CLI Test (push) Has been cancelled
Run CLI tests / Report failure on the default branch (push) Has been cancelled
Update Node version / Create PR (push) Has been cancelled
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
Bump CLI version / Build (push) Has been cancelled
Code Scanning - CodeQL / codeql (push) Has been cancelled
2025-08-19 11:24:15 -07:00
Michael Hohn
9a6aa52a40 fix: reconciled status names between server/agent/vscode-codeql
Some checks failed
Update Node version / Create PR (push) Has been cancelled
Run CLI tests / Find Nightly Release (push) Has been cancelled
Run CLI tests / Set Matrix for cli-test (push) Has been cancelled
Run CLI tests / CLI Test (push) Has been cancelled
Run CLI tests / Report failure on the default branch (push) Has been cancelled
Code Scanning - CodeQL / codeql (push) Has been cancelled
Bump CLI version / Build (push) Has been cancelled
2025-03-14 12:45:36 -07:00
Michael Hohn
c106903f01 wip: update settings, push new images 2025-02-20 10:30:22 -08:00
Nicolas Will
d40cda150c WIP: standalone MRVA 2024-07-01 18:20:23 +02:00
Nora
d4df484acb Merge pull request #3645 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-445e2aa325
Bump the storybook group in /extensions/ql-vscode with 12 updates
2024-06-21 09:26:31 +02:00
Nora
3e1d924110 Merge pull request #3646 from github/dependabot/npm_and_yarn/extensions/ql-vscode/testing-library-f694122557
Bump @testing-library/jest-dom from 6.4.5 to 6.4.6 in /extensions/ql-vscode in the testing-library group
2024-06-21 09:26:06 +02:00
dependabot[bot]
cc4666a614 Bump @testing-library/jest-dom
Bumps the testing-library group in /extensions/ql-vscode with 1 update: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom).


Updates `@testing-library/jest-dom` from 6.4.5 to 6.4.6
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.5...v6.4.6)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 13:19:50 +00:00
dependabot[bot]
51906bbcee Bump the storybook group in /extensions/ql-vscode with 12 updates
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.1.8` | `8.1.10` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.1.8` | `8.1.10` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.1.8` | `8.1.10` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.1.8` | `8.1.10` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.1.8` | `8.1.10` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.1.8` | `8.1.10` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.1.8` | `8.1.10` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.1.8` | `8.1.10` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.1.8` | `8.1.10` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.1.8` | `8.1.10` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.1.8` | `8.1.10` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.1.8` | `8.1.10` |


Updates `@storybook/addon-a11y` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/addons/interactions)

Updates `@storybook/addon-links` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/addons/links)

Updates `@storybook/blocks` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/ui/blocks)

Updates `@storybook/components` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/ui/components)

Updates `@storybook/manager-api` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/lib/manager-api)

Updates `@storybook/react` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/renderers/react)

Updates `@storybook/react-vite` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/lib/theming)

Updates `storybook` from 8.1.8 to 8.1.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.10/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 13:19:27 +00:00
Robert
fcfa6979e2 Merge pull request #3643 from github/robertbrignull/re-enable-short-paths
Re-enable windows 8.3 paths in tests
2024-06-19 10:20:24 +01:00
Andrew Eisenberg
f0783ed274 Merge pull request #3644 from github/dependabot/npm_and_yarn/extensions/ql-vscode/ws-8.17.1
Bump ws from 8.15.0 to 8.17.1 in /extensions/ql-vscode
2024-06-18 14:33:18 -07:00
dependabot[bot]
fe45e00fb3 Bump ws from 8.15.0 to 8.17.1 in /extensions/ql-vscode
Bumps [ws](https://github.com/websockets/ws) from 8.15.0 to 8.17.1.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.15.0...8.17.1)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 21:07:21 +00:00
Robert
4a317d33a9 Enable 8.3 paths in unit tests 2024-06-18 10:08:18 +00:00
Robert
ffc7135c1f Revert "Remove short-paths.test.ts"
This reverts commit 10f4b47019.
2024-06-18 09:31:33 +00:00
Nora
c805b48f18 Merge pull request #3640 from github/nora/update-pr-template
Update vscode-codeql PR template
2024-06-17 17:32:50 +02:00
Nora
e1b95c2f7c Merge pull request #3641 from github/nora/update-outdated-readme-links
Update outdated links in VS Code extension README
2024-06-17 16:54:07 +02:00
Nora
481d2f5404 Remove language preference
Co-authored-by: Charis Kyriakou <charisk@users.noreply.github.com>
2024-06-17 09:22:55 +02:00
Nora
15fa23acb4 Fix grammatical issue
Co-authored-by: Charis Kyriakou <charisk@users.noreply.github.com>
2024-06-17 09:22:27 +02:00
Nora
a625d9aabe Update old links 2024-06-14 15:11:47 +00:00
Nora
cd70b19bb3 Add changelog reminder to PR submit guidance 2024-06-14 14:52:58 +00:00
Nora
7a58084df9 Remove checklist but keep a note on the changelog 2024-06-14 14:50:18 +00:00
Nora
916d16126b Merge pull request #3633 from github/github-action/bump-node-version
Bump Node version to v20.9.0
2024-06-14 14:42:54 +02:00
Nora
a5eb915267 Merge pull request #3632 from github/dependabot/npm_and_yarn/extensions/ql-vscode/ts-unused-exports-10.1.0
Bump ts-unused-exports from 10.0.1 to 10.1.0 in /extensions/ql-vscode
2024-06-14 14:42:44 +02:00
dependabot[bot]
a5440ef482 Bump ts-unused-exports from 10.0.1 to 10.1.0 in /extensions/ql-vscode
Bumps [ts-unused-exports](https://github.com/pzavolinsky/ts-unused-exports) from 10.0.1 to 10.1.0.
- [Changelog](https://github.com/pzavolinsky/ts-unused-exports/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pzavolinsky/ts-unused-exports/commits)

---
updated-dependencies:
- dependency-name: ts-unused-exports
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-14 12:26:39 +00:00
Nora
fc86be7687 Merge branch 'main' into github-action/bump-node-version 2024-06-14 12:24:20 +00:00
Nora
f0909a9d67 Merge pull request #3636 from github/github-action/bump-cli
Bump CLI Version to v2.17.5 for integration tests
2024-06-14 14:23:19 +02:00
Nora
40b5b5ba7e Merge pull request #3639 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-f899e8f28b
Bump the storybook group in /extensions/ql-vscode with 12 updates
2024-06-13 15:50:42 +02:00
dependabot[bot]
fa85bcfad6 Bump the storybook group in /extensions/ql-vscode with 12 updates
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.1.6` | `8.1.8` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.1.6` | `8.1.8` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.1.6` | `8.1.8` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.1.6` | `8.1.8` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.1.6` | `8.1.8` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.1.6` | `8.1.8` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.1.6` | `8.1.8` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.1.6` | `8.1.8` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.1.6` | `8.1.8` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.1.6` | `8.1.8` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.1.6` | `8.1.8` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.1.6` | `8.1.8` |


Updates `@storybook/addon-a11y` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/addons/interactions)

Updates `@storybook/addon-links` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/addons/links)

Updates `@storybook/blocks` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/ui/blocks)

Updates `@storybook/components` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/ui/components)

Updates `@storybook/manager-api` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/lib/manager-api)

Updates `@storybook/react` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/renderers/react)

Updates `@storybook/react-vite` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/lib/theming)

Updates `storybook` from 8.1.6 to 8.1.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.8/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-13 13:36:58 +00:00
Chris Smowton
dd1b054f26 Merge branch 'main' into github-action/bump-cli 2024-06-13 14:33:51 +01:00
Kasper Svendsen
b96cd6c7e1 Merge pull request #3635 from github/kaspersv/clear-pkg-cache-on-dbscheme-changes
Clear query server package cache on dbscheme edits
2024-06-13 13:47:16 +02:00
Kasper Svendsen
b466d2aa36 Merge branch 'main' into kaspersv/clear-pkg-cache-on-dbscheme-changes 2024-06-13 13:34:18 +02:00
Robert
7f6c1ad7f7 Merge pull request #3637 from github/robertbrignull/remove_path_tests
Remove short-paths.test.ts
2024-06-13 12:26:39 +01:00
Robert
10f4b47019 Remove short-paths.test.ts 2024-06-13 11:03:37 +00:00
github-actions[bot]
b31a769fdd Bump CLI version from v2.17.4 to v2.17.5 for integration tests 2024-06-12 17:18:50 +00:00
github-actions[bot]
c4e2f11372 Bump Node version to v20.9.0 2024-06-12 12:25:46 +00:00
Kasper Svendsen
9494d32144 Clear query server package cache on dbscheme edits 2024-06-11 10:55:42 +00:00
Andrew Eisenberg
12555d90c1 Merge pull request #3630 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-a6a5a2e80a
Bump the storybook group in /extensions/ql-vscode with 13 updates
2024-06-06 09:48:18 -07:00
dependabot[bot]
d46e03b4cc Bump the storybook group in /extensions/ql-vscode with 13 updates
Bumps the storybook group in /extensions/ql-vscode with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.1.5` | `8.1.6` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.1.5` | `8.1.6` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.1.5` | `8.1.6` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.1.5` | `8.1.6` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.1.5` | `8.1.6` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.1.5` | `8.1.6` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.1.5` | `8.1.6` |
| [@storybook/csf](https://github.com/ComponentDriven/csf) | `0.1.7` | `0.1.8` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.1.5` | `8.1.6` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.1.5` | `8.1.6` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.1.5` | `8.1.6` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.1.5` | `8.1.6` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.1.5` | `8.1.6` |


Updates `@storybook/addon-a11y` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/addons/interactions)

Updates `@storybook/addon-links` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/addons/links)

Updates `@storybook/blocks` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/ui/blocks)

Updates `@storybook/components` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/ui/components)

Updates `@storybook/csf` from 0.1.7 to 0.1.8
- [Release notes](https://github.com/ComponentDriven/csf/releases)
- [Changelog](https://github.com/ComponentDriven/csf/blob/v0.1.8/CHANGELOG.md)
- [Commits](https://github.com/ComponentDriven/csf/compare/v0.1.7...v0.1.8)

Updates `@storybook/manager-api` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/lib/manager-api)

Updates `@storybook/react` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/renderers/react)

Updates `@storybook/react-vite` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/lib/theming)

Updates `storybook` from 8.1.5 to 8.1.6
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.6/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/csf"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-06 14:20:38 +00:00
dependabot[bot]
f0e2285122 Bump @testing-library/react (#3631)
Bumps the testing-library group in /extensions/ql-vscode with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.7 to 16.0.0
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.7...v16.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-06 15:16:43 +01:00
Koen Vlaswinkel
f4d0d23170 Merge pull request #3629 from github/github-action/bump-cli
Bump CLI Version to v2.17.4 for integration tests
2024-06-04 10:06:27 +02:00
github-actions[bot]
513fb65560 Bump CLI version from v2.17.3 to v2.17.4 for integration tests 2024-06-03 16:10:31 +00:00
Koen Vlaswinkel
7d353ced9b Merge pull request #3626 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-d4cb5c71ab
Bump the storybook group in /extensions/ql-vscode with 12 updates
2024-05-31 10:09:46 +02:00
dependabot[bot]
be3506d987 Bump the storybook group in /extensions/ql-vscode with 12 updates
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.1.3` | `8.1.5` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.1.3` | `8.1.5` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.1.3` | `8.1.5` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.1.3` | `8.1.5` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.1.3` | `8.1.5` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.1.3` | `8.1.5` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.1.3` | `8.1.5` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.1.3` | `8.1.5` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.1.3` | `8.1.5` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.1.3` | `8.1.5` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.1.3` | `8.1.5` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.1.3` | `8.1.5` |


Updates `@storybook/addon-a11y` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/addons/interactions)

Updates `@storybook/addon-links` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/addons/links)

Updates `@storybook/blocks` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/ui/blocks)

Updates `@storybook/components` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/ui/components)

Updates `@storybook/manager-api` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/lib/manager-api)

Updates `@storybook/react` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/renderers/react)

Updates `@storybook/react-vite` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/lib/theming)

Updates `storybook` from 8.1.3 to 8.1.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.5/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-30 14:06:20 +00:00
dependabot[bot]
3fa6304050 Bump @babel/core from 7.24.4 to 7.24.6 in /extensions/ql-vscode (#3628)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.24.4 to 7.24.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.6/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-30 07:03:18 -07:00
dependabot[bot]
bb40e5bcad Bump ts-jest from 29.1.2 to 29.1.4 in /extensions/ql-vscode (#3627)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.2 to 29.1.4.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.1.2...v29.1.4)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-30 07:02:48 -07:00
Koen Vlaswinkel
e2a8ae318b Merge pull request #3625 from github/koesie10/update-test-plan
Update test plan
2024-05-29 11:46:43 +02:00
Koen Vlaswinkel
79867e2f9d Merge pull request #3624 from github/version/bump-to-v1.13.2
Bump version to v1.13.2
2024-05-29 11:46:29 +02:00
Koen Vlaswinkel
1bc13d70ce Update test plan
This fixes the model pack query to account for the new MAD ID in the
`sinkModel` and removes the LLM section.
2024-05-29 11:22:04 +02:00
github-actions[bot]
0bd359997d Bump version to v1.13.2 2024-05-29 09:17:05 +00:00
Koen Vlaswinkel
28a7d1cf34 Merge pull request #3623 from github/v1.13.1
v1.13.1
2024-05-29 11:15:50 +02:00
Koen Vlaswinkel
1572c095ca v1.13.1
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2024-05-29 10:43:56 +02:00
Nick Rolfe
83df05e731 Merge pull request #3622 from github/nickrolfe/eval-log-progress
Report progress for post-evaluation actions
2024-05-28 17:38:56 +01:00
Nick Rolfe
b43b1d4c8e Update changelog for progress reporting on post-evaluation steps 2024-05-28 11:06:00 +00:00
Nick Rolfe
79ff9e0378 Report progress for post-evaluation actions
Generating and parsing log summaries can be quite slow, so we should update the progress window with messages about what's being worked on.
2024-05-28 11:05:34 +00:00
Andrew Eisenberg
d7a82cc686 Merge pull request #3616 from github/aeisenberg/flush-cache-on-db-remove
Fix bug with reimporting test cases
2024-05-23 08:55:23 -07:00
Andrew Eisenberg
39ad5b28c7 Fix typo in comment
Co-authored-by: Koen Vlaswinkel <koesie10@users.noreply.github.com>
2024-05-23 08:43:03 -07:00
Robert
68c159f1fe Merge pull request #3619 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-23a9a17fad
Bump the storybook group in /extensions/ql-vscode with 12 updates
2024-05-23 15:55:29 +01:00
Robert
355a6fc552 Merge pull request #3621 from github/dependabot/npm_and_yarn/extensions/ql-vscode/markdownlint-cli2-formatter-pretty-0.0.6
Bump markdownlint-cli2-formatter-pretty from 0.0.5 to 0.0.6 in /extensions/ql-vscode
2024-05-23 14:52:49 +01:00
dependabot[bot]
6f54bebe35 Bump markdownlint-cli2-formatter-pretty in /extensions/ql-vscode
Bumps [markdownlint-cli2-formatter-pretty](https://github.com/DavidAnson/markdownlint-cli2) from 0.0.5 to 0.0.6.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.0.5...v0.0.6)

---
updated-dependencies:
- dependency-name: markdownlint-cli2-formatter-pretty
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-23 13:40:16 +00:00
dependabot[bot]
bea108a412 Bump the storybook group in /extensions/ql-vscode with 12 updates
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.1.1` | `8.1.3` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.1.1` | `8.1.3` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.1.1` | `8.1.3` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.1.1` | `8.1.3` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.1.1` | `8.1.3` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.1.1` | `8.1.3` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.1.1` | `8.1.3` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.1.1` | `8.1.3` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.1.1` | `8.1.3` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.1.1` | `8.1.3` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.1.1` | `8.1.3` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.1.1` | `8.1.3` |


Updates `@storybook/addon-a11y` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/addons/interactions)

Updates `@storybook/addon-links` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/addons/links)

Updates `@storybook/blocks` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/ui/blocks)

Updates `@storybook/components` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/ui/components)

Updates `@storybook/manager-api` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/lib/manager-api)

Updates `@storybook/react` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/renderers/react)

Updates `@storybook/react-vite` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/lib/theming)

Updates `storybook` from 8.1.1 to 8.1.3
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.1.3/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-23 13:39:25 +00:00
Andrew Eisenberg
088d2fa91e Fix failing tests
Also:
- Address comments in PR
- Add changelog note
2024-05-22 23:05:12 +00:00
Andrew Eisenberg
6c92a5b800 Merge remote-tracking branch 'upstream/main' into aeisenberg/flush-cache-on-db-remove 2024-05-22 22:42:54 +00:00
Robert
db0d062443 Merge pull request #3618 from github/robertbrignull/delete-ghec-dr-flag
Remove the enableGhecDr flag
2024-05-22 11:47:11 +01:00
Robert
673ea13af8 Remove the enableGhecDr flag 2024-05-22 10:42:47 +01:00
Koen Vlaswinkel
2208b42485 Merge pull request #3615 from github/github-action/bump-cli
Bump CLI Version to v2.17.3 for integration tests
2024-05-21 10:47:38 +02:00
Andrew Eisenberg
376d6b75d6 Fix bug with reimporting test cases
When re-importing a test database, if the source archive for that
database is not in the workspace, then old source code will be seen when
inspected.

To reproduce:

1. Run a ql test file with a failure (I'm using a javascript DB).
2. Right click and import on the db that sticks around.
3. Change the JS source file for the test.
4. Re-run and still have a failure.
5. Re-import the database
6. Run the query under test
7. Click on a result item
8. **BUG:** The source code is old

The problem is that the source archive cache is not being flushed in
this case. I added a case to flush the source archive when the archive
was imported into the workspace as a folder, but not when the archive is
external.

The fix is to listen for database remove events in the archive
filesystem provider and flush the associated database source
archive.

There is a complication:

The database remove event didn't emit the removed database. This is
because the only place that consumed the event didn't need it.

To get around this, I changed the structure of the events. I added a
new `fullRefresh` boolean. If true, then the original database change
handler will ensure the entire tree is refreshed. If false, only the
selected database.
2024-05-17 23:10:56 +00:00
dependabot[bot]
d8a7dcd7d2 Bump react-dom and @types/react-dom in /extensions/ql-vscode (#3614)
Bumps [react-dom](https://github.com/facebook/react/tree/HEAD/packages/react-dom) and [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom). These dependencies needed to be updated together.

Updates `react-dom` from 18.2.0 to 18.3.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react-dom)

Updates `@types/react-dom` from 18.2.18 to 18.3.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: react-dom
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-17 15:53:59 -07:00
github-actions[bot]
580257f024 Bump CLI version from v2.17.2 to v2.17.3 for integration tests 2024-05-17 17:05:04 +00:00
dependabot[bot]
233cb1cd41 Bump semver from 7.6.0 to 7.6.2 in /extensions/ql-vscode (#3613)
Bumps [semver](https://github.com/npm/node-semver) from 7.6.0 to 7.6.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.0...v7.6.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 09:34:12 -07:00
dependabot[bot]
d9fcfa0374 Bump the storybook group in /extensions/ql-vscode with 12 updates (#3612)
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.0.10` | `8.1.1` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.0.10` | `8.1.1` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.0.10` | `8.1.1` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.0.10` | `8.1.1` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.0.10` | `8.1.1` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.0.10` | `8.1.1` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.0.10` | `8.1.1` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.0.10` | `8.1.1` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.0.10` | `8.1.1` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.0.10` | `8.1.1` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.0.10` | `8.1.1` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.0.10` | `8.1.1` |


Updates `@storybook/addon-a11y` from 8.0.10 to 8.1.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/v8.1.1/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.0.10 to 8.1.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/v8.1.1/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.0.10 to 8.1.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/v8.1.1/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.0.10 to 8.1.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/v8.1.1/code/addons/interactions)

Updates `@storybook/addon-links` from 8.0.10 to 8.1.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/v8.1.1/code/addons/links)

Updates `@storybook/blocks` from 8.0.10 to 8.1.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/v8.1.1/code/ui/blocks)

Updates `@storybook/components` from 8.0.10 to 8.1.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/v8.1.1/code/ui/components)

Updates `@storybook/manager-api` from 8.0.10 to 8.1.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/v8.1.1/code/lib/manager-api)

Updates `@storybook/react` from 8.0.10 to 8.1.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/v8.1.1/code/renderers/react)

Updates `@storybook/react-vite` from 8.0.10 to 8.1.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/v8.1.1/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.0.10 to 8.1.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/v8.1.1/code/lib/theming)

Updates `storybook` from 8.0.10 to 8.1.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/v8.1.1/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-16 09:33:50 -07:00
Ben Ahmady
1dc48b3309 Update links in VS Marketplace README (#3611) 2024-05-15 08:52:15 +00:00
Angela P Wen
2babb0b106 Handle exit and error events for query server child processes (#3610) 2024-05-14 18:48:29 -07:00
Koen Vlaswinkel
247df2e1f9 Merge pull request #3607 from github/koesie10/ghec-dr-variant-analysis
Add GHEC-DR support
2024-05-14 10:40:28 +02:00
Koen Vlaswinkel
ba9007e426 Fix typo in comment
Co-authored-by: Robert <robertbrignull@github.com>
2024-05-14 09:42:04 +02:00
Koen Vlaswinkel
616b613fbd Merge pull request #3608 from github/koesie10/fix-supported-cli-version-warning
Fix incorrect supported CLI version warning
2024-05-13 16:57:50 +02:00
Koen Vlaswinkel
47ae0fe9f5 Fix incorrect supported CLI version warning 2024-05-13 16:44:03 +02:00
Nora
9d6b4e8e5a Merge pull request #3603 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-7db07c6d5e
Bump the storybook group in /extensions/ql-vscode with 13 updates
2024-05-13 16:32:04 +02:00
Nora
5ae70696a8 Merge pull request #3604 from github/dependabot/npm_and_yarn/extensions/ql-vscode/testing-library-66b9683d1a
Bump the testing-library group in /extensions/ql-vscode with 2 updates
2024-05-13 16:30:18 +02:00
dependabot[bot]
712dd525ee Bump the storybook group in /extensions/ql-vscode with 13 updates
Bumps the storybook group in /extensions/ql-vscode with 13 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.0.9` | `8.0.10` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.0.9` | `8.0.10` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.0.9` | `8.0.10` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.0.9` | `8.0.10` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.0.9` | `8.0.10` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.0.9` | `8.0.10` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.0.9` | `8.0.10` |
| [@storybook/csf](https://github.com/ComponentDriven/csf) | `0.1.6` | `0.1.7` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.0.9` | `8.0.10` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.0.9` | `8.0.10` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.0.9` | `8.0.10` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.0.9` | `8.0.10` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.0.9` | `8.0.10` |


Updates `@storybook/addon-a11y` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/addons/interactions)

Updates `@storybook/addon-links` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/addons/links)

Updates `@storybook/blocks` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/ui/blocks)

Updates `@storybook/components` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/ui/components)

Updates `@storybook/csf` from 0.1.6 to 0.1.7
- [Release notes](https://github.com/ComponentDriven/csf/releases)
- [Changelog](https://github.com/ComponentDriven/csf/blob/v0.1.7/CHANGELOG.md)
- [Commits](https://github.com/ComponentDriven/csf/compare/v0.1.6...v0.1.7)

Updates `@storybook/manager-api` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/lib/manager-api)

Updates `@storybook/react` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/renderers/react)

Updates `@storybook/react-vite` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/lib/theming)

Updates `storybook` from 8.0.9 to 8.0.10
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.10/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/csf"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 14:19:37 +00:00
Nora
fdc5645928 Merge pull request #3606 from github/dependabot/npm_and_yarn/extensions/ql-vscode/eslint-plugin-github-4.10.2
Bump eslint-plugin-github from 4.10.1 to 4.10.2 in /extensions/ql-vscode
2024-05-13 16:18:42 +02:00
dependabot[bot]
5c81c0e9bf Bump the testing-library group in /extensions/ql-vscode with 2 updates
Bumps the testing-library group in /extensions/ql-vscode with 2 updates: [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) and [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/jest-dom` from 6.4.2 to 6.4.5
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.4.2...v6.4.5)

Updates `@testing-library/react` from 15.0.6 to 15.0.7
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.6...v15.0.7)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 14:17:39 +00:00
dependabot[bot]
0e07e5e3eb Bump eslint-plugin-github from 4.10.1 to 4.10.2 in /extensions/ql-vscode
Bumps [eslint-plugin-github](https://github.com/github/eslint-plugin-github) from 4.10.1 to 4.10.2.
- [Release notes](https://github.com/github/eslint-plugin-github/releases)
- [Commits](https://github.com/github/eslint-plugin-github/compare/v4.10.1...v4.10.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-github
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-13 14:05:08 +00:00
Koen Vlaswinkel
c90acdb4e1 Merge pull request #3600 from github/github-action/bump-cli
Bump CLI Version to v2.17.2 for integration tests
2024-05-13 13:17:54 +02:00
Koen Vlaswinkel
dad37f202d Merge pull request #3599 from github/koesie10/upgrade-publish-vsce
Use @vscode/vsce when publishing the extension
2024-05-13 13:04:42 +02:00
Koen Vlaswinkel
1f937ad208 Do not import from config in unit tests 2024-05-13 12:15:27 +02:00
Koen Vlaswinkel
086d8e2104 Update prompts to use GHEC-DR URL 2024-05-13 11:19:31 +02:00
Koen Vlaswinkel
c2ddd680c1 Use GHEC-DR URL in Octokit instance 2024-05-13 11:19:31 +02:00
Koen Vlaswinkel
9a14896a4e Use GHE auth provider if GHEC-DR URI is set 2024-05-13 11:19:31 +02:00
Koen Vlaswinkel
871fc0b817 Use GHEC-DR URL in file blob URL 2024-05-13 11:19:31 +02:00
Koen Vlaswinkel
ca092a1623 Use GHEC-DR URL in Actions workflow run URL 2024-05-13 11:19:30 +02:00
Koen Vlaswinkel
529bbe3ffa Handle GHEC-DR repository URLs 2024-05-13 11:19:30 +02:00
Koen Vlaswinkel
31b2d24ca9 Update custom errors to use GHEC-DR URL 2024-05-13 11:19:30 +02:00
github-actions[bot]
f54cace05b Bump CLI version from v2.17.1 to v2.17.2 for integration tests 2024-05-07 11:22:36 +00:00
Koen Vlaswinkel
f773f9f675 Use @vscode/vsce when publishing the extension 2024-05-06 15:31:05 +02:00
dependabot[bot]
67aa216ea1 Bump react and @types/react in /extensions/ql-vscode (#3596)
Bumps [react](https://github.com/facebook/react/tree/HEAD/packages/react) and [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react). These dependencies needed to be updated together.

Updates `react` from 18.2.0 to 18.3.1
- [Release notes](https://github.com/facebook/react/releases)
- [Changelog](https://github.com/facebook/react/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/react/commits/v18.3.1/packages/react)

Updates `@types/react` from 18.2.43 to 18.3.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: react
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 15:56:40 +01:00
dependabot[bot]
4b67f4dd54 Bump vite from 5.2.6 to 5.2.11 in /extensions/ql-vscode (#3597)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.6 to 5.2.11.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.11/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 15:37:22 +01:00
dependabot[bot]
572a8b7828 Bump styled-components from 6.1.8 to 6.1.9 in /extensions/ql-vscode (#3598)
Bumps [styled-components](https://github.com/styled-components/styled-components) from 6.1.8 to 6.1.9.
- [Release notes](https://github.com/styled-components/styled-components/releases)
- [Commits](https://github.com/styled-components/styled-components/compare/v6.1.8...v6.1.9)

---
updated-dependencies:
- dependency-name: styled-components
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 15:36:08 +01:00
dependabot[bot]
b7d6aeda3c Bump @testing-library/react (#3595)
Bumps the testing-library group in /extensions/ql-vscode with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.5 to 15.0.6
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.5...v15.0.6)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-02 15:35:27 +01:00
github-actions[bot]
2da77acd9e Bump CLI version from v2.17.0 to v2.17.1 for integration tests (#3577)
Co-authored-by: github-actions[bot] <github-actions@github.com>
2024-05-02 10:00:37 +00:00
Anders Starcke Henriksen
607a8380cc Merge pull request #3581 from github/dependabot/npm_and_yarn/extensions/ql-vscode/ts-json-schema-generator-2.1.1
Bump ts-json-schema-generator from 2.0.1 to 2.1.1 in /extensions/ql-vscode
2024-05-02 09:19:22 +02:00
Koen Vlaswinkel
f698ac321f Add back ts-node for Gulp 2024-05-01 14:59:02 +02:00
Koen Vlaswinkel
85abd9a1ac Switch from ts-node to vite-node
vite-node seems to have better support for mixed ESM and CJS modules and
makes the scripts work with both kinds of packages without having to
change the project configuration.
2024-05-01 14:50:12 +02:00
Anders Starcke Henriksen
329eba9536 Merge pull request #3592 from github/release-token
Update release with new PAT lifetime.
2024-05-01 14:49:03 +02:00
Anders Starcke Henriksen
733a0328d0 Merge pull request #3594 from github/version/bump-to-v1.13.1
Bump version to v1.13.1
2024-05-01 14:32:42 +02:00
dependabot[bot]
1c7f92b503 Bump ts-json-schema-generator in /extensions/ql-vscode
Bumps [ts-json-schema-generator](https://github.com/vega/ts-json-schema-generator) from 2.0.1 to 2.1.1.
- [Release notes](https://github.com/vega/ts-json-schema-generator/releases)
- [Changelog](https://github.com/vega/ts-json-schema-generator/blob/v2.1.1/CHANGELOG.md)
- [Commits](https://github.com/vega/ts-json-schema-generator/compare/v2.0.1...v2.1.1)

---
updated-dependencies:
- dependency-name: ts-json-schema-generator
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-01 12:13:48 +00:00
github-actions[bot]
884ec21e5a Bump version to v1.13.1 2024-05-01 11:44:41 +00:00
Anders Starcke Henriksen
35c533606f Merge pull request #3593 from github/v1.13.0
v1.13.0
2024-05-01 13:42:53 +02:00
Anders Starcke Henriksen
4adf60a978 v1.13.0
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2024-05-01 10:36:40 +02:00
Koen Vlaswinkel
69775414f0 Merge pull request #3591 from github/koesie10/update-changelog
Add Ruby model editor support to CHANGELOG
2024-05-01 09:54:47 +02:00
Anders Starcke Henriksen
10c74d5d8c Update release with new PAT lifetime. 2024-05-01 09:54:04 +02:00
Koen Vlaswinkel
325f5d6667 Move up changelog entry 2024-05-01 09:42:03 +02:00
Koen Vlaswinkel
e968c226ba Add Ruby model editor support to CHANGELOG 2024-05-01 09:33:22 +02:00
dependabot[bot]
44429c2513 Bump husky from 8.0.3 to 9.0.11 in /extensions/ql-vscode (#3590)
Bumps [husky](https://github.com/typicode/husky) from 8.0.3 to 9.0.11.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v8.0.3...v9.0.11)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 09:26:20 -07:00
dependabot[bot]
96881f2bf2 Bump the testing-library group in /extensions/ql-vscode with 2 updates (#3589)
Bumps the testing-library group in /extensions/ql-vscode with 2 updates: [@testing-library/dom](https://github.com/testing-library/dom-testing-library) and [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/dom` from 10.0.0 to 10.1.0
- [Release notes](https://github.com/testing-library/dom-testing-library/releases)
- [Changelog](https://github.com/testing-library/dom-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/dom-testing-library/compare/v10.0.0...v10.1.0)

Updates `@testing-library/react` from 15.0.4 to 15.0.5
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.4...v15.0.5)

---
updated-dependencies:
- dependency-name: "@testing-library/dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: testing-library
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 09:25:56 -07:00
dependabot[bot]
06f4e33719 Bump @storybook/csf in /extensions/ql-vscode in the storybook group (#3588)
Bumps the storybook group in /extensions/ql-vscode with 1 update: [@storybook/csf](https://github.com/ComponentDriven/csf).


Updates `@storybook/csf` from 0.1.4 to 0.1.6
- [Release notes](https://github.com/ComponentDriven/csf/releases)
- [Changelog](https://github.com/ComponentDriven/csf/blob/v0.1.6/CHANGELOG.md)
- [Commits](https://github.com/ComponentDriven/csf/compare/v0.1.4...v0.1.6)

---
updated-dependencies:
- dependency-name: "@storybook/csf"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-30 09:25:14 -07:00
Koen Vlaswinkel
570e410e06 Merge pull request #3587 from github/koesie10/upgrade-e2e-tests
Upgrade E2E test dependencies
2024-04-30 17:24:33 +02:00
Koen Vlaswinkel
1d5b4f3fbb Merge pull request #3586 from github/koesie10/fix-e2e-tests
Always use the latest released CodeQL version in E2E tests
2024-04-30 16:30:42 +02:00
Koen Vlaswinkel
0e5b460e67 Upgrade Alpine to 3.19.1 2024-04-30 16:20:19 +02:00
Koen Vlaswinkel
a39f4582e3 Enable Dependabot for E2E docker image 2024-04-30 16:19:13 +02:00
Koen Vlaswinkel
18f12e53c9 Upgrade E2E tests to VS Code v1.88.1 2024-04-30 16:17:51 +02:00
Koen Vlaswinkel
ac8dd9189e Always use the latest released CodeQL version in E2E tests 2024-04-30 16:11:19 +02:00
Koen Vlaswinkel
7d564b50e7 Merge pull request #3584 from github/koesie10/add-ruby-as-supported-model-editor-language
Add Ruby as a fully-supported model editor language
2024-04-30 12:42:52 +02:00
Koen Vlaswinkel
013bf65c0a Merge pull request #3585 from github/koesie10/fix-modeled-method-fs-test
Fix modeled method FS test
2024-04-30 12:42:44 +02:00
Koen Vlaswinkel
bd6862efda Fix modeled method FS test 2024-04-30 11:53:15 +02:00
Koen Vlaswinkel
64f0115070 Add Ruby as a fully-supported model editor language 2024-04-26 17:00:06 +02:00
dependabot[bot]
596049a8cb Bump @testing-library/react (#3580)
Bumps the testing-library group in /extensions/ql-vscode with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.2 to 15.0.4
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.2...v15.0.4)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 15:00:47 +00:00
dependabot[bot]
58a5a43609 Bump the storybook group in /extensions/ql-vscode with 12 updates (#3579)
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.0.8` | `8.0.9` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.0.8` | `8.0.9` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.0.8` | `8.0.9` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.0.8` | `8.0.9` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.0.8` | `8.0.9` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.0.8` | `8.0.9` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.0.8` | `8.0.9` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.0.8` | `8.0.9` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.0.8` | `8.0.9` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.0.8` | `8.0.9` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.0.8` | `8.0.9` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.0.8` | `8.0.9` |


Updates `@storybook/addon-a11y` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/addons/interactions)

Updates `@storybook/addon-links` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/addons/links)

Updates `@storybook/blocks` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/ui/blocks)

Updates `@storybook/components` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/ui/components)

Updates `@storybook/manager-api` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/lib/manager-api)

Updates `@storybook/react` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/renderers/react)

Updates `@storybook/react-vite` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/lib/theming)

Updates `storybook` from 8.0.8 to 8.0.9
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.9/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 15:46:04 +01:00
dependabot[bot]
67ad9cb6ce Bump nanoid from 5.0.6 to 5.0.7 in /extensions/ql-vscode (#3582)
Bumps [nanoid](https://github.com/ai/nanoid) from 5.0.6 to 5.0.7.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/5.0.6...5.0.7)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 14:59:18 +01:00
Robert
29c36584f8 Merge pull request #3576 from github/robertbrignull/disable-llm-proxima
Disable LLM model generation when not using github.com
2024-04-22 16:47:56 +01:00
Robert
e59145372e Disable LLM model generation when not using github.com 2024-04-22 16:28:52 +01:00
Robert
ad17a4f828 Merge pull request #3570 from github/robertbrignull/disable_top1000
Hide system defined lists when enterprise URI is set
2024-04-22 10:12:19 +01:00
dependabot[bot]
f17319a5cf Bump markdownlint-cli2 from 0.12.1 to 0.13.0 in /extensions/ql-vscode (#3571)
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.12.1 to 0.13.0.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.12.1...v0.13.0)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 13:12:06 -07:00
dependabot[bot]
0d52be1dbf Bump @babel/preset-react from 7.23.3 to 7.24.1 in /extensions/ql-vscode (#3575)
Bumps [@babel/preset-react](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-react) from 7.23.3 to 7.24.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.1/packages/babel-preset-react)

---
updated-dependencies:
- dependency-name: "@babel/preset-react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 13:11:46 -07:00
dependabot[bot]
13a61094c1 Bump @babel/preset-env from 7.24.0 to 7.24.4 in /extensions/ql-vscode (#3574)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.24.0 to 7.24.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.4/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 19:40:48 +00:00
dependabot[bot]
230cdd024c Bump @babel/core from 7.24.0 to 7.24.4 in /extensions/ql-vscode (#3573)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.24.0 to 7.24.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.4/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 12:26:36 -07:00
dependabot[bot]
29a47305a9 Bump eslint-plugin-react from 7.33.2 to 7.34.1 in /extensions/ql-vscode (#3572)
Bumps [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) from 7.33.2 to 7.34.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-react/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-react/blob/v7.34.1/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.33.2...v7.34.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 12:26:18 -07:00
Robert
26ec371730 move onDidChangeConfiguration to be the last field in VariantAnalysisConfig 2024-04-18 09:59:50 +01:00
Robert
58de4864c0 Pass VariantAnalysisConfig into DbManager to avoid vscode dependency 2024-04-18 09:55:21 +01:00
Robert
17ff592a60 Hide system defined lists when enterprise URI is set 2024-04-17 14:31:14 +01:00
Robert
1c267e4c28 Merge pull request #3569 from github/robertbrignull/ghec_dr_mode
Detect when the github-enterprise.uri setting is set
2024-04-17 11:06:26 +01:00
Robert
2f67ccea56 Cover all cases of URIs and feature flags 2024-04-17 10:53:17 +01:00
Robert
b3fdb3a126 Use endsWith instead of regex 2024-04-17 09:37:53 +01:00
Robert
07ba537590 Make config field use camel-case 2024-04-17 09:37:38 +01:00
Robert
8abde36dcb Detect when the github-enterprise.uri setting is set 2024-04-16 17:18:49 +01:00
dependabot[bot]
27d6a749f8 Bump @floating-ui/react from 0.26.10 to 0.26.12 in /extensions/ql-vscode (#3567)
Bumps [@floating-ui/react](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react) from 0.26.10 to 0.26.12.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/react/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/react@0.26.12/packages/react)

---
updated-dependencies:
- dependency-name: "@floating-ui/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 16:39:37 +01:00
dependabot[bot]
e7af631737 Bump @testing-library/react (#3565)
Bumps the testing-library group in /extensions/ql-vscode with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 15.0.1 to 15.0.2
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v15.0.1...v15.0.2)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 16:24:37 +01:00
dependabot[bot]
cdd889452a Bump @storybook/csf in /extensions/ql-vscode in the storybook group (#3564)
Bumps the storybook group in /extensions/ql-vscode with 1 update: [@storybook/csf](https://github.com/ComponentDriven/csf).


Updates `@storybook/csf` from 0.1.3 to 0.1.4
- [Release notes](https://github.com/ComponentDriven/csf/releases)
- [Changelog](https://github.com/ComponentDriven/csf/blob/v0.1.4/CHANGELOG.md)
- [Commits](https://github.com/ComponentDriven/csf/compare/v0.1.3...v0.1.4)

---
updated-dependencies:
- dependency-name: "@storybook/csf"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 16:19:11 +01:00
dependabot[bot]
4abaa22f62 Bump ts-json-schema-generator in /extensions/ql-vscode (#3568)
Bumps [ts-json-schema-generator](https://github.com/vega/ts-json-schema-generator) from 1.5.0 to 2.0.1.
- [Release notes](https://github.com/vega/ts-json-schema-generator/releases)
- [Changelog](https://github.com/vega/ts-json-schema-generator/blob/v2.0.1/CHANGELOG.md)
- [Commits](https://github.com/vega/ts-json-schema-generator/compare/v1.5.0...v2.0.1)

---
updated-dependencies:
- dependency-name: ts-json-schema-generator
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 16:12:31 +01:00
dependabot[bot]
df322ce17d Bump applicationinsights from 2.9.4 to 2.9.5 in /extensions/ql-vscode (#3566)
Bumps [applicationinsights](https://github.com/microsoft/ApplicationInsights-node.js) from 2.9.4 to 2.9.5.
- [Release notes](https://github.com/microsoft/ApplicationInsights-node.js/releases)
- [Commits](https://github.com/microsoft/ApplicationInsights-node.js/compare/2.9.4...2.9.5)

---
updated-dependencies:
- dependency-name: applicationinsights
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 15:30:48 +01:00
Charis Kyriakou
0df508d1c6 Remove support for CodeQL CLI versions older than 2.14.6 (#3562) 2024-04-16 15:27:32 +01:00
Charis Kyriakou
2e7586c39f Exclude major version updates for the octokit group in dependabot (#3563)
* Exclude major version updates for the octokit group in dependabot

* Commit unstaged changes 🤦
2024-04-16 14:29:17 +01:00
Charis Kyriakou
f854ab50d5 Move octokit throttling plugin dependency out of dev dependencies (#3561) 2024-04-16 11:52:01 +00:00
Andrew Eisenberg
3cc4005500 Merge pull request #3556 from github/dependabot/npm_and_yarn/extensions/ql-vscode/msw-2.2.13
Bump msw from 2.0.13 to 2.2.13 in /extensions/ql-vscode
2024-04-16 01:24:44 -07:00
Koen Vlaswinkel
0d4a95d08e Merge pull request #3552 from github/koesie10/remove-enable-type-models
Remove `codeQL.model.showTypeModels` config
2024-04-16 10:16:52 +02:00
Koen Vlaswinkel
d67cf4b9f7 Remove codeQL.model.showTypeModels config
This removes the `codeQL.model.showTypeModels` setting. We will now
always show type models in the model editor. This also means that the
"auto-generation mode" needs to change to `models` to ensure that the
type models are actually shown to the user. This is done for Ruby, which
is currently the only language to show type models.
2024-04-15 16:52:27 +02:00
Koen Vlaswinkel
c37bd9969c Merge pull request #3550 from github/koesie10/separate-file
Add auto-model generation mode without separate file
2024-04-15 16:52:13 +02:00
Andrew Eisenberg
1dac41d8ea Merge pull request #3558 from github/dependabot/npm_and_yarn/extensions/ql-vscode/testing-library-0922f3acd1
Bump the testing-library group in /extensions/ql-vscode with 2 updates
2024-04-11 11:14:36 -07:00
dependabot[bot]
48a03bd383 Bump the testing-library group in /extensions/ql-vscode with 2 updates
Bumps the testing-library group in /extensions/ql-vscode with 2 updates: [@testing-library/dom](https://github.com/testing-library/dom-testing-library) and [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/dom` from 9.3.4 to 10.0.0
- [Release notes](https://github.com/testing-library/dom-testing-library/releases)
- [Changelog](https://github.com/testing-library/dom-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/dom-testing-library/compare/v9.3.4...v10.0.0)

Updates `@testing-library/react` from 14.2.2 to 15.0.1
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.2.2...v15.0.1)

---
updated-dependencies:
- dependency-name: "@testing-library/dom"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: testing-library
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 17:31:55 +00:00
dependabot[bot]
b6897e4faf Bump the storybook group in /extensions/ql-vscode with 12 updates (#3557)
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.0.5` | `8.0.8` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.0.5` | `8.0.8` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.0.5` | `8.0.8` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.0.5` | `8.0.8` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.0.5` | `8.0.8` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.0.5` | `8.0.8` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.0.5` | `8.0.8` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.0.5` | `8.0.8` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.0.5` | `8.0.8` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.0.5` | `8.0.8` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.0.5` | `8.0.8` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.0.5` | `8.0.8` |


Updates `@storybook/addon-a11y` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/addons/interactions)

Updates `@storybook/addon-links` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/addons/links)

Updates `@storybook/blocks` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/ui/blocks)

Updates `@storybook/components` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/ui/components)

Updates `@storybook/manager-api` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/lib/manager-api)

Updates `@storybook/react` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/renderers/react)

Updates `@storybook/react-vite` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/lib/theming)

Updates `storybook` from 8.0.5 to 8.0.8
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.8/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 10:30:00 -07:00
dependabot[bot]
d20a1eb61b Bump ts-jest from 29.1.1 to 29.1.2 in /extensions/ql-vscode (#3555)
Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.1 to 29.1.2.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.1.1...v29.1.2)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 10:05:22 -07:00
dependabot[bot]
8ef3ae0ff5 Bump msw from 2.0.13 to 2.2.13 in /extensions/ql-vscode
Bumps [msw](https://github.com/mswjs/msw) from 2.0.13 to 2.2.13.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.0.13...v2.2.13)

---
updated-dependencies:
- dependency-name: msw
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 13:40:56 +00:00
Koen Vlaswinkel
c7a048b0dc Merge pull request #3548 from github/koesie10/remove-access-path-suggestions-ff
Remove `codeQL.model.enableAccessPathSuggestions` config
2024-04-11 14:29:50 +02:00
Nora
9026076635 Merge pull request #3547 from github/version/bump-to-v1.12.6
Bump version to v1.12.6
2024-04-10 17:16:19 +02:00
Shati Patel
135dc7084a Remove rogue semmle link (#3549) 2024-04-10 15:05:20 +00:00
Koen Vlaswinkel
8c784d8391 Merge pull request #3543 from github/koesie10/pack-name-config
Add `codeQL.model.packName` setting
2024-04-10 17:03:36 +02:00
Koen Vlaswinkel
fed30b6fed Add auto-model generation mode without separate file 2024-04-10 16:46:45 +02:00
Koen Vlaswinkel
232d4c3f41 Remove unnecessary access path progress for unsupported languages 2024-04-10 16:05:56 +02:00
Koen Vlaswinkel
acb6b8b490 Remove enableAccessPathSuggestions config
Access path suggestions will now be enabled for all languages which
support it (which is currently only Ruby).
2024-04-10 15:46:29 +02:00
Koen Vlaswinkel
3f4ed48787 Trim whitespace and slashes in pack names 2024-04-10 15:08:35 +02:00
github-actions[bot]
e1d9aa813d Bump version to v1.12.6 2024-04-09 12:29:43 +00:00
Nora
8a3a6d7e7e Merge pull request #3546 from github/v1.12.5
v1.12.5
2024-04-09 14:27:59 +02:00
Nora
5b89b9608f Update changelog
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2024-04-09 09:08:47 +00:00
Nora
999c73d05d Update version number in changelog 2024-04-09 08:54:07 +00:00
Charis Kyriakou
070df13947 Rename vscode-app -> extension-app file to match convention (#3545) 2024-04-08 16:11:22 +01:00
Koen Vlaswinkel
0c5b39945c Merge pull request #3544 from github/koesie10/python-parsing-unit-tests
Add unit tests for Python argument options
2024-04-08 16:36:40 +02:00
Koen Vlaswinkel
8e231d7b1d Add unit tests for Python argument options 2024-04-08 14:49:09 +02:00
Koen Vlaswinkel
bf9bfb13b7 Add codeQL.model.packName setting 2024-04-08 14:42:47 +02:00
Koen Vlaswinkel
4dc126d56d Merge pull request #3539 from github/koesie10/pack-location-config
Add `codeQL.model.packLocation` setting
2024-04-08 14:11:46 +02:00
Koen Vlaswinkel
9e729ba054 Merge pull request #3540 from github/koesie10/python-model-editor-args
Improve support for Python arguments
2024-04-08 13:59:45 +02:00
Koen Vlaswinkel
6146d7d78a Fix numbering in comment 2024-04-08 13:58:13 +02:00
Charis Kyriakou
6d8de1b3b8 Remove mocking of modeling events (#3542) 2024-04-08 11:19:02 +01:00
Nora
24e08f768c Merge pull request #3534 from github/dependabot/npm_and_yarn/extensions/ql-vscode/floating-ui/react-0.26.10
Bump @floating-ui/react from 0.26.9 to 0.26.10 in /extensions/ql-vscode
2024-04-08 10:35:52 +02:00
Nora
62e051b3d1 Merge pull request #3535 from github/dependabot/npm_and_yarn/extensions/ql-vscode/github/markdownlint-github-0.6.2
Bump @github/markdownlint-github from 0.6.0 to 0.6.2 in /extensions/ql-vscode
2024-04-08 10:16:20 +02:00
Koen Vlaswinkel
b6931dd79a Merge pull request #3541 from github/koesie10/upgrade-ts-eslint
Upgrade typescript-eslint to v7
2024-04-05 16:49:52 +02:00
Koen Vlaswinkel
70009cdc32 Upgrade typescript-eslint to v7 2024-04-05 16:21:16 +02:00
Koen Vlaswinkel
b3276f5cf5 Merge pull request #3538 from github/github-action/bump-node-version
Bump Node version to v18.18.2
2024-04-05 16:15:54 +02:00
Koen Vlaswinkel
1e3cb0772e Improve support for Python arguments 2024-04-05 15:39:44 +02:00
Koen Vlaswinkel
5fbd912abd Add codeQL.model.packLocation setting
This adds the `codeQL.model.packLocation` setting, which allows users to
specify the location of the CodeQL extension pack. This setting replaces
the `codeQL.model.extensionsDirectory` setting, which has been removed.

The pack location supports variable substitutions and supports both
absolute and relative paths. The default value is
`.github/codeql/extensions/${name}-${language}` which matches the
previous defaults.
2024-04-05 15:04:29 +02:00
github-actions[bot]
03c8748981 Bump Node version to v18.18.2 2024-04-05 12:25:06 +00:00
Koen Vlaswinkel
351bc648ef Merge pull request #3530 from github/koesie10/config-template
Add helper for substituting config variables
2024-04-05 11:15:33 +02:00
dependabot[bot]
8ccca1381a Bump eslint-plugin-jest-dom from 5.1.0 to 5.2.0 in /extensions/ql-vscode (#3536)
Bumps [eslint-plugin-jest-dom](https://github.com/testing-library/eslint-plugin-jest-dom) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/testing-library/eslint-plugin-jest-dom/releases)
- [Commits](https://github.com/testing-library/eslint-plugin-jest-dom/compare/v5.1.0...v5.2.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-jest-dom
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 13:28:39 -07:00
dependabot[bot]
85953ec9c3 Bump d3 from 7.8.5 to 7.9.0 in /extensions/ql-vscode (#3533)
Bumps [d3](https://github.com/d3/d3) from 7.8.5 to 7.9.0.
- [Release notes](https://github.com/d3/d3/releases)
- [Changelog](https://github.com/d3/d3/blob/main/CHANGES.md)
- [Commits](https://github.com/d3/d3/compare/v7.8.5...v7.9.0)

---
updated-dependencies:
- dependency-name: d3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 11:07:16 -07:00
github-actions[bot]
4a303fa48d Bump CLI version from v2.16.6 to v2.17.0 for integration tests (#3537)
Co-authored-by: github-actions[bot] <github-actions@github.com>
2024-04-04 15:53:15 +00:00
dependabot[bot]
48e66cbe25 Bump @github/markdownlint-github in /extensions/ql-vscode
Bumps [@github/markdownlint-github](https://github.com/github/markdownlint-github) from 0.6.0 to 0.6.2.
- [Release notes](https://github.com/github/markdownlint-github/releases)
- [Commits](https://github.com/github/markdownlint-github/compare/0.6.0...v0.6.2)

---
updated-dependencies:
- dependency-name: "@github/markdownlint-github"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 13:56:17 +00:00
dependabot[bot]
8787fcdd96 Bump @floating-ui/react from 0.26.9 to 0.26.10 in /extensions/ql-vscode
Bumps [@floating-ui/react](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react) from 0.26.9 to 0.26.10.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/react/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/react@0.26.10/packages/react)

---
updated-dependencies:
- dependency-name: "@floating-ui/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 13:56:05 +00:00
Nora
20cc5ad988 Merge pull request #3531 from github/dependabot/npm_and_yarn/extensions/ql-vscode/vite-5.2.6
Bump vite from 5.2.0 to 5.2.6 in /extensions/ql-vscode
2024-04-04 10:34:30 +02:00
dependabot[bot]
ecae6bdd99 Bump vite from 5.2.0 to 5.2.6 in /extensions/ql-vscode
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.2.0 to 5.2.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v5.2.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-03 16:47:45 +00:00
Andrew Eisenberg
00c0e70626 Merge pull request #3527 from aeisenberg/aeisenberg/fix-qlpack-schema
Fix the qlpack json schema
2024-04-03 09:46:11 -07:00
Koen Vlaswinkel
8cb2b34992 Add helper for substituting config variables 2024-04-03 14:42:31 +02:00
Robert
7da3740828 Merge pull request #3517 from github/robertbrignull/fix-token-alerts
Mark progress bars as cancellable where it appears we are respecting the token
2024-04-03 11:30:30 +01:00
Andrew Eisenberg
44c3c29857 Update changelog 2024-04-03 03:21:25 +00:00
Andrew Eisenberg
e6ebcf4245 Fix the qlpack json schema
This schema was incorrectly tagging `defaultSuite` properties that
aren't arrays as errors.

I think there are more, similar errors in this schema, but I only fixed
this one so that I can get `github/semmle-code` working with test
discovery.
2024-04-02 20:21:21 -07:00
Robert
4e43a07fb5 Merge branch 'main' into robertbrignull/fix-token-alerts 2024-04-02 17:27:53 +01:00
Charis Kyriakou
3508dc6d8c Tidy up some functions in the model evaluator (#3529)
* Rename model evaluator's updateVariantAnalysis -> setVariantAnalysis

* Merge updateRepoResults and updateReposResults into single setReposResults function
2024-04-02 12:32:50 +01:00
Koen Vlaswinkel
ff6f6cdf8a Merge pull request #3515 from github/koesie10/tee-logger-file-handle
Use file handle in TeeLogger
2024-04-02 10:02:41 +02:00
Robert
a5239fbede Merge pull request #3458 from github/robertbrignull/database-prompting
Refactor database-fetcher.ts into a class and simplify
2024-03-28 18:05:54 +00:00
Robert
7d259a9322 Fix dodgy imports 2024-03-28 17:51:22 +00:00
Koen Vlaswinkel
6f7b7cf84f Merge pull request #3525 from github/dependabot/npm_and_yarn/extensions/ql-vscode/types/semver-7.5.8
Bump @types/semver from 7.5.6 to 7.5.8 in /extensions/ql-vscode
2024-03-28 14:57:58 +01:00
Koen Vlaswinkel
c6865de312 Merge pull request #3526 from github/dependabot/npm_and_yarn/extensions/ql-vscode/express-4.19.2
Bump express from 4.18.2 to 4.19.2 in /extensions/ql-vscode
2024-03-28 14:57:18 +01:00
dependabot[bot]
133d5899af Bump @types/semver from 7.5.6 to 7.5.8 in /extensions/ql-vscode
Bumps [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver) from 7.5.6 to 7.5.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: "@types/semver"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 13:43:46 +00:00
dependabot[bot]
8d7d469803 Bump express from 4.18.2 to 4.19.2 in /extensions/ql-vscode
Bumps [express](https://github.com/expressjs/express) from 4.18.2 to 4.19.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.18.2...4.19.2)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 13:43:32 +00:00
Koen Vlaswinkel
7575beac6b Merge pull request #3524 from github/dependabot/npm_and_yarn/extensions/ql-vscode/lint-staged-15.2.2
Bump lint-staged from 15.2.0 to 15.2.2 in /extensions/ql-vscode
2024-03-28 14:43:09 +01:00
Koen Vlaswinkel
9e5d0ae7c2 Merge pull request #3522 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-5df8c90cc2
Bump the storybook group in /extensions/ql-vscode with 12 updates
2024-03-28 14:42:31 +01:00
dependabot[bot]
ae6b9df9e7 Bump lint-staged from 15.2.0 to 15.2.2 in /extensions/ql-vscode
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 15.2.0 to 15.2.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md)
- [Commits](https://github.com/okonet/lint-staged/compare/v15.2.0...v15.2.2)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 13:29:17 +00:00
dependabot[bot]
5ff353962f Bump the storybook group in /extensions/ql-vscode with 12 updates
Bumps the storybook group in /extensions/ql-vscode with 12 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `8.0.2` | `8.0.5` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `8.0.2` | `8.0.5` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `8.0.2` | `8.0.5` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `8.0.2` | `8.0.5` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `8.0.2` | `8.0.5` |
| [@storybook/blocks](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/blocks) | `8.0.2` | `8.0.5` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `8.0.2` | `8.0.5` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `8.0.2` | `8.0.5` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `8.0.2` | `8.0.5` |
| [@storybook/react-vite](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-vite) | `8.0.2` | `8.0.5` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `8.0.2` | `8.0.5` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `8.0.2` | `8.0.5` |


Updates `@storybook/addon-a11y` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/addons/a11y)

Updates `@storybook/addon-actions` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/addons/actions)

Updates `@storybook/addon-essentials` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/addons/essentials)

Updates `@storybook/addon-interactions` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/addons/interactions)

Updates `@storybook/addon-links` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/addons/links)

Updates `@storybook/blocks` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/ui/blocks)

Updates `@storybook/components` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/ui/components)

Updates `@storybook/manager-api` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/lib/manager-api)

Updates `@storybook/react` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/renderers/react)

Updates `@storybook/react-vite` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/frameworks/react-vite)

Updates `@storybook/theming` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/lib/theming)

Updates `storybook` from 8.0.2 to 8.0.5
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.5/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/blocks"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/react-vite"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 13:28:32 +00:00
Robert
3cae3ccc3c Merge branch 'main' into robertbrignull/database-prompting 2024-03-28 13:12:00 +00:00
Shati Patel
7a41d9c605 Add unit test for createModeledMethodKey (#3521) 2024-03-28 11:32:34 +00:00
Robert
d3476259b3 Unexport ProgressTask 2024-03-28 11:07:57 +00:00
Robert
28bf345ea8 Make trim cache not cancellable 2024-03-28 10:58:42 +00:00
Robert
e23d4a9d9f Make restarting the query server not cancellable, because in practice it wasn't 2024-03-28 10:51:00 +00:00
Robert
47a5993333 Make clearCacheInDatabase not take a cancellation token 2024-03-28 10:45:17 +00:00
Shati Patel
45e20f405b Link from alerts indicator to model alerts view (#3520) 2024-03-28 10:31:29 +00:00
Shati Patel
fcf74b337f Refactor: extract function for canonicalising modeled methods (#3518) 2024-03-27 14:40:57 +00:00
Shati Patel
c84fa538ba Fire an event when clicking the "model alerts indicator" button (#3516) 2024-03-27 12:47:22 +00:00
Shati Patel
317d3b3c0e Fix "View" link in model alerts view (#3519) 2024-03-27 12:16:09 +00:00
Koen Vlaswinkel
e52a08db4d Safely close file handle in all cases 2024-03-27 10:46:56 +01:00
Koen Vlaswinkel
139c4555d9 Use Disposable type instead of isDisposable function 2024-03-27 10:43:31 +01:00
Shati Patel
a502e52d37 Add "view" button in model alerts view (#3514) 2024-03-26 17:51:37 +00:00
Robert
6b0f7e86fa Mark progress bars as cancellable where it appears we are respecting the token 2024-03-26 17:05:22 +00:00
Andrew Eisenberg
5d45a114be Merge pull request #3510 from github/aeisenberg/flush-archive-files
Flush archive file systems when removed
2024-03-26 08:11:36 -07:00
Koen Vlaswinkel
b53b33e3b6 Use file handle in TeeLogger
This switches the `TeeLogger` from using the `appendFile` function to
manually opening and closing a file handle and calling `appendFile` on
the file handle. This results in a more efficient implementation as the
file handle is only opened once and closed once, instead of being
opened and closed for every log message. This should result in less
"too many open files" errors.
2024-03-26 15:58:44 +01:00
Shati Patel
ccd53133a9 Use wider type for "reveal in model editor" (#3512) 2024-03-26 13:54:42 +00:00
Koen Vlaswinkel
38e862c1e0 Merge pull request #3513 from github/github-action/bump-cli
Bump CLI Version to v2.16.6 for integration tests
2024-03-26 14:12:44 +01:00
Koen Vlaswinkel
8de85453ec Merge pull request #3511 from github/koesie10/update-kinds
Update supported sink and source kinds in the model editor
2024-03-26 13:54:16 +01:00
github-actions[bot]
6d535ab0ad Bump CLI version from v2.16.5 to v2.16.6 for integration tests 2024-03-26 12:24:52 +00:00
Koen Vlaswinkel
61fa841784 Update CHANGELOG 2024-03-26 12:20:45 +01:00
Koen Vlaswinkel
b3c83d175a Update supported sink and source kinds 2024-03-26 12:09:51 +01:00
Koen Vlaswinkel
bd57005832 Split Java and C# model editor languages 2024-03-26 11:55:20 +01:00
Andrew Eisenberg
e939750822 Flush archive file systems when removed
This change will remove a file system archive from the cache when the associated folder is removed from the workspace.

This avoids the following bug:

1. Import a database and add its source folder
2. Remove the database (source folder is removed as well automatically).
3. Change the source code and recreate the database
4. Reimport the database and source folder
5. BUG: You see the original source folder, not the new source folder
2024-03-25 16:29:02 -07:00
Charis Kyriakou
21c33b762c Added filtering and sorting in the model alerts view (#3509) 2024-03-25 17:18:09 +00:00
Charis Kyriakou
8b6a9352f6 Update model alert processing to track repo results (#3508) 2024-03-25 12:15:16 +00:00
Charis Kyriakou
dea68e928a Extract re-usable SearchBox component (#3507) 2024-03-25 10:34:23 +00:00
Charis Kyriakou
a6b3d38939 Re-use setRepoResults instead of having a setReposResult message (#3506) 2024-03-22 16:01:02 +00:00
Koen Vlaswinkel
1739af4013 Merge pull request #3505 from github/koesie10/fix-python-model-editor
Fix detection of Python instance methods
2024-03-22 15:39:58 +01:00
Charis Kyriakou
cbc6b73759 Wire up processing model evaluation run results and showing alerts (#3503) 2024-03-22 14:33:36 +00:00
Koen Vlaswinkel
5c43018692 Merge pull request #3504 from github/koesie10/downgrade-typescript-eslint
Downgrade `@typescript-eslint/eslint-plugin` to v6
2024-03-22 13:10:03 +01:00
Koen Vlaswinkel
895673188f Fix detection of Python instance methods 2024-03-22 13:09:21 +01:00
Koen Vlaswinkel
38327c7b7f Downgrade @typescript-eslint/eslint-plugin to v6
Version 7 of `@typescript-eslint` is not compatible with Node 18.17 and
requires Node 18.18+ or Node 20. The latest minor/patch version of v7
started enforcing this requirement, but this was already part of the
breaking changes for v7.
2024-03-22 12:21:32 +01:00
Koen Vlaswinkel
161fe3d5a7 Merge pull request #3502 from github/dependabot/npm_and_yarn/extensions/ql-vscode/vscode/debugprotocol-1.65.0
Bump @vscode/debugprotocol from 1.64.0 to 1.65.0 in /extensions/ql-vscode
2024-03-21 14:48:18 +01:00
Koen Vlaswinkel
b99caf7bc1 Merge pull request #3499 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-e497c5f385
Bump the storybook group in /extensions/ql-vscode with 1 update
2024-03-21 14:47:21 +01:00
Koen Vlaswinkel
bd7d8ddaf0 Merge pull request #3501 from github/dependabot/npm_and_yarn/extensions/ql-vscode/typescript-eslint-09a1cc5d51
Bump the typescript-eslint group in /extensions/ql-vscode with 1 update
2024-03-21 14:47:05 +01:00
Koen Vlaswinkel
5c0ecd4041 Merge pull request #3500 from github/dependabot/npm_and_yarn/extensions/ql-vscode/testing-library-79d2cbd4c7
Bump the testing-library group in /extensions/ql-vscode with 1 update
2024-03-21 14:46:43 +01:00
dependabot[bot]
bfdb04bf69 Bump @vscode/debugprotocol in /extensions/ql-vscode
Bumps [@vscode/debugprotocol](https://github.com/microsoft/vscode-debugadapter-node) from 1.64.0 to 1.65.0.
- [Commits](https://github.com/microsoft/vscode-debugadapter-node/compare/v1.64.0...v1.65.0)

---
updated-dependencies:
- dependency-name: "@vscode/debugprotocol"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:33:52 +00:00
dependabot[bot]
c8f9381af2 Bump the typescript-eslint group in /extensions/ql-vscode with 1 update
Bumps the typescript-eslint group in /extensions/ql-vscode with 1 update: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin).


Updates `@typescript-eslint/eslint-plugin` from 7.2.0 to 7.3.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.3.1/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: typescript-eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:33:38 +00:00
dependabot[bot]
189a460621 Bump the testing-library group in /extensions/ql-vscode with 1 update
Bumps the testing-library group in /extensions/ql-vscode with 1 update: [@testing-library/react](https://github.com/testing-library/react-testing-library).


Updates `@testing-library/react` from 14.2.1 to 14.2.2
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.2.1...v14.2.2)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: testing-library
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:33:15 +00:00
dependabot[bot]
79967b8aed Bump the storybook group in /extensions/ql-vscode with 1 update
Bumps the storybook group in /extensions/ql-vscode with 1 update: [@storybook/csf](https://github.com/ComponentDriven/csf).


Updates `@storybook/csf` from 0.1.2 to 0.1.3
- [Release notes](https://github.com/ComponentDriven/csf/releases)
- [Changelog](https://github.com/ComponentDriven/csf/blob/v0.1.3/CHANGELOG.md)
- [Commits](https://github.com/ComponentDriven/csf/compare/v0.1.2...v0.1.3)

---
updated-dependencies:
- dependency-name: "@storybook/csf"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-21 13:32:57 +00:00
Arthur Baars
cdacde3121 Merge pull request #3498 from github/github-action/bump-cli
Bump CLI Version to v2.16.5 for integration tests
2024-03-21 14:29:09 +01:00
github-actions[bot]
219840200c Bump CLI version from v2.16.4 to v2.16.5 for integration tests 2024-03-21 12:36:34 +00:00
Charis Kyriakou
175907d39c Add React components for showing model alert results (#3495) 2024-03-20 15:00:33 +00:00
Charis Kyriakou
a8a63a4633 Remove repoStates state tracking from model evaluation (#3496) 2024-03-20 14:59:58 +00:00
Shati Patel
83b0614162 Fix code scanning alert about duplicate command usage (#3497) 2024-03-20 14:37:45 +00:00
Koen Vlaswinkel
9e1ca91676 Merge pull request #3480 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-ea1bb043e9
Bump the storybook group in /extensions/ql-vscode with 11 updates
2024-03-20 14:50:38 +01:00
Charis Kyriakou
6c3b0b5bb1 Move AnalysisAlert mock creation to a factory module (#3493) 2024-03-20 12:03:06 +00:00
Robert
e7d2a59756 Merge pull request #3478 from github/robertbrignull/token-query
Simplify query now we've deleted withInheritedProgress
2024-03-20 11:38:42 +00:00
Koen Vlaswinkel
8c3d3b62f5 Move @storybook/icons to devDependencies 2024-03-20 12:28:47 +01:00
Koen Vlaswinkel
c110fd3e0b Switch from Webpack to Vite for Storybook
This simplifies the setup and makes it more similar to the "real"
extension setup since it also uses ESBuild (which is also used by Vite).
2024-03-20 12:26:59 +01:00
Koen Vlaswinkel
47cdd109a4 Merge pull request #3494 from github/version/bump-to-v1.12.5
Bump version to v1.12.5
2024-03-20 12:13:49 +01:00
Koen Vlaswinkel
c553b1cb1d Run storybook migrate mdx-to-csf 2024-03-20 12:08:36 +01:00
Koen Vlaswinkel
ee4b13c9e9 Fix deprecation warning 2024-03-20 12:06:08 +01:00
github-actions[bot]
1982ad45b8 Bump version to v1.12.5 2024-03-20 10:54:17 +00:00
Koen Vlaswinkel
fb77d628f1 Merge pull request #3492 from github/v1.12.4
v1.12.4
2024-03-20 11:52:56 +01:00
Shati Patel
36236680a4 Add model alerts stats to the view (#3481) 2024-03-20 10:14:39 +00:00
Koen Vlaswinkel
876af669cb v1.12.4
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2024-03-20 10:28:24 +01:00
Charis Kyriakou
3519139e68 Update MethodName component to receive specific props (#3491) 2024-03-20 09:03:13 +00:00
Charis Kyriakou
724370fb40 Fix ModelAlerts view stories (#3490) 2024-03-19 16:07:39 +00:00
Andrew Eisenberg
4deae2f79d Merge pull request #3486 from github/aeisenberg/ignore-missing-database
Three minor improvements to `testproj` import
2024-03-18 12:47:43 -07:00
Charis Kyriakou
3f817b3c0f Don't show notification after local query cancellation (#3489)
* Don't show notification after local query cancellation

* Update CHANGELOG
2024-03-18 15:57:21 +00:00
Charis Kyriakou
2d1c2349f8 Add 'stop evaluation' action to Model Alerts view (#3487) 2024-03-18 15:41:33 +00:00
Charis Kyriakou
46efb7c971 Center align model evaluation run link (#3488) 2024-03-18 13:56:51 +00:00
Charis Kyriakou
79d4e8cb78 Wire up variant analysis updates to Model Alerts view (#3485) 2024-03-18 11:35:45 +00:00
Andrew Eisenberg
31cfaebb59 Ensure database sources are zipped on re-import 2024-03-17 11:51:58 -07:00
Andrew Eisenberg
fe957db17a When importing from a directory, check for testproj
Use the testproj style import when using the folder icon to import a
database. This means that if the database directory ends with `testproj`
copy the database into workspace storage and make it available for
re-importing when the origin database changes.
2024-03-17 11:27:35 -07:00
Andrew Eisenberg
d57255152c Safely check for out of date databases
When checking to re-import test databases, if the target database is
missing or otherwise unavailable, avoid the check and just continue.

This avoids a bug where a user would delete a test database and there
would be an error when trying to run a query.
2024-03-17 11:25:05 -07:00
Charis Kyriakou
752ec04400 Added error handling on webview message processing (#3470) 2024-03-15 12:27:26 +00:00
dependabot[bot]
ec31b97de8 Bump @types/jest from 29.5.11 to 29.5.12 in /extensions/ql-vscode (#3483)
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 29.5.11 to 29.5.12.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 10:45:42 -07:00
dependabot[bot]
c447548db3 Bump the typescript-eslint group in /extensions/ql-vscode with 1 update (#3482)
Bumps the typescript-eslint group in /extensions/ql-vscode with 1 update: [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin).


Updates `@typescript-eslint/eslint-plugin` from 6.19.0 to 7.2.0
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v7.2.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: typescript-eslint
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 10:45:11 -07:00
dependabot[bot]
f5c3502202 Bump @babel/preset-env from 7.23.9 to 7.24.0 in /extensions/ql-vscode (#3475)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.23.9 to 7.24.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.0/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 10:43:59 -07:00
Charis Kyriakou
5427c169b9 Show model packs in Model Alerts view (#3484) 2024-03-14 17:11:14 +00:00
dependabot[bot]
de2fc2966d Bump the storybook group in /extensions/ql-vscode with 11 updates
Bumps the storybook group in /extensions/ql-vscode with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) | `7.6.15` | `8.0.0` |
| [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/actions) | `7.6.4` | `8.0.0` |
| [@storybook/addon-essentials](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/essentials) | `7.6.4` | `8.0.0` |
| [@storybook/addon-interactions](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/interactions) | `7.6.4` | `8.0.0` |
| [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/links) | `7.6.4` | `8.0.0` |
| [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) | `7.6.17` | `8.0.0` |
| [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) | `7.6.7` | `8.0.0` |
| [@storybook/react](https://github.com/storybookjs/storybook/tree/HEAD/code/renderers/react) | `7.6.12` | `8.0.0` |
| [@storybook/react-webpack5](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-webpack5) | `7.6.12` | `8.0.0` |
| [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) | `7.6.17` | `8.0.0` |
| [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) | `7.6.15` | `8.0.0` |


Updates `@storybook/addon-a11y` from 7.6.15 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/addons/a11y)

Updates `@storybook/addon-actions` from 7.6.4 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/addons/actions)

Updates `@storybook/addon-essentials` from 7.6.4 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/addons/essentials)

Updates `@storybook/addon-interactions` from 7.6.4 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/addons/interactions)

Updates `@storybook/addon-links` from 7.6.4 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/addons/links)

Updates `@storybook/components` from 7.6.17 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/ui/components)

Updates `@storybook/manager-api` from 7.6.7 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/lib/manager-api)

Updates `@storybook/react` from 7.6.12 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/renderers/react)

Updates `@storybook/react-webpack5` from 7.6.12 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/frameworks/react-webpack5)

Updates `@storybook/theming` from 7.6.17 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/lib/theming)

Updates `storybook` from 7.6.15 to 8.0.0
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/next/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v8.0.0/code/lib/cli)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/addon-actions"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/addon-essentials"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/addon-interactions"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/addon-links"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/react"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/react-webpack5"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: storybook
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 16:19:27 +00:00
Koen Vlaswinkel
f06bc88b59 Merge pull request #3477 from github/koesie10/grouped-dependabot-updates
Group some npm dependency updates
2024-03-14 17:15:15 +01:00
Robert
d65e6bea53 Simplify now we've deleted withInheritedProgress 2024-03-14 16:02:37 +00:00
Charis Kyriakou
115ff838c5 Add model packs to variant analyses (#3472) 2024-03-14 14:39:30 +00:00
Koen Vlaswinkel
41524cf45c Group some npm dependency updates 2024-03-14 15:05:29 +01:00
Robert
9777cb1c66 Merge pull request #3464 from github/robertbrignull/token-not-used
Create token-not-used.ql to catch cases where we aren't using the progress bar token correctly
2024-03-14 13:46:30 +00:00
Robert
d9ac8744b6 Merge pull request #3466 from github/robertbrignull/remove_withInheritedProgress
Delete withInheritedProgress and ProgressContext
2024-03-14 13:44:22 +00:00
Robert
fffb0349a6 Apply suggestions from code review
Co-authored-by: Koen Vlaswinkel <koesie10@users.noreply.github.com>
2024-03-14 13:33:06 +00:00
Robert
0454130821 Merge branch 'main' into robertbrignull/remove_withInheritedProgress 2024-03-14 13:24:36 +00:00
Shati Patel
06f9f2c687 Add title to model alerts view (#3465) 2024-03-14 11:46:36 +00:00
Charis Kyriakou
dd90e38b7a Add new ModelPacks component (#3469) 2024-03-14 11:34:34 +00:00
Charis Kyriakou
aa2f371583 Close Model Alerts view when Model editor closes (#3468) 2024-03-14 10:39:44 +00:00
Charis Kyriakou
bbc881e7c7 Move LinkIconButton to common dir (#3467) 2024-03-14 09:39:59 +00:00
Andrew Eisenberg
4cdbdd0d7d Merge pull request #3433 from github/aeisenberg/re-import-test-db
Import testproj databases into workspace storage
2024-03-13 12:34:01 -07:00
Robert
ff889b73e1 Make documentation of fields more consistent 2024-03-13 18:09:51 +00:00
Robert
834b6a649e Use jest.MockedFunction 2024-03-13 18:06:44 +00:00
Robert
16b8f848b5 Delete ProgressContext 2024-03-13 17:57:08 +00:00
Robert
bf58e311dd Delete withInheritedProgress because we always have a progress context 2024-03-13 17:37:21 +00:00
Robert
84df4b64d8 Update messages/descriptions with how to fix the alert 2024-03-13 17:24:09 +00:00
Robert
4346cc6e98 Link to cancellable property 2024-03-13 17:08:55 +00:00
Robert
73bece6f38 Add query for using token when not cancellable 2024-03-13 16:43:59 +00:00
Robert
280bf8b7b2 Convert to an abstract class 2024-03-13 16:43:42 +00:00
Koen Vlaswinkel
a559a0a3e2 Merge pull request #3454 from github/koesie10/cancellable-variant-analysis
Make the "Run variant analysis against published pack" command cancellable
2024-03-13 16:10:18 +01:00
Koen Vlaswinkel
695cf340b7 Do not make model evaluator cancellable 2024-03-13 15:48:52 +01:00
Shati Patel
84a8ffdad2 Only allow one open model alerts view (#3461) 2024-03-13 14:05:47 +00:00
Koen Vlaswinkel
d56f71710e Use MultiCancellationToken in model evaluator 2024-03-13 13:03:46 +01:00
Robert
826175ccd5 Create token-not-used.ql 2024-03-13 11:32:57 +00:00
Shati Patel
3005dacf4e Use VSCodeBadge component (#3462) 2024-03-13 10:12:48 +00:00
Koen Vlaswinkel
8bb0085992 Enable forceExit for CLI tests 2024-03-13 10:20:55 +01:00
Koen Vlaswinkel
992a836ccb Use tree-kill for killing CLI process 2024-03-13 10:19:39 +01:00
Andrew Eisenberg
2d85018d1d Add better log messages 2024-03-12 16:32:24 -07:00
Andrew Eisenberg
f84f792c5f Merge remote-tracking branch 'upstream/main' into aeisenberg/re-import-test-db 2024-03-12 14:50:50 -07:00
Robert
55b9b2e891 Use mocks instead of spies in tests 2024-03-12 15:44:17 +00:00
Robert
ec42728367 Only construct DatabaseFetcher once in extension.ts 2024-03-12 15:38:27 +00:00
Robert
9fa6d99f09 Have the skeleton query wizard call promptImportGithubDatabase so we can make more methods private 2024-03-12 15:32:44 +00:00
Robert
f29aff6303 Inline isFile 2024-03-12 15:32:44 +00:00
Robert
3ee081e8c6 Move commonly-used field to DatabaseFetcher constructor 2024-03-12 15:32:40 +00:00
Robert
18f1a46493 Naively convert DatabaseFetcher to a class 2024-03-12 15:14:00 +00:00
Shati Patel
eb1a5cfba3 Add "model alerts indicator" component (#3441) 2024-03-12 14:08:49 +00:00
Koen Vlaswinkel
0cbd96ff7c Add error listener 2024-03-12 13:43:15 +01:00
Koen Vlaswinkel
3050437cab Clean up process 2024-03-12 13:43:15 +01:00
Koen Vlaswinkel
27bb46ab4c Make more parts of running a variant analysis cancellable 2024-03-12 13:43:14 +01:00
Koen Vlaswinkel
24b7adfb92 Allow cancelling pack download 2024-03-12 13:42:40 +01:00
Koen Vlaswinkel
97eaaacce6 Run pack bundle in separate process and allow cancelling it 2024-03-12 13:42:24 +01:00
Koen Vlaswinkel
b961a7ae55 Extract RunOptions 2024-03-12 13:42:24 +01:00
Koen Vlaswinkel
23003ec8bf Extract process output handling in CLI server 2024-03-12 13:42:24 +01:00
Koen Vlaswinkel
c32065e895 Merge pull request #3457 from github/koesie10/query-suite-code-scanning
Use suite file instead of manually filtering queries
2024-03-12 13:06:12 +01:00
Koen Vlaswinkel
b71a536e00 Use include instructions for suite file 2024-03-12 11:44:30 +01:00
Andrew Eisenberg
fd3acfb1c9 Address pull request comments 2024-03-11 16:01:25 -07:00
github-actions[bot]
66de756d88 Bump CLI Version to v2.16.4 for integration tests (#3459)
* Bump CLI version from v2.16.3 to v2.16.4 for integration tests

* Remove extraneous `v2.16.2` from supported list

We only need to keep the most recent patch version for each minor version.

---------

Co-authored-by: github-actions[bot] <github-actions@github.com>
Co-authored-by: Angela P Wen <angelapwen@github.com>
2024-03-11 14:10:03 -07:00
Koen Vlaswinkel
16a0fce7ce Merge pull request #3456 from github/koesie10/unique-database-names
Make database storage paths more unique
2024-03-11 16:40:46 +01:00
Koen Vlaswinkel
0feef365d9 Clean up temporary file in finally block 2024-03-11 14:39:07 +01:00
Koen Vlaswinkel
e003175f76 Reduce nanoid tries 2024-03-11 14:17:16 +01:00
Koen Vlaswinkel
0e3665b5fc Improve readability of duplicate filename logic 2024-03-11 14:16:53 +01:00
Koen Vlaswinkel
7681a56a16 Fix location of removing dots 2024-03-11 14:14:28 +01:00
Koen Vlaswinkel
bbc09f3ae5 Merge remote-tracking branch 'origin/main' into koesie10/unique-database-names 2024-03-11 12:49:32 +01:00
Koen Vlaswinkel
fe0136091d Use readdir instead of repeated pathExists calls 2024-03-11 12:41:26 +01:00
Koen Vlaswinkel
1ab3deab4d Merge pull request #3455 from github/koesie10/extension-managed-location
Fix incomplete removal of databases
2024-03-11 12:20:14 +01:00
Robert
650b09cf6a Merge pull request #3444 from github/robertbrignull/start-modeling-test
Add tests of MethodModelingViewProvider.viewLoaded
2024-03-11 11:18:56 +00:00
Robert
18f9b5fe15 Use jest.MockedFunction 2024-03-11 11:04:58 +00:00
Robert
dbd5d0f406 Remove unused arguments from resolveWebviewView 2024-03-11 11:02:37 +00:00
Robert
b436fbd73b Merge pull request #3453 from github/robertbrignull/convertGithubNwoToDatabaseUrl
Move convertGithubNwoToDatabaseUrl to databases/github-databases/api.ts
2024-03-11 10:58:15 +00:00
Robert
5402cab05a Merge pull request #3452 from github/robertbrignull/findDirWithFile
Move findDirWithFile to files.ts
2024-03-11 10:57:36 +00:00
Koen Vlaswinkel
e8efbbb9fd Introduce createFilenameFromString function 2024-03-11 11:31:43 +01:00
Koen Vlaswinkel
82741e95c3 Add test for extension-managed db location 2024-03-11 11:15:15 +01:00
Koen Vlaswinkel
35267bb3fd Use suite file instead of manually filtering queries 2024-03-08 16:12:56 +01:00
Koen Vlaswinkel
2c35a97b09 Make database storage paths more unique 2024-03-08 14:56:06 +01:00
Koen Vlaswinkel
f426178b96 Fix incomplete removal of databases 2024-03-08 13:45:59 +01:00
Shati Patel
dbd5078424 Fix warning in package.json about "editor.wordBasedSuggestions" (#3451) 2024-03-07 16:48:29 +00:00
Robert
66879ef626 Move convertGithubNwoToDatabaseUrl to databases/github-databases/api.ts 2024-03-07 16:36:29 +00:00
Robert
fe6dc8a7a3 Move findDirWithFile to files.ts 2024-03-07 16:31:01 +00:00
Robert
8b2355acc3 Merge pull request #3447 from github/dependabot/npm_and_yarn/extensions/ql-vscode/vscode/vsce-2.24.0
Bump @vscode/vsce from 2.22.0 to 2.24.0 in /extensions/ql-vscode
2024-03-07 14:12:01 +00:00
dependabot[bot]
be06026832 Bump @vscode/vsce from 2.22.0 to 2.24.0 in /extensions/ql-vscode
Bumps [@vscode/vsce](https://github.com/Microsoft/vsce) from 2.22.0 to 2.24.0.
- [Release notes](https://github.com/Microsoft/vsce/releases)
- [Commits](https://github.com/Microsoft/vsce/compare/v2.22.0...v2.24.0)

---
updated-dependencies:
- dependency-name: "@vscode/vsce"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 13:58:43 +00:00
Robert
d7ef716d63 Merge pull request #3446 from github/dependabot/npm_and_yarn/extensions/ql-vscode/vscode/test-electron-2.3.9
Bump @vscode/test-electron from 2.3.8 to 2.3.9 in /extensions/ql-vscode
2024-03-07 13:57:22 +00:00
Robert
cd9a0287fb Merge pull request #3448 from github/dependabot/npm_and_yarn/extensions/ql-vscode/nanoid-5.0.6
Bump nanoid from 5.0.4 to 5.0.6 in /extensions/ql-vscode
2024-03-07 13:56:03 +00:00
Robert
4187fd6e91 Merge pull request #3445 from github/dependabot/npm_and_yarn/extensions/ql-vscode/tar-stream-3.1.7
Bump tar-stream from 3.1.6 to 3.1.7 in /extensions/ql-vscode
2024-03-07 13:55:38 +00:00
dependabot[bot]
651a9a627e Bump nanoid from 5.0.4 to 5.0.6 in /extensions/ql-vscode
Bumps [nanoid](https://github.com/ai/nanoid) from 5.0.4 to 5.0.6.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/5.0.4...5.0.6)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 13:37:01 +00:00
dependabot[bot]
cd2fdf9d2e Bump @vscode/test-electron from 2.3.8 to 2.3.9 in /extensions/ql-vscode
Bumps [@vscode/test-electron](https://github.com/Microsoft/vscode-test) from 2.3.8 to 2.3.9.
- [Changelog](https://github.com/microsoft/vscode-test/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Microsoft/vscode-test/commits/v2.3.9)

---
updated-dependencies:
- dependency-name: "@vscode/test-electron"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 13:36:36 +00:00
dependabot[bot]
7ad9507910 Bump tar-stream from 3.1.6 to 3.1.7 in /extensions/ql-vscode
Bumps [tar-stream](https://github.com/mafintosh/tar-stream) from 3.1.6 to 3.1.7.
- [Commits](https://github.com/mafintosh/tar-stream/compare/v3.1.6...v3.1.7)

---
updated-dependencies:
- dependency-name: tar-stream
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 13:36:25 +00:00
Robert
54cf5c55a8 Add tests of MethodModelingViewProvider viewLoaded 2024-03-07 10:10:33 +00:00
Robert
659da6cee1 Merge pull request #3440 from github/robertbrignull/database-download-creds
Push decision to use credentials or not down to where the creds are used
2024-03-06 16:43:19 +00:00
Robert
707cdec1ec Update CHANGELOG.md 2024-03-06 16:28:37 +00:00
Robert
ee5ccecbd3 Merge pull request #3443 from github/robertbrignull/delete_hasStateForActiveDb
Delete hasStateForActiveDb as it is unused
2024-03-06 16:26:33 +00:00
Robert
4a662eabfa Merge pull request #3442 from github/robertbrignull/cancellationTokenSource
Use CancellationTokenSource instead of casting dummy objects
2024-03-06 16:18:59 +00:00
Robert
0cdcd2ce67 Delete hasStateForActiveDb as it is unused 2024-03-06 14:52:48 +00:00
Robert
2bc261eacf Use CancellationTokenSource instead of casting dummy objects 2024-03-06 12:28:30 +00:00
Robert
83a6b5a054 Merge pull request #3439 from github/robertbrignull/modeling-mode
Refactor events to fix the method modeling panel getting stuck showing "start modeling"
2024-03-06 12:06:22 +00:00
Robert
5d263bb1a3 Push decision to use credentials or not down to where the creds are used 2024-03-05 15:11:00 +00:00
Shati Patel
cffecafb61 Add a new "model alerts" webview (for showing results from model evaluation) (#3436) 2024-03-05 14:39:30 +00:00
Rasmus Wriedt Larsen
6f1504aaff Merge pull request #3438 from github/RasmusWL/fix-quick-eval-counts
Fix `isQuickEvalCount` logic
2024-03-05 13:34:00 +01:00
Robert
ce12c67469 Merge pull request #3437 from github/robertbrignull/testplan-table-query
Avoid using a @treemap query in testplan
2024-03-05 12:14:12 +00:00
Robert
dc08da924f Inline showMethod 2024-03-05 11:56:37 +00:00
Robert
fdd45e8dbd Make revealItem private by listening to onSelectedMethodChanged 2024-03-05 11:56:31 +00:00
Robert
2f49ac83de Remove setMethod which was only called from onSelectedMethodChanged which we already listen to 2024-03-05 11:05:07 +00:00
Rasmus Wriedt Larsen
c69cea1f8e Apply suggestions from code review
Co-authored-by: Robert <robertbrignull@github.com>
2024-03-05 11:51:51 +01:00
Rasmus Wriedt Larsen
e6b1d8d616 Fix isQuickEvalCount logic
Since `false !== undefined` evaluates to true, we would assign the wrong
value to `isQuickEvalCount` when
`selectedQuery.quickEval?.quickEvalCount` is false
2024-03-05 11:21:43 +01:00
Robert
08c6c8a50c Introduce SetNoMethodSelectedMessage 2024-03-05 09:57:01 +00:00
Robert
d4413424c1 Rewrite setInitialState to always set all fields 2024-03-05 09:57:01 +00:00
Robert
a82be4258c Pull out setSelectedMethod method 2024-03-05 09:57:01 +00:00
Robert
b946f3a509 Pull out setDatabaseItem method 2024-03-05 09:57:00 +00:00
Robert
6402f05624 Avoid using a @treemap query in testplan 2024-03-05 09:42:07 +00:00
Shati Patel
ad9f78ca2b Add link to open "Evaluation Run" from the model editor (#3435) 2024-03-04 17:07:32 +00:00
Robert
54737a0221 Merge pull request #3434 from github/robertbrignull/node-version-workflow
Mention that an automated workflow exists for updating the node version
2024-03-04 16:04:01 +00:00
Robert
ff664dd18c Mention that an automated workflow exists for updating the node version 2024-03-04 11:14:50 +00:00
Andrew Eisenberg
0ed9242b81 Try waiting a few seconds before renaming 2024-03-02 20:43:55 -08:00
Andrew Eisenberg
3497219c68 Use unzipToDirectoryConcurrently instead of the unzipper package 2024-03-01 16:16:59 -05:00
Andrew Eisenberg
4450237612 Add changelog note
And fix linting error.
2024-03-01 15:41:26 -05:00
Koen Vlaswinkel
b7be98b627 Merge pull request #3414 from github/koesie10/verify-valid-sarif
Add check for id property when running variant analysis
2024-03-01 11:20:42 +01:00
Charis Kyriakou
96b7722f26 Add logic to stop an evaluation run (#3421) 2024-03-01 09:25:03 +00:00
Andrew Eisenberg
361fed622b Ask user if they want to re-import outdated testproj dbs
Before running a query now, do the following:

1. Check if the selected database is imported from a testproj
2. If so, check the last modified time of the `codeql-datase.yml` file
   of the imported database with that of its origin.
3. If the origin database has a file that is newer, assume that the
   database has been recreated since the last time it was imported.
4. If newer, then ask the user if they want to re-import before running
   the query.

Also, this change appends the `(test)` label to all test databases in
the database list.
2024-03-01 10:16:16 +01:00
Shati Patel
df782592bc Extract "ModelEvaluation" component (#3432) 2024-02-29 16:42:38 +00:00
dependabot[bot]
30fd1226d5 Bump @babel/core from 7.23.6 to 7.24.0 in /extensions/ql-vscode (#3429)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.23.6 to 7.24.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.24.0/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-29 06:47:04 -08:00
dependabot[bot]
d810ed823a Bump eslint-plugin-storybook in /extensions/ql-vscode (#3431)
Bumps [eslint-plugin-storybook](https://github.com/storybookjs/eslint-plugin-storybook) from 0.6.15 to 0.8.0.
- [Release notes](https://github.com/storybookjs/eslint-plugin-storybook/releases)
- [Changelog](https://github.com/storybookjs/eslint-plugin-storybook/blob/main/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/eslint-plugin-storybook/compare/v0.6.15...v0.8.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-storybook
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-29 06:23:01 -08:00
dependabot[bot]
567a0bb194 Bump applicationinsights from 2.9.2 to 2.9.4 in /extensions/ql-vscode (#3430)
Bumps [applicationinsights](https://github.com/microsoft/ApplicationInsights-node.js) from 2.9.2 to 2.9.4.
- [Release notes](https://github.com/microsoft/ApplicationInsights-node.js/releases)
- [Commits](https://github.com/microsoft/ApplicationInsights-node.js/compare/2.9.2...2.9.4)

---
updated-dependencies:
- dependency-name: applicationinsights
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-29 06:22:37 -08:00
Charis Kyriakou
f283df0225 Update model evaluation notification (#3426) 2024-02-29 14:19:34 +00:00
dependabot[bot]
a70fd835f1 Bump mini-css-extract-plugin in /extensions/ql-vscode (#3428)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 2.8.0 to 2.8.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.8.0...v2.8.1)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-29 06:12:11 -08:00
Charis Kyriakou
a51bd76392 Skip logging warning for multi-query variant analyses (#3425) 2024-02-29 13:50:19 +00:00
Charis Kyriakou
1ac92ad79c Don't open variant analysis view when running a model evaluation run (#3424) 2024-02-29 13:38:21 +00:00
Koen Vlaswinkel
b168ce708b Check against problem and path-problem aliases 2024-02-29 14:01:32 +01:00
Anders Starcke Henriksen
fc5d462dc5 Merge pull request #3423 from github/version/bump-to-v1.12.4
Bump version to v1.12.4
2024-02-29 12:17:11 +01:00
github-actions[bot]
30da5d5b62 Bump version to v1.12.4 2024-02-29 10:42:04 +00:00
Anders Starcke Henriksen
b301c4a08c Merge pull request #3422 from github/v1.12.3
v1.12.3
2024-02-29 11:40:21 +01:00
Anders Starcke Henriksen
bb796b0c27 v1.12.3
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2024-02-29 10:24:32 +01:00
Koen Vlaswinkel
f73ea67967 Merge pull request #3413 from github/koesie10/fix-tests-with-warnings
Show test results for tests with warnings
2024-02-28 16:02:32 +01:00
Koen Vlaswinkel
eaa432b9d7 Add tests for new test warning behavior 2024-02-28 14:01:06 +01:00
Charis Kyriakou
23bbff230f Update variant analysis monitor to get the whole variant analysis object (#3415) 2024-02-28 12:12:27 +00:00
Charis Kyriakou
b884cff14d Some restructuring around variant analysis mapper functions (#3412) 2024-02-28 11:45:49 +00:00
Koen Vlaswinkel
359ee76d52 Merge pull request #3401 from github/koesie10/hide-generated-type-models
Generate separate file for generated type models in Ruby by default
2024-02-28 11:47:58 +01:00
Koen Vlaswinkel
5521c00346 Add check for id property when running variant analysis 2024-02-28 11:17:15 +01:00
Koen Vlaswinkel
eb71df84a7 Move query metadata retrieval before pack bundling 2024-02-28 11:15:00 +01:00
Koen Vlaswinkel
d14c7b4114 Show test results for tests with warnings 2024-02-28 10:47:29 +01:00
Charis Kyriakou
ab36153511 Minor renames in variant analysis monitor tests (#3411)
* Rename mockGetVariantAnalysis -> mockGetVariantAnalysisFromApi

* Rename mockEecuteCommand -> mockExecuteCommand
2024-02-28 09:12:26 +00:00
Koen Vlaswinkel
0599adccc0 Fix generated text
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com>
2024-02-28 09:58:33 +01:00
Charis Kyriakou
e86127672a Drop async from some functions that are not async (#3410) 2024-02-27 16:57:53 +00:00
Charis Kyriakou
040c7fc726 Add support for 'canceling' status for variant analysis (#3405) 2024-02-27 16:32:24 +00:00
Charis Kyriakou
5f047386c9 Rename getVariantAnalysis to tryGetVariantAnalysis (#3409) 2024-02-27 14:31:43 +00:00
Charis Kyriakou
a416bcf544 Rename variable in variant analysis manager (#3408) 2024-02-27 14:07:12 +00:00
Robert
c45a8158a3 Merge pull request #3395 from github/robertbrignull/set-modeled-and-modified-methods
Set modeled methods and modified methods together
2024-02-26 13:24:39 +00:00
Robert
a74e36314c Update extensions/ql-vscode/test/__mocks__/model-editor/modelingEventsMock.ts
Co-authored-by: Koen Vlaswinkel <koesie10@users.noreply.github.com>
2024-02-26 13:11:22 +00:00
Robert
7fac0405b3 Remove dedicated modified methods event 2024-02-26 11:22:46 +00:00
Robert
7c77b39d30 Rename to ModeledAndModifiedMethodsChanged 2024-02-26 11:22:44 +00:00
Robert
1567d83463 modifiedMethodSignatures is always defined 2024-02-26 11:22:41 +00:00
Koen Vlaswinkel
7dceded98c Use showTypeModels setting instead of canary mode 2024-02-26 12:11:16 +01:00
Robert
ec67df3373 Merge branch 'main' into robertbrignull/set-modeled-and-modified-methods 2024-02-26 11:06:34 +00:00
Robert
6e61ddb0f2 Merge pull request #3398 from github/robertbrignull/sort-in-modeling-store
Move all sorting to the modeling store, and then all views preserve the sorting
2024-02-26 11:05:59 +00:00
Koen Vlaswinkel
32d981ace4 Merge remote-tracking branch 'origin/main' into koesie10/hide-generated-type-models 2024-02-26 11:59:23 +01:00
Koen Vlaswinkel
1da465f7df Merge pull request #3399 from github/koesie10/hide-type-models-non-canary
Hide type models for Ruby by default
2024-02-26 11:58:30 +01:00
Koen Vlaswinkel
713ca9f785 Fix test names 2024-02-26 11:45:23 +01:00
Robert
9a5654648d Rename to createGroups 2024-02-26 10:35:51 +00:00
Robert
a1c84ac689 Reorder expected test data 2024-02-26 10:32:46 +00:00
Koen Vlaswinkel
7591c65db2 Add showTypeModels setting 2024-02-26 11:19:23 +01:00
Koen Vlaswinkel
c8ec1d6ea3 Merge remote-tracking branch 'origin/main' into koesie10/hide-type-models-non-canary 2024-02-26 11:07:54 +01:00
Andrew Eisenberg
ca21ed18d0 Import testproj databases into workspace storage
If a folder that ends with `.testproj` is encountered, assume it is a
database created by a codeql test. When the user wants to import this
database, copy it into workspace storage. The database can be
re-imported, which first removes the old version before importing it
again.
2024-02-25 18:39:41 -05:00
Koen Vlaswinkel
8063d6c46b Merge pull request #3402 from github/koesie10/simplify-multiple-modeled-methods-panel-spec
Reduce repetition in `MultipleModeledMethodsPanel.spec.tsx`
2024-02-23 16:32:45 +01:00
Koen Vlaswinkel
48718ca2e6 Reduce repetition in MultipleModeledMethodsPanel.spec.tsx 2024-02-23 15:47:40 +01:00
Koen Vlaswinkel
22024462fb Generate separate file for generated type models in Ruby 2024-02-23 15:38:12 +01:00
Koen Vlaswinkel
b4a9ef0d4c Merge pull request #3400 from github/koesie10/refactor-yaml-save
Extract saving of model extension YAML file
2024-02-23 15:24:16 +01:00
Koen Vlaswinkel
5468aef458 Extract saving of model extension YAML file 2024-02-23 14:38:12 +01:00
Charis Kyriakou
f4a866b04b Add logic to trigger model evaluation run (#3397) 2024-02-23 11:17:25 +00:00
Koen Vlaswinkel
f57d4418c7 Hide type models for Ruby in non-canary mode 2024-02-23 10:32:17 +01:00
Chris Smowton
a62522ec67 Merge pull request #3388 from github/github-action/bump-cli
Bump CLI Version to v2.16.3 for integration tests
2024-02-23 09:28:01 +00:00
Koen Vlaswinkel
6031d9b496 Merge pull request #3394 from github/koesie10/auto-run-generate-ruby-type-models
Auto-generate type models for Ruby
2024-02-23 10:15:05 +01:00
Koen Vlaswinkel
c216b52c8d Merge pull request #3370 from github/koesie10/model-pack-mrva-test
Add test for model packs in MRVA to test plan
2024-02-23 10:14:55 +01:00
Robert
ff685f0233 Move all sorting to the modeling store, and then all views preserve the sorting 2024-02-22 17:20:36 +00:00
Charis Kyriakou
948c1e2eb7 Add model evaluation run to store and view (#3385) 2024-02-22 16:28:32 +00:00
Robert
5ce09e6ccc Include modifiedMethodSignatures in SetModeledMethodsMessage 2024-02-22 15:45:57 +00:00
Robert
8832655c2f Add modifiedMethodSignatures to ModeledMethodsChangedEvent 2024-02-22 15:45:53 +00:00
Koen Vlaswinkel
e408c0ac95 Auto-generate type models for Ruby 2024-02-22 16:44:03 +01:00
dependabot[bot]
07d9c4efc4 Bump @storybook/components from 7.6.7 to 7.6.17 in /extensions/ql-vscode (#3393)
Bumps [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) from 7.6.7 to 7.6.17.
- [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/v7.6.17/code/ui/components)

---
updated-dependencies:
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-22 06:23:26 -08:00
dependabot[bot]
98491fb1dc Bump @typescript-eslint/parser in /extensions/ql-vscode (#3392)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.16.0 to 6.21.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.21.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-22 06:23:05 -08:00
dependabot[bot]
5c305f96de Bump @faker-js/faker from 8.3.1 to 8.4.1 in /extensions/ql-vscode (#3391)
Bumps [@faker-js/faker](https://github.com/faker-js/faker) from 8.3.1 to 8.4.1.
- [Release notes](https://github.com/faker-js/faker/releases)
- [Changelog](https://github.com/faker-js/faker/blob/next/CHANGELOG.md)
- [Commits](https://github.com/faker-js/faker/compare/v8.3.1...v8.4.1)

---
updated-dependencies:
- dependency-name: "@faker-js/faker"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-22 06:22:45 -08:00
dependabot[bot]
4b64e98e9f Bump @testing-library/react in /extensions/ql-vscode (#3390)
Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 14.1.2 to 14.2.1.
- [Release notes](https://github.com/testing-library/react-testing-library/releases)
- [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/react-testing-library/compare/v14.1.2...v14.2.1)

---
updated-dependencies:
- dependency-name: "@testing-library/react"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-22 06:22:18 -08:00
dependabot[bot]
2b14639c80 Bump chokidar from 3.5.3 to 3.6.0 in /extensions/ql-vscode (#3389)
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.5.3 to 3.6.0.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.5.3...3.6.0)

---
updated-dependencies:
- dependency-name: chokidar
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-22 06:21:58 -08:00
Koen Vlaswinkel
b826ed3d9c Merge pull request #3373 from github/koesie10/download-timeout
Add timeouts to downloading databases and the CLI
2024-02-22 13:39:38 +01:00
Robert
63de6cece5 Allow changeModeledMethods to also call fireModifiedMethodsChangedEvent 2024-02-22 12:36:06 +00:00
Robert
59118f63aa Change addModeledMethods and updateModeledMethods to also set methods as modified 2024-02-22 12:31:17 +00:00
Robert
91e59323f3 Delete setModifiedMethods as it is unused 2024-02-22 12:31:17 +00:00
Koen Vlaswinkel
54e1275f68 Merge pull request #3387 from github/koesie10/update-ruby-generate-query-constraints
Update Ruby model generation query constraints
2024-02-22 13:27:43 +01:00
Koen Vlaswinkel
9437cd094b Update CHANGELOG 2024-02-22 13:25:03 +01:00
github-actions[bot]
6161c7d3d4 Bump CLI version from v2.16.2 to v2.16.3 for integration tests 2024-02-22 11:54:32 +00:00
Koen Vlaswinkel
873ccaa7fd Update Ruby model generation query constraints 2024-02-22 12:09:00 +01:00
Robert
7a2688edac Merge pull request #3382 from github/robertbrignull/automodel-sort-order
Update method sort order to place auto-model predictions earlier
2024-02-22 11:00:51 +00:00
Koen Vlaswinkel
bf35909375 Merge pull request #3380 from github/koesie10/processed-method-modeling
Add processed by auto model state to method modeling panel
2024-02-22 09:34:55 +01:00
Robert
4096ded330 Merge branch 'main' into robertbrignull/automodel-sort-order 2024-02-21 17:38:50 +00:00
Robert
fee7eae702 Merge pull request #3377 from github/robertbrignull/disable-automodel-button
Disable the automodel button if there are no methods that can be modeled
2024-02-21 16:11:21 +00:00
Koen Vlaswinkel
2c6eb3c832 Fix incorrect modelPending prop 2024-02-21 16:24:11 +01:00
Robert
2fdafaf616 Move getCandidates to the shared directory 2024-02-21 12:29:43 +00:00
Robert
b59437e7dc Cover in unit test that unmodeled and unsaved manual models are sorted together 2024-02-21 11:49:13 +00:00
Charis Kyriakou
e78f7e62fb Moved logic to get standard pack for variant analysis (#3384) 2024-02-21 11:42:08 +00:00
Robert
759f8d4768 Give test methods signatures that'll be easier to identify 2024-02-21 11:39:54 +00:00
Robert
3ca4c7623e Update sort order for supported methods and unsaved manual models 2024-02-21 11:38:58 +00:00
Robert
7a68fcd05d Add comment explaining sort order more 2024-02-21 10:40:38 +00:00
Robert
1bad26a67d Merge branch 'main' into robertbrignull/automodel-sort-order 2024-02-21 10:33:27 +00:00
Koen Vlaswinkel
db73cfeb76 Merge pull request #3378 from github/koesie10/ignore-more-location-indexes
Ignore more location indexes in SARIF comparison
2024-02-21 10:37:47 +01:00
Koen Vlaswinkel
3d2d86bf6e Merge pull request #3379 from github/koesie10/italic-model-pending
Show auto-model negative predictions in italics
2024-02-21 09:55:29 +01:00
Charis Kyriakou
0533dad9ea Add progress ring in 'stop evaluation' button (#3383) 2024-02-20 16:44:47 +00:00
Robert
95fd015414 Add unit tests of method sorting 2024-02-20 16:07:03 +00:00
Robert
70a64886d6 Rename + expand existing helper for shuffling lists 2024-02-20 15:19:01 +00:00
Charis Kyriakou
46a15bfdd6 Add dummy model evaluation buttons to model editor (#3381) 2024-02-20 14:50:15 +00:00
Robert
14dbb65f50 Change sort order to place AI predictions at the start 2024-02-20 14:38:30 +00:00
Robert
8f3ab61422 Perform filtering before sorting when determining auto-model candidates 2024-02-20 14:24:13 +00:00
Koen Vlaswinkel
409c89653c Add processed by auto model state to method modeling panel 2024-02-20 15:05:49 +01:00
Robert
3598b1871f Merge pull request #3376 from github/robertbrignull/dont-model-twice
Don't send methods to AutoModel more than once
2024-02-20 13:57:17 +00:00
Robert
e3d9efef06 Use anonymous function instead of direct function reference 2024-02-20 13:35:27 +00:00
Koen Vlaswinkel
694bb21713 Ignore more location indexes in SARIF comparison 2024-02-20 14:32:41 +01:00
Robert
d6c5ebe73a Pass methodSignatures to getProcessedByAutoModelMethods 2024-02-20 13:27:09 +00:00
Koen Vlaswinkel
899b159209 Use auto-model status for determining model pending 2024-02-20 14:22:31 +01:00
Koen Vlaswinkel
545311f26d Switch from model accepted to model pending 2024-02-20 14:17:25 +01:00
Robert
d9ae0c6d17 Disable the automodel button if there are no methods that can be modeled 2024-02-20 12:34:49 +00:00
Koen Vlaswinkel
4727e0ecab Merge pull request #3375 from github/koesie10/react-processed-by-auto-model
Add `processedByAutoModelMethods` state to React view
2024-02-20 13:11:24 +01:00
Robert
dbdb561598 Don't send methods to AutoModel more than once 2024-02-20 12:06:07 +00:00
Koen Vlaswinkel
bca4910bf2 Add processedByAutoModelMethods state to React view 2024-02-20 12:15:57 +01:00
Robert
3b30f22143 Merge pull request #3374 from github/robertbrignull/sentToLLMMethods
Add sentToLLM to ModelingStore
2024-02-20 10:05:27 +00:00
Robert
67f46b7fb2 Add processedByAUtoModel to modelingEventsMock 2024-02-20 09:47:37 +00:00
Robert
f98c5319cb Rename to processedByAutoModel 2024-02-20 09:44:25 +00:00
Koen Vlaswinkel
7cd43cd894 Merge pull request #3369 from github/koesie10/stream-cli-output
Stream CLI server command stderr instead of buffering
2024-02-20 09:29:39 +01:00
Robert
4c4820f76a add sentToLLM to ModelingStore 2024-02-19 16:48:40 +00:00
Koen Vlaswinkel
1b66767d43 Simplify stderr buffers and EOL splitting
Co-authored-by: Robert <robertbrignull@github.com>
2024-02-19 16:40:28 +01:00
Koen Vlaswinkel
1a9c792756 Extract timeout and apply to it to CLI downloads 2024-02-19 16:11:53 +01:00
Koen Vlaswinkel
feeb9d68b7 Add timeout to downloading databases 2024-02-19 14:10:28 +01:00
Robert
58b26d2b41 Merge pull request #3363 from github/robertbrignull/database-picker
Small usability improvements to database picker
2024-02-19 10:52:31 +00:00
Robert
0f18c841dc Update placeholder text 2024-02-19 10:39:29 +00:00
Koen Vlaswinkel
67870cac08 Merge pull request #3372 from github/koesie10/upgrade-ip
Upgrade ip package
2024-02-19 10:37:33 +01:00
Koen Vlaswinkel
3de57d82ab Upgrade ip package 2024-02-19 09:44:30 +01:00
Charis Kyriakou
60e497a763 Remove support for CodeQL CLI v2.12.7 and v2.11.6 (#3371) 2024-02-16 16:22:02 +00:00
Koen Vlaswinkel
abda1baca7 Add test for model packs in MRVA to test plan 2024-02-16 13:45:35 +01:00
Koen Vlaswinkel
5ddc3c11d3 Stream CLI server command stderr instead of buffering 2024-02-16 13:14:39 +01:00
dependabot[bot]
d2f4cd12a1 Bump @storybook/addon-a11y in /extensions/ql-vscode (#3364)
Bumps [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) from 7.6.13 to 7.6.15.
- [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/v7.6.15/code/addons/a11y)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 02:26:16 -08:00
dependabot[bot]
01b53f1709 Bump @testing-library/jest-dom in /extensions/ql-vscode (#3368)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.2.0 to 6.4.2.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.2.0...v6.4.2)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 08:42:03 +00:00
dependabot[bot]
2224ff936f Bump storybook from 7.6.10 to 7.6.15 in /extensions/ql-vscode (#3366)
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) from 7.6.10 to 7.6.15.
- [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/v7.6.15/code/lib/cli)

---
updated-dependencies:
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 08:40:59 +00:00
dependabot[bot]
29cbe9a273 Bump mini-css-extract-plugin in /extensions/ql-vscode (#3365)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 2.7.7 to 2.8.0.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.7.7...v2.8.0)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 08:40:26 +00:00
Shati Patel
f1cc347e2a Add "short-paths" test (#3350) 2024-02-15 16:09:35 +00:00
Shati Patel
b7010aa102 Replace deprecated telemetry setting in the tests (#3362) 2024-02-15 10:22:08 +00:00
Charis Kyriakou
574ba177cd Tidy up auto-modeling rate limit error message (#3361) 2024-02-15 08:28:50 +00:00
Robert
d440c1080c Make placeholder messages more descriptive 2024-02-14 17:08:43 +00:00
Robert
bb1bd5ce8b Add test for when there are no databases 2024-02-14 16:44:37 +00:00
Robert
dd98a968ce Fix naming in test databases 2024-02-14 16:41:07 +00:00
Robert
8c87493d76 Don't offer existing databases if there aren't any 2024-02-14 16:30:58 +00:00
Koen Vlaswinkel
0f4a7788a7 Merge pull request #3360 from github/koesie10/remove-any-from-gulpfile
Add types to TextMate gulp step
2024-02-14 14:59:49 +01:00
Robert
f12629ec4a Merge pull request #3359 from github/robertbrignull/resultsapp
Remove cases from ResultsApp that seem to be impossible
2024-02-14 13:52:37 +00:00
Koen Vlaswinkel
3cb92233ac Add types to TextMate gulp step 2024-02-14 14:26:42 +01:00
Robert
51c81f9172 Move setState call later 2024-02-14 12:41:18 +00:00
Robert
9eb7f96ac0 Remove impossible cases because resultsInfo cannot be null 2024-02-14 12:40:10 +00:00
Robert
9f4b82710a Merge pull request #3354 from github/robertbrignull/multi-mrva-test
Add a CLI test for MRVA with multiple queries
2024-02-14 12:23:56 +00:00
Charis Kyriakou
715b2004f7 Make some clarifications in the test plan (#3358) 2024-02-14 12:05:24 +00:00
Robert
2138f859f5 Skip test when CLI version is not high enough 2024-02-14 11:48:58 +00:00
Robert
9e2b16afe3 Merge pull request #3353 from github/robertbrignull/eslint_no_any
Enable no-explicit-any throughout production code
2024-02-14 11:25:46 +00:00
Robert
93e6c53c8d Merge eslintrc files 2024-02-14 11:10:35 +00:00
Koen Vlaswinkel
f4eed4d6a0 Merge pull request #3352 from github/koesie10/python-mad-format
Add support for Python in the model editor
2024-02-14 12:04:09 +01:00
Charis Kyriakou
c9a7c11731 Merge pull request #3357 from github/version/bump-to-v1.12.3
Bump version to v1.12.3
2024-02-14 10:47:37 +00:00
github-actions[bot]
701539fb7f Bump version to v1.12.3 2024-02-14 10:29:50 +00:00
Charis Kyriakou
2ca61fb2d3 Merge pull request #3356 from github/v1.12.2
v1.12.2
2024-02-14 10:28:25 +00:00
Robert
d1ba99f2b4 Add test files 🤦 2024-02-14 10:07:29 +00:00
Charis Kyriakou
ad98388b66 v1.12.2
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2024-02-14 09:24:55 +00:00
Koen Vlaswinkel
38816b9f52 Merge pull request #3355 from github/koesie10/fix-view-compilation
Recompile view when shared files change
2024-02-14 10:04:08 +01:00
Koen Vlaswinkel
1ce652629c Recompile view when shared files change 2024-02-14 09:46:58 +01:00
Robert
644f917b67 Add CLI test of multiple queries 2024-02-13 17:39:56 +00:00
Robert
e16468754a Convert doVariantAnalysisTest to take multiple queries 2024-02-13 17:22:01 +00:00
Robert
ed96cbb2c9 Use as unknown as ResultsPaths in ResultsApp.tsx 2024-02-13 14:59:17 +00:00
Robert
ac707ff75c Ignore any in useEffectEvent.ts 2024-02-13 14:59:14 +00:00
Robert
334dbf57ef Ignore any in CommandManager.ts 2024-02-13 14:53:15 +00:00
Robert
a4294e2e28 Disable no-explicit-any in gulpfile.ts directory 2024-02-13 14:53:15 +00:00
Robert
e3a6678dc7 Disable no-explicit-any in test directory 2024-02-13 14:53:15 +00:00
Robert
55c86016a3 Disallow use of any by default 2024-02-13 14:38:43 +00:00
Koen Vlaswinkel
070af9eb42 Add support for Python in the model editor 2024-02-13 15:22:37 +01:00
Shati Patel
70b8ddfa37 Add feature flag for Python model editor (#3351) 2024-02-13 14:02:13 +00:00
Robert
923a480ddd Merge pull request #3349 from github/robertbrignull/add_types
Add new type parameters to functions where possible
2024-02-13 14:02:04 +00:00
Robert
cd0d64605a Change registerCommandWithErrorHandling from two type args to one 2024-02-13 12:35:04 +00:00
Robert
fcc5f6967e Add generic types to registerCommandWithErrorHandling 2024-02-13 11:10:16 +00:00
Robert
74070fbc1a Add type information to Memento.update 2024-02-13 11:10:16 +00:00
Robert
f8e825287c Add typing to readJsonlFile
We're still not verifying the actual object returned by JSON.parse so
this isn't any safer at runtime than using 'any', but it helps add more
static typing to the code calling readJsonlFile.
2024-02-13 11:10:16 +00:00
Koen Vlaswinkel
d7e9606bfa Merge pull request #3331 from github/koesie10/endpoint-type-supported
Add supported endpoint types to predicates
2024-02-13 12:04:45 +01:00
Robert
be6166497f Merge pull request #3342 from github/robertbrignull/cached_operation
Give more types to CachedOperation to avoid use of any
2024-02-13 10:48:31 +00:00
Robert
01f6884b6c Undo changes to comment 2024-02-13 10:17:15 +00:00
Koen Vlaswinkel
8d1480ab35 Merge pull request #3348 from github/koesie10/ruby-canary
Remove `enableRuby` feature flag
2024-02-13 11:06:59 +01:00
Robert
4ed6a7b95b Merge pull request #3346 from github/robertbrignull/telemetry-unknown
Avoid use of any in TelemetryListener
2024-02-13 09:37:34 +00:00
Koen Vlaswinkel
00076a9538 Remove enableRuby feature flag 2024-02-13 10:18:50 +01:00
Dave Bartolomeo
3f02ff4151 Merge pull request #3347 from github/github-action/bump-cli
Bump CLI Version to v2.16.2 for integration tests
2024-02-12 10:37:37 -08:00
github-actions[bot]
9e7fefe724 Bump CLI version from v2.16.1 to v2.16.2 for integration tests 2024-02-12 18:23:59 +00:00
Robert
0f6afac222 Use type import 2024-02-12 17:16:34 +00:00
Robert
f7731e2e12 Merge pull request #3344 from github/robertbrignull/correct-types
Use correct types where possible instead of any
2024-02-12 16:51:06 +00:00
Robert
f4edc6e5a9 Merge pull request #3345 from github/robertbrignull/addWatcher-unknown
Use bind instead of thisArg parameter in MultiFileSystemWatcher
2024-02-12 16:37:21 +00:00
Robert
478d41648e Use type import 2024-02-12 16:32:42 +00:00
Robert
6472ea8fde Merge pull request #3341 from github/robertbrignull/unknown_type_checking
Use unknown instead of any in type functions
2024-02-12 15:57:23 +00:00
Robert
5a80d02a91 Merge pull request #3343 from github/robertbrignull/use-unknown
Use unknown instead of any where possible
2024-02-12 15:56:42 +00:00
Robert
939616372c Use correct type for envelope argument 2024-02-12 15:39:23 +00:00
Robert
bfe78eba9a Use string index notation instead of as any 2024-02-12 15:39:23 +00:00
Robert
8a389f2eb7 Remove thisArg from addWatcher and use bind instead 2024-02-12 15:38:26 +00:00
Robert
1004f16b10 Change addWatcher listener to return void 2024-02-12 15:38:26 +00:00
Robert
e5961f2967 Use Record<string, unknown> for additionalRunQueryArgs 2024-02-12 15:37:46 +00:00
Robert
25f179ca0e Use unknown in QLDebugSession.customRequest 2024-02-12 15:37:46 +00:00
Robert
e7adfdc8bc Use unknown for extension type 2024-02-12 15:37:45 +00:00
Robert
281242fa3f Use unknown in Disposable 2024-02-12 15:37:45 +00:00
Robert
4b832bd85c Use QlPackFile type in quick-query.ts 2024-02-12 15:36:43 +00:00
Robert
7af65ed86a Use computed type instead of any for listCodeqlDatabases response
This endpoint actually has the correct type already. We could explicitly
declare it as
RestEndpointMethodTypes["codeScanning"]["listCodeqlDatabases"]["response"]["data"][0]
but this seems unnecessary given how ugly that type is. If we just do nothing
then typescript already computes the correct type for us.
2024-02-12 15:36:22 +00:00
Robert
116aceffc1 Use correct type for octokit options 2024-02-12 15:36:13 +00:00
Robert
f6efcd5a21 onCancellationRequested listener should not return anything (I think) 2024-02-12 15:34:19 +00:00
Robert
bdbd123d32 Give type information to convertedLabelArray 2024-02-12 15:33:49 +00:00
Robert
f0ce52d01a Remove use of any in scripts/source-map.ts 2024-02-12 15:32:42 +00:00
Robert
31ff3577c4 Remove use of any in scripts/add-fields-to-scenarios.ts 2024-02-12 15:32:33 +00:00
Robert
98c96b09ee Give CachedOperation a type parameter for its args 2024-02-12 15:15:58 +00:00
Robert
f4727fe7b5 Convert CachedOperation callbacks to use Error type 2024-02-12 15:15:58 +00:00
Robert
e943e7fa2e Convert isTabInputText to use unknown 2024-02-12 15:15:33 +00:00
Robert
6e53f28972 Convert isIOError to use unknown 2024-02-12 15:15:32 +00:00
Robert
3b366a6f51 Convert isErrorLike to use unknown 2024-02-12 15:15:32 +00:00
Shati Patel
c906e76214 Update databases README (#3340) 2024-02-12 12:15:37 +00:00
Koen Vlaswinkel
aedc063d1a Merge pull request #3326 from github/koesie10/add-endpoint-type
Add endpoint type to method definition
2024-02-12 12:34:22 +01:00
Charis Kyriakou
ecea102292 Merge pull request #3333 from github/dependabot/npm_and_yarn/extensions/ql-vscode/floating-ui/react-0.26.9
Bump @floating-ui/react from 0.26.5 to 0.26.9 in /extensions/ql-vscode
2024-02-09 11:43:03 +00:00
Koen Vlaswinkel
59e20f0fcb Select option before accepting it
In the new version of Floating UI, it corrects that the JSDOM click was
seen as a "mobile" click. Since [`focusItemOnOpen`](https://floating-ui.com/docs/useListNavigation#focusitemonopen)
is set to `auto`, this results in selecting the first option when the
suggest box was opened. Now that JSDOM is correctly detected as a keyboard
input device, it will not select the first option when the suggest box is
opened. The tests have been updated to account for this by always first
selecting the first option before accepting it.
2024-02-09 12:00:53 +01:00
dependabot[bot]
1135f7a7f8 Bump @storybook/addon-a11y from 7.6.9 to 7.6.13 in /extensions/ql-vscode (#3332)
Bumps [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) from 7.6.9 to 7.6.13.
- [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/v7.6.13/code/addons/a11y)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-08 15:58:11 +00:00
Robert
d6bd482c89 Merge pull request #3330 from github/robertbrignull/debug_configuration_makearray
Remove use of any and make typing clearer in debugger code
2024-02-08 15:52:10 +00:00
Charis Kyriakou
11e5db9aca Merge branch 'main' into dependabot/npm_and_yarn/extensions/ql-vscode/floating-ui/react-0.26.9 2024-02-08 15:29:29 +00:00
Koen Vlaswinkel
0b4c611a5f Add supported endpoint types 2024-02-08 16:27:41 +01:00
dependabot[bot]
39cbe3b373 Bump semver from 7.5.4 to 7.6.0 in /extensions/ql-vscode (#3335)
Bumps [semver](https://github.com/npm/node-semver) from 7.5.4 to 7.6.0.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.4...v7.6.0)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-08 15:26:48 +00:00
dependabot[bot]
d62ac97a7b Bump prettier from 3.2.4 to 3.2.5 in /extensions/ql-vscode (#3336)
Bumps [prettier](https://github.com/prettier/prettier) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.2.4...3.2.5)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-08 15:24:08 +00:00
dependabot[bot]
6615c3df84 Bump @floating-ui/react from 0.26.5 to 0.26.9 in /extensions/ql-vscode
Bumps [@floating-ui/react](https://github.com/floating-ui/floating-ui/tree/HEAD/packages/react) from 0.26.5 to 0.26.9.
- [Release notes](https://github.com/floating-ui/floating-ui/releases)
- [Changelog](https://github.com/floating-ui/floating-ui/blob/master/packages/react/CHANGELOG.md)
- [Commits](https://github.com/floating-ui/floating-ui/commits/@floating-ui/react@0.26.9/packages/react)

---
updated-dependencies:
- dependency-name: "@floating-ui/react"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 13:48:25 +00:00
Robert
db5293a142 Convert makeArray to use NotArray 2024-02-08 12:06:20 +00:00
Robert
e93ef98a67 Convert debug-protocol and friends to use unknown instead of any 2024-02-08 12:03:06 +00:00
Robert
bd823b5745 Merge pull request #3329 from github/robertbrignull/asString
Use type 'string | Buffer' for process stdout/stderr
2024-02-08 10:56:27 +00:00
Robert
3e716e91c8 Merge pull request #3327 from github/robertbrignull/VsCodeWindow
Introduce VsCodeWindow to provide types for the fields we're reading/writing
2024-02-08 10:32:48 +00:00
Robert
58a06191c0 Use type of 'string | Buffer' 2024-02-08 10:26:32 +00:00
Robert
dd74372702 Merge pull request #3328 from github/robertbrignull/ref_types
Provide types for all react refs
2024-02-08 10:02:53 +00:00
Koen Vlaswinkel
6fd628b49c Add endpointType in tests 2024-02-08 11:02:09 +01:00
Robert
4f11f7560b Introduce VsCodeWindow to provide types for the fields we're reading/writing 2024-02-07 17:35:50 +00:00
Robert
388f4299b0 Introduce asString to call toString() safely on process stdout/stderr 2024-02-07 17:21:32 +00:00
Robert
b577576b00 Add typing to useScrollIntoView ref 2024-02-07 17:20:32 +00:00
Robert
126acc3979 Add typing to RawTableRow ref and friends 2024-02-07 17:20:31 +00:00
Robert
c6e6b5736c Add typing to AlertTableResultRow ref and friends 2024-02-07 17:20:31 +00:00
Robert
5fe5f70867 Merge pull request #3325 from github/robertbrignull/delete-additional-typings
Delete src/additional-typings.d.ts
2024-02-07 17:14:37 +00:00
Koen Vlaswinkel
c9be2ce32c Add endpoint type to method definition
This adds an `endpointType` property to method definitions since we
already have different endpoints (for example methods and modules in
Ruby) and it would be useful to make a distinction between these (it's
not possible to model a module as a source/sink/summary, but it should
be possible to model as a type).
2024-02-07 16:49:40 +01:00
Koen Vlaswinkel
bbfc5d88dd Merge pull request #3324 from github/koesie10/access-path-suggest-box
Extract `AccessPathSuggestBox` component
2024-02-07 16:34:14 +01:00
Shati Patel
b418f479d6 Don't try to parse output of codeql pack add as JSON (#3323) 2024-02-07 15:07:55 +00:00
Koen Vlaswinkel
f2eea4025a Merge pull request #3322 from github/koesie10/suggest-box-command-palette
Fix not being able to open command palette in suggest box
2024-02-07 14:36:19 +01:00
Koen Vlaswinkel
fdb4d42bf3 Add comment about returnFocus 2024-02-07 14:22:47 +01:00
Koen Vlaswinkel
688aa304f5 Extract AccessPathSuggestBox component
This extracts all common functionality from the various model editor
suggest box components into a single component that can be shared by
the model editor suggest box components to make improvements easier.
2024-02-07 14:00:08 +01:00
Robert
65a84f940d Delete src/additional-typings.d.ts 2024-02-07 12:50:52 +00:00
Koen Vlaswinkel
b74306249e Fix not being able to open command palette in suggest box 2024-02-07 13:41:29 +01:00
Shati Patel
57faebd5b9 Minor changelog update (#3321) 2024-02-06 16:28:02 +00:00
Koen Vlaswinkel
303e04ba64 Merge pull request #3320 from github/koesie10/access-paths-query-bqrs
Parse new access paths query BQRS output
2024-02-06 17:03:02 +01:00
Shati Patel
cc2e28c886 CodeQL model editor: Always show the "Generate" button for Ruby DBs (#3319) 2024-02-06 15:27:42 +00:00
Koen Vlaswinkel
c6e7bcd8fa Merge branch 'main' into koesie10/access-paths-query-bqrs 2024-02-06 16:21:11 +01:00
Koen Vlaswinkel
a03863cd4b Merge pull request #3317 from github/koesie10/sarif-comparison
Fix bug in SARIF comparison
2024-02-06 16:15:35 +01:00
Shati Patel
19d85a73e1 CodeQL model editor: Use suggest box for type path suggestions (#3316) 2024-02-06 15:11:56 +00:00
Koen Vlaswinkel
6030137f43 Merge pull request #3318 from github/koesie10/access-paths-configurable-query-constraints
Make query constraints for access paths query configurable
2024-02-06 15:38:43 +01:00
Koen Vlaswinkel
11e0f49135 Parse new access paths query BQRS output 2024-02-06 15:09:46 +01:00
Shati Patel
b35d6cbb3a Don't select a model editor row when you click the suggest box (#3307) 2024-02-06 14:01:21 +00:00
Koen Vlaswinkel
0477a9dee3 Make query constraints for access paths query configurable 2024-02-06 14:07:06 +01:00
Koen Vlaswinkel
c5db597676 Add tests for SARIF diff 2024-02-06 13:48:37 +01:00
Koen Vlaswinkel
73b6cc475c Fix bug in SARIF comparison
The SARIF comparison code was comparing the index of the artifact
location, which is not useful for comparison and may differ between runs
of very similar queries. This adds a function to convert a SARIF result
to a canonical form, which removes the index from the artifact location.
2024-02-06 13:40:09 +01:00
Shati Patel
7c233db4eb CodeQL model editor: Show access path suggestions in the webview (#3305) 2024-02-05 14:16:38 +00:00
Koen Vlaswinkel
ad5ae27a0d Merge pull request #3315 from github/koesie10/nightly-distribution-check
Execute a distribution check when changing the CLI channel
2024-02-05 14:36:02 +01:00
Koen Vlaswinkel
e9c7331c29 Execute a distribution check when changing the CLI channel 2024-02-05 13:16:17 +01:00
Charis Kyriakou
bc4d74246a Stop allowing running MRVA with query outside of workspace (#3302) 2024-02-05 11:17:11 +00:00
Koen Vlaswinkel
70171807c7 Merge pull request #3314 from github/koesie10/skip-tab-tests
Skip suggest box tests using Tab
2024-02-05 09:41:32 +01:00
Koen Vlaswinkel
490b7fbe70 Merge pull request #3313 from github/github-action/bump-node-version
Bump Node version to v18.17.1
2024-02-02 16:30:11 +01:00
Koen Vlaswinkel
d1b81b3f86 Skip suggest box tests using Tab 2024-02-02 15:59:43 +01:00
github-actions[bot]
7f975cc696 Bump Node version to v18.17.1 2024-02-02 12:25:12 +00:00
dependabot[bot]
89ce6cfde9 Bump @storybook/react-webpack5 in /extensions/ql-vscode (#3311)
Bumps [@storybook/react-webpack5](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-webpack5) from 7.6.7 to 7.6.12.
- [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/v7.6.12/code/frameworks/react-webpack5)

---
updated-dependencies:
- dependency-name: "@storybook/react-webpack5"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 16:06:42 +00:00
dependabot[bot]
3aea6874b5 Bump mini-css-extract-plugin in /extensions/ql-vscode (#3308)
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 2.7.6 to 2.7.7.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.7.6...v2.7.7)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 14:30:43 +00:00
dependabot[bot]
ae173f24f0 Bump @storybook/theming from 7.6.9 to 7.6.12 in /extensions/ql-vscode (#3309)
Bumps [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) from 7.6.9 to 7.6.12.
- [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/v7.6.12/code/lib/theming)

---
updated-dependencies:
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 14:15:49 +00:00
dependabot[bot]
ed2698ff01 Bump css-loader from 6.9.0 to 6.10.0 in /extensions/ql-vscode (#3310)
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 6.9.0 to 6.10.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v6.9.0...v6.10.0)

---
updated-dependencies:
- dependency-name: css-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 14:15:05 +00:00
dependabot[bot]
7151a498c8 Bump @babel/preset-env from 7.23.7 to 7.23.9 in /extensions/ql-vscode (#3312)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.23.7 to 7.23.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.9/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 14:14:50 +00:00
Robert
e582e63685 Merge pull request #3299 from github/robertbrignull/releases_tests
Use slightly more realistic tests data for ReleasesApiConsumer
2024-02-01 13:00:28 +00:00
Robert
600a5de0e9 Unexport unused type 2024-02-01 12:41:41 +00:00
Koen Vlaswinkel
f24487833e Merge pull request #3306 from github/koesie10/remove-bundled-ruby-query
Remove bundled Ruby queries
2024-02-01 12:45:18 +01:00
Koen Vlaswinkel
4e967d8111 Fix tests when there are no bundled queries 2024-02-01 12:10:46 +01:00
Koen Vlaswinkel
15c3805ad3 Remove bundled Ruby queries
This removes the bundled Ruby queries since these queries are in a
CodeQL release now, so we should never find that the queries don't
exist.
2024-02-01 12:01:40 +01:00
Shati Patel
cab963cc88 Send access path suggestions to the model editor view (#3304) 2024-02-01 09:49:05 +00:00
Shati Patel
c6c27f4ca3 Add access path suggestions to MaD model for Ruby (#3303) 2024-01-31 16:15:41 +00:00
Koen Vlaswinkel
b7ee9f9dd4 Merge pull request #3297 from github/koesie10/more-consistency-information
Add more information for consistency check errors
2024-01-31 16:26:45 +01:00
Koen Vlaswinkel
b3284d6760 Merge pull request #3298 from github/koesie10/try-fix-flaky-suggestbox-tab
Wait for options to be shown and to be removed when pressing Tab
2024-01-31 16:26:33 +01:00
Koen Vlaswinkel
e9e98403a9 Merge pull request #3301 from github/koesie10/improve-ruby-access-path-parsing
Fix Ruby method parsing for methods containing brackets
2024-01-31 16:26:10 +01:00
Charis Kyriakou
74c101bb51 Improve handling of unknown QL pack roots for multi-query MRVAs (#3289) 2024-01-31 13:53:07 +00:00
github-actions[bot]
ca8c48418f Bump version to v1.12.2 (#3300)
Co-authored-by: github-actions[bot] <github-actions@github.com>
2024-01-31 13:14:58 +00:00
Koen Vlaswinkel
8c72fe0f8d Fix Ruby method parsing for methods containing brackets
This fixes parsing of access paths for Ruby methods that contain square
brackets, such as `Liquid::Context#[]`. The previous implementation
would incorrectly stop capturing at the `]` character, resulting in a
method name of `[` for an access path of `Method[[]].ReturnValue`. This
fixes it by switching to the shared access path parsing code, which
correctly handles square brackets.
2024-01-31 14:07:54 +01:00
Shati Patel
9cd6dafdf4 Functions for running "access path suggestions" queries (#3294) 2024-01-31 13:04:08 +00:00
Koen Vlaswinkel
08dfd1a211 Add more information for consistency check errors 2024-01-31 13:59:32 +01:00
Shati Patel
9b07be00c7 v1.12.1 (#3296) 2024-01-31 12:52:43 +00:00
Koen Vlaswinkel
820989a8c5 Wait for option to not be present 2024-01-31 13:29:28 +01:00
Robert
9401c34509 Convert "gets correct assets for a release" to use the same example response as the other tests 2024-01-31 11:58:35 +00:00
Robert
750c0973a9 Populate name field in test data 2024-01-31 11:55:56 +00:00
Koen Vlaswinkel
6bd8c8ee78 Wait for options to be shown before pressing Tab 2024-01-31 12:36:09 +01:00
Shati Patel
841efbf826 Add AccessPathSuggestions to "models as data" model (#3295) 2024-01-31 10:15:07 +00:00
Shati Patel
8c679ab569 CodeQL model editor: Add functions for parsing complex access path suggestion options (#3292) 2024-01-30 16:17:40 +00:00
Robert
0391f972ad Merge pull request #3287 from github/robertbrignull/move_language_pack
Move language and pack to top level of variant analysis object
2024-01-30 15:22:06 +00:00
Koen Vlaswinkel
e3a9c06e3c Merge pull request #3288 from github/koesie10/suggest-box-tab
Allow using Tab to select the active option in the suggest box
2024-01-30 15:47:56 +01:00
Robert
a76dc8f0de Merge branch 'main' into robertbrignull/move_language_pack 2024-01-30 14:32:53 +00:00
Robert
222d3edaff Merge pull request #3293 from github/robertbrignull/variant-analysis-history-test-dto
Don't compare internal and dto types in variant-analysis-history.test.ts
2024-01-30 14:32:39 +00:00
Robert
31ea6aded7 Change test data so variant analyses have different IDs 2024-01-30 12:39:15 +00:00
Robert
b92e98fce4 Don't compare internal and dto types 2024-01-30 12:13:06 +00:00
Robert
a228dba0ee Merge branch 'main' into robertbrignull/move_language_pack 2024-01-29 16:34:13 +00:00
Robert
5367bdea9c Merge pull request #3290 from github/robertbrignull/history-tests-dtos
Don't accidentally mix DTO and non-DTO types in query-history-store.test.ts
2024-01-29 16:33:37 +00:00
Koen Vlaswinkel
978e48fe2c Merge pull request #3259 from github/koesie10/improve-error-message
Improve CLI error messages
2024-01-29 17:29:51 +01:00
Robert
98764a156a Introduce writeRawQueryHistory to ensure we're always writing Dto types 2024-01-29 15:53:39 +00:00
Robert
a85989e202 Change let to const where possible 2024-01-29 15:52:55 +00:00
Koen Vlaswinkel
8c696e10af Allow using Tab to select the active option 2024-01-29 14:53:36 +01:00
Koen Vlaswinkel
dc8062b784 Merge pull request #3242 from github/koesie10/suggest-box-open-key
Open suggest box with Ctrl + Space
2024-01-29 14:49:23 +01:00
Koen Vlaswinkel
ac5ed7b30c Merge remote-tracking branch 'origin/main' into koesie10/improve-error-message 2024-01-29 14:47:36 +01:00
Koen Vlaswinkel
c5e9ef15f2 Fix order of args and stderr in error message 2024-01-29 14:46:52 +01:00
Robert
e70b083828 Move language and pack to top level of variant analysis object 2024-01-29 12:11:22 +00:00
Charis Kyriakou
1b84906bce Add basic multi-query support to MRVA results view header (#3286) 2024-01-29 12:00:39 +00:00
Nora
1f24cd1a7f Merge pull request #3275 from github/nora/add-eslint-deprecation
Start using eslint-plugin-deprecation to find deprecated code
2024-01-26 11:46:12 +01:00
Nora
e126dfbe36 Remove 0 for parseInt 2024-01-25 16:19:31 +00:00
Charis Kyriakou
0e2c03f572 Rename queryPackDir -> targetPackPath (#3284) 2024-01-25 15:44:25 +00:00
Henry Mercer
95b082d56a Merge pull request #3283 from github/github-action/bump-cli
Bump CLI Version to v2.16.1 for integration tests
2024-01-25 15:28:04 +00:00
github-actions[bot]
56dd102db8 Bump CLI version from v2.16.0 to v2.16.1 for integration tests 2024-01-25 14:06:36 +00:00
dependabot[bot]
f5b6b4a9f2 Bump zip-a-folder from 3.1.5 to 3.1.6 in /extensions/ql-vscode (#3282)
Bumps [zip-a-folder](https://github.com/maugenst/zip-a-folder) from 3.1.5 to 3.1.6.
- [Commits](https://github.com/maugenst/zip-a-folder/commits)

---
updated-dependencies:
- dependency-name: zip-a-folder
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 13:35:57 +00:00
dependabot[bot]
5fc88bed32 Bump @types/react-dom from 18.2.17 to 18.2.18 in /extensions/ql-vscode (#3280)
Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.2.17 to 18.2.18.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 13:35:24 +00:00
dependabot[bot]
05e5e32854 Bump markdownlint-cli2 from 0.11.0 to 0.12.1 in /extensions/ql-vscode (#3279)
Bumps [markdownlint-cli2](https://github.com/DavidAnson/markdownlint-cli2) from 0.11.0 to 0.12.1.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.11.0...v0.12.1)

---
updated-dependencies:
- dependency-name: markdownlint-cli2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 13:35:08 +00:00
dependabot[bot]
554d8854a1 Bump styled-components from 6.1.1 to 6.1.8 in /extensions/ql-vscode (#3281)
Bumps [styled-components](https://github.com/styled-components/styled-components) from 6.1.1 to 6.1.8.
- [Release notes](https://github.com/styled-components/styled-components/releases)
- [Commits](https://github.com/styled-components/styled-components/compare/v6.1.1...v6.1.8)

---
updated-dependencies:
- dependency-name: styled-components
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 13:34:25 +00:00
dependabot[bot]
c9cb7eaa38 Bump storybook from 7.6.7 to 7.6.10 in /extensions/ql-vscode (#3278)
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) from 7.6.7 to 7.6.10.
- [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/v7.6.10/code/lib/cli)

---
updated-dependencies:
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 13:33:34 +00:00
Nora
70461d857c Use nanoid 2024-01-25 13:17:12 +00:00
Charis Kyriakou
e1ff113701 Fix version used in multi-query pack create constraint (#3277) 2024-01-25 12:40:23 +00:00
Charis Kyriakou
2f66be3fcc Tidy up uses of QueryPackDetail object fields (#3276) 2024-01-25 11:01:11 +00:00
Nora
12a3af0a75 Make random number bigger than 1000 2024-01-25 09:47:19 +00:00
Charis Kyriakou
594f422510 Add support for running multiple queries in MRVA (#3274) 2024-01-25 09:12:50 +00:00
Nora
d5932fc1de Use storybook type 2024-01-25 08:25:33 +00:00
Nora
8397f58d0b Disable rule for storybook types 2024-01-24 17:27:52 +00:00
Nora
dd9ca80820 Solution for unique numbers 2024-01-24 17:20:05 +00:00
Nora
deab3e6175 Update simple deprecations 2024-01-24 16:53:47 +00:00
Nora
a3f9518b78 Set up deprecation plugin 2024-01-24 16:45:02 +00:00
Charis Kyriakou
79fd44f696 Add run-remote-query.ts to CLI tests workflow triggers (#3272) 2024-01-24 12:27:25 +00:00
Robert
69ff7cb0e8 Merge pull request #3273 from github/robertbrignull/uri_fspath
Use Uri to convert paths to platform specific fs paths
2024-01-24 12:11:12 +00:00
Nora
3daefcdffc Merge pull request #3215 from github/nora/add-e2e-tests
E2E test prototype
2024-01-24 12:59:50 +01:00
Nora
a6f7ee3df8 Remove scheduled runs 2024-01-24 11:35:12 +00:00
Robert
92c4532cc2 Use Uri to convert paths to platform specific fs paths 2024-01-24 11:23:54 +00:00
Charis Kyriakou
0265befb26 Move query language to the QlPackDetails (#3270) 2024-01-23 16:13:06 +00:00
Charis Kyriakou
aada35187f Move QL pack file path to the QlPackDetails (#3269) 2024-01-23 14:54:42 +00:00
Charis Kyriakou
e612764c59 Move findPackRoot to ql.ts (#3268) 2024-01-23 13:29:46 +00:00
Shati Patel
e834d32a29 Add new feature flag for "access path suggestions" (#3266) 2024-01-23 12:04:22 +00:00
Charis Kyriakou
67e2ff3d4e Move QL pack root path to the QlPackDetails (#3267) 2024-01-23 12:00:09 +00:00
Charis Kyriakou
9285b0272d Push QL pack details creation to commands (#3262) 2024-01-23 10:17:13 +00:00
Dave Bartolomeo
445aa81f5a Merge pull request #3263 from github/dbartol/extensible-failure 2024-01-22 13:29:35 -05:00
Dave Bartolomeo
2cd1a99273 Fix another missing await 2024-01-22 13:08:39 -05:00
Dave Bartolomeo
b6bf683852 Fix PR feedback 2024-01-22 12:50:58 -05:00
Charis Kyriakou
5bb724b5be Rename getQlPackPath to getQlPackFilePath (#3265) 2024-01-22 16:49:42 +00:00
Shati Patel
5664844aba CodeQL model editor: Don't highlight row when clicking inside text box (#3264) 2024-01-22 16:29:24 +00:00
Charis Kyriakou
9644e5daee Stop variant analysis from published pack if no language selected (#3261) 2024-01-22 15:59:50 +00:00
Dave Bartolomeo
d7f01dcb29 Add missing await 2024-01-22 10:37:22 -05:00
Dave Bartolomeo
509e273108 Fix MRVA integration test failure 2024-01-22 10:21:35 -05:00
Nora
5c513bc821 Add note to readme 2024-01-22 14:15:27 +00:00
Nora
342dbfb5a9 Silence output 2024-01-22 14:05:57 +00:00
Charis Kyriakou
28aadb183b Use object for pack generation details (#3260) 2024-01-22 13:59:41 +00:00
Nora
6bf73dc196 Fix typo 2024-01-22 13:07:21 +00:00
Shati Patel
83148f6d57 Add test for "promptForDatabase" (#3248) 2024-01-22 11:09:12 +00:00
Nora
988a113cb3 Shorten playwright config 2024-01-19 17:42:41 +00:00
Nora
5136c95da7 Run E2E every night of the week, on merge to main and push to main 2024-01-19 17:38:18 +00:00
Nora
6741f0c431 Merge branch 'main' into nora/add-e2e-tests 2024-01-19 18:32:37 +01:00
Koen Vlaswinkel
ebf06b9af6 Update CHANGELOG 2024-01-19 12:28:04 +01:00
Koen Vlaswinkel
a85a4b41f5 Improve CLI error messages 2024-01-19 12:07:42 +01:00
Nora
8690f76968 Merge pull request #3255 from github/dependabot/npm_and_yarn/extensions/ql-vscode/prettier-3.2.4
Bump prettier from 3.1.1 to 3.2.4 in /extensions/ql-vscode
2024-01-19 11:40:30 +01:00
Nora
fc41360bad Check in npm run format 2024-01-19 10:15:00 +00:00
dependabot[bot]
a2ebc69d3a Bump prettier from 3.1.1 to 3.2.4 in /extensions/ql-vscode
Bumps [prettier](https://github.com/prettier/prettier) from 3.1.1 to 3.2.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.1.1...3.2.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 20:58:32 +00:00
dependabot[bot]
f1a915e46c Bump css-loader from 6.8.1 to 6.9.0 in /extensions/ql-vscode (#3256)
Bumps [css-loader](https://github.com/webpack-contrib/css-loader) from 6.8.1 to 6.9.0.
- [Release notes](https://github.com/webpack-contrib/css-loader/releases)
- [Changelog](https://github.com/webpack-contrib/css-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/css-loader/compare/v6.8.1...v6.9.0)

---
updated-dependencies:
- dependency-name: css-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-18 12:56:46 -08:00
Nora
2d1663d046 Merge pull request #3253 from github/dependabot/npm_and_yarn/extensions/ql-vscode/typescript-eslint/eslint-plugin-6.19.0
Bump @typescript-eslint/eslint-plugin from 6.18.0 to 6.19.0 in /extensions/ql-vscode
2024-01-18 16:11:27 +01:00
Nora
66be432610 Merge pull request #3254 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook/addon-a11y-7.6.9
Bump @storybook/addon-a11y from 7.6.4 to 7.6.9 in /extensions/ql-vscode
2024-01-18 16:10:52 +01:00
Nora
4ae4745a86 Merge pull request #3257 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook/theming-7.6.9
Bump @storybook/theming from 7.6.7 to 7.6.9 in /extensions/ql-vscode
2024-01-18 16:10:14 +01:00
Dave Bartolomeo
fef394b79d Merge pull request #3233 from github/dbartol/mrva-multi-bundle
Use CLI to bundle packs for MRVA
2024-01-18 09:10:21 -05:00
dependabot[bot]
ccfba04d97 Bump @storybook/theming from 7.6.7 to 7.6.9 in /extensions/ql-vscode
Bumps [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) from 7.6.7 to 7.6.9.
- [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/v7.6.9/code/lib/theming)

---
updated-dependencies:
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:49:17 +00:00
dependabot[bot]
c89382ceb7 Bump @storybook/addon-a11y from 7.6.4 to 7.6.9 in /extensions/ql-vscode
Bumps [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/code/addons/a11y) from 7.6.4 to 7.6.9.
- [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/v7.6.9/code/addons/a11y)

---
updated-dependencies:
- dependency-name: "@storybook/addon-a11y"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:48:04 +00:00
dependabot[bot]
8beaa7cbc0 Bump @typescript-eslint/eslint-plugin in /extensions/ql-vscode
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.18.0 to 6.19.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.19.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:47:43 +00:00
Nora
477c6b3819 Merge pull request #3252 from github/dependabot/github_actions/actions/dependency-review-action-4
Bump actions/dependency-review-action from 3 to 4
2024-01-18 14:43:21 +01:00
dependabot[bot]
978e00a252 Bump actions/dependency-review-action from 3 to 4
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 3 to 4.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-18 13:28:48 +00:00
Koen Vlaswinkel
5c132884a4 Merge remote-tracking branch 'origin/main' into koesie10/suggest-box-open-key 2024-01-18 10:25:26 +01:00
Koen Vlaswinkel
8e1fc2ca96 Merge pull request #3247 from github/koesie10/suggest-box-diagnostics
Add diagnostics to suggest box
2024-01-18 10:24:37 +01:00
Koen Vlaswinkel
d6e4b7ef56 Merge remote-tracking branch 'origin/main' into koesie10/suggest-box-diagnostics 2024-01-18 10:04:52 +01:00
Koen Vlaswinkel
4e81d41086 Add comment about Storybook test diagnostics 2024-01-18 10:03:45 +01:00
Koen Vlaswinkel
ac5038cf50 Merge pull request #3244 from github/koesie10/suggest-box-highlight
Add highlighting to items in suggest box
2024-01-18 10:02:17 +01:00
Dave Bartolomeo
d7e5552481 Fix broken test code 2024-01-17 17:48:44 -05:00
Dave Bartolomeo
65fbb6bca8 Fix PR feedback 2024-01-17 14:20:14 -05:00
Dave Bartolomeo
1d275985d0 Fix PR feedback 2024-01-17 12:49:20 -05:00
Dave Bartolomeo
55306c9a93 Fix PR feedback 2024-01-17 12:47:06 -05:00
Robert
ec6a725715 Merge pull request #3251 from github/robertbrignull/test_published_pack
Add an integration test of runVariantAnalysisFromPublishedPack
2024-01-17 16:15:23 +00:00
Robert
6b1a056ae6 Avoid using path separator in test data 2024-01-17 15:51:27 +00:00
Koen Vlaswinkel
75065f3148 Merge pull request #3230 from github/koesie10/suggest-box
Create `SuggestBox` component
2024-01-17 15:56:51 +01:00
Robert
1010239c29 Add a test of runVariantAnalysisFromPublishedPack 2024-01-17 14:31:06 +00:00
Koen Vlaswinkel
2b6ec73147 Merge pull request #3250 from github/koesie10/rename-ide-server
Remove outdated IDE server name in favor of language client
2024-01-17 15:08:25 +01:00
Charis Kyriakou
97980371c8 Skip multi-query MRVAs from query history (#3249) 2024-01-17 13:52:03 +00:00
Koen Vlaswinkel
479aa683ee Rename IDE server to language client 2024-01-17 11:40:00 +01:00
Koen Vlaswinkel
1cb46d2604 Rename ide-server.ts to language-client.ts 2024-01-17 11:37:07 +01:00
Shati Patel
be22964113 Send telemetry for addDatabaseSourceToWorkspace setting (#3238) 2024-01-16 17:05:59 +00:00
Robert
db3550a18c Merge pull request #3245 from github/robertbrignull/multi-query-published-pack
Add prototype implementation for codeQL.runVariantAnalysisPublishedPack
2024-01-16 16:54:04 +00:00
Robert
91a96da2ad Start progress bar earlier 2024-01-16 16:39:30 +00:00
Robert
9dc37ebf33 Return when we detect no queries 2024-01-16 16:33:16 +00:00
Robert
ff8def3e7d Use join instead of slash 2024-01-16 16:32:09 +00:00
Koen Vlaswinkel
39c17291aa Add diagnostics to suggest box
This adds the ability for consumers of the suggest box to add
diagnostics to the suggest box. When a diagnostic is returned for a
value, the input will be shown with a red border.
2024-01-16 16:56:32 +01:00
Nora
a6a7a5c5cb Merge pull request #3246 from github/nora/remove-deprecated-jest-syntax
Remove deprecated jest syntac
2024-01-16 16:44:09 +01:00
Nora
70ce93cbb3 Replace toBeCalledTimes 2024-01-16 15:28:51 +00:00
Nora
abc71b5102 Replace toBeCalledWith 2024-01-16 15:28:07 +00:00
Nora
fed110f65f Replace toBeCalled 2024-01-16 15:26:41 +00:00
Robert
174a38a16a Make placeholder text more general 2024-01-16 15:11:38 +00:00
Robert
b4250218d5 Implement the command to download a published pack 2024-01-16 15:11:38 +00:00
github-actions[bot]
5948008c99 Bump CLI version from v2.15.5 to v2.16.0 for integration tests (#3243)
Co-authored-by: github-actions[bot] <github-actions@github.com>
2024-01-16 15:09:30 +00:00
Koen Vlaswinkel
070f0ca9b7 Add highlighting to items in suggest box
This adds highlighting of the currently typed text into the shown items
of the suggest box.
2024-01-16 16:05:51 +01:00
Charis Kyriakou
318136f5e5 Allow multiple file URIs to be passed into prepareRemoteQueryRun (#3241) 2024-01-16 15:05:24 +00:00
Koen Vlaswinkel
a3ade9984d Make mocking helpers independent of vscode 2024-01-16 15:39:14 +01:00
Koen Vlaswinkel
4429385dfd Open suggest box with Ctrl + Space
This adds a keyboard shortcut to open the suggest box when it's closed.
This matches the behavior in VS Code itself.
2024-01-16 14:24:09 +01:00
Shati Patel
f993258a27 CodeQL model editor: Make Type a selectable model kind for Ruby (#3224) 2024-01-16 13:17:26 +00:00
Shati Patel
c5517e0aea CodeQL model editor: Add support for free text input in type models (#3217) 2024-01-16 13:03:53 +00:00
Charis Kyriakou
8c0a8e07b2 Tidy up variant analysis commands (#3240) 2024-01-16 12:19:37 +00:00
Robert
a1572463a6 Merge pull request #3239 from github/robertbrignull/multi-query-commands
Add stubs of commands for multi-query support
2024-01-16 10:24:29 +00:00
Koen Vlaswinkel
545902843d Merge pull request #3222 from github/koesie10/suggest-box-helper-functions
Add helper functions for suggestion box
2024-01-16 09:35:12 +01:00
Robert
1a7981a22d Add codeQL.runVariantAnalysisPublishedPack command 2024-01-15 17:08:18 +00:00
Robert
1bc560518f Add codeQL.runVariantAnalysisContextExplorer command 2024-01-15 17:07:41 +00:00
Shati Patel
281f8eeb7a CodeQL model editor: support saving single/selected models (#3156) 2024-01-15 16:51:46 +00:00
Dave Bartolomeo
f53826c09d Better dependency version assertions 2024-01-14 10:20:55 -05:00
Dave Bartolomeo
b16aeb3887 Fix property name, and expand another path 2024-01-14 10:17:35 -05:00
Dave Bartolomeo
ee73639720 Expand short paths before calling codeql pack bundle 2024-01-13 14:30:01 -05:00
Dave Bartolomeo
9d2190a88d Add text if pack is empty 2024-01-12 13:03:21 -05:00
Dave Bartolomeo
6d308f8688 Add missing change 2024-01-12 12:44:16 -05:00
Dave Bartolomeo
61933c34d5 Dump pack contents when expected file not found 2024-01-12 12:41:36 -05:00
Dave Bartolomeo
e03c2b132c Custom message for assertions about files existing in packs 2024-01-12 10:42:34 -05:00
Dave Bartolomeo
9c42c6a851 Allow CodeQL checkout to be named ql
This makes it easier for cross-repo development with `semmle-code`, where the `codeql` repo is in a submodule in a directory named `ql`.
2024-01-12 09:30:13 -05:00
Nora
283d0070f7 Ignore playwright config on dead code 2024-01-12 14:05:51 +00:00
Nora
d3c7241854 fix new config location in workflow 2024-01-12 13:52:39 +00:00
Nora
0b9e4e33b2 move config and fix tsconfig error 2024-01-12 13:36:11 +00:00
Nora
b4a66a7690 Update readme 2024-01-12 13:35:51 +00:00
Koen Vlaswinkel
ea1419add2 Merge pull request #3234 from github/koesie10/remove-jest-runner-installed-extensions
Simplify custom Jest test runner
2024-01-12 11:26:18 +01:00
Koen Vlaswinkel
0534cb7514 Simplify custom Jest test runner
The custom Jest test runner was originally written to install the
required extensions for the CLI integration tests. This is no longer
necessary as of https://github.com/github/vscode-codeql/pull/3232, so
we can remove all code that deals with downloading VS Code and
installing extensions. The download of VS Code will now be handled by
the base `VSCodeTestRunner`.
2024-01-12 09:49:20 +01:00
Dave Bartolomeo
2aacea4176 Fix test expectation 2024-01-11 18:58:44 -05:00
Dave Bartolomeo
2ccd99fc5b Don't use ${workspace} in test pack 2024-01-11 18:40:03 -05:00
Dave Bartolomeo
bdc94a3b23 Remove unused export 2024-01-11 18:05:00 -05:00
Dave Bartolomeo
29d8c65b59 Use codeql pack create --mrva if available 2024-01-11 17:43:42 -05:00
Dave Bartolomeo
fb63ec7db0 Consume codeql version JSON output for feature capabilities 2024-01-11 21:59:54 +00:00
Dave Bartolomeo
b67efeeacd Merge pull request #3232 from github/dbartol/new-test-api
Switch to built-in VS Code test UI unconditionally
2024-01-11 16:48:56 -05:00
Dave Bartolomeo
4b3a008a45 Merge branch 'main' into dbartol/new-test-api 2024-01-11 12:22:18 -05:00
Dave Bartolomeo
1186026315 Remove old unit tests 2024-01-11 11:56:51 -05:00
Dave Bartolomeo
2ba23ceead Fold TestManagerBase and related functions into TestManager 2024-01-11 11:48:54 -05:00
dependabot[bot]
c065c44ff3 Bump applicationinsights from 2.9.1 to 2.9.2 in /extensions/ql-vscode (#3228)
Bumps [applicationinsights](https://github.com/microsoft/ApplicationInsights-node.js) from 2.9.1 to 2.9.2.
- [Release notes](https://github.com/microsoft/ApplicationInsights-node.js/releases)
- [Commits](https://github.com/microsoft/ApplicationInsights-node.js/compare/2.9.1...2.9.2)

---
updated-dependencies:
- dependency-name: applicationinsights
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 08:44:11 -08:00
dependabot[bot]
0d2b7916ee Bump msw from 2.0.11 to 2.0.13 in /extensions/ql-vscode (#3227)
Bumps [msw](https://github.com/mswjs/msw) from 2.0.11 to 2.0.13.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.0.11...v2.0.13)

---
updated-dependencies:
- dependency-name: msw
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 08:43:49 -08:00
dependabot[bot]
766f54b76e Bump @storybook/manager-api from 7.6.6 to 7.6.7 in /extensions/ql-vscode (#3226)
Bumps [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) from 7.6.6 to 7.6.7.
- [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/v7.6.7/code/lib/manager-api)

---
updated-dependencies:
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 08:43:22 -08:00
dependabot[bot]
c485e39b07 Bump @testing-library/dom from 9.3.3 to 9.3.4 in /extensions/ql-vscode (#3225)
Bumps [@testing-library/dom](https://github.com/testing-library/dom-testing-library) from 9.3.3 to 9.3.4.
- [Release notes](https://github.com/testing-library/dom-testing-library/releases)
- [Changelog](https://github.com/testing-library/dom-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/dom-testing-library/compare/v9.3.3...v9.3.4)

---
updated-dependencies:
- dependency-name: "@testing-library/dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-11 08:42:57 -08:00
Dave Bartolomeo
d8968db1b9 Changelog entry 2024-01-11 11:34:35 -05:00
Charis Kyriakou
40ba2c03d3 Rename variant analysis mapping functions (#3231) 2024-01-11 16:11:01 +00:00
Dave Bartolomeo
ac93074f94 Merge remote-tracking branch 'origin/main' into dbartol/new-test-api 2024-01-11 15:48:17 +00:00
Dave Bartolomeo
1dc6111fba Switch to built-in VS Code test UI unconditionally 2024-01-11 10:47:48 -05:00
Nora
f9166f304b Merge pull request #3229 from github/dependabot/npm_and_yarn/extensions/ql-vscode/eslint-plugin-prettier-5.1.3
Bump eslint-plugin-prettier from 5.0.1 to 5.1.3 in /extensions/ql-vscode
2024-01-11 15:55:26 +01:00
Koen Vlaswinkel
6ec727a8a2 Add tests for SuggestBox component 2024-01-11 15:28:21 +01:00
dependabot[bot]
b4da6c71f3 Bump eslint-plugin-prettier from 5.0.1 to 5.1.3 in /extensions/ql-vscode
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.0.1 to 5.1.3.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.0.1...v5.1.3)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-11 13:58:28 +00:00
Nora
f43c5274cf Merge pull request #3223 from github/version/bump-to-v1.12.1
Bump version to v1.12.1
2024-01-11 14:37:52 +01:00
Nora
1a135c501d Move changelog entry to correct section 2024-01-11 13:23:00 +00:00
Koen Vlaswinkel
0df0cca9d8 Create SuggestBox component 2024-01-11 14:13:02 +01:00
Koen Vlaswinkel
519833e7a4 Merge pull request #3218 from github/koesie10/parse-access-paths
Add functions for parsing and validating access paths
2024-01-11 13:34:01 +01:00
github-actions[bot]
d77261aaa5 Bump version to v1.12.1 2024-01-11 12:25:03 +00:00
Nora
24dff5981e Merge pull request #3221 from github/v1.12.0
v1.12.0
2024-01-11 13:23:32 +01:00
Koen Vlaswinkel
7f730d24b0 Add helper functions for suggestion box
This adds some helper functions that will be used for a suggestion box
in the future. There is one helper function for highlighting part of a
text case-insensitively. Another helper function will try to find
followup options based on a list of tokens.

The tests for these functions use access paths as input, but these
functions are not intended to be specific to access paths. They can be
used for any list of options/string.
2024-01-11 12:09:13 +01:00
Nora
8834111f57 Update changelog release date
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2024-01-11 10:08:16 +00:00
Nora
3d5ef60fe0 Update extensions/ql-vscode/CHANGELOG.md
Co-authored-by: Koen Vlaswinkel <koesie10@users.noreply.github.com>
2024-01-11 10:50:11 +01:00
Nora
6ab1f4c7ee v1.12.0 2024-01-11 09:48:17 +00:00
Shati Patel
77f84c6ca9 Improve user experience when no database is selected (#3214) 2024-01-11 09:41:44 +00:00
Koen Vlaswinkel
d0a12753d8 Merge pull request #3216 from github/koesie10/move-ruby-access-paths
Move Ruby access paths functions to separate file
2024-01-11 09:49:48 +01:00
Koen Vlaswinkel
ea6e148df9 Add functions for parsing and validating access paths
This adds functions for parsing and validating access paths to prepare
for future functionality where we're going to be parsing and validating
access paths.
2024-01-10 16:20:13 +01:00
Koen Vlaswinkel
ac745a6955 Move Ruby access paths functions 2024-01-10 15:54:17 +01:00
Nora
d022623a9d fix artifacts path 2024-01-10 10:42:40 +00:00
Nora
c7a1cf7236 Add test, config and action 2024-01-10 10:01:59 +00:00
Shati Patel
1b737678ba Update broken badge in README (#3213) 2024-01-09 14:09:50 +00:00
Koen Vlaswinkel
19b24f87ec Merge pull request #3212 from github/koesie10/eslint-rules
Remove more ESLint rule overrides
2024-01-09 11:31:10 +01:00
Koen Vlaswinkel
38743c6180 wip: move CLI installation 2024-01-09 10:56:22 +01:00
Koen Vlaswinkel
d1a26d3893 wip: add Docker Compose configuration for code server 2024-01-09 10:41:38 +01:00
Koen Vlaswinkel
b2bdcdbcb8 Merge pull request #3210 from github/koesie10/no-cycle
Remove all dependency cycles
2024-01-09 09:31:31 +01:00
dependabot[bot]
37c3b03e9a Bump @typescript-eslint/eslint-plugin in /extensions/ql-vscode (#3209)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.16.0 to 6.18.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.18.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-08 08:49:31 -08:00
Koen Vlaswinkel
c7c79175d2 Remove non-existent filenames/match-regexp ESLint rule 2024-01-08 16:54:07 +01:00
Koen Vlaswinkel
01e7b3fc0e Remove camelcase ESLint rule override 2024-01-08 16:52:03 +01:00
Koen Vlaswinkel
58ea742e85 Enable func-style ESLint rule 2024-01-08 16:47:28 +01:00
Koen Vlaswinkel
188bc53761 Enable no-useless-escape ESLint rule
These fixes maintain the current functionality and do not make any
changes to the matching of the regular expressions.
2024-01-08 16:44:41 +01:00
Koen Vlaswinkel
26e619ba71 Enable no-fallthrough ESLint rule 2024-01-08 16:40:45 +01:00
Koen Vlaswinkel
00707fca4b Merge pull request #3211 from github/koesie10/remove-disabled-eslint-rules
Remove disabled ESLint rules without linting errors
2024-01-08 16:17:30 +01:00
Koen Vlaswinkel
51627ad971 Remove disabled ESLint rules without linting errors
This removes some ESLint rules that do not give any linting errors when
removing the rule overrides from the config file. This could be because
there are no instances of the rule being violated, or because the rule
is already disabled by some other configuration.
2024-01-08 15:04:55 +01:00
Koen Vlaswinkel
f21ee5173c Enable import/no-cycle ESLint rule 2024-01-08 13:49:26 +01:00
Koen Vlaswinkel
397693a2cb Remove import cycle for results view 2024-01-08 13:49:26 +01:00
Koen Vlaswinkel
0648ce8ae6 Remove import cycle for query history dto mappers 2024-01-08 13:49:26 +01:00
Koen Vlaswinkel
183de7b6a1 Remove import cycle for query history domain mappers 2024-01-08 13:49:26 +01:00
Koen Vlaswinkel
b6f32ec5d7 Remove import cycle for model editor queries 2024-01-08 13:49:26 +01:00
Koen Vlaswinkel
70c2beb510 Remove import cycle for distribution manager 2024-01-08 13:49:25 +01:00
Koen Vlaswinkel
31c90a5068 Remove import cycle for CLI server 2024-01-08 13:37:21 +01:00
Koen Vlaswinkel
2ce6fd3bb1 Merge pull request #3203 from github/koesie10/consistent-type-imports
Enforce consistent type imports
2024-01-08 13:27:42 +01:00
Koen Vlaswinkel
da5852cfbb Merge pull request #3185 from github/koesie10/node-version-action
Add GitHub Actions workflow for updating Node version
2024-01-08 13:07:35 +01:00
Koen Vlaswinkel
5c83c94335 Merge pull request #3202 from github/koesie10/missing-promise-await
Fix missing `await` in `prepareModelEditorQueries`
2024-01-08 10:00:02 +01:00
Koen Vlaswinkel
21faed0191 Enforce consistent type specifiers 2024-01-05 17:15:58 +01:00
Koen Vlaswinkel
9d6962ede2 Enforce consistent type imports 2024-01-05 17:13:45 +01:00
Koen Vlaswinkel
d6d5d27d70 Fix missing await in prepareModelEditorQueries
This fixes a missing `await` in `prepareModelEditorQueries` that caused
the function to potentially return before the query files were written.
2024-01-05 16:31:07 +01:00
Koen Vlaswinkel
5c7efe5116 Merge pull request #3200 from github/koesie10/remove-namespace-imports
Remove unnecessary namespace imports
2024-01-05 14:53:29 +01:00
Nora
1d42d4848b Merge pull request #3189 from github/nora/make-model-editor-open-cancellable
CodeQL model editor: user should be able to stop modeling before the main editor view is open
2024-01-05 13:50:08 +01:00
Nora
745544cd9c Use error type and error code 2024-01-05 12:37:44 +00:00
Koen Vlaswinkel
38a3778fe1 Fix Storybook React runtime 2024-01-05 11:09:53 +01:00
Koen Vlaswinkel
50df8cd376 Remove dead code
After removing all namespace imports, the dead code detection is now
more accurate, so we can remove some more dead code.
2024-01-05 10:42:39 +01:00
Koen Vlaswinkel
034bfc230c Remove unnecessary namespace imports
This removes all unnecessary namespace imports. The only namespace
imports that are left are those that are needed for spying on functions
in tests.
2024-01-05 10:42:36 +01:00
Koen Vlaswinkel
d342b060ed Merge pull request #3187 from github/koesie10/update-vscode-version-docs
Update outdated VS Code version docs
2024-01-05 09:49:42 +01:00
Koen Vlaswinkel
45fe4aa1d4 Merge pull request #3186 from github/koesie10/generate-chromium-version
Rename update Chromium version script to generate Chromium version
2024-01-05 09:49:34 +01:00
dependabot[bot]
902074f7a5 Bump msw from 2.0.10 to 2.0.11 in /extensions/ql-vscode (#3198)
Bumps [msw](https://github.com/mswjs/msw) from 2.0.10 to 2.0.11.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v2.0.10...v2.0.11)

---
updated-dependencies:
- dependency-name: msw
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 10:34:59 -08:00
dependabot[bot]
fd8f88890e Bump @babel/preset-env from 7.23.6 to 7.23.7 in /extensions/ql-vscode (#3196)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.23.6 to 7.23.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.7/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 10:34:14 -08:00
dependabot[bot]
db842dea7c Bump @testing-library/jest-dom in /extensions/ql-vscode (#3195)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.6 to 6.2.0.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.1.6...v6.2.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-04 10:33:44 -08:00
Nora
eb59ead817 Catch request cancelled error 2024-01-04 15:19:10 +00:00
Nora
d0e81124ac Merge pull request #3199 from github/dependabot/npm_and_yarn/extensions/ql-vscode/types/tmp-0.2.6
Bump @types/tmp from 0.1.0 to 0.2.6 in /extensions/ql-vscode
2024-01-04 15:00:05 +01:00
dependabot[bot]
8697dcc80d Bump @types/tmp from 0.1.0 to 0.2.6 in /extensions/ql-vscode
Bumps [@types/tmp](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/tmp) from 0.1.0 to 0.2.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/tmp)

---
updated-dependencies:
- dependency-name: "@types/tmp"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-04 13:45:03 +00:00
Nora
ad8dc1e906 Update Changelog 2024-01-04 10:52:42 +00:00
dependabot[bot]
ceb8b1f9c1 Bump storybook from 7.6.6 to 7.6.7 in /extensions/ql-vscode (#3194)
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) from 7.6.6 to 7.6.7.
- [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/v7.6.7/code/lib/cli)

---
updated-dependencies:
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 15:44:51 -08:00
dependabot[bot]
b77acc5468 Bump @storybook/theming from 7.6.6 to 7.6.7 in /extensions/ql-vscode (#3193)
Bumps [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) from 7.6.6 to 7.6.7.
- [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/v7.6.7/code/lib/theming)

---
updated-dependencies:
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 14:51:53 -08:00
dependabot[bot]
555fa6cf78 Bump @storybook/react-webpack5 in /extensions/ql-vscode (#3192)
Bumps [@storybook/react-webpack5](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-webpack5) from 7.6.6 to 7.6.7.
- [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/v7.6.7/code/frameworks/react-webpack5)

---
updated-dependencies:
- dependency-name: "@storybook/react-webpack5"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 14:38:09 -08:00
dependabot[bot]
f7de8e5d09 Bump @testing-library/user-event in /extensions/ql-vscode (#3191)
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 14.5.1 to 14.5.2.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/user-event/compare/v14.5.1...v14.5.2)

---
updated-dependencies:
- dependency-name: "@testing-library/user-event"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 14:37:44 -08:00
dependabot[bot]
299280cd08 Bump @storybook/components from 7.6.4 to 7.6.7 in /extensions/ql-vscode (#3190)
Bumps [@storybook/components](https://github.com/storybookjs/storybook/tree/HEAD/code/ui/components) from 7.6.4 to 7.6.7.
- [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/v7.6.7/code/ui/components)

---
updated-dependencies:
- dependency-name: "@storybook/components"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-03 14:37:12 -08:00
Robert
92bebef49d Merge pull request #3188 from github/robertbrignull/releases-refactor
Move ReleasesApiConsumer to a separate file and do simple refactors
2024-01-03 16:24:28 +00:00
Robert
1ce2b365a6 Move files to codeql-cli/distribution directory 2024-01-03 16:10:08 +00:00
Koen Vlaswinkel
47929943ba Merge pull request #3184 from github/koesie10/node-version
Use semver range for `@types/node`
2024-01-03 16:42:50 +01:00
Nora
0b27912314 Make model editor open progress bar cancellable 2024-01-03 15:15:56 +00:00
Nora
6a65094720 Make preparation progress bar cancellable 2024-01-03 15:15:17 +00:00
Robert
6746b07879 Merge ownerName and repositoryName into one field because we no longer need to be able to specify them independently 2024-01-03 11:32:46 +00:00
Koen Vlaswinkel
593c01388b Update outdated VS Code version docs
There were still references to a pinned version of VS Code used in the
integration tests, but this was resolved in https://github.com/github/vscode-codeql/pull/2877.
2024-01-03 12:20:24 +01:00
Koen Vlaswinkel
dbee8dd57a Remove troubleshooting steps for Chromium version
ESBuild doesn't use `browserslist` or `caniuse-lite`, so this step
isn't necessary.
2024-01-03 12:01:12 +01:00
Robert
426ab98623 Move fields to top of class definition 2024-01-03 10:54:17 +00:00
Robert
9fd8c1c3e0 Convert other fields to not use underscore prefix 2024-01-03 10:54:17 +00:00
Robert
b8cbd75737 Use "private readonly" modifier on constructor args 2024-01-03 10:54:17 +00:00
Robert
c575edec71 Move releases-api-consumer.test.ts from no-workspace to unit-tests 2024-01-03 10:54:17 +00:00
Robert
337e5f81ea Adjust comments in releases-api-consumer.ts 2024-01-03 10:46:18 +00:00
Robert
6d1cf0887a Pull out ReleasesApiConsumer to its own file 2024-01-03 10:46:15 +00:00
Robert
bc7c956d6d Pull out GithubApiError and GithubRateLimitedError to a separate file 2024-01-03 10:46:15 +00:00
Robert
90d72cec78 Add more comments to Release and ReleaseAsset 2024-01-03 10:46:15 +00:00
Robert
2f9c8d1bfa Move Release and ReleaseAsset to their own files 2024-01-03 10:46:11 +00:00
Koen Vlaswinkel
4b49a8f9bb Update VS Code version documentation 2024-01-03 11:44:19 +01:00
Koen Vlaswinkel
9718aa5806 Rename update Chromium version to generate
This also adds the script as a script in the `package.json` with the
naming such that `npm generate` will re-generate the Chromium version
file. This will ensure that the CI checks fail when the Chromium version
doesn't match the minimum supported VS Code version.
2024-01-03 11:42:20 +01:00
Koen Vlaswinkel
7444605970 Add GitHub Actions workflow for updating Node version 2024-01-03 11:38:15 +01:00
Koen Vlaswinkel
cce0e146ff Merge pull request #3182 from github/koesie10/vscode-versions
Add scripts for updating the Node and Chromium versions
2024-01-03 11:36:35 +01:00
Koen Vlaswinkel
de24e25486 Use semver range for @types/node
According to the DefinitelyTyped documentation, the patch version of
the type declaration package is unrelated to the library patch version.
Therefore, we should use an X-range for `@types/node` to allow
newer patch versions to be installed automatically.
2024-01-03 11:08:44 +01:00
Nora
8daf3374bf Merge pull request #3181 from github/nora/adjust-log-messages
Remove ambiguity from 'View logs' messages
2024-01-03 10:53:47 +01:00
Robert
b27d8a1000 Merge pull request #3183 from github/robertbrignull/remove_releases_repo_config
Remove ownerName and repositoryName from DistributionConfig
2024-01-03 09:46:45 +00:00
Koen Vlaswinkel
1ad20fa354 Merge pull request #3163 from github/koesie10/queries-panel-no-cli-server
Do not use the CLI server to determine query pack language
2024-01-03 09:36:20 +01:00
Robert
b082455604 Remove ownerName and repositoryName from DistributionConfig 2024-01-02 16:56:20 +00:00
Koen Vlaswinkel
ed4b296e41 Allow empty qlpack files 2024-01-02 16:58:56 +01:00
Koen Vlaswinkel
cf00f8f191 Update Chromium version documentation 2024-01-02 16:28:31 +01:00
Koen Vlaswinkel
dc3e1ce096 Add script for updating Chromium version 2024-01-02 16:28:27 +01:00
Koen Vlaswinkel
e5ffdd0fbc Use correct types for qlpack file
The qlpack file is allowed to have null values for fields, instead of
them being absent. This adds the correct types to the qlpack file
schema.
2024-01-02 16:27:42 +01:00
Koen Vlaswinkel
2c7b67e2a4 Log errors during query pack discovery 2024-01-02 16:27:42 +01:00
Koen Vlaswinkel
4129962fa0 Use generated schema to validate qlpack file 2024-01-02 16:19:11 +01:00
Koen Vlaswinkel
e79f732b84 Update Node version documentation 2024-01-02 16:00:55 +01:00
Koen Vlaswinkel
49deb2e756 Add script for updating Node version 2024-01-02 16:00:55 +01:00
Koen Vlaswinkel
0be60f3e8f Extract functions to separate file 2024-01-02 16:00:55 +01:00
Koen Vlaswinkel
e294dfdf4a Add simple script for finding VS Code versions 2024-01-02 16:00:55 +01:00
Koen Vlaswinkel
870874d7f3 Merge pull request #3174 from github/koesie10/view-esbuild
Switch view to ESBuild and JSX runtime
2024-01-02 16:00:42 +01:00
Robert
856f97f859 Merge pull request #3129 from github/robertbrignull/test-issue
Create issue when CLI tests fail on the default branch
2024-01-02 14:27:44 +00:00
Nora
cfbc44311b Adjust actions log messages 2024-01-02 13:52:08 +00:00
Koen Vlaswinkel
27a326ab3e Add documentation for updating the ESBuild target 2024-01-02 14:33:59 +01:00
Nora
91ab97e923 Adjust extension log messages 2024-01-02 13:23:00 +00:00
Koen Vlaswinkel
fa7ecb782e Merge pull request #3175 from github/koesie10/rename-new-messages
Remove remaining references to new messages/new query server
2024-01-02 13:44:00 +01:00
Robert
f5dbcc8cc1 Merge pull request #3127 from github/robertbrignull/nightly-codeql
Provide option to point ReleasesApiConsumer at nightly builds repo
2024-01-02 12:21:38 +00:00
Robert
c423505c04 Update extensions/ql-vscode/test/vscode-tests/no-workspace/codeql-cli/distribution.test.ts
Co-authored-by: Koen Vlaswinkel <koesie10@users.noreply.github.com>
2024-01-02 12:05:43 +00:00
Koen Vlaswinkel
e7eb33e0cf Enable jsx-runtime configuration for linting 2024-01-02 10:42:06 +01:00
Koen Vlaswinkel
528f8b951b Remove unnecessary React imports from stories 2024-01-02 10:42:06 +01:00
Koen Vlaswinkel
74568b86b1 Remove unnecessary React imports from view code 2024-01-02 10:42:06 +01:00
Koen Vlaswinkel
039077467a Set correct JSX mode in tsconfig.json 2024-01-02 10:42:05 +01:00
Koen Vlaswinkel
ef28154b95 Improve ESBuild globs 2024-01-02 10:42:05 +01:00
Koen Vlaswinkel
47cabbb331 Remove webpack packages 2024-01-02 10:42:05 +01:00
Koen Vlaswinkel
c1a3c2f6e5 Switch view to ESBuild
This switches the view code from Webpack to ESBuild to unify the build
systems for the extension and view code. There are no changes in
behavior, except that some features are now not supported (like dynamic
require/import) and importing the `classnames` package fails. However,
these were really easy to fix and don't hinder the further development
of the view code, so I've just fixed those instances.
2024-01-02 10:42:03 +01:00
dependabot[bot]
c210a7fdf4 Bump @storybook/theming from 7.6.4 to 7.6.6 in /extensions/ql-vscode (#3180)
Bumps [@storybook/theming](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/theming) from 7.6.4 to 7.6.6.
- [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/v7.6.6/code/lib/theming)

---
updated-dependencies:
- dependency-name: "@storybook/theming"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-28 12:43:25 -08:00
dependabot[bot]
184a98531f Bump @typescript-eslint/eslint-plugin in /extensions/ql-vscode (#3179)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.15.0 to 6.16.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.16.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-28 12:43:03 -08:00
dependabot[bot]
9a6d44b86a Bump @storybook/manager-api from 7.6.4 to 7.6.6 in /extensions/ql-vscode (#3178)
Bumps [@storybook/manager-api](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/manager-api) from 7.6.4 to 7.6.6.
- [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/v7.6.6/code/lib/manager-api)

---
updated-dependencies:
- dependency-name: "@storybook/manager-api"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-28 11:37:03 -08:00
dependabot[bot]
d0df81c524 Bump @typescript-eslint/parser in /extensions/ql-vscode (#3177)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.15.0 to 6.16.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.16.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-28 11:36:43 -08:00
dependabot[bot]
ba8788e0a5 Bump @testing-library/jest-dom in /extensions/ql-vscode (#3176)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 6.1.5 to 6.1.6.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v6.1.5...v6.1.6)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-28 11:36:21 -08:00
Koen Vlaswinkel
767c3cc35c Remove references to new query server 2023-12-22 16:51:26 +01:00
Koen Vlaswinkel
a6d9b6bbec Rename new-query.test.ts to query-server-client.test.ts 2023-12-22 16:20:21 +01:00
Koen Vlaswinkel
f139f1ebf8 Rename new-messages.ts to messages.ts 2023-12-22 16:18:30 +01:00
Koen Vlaswinkel
d227af4c7b Merge pull request #3172 from github/koesie10/remove-legacy-messages
Remove legacy messages
2023-12-22 16:14:45 +01:00
Koen Vlaswinkel
2b625c85e8 Merge pull request #3173 from github/koesie10/eslint-plugin-import
Add `eslint-plugin-import`
2023-12-22 16:08:46 +01:00
Koen Vlaswinkel
5ea1438036 Merge pull request #3171 from github/koesie10/remove-new-query-runner-abstraction
Remove `QueryRunner` abstraction
2023-12-22 09:44:11 +01:00
Koen Vlaswinkel
7a7092de0d Add eslint-plugin-import
It seems like we had some rules that disabled rules of this plugin, but
we didn't actually have it installed. I've now installed it, used the
recommended configuration, and removed our own disable rules. I've fixed
any errors that this introduced.
2023-12-21 17:02:37 +01:00
Koen Vlaswinkel
2ba39647f2 Remove statusString method 2023-12-21 16:59:39 +01:00
Koen Vlaswinkel
48ff62f474 Make message and succesful required 2023-12-21 16:57:46 +01:00
Koen Vlaswinkel
82c7dd52be Remove legacy messages 2023-12-21 16:19:22 +01:00
Koen Vlaswinkel
d0f122ad87 Remove formatLegacyMessage 2023-12-21 16:11:47 +01:00
Koen Vlaswinkel
ef575acd59 Remove legacy result from query history items
The legacy result was populated based on information that is already
present in `CompletedQueryInfo` anyway. Old history items which only
have the legacy result populated have not been created for at least 30
days now since the legacy query runner hasn't been used for quite a
while now.
2023-12-21 16:08:39 +01:00
Koen Vlaswinkel
785a5fa48a Remove QueryRunner abstraction
Since we're only supporting the new query server, we can remove the
`QueryRunner` abstraction and just use the `NewQueryRunner` as a
concrete `QueryRunner` without an abstract base class. This simplifies
the code of the query server and removes some unnecessary indirection.
2023-12-21 16:03:28 +01:00
Koen Vlaswinkel
43ea7eb41d Merge pull request #3170 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook/react-webpack5-7.6.6
Bump @storybook/react-webpack5 from 7.6.4 to 7.6.6 in /extensions/ql-vscode
2023-12-21 15:25:55 +01:00
Koen Vlaswinkel
4b27d0d59c Merge pull request #3169 from github/dependabot/npm_and_yarn/extensions/ql-vscode/typescript-eslint/eslint-plugin-6.15.0
Bump @typescript-eslint/eslint-plugin from 6.13.2 to 6.15.0 in /extensions/ql-vscode
2023-12-21 15:25:39 +01:00
dependabot[bot]
1df2e54074 Bump @storybook/react-webpack5 in /extensions/ql-vscode
Bumps [@storybook/react-webpack5](https://github.com/storybookjs/storybook/tree/HEAD/code/frameworks/react-webpack5) from 7.6.4 to 7.6.6.
- [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/v7.6.6/code/frameworks/react-webpack5)

---
updated-dependencies:
- dependency-name: "@storybook/react-webpack5"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 14:13:27 +00:00
dependabot[bot]
b7eba71ab6 Bump @typescript-eslint/eslint-plugin in /extensions/ql-vscode
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 6.13.2 to 6.15.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.15.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 14:12:54 +00:00
Koen Vlaswinkel
7375fce82d Merge pull request #3167 from github/dependabot/npm_and_yarn/extensions/ql-vscode/storybook-7.6.6
Bump storybook from 7.6.4 to 7.6.6 in /extensions/ql-vscode
2023-12-21 15:11:58 +01:00
Koen Vlaswinkel
eac3836535 Merge pull request #3168 from github/dependabot/npm_and_yarn/extensions/ql-vscode/eslint-8.56.0
Bump eslint from 8.55.0 to 8.56.0 in /extensions/ql-vscode
2023-12-21 15:11:36 +01:00
Koen Vlaswinkel
e8f750776b Merge pull request #3166 from github/dependabot/npm_and_yarn/extensions/ql-vscode/typescript-eslint/parser-6.15.0
Bump @typescript-eslint/parser from 6.14.0 to 6.15.0 in /extensions/ql-vscode
2023-12-21 15:11:05 +01:00
Koen Vlaswinkel
91a542dce6 Merge pull request #3165 from github/dependabot/github_actions/actions/download-artifact-4
Bump actions/download-artifact from 3 to 4
2023-12-21 15:01:44 +01:00
Koen Vlaswinkel
b902bfd71d Merge pull request #3164 from github/dependabot/github_actions/actions/upload-artifact-4
Bump actions/upload-artifact from 3 to 4
2023-12-21 15:01:27 +01:00
dependabot[bot]
6dd6460b33 Bump eslint from 8.55.0 to 8.56.0 in /extensions/ql-vscode
Bumps [eslint](https://github.com/eslint/eslint) from 8.55.0 to 8.56.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.55.0...v8.56.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 13:59:34 +00:00
dependabot[bot]
36d23e7eec Bump storybook from 7.6.4 to 7.6.6 in /extensions/ql-vscode
Bumps [storybook](https://github.com/storybookjs/storybook/tree/HEAD/code/lib/cli) from 7.6.4 to 7.6.6.
- [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/v7.6.6/code/lib/cli)

---
updated-dependencies:
- dependency-name: storybook
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 13:59:09 +00:00
dependabot[bot]
b65f0490f2 Bump @typescript-eslint/parser in /extensions/ql-vscode
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.15.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 13:58:37 +00:00
Koen Vlaswinkel
a8dd368578 Merge pull request #3157 from github/koesie10/yauzl-progress
Add progress reporting for unzipping files
2023-12-21 14:40:53 +01:00
dependabot[bot]
4d130bc2fa Bump actions/download-artifact from 3 to 4
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 13:02:31 +00:00
dependabot[bot]
1b526783e2 Bump actions/upload-artifact from 3 to 4
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 13:02:28 +00:00
Koen Vlaswinkel
4e4345f0c2 Merge remote-tracking branch 'origin/main' into koesie10/yauzl-progress 2023-12-21 13:41:43 +01:00
Koen Vlaswinkel
b2df8b6971 Move readableBytesMb to common/bytes 2023-12-21 13:41:22 +01:00
Koen Vlaswinkel
91ea2f089e Extract calculateTotalUncompressedByteSize function 2023-12-21 13:39:09 +01:00
Koen Vlaswinkel
fbaf3d1cdf Merge pull request #3162 from github/koesie10/yauzl-changelog
Add CHANGELOG entry for `yauzl` migration
2023-12-21 12:34:07 +01:00
Koen Vlaswinkel
7bcf62c6fe Merge pull request #3161 from github/koesie10/github-databases-package-json
Remove missed feature flag reference from package.json
2023-12-21 12:33:59 +01:00
Koen Vlaswinkel
f7c0d4dc91 Merge pull request #3160 from github/koesie10/github-databases-tests
Add tests and test plan for GitHub database download
2023-12-21 12:33:51 +01:00
Koen Vlaswinkel
e81f1a1fde Extract getQlPackLanguage function 2023-12-21 12:30:26 +01:00
Koen Vlaswinkel
c14fa63321 Remove resolveLibraryPath method 2023-12-21 12:20:44 +01:00
Koen Vlaswinkel
7554c415af Do not use the CLI server to determine query pack language
This removes the use of the CLI `codeql resolve library-path` command to
detect the language of a query pack. Instead, it uses the `qlpack.yml`
file to determine the language. This is slightly less correct since it
only works for `codeql/${language}-all` dependencies, but it is much
faster and more reliable. It also doesn't result in the CLI server
restarting for invalid query packs (such as in the `github/codeql`
repository or in any workspaces containing it).
2023-12-21 12:20:12 +01:00
Koen Vlaswinkel
bbdad0fe2c Add CHANGELOG entry for yauzl migration 2023-12-21 11:30:11 +01:00
Koen Vlaswinkel
b3da120d70 Add GitHub database download to test plan 2023-12-21 11:23:15 +01:00
Koen Vlaswinkel
3689f84612 Remove missed feature flag reference from package.json 2023-12-21 11:06:50 +01:00
Koen Vlaswinkel
f99432153b Add tests for promptGitHubRepositoryDownload 2023-12-21 10:56:34 +01:00
Koen Vlaswinkel
704895ba6c Merge pull request #3159 from github/github-action/bump-cli
Bump CLI Version to v2.15.5 for integration tests
2023-12-21 09:54:15 +01:00
Koen Vlaswinkel
f3780c6305 Merge pull request #3158 from github/koesie10/fix-qltest-discovery-watcher
Do not reregister watchers on every file change for qltests
2023-12-21 09:49:58 +01:00
github-actions[bot]
bb3ec207e3 Bump CLI version from v2.15.4 to v2.15.5 for integration tests 2023-12-20 19:08:03 +00:00
Robert
e56503249d Add tests that cover the new semver options 2023-12-20 16:25:57 +00:00
Robert
37b2e422cd Use stable instead of released 2023-12-20 16:25:57 +00:00
Robert
4140303b5c Fix arguemnts to calls to getLatestRelease 2023-12-20 16:25:54 +00:00
Koen Vlaswinkel
218be87e88 Do not reregister watchers on every file change for qltests
During the qltest discovery, we were recreating the watchers for qltests
on every file change. This was causing the watchers to be recreated
on each change, while there were no functional changes to the watchers
themselves.

This commit moves the creation of the watchers to the constructor of
the QLTestDiscovery class, and removes the creation of the watchers
from the discover() method. The behavior should be the same.
2023-12-20 13:29:40 +01:00
Robert
c7e2d69daa Define nightly by whether the value matches the default 2023-12-20 11:38:58 +00:00
Robert
ba2f44b8ae Change to using getter for no-args methods 2023-12-20 11:37:11 +00:00
Koen Vlaswinkel
2267e9d4db Add tests for unzip progress reporting 2023-12-20 10:30:59 +01:00
Koen Vlaswinkel
6f85894a11 Report progress while extracting CodeQL CLI distribution 2023-12-20 10:24:07 +01:00
Koen Vlaswinkel
8cbd77cf65 Report progress while extracting CodeQL CLI distribution in tests 2023-12-20 10:24:07 +01:00
Koen Vlaswinkel
641f714fa4 Extract downloadWithProgress function in ensureCli 2023-12-20 10:24:07 +01:00
Koen Vlaswinkel
216f10d327 Add progress reporting for intermediate bytes extracted 2023-12-20 10:24:07 +01:00
Koen Vlaswinkel
5045b2df60 Add progress reporting for bytes extracted 2023-12-20 10:24:07 +01:00
Koen Vlaswinkel
857a997037 Add progress reporting for extracted files 2023-12-20 10:24:07 +01:00
Koen Vlaswinkel
262744e6e5 Merge pull request #3155 from github/koesie10/yauzl-concurrent
Add concurrency to unzipping using `yauzl`
2023-12-20 10:23:55 +01:00
Koen Vlaswinkel
4444951093 Merge remote-tracking branch 'origin/main' into koesie10/yauzl-concurrent 2023-12-20 10:10:47 +01:00
Koen Vlaswinkel
e824fda9e7 Merge pull request #3153 from github/koesie10/yauzl-unzip-tests
Add simple tests for `yauzl`-based unzip functions
2023-12-20 10:01:45 +01:00
Koen Vlaswinkel
ef8bf9fd1b Merge pull request #3154 from github/koesie10/source-map-fix
Switch to `yauzl` for source map script
2023-12-20 09:56:23 +01:00
Robert
69dea08c47 Don't check semver for nightly releases 2023-12-19 18:47:43 +00:00
Robert
0360bf294f Merge branch 'main' into robertbrignull/nightly-codeql 2023-12-19 17:39:29 +00:00
Robert
996e8036c1 Merge branch 'main' into robertbrignull/test-issue 2023-12-19 16:20:14 +00:00
Robert
2e51c1a657 Fix workflow after testing it 2023-12-19 16:19:59 +00:00
Koen Vlaswinkel
f1fe4a20f2 chmod tmp dir before cleanup
This should fix any permissions errors we get due to the ZIP file
containing files with different permissions.
2023-12-19 15:27:07 +01:00
Koen Vlaswinkel
be4059864e Do not test file modes on Windows 2023-12-19 15:18:35 +01:00
Koen Vlaswinkel
a80098d7df Fix race condition in unzip tests 2023-12-19 15:17:57 +01:00
Koen Vlaswinkel
f45b790591 Fix file path in tests on Windows 2023-12-19 15:14:13 +01:00
Koen Vlaswinkel
7a1f157225 Extract common functionality between unzip implementations 2023-12-19 15:00:13 +01:00
Koen Vlaswinkel
ba9b284606 Add tests for unzipToDirectory 2023-12-19 14:58:16 +01:00
Koen Vlaswinkel
1055515d59 Use different ZIP file for unzip tests 2023-12-19 14:43:49 +01:00
Koen Vlaswinkel
4eee14be61 Merge remote-tracking branch 'origin/main' into koesie10/yauzl-unzip-tests 2023-12-19 14:37:03 +01:00
Koen Vlaswinkel
7c00768c90 Extract unzipFile function 2023-12-19 14:27:51 +01:00
Koen Vlaswinkel
9038586aab Rename unzipToDirectory to unzipToDirectorySequentially 2023-12-19 14:26:03 +01:00
Koen Vlaswinkel
800890443e Add concurrent unzip implementation 2023-12-19 14:25:44 +01:00
Koen Vlaswinkel
0dcc814953 Remove unzipper 2023-12-19 14:20:42 +01:00
Koen Vlaswinkel
64ad40e369 Switch to yauzl for the source map script 2023-12-19 14:20:17 +01:00
Koen Vlaswinkel
f736adc4f1 Merge pull request #3152 from github/koesie10/distribution-yauzl
Switch to `yauzl` for CodeQL CLI
2023-12-19 14:18:59 +01:00
Koen Vlaswinkel
e89a04d442 Merge pull request #3151 from github/koesie10/variant-analysis-yauzl
Switch to `yauzl` for variant analysis results
2023-12-19 14:18:49 +01:00
Koen Vlaswinkel
2e6eb1c7bc Add simple tests for yauzl-based unzip functions 2023-12-19 13:19:48 +01:00
Koen Vlaswinkel
fdc36ad36b Switch to yauzl for CodeQL CLI
This switches the CodeQL CLI download to `yauzl` instead of `unzipper`.
There should be no changes in behavior. I tested this manually on
Insiders by removing the distribution directory and this successfully
downloaded and extracted the CLI.
2023-12-19 13:07:31 +01:00
Koen Vlaswinkel
3f6c1055e4 Merge remote-tracking branch 'origin/main' into koesie10/variant-analysis-yauzl 2023-12-19 13:03:54 +01:00
Koen Vlaswinkel
b833591d1e Merge pull request #3150 from github/koesie10/archive-filesystem-yauzl
Switch to `yauzl` in the archive filesystem provider
2023-12-19 12:14:31 +01:00
Koen Vlaswinkel
82f17c4e53 Merge pull request #3148 from github/koesie10/model-editor-capitalization
Fix incorrect model files on case-insensitive file systems
2023-12-18 16:34:12 +01:00
Koen Vlaswinkel
790503bd60 Merge pull request #3149 from github/koesie10/database-unbundle
Remove fallback behavior for database unbundle
2023-12-18 15:13:55 +01:00
Koen Vlaswinkel
770834756a Switch to yauzl for variant analysis results 2023-12-18 15:10:36 +01:00
Koen Vlaswinkel
bc0506d058 Switch to yauzl in the archive filesystem provider 2023-12-18 14:22:22 +01:00
Koen Vlaswinkel
14b2282015 Remove fallback behavior for database unbundle
The CodeQL CLI always supports the `database unbundle` command since
140d369098
so we can remove the fallback behavior.

There were some places which were not passing in the CodeQL CLI server,
but these always have access to the CLI server, so this just passes them
in.

The only change in behavior (in terms of the fallback behavior) is in
the `new-query.test.ts` test.
2023-12-18 14:19:59 +01:00
Koen Vlaswinkel
12ea1b9598 Remove unnecessary check 2023-12-18 13:49:04 +01:00
Koen Vlaswinkel
6cfa0a93c9 Merge pull request #3141 from github/koesie10/model-editor-consistency-check
Add a consistency check for the model editor
2023-12-15 15:11:04 +01:00
Koen Vlaswinkel
ef2f9d9c90 Fix incorrect model files on case-insensitive file systems
This fixes some incorrect model files on case-insensitive file systems
when the package names are the same but the capitalization is different.

For example, when there are two packages `Volo.Abp.TestApp.MongoDb` and
`Volo.Abp.TestApp.MongoDB`, there would be 1 model file for each
package. However, on case-insensitive file systems, the second file
would overwrite the first file. This results in missing models. This
fixes it by canonicalizing the filenames to lowercase and writing all
files with the same package name to the same file.
2023-12-15 15:06:22 +01:00
Koen Vlaswinkel
1891763d64 Remove enableConsistencyCheck feature flag 2023-12-15 14:48:35 +01:00
Koen Vlaswinkel
0b4fc76fdb Update inconsistent support message 2023-12-15 14:47:11 +01:00
Koen Vlaswinkel
d036e8144d Do not expect type models to be supported 2023-12-15 14:43:55 +01:00
Koen Vlaswinkel
4f2d768e07 Update message to mention model editor 2023-12-15 14:43:08 +01:00
Koen Vlaswinkel
60d777abf1 Merge pull request #3113 from github/koesie10/compare-interpreted
Add SARIF result comparison to compare view
2023-12-15 10:56:04 +01:00
Koen Vlaswinkel
34bd7c21a6 Merge pull request #3147 from github/koesie10/remove-immutable
Remove immutable package
2023-12-15 09:49:03 +01:00
Koen Vlaswinkel
6cf8d0be4f Merge pull request #3145 from github/dependabot/npm_and_yarn/extensions/ql-vscode/tmp-0.2.1
Bump tmp from 0.1.0 to 0.2.1 in /extensions/ql-vscode
2023-12-14 16:28:02 +01:00
Koen Vlaswinkel
b340b1a740 Merge branch 'main' into dependabot/npm_and_yarn/extensions/ql-vscode/tmp-0.2.1 2023-12-14 16:13:18 +01:00
Koen Vlaswinkel
ce83d1df23 Replace tmp package for modeled-method-fs.test.ts 2023-12-14 16:09:30 +01:00
Koen Vlaswinkel
d63b756520 Set unsafeCleanup for all test tmp directories
We want to remove the tmp directories after tests, even if they are not
empty.
2023-12-14 15:08:45 +01:00
Koen Vlaswinkel
47fbf3428f Remove immutable package 2023-12-14 15:03:34 +01:00
dependabot[bot]
889055ee19 Bump tmp from 0.1.0 to 0.2.1 in /extensions/ql-vscode
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.1.0 to 0.2.1.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.1.0...v0.2.1)

---
updated-dependencies:
- dependency-name: tmp
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 13:44:44 +00:00
Koen Vlaswinkel
c7f08e328d Merge pull request #3144 from github/dependabot/npm_and_yarn/extensions/ql-vscode/p-queue-8.0.1
Bump p-queue from 7.4.1 to 8.0.1 in /extensions/ql-vscode
2023-12-14 14:44:39 +01:00
Koen Vlaswinkel
0273be9710 Merge pull request #3143 from github/dependabot/npm_and_yarn/extensions/ql-vscode/vscode/codicons-0.0.35
Bump @vscode/codicons from 0.0.31 to 0.0.35 in /extensions/ql-vscode
2023-12-14 14:44:12 +01:00
Koen Vlaswinkel
e94da0e765 Merge pull request #3142 from github/dependabot/npm_and_yarn/extensions/ql-vscode/gulp-esbuild-0.12.0
Bump gulp-esbuild from 0.10.8 to 0.12.0 in /extensions/ql-vscode
2023-12-14 14:43:10 +01:00
Koen Vlaswinkel
cb15c8dbeb Remove direct esbuild dependency
ESBuild is a dependency of `gulp-esbuild`, so we don't need the direct
dependency.
2023-12-14 14:29:56 +01:00
dependabot[bot]
c7173e86a2 Bump p-queue from 7.4.1 to 8.0.1 in /extensions/ql-vscode
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 7.4.1 to 8.0.1.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v7.4.1...v8.0.1)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 13:19:19 +00:00
dependabot[bot]
b3c8c25572 Bump @vscode/codicons from 0.0.31 to 0.0.35 in /extensions/ql-vscode
Bumps [@vscode/codicons](https://github.com/microsoft/vscode-codicons) from 0.0.31 to 0.0.35.
- [Release notes](https://github.com/microsoft/vscode-codicons/releases)
- [Commits](https://github.com/microsoft/vscode-codicons/compare/0.0.31...0.0.35)

---
updated-dependencies:
- dependency-name: "@vscode/codicons"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 13:18:45 +00:00
dependabot[bot]
2bad58be71 Bump gulp-esbuild from 0.10.8 to 0.12.0 in /extensions/ql-vscode
Bumps [gulp-esbuild](https://github.com/ym-project/gulp-esbuild) from 0.10.8 to 0.12.0.
- [Release notes](https://github.com/ym-project/gulp-esbuild/releases)
- [Commits](https://github.com/ym-project/gulp-esbuild/compare/v0.10.8...v0.12.0)

---
updated-dependencies:
- dependency-name: gulp-esbuild
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-14 13:18:21 +00:00
Koen Vlaswinkel
fe4116fe05 Merge pull request #3140 from github/koesie10/remove-bundled-queries
Remove bundled Java and C# model editor queries
2023-12-14 13:19:37 +01:00
Koen Vlaswinkel
b9b16a8beb Add a consistency check for the model editor 2023-12-14 12:07:59 +01:00
Koen Vlaswinkel
c3b30a30e8 Merge pull request #3139 from github/koesie10/upgrade-markdownlint
Upgrade Markdownlint packages
2023-12-14 11:50:04 +01:00
Koen Vlaswinkel
04e4efb26b Remove bundled Java and C# model editor queries 2023-12-14 11:38:04 +01:00
Koen Vlaswinkel
8d1c8bc725 Add alt text to Overview.stories.mdx 2023-12-14 10:50:16 +01:00
Koen Vlaswinkel
eb1bf8fd69 Merge pull request #3138 from github/koesie10/remove-github-databases-enable-ff
Remove GitHub database download feature flag
2023-12-14 10:48:56 +01:00
Koen Vlaswinkel
9a77748a59 Fix auto-fixable markdownlint violations
This fixes all violations that can be fixed by using
`npm run lint:markdown -- --fix`.

This also updates the markdownlint configuration to require dashes in
unstyled lists. This results in the least amount of changes to Markdown
files. The default setting results in rewriting the complete CHANGELOG
file.
2023-12-14 10:47:39 +01:00
Koen Vlaswinkel
d77a08fc37 Upgrade markdownlint packages 2023-12-14 10:42:05 +01:00
Koen Vlaswinkel
cb2e5026a1 Update CHANGELOG 2023-12-14 10:27:54 +01:00
Koen Vlaswinkel
d4a4536d40 Improve performance of compare view using Promise.all 2023-12-14 10:22:10 +01:00
Koen Vlaswinkel
ab1966abf1 Add comparison of SARIF results in compare view
This wires up the comparison of SARIF results in the compare view. It
uses the same diffing algorithm as the raw results, but it uses the
SARIF results instead of the raw results.
2023-12-14 10:22:10 +01:00
Koen Vlaswinkel
6de954143c Read raw result sets in compareResults
This moves reading of the result sets to the `compareResults` method
since raw result sets don't need to be read for interpreted results and
the `findResultSetsToCompare` method is shared between the two types
of results.
2023-12-14 10:22:10 +01:00
Koen Vlaswinkel
109766d411 Add alerts table to compare view if available
This adds the `alerts` result set to the compare view if an interpreted
result is available. This assumes that the user has opened the query
in the results view before opening the compare view. It will not
interpret the results if the interpreted results are not available.
2023-12-14 10:22:09 +01:00
Koen Vlaswinkel
4bd1981a34 Update CHANGELOG 2023-12-14 10:10:14 +01:00
Koen Vlaswinkel
0415ac539c Merge pull request #3112 from github/koesie10/compare-sarif-view
Add interpreted results table to compare view
2023-12-14 10:10:07 +01:00
Koen Vlaswinkel
cf50a71a16 Remove GitHub database download feature flag
This removes the `codeQL.githubDatabase.enable` setting and always
enables the GitHub database download feature.
2023-12-14 10:08:14 +01:00
Charis Kyriakou
598f2eb3f2 Allow the CodeQL CLI path to be set from an environment variable (#3118) 2023-12-14 09:03:25 +00:00
Koen Vlaswinkel
480f90ac2f Merge remote-tracking branch 'origin/main' into koesie10/compare-sarif-view 2023-12-14 09:54:50 +01:00
Andrew Eisenberg
e15f15358b Merge pull request #3125 from github/aeisenberg/no-multi-token
Avoid creating a multitoken when finding definitions
2023-12-13 15:07:52 -08:00
Andrew Eisenberg
8516940e64 Add changelog note 2023-12-13 22:52:19 +00:00
Andrew Eisenberg
ef69a51741 Avoid creating a multitoken when finding definitions
This will avoid showing a query-server popup on hovers. When someone
does CTRL+hover on source code in a database archive, the definitions
provider is triggered. The first time this is run, there will be a query that
is invoked in order to find definitions. This can be a long process.

Previously, this query brought up a popup window that could be cancelled.
However, this is confusing users since the query is automatically cancelled
when the mouse hovers away from the element.

The downside of this PR is that even when find definitions is explicitly invoked,
(using F12), there will still be no hover.

I think this is an improvement, but I am happy to discuss if others disagree.
2023-12-13 22:50:37 +00:00
Koen Vlaswinkel
9594a5e951 Merge pull request #3136 from github/dependabot/npm_and_yarn/extensions/ql-vscode/types/tar-stream-3.1.3
Bump @types/tar-stream from 2.2.3 to 3.1.3 in /extensions/ql-vscode
2023-12-13 16:55:25 +01:00
Koen Vlaswinkel
7b9c7f4e21 Merge pull request #3135 from github/dependabot/npm_and_yarn/extensions/ql-vscode/markdownlint-cli2-formatter-pretty-0.0.5
Bump markdownlint-cli2-formatter-pretty from 0.0.4 to 0.0.5 in /extensions/ql-vscode
2023-12-13 16:07:39 +01:00
Koen Vlaswinkel
25ff95a2f3 Merge pull request #3134 from github/dependabot/npm_and_yarn/extensions/ql-vscode/typescript-eslint/parser-6.14.0
Bump @typescript-eslint/parser from 6.13.2 to 6.14.0 in /extensions/ql-vscode
2023-12-13 16:07:31 +01:00
dependabot[bot]
25779b4db1 Bump @types/tar-stream from 2.2.3 to 3.1.3 in /extensions/ql-vscode
Bumps [@types/tar-stream](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/tar-stream) from 2.2.3 to 3.1.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/tar-stream)

---
updated-dependencies:
- dependency-name: "@types/tar-stream"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-13 14:53:46 +00:00
dependabot[bot]
611f55b9cd Bump markdownlint-cli2-formatter-pretty in /extensions/ql-vscode
Bumps [markdownlint-cli2-formatter-pretty](https://github.com/DavidAnson/markdownlint-cli2) from 0.0.4 to 0.0.5.
- [Changelog](https://github.com/DavidAnson/markdownlint-cli2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/DavidAnson/markdownlint-cli2/compare/v0.0.4...v0.0.5)

---
updated-dependencies:
- dependency-name: markdownlint-cli2-formatter-pretty
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-13 14:53:27 +00:00
dependabot[bot]
b8558a67a3 Bump @typescript-eslint/parser in /extensions/ql-vscode
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 6.13.2 to 6.14.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v6.14.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-13 14:53:12 +00:00
Koen Vlaswinkel
3d65ecaac9 Merge pull request #3126 from github/koesie10/remove-types-classnames
Remove `@types/classnames` package
2023-12-13 15:51:39 +01:00
Koen Vlaswinkel
61c9503d52 Merge pull request #3132 from github/koesie10/dependabot-all
Do not ignore patch/minor updates in Dependabot configuration
2023-12-13 15:51:26 +01:00
Koen Vlaswinkel
01f5a65f7d Remove @types/classnames package
`classnames` provides its own type definitions, so we do not need to
have this installed.
2023-12-13 15:33:17 +01:00
Koen Vlaswinkel
612499916d Do not ignore patch/minor updates in Dependabot configuration 2023-12-13 15:03:10 +01:00
Koen Vlaswinkel
a2294bb5cc Merge pull request #3122 from github/koesie10/npm-upgrade
Run `npm upgrade`
2023-12-13 14:57:29 +01:00
Koen Vlaswinkel
0b7b6f1b13 Merge remote-tracking branch 'origin/main' into koesie10/npm-upgrade 2023-12-13 14:40:30 +01:00
Koen Vlaswinkel
8b2fd1a630 Merge pull request #3131 from github/version/bump-to-v1.11.1
Bump version to v1.11.1
2023-12-13 14:39:00 +01:00
Koen Vlaswinkel
4bb25a7d69 Merge pull request #3093 from github/koesie10/separate-bqrs-types
Create separate types for raw results sets
2023-12-13 14:27:45 +01:00
github-actions[bot]
83bdb54047 Bump version to v1.11.1 2023-12-13 13:17:03 +00:00
Koen Vlaswinkel
0d380736b3 Merge pull request #3130 from github/v1.11.0
v1.11.0
2023-12-13 14:15:23 +01:00
Koen Vlaswinkel
0655e10db5 Remove canary requirement for CodeQL Methods Usage panel
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2023-12-13 12:10:34 +01:00
Koen Vlaswinkel
fb713f733d Upgrade @vscode/test-electron
This upgrades this package to fix tests on Windows. It seems like the
extraction of the VS Code archive is failing, which is fixed in the
newest version.
2023-12-13 10:16:26 +01:00
Koen Vlaswinkel
15cc559792 v1.11.0 2023-12-13 09:48:49 +01:00
Koen Vlaswinkel
a2f3f5fbe3 Merge pull request #3128 from github/koesie10/feature-flags-1.11.0
Remove feature flags for release v1.11.0
2023-12-13 09:39:27 +01:00
Robert
54a03c8839 Create issue when CLI tests fail on the default branch 2023-12-12 16:43:03 +00:00
Koen Vlaswinkel
ce84fed6ab Update CHANGELOG 2023-12-12 14:57:01 +01:00
Koen Vlaswinkel
6ecad9db03 Remove modeled-methods-legacy file 2023-12-12 14:51:38 +01:00
Koen Vlaswinkel
9543d14840 Remove unnecessary ModeledMethodsPanel 2023-12-12 14:49:19 +01:00
Koen Vlaswinkel
6eee7983b0 Remove showMultipleModels props 2023-12-12 14:48:45 +01:00
Koen Vlaswinkel
6ec0f51a54 Remove showMultipleModels from view states 2023-12-12 14:43:42 +01:00
Koen Vlaswinkel
5a29d35c98 Remove showMultipleModels config 2023-12-12 14:35:15 +01:00
Koen Vlaswinkel
16ebac12a1 Move showMultipleModels out of canary 2023-12-12 14:33:57 +01:00
Koen Vlaswinkel
2b6fe94cd3 Move codeQLMethodModeling out of canary 2023-12-12 14:33:38 +01:00
Koen Vlaswinkel
bc1c08c653 Merge remote-tracking branch 'origin/main' into koesie10/separate-bqrs-types 2023-12-12 14:15:24 +01:00
Robert
66c0714606 Point ReleasesApiConsumer at nightly repo if config value is set 2023-12-12 10:43:03 +00:00
Shati Patel
9cb4d233d9 CodeQL model editor: Make "add" and "delete" buttons more intuitive (#3123) 2023-12-12 10:42:32 +00:00
Koen Vlaswinkel
8fac9b1413 Merge pull request #3124 from github/github-action/bump-cli
Bump CLI Version to v2.15.4 for integration tests
2023-12-12 10:23:57 +01:00
Nora
6c76218b21 Merge pull request #3106 from github/nora/remove-local-db-code
Delete local db functionality
2023-12-12 09:38:16 +01:00
github-actions[bot]
d4a4cbb4f1 Bump CLI version from v2.15.3 to v2.15.4 for integration tests 2023-12-11 16:54:11 +00:00
Koen Vlaswinkel
3a8beb9ab9 Suppress github/a11y-no-title-attribute violation
This requires more work, but for now we just suppress the violation.
2023-12-11 17:05:39 +01:00
Koen Vlaswinkel
afdd20a957 Fix github/a11y-svg-has-accessible-name violation 2023-12-11 17:03:21 +01:00
Koen Vlaswinkel
bf5398bfc9 Fix import/no-named-as-default violations 2023-12-11 17:02:20 +01:00
Koen Vlaswinkel
01085e75ba Automatically fix ESLint violations 2023-12-11 17:00:16 +01:00
Koen Vlaswinkel
7f332e3374 Add retryCount to mocked Octokit responses 2023-12-11 16:41:15 +01:00
Koen Vlaswinkel
39229c26d4 Run npm upgrade 2023-12-11 16:41:15 +01:00
Kasper Svendsen
0f437f7a92 Merge pull request #3121 from github/kaspersv/port-dca-ra-parser-updates
Port DCA join-order badness RA parser changes
2023-12-11 15:40:08 +01:00
Kasper Svendsen
0df9a54d89 Port DCA join-order badness RA parser changes 2023-12-11 09:50:09 +01:00
Nora
4f85ac11a9 Merge pull request #3120 from github/nora/make-top-banner-sticky
Make model editor top banner sticky
2023-12-08 16:24:31 +01:00
Nora
118ad9d530 Fix background color 2023-12-08 15:09:36 +00:00
Nora
2a44bf78c8 Update Changelog 2023-12-08 14:13:05 +00:00
Nora
cf301aa338 Make header sticky 2023-12-08 14:10:09 +00:00
Nora
0e96941c89 Move save-refresh buttons to Header 2023-12-08 14:09:50 +00:00
Koen Vlaswinkel
f596f7ee74 Merge pull request #3117 from github/koesie10/fix-ruby-modules
Add support for models on types for Ruby
2023-12-08 14:42:23 +01:00
Koen Vlaswinkel
87e42b499d Merge pull request #3119 from github/koesie10/update-ruby-query
Update model editor Ruby queries
2023-12-08 14:00:07 +01:00
Nora
8acff5ce72 Remove from other files 2023-12-08 12:42:27 +00:00
Koen Vlaswinkel
47797eb7e6 Update model editor Ruby queries 2023-12-08 11:47:52 +01:00
Koen Vlaswinkel
0a4d28e9f0 Fix empty method names in output for Ruby
This fixes the output of the Ruby MaD models when the method name is
empty which can happen when the model applies to a type rather than to
a method.
2023-12-07 16:51:58 +01:00
Koen Vlaswinkel
01956072b3 Fix rendering of method names
This fixes the rendering of method names when either the type or method
name is empty. This can happen when the method is a not in a class or
when the method is a synthetic method and the properties actually apply
to the type.
2023-12-07 16:51:58 +01:00
Koen Vlaswinkel
49114cc143 Add interpreted results table to compare view 2023-12-07 10:56:51 +01:00
Koen Vlaswinkel
789719a26c Merge pull request #3115 from github/koesie10/compare-messages
Split compare view messages
2023-12-07 10:54:23 +01:00
Koen Vlaswinkel
8d711624bb Merge remote-tracking branch 'origin/main' into koesie10/compare-messages 2023-12-07 10:39:28 +01:00
Koen Vlaswinkel
7b6b303040 Merge pull request #3111 from github/koesie10/compare-raw
Add interpreted results type to compare view
2023-12-07 10:35:41 +01:00
Koen Vlaswinkel
86aa4ffb6f Merge pull request #3114 from github/koesie10/compare-default
Change compare view default selected result set
2023-12-07 10:21:24 +01:00
Koen Vlaswinkel
1235172147 Rename type to kind 2023-12-07 10:20:00 +01:00
Koen Vlaswinkel
4873d7eb12 Fix postMessage beint sent before webview is loaded 2023-12-06 16:21:16 +01:00
Koen Vlaswinkel
27418898b0 Cache common result set names
This caches the common result set names and moves the common result set
names from the `SetComparisonsMessage` to the
`SetComparisonQueryInfoMessage`.
2023-12-06 16:08:25 +01:00
Koen Vlaswinkel
3554bceac0 Split compare view messages
This splits the compare view messages into two different messages. One
contains the metadata that doesn't change when the user selects a
different result set, and the other contains the actual results.
2023-12-06 16:07:26 +01:00
Koen Vlaswinkel
71d4fd7b0a Change compare view default result set name
This changes the default result set that is selected in the compare view
to the same as the default result set in the results view. This will
select `#select` by default for most queries, rather than the first
result set, which could be `edges` or `nodes` for some queries.
2023-12-06 15:10:49 +01:00
Koen Vlaswinkel
151c031732 Merge pull request #3110 from github/koesie10/result-styled
Switch to styled-components for some components in the results view
2023-12-06 14:35:20 +01:00
Koen Vlaswinkel
af68d99509 Add interpreted results type to compare view 2023-12-06 12:33:18 +01:00
Koen Vlaswinkel
3f2114a7f0 Extract octicons to components 2023-12-06 11:59:01 +01:00
Koen Vlaswinkel
4f14592dd7 Extract vscode-codeql__vertical-rule class to component 2023-12-06 11:58:32 +01:00
Koen Vlaswinkel
acca6b34f8 Remove vscode-codeql__title class 2023-12-06 11:58:32 +01:00
Koen Vlaswinkel
f847c36fb7 Remove vscode-codeql__result-table-location-link class
This seems to be unused.
2023-12-06 11:58:31 +01:00
Koen Vlaswinkel
1ed72c6bbe Switch to styled-components for EmptyQueryResultsMessage 2023-12-06 11:58:20 +01:00
Koen Vlaswinkel
d72f3f40d2 Merge pull request #3108 from github/koesie10/compare-styled
Switch to styled-components for compare components
2023-12-06 11:57:27 +01:00
Koen Vlaswinkel
4a46873dd3 Merge remote-tracking branch 'origin/main' into koesie10/compare-styled 2023-12-06 11:42:29 +01:00
Nora
acbd973bd2 db-manager: remove tests and functionality 2023-12-06 10:36:50 +00:00
Koen Vlaswinkel
4a321708db Merge pull request #3107 from github/koesie10/fix-compare-loading-message
Fix loading message for compare view
2023-12-06 11:33:52 +01:00
Charis Kyriakou
3f07082e55 Add note in Model with AI test case in test plan (#3109) 2023-12-06 10:23:33 +00:00
Koen Vlaswinkel
80081af377 Merge pull request #3105 from github/koesie10/create-raw-compare-result-table
Extract `RawCompareResultTable` component
2023-12-06 11:21:19 +01:00
Koen Vlaswinkel
a42e9ebbf1 Update CHANGELOG 2023-12-06 11:19:04 +01:00
Nora
9f667ef2d2 db-panel: remove tests and functionality 2023-12-06 10:18:35 +00:00
Koen Vlaswinkel
b421a1916c Switch to styled-components for compare components 2023-12-06 11:04:45 +01:00
Koen Vlaswinkel
ddf4407c8c Fix loading message for compare view 2023-12-06 10:59:30 +01:00
Koen Vlaswinkel
aa9cb89369 Extract RawCompareResultTable component 2023-12-06 10:51:03 +01:00
Koen Vlaswinkel
cce858561f Merge pull request #3103 from github/koesie10/compare-view-results
Move columns in compare view to result
2023-12-06 09:57:30 +01:00
Koen Vlaswinkel
f4cc9f9fbb Move columns in compare view to result
The columns are part of the result, so they should be moved there. This
is in preparation of showing SARIF results in the same view, which don't
have columns.
2023-12-05 16:55:54 +01:00
Koen Vlaswinkel
9c200e036a Merge pull request #3102 from github/koesie10/refactor-compare-view
Refactor compare view
2023-12-05 16:49:45 +01:00
Koen Vlaswinkel
3020bf711b Merge pull request #3094 from github/koesie10/remove-legacy-query-server
Remove the legacy query server
2023-12-05 12:08:54 +01:00
Koen Vlaswinkel
b1289a4598 Rename findCommonResultSetNames to findResultSetsToCompare 2023-12-05 11:02:27 +01:00
Koen Vlaswinkel
da8d32c4bc Return object from findCommonResultSetNames 2023-12-05 11:02:27 +01:00
Koen Vlaswinkel
f3a0ad2e18 Use BQRS types for compare view 2023-12-05 11:02:27 +01:00
Koen Vlaswinkel
331d39afcf Cache BQRS schemas in compare view 2023-12-05 10:26:24 +01:00
Koen Vlaswinkel
b6ba0bbcb9 Create showResultsInternal method 2023-12-05 10:24:15 +01:00
Koen Vlaswinkel
496d05c900 Create findResultSetNames function 2023-12-05 10:21:57 +01:00
Koen Vlaswinkel
76534bccd7 Add comment to formatLegacyMessage 2023-12-04 10:58:57 +01:00
dependabot[bot]
d28cc6e3f2 Bump @adobe/css-tools from 4.3.1 to 4.3.2 in /extensions/ql-vscode (#3098)
Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/adobe/css-tools/blob/main/History.md)
- [Commits](https://github.com/adobe/css-tools/commits)

---
updated-dependencies:
- dependency-name: "@adobe/css-tools"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 09:45:35 -08:00
dependabot[bot]
a6703e11e3 Bump cosmiconfig from 8.2.0 to 9.0.0 in /extensions/ql-vscode (#3095)
Bumps [cosmiconfig](https://github.com/cosmiconfig/cosmiconfig) from 8.2.0 to 9.0.0.
- [Release notes](https://github.com/cosmiconfig/cosmiconfig/releases)
- [Changelog](https://github.com/cosmiconfig/cosmiconfig/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cosmiconfig/cosmiconfig/compare/v8.2.0...v9.0.0)

---
updated-dependencies:
- dependency-name: cosmiconfig
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-30 10:00:28 -08:00
Koen Vlaswinkel
cf6abc43b1 Remove unused legacy messages 2023-11-28 16:35:30 +01:00
Koen Vlaswinkel
ce20c7f6a4 Remove legacy query server 2023-11-28 16:11:26 +01:00
Koen Vlaswinkel
b8ec847253 Add tests for bqrsToResultSet 2023-11-27 14:25:59 +01:00
Koen Vlaswinkel
a0c85b78c5 Rename bqrs-result to bqrs-raw-results-mapper 2023-11-27 14:14:55 +01:00
Koen Vlaswinkel
f0a354917e Fix tests 2023-11-27 14:14:04 +01:00
Koen Vlaswinkel
082c5e4a31 Prefix BQRS types with Bqrs 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
439cfcc023 Remove getResultSetSchema function 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
297f5a9f67 Remove schema from interpreted results type 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
e7c79f04c6 Remove dead code 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
76529572f5 Switch AST viewer to use new result types 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
63d6793795 Remove some unused BQRS methods/argument type unions 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
fc2e6d0432 Use new raw result types in result and compare views 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
cb707aea50 Use new raw result types for variant analyses 2023-11-27 13:38:04 +01:00
Koen Vlaswinkel
cd26f27e6e Introduce raw result types 2023-11-27 13:38:04 +01:00
Robert
3c98f94d3e Merge pull request #3091 from MathiasVP/autocomplete-to-new-dataflow-and-taint-tracking
Change dataflow and taint-tracking snippets to match the module-based API
2023-11-27 11:55:45 +00:00
Mathias Vorreiter Pedersen
558f7f6dbf No need for a whitespace on a blank line. 2023-11-27 10:55:32 +00:00
Mathias Vorreiter Pedersen
0d4dbb059b Update change log. 2023-11-24 18:02:40 +00:00
Mathias Vorreiter Pedersen
291bdbec8d Change dataflow and taint-tracking snippets to match the module-based API. 2023-11-24 17:51:56 +00:00
Koen Vlaswinkel
98b30af0a0 Merge pull request #3090 from github/koesie10/silent-resolve-tests
Silence `resolve tests` command
2023-11-24 16:56:56 +01:00
Koen Vlaswinkel
992079d99f Merge pull request #3089 from github/koesie10/eslint-curly
Enable ESLint `curly` rule
2023-11-24 16:08:22 +01:00
Koen Vlaswinkel
d5e7e54293 Merge pull request #3086 from github/koesie10/fix-cli-tests
Fix tests with `workspaceContains:.git` activation event
2023-11-24 15:57:23 +01:00
Koen Vlaswinkel
d0d12b78b2 Merge pull request #3081 from github/koesie10/github-databases-directory
Move GitHub databases files to separate directory
2023-11-24 15:44:56 +01:00
Koen Vlaswinkel
2e06fa3f5f Remove ensureDir call 2023-11-24 15:38:22 +01:00
Koen Vlaswinkel
cab510f2dd Introduce forceUpdateConfiguration method 2023-11-24 15:36:27 +01:00
Koen Vlaswinkel
5e6b7d846e Rename GitHubDatabaseModule to GitHubDatabasesModule 2023-11-24 15:31:33 +01:00
Koen Vlaswinkel
85d7b9b2fe Merge pull request #3088 from github/koesie10/locations-preserve-focus
Preserve focus on results viewer when showing location
2023-11-24 15:04:27 +01:00
Koen Vlaswinkel
08721179dc Silence resolve tests command
This hides that the `resolve tests` command is run from the user, as it
is run as part of a background process and spams the log.
2023-11-24 14:46:12 +01:00
Koen Vlaswinkel
918661e5ce Enable ESLint curly rule
This enables [the ESLint `curly` rule](https://eslint.org/docs/latest/rules/curly)
with its options set to `all`. This enforces curly braces around all
blocks, even single-line ones.

I've used `npm run lint -- --fix` to fix all occurences.
2023-11-24 14:38:32 +01:00
Koen Vlaswinkel
6324a19729 Update CHANGELOG 2023-11-24 14:21:03 +01:00
Koen Vlaswinkel
bbc77c0519 Preserve focus on results viewer when showing location
This preserves the focus on the results viewer when showing a location
to ensure that the user can navigate to the next result without having
to click or change the focus to the results viewer first. This allows
the user to quickly navigate through the results.
2023-11-24 14:19:20 +01:00
Koen Vlaswinkel
54be065f3e Fix tests with workspaceContains:.git activation event
It seems like changes to the CLI path setting are not picked up by the
extension when it is already activated. This is probably because the
`workspace.onDidChangeConfiguration` event is not fired when the update
is made programmatically.

This fixes it by manually firing the event so that all listeners (CLI
server, query server, IDE server) can pick up the change.
2023-11-24 11:15:54 +01:00
Koen Vlaswinkel
829607f044 Move GitHub databases files to separate directory 2023-11-24 10:34:49 +01:00
Koen Vlaswinkel
c3425b5146 Merge pull request #3087 from github/koesie10/drop-support-cli
Drop support for CLI versions < v2.11.6
2023-11-24 10:32:12 +01:00
Koen Vlaswinkel
ec192affdc Update CHANGELOG 2023-11-23 14:04:50 +01:00
Koen Vlaswinkel
66ae46f67c Drop support for CLI versions < v2.11.6 2023-11-23 14:04:50 +01:00
Shati Patel
424e8d3145 Discourage use of "Quick query" in single-folder workspaces (#3082) 2023-11-23 11:22:44 +00:00
Koen Vlaswinkel
208efb57d3 Merge pull request #3079 from github/koesie10/update-github-databases
Add prompt for updating GitHub databases
2023-11-23 12:16:58 +01:00
Koen Vlaswinkel
4f988de36d Update tests for isNewerDatabaseAvailable 2023-11-23 10:27:28 +01:00
Koen Vlaswinkel
e66d76aca8 Consider created_at for database updates 2023-11-23 10:17:07 +01:00
Koen Vlaswinkel
5d1b2926cc Add comment about update check 2023-11-23 10:14:04 +01:00
Koen Vlaswinkel
7b3a55e2bf Refactor handling of updateStatus 2023-11-23 10:11:36 +01:00
Koen Vlaswinkel
560008c55e Merge pull request #3085 from github/koesie10/remove-activation-event
Remove workspaceContains:.git activation event
2023-11-23 09:51:04 +01:00
Koen Vlaswinkel
b81061a8a1 Remove workspaceContains:.git activation event 2023-11-23 09:37:09 +01:00
Florin Coada
c09c26d2b3 Update CHANGELOG.md (#3084)
Updated documentation link. Original was not working.
2023-11-22 15:24:55 +00:00
github-actions[bot]
7970b09134 Bump CLI version from v2.15.2 to v2.15.3 for integration tests (#3083) 2023-11-22 14:59:42 +00:00
Koen Vlaswinkel
0523d2a63d Merge pull request #3073 from github/koesie10/download-multiple-github-databases
Allow downloading multiple databases from GitHub
2023-11-21 11:42:06 +01:00
Nora
8aae7d30d3 Merge pull request #3078 from github/dependabot/npm_and_yarn/extensions/ql-vscode/adobe/css-tools-4.3.1
Bump @adobe/css-tools from 4.0.1 to 4.3.1 in /extensions/ql-vscode
2023-11-20 16:29:45 +01:00
Koen Vlaswinkel
a0295d62f8 Add prompt for updating GitHub databases 2023-11-20 14:52:47 +01:00
Koen Vlaswinkel
4f51445609 Merge remote-tracking branch 'origin/main' into koesie10/download-multiple-github-databases 2023-11-20 14:47:18 +01:00
Koen Vlaswinkel
01d24e06f3 Merge pull request #3072 from github/koesie10/download-github-database-authentication
Use credentials for database download in non-canary mode
2023-11-20 14:40:06 +01:00
Koen Vlaswinkel
b83ef4ed68 Split up listing of databases to separate function 2023-11-20 14:20:48 +01:00
Koen Vlaswinkel
9dd061b2c8 Rename github-database-prompt to github-database-download 2023-11-20 13:37:05 +01:00
Koen Vlaswinkel
feca898c85 Merge remote-tracking branch 'origin/main' into koesie10/download-github-database-authentication 2023-11-20 11:14:13 +01:00
Koen Vlaswinkel
422f0eb7e4 Merge pull request #3071 from github/koesie10/download-github-database
Prompt user for database download on startup
2023-11-20 11:08:32 +01:00
Koen Vlaswinkel
5c03f5b43e Do not split up message 2023-11-20 10:27:18 +01:00
Koen Vlaswinkel
9ca138dc8e Rename function to promptAndDownloadGitHubDatabase 2023-11-20 10:23:16 +01:00
dependabot[bot]
40b1755868 Bump @adobe/css-tools from 4.0.1 to 4.3.1 in /extensions/ql-vscode
Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.0.1 to 4.3.1.
- [Changelog](https://github.com/adobe/css-tools/blob/main/History.md)
- [Commits](https://github.com/adobe/css-tools/commits)

---
updated-dependencies:
- dependency-name: "@adobe/css-tools"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-20 08:40:18 +00:00
Koen Vlaswinkel
d0488ddda9 Allow downloading multiple databases from GitHub
This adds the option to download multiple databases from GitHub in the
initial GitHub database download prompt. The databases will be
downloaded concurrently.

Unfortunately it doesn't seem possible to change the "OK" text in the
quick pick to "Download", so I've left it as "OK" for now.
2023-11-17 14:50:59 +01:00
Koen Vlaswinkel
5d42cbc1c8 Also use credentials in non-canary mode
We want users to be able to download databases from private/internal
repositories without using canary mode. This will change the prompt to
ask for credentials in non-canary mode as well.
2023-11-17 14:47:43 +01:00
Koen Vlaswinkel
636f8f1b5f Prompt user for database download on startup 2023-11-17 14:45:35 +01:00
Koen Vlaswinkel
c0db180200 Merge pull request #3068 from github/koesie10/find-github-repository
Add finding of GitHub repositories in workspace
2023-11-17 14:37:53 +01:00
github-actions[bot]
383a1215b4 Bump version to v1.10.1 (#3077) 2023-11-16 18:20:26 +00:00
Shati Patel
0994c3e95f Merge pull request #3076 from github/v1.10.0
v1.10.0
2023-11-16 15:51:25 +00:00
Koen Vlaswinkel
fe0c10aa89 Merge remote-tracking branch 'origin/main' into koesie10/find-github-repository 2023-11-16 16:49:35 +01:00
Koen Vlaswinkel
5db1f76c55 Add tests for more Git state scenarios 2023-11-16 16:49:02 +01:00
Koen Vlaswinkel
779faa324c Improve heuristic and comments 2023-11-16 16:42:09 +01:00
Koen Vlaswinkel
f23bc81712 Add comment about initialize method 2023-11-16 16:37:25 +01:00
Koen Vlaswinkel
704894471b Fix error when Git extension is disabled 2023-11-16 16:37:25 +01:00
Koen Vlaswinkel
a04f70e162 Fix error logging 2023-11-16 16:37:25 +01:00
Koen Vlaswinkel
a150643cdf Change log message when repository is not found 2023-11-16 16:37:24 +01:00
shati-patel
bb9a808019 v1.10.0
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2023-11-16 14:22:20 +00:00
Koen Vlaswinkel
0323325015 Improve comments on findRemote 2023-11-16 13:37:01 +01:00
Shati Patel
d3608159b8 Remove feature flags for queries panel + language selector (#3075) 2023-11-16 10:55:24 +00:00
Koen Vlaswinkel
ec7640f337 Merge pull request #3074 from github/koesie10/octokit-rest-codeql-databases
Use Octokit REST for listing CodeQL databases
2023-11-16 09:23:46 +01:00
Koen Vlaswinkel
f8fa863b93 Use Octokit REST for listing CodeQL databases
This switches the request to the GitHub API for listing CodeQL databases
from a custom request to the Octokit REST API. This allows us to be more
type-safe without introducing our own types.

The update to `@octokit/openapi-types` was necessary to have access to
the `commit_oid` field.
2023-11-15 17:11:24 +01:00
Koen Vlaswinkel
6fc567b5b9 Merge pull request #3066 from github/koesie10/add-database-source
Add origin metadata to database items
2023-11-15 16:12:32 +01:00
Koen Vlaswinkel
7fe707a42d Add database id and created_at to origin 2023-11-15 14:54:00 +01:00
Shati Patel
a271f7b36e Fix minor bugs with queries panel + language selector (#3070) 2023-11-14 13:29:41 +00:00
Shati Patel
144033967d Rename "allowHttp" setting (#3069) 2023-11-14 11:44:46 +00:00
Charis Kyriakou
be2891dfba Replace ModelEditorViewTracker with modeling store and events (#3065) 2023-11-14 11:38:28 +00:00
Koen Vlaswinkel
0b964f06d8 Merge remote-tracking branch 'origin/main' into koesie10/add-database-source 2023-11-14 10:06:27 +01:00
Koen Vlaswinkel
5df9dfc78a Rename source to origin 2023-11-14 10:04:05 +01:00
Shati Patel
9e914c9ba1 Don't add database source archive folders by default (#3047) 2023-11-13 16:04:53 +00:00
Koen Vlaswinkel
019195b38c Add finding of GitHub repositories in workspace 2023-11-13 17:04:08 +01:00
github-actions[bot]
5770eda466 Bump CLI version from v2.15.1 to v2.15.2 for integration tests (#3067) 2023-11-13 15:16:43 +00:00
Charis Kyriakou
3ac8a816ef Update provenance when inputs change (#3064) 2023-11-13 14:55:20 +00:00
Robert
ab4717c540 Merge pull request #3060 from github/robertbrignull/noUnusedParameters
Enable noUnusedParameters for the view code
2023-11-13 11:24:11 +00:00
Shati Patel
934ed82786 Don't create QL pack if user escapes out of prompt (#3062) 2023-11-13 10:44:21 +00:00
Koen Vlaswinkel
bca7ecb782 Add source to database item
This adds a source property to the database item to store the source of
the database, for example GitHub or an internet URL. This will be used
to automatically check for updates to GitHub-downloaded databases in the
future.
2023-11-13 11:13:41 +01:00
Koen Vlaswinkel
bc2847a12e Merge pull request #3057 from github/koesie10/contextual-no-submodule
Make contextual queries work for fresh installs
2023-11-13 09:41:06 +01:00
Charis Kyriakou
28994b7bd8 Merge pull request #3059 from github/charisk/accepted-models
Differentiate between suggestions and accepted models
2023-11-10 10:25:28 +00:00
Charis Kyriakou
6de96b46ec Take into account that not all modeled methods have provenance 2023-11-10 09:35:37 +00:00
Charis Kyriakou
692dd02652 Add logic to change style for non-accepted suggestions 2023-11-10 09:35:05 +00:00
Charis Kyriakou
271808a635 Pass modeling status down to drop-down components 2023-11-10 09:34:38 +00:00
Koen Vlaswinkel
64a073368f Merge pull request #3048 from github/koesie10/type-model
Add `type` as modeled method type
2023-11-10 10:21:29 +01:00
Koen Vlaswinkel
ddaabfa0cc Merge remote-tracking branch 'origin/main' into koesie10/type-model 2023-11-10 09:47:57 +01:00
Charis Kyriakou
f9e06540e4 Merge pull request #3063 from github/robertbrignull/releasing
Add instructions for releasing from a branch other than main
2023-11-10 08:24:22 +00:00
Shati Patel
b5b1106e85 Minor tidy-up for local-databases tests (#3058) 2023-11-10 08:23:58 +00:00
Robert
3d124f71d3 Remove trailing spaces 2023-11-09 09:39:12 +00:00
Robert
784cff4746 Add note to make sure main is up to date 2023-11-08 18:03:54 +00:00
Robert
5fa5ca3799 Add blank lines around fenced code blocks 2023-11-08 18:02:28 +00:00
Robert
4aee6633b8 Add note about conflicts in the changelog 2023-11-08 17:01:41 +00:00
Robert
d02b1e4dcb Remove branching instructions for regular/minimal releases 2023-11-08 16:40:36 +00:00
Robert
e90b136e22 Include git command for creating release branch off of previous release tag 2023-11-08 16:39:41 +00:00
Robert
c9f9f62bc7 Add instructions for releasing from a branch other than main 2023-11-08 12:38:26 +00:00
Robert
6af9e7bf4a Enabled noUnusedParameters in src/view/tsconfig.json 2023-11-07 16:18:15 +00:00
Robert
9c51d1b54f Remove title prop from ClickableLocation 2023-11-07 16:17:54 +00:00
Robert
814ba246f8 Remove unused parameter from listerer 2023-11-07 16:17:23 +00:00
Robert
427940d3d6 Remove unused index from map call 2023-11-07 16:17:08 +00:00
Robert
9cabb1f460 Remove packageName prop from ModeledMethodDataGrid 2023-11-07 16:15:52 +00:00
Robert
350e5aebd6 Remove label prop from DeterminateProgressRing 2023-11-07 16:14:53 +00:00
Shati Patel
429f9a17d4 Sort databases by name if their languages are the same (#3055) 2023-11-06 16:03:33 +00:00
Anders Starcke Henriksen
1c19d7a2e1 Merge pull request #3056 from github/version/bump-to-v1.9.5
Bump version to v1.9.5
2023-11-06 16:15:29 +01:00
Koen Vlaswinkel
8464892ac0 Make contextual queries work for fresh installs
This fixes the contextual queries when you are not in a workspace with
the submodule and do not have any downloaded packs in the package cache.
In that case, the contextual queries would fail because they weren't
able to determine which pack belonged to the database.

This fixes it by downloading the `codeql/${language}-all` pack in case
no dbscheme is found for the database. After the download is complete,
it will return the expected value for the qlpacks. This should work in
almost all cases (at least for standard languages).
2023-11-06 15:58:07 +01:00
github-actions[bot]
a392a179f9 Bump version to v1.9.5 2023-11-06 14:32:49 +00:00
Anders Starcke Henriksen
69ff2ed30c Merge pull request #3054 from github/v1.9.4
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
v1.9.4
2023-11-06 15:04:41 +01:00
Anders Starcke Henriksen
0884eb83ec v1.9.4 2023-11-06 14:41:42 +01:00
Kasper Svendsen
1fa7a93ec7 Merge pull request #3051 from github/kaspersv/parse-quoted-ra-idents
Extend join order badness RA parser
2023-11-06 13:50:46 +01:00
Koen Vlaswinkel
18d7fae817 Merge pull request #3053 from github/koesie10/ruby-arguments
Add support for Ruby keyword arguments
2023-11-06 10:59:27 +01:00
Koen Vlaswinkel
b3c5afbe4e Merge pull request #3052 from github/koesie10/argument-self
Extract creation of method argument options to languages
2023-11-06 10:59:20 +01:00
Koen Vlaswinkel
557110d71d Use readonly dropdowns for showing type models 2023-11-03 15:57:09 +01:00
Koen Vlaswinkel
5f2a32ac8e Add support for Ruby keyword arguments
Ruby keyword arguments are represented differently than positional
arguments in the MaD format: they are represented as `Method[key:]`. The
framework endpoints query also returns the name as `key:`, so we can
detect these and format them as such.
2023-11-03 14:08:04 +01:00
Koen Vlaswinkel
b348356876 Extract creation of method argument options to languages
This moves the creation of possible method argument options from the
view to the languages. This allows differentiating between the
languages, for example by using `Argument[self]` for Ruby instead of
`Argument[this]`.
2023-11-03 13:50:13 +01:00
Koen Vlaswinkel
146732fa29 Merge pull request #3049 from github/koesie10/styled-transient-props
Use transient props for all styled components
2023-11-03 13:14:10 +01:00
Charis Kyriakou
3cc4f5c4a4 Remove logic that sets neutral models during automodeling (#3050) 2023-11-03 10:38:50 +00:00
Koen Vlaswinkel
261f8b3b2c Add type as modeled method type
This adds support for modeling types. A MaD language can now optionally
define a `type` predicate. This allows internally propagating these
models. The UI will now simply show a label "type" for type models
without any way to edit these.
2023-11-03 11:32:49 +01:00
Koen Vlaswinkel
4673bf56bd Merge pull request #3043 from github/koesie10/generate-model-unify
Unify model generation query execution
2023-11-03 11:27:36 +01:00
Koen Vlaswinkel
2f9f2f3d39 Merge remote-tracking branch 'origin/main' into koesie10/generate-model-unify 2023-11-03 11:08:01 +01:00
Koen Vlaswinkel
acc9ab30ed Add back 0 2023-11-03 10:48:11 +01:00
Kasper Svendsen
053708ab3b Extend join order badness RA parser 2023-11-03 10:10:39 +01:00
Koen Vlaswinkel
45f0669b85 Use transient prop for MethodModeling component 2023-11-02 14:16:34 +01:00
Koen Vlaswinkel
65f02f1c6f Use transient prop for CodeSnippetMessage component 2023-11-02 14:09:35 +01:00
Koen Vlaswinkel
fb45a0d409 Use transient prop for VerticalSpace component 2023-11-02 14:09:01 +01:00
Koen Vlaswinkel
3cd06021d3 Use transient prop for TextButton component 2023-11-02 14:08:29 +01:00
Koen Vlaswinkel
cd0b2fba8a Use transient prop for HorizontalSpace component 2023-11-02 14:07:55 +01:00
Koen Vlaswinkel
1cc63382c9 Remove unnecessary props type for Dropdown
This removes the `disabled` prop from the `Dropdown` component. This is
already included in the default HTML props of the `select` component,
so it's not necessary to add it again.
2023-11-02 14:06:03 +01:00
Koen Vlaswinkel
8e8399988e Use transient props for Alert component 2023-11-02 14:05:11 +01:00
Koen Vlaswinkel
eaf3a1ce1b Merge pull request #3031 from github/koesie10/modeled-method-union
Switch `ModeledMethod` to union of types
2023-11-02 09:52:33 +01:00
Koen Vlaswinkel
ccaf2ad0b6 Merge remote-tracking branch 'origin/main' into koesie10/modeled-method-union 2023-11-02 09:31:15 +01:00
Charis Kyriakou
7adc114002 Remove unnecessary ModelKindDropdown input (#3046) 2023-11-01 15:20:50 +00:00
Charis Kyriakou
3f90564ee3 Add telemetry for method modeling panel (#3041) 2023-11-01 15:15:22 +00:00
Koen Vlaswinkel
5378f1afa4 Merge remote-tracking branch 'origin/main' into koesie10/modeled-method-union 2023-11-01 16:11:21 +01:00
Koen Vlaswinkel
b47c561dfa Merge pull request #3044 from github/koesie10/fix-query-storage-path
Fix queries always being created in qlpack root
2023-11-01 16:02:17 +01:00
Charis Kyriakou
2f39364191 Merge pull request #3045 from github/charis/fix-broken-stories
Fix some broken storybook stories
2023-11-01 14:59:53 +00:00
Koen Vlaswinkel
ab67060279 Remove provenance from none modeling 2023-11-01 15:58:50 +01:00
Koen Vlaswinkel
dd8d7dfd58 Remove unnecessary nullish coalescing 2023-11-01 15:52:10 +01:00
Koen Vlaswinkel
e25398d1fa Use createEmptyModeledMethod in more places 2023-11-01 15:51:25 +01:00
Koen Vlaswinkel
5f25fe42c3 Change error message to be distinct 2023-11-01 15:49:01 +01:00
Charis Kyriakou
5ae136bc15 Fix some broken storybook stories 2023-11-01 14:39:09 +00:00
Koen Vlaswinkel
0bec013b73 Fix queries always being created in qlpack root
This passes through the query storage path to the qlpack generator so
it's able to create the query in the correct selected folder.
2023-11-01 15:13:43 +01:00
Koen Vlaswinkel
ccb08e19d7 Merge pull request #3040 from github/koesie10/duplicate-query-packs
Prevent duplicate query packs when creating a query
2023-11-01 15:02:18 +01:00
Koen Vlaswinkel
693adb5512 Remove separation between generate queries options 2023-11-01 14:55:49 +01:00
Koen Vlaswinkel
71f59b19b4 Move model generation functions to language definition 2023-11-01 14:53:05 +01:00
Koen Vlaswinkel
2a477140a6 Move language files to separate directories 2023-11-01 14:19:01 +01:00
Koen Vlaswinkel
9387d55263 Unify model generation query running 2023-11-01 14:19:00 +01:00
Koen Vlaswinkel
8a8a85fb9a Merge pull request #3033 from github/koesie10/generate-model
Add generation of Ruby models
2023-11-01 14:17:10 +01:00
Charis Kyriakou
978d8d38f1 Minor test plan fixes (#3042) 2023-11-01 12:17:59 +00:00
Koen Vlaswinkel
456163aba5 Prevent duplicate query packs when creating a query
This prevents the creation of duplicate query pack names when creating a
query in the following ways:
- When you have selected a folder, the query pack name will include the
  name of the folder. This should prevent duplicate query pack names
  when creating queries in different folders.
    - When the folder name includes `codeql` or `queries`, we will not
      add `codeql-extra-queries-` since that would be redundant.
- After generating the query pack name, we will resolve all qlpacks and
  check if one with this name already exists. If it does, we will start
  adding an index to the name until we find a unique name.
2023-11-01 11:03:20 +01:00
Charis Kyriakou
fe212c315c Merge pull request #3039 from github/charisk/method-modeling-language
Update method modeling panel language when new db opened
2023-11-01 09:31:53 +00:00
Charis Kyriakou
57fbb8e2e6 Update method modeling panel database item when new db opened 2023-11-01 09:09:25 +00:00
Koen Vlaswinkel
6685883ebf Merge pull request #3035 from github/koesie10/fix-ref
Fix scroll into view not working when revealing method
2023-11-01 09:56:44 +01:00
Koen Vlaswinkel
ad121a5f93 Merge pull request #3037 from github/koesie10/detect-language
Detect existing query packs when creating skeleton query
2023-11-01 09:56:24 +01:00
Charis Kyriakou
02c1d7ef9e Add ability to use a dev endpoint for auto-model (#3038) 2023-11-01 08:55:56 +00:00
Charis Kyriakou
e9fb9f52d8 Update method modeling panel language when new db opened 2023-11-01 08:52:44 +00:00
Charis Kyriakou
2988aceddf Change auto-model default batch size (#3036) 2023-10-31 14:46:01 +00:00
Koen Vlaswinkel
abafefdb5e Detect existing query packs when creating skeleton query
This will change the skeleton query wizard to detect existing query
packs when creating a skeleton query. This allows the user to create a
query in an existing query pack that is not named
`codeql-custom-queries-{language}`.
2023-10-31 15:45:48 +01:00
Koen Vlaswinkel
d24352be0a Merge pull request #3034 from github/koesie10/remove-extlogger-model-editor
Remove `extLogger` imports from model editor
2023-10-31 12:55:49 +01:00
Koen Vlaswinkel
50ae7d5b73 Fix scroll into view not working when revealing method
This fixes a bug where the method row would not scroll into view when
revealing a method. The problem was that the `DataGridRow` component
on which the `ref` was set is a `display: contents` element, which
does not have a visual representation in the DOM. Therefore, it wasn't
possible to scroll the method row into view. This fixes it by moving
the ref to the `DataGridCell` component of the first column, which is
a normal element.
2023-10-31 11:54:26 +01:00
Koen Vlaswinkel
8e4da4a20e Remove extLogger imports from model editor
We shouldn't be directly using the `extLogger` if we have access to the
app logger (either directly or by passing it in as a parameter). This
removes all imports of `extLogger` from the model editor directory.
2023-10-31 11:32:29 +01:00
Koen Vlaswinkel
2dbc50e009 Remove use of extLogger from generate model queries 2023-10-31 11:04:17 +01:00
Koen Vlaswinkel
5c2050d9bb Extract addModeledMethodsFromArray method 2023-10-31 10:31:54 +01:00
Koen Vlaswinkel
bb104b53ba Rename showFlowGeneration to showGenerateButton 2023-10-31 10:31:54 +01:00
Koen Vlaswinkel
474ec197a0 Add generation of Ruby models
This adds the ability to generate Ruby models from a database. It uses
the `GenerateModel.ql` query to do this. The query will essentially
return data in the data extensions format, so this will just parse it
and return it as `ModeledMethod` objects.
2023-10-31 10:23:36 +01:00
Shati Patel
135bce889e Minor fixes to testing.md (#3032) 2023-10-30 16:15:39 +00:00
Koen Vlaswinkel
b1aa5914c2 Merge pull request #3017 from hmac/hmac-model-editor-ruby
Add experimental model editor support for Ruby
2023-10-30 16:36:15 +01:00
Koen Vlaswinkel
80ae27a453 Extract isSupportedLanguage function 2023-10-30 16:08:00 +01:00
Koen Vlaswinkel
ba1bdacb50 Use INITIAL_MODE instead of hardcoding mode 2023-10-30 15:58:20 +01:00
Koen Vlaswinkel
98b0850f68 Switch ModeledMethod to union of types
This allows more disjointed models to be represented more accurately,
such as type models.
2023-10-30 14:26:47 +01:00
Koen Vlaswinkel
c482f2a058 Merge pull request #3025 from github/dependabot/npm_and_yarn/extensions/ql-vscode/msw-2.0.0
Bump msw from 0.0.0-fetch.rc-9 to 2.0.0 in /extensions/ql-vscode
2023-10-30 13:07:56 +01:00
Koen Vlaswinkel
f0efebbbc4 Merge pull request #3026 from github/koesie10/ask-for-display-language
Use language display name when asking for language
2023-10-30 11:58:57 +01:00
Koen Vlaswinkel
5e0caded52 Merge pull request #3016 from github/koesie10/improve-skeleton-db-download
Improve database download prompt when creating query
2023-10-30 11:58:01 +01:00
Koen Vlaswinkel
0951dde2c4 Implement changes for MSW 2.0.0 2023-10-30 11:28:51 +01:00
Nora
33992129ed Merge pull request #3029 from github/nora/progress-reporting-code-search
Code Search: use withProgress to indicate api request progress
2023-10-27 17:09:57 +02:00
Nora
5caf11e7b7 Polish naming 2023-10-27 14:51:16 +00:00
Koen Vlaswinkel
43e60b20db Merge pull request #3030 from github/koesie10/fix-data-flow-paths-dropdown
Fix data flow path dropdown not updating
2023-10-27 16:48:02 +02:00
Koen Vlaswinkel
c77a57f383 Store available modes per language 2023-10-27 15:50:46 +02:00
Koen Vlaswinkel
92ad718df1 Fix data flow path dropdown not updating 2023-10-27 14:40:19 +02:00
Nora
5c3c8ffa1b use withProgress 2023-10-27 12:28:47 +00:00
Koen Vlaswinkel
712b55768f Hide "Model as application" button for Ruby 2023-10-27 12:42:09 +02:00
Koen Vlaswinkel
8c7273efc6 Add Ruby queries as included queries for model editor
This adds the current version of the queries for Ruby to the model
editor included queries. This makes it work without needing to check out
a separate branch of the CodeQL repository/submodule. I've removed most
commented out code from the queries, but the other parts should match.
2023-10-27 12:39:59 +02:00
Koen Vlaswinkel
dde417ea7d Start model editor in framework mode for Ruby 2023-10-27 12:38:13 +02:00
Koen Vlaswinkel
b023431626 Add feature flag for Ruby in the model editor
This only makes Ruby available in the model editor when the following
is set in the settings.json (workspace or user) file:

```json5
{
  "codeQL.model.enableRuby": true,
}
```
2023-10-27 12:37:14 +02:00
Harry Maclean
9c5a963495 Add experimental model editor support for Ruby
Make the minimum changes necessary for prototype Ruby support in the
model editor.

This consists of:

- Reading/writing modelled methods from/to data extensions in the
  dynamic languages format
- Special-casing Ruby in a few places where Java/C# was previously
  assumed.
2023-10-27 12:36:22 +02:00
Koen Vlaswinkel
a3735c21a1 Use language display name for downloading databases 2023-10-27 12:32:34 +02:00
Koen Vlaswinkel
5ca084be91 Use language display name when asking for language 2023-10-27 12:08:46 +02:00
Koen Vlaswinkel
f4a2d8572c Merge pull request #3028 from github/koesie10/bqrs-decode-languages
Use MaD definition when decoding BQRS
2023-10-27 11:58:48 +02:00
Koen Vlaswinkel
ecb2503992 Use MaD definition when decoding BQRS
This will use the MaD's definition of a method signature when decoding
BQRS files. This will allow us to change the method signature definition
for dynamic languages.
2023-10-27 11:39:46 +02:00
Koen Vlaswinkel
b9fa79a76e Move predicates into a separate property 2023-10-27 11:29:29 +02:00
Koen Vlaswinkel
14c6f98289 Merge pull request #3027 from github/koesie10/flow-generation-button
Only show flow generation button when supported
2023-10-27 11:12:32 +02:00
Koen Vlaswinkel
05e3f2cba6 Only show flow generation button when supported 2023-10-27 10:46:54 +02:00
Koen Vlaswinkel
1404ab45fb Merge pull request #3020 from github/koesie10/refactor-predicates
Refactor model editor predicates
2023-10-27 10:39:52 +02:00
Koen Vlaswinkel
fa12671f4a Merge remote-tracking branch 'origin/main' into koesie10/improve-skeleton-db-download 2023-10-27 10:22:31 +02:00
Koen Vlaswinkel
a8404a5b01 Throw from getModelsAsDataLanguage 2023-10-27 10:18:38 +02:00
Koen Vlaswinkel
8a87db6cb4 Use URI for open file link 2023-10-27 10:15:58 +02:00
Koen Vlaswinkel
1151432ca2 Use language display name in notifications 2023-10-27 10:07:22 +02:00
Koen Vlaswinkel
42f1e81fdc Handle errors when downloading database 2023-10-27 10:04:37 +02:00
Koen Vlaswinkel
edbc65886d Use tryGetQueryLanguage function 2023-10-27 09:50:08 +02:00
Koen Vlaswinkel
407825e1cf Merge pull request #3021 from github/koesie10/external-api-to-model-editor
Rename external API methods/files/errors to model editor
2023-10-27 09:37:49 +02:00
dependabot[bot]
325cc05f36 Bump actions/setup-node from 3 to 4 (#3024)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-26 11:02:49 -07:00
dependabot[bot]
721d971a66 Bump msw from 0.0.0-fetch.rc-9 to 2.0.0 in /extensions/ql-vscode
Bumps [msw](https://github.com/mswjs/msw) from 0.0.0-fetch.rc-9 to 2.0.0.
- [Release notes](https://github.com/mswjs/msw/releases)
- [Changelog](https://github.com/mswjs/msw/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mswjs/msw/compare/v0.0.0-fetch.rc-9...v2.0.0)

---
updated-dependencies:
- dependency-name: msw
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-26 13:28:50 +00:00
github-actions[bot]
cc8bcbbc5d Bump version to v1.9.4 (#3023)
Co-authored-by: github-actions[bot] <github-actions@github.com>
2023-10-26 11:20:22 +00:00
Charis Kyriakou
5375fcb26a v1.9.3 (#3022)
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
2023-10-26 11:11:17 +01:00
Koen Vlaswinkel
f5d86777ae Update synthetic query pack name 2023-10-26 11:57:50 +02:00
Koen Vlaswinkel
ff36088ecc Merge pull request #3012 from github/koesie10/use-selected-queries-item
Create new queries in selected folder of queries panel
2023-10-26 11:55:42 +02:00
Koen Vlaswinkel
b19e970ec5 Fix error message when running model editor queries 2023-10-26 11:43:05 +02:00
Koen Vlaswinkel
f379036c18 Fix error message for bundled model editor queries 2023-10-26 11:42:41 +02:00
Koen Vlaswinkel
30daf49cb8 Rename external-api-usage-queries.ts to model-editor-queries.ts 2023-10-26 11:41:56 +02:00
Koen Vlaswinkel
ea2999fcc7 Rename model-editor-queries.ts to model-editor-queries-setup.ts 2023-10-26 11:41:32 +02:00
Koen Vlaswinkel
c548aa0ff9 Remove unnecessary nesting in external-api-usage-query.test.ts 2023-10-26 11:40:58 +02:00
Koen Vlaswinkel
e70bceb6dd Rename runExternalApiQueries to runModelEditorQueries 2023-10-26 11:40:26 +02:00
Koen Vlaswinkel
818e93e86b Rename prepareExternalApiQuery to prepareModelEditorQueries 2023-10-26 11:39:06 +02:00
Koen Vlaswinkel
322b376a2c Remove unused predicates file 2023-10-26 11:34:46 +02:00
Koen Vlaswinkel
0744b25a47 Use new language definitions for the view 2023-10-26 11:33:36 +02:00
Koen Vlaswinkel
8e721a6670 Use new language definitions for reading/writing 2023-10-26 11:33:34 +02:00
Koen Vlaswinkel
df3b94c081 Add language to model editor view 2023-10-26 11:33:10 +02:00
Koen Vlaswinkel
8a77a1fba2 Introduce separate files for predicate definitions 2023-10-26 11:33:08 +02:00
Koen Vlaswinkel
c9d1a6b447 Move predicates file to languages folder 2023-10-26 11:23:51 +02:00
Charis Kyriakou
234498a33e Enable multiple models feature (#3019) 2023-10-26 09:13:25 +00:00
Koen Vlaswinkel
40a77dfd4a Merge pull request #3018 from github/koesie10/fix-empty-location
Fix empty message with empty SARIF path
2023-10-26 11:04:45 +02:00
Koen Vlaswinkel
06b6595980 Update CHANGELOG 2023-10-26 10:42:11 +02:00
Shati Patel
9a97b7b0be Deselect current db when the language context changes (#3007) 2023-10-25 14:54:01 +01:00
Koen Vlaswinkel
6622d5e114 Fix empty message with empty SARIF path 2023-10-25 14:55:15 +02:00
Koen Vlaswinkel
f0f5538b51 Remove check for isFolderAlreadyInWorkspace 2023-10-25 14:37:11 +02:00
Nora
3f8302796f Merge pull request #3010 from github/nora/modeling-flow-testplan
Add method modeling flow to test plan
2023-10-25 14:28:59 +02:00
Koen Vlaswinkel
a3fad49577 Fix creation of nested query packs
Before, if you had selected a folder or file within for example
`codeql-custom-queries-java` and selected `java` as the language, it
would create a nested folder within `codeql-custom-queries-java` with
the name `codeql-custom-queries-java`. This is unexpected for the user,
who would expect a new query to be created within
`codeql-custom-queries-java`. This fixes that by checking for this
specific condition. It does not fix it for all scenarios, such as where
the selected file/folder is nested multiple levels deep within the
`codeql-custom-queries-java` folder.
2023-10-25 14:28:50 +02:00
Koen Vlaswinkel
68ab2fda2d Create new queries in selected folder of queries panel
This will change the behavior of the "Create new query" command to
create the new query in the same folder as the first selected item in
the queries panel. If no items are selected, the behavior is the same
as before.

I've used events to communicate the selection from the queries panel to
the local queries module. This is some more code and some extra
complexity, but it ensures that we don't have a dependency from the
local queries module to the queries panel module. This makes testing
easier.
2023-10-25 14:28:48 +02:00
Koen Vlaswinkel
f3eefc9418 Add tests for prompting for database download 2023-10-25 14:22:55 +02:00
Koen Vlaswinkel
15a8655931 Do not prompt for database download by default
This changes the skeleton query wizard to not prompt for database
download after creating a query by default. Instead, it will show a
message with a button to download a database which will launch the same
prompt.
2023-10-25 14:22:55 +02:00
Koen Vlaswinkel
fb33879a95 Merge pull request #3015 from github/koesie10/reveal-file-in-queries-panel
Reveal opened files in queries panel
2023-10-25 13:58:08 +02:00
Nora
0e5306742d Move test cases to optional and polish 2023-10-25 08:57:34 +00:00
Koen Vlaswinkel
3a07fa9e39 Show initially open file in queries panel 2023-10-25 10:13:48 +02:00
Koen Vlaswinkel
b6f7755908 Create subscribeToTreeSelectionEvents method 2023-10-25 10:06:14 +02:00
Koen Vlaswinkel
368f9c38ef Only change selection when tree view is visible 2023-10-25 10:04:31 +02:00
Koen Vlaswinkel
1e58e5a723 Reveal opened file in queries panel 2023-10-25 10:04:31 +02:00
Robert
2ebccd532f Merge pull request #3014 from github/robertbrignull/hidden_methods
Use the same logic for hiding methods in model editor and usages panel
2023-10-25 09:04:06 +01:00
Robert
231dcc0c55 Improve tests to cover showing supported modeled methods 2023-10-24 16:49:21 +01:00
Robert
675e2ec9f2 Use the same condition for hiding methods in model editor and usages panel 2023-10-24 16:34:39 +01:00
Shati Patel
f0f13f3569 Create query: open new query in editor before downloading DB (#3009) 2023-10-24 13:30:01 +00:00
Robert
8d336930c8 Merge pull request #3008 from github/robertbrignull/modeled_row_styling
Fix styling of "already modeled" rows when showing multiple methods
2023-10-24 14:13:18 +01:00
Koen Vlaswinkel
043cdab297 Merge pull request #3013 from github/koesie10/use-selected-language
Use selected language when creating query
2023-10-24 15:02:05 +02:00
Charis Kyriakou
b1172d7d64 Activate method modeling panel when model editor is opened (#3011) 2023-10-24 12:55:19 +01:00
Koen Vlaswinkel
8b5329fe08 Use selected language when creating query
This will change the "Create new query" command to use the selected
language when creating a new query. If no language is selected, it will
still prompt the user to pick a language.
2023-10-24 13:41:37 +02:00
Nora
7bade3e382 Include model panels in mandatory tests 2023-10-24 10:03:54 +00:00
Robert
eb42beee23 Move method classifications to start 2023-10-24 10:12:05 +01:00
Robert
2405628bcc Fix span size 2023-10-24 10:11:50 +01:00
Robert
0a75a0e835 Merge pull request #2983 from github/robertbrignull/remove_selected_model
Handle when the number of modeled methods decreases
2023-10-23 14:34:17 +01:00
Robert
07a4ffb306 Add tests that pagination is updated when a model is removed 2023-10-23 13:50:29 +01:00
Robert
1424afc7a4 Add tests that pagination is updated when add a new model 2023-10-23 13:46:10 +01:00
Koen Vlaswinkel
c62c054b95 Merge pull request #3001 from github/koesie10/validation-errors-focus
Add higlight on modeled method row when clicking in validation error
2023-10-23 13:17:59 +02:00
Koen Vlaswinkel
41aeb47a4e Merge pull request #3004 from github/koesie10/redactable-error-stack
Show stack for redactable error in log
2023-10-23 12:04:08 +02:00
Koen Vlaswinkel
4ca14f89df Revert "Use os.EOL for separating stack in error"
This reverts commit b33b5bb7c4.

The errors module is also imported in the webview, so we can't actually
use it.
2023-10-23 11:43:15 +02:00
Koen Vlaswinkel
8011481de2 Merge pull request #2996 from github/koesie10/query-save-dir
Fix results directory and evaluator log for cancelled queries
2023-10-23 10:45:41 +02:00
Koen Vlaswinkel
d682c520d5 Add tests for fullMessageWithStack 2023-10-23 10:44:25 +02:00
Koen Vlaswinkel
b33b5bb7c4 Use os.EOL for separating stack in error 2023-10-23 10:37:10 +02:00
Charis Kyriakou
1ab198fe49 Move modeling events to new ModelingEvents class (#3005) 2023-10-23 08:57:48 +01:00
Koen Vlaswinkel
48df8de2c2 Merge pull request #3003 from github/koesie10/fix-error-no-workspace-folders
Show error message for no workspace folders with model editor
2023-10-20 17:31:37 +02:00
Koen Vlaswinkel
78f832a73f Show stack for redactable error in log
When calling for example `showAndLogExceptionWithTelemetry`, the stack
trace would be sent to Application Insights, but there was no way to
see the stack trace from within VS Code. This will add the stack trace
to the log by returning it from `fullMessageWithStack` and using it in
the appropriate places.
2023-10-20 16:49:36 +02:00
Koen Vlaswinkel
8c594239cd Merge pull request #3002 from github/koesie10/jsx-key-rule
Enable `react/jsx-key` for fragment shorthands
2023-10-20 16:44:37 +02:00
Koen Vlaswinkel
89ccd70752 Show error message for no workspace folders with model editor
It is possible to open the model editor without opening a folder, but
this gave an unhelpful error message. This commit adds a more helpful
error message.
2023-10-20 16:43:58 +02:00
Koen Vlaswinkel
c928b1eb86 Enable react/jsx-key for fragment shorthands 2023-10-20 16:03:30 +02:00
Koen Vlaswinkel
faffe4590b Add focus on modeled method row on error click 2023-10-20 11:20:14 +02:00
Koen Vlaswinkel
91f6772ab9 Add interaction to MethodRow stories 2023-10-20 10:38:44 +02:00
Dave Bartolomeo
d20cf92eea Merge pull request #3000 from github/github-action/bump-cli
Bump CLI Version to v2.15.1 for integration tests
2023-10-19 13:57:08 -04:00
dependabot[bot]
1f34330052 Bump lint-staged from 14.0.0 to 15.0.2 in /extensions/ql-vscode (#2999)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 14.0.0 to 15.0.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Changelog](https://github.com/lint-staged/lint-staged/blob/master/CHANGELOG.md)
- [Commits](https://github.com/okonet/lint-staged/compare/v14.0.0...v15.0.2)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-19 10:39:57 -07:00
Robert
acb687cee7 Merge pull request #2997 from github/robertbrignull/model-table-validation
Show validation results in the model editor
2023-10-19 16:55:54 +01:00
github-actions[bot]
221b4392d3 Bump CLI version from v2.15.0 to v2.15.1 for integration tests 2023-10-19 15:44:43 +00:00
Robert
31d654d33d Add tests of showing validation errors 2023-10-19 16:26:08 +01:00
Robert
553435d5b7 Add stories for validation errors in MethodRow 2023-10-19 16:14:41 +01:00
Robert
0af77d086a Display validation errors in model editor 2023-10-19 12:52:45 +01:00
Robert
c69a310110 Add <> around inputs 2023-10-19 12:52:18 +01:00
Robert
1606829ceb Make setSelectedIndex optional 2023-10-19 12:47:50 +01:00
Robert
86b50560a4 Merge pull request #2995 from github/robertbrignull/model-table-multirow
Use one grid cell per model input, and have the method name span multiple rows
2023-10-19 12:40:03 +01:00
Robert
50f77e7918 Use Fragment to add key to map output 2023-10-19 10:53:06 +01:00
Robert
947f495d0b Merge pull request #2990 from github/robertbrignull/model-table-alignment
Use custom grid element instead of VSCodeDataGrid
2023-10-19 09:57:26 +01:00
Koen Vlaswinkel
18646ab637 Update CHANGELOG 2023-10-19 10:04:08 +02:00
Koen Vlaswinkel
046bc13fc3 Try generating evaluation log summary after failed query
When a local query fails (for example, if it is cancelled), it may still
have an evaluation log. We weren't generating evaluation log summaries
in these cases, so the options to view the summary text and to use the
evaluation log viewer would not be available. This fixes it by also
trying to generate the summary in the case of a failed query.
2023-10-19 10:04:08 +02:00
Koen Vlaswinkel
226274cb4e Fix showing of raw evaluator log for cancelled items
This will ensure that when "Show Evaluator Log (Raw JSON)" is used on a
cancelled query history item, we will still show it if it exists. This
changes the error messages on other cases to be more specific.
2023-10-19 10:04:08 +02:00
Koen Vlaswinkel
9928c338e9 Store query output dir on history items
This will add the `QueryOutputDir` to the `InitialQueryInfo` and
populate it when creating a local query history item. This will allow us
to open the results directory or show the evaluator log without a
completed query.
2023-10-19 10:04:08 +02:00
Andrew Eisenberg
df55e039a1 Merge pull request #2984 from github/aeisenberg/fix-log-path 2023-10-18 15:36:10 -07:00
Andrew Eisenberg
2e2051af6d Merge branch 'main' into aeisenberg/fix-log-path 2023-10-18 15:04:12 -07:00
Andrew Eisenberg
4ad3d962ec Add change note
Also, avoid a code scanning warning.
2023-10-18 15:03:16 -07:00
Robert
ec0e74bd9a Merge pull request #2992 from github/robertbrignull/columnCount
Add $ to columnCount prop used by styled component
2023-10-18 18:29:02 +01:00
dependabot[bot]
8a1da313ae Bump @babel/traverse from 7.22.8 to 7.23.2 in /extensions/ql-vscode (#2994)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.22.8 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-18 16:50:14 +01:00
Robert
c88ecf76aa Add documentation to all DataGrid components 2023-10-18 16:42:50 +01:00
Robert
93de35e7a3 Rename HiddenMethodsText => HiddenMethodsCell 2023-10-18 16:30:30 +01:00
Robert
8c339d07e8 Pass rowType to styled component instead of using another class name 2023-10-18 16:29:48 +01:00
Robert
cead0ea52e Import ReactNode 2023-10-18 16:26:37 +01:00
Robert
db67d93f83 Extract DataGridRow props in params 2023-10-18 16:24:34 +01:00
Robert
a79867732c Make gridTemplateColumns just a string 2023-10-18 16:21:04 +01:00
Robert
09a8d29ea5 Use one grid cell per input 2023-10-18 15:17:07 +01:00
Shati Patel
a2f85877a8 Add option to sort DB panel by language (#2993) 2023-10-18 14:58:39 +01:00
Robert
c528a389e5 Use forwardRef for DataGridRow 2023-10-18 14:41:26 +01:00
Robert
48f719fa9d Pass through data-testid explicitly 2023-10-18 14:35:49 +01:00
Robert
cac9efa41b Introduce wrapper component for DataGridRow 2023-10-18 14:20:19 +01:00
Robert
56d0f28814 Add styling for header rows 2023-10-18 14:20:16 +01:00
Robert
298656444f Make gridRow and gridColumn optional 2023-10-18 14:10:16 +01:00
Koen Vlaswinkel
30b51d98c8 Merge pull request #2988 from github/koesie10/error-default-branch
Add custom error handler for missing default branch
2023-10-18 14:12:03 +02:00
Robert
6c2718927e Adjust styling to not use --design-unit 2023-10-18 13:02:34 +01:00
Robert
579042cf84 Extract props in parameters instead of as statement 2023-10-18 12:22:06 +01:00
Robert
2c70c0b792 Remove unnecessary aria label 2023-10-18 12:15:17 +01:00
Robert
ec64b59b96 Pass className through DataGridCell 2023-10-18 12:07:10 +01:00
Robert
f886cd0dc8 Add $ to props used by styled component 2023-10-18 11:52:01 +01:00
Robert
20469b0da4 Merge branch 'main' into robertbrignull/remove_selected_model 2023-10-18 11:43:12 +01:00
Robert
26fcef8f5d Introduce selectNewMethod ref 2023-10-18 11:43:05 +01:00
Charis Kyriakou
96fb0046c5 Style update to in-progress drop-down (#2986) 2023-10-18 08:45:49 +01:00
Koen Vlaswinkel
903b272952 Merge pull request #2989 from github/koesie10/usage-panel-tree-items-reference
Keep reference to original items in usage data provider
2023-10-18 09:23:30 +02:00
Robert
54db867d15 Use custom grid element instead of VSCodeDataGrid 2023-10-17 17:38:06 +01:00
Koen Vlaswinkel
a852f16eb1 Keep reference to original items in usage data provider
This changes the usage data provider tree items to keep a reference to
the method and usage instead of only including their properties in the
tree item. This makes it easier to find the original method and usage
when revealing an item in the tree. It also removes the `getParent` call
in `getTreeItem`.

The main reason for this fix is to ensure
`codeQLModelEditor.jumpToMethod` gets the correct `usage` argument.
It received the tree item before, but now we can actually pass the
usage that was clicked on.
2023-10-17 16:03:57 +02:00
Koen Vlaswinkel
a7f8019bf4 Merge pull request #2987 from github/koesie10/source-map-fix
Fix decoding source map with VS Code internal files
2023-10-17 15:40:38 +02:00
Koen Vlaswinkel
2d5caa77bc Remove unnecessary casting 2023-10-17 15:19:04 +02:00
Koen Vlaswinkel
82c2952059 Add custom error handler for missing default branch
When the GitHub API returns an error for a missing default branch, we
will now show a custom error message. This custom error message includes
a link to the page to create the branch. The error is detected using the
`errors` field on the response that is now being returned.
2023-10-17 14:57:19 +02:00
Koen Vlaswinkel
67f6f8f160 Fix decoding source map with VS Code internal files
This makes it possible to decode source maps containing references to
code that is not part of the extension. If it finds any such references,
it will simply not decode the source map and use the original stack
trace instead.
2023-10-17 13:34:11 +02:00
Charis Kyriakou
abde8f3fae Make automodel batch size configurable (#2985) 2023-10-17 12:07:30 +01:00
Robert
8d5574e468 Merge pull request #2982 from github/robertbrignull/add-remove-models
Implement onClick for the add/remove model buttons in the model editor
2023-10-17 10:29:16 +01:00
Andrew Eisenberg
cc0e850c72 Ensure the logFileLocation is set
`logFileLocation` was not set after a query finishes running. I don't
know when this bug was introduced. I think it goes as far back as
the refactor to remove the old query server.
2023-10-16 16:44:49 -07:00
Robert
46e7dda6a6 Don't bother using slice when creating handlers 2023-10-16 16:29:36 +01:00
Robert
d937934737 Use the onChange handler in tests 2023-10-16 16:27:23 +01:00
Robert
96c0feb3e6 Handle when the number of modeled methods decreases 2023-10-16 16:00:49 +01:00
Robert
0ff523a64b Add tests for for the add/remove model buttons 2023-10-16 15:36:46 +01:00
Robert
1d0a1f56b1 Implment onClick handlers for add/remove model buttons 2023-10-16 15:07:44 +01:00
Koen Vlaswinkel
fca68edbb3 Merge pull request #2969 from github/koesie10/fix-unmodeled-unsaved
Fix unmodeled methods always being marked as unsaved
2023-10-16 15:07:18 +02:00
Charis Kyriakou
b9279dc64f Simplify modeling in progress state (#2980) 2023-10-16 12:54:13 +00:00
Koen Vlaswinkel
00b6ccdfe0 Simplify condition in useEffect 2023-10-16 13:53:53 +02:00
Koen Vlaswinkel
688b9863da Merge pull request #2981 from github/koesie10/fix-failing-test
Fix failing test
2023-10-16 13:47:01 +02:00
Koen Vlaswinkel
c80641866c Fix failing test 2023-10-16 13:25:35 +02:00
Koen Vlaswinkel
6a7ce9f4d2 Merge pull request #2976 from github/koesie10/methods-usage-panel-parent
Introduce separate tree item types in the methods usage panel
2023-10-16 13:25:05 +02:00
Koen Vlaswinkel
d0e0237b9e Merge pull request #2965 from github/koesie10/modeled-method-validation-neutral
Fix neutral model validation to consider kind
2023-10-16 13:23:26 +02:00
Anders Starcke Henriksen
e57f04e6b1 Merge pull request #2975 from github/starcke/remove-old-language-filter
Remove old language context filter.
2023-10-16 13:06:40 +02:00
Charis Kyriakou
b87dfa4471 Show in-progress state in method modeling panel (#2979) 2023-10-16 11:47:31 +01:00
Robert
b1a4586791 Merge pull request #2977 from github/robertbrignull/fix_jump_to_usage
Revert changes to codeQLModelEditor.jumpToMethod to allow jumping to usages other than the first usage
2023-10-16 11:21:18 +01:00
Robert
aa8896e553 Merge pull request #2964 from github/robertbrignull/enable-add-multiple-models
Enable/disable the add/remove model buttons at the right times
2023-10-16 11:04:06 +01:00
Robert
9134e0e917 Add comment explaining caveats of setSelectedMethod 2023-10-16 11:03:19 +01:00
Robert
1259a3e61d Use 'import type' in commands.ts 2023-10-16 10:59:12 +01:00
Robert
7aa0fe32c2 Revert changes to codeQLModelEditor.jumpToMethod 2023-10-16 10:42:18 +01:00
Anders Starcke Henriksen
cc2eec78bd Merge branch 'main' into starcke/remove-old-language-filter 2023-10-16 11:27:56 +02:00
Koen Vlaswinkel
d715ceea10 Introduce separate tree item types in the methods usage panel
This creates new tree item types for methods and usages such that these
can contain references to their parent and children. This allows us to
easily find the parent of a usage and to find the children of a method.
This removes an expensive `find` call in `getParent`.
2023-10-16 11:18:27 +02:00
Anders Starcke Henriksen
8b3786c621 Remove old language context filter. 2023-10-16 10:30:26 +02:00
Koen Vlaswinkel
39a9f4ce1e Merge pull request #2974 from github/koesie10/changelog-install-workspace-packs
Add CHANGELOG entry for #2960
2023-10-16 10:09:48 +02:00
Koen Vlaswinkel
b2de9e94cd Add CHANGELOG entry for #2960 2023-10-16 09:53:22 +02:00
Charis Kyriakou
23dc8f16c3 Move in-progress methods state to modeling store (#2971) 2023-10-16 08:51:46 +01:00
Koen Vlaswinkel
d78a4d19eb Merge pull request #2960 from github/koesie10/install-workspace-packs
Do not show non-workspace packs when installing pack dependencies
2023-10-16 09:51:29 +02:00
Anders Starcke Henriksen
3cbaa5aa24 Merge pull request #2935 from github/starcke/language-selection-panel
Add language filter panel.
2023-10-16 09:42:35 +02:00
Anders Starcke Henriksen
e8e6c6bbc7 Update comment. 2023-10-13 16:28:14 +02:00
Anders Starcke Henriksen
d5388576b5 Apply suggestions from code review
Co-authored-by: Koen Vlaswinkel <koesie10@users.noreply.github.com>
2023-10-13 16:00:17 +02:00
Charis Kyriakou
a5139b7fbf Convert InProgressMethods to an interface (#2970) 2023-10-13 14:56:33 +01:00
Nora Dimitrijević
f5f5b398fe Merge pull request #2928 from github/d10c/trim-cache-command
Add "CodeQL: Trim Cache" command that calls `evaluation/trimCache`
2023-10-13 15:12:55 +02:00
Koen Vlaswinkel
7baad1a5c6 Fix unmodeled methods always being marked as unsaved
When opening a library group in the model editor, unmodeled methods
would always be marked as unsaved, even if there were no changes. This
was because the `ModelKindDropdown` component did not properly take into
account that the `kind` for an unmodeled method should be an empty
string. It would always try setting it to `undefined`, which would cause
the method to be marked as unsaved. This fixes it by checking if there
are valid kinds before setting the kind to the first one.
2023-10-13 13:21:53 +02:00
Koen Vlaswinkel
5e8de88ee0 Merge pull request #2968 from github/koesie10/readonly-modeling-store
Improve immutability of modeling store state
2023-10-13 13:13:27 +02:00
Koen Vlaswinkel
6801a64148 Improve immutability of modeling store state
This improves the immutability of the modeling store state by using
TypeScript's readonly types to ensure that state can only be modified
from within the modeling store or when it's copied. This mostly consists
of adding `readonly` to properties and arrays, but this also adds a
`DeepReadonly` type to use in `postMessage` arguments to ensure that
readonly objects can be passed in. `postMessage` will never modify the
objects, so this is safe.
2023-10-13 11:20:54 +02:00
Nora
ee630b4a87 Merge pull request #2963 from github/nora/cancel-code-search
Improve code search cancelling
2023-10-13 10:23:02 +02:00
Anders Starcke Henriksen
a03e2c85f1 Address comments. 2023-10-13 10:03:34 +02:00
Koen Vlaswinkel
288f44e57d Merge remote-tracking branch 'origin/main' into koesie10/modeled-method-validation-neutral 2023-10-13 10:01:34 +02:00
Anders Starcke Henriksen
52d32a5051 Merge branch 'main' into starcke/language-selection-panel 2023-10-13 09:52:17 +02:00
Koen Vlaswinkel
fa9cc7c5f9 Merge pull request #2967 from github/koesie10/fix-multiple-models-method-panel-spec
Fix incorrect test for `MultipleModeledMethodsPanel`
2023-10-13 09:51:32 +02:00
Anders Starcke Henriksen
cc3feabe66 Apply suggestions from code review
Co-authored-by: Koen Vlaswinkel <koesie10@users.noreply.github.com>
2023-10-13 09:48:28 +02:00
Koen Vlaswinkel
1dbd5aa86e Fix test with non-conflicting neutral 2023-10-13 09:47:00 +02:00
Koen Vlaswinkel
19c30f1ee2 Fix incorrect test for MultipleModeledMethodsPanel
This was caused by a semantic merge conflict resulting in the wrong
`onChange` argument being used in the test.
2023-10-13 09:33:55 +02:00
Koen Vlaswinkel
3c505719f2 Merge pull request #2957 from github/koesie10/modeled-methods-panel-multiple-save
Use `SetMultipleModeledMethodsMessage` in modeled methods panel
2023-10-13 09:26:44 +02:00
Nora Dimitrijević
b097804ad7 Make the command conditional on a supported CLI version 2023-10-12 16:15:49 +00:00
Nora Dimitrijević
8b918bdb19 Add CHANGELOG.md entry 2023-10-12 16:15:49 +00:00
Nora Dimitrijević
d0f4188f3f Add "VSCode: Trim Cache" command that calls evaluation/trimCache
The purpose of this change is to add a command that clears the cache except for predicates marked `cached`.
In contrast, the existing "VSCode: Clear Cache" command clears everything (`--mode=brutal`).

This calls into the query server's `evaluation/trimCache` method;
however, its existing behaviour is to do a database cleanup with `--mode=gentle`.
This is not well documented, and `--mode=normal` would give the desired behaviour.

Accordingly, this approach is dependent on separately changing the backend behaviour to `--mode=normal`.

Other possible amendments to this commit would be to not touch the legacy client
(replacing required methods by failing promises, since the legacy server is fully deprecated already),
or to have less duplication (by introducing more arguments — however,
I'm applying the rule of thumb that >3 copy-pastes are required for the introduction of a deduplicating abstraction).
2023-10-12 16:15:49 +00:00
Robert
bf828bccb6 Correctly test when buttons are disabled 2023-10-12 17:10:25 +01:00
Robert
48732a817a Update test names 2023-10-12 16:59:04 +01:00
Koen Vlaswinkel
4ac21232cf Fix neutral model validation to consider kind
This fixes a bug where the validation of modeled methods would not
consider the kind of the modeled method, and would therefore give an
error when there was e.g. a neutral sink and a non-neutral summary.
2023-10-12 16:41:28 +02:00
Robert
fc9588a1ec Add tests for buttons 2023-10-12 15:31:35 +01:00
Robert
08522f9ae2 Enable/disable the add/remove model buttons in model editor 2023-10-12 15:31:34 +01:00
Robert
e50affeb56 Introduce shared methods for canAdd / canRemoveModeledMethod 2023-10-12 15:31:32 +01:00
Nora
43bc92e386 throw when cancelling 2023-10-12 13:52:56 +00:00
Kasper Svendsen
8ecc31fae7 Merge pull request #2955 from github/kaspersv/hash-result-set-in-bqrs-filename
Hash result set name in sorted result set path
2023-10-12 14:17:47 +02:00
Koen Vlaswinkel
d15c57ee29 Merge pull request #2961 from github/koesie10/storybook-a11y
Add @storybook/addon-a11y package
2023-10-12 14:08:40 +02:00
Nora
f4f799894e Merge pull request #2815 from github/nora/remove-unused-activation-events
Remove unnecessary `activationEvents` from extension's package.json
2023-10-12 14:03:43 +02:00
Kasper Svendsen
ee5b738e00 Hash result set name in sorted result set path 2023-10-12 13:58:55 +02:00
Koen Vlaswinkel
25ba9e436b Merge branch 'main' into koesie10/install-workspace-packs 2023-10-12 13:48:19 +02:00
Koen Vlaswinkel
b72e0352c4 Merge branch 'main' into koesie10/storybook-a11y 2023-10-12 13:48:17 +02:00
Robert
95f43b7d8c Merge pull request #2953 from github/robertbrignull/add-multiple-models
Add add/remove buttons for models
2023-10-12 12:47:46 +01:00
Nora
95dfb6e820 Remove onLanguage event 2023-10-12 11:44:41 +00:00
Koen Vlaswinkel
00a5717d78 Merge pull request #2962 from github/koesie10/use-memo
Add missing useMemo import
2023-10-12 13:33:41 +02:00
Koen Vlaswinkel
ea8e5c6cc2 Add missing useMemo import 2023-10-12 13:13:53 +02:00
Koen Vlaswinkel
26b4b98cbc Merge pull request #2959 from github/koesie10/modeled-methods-panel-add-button
Only disable add button when there are no models yet
2023-10-12 13:08:28 +02:00
Koen Vlaswinkel
7e3cb7541c Merge pull request #2936 from github/koesie10/method-modeling-panel-validation
Add model validation in method modeling panel
2023-10-12 13:08:17 +02:00
Robert
77dd376f92 Add content to table header for screen readers 2023-10-12 11:18:41 +01:00
Nora
f53ecde0a9 Remove events 2023-10-12 10:00:14 +00:00
Koen Vlaswinkel
56697a9c2f Add storybook/addon-a11y package 2023-10-12 11:52:47 +02:00
Koen Vlaswinkel
a2a7002263 Do not show non-workspace packs when installing pack dependencies
When using the "CodeQL: Install pack dependencies" command, we would
show packs that are located in the package cache or distribution. Since
there are no dependencies to install for these packs, these options are
not useful.

This will filter out any packs that are not in the workspace folders
when showing the quick pick. This should exclude most packs if you are
in a workspace without the `codeql` submodule and should be a lot more
intuitive in those cases. If you are in a workspace with the `codeql`
submodule, it will still show all the packs.
2023-10-12 11:39:29 +02:00
Robert
369258dc95 Add add/remove buttons for models 2023-10-12 10:32:40 +01:00
Anders Starcke Henriksen
ac4ccf4c65 Merge pull request #2958 from github/version/bump-to-v1.9.3
Bump version to v1.9.3
2023-10-12 11:26:03 +02:00
Koen Vlaswinkel
2453c64f51 Only disable add button when there are no models yet
This will change the add button in the method modeling panel to only be
disabled if there is exactly 1 unmodeled method and there are no
unmodeled methods. This should be more intuitive for users since they
are able to see in 1 screen that there is an unmodeled method.
2023-10-12 11:06:52 +02:00
github-actions[bot]
23927ec0f1 Bump version to v1.9.3 2023-10-12 08:59:04 +00:00
Koen Vlaswinkel
095f5aecc3 Use SetMultipleModeledMethodsMessage in modeled methods panel 2023-10-12 10:36:43 +02:00
Robert
1993db5122 Merge pull request #2952 from github/robertbrignull/save_multiple_modeled_methods
Implement editing / saving multiple modeled methods from the model editor
2023-10-12 09:19:16 +01:00
Anders Starcke Henriksen
53df2bcd87 Merge pull request #2956 from github/v1.9.2
Some checks failed
Release / Release (push) Has been cancelled
Release / Publish to VS Code Marketplace (push) Has been cancelled
Release / Publish to Open VSX Registry (push) Has been cancelled
Release v1.9.2
2023-10-12 10:18:15 +02:00
Koen Vlaswinkel
bcceae4f51 Add test for adding neutral classification 2023-10-12 10:06:27 +02:00
Koen Vlaswinkel
b6eb383696 Merge remote-tracking branch 'origin/main' into koesie10/method-modeling-panel-validation 2023-10-12 10:02:19 +02:00
Koen Vlaswinkel
0835b140e7 Merge pull request #2948 from github/koesie10/sort-usages-panel
Sort methods in usages panel according to model editor sort order
2023-10-12 09:55:00 +02:00
Anders Starcke Henriksen
0e62d2635c v1.9.2 2023-10-12 09:50:13 +02:00
Koen Vlaswinkel
52e3a71f9c Define order of JSON.stringify operation 2023-10-12 09:49:24 +02:00
Koen Vlaswinkel
cce5a989cf Clarify Alert ARIA documentation 2023-10-12 09:41:47 +02:00
Koen Vlaswinkel
78284cbc7a Merge remote-tracking branch 'origin/main' into koesie10/sort-usages-panel 2023-10-12 09:39:11 +02:00
Koen Vlaswinkel
0d7002273a Merge pull request #2949 from github/koesie10/single-model-editor-per-db
Only allow a single model editor per database
2023-10-12 09:37:56 +02:00
Charis Kyriakou
7041dd7698 Rename 'open database' button and only show if source available (#2945) 2023-10-12 08:09:05 +01:00
Robert
539ce245fc Add more tests covering MethodRow 2023-10-11 16:29:59 +01:00
Koen Vlaswinkel
a3d41a2afe Merge pull request #2924 from github/koesie10/modeling-panel-multiple-models-add-remove
Add ability to add/remove modelings to method modeling panel
2023-10-11 16:20:39 +02:00
Robert
b881a38703 Fix expected value in tests 2023-10-11 15:03:11 +01:00
Koen Vlaswinkel
0cbdadb271 Add newline for readability
Co-authored-by: Robert <robertbrignull@github.com>
2023-10-11 15:59:56 +02:00
Robert
6db59a84a2 Use 'type: "none"' instead of undefined 2023-10-11 14:12:58 +01:00
Robert
eaf81efd64 Extract nested ternary to method 2023-10-11 14:12:10 +01:00
Henry Mercer
5105187dbd Merge pull request #2951 from github/github-action/bump-cli
Bump CLI Version to v2.15.0 for integration tests
2023-10-11 14:03:49 +01:00
Robert
9da3dc9a25 Allow editing multiple models in model editor 2023-10-11 13:41:45 +01:00
Robert
c7451fc4c2 Remove need for forEachModeledMethod method 2023-10-11 13:41:42 +01:00
Koen Vlaswinkel
918362f39e Merge pull request #2950 from github/koesie10/variant-analysis-save-before-start
Use `saveBeforeStart` setting when running a variant analysis
2023-10-11 14:34:08 +02:00
github-actions[bot]
0b5d2d86cf Bump CLI version from v2.14.6 to v2.15.0 for integration tests 2023-10-11 12:30:29 +00:00
Koen Vlaswinkel
3a035708c5 Merge pull request #2947 from github/koesie10/update-set-selected-method-message
Convert `SetSelectedMethodMessage` to include multiple modeled methods
2023-10-11 13:59:48 +02:00
Koen Vlaswinkel
84211c63bb Merge remote-tracking branch 'origin/main' into koesie10/update-set-selected-method-message 2023-10-11 13:40:27 +02:00
Koen Vlaswinkel
11218522e7 Update CHANGELOG 2023-10-11 13:35:11 +02:00
Koen Vlaswinkel
0bdd441767 Use saveBeforeStart setting when running a variant analysis
This will respect the user's `saveBeforeStart` setting when running a
variant analysis. This re-uses the existing `saveBeforeStart` function
that is used when running local queries. The default behavior if the
setting is not set is to save all open named files.
2023-10-11 13:33:24 +02:00
Koen Vlaswinkel
667bf19f46 Add methodSignature to SetMultipleModeledMethodsMessage 2023-10-11 13:07:18 +02:00
Robert
c459d0ff65 Merge pull request #2942 from github/robertbrignull/SetModeledMethodsMessage
Convert SetModeledMethodsMessage to include multiple modeled methods
2023-10-11 11:45:57 +01:00
Koen Vlaswinkel
039b28235d Only allow 1 view in the view tracker
This will change the model editor view tracker to only store 1 view per
database item instead of an array of views per database item.
2023-10-11 11:54:47 +02:00
Koen Vlaswinkel
76db520ce7 Only allow a single model editor per database
This will add checks in the appropriate places to ensure that only a
single model editor is opened per database.
2023-10-11 11:51:05 +02:00
Anders Starcke Henriksen
d2b17e1676 Add tests. 2023-10-11 11:45:01 +02:00
Koen Vlaswinkel
0e1afcee64 Sort methods in usages panel according to model editor sort order
This sorts the methods in the methods usages panel the same as in the
model editor. Since this is dependent on the mode, we need to keep track
of the mode in the modeling store, so this also adds a mode field to the
db state.
2023-10-11 11:42:10 +02:00
Robert
62c9e51c25 Avoid unnnecessarily renaming field read from props 2023-10-11 10:41:48 +01:00
Charis Kyriakou
2b47d3d192 Ensure modeled methods are not undefined in usages panel (#2946) 2023-10-11 08:29:39 +00:00
Koen Vlaswinkel
4a62d05af6 Convert SetSelectedMethodMessage to include multiple modeled methods 2023-10-11 10:14:58 +02:00
Koen Vlaswinkel
e77cf28192 Merge pull request #2944 from github/dependabot/npm_and_yarn/extensions/ql-vscode/postcss-8.4.31
Bump postcss from 8.4.24 to 8.4.31 in /extensions/ql-vscode
2023-10-11 09:51:41 +02:00
Koen Vlaswinkel
59e23f35e2 Merge pull request #2943 from github/koesie10/state-confusion
Fix confusion between modeling store and view states
2023-10-11 09:45:58 +02:00
dependabot[bot]
33d55b1f0a Bump postcss from 8.4.24 to 8.4.31 in /extensions/ql-vscode
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.24 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.24...8.4.31)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-10 15:03:37 +00:00
Koen Vlaswinkel
e7ddb4406a Merge pull request #2937 from github/koesie10/remove-gulp-sourcemaps
Remove `gulp-sourcemaps` dependency
2023-10-10 17:02:00 +02:00
Koen Vlaswinkel
9a12a12065 Unexport DbModelingState 2023-10-10 16:57:19 +02:00
Koen Vlaswinkel
073440914d Set instance variables on webview load 2023-10-10 16:55:55 +02:00
Robert
c6a9f23e7e Delete convertToLegacyModeledMethods 2023-10-10 15:50:02 +01:00
Robert
d531bc642d Convert SetModeledMethodsMessage to include multiple modeled methods 2023-10-10 15:50:02 +01:00
Robert
a6625334f0 Merge pull request #2940 from github/robertbrignull/CommonFromViewMessages
Add CommonFromViewMessages to FromModelEditorMessage
2023-10-10 15:49:04 +01:00
Koen Vlaswinkel
77bb9780ec Fix confusion between modeling store an view states
This fixes three bugs related to the modeling store and view states:
- In the model editor view, when `setModeledMethods` was called, it
would do it on the active database, instead of the database that the
view was showing. This should not result in any visible bugs since the
active database is always the one that is being shown (in theory), but
I can imagine that it could cause issues if showing multiple model
editors next to each other.
- In the method modeling panel, the "reveal in editor" button would
always show the already active model editor. Therefore, if you had
multiple open and were still viewing the method of the first one, it
would always show the second one.
- In the method modeling panel, the same bug would cause the incorrect
modeled methods to be updated.
2023-10-10 16:44:40 +02:00
Koen Vlaswinkel
bb88c148aa Merge pull request #2941 from github/koesie10/modeling-store-modeled-methods-bug
Fix bug when selecting method without modeled methods
2023-10-10 16:18:42 +02:00
Robert
6df7ea3ddc Remove unused import 2023-10-10 15:15:29 +01:00
Robert
2beaf9a88c ViewLoadedMsg is already included 2023-10-10 15:11:30 +01:00
Robert
a7dbae02e0 Use ap logger 2023-10-10 15:11:19 +01:00
Robert
28ac019929 Fix typo 2023-10-10 15:11:09 +01:00
Koen Vlaswinkel
2e2ab11e4f Merge pull request #2939 from github/koesie10/unhandled-error-stack
Add stack trace to unhandled error log message
2023-10-10 16:10:01 +02:00
Robert
edf3cad6e4 Add CommonFromViewMessages to FromModelEditorMessage 2023-10-10 15:03:23 +01:00
Robert
246c347b04 Merge pull request #2938 from github/robertbrignull/legacy-conversion
Make use of modeled-methods-legacy.ts in the webview code
2023-10-10 15:00:52 +01:00
Koen Vlaswinkel
e332b26f29 Fix bug when selecting method without modeled methods
When selecting a method that has no modeled methods, the modeling state
would not contain an entry for the method signature. This would cause
the `modeledMethods` to be `undefined`, which is not allowed according
to its type.
2023-10-10 15:51:59 +02:00
Koen Vlaswinkel
22f6ac7974 Add stack trace to unhandled error log message
This change sets the `fullMessage` of the
`showAndLogExceptionWithTelemetry` to include the stack trace. This
makes it possible to find the source of the error rather than only
knowing that a specific error occurred. If the error does not have a
stack trace (which should be rare) the message will be the same as
before.
2023-10-10 15:45:49 +02:00
Robert
e45f4bd0d9 Merge branch 'main' into robertbrignull/legacy-conversion 2023-10-10 14:37:20 +01:00
Charis Kyriakou
f4d74c7d3f Deal with already modeled methods in the modeling panel (#2933) 2023-10-10 14:35:21 +01:00
Robert
7ba58b6298 Use legacy modeled method conversions instead of custom conversions 2023-10-10 14:23:06 +01:00
Robert
2b59c041b8 Make convertFromLegacyModeledMethod handle undefined 2023-10-10 14:23:06 +01:00
Robert
a434fbffbc Move modeled-methods-legacy.ts to /shared directory 2023-10-10 14:23:06 +01:00
Koen Vlaswinkel
649f69234e Remove gulp-sourcemaps 2023-10-10 14:37:20 +02:00
Anders Starcke Henriksen
c668b39b30 Add language filter panel. 2023-10-10 14:34:04 +02:00
Koen Vlaswinkel
5f4e9d4879 Add alert to show validation errors 2023-10-10 14:29:10 +02:00
Koen Vlaswinkel
6b965afe4f Add validation function for modeled methods 2023-10-10 14:20:44 +02:00
Charis Kyriakou
4ee86c15ad Add some spacing in modeling method empty states (#2934) 2023-10-10 10:52:15 +00:00
Robert
fcfd4f37a6 Merge pull request #2926 from github/robertbrignull/JumpToUsageMessage
Only include method signature in JumpToUsageMessage
2023-10-10 11:12:36 +01:00
Robert
6561bb0543 Merge branch 'main' into robertbrignull/JumpToUsageMessage 2023-10-10 10:50:21 +01:00
Koen Vlaswinkel
319a54c32f Merge pull request #2906 from github/koesie10/convert-remaining-multiple-models
Convert remaining extension host code to handle multiple models
2023-10-10 11:43:09 +02:00
Koen Vlaswinkel
385b0e8d1a Merge remote-tracking branch 'origin/main' into koesie10/convert-remaining-multiple-models 2023-10-10 11:22:08 +02:00
Robert
4dcfa8b679 Merge pull request #2927 from github/robertbrignull/generateMethodsFromLlm
Only include method signatures in generateMethodsFromLlm message
2023-10-10 10:19:20 +01:00
Robert
47509a922a Rename jumpToUsage => jumpToMethod throughout 2023-10-10 10:14:27 +01:00
Charis Kyriakou
7eab7e4e48 Set modeling mode when initialising method modeling panel (#2932) 2023-10-10 10:12:01 +01:00
Charis Kyriakou
f794a19d96 Track db related to modeled method and react when it closes (#2930) 2023-10-10 09:51:50 +01:00
Charis Kyriakou
e98611fd21 Ensure modified methods updated after changing a method from the modeling panel (#2929) 2023-10-10 08:57:36 +01:00
Koen Vlaswinkel
461cf15a47 Merge remote-tracking branch 'origin/main' into koesie10/convert-remaining-multiple-models 2023-10-10 09:30:29 +02:00
Koen Vlaswinkel
54e1b29940 Add explicit return type to convertToLegacyModeledMethod 2023-10-10 09:26:27 +02:00
Dave Bartolomeo
623890adc9 Merge pull request #2922 from github/dbartol/passthru
Add `additionalArgs` option to `launch.json`
2023-10-09 15:04:13 -04:00
Dave Bartolomeo
e7f75ab928 Merge branch 'dbartol/passthru' of https://github.com/github/vscode-codeql into dbartol/passthru 2023-10-09 14:44:49 -04:00
Dave Bartolomeo
df02fecf3c Fix test expectations 2023-10-09 14:44:33 -04:00
Dave Bartolomeo
a861346b10 Merge branch 'main' into dbartol/passthru 2023-10-09 14:06:14 -04:00
Philip Ginsbach
86b2157552 Merge pull request #2792 from github/ginsbach/TextMateInstantiationSyntax
fix syntax highlighting after imports with instantiation arguments
2023-10-09 17:17:55 +01:00
Philip Ginsbach
47fa163cb9 Update compiled grammar 2023-10-09 16:58:00 +01:00
Dave Bartolomeo
c78f01758a Alternate fix for import highlighting with instantiations 2023-10-09 16:58:00 +01:00
Philip Ginsbach
353e22d6e8 link to the PR from the changelog entry 2023-10-09 16:58:00 +01:00
Philip Ginsbach
599d31e5ac add changelog entry for TextMate instantiation argument syntax 2023-10-09 16:57:25 +01:00
Philip Ginsbach
64df792eda TextMate grammar: imports can have instantiation arguments 2023-10-09 16:56:21 +01:00
Robert
feebf7c3fd Only include method signatures in generateMethodsFromLlm 2023-10-09 16:17:46 +01:00
Robert
27c4bd8349 Merge pull request #2910 from github/robertbrignull/multiple-models-method-row
Add ability for MethodRow to render multiple modelings of the same method
2023-10-09 16:17:17 +01:00
Dave Bartolomeo
d4cbfbb70e Rename to additionalRunQueryArgs 2023-10-09 11:04:22 -04:00
Robert
153424ae5a Only include method signature in JumpToUsageMessage 2023-10-09 16:03:41 +01:00
Robert
edd2aa5e8f Merge branch 'main' into robertbrignull/multiple-models-method-row 2023-10-09 15:38:00 +01:00
Robert
0265353370 Use index as react key 2023-10-09 14:44:43 +01:00
Koen Vlaswinkel
623df4c2ee Merge pull request #2919 from github/koesie10/show-multiple-models-listener
Listen to modeling setting changes in the model editor and method modeling panel
2023-10-09 15:38:30 +02:00
Robert
8b0825ab3c Use better name for variable 2023-10-09 14:32:56 +01:00
Robert
c620939895 Merge pull request #2913 from github/robertbrignull/SaveModeledMethods
Remove method and modeledMethods from SaveModeledMethods message
2023-10-09 14:16:30 +01:00
Koen Vlaswinkel
e4a290fe37 Merge pull request #2925 from github/koesie10/method-modeling-codeowner
Set SecExp as codeowner for modeling panel
2023-10-09 15:13:56 +02:00
Koen Vlaswinkel
3230cc9166 Set SecExp as codeowner for modeling panel 2023-10-09 14:56:38 +02:00
Koen Vlaswinkel
4dae9b87d4 Add ability to add/remove modelings 2023-10-09 14:54:32 +02:00
Koen Vlaswinkel
5c368cec8b Merge pull request #2921 from github/koesie10/modeling-panel-multiple-models
Add ability for method modeling panel to render multiple modelings of the same method
2023-10-09 14:27:30 +02:00
Koen Vlaswinkel
b76369330d Convert remaining extension host code to handle multiple models
This converts all remaining extension host code to handle multiple
models per method. The only place where we're using the legacy format
is in the webview and in the boundary between the webview and the
extension host.
2023-10-09 13:56:41 +02:00
Koen Vlaswinkel
323c5368ba Switch from CodiconButton to VSCodeButton 2023-10-09 13:52:55 +02:00
Robert
c3e18910fc Fix typo in comment 2023-10-09 12:26:09 +01:00
Robert
603c799717 Merge pull request #2923 from github/robertbrignull/telemetry-changelog
Update CHANGELOG.md for telemetry changes
2023-10-09 12:24:39 +01:00
Robert
aa045835fd Merge branch 'main' into robertbrignull/SaveModeledMethods 2023-10-09 11:35:47 +01:00
Robert
850c04a289 Clarify method docs 2023-10-09 11:30:35 +01:00
Robert
4d19955740 Update CHANGELOG.md for telemetry changes 2023-10-09 11:08:31 +01:00
Robert
b623f92c4a Merge pull request #2824 from github/robertbrignull/telemetry
Respect "telemetry.telemetryLevel" as well as "telemetry.enableTelemetry"
2023-10-09 10:59:26 +01:00
Koen Vlaswinkel
08342f1960 Merge pull request #2905 from github/koesie10/convert-modeled-method-fs
Convert `modeled-method-fs.ts` to handle multiple models per method
2023-10-09 11:54:31 +02:00
Robert
af334a98e3 Merge pull request #2912 from github/robertbrignull/simplify_messages/RevealMethodMessage
Convert RevealMethodMessage to only include method signature
2023-10-09 10:46:19 +01:00
Dave Bartolomeo
9e26c29ddb Fix tests for older CLIs 2023-10-06 18:35:20 -04:00
Dave Bartolomeo
705a7975c5 Add additionalArgs option to launch.json 2023-10-06 18:03:10 -04:00
Koen Vlaswinkel
6be98f3f8d Fix test 2023-10-06 16:57:31 +02:00
Koen Vlaswinkel
3b6263fb07 Remove size from CodiconButton 2023-10-06 16:48:49 +02:00
Koen Vlaswinkel
29aa4a3f29 Add tests for multiple modeled methods panel 2023-10-06 16:42:41 +02:00
Koen Vlaswinkel
3a494dff36 Add support for unmodeled methods 2023-10-06 16:26:53 +02:00
Koen Vlaswinkel
a01a76cb73 Add initial multiple modelings panel 2023-10-06 16:25:25 +02:00
Koen Vlaswinkel
a29112e045 Add multiple models to MethodModeling story 2023-10-06 15:54:02 +02:00
Koen Vlaswinkel
ee1bf8896e Change MethodModeling to accept multiple models 2023-10-06 15:50:31 +02:00
Koen Vlaswinkel
2410d2bfdd Merge pull request #2918 from github/koesie10/modeling-panel-view-state
Add view state to method modeling panel
2023-10-06 15:49:37 +02:00
Charis Kyriakou
0e5551b650 Make method modeling panel available to canary users (#2920) 2023-10-06 13:25:33 +00:00
Koen Vlaswinkel
951bd13881 Use ModelConfig for all model settings
This switches all places where we're retrieving some model configuration
to use the `ModelConfig` or `ModelConfigListener` types. This makes it
much easier to mock these settings in tests.

This also adds a listener to the `ModelEditorView` to send the new view
state when any of the settings is changed. This should make it easier
to test settings changes in the model editor without having to re-open
the model editor.
2023-10-06 14:29:07 +02:00
Koen Vlaswinkel
08944a292c Update method modeling panel after changes to config
This updates the method modeling panel's view state when the
`codeQL.model.showMultipleModels` setting changes. This will ensure that
the setting updates without needing to restart VS Code since this view
is much harder to restart than the model editor.
2023-10-06 14:15:23 +02:00
Koen Vlaswinkel
cf0057ecd9 Add view state to method modeling panel
This adds a view state to the method modeling panel similar to the
model editor. This will be used to send the state of the show multiple
models feature flag to the webview so this can be used to selectively
show/hide components in the method modeling panel.
2023-10-06 14:04:06 +02:00
Charis Kyriakou
1d691c2b7f UI polish for modeling panel (#2917)
* Don't push content down with unsaved tag

* Adjust spacing between components
2023-10-06 11:57:52 +01:00
Charis Kyriakou
20c63921f7 Wire up modeling panel empty states (#2915) 2023-10-06 11:27:16 +01:00
Koen Vlaswinkel
9c275130a5 Fix duplicate modeled methods
Co-authored-by: Robert <robertbrignull@github.com>
2023-10-06 12:09:00 +02:00
Henry Mercer
b1df4a4f0a Merge pull request #2916 from github/henrymercer/remove-ml-powered-queries
Packaging: Remove ML-powered queries pack from known list
2023-10-06 11:02:27 +01:00
Henry Mercer
08a4457e39 Packaging: Remove ML-powered queries pack from known list
ML-powered queries are [now deprecated](https://github.blog/changelog/2023-09-29-codeql-code-scanning-deprecates-ml-powered-alerts/).
2023-10-06 10:38:14 +01:00
Charis Kyriakou
db3d24236c Add empty states for modeling panel (#2914) 2023-10-06 09:34:54 +01:00
Robert
9d40d9a703 Remove method and modeledMethods from SaveModeledMethods message 2023-10-05 16:56:05 +01:00
Robert
0fabcda49b Convert RevealMethodMessage to only include method signature 2023-10-05 16:41:56 +01:00
Robert
2b0bd840e6 Place setup before initialising listener 2023-10-05 15:25:42 +01:00
Robert
d499ff3cf4 Merge branch 'main' into robertbrignull/telemetry 2023-10-05 15:19:07 +01:00
Charis Kyriakou
1806108166 Remove unnecessary TODOs (#2900) 2023-10-05 08:04:17 +00:00
Andrew Eisenberg
02af432d5f Merge pull request #2885 from github/aeisenberg/multi-token
Adds `MultiCancellationToken`
2023-10-04 13:33:46 -07:00
Andrew Eisenberg
76ec9e2e50 Make DisposableObject a concrete class 2023-10-04 20:10:42 +00:00
Robert
5ba64a1db3 Add test for when there's no modeled method 2023-10-04 18:46:17 +01:00
Robert
f87b1c46de Add some simple tests of rendering multiple models 2023-10-04 18:46:17 +01:00
Robert
8eef4eb4f2 Add story with multiple modelings 2023-10-04 18:46:17 +01:00
Robert
252c7a20c4 Convert MethodRow to display multiple modelings 2023-10-04 18:46:13 +01:00
Robert
86d7d8345c Convert ApiOrMethodCell to ApiOrMethodRow 2023-10-04 18:17:34 +01:00
Robert
a704cd7bae Convert getModelingStatus to take ModeledMethod[] 2023-10-04 18:17:34 +01:00
Robert
e75eccb416 Change MethodRow to accept ModelEditorViewState object instead of just Mode 2023-10-04 18:17:34 +01:00
Charis Kyriakou
17947fb7c2 Use base postMessage instead of webview one (#2909) 2023-10-04 17:23:49 +01:00
Charis Kyriakou
c00207cccc Move method modeling panel out of explorer (#2908) 2023-10-04 15:38:07 +01:00
Andrew Eisenberg
801df7b14a Merge branch 'main' into aeisenberg/multi-token 2023-10-04 07:09:21 -07:00
Koen Vlaswinkel
a6c7af09d4 Merge pull request #2907 from github/koesie10/eslint-memory
Increase memory limit when running ESLint
2023-10-04 15:11:26 +02:00
Koen Vlaswinkel
96668928aa Increase memory limit when running ESLint 2023-10-04 14:46:32 +02:00
Koen Vlaswinkel
a6c97077fb Merge pull request #2904 from github/koesie10/convert-yaml-modeled-methods
Convert `yaml.ts` to handle multiple models per method
2023-10-04 14:01:02 +02:00
Robert
6d7fbfc4f8 Merge pull request #2903 from github/robertbrignull/multiple-models-feature-flag
Add feature flag for showing multiple modelings
2023-10-04 12:55:42 +01:00
Koen Vlaswinkel
c5175e040e Convert modeled-method-fs.ts to handle multiple models per method
This will change the input/output types for modeled methods in the
`modeled-method-fs.ts` file to take in multiple models per method. This
removes the need for conversion functions between this file and
`yaml.ts` files. Instead, the conversion functions are done when calling
any functions defined in `modeled-method-fs.ts` files.
2023-10-04 13:47:30 +02:00
Anders Starcke Henriksen
55af9bc47c Merge pull request #2894 from github/starcke/lang-context-history
Add support for filtering history panel.
2023-10-04 13:38:38 +02:00
Koen Vlaswinkel
ada62ffd33 Convert yaml.ts to handle multiple models per method
This changes YAML parsing/creating functions for the model editor to
handle multiple models per method. The changes in the actual YAML
handling are fairly small because the format itself already supports
multiple models per method.

I've introduced a few helper functions to convert between the old and
new types. This should only be necessary while we're in the middle of
the transition to the new types and can be removed later. For now,
we'll just take the first model in the array when converting from the
new to the old type. This is a change in the behavior since currently
we always take the last model in the array but this behavior is
undocumented and unsupported, so it should be fine to change it.
2023-10-04 13:23:54 +02:00
Robert
e10e3adc14 Add feature flag for showing multiple modelings 2023-10-04 12:21:47 +01:00
Koen Vlaswinkel
16af4c49ea Merge pull request #2902 from github/koesie10/actions-nvmrc
Use .nvmrc file for setting up Node version in Actions
2023-10-04 11:36:22 +02:00
Koen Vlaswinkel
c970c3bc19 Use .nvmrc file for setting up Node version in Actions 2023-10-04 10:00:56 +02:00
Andrew Eisenberg
3699f0b3b3 Add BasicDisposableObject
Use it for `MultiCancellationToken`. And ensure that adding a
cancellation requested listener to the `MultiCancellationToken` will
forward any cancellation requests to all constituent tokens.
2023-10-03 21:42:00 +00:00
Andrew Eisenberg
ccbe4ee974 Merge branch 'main' into aeisenberg/multi-token 2023-10-03 07:52:54 -07:00
Anders Starcke Henriksen
486180d149 Fix and add tests. 2023-10-03 13:57:16 +02:00
Anders Starcke Henriksen
9362447338 Add support for filtering history panel. 2023-10-03 13:55:01 +02:00
Anders Starcke Henriksen
ff34079247 Merge pull request #2892 from github/starcke/local-query-lang-dto
Add language to local query history items
2023-10-03 13:53:32 +02:00
Koen Vlaswinkel
7cd99cb000 Merge pull request #2897 from github/dependabot/npm_and_yarn/extensions/ql-vscode/p-queue-7.4.1
Bump p-queue from 6.6.2 to 7.4.1 in /extensions/ql-vscode
2023-10-03 12:53:55 +02:00
Koen Vlaswinkel
21fd0cfd29 Transform p-queue and p-timeout modules in Jest tests 2023-10-03 11:52:51 +02:00
dependabot[bot]
db3337cc1b Bump p-queue from 6.6.2 to 7.4.1 in /extensions/ql-vscode
Bumps [p-queue](https://github.com/sindresorhus/p-queue) from 6.6.2 to 7.4.1.
- [Release notes](https://github.com/sindresorhus/p-queue/releases)
- [Commits](https://github.com/sindresorhus/p-queue/compare/v6.6.2...v7.4.1)

---
updated-dependencies:
- dependency-name: p-queue
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 09:29:01 +00:00
Koen Vlaswinkel
a525499c2a Merge pull request #2818 from github/dependabot/npm_and_yarn/extensions/ql-vscode/nanoid-5.0.1
Bump nanoid from 3.3.6 to 5.0.1 in /extensions/ql-vscode
2023-10-03 11:26:00 +02:00
Anders Starcke Henriksen
6d2859cee5 Fix typo. 2023-10-03 11:23:32 +02:00
Koen Vlaswinkel
ac9128735f Merge pull request #2896 from github/koesie10/reveal-in-editor
Add reveal in editor button to method modeling panel
2023-10-03 11:12:44 +02:00
Anders Starcke Henriksen
2c0838e393 Merge branch 'main' into starcke/local-query-lang-dto 2023-10-03 11:01:46 +02:00
Anders Starcke Henriksen
b294e16c44 Add to changelog. 2023-10-03 11:01:03 +02:00
Koen Vlaswinkel
f678f49bc9 Transform nanoid module in Jest tests 2023-10-03 10:48:08 +02:00
dependabot[bot]
99dabb0779 Bump nanoid from 3.3.6 to 5.0.1 in /extensions/ql-vscode
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.6 to 5.0.1.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.6...5.0.1)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 08:13:33 +00:00
Koen Vlaswinkel
add7a25578 Merge pull request #2877 from github/robertbrignull/upgrade_msw
Upgrade MSW
2023-10-03 10:08:34 +02:00
Koen Vlaswinkel
487a753ede Reveal method in editor view
This will reveal a method for which "Review in editor" is clicked in the
model editor view: it will expand the group (library/package) in which
the method is located, scroll to the method, and highlight the method.

If the user clicks anywhere on the page, the highlight will be removed,
but the group will remain expanded.
2023-10-03 09:49:00 +02:00
Koen Vlaswinkel
79ea901a52 Send message to model editor view on revealing method
This will call a method on the correct model editor view when the user
clicks on "Review in editor". This does not yet do anything to the view;
this will be added in a follow-up commit.
2023-10-03 09:48:59 +02:00
Koen Vlaswinkel
2872a2dcaf Add model editor view tracker
This is used for registering which model editor views are currently
active. This will be used to determine which view to send the "reveal
method" command to. It can also be used in the future to limit the
number of instances of the model editor that can be opened for a
database.

This uses the same pattern as variant analyses with a separate interface
for the view to avoid having circular dependencies.
2023-10-03 09:48:17 +02:00
Koen Vlaswinkel
8b8bacb718 Add button for reveal method in editor 2023-10-03 09:47:52 +02:00
Koen Vlaswinkel
83e38c811f Update CHANGELOG 2023-10-03 09:36:59 +02:00
Koen Vlaswinkel
8107bf7cb1 Merge remote-tracking branch 'origin/main' into robertbrignull/upgrade_msw 2023-10-03 09:36:03 +02:00
Andrew Eisenberg
625b3a5c37 Merge branch 'main' into aeisenberg/multi-token 2023-10-02 20:07:31 -07:00
Andrew Eisenberg
0fa3cf5d8e Use EventEmitter in MultiCancellationToken 2023-10-02 10:21:17 -07:00
Charis Kyriakou
558b9329c5 Extract base functionality for WebviewViewProviders into an abstract class (#2895) 2023-10-02 16:31:52 +01:00
Koen Vlaswinkel
e15b7681db Bump @types/vscode to 1.82.0 2023-10-02 11:14:42 +02:00
Koen Vlaswinkel
6539417d2d Fix recording of binary response bodies 2023-10-02 11:13:18 +02:00
Koen Vlaswinkel
095d56ee37 Fix typo in BasicErrorResponse 2023-10-02 11:02:44 +02:00
Koen Vlaswinkel
7578697e92 Fix response bodies when recording 2023-10-02 11:02:20 +02:00
Anders Starcke Henriksen
6e06e7934b Merge pull request #2889 from github/starcke/lang-context-queries
Apply language context to queries panel
2023-10-02 10:27:00 +02:00
Charis Kyriakou
58249e3efe Dispose event subscriptions in method modeling view (#2882) 2023-10-02 08:57:33 +01:00
Andrew Eisenberg
75540b449f Merge pull request #2884 from github/aeisenberg/avoid-double-restart
Avoid double restarts of the query server
2023-09-29 11:04:37 -07:00
Andrew Eisenberg
04dfc4e647 Move location of multi-cancellation-token
This avoids a code-scanning warning.
2023-09-29 08:31:20 -07:00
Andrew Eisenberg
3ba1712be0 Update Changelog 2023-09-29 08:30:51 -07:00
Andrew Eisenberg
e8f68c1b5f Adds MultiCancellationToken
This is a cancellation token that cancels when any of its constituent
cancellation tokens are cancelled.

This token is used to fix a bug in Find Definitions. Previously, when
clicking `CTRL` (or `CMD` on macs) inside a source file in an archive
and hovering over a token, this will automatically invoke the
definitions finder (in preparation for navigating to the definition).
The only way to cancel is to move down to the message popup and click
cancel there.

However, this is a bug. What _should_ happen is that if a user moves
their mouse away from the token, the operation should cancel.

The underlying problem is that the extension was only listening to the
cancellation token from inside `getLocationsForUriString` the
cancellation token used by the Language Server protocol to cancel
operations in flight was being ignored.

This fix will ensure we are listening to _both_ cancellation tokens
and cancel the query if either are cancelled.
2023-09-29 08:28:35 -07:00
Andrew Eisenberg
a9edb36242 Merge branch 'main' into aeisenberg/avoid-double-restart 2023-09-29 08:26:53 -07:00
Koen Vlaswinkel
40b79f2e61 Improve scenario recording 2023-09-29 14:34:12 +02:00
Charis Kyriakou
3489c26ef6 Styling updates to method modeling panel (#2888) 2023-09-29 13:02:29 +01:00
Koen Vlaswinkel
6b522819fd Merge pull request #2893 from github/version/bump-to-v1.9.2
Bump version to v1.9.2
2023-09-29 13:20:59 +02:00
Koen Vlaswinkel
15b8d2bdb4 Merge pull request #2890 from github/koesie10/add-missing-feature-flag-to-test-plan
Add missing feature flag to test plan
2023-09-29 13:10:27 +02:00
github-actions[bot]
213a03555a Bump version to v1.9.2 2023-09-29 10:27:33 +00:00
Anders Starcke Henriksen
c4fe868826 Add a way to show language for qury history. 2023-09-29 12:15:55 +02:00
Anders Starcke Henriksen
c43d0fa805 Add language to local queries. 2023-09-29 11:54:45 +02:00
Koen Vlaswinkel
e798663bbb Add missing feature flag to test plan 2023-09-29 11:12:04 +02:00
Anders Starcke Henriksen
169a425e0b Update and add tests. 2023-09-29 11:07:06 +02:00
Anders Starcke Henriksen
1e6b7a6619 Add support for filtering queries panel. 2023-09-29 09:28:44 +02:00
Andrew Eisenberg
2b17979b6c Update changelog 2023-09-28 14:29:40 -07:00
Andrew Eisenberg
3999ae3728 Avoid double restarts of the query server
Previously, if there was an explicit restart of the query server (eg-
by changing a configuration setting), then the query server process
would be started twice: once by the `close` handler and once by the
restart command.

By adding the `removeAllListeners` to the dispose method, we ensure that
when the query server shuts down gracefully, there won't be a `close`
listener that is going to restart it a second time if there is a
different way of restarting it.
2023-09-28 14:25:35 -07:00
Koen Vlaswinkel
ae2d6ce16e Upgrade Node version to 18.15.0 2023-09-28 16:38:54 +02:00
Koen Vlaswinkel
8b1c52886a Fix typing error for Octokit 2023-09-28 16:09:16 +02:00
Koen Vlaswinkel
f9ddb4080c Switch to stable VS Code version for tests 2023-09-28 16:07:34 +02:00
Koen Vlaswinkel
3afa15a0ce Remove redundant query params 2023-09-28 16:07:05 +02:00
Koen Vlaswinkel
f22714777c Use AppOctokit in tests 2023-09-28 16:06:34 +02:00
Koen Vlaswinkel
9b10a09727 Fix MSW JSON responses 2023-09-28 14:32:33 +02:00
Koen Vlaswinkel
3c10e87529 Switch Octokit to use node-fetch
It seems like Node's native `fetch` implementation isn't quite working
right with Octokit and MSW. This switches to using `node-fetch` like
we're already doing for all other requests (e.g. downloading databases).
2023-09-28 14:32:32 +02:00
Koen Vlaswinkel
a1ea1f8135 Upgrade Octokit and MSW 2023-09-28 14:32:16 +02:00
Robert
ffc90a0c30 Remove startServer method as it now does nothing 2023-09-28 14:32:15 +02:00
Robert
e34f4ed485 Only start server when loading a scenario 2023-09-28 14:32:15 +02:00
Robert
7c1b6e2ff6 Use new types 2023-09-28 14:32:15 +02:00
Robert
e719df711a Upgrade msw to the @next tag 2023-09-28 14:32:15 +02:00
Robert
4227ff6338 Mock env.itTelemetryEnable 2023-09-19 17:24:53 +01:00
Robert
ca96cdf879 Mock sendTelemetryErrorEvent and check appropriately 2023-09-19 17:23:47 +01:00
Robert
aad1fee787 Stop mocking sendTelemetryException because we don't use that anywhere in the program 2023-09-19 17:18:38 +01:00
Robert
48399a9aeb Merge branch 'main' into robertbrignull/telemetry 2023-09-19 16:40:07 +01:00
Robert
177c770f4d Delete config values that we on longer read directly 2023-09-18 11:15:34 +01:00
Robert
d4033615c8 Use onDidChangeTelemetryEnabled instead of listening for config value changes 2023-09-18 11:14:11 +01:00
Robert
9ec6590548 Use env.isTelemetryEnabled instead of checking configuration values ourselves 2023-09-18 11:14:11 +01:00
Robert
5fc9a73e20 Add telemtry tag to settings 2023-09-18 11:14:11 +01:00
Robert
af5547fb77 Use correct values of telemtetry level 2023-09-18 11:14:03 +01:00
Robert
a506276635 Update custom telemetry setting description 2023-09-15 16:14:34 +01:00
Robert
f3e72a0ab8 Delete unused relevantSettings field 2023-09-15 16:04:58 +01:00
Robert
c7a9337ac0 Use .qualifiedName instead of writing out manually 2023-09-15 16:04:58 +01:00
Robert
c7bd343f54 Use sendTelemetryErrorEvent when sending errors 2023-09-15 16:04:58 +01:00
Robert
9c76ba35f1 Check both telemetry.telemetryLevel and telemetry.enableTelemetry 2023-09-15 16:04:13 +01:00
Robert
90093fb9f5 Rearrange settings so the telemetry settings are clearer 2023-09-15 15:01:32 +01:00
857 changed files with 52558 additions and 56841 deletions

16
.github/codeql/queries/ProgressBar.qll vendored Normal file
View File

@@ -0,0 +1,16 @@
import javascript
class WithProgressCall extends CallExpr {
WithProgressCall() { this.getCalleeName() = "withProgress" }
predicate usesToken() { exists(this.getTokenParameter()) }
Parameter getTokenParameter() { result = this.getArgument(0).(Function).getParameter(1) }
Property getCancellableProperty() { result = this.getArgument(1).(ObjectExpr).getPropertyByName("cancellable") }
predicate isCancellable() {
this.getCancellableProperty().getInit().(BooleanLiteral).getBoolValue() =
true
}
}

View File

@@ -0,0 +1,20 @@
/**
* @name Using token for non-cancellable progress bar
* @kind problem
* @problem.severity warning
* @id vscode-codeql/progress-not-cancellable
* @description If we call `withProgress` without `cancellable: true` then the
* token that is given to us should be ignored because it won't ever be cancelled.
* This makes the code more confusing as it tries to account for cases that can't
* happen. The fix is to either not use the token or make the progress bar cancellable.
*/
import javascript
import ProgressBar
from WithProgressCall t
where not t.isCancellable() and t.usesToken()
select t,
"The $@ should not be used when the progress bar is not cancellable. Either stop using the $@ or mark the progress bar as cancellable.",
t.getTokenParameter(), t.getTokenParameter().getName(), t.getTokenParameter(),
t.getTokenParameter().getName()

View File

@@ -0,0 +1,18 @@
/**
* @name Don't ignore the token for a cancellable progress bar
* @kind problem
* @problem.severity warning
* @id vscode-codeql/token-not-used
* @description If we call `withProgress` with `cancellable: true` but then
* ignore the token that is given to us, it will lead to a poor user experience
* because the progress bar will appear to be canceled but it will not actually
* affect the background process. Either check the token and respect when it
* has been cancelled, or mark the progress bar as not cancellable.
*/
import javascript
import ProgressBar
from WithProgressCall t
where t.isCancellable() and not t.usesToken()
select t, "This progress bar is $@ but the token is not used. Either use the token or mark the progress bar as not cancellable.", t.getCancellableProperty(), "cancellable"

View File

@@ -8,8 +8,28 @@ updates:
labels:
- "Update dependencies"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
# @types/node is related to the version of VS Code we're supporting and should
# not be updated to a newer version of Node automatically. However, patch versions
# are unrelated to the Node version, so we allow those.
- dependency-name: "@types/node"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
groups:
octokit:
patterns:
- "@octokit/*"
update-types:
- "minor"
- "patch"
storybook:
patterns:
- "@storybook/*"
- "storybook"
testing-library:
patterns:
- "@testing-library/*"
typescript-eslint:
patterns:
- "@typescript-eslint/*"
- package-ecosystem: "github-actions"
directory: "/"
schedule:
@@ -17,6 +37,10 @@ updates:
day: "thursday" # Thursday is arbitrary
labels:
- "Update dependencies"
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-minor", "version-update:semver-patch"]
- package-ecosystem: docker
directory: "extensions/ql-vscode/test/e2e"
schedule:
interval: "weekly"
day: "thursday" # Thursday is arbitrary
labels:
- "Update dependencies"

View File

@@ -5,8 +5,4 @@
Replace this with a description of the changes your pull request makes.
## Checklist
- [ ] [CHANGELOG.md](https://github.com/github/vscode-codeql/blob/main/extensions/ql-vscode/CHANGELOG.md) has been updated to incorporate all user visible changes made by this pull request.
- [ ] Issues have been created for any UI or other user-facing changes made by this pull request.
- [ ] _[Maintainers only]_ If this pull request makes user-facing changes that require documentation changes, open a corresponding docs pull request in the [github/codeql](https://github.com/github/codeql/tree/main/docs/codeql/codeql-for-visual-studio-code) repo and add the `ready-for-doc-review` label there.
Remember to update the [changelog](https://github.com/github/vscode-codeql/blob/main/extensions/ql-vscode/CHANGELOG.md) if there have been user-facing changes!

View File

@@ -11,6 +11,7 @@ on:
- extensions/ql-vscode/src/language-support/**
- extensions/ql-vscode/src/query-server/**
- extensions/ql-vscode/supported_cli_versions.json
- extensions/ql-vscode/src/variant-analysis/run-remote-query.ts
jobs:
find-nightly:
@@ -60,9 +61,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
@@ -109,3 +110,43 @@ jobs:
if: matrix.os == 'windows-latest'
run: |
npm run test:cli-integration
report-failure:
name: Report failure on the default branch
runs-on: ubuntu-latest
needs: [cli-test]
if: failure() && github.ref == 'refs/heads/main'
permissions:
contents: read
issues: write
env:
GH_TOKEN: ${{ github.token }}
steps:
- name: Create GitHub issue
run: |
# Set -eu so that we fail if the gh command fails.
set -eu
# Try to find an existing open issue if there is one
ISSUE="$(gh issue list --repo "$GITHUB_REPOSITORY" --label "cli-test-failure" --state "open" --limit 1 --json number -q '.[0].number')"
if [[ -n "$ISSUE" ]]; then
echo "Found open issue number $ISSUE ($GITHUB_SERVER_URL/$GITHUB_REPOSITORY/issues/$ISSUE)"
else
echo "Did not find an open tracking issue. Creating one."
ISSUE_BODY="issue-body.md"
printf "CLI tests have failed on the default branch.\n\n@github/code-scanning-secexp-reviewers" > "$ISSUE_BODY"
ISSUE="$(gh issue create --repo "$GITHUB_REPOSITORY" --label "cli-test-failure" --title "CLI test failure" --body-file "$ISSUE_BODY")"
# `gh issue create` returns the full issue URL, not just the number.
echo "Created issue with URL $ISSUE"
fi
COMMENT_FILE="comment.md"
RUN_URL=$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID
printf 'CLI test [%s](%s) failed on ref `%s`' "$GITHUB_RUN_ID" "$RUN_URL" "$GITHUB_REF" > "$COMMENT_FILE"
# `gh issue create` returns an issue URL, and `gh issue list | cut -f 1` returns an issue number.
# Both are accepted here.
gh issue comment "$ISSUE" --repo "$GITHUB_REPOSITORY" --body-file "$COMMENT_FILE"

View File

@@ -13,4 +13,4 @@ jobs:
- name: 'Checkout Repository'
uses: actions/checkout@v4
- name: 'Dependency Review'
uses: actions/dependency-review-action@v3
uses: actions/dependency-review-action@v4

46
.github/workflows/e2e-tests.yml vendored Normal file
View File

@@ -0,0 +1,46 @@
name: Run E2E Playwright tests
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
e2e-test:
name: E2E Test
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
- name: Install dependencies
working-directory: extensions/ql-vscode
run: npm ci
- name: Start containers
working-directory: extensions/ql-vscode/test/e2e
run: docker-compose -f "docker-compose.yml" up -d --build
- name: Install Playwright Browsers
working-directory: extensions/ql-vscode
run: npx playwright install --with-deps
- name: Run Playwright tests
working-directory: extensions/ql-vscode/test/e2e
run: npx playwright test
- uses: actions/upload-artifact@v4
if: always()
with:
name: playwright-report
path: extensions/ql-vscode/playwright-report/
retention-days: 30
- name: Stop containers
working-directory: extensions/ql-vscode/test/e2e
if: always()
run: docker-compose -f "docker-compose.yml" down -v

View File

@@ -20,9 +20,9 @@ jobs:
with:
fetch-depth: 1
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
@@ -47,7 +47,7 @@ jobs:
cp dist/*.vsix artifacts
- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-latest'
with:
name: vscode-codeql-extension
@@ -62,9 +62,9 @@ jobs:
with:
fetch-depth: 1
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
@@ -81,6 +81,8 @@ jobs:
- name: Lint
working-directory: extensions/ql-vscode
env:
NODE_OPTIONS: '--max-old-space-size=4096'
run: |
npm run lint
@@ -108,9 +110,9 @@ jobs:
with:
fetch-depth: 1
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
@@ -142,14 +144,27 @@ jobs:
matrix:
os: [ubuntu-latest, windows-latest]
steps:
# Enable 8.3 filename creation. This is not required to run the extension but it is required for the unit tests to pass.
# This feature is currently enabled by default in Windows 11 for the C: drive and therefore we must maintain support for it.
# This setting needs to be enabled before files are created, i.e. before we checkout the repository.
- name: Enable 8.3 filenames
shell: pwsh
if: ${{ matrix.os == 'windows-latest' }}
run: |
$shortNameEnableProcess = Start-Process -FilePath fsutil.exe -ArgumentList ('8dot3name', 'set', '0') -Wait -PassThru
$shortNameEnableExitCode = $shortNameEnableProcess.ExitCode
if ($shortNameEnableExitCode -ne 0) {
exit $shortNameEnableExitCode
}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
@@ -181,9 +196,9 @@ jobs:
with:
fetch-depth: 1
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
@@ -249,9 +264,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json

View File

@@ -20,9 +20,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v3
- uses: actions/setup-node@v4
with:
node-version: '16.17.1'
node-version-file: extensions/ql-vscode/.nvmrc
- name: Install dependencies
run: |
@@ -54,13 +54,13 @@ jobs:
echo "ref_name=$REF_NAME" >> "$GITHUB_OUTPUT"
- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: vscode-codeql-extension
path: artifacts
- name: Upload source maps
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: vscode-codeql-sourcemaps
path: dist/vscode-codeql/out/*.map
@@ -128,13 +128,13 @@ jobs:
VSCE_TOKEN: ${{ secrets.VSCE_TOKEN }}
steps:
- name: Download artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode-codeql-extension
- name: Publish to Registry
run: |
npx vsce publish -p $VSCE_TOKEN --packagePath *.vsix
npx @vscode/vsce publish -p $VSCE_TOKEN --packagePath *.vsix
open-vsx-publish:
name: Publish to Open VSX Registry
@@ -145,7 +145,7 @@ jobs:
OPEN_VSX_TOKEN: ${{ secrets.OPEN_VSX_TOKEN }}
steps:
- name: Download artifact
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: vscode-codeql-extension

View File

@@ -0,0 +1,58 @@
name: Update Node version
on:
workflow_dispatch:
schedule:
- cron: '15 12 * * *' # At 12:15 PM UTC every day
permissions:
contents: write
pull-requests: write
jobs:
create-pr:
name: Create PR
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: extensions/ql-vscode/.nvmrc
cache: 'npm'
cache-dependency-path: extensions/ql-vscode/package-lock.json
- name: Install dependencies
working-directory: extensions/ql-vscode
run: |
npm ci
shell: bash
- name: Get current Node version
working-directory: extensions/ql-vscode
id: get-current-node-version
run: |
echo "version=$(cat .nvmrc)" >> $GITHUB_OUTPUT
shell: bash
- name: Update Node version
working-directory: extensions/ql-vscode
run: |
npx ts-node scripts/update-node-version.ts
shell: bash
- name: Get current Node version
working-directory: extensions/ql-vscode
id: get-new-node-version
run: |
echo "version=$(cat .nvmrc)" >> $GITHUB_OUTPUT
shell: bash
- name: Commit, Push and Open a PR
uses: ./.github/actions/create-pr
with:
token: ${{ secrets.GITHUB_TOKEN }}
base-branch: main
head-branch: github-action/bump-node-version
commit-message: Bump Node version to ${{ steps.get-new-node-version.outputs.version }}
title: Bump Node version to ${{ steps.get-new-node-version.outputs.version }}
body: >
The Node version used in the latest version of VS Code has been updated. This PR updates the Node version
used for integration tests to match.
The previous Node version was ${{ steps.get-current-node-version.outputs.version }}. This PR updates the
Node version to ${{ steps.get-new-node-version.outputs.version }}.

4
.gitignore vendored
View File

@@ -19,3 +19,7 @@ artifacts/
# CodeQL metadata
.cache/
.codeql/
# E2E Reports
**/playwright-report/**
**/test-results/**

View File

@@ -1,4 +1,7 @@
{
"ul-style": {
"style": "dash"
},
"MD013": false,
"MD041": false
}

View File

@@ -111,4 +111,10 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
},
"github.copilot.advanced": {
},
"codeQL.variantAnalysis.enableGhecDr": true,
"github-enterprise.uri": "http://server:8080/"
}

View File

@@ -1,5 +1,6 @@
**/* @github/codeql-vscode-reviewers
**/variant-analysis/ @github/code-scanning-secexp-reviewers
**/databases/ @github/code-scanning-secexp-reviewers
**/method-modeling/ @github/code-scanning-secexp-reviewers
**/model-editor/ @github/code-scanning-secexp-reviewers
**/queries-panel/ @github/code-scanning-secexp-reviewers

View File

@@ -14,21 +14,21 @@ appearance, race, religion, or sexual identity and orientation.
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
- The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
@@ -55,7 +55,7 @@ a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at opensource@github.com. All
reported by contacting the project team at <opensource@github.com>. All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.

View File

@@ -22,12 +22,13 @@ Please note that this project is released with a [Contributor Code of Conduct][c
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
* Follow the [style guide][style].
* Write tests:
* [Tests that don't require the VS Code API are located here](extensions/ql-vscode/test).
* [Integration tests that do require the VS Code API are located here](extensions/ql-vscode/src/vscode-tests).
* Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
* Write a [good commit message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
- Follow the [style guide][style].
- Write tests:
- [Tests that don't require the VS Code API are located here](extensions/ql-vscode/test).
- [Integration tests that do require the VS Code API are located here](extensions/ql-vscode/src/vscode-tests).
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write a [good commit message](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
- Update the [changelog](https://github.com/github/vscode-codeql/blob/main/extensions/ql-vscode/CHANGELOG.md) if you are making user-facing changes.
## Setting up a local build
@@ -99,6 +100,6 @@ More information about Storybook can be found inside the **Overview** page once
## Resources
* [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
* [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
* [GitHub Help](https://help.github.com)
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/)
- [GitHub Help](https://help.github.com)

View File

@@ -6,28 +6,21 @@ The extension is released. You can download it from the [Visual Studio Marketpla
To see what has changed in the last few versions of the extension, see the [Changelog](https://github.com/github/vscode-codeql/blob/main/extensions/ql-vscode/CHANGELOG.md).
[![CI status badge](https://github.com/github/vscode-codeql/workflows/Build%20Extension/badge.svg)](https://github.com/github/vscode-codeql/actions?query=workflow%3A%22Build+Extension%22+branch%3Amaster)
[![CI status badge](https://github.com/github/vscode-codeql/workflows/Build%20Extension/badge.svg)](https://github.com/github/vscode-codeql/actions?query=workflow%3A%22Build+Extension%22+branch%3Amain)
[![VS Marketplace badge](https://vsmarketplacebadges.dev/version/github.vscode-codeql.svg)](https://marketplace.visualstudio.com/items?itemName=github.vscode-codeql)
## Features
* Enables you to use CodeQL to query databases and discover problems in codebases.
* Shows the flow of data through the results of path queries, which is essential for triaging security results.
* Provides an easy way to run queries from the large, open source repository of [CodeQL security queries](https://github.com/github/codeql).
* Adds IntelliSense to support you writing and editing your own CodeQL query and library files.
* Supports you running CodeQL queries against thousands of repositories on GitHub using multi-repository variant analysis.
- Enables you to use CodeQL to query databases and discover problems in codebases.
- Shows the flow of data through the results of path queries, which is essential for triaging security results.
- Provides an easy way to run queries from the large, open source repository of [CodeQL security queries](https://github.com/github/codeql).
- Adds IntelliSense to support you writing and editing your own CodeQL query and library files.
- Supports you running CodeQL queries against thousands of repositories on GitHub using multi-repository variant analysis.
## Project goals and scope
This project will track new feature development in CodeQL and, whenever appropriate, bring that functionality to the Visual Studio Code experience.
## Dependencies
This extension depends on the following two extensions for required functionality. They will be installed automatically when you install VS Code CodeQL.
* [Test Adapter Converter](https://marketplace.visualstudio.com/items?itemName=ms-vscode.test-adapter-converter)
* [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer)
## Contributing
This project welcomes contributions. See [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to build, install, and contribute.

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,5 +1,8 @@
# Node version
> [!NOTE]
> It should not be necessary to update the Node.js version manually. The [update-node-version.yml](https://github.com/github/vscode-codeql/blob/main/.github/workflows/update-node-version.yml) workflow runs daily and will open a pull request if the Node.js version needs to be updated.
The CodeQL for VS Code extension defines the version of Node.js that it is intended to run with. This Node.js version is used when running most CI and unit tests.
When running in production (i.e. as an extension for a VS Code application) it will use the Node.js version provided by VS Code. This can mean a different Node.js version is used by different users with different versions of VS Code.
@@ -7,23 +10,20 @@ We should make sure the CodeQL for VS Code extension works with the Node.js vers
## Checking the version of Node.js supplied by VS Code
You can find this info by seleting "About Visual Studio Code" from the top menu.
You can find this info by selecting "About Visual Studio Code" from the top menu.
![about-vscode](images/about-vscode.png)
## Updating the Node.js version
The following files will need to be updated:
To update the Node.js version, run:
- `.github/workflows/cli-test.yml` - the "node-version: '[VERSION]'" setting
- `.github/workflows/main.yml` - all the "node-version: '[VERSION]'" settings
- `.github/workflows/release.yml` - the "node-version: '[VERSION]'" setting
- `extensions/ql-vscode/.nvmrc` - this will enable nvm to automatically switch to the correct node version when you're in the project folder
- `extensions/ql-vscode/package-lock.json` - the "engines.node: '[VERSION]'" setting
- `extensions/ql-vscode/package.json` - the "engines.node: '[VERSION]'" setting
```bash
npx ts-node scripts/update-node-version.ts
```
## Node.js version used in tests
Unit tests will use whatever version of Node.js is installed locally. In CI this will be the version specified in the workflow.
Integration tests download a copy of VS Code and then will use whatever version of Node.js is provided by VS Code. Our integration tests are currently pinned to an older version of VS Code. See [VS Code version used in tests](./vscode-version.md#vs-code-version-used-in-tests) for more information.
Integration tests download a copy of VS Code and then will use whatever version of Node.js is provided by VS Code. See [VS Code version used in tests](./vscode-version.md#vs-code-version-used-in-tests) for more information.

View File

@@ -1,84 +1,67 @@
# Releasing (write access required)
1. Run the ["Run CLI tests" workflow](https://github.com/github/vscode-codeql/actions/workflows/cli-test.yml) and make sure the tests are green. If there were no merges between the time the workflow ran (it runs daily), and the release, you can skip this step.
1. Make sure the needed authentication keys are valid. Most likely the Azure DevOps PAT needs to be regenerated. See below.
1. Determine the new version number. We default to increasing the patch version number, but make our own judgement about whether a change is big enough to warrant a minor version bump. Common reasons for a minor bump could include:
- Making substantial new features available to all users. This can include lifting a feature flag.
- Breakage in compatibility with recent versions of the CLI.
- Minimum required version of VS Code is increased.
- New telemetry events are added.
- Deprecation or removal of commands.
- Accumulation of many changes, none of which are individually big enough to warrant a minor bump, but which together are. This does not include changes which are purely internal to the extension, such as refactoring, or which are only available behind a feature flag.
1. Create a release branch named after the new version (e.g. `v1.3.6`):
- For a regular scheduled release this branch will be based on latest `main`.
- Make sure your local copy of `main` is up to date so you are including all changes.
- To do a minimal bug-fix release, base the release branch on the tag from the most recent release and then add only the changes you want to release.
- Choose this option if you want to release a specific set of changes (e.g. a bug fix) and don't want to incur extra risk by including other changes that have been merged to the `main` branch.
```bash
git checkout -b <new_release_branch> <previous_release_tag>
```
1. Run the ["Run CLI tests" workflow](https://github.com/github/vscode-codeql/actions/workflows/cli-test.yml) and make sure the tests are green.
- You can skip this step if you are releasing from `main` and there were no merges since the most recent daily scheduled run of this workflow.
1. Double-check the `CHANGELOG.md` contains all desired change comments and has the version to be released with date at the top.
* Go through all recent PRs and make sure they are properly accounted for.
* Make sure all changelog entries have links back to their PR(s) if appropriate.
* For picking the new version number, we default to increasing the patch version number, but make our own judgement about whether a change is big enough to warrant a minor version bump. Common reasons for a minor bump could include:
* Making substantial new features available to all users. This can include lifting a feature flag.
* Breakage in compatibility with recent versions of the CLI.
* Minimum required version of VS Code is increased.
* New telemetry events are added.
* Deprecation or removal of commands.
* Accumulation of many changes, none of which are individually big enough to warrant a minor bump, but which together are. This does not include changes which are purely internal to the extension, such as refactoring, or which are only available behind a feature flag.
1. Double-check that the node version we're using matches the one used for VS Code. See the [Node.js version instructions](./node-version.md) for more information.
- Go through PRs that have been merged since the previous release and make sure they are properly accounted for.
- Make sure all changelog entries have links back to their PR(s) if appropriate.
1. Double-check that the extension `package.json` and `package-lock.json` have the version you intend to release. If you are doing a patch release (as opposed to minor or major version) this should already be correct.
1. Create a PR for this release:
* This PR will contain any missing bits from steps 1, 2 and 3. Most of the time, this will just be updating `CHANGELOG.md` with today's date.
* Create a new branch for the release named after the new version. For example: `v1.3.6`
* Create a new commit with a message the same as the branch name.
* Create a PR for this branch.
* Wait for the PR to be merged into `main`
1. Switch to `main` branch and pull latest changes
1. Lock the `main` branch.
* Go to the [branch protection rules for the `main` branch](https://github.com/github/vscode-codeql/settings/branch_protection_rules/16447115)
* Select "Lock branch"
* Click "Save changes"
1. Ensure that no PRs have been merged since the release PR that you merged. If there were, you might need to unlock `main` temporarily and update the CHANGELOG again.
1. Build the extension `npm run build` and install it on your VS Code using "Install from VSIX".
1. Commit any changes made during steps 4 and 5 with a commit message the same as the branch name (e.g. `v1.3.6`).
1. Open a PR for this release.
- The PR diff should contain:
- Any missing bits from steps 4 and 5. Most of the time, this will just be updating `CHANGELOG.md` with today's date.
- If releasing from a branch other than `main`, this PR will also contain the extension changes being released.
1. Build the extension using `npm run build` and install it on your VS Code using "Install from VSIX".
1. Go through [our test plan](./test-plan.md) to ensure that the extension is working as expected.
1. Switch to `main` and add a new tag on the `main` branch with your new version (named after the release), e.g.
1. Create a new tag on the release branch with your new version (named after the release), e.g.
```bash
git checkout main
git tag v1.3.6
```
If you've accidentally created a badly named tag, you can delete it via
```bash
git tag -d badly-named-tag
```
1. Unlock the main branch
* Go to the [branch protection rules for the `main` branch](https://github.com/github/vscode-codeql/settings/branch_protection_rules/16447115)
* Deselect "Lock branch"
* Click "Save changes"
1. Merge the release PR into `main`.
- If there are conflicts in the changelog, make sure to place any new changelog entries at the top, above the section for the current release, as these new entries are not part of the current release and should be placed in the "unreleased" section.
- The release PR must be merged before pushing the tag to ensure that we always release a commit that is present on the `main` branch. It's not required that the commit is the head of the `main` branch, but there should be no chance of a future release accidentally not including changes from this release.
1. Push the new tag up:
a. If you're using a fork of the repo:
```bash
git push upstream refs/tags/v1.3.6
```
b. If you're working straight in this repo:
```bash
git push origin refs/tags/v1.3.6
```
This will trigger [a release build](https://github.com/github/vscode-codeql/releases) on Actions.
* **IMPORTANT** Make sure you are on the `main` branch and your local checkout is fully updated when you add the tag.
* If you accidentally add the tag to the wrong ref, you can just force push it to the right one later.
1. Monitor the status of the release build in the `Release` workflow in the Actions tab.
* DO NOT approve the "publish" stages of the workflow yet.
1. Find the [Release](https://github.com/github/vscode-codeql/actions?query=workflow%3ARelease) workflow run that was just triggered by pushing the tag, and monitor the status of the release build.
- DO NOT approve the "publish" stages of the workflow yet.
1. Download the VSIX from the draft GitHub release at the top of [the releases page](https://github.com/github/vscode-codeql/releases) that is created when the release build finishes.
1. Unzip the `.vsix` and inspect its `package.json` to make sure the version is what you expect,
or look at the source if there's any doubt the right code is being shipped.
1. Install the `.vsix` file into your vscode IDE and ensure the extension can load properly. Run a single command (like run query, or add database).
1. Go to the actions tab of the vscode-codeql repository and select the [Release workflow](https://github.com/github/vscode-codeql/actions?query=workflow%3ARelease).
* If there is an authentication failure when publishing, be sure to check that the authentication keys haven't expired. See below.
1. Approve the deployments of the correct Release workflow. This will automatically publish to Open VSX and VS Code Marketplace.
1. Go to the draft GitHub release in [the releases tab of the repository](https://github.com/github/vscode-codeql/releases), click 'Edit', add some summary description, and publish it.
1. Confirm the new release is marked as the latest release at <https://github.com/github/vscode-codeql/releases>.
1. Approve the deployments of the [Release](https://github.com/github/vscode-codeql/actions?query=workflow%3ARelease) workflow run. This will automatically publish to Open VSX and VS Code Marketplace.
- If there is an authentication failure when publishing, be sure to check that the authentication keys haven't expired. See below.
1. Go to the draft GitHub release in [the releases page](https://github.com/github/vscode-codeql/releases), click 'Edit', add some summary description, and publish it.
1. Confirm the new release is marked as the latest release.
1. If documentation changes need to be published, notify documentation team that release has been made.
1. Review and merge the version bump PR that is automatically created by Actions.
1. Review and merge the version bump PR that is automatically created by the Release workflow.
## Secrets and authentication for publishing
Repository administrators, will need to manage the authentication keys for publishing to the VS Code marketplace and Open VSX. Each requires an authentication token. The VS Code marketplace token expires yearly.
Repository administrators, will need to manage the authentication keys for publishing to the VS Code marketplace and Open VSX. Each requires an authentication token.
To regenerate the Open VSX token:
@@ -87,4 +70,4 @@ To regenerate the Open VSX token:
1. Go to the [Access Tokens](https://open-vsx.org/user-settings/tokens) page and generate a new token.
1. Update the secret in the `publish-open-vsx` environment in the project settings.
To regenerate the VSCode Marketplace token, please see our internal documentation. Note that Azure DevOps PATs expire every 90 days and must be regenerated.
To regenerate the VSCode Marketplace token, please see our internal documentation. Note that Azure DevOps PATs expire every 7 days and must be regenerated.

View File

@@ -53,18 +53,20 @@ choose to go through some of the Optional Test Cases.
#### Test case 3: Running a non-problem query and viewing results
1. Open the [cpp FunLinesOfCode query](https://github.com/github/codeql/blob/main/cpp/ql/src/Metrics/Functions/FunLinesOfCode.ql).
1. Open the [cpp HubClasses query](https://github.com/github/codeql/blob/main/cpp/ql/src/Architecture/General%20Class-Level%20Information/HubClasses.ql).
2. Select the `google/brotli` database (or download it if you don't have one already)
3. Run a local query.
4. Once the query completes:
- Check that the `#select` result set is shown
- Check that the results table is rendered
- Check that result locations can be clicked on
#### Test case 4: Can use AST viewer
1. Click on any code location from a previous query to open a source file from a database
2. Open the AST viewing panel and click "View AST"
3. Once the AST is computed:
2. Select the highlighted code in the source file
3. Open the AST viewing panel and click "View AST"
4. Once the AST is computed:
- Check that it can be navigated
### MRVA
@@ -143,6 +145,48 @@ Run one of the above MRVAs, but cancel it from within VS Code:
- Check that the workflow run is also canceled.
- Check that any available results are visible in VS Code.
#### Test Case 6: Using model packs in MRVA
1. Create a model pack with mock data
1. Create a new directory `test-model-pack`
2. Create a `qlpack.yml` file in that directory with the following contents:
```yaml
name: github/test-model-pack
version: 0.0.0
library: true
extensionTargets:
codeql/python-all: '*'
dataExtensions:
- extension.yml
```
3. Create an `extension.yml` in the same directory with the following contents:
```yaml
extensions:
- addsTo:
pack: codeql/python-all
extensible: sinkModel
data:
- ["vscode-codeql","Member[initialize].Argument[0]","code-injection"]
```
2. In a Python query pack, create the following query (e.g. `sinks.ql`):
```ql
import python
import semmle.python.frameworks.data.internal.ApiGraphModelsExtensions
from string path, string kind
where sinkModel("vscode-codeql", path, kind, _)
select path, kind
```
3. Run a MRVA against a Python repository (e.g. `psf/requests`) with this query.
4. Check that the results view contains 1 result with the values corresponding to the `extension.yml` file:
![Model packs results table for `psf/requests`](images/model-pack-results-table.png)
### CodeQL Model Editor
#### Test Case 1: Opening the model editor
@@ -151,33 +195,48 @@ Run one of the above MRVAs, but cancel it from within VS Code:
2. Open the Model Editor with the "CodeQL: Open CodeQL Model Editor" command from the command palette.
- Check that the editor loads and shows methods to model.
- Check that methods are grouped per library (e.g. `rocksdbjni@7.7.3` or `asm@6.0`)
- Check that the "Open database" link works.
- Check that the "Open source" link works (if you have the database source).
- Check that the 'View' button works and the Method Usage panel highlight the correct method and usage
- Check that the Method Modeling panel shows the correct method and modeling state
#### Test Case 2: Model methods
1. Expand one of the libraries.
- Change the model type and check that the other dropdowns change.
- Check that the method modeling panel updates accordingly
2. Save the modeled methods.
3. Click "Open extension pack"
- Check that the file explorer opens a directory with a "models" directory
4. Open the ".model.yml" file corresponding to the library that was changed.
- Check that the file contrains the entries that was modeled.
- Check that the file contains entries for the methods that were modeled.
#### Test Case 3: Model with AI
#### Test Case 3: Model as dependency
Note that this test requires the feature flag: `codeQL.model.llmGeneration`
1. Click "Model with AI".
- Check that rows change to "Thinking".
- Check that results come back and rows get filled out.
#### Test Case 4: Model as dependency
Note that this test requires the feature flag: `codeQL.model.flowGeneration`
1. Click "Model as dependency"
- Check that grouping are now per package (e.g. `com.alipay.sofa.rraft.option` or `com.google.protobuf`)
2. Click "Generate".
- Check that rows are filled out.
### GitHub database download
#### Test case 1: Download a database
Open a clone of the [`github/codeql`](https://github.com/github/codeql) repository as a folder.
1. Wait a few seconds until the CodeQL extension is fully initialized.
- Check that the following prompt appears:
![database-download-prompt](images/github-database-download-prompt.png)
- If the prompt does not appear, ensure that the `codeQL.githubDatabase.download` setting is not set in workspace or user settings.
2. Click "Download".
3. Select the "C#" and "JavaScript" databases.
- Check that there are separate notifications for both downloads.
- Check that both databases are added when the downloads are complete.
### General
#### Test case 1: Change to a different colour theme
@@ -187,9 +246,28 @@ Are there any components that are not showing up?
## Optional Test Cases
These are mostly aimed at MRVA, but some of them are also applicable to non-MRVA queries.
### Modeling Flow
### Selecting repositories to run on
1. Check that a method can have multiple models:
- Add a couple of new models for one method in the model editor
- Save and check that the modeling file (use the 'open extension pack' button to open it) shows multiple methods
- Check that the Method Modeling Panel shows the correct multiple models
- Check that you can browse through different models in the Method Modeling Panel
- Check that a 'duplicated classification' error appears in both model editor and modeling panel when a duplicate modeling occurs
- Check that a 'conflicting classification' error appears when a neutral model type is paired with a model of the same kind
- Check that clicking on the error highlights the correct modeling in both the editor and the modeling panel
2. Check the Method Usage Panel
- Check that the Method Usage Panel opens and jumps to the correct usage when clicking on 'View' in the model editor
- Check that the first and following usages are opening when clicking on a usage
- Check that the usage icon color turns green when saving a newly modeled method
- Check that the usage icon color turns red when saving a newly unmodeld method
3. Check the Method Modeling Panel
- Check that the 'Start modeling' button opens a new model editor
- Check that it refreshes the blank state when a model editor is opened/closed
- Check that when modeling in the editor the modeling panel updates accordingly
- Check that when modeling in the modeling panel the model editor updates accordingly
### Selecting MRVA repositories to run on
#### Test case 1: Running a query on a single repository
@@ -219,7 +297,7 @@ These are mostly aimed at MRVA, but some of them are also applicable to non-MRVA
4. The org contains private repositories that are inaccessible
2. The org does not exist
### Using different types of controller repos
### Using different types of controller repos for MRVA
#### Test case 1: Running a query when the controller repository is public

View File

@@ -2,14 +2,14 @@
We have several types of tests:
* Unit tests: these live in the `tests/unit-tests/` directory
* View tests: these live in `src/view/variant-analysis/__tests__/`
* VSCode integration tests:
* `test/vscode-tests/activated-extension` tests: These are intended to cover functionality that require the full extension to be activated but don't require the CLI. This suite is not run against multiple versions of the CLI in CI.
* `test/vscode-tests/no-workspace` tests: These are intended to cover functionality around not having a workspace. The extension is not activated in these tests.
* `test/vscode-tests/minimal-workspace` tests: These are intended to cover functionality that need a workspace but don't require the full extension to be activated.
* CLI integration tests: these live in `test/vscode-tests/cli-integration`
* These tests are intended to cover functionality that is related to the integration between the CodeQL CLI and the extension. These tests are run against each supported versions of the CLI in CI.
- Unit tests: these live in the `tests/unit-tests/` directory
- View tests: these live in `src/view/variant-analysis/__tests__/`
- VSCode integration tests:
- `test/vscode-tests/activated-extension` tests: These are intended to cover functionality that require the full extension to be activated but don't require the CLI. This suite is not run against multiple versions of the CLI in CI.
- `test/vscode-tests/no-workspace` tests: These are intended to cover functionality around not having a workspace. The extension is not activated in these tests.
- `test/vscode-tests/minimal-workspace` tests: These are intended to cover functionality that need a workspace but don't require the full extension to be activated.
- CLI integration tests: these live in `test/vscode-tests/cli-integration`
- These tests are intended to cover functionality that is related to the integration between the CodeQL CLI and the extension. These tests are run against each supported versions of the CLI in CI.
The CLI integration tests require an instance of the CodeQL CLI to run so they will require some extra setup steps. When adding new tests to our test suite, please be mindful of whether they need to be in the cli-integration folder. If the tests don't depend on the CLI, they are better suited to being a VSCode integration test.
@@ -26,9 +26,9 @@ Pre-requisites:
Then, from the `extensions/ql-vscode` directory, use the appropriate command to run the tests:
* Unit tests: `npm run test:unit`
* View Tests: `npm test:view`
* VSCode integration tests: `npm run test:vscode-integration`
- Unit tests: `npm run test:unit`
- View Tests: `npm run test:view`
- VSCode integration tests: `npm run test:vscode-integration`
#### Running CLI integration tests from the terminal
@@ -48,9 +48,9 @@ Alternatively, you can run the tests inside of VSCode. There are several VSCode
You will need to run tests using a task from inside of VS Code, under the "Run and Debug" view:
* Unit tests: run the _Launch Unit Tests - React_ task
* View Tests: run the _Launch Unit Tests_ task
* VSCode integration tests: run the _Launch Unit Tests - No Workspace_ and _Launch Unit Tests - Minimal Workspace_ tasks
- Unit tests: run the _Launch Unit Tests_ task
- View Tests: run the _Launch Unit Tests - React_ task
- VSCode integration tests: run the _Launch Unit Tests - No Workspace_ and _Launch Unit Tests - Minimal Workspace_ tasks
#### Running CLI integration tests from VSCode

View File

@@ -24,10 +24,18 @@ Also consider what percentage of our users are using each VS Code version. This
## How to update the VS Code version
To provide a good experience to users, it is recommented to update the `MIN_VERSION` in `extension.ts` first and release, and then update the `vscode` version in `package.json` and release again. By stagging this update across two releases it gives users on older VS Code versions a chance to upgrade before it silently refuses to upgrade them.
To provide a good experience to users, it is recommented to update the `MIN_VERSION` in `extension.ts` first and release, and then update the `vscode` version in `package.json` and release again.
By staggering this update across two releases it gives users on older VS Code versions a chance to upgrade before it silently refuses to upgrade them.
After updating the minimum version in `package.json`, make sure to also run the following command to update any generated
files dependent on this version:
```bash
npm run generate
```
## VS Code version used in tests
Our integration tests are currently pinned to use an older version of VS Code due to <https://github.com/github/vscode-codeql/issues/2402>.
This version is specified in [`jest-runner-vscode.config.base.js`](https://github.com/github/vscode-codeql/blob/d93f2b67c84e79737b0ce4bb74e31558b5f5166e/extensions/ql-vscode/test/vscode-tests/jest-runner-vscode.config.base.js#L17).
Until this is resolved this will limit us updating our minimum supported version of VS Code.
The integration tests use the latest stable version of VS Code. This is specified in
the [`test/vscode-tests/jest-runner-vscode.config.base.js`](https://github.com/github/vscode-codeql/blob/main/extensions/ql-vscode/test/vscode-tests/jest-runner-vscode.config.base.js#L15)
file. This shouldn't need to be updated unless there is a breaking change in VS Code that prevents the tests from running.

View File

@@ -1,16 +0,0 @@
{
"sourceType": "unambiguous",
"presets": [
[
"@babel/preset-env",
{
"targets": {
"chrome": 100
}
}
],
"@babel/preset-typescript",
"@babel/preset-react"
],
"plugins": []
}

View File

@@ -21,16 +21,17 @@ const baseConfig = {
},
extends: [
"eslint:recommended",
"plugin:github/react",
"plugin:github/recommended",
"plugin:github/typescript",
"plugin:jest-dom/recommended",
"plugin:prettier/recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/recommended",
"plugin:import/typescript",
"plugin:deprecation/recommended",
],
rules: {
"@typescript-eslint/await-thenable": "error",
"@typescript-eslint/no-use-before-define": 0,
"@typescript-eslint/no-unused-vars": [
"warn",
{
@@ -39,38 +40,37 @@ const baseConfig = {
ignoreRestSiblings: false,
},
],
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-non-null-assertion": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-floating-promises": ["error", { ignoreVoid: true }],
"@typescript-eslint/no-invalid-this": "off",
"@typescript-eslint/no-shadow": "off",
"prefer-const": ["warn", { destructuring: "all" }],
"@typescript-eslint/no-throw-literal": "error",
"no-useless-escape": 0,
camelcase: "off",
"@typescript-eslint/consistent-type-imports": "error",
"import/consistent-type-specifier-style": ["error", "prefer-top-level"],
curly: ["error", "all"],
"escompat/no-regexp-lookbehind": "off",
"etc/no-implicit-any-catch": "error",
"filenames/match-regex": "off",
"filenames/match-regexp": "off",
"func-style": "off",
"i18n-text/no-en": "off",
"import/named": "off",
"import/no-dynamic-require": "off",
"import/no-dynamic-required": "off",
"import/no-anonymous-default-export": "off",
"import/no-commonjs": "off",
"import/no-mutable-exports": "off",
"import/no-namespace": "off",
"import/no-unresolved": "off",
"import/no-webpack-loader-syntax": "off",
"no-invalid-this": "off",
"no-fallthrough": "off",
"no-console": "off",
"no-shadow": "off",
"github/array-foreach": "off",
"github/no-then": "off",
"react/jsx-key": ["error", { checkFragmentShorthand: true }],
"import/no-cycle": "error",
// Never allow extensions in import paths, except for JSON files where they are required.
"import/extensions": ["error", "never", { json: "always" }],
},
settings: {
"import/resolver": {
typescript: true,
node: true,
},
"import/extensions": [".js", ".jsx", ".ts", ".tsx", ".json"],
// vscode and sarif don't exist on-disk, but only provide types.
"import/core-modules": ["vscode", "sarif"],
},
};
@@ -86,8 +86,10 @@ module.exports = {
extends: [
...baseConfig.extends,
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:react-hooks/recommended",
"plugin:storybook/recommended",
"plugin:github/react",
],
rules: {
...baseConfig.rules,
@@ -106,7 +108,9 @@ module.exports = {
extends: [
...baseConfig.extends,
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:react-hooks/recommended",
"plugin:github/react",
],
rules: {
...baseConfig.rules,
@@ -117,15 +121,6 @@ module.exports = {
},
},
},
{
files: ["test/**/*"],
parserOptions: {
project: resolve(__dirname, "test/tsconfig.json"),
},
env: {
jest: true,
},
},
{
files: ["test/vscode-tests/**/*"],
parserOptions: {
@@ -136,6 +131,8 @@ module.exports = {
},
rules: {
...baseConfig.rules,
// We want to allow mocking of functions in modules, so we need to allow namespace imports.
"import/no-namespace": "off",
"@typescript-eslint/ban-types": [
"error",
{
@@ -150,6 +147,18 @@ module.exports = {
],
},
},
{
files: ["test/**/*"],
parserOptions: {
project: resolve(__dirname, "test/tsconfig.json"),
},
env: {
jest: true,
},
rules: {
"@typescript-eslint/no-explicit-any": "off",
},
},
{
files: [
".eslintrc.js",
@@ -170,5 +179,17 @@ module.exports = {
"@typescript-eslint/no-var-requires": "off",
},
},
{
files: [".storybook/**/*.tsx"],
parserOptions: {
project: resolve(__dirname, ".storybook/tsconfig.json"),
},
rules: {
...baseConfig.rules,
// Storybook doesn't use the automatic JSX runtime in the addon yet, so we need to allow
// `React` to be imported.
"import/no-namespace": ["error", { ignore: ["react"] }],
},
},
],
};

View File

@@ -1 +1 @@
v16.17.1
v20.9.0

View File

@@ -1,15 +1,16 @@
import type { StorybookConfig } from "@storybook/react-webpack5";
import type { StorybookConfig } from "@storybook/react-vite";
const config: StorybookConfig = {
stories: ["../src/**/*.stories.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|ts|tsx)"],
addons: [
"@storybook/addon-links",
"@storybook/addon-essentials",
"@storybook/addon-interactions",
"@storybook/addon-a11y",
"./vscode-theme-addon/preset.ts",
],
framework: {
name: "@storybook/react-webpack5",
name: "@storybook/react-vite",
options: {},
},
docs: {

View File

@@ -1,4 +1,4 @@
import { Preview } from "@storybook/react";
import type { Preview } from "@storybook/react";
import { themes } from "@storybook/theming";
import { action } from "@storybook/addon-actions";

View File

@@ -1,13 +1,14 @@
import * as React from "react";
import { FunctionComponent, useCallback } from "react";
import type { FunctionComponent } from "react";
import { useCallback } from "react";
import { useGlobals } from "@storybook/manager-api";
import {
IconButton,
Icons,
TooltipLinkList,
WithTooltip,
} from "@storybook/components";
import { DashboardIcon } from "@storybook/icons";
import { themeNames, VSCodeTheme } from "./theme";
@@ -52,7 +53,7 @@ export const ThemeSelector: FunctionComponent = () => {
title="Change the theme of the preview"
active={vscodeTheme !== VSCodeTheme.Dark}
>
<Icons icon="dashboard" />
<DashboardIcon />
</IconButton>
</WithTooltip>
);

View File

@@ -1,5 +1,6 @@
import * as React from "react";
import { addons, types } from "@storybook/manager-api";
import { addons } from "@storybook/manager-api";
import { Addon_TypesEnum } from "@storybook/types";
import { ThemeSelector } from "./ThemeSelector";
const ADDON_ID = "vscode-theme-addon";
@@ -7,7 +8,7 @@ const ADDON_ID = "vscode-theme-addon";
addons.register(ADDON_ID, () => {
addons.add(ADDON_ID, {
title: "VSCode Themes",
type: types.TOOL,
type: Addon_TypesEnum.TOOL,
match: ({ viewMode }) => !!(viewMode && viewMode.match(/^(story|docs)$/)),
render: () => <ThemeSelector />,
});

View File

@@ -1,3 +1,5 @@
/// <reference types="vite/client" />
import { useEffect } from "react";
import type {
PartialStoryFn as StoryFunction,
@@ -6,31 +8,20 @@ import type {
import { VSCodeTheme } from "./theme";
import darkThemeStyle from "../../src/stories/vscode-theme-dark.css?url";
import lightThemeStyle from "../../src/stories/vscode-theme-light.css?url";
import lightHighContrastThemeStyle from "../../src/stories/vscode-theme-light-high-contrast.css?url";
import darkHighContrastThemeStyle from "../../src/stories/vscode-theme-dark-high-contrast.css?url";
import githubLightDefaultThemeStyle from "../../src/stories/vscode-theme-github-light-default.css?url";
import githubDarkDefaultThemeStyle from "../../src/stories/vscode-theme-github-dark-default.css?url";
const themeFiles: { [key in VSCodeTheme]: string } = {
[VSCodeTheme.Dark]:
// eslint-disable-next-line @typescript-eslint/no-var-requires
require("!file-loader?modules!../../src/stories/vscode-theme-dark.css")
.default,
[VSCodeTheme.Light]:
// eslint-disable-next-line @typescript-eslint/no-var-requires
require("!file-loader?modules!../../src/stories/vscode-theme-light.css")
.default,
[VSCodeTheme.LightHighContrast]:
// eslint-disable-next-line @typescript-eslint/no-var-requires
require("!file-loader?modules!../../src/stories/vscode-theme-light-high-contrast.css")
.default,
[VSCodeTheme.DarkHighContrast]:
// eslint-disable-next-line @typescript-eslint/no-var-requires
require("!file-loader?modules!../../src/stories/vscode-theme-dark-high-contrast.css")
.default,
[VSCodeTheme.GitHubLightDefault]:
// eslint-disable-next-line @typescript-eslint/no-var-requires
require("!file-loader?modules!../../src/stories/vscode-theme-github-light-default.css")
.default,
[VSCodeTheme.GitHubDarkDefault]:
// eslint-disable-next-line @typescript-eslint/no-var-requires
require("!file-loader?modules!../../src/stories/vscode-theme-github-dark-default.css")
.default,
[VSCodeTheme.Dark]: darkThemeStyle,
[VSCodeTheme.Light]: lightThemeStyle,
[VSCodeTheme.LightHighContrast]: lightHighContrastThemeStyle,
[VSCodeTheme.DarkHighContrast]: darkHighContrastThemeStyle,
[VSCodeTheme.GitHubLightDefault]: githubLightDefaultThemeStyle,
[VSCodeTheme.GitHubDarkDefault]: githubDarkDefaultThemeStyle,
};
export const withTheme = (StoryFn: StoryFunction, context: StoryContext) => {

View File

@@ -1,5 +1,108 @@
# CodeQL for Visual Studio Code: Changelog
## [UNRELEASED]
## 1.13.1 - 29 May 2024
- Fix a bug when re-importing test databases that erroneously showed old source code. [#3616](https://github.com/github/vscode-codeql/pull/3616)
- Update the progress window with details on potentially long-running post-processing steps after running a query. [#3622](https://github.com/github/vscode-codeql/pull/3622)
## 1.13.0 - 1 May 2024
- Add Ruby support to the CodeQL Model Editor. [#3584](https://github.com/github/vscode-codeql/pull/3584)
- Remove support for CodeQL CLI versions older than 2.14.6. [#3562](https://github.com/github/vscode-codeql/pull/3562)
## 1.12.5 - 9 April 2024
- Add new supported source and sink kinds in the CodeQL Model Editor [#3511](https://github.com/github/vscode-codeql/pull/3511)
- Fix a bug where the test explorer wouldn't display certain tests. [#3527](https://github.com/github/vscode-codeql/pull/3527)
- The "model dependency" operation in the model editor can now be cancelled. [#3517](https://github.com/github/vscode-codeql/pull/3517)
## 1.12.4 - 20 March 2024
- Don't show notification after local query cancellation. [#3489](https://github.com/github/vscode-codeql/pull/3489)
- Databases created from [CodeQL test cases](https://docs.github.com/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-custom-queries) are now copied into a shared VS Code storage location. This avoids a bug where re-running test cases would fail if the test's database is already imported into the workspace. [#3433](https://github.com/github/vscode-codeql/pull/3433)
## 1.12.3 - 29 February 2024
- Update variant analysis view to show when cancelation is in progress. [#3405](https://github.com/github/vscode-codeql/pull/3405)
- Remove support for CodeQL CLI versions older than 2.13.5. [#3371](https://github.com/github/vscode-codeql/pull/3371)
- Add a timeout to downloading databases and the CodeQL CLI. These can be changed using the `codeQL.addingDatabases.downloadTimeout` and `codeQL.cli.downloadTimeout` settings respectively. [#3373](https://github.com/github/vscode-codeql/pull/3373)
- When downloading a CodeQL database through the model editor, only use credentials when in canary mode. [#3440](https://github.com/github/vscode-codeql/pull/3440)
## 1.12.2 - 14 February 2024
- Stop allowing running variant analyses with a query outside of the workspace. [#3302](https://github.com/github/vscode-codeql/pull/3302)
## 1.12.1 - 31 January 2024
- Enable collection of telemetry for the `codeQL.addingDatabases.addDatabaseSourceToWorkspace` setting. [#3238](https://github.com/github/vscode-codeql/pull/3238)
- In the CodeQL model editor, you can now select individual method rows and save changes to only the selected rows, instead of having to save the entire library model. [#3156](https://github.com/github/vscode-codeql/pull/3156)
- If you run a query without having selected a database, we show a more intuitive prompt to help you select a database. [#3214](https://github.com/github/vscode-codeql/pull/3214)
- Error messages returned from the CodeQL CLI are now less verbose and more user-friendly. [#3259](https://github.com/github/vscode-codeql/pull/3259)
- The UI for browsing and running CodeQL tests has moved to use VS Code's built-in test UI. This makes the CodeQL test UI more consistent with the test UIs for other languages.
This change means that this extension no longer depends on the "Test Explorer UI" and "Test Adapter Converter" extensions. You can uninstall those two extensions if they are
not being used by any other extensions you may have installed. [#3232](https://github.com/github/vscode-codeql/pull/3232)
## 1.12.0 - 11 January 2024
- Add a prompt for downloading a GitHub database when opening a GitHub repository. [#3138](https://github.com/github/vscode-codeql/pull/3138)
- Avoid showing a popup when hovering over source elements in database source files. [#3125](https://github.com/github/vscode-codeql/pull/3125)
- Add comparison of alerts when comparing query results. This allows viewing path explanations for differences in alerts. [#3113](https://github.com/github/vscode-codeql/pull/3113)
- Fix a bug where the CodeQL CLI and variant analysis results were corrupted after extraction in VS Code Insiders. [#3151](https://github.com/github/vscode-codeql/pull/3151) & [#3152](https://github.com/github/vscode-codeql/pull/3152)
- Show progress when extracting the CodeQL CLI distribution during installation. [#3157](https://github.com/github/vscode-codeql/pull/3157)
- Add option to cancel opening the model editor. [#3189](https://github.com/github/vscode-codeql/pull/3189)
## 1.11.0 - 13 December 2023
- Add a new method modeling panel to classify methods as sources/sinks/summaries while in the context of the source code. [#3128](https://github.com/github/vscode-codeql/pull/3128)
- Adds the ability to add multiple classifications per method in the CodeQL Model Editor. [#3128](https://github.com/github/vscode-codeql/pull/3128)
- Switch add and delete button positions in the CodeQL Model Editor. [#3123](https://github.com/github/vscode-codeql/pull/3123)
- Add a prompt to the "Quick query" command to encourage users in single-folder workspaces to use "Create query" instead. [#3082](https://github.com/github/vscode-codeql/pull/3082)
- Remove support for CodeQL CLI versions older than 2.11.6. [#3087](https://github.com/github/vscode-codeql/pull/3087)
- Preserve focus on results viewer when showing a location in a file. [#3088](https://github.com/github/vscode-codeql/pull/3088)
- The `dataflowtracking` and `tainttracking` snippets expand to the new module-based interface. [#3091](https://github.com/github/vscode-codeql/pull/3091)
- The compare view will now show a loading message while the results are loading. [#3107](https://github.com/github/vscode-codeql/pull/3107)
- Make top-banner of the model editor sticky [#3120](https://github.com/github/vscode-codeql/pull/3120)
## 1.10.0 - 16 November 2023
- Add new CodeQL views for managing databases and queries:
1. A queries panel that shows all queries in your workspace. It allows you to view, create, and run queries in one place.
2. A language selector, which allows you to quickly filter databases and queries by language.
For more information, see the [documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/analyzing-your-projects/#filtering-databases-and-queries-by-language).
- When adding a CodeQL database, we no longer add the database source folder to the workspace by default (since this caused bugs in single-folder workspaces). [#3047](https://github.com/github/vscode-codeql/pull/3047)
- You can manually add individual database source folders to the workspace with the "Add Database Source to Workspace" right-click command in the databases view.
- To restore the old behavior of adding all database source folders by default, set the `codeQL.addingDatabases.addDatabaseSourceToWorkspace` setting to `true`.
- Rename the `codeQL.databaseDownload.allowHttp` setting to `codeQL.addingDatabases.allowHttp`, so that database-related settings are grouped together in the Settings UI. [#3047](https://github.com/github/vscode-codeql/pull/3047) & [#3069](https://github.com/github/vscode-codeql/pull/3069)
- The "Sort by Language" action in the databases view now sorts by name within each language. [#3055](https://github.com/github/vscode-codeql/pull/3055)
## 1.9.4 - 6 November 2023
No user facing changes.
## 1.9.3 - 26 October 2023
- Sorted result set filenames now include a hash of the result set name instead of the full name. [#2955](https://github.com/github/vscode-codeql/pull/2955)
- The "Install Pack Dependencies" will now only list CodeQL packs located in the workspace. [#2960](https://github.com/github/vscode-codeql/pull/2960)
- Fix a bug where the "View Query Log" action for a query history item was not working. [#2984](https://github.com/github/vscode-codeql/pull/2984)
- Add a command to sort items in the databases view by language. [#2993](https://github.com/github/vscode-codeql/pull/2993)
- Fix not being able to open the results directory or evaluator log for a cancelled local query run. [#2996](https://github.com/github/vscode-codeql/pull/2996)
- Fix empty row in alert path when the SARIF location was empty. [#3018](https://github.com/github/vscode-codeql/pull/3018)
## 1.9.2 - 12 October 2023
- Fix a bug where the query to Find Definitions in database source files would not be cancelled appropriately. [#2885](https://github.com/github/vscode-codeql/pull/2885)
- It is now possible to show the language of query history items using the `%l` specifier in the `codeQL.queryHistory.format` setting. Note that this only works for queries run after this upgrade, and older items will show `unknown` as a language. [#2892](https://github.com/github/vscode-codeql/pull/2892)
- Increase the required version of VS Code to 1.82.0. [#2877](https://github.com/github/vscode-codeql/pull/2877)
- Fix a bug where the query server was restarted twice after configuration changes. [#2884](https://github.com/github/vscode-codeql/pull/2884).
- Add support for the `telemetry.telemetryLevel` setting. For more information, see the [telemetry documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/about-telemetry-in-codeql-for-visual-studio-code). [#2824](https://github.com/github/vscode-codeql/pull/2824).
- Add a "CodeQL: Trim Cache" command that clears the evaluation cache of a database except for predicates annotated with the `cached` keyword. Its purpose is to get accurate performance measurements when tuning the final stage of a query, like a data-flow configuration. This is equivalent to the `codeql database cleanup --mode=normal` CLI command. In contrast, the existing "CodeQL: Clear Cache" command clears the entire cache. CodeQL CLI v2.15.1 or later is required. [#2928](https://github.com/github/vscode-codeql/pull/2928)
- Fix syntax highlighting directly after import statements with instantiation arguments. [#2792](https://github.com/github/vscode-codeql/pull/2792)
- The `debug.saveBeforeStart` setting is now respected when running variant analyses. [#2950](https://github.com/github/vscode-codeql/pull/2950)
- The 'open database' button of the model editor was renamed to 'open source'. Also, it's now only available if the source archive is available as a workspace folder. [#2945](https://github.com/github/vscode-codeql/pull/2945)
## 1.9.1 - 29 September 2023
- Add warning when using a VS Code version older than 1.82.0. [#2854](https://github.com/github/vscode-codeql/pull/2854)
@@ -9,7 +112,7 @@
## 1.9.0 - 19 September 2023
- Release the [CodeQL model editor](https://codeql.github.com/docs/codeql/codeql-for-visual-studio-code/using-the-codeql-model-editor) to create CodeQL model packs for Java frameworks. Open the editor using the "CodeQL: Open CodeQL Model Editor (Beta)" command. [#2823](https://github.com/github/vscode-codeql/pull/2823)
- Release the [CodeQL model editor](https://codeql.github.com/docs/codeql-for-visual-studio-code/using-the-codeql-model-editor/) to create CodeQL model packs for Java frameworks. Open the editor using the "CodeQL: Open CodeQL Model Editor (Beta)" command. [#2823](https://github.com/github/vscode-codeql/pull/2823)
## 1.8.12 - 11 September 2023
@@ -401,7 +504,7 @@ No user facing changes.
- Allow setting `codeQL.runningQueries.numberOfThreads` and `codeQL.runningTests.numberOfThreads` to 0, (which is interpreted as 'use one thread per core on the machine').
- Clear the problems view of all CodeQL query results when a database is removed.
- Add a `View DIL` command on query history items. This opens a text editor containing the Datalog Intermediary Language representation of the compiled query.
- Remove feature flag for the AST Viewer. For more information on how to use the AST Viewer, [see the documentation](https://help.semmle.com/codeql/codeql-for-vscode/procedures/exploring-the-structure-of-your-source-code.html).
- Remove feature flag for the AST Viewer. For more information on how to use the AST Viewer, [see the documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/exploring-the-structure-of-your-source-code/).
- The `codeQL.runningTests.numberOfThreads` setting is now used correctly when running tests.
- Alter structure of the _Test Explorer_ tree. It now follows the structure of the filesystem instead of the qlpacks.
- Ensure output of CodeQL test runs includes compilation error messages and test failure messages.

View File

@@ -9,16 +9,16 @@ This project is an extension for Visual Studio Code that adds rich language supp
To see what has changed in the last few versions of the extension, see the [Changelog](https://github.com/github/vscode-codeql/blob/main/extensions/ql-vscode/CHANGELOG.md).
You can also read full documentation for the extension on the [GitHub documentation website](https://docs.github.com/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension).
## Quick start overview
The information in this `README` file describes the quickest way to start using CodeQL.
For information about other configurations, see the separate [CodeQL help](https://codeql.github.com/docs/codeql-for-visual-studio-code/).
For information about other configurations, see "[Using the advanced functionality of the CodeQL for VS Code extension](https://docs.github.com/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension)" in the GitHub documentation.
### Quick start: Installing and configuring the extension
1. [Install the extension](#installing-the-extension).
*Note: vscode-codeql installs the following dependencies for required functionality: [Test Adapter Converter](https://marketplace.visualstudio.com/items?itemName=ms-vscode.test-adapter-converter), [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer).*
1. [Check access to the CodeQL CLI](#checking-access-to-the-codeql-cli).
1. [Clone the CodeQL starter workspace](#cloning-the-codeql-starter-workspace).
@@ -44,7 +44,7 @@ The CodeQL extension requires a minimum of Visual Studio Code 1.39. Older versio
The extension uses the [CodeQL CLI](https://codeql.github.com/docs/codeql-cli/) to compile and run queries. The extension automatically manages access to the CLI for you by default (recommended). To check for updates to the CodeQL CLI, you can use the **CodeQL: Check for CLI Updates** command.
If you want to override the default behavior and use a CodeQL CLI that's already on your machine, see [Configuring access to the CodeQL CLI](https://codeql.github.com/docs/codeql-for-visual-studio-code/setting-up-codeql-in-visual-studio-code/#configuring-access-to-the-codeql-cli).
If you want to override the default behavior and use a CodeQL CLI that's already on your machine, see "[Configuring access to the CodeQL CLI](https://docs.github.com/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/configuring-access-to-the-codeql-cli)" in the GitHub documentation.
If you have any difficulty with CodeQL CLI access, see the **CodeQL Extension Log** in the **Output** view for any error messages.
@@ -54,7 +54,7 @@ When you're working with CodeQL, you need access to the standard CodeQL librarie
Initially, we recommend that you clone and use the ready-to-use [starter workspace](https://github.com/github/vscode-codeql-starter/).
This includes libraries and queries for the main supported languages, with folders set up ready for your custom queries. After cloning the workspace (use `git clone --recursive`), you can use it in the same way as any other VS Code workspace—with the added advantage that you can easily update the CodeQL libraries.
For information about configuring an existing workspace for CodeQL, [see the documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/setting-up-codeql-in-visual-studio-code/#updating-an-existing-workspace-for-codeql).
For information about configuring an existing workspace for CodeQL, see "[Setting up a CodeQL workspace](https://docs.github.com/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/setting-up-a-codeql-workspace#option-2-updating-an-existing-workspace-for-codeql-advanced)" in the GitHub documentation.
## Upgrading CodeQL standard libraries
@@ -87,7 +87,7 @@ While you can use the [CodeQL CLI to create your own databases](https://codeql.g
1. Select the language for the database you want to download (only required if the project has databases for multiple languages).
1. Once the CodeQL database has been imported, it is displayed in the Databases view.
For more information, see [Choosing a database](https://codeql.github.com/docs/codeql-for-visual-studio-code/analyzing-your-projects/#choosing-a-database) on codeql.github.com.
For more information, see "[Managing CodeQL databases](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/managing-codeql-databases#choosing-a-database-to-analyze)" in the GitHub documentation.
### Running a query
@@ -108,12 +108,12 @@ If you wish to navigate the query results from your keyboard, you can bind short
## What next?
For more information about the CodeQL extension, [see the documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/). Otherwise, you could:
We recommend reading the [full documentation for the extension](https://docs.github.com/code-security/codeql-for-vs-code/) on the GitHub documentation website. You may also find the following resources useful:
- [Create a database for a different codebase](https://codeql.github.com/docs/codeql-cli/creating-codeql-databases/).
- [Try out variant analysis](https://help.semmle.com/QL/learn-ql/ql-training.html).
- [Try out variant analysis](https://docs.github.com/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis).
- [Learn more about CodeQL](https://codeql.github.com/docs/).
- [Read how security researchers use CodeQL to find CVEs](https://securitylab.github.com/research).
- [Read how security researchers use CodeQL to find CVEs](https://github.blog/tag/github-security-lab/).
## License
@@ -121,4 +121,4 @@ The CodeQL extension for Visual Studio Code is [licensed](LICENSE.md) under the
## Data and Telemetry
If you specifically opt-in to permit GitHub to do so, GitHub will collect usage data and metrics for the purposes of helping the core developers to improve the CodeQL extension for VS Code. This data will not be shared with any parties outside of GitHub. IP addresses and installation IDs will be retained for a maximum of 30 days. Anonymous data will be retained for a maximum of 180 days. For more information about telemetry, [see the documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/about-telemetry-in-codeql-for-visual-studio-code).
If you specifically opt-in to permit GitHub to do so, GitHub will collect usage data and metrics for the purposes of helping the core developers to improve the CodeQL extension for VS Code. This data will not be shared with any parties outside of GitHub. IP addresses and installation IDs will be retained for a maximum of 30 days. Anonymous data will be retained for a maximum of 180 days. For more information, see "[Telemetry in CodeQL for Visual Studio Code](https://docs.github.com/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code)" in the GitHub documentation.

View File

@@ -1,5 +1,5 @@
import { src, dest } from "gulp";
// eslint-disable-next-line @typescript-eslint/no-var-requires
// eslint-disable-next-line @typescript-eslint/no-var-requires,import/no-commonjs
const replace = require("gulp-replace");
/** Inject the application insights key into the telemetry file */

View File

@@ -0,0 +1,4 @@
{
"chromiumVersion": "114",
"electronVersion": "25.8.0"
}

View File

@@ -9,7 +9,7 @@ import {
} from "fs-extra";
import { resolve, join } from "path";
import { isDevBuild } from "./dev";
import type * as packageJsonType from "../package.json";
import type packageJsonType from "../package.json";
export interface DeployedPackage {
distPath: string;

View File

@@ -8,9 +8,14 @@ import {
copyWasmFiles,
} from "./typescript";
import { compileTextMateGrammar } from "./textmate";
import { compileView, watchView } from "./webpack";
import { packageExtension } from "./package";
import { injectAppInsightsKey } from "./appInsights";
import {
checkViewTypeScript,
compileViewEsbuild,
watchViewCheckTypeScript,
watchViewEsbuild,
} from "./view";
export const buildWithoutPackage = series(
cleanOutput,
@@ -19,23 +24,33 @@ export const buildWithoutPackage = series(
copyWasmFiles,
checkTypeScript,
compileTextMateGrammar,
compileView,
compileViewEsbuild,
checkViewTypeScript,
),
);
export const watch = parallel(watchEsbuild, watchCheckTypeScript, watchView);
export const watch = parallel(
// Always build first, so that we don't have to run build manually
compileEsbuild,
compileViewEsbuild,
watchEsbuild,
watchCheckTypeScript,
watchViewEsbuild,
watchViewCheckTypeScript,
);
export {
cleanOutput,
compileTextMateGrammar,
watchEsbuild,
watchCheckTypeScript,
watchView,
watchViewEsbuild,
compileEsbuild,
copyWasmFiles,
checkTypeScript,
injectAppInsightsKey,
compileView,
compileViewEsbuild,
checkViewTypeScript,
};
export default series(
buildWithoutPackage,

View File

@@ -0,0 +1,91 @@
/**
* A subset of the standard TextMate grammar that is used by our transformation
* step. For a full JSON schema, see:
* https://github.com/martinring/tmlanguage/blob/478ad124a21933cd4b0b65f1ee7ee18ee1f87473/tmlanguage.json
*/
export interface TextmateGrammar {
patterns: Pattern[];
repository?: Record<string, Pattern>;
}
/**
* The extended TextMate grammar as used by our transformation step. This is a superset of the
* standard TextMate grammar, and includes additional fields that are used by our transformation
* step.
*
* Any comment of the form `(?#ref-id)` in a `match`, `begin`, or `end` property will be replaced
* with the match text of the rule named "ref-id". If the rule named "ref-id" consists of just a
* `patterns` property with a list of `include` directives, the replacement pattern is the
* disjunction of the match patterns of all of the included rules.
*/
export interface ExtendedTextmateGrammar<MatchType = string> {
/**
* This represents the set of regular expression options to apply to all regular
* expressions throughout the file.
*/
regexOptions?: string;
/**
* This element defines a map of macro names to replacement text. When a `match`, `begin`, or
* `end` property has a value that is a single-key map, the value is replaced with the value of the
* macro named by the key, with any use of `(?#)` in the macro text replaced with the text of the
* value of the key, surrounded by a non-capturing group (`(?:)`). For example:
*
* The `beginPattern` and `endPattern` Properties
* A rule can have a `beginPattern` or `endPattern` property whose value is a reference to another
* rule (e.g. `#other-rule`). The `beginPattern` property is replaced as follows:
*
* my-rule:
* beginPattern: '#other-rule'
*
* would be transformed to
*
* my-rule:
* begin: '(?#other-rule)'
* beginCaptures:
* '0':
* patterns:
* - include: '#other-rule'
*
* An `endPattern` property is transformed similary.
*
* macros:
* repeat: '(?#)*'
* repository:
* multi-letter:
* match:
* repeat: '[A-Za-z]'
* name: scope.multi-letter
*
* would be transformed to
*
* repository:
* multi-letter:
* match: '(?:[A-Za-z])*'
* name: scope.multi-letter
*/
macros?: Record<string, string>;
patterns: Array<Pattern<MatchType>>;
repository?: Record<string, Pattern<MatchType>>;
}
export interface Pattern<MatchType = string> {
include?: string;
match?: MatchType;
begin?: MatchType;
end?: MatchType;
while?: MatchType;
captures?: Record<string, PatternCapture>;
beginCaptures?: Record<string, PatternCapture>;
endCaptures?: Record<string, PatternCapture>;
patterns?: Array<Pattern<MatchType>>;
beginPattern?: string;
endPattern?: string;
}
export interface PatternCapture {
name?: string;
patterns?: Pattern[];
}
export type ExtendedMatchType = string | Record<string, string>;

View File

@@ -2,7 +2,13 @@ import { dest, src } from "gulp";
import { load } from "js-yaml";
import { obj } from "through2";
import PluginError from "plugin-error";
import * as Vinyl from "vinyl";
import type Vinyl from "vinyl";
import type {
ExtendedMatchType,
ExtendedTextmateGrammar,
Pattern,
TextmateGrammar,
} from "./textmate-grammar";
/**
* Replaces all rule references with the match pattern of the referenced rule.
@@ -34,7 +40,9 @@ function replaceReferencesWithStrings(
* @param yaml The root of the YAML document.
* @returns A map from macro name to replacement text.
*/
function gatherMacros(yaml: any): Map<string, string> {
function gatherMacros<T>(
yaml: ExtendedTextmateGrammar<T>,
): Map<string, string> {
const macros = new Map<string, string>();
for (const key in yaml.macros) {
macros.set(key, yaml.macros[key]);
@@ -51,7 +59,7 @@ function gatherMacros(yaml: any): Map<string, string> {
* @returns The match text for the rule. This is either the value of the rule's `match` property,
* or the disjunction of the match text of all of the other rules `include`d by this rule.
*/
function getNodeMatchText(rule: any): string {
function getNodeMatchText(rule: Pattern): string {
if (rule.match !== undefined) {
// For a match string, just use that string as the replacement.
return rule.match;
@@ -78,7 +86,7 @@ function getNodeMatchText(rule: any): string {
* @returns A map whose keys are the names of rules, and whose values are the corresponding match
* text of each rule.
*/
function gatherMatchTextForRules(yaml: any): Map<string, string> {
function gatherMatchTextForRules(yaml: TextmateGrammar): Map<string, string> {
const replacements = new Map<string, string>();
for (const key in yaml.repository) {
const node = yaml.repository[key];
@@ -94,9 +102,14 @@ function gatherMatchTextForRules(yaml: any): Map<string, string> {
* @param yaml The root of the YAML document.
* @param action Callback to invoke on each rule.
*/
function visitAllRulesInFile(yaml: any, action: (rule: any) => void) {
function visitAllRulesInFile<T>(
yaml: ExtendedTextmateGrammar<T>,
action: (rule: Pattern<T>) => void,
) {
visitAllRulesInRuleMap(yaml.patterns, action);
visitAllRulesInRuleMap(yaml.repository, action);
if (yaml.repository) {
visitAllRulesInRuleMap(Object.values(yaml.repository), action);
}
}
/**
@@ -107,9 +120,11 @@ function visitAllRulesInFile(yaml: any, action: (rule: any) => void) {
* @param ruleMap The map or array of rules to visit.
* @param action Callback to invoke on each rule.
*/
function visitAllRulesInRuleMap(ruleMap: any, action: (rule: any) => void) {
for (const key in ruleMap) {
const rule = ruleMap[key];
function visitAllRulesInRuleMap<T>(
ruleMap: Array<Pattern<T>>,
action: (rule: Pattern<T>) => void,
) {
for (const rule of ruleMap) {
if (typeof rule === "object") {
action(rule);
if (rule.patterns !== undefined) {
@@ -125,16 +140,22 @@ function visitAllRulesInRuleMap(ruleMap: any, action: (rule: any) => void) {
* @param rule The rule whose matches are to be transformed.
* @param action The transformation to make on each match pattern.
*/
function visitAllMatchesInRule(rule: any, action: (match: any) => any) {
function visitAllMatchesInRule<T>(rule: Pattern<T>, action: (match: T) => T) {
for (const key in rule) {
switch (key) {
case "begin":
case "end":
case "match":
case "while":
rule[key] = action(rule[key]);
break;
case "while": {
const ruleElement = rule[key];
if (!ruleElement) {
continue;
}
rule[key] = action(ruleElement);
break;
}
default:
break;
}
@@ -148,14 +169,17 @@ function visitAllMatchesInRule(rule: any, action: (match: any) => any) {
* @param rule Rule to be transformed.
* @param key Base key of the property to be transformed.
*/
function expandPatternMatchProperties(rule: any, key: "begin" | "end") {
const patternKey = `${key}Pattern`;
const capturesKey = `${key}Captures`;
function expandPatternMatchProperties<T>(
rule: Pattern<T>,
key: "begin" | "end",
) {
const patternKey = `${key}Pattern` as const;
const capturesKey = `${key}Captures` as const;
const pattern = rule[patternKey];
if (pattern !== undefined) {
const patterns: string[] = Array.isArray(pattern) ? pattern : [pattern];
rule[key] = patterns.map((p) => `((?${p}))`).join("|");
const captures: { [index: string]: any } = {};
rule[key] = patterns.map((p) => `((?${p}))`).join("|") as T;
const captures: Pattern["captures"] = {};
for (const patternIndex in patterns) {
captures[(Number(patternIndex) + 1).toString()] = {
patterns: [
@@ -175,7 +199,7 @@ function expandPatternMatchProperties(rule: any, key: "begin" | "end") {
*
* @param yaml The root of the YAML document.
*/
function transformFile(yaml: any) {
function transformFile(yaml: ExtendedTextmateGrammar<ExtendedMatchType>) {
const macros = gatherMacros(yaml);
visitAllRulesInFile(yaml, (rule) => {
expandPatternMatchProperties(rule, "begin");
@@ -198,24 +222,29 @@ function transformFile(yaml: any) {
yaml.macros = undefined;
const replacements = gatherMatchTextForRules(yaml);
// We have removed all object match properties, so we don't have an extended match type anymore.
const macrolessYaml = yaml as ExtendedTextmateGrammar;
const replacements = gatherMatchTextForRules(macrolessYaml);
// Expand references in matches.
visitAllRulesInFile(yaml, (rule) => {
visitAllRulesInFile(macrolessYaml, (rule) => {
visitAllMatchesInRule(rule, (match) => {
return replaceReferencesWithStrings(match, replacements);
});
});
if (yaml.regexOptions !== undefined) {
const regexOptions = `(?${yaml.regexOptions})`;
visitAllRulesInFile(yaml, (rule) => {
if (macrolessYaml.regexOptions !== undefined) {
const regexOptions = `(?${macrolessYaml.regexOptions})`;
visitAllRulesInFile(macrolessYaml, (rule) => {
visitAllMatchesInRule(rule, (match) => {
return regexOptions + match;
});
});
yaml.regexOptions = undefined;
macrolessYaml.regexOptions = undefined;
}
return macrolessYaml;
}
export function transpileTextMateGrammar() {
@@ -230,8 +259,8 @@ export function transpileTextMateGrammar() {
} else if (file.isBuffer()) {
const buf: Buffer = file.contents;
const yamlText: string = buf.toString("utf8");
const jsonData: any = load(yamlText);
transformFile(jsonData);
const yamlData = load(yamlText) as TextmateGrammar;
const jsonData = transformFile(yamlData);
file.contents = Buffer.from(JSON.stringify(jsonData, null, 2), "utf8");
file.extname = ".json";

View File

@@ -1,10 +1,11 @@
import { gray, red } from "ansi-colors";
import { dest, src, watch } from "gulp";
import esbuild from "gulp-esbuild";
import ts from "gulp-typescript";
import type { reporter } from "gulp-typescript";
import { createProject } from "gulp-typescript";
import del from "del";
function goodReporter(): ts.reporter.Reporter {
export function goodReporter(): reporter.Reporter {
return {
error: (error, typescript) => {
if (error.tsFile) {
@@ -27,7 +28,7 @@ function goodReporter(): ts.reporter.Reporter {
};
}
const tsProject = ts.createProject("tsconfig.json");
const tsProject = createProject("tsconfig.json");
export function cleanOutput() {
return tsProject.projectDirectory
@@ -56,7 +57,7 @@ export function compileEsbuild() {
}
export function watchEsbuild() {
watch("src/**/*.ts", compileEsbuild);
watch(["src/**/*.ts", "!src/view/**/*.ts"], compileEsbuild);
}
export function checkTypeScript() {
@@ -66,7 +67,7 @@ export function checkTypeScript() {
}
export function watchCheckTypeScript() {
watch("src/**/*.ts", checkTypeScript);
watch(["src/**/*.ts", "!src/view/**/*.ts"], checkTypeScript);
}
export function copyWasmFiles() {

View File

@@ -0,0 +1,42 @@
import { dest, src, watch } from "gulp";
import esbuild from "gulp-esbuild";
import { createProject } from "gulp-typescript";
import { goodReporter } from "./typescript";
import chromiumVersion from "./chromium-version.json";
const tsProject = createProject("src/view/tsconfig.json");
export function compileViewEsbuild() {
return src("./src/view/webview.tsx")
.pipe(
esbuild({
outfile: "webview.js",
bundle: true,
format: "iife",
platform: "browser",
target: `chrome${chromiumVersion.chromiumVersion}`,
jsx: "automatic",
sourcemap: "linked",
sourceRoot: "..",
loader: {
".ttf": "file",
},
}),
)
.pipe(dest("out"));
}
export function watchViewEsbuild() {
watch(["src/**/*.{ts,tsx}"], compileViewEsbuild);
}
export function checkViewTypeScript() {
// This doesn't actually output the TypeScript files, it just
// runs the TypeScript compiler and reports any errors.
return tsProject.src().pipe(tsProject(goodReporter()));
}
export function watchViewCheckTypeScript() {
watch(["src/**/*.{ts,tsx}"], checkViewTypeScript);
}

View File

@@ -1,73 +0,0 @@
import { resolve } from "path";
import * as webpack from "webpack";
import MiniCssExtractPlugin from "mini-css-extract-plugin";
import { isDevBuild } from "./dev";
export const config: webpack.Configuration = {
mode: isDevBuild ? "development" : "production",
entry: {
webview: "./src/view/webview.tsx",
},
output: {
path: resolve(__dirname, "..", "out"),
filename: "[name].js",
},
devtool: isDevBuild ? "inline-source-map" : "source-map",
resolve: {
extensions: [".js", ".ts", ".tsx", ".json"],
},
module: {
rules: [
{
test: /\.(ts|tsx)$/,
loader: "ts-loader",
options: {
configFile: "src/view/tsconfig.json",
},
},
{
test: /\.less$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: "css-loader",
options: {
importLoaders: 1,
sourceMap: true,
},
},
{
loader: "less-loader",
options: {
javascriptEnabled: true,
sourceMap: true,
},
},
],
},
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
{
loader: "css-loader",
options: {
sourceMap: true,
},
},
],
},
{
test: /\.(woff(2)?|ttf|eot)$/,
type: "asset/resource",
generator: {
filename: "fonts/[hash][ext][query]",
},
},
],
},
performance: {
hints: false,
},
plugins: [new MiniCssExtractPlugin()],
};

View File

@@ -1,57 +0,0 @@
import webpack from "webpack";
import { config } from "./webpack.config";
export function compileView(cb: (err?: Error) => void) {
doWebpack(config, true, cb);
}
export function watchView(cb: (err?: Error) => void) {
const watchConfig = {
...config,
watch: true,
watchOptions: {
aggregateTimeout: 200,
poll: 1000,
},
};
doWebpack(watchConfig, false, cb);
}
function doWebpack(
internalConfig: webpack.Configuration,
failOnError: boolean,
cb: (err?: Error) => void,
) {
const resultCb = (error: Error | undefined, stats?: webpack.Stats) => {
if (error) {
cb(error);
}
if (stats) {
console.log(
stats.toString({
errorDetails: true,
colors: true,
assets: false,
builtAt: false,
version: false,
hash: false,
entrypoints: false,
timings: false,
modules: false,
errors: true,
}),
);
if (stats.hasErrors()) {
if (failOnError) {
cb(new Error("Compilation errors detected."));
return;
} else {
console.error("Compilation errors detected.");
}
}
cb();
}
};
webpack(internalConfig, resultCb);
}

View File

@@ -4,6 +4,7 @@
*/
/** @type {import('@jest/types').Config.InitialOptions} */
// eslint-disable-next-line import/no-commonjs
module.exports = {
projects: [
"<rootDir>/src/view",

File diff suppressed because it is too large Load Diff

View File

@@ -4,7 +4,7 @@
"description": "CodeQL for Visual Studio Code",
"author": "GitHub",
"private": true,
"version": "1.9.1",
"version": "1.13.2",
"publisher": "GitHub",
"license": "MIT",
"icon": "media/VS-marketplace-CodeQL-icon.png",
@@ -13,15 +13,15 @@
"url": "https://github.com/github/vscode-codeql"
},
"engines": {
"vscode": "^1.67.0",
"node": "^16.17.1",
"vscode": "^1.82.0",
"node": "^20.9.0",
"npm": ">=7.20.6"
},
"categories": [
"Programming Languages"
],
"extensionDependencies": [
"hbenl.vscode-test-explorer"
"vscode.git"
],
"capabilities": {
"untrustedWorkspaces": {
@@ -34,31 +34,12 @@
}
},
"activationEvents": [
"onLanguage:ql",
"onLanguage:ql-summary",
"onView:codeQLQueries",
"onView:codeQLDatabases",
"onView:codeQLVariantAnalysisRepositories",
"onView:codeQLQueryHistory",
"onView:codeQLAstViewer",
"onView:codeQLEvalLogViewer",
"onView:test-explorer",
"onCommand:codeQL.checkForUpdatesToCLI",
"onCommand:codeQL.authenticateToGitHub",
"onCommand:codeQL.viewAst",
"onCommand:codeQL.viewCfg",
"onCommand:codeQL.openReferencedFile",
"onCommand:codeQL.previewQueryHelp",
"onCommand:codeQL.chooseDatabaseFolder",
"onCommand:codeQL.chooseDatabaseArchive",
"onCommand:codeQL.chooseDatabaseInternet",
"onCommand:codeQL.chooseDatabaseGithub",
"onCommand:codeQL.quickQuery",
"onCommand:codeQL.restartQueryServer",
"onWebviewPanel:resultsView",
"onWebviewPanel:codeQL.variantAnalysis",
"onWebviewPanel:codeQL.dataFlowPaths",
"onFileSystem:codeql-zip-archive"
"onFileSystem:codeql-zip-archive",
"workspaceContains:.git"
],
"main": "./out/extension",
"files": [
@@ -72,10 +53,10 @@
"configurationDefaults": {
"[ql]": {
"debug.saveBeforeStart": "nonUntitledEditorsInActiveGroup",
"editor.wordBasedSuggestions": false
"editor.wordBasedSuggestions": "off"
},
"[dbscheme]": {
"editor.wordBasedSuggestions": false
"editor.wordBasedSuggestions": "off"
}
},
"debuggers": [
@@ -110,6 +91,10 @@
"string"
],
"description": "Names of extension packs to include in the evaluation. These are resolved from the locations specified in `additionalPacks`."
},
"additionalRunQueryArgs": {
"type": "object",
"description": "**Internal use only**. Additional arguments to pass to the `runQuery` command of the query server, without validation."
}
}
}
@@ -193,6 +178,11 @@
"type": "string",
"default": "",
"markdownDescription": "Path to the CodeQL executable that should be used by the CodeQL extension. The executable is named `codeql` on Linux/Mac and `codeql.exe` on Windows. If empty, the extension will look for a CodeQL executable on your shell PATH, or if CodeQL is not on your PATH, download and manage its own CodeQL executable (note: if you later introduce CodeQL on your PATH, the extension will prefer a CodeQL executable it has downloaded itself)."
},
"codeQL.cli.downloadTimeout": {
"type": "integer",
"default": 10,
"description": "Download timeout in seconds for downloading the CLI distribution."
}
}
},
@@ -349,13 +339,6 @@
"title": "Variant analysis",
"order": 5,
"properties": {
"codeQL.variantAnalysis.controllerRepo": {
"type": "string",
"default": "",
"pattern": "^$|^(?:[a-zA-Z0-9]+-)*[a-zA-Z0-9]+/[a-zA-Z0-9-_]+$",
"patternErrorMessage": "Please enter a valid GitHub repository",
"markdownDescription": "[For internal use only] The name of the GitHub repository in which the GitHub Actions workflow is run when using the \"Run Variant Analysis\" command. The repository should be of the form `<owner>/<repo>`)."
},
"codeQL.variantAnalysis.defaultResultsFilter": {
"type": "string",
"default": "all",
@@ -388,13 +371,28 @@
},
{
"type": "object",
"title": "Downloading databases",
"title": "Adding databases",
"order": 6,
"properties": {
"codeQL.databaseDownload.allowHttp": {
"codeQL.addingDatabases.downloadTimeout": {
"type": "integer",
"default": 10,
"description": "Download timeout in seconds for adding a CodeQL database."
},
"codeQL.addingDatabases.allowHttp": {
"type": "boolean",
"default": false,
"description": "Allow database to be downloaded via HTTP. Warning: enabling this option will allow downloading from insecure servers."
"description": "Allow databases to be downloaded via HTTP. Warning: enabling this option will allow downloading from insecure servers."
},
"codeQL.databaseDownload.allowHttp": {
"type": "boolean",
"markdownDeprecationMessage": "**Deprecated**: Please use `#codeQL.addingDatabases.allowHttp#` instead.",
"deprecationMessage": "Deprecated: Please use codeQL.addingDatabases.allowHttp instead."
},
"codeQL.addingDatabases.addDatabaseSourceToWorkspace": {
"type": "boolean",
"default": false,
"markdownDescription": "When adding a CodeQL database, automatically add the database's source folder as a workspace folder. Warning: enabling this option in a single-folder workspace will cause the workspace to reload as a [multi-root workspace](https://code.visualstudio.com/docs/editor/multi-root-workspaces). This may cause query history and database lists to be reset."
}
}
},
@@ -425,8 +423,58 @@
},
{
"type": "object",
"title": "Log insights",
"title": "GitHub Databases",
"order": 8,
"properties": {
"codeQL.githubDatabase.download": {
"type": "string",
"default": "ask",
"enum": [
"ask",
"never"
],
"enumDescriptions": [
"Ask to download a GitHub database when a workspace is opened.",
"Never download a GitHub databases when a workspace is opened."
],
"description": "Ask to download a GitHub database when a workspace is opened."
},
"codeQL.githubDatabase.update": {
"type": "string",
"default": "ask",
"enum": [
"ask",
"never"
],
"enumDescriptions": [
"Ask to download an updated GitHub database when a new version is available.",
"Never download an updated GitHub database when a new version is available."
],
"description": "Ask to download an updated GitHub database when a new version is available."
}
}
},
{
"type": "object",
"title": "Model Editor",
"order": 9,
"properties": {
"codeQL.model.packLocation": {
"type": "string",
"default": ".github/codeql/extensions/${name}-${language}",
"markdownDescription": "Location for newly created CodeQL model packs. The location can be either absolute or relative. If relative, it is relative to the workspace root.\n\nThe following variables are supported:\n* **${database}** - the name of the database\n* **${language}** - the name of the language\n* **${name}** - the name of the GitHub repository, or the name of the database if the database was not downloaded from GitHub\n* **${owner}** - the owner of the GitHub repository, or an empty string if the database was not downloaded from GitHub"
},
"codeQL.model.packName": {
"type": "string",
"default": "${owner}/${name}-${language}",
"markdownDescription": "Name of newly created CodeQL model packs. If the result is not a valid pack name, it will be converted to a valid pack name.\n\nThe following variables are supported:\n* **${database}** - the name of the database\n* **${language}** - the name of the language\n* **${name}** - the name of the GitHub repository, or the name of the database if the database was not downloaded from GitHub\n* **${owner}** - the owner of the GitHub repository, or an empty string if the database was not downloaded from GitHub"
}
}
},
{
"type": "object",
"title": "Log insights",
"order": 10,
"properties": {
"codeQL.logInsights.joinOrderWarningThreshold": {
"type": "number",
@@ -440,19 +488,26 @@
{
"type": "object",
"title": "Telemetry",
"order": 9,
"order": 11,
"properties": {
"codeQL.telemetry.enableTelemetry": {
"type": "boolean",
"default": false,
"scope": "application",
"markdownDescription": "Specifies whether to send CodeQL usage telemetry. This setting AND the global `#telemetry.enableTelemetry#` setting must be checked for telemetry to be sent to GitHub. For more information, see the [telemetry documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/about-telemetry-in-codeql-for-visual-studio-code)"
"markdownDescription": "Specifies whether to send CodeQL usage telemetry. This setting AND the one of the global telemetry settings (`#telemetry.enableTelemetry#` or `#telemetry.telemetryLevel#`) must be enabled for telemetry to be sent to GitHub. For more information, see the [telemetry documentation](https://codeql.github.com/docs/codeql-for-visual-studio-code/about-telemetry-in-codeql-for-visual-studio-code)",
"tags": [
"telemetry",
"usesOnlineServices"
]
},
"codeQL.telemetry.logTelemetry": {
"type": "boolean",
"default": false,
"scope": "application",
"description": "Specifies whether or not to write telemetry events to the extension log."
"description": "Specifies whether or not to write telemetry events to the extension log.",
"tags": [
"telemetry"
]
}
}
}
@@ -510,6 +565,14 @@
"command": "codeQL.runVariantAnalysisContextEditor",
"title": "CodeQL: Run Variant Analysis"
},
{
"command": "codeQL.runVariantAnalysisContextExplorer",
"title": "CodeQL: Run Variant Analysis"
},
{
"command": "codeQL.runVariantAnalysisPublishedPack",
"title": "CodeQL: Run Variant Analysis against published pack"
},
{
"command": "codeQL.exportSelectedVariantAnalysisResults",
"title": "CodeQL: Export Variant Analysis Results"
@@ -570,6 +633,10 @@
"command": "codeQL.copyVersion",
"title": "CodeQL: Copy Version Information"
},
{
"command": "codeQLLanguageSelection.setSelectedItem",
"title": "Select"
},
{
"command": "codeQLQueries.runLocalQueryFromQueriesPanel",
"title": "Run local query",
@@ -681,6 +748,10 @@
"command": "codeQL.setCurrentDatabase",
"title": "CodeQL: Set Current Database"
},
{
"command": "codeQL.importTestDatabase",
"title": "CodeQL: (Re-)Import Test Database"
},
{
"command": "codeQL.getCurrentDatabase",
"title": "CodeQL: Get Current Database"
@@ -721,6 +792,10 @@
"command": "codeQL.clearCache",
"title": "CodeQL: Clear Cache"
},
{
"command": "codeQL.trimCache",
"title": "CodeQL: Trim Cache"
},
{
"command": "codeQL.installPackDependencies",
"title": "CodeQL: Install Pack Dependencies"
@@ -753,78 +828,6 @@
"command": "codeQLDatabases.addDatabaseSource",
"title": "Add Database Source to Workspace"
},
{
"command": "codeQLDatabases.displayAllLanguages",
"title": "All languages"
},
{
"command": "codeQLDatabases.displayAllLanguagesSelected",
"title": "All languages (selected)"
},
{
"command": "codeQLDatabases.displayCpp",
"title": "C/C++"
},
{
"command": "codeQLDatabases.displayCppSelected",
"title": "C/C++ (selected)"
},
{
"command": "codeQLDatabases.displayCsharp",
"title": "C#"
},
{
"command": "codeQLDatabases.displayCsharpSelected",
"title": "C# (selected)"
},
{
"command": "codeQLDatabases.displayGo",
"title": "Go"
},
{
"command": "codeQLDatabases.displayGoSelected",
"title": "Go (selected)"
},
{
"command": "codeQLDatabases.displayJava",
"title": "Java/Kotlin"
},
{
"command": "codeQLDatabases.displayJavaSelected",
"title": "Java/Kotlin (selected)"
},
{
"command": "codeQLDatabases.displayJavascript",
"title": "JavaScript/TypeScript"
},
{
"command": "codeQLDatabases.displayJavascriptSelected",
"title": "JavaScript/TypeScript (selected)"
},
{
"command": "codeQLDatabases.displayPython",
"title": "Python"
},
{
"command": "codeQLDatabases.displayPythonSelected",
"title": "Python (selected)"
},
{
"command": "codeQLDatabases.displayRuby",
"title": "Ruby"
},
{
"command": "codeQLDatabases.displayRubySelected",
"title": "Ruby (selected)"
},
{
"command": "codeQLDatabases.displaySwift",
"title": "Swift"
},
{
"command": "codeQLDatabases.displaySwiftSelected",
"title": "Swift (selected)"
},
{
"command": "codeQL.chooseDatabaseFolder",
"title": "CodeQL: Choose Database from Folder"
@@ -845,6 +848,10 @@
"command": "codeQLDatabases.sortByName",
"title": "Sort by Name"
},
{
"command": "codeQLDatabases.sortByLanguage",
"title": "Sort by Language"
},
{
"command": "codeQLDatabases.sortByDateAdded",
"title": "Sort by Date Added"
@@ -1071,14 +1078,14 @@
"group": "1_databases@0"
},
{
"command": "codeQLDatabases.sortByDateAdded",
"command": "codeQLDatabases.sortByLanguage",
"when": "view == codeQLDatabases",
"group": "1_databases@1"
},
{
"submenu": "codeQLDatabases.languages",
"when": "view == codeQLDatabases && config.codeQL.canary && config.codeQL.showLanguageFilter",
"group": "2_databases@0"
"command": "codeQLDatabases.sortByDateAdded",
"when": "view == codeQLDatabases",
"group": "1_databases@2"
},
{
"command": "codeQLQueries.createQuery",
@@ -1152,6 +1159,11 @@
"when": "view == codeQLVariantAnalysisRepositories && viewItem =~ /canImportCodeSearch/",
"group": "2_qlContextMenu@1"
},
{
"command": "codeQLLanguageSelection.setSelectedItem",
"when": "view == codeQLLanguageSelection && viewItem =~ /canBeSelected/",
"group": "inline"
},
{
"command": "codeQLDatabases.setCurrentDatabase",
"group": "inline",
@@ -1324,7 +1336,12 @@
{
"command": "codeQL.setCurrentDatabase",
"group": "9_qlCommands",
"when": "resourceScheme == codeql-zip-archive || explorerResourceIsFolder || resourceExtname == .zip"
"when": "resourceExtname != .testproj && (resourceScheme == codeql-zip-archive || explorerResourceIsFolder || resourceExtname == .zipz)"
},
{
"command": "codeQL.importTestDatabase",
"group": "9_qlCommands",
"when": "explorerResourceIsFolder && resourceExtname == .testproj"
},
{
"command": "codeQL.viewAstContextExplorer",
@@ -1341,6 +1358,11 @@
"group": "9_qlCommands",
"when": "resourceScheme != codeql-zip-archive"
},
{
"command": "codeQL.runVariantAnalysisContextExplorer",
"group": "9_qlCommands",
"when": "resourceExtname == .ql && config.codeQL.canary && config.codeQL.variantAnalysis.multiQuery"
},
{
"command": "codeQL.openReferencedFileContextExplorer",
"group": "9_qlCommands",
@@ -1417,6 +1439,14 @@
"command": "codeQL.runVariantAnalysis",
"when": "editorLangId == ql && resourceExtname == .ql"
},
{
"command": "codeQL.runVariantAnalysisContextExplorer",
"when": "false"
},
{
"command": "codeQL.runVariantAnalysisPublishedPack",
"when": "config.codeQL.canary && config.codeQL.variantAnalysis.multiQuery"
},
{
"command": "codeQL.runVariantAnalysisContextEditor",
"when": "false"
@@ -1431,7 +1461,7 @@
},
{
"command": "codeQL.quickEvalCount",
"when": "editorLangId == ql && codeql.supportsQuickEvalCount"
"when": "editorLangId == ql"
},
{
"command": "codeQL.quickEvalContextEditor",
@@ -1465,6 +1495,10 @@
"command": "codeQL.setCurrentDatabase",
"when": "false"
},
{
"command": "codeQL.importTestDatabase",
"when": "false"
},
{
"command": "codeQL.getCurrentDatabase",
"when": "false"
@@ -1500,6 +1534,10 @@
{
"command": "codeQL.openModelEditor"
},
{
"command": "codeQLLanguageSelection.setSelectedItem",
"when": "false"
},
{
"command": "codeQLQueries.runLocalQueryContextMenu",
"when": "false"
@@ -1568,6 +1606,10 @@
"command": "codeQLDatabases.sortByName",
"when": "false"
},
{
"command": "codeQLDatabases.sortByLanguage",
"when": "false"
},
{
"command": "codeQLDatabases.sortByDateAdded",
"when": "false"
@@ -1600,78 +1642,6 @@
"command": "codeQLDatabases.upgradeDatabase",
"when": "false"
},
{
"command": "codeQLDatabases.displayAllLanguages",
"when": "false"
},
{
"command": "codeQLDatabases.displayAllLanguagesSelected",
"when": "false"
},
{
"command": "codeQLDatabases.displayCpp",
"when": "false"
},
{
"command": "codeQLDatabases.displayCppSelected",
"when": "false"
},
{
"command": "codeQLDatabases.displayCsharp",
"when": "false"
},
{
"command": "codeQLDatabases.displayCsharpSelected",
"when": "false"
},
{
"command": "codeQLDatabases.displayGo",
"when": "false"
},
{
"command": "codeQLDatabases.displayGoSelected",
"when": "false"
},
{
"command": "codeQLDatabases.displayJava",
"when": "false"
},
{
"command": "codeQLDatabases.displayJavaSelected",
"when": "false"
},
{
"command": "codeQLDatabases.displayJavascript",
"when": "false"
},
{
"command": "codeQLDatabases.displayJavascriptSelected",
"when": "false"
},
{
"command": "codeQLDatabases.displayPython",
"when": "false"
},
{
"command": "codeQLDatabases.displayPythonSelected",
"when": "false"
},
{
"command": "codeQLDatabases.displayRuby",
"when": "false"
},
{
"command": "codeQLDatabases.displayRubySelected",
"when": "false"
},
{
"command": "codeQLDatabases.displaySwift",
"when": "false"
},
{
"command": "codeQLDatabases.displaySwiftSelected",
"when": "false"
},
{
"command": "codeQLQueryHistory.openQueryContextMenu",
"when": "false"
@@ -1804,10 +1774,6 @@
"command": "codeQL.mockGitHubApiServer.unloadScenario",
"when": "config.codeQL.mockGitHubApiServer.enabled && codeQL.mockGitHubApiServer.scenarioLoaded"
},
{
"command": "codeQL.createQuery",
"when": "config.codeQL.codespacesTemplate || config.codeQL.canary && config.codeQL.queriesPanel"
},
{
"command": "codeQLTests.acceptOutputContextTestItem",
"when": "false"
@@ -1815,6 +1781,10 @@
{
"command": "codeQL.gotoQLContextEditor",
"when": "false"
},
{
"command": "codeQL.trimCache",
"when": "codeql.supportsTrimCache"
}
],
"editor/context": [
@@ -1866,88 +1836,8 @@
"command": "codeQL.gotoQLContextEditor",
"when": "editorLangId == ql-summary && config.codeQL.canary"
}
],
"codeQLDatabases.languages": [
{
"command": "codeQLDatabases.displayAllLanguages",
"when": "codeQLDatabases.languageFilter"
},
{
"command": "codeQLDatabases.displayAllLanguagesSelected",
"when": "!codeQLDatabases.languageFilter"
},
{
"command": "codeQLDatabases.displayCpp",
"when": "codeQLDatabases.languageFilter != cpp"
},
{
"command": "codeQLDatabases.displayCppSelected",
"when": "codeQLDatabases.languageFilter == cpp"
},
{
"command": "codeQLDatabases.displayCsharp",
"when": "codeQLDatabases.languageFilter != csharp"
},
{
"command": "codeQLDatabases.displayCsharpSelected",
"when": "codeQLDatabases.languageFilter == csharp"
},
{
"command": "codeQLDatabases.displayGo",
"when": "codeQLDatabases.languageFilter != go"
},
{
"command": "codeQLDatabases.displayGoSelected",
"when": "codeQLDatabases.languageFilter == go"
},
{
"command": "codeQLDatabases.displayJava",
"when": "codeQLDatabases.languageFilter != java"
},
{
"command": "codeQLDatabases.displayJavaSelected",
"when": "codeQLDatabases.languageFilter == java"
},
{
"command": "codeQLDatabases.displayJavascript",
"when": "codeQLDatabases.languageFilter != javascript"
},
{
"command": "codeQLDatabases.displayJavascriptSelected",
"when": "codeQLDatabases.languageFilter == javascript"
},
{
"command": "codeQLDatabases.displayPython",
"when": "codeQLDatabases.languageFilter != python"
},
{
"command": "codeQLDatabases.displayPythonSelected",
"when": "codeQLDatabases.languageFilter == python"
},
{
"command": "codeQLDatabases.displayRuby",
"when": "codeQLDatabases.languageFilter != ruby"
},
{
"command": "codeQLDatabases.displayRubySelected",
"when": "codeQLDatabases.languageFilter == ruby"
},
{
"command": "codeQLDatabases.displaySwift",
"when": "codeQLDatabases.languageFilter != swift"
},
{
"command": "codeQLDatabases.displaySwiftSelected",
"when": "codeQLDatabases.languageFilter == swift"
}
]
},
"submenus": [
{
"id": "codeQLDatabases.languages",
"label": "Languages"
}
],
"viewsContainers": {
"activitybar": [
{
@@ -1966,14 +1856,17 @@
},
"views": {
"ql-container": [
{
"id": "codeQLLanguageSelection",
"name": "Language"
},
{
"id": "codeQLDatabases",
"name": "Databases"
},
{
"id": "codeQLQueries",
"name": "Queries",
"when": "config.codeQL.canary && config.codeQL.queriesPanel"
"name": "Queries"
},
{
"id": "codeQLVariantAnalysisRepositories",
@@ -1991,21 +1884,18 @@
"id": "codeQLEvalLogViewer",
"name": "Evaluator Log Viewer",
"when": "config.codeQL.canary"
},
{
"id": "codeQLMethodModeling",
"type": "webview",
"name": "CodeQL Method Modeling"
}
],
"codeql-methods-usage": [
{
"id": "codeQLMethodsUsage",
"name": "CodeQL Methods Usage",
"when": "config.codeQL.canary && codeql.modelEditorOpen"
}
],
"explorer": [
{
"type": "webview",
"id": "codeQLMethodModeling",
"name": "CodeQL Method Modeling",
"when": "config.codeQL.canary && config.codeQL.model.methodModelingView && codeql.modelEditorOpen && !codeql.modelEditorActive"
"when": "codeql.modelEditorOpen"
}
]
},
@@ -2034,11 +1924,6 @@
{
"view": "codeQLEvalLogViewer",
"contents": "Run the 'Show Evaluator Log (UI)' command on a CodeQL query run in the Query History view."
},
{
"view": "codeQLVariantAnalysisRepositories",
"contents": "Set up a controller repository to start using variant analysis. [Learn more](https://codeql.github.com/docs/codeql-for-visual-studio-code/running-codeql-queries-at-scale-with-mrva#controller-repository) about controller repositories. \n[Set up controller repository](command:codeQLVariantAnalysisRepositories.setupControllerRepository)",
"when": "!config.codeQL.variantAnalysis.controllerRepo"
}
]
},
@@ -2058,153 +1943,149 @@
"format": "prettier --write **/*.{ts,tsx} && eslint . --ext .ts,.tsx --fix",
"lint": "eslint . --ext .js,.ts,.tsx --max-warnings=0",
"lint:markdown": "markdownlint-cli2 \"../../**/*.{md,mdx}\" \"!**/node_modules/**\" \"!**/.vscode-test/**\" \"!**/build/cli/v*/**\"",
"find-deadcode": "ts-node scripts/find-deadcode.ts",
"find-deadcode": "vite-node scripts/find-deadcode.ts",
"format-staged": "lint-staged",
"storybook": "storybook dev -p 6006",
"build-storybook": "storybook build",
"lint:scenarios": "ts-node scripts/lint-scenarios.ts",
"lint:scenarios": "vite-node scripts/lint-scenarios.ts",
"generate": "npm-run-all -p generate:*",
"generate:schemas": "ts-node scripts/generate-schemas.ts",
"generate:schemas": "vite-node scripts/generate-schemas.ts",
"generate:chromium-version": "vite-node scripts/generate-chromium-version.ts",
"check-types": "find . -type f -name \"tsconfig.json\" -not -path \"./node_modules/*\" | sed -r 's|/[^/]+$||' | sort | uniq | xargs -I {} sh -c \"echo Checking types in {} && cd {} && npx tsc --noEmit\"",
"postinstall": "patch-package",
"prepare": "cd ../.. && husky install"
},
"dependencies": {
"@octokit/plugin-retry": "^4.1.6",
"@octokit/rest": "^19.0.4",
"@vscode/codicons": "^0.0.31",
"@floating-ui/react": "^0.26.12",
"@octokit/plugin-retry": "^6.0.1",
"@octokit/plugin-throttling": "^8.0.0",
"@octokit/rest": "^20.0.2",
"@vscode/codicons": "^0.0.35",
"@vscode/debugadapter": "^1.59.0",
"@vscode/debugprotocol": "^1.59.0",
"@vscode/debugprotocol": "^1.65.0",
"@vscode/webview-ui-toolkit": "^1.0.1",
"ajv": "^8.11.0",
"child-process-promise": "^2.2.1",
"chokidar": "^3.5.3",
"classnames": "^2.2.6",
"d3": "^7.6.1",
"chokidar": "^3.6.0",
"d3": "^7.9.0",
"d3-graphviz": "^5.0.2",
"fs-extra": "^11.1.1",
"immutable": "^4.0.0",
"js-yaml": "^4.1.0",
"msw": "^1.2.0",
"nanoid": "^3.2.0",
"msw": "^2.2.13",
"nanoid": "^5.0.7",
"node-fetch": "^2.6.7",
"p-queue": "^6.0.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"semver": "^7.5.2",
"p-queue": "^8.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"semver": "^7.6.2",
"source-map": "^0.7.4",
"source-map-support": "^0.5.21",
"stream-json": "^1.7.3",
"styled-components": "^6.0.2",
"tmp": "^0.1.0",
"styled-components": "^6.1.9",
"tmp": "^0.2.1",
"tmp-promise": "^3.0.2",
"tree-kill": "^1.2.2",
"unzipper": "^0.10.5",
"vscode-extension-telemetry": "^0.1.6",
"vscode-jsonrpc": "^8.0.2",
"vscode-languageclient": "^8.0.2",
"vscode-test-adapter-api": "^1.7.0",
"vscode-test-adapter-util": "^0.7.0",
"zip-a-folder": "^3.1.3"
"yauzl": "^2.10.0",
"zip-a-folder": "^3.1.6"
},
"devDependencies": {
"@babel/core": "^7.18.13",
"@babel/core": "^7.24.6",
"@babel/plugin-transform-modules-commonjs": "^7.18.6",
"@babel/preset-env": "^7.21.4",
"@babel/preset-react": "^7.18.6",
"@babel/preset-env": "^7.24.4",
"@babel/preset-react": "^7.24.1",
"@babel/preset-typescript": "^7.21.4",
"@faker-js/faker": "^8.0.2",
"@github/markdownlint-github": "^0.3.0",
"@octokit/plugin-throttling": "^5.0.1",
"@storybook/addon-actions": "^7.1.0",
"@storybook/addon-essentials": "^7.1.0",
"@storybook/addon-interactions": "^7.1.0",
"@storybook/addon-links": "^7.1.0",
"@storybook/components": "^7.1.0",
"@storybook/csf": "^0.1.1",
"@storybook/manager-api": "^7.1.0",
"@storybook/react": "^7.1.0",
"@storybook/react-webpack5": "^7.1.0",
"@storybook/theming": "^7.1.0",
"@testing-library/dom": "^9.3.0",
"@testing-library/jest-dom": "^6.0.0",
"@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.4.3",
"@faker-js/faker": "^8.4.1",
"@github/markdownlint-github": "^0.6.2",
"@playwright/test": "^1.40.1",
"@storybook/addon-a11y": "^8.1.10",
"@storybook/addon-actions": "^8.1.10",
"@storybook/addon-essentials": "^8.1.10",
"@storybook/addon-interactions": "^8.1.10",
"@storybook/addon-links": "^8.1.10",
"@storybook/blocks": "^8.0.2",
"@storybook/components": "^8.0.2",
"@storybook/csf": "^0.1.8",
"@storybook/icons": "^1.2.9",
"@storybook/manager-api": "^8.1.10",
"@storybook/react": "^8.1.10",
"@storybook/react-vite": "^8.1.10",
"@storybook/theming": "^8.1.10",
"@testing-library/dom": "^10.1.0",
"@testing-library/jest-dom": "^6.4.6",
"@testing-library/react": "^16.0.0",
"@testing-library/user-event": "^14.5.2",
"@types/child-process-promise": "^2.2.1",
"@types/classnames": "^2.2.9",
"@types/d3": "^7.4.0",
"@types/d3-graphviz": "^2.6.6",
"@types/del": "^4.0.0",
"@types/fs-extra": "^11.0.1",
"@types/gulp": "^4.0.9",
"@types/gulp-replace": "^1.1.0",
"@types/jest": "^29.0.2",
"@types/jest": "^29.5.12",
"@types/js-yaml": "^4.0.6",
"@types/nanoid": "^3.0.0",
"@types/node": "^16.11.25",
"@types/node": "20.9.*",
"@types/node-fetch": "^2.5.2",
"@types/react": "^18.0.28",
"@types/react-dom": "^18.0.11",
"@types/react": "^18.3.1",
"@types/react-dom": "^18.3.0",
"@types/sarif": "^2.1.2",
"@types/semver": "^7.2.0",
"@types/semver": "^7.5.8",
"@types/stream-json": "^1.7.1",
"@types/styled-components": "^5.1.11",
"@types/tar-stream": "^2.2.2",
"@types/tar-stream": "^3.1.3",
"@types/through2": "^2.0.36",
"@types/tmp": "^0.1.0",
"@types/unzipper": "^0.10.1",
"@types/vscode": "^1.67.0",
"@types/webpack": "^5.28.0",
"@types/webpack-env": "^1.18.0",
"@typescript-eslint/eslint-plugin": "^6.2.1",
"@typescript-eslint/parser": "^6.2.1",
"@vscode/test-electron": "^2.2.0",
"@vscode/vsce": "^2.19.0",
"@types/tmp": "^0.2.6",
"@types/vscode": "^1.82.0",
"@types/yauzl": "^2.10.3",
"@typescript-eslint/eslint-plugin": "^7.5.0",
"@typescript-eslint/parser": "^7.5.0",
"@vscode/test-electron": "^2.3.9",
"@vscode/vsce": "^2.24.0",
"ansi-colors": "^4.1.1",
"applicationinsights": "^2.3.5",
"cosmiconfig": "^8.2.0",
"applicationinsights": "^2.9.5",
"cosmiconfig": "^9.0.0",
"cross-env": "^7.0.3",
"css-loader": "^6.8.1",
"del": "^6.0.0",
"esbuild": "^0.15.15",
"eslint": "^8.23.1",
"eslint": "^8.56.0",
"eslint-config-prettier": "^9.0.0",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-deprecation": "^2.0.0",
"eslint-plugin-etc": "^2.0.2",
"eslint-plugin-github": "^4.4.1",
"eslint-plugin-jest-dom": "^5.0.1",
"eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-react": "^7.31.8",
"eslint-plugin-github": "^4.10.2",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jest-dom": "^5.2.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-storybook": "^0.6.4",
"file-loader": "^6.2.0",
"eslint-plugin-storybook": "^0.8.0",
"glob": "^10.0.0",
"gulp": "^4.0.2",
"gulp-esbuild": "^0.10.5",
"gulp-esbuild": "^0.12.0",
"gulp-replace": "^1.1.3",
"gulp-sourcemaps": "^3.0.0",
"gulp-typescript": "^5.0.1",
"husky": "^8.0.0",
"husky": "^9.1.7",
"jest": "^29.0.3",
"jest-environment-jsdom": "^29.0.3",
"jest-runner-vscode": "^3.0.1",
"lint-staged": "^14.0.0",
"markdownlint-cli2": "^0.6.0",
"markdownlint-cli2-formatter-pretty": "^0.0.4",
"mini-css-extract-plugin": "^2.6.1",
"lint-staged": "^15.2.2",
"markdownlint-cli2": "^0.13.0",
"markdownlint-cli2-formatter-pretty": "^0.0.6",
"npm-run-all": "^4.1.5",
"patch-package": "^8.0.0",
"prettier": "^3.0.0",
"storybook": "^7.1.0",
"tar-stream": "^3.0.0",
"prettier": "^3.2.5",
"storybook": "^8.1.10",
"tar-stream": "^3.1.7",
"through2": "^4.0.2",
"ts-jest": "^29.0.1",
"ts-json-schema-generator": "^1.1.2",
"ts-loader": "^9.4.2",
"ts-node": "^10.7.0",
"ts-unused-exports": "^10.0.0",
"ts-jest": "^29.1.4",
"ts-json-schema-generator": "^2.1.1",
"ts-node": "^10.9.2",
"ts-unused-exports": "^10.1.0",
"typescript": "^5.0.2",
"webpack": "^5.76.0",
"webpack-cli": "^5.0.1"
"vite": "^5.2.11",
"vite-node": "^1.5.3"
},
"lint-staged": {
"./**/*.{json,css,scss}": [

View File

@@ -14,14 +14,17 @@
import { pathExists, readJson, writeJson } from "fs-extra";
import { resolve, relative } from "path";
import { Octokit, type RestEndpointMethodTypes } from "@octokit/rest";
import type { Octokit } from "@octokit/core";
import type { EndpointDefaults } from "@octokit/types";
import type { RestEndpointMethodTypes } from "@octokit/rest";
import { throttling } from "@octokit/plugin-throttling";
import { getFiles } from "./util/files";
import type { GitHubApiRequest } from "../src/common/mock-gh-api/gh-api-request";
import { isGetVariantAnalysisRequest } from "../src/common/mock-gh-api/gh-api-request";
import { VariantAnalysis } from "../src/variant-analysis/gh-api/variant-analysis";
import { RepositoryWithMetadata } from "../src/variant-analysis/gh-api/repository";
import type { VariantAnalysis } from "../src/variant-analysis/gh-api/variant-analysis";
import type { RepositoryWithMetadata } from "../src/variant-analysis/gh-api/repository";
import { AppOctokit } from "../src/common/octokit";
const extensionDirectory = resolve(__dirname, "..");
const scenariosDirectory = resolve(
@@ -31,7 +34,7 @@ const scenariosDirectory = resolve(
// Make sure we don't run into rate limits by automatically waiting until we can
// make another request.
const MyOctokit = Octokit.plugin(throttling);
const MyOctokit = AppOctokit.plugin(throttling);
const auth = process.env.GITHUB_TOKEN;
@@ -40,7 +43,7 @@ const octokit = new MyOctokit({
throttle: {
onRateLimit: (
retryAfter: number,
options: any,
options: EndpointDefaults,
octokit: Octokit,
): boolean => {
octokit.log.warn(
@@ -51,7 +54,7 @@ const octokit = new MyOctokit({
},
onSecondaryRateLimit: (
_retryAfter: number,
options: any,
options: EndpointDefaults,
octokit: Octokit,
): void => {
octokit.log.warn(

View File

@@ -9,12 +9,13 @@ function ignoreFile(file: string): boolean {
containsPath(".storybook", file) ||
containsPath(join("src", "stories"), file) ||
pathsEqual(
join("test", "vscode-tests", "jest-runner-installed-extensions.ts"),
join("test", "vscode-tests", "jest-runner-vscode-codeql-cli.ts"),
file,
) ||
basename(file) === "jest.config.ts" ||
basename(file) === "index.tsx" ||
basename(file) === "index.ts"
basename(file) === "index.ts" ||
basename(file) === "playwright.config.ts"
);
}

View File

@@ -0,0 +1,42 @@
import { join, resolve } from "path";
import { outputFile, readJSON } from "fs-extra";
import { minVersion } from "semver";
import { getVersionInformation } from "./util/vscode-versions";
const extensionDirectory = resolve(__dirname, "..");
async function generateChromiumVersion() {
const packageJson = await readJSON(
resolve(extensionDirectory, "package.json"),
);
const minimumVsCodeVersion = minVersion(packageJson.engines.vscode)?.version;
if (!minimumVsCodeVersion) {
throw new Error("Could not find minimum VS Code version");
}
const versionInformation = await getVersionInformation(minimumVsCodeVersion);
const chromiumMajorVersion = versionInformation.chromiumVersion.split(".")[0];
console.log(
`VS Code ${minimumVsCodeVersion} uses Chromium ${chromiumMajorVersion}`,
);
await outputFile(
join(extensionDirectory, "gulpfile.ts", "chromium-version.json"),
`${JSON.stringify(
{
chromiumVersion: chromiumMajorVersion,
electronVersion: versionInformation.electronVersion,
},
null,
2,
)}\n`,
);
}
generateChromiumVersion().catch((e: unknown) => {
console.error(e);
process.exit(2);
});

View File

@@ -6,6 +6,16 @@ import { format, resolveConfig } from "prettier";
const extensionDirectory = resolve(__dirname, "..");
const schemas = [
{
path: join(extensionDirectory, "src", "packaging", "qlpack-file.ts"),
type: "QlPackFile",
schemaPath: join(
extensionDirectory,
"src",
"packaging",
"qlpack-file.schema.json",
),
},
{
path: join(
extensionDirectory,

View File

@@ -19,8 +19,9 @@
import { spawnSync } from "child_process";
import { basename, resolve } from "path";
import { pathExists, readJSON } from "fs-extra";
import { RawSourceMap, SourceMapConsumer } from "source-map";
import { Open } from "unzipper";
import type { RawSourceMap } from "source-map";
import { SourceMapConsumer } from "source-map";
import { unzipToDirectorySequentially } from "../src/common/unzip";
if (process.argv.length !== 4) {
console.error(
@@ -78,10 +79,10 @@ async function extractSourceMap() {
releaseAssetsDirectory,
]);
const file = await Open.file(
await unzipToDirectorySequentially(
resolve(releaseAssetsDirectory, sourcemapAsset.name),
sourceMapsDirectory,
);
await file.extract({ path: sourceMapsDirectory });
} else {
const workflowRuns = runGhJSON<WorkflowRunListItem[]>([
"run",
@@ -115,21 +116,35 @@ async function extractSourceMap() {
}
if (stacktrace.includes("at")) {
const rawSourceMaps = new Map<string, RawSourceMap>();
const rawSourceMaps = new Map<string, RawSourceMap | null>();
const mappedStacktrace = await replaceAsync(
stacktrace,
stackLineRegex,
async (match, name, file, line, column) => {
if (!rawSourceMaps.has(file)) {
const rawSourceMap: RawSourceMap = await readJSON(
resolve(sourceMapsDirectory, `${basename(file)}.map`),
);
rawSourceMaps.set(file, rawSourceMap);
try {
const rawSourceMap: RawSourceMap = await readJSON(
resolve(sourceMapsDirectory, `${basename(file)}.map`),
);
rawSourceMaps.set(file, rawSourceMap);
} catch (e: unknown) {
// If the file is not found, we will not decode it and not try reading this source map again
if (e instanceof Error && "code" in e && e.code === "ENOENT") {
rawSourceMaps.set(file, null);
} else {
throw e;
}
}
}
const sourceMap = rawSourceMaps.get(file);
if (!sourceMap) {
return match;
}
const originalPosition = await SourceMapConsumer.with(
rawSourceMaps.get(file) as RawSourceMap,
sourceMap,
null,
async function (consumer) {
return consumer.originalPositionFor({
@@ -228,7 +243,7 @@ type WorkflowRunListItem = {
async function replaceAsync(
str: string,
regex: RegExp,
replacer: (substring: string, ...args: any[]) => Promise<string>,
replacer: (substring: string, ...args: string[]) => Promise<string>,
) {
const promises: Array<Promise<string>> = [];
str.replace(regex, (match, ...args) => {

View File

@@ -0,0 +1,87 @@
import { join, resolve } from "path";
import { execSync } from "child_process";
import { outputFile, readFile, readJSON } from "fs-extra";
import { getVersionInformation } from "./util/vscode-versions";
import { fetchJson } from "./util/fetch";
const extensionDirectory = resolve(__dirname, "..");
interface Release {
tag_name: string;
}
async function updateNodeVersion() {
const latestVsCodeRelease = await fetchJson<Release>(
"https://api.github.com/repos/microsoft/vscode/releases/latest",
);
const latestVsCodeVersion = latestVsCodeRelease.tag_name;
console.log(`Latest VS Code version is ${latestVsCodeVersion}`);
const versionInformation = await getVersionInformation(latestVsCodeVersion);
console.log(
`VS Code ${versionInformation.vscodeVersion} uses Electron ${versionInformation.electronVersion} and Node ${versionInformation.nodeVersion}`,
);
let currentNodeVersion = (
await readFile(join(extensionDirectory, ".nvmrc"), "utf8")
).trim();
if (currentNodeVersion.startsWith("v")) {
currentNodeVersion = currentNodeVersion.slice(1);
}
if (currentNodeVersion === versionInformation.nodeVersion) {
console.log("Node version is already up to date");
return;
}
console.log("Node version needs to be updated, updating now");
await outputFile(
join(extensionDirectory, ".nvmrc"),
`v${versionInformation.nodeVersion}\n`,
);
console.log("Updated .nvmrc");
const packageJson = await readJSON(
join(extensionDirectory, "package.json"),
"utf8",
);
// The @types/node version needs to match the first two parts of the Node
// version, e.g. if the Node version is 18.17.3, the @types/node version
// should be 18.17.*. This corresponds with the documentation at
// https://github.com/definitelytyped/definitelytyped#how-do-definitely-typed-package-versions-relate-to-versions-of-the-corresponding-library
// "The patch version of the type declaration package is unrelated to the library patch version. This allows
// Definitely Typed to safely update type declarations for the same major/minor version of a library."
// 18.17.* is equivalent to >=18.17.0 <18.18.0
const typesNodeVersion = versionInformation.nodeVersion
.split(".")
.slice(0, 2)
.join(".");
packageJson.engines.node = `^${versionInformation.nodeVersion}`;
packageJson.devDependencies["@types/node"] = `${typesNodeVersion}.*`;
await outputFile(
join(extensionDirectory, "package.json"),
`${JSON.stringify(packageJson, null, 2)}\n`,
);
console.log("Updated package.json, now running npm install");
execSync("npm install", { cwd: extensionDirectory, stdio: "inherit" });
// Always use the latest patch version of @types/node
execSync("npm upgrade @types/node", {
cwd: extensionDirectory,
stdio: "inherit",
});
console.log("Node version updated successfully");
}
updateNodeVersion().catch((e: unknown) => {
console.error(e);
process.exit(2);
});

View File

@@ -0,0 +1,10 @@
export async function fetchJson<T>(url: string): Promise<T> {
const response = await fetch(url);
if (!response.ok) {
throw new Error(
`Could not fetch ${url}: ${response.status} ${response.statusText}`,
);
}
return (await response.json()) as T;
}

View File

@@ -0,0 +1,70 @@
import { minVersion } from "semver";
import { fetchJson } from "./fetch";
type VsCodePackageJson = {
devDependencies: {
electron: string;
};
};
async function getVsCodePackageJson(
version: string,
): Promise<VsCodePackageJson> {
return await fetchJson(
`https://raw.githubusercontent.com/microsoft/vscode/${version}/package.json`,
);
}
interface ElectronVersion {
version: string;
date: string;
node: string;
v8: string;
uv: string;
zlib: string;
openssl: string;
modules: string;
chrome: string;
files: string[];
body?: string;
apm?: string;
}
async function getElectronReleases(): Promise<ElectronVersion[]> {
return await fetchJson("https://releases.electronjs.org/releases.json");
}
type VersionInformation = {
vscodeVersion: string;
electronVersion: string;
nodeVersion: string;
chromiumVersion: string;
};
export async function getVersionInformation(
vscodeVersion: string,
): Promise<VersionInformation> {
const vsCodePackageJson = await getVsCodePackageJson(vscodeVersion);
const electronVersion = minVersion(
vsCodePackageJson.devDependencies.electron,
)?.version;
if (!electronVersion) {
throw new Error("Could not find Electron version");
}
const electronReleases = await getElectronReleases();
const electronRelease = electronReleases.find(
(release) => release.version === electronVersion,
);
if (!electronRelease) {
throw new Error(`Could not find Electron release ${electronVersion}`);
}
return {
vscodeVersion,
electronVersion,
nodeVersion: electronRelease.node,
chromiumVersion: electronRelease.chrome,
};
}

View File

@@ -30,34 +30,34 @@
"Dataflow Tracking Class": {
"prefix": "dataflowtracking",
"body": [
"class $1 extends DataFlow::Configuration {",
"\t$1() { this = \"$1\" }",
"\t",
"\toverride predicate isSource(DataFlow::Node node) {",
"module $1 implements DataFlow::ConfigSig {",
"\tpredicate isSource(DataFlow::Node node) {",
"\t\t${2:none()}",
"\t}",
"\t",
"\toverride predicate isSink(DataFlow::Node node) {",
"",
"\tpredicate isSink(DataFlow::Node node) {",
"\t\t${3:none()}",
"\t}",
"}"
"}",
"",
"module ${4:Flow} = DataFlow::Global<$1>;"
],
"description": "Boilerplate for a dataflow tracking class"
},
"Taint Tracking Class": {
"prefix": "tainttracking",
"body": [
"class $1 extends TaintTracking::Configuration {",
"\t$1() { this = \"$1\" }",
"\t",
"\toverride predicate isSource(DataFlow::Node node) {",
"module $1 implements DataFlow::ConfigSig {",
"\tpredicate isSource(DataFlow::Node node) {",
"\t\t${2:none()}",
"\t}",
"\t",
"\toverride predicate isSink(DataFlow::Node node) {",
"",
"\tpredicate isSink(DataFlow::Node node) {",
"\t\t${3:none()}",
"\t}",
"}"
"}",
"",
"module ${4:Flow} = TaintTracking::Global<$1>;"
],
"description": "Boilerplate for a taint tracking class"
},

View File

@@ -1,15 +0,0 @@
/**
* The d3 library is designed to work in both the browser and
* node. Consequently their typings files refer to both node
* types like `Buffer` (which don't exist in the browser), and browser
* types like `Blob` (which don't exist in node). Instead of sticking
* all of `dom` in `compilerOptions.lib`, it suffices just to put in a
* stub definition of the affected types so that compilation
* succeeds.
*/
declare type RequestInit = Record<string, unknown>;
declare type ElementTagNameMap = any;
declare type NodeListOf<T> = Record<string, T>;
declare type Node = Record<string, unknown>;
declare type XMLDocument = Record<string, unknown>;

View File

@@ -1,4 +1,4 @@
import { AppCommandManager } from "../common/commands";
import type { AppCommandManager } from "../common/commands";
import { Uri, workspace } from "vscode";
import { join } from "path";
import { pathExists } from "fs-extra";

View File

@@ -0,0 +1,62 @@
import { execFile } from "child_process";
import { promisify } from "util";
import type { BaseLogger } from "../common/logging";
import type { ProgressReporter } from "../common/logging/vscode";
import {
getChildProcessErrorMessage,
getErrorMessage,
} from "../common/helpers-pure";
/**
* Flags to pass to all cli commands.
*/
export const LOGGING_FLAGS = ["-v", "--log-to-stderr"];
/**
* Runs a CodeQL CLI command without invoking the CLI server, deserializing the output as JSON.
* @param codeQlPath The path to the CLI.
* @param command The `codeql` command to be run, provided as an array of command/subcommand names.
* @param commandArgs The arguments to pass to the `codeql` command.
* @param description Description of the action being run, to be shown in log and error messages.
* @param logger Logger to write command log messages, e.g. to an output channel.
* @param progressReporter Used to output progress messages, e.g. to the status bar.
* @returns A JSON object parsed from the contents of the command's stdout, if the command succeeded.
*/
export async function runJsonCodeQlCliCommand<OutputType>(
codeQlPath: string,
command: string[],
commandArgs: string[],
description: string,
logger: BaseLogger,
progressReporter?: ProgressReporter,
): Promise<OutputType> {
// Add logging arguments first, in case commandArgs contains positional parameters.
const args = command.concat(LOGGING_FLAGS).concat(commandArgs);
const argsString = args.join(" ");
let stdout: string;
try {
if (progressReporter !== undefined) {
progressReporter.report({ message: description });
}
void logger.log(
`${description} using CodeQL CLI: ${codeQlPath} ${argsString}...`,
);
const result = await promisify(execFile)(codeQlPath, args);
void logger.log(result.stderr);
void logger.log("CLI command succeeded.");
stdout = result.stdout;
} catch (err) {
throw new Error(
`${description} failed: ${getChildProcessErrorMessage(err)}`,
);
}
try {
return JSON.parse(stdout) as OutputType;
} catch (err) {
throw new Error(
`Parsing output of ${description} failed: ${getErrorMessage(err)}`,
);
}
}

View File

@@ -0,0 +1,102 @@
import { asError, getErrorMessage } from "../common/helpers-pure";
// https://docs.github.com/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/exit-codes
const EXIT_CODE_USER_ERROR = 2;
const EXIT_CODE_CANCELLED = 98;
export class ExitCodeError extends Error {
constructor(public readonly exitCode: number | null) {
super(`Process exited with code ${exitCode}`);
}
}
export class CliError extends Error {
constructor(
message: string,
public readonly stderr: string | undefined,
public readonly cause: Error,
public readonly commandDescription: string,
public readonly commandArgs: string[],
) {
super(message);
}
}
export function getCliError(
e: unknown,
stderr: string | undefined,
commandDescription: string,
commandArgs: string[],
): CliError {
const error = asError(e);
if (!(error instanceof ExitCodeError) || !stderr) {
return formatCliErrorFallback(
error,
stderr,
commandDescription,
commandArgs,
);
}
switch (error.exitCode) {
case EXIT_CODE_USER_ERROR: {
// This is an error that we should try to format nicely
const fatalErrorIndex = stderr.lastIndexOf("A fatal error occurred: ");
if (fatalErrorIndex !== -1) {
return new CliError(
stderr.slice(fatalErrorIndex),
stderr,
error,
commandDescription,
commandArgs,
);
}
break;
}
case EXIT_CODE_CANCELLED: {
const cancellationIndex = stderr.lastIndexOf(
"Computation was cancelled: ",
);
if (cancellationIndex !== -1) {
return new CliError(
stderr.slice(cancellationIndex),
stderr,
error,
commandDescription,
commandArgs,
);
}
break;
}
}
return formatCliErrorFallback(error, stderr, commandDescription, commandArgs);
}
function formatCliErrorFallback(
error: Error,
stderr: string | undefined,
commandDescription: string,
commandArgs: string[],
): CliError {
if (stderr) {
return new CliError(
stderr,
undefined,
error,
commandDescription,
commandArgs,
);
}
return new CliError(
getErrorMessage(error),
undefined,
error,
commandDescription,
commandArgs,
);
}

View File

@@ -1,24 +1,49 @@
import * as semver from "semver";
import { runCodeQlCliCommand } from "./cli";
import { Logger } from "../common/logging";
import type { SemVer } from "semver";
import { parse } from "semver";
import { runJsonCodeQlCliCommand } from "./cli-command";
import type { Logger } from "../common/logging";
import { getErrorMessage } from "../common/helpers-pure";
interface VersionResult {
version: string;
features: CliFeatures | undefined;
}
export interface CliFeatures {
featuresInVersionResult?: boolean;
mrvaPackCreate?: boolean;
}
export interface VersionAndFeatures {
version: SemVer;
features: CliFeatures;
}
/**
* Get the version of a CodeQL CLI.
*/
export async function getCodeQlCliVersion(
codeQlPath: string,
logger: Logger,
): Promise<semver.SemVer | undefined> {
): Promise<VersionAndFeatures | undefined> {
try {
const output: string = await runCodeQlCliCommand(
const output: VersionResult = await runJsonCodeQlCliCommand<VersionResult>(
codeQlPath,
["version"],
["--format=terse"],
["--format=json"],
"Checking CodeQL version",
logger,
);
return semver.parse(output.trim()) || undefined;
const version = parse(output.version.trim()) || undefined;
if (version === undefined) {
return undefined;
}
return {
version,
features: output.features ?? {},
};
} catch (e) {
// Failed to run the version command. This might happen if the cli version is _really_ old, or it is corrupted.
// Either way, we can't determine compatibility.

File diff suppressed because it is too large Load Diff

View File

@@ -1,21 +1,18 @@
import * as fetch from "node-fetch";
import { pathExists, mkdtemp, createWriteStream, remove } from "fs-extra";
import type { WriteStream } from "fs";
import { createWriteStream, mkdtemp, pathExists, remove } from "fs-extra";
import { tmpdir } from "os";
import { delimiter, dirname, join } from "path";
import * as semver from "semver";
import { URL } from "url";
import { ExtensionContext, Event } from "vscode";
import { DistributionConfig } from "../config";
import { Range, satisfies } from "semver";
import type { Event, ExtensionContext } from "vscode";
import type { DistributionConfig } from "../config";
import { extLogger } from "../common/logging/vscode";
import type { VersionAndFeatures } from "./cli-version";
import { getCodeQlCliVersion } from "./cli-version";
import {
ProgressCallback,
reportStreamProgress,
} from "../common/vscode/progress";
import type { ProgressCallback } from "../common/vscode/progress";
import { reportStreamProgress } from "../common/vscode/progress";
import {
codeQlLauncherName,
deprecatedCodeQlLauncherName,
extractZipArchive,
getRequiredAssetName,
} from "../common/distribution";
import {
@@ -26,6 +23,12 @@ import {
showAndLogErrorMessage,
showAndLogWarningMessage,
} from "../common/logging";
import { unzipToDirectoryConcurrently } from "../common/unzip-concurrently";
import { reportUnzipProgress } from "../common/vscode/unzip-progress";
import type { Release } from "./distribution/release";
import { ReleasesApiConsumer } from "./distribution/releases-api-consumer";
import { createTimeoutSignal } from "../common/fetch-stream";
import { AbortError } from "node-fetch";
/**
* distribution.ts
@@ -35,28 +38,21 @@ import {
*/
/**
* Default value for the owner name of the extension-managed distribution on GitHub.
*
* We set the default here rather than as a default config value so that this default is invoked
* upon blanking the setting.
* Repository name with owner of the stable version of the extension-managed distribution on GitHub.
*/
const DEFAULT_DISTRIBUTION_OWNER_NAME = "github";
const STABLE_DISTRIBUTION_REPOSITORY_NWO = "github/codeql-cli-binaries";
/**
* Default value for the repository name of the extension-managed distribution on GitHub.
*
* We set the default here rather than as a default config value so that this default is invoked
* upon blanking the setting.
* Repository name with owner of the nightly version of the extension-managed distribution on GitHub.
*/
const DEFAULT_DISTRIBUTION_REPOSITORY_NAME = "codeql-cli-binaries";
const NIGHTLY_DISTRIBUTION_REPOSITORY_NWO = "dsp-testing/codeql-cli-nightlies";
/**
* Range of versions of the CLI that are compatible with the extension.
*
* This applies to both extension-managed and CLI distributions.
*/
export const DEFAULT_DISTRIBUTION_VERSION_RANGE: semver.Range =
new semver.Range("2.x");
export const DEFAULT_DISTRIBUTION_VERSION_RANGE: Range = new Range("2.x");
export interface DistributionProvider {
getCodeQlPathWithoutVersionCheck(): Promise<string | undefined>;
@@ -67,7 +63,7 @@ export interface DistributionProvider {
export class DistributionManager implements DistributionProvider {
constructor(
public readonly config: DistributionConfig,
private readonly versionRange: semver.Range,
private readonly versionRange: Range,
extensionContext: ExtensionContext,
) {
this._onDidChangeDistribution = config.onDidChangeConfiguration;
@@ -95,11 +91,11 @@ export class DistributionManager implements DistributionProvider {
kind: FindDistributionResultKind.NoDistribution,
};
}
const version = await getCodeQlCliVersion(
const versionAndFeatures = await getCodeQlCliVersion(
distribution.codeQlPath,
extLogger,
);
if (version === undefined) {
if (versionAndFeatures === undefined) {
return {
distribution,
kind: FindDistributionResultKind.UnknownCompatibilityDistribution,
@@ -126,17 +122,21 @@ export class DistributionManager implements DistributionProvider {
distribution.kind !== DistributionKind.ExtensionManaged ||
this.config.includePrerelease;
if (!semver.satisfies(version, this.versionRange, { includePrerelease })) {
if (
!satisfies(versionAndFeatures.version, this.versionRange, {
includePrerelease,
})
) {
return {
distribution,
kind: FindDistributionResultKind.IncompatibleDistribution,
version,
versionAndFeatures,
};
}
return {
distribution,
kind: FindDistributionResultKind.CompatibleDistribution,
version,
versionAndFeatures,
};
}
@@ -195,9 +195,8 @@ export class DistributionManager implements DistributionProvider {
if (process.env.PATH) {
for (const searchDirectory of process.env.PATH.split(delimiter)) {
const expectedLauncherPath = await getExecutableFromDirectory(
searchDirectory,
);
const expectedLauncherPath =
await getExecutableFromDirectory(searchDirectory);
if (expectedLauncherPath) {
return {
codeQlPath: expectedLauncherPath,
@@ -284,7 +283,7 @@ export class DistributionManager implements DistributionProvider {
class ExtensionSpecificDistributionManager {
constructor(
private readonly config: DistributionConfig,
private readonly versionRange: semver.Range,
private readonly versionRange: Range,
private readonly extensionContext: ExtensionContext,
) {
/**/
@@ -388,15 +387,25 @@ class ExtensionSpecificDistributionManager {
);
}
const assetStream =
await this.createReleasesApiConsumer().streamBinaryContentOfAsset(
assets[0],
);
const {
signal,
onData,
dispose: disposeTimeout,
} = createTimeoutSignal(this.config.downloadTimeout);
const tmpDirectory = await mkdtemp(join(tmpdir(), "vscode-codeql"));
let archiveFile: WriteStream | undefined = undefined;
try {
const assetStream =
await this.createReleasesApiConsumer().streamBinaryContentOfAsset(
assets[0],
signal,
);
const archivePath = join(tmpDirectory, "distributionDownload.zip");
const archiveFile = createWriteStream(archivePath);
archiveFile = createWriteStream(archivePath);
const contentLength = assetStream.headers.get("content-length");
const totalNumBytes = contentLength
@@ -409,20 +418,52 @@ class ExtensionSpecificDistributionManager {
progressCallback,
);
await new Promise((resolve, reject) =>
assetStream.body.on("data", onData);
await new Promise((resolve, reject) => {
if (!archiveFile) {
throw new Error("Invariant violation: archiveFile not set");
}
assetStream.body
.pipe(archiveFile)
.on("finish", resolve)
.on("error", reject),
);
.on("error", reject);
// If an error occurs on the body, we also want to reject the promise (e.g. during a timeout error).
assetStream.body.on("error", reject);
});
disposeTimeout();
await this.bumpDistributionFolderIndex();
void extLogger.log(
`Extracting CodeQL CLI to ${this.getDistributionStoragePath()}`,
);
await extractZipArchive(archivePath, this.getDistributionStoragePath());
await unzipToDirectoryConcurrently(
archivePath,
this.getDistributionStoragePath(),
progressCallback
? reportUnzipProgress(
`Extracting CodeQL CLI ${release.name}`,
progressCallback,
)
: undefined,
);
} catch (e) {
if (e instanceof AbortError) {
const thrownError = new AbortError("The download timed out.");
thrownError.stack = e.stack;
throw thrownError;
}
throw e;
} finally {
disposeTimeout();
archiveFile?.close();
await remove(tmpDirectory);
}
}
@@ -444,9 +485,18 @@ class ExtensionSpecificDistributionManager {
void extLogger.log(
`Searching for latest release including ${requiredAssetName}.`,
);
const versionRange = this.usingNightlyReleases
? undefined
: this.versionRange;
const orderBySemver = !this.usingNightlyReleases;
const includePrerelease =
this.usingNightlyReleases || this.config.includePrerelease;
return this.createReleasesApiConsumer().getLatestRelease(
this.versionRange,
this.config.includePrerelease,
versionRange,
orderBySemver,
includePrerelease,
(release) => {
// v2.12.3 was released with a bug that causes the extension to fail
// so we force the extension to ignore it.
@@ -476,19 +526,26 @@ class ExtensionSpecificDistributionManager {
}
private createReleasesApiConsumer(): ReleasesApiConsumer {
const ownerName = this.config.ownerName
? this.config.ownerName
: DEFAULT_DISTRIBUTION_OWNER_NAME;
const repositoryName = this.config.repositoryName
? this.config.repositoryName
: DEFAULT_DISTRIBUTION_REPOSITORY_NAME;
return new ReleasesApiConsumer(
ownerName,
repositoryName,
this.distributionRepositoryNwo,
this.config.personalAccessToken,
);
}
private get distributionRepositoryNwo(): string {
if (this.config.channel === "nightly") {
return NIGHTLY_DISTRIBUTION_REPOSITORY_NWO;
} else {
return STABLE_DISTRIBUTION_REPOSITORY_NWO;
}
}
private get usingNightlyReleases(): boolean {
return (
this.distributionRepositoryNwo === NIGHTLY_DISTRIBUTION_REPOSITORY_NWO
);
}
private async bumpDistributionFolderIndex(): Promise<void> {
const index = this.extensionContext.globalState.get(
ExtensionSpecificDistributionManager._currentDistributionFolderIndexStateKey,
@@ -543,171 +600,6 @@ class ExtensionSpecificDistributionManager {
private static readonly _codeQlExtractedFolderName = "codeql";
}
export class ReleasesApiConsumer {
constructor(
ownerName: string,
repoName: string,
personalAccessToken?: string,
) {
// Specify version of the GitHub API
this._defaultHeaders["accept"] = "application/vnd.github.v3+json";
if (personalAccessToken) {
this._defaultHeaders["authorization"] = `token ${personalAccessToken}`;
}
this._ownerName = ownerName;
this._repoName = repoName;
}
public async getLatestRelease(
versionRange: semver.Range,
includePrerelease = false,
additionalCompatibilityCheck?: (release: GithubRelease) => boolean,
): Promise<Release> {
const apiPath = `/repos/${this._ownerName}/${this._repoName}/releases`;
const allReleases: GithubRelease[] = await (
await this.makeApiCall(apiPath)
).json();
const compatibleReleases = allReleases.filter((release) => {
if (release.prerelease && !includePrerelease) {
return false;
}
const version = semver.parse(release.tag_name);
if (
version === null ||
!semver.satisfies(version, versionRange, { includePrerelease })
) {
return false;
}
return (
!additionalCompatibilityCheck || additionalCompatibilityCheck(release)
);
});
// Tag names must all be parsable to semvers due to the previous filtering step.
const latestRelease = compatibleReleases.sort((a, b) => {
const versionComparison = semver.compare(
semver.parse(b.tag_name)!,
semver.parse(a.tag_name)!,
);
if (versionComparison !== 0) {
return versionComparison;
}
return b.created_at.localeCompare(a.created_at, "en-US");
})[0];
if (latestRelease === undefined) {
throw new Error(
"No compatible CodeQL CLI releases were found. " +
"Please check that the CodeQL extension is up to date.",
);
}
const assets: ReleaseAsset[] = latestRelease.assets.map((asset) => {
return {
id: asset.id,
name: asset.name,
size: asset.size,
};
});
return {
assets,
createdAt: latestRelease.created_at,
id: latestRelease.id,
name: latestRelease.name,
};
}
public async streamBinaryContentOfAsset(
asset: ReleaseAsset,
): Promise<fetch.Response> {
const apiPath = `/repos/${this._ownerName}/${this._repoName}/releases/assets/${asset.id}`;
return await this.makeApiCall(apiPath, {
accept: "application/octet-stream",
});
}
protected async makeApiCall(
apiPath: string,
additionalHeaders: { [key: string]: string } = {},
): Promise<fetch.Response> {
const response = await this.makeRawRequest(
ReleasesApiConsumer._apiBase + apiPath,
Object.assign({}, this._defaultHeaders, additionalHeaders),
);
if (!response.ok) {
// Check for rate limiting
const rateLimitResetValue = response.headers.get("X-RateLimit-Reset");
if (response.status === 403 && rateLimitResetValue) {
const secondsToMillisecondsFactor = 1000;
const rateLimitResetDate = new Date(
parseInt(rateLimitResetValue, 10) * secondsToMillisecondsFactor,
);
throw new GithubRateLimitedError(
response.status,
await response.text(),
rateLimitResetDate,
);
}
throw new GithubApiError(response.status, await response.text());
}
return response;
}
private async makeRawRequest(
requestUrl: string,
headers: { [key: string]: string },
redirectCount = 0,
): Promise<fetch.Response> {
const response = await fetch.default(requestUrl, {
headers,
redirect: "manual",
});
const redirectUrl = response.headers.get("location");
if (
isRedirectStatusCode(response.status) &&
redirectUrl &&
redirectCount < ReleasesApiConsumer._maxRedirects
) {
const parsedRedirectUrl = new URL(redirectUrl);
if (parsedRedirectUrl.protocol !== "https:") {
throw new Error("Encountered a non-https redirect, rejecting");
}
if (parsedRedirectUrl.host !== "api.github.com") {
// Remove authorization header if we are redirected outside of the GitHub API.
//
// This is necessary to stream release assets since AWS fails if more than one auth
// mechanism is provided.
delete headers["authorization"];
}
return await this.makeRawRequest(redirectUrl, headers, redirectCount + 1);
}
return response;
}
private readonly _defaultHeaders: { [key: string]: string } = {};
private readonly _ownerName: string;
private readonly _repoName: string;
private static readonly _apiBase = "https://api.github.com";
private static readonly _maxRedirects = 20;
}
function isRedirectStatusCode(statusCode: number): boolean {
return (
statusCode === 301 ||
statusCode === 302 ||
statusCode === 303 ||
statusCode === 307 ||
statusCode === 308
);
}
/*
* Types and helper functions relating to those types.
*/
@@ -747,7 +639,7 @@ interface DistributionResult {
interface CompatibleDistributionResult extends DistributionResult {
kind: FindDistributionResultKind.CompatibleDistribution;
version: semver.SemVer;
versionAndFeatures: VersionAndFeatures;
}
interface UnknownCompatibilityDistributionResult extends DistributionResult {
@@ -756,7 +648,7 @@ interface UnknownCompatibilityDistributionResult extends DistributionResult {
interface IncompatibleDistributionResult extends DistributionResult {
kind: FindDistributionResultKind.IncompatibleDistribution;
version: semver.SemVer;
versionAndFeatures: VersionAndFeatures;
}
interface NoDistributionResult {
@@ -858,116 +750,3 @@ function warnDeprecatedLauncher() {
`Please use "${codeQlLauncherName()}" instead. It is recommended to update to the latest CodeQL binaries.`,
);
}
/**
* A release on GitHub.
*/
interface Release {
assets: ReleaseAsset[];
/**
* The creation date of the release on GitHub.
*/
createdAt: string;
/**
* The id associated with the release on GitHub.
*/
id: number;
/**
* The name associated with the release on GitHub.
*/
name: string;
}
/**
* An asset corresponding to a release on GitHub.
*/
interface ReleaseAsset {
/**
* The id associated with the asset on GitHub.
*/
id: number;
/**
* The name associated with the asset on GitHub.
*/
name: string;
/**
* The size of the asset in bytes.
*/
size: number;
}
/**
* The json returned from github for a release.
*/
export interface GithubRelease {
assets: GithubReleaseAsset[];
/**
* The creation date of the release on GitHub, in ISO 8601 format.
*/
created_at: string;
/**
* The id associated with the release on GitHub.
*/
id: number;
/**
* The name associated with the release on GitHub.
*/
name: string;
/**
* Whether the release is a prerelease.
*/
prerelease: boolean;
/**
* The tag name. This should be the version.
*/
tag_name: string;
}
/**
* The json returned by github for an asset in a release.
*/
export interface GithubReleaseAsset {
/**
* The id associated with the asset on GitHub.
*/
id: number;
/**
* The name associated with the asset on GitHub.
*/
name: string;
/**
* The size of the asset in bytes.
*/
size: number;
}
export class GithubApiError extends Error {
constructor(
public status: number,
public body: string,
) {
super(`API call failed with status code ${status}, body: ${body}`);
}
}
export class GithubRateLimitedError extends GithubApiError {
constructor(
public status: number,
public body: string,
public rateLimitResetDate: Date,
) {
super(status, body);
}
}

View File

@@ -0,0 +1,18 @@
export class GithubApiError extends Error {
constructor(
public status: number,
public body: string,
) {
super(`API call failed with status code ${status}, body: ${body}`);
}
}
export class GithubRateLimitedError extends GithubApiError {
constructor(
public status: number,
public body: string,
public rateLimitResetDate: Date,
) {
super(status, body);
}
}

View File

@@ -0,0 +1,48 @@
/**
* A release of the CodeQL CLI hosted on GitHub.
*/
export interface Release {
/**
* The assets associated with the release on GitHub.
*/
assets: ReleaseAsset[];
/**
* The creation date of the release on GitHub.
*
* This is the date that the release was uploaded to GitHub, and not the date
* when we downloaded it or the date when we fetched the data from the GitHub API.
*/
createdAt: string;
/**
* The id associated with the release on GitHub.
*/
id: number;
/**
* The name associated with the release on GitHub.
*/
name: string;
}
/**
* An asset attached to a release on GitHub.
* Each release may have multiple assets, and each asset can be downloaded independently.
*/
export interface ReleaseAsset {
/**
* The id associated with the asset on GitHub.
*/
id: number;
/**
* The name associated with the asset on GitHub.
*/
name: string;
/**
* The size of the asset in bytes.
*/
size: number;
}

View File

@@ -0,0 +1,212 @@
import type { Response } from "node-fetch";
import { default as fetch } from "node-fetch";
import type { Range } from "semver";
import { compare, parse, satisfies } from "semver";
import { URL } from "url";
import type { Release, ReleaseAsset } from "./release";
import { GithubApiError, GithubRateLimitedError } from "./github-api-error";
/**
* Communicates with the GitHub API to determine the latest compatible release and download assets.
*/
export class ReleasesApiConsumer {
private static readonly apiBase = "https://api.github.com";
private static readonly maxRedirects = 20;
private readonly defaultHeaders: { [key: string]: string } = {};
constructor(
private readonly repositoryNwo: string,
personalAccessToken?: string,
) {
// Specify version of the GitHub API
this.defaultHeaders["accept"] = "application/vnd.github.v3+json";
if (personalAccessToken) {
this.defaultHeaders["authorization"] = `token ${personalAccessToken}`;
}
}
public async getLatestRelease(
versionRange: Range | undefined,
orderBySemver = true,
includePrerelease = false,
additionalCompatibilityCheck?: (release: GithubRelease) => boolean,
): Promise<Release> {
const apiPath = `/repos/${this.repositoryNwo}/releases`;
const allReleases: GithubRelease[] = await (
await this.makeApiCall(apiPath)
).json();
const compatibleReleases = allReleases.filter((release) => {
if (release.prerelease && !includePrerelease) {
return false;
}
if (versionRange !== undefined) {
const version = parse(release.tag_name);
if (
version === null ||
!satisfies(version, versionRange, { includePrerelease })
) {
return false;
}
}
return (
!additionalCompatibilityCheck || additionalCompatibilityCheck(release)
);
});
// Tag names must all be parsable to semvers due to the previous filtering step.
const latestRelease = compatibleReleases.sort((a, b) => {
const versionComparison = orderBySemver
? compare(parse(b.tag_name)!, parse(a.tag_name)!)
: b.id - a.id;
if (versionComparison !== 0) {
return versionComparison;
}
return b.created_at.localeCompare(a.created_at, "en-US");
})[0];
if (latestRelease === undefined) {
throw new Error(
"No compatible CodeQL CLI releases were found. " +
"Please check that the CodeQL extension is up to date.",
);
}
const assets: ReleaseAsset[] = latestRelease.assets.map((asset) => {
return {
id: asset.id,
name: asset.name,
size: asset.size,
};
});
return {
assets,
createdAt: latestRelease.created_at,
id: latestRelease.id,
name: latestRelease.name,
};
}
public async streamBinaryContentOfAsset(
asset: ReleaseAsset,
signal?: AbortSignal,
): Promise<Response> {
const apiPath = `/repos/${this.repositoryNwo}/releases/assets/${asset.id}`;
return await this.makeApiCall(
apiPath,
{
accept: "application/octet-stream",
},
signal,
);
}
protected async makeApiCall(
apiPath: string,
additionalHeaders: { [key: string]: string } = {},
signal?: AbortSignal,
): Promise<Response> {
const response = await this.makeRawRequest(
ReleasesApiConsumer.apiBase + apiPath,
Object.assign({}, this.defaultHeaders, additionalHeaders),
signal,
);
if (!response.ok) {
// Check for rate limiting
const rateLimitResetValue = response.headers.get("X-RateLimit-Reset");
if (response.status === 403 && rateLimitResetValue) {
const secondsToMillisecondsFactor = 1000;
const rateLimitResetDate = new Date(
parseInt(rateLimitResetValue, 10) * secondsToMillisecondsFactor,
);
throw new GithubRateLimitedError(
response.status,
await response.text(),
rateLimitResetDate,
);
}
throw new GithubApiError(response.status, await response.text());
}
return response;
}
private async makeRawRequest(
requestUrl: string,
headers: { [key: string]: string },
signal?: AbortSignal,
redirectCount = 0,
): Promise<Response> {
const response = await fetch(requestUrl, {
headers,
redirect: "manual",
signal,
});
const redirectUrl = response.headers.get("location");
if (
isRedirectStatusCode(response.status) &&
redirectUrl &&
redirectCount < ReleasesApiConsumer.maxRedirects
) {
const parsedRedirectUrl = new URL(redirectUrl);
if (parsedRedirectUrl.protocol !== "https:") {
throw new Error("Encountered a non-https redirect, rejecting");
}
if (parsedRedirectUrl.host !== "api.github.com") {
// Remove authorization header if we are redirected outside of the GitHub API.
//
// This is necessary to stream release assets since AWS fails if more than one auth
// mechanism is provided.
delete headers["authorization"];
}
return await this.makeRawRequest(
redirectUrl,
headers,
signal,
redirectCount + 1,
);
}
return response;
}
}
function isRedirectStatusCode(statusCode: number): boolean {
return (
statusCode === 301 ||
statusCode === 302 ||
statusCode === 303 ||
statusCode === 307 ||
statusCode === 308
);
}
/**
* The json returned from github for a release.
* See https://docs.github.com/en/rest/releases/releases#get-a-release for example response and response schema.
*
* This type must match the format of the GitHub API and is not intended to be used outside of this file except for tests. Please use the `Release` type instead.
*/
export interface GithubRelease {
assets: GithubReleaseAsset[];
created_at: string;
id: number;
name: string;
prerelease: boolean;
tag_name: string;
}
/**
* The json returned by github for an asset in a release.
* See https://docs.github.com/en/rest/releases/releases#get-a-release for example response and response schema.
*
* This type must match the format of the GitHub API and is not intended to be used outside of this file except for tests. Please use the `ReleaseAsset` type instead.
*/
interface GithubReleaseAsset {
id: number;
name: string;
size: number;
}

View File

@@ -1,6 +1,11 @@
import { CodeQLCliServer } from "./cli";
import { Uri, window } from "vscode";
import { isQueryLanguage, QueryLanguage } from "../common/query-language";
import type { CodeQLCliServer } from "./cli";
import type { CancellationToken, Uri } from "vscode";
import { window } from "vscode";
import {
getLanguageDisplayName,
isQueryLanguage,
QueryLanguage,
} from "../common/query-language";
import { getOnDiskWorkspaceFolders } from "../common/vscode/workspace-folders";
import { extLogger } from "../common/logging/vscode";
import { UserCancellationException } from "../common/vscode/progress";
@@ -45,15 +50,28 @@ export async function findLanguage(
export async function askForLanguage(
cliServer: CodeQLCliServer,
throwOnEmpty = true,
token?: CancellationToken,
): Promise<QueryLanguage | undefined> {
const language = await window.showQuickPick(
await cliServer.getSupportedLanguages(),
const supportedLanguages = await cliServer.getSupportedLanguages();
const items = supportedLanguages
.filter((language) => isQueryLanguage(language))
.map((language) => ({
label: getLanguageDisplayName(language),
description: language,
language,
}))
.sort((a, b) => a.label.localeCompare(b.label));
const selectedItem = await window.showQuickPick(
items,
{
placeHolder: "Select target language for your query",
placeHolder: "Select target query language",
ignoreFocusOut: true,
},
token,
);
if (!language) {
if (!selectedItem) {
// This only happens if the user cancels the quick pick.
if (throwOnEmpty) {
throw new UserCancellationException("Cancelled.");
@@ -66,6 +84,8 @@ export async function askForLanguage(
return undefined;
}
const language = selectedItem.language;
if (!isQueryLanguage(language)) {
void showAndLogErrorMessage(
extLogger,

View File

@@ -1,5 +1,5 @@
import { CodeQLCliServer } from "./cli";
import { QueryMetadata } from "../common/interface-types";
import type { CodeQLCliServer } from "./cli";
import type { QueryMetadata } from "../common/interface-types";
import { extLogger } from "../common/logging/vscode";
/**

View File

@@ -1,10 +1,10 @@
import { Credentials } from "./authentication";
import { Disposable } from "./disposable-object";
import { AppEventEmitter } from "./events";
import { NotificationLogger } from "./logging";
import { Memento } from "./memento";
import { AppCommandManager } from "./commands";
import { AppTelemetry } from "./telemetry";
import type { Credentials } from "./authentication";
import type { Disposable } from "./disposable-object";
import type { AppEventEmitter } from "./events";
import type { NotificationLogger } from "./logging";
import type { Memento } from "./memento";
import type { AppCommandManager } from "./commands";
import type { AppTelemetry } from "./telemetry";
export interface App {
createEventEmitter<T>(): AppEventEmitter<T>;

View File

@@ -1,4 +1,4 @@
import * as Octokit from "@octokit/rest";
import type { Octokit } from "@octokit/rest";
/**
* An interface providing methods for obtaining access tokens
@@ -12,7 +12,7 @@ export interface Credentials {
*
* @returns An instance of Octokit.
*/
getOctokit(): Promise<Octokit.Octokit>;
getOctokit(): Promise<Octokit>;
/**
* Returns an OAuth access token.
@@ -31,4 +31,9 @@ export interface Credentials {
* @returns An OAuth access token, or undefined.
*/
getExistingAccessToken(): Promise<string | undefined>;
/**
* Returns the ID of the authentication provider to use.
*/
authProviderId: string;
}

View File

@@ -4,7 +4,7 @@
* the "for the sake of extensibility" comment in messages.ts.
*/
// eslint-disable-next-line @typescript-eslint/no-namespace
export namespace ColumnKindCode {
export namespace BqrsColumnKindCode {
export const FLOAT = "f";
export const INTEGER = "i";
export const STRING = "s";
@@ -13,55 +13,44 @@ export namespace ColumnKindCode {
export const ENTITY = "e";
}
type ColumnKind =
| typeof ColumnKindCode.FLOAT
| typeof ColumnKindCode.INTEGER
| typeof ColumnKindCode.STRING
| typeof ColumnKindCode.BOOLEAN
| typeof ColumnKindCode.DATE
| typeof ColumnKindCode.ENTITY;
export type BqrsColumnKind =
| typeof BqrsColumnKindCode.FLOAT
| typeof BqrsColumnKindCode.INTEGER
| typeof BqrsColumnKindCode.STRING
| typeof BqrsColumnKindCode.BOOLEAN
| typeof BqrsColumnKindCode.DATE
| typeof BqrsColumnKindCode.ENTITY;
export interface Column {
export interface BqrsSchemaColumn {
name?: string;
kind: ColumnKind;
kind: BqrsColumnKind;
}
export interface ResultSetSchema {
export interface BqrsResultSetSchema {
name: string;
rows: number;
columns: Column[];
pagination?: PaginationInfo;
columns: BqrsSchemaColumn[];
pagination?: BqrsPaginationInfo;
}
export function getResultSetSchema(
resultSetName: string,
resultSets: BQRSInfo,
): ResultSetSchema | undefined {
for (const schema of resultSets["result-sets"]) {
if (schema.name === resultSetName) {
return schema;
}
}
return undefined;
}
interface PaginationInfo {
interface BqrsPaginationInfo {
"step-size": number;
offsets: number[];
}
export interface BQRSInfo {
"result-sets": ResultSetSchema[];
export interface BqrsInfo {
"result-sets": BqrsResultSetSchema[];
}
export type BqrsId = number;
export interface EntityValue {
url?: UrlValue;
export interface BqrsEntityValue {
url?: BqrsUrlValue;
label?: string;
id?: BqrsId;
}
export interface LineColumnLocation {
export interface BqrsLineColumnLocation {
uri: string;
startLine: number;
startColumn: number;
@@ -69,7 +58,7 @@ export interface LineColumnLocation {
endColumn: number;
}
export interface WholeFileLocation {
export interface BqrsWholeFileLocation {
uri: string;
startLine: never;
startColumn: never;
@@ -77,37 +66,17 @@ export interface WholeFileLocation {
endColumn: never;
}
export type ResolvableLocationValue = WholeFileLocation | LineColumnLocation;
export type BqrsUrlValue =
| BqrsWholeFileLocation
| BqrsLineColumnLocation
| string;
export type UrlValue = ResolvableLocationValue | string;
export type CellValue = EntityValue | number | string | boolean;
export type ResultRow = CellValue[];
export interface RawResultSet {
readonly schema: ResultSetSchema;
readonly rows: readonly ResultRow[];
}
// TODO: This function is not necessary. It generates a tuple that is slightly easier
// to handle than the ResultSetSchema and DecodedBqrsChunk. But perhaps it is unnecessary
// boilerplate.
export function transformBqrsResultSet(
schema: ResultSetSchema,
page: DecodedBqrsChunk,
): RawResultSet {
return {
schema,
rows: Array.from(page.tuples),
};
}
export type BqrsCellValue = BqrsEntityValue | number | string | boolean;
export type BqrsKind =
| "String"
| "Float"
| "Integer"
| "String"
| "Boolean"
| "Date"
| "Entity";
@@ -116,8 +85,11 @@ interface BqrsColumn {
name?: string;
kind: BqrsKind;
}
export interface DecodedBqrsChunk {
tuples: CellValue[][];
tuples: BqrsCellValue[][];
next?: number;
columns: BqrsColumn[];
}
export type DecodedBqrs = Record<string, DecodedBqrsChunk>;

View File

@@ -0,0 +1,216 @@
import type {
BqrsCellValue as BqrsCellValue,
BqrsColumnKind as BqrsColumnKind,
DecodedBqrsChunk,
BqrsEntityValue as BqrsEntityValue,
BqrsLineColumnLocation,
BqrsResultSetSchema,
BqrsUrlValue as BqrsUrlValue,
BqrsWholeFileLocation,
BqrsSchemaColumn,
} from "./bqrs-cli-types";
import { BqrsColumnKindCode } from "./bqrs-cli-types";
import type {
CellValue,
Column,
EntityValue,
RawResultSet,
Row,
UrlValue,
UrlValueResolvable,
} from "./raw-result-types";
import { ColumnKind } from "./raw-result-types";
import { assertNever } from "./helpers-pure";
import { isEmptyPath } from "./bqrs-utils";
export function bqrsToResultSet(
schema: BqrsResultSetSchema,
chunk: DecodedBqrsChunk,
): RawResultSet {
const name = schema.name;
const totalRowCount = schema.rows;
const columns = schema.columns.map(mapColumn);
const rows = chunk.tuples.map(
(tuple): Row => tuple.map((cell): CellValue => mapCellValue(cell)),
);
const resultSet: RawResultSet = {
name,
totalRowCount,
columns,
rows,
};
if (chunk.next) {
resultSet.nextPageOffset = chunk.next;
}
return resultSet;
}
function mapColumn(column: BqrsSchemaColumn): Column {
const result: Column = {
kind: mapColumnKind(column.kind),
};
if (column.name) {
result.name = column.name;
}
return result;
}
function mapColumnKind(kind: BqrsColumnKind): ColumnKind {
switch (kind) {
case BqrsColumnKindCode.STRING:
return ColumnKind.String;
case BqrsColumnKindCode.FLOAT:
return ColumnKind.Float;
case BqrsColumnKindCode.INTEGER:
return ColumnKind.Integer;
case BqrsColumnKindCode.BOOLEAN:
return ColumnKind.Boolean;
case BqrsColumnKindCode.DATE:
return ColumnKind.Date;
case BqrsColumnKindCode.ENTITY:
return ColumnKind.Entity;
default:
assertNever(kind);
}
}
function mapCellValue(cellValue: BqrsCellValue): CellValue {
switch (typeof cellValue) {
case "string":
return {
type: "string",
value: cellValue,
};
case "number":
return {
type: "number",
value: cellValue,
};
case "boolean":
return {
type: "boolean",
value: cellValue,
};
case "object":
return {
type: "entity",
value: mapEntityValue(cellValue),
};
}
}
function mapEntityValue(cellValue: BqrsEntityValue): EntityValue {
const result: EntityValue = {};
if (cellValue.id) {
result.id = cellValue.id;
}
if (cellValue.label) {
result.label = cellValue.label;
}
if (cellValue.url) {
result.url = mapUrlValue(cellValue.url);
}
return result;
}
export function mapUrlValue(urlValue: BqrsUrlValue): UrlValue | undefined {
if (typeof urlValue === "string") {
const location = tryGetLocationFromString(urlValue);
if (location !== undefined) {
return location;
}
return {
type: "string",
value: urlValue,
};
}
if (isWholeFileLoc(urlValue)) {
return {
type: "wholeFileLocation",
uri: urlValue.uri,
};
}
if (isLineColumnLoc(urlValue)) {
return {
type: "lineColumnLocation",
uri: urlValue.uri,
startLine: urlValue.startLine,
startColumn: urlValue.startColumn,
endLine: urlValue.endLine,
endColumn: urlValue.endColumn,
};
}
return undefined;
}
function isLineColumnLoc(loc: BqrsUrlValue): loc is BqrsLineColumnLocation {
return (
typeof loc !== "string" &&
!isEmptyPath(loc.uri) &&
"startLine" in loc &&
"startColumn" in loc &&
"endLine" in loc &&
"endColumn" in loc
);
}
function isWholeFileLoc(loc: BqrsUrlValue): loc is BqrsWholeFileLocation {
return (
typeof loc !== "string" && !isEmptyPath(loc.uri) && !isLineColumnLoc(loc)
);
}
/**
* The CodeQL filesystem libraries use this pattern in `getURL()` predicates
* to describe the location of an entire filesystem resource.
* Such locations appear as `StringLocation`s instead of `FivePartLocation`s.
*
* Folder resources also get similar URLs, but with the `folder` scheme.
* They are deliberately ignored here, since there is no suitable location to show the user.
*/
const FILE_LOCATION_REGEX = /file:\/\/(.+):([0-9]+):([0-9]+):([0-9]+):([0-9]+)/;
function tryGetLocationFromString(loc: string): UrlValueResolvable | undefined {
const matches = FILE_LOCATION_REGEX.exec(loc);
if (matches && matches.length > 1 && matches[1]) {
if (isWholeFileMatch(matches)) {
return {
type: "wholeFileLocation",
uri: matches[1],
};
} else {
return {
type: "lineColumnLocation",
uri: matches[1],
startLine: Number(matches[2]),
startColumn: Number(matches[3]),
endLine: Number(matches[4]),
endColumn: Number(matches[5]),
};
}
}
return undefined;
}
function isWholeFileMatch(matches: RegExpExecArray): boolean {
return (
matches[2] === "0" &&
matches[3] === "0" &&
matches[4] === "0" &&
matches[5] === "0"
);
}

View File

@@ -1,111 +1,21 @@
import {
UrlValue,
ResolvableLocationValue,
LineColumnLocation,
WholeFileLocation,
} from "./bqrs-cli-types";
import { createRemoteFileRef } from "../common/location-link-utils";
/**
* The CodeQL filesystem libraries use this pattern in `getURL()` predicates
* to describe the location of an entire filesystem resource.
* Such locations appear as `StringLocation`s instead of `FivePartLocation`s.
*
* Folder resources also get similar URLs, but with the `folder` scheme.
* They are deliberately ignored here, since there is no suitable location to show the user.
*/
const FILE_LOCATION_REGEX = /file:\/\/(.+):([0-9]+):([0-9]+):([0-9]+):([0-9]+)/;
/**
* Gets a resolvable source file location for the specified `LocationValue`, if possible.
* @param loc The location to test.
*/
export function tryGetResolvableLocation(
loc: UrlValue | undefined,
): ResolvableLocationValue | undefined {
let resolvedLoc;
if (loc === undefined) {
resolvedLoc = undefined;
} else if (isWholeFileLoc(loc) || isLineColumnLoc(loc)) {
resolvedLoc = loc as ResolvableLocationValue;
} else if (isStringLoc(loc)) {
resolvedLoc = tryGetLocationFromString(loc);
} else {
resolvedLoc = undefined;
}
return resolvedLoc;
}
export function tryGetLocationFromString(
loc: string,
): ResolvableLocationValue | undefined {
const matches = FILE_LOCATION_REGEX.exec(loc);
if (matches && matches.length > 1 && matches[1]) {
if (isWholeFileMatch(matches)) {
return {
uri: matches[1],
} as WholeFileLocation;
} else {
return {
uri: matches[1],
startLine: Number(matches[2]),
startColumn: Number(matches[3]),
endLine: Number(matches[4]),
endColumn: Number(matches[5]),
};
}
} else {
return undefined;
}
}
function isWholeFileMatch(matches: RegExpExecArray): boolean {
return (
matches[2] === "0" &&
matches[3] === "0" &&
matches[4] === "0" &&
matches[5] === "0"
);
}
import type { UrlValue } from "./raw-result-types";
import { isUrlValueResolvable } from "./raw-result-types";
/**
* Checks whether the file path is empty. If so, we do not want to render this location
* as a link.
*
* @param uri A file uri
*/
export function isEmptyPath(uriStr: string) {
return !uriStr || uriStr === "file:/";
}
export function isLineColumnLoc(loc: UrlValue): loc is LineColumnLocation {
return (
typeof loc !== "string" &&
!isEmptyPath(loc.uri) &&
"startLine" in loc &&
"startColumn" in loc &&
"endLine" in loc &&
"endColumn" in loc
);
}
export function isWholeFileLoc(loc: UrlValue): loc is WholeFileLocation {
return (
typeof loc !== "string" && !isEmptyPath(loc.uri) && !isLineColumnLoc(loc)
);
}
export function isStringLoc(loc: UrlValue): loc is string {
return typeof loc === "string";
}
export function tryGetRemoteLocation(
loc: UrlValue | undefined,
fileLinkPrefix: string,
sourceLocationPrefix: string | undefined,
): string | undefined {
const resolvableLocation = tryGetResolvableLocation(loc);
if (!resolvableLocation) {
if (!loc || !isUrlValueResolvable(loc)) {
return undefined;
}
@@ -115,22 +25,19 @@ export function tryGetRemoteLocation(
// "file:${sourceLocationPrefix}/relative/path/to/file"
// So we need to strip off the first part to get the relative path.
if (sourceLocationPrefix) {
if (!resolvableLocation.uri.startsWith(`file:${sourceLocationPrefix}/`)) {
if (!loc.uri.startsWith(`file:${sourceLocationPrefix}/`)) {
return undefined;
}
trimmedLocation = resolvableLocation.uri.replace(
`file:${sourceLocationPrefix}/`,
"",
);
trimmedLocation = loc.uri.replace(`file:${sourceLocationPrefix}/`, "");
} else {
// If the source location prefix is empty (e.g. for older remote queries), we assume that the database
// was created on a Linux actions runner and has the format:
// "file:/home/runner/work/<repo>/<repo>/relative/path/to/file"
// So we need to drop the first 6 parts of the path.
if (!resolvableLocation.uri.startsWith("file:/home/runner/work/")) {
if (!loc.uri.startsWith("file:/home/runner/work/")) {
return undefined;
}
const locationParts = resolvableLocation.uri.split("/");
const locationParts = loc.uri.split("/");
trimmedLocation = locationParts.slice(6, locationParts.length).join("/");
}
@@ -138,11 +45,16 @@ export function tryGetRemoteLocation(
fileLinkPrefix,
filePath: trimmedLocation,
};
if (loc.type === "wholeFileLocation") {
return createRemoteFileRef(fileLink);
}
return createRemoteFileRef(
fileLink,
resolvableLocation.startLine,
resolvableLocation.endLine,
resolvableLocation.startColumn,
resolvableLocation.endColumn,
loc.startLine,
loc.endLine,
loc.startColumn,
loc.endColumn,
);
}

View File

@@ -0,0 +1,3 @@
export function readableBytesMb(numBytes: number): string {
return `${(numBytes / (1024 * 1024)).toFixed(1)} MB`;
}

View File

@@ -1,10 +1,9 @@
import type { CommandManager } from "../packages/commands";
import type { Uri, Range, TextDocumentShowOptions } from "vscode";
import type { Uri, Range, TextDocumentShowOptions, TestItem } from "vscode";
import type { AstItem } from "../language-support";
import type { DbTreeViewItem } from "../databases/ui/db-tree-view-item";
import type { DatabaseItem } from "../databases/local-databases";
import type { QueryHistoryInfo } from "../query-history/query-history-info";
import type { TestTreeNode } from "../query-testing/test-tree-node";
import type {
VariantAnalysis,
VariantAnalysisScannedRepository,
@@ -12,6 +11,7 @@ import type {
} from "../variant-analysis/shared/variant-analysis";
import type { QLDebugConfiguration } from "../debugger/debug-configuration";
import type { QueryTreeViewItem } from "../queries-panel/query-tree-view-item";
import type { LanguageSelectionTreeViewItem } from "../language-selection-panel/language-selection-data-provider";
import type { Method, Usage } from "../model-editor/method";
// A command function matching the signature that VS Code calls when
@@ -145,6 +145,7 @@ export type LocalQueryCommands = {
"codeQL.quickQuery": () => Promise<void>;
"codeQL.getCurrentQuery": () => Promise<string>;
"codeQL.createQuery": () => Promise<void>;
"codeQLQuickQuery.createQuery": () => Promise<void>;
};
// Debugger commands
@@ -199,6 +200,13 @@ export type QueryHistoryCommands = {
"codeQL.exportSelectedVariantAnalysisResults": () => Promise<void>;
};
// Commands user for the language selector panel
export type LanguageSelectionCommands = {
"codeQLLanguageSelection.setSelectedItem": (
item: LanguageSelectionTreeViewItem,
) => Promise<void>;
};
// Commands used for the local databases panel
export type LocalDatabasesCommands = {
// Command palette commands
@@ -208,9 +216,11 @@ export type LocalDatabasesCommands = {
"codeQL.chooseDatabaseGithub": () => Promise<void>;
"codeQL.upgradeCurrentDatabase": () => Promise<void>;
"codeQL.clearCache": () => Promise<void>;
"codeQL.trimCache": () => Promise<void>;
// Explorer context menu
"codeQL.setCurrentDatabase": (uri: Uri) => Promise<void>;
"codeQL.importTestDatabase": (uri: Uri) => Promise<void>;
// Database panel view title commands
"codeQLDatabases.chooseDatabaseFolder": () => Promise<void>;
@@ -218,25 +228,8 @@ export type LocalDatabasesCommands = {
"codeQLDatabases.chooseDatabaseInternet": () => Promise<void>;
"codeQLDatabases.chooseDatabaseGithub": () => Promise<void>;
"codeQLDatabases.sortByName": () => Promise<void>;
"codeQLDatabases.sortByLanguage": () => Promise<void>;
"codeQLDatabases.sortByDateAdded": () => Promise<void>;
"codeQLDatabases.displayAllLanguages": () => Promise<void>;
"codeQLDatabases.displayCpp": () => Promise<void>;
"codeQLDatabases.displayCsharp": () => Promise<void>;
"codeQLDatabases.displayGo": () => Promise<void>;
"codeQLDatabases.displayJava": () => Promise<void>;
"codeQLDatabases.displayJavascript": () => Promise<void>;
"codeQLDatabases.displayPython": () => Promise<void>;
"codeQLDatabases.displayRuby": () => Promise<void>;
"codeQLDatabases.displaySwift": () => Promise<void>;
"codeQLDatabases.displayAllLanguagesSelected": () => Promise<void>;
"codeQLDatabases.displayCppSelected": () => Promise<void>;
"codeQLDatabases.displayCsharpSelected": () => Promise<void>;
"codeQLDatabases.displayGoSelected": () => Promise<void>;
"codeQLDatabases.displayJavaSelected": () => Promise<void>;
"codeQLDatabases.displayJavascriptSelected": () => Promise<void>;
"codeQLDatabases.displayPythonSelected": () => Promise<void>;
"codeQLDatabases.displayRubySelected": () => Promise<void>;
"codeQLDatabases.displaySwiftSelected": () => Promise<void>;
// Database panel context menu
"codeQLDatabases.setCurrentDatabase": (
@@ -280,19 +273,23 @@ export type VariantAnalysisCommands = {
"codeQL.openVariantAnalysisLogs": (
variantAnalysisId: number,
) => Promise<void>;
"codeQLModelAlerts.openVariantAnalysisLogs": (
variantAnalysisId: number,
) => Promise<void>;
"codeQL.openVariantAnalysisView": (
variantAnalysisId: number,
) => Promise<void>;
"codeQL.runVariantAnalysis": (uri?: Uri) => Promise<void>;
"codeQL.runVariantAnalysisContextEditor": (uri?: Uri) => Promise<void>;
"codeQL.runVariantAnalysis": () => Promise<void>;
"codeQL.runVariantAnalysisContextEditor": (uri: Uri) => Promise<void>;
"codeQL.runVariantAnalysisContextExplorer": ExplorerSelectionCommandFunction<Uri>;
"codeQLQueries.runVariantAnalysisContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
"codeQL.runVariantAnalysisPublishedPack": () => Promise<void>;
};
export type DatabasePanelCommands = {
"codeQLVariantAnalysisRepositories.openConfigFile": () => Promise<void>;
"codeQLVariantAnalysisRepositories.addNewDatabase": () => Promise<void>;
"codeQLVariantAnalysisRepositories.addNewList": () => Promise<void>;
"codeQLVariantAnalysisRepositories.setupControllerRepository": () => Promise<void>;
"codeQLVariantAnalysisRepositories.setSelectedItem": TreeViewContextSingleSelectionCommandFunction<DbTreeViewItem>;
"codeQLVariantAnalysisRepositories.setSelectedItemContextMenu": TreeViewContextSingleSelectionCommandFunction<DbTreeViewItem>;
@@ -323,7 +320,8 @@ export type PackagingCommands = {
export type ModelEditorCommands = {
"codeQL.openModelEditor": () => Promise<void>;
"codeQLModelEditor.jumpToUsageLocation": (
"codeQL.openModelEditorFromModelingPanel": () => Promise<void>;
"codeQLModelEditor.jumpToMethod": (
method: Method,
usage: Usage,
databaseItem: DatabaseItem,
@@ -340,11 +338,9 @@ export type SummaryLanguageSupportCommands = {
};
export type TestUICommands = {
"codeQLTests.showOutputDifferences": (node: TestTreeNode) => Promise<void>;
"codeQLTests.acceptOutput": (node: TestTreeNode) => Promise<void>;
"codeQLTests.acceptOutputContextTestItem": (
node: TestTreeNode,
) => Promise<void>;
"codeQLTests.showOutputDifferences": (node: TestItem) => Promise<void>;
"codeQLTests.acceptOutput": (node: TestItem) => Promise<void>;
"codeQLTests.acceptOutputContextTestItem": (node: TestItem) => Promise<void>;
};
export type MockGitHubApiServerCommands = {
@@ -360,6 +356,7 @@ export type AllExtensionCommands = BaseCommands &
QueryEditorCommands &
ResultsViewCommands &
QueryHistoryCommands &
LanguageSelectionCommands &
LocalDatabasesCommands &
DebuggerCommands &
VariantAnalysisCommands &

View File

@@ -0,0 +1,57 @@
// Based on https://github.com/microsoft/vscode/blob/edfd5b8ba54d50f3f5c2ebee877af088803def88/src/vs/base/common/labels.ts#L316C1-L400
/**
* Helper to insert values for specific template variables into the string. E.g. "this ${is} a ${template}" can be
* passed to this function together with an object that maps "is" and "template" to strings to have them replaced.
*
* @param template string to which template is applied
* @param values the values of the templates to use
*/
export function substituteConfigVariables(
template: string,
values: {
[key: string]: string | undefined | null;
},
): string {
const segments: string[] = [];
let inVariable = false;
let currentValue = "";
for (const char of template) {
// Beginning of variable
if (char === "$" || (inVariable && char === "{")) {
if (currentValue) {
segments.push(currentValue);
}
currentValue = "";
inVariable = true;
}
// End of variable
else if (char === "}" && inVariable) {
const resolved = values[currentValue];
// Variable
if (resolved && resolved.length > 0) {
segments.push(resolved);
}
// If the variable, doesn't exist, we discard it (i.e. replace it by the empty string)
currentValue = "";
inVariable = false;
}
// Text or Variable Name
else {
currentValue += char;
}
}
// Tail
if (currentValue && !inVariable) {
segments.push(currentValue);
}
return segments.join("");
}

View File

@@ -1,6 +1,6 @@
import { DisposableObject } from "./disposable-object";
import { getErrorMessage } from "./helpers-pure";
import { Logger } from "./logging";
import type { BaseLogger } from "./logging";
/**
* Base class for "discovery" operations, which scan the file system to find specific kinds of
@@ -13,7 +13,7 @@ export abstract class Discovery extends DisposableObject {
constructor(
protected readonly name: string,
private readonly logger: Logger,
protected readonly logger: BaseLogger,
) {
super();
}

View File

@@ -1,7 +1,7 @@
// Avoid explicitly referencing Disposable type in vscode.
// This file cannot have dependencies on the vscode API.
export interface Disposable {
dispose(): any;
dispose(): unknown;
}
export type DisposeHandler = (disposable: Disposable) => void;
@@ -9,10 +9,16 @@ export type DisposeHandler = (disposable: Disposable) => void;
/**
* Base class to make it easier to implement a `Disposable` that owns other disposable object.
*/
export abstract class DisposableObject implements Disposable {
export class DisposableObject implements Disposable {
private disposables: Disposable[] = [];
private tracked?: Set<Disposable> = undefined;
constructor(...dispoables: Disposable[]) {
for (const d of dispoables) {
this.push(d);
}
}
/**
* Adds `obj` to a list of objects to dispose when `this` is disposed. Objects added by `push` are
* disposed in reverse order of being added.

View File

@@ -1,7 +1,4 @@
import { platform } from "os";
import { Open } from "unzipper";
import { join } from "path";
import { pathExists, chmod } from "fs-extra";
/**
* Get the name of the codeql cli installation we prefer to install, based on our current platform.
@@ -19,31 +16,6 @@ export function getRequiredAssetName(): string {
}
}
export async function extractZipArchive(
archivePath: string,
outPath: string,
): Promise<void> {
const archive = await Open.file(archivePath);
await archive.extract({
concurrency: 4,
path: outPath,
});
// Set file permissions for extracted files
await Promise.all(
archive.files.map(async (file) => {
// Only change file permissions if within outPath (path.join normalises the path)
const extractedPath = join(outPath, file.path);
if (
extractedPath.indexOf(outPath) !== 0 ||
!(await pathExists(extractedPath))
) {
return Promise.resolve();
}
return chmod(extractedPath, file.externalFileAttributes >>> 16);
}),
);
}
export function codeQlLauncherName(): string {
return platform() === "win32" ? "codeql.exe" : "codeql";
}

View File

@@ -22,6 +22,14 @@ export class RedactableError extends Error {
.join("");
}
public get fullMessageWithStack(): string {
if (!this.stack) {
return this.fullMessage;
}
return `${this.fullMessage}\n${this.stack}`;
}
public get redactedMessage(): string {
return this.strings
.map((s, i) => s + (this.hasValue(i) ? this.getRedactedValue(i) : ""))
@@ -76,12 +84,13 @@ export interface ErrorLike {
stack?: string;
}
function isErrorLike(error: any): error is ErrorLike {
if (
function isErrorLike(error: unknown): error is ErrorLike {
return (
error !== undefined &&
error !== null &&
typeof error === "object" &&
"message" in error &&
typeof error.message === "string" &&
(error.stack === undefined || typeof error.stack === "string")
) {
return true;
}
return false;
(!("stack" in error) || typeof error.stack === "string")
);
}

View File

@@ -1,4 +1,4 @@
import { Disposable } from "./disposable-object";
import type { Disposable } from "./disposable-object";
export interface AppEvent<T> {
(listener: (event: T) => void): Disposable;

View File

@@ -0,0 +1,36 @@
import { clearTimeout } from "node:timers";
export function createTimeoutSignal(timeoutSeconds: number): {
signal: AbortSignal;
onData: () => void;
dispose: () => void;
} {
const timeout = timeoutSeconds * 1000;
const abortController = new AbortController();
let timeoutId: NodeJS.Timeout;
// If we don't get any data within the timeout, abort the download
timeoutId = setTimeout(() => {
abortController.abort();
}, timeout);
// If we receive any data within the timeout, reset the timeout
const onData = () => {
clearTimeout(timeoutId);
timeoutId = setTimeout(() => {
abortController.abort();
}, timeout);
};
const dispose = () => {
clearTimeout(timeoutId);
};
return {
signal: abortController.signal,
onData,
dispose,
};
}

View File

@@ -1,5 +1,5 @@
import { basename, dirname, join } from "path";
import { EnvironmentContext } from "./app";
import type { EnvironmentContext } from "./app";
/**
* A node in the tree of files. This will be either a `FileTreeDirectory` or a `FileTreeLeaf`.

View File

@@ -0,0 +1,44 @@
type FilenameOptions = {
removeDots?: boolean;
};
/**
* This will create a filename from an arbitrary string by removing
* all characters which are not allowed in filenames and making them
* more filesystem-friendly be replacing undesirable characters with
* hyphens. The result will always be lowercase ASCII.
*
* @param str The string to create a filename from
* @param removeDots Whether to remove dots from the filename [default: false]
* @returns The filename
*/
export function createFilenameFromString(
str: string,
{ removeDots }: FilenameOptions = {},
) {
let fileName = str;
// Lowercase everything
fileName = fileName.toLowerCase();
// Replace all spaces, underscores, slashes, and backslashes with hyphens
fileName = fileName.replaceAll(/[\s_/\\]+/g, "-");
// Replace all characters which are not allowed by empty strings
fileName = fileName.replaceAll(/[^a-z0-9.-]/g, "");
// Remove any leading or trailing hyphens or dots
fileName = fileName.replaceAll(/^[.-]+|[.-]+$/g, "");
// Replace dots by hyphens if dots are not allowed
if (removeDots) {
fileName = fileName.replaceAll(/\./g, "-");
}
// Remove any duplicate hyphens
fileName = fileName.replaceAll(/-{2,}/g, "-");
// Remove any duplicate dots
fileName = fileName.replaceAll(/\.{2,}/g, ".");
return fileName;
}

View File

@@ -1,5 +1,5 @@
import { pathExists, stat, readdir, opendir } from "fs-extra";
import { isAbsolute, join, relative, resolve } from "path";
import { pathExists, stat, readdir, opendir, lstatSync } from "fs-extra";
import { dirname, isAbsolute, join, relative, resolve } from "path";
import { tmpdir as osTmpdir } from "os";
/**
@@ -91,18 +91,23 @@ export async function readDirFullPaths(path: string): Promise<string[]> {
* Symbolic links are ignored.
*
* @param dir the directory to walk
* @param includeDirectories whether to include directories in the results
*
* @return An iterator of the full path to all files recursively found in the directory.
*/
export async function* walkDirectory(
dir: string,
includeDirectories = false,
): AsyncIterableIterator<string> {
const seenFiles = new Set<string>();
for await (const d of await opendir(dir)) {
const entry = join(dir, d.name);
seenFiles.add(entry);
if (d.isDirectory()) {
yield* walkDirectory(entry);
if (includeDirectories) {
yield entry;
}
yield* walkDirectory(entry, includeDirectories);
} else if (d.isFile()) {
yield entry;
}
@@ -119,11 +124,84 @@ export interface IOError {
readonly code: string;
}
export function isIOError(e: any): e is IOError {
return e.code !== undefined && typeof e.code === "string";
export function isIOError(e: unknown): e is IOError {
return (
e !== undefined &&
e !== null &&
typeof e === "object" &&
"code" in e &&
typeof e.code === "string"
);
}
// This function is a wrapper around `os.tmpdir()` to make it easier to mock in tests.
export function tmpdir(): string {
return osTmpdir();
}
/**
* Finds the common parent directory of an arbitrary number of absolute paths. The result
* will be an absolute path.
* @param paths The array of paths.
* @returns The common parent directory of the paths.
*/
export function findCommonParentDir(...paths: string[]): string {
if (paths.length === 0) {
throw new Error("At least one path must be provided");
}
if (paths.some((path) => !isAbsolute(path))) {
throw new Error("All paths must be absolute");
}
paths = paths.map((path) => normalizePath(path));
// If there's only one path and it's a file, return its dirname
if (paths.length === 1) {
return lstatSync(paths[0]).isFile() ? dirname(paths[0]) : paths[0];
}
let commonDir = paths[0];
while (!paths.every((path) => containsPath(commonDir, path))) {
if (isTopLevelPath(commonDir)) {
throw new Error(
"Reached filesystem root and didn't find a common parent directory",
);
}
commonDir = dirname(commonDir);
}
return commonDir;
}
function isTopLevelPath(path: string): boolean {
return dirname(path) === path;
}
/**
* Recursively looks for a file in a directory. If the file exists, then returns the directory containing the file.
*
* @param dir The directory to search
* @param toFind The file to recursively look for in this directory
*
* @returns the directory containing the file, or undefined if not found.
*/
export async function findDirWithFile(
dir: string,
...toFind: string[]
): Promise<string | undefined> {
if (!(await stat(dir)).isDirectory()) {
return;
}
const files = await readdir(dir);
if (toFind.some((file) => files.includes(file))) {
return dir;
}
for (const file of files) {
const newPath = join(dir, file);
const result = await findDirWithFile(newPath, ...toFind);
if (result) {
return result;
}
}
return;
}

View File

@@ -29,37 +29,45 @@ function validGitHubNwoOrOwner(
/**
* Extracts an NWO from a GitHub URL.
* @param githubUrl The GitHub repository URL
* @param repositoryUrl The GitHub repository URL
* @param githubUrl The URL of the GitHub instance
* @return The corresponding NWO, or undefined if the URL is not valid
*/
export function getNwoFromGitHubUrl(githubUrl: string): string | undefined {
return getNwoOrOwnerFromGitHubUrl(githubUrl, "nwo");
export function getNwoFromGitHubUrl(
repositoryUrl: string,
githubUrl: URL,
): string | undefined {
return getNwoOrOwnerFromGitHubUrl(repositoryUrl, githubUrl, "nwo");
}
/**
* Extracts an owner from a GitHub URL.
* @param githubUrl The GitHub repository URL
* @param repositoryUrl The GitHub repository URL
* @param githubUrl The URL of the GitHub instance
* @return The corresponding Owner, or undefined if the URL is not valid
*/
export function getOwnerFromGitHubUrl(githubUrl: string): string | undefined {
return getNwoOrOwnerFromGitHubUrl(githubUrl, "owner");
export function getOwnerFromGitHubUrl(
repositoryUrl: string,
githubUrl: URL,
): string | undefined {
return getNwoOrOwnerFromGitHubUrl(repositoryUrl, githubUrl, "owner");
}
function getNwoOrOwnerFromGitHubUrl(
githubUrl: string,
repositoryUrl: string,
githubUrl: URL,
kind: "owner" | "nwo",
): string | undefined {
const validHostnames = [githubUrl.hostname, `www.${githubUrl.hostname}`];
try {
let paths: string[];
const urlElements = githubUrl.split("/");
if (
urlElements[0] === "github.com" ||
urlElements[0] === "www.github.com"
) {
paths = githubUrl.split("/").slice(1);
const urlElements = repositoryUrl.split("/");
if (validHostnames.includes(urlElements[0])) {
paths = repositoryUrl.split("/").slice(1);
} else {
const uri = new URL(githubUrl);
if (uri.hostname !== "github.com" && uri.hostname !== "www.github.com") {
const uri = new URL(repositoryUrl);
if (!validHostnames.includes(uri.hostname)) {
return;
}
paths = uri.pathname.split("/").filter((segment: string) => segment);

View File

@@ -7,6 +7,18 @@
import { RedactableError } from "./errors";
// Matches any type that is not an array. This is useful to help avoid
// nested arrays, or for cases like createSingleSelectionCommand to avoid T
// accidentally getting instantiated as DatabaseItem[] instead of DatabaseItem.
export type NotArray =
| string
| bigint
| number
| boolean
| (object & {
length?: never;
});
/**
* This error is used to indicate a runtime failure of an exhaustivity check enforced at compile time.
*/
@@ -27,26 +39,26 @@ export function assertNever(value: never): never {
/**
* Use to perform array filters where the predicate is asynchronous.
*/
export const asyncFilter = async function <T>(
export async function asyncFilter<T>(
arr: T[],
predicate: (arg0: T) => Promise<boolean>,
) {
const results = await Promise.all(arr.map(predicate));
return arr.filter((_, index) => results[index]);
};
}
/**
* This regex matches strings of the form `owner/repo` where:
* - `owner` is made up of alphanumeric characters, hyphens, underscores, or periods
* - `repo` is made up of alphanumeric characters, hyphens, underscores, or periods
*/
export const REPO_REGEX = /^[a-zA-Z0-9-_\.]+\/[a-zA-Z0-9-_\.]+$/;
export const REPO_REGEX = /^[a-zA-Z0-9-_.]+\/[a-zA-Z0-9-_.]+$/;
/**
* This regex matches GiHub organization and user strings. These are made up for alphanumeric
* characters, hyphens, underscores or periods.
*/
export const OWNER_REGEX = /^[a-zA-Z0-9-_\.]+$/;
export const OWNER_REGEX = /^[a-zA-Z0-9-_.]+$/;
export function getErrorMessage(e: unknown): string {
if (e instanceof RedactableError) {

View File

@@ -1,26 +1,32 @@
import * as sarif from "sarif";
import {
RawResultSet,
ResultRow,
ResultSetSchema,
Column,
ResolvableLocationValue,
} from "../common/bqrs-cli-types";
import {
import type { Log, Result } from "sarif";
import type {
VariantAnalysis,
VariantAnalysisScannedRepositoryResult,
VariantAnalysisScannedRepositoryState,
} from "../variant-analysis/shared/variant-analysis";
import {
import type {
RepositoriesFilterSortState,
RepositoriesFilterSortStateWithIds,
} from "../variant-analysis/shared/variant-analysis-filter-sort";
import { ErrorLike } from "../common/errors";
import { DataFlowPaths } from "../variant-analysis/shared/data-flow-paths";
import { Method, Usage } from "../model-editor/method";
import { ModeledMethod } from "../model-editor/modeled-method";
import { ModelEditorViewState } from "../model-editor/shared/view-state";
import { Mode } from "../model-editor/shared/mode";
import type { ErrorLike } from "../common/errors";
import type { DataFlowPaths } from "../variant-analysis/shared/data-flow-paths";
import type { Method, MethodSignature } from "../model-editor/method";
import type { ModeledMethod } from "../model-editor/modeled-method";
import type {
MethodModelingPanelViewState,
ModelAlertsViewState,
ModelEditorViewState,
} from "../model-editor/shared/view-state";
import type { Mode } from "../model-editor/shared/mode";
import type { QueryLanguage } from "./query-language";
import type {
Column,
RawResultSet,
Row,
UrlValueResolvable,
} from "./raw-result-types";
import type { AccessPathSuggestionOptions } from "../model-editor/suggestions";
import type { ModelEvaluationRunState } from "../model-editor/shared/model-evaluation-run-state";
/**
* This module contains types and code that are shared between
@@ -31,10 +37,13 @@ export const SELECT_TABLE_NAME = "#select";
export const ALERTS_TABLE_NAME = "alerts";
export const GRAPH_TABLE_NAME = "graph";
export type RawTableResultSet = { t: "RawResultSet" } & RawResultSet;
export type InterpretedResultSet<T> = {
type RawTableResultSet = {
t: "RawResultSet";
resultSet: RawResultSet;
};
type InterpretedResultSet<T> = {
t: "InterpretedResultSet";
readonly schema: ResultSetSchema;
name: string;
interpretation: InterpretationT<T>;
};
@@ -51,6 +60,7 @@ export const RAW_RESULTS_LIMIT = 10000;
export interface DatabaseInfo {
name: string;
databaseUri: string;
language?: QueryLanguage;
}
/** Arbitrary query metadata */
@@ -69,7 +79,7 @@ export type SarifInterpretationData = {
* they appear in the sarif file.
*/
sortState?: InterpretedResultsSortState;
} & sarif.Log;
} & Log;
export type GraphInterpretationData = {
t: "GraphInterpretationData";
@@ -203,7 +213,7 @@ export type FromResultsViewMsg =
*/
interface ViewSourceFileMsg {
t: "viewSourceFile";
loc: ResolvableLocationValue;
loc: UrlValueResolvable;
databaseUri: string;
}
@@ -329,13 +339,15 @@ interface ChangeCompareMessage {
newResultSetName: string;
}
export type ToCompareViewMessage = SetComparisonsMessage;
export type ToCompareViewMessage =
| SetComparisonQueryInfoMessage
| SetComparisonsMessage;
/**
* Message to the compare view that specifies the query results to compare.
* Message to the compare view that sets the metadata of the compared queries.
*/
export interface SetComparisonsMessage {
readonly t: "setComparisons";
export interface SetComparisonQueryInfoMessage {
readonly t: "setComparisonQueryInfo";
readonly stats: {
fromQuery?: {
name: string;
@@ -348,26 +360,44 @@ export interface SetComparisonsMessage {
time: string;
};
};
readonly columns: readonly Column[];
readonly commonResultSetNames: string[];
readonly currentResultSetName: string;
readonly rows: QueryCompareResult | undefined;
readonly message: string | undefined;
readonly databaseUri: string;
readonly commonResultSetNames: string[];
}
/**
* Message to the compare view that specifies the query results to compare.
*/
export interface SetComparisonsMessage {
readonly t: "setComparisons";
readonly currentResultSetName: string;
readonly result: QueryCompareResult | undefined;
readonly message: string | undefined;
}
export type QueryCompareResult =
| RawQueryCompareResult
| InterpretedQueryCompareResult;
/**
* from is the set of rows that have changes in the "from" query.
* to is the set of rows that have changes in the "to" query.
* They are in the same order, so element 1 in "from" corresponds to
* element 1 in "to".
*
* If an array element is null, that means that the element was removed
* (or added) in the comparison.
*/
export type QueryCompareResult = {
from: ResultRow[];
to: ResultRow[];
export type RawQueryCompareResult = {
kind: "raw";
columns: readonly Column[];
from: Row[];
to: Row[];
};
/**
* from is the set of results that have changes in the "from" query.
* to is the set of results that have changes in the "to" query.
*/
export type InterpretedQueryCompareResult = {
kind: "interpreted";
sourceLocationPrefix: string;
from: Result[];
to: Result[];
};
/**
@@ -500,9 +530,10 @@ interface SetMethodsMessage {
methods: Method[];
}
interface SetModeledMethodsMessage {
t: "setModeledMethods";
methods: Record<string, ModeledMethod>;
interface SetModeledAndModifiedMethodsMessage {
t: "setModeledAndModifiedMethods";
methods: Record<string, ModeledMethod[]>;
modifiedMethodSignatures: string[];
}
interface SetModifiedMethodsMessage {
@@ -512,8 +543,12 @@ interface SetModifiedMethodsMessage {
interface SetInProgressMethodsMessage {
t: "setInProgressMethods";
packageName: string;
inProgressMethods: string[];
methods: string[];
}
interface SetProcessedByAutoModelMethodsMessage {
t: "setProcessedByAutoModelMethods";
methods: string[];
}
interface SwitchModeMessage {
@@ -521,10 +556,9 @@ interface SwitchModeMessage {
mode: Mode;
}
interface JumpToUsageMessage {
t: "jumpToUsage";
method: Method;
usage: Usage;
interface JumpToMethodMessage {
t: "jumpToMethod";
methodSignature: string;
}
interface OpenDatabaseMessage {
@@ -541,8 +575,7 @@ interface RefreshMethods {
interface SaveModeledMethods {
t: "saveModeledMethods";
methods: Method[];
modeledMethods: Record<string, ModeledMethod>;
methodSignatures?: string[];
}
interface GenerateMethodMessage {
@@ -552,8 +585,7 @@ interface GenerateMethodMessage {
interface GenerateMethodsFromLlmMessage {
t: "generateMethodsFromLlm";
packageName: string;
methods: Method[];
modeledMethods: Record<string, ModeledMethod>;
methodSignatures: string[];
}
interface StopGeneratingMethodsFromLlmMessage {
@@ -561,6 +593,23 @@ interface StopGeneratingMethodsFromLlmMessage {
packageName: string;
}
interface StartModelEvaluationMessage {
t: "startModelEvaluation";
}
interface StopModelEvaluationMessage {
t: "stopModelEvaluation";
}
interface OpenModelAlertsViewMessage {
t: "openModelAlertsView";
}
interface RevealInModelAlertsViewMessage {
t: "revealInModelAlertsView";
modeledMethod: ModeledMethod;
}
interface ModelDependencyMessage {
t: "modelDependency";
}
@@ -570,41 +619,90 @@ interface HideModeledMethodsMessage {
hideModeledMethods: boolean;
}
interface SetModeledMethodMessage {
t: "setModeledMethod";
method: ModeledMethod;
interface SetMultipleModeledMethodsMessage {
t: "setMultipleModeledMethods";
methodSignature: string;
modeledMethods: ModeledMethod[];
}
interface SetInModelingModeMessage {
t: "setInModelingMode";
inModelingMode: boolean;
}
interface SetInProgressMessage {
t: "setInProgress";
inProgress: boolean;
}
interface SetProcessedByAutoModelMessage {
t: "setProcessedByAutoModel";
processedByAutoModel: boolean;
}
interface RevealMethodMessage {
t: "revealMethod";
methodSignature: string;
}
interface SetAccessPathSuggestionsMessage {
t: "setAccessPathSuggestions";
accessPathSuggestions: AccessPathSuggestionOptions;
}
interface SetModelEvaluationRunMessage {
t: "setModelEvaluationRun";
run: ModelEvaluationRunState | undefined;
}
export type ToModelEditorMessage =
| SetExtensionPackStateMessage
| SetMethodsMessage
| SetModeledMethodsMessage
| SetModeledAndModifiedMethodsMessage
| SetModifiedMethodsMessage
| SetInProgressMethodsMessage;
| SetInProgressMethodsMessage
| SetProcessedByAutoModelMethodsMessage
| RevealMethodMessage
| SetAccessPathSuggestionsMessage
| SetModelEvaluationRunMessage;
export type FromModelEditorMessage =
| ViewLoadedMsg
| CommonFromViewMessages
| SwitchModeMessage
| RefreshMethods
| OpenDatabaseMessage
| OpenExtensionPackMessage
| JumpToUsageMessage
| JumpToMethodMessage
| SaveModeledMethods
| GenerateMethodMessage
| GenerateMethodsFromLlmMessage
| StopGeneratingMethodsFromLlmMessage
| ModelDependencyMessage
| HideModeledMethodsMessage
| SetModeledMethodMessage;
| SetMultipleModeledMethodsMessage
| StartModelEvaluationMessage
| StopModelEvaluationMessage
| OpenModelAlertsViewMessage
| RevealInModelAlertsViewMessage;
interface RevealInEditorMessage {
t: "revealInModelEditor";
method: MethodSignature;
}
interface StartModelingMessage {
t: "startModeling";
}
export type FromMethodModelingMessage =
| TelemetryMessage
| UnhandledErrorMessage
| SetModeledMethodMessage;
| CommonFromViewMessages
| SetMultipleModeledMethodsMessage
| RevealInEditorMessage
| StartModelingMessage;
interface SetMethodMessage {
t: "setMethod";
method: Method;
interface SetMethodModelingPanelViewStateMessage {
t: "setMethodModelingPanelViewState";
viewState: MethodModelingPanelViewState;
}
interface SetMethodModifiedMessage {
@@ -612,15 +710,62 @@ interface SetMethodModifiedMessage {
isModified: boolean;
}
interface SetNoMethodSelectedMessage {
t: "setNoMethodSelected";
}
interface SetSelectedMethodMessage {
t: "setSelectedMethod";
method: Method;
modeledMethod: ModeledMethod;
modeledMethods: ModeledMethod[];
isModified: boolean;
isInProgress: boolean;
processedByAutoModel: boolean;
}
export type ToMethodModelingMessage =
| SetMethodMessage
| SetModeledMethodMessage
| SetMethodModelingPanelViewStateMessage
| SetMultipleModeledMethodsMessage
| SetMethodModifiedMessage
| SetSelectedMethodMessage;
| SetNoMethodSelectedMessage
| SetSelectedMethodMessage
| SetInModelingModeMessage
| SetInProgressMessage
| SetProcessedByAutoModelMessage;
interface SetModelAlertsViewStateMessage {
t: "setModelAlertsViewState";
viewState: ModelAlertsViewState;
}
interface OpenModelPackMessage {
t: "openModelPack";
path: string;
}
interface OpenActionsLogsMessage {
t: "openActionsLogs";
variantAnalysisId: number;
}
interface StopEvaluationRunMessage {
t: "stopEvaluationRun";
}
interface RevealModelMessage {
t: "revealModel";
modeledMethod: ModeledMethod;
}
export type ToModelAlertsMessage =
| SetModelAlertsViewStateMessage
| SetVariantAnalysisMessage
| SetRepoResultsMessage
| RevealModelMessage;
export type FromModelAlertsMessage =
| CommonFromViewMessages
| OpenModelPackMessage
| OpenActionsLogsMessage
| StopEvaluationRunMessage
| RevealInEditorMessage;

View File

@@ -1,4 +1,4 @@
import { Memento } from "./memento";
import type { Memento } from "./memento";
/**
* Provides a utility method to invoke a function only if a minimum time interval has elapsed since

View File

@@ -10,9 +10,9 @@ import { readFile } from "fs-extra";
* @param path The path to the file.
* @param handler Callback to be invoked for each top-level JSON object in order.
*/
export async function readJsonlFile(
export async function readJsonlFile<T>(
path: string,
handler: (value: any) => Promise<void>,
handler: (value: T) => Promise<void>,
): Promise<void> {
const logSummary = await readFile(path, "utf-8");
@@ -20,7 +20,7 @@ export async function readJsonlFile(
const jsonSummaryObjects: string[] = logSummary.split(/\r?\n\r?\n/g);
for (const obj of jsonSummaryObjects) {
const jsonObj = JSON.parse(obj);
const jsonObj = JSON.parse(obj) as T;
await handler(jsonObj);
}
}

View File

@@ -1,4 +1,4 @@
import { FileLink } from "../variant-analysis/shared/analysis-result";
import type { FileLink } from "../variant-analysis/shared/analysis-result";
export function createRemoteFileRef(
fileLink: FileLink,

View File

@@ -1,4 +1,4 @@
import { Logger } from "./logger";
import type { Logger } from "./logger";
export interface NotificationLogger extends Logger {
showErrorMessage(message: string): Promise<void>;

View File

@@ -1,6 +1,6 @@
import { NotificationLogger } from "./notification-logger";
import { AppTelemetry } from "../telemetry";
import { RedactableError } from "../errors";
import type { NotificationLogger } from "./notification-logger";
import type { AppTelemetry } from "../telemetry";
import type { RedactableError } from "../errors";
interface ShowAndLogOptions {
/**
@@ -112,5 +112,5 @@ export async function showAndLogExceptionWithTelemetry(
options: ShowAndLogExceptionOptions = {},
): Promise<void> {
telemetry?.sendError(error, options.extraTelemetryProperties);
return showAndLogErrorMessage(logger, error.fullMessage, options);
return showAndLogErrorMessage(logger, error.fullMessageWithStack, options);
}

View File

@@ -1,7 +1,10 @@
import { appendFile, ensureFile } from "fs-extra";
import { ensureFile } from "fs-extra";
import { open } from "node:fs/promises";
import type { FileHandle } from "node:fs/promises";
import { isAbsolute } from "path";
import { getErrorMessage } from "../helpers-pure";
import { Logger, LogOptions } from "./logger";
import type { Logger, LogOptions } from "./logger";
import type { Disposable } from "../disposable-object";
/**
* An implementation of {@link Logger} that sends the output both to another {@link Logger}
@@ -10,9 +13,10 @@ import { Logger, LogOptions } from "./logger";
* The first time a message is written, an additional banner is written to the underlying logger
* pointing the user to the "side log" file.
*/
export class TeeLogger implements Logger {
export class TeeLogger implements Logger, Disposable {
private emittedRedirectMessage = false;
private error = false;
private fileHandle: FileHandle | undefined = undefined;
public constructor(
private readonly logger: Logger,
@@ -37,11 +41,15 @@ export class TeeLogger implements Logger {
if (!this.error) {
try {
const trailingNewline = options.trailingNewline ?? true;
await ensureFile(this.location);
if (!this.fileHandle) {
await ensureFile(this.location);
await appendFile(
this.location,
this.fileHandle = await open(this.location, "a");
}
const trailingNewline = options.trailingNewline ?? true;
await this.fileHandle.appendFile(
message + (trailingNewline ? "\n" : ""),
{
encoding: "utf8",
@@ -50,6 +58,14 @@ export class TeeLogger implements Logger {
} catch (e) {
// Write an error message to the primary log, and stop trying to write to the side log.
this.error = true;
try {
await this.fileHandle?.close();
} catch (e) {
void this.logger.log(
`Failed to close file handle: ${getErrorMessage(e)}`,
);
}
this.fileHandle = undefined;
const errorMessage = getErrorMessage(e);
await this.logger.log(
`Error writing to additional log file: ${errorMessage}`,
@@ -65,4 +81,15 @@ export class TeeLogger implements Logger {
show(preserveFocus?: boolean): void {
this.logger.show(preserveFocus);
}
dispose(): void {
try {
void this.fileHandle?.close();
} catch (e) {
void this.logger.log(
`Failed to close file handle: ${getErrorMessage(e)}`,
);
}
this.fileHandle = undefined;
}
}

View File

@@ -11,7 +11,7 @@ export const extLogger = new OutputChannelLogger("CodeQL Extension Log");
export const queryServerLogger = new OutputChannelLogger("CodeQL Query Server");
// Logger for messages from the language server.
export const ideServerLogger = new OutputChannelLogger(
export const languageServerLogger = new OutputChannelLogger(
"CodeQL Language Server",
);

View File

@@ -1,7 +1,8 @@
import { window as Window, OutputChannel, Progress } from "vscode";
import { Logger, LogOptions } from "../logger";
import type { OutputChannel, Progress } from "vscode";
import { window as Window } from "vscode";
import type { Logger, LogOptions } from "../logger";
import { DisposableObject } from "../../disposable-object";
import { NotificationLogger } from "../notification-logger";
import type { NotificationLogger } from "../notification-logger";
/**
* A logger that writes messages to an output channel in the VS Code Output tab.
@@ -63,7 +64,7 @@ export class OutputChannelLogger
message: string,
show: (message: string, ...items: string[]) => Thenable<string | undefined>,
): Promise<void> {
const label = "Show Log";
const label = "View extension logs";
const result = await show(message, label);
if (result === label) {

Some files were not shown because too many files have changed in this diff Show More