Compare commits

...

208 Commits

Author SHA1 Message Date
Anders Starcke Henriksen
df5a7bce19 Merge pull request #2788 from github/v1.8.11
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.8.11
2023-09-07 13:51:35 +02:00
Anders Starcke Henriksen
1b3dc7d132 v1.8.11 2023-09-07 13:31:03 +02:00
Robert
247ba4e8ea Merge pull request #2779 from github/robertbrignull/dropdown-disabled
Adjust styling of disabled dropdowns to make their state clearer
2023-09-05 16:20:40 +01:00
Shati Patel
a3ce9f516a Queries Panel: Create query from welcome view (#2780) 2023-09-05 10:34:38 +01:00
Robert
f6b3f28039 Merge pull request #2781 from github/robertbrignull/model-editor-telemetry
Emit telemetry for all messages sent from model editor
2023-09-05 10:04:14 +01:00
Robert
ba423376cd Emit telemetry for all messages sent from model editor 2023-09-04 17:13:29 +01:00
Robert
e9b459adaf Merge pull request #2778 from github/robertbrignull/MethodRow_stories
Provide stories for all states of MethodRow
2023-09-04 15:42:59 +01:00
Robert
074f3fb402 Move dropdown arrow away from the right-hand edge 2023-09-04 15:23:21 +01:00
Robert
c316d52514 Set opacity to 40% when disabled 2023-09-04 15:23:03 +01:00
Robert
9af0239041 Show a dash when dropdown is disabled 2023-09-04 15:22:52 +01:00
Robert
5cf6786e9c Merge branch 'main' into robertbrignull/MethodRow_stories 2023-09-04 14:19:35 +01:00
Charis Kyriakou
09077a0e24 Rename ExternalApiUsage to Method (#2776) 2023-09-04 14:10:10 +02:00
Robert
47c897e9bd Include stories for all modeled method types 2023-09-04 11:12:07 +01:00
Robert
096e6e8ffd Wrap MethodRow in a VSCodeDataGrid during story 2023-09-04 11:00:55 +01:00
Charis Kyriakou
2d033bff57 Update jump to usage to include the method (#2773) 2023-09-01 13:30:54 +01:00
Robert
1861692055 Merge pull request #2768 from github/robertbrignull/mocked-treeview
Use mockedObject for TreeView
2023-09-01 12:41:27 +01:00
Charis Kyriakou
ac7a37c02e Add ability to set method for modeling in the modeling panel (#2767) 2023-09-01 11:16:10 +00:00
Robert
b5d6c4d84c Merge pull request #2771 from github/robertbrignull/normalize-feature-flag
Make methodModelingView match the naming of other flags
2023-09-01 11:05:10 +01:00
Anders Starcke Henriksen
cdd6553735 Merge pull request #2772 from github/starcke/fix-rename-comment
Fix a comment that should be renamed.
2023-09-01 11:52:00 +02:00
Anders Starcke Henriksen
6bb0854ff2 Fix a comment that should be renamed. 2023-09-01 11:26:33 +02:00
Robert
c51aaf7790 Make methodModelingView match the other flags 2023-09-01 10:19:12 +01:00
Anders Starcke Henriksen
a6745379c4 Merge pull request #2766 from github/starcke/rename-ff
Rename feature flags.
2023-09-01 10:35:28 +02:00
Robert
1178e4c3ae Merge pull request #2770 from github/robertbrignull/model-beta-label
Add beta label to model editor
2023-08-31 15:49:27 +01:00
Robert
59c567a8fa Add beta label to model editor 2023-08-31 15:25:54 +01:00
Shati Patel
4f2b46aa85 Add "create query" button to queries panel (#2764) 2023-08-31 15:02:25 +01:00
Shati Patel
66f12bfbef Make the "Create query" location workspace-specific (#2769) 2023-08-31 15:02:10 +01:00
Robert
2b5d233847 Use mockedObject for TreeView 2023-08-31 12:01:49 +01:00
Robert
11ca60f213 Merge pull request #2738 from github/robertbrignull/useScrollIntoView
Convert ScrollIntoViewHelper into a React hook
2023-08-31 10:58:50 +01:00
Robert
dea6bc257a Merge branch 'main' into robertbrignull/useScrollIntoView 2023-08-31 10:37:16 +01:00
Charis Kyriakou
26b602399a Extract external api usage name component and reuse it (#2765) 2023-08-31 10:12:19 +01:00
Anders Starcke Henriksen
0836307f29 Rename feature flags. 2023-08-31 09:46:22 +02:00
Anders Starcke Henriksen
e61f619f8f Merge pull request #2763 from github/starcke/rename-vars
Starcke/rename vars
2023-08-31 09:17:20 +02:00
Nora
fad674b1c5 Merge pull request #2760 from github/nora/add-components-to-modeling-panel
Adds container and header css to new method model sidebar
2023-08-30 17:37:34 +02:00
Nora
4d2856699b polish 2023-08-30 15:14:51 +00:00
Shati Patel
b51d027b0c Make "create query" command available when queries panel is enabled (#2762) 2023-08-30 16:09:39 +01:00
Nora
595249a9d6 Addning props and minor changes 2023-08-30 15:05:11 +00:00
Anders Starcke Henriksen
00b3ea473c Misc renames. 2023-08-30 16:36:17 +02:00
Anders Starcke Henriksen
46f80efa4c Rename in strings. 2023-08-30 16:36:17 +02:00
Anders Starcke Henriksen
05a7d933d1 Rename DataExtensionsEditor 2023-08-30 16:36:17 +02:00
Anders Starcke Henriksen
6da39ee79f Rename "DataExtensionEditor". 2023-08-30 16:36:17 +02:00
Anders Starcke Henriksen
bb4d97999e Merge pull request #2761 from github/starcke/rename-files2
Rename files.
2023-08-30 16:35:52 +02:00
Anders Starcke Henriksen
af3434b87c Remove spurious theme. 2023-08-30 16:08:42 +02:00
Nora
083b232bb3 Fix merge conflict 2023-08-30 13:35:03 +00:00
Nora
a65c91c84e Add Container and Header 2023-08-30 13:33:32 +00:00
Anders Starcke Henriksen
23f8c48b06 Rename files. 2023-08-30 15:06:45 +02:00
Anders Starcke Henriksen
7fbb1286b9 Merge pull request #2759 from github/starcke/rename-files
Starcke/rename files
2023-08-30 14:50:51 +02:00
Anders Starcke Henriksen
571e6f285f Update webview enum. 2023-08-30 13:59:51 +02:00
Anders Starcke Henriksen
e64cf4073c Rename data-extension-editor files. 2023-08-30 13:46:48 +02:00
Anders Starcke Henriksen
e3a2a11b3d Merge pull request #2754 from github/starcke/rename-directories
Starcke/rename directories
2023-08-30 09:11:00 +02:00
Anders Starcke Henriksen
9b121d56c2 Merge branch 'main' into starcke/rename-directories 2023-08-29 15:38:08 +02:00
Anders Starcke Henriksen
b548bbd43b Merge pull request #2758 from github/starcke/more-java-update
Change the java query to work for multiple java versions.
2023-08-29 15:37:28 +02:00
Anders Starcke Henriksen
ccdb46a1bb Merge branch 'main' into starcke/rename-directories 2023-08-29 15:16:33 +02:00
Anders Starcke Henriksen
d1a342beaf Merge pull request #2757 from github/starcke/automodel-pack
Use auto-model pack to run auto-model queries.
2023-08-29 15:12:03 +02:00
Anders Starcke Henriksen
eeac123ee5 Update non-build references. 2023-08-29 14:39:22 +02:00
Anders Starcke Henriksen
73c596c87a Rename other directories. 2023-08-29 14:38:18 +02:00
Anders Starcke Henriksen
c6f40b3152 Rename main directory. 2023-08-29 14:38:18 +02:00
Anders Starcke Henriksen
3a0843219e Change the java query to work for multiple java versions. 2023-08-29 13:57:16 +02:00
Anders Starcke Henriksen
b00a2cc803 Use auto-model pack to run auto-model queries. 2023-08-29 13:39:44 +02:00
Anders Starcke Henriksen
14b9f932ab Merge pull request #2731 from github/starcke/no-submodule
Make automodel and flow queries work without submodule.
2023-08-29 12:45:22 +02:00
Anders Starcke Henriksen
f3e32baec4 Update extensions/ql-vscode/src/data-extensions-editor/external-api-usage-queries.ts
Co-authored-by: Charis Kyriakou <charisk@users.noreply.github.com>
2023-08-29 11:45:32 +02:00
Anders Starcke Henriksen
20e5429af8 Merge pull request #2755 from github/starcke/fix-neutral-fetch
Fix ql code in neutral fetch.
2023-08-29 09:29:59 +02:00
Dave Bartolomeo
d23178be85 Merge pull request #2756 from github/github-action/bump-cli
Bump CLI Version to v2.14.3 for integration tests
2023-08-28 12:18:48 -04:00
Andrew Eisenberg
b09e9942b2 Add more path triggers for cli-test.yml 2023-08-28 15:25:00 +00:00
github-actions[bot]
fc5cfd0aec Bump CLI version from v2.14.2 to v2.14.3 for integration tests 2023-08-28 13:45:42 +00:00
Anders Starcke Henriksen
259159df45 Add missing pack download and fix lock file creation. 2023-08-28 13:22:03 +02:00
Anders Starcke Henriksen
bc7c97e216 Fix ql code in neutral fetch. 2023-08-28 09:42:04 +02:00
Charis Kyriakou
af22a1573b Add new method modeling panel (#2752) 2023-08-25 15:47:57 +00:00
Anders Starcke Henriksen
d2eb366e74 Make automodel and flow queries work without submodule. 2023-08-25 14:57:54 +02:00
Anders Starcke Henriksen
6a6028bf63 Merge pull request #2746 from github/starcke/update-editor-name
Update editor name in visible strings.
2023-08-25 14:13:19 +02:00
Charis Kyriakou
3c7e1fc192 Remove codeQL.dataExtensions.frameworkMode setting (#2753) 2023-08-25 11:28:21 +00:00
Anders Starcke Henriksen
0433f899fd Merge pull request #2750 from github/starcke/fetch-queries-out-of-view
Starcke/fetch queries out of view
2023-08-25 13:25:04 +02:00
Charis Kyriakou
c82f00eb45 Rename ModelDetail to MethodsUsage in types and functions (#2751) 2023-08-25 11:06:21 +01:00
Shati Patel
94edb9bf16 Merge pull request #2749 from github/shati-patel/implement-dropdown
Make "result format" dropdown determine result display
2023-08-25 10:52:23 +01:00
Shati Patel
4a87a6fddf Merge pull request #2745 from github/shati-patel/result-format-view
Display "result format" dropdown in results view for (path-)problem queries
2023-08-25 09:46:54 +01:00
Anders Starcke Henriksen
9543ab339f Update tests. 2023-08-25 09:50:01 +02:00
Anders Starcke Henriksen
398f16c4cb Change fetch queries to use shared methods. 2023-08-25 09:49:57 +02:00
Anders Starcke Henriksen
ea14767f2a Rename methods in fetch queries. 2023-08-25 09:28:46 +02:00
Anders Starcke Henriksen
b6deb8e0ea Merge pull request #2744 from github/starcke/general-setup
Move pack setup out of fetch queries.
2023-08-25 09:26:01 +02:00
Nora
7b78fc1dd9 Merge pull request #2748 from github/nora/rename-method-usages-folder
Rename methods usage folder and command
2023-08-24 20:02:28 +02:00
shati-patel
0ccd39a368 Update changelog 2023-08-24 17:37:40 +01:00
shati-patel
24b93e247c Make "result format" dropdown determine result display 2023-08-24 17:28:54 +01:00
Nora
6e3b0b245c Merge pull request #2747 from github/nora/rename-model-details-files
Rename methods usage panel files
2023-08-24 18:12:39 +02:00
Nora
6939caa6a5 Rename command and folders 2023-08-24 15:22:13 +00:00
Nora
2e8e7cae47 Rename files only 2023-08-24 15:13:01 +00:00
shati-patel
f8d542d141 Only show the "result format" dropdown for (path-)problem queries 2023-08-24 15:44:08 +01:00
shati-patel
6715669036 Add "result format" dropdown to MRVA view 2023-08-24 15:44:07 +01:00
Shati Patel
c38a01e937 Add a dropdown for choosing MRVA result format (#2743) 2023-08-24 14:42:44 +00:00
Anders Starcke Henriksen
74a12b9fed Move test to separate file. 2023-08-24 16:16:24 +02:00
Anders Starcke Henriksen
906af36337 Update editor name in visible strings. 2023-08-24 16:07:33 +02:00
Anders Starcke Henriksen
359e23fc59 Fix test. 2023-08-24 13:53:34 +02:00
Anders Starcke Henriksen
b13dd7545c Merge branch 'main' into starcke/general-setup 2023-08-24 13:45:00 +02:00
Anders Starcke Henriksen
ac0dfa5e83 Merge pull request #2742 from github/starcke/flow-queries-refactor
Starcke/flow queries refactor
2023-08-24 13:38:13 +02:00
Shati Patel
2ffb7894d4 Always read BQRS results file (#2741) 2023-08-24 12:11:51 +01:00
Nora
422f6de05e Merge pull request #2735 from github/nora/test-model-details-view
Add tests for Model Details View
2023-08-24 12:33:51 +02:00
Shati Patel
ee88ea1658 Store query @kind when running a variant analysis (#2740) 2023-08-24 10:18:20 +01:00
Nora
0daa06bc0d rename test and remove boolean type 2023-08-24 08:58:37 +00:00
Anders Starcke Henriksen
c584d02805 Merge pull request #2734 from github/starcke/automodel-queries-refactor
Starcke/automodel queries refactor
2023-08-24 09:57:32 +02:00
Nora
c56936e2f6 create and use factories 2023-08-23 16:06:30 +00:00
Anders Starcke Henriksen
1fc735639b Merge pull request #2733 from github/starcke/refactor-names
Rename query files to have consistent suffix.
2023-08-23 12:58:18 +02:00
Charis Kyriakou
0352629eb4 Rename WebviewView to WebviewKind (#2739) 2023-08-23 11:27:58 +01:00
Anders Starcke Henriksen
877fc51494 Move pack setup out of fetch queries. 2023-08-23 11:27:18 +02:00
Anders Starcke Henriksen
886f211441 Change flow queries to use shared methods. 2023-08-23 11:27:03 +02:00
Anders Starcke Henriksen
75d275c93f Rename methods in flow queries. 2023-08-23 11:27:03 +02:00
Anders Starcke Henriksen
5d1fa1d6b5 Reorder methods in flow queries. 2023-08-23 11:27:03 +02:00
Anders Starcke Henriksen
4fce448717 Address comments. 2023-08-23 11:26:23 +02:00
Robert
610c936690 Add useScrollIntoView hook 2023-08-22 17:01:25 +01:00
Robert
d777427c0a Merge pull request #2737 from github/robertbrignull/AlertTable-functional
Convert AlertTable to a function component
2023-08-22 16:59:00 +01:00
Charis Kyriakou
81924af1e4 Don't download artifacts for repos with no results in MRVA (#2736)
* Don't download artifacts for repos with no results

* Remove getVariantAnalysisRepoResult requests for repos with no results

* Run fix-scenario-file-numbering for mrva-problem-query-success scenario

* Update CHANGELOG
2023-08-22 16:23:40 +01:00
Nora
45f7d22d2a Add reveal test 2023-08-22 13:11:46 +00:00
Robert
dcef43c6d5 Convert updateSelectionCallback to use useCallback 2023-08-22 14:08:14 +01:00
Robert
160642ec73 Convert toggle to use useCallback 2023-08-22 14:07:54 +01:00
Robert
240dd51dc0 Convert handleNavigationEvent to use useCallback 2023-08-22 14:07:54 +01:00
Robert
ad42b060b7 Decompose props earlier 2023-08-22 14:07:54 +01:00
Robert
23b2327bd0 Convert AlertTable to a function component 2023-08-22 14:07:52 +01:00
Robert
450d294bab Move render to the end of the component 2023-08-22 14:04:48 +01:00
Robert
4e376063ee Move getNewSelection to before it is used 2023-08-22 14:02:56 +01:00
Anders Starcke Henriksen
39cb219e56 Fix broken reference in test. 2023-08-22 14:53:04 +02:00
Anders Starcke Henriksen
e01fb9172f Update tests. 2023-08-22 14:23:26 +02:00
Anders Starcke Henriksen
1764151bf7 Change automodel queries to use shared methods. 2023-08-22 14:20:59 +02:00
Anders Starcke Henriksen
82c40c69e6 Add generalized run query method. 2023-08-22 14:18:19 +02:00
Anders Starcke Henriksen
1a34d782e8 Reorder methods in automodel queries. 2023-08-22 14:16:18 +02:00
Anders Starcke Henriksen
08c1b57661 Rename query files to have consistent suffix. 2023-08-22 14:06:22 +02:00
Robert
5fc34248b3 Merge pull request #2732 from github/robertbrignull/AlertTable-decompose
Split AlertTable into smaller components
2023-08-22 12:24:12 +01:00
Robert
bee7d81fb4 Merge branch 'main' into robertbrignull/AlertTable-decompose 2023-08-22 11:40:45 +01:00
Charis Kyriakou
3094405f68 Split out CLI version tests to separate workflow (#2729) 2023-08-22 11:28:36 +01:00
Nora
392e76d8f2 Add getChildren tests 2023-08-22 08:56:42 +00:00
Nora
6e4e89a006 Move dataProvider creation to beforeEach 2023-08-22 08:56:07 +00:00
Nora
cb2802e2e7 Add mode details panel test 2023-08-22 08:55:25 +00:00
Robert
af1af074dc Convert updateSelectionCallback to not use double-nested methods 2023-08-21 17:17:37 +01:00
Robert
d65ce3e24a Use useCallback when calling toggleExpanded 2023-08-21 17:13:49 +01:00
Robert
13ce5f7e3c Merge pull request #2730 from github/robertbrignull/details-ship
Remove config.codeQL.dataExtensions.modelDetailsView feature flag
2023-08-21 14:53:24 +01:00
Robert
eebe11e5dd Simplify passing similar props 2023-08-21 14:52:42 +01:00
Robert
bd5d361de1 Pass around toggle instead of toggler 2023-08-21 14:26:10 +01:00
Robert
e3596db8e7 Remove rows array and render AlertTableResultRow inline 2023-08-21 14:26:10 +01:00
Robert
21b1c997c6 Move rendering of AlertTablePathRow to inside of AlertTableResultRow 2023-08-21 14:26:09 +01:00
Robert
9ecf97152a Move rendering of msg to inside AlertTableResuiltRow 2023-08-21 14:25:42 +01:00
Robert
3983087bc8 Use useMemo for callback passed to SarifLocation.onClick in AlertTableResultRow 2023-08-21 14:25:08 +01:00
Robert
636d0bf025 Move rendering of locationCells to inside AlertTableResuiltRow 2023-08-21 14:25:08 +01:00
Robert
fe4d87dae5 Teach AlertTableResultRow how to render results without codeFlows 2023-08-21 14:25:06 +01:00
Robert
1794c6b7f7 Simplify rendering in AlertTable 2023-08-21 14:24:36 +01:00
Robert
23d815ff05 Use useMemo for callback passed to AlertTableDropdownIndicatorCell.onClick in AlertTableResultRow 2023-08-21 14:24:25 +01:00
Robert
8945abcb57 Pull out AlertTableResultRow to a separate component 2023-08-21 14:23:57 +01:00
Robert
a576dace04 Do all rendering in AlertTablePathRow in one place 2023-08-21 14:23:05 +01:00
Robert
3e7577c984 Use useMemo for callback passed to AlertTableDropdownIndicatorCell.onClick in AlertTablePathRow 2023-08-21 14:21:58 +01:00
Robert
acb76a64ef Pull out AlertTablePathRow to a separate component 2023-08-21 14:20:45 +01:00
Robert
ba0cf9a22d Use useMemo for callback passed to SarifLocation.onClick in AlertTablePathNodeRow 2023-08-21 14:19:54 +01:00
Robert
443c9ac56c Inline some rendering in AlertTablePathNodeRow 2023-08-21 14:19:53 +01:00
Robert
91e69c93be Pull out AlertTablePathNodeRow to a separate component 2023-08-21 14:19:53 +01:00
Robert
7e31b6e42a Construct rows using maps instead of mutating array from multiple places 2023-08-21 14:19:52 +01:00
Robert
cff7170fdc Move AlertTableTruncatedMessage to a new component in a new file 2023-08-21 14:17:47 +01:00
Robert
ca40963238 Move AlertTableNoResults to a new component in a new file 2023-08-21 14:17:45 +01:00
Robert
b1ff75b646 Remove config.codeQL.dataExtensions.modelDetailsView feature flag 2023-08-21 12:32:45 +01:00
Robert
e5ab1118ee Merge pull request #2719 from github/koesie10/fix-button-accessibility
Fix button accessibility
2023-08-21 11:48:36 +01:00
Robert
d90fb69e39 Merge branch 'main' into koesie10/fix-button-accessibility 2023-08-21 11:11:35 +01:00
Robert
2f4eed4a4d Merge pull request #2726 from github/koesie10/fix-alert-table-accessibility
Fix accessibility of alert table
2023-08-21 11:04:41 +01:00
Nora
2cb520d603 Merge pull request #2717 from github/nora/hide-modeled-on-model-details-view
Respect the "Hide modeled APIs" checkbox in the model details view
2023-08-21 11:09:48 +02:00
Charis Kyriakou
4a752d27c4 Moves mock GitHub API to /common (#2728)
* Move mock GitHub API to /common

* Rename MRVA mock scenarios

* Update mock GitHub API docs
2023-08-21 08:49:27 +01:00
Nora
6cfd20eca4 Set hodeModeledApis variable 2023-08-21 07:29:37 +00:00
dependabot[bot]
36259b21db Bump @testing-library/jest-dom in /extensions/ql-vscode (#2723)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.5 to 6.0.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/v5.16.5...v6.0.0)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
Co-authored-by: Charis Kyriakou <charisk@users.noreply.github.com>
2023-08-18 15:39:28 +01:00
dependabot[bot]
cd14a37f79 Bump lint-staged from 13.2.0 to 14.0.0 in /extensions/ql-vscode (#2722)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.2.0 to 14.0.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.2.0...v14.0.0)

---
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>
Co-authored-by: Charis Kyriakou <charisk@users.noreply.github.com>
2023-08-18 14:55:10 +01:00
Koen Vlaswinkel
d6e0c6a4a7 Fix accessibility of alert table dropdown 2023-08-18 13:28:17 +02:00
Koen Vlaswinkel
9f589880df Split alert table dropdown indicator cell 2023-08-18 13:26:45 +02:00
Koen Vlaswinkel
b7a4419420 Add story for AlertTable 2023-08-18 13:26:19 +02:00
Koen Vlaswinkel
1d2ef805fb Merge remote-tracking branch 'origin/main' into koesie10/fix-button-accessibility 2023-08-18 10:03:54 +02:00
Koen Vlaswinkel
2888fddf61 Move all ResultTablesHeader styles to styled-components 2023-08-18 10:03:36 +02:00
Koen Vlaswinkel
a5c675b8c7 Add story for ResultTablesHeader 2023-08-18 09:58:34 +02:00
Shati Patel
d05dba4bba Fix changelog entry (#2725) 2023-08-17 16:13:40 +00:00
Shati Patel
2db0ca8ecc Group extension settings in the VS Code UI (#2706) 2023-08-17 16:48:15 +01:00
Robert
497dc31819 Merge pull request #2716 from github/robertbrignull/data-renames
Rename files in src/view/results to match their components
2023-08-17 15:23:38 +01:00
Nora
cd309aece6 Adjust badge number 2023-08-17 12:53:24 +00:00
Nora
aaaf799557 Add test 2023-08-17 12:27:16 +00:00
Nora
ece54b8f7d Make all setStage arguments mandatory 2023-08-17 12:26:13 +00:00
Nora
0824892507 Move post message and use effect 2023-08-17 11:02:20 +00:00
Nora
082268e201 Rename constant file 2023-08-17 11:00:45 +00:00
Nora
27bce4a1e9 Add tests 2023-08-17 09:19:01 +00:00
Nora
56ecd1a84c hide unmodeled apis 2023-08-17 09:19:01 +00:00
Nora
84ab602277 Send message from from view 2023-08-17 09:19:01 +00:00
Koen Vlaswinkel
a86a373e19 Merge pull request #2718 from github/koesie10/upgrade-storybook
Upgrade Storybook
2023-08-17 10:04:36 +02:00
Koen Vlaswinkel
90a39ec293 Use button instead of a for raw results link 2023-08-16 16:45:51 +02:00
Koen Vlaswinkel
3dd8583116 Use button instead of a for clickable location links 2023-08-16 16:45:47 +02:00
Koen Vlaswinkel
b0663669b0 Use button instead of a for compare table queries 2023-08-16 16:45:44 +02:00
Koen Vlaswinkel
493c9cb5fe Add story for compare table 2023-08-16 16:45:41 +02:00
Robert
99dd9166b3 Merge pull request #2709 from github/robertbrignull/details-visible
Only show the details view when a data extensions editor is open
2023-08-16 15:28:38 +01:00
Koen Vlaswinkel
10604808e0 Upgrade Storybook 2023-08-16 15:45:28 +02:00
Robert
3164c3f11f Rename results.tsx => ResultsApp.tsx 2023-08-16 13:21:07 +01:00
Robert
ed36fb725b Rename raw-results-table.tsx => RawTable.tsx 2023-08-16 13:21:07 +01:00
Robert
67b138f0c2 Rename graph.tsx => Graph.tsx 2023-08-16 13:21:04 +01:00
Robert
fed9870a0c Only show the details view when a data extensions editor is open 2023-08-16 13:06:14 +01:00
Robert
51844bb541 Merge pull request #2705 from github/robertbrignull/details-multiple-editors
Allow the details view to handle multiple open data extensions editors
2023-08-16 12:47:44 +01:00
Robert
0acd06f773 Rename alert-table.tsx => AlertTable.tsx 2023-08-16 10:35:59 +01:00
Robert
acb9669e9f Merge pull request #2714 from github/robertbrignull/EmptyQueryResultsMessage
Move EmptyQueryResultsMessage out of results-table-utils
2023-08-16 10:05:58 +01:00
Charis Kyriakou
2a71183695 Start with collapsed items in data extensions editor (#2713) 2023-08-15 17:06:12 +01:00
Robert
1c3d3428e4 Merge pull request #2712 from github/robertbrignull/AlertTableHeader-filename
Rename alert-table-header.tsx => AlertTableHeader.tsx
2023-08-15 16:58:55 +01:00
Robert
c77bb2b9c2 Rename result-table-utils.tsx => result-table-utils.ts 2023-08-15 16:44:29 +01:00
Robert
d3d96a1dbe Make EmptyQueryResultsMessage into a component 2023-08-15 16:42:10 +01:00
Robert
7c62176f59 Rename alert-table-header.tsx => AlertTableHeader.tsx 2023-08-15 16:31:55 +01:00
Robert
87754a9ec9 Move mostRecentlyActiveView variable to DataExtensionsEditorModule 2023-08-15 15:36:14 +01:00
Robert
ee78df683a Add onPanelWasDisposed 2023-08-15 15:16:37 +01:00
Robert
3764a7e567 Split isTheMostRecentlyActivePanel into two methods 2023-08-15 15:14:15 +01:00
Robert
552baa5570 Merge branch 'main' into robertbrignull/details-multiple-editors 2023-08-15 14:57:45 +01:00
Charis Kyriakou
57262446fb Merge pull request #2711 from github/version/bump-to-v1.8.11
Bump version to v1.8.11
2023-08-15 14:07:35 +01:00
Robert
5b128711e5 Merge pull request #2708 from github/robertbrignull/details-updates
Only update the details view when data has changed
2023-08-15 14:01:35 +01:00
Robert
6787deed04 Use not.toHaveBeenCalled() 2023-08-15 11:16:44 +01:00
Robert
381e8c0849 Fix test name 2023-08-15 11:15:32 +01:00
github-actions[bot]
74c6f3ce54 Bump version to v1.8.11 2023-08-15 10:08:02 +00:00
Robert
4e70c8999f Only update the details view when data has changed 2023-08-14 15:55:01 +01:00
Robert
6005e3ab70 Update details view on view state changes, and remember the most recently active panel 2023-08-14 15:02:40 +01:00
Robert
7c93c7046e Store the latest set of external API usages on the view class 2023-08-14 14:08:10 +01:00
289 changed files with 10735 additions and 11293 deletions

111
.github/workflows/cli-test.yml vendored Normal file
View File

@@ -0,0 +1,111 @@
name: Run CLI tests
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- .github/workflows/cli-test.yml
- extensions/ql-vscode/src/codeql-cli/**
- extensions/ql-vscode/src/language-support/**
- extensions/ql-vscode/src/query-server/**
- extensions/ql-vscode/supported_cli_versions.json
jobs:
find-nightly:
name: Find Nightly Release
runs-on: ubuntu-latest
outputs:
url: ${{ steps.get-url.outputs.nightly-url }}
steps:
- name: Get Nightly Release URL
id: get-url
env:
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
shell: bash
# This workflow step gets an unstable testing version of the CodeQL CLI. It should not be used outside of these tests.
run: |
LATEST=`gh api repos/dsp-testing/codeql-cli-nightlies/releases --jq '.[].tag_name' --method GET --raw-field 'per_page=1'`
echo "nightly-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$LATEST" >> "$GITHUB_OUTPUT"
set-matrix:
name: Set Matrix for cli-test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set the variables
id: set-variables
run: echo "cli-versions=$(cat ./extensions/ql-vscode/supported_cli_versions.json | jq -rc)" >> $GITHUB_OUTPUT
outputs:
cli-versions: ${{ steps.set-variables.outputs.cli-versions }}
cli-test:
name: CLI Test
runs-on: ${{ matrix.os }}
needs: [find-nightly, set-matrix]
timeout-minutes: 30
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
version: ${{ fromJson(needs.set-matrix.outputs.cli-versions) }}
fail-fast: false
env:
CLI_VERSION: ${{ matrix.version }}
NIGHTLY_URL: ${{ needs.find-nightly.outputs.url }}
TEST_CODEQL_PATH: '${{ github.workspace }}/codeql'
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16.17.1'
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: Build
working-directory: extensions/ql-vscode
run: |
npm run build
shell: bash
- name: Decide on ref of CodeQL repo
id: choose-ref
shell: bash
run: |
if [[ "${{ matrix.version }}" == "nightly" ]]
then
REF="codeql-cli/latest"
else
REF="codeql-cli/${{ matrix.version }}"
fi
echo "ref=$REF" >> "$GITHUB_OUTPUT"
- name: Checkout QL
uses: actions/checkout@v3
with:
repository: github/codeql
ref: ${{ steps.choose-ref.outputs.ref }}
path: codeql
- name: Run CLI tests (Linux)
working-directory: extensions/ql-vscode
if: matrix.os == 'ubuntu-latest'
run: |
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/xvfb-run npm run test:cli-integration
- name: Run CLI tests (Windows)
working-directory: extensions/ql-vscode
if: matrix.os == 'windows-latest'
run: |
npm run test:cli-integration

View File

@@ -53,22 +53,6 @@ jobs:
name: vscode-codeql-extension
path: artifacts
find-nightly:
name: Find Nightly Release
runs-on: ubuntu-latest
outputs:
url: ${{ steps.get-url.outputs.nightly-url }}
steps:
- name: Get Nightly Release URL
id: get-url
env:
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}'
shell: bash
# This workflow step gets an unstable testing version of the CodeQL CLI. It should not be used outside of these tests.
run: |
LATEST=`gh api repos/dsp-testing/codeql-cli-nightlies/releases --jq '.[].tag_name' --method GET --raw-field 'per_page=1'`
echo "nightly-url=https://github.com/dsp-testing/codeql-cli-nightlies/releases/download/$LATEST" >> "$GITHUB_OUTPUT"
lint:
name: Lint
runs-on: ubuntu-latest
@@ -198,31 +182,31 @@ jobs:
run: |
npm run test:vscode-integration
set-matrix:
name: Set Matrix for cli-test
get-latest-cli-version:
name: Get latest CLI version
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set the variables
id: set-variables
run: echo "cli-versions=$(cat ./extensions/ql-vscode/supported_cli_versions.json | jq -rc)" >> $GITHUB_OUTPUT
- name: Set the variable
id: set-variable
run: |
echo "cli-version=$(cat ./extensions/ql-vscode/supported_cli_versions.json | jq -rc '.[0]')" >> $GITHUB_OUTPUT
echo "$cli-version"
outputs:
cli-versions: ${{ steps.set-variables.outputs.cli-versions }}
cli-version: ${{ steps.set-variable.outputs.cli-version }}
cli-test:
name: CLI Test
runs-on: ${{ matrix.os }}
needs: [find-nightly, set-matrix]
needs: [get-latest-cli-version]
timeout-minutes: 30
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
version: ${{ fromJson(needs.set-matrix.outputs.cli-versions) }}
fail-fast: false
env:
CLI_VERSION: ${{ matrix.version }}
NIGHTLY_URL: ${{ needs.find-nightly.outputs.url }}
CLI_VERSION: ${{ needs.get-latest-cli-version.outputs.cli-version }}
TEST_CODEQL_PATH: '${{ github.workspace }}/codeql'
steps:
@@ -247,23 +231,11 @@ jobs:
npm run build
shell: bash
- name: Decide on ref of CodeQL repo
id: choose-ref
shell: bash
run: |
if [[ "${{ matrix.version }}" == "nightly" ]]
then
REF="codeql-cli/latest"
else
REF="codeql-cli/${{ matrix.version }}"
fi
echo "ref=$REF" >> "$GITHUB_OUTPUT"
- name: Checkout QL
uses: actions/checkout@v3
with:
repository: github/codeql
ref: ${{ steps.choose-ref.outputs.ref }}
ref: 'codeql-cli/${{ needs.get-latest-cli-version.outputs.cli-version }}'
path: codeql
- name: Run CLI tests (Linux)

View File

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

View File

@@ -1,5 +1,6 @@
# 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. 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.

View File

@@ -133,4 +133,4 @@ Once the scenario has been recorded, it's often useful to remove some of the req
### Scenario data location
Pre-recorded scenarios are stored in `./src/variant-analysis/github-api/mocks/scenarios`. However, it's possible to configure the location, by setting the `codeQL.mockGitHubApiServer.scenariosPath` configuration property in the VS Code user settings.
Pre-recorded scenarios are stored in `./src/common/mock-gh-api/scenarios`. However, it's possible to configure the location, by setting the `codeQL.mockGitHubApiServer.scenariosPath` configuration property in the VS Code user settings.

View File

@@ -1,5 +1,11 @@
# CodeQL for Visual Studio Code: Changelog
## 1.8.11 - 7 September 2023
- Update how variant analysis results are displayed. For queries with ["path-problem" or "problem" `@kind`](https://codeql.github.com/docs/writing-codeql-queries/metadata-for-codeql-queries/#metadata-properties), you can choose to display the results as rendered alerts or as a table of raw results. For queries with any other `@kind`, the results are displayed as a table. [#2745](https://github.com/github/vscode-codeql/pull/2745) & [#2749](https://github.com/github/vscode-codeql/pull/2749)
- When running variant analyses, don't download artifacts for repositories with no results. [#2736](https://github.com/github/vscode-codeql/pull/2736)
- Group the extension settings, so that they're easier to find in the Settings UI. [#2706](https://github.com/github/vscode-codeql/pull/2706)
## 1.8.10 - 15 August 2023
- Add a code lens to make the `CodeQL: Open Referenced File` command more discoverable. Click the "Open referenced file" prompt in a `.qlref` file to jump to the referenced `.ql` file. [#2704](https://github.com/github/vscode-codeql/pull/2704)

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.8.10",
"version": "1.8.11",
"publisher": "GitHub",
"license": "MIT",
"icon": "media/VS-marketplace-CodeQL-icon.png",
@@ -182,215 +182,281 @@
"path": "./snippets.json"
}
],
"configuration": {
"type": "object",
"title": "CodeQL",
"properties": {
"codeQL.cli.executablePath": {
"scope": "machine-overridable",
"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.runningQueries.numberOfThreads": {
"type": "integer",
"default": 1,
"minimum": 0,
"maximum": 1024,
"description": "Number of threads for running queries."
},
"codeQL.runningQueries.saveCache": {
"type": "boolean",
"default": false,
"scope": "window",
"description": "Aggressively save intermediate results to the disk cache. This may speed up subsequent queries if they are similar. Be aware that using this option will greatly increase disk usage and initial evaluation time."
},
"codeQL.runningQueries.cacheSize": {
"type": [
"integer",
"null"
],
"default": null,
"minimum": 1024,
"description": "Maximum size of the disk cache (in MB). Leave blank to allow the evaluator to automatically adjust the size of the disk cache based on the size of the codebase and the complexity of the queries being executed."
},
"codeQL.runningQueries.timeout": {
"type": [
"integer",
"null"
],
"default": null,
"minimum": 0,
"maximum": 2147483647,
"description": "Timeout (in seconds) for running queries. Leave blank or set to zero for no timeout."
},
"codeQL.runningQueries.memory": {
"type": [
"integer",
"null"
],
"default": null,
"minimum": 1024,
"description": "Memory (in MB) to use for running queries. Leave blank for CodeQL to choose a suitable value based on your system's available memory."
},
"codeQL.runningQueries.debug": {
"type": "boolean",
"default": false,
"description": "Enable debug logging and tuple counting when running CodeQL queries. This information is useful for debugging query performance."
},
"codeQL.runningQueries.maxPaths": {
"type": "integer",
"default": 4,
"minimum": 1,
"maximum": 256,
"markdownDescription": "Max number of paths to display for each alert found by a path query (`@kind path-problem`)."
},
"codeQL.runningQueries.autoSave": {
"type": "boolean",
"description": "Enable automatically saving a modified query file when running a query.",
"markdownDeprecationMessage": "This property is deprecated and no longer has any effect. To control automatic saving of documents before running queries, use the `debug.saveBeforeStart` setting."
},
"codeQL.runningQueries.maxQueries": {
"type": "integer",
"default": 20,
"description": "Max number of simultaneous queries to run using the 'CodeQL: Run Queries' command."
},
"codeQL.runningQueries.customLogDirectory": {
"type": [
"string",
null
],
"default": null,
"description": "Path to a directory where the CodeQL extension should store query server logs. If empty, the extension stores logs in a temporary workspace folder and deletes the contents after each run.",
"markdownDeprecationMessage": "This property is deprecated and no longer has any effect. All query logs are stored in the query history folder next to the query results."
},
"codeQL.runningQueries.quickEvalCodelens": {
"type": "boolean",
"default": true,
"description": "Enable the 'Quick Evaluation' CodeLens."
},
"codeQL.runningQueries.useExtensionPacks": {
"type": "string",
"default": "none",
"enum": [
"none",
"all"
],
"enumDescriptions": [
"Do not use extension packs.",
"Use all extension packs found in the workspace."
],
"description": "Choose whether or not to run queries using extension packs. Requires CodeQL CLI v2.12.3 or later."
},
"codeQL.resultsDisplay.pageSize": {
"type": "integer",
"default": 200,
"description": "Max number of query results to display per page in the results view."
},
"codeQL.queryHistory.format": {
"type": "string",
"default": "%q on %d - %s %r [%t]",
"markdownDescription": "Default string for how to label query history items.\n* %t is the time of the query\n* %q is the human-readable query name\n* %f is the query file name\n* %d is the database name\n* %r is the number of results\n* %s is a status string"
},
"codeQL.queryHistory.ttl": {
"type": "number",
"default": 30,
"description": "Number of days to retain queries in the query history before being automatically deleted.",
"scope": "machine"
},
"codeQL.runningTests.additionalTestArguments": {
"scope": "window",
"type": "array",
"default": [],
"markdownDescription": "Additional command line arguments to pass to the CLI when [running tests](https://codeql.github.com/docs/codeql-cli/manual/test-run/). This setting should be an array of strings, each containing an argument to be passed."
},
"codeQL.runningTests.numberOfThreads": {
"scope": "window",
"type": "integer",
"default": 1,
"minimum": 0,
"maximum": 1024,
"description": "Number of threads for running CodeQL tests."
},
"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)"
},
"codeQL.telemetry.logTelemetry": {
"type": "boolean",
"default": false,
"scope": "application",
"description": "Specifies whether or not to write telemetry events to the extension log."
},
"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",
"enum": [
"all",
"withResults"
],
"enumDescriptions": [
"Show all repositories in the results view.",
"Show only repositories with results in the results view."
],
"description": "The default filter to apply to the variant analysis results view."
},
"codeQL.variantAnalysis.defaultResultsSort": {
"type": "string",
"default": "numberOfResults",
"enum": [
"alphabetically",
"popularity",
"numberOfResults"
],
"enumDescriptions": [
"Sort repositories alphabetically in the results view.",
"Sort repositories by popularity in the results view.",
"Sort repositories by number of results in the results view."
],
"description": "The default sorting order for repositories in the variant analysis results view."
},
"codeQL.logInsights.joinOrderWarningThreshold": {
"type": "number",
"default": 50,
"scope": "window",
"minimum": 0,
"description": "Report a warning for any join order whose metric exceeds this value."
},
"codeQL.databaseDownload.allowHttp": {
"type": "boolean",
"default": false,
"description": "Allow database to be downloaded via HTTP. Warning: enabling this option will allow downloading from insecure servers."
},
"codeQL.createQuery.qlPackLocation": {
"type": "string",
"patternErrorMessage": "Please enter a valid folder",
"markdownDescription": "The name of the folder where we want to create queries and QL packs via the \"CodeQL: Create Query\" command. The folder should exist."
},
"codeQL.createQuery.autogenerateQlPacks": {
"type": "string",
"default": "ask",
"enum": [
"ask",
"never"
],
"enumDescriptions": [
"Ask to create a QL pack when a new CodeQL database is added.",
"Never create a QL pack when a new CodeQL database is added."
],
"description": "Ask the user to generate a QL pack when a new CodeQL database is downloaded."
"configuration": [
{
"type": "object",
"title": "CLI",
"order": 0,
"properties": {
"codeQL.cli.executablePath": {
"scope": "machine-overridable",
"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)."
}
}
},
{
"type": "object",
"title": "Running queries",
"order": 1,
"properties": {
"codeQL.runningQueries.numberOfThreads": {
"type": "integer",
"default": 1,
"minimum": 0,
"maximum": 1024,
"description": "Number of threads for running queries."
},
"codeQL.runningQueries.saveCache": {
"type": "boolean",
"default": false,
"scope": "window",
"description": "Aggressively save intermediate results to the disk cache. This may speed up subsequent queries if they are similar. Be aware that using this option will greatly increase disk usage and initial evaluation time."
},
"codeQL.runningQueries.cacheSize": {
"type": [
"integer",
"null"
],
"default": null,
"minimum": 1024,
"description": "Maximum size of the disk cache (in MB). Leave blank to allow the evaluator to automatically adjust the size of the disk cache based on the size of the codebase and the complexity of the queries being executed."
},
"codeQL.runningQueries.timeout": {
"type": [
"integer",
"null"
],
"default": null,
"minimum": 0,
"maximum": 2147483647,
"description": "Timeout (in seconds) for running queries. Leave blank or set to zero for no timeout."
},
"codeQL.runningQueries.memory": {
"type": [
"integer",
"null"
],
"default": null,
"minimum": 1024,
"description": "Memory (in MB) to use for running queries. Leave blank for CodeQL to choose a suitable value based on your system's available memory."
},
"codeQL.runningQueries.debug": {
"type": "boolean",
"default": false,
"description": "Enable debug logging and tuple counting when running CodeQL queries. This information is useful for debugging query performance."
},
"codeQL.runningQueries.maxPaths": {
"type": "integer",
"default": 4,
"minimum": 1,
"maximum": 256,
"markdownDescription": "Max number of paths to display for each alert found by a path query (`@kind path-problem`)."
},
"codeQL.runningQueries.autoSave": {
"type": "boolean",
"description": "Enable automatically saving a modified query file when running a query.",
"markdownDeprecationMessage": "This property is deprecated and no longer has any effect. To control automatic saving of documents before running queries, use the `debug.saveBeforeStart` setting."
},
"codeQL.runningQueries.maxQueries": {
"type": "integer",
"default": 20,
"description": "Max number of simultaneous queries to run using the 'CodeQL: Run Queries' command."
},
"codeQL.runningQueries.customLogDirectory": {
"type": [
"string",
null
],
"default": null,
"description": "Path to a directory where the CodeQL extension should store query server logs. If empty, the extension stores logs in a temporary workspace folder and deletes the contents after each run.",
"markdownDeprecationMessage": "This property is deprecated and no longer has any effect. All query logs are stored in the query history folder next to the query results."
},
"codeQL.runningQueries.quickEvalCodelens": {
"type": "boolean",
"default": true,
"description": "Enable the 'Quick Evaluation' CodeLens."
},
"codeQL.runningQueries.useExtensionPacks": {
"type": "string",
"default": "none",
"enum": [
"none",
"all"
],
"enumDescriptions": [
"Do not use extension packs.",
"Use all extension packs found in the workspace."
],
"description": "Choose whether or not to run queries using extension packs. Requires CodeQL CLI v2.12.3 or later."
}
}
},
{
"type": "object",
"title": "Results",
"order": 2,
"properties": {
"codeQL.resultsDisplay.pageSize": {
"type": "integer",
"default": 200,
"description": "Max number of query results to display per page in the results view."
}
}
},
{
"type": "object",
"title": "Query history",
"order": 3,
"properties": {
"codeQL.queryHistory.format": {
"type": "string",
"default": "%q on %d - %s %r [%t]",
"markdownDescription": "Default string for how to label query history items.\n* %t is the time of the query\n* %q is the human-readable query name\n* %f is the query file name\n* %d is the database name\n* %r is the number of results\n* %s is a status string"
},
"codeQL.queryHistory.ttl": {
"type": "number",
"default": 30,
"description": "Number of days to retain queries in the query history before being automatically deleted.",
"scope": "machine"
}
}
},
{
"type": "object",
"title": "Running tests",
"order": 4,
"properties": {
"codeQL.runningTests.additionalTestArguments": {
"scope": "window",
"type": "array",
"default": [],
"markdownDescription": "Additional command line arguments to pass to the CLI when [running tests](https://codeql.github.com/docs/codeql-cli/manual/test-run/). This setting should be an array of strings, each containing an argument to be passed."
},
"codeQL.runningTests.numberOfThreads": {
"scope": "window",
"type": "integer",
"default": 1,
"minimum": 0,
"maximum": 1024,
"description": "Number of threads for running CodeQL tests."
}
}
},
{
"type": "object",
"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",
"enum": [
"all",
"withResults"
],
"enumDescriptions": [
"Show all repositories in the results view.",
"Show only repositories with results in the results view."
],
"description": "The default filter to apply to the variant analysis results view."
},
"codeQL.variantAnalysis.defaultResultsSort": {
"type": "string",
"default": "numberOfResults",
"enum": [
"alphabetically",
"popularity",
"numberOfResults"
],
"enumDescriptions": [
"Sort repositories alphabetically in the results view.",
"Sort repositories by popularity in the results view.",
"Sort repositories by number of results in the results view."
],
"description": "The default sorting order for repositories in the variant analysis results view."
}
}
},
{
"type": "object",
"title": "Downloading databases",
"order": 6,
"properties": {
"codeQL.databaseDownload.allowHttp": {
"type": "boolean",
"default": false,
"description": "Allow database to be downloaded via HTTP. Warning: enabling this option will allow downloading from insecure servers."
}
}
},
{
"type": "object",
"title": "Creating queries",
"order": 7,
"properties": {
"codeQL.createQuery.qlPackLocation": {
"type": "string",
"patternErrorMessage": "Please enter a valid folder",
"markdownDescription": "The name of the folder where we want to create queries and QL packs via the \"CodeQL: Create Query\" command. The folder should exist."
},
"codeQL.createQuery.autogenerateQlPacks": {
"type": "string",
"default": "ask",
"enum": [
"ask",
"never"
],
"enumDescriptions": [
"Ask to create a QL pack when a new CodeQL database is added.",
"Never create a QL pack when a new CodeQL database is added."
],
"description": "Ask the user to generate a QL pack when a new CodeQL database is downloaded."
}
}
},
{
"type": "object",
"title": "Log insights",
"order": 8,
"properties": {
"codeQL.logInsights.joinOrderWarningThreshold": {
"type": "number",
"default": 50,
"scope": "window",
"minimum": 0,
"description": "Report a warning for any join order whose metric exceeds this value."
}
}
},
{
"type": "object",
"title": "Telemetry",
"order": 9,
"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)"
},
"codeQL.telemetry.logTelemetry": {
"type": "boolean",
"default": false,
"scope": "application",
"description": "Specifies whether or not to write telemetry events to the extension log."
}
}
}
},
],
"commands": [
{
"command": "codeQL.authenticateToGitHub",
@@ -531,6 +597,11 @@
"command": "codeQLQueries.runVariantAnalysisContextMenu",
"title": "Run against variant analysis repositories"
},
{
"command": "codeQLQueries.createQuery",
"title": "Create query",
"icon": "$(new-file)"
},
{
"command": "codeQLVariantAnalysisRepositories.openConfigFile",
"title": "Open database configuration file",
@@ -877,8 +948,8 @@
"enablement": "codeql.hasQLSource"
},
{
"command": "codeQL.openDataExtensionsEditor",
"title": "CodeQL: Open Data Extensions Editor"
"command": "codeQL.openModelEditor",
"title": "CodeQL: Open CodeQL Model Editor (Beta)"
},
{
"command": "codeQL.mockGitHubApiServer.startRecording",
@@ -940,6 +1011,11 @@
"when": "view == codeQLDatabases",
"group": "navigation"
},
{
"command": "codeQLQueries.createQuery",
"when": "view == codeQLQueries",
"group": "navigation"
},
{
"command": "codeQLQueryHistory.sortByName",
"when": "view == codeQLQueryHistory",
@@ -1224,6 +1300,10 @@
"command": "codeQLQueries.runLocalQueriesFromPanel",
"when": "false"
},
{
"command": "codeQLQueries.createQuery",
"when": "false"
},
{
"command": "codeQL.runLocalQueryFromFileTab",
"when": "false"
@@ -1349,8 +1429,8 @@
"when": "false"
},
{
"command": "codeQL.openDataExtensionsEditor",
"when": "config.codeQL.canary && config.codeQL.dataExtensions.editor"
"command": "codeQL.openModelEditor",
"when": "config.codeQL.canary && config.codeQL.model.editor"
},
{
"command": "codeQLQueries.runLocalQueryContextMenu",
@@ -1586,7 +1666,7 @@
},
{
"command": "codeQL.createQuery",
"when": "config.codeQL.codespacesTemplate"
"when": "config.codeQL.codespacesTemplate || config.codeQL.canary && config.codeQL.queriesPanel"
},
{
"command": "codeQLTests.acceptOutputContextTestItem",
@@ -1658,8 +1738,8 @@
],
"panel": [
{
"id": "codeql-model-details",
"title": "CodeQL Model Details",
"id": "codeql-methods-usage",
"title": "CodeQL Methods Usage",
"icon": "media/logo.svg"
}
]
@@ -1693,17 +1773,25 @@
"when": "config.codeQL.canary"
}
],
"codeql-model-details": [
"codeql-methods-usage": [
{
"id": "codeQLModelDetails",
"name": "CodeQL Model Details",
"when": "config.codeQL.canary && config.codeQL.dataExtensions.modelDetailsView"
"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"
}
]
},
"viewsWelcome": [
{
"view": "codeQLModelDetails",
"view": "codeQLMethodsUsage",
"contents": "Loading..."
},
{
@@ -1716,7 +1804,8 @@
},
{
"view": "codeQLQueries",
"contents": "Looking for queries..."
"contents": "We didn't find any CodeQL queries in this workspace. [Create one to get started](command:codeQLQueries.createQuery).",
"when": "codeQL.noQueries"
},
{
"view": "codeQLDatabases",
@@ -1816,7 +1905,7 @@
"@storybook/react-webpack5": "^7.1.0",
"@storybook/theming": "^7.1.0",
"@testing-library/dom": "^9.3.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/jest-dom": "^6.0.0",
"@testing-library/react": "^14.0.0",
"@testing-library/user-event": "^14.4.3",
"@types/child-process-promise": "^2.2.1",
@@ -1876,7 +1965,7 @@
"jest": "^29.0.3",
"jest-environment-jsdom": "^29.0.3",
"jest-runner-vscode": "^3.0.1",
"lint-staged": "^13.2.0",
"lint-staged": "^14.0.0",
"markdownlint-cli2": "^0.6.0",
"markdownlint-cli2-formatter-pretty": "^0.0.4",
"mini-css-extract-plugin": "^2.6.1",

View File

@@ -18,15 +18,15 @@ import { Octokit, type RestEndpointMethodTypes } from "@octokit/rest";
import { throttling } from "@octokit/plugin-throttling";
import { getFiles } from "./util/files";
import type { GitHubApiRequest } from "../src/variant-analysis/gh-api/mocks/gh-api-request";
import { isGetVariantAnalysisRequest } from "../src/variant-analysis/gh-api/mocks/gh-api-request";
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";
const extensionDirectory = resolve(__dirname, "..");
const scenariosDirectory = resolve(
extensionDirectory,
"src/variant-analysis/gh-api/mocks/scenarios",
"src/common/mock-gh-api/scenarios",
);
// Make sure we don't run into rate limits by automatically waiting until we can

View File

@@ -22,7 +22,7 @@ const scenarioName = process.argv[2];
const extensionDirectory = resolve(__dirname, "..");
const scenariosDirectory = resolve(
extensionDirectory,
"src/variant-analysis/gh-api/mocks/scenarios",
"src/common/mock-gh-api/scenarios",
);
const scenarioDirectory = resolve(scenariosDirectory, scenarioName);

View File

@@ -10,7 +10,7 @@ const extensionDirectory = resolve(__dirname, "..");
const rootDirectory = resolve(extensionDirectory, "../..");
const scenariosDirectory = resolve(
extensionDirectory,
"src/variant-analysis/gh-api/mocks/scenarios",
"src/common/mock-gh-api/scenarios",
);
const debug = process.env.RUNNER_DEBUG || process.argv.includes("--debug");
@@ -19,7 +19,7 @@ async function lintScenarios() {
const schema = createGenerator({
path: resolve(
extensionDirectory,
"src/variant-analysis/gh-api/mocks/gh-api-request.ts",
"src/common/mock-gh-api/gh-api-request.ts",
),
tsconfig: resolve(extensionDirectory, "tsconfig.json"),
type: "GitHubApiRequest",

View File

@@ -12,7 +12,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 { Usage } from "../data-extensions-editor/external-api-usage";
import type { Usage } from "../model-editor/method";
// A command function matching the signature that VS Code calls when
// a command is invoked from a context menu on a TreeView with
@@ -135,6 +135,7 @@ export type LocalQueryCommands = {
"codeQLQueries.runLocalQueryContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
"codeQLQueries.runLocalQueriesContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
"codeQLQueries.runLocalQueriesFromPanel": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
"codeQLQueries.createQuery": () => Promise<void>;
"codeQL.runLocalQueryFromFileTab": (uri: Uri) => Promise<void>;
"codeQL.runQueries": ExplorerSelectionCommandFunction<Uri>;
"codeQL.quickEval": (uri: Uri) => Promise<void>;
@@ -302,9 +303,9 @@ export type PackagingCommands = {
"codeQL.downloadPacks": () => Promise<void>;
};
export type DataExtensionsEditorCommands = {
"codeQL.openDataExtensionsEditor": () => Promise<void>;
"codeQLDataExtensionsEditor.jumpToUsageLocation": (
export type ModelEditorCommands = {
"codeQL.openModelEditor": () => Promise<void>;
"codeQLModelEditor.jumpToUsageLocation": (
usage: Usage,
databaseItem: DatabaseItem,
) => Promise<void>;
@@ -347,7 +348,7 @@ export type AllExtensionCommands = BaseCommands &
AstCfgCommands &
AstViewerCommands &
PackagingCommands &
DataExtensionsEditorCommands &
ModelEditorCommands &
EvalLogViewerCommands &
SummaryLanguageSupportCommands &
Partial<TestUICommands> &

View File

@@ -17,13 +17,10 @@ import {
} from "../variant-analysis/shared/variant-analysis-filter-sort";
import { ErrorLike } from "../common/errors";
import { DataFlowPaths } from "../variant-analysis/shared/data-flow-paths";
import {
ExternalApiUsage,
Usage,
} from "../data-extensions-editor/external-api-usage";
import { ModeledMethod } from "../data-extensions-editor/modeled-method";
import { DataExtensionEditorViewState } from "../data-extensions-editor/shared/view-state";
import { Mode } from "../data-extensions-editor/shared/mode";
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";
/**
* This module contains types and code that are shared between
@@ -494,13 +491,13 @@ export type ToDataFlowPathsMessage = SetDataFlowPathsMessage;
export type FromDataFlowPathsMessage = CommonFromViewMessages;
interface SetExtensionPackStateMessage {
t: "setDataExtensionEditorViewState";
viewState: DataExtensionEditorViewState;
t: "setModelEditorViewState";
viewState: ModelEditorViewState;
}
interface SetExternalApiUsagesMessage {
t: "setExternalApiUsages";
externalApiUsages: ExternalApiUsage[];
interface SetMethodsMessage {
t: "setMethods";
methods: Method[];
}
interface LoadModeledMethodsMessage {
@@ -526,6 +523,7 @@ interface SwitchModeMessage {
interface JumpToUsageMessage {
t: "jumpToUsage";
method: Method;
usage: Usage;
}
@@ -537,29 +535,29 @@ interface OpenExtensionPackMessage {
t: "openExtensionPack";
}
interface RefreshExternalApiUsages {
t: "refreshExternalApiUsages";
interface RefreshMethods {
t: "refreshMethods";
}
interface SaveModeledMethods {
t: "saveModeledMethods";
externalApiUsages: ExternalApiUsage[];
methods: Method[];
modeledMethods: Record<string, ModeledMethod>;
}
interface GenerateExternalApiMessage {
t: "generateExternalApi";
interface GenerateMethodMessage {
t: "generateMethod";
}
interface GenerateExternalApiFromLlmMessage {
t: "generateExternalApiFromLlm";
interface GenerateMethodsFromLlmMessage {
t: "generateMethodsFromLlm";
packageName: string;
externalApiUsages: ExternalApiUsage[];
methods: Method[];
modeledMethods: Record<string, ModeledMethod>;
}
interface StopGeneratingExternalApiFromLlmMessage {
t: "stopGeneratingExternalApiFromLlm";
interface StopGeneratingMethodsFromLlmMessage {
t: "stopGeneratingMethodsFromLlm";
packageName: string;
}
@@ -567,22 +565,39 @@ interface ModelDependencyMessage {
t: "modelDependency";
}
export type ToDataExtensionsEditorMessage =
interface HideModeledApisMessage {
t: "hideModeledApis";
hideModeledApis: boolean;
}
export type ToModelEditorMessage =
| SetExtensionPackStateMessage
| SetExternalApiUsagesMessage
| SetMethodsMessage
| LoadModeledMethodsMessage
| AddModeledMethodsMessage
| SetInProgressMethodsMessage;
export type FromDataExtensionsEditorMessage =
export type FromModelEditorMessage =
| ViewLoadedMsg
| SwitchModeMessage
| RefreshExternalApiUsages
| RefreshMethods
| OpenDatabaseMessage
| OpenExtensionPackMessage
| JumpToUsageMessage
| SaveModeledMethods
| GenerateExternalApiMessage
| GenerateExternalApiFromLlmMessage
| StopGeneratingExternalApiFromLlmMessage
| ModelDependencyMessage;
| GenerateMethodMessage
| GenerateMethodsFromLlmMessage
| StopGeneratingMethodsFromLlmMessage
| ModelDependencyMessage
| HideModeledApisMessage;
export type FromMethodModelingMessage =
| TelemetryMessage
| UnhandledErrorMessage;
interface SetMethodMessage {
t: "setMethod";
method: Method;
}
export type ToMethodModelingMessage = SetMethodMessage;

View File

@@ -1,5 +1,8 @@
import { Repository } from "../repository";
import { VariantAnalysis, VariantAnalysisRepoTask } from "../variant-analysis";
import { Repository } from "../../variant-analysis/gh-api/repository";
import {
VariantAnalysis,
VariantAnalysisRepoTask,
} from "../../variant-analysis/gh-api/variant-analysis";
// Types that represent requests/responses from the GitHub API
// that we need to mock.

View File

@@ -2,11 +2,11 @@ import { join, resolve } from "path";
import { pathExists } from "fs-extra";
import { setupServer, SetupServer } from "msw/node";
import { DisposableObject } from "../../../common/disposable-object";
import { DisposableObject } from "../disposable-object";
import { Recorder } from "./recorder";
import { createRequestHandlers } from "./request-handlers";
import { getDirectoryNamesInsidePath } from "../../../common/files";
import { getDirectoryNamesInsidePath } from "../files";
/**
* Enables mocking of the GitHub API server via HTTP interception, using msw.
@@ -129,11 +129,11 @@ export class MockGitHubApiServer extends DisposableObject {
public async getDefaultScenariosPath(): Promise<string | undefined> {
// This should be the directory where package.json is located
const rootDirectory = resolve(__dirname, "../../../..");
const rootDirectory = resolve(__dirname, "../../..");
const scenariosPath = resolve(
rootDirectory,
"src/variant-analysis/gh-api/mocks/scenarios",
"src/common/mock-gh-api/scenarios",
);
if (await pathExists(scenariosPath)) {
return scenariosPath;

View File

@@ -8,7 +8,7 @@ import { IsomorphicResponse } from "@mswjs/interceptors";
import { Headers } from "headers-polyfill";
import fetch from "node-fetch";
import { DisposableObject } from "../../../common/disposable-object";
import { DisposableObject } from "../disposable-object";
import {
GetVariantAnalysisRepoResultRequest,

View File

@@ -5,7 +5,7 @@
},
"response": {
"status": 200,
"body": "file:20-getVariantAnalysisRepoResult.body.zip",
"body": "file:19-getVariantAnalysisRepoResult.body.zip",
"contentType": "application/zip"
}
}

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