Compare commits
208 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
df5a7bce19 | ||
|
|
1b3dc7d132 | ||
|
|
247ba4e8ea | ||
|
|
a3ce9f516a | ||
|
|
f6b3f28039 | ||
|
|
ba423376cd | ||
|
|
e9b459adaf | ||
|
|
074f3fb402 | ||
|
|
c316d52514 | ||
|
|
9af0239041 | ||
|
|
5cf6786e9c | ||
|
|
09077a0e24 | ||
|
|
47c897e9bd | ||
|
|
096e6e8ffd | ||
|
|
2d033bff57 | ||
|
|
1861692055 | ||
|
|
ac7a37c02e | ||
|
|
b5d6c4d84c | ||
|
|
cdd6553735 | ||
|
|
6bb0854ff2 | ||
|
|
c51aaf7790 | ||
|
|
a6745379c4 | ||
|
|
1178e4c3ae | ||
|
|
59c567a8fa | ||
|
|
4f2b46aa85 | ||
|
|
66f12bfbef | ||
|
|
2b5d233847 | ||
|
|
11ca60f213 | ||
|
|
dea6bc257a | ||
|
|
26b602399a | ||
|
|
0836307f29 | ||
|
|
e61f619f8f | ||
|
|
fad674b1c5 | ||
|
|
4d2856699b | ||
|
|
b51d027b0c | ||
|
|
595249a9d6 | ||
|
|
00b3ea473c | ||
|
|
46f80efa4c | ||
|
|
05a7d933d1 | ||
|
|
6da39ee79f | ||
|
|
bb4d97999e | ||
|
|
af3434b87c | ||
|
|
083b232bb3 | ||
|
|
a65c91c84e | ||
|
|
23f8c48b06 | ||
|
|
7fbb1286b9 | ||
|
|
571e6f285f | ||
|
|
e64cf4073c | ||
|
|
e3a2a11b3d | ||
|
|
9b121d56c2 | ||
|
|
b548bbd43b | ||
|
|
ccdb46a1bb | ||
|
|
d1a342beaf | ||
|
|
eeac123ee5 | ||
|
|
73c596c87a | ||
|
|
c6f40b3152 | ||
|
|
3a0843219e | ||
|
|
b00a2cc803 | ||
|
|
14b9f932ab | ||
|
|
f3e32baec4 | ||
|
|
20e5429af8 | ||
|
|
d23178be85 | ||
|
|
b09e9942b2 | ||
|
|
fc5cfd0aec | ||
|
|
259159df45 | ||
|
|
bc7c97e216 | ||
|
|
af22a1573b | ||
|
|
d2eb366e74 | ||
|
|
6a6028bf63 | ||
|
|
3c7e1fc192 | ||
|
|
0433f899fd | ||
|
|
c82f00eb45 | ||
|
|
94edb9bf16 | ||
|
|
4a87a6fddf | ||
|
|
9543ab339f | ||
|
|
398f16c4cb | ||
|
|
ea14767f2a | ||
|
|
b6deb8e0ea | ||
|
|
7b78fc1dd9 | ||
|
|
0ccd39a368 | ||
|
|
24b93e247c | ||
|
|
6e3b0b245c | ||
|
|
6939caa6a5 | ||
|
|
2e8e7cae47 | ||
|
|
f8d542d141 | ||
|
|
6715669036 | ||
|
|
c38a01e937 | ||
|
|
74a12b9fed | ||
|
|
906af36337 | ||
|
|
359e23fc59 | ||
|
|
b13dd7545c | ||
|
|
ac0dfa5e83 | ||
|
|
2ffb7894d4 | ||
|
|
422f6de05e | ||
|
|
ee88ea1658 | ||
|
|
0daa06bc0d | ||
|
|
c584d02805 | ||
|
|
c56936e2f6 | ||
|
|
1fc735639b | ||
|
|
0352629eb4 | ||
|
|
877fc51494 | ||
|
|
886f211441 | ||
|
|
75d275c93f | ||
|
|
5d1fa1d6b5 | ||
|
|
4fce448717 | ||
|
|
610c936690 | ||
|
|
d777427c0a | ||
|
|
81924af1e4 | ||
|
|
45f7d22d2a | ||
|
|
dcef43c6d5 | ||
|
|
160642ec73 | ||
|
|
240dd51dc0 | ||
|
|
ad42b060b7 | ||
|
|
23b2327bd0 | ||
|
|
450d294bab | ||
|
|
4e376063ee | ||
|
|
39cb219e56 | ||
|
|
e01fb9172f | ||
|
|
1764151bf7 | ||
|
|
82c40c69e6 | ||
|
|
1a34d782e8 | ||
|
|
08c1b57661 | ||
|
|
5fc34248b3 | ||
|
|
bee7d81fb4 | ||
|
|
3094405f68 | ||
|
|
392e76d8f2 | ||
|
|
6e4e89a006 | ||
|
|
cb2802e2e7 | ||
|
|
af1af074dc | ||
|
|
d65ce3e24a | ||
|
|
13ce5f7e3c | ||
|
|
eebe11e5dd | ||
|
|
bd5d361de1 | ||
|
|
e3596db8e7 | ||
|
|
21b1c997c6 | ||
|
|
9ecf97152a | ||
|
|
3983087bc8 | ||
|
|
636d0bf025 | ||
|
|
fe4d87dae5 | ||
|
|
1794c6b7f7 | ||
|
|
23d815ff05 | ||
|
|
8945abcb57 | ||
|
|
a576dace04 | ||
|
|
3e7577c984 | ||
|
|
acb76a64ef | ||
|
|
ba0cf9a22d | ||
|
|
443c9ac56c | ||
|
|
91e69c93be | ||
|
|
7e31b6e42a | ||
|
|
cff7170fdc | ||
|
|
ca40963238 | ||
|
|
b1ff75b646 | ||
|
|
e5ab1118ee | ||
|
|
d90fb69e39 | ||
|
|
2f4eed4a4d | ||
|
|
2cb520d603 | ||
|
|
4a752d27c4 | ||
|
|
6cfd20eca4 | ||
|
|
36259b21db | ||
|
|
cd14a37f79 | ||
|
|
d6e0c6a4a7 | ||
|
|
9f589880df | ||
|
|
b7a4419420 | ||
|
|
1d2ef805fb | ||
|
|
2888fddf61 | ||
|
|
a5c675b8c7 | ||
|
|
d05dba4bba | ||
|
|
2db0ca8ecc | ||
|
|
497dc31819 | ||
|
|
cd309aece6 | ||
|
|
aaaf799557 | ||
|
|
ece54b8f7d | ||
|
|
0824892507 | ||
|
|
082268e201 | ||
|
|
27bce4a1e9 | ||
|
|
56ecd1a84c | ||
|
|
84ab602277 | ||
|
|
a86a373e19 | ||
|
|
90a39ec293 | ||
|
|
3dd8583116 | ||
|
|
b0663669b0 | ||
|
|
493c9cb5fe | ||
|
|
99dd9166b3 | ||
|
|
10604808e0 | ||
|
|
3164c3f11f | ||
|
|
ed36fb725b | ||
|
|
67b138f0c2 | ||
|
|
fed9870a0c | ||
|
|
51844bb541 | ||
|
|
0acd06f773 | ||
|
|
acb9669e9f | ||
|
|
2a71183695 | ||
|
|
1c3d3428e4 | ||
|
|
c77bb2b9c2 | ||
|
|
d3d96a1dbe | ||
|
|
7c62176f59 | ||
|
|
87754a9ec9 | ||
|
|
ee78df683a | ||
|
|
3764a7e567 | ||
|
|
552baa5570 | ||
|
|
57262446fb | ||
|
|
5b128711e5 | ||
|
|
6787deed04 | ||
|
|
381e8c0849 | ||
|
|
74c6f3ce54 | ||
|
|
4e70c8999f | ||
|
|
6005e3ab70 | ||
|
|
7c93c7046e |
111
.github/workflows/cli-test.yml
vendored
Normal file
111
.github/workflows/cli-test.yml
vendored
Normal 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
|
||||||
50
.github/workflows/main.yml
vendored
50
.github/workflows/main.yml
vendored
@@ -53,22 +53,6 @@ jobs:
|
|||||||
name: vscode-codeql-extension
|
name: vscode-codeql-extension
|
||||||
path: artifacts
|
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:
|
lint:
|
||||||
name: Lint
|
name: Lint
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -198,31 +182,31 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
npm run test:vscode-integration
|
npm run test:vscode-integration
|
||||||
|
|
||||||
set-matrix:
|
get-latest-cli-version:
|
||||||
name: Set Matrix for cli-test
|
name: Get latest CLI version
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Set the variables
|
- name: Set the variable
|
||||||
id: set-variables
|
id: set-variable
|
||||||
run: echo "cli-versions=$(cat ./extensions/ql-vscode/supported_cli_versions.json | jq -rc)" >> $GITHUB_OUTPUT
|
run: |
|
||||||
|
echo "cli-version=$(cat ./extensions/ql-vscode/supported_cli_versions.json | jq -rc '.[0]')" >> $GITHUB_OUTPUT
|
||||||
|
echo "$cli-version"
|
||||||
outputs:
|
outputs:
|
||||||
cli-versions: ${{ steps.set-variables.outputs.cli-versions }}
|
cli-version: ${{ steps.set-variable.outputs.cli-version }}
|
||||||
|
|
||||||
cli-test:
|
cli-test:
|
||||||
name: CLI Test
|
name: CLI Test
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
needs: [find-nightly, set-matrix]
|
needs: [get-latest-cli-version]
|
||||||
timeout-minutes: 30
|
timeout-minutes: 30
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, windows-latest]
|
os: [ubuntu-latest, windows-latest]
|
||||||
version: ${{ fromJson(needs.set-matrix.outputs.cli-versions) }}
|
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
env:
|
env:
|
||||||
CLI_VERSION: ${{ matrix.version }}
|
CLI_VERSION: ${{ needs.get-latest-cli-version.outputs.cli-version }}
|
||||||
NIGHTLY_URL: ${{ needs.find-nightly.outputs.url }}
|
|
||||||
TEST_CODEQL_PATH: '${{ github.workspace }}/codeql'
|
TEST_CODEQL_PATH: '${{ github.workspace }}/codeql'
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -247,23 +231,11 @@ jobs:
|
|||||||
npm run build
|
npm run build
|
||||||
shell: bash
|
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
|
- name: Checkout QL
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
repository: github/codeql
|
repository: github/codeql
|
||||||
ref: ${{ steps.choose-ref.outputs.ref }}
|
ref: 'codeql-cli/${{ needs.get-latest-cli-version.outputs.cli-version }}'
|
||||||
path: codeql
|
path: codeql
|
||||||
|
|
||||||
- name: Run CLI tests (Linux)
|
- name: Run CLI tests (Linux)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
**/* @github/codeql-vscode-reviewers
|
**/* @github/codeql-vscode-reviewers
|
||||||
**/variant-analysis/ @github/code-scanning-secexp-reviewers
|
**/variant-analysis/ @github/code-scanning-secexp-reviewers
|
||||||
**/databases/ @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
|
**/queries-panel/ @github/code-scanning-secexp-reviewers
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
# Releasing (write access required)
|
# 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.
|
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.
|
* 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.
|
* Make sure all changelog entries have links back to their PR(s) if appropriate.
|
||||||
|
|||||||
@@ -133,4 +133,4 @@ Once the scenario has been recorded, it's often useful to remove some of the req
|
|||||||
|
|
||||||
### Scenario data location
|
### 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.
|
||||||
|
|||||||
@@ -1,5 +1,11 @@
|
|||||||
# CodeQL for Visual Studio Code: Changelog
|
# 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
|
## 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)
|
- 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)
|
||||||
|
|||||||
15755
extensions/ql-vscode/package-lock.json
generated
15755
extensions/ql-vscode/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@
|
|||||||
"description": "CodeQL for Visual Studio Code",
|
"description": "CodeQL for Visual Studio Code",
|
||||||
"author": "GitHub",
|
"author": "GitHub",
|
||||||
"private": true,
|
"private": true,
|
||||||
"version": "1.8.10",
|
"version": "1.8.11",
|
||||||
"publisher": "GitHub",
|
"publisher": "GitHub",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"icon": "media/VS-marketplace-CodeQL-icon.png",
|
"icon": "media/VS-marketplace-CodeQL-icon.png",
|
||||||
@@ -182,215 +182,281 @@
|
|||||||
"path": "./snippets.json"
|
"path": "./snippets.json"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"configuration": {
|
"configuration": [
|
||||||
"type": "object",
|
{
|
||||||
"title": "CodeQL",
|
"type": "object",
|
||||||
"properties": {
|
"title": "CLI",
|
||||||
"codeQL.cli.executablePath": {
|
"order": 0,
|
||||||
"scope": "machine-overridable",
|
"properties": {
|
||||||
"type": "string",
|
"codeQL.cli.executablePath": {
|
||||||
"default": "",
|
"scope": "machine-overridable",
|
||||||
"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": "string",
|
||||||
},
|
"default": "",
|
||||||
"codeQL.runningQueries.numberOfThreads": {
|
"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": "integer",
|
}
|
||||||
"default": 1,
|
}
|
||||||
"minimum": 0,
|
},
|
||||||
"maximum": 1024,
|
{
|
||||||
"description": "Number of threads for running queries."
|
"type": "object",
|
||||||
},
|
"title": "Running queries",
|
||||||
"codeQL.runningQueries.saveCache": {
|
"order": 1,
|
||||||
"type": "boolean",
|
"properties": {
|
||||||
"default": false,
|
"codeQL.runningQueries.numberOfThreads": {
|
||||||
"scope": "window",
|
"type": "integer",
|
||||||
"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."
|
"default": 1,
|
||||||
},
|
"minimum": 0,
|
||||||
"codeQL.runningQueries.cacheSize": {
|
"maximum": 1024,
|
||||||
"type": [
|
"description": "Number of threads for running queries."
|
||||||
"integer",
|
},
|
||||||
"null"
|
"codeQL.runningQueries.saveCache": {
|
||||||
],
|
"type": "boolean",
|
||||||
"default": null,
|
"default": false,
|
||||||
"minimum": 1024,
|
"scope": "window",
|
||||||
"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."
|
"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.timeout": {
|
"codeQL.runningQueries.cacheSize": {
|
||||||
"type": [
|
"type": [
|
||||||
"integer",
|
"integer",
|
||||||
"null"
|
"null"
|
||||||
],
|
],
|
||||||
"default": null,
|
"default": null,
|
||||||
"minimum": 0,
|
"minimum": 1024,
|
||||||
"maximum": 2147483647,
|
"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."
|
||||||
"description": "Timeout (in seconds) for running queries. Leave blank or set to zero for no timeout."
|
},
|
||||||
},
|
"codeQL.runningQueries.timeout": {
|
||||||
"codeQL.runningQueries.memory": {
|
"type": [
|
||||||
"type": [
|
"integer",
|
||||||
"integer",
|
"null"
|
||||||
"null"
|
],
|
||||||
],
|
"default": null,
|
||||||
"default": null,
|
"minimum": 0,
|
||||||
"minimum": 1024,
|
"maximum": 2147483647,
|
||||||
"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."
|
"description": "Timeout (in seconds) for running queries. Leave blank or set to zero for no timeout."
|
||||||
},
|
},
|
||||||
"codeQL.runningQueries.debug": {
|
"codeQL.runningQueries.memory": {
|
||||||
"type": "boolean",
|
"type": [
|
||||||
"default": false,
|
"integer",
|
||||||
"description": "Enable debug logging and tuple counting when running CodeQL queries. This information is useful for debugging query performance."
|
"null"
|
||||||
},
|
],
|
||||||
"codeQL.runningQueries.maxPaths": {
|
"default": null,
|
||||||
"type": "integer",
|
"minimum": 1024,
|
||||||
"default": 4,
|
"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."
|
||||||
"minimum": 1,
|
},
|
||||||
"maximum": 256,
|
"codeQL.runningQueries.debug": {
|
||||||
"markdownDescription": "Max number of paths to display for each alert found by a path query (`@kind path-problem`)."
|
"type": "boolean",
|
||||||
},
|
"default": false,
|
||||||
"codeQL.runningQueries.autoSave": {
|
"description": "Enable debug logging and tuple counting when running CodeQL queries. This information is useful for debugging query performance."
|
||||||
"type": "boolean",
|
},
|
||||||
"description": "Enable automatically saving a modified query file when running a query.",
|
"codeQL.runningQueries.maxPaths": {
|
||||||
"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."
|
"type": "integer",
|
||||||
},
|
"default": 4,
|
||||||
"codeQL.runningQueries.maxQueries": {
|
"minimum": 1,
|
||||||
"type": "integer",
|
"maximum": 256,
|
||||||
"default": 20,
|
"markdownDescription": "Max number of paths to display for each alert found by a path query (`@kind path-problem`)."
|
||||||
"description": "Max number of simultaneous queries to run using the 'CodeQL: Run Queries' command."
|
},
|
||||||
},
|
"codeQL.runningQueries.autoSave": {
|
||||||
"codeQL.runningQueries.customLogDirectory": {
|
"type": "boolean",
|
||||||
"type": [
|
"description": "Enable automatically saving a modified query file when running a query.",
|
||||||
"string",
|
"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."
|
||||||
null
|
},
|
||||||
],
|
"codeQL.runningQueries.maxQueries": {
|
||||||
"default": null,
|
"type": "integer",
|
||||||
"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.",
|
"default": 20,
|
||||||
"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."
|
"description": "Max number of simultaneous queries to run using the 'CodeQL: Run Queries' command."
|
||||||
},
|
},
|
||||||
"codeQL.runningQueries.quickEvalCodelens": {
|
"codeQL.runningQueries.customLogDirectory": {
|
||||||
"type": "boolean",
|
"type": [
|
||||||
"default": true,
|
"string",
|
||||||
"description": "Enable the 'Quick Evaluation' CodeLens."
|
null
|
||||||
},
|
],
|
||||||
"codeQL.runningQueries.useExtensionPacks": {
|
"default": null,
|
||||||
"type": "string",
|
"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.",
|
||||||
"default": "none",
|
"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."
|
||||||
"enum": [
|
},
|
||||||
"none",
|
"codeQL.runningQueries.quickEvalCodelens": {
|
||||||
"all"
|
"type": "boolean",
|
||||||
],
|
"default": true,
|
||||||
"enumDescriptions": [
|
"description": "Enable the 'Quick Evaluation' CodeLens."
|
||||||
"Do not use extension packs.",
|
},
|
||||||
"Use all extension packs found in the workspace."
|
"codeQL.runningQueries.useExtensionPacks": {
|
||||||
],
|
"type": "string",
|
||||||
"description": "Choose whether or not to run queries using extension packs. Requires CodeQL CLI v2.12.3 or later."
|
"default": "none",
|
||||||
},
|
"enum": [
|
||||||
"codeQL.resultsDisplay.pageSize": {
|
"none",
|
||||||
"type": "integer",
|
"all"
|
||||||
"default": 200,
|
],
|
||||||
"description": "Max number of query results to display per page in the results view."
|
"enumDescriptions": [
|
||||||
},
|
"Do not use extension packs.",
|
||||||
"codeQL.queryHistory.format": {
|
"Use all extension packs found in the workspace."
|
||||||
"type": "string",
|
],
|
||||||
"default": "%q on %d - %s %r [%t]",
|
"description": "Choose whether or not to run queries using extension packs. Requires CodeQL CLI v2.12.3 or later."
|
||||||
"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,
|
"type": "object",
|
||||||
"description": "Number of days to retain queries in the query history before being automatically deleted.",
|
"title": "Results",
|
||||||
"scope": "machine"
|
"order": 2,
|
||||||
},
|
"properties": {
|
||||||
"codeQL.runningTests.additionalTestArguments": {
|
"codeQL.resultsDisplay.pageSize": {
|
||||||
"scope": "window",
|
"type": "integer",
|
||||||
"type": "array",
|
"default": 200,
|
||||||
"default": [],
|
"description": "Max number of query results to display per page in the results view."
|
||||||
"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",
|
"type": "object",
|
||||||
"default": 1,
|
"title": "Query history",
|
||||||
"minimum": 0,
|
"order": 3,
|
||||||
"maximum": 1024,
|
"properties": {
|
||||||
"description": "Number of threads for running CodeQL tests."
|
"codeQL.queryHistory.format": {
|
||||||
},
|
"type": "string",
|
||||||
"codeQL.telemetry.enableTelemetry": {
|
"default": "%q on %d - %s %r [%t]",
|
||||||
"type": "boolean",
|
"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"
|
||||||
"default": false,
|
},
|
||||||
"scope": "application",
|
"codeQL.queryHistory.ttl": {
|
||||||
"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)"
|
"type": "number",
|
||||||
},
|
"default": 30,
|
||||||
"codeQL.telemetry.logTelemetry": {
|
"description": "Number of days to retain queries in the query history before being automatically deleted.",
|
||||||
"type": "boolean",
|
"scope": "machine"
|
||||||
"default": false,
|
}
|
||||||
"scope": "application",
|
}
|
||||||
"description": "Specifies whether or not to write telemetry events to the extension log."
|
},
|
||||||
},
|
{
|
||||||
"codeQL.variantAnalysis.controllerRepo": {
|
"type": "object",
|
||||||
"type": "string",
|
"title": "Running tests",
|
||||||
"default": "",
|
"order": 4,
|
||||||
"pattern": "^$|^(?:[a-zA-Z0-9]+-)*[a-zA-Z0-9]+/[a-zA-Z0-9-_]+$",
|
"properties": {
|
||||||
"patternErrorMessage": "Please enter a valid GitHub repository",
|
"codeQL.runningTests.additionalTestArguments": {
|
||||||
"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>`)."
|
"scope": "window",
|
||||||
},
|
"type": "array",
|
||||||
"codeQL.variantAnalysis.defaultResultsFilter": {
|
"default": [],
|
||||||
"type": "string",
|
"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."
|
||||||
"default": "all",
|
},
|
||||||
"enum": [
|
"codeQL.runningTests.numberOfThreads": {
|
||||||
"all",
|
"scope": "window",
|
||||||
"withResults"
|
"type": "integer",
|
||||||
],
|
"default": 1,
|
||||||
"enumDescriptions": [
|
"minimum": 0,
|
||||||
"Show all repositories in the results view.",
|
"maximum": 1024,
|
||||||
"Show only repositories with results in the results view."
|
"description": "Number of threads for running CodeQL tests."
|
||||||
],
|
}
|
||||||
"description": "The default filter to apply to the variant analysis results view."
|
}
|
||||||
},
|
},
|
||||||
"codeQL.variantAnalysis.defaultResultsSort": {
|
{
|
||||||
"type": "string",
|
"type": "object",
|
||||||
"default": "numberOfResults",
|
"title": "Variant analysis",
|
||||||
"enum": [
|
"order": 5,
|
||||||
"alphabetically",
|
"properties": {
|
||||||
"popularity",
|
"codeQL.variantAnalysis.controllerRepo": {
|
||||||
"numberOfResults"
|
"type": "string",
|
||||||
],
|
"default": "",
|
||||||
"enumDescriptions": [
|
"pattern": "^$|^(?:[a-zA-Z0-9]+-)*[a-zA-Z0-9]+/[a-zA-Z0-9-_]+$",
|
||||||
"Sort repositories alphabetically in the results view.",
|
"patternErrorMessage": "Please enter a valid GitHub repository",
|
||||||
"Sort repositories by popularity in the results view.",
|
"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>`)."
|
||||||
"Sort repositories by number of results in the results view."
|
},
|
||||||
],
|
"codeQL.variantAnalysis.defaultResultsFilter": {
|
||||||
"description": "The default sorting order for repositories in the variant analysis results view."
|
"type": "string",
|
||||||
},
|
"default": "all",
|
||||||
"codeQL.logInsights.joinOrderWarningThreshold": {
|
"enum": [
|
||||||
"type": "number",
|
"all",
|
||||||
"default": 50,
|
"withResults"
|
||||||
"scope": "window",
|
],
|
||||||
"minimum": 0,
|
"enumDescriptions": [
|
||||||
"description": "Report a warning for any join order whose metric exceeds this value."
|
"Show all repositories in the results view.",
|
||||||
},
|
"Show only repositories with results in the results view."
|
||||||
"codeQL.databaseDownload.allowHttp": {
|
],
|
||||||
"type": "boolean",
|
"description": "The default filter to apply to the variant analysis results view."
|
||||||
"default": false,
|
},
|
||||||
"description": "Allow database to be downloaded via HTTP. Warning: enabling this option will allow downloading from insecure servers."
|
"codeQL.variantAnalysis.defaultResultsSort": {
|
||||||
},
|
"type": "string",
|
||||||
"codeQL.createQuery.qlPackLocation": {
|
"default": "numberOfResults",
|
||||||
"type": "string",
|
"enum": [
|
||||||
"patternErrorMessage": "Please enter a valid folder",
|
"alphabetically",
|
||||||
"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."
|
"popularity",
|
||||||
},
|
"numberOfResults"
|
||||||
"codeQL.createQuery.autogenerateQlPacks": {
|
],
|
||||||
"type": "string",
|
"enumDescriptions": [
|
||||||
"default": "ask",
|
"Sort repositories alphabetically in the results view.",
|
||||||
"enum": [
|
"Sort repositories by popularity in the results view.",
|
||||||
"ask",
|
"Sort repositories by number of results in the results view."
|
||||||
"never"
|
],
|
||||||
],
|
"description": "The default sorting order for repositories in the variant analysis results view."
|
||||||
"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": "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": [
|
"commands": [
|
||||||
{
|
{
|
||||||
"command": "codeQL.authenticateToGitHub",
|
"command": "codeQL.authenticateToGitHub",
|
||||||
@@ -531,6 +597,11 @@
|
|||||||
"command": "codeQLQueries.runVariantAnalysisContextMenu",
|
"command": "codeQLQueries.runVariantAnalysisContextMenu",
|
||||||
"title": "Run against variant analysis repositories"
|
"title": "Run against variant analysis repositories"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"command": "codeQLQueries.createQuery",
|
||||||
|
"title": "Create query",
|
||||||
|
"icon": "$(new-file)"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQLVariantAnalysisRepositories.openConfigFile",
|
"command": "codeQLVariantAnalysisRepositories.openConfigFile",
|
||||||
"title": "Open database configuration file",
|
"title": "Open database configuration file",
|
||||||
@@ -877,8 +948,8 @@
|
|||||||
"enablement": "codeql.hasQLSource"
|
"enablement": "codeql.hasQLSource"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQL.openDataExtensionsEditor",
|
"command": "codeQL.openModelEditor",
|
||||||
"title": "CodeQL: Open Data Extensions Editor"
|
"title": "CodeQL: Open CodeQL Model Editor (Beta)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQL.mockGitHubApiServer.startRecording",
|
"command": "codeQL.mockGitHubApiServer.startRecording",
|
||||||
@@ -940,6 +1011,11 @@
|
|||||||
"when": "view == codeQLDatabases",
|
"when": "view == codeQLDatabases",
|
||||||
"group": "navigation"
|
"group": "navigation"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"command": "codeQLQueries.createQuery",
|
||||||
|
"when": "view == codeQLQueries",
|
||||||
|
"group": "navigation"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQLQueryHistory.sortByName",
|
"command": "codeQLQueryHistory.sortByName",
|
||||||
"when": "view == codeQLQueryHistory",
|
"when": "view == codeQLQueryHistory",
|
||||||
@@ -1224,6 +1300,10 @@
|
|||||||
"command": "codeQLQueries.runLocalQueriesFromPanel",
|
"command": "codeQLQueries.runLocalQueriesFromPanel",
|
||||||
"when": "false"
|
"when": "false"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"command": "codeQLQueries.createQuery",
|
||||||
|
"when": "false"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQL.runLocalQueryFromFileTab",
|
"command": "codeQL.runLocalQueryFromFileTab",
|
||||||
"when": "false"
|
"when": "false"
|
||||||
@@ -1349,8 +1429,8 @@
|
|||||||
"when": "false"
|
"when": "false"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQL.openDataExtensionsEditor",
|
"command": "codeQL.openModelEditor",
|
||||||
"when": "config.codeQL.canary && config.codeQL.dataExtensions.editor"
|
"when": "config.codeQL.canary && config.codeQL.model.editor"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQLQueries.runLocalQueryContextMenu",
|
"command": "codeQLQueries.runLocalQueryContextMenu",
|
||||||
@@ -1586,7 +1666,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQL.createQuery",
|
"command": "codeQL.createQuery",
|
||||||
"when": "config.codeQL.codespacesTemplate"
|
"when": "config.codeQL.codespacesTemplate || config.codeQL.canary && config.codeQL.queriesPanel"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "codeQLTests.acceptOutputContextTestItem",
|
"command": "codeQLTests.acceptOutputContextTestItem",
|
||||||
@@ -1658,8 +1738,8 @@
|
|||||||
],
|
],
|
||||||
"panel": [
|
"panel": [
|
||||||
{
|
{
|
||||||
"id": "codeql-model-details",
|
"id": "codeql-methods-usage",
|
||||||
"title": "CodeQL Model Details",
|
"title": "CodeQL Methods Usage",
|
||||||
"icon": "media/logo.svg"
|
"icon": "media/logo.svg"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1693,17 +1773,25 @@
|
|||||||
"when": "config.codeQL.canary"
|
"when": "config.codeQL.canary"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"codeql-model-details": [
|
"codeql-methods-usage": [
|
||||||
{
|
{
|
||||||
"id": "codeQLModelDetails",
|
"id": "codeQLMethodsUsage",
|
||||||
"name": "CodeQL Model Details",
|
"name": "CodeQL Methods Usage",
|
||||||
"when": "config.codeQL.canary && config.codeQL.dataExtensions.modelDetailsView"
|
"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": [
|
"viewsWelcome": [
|
||||||
{
|
{
|
||||||
"view": "codeQLModelDetails",
|
"view": "codeQLMethodsUsage",
|
||||||
"contents": "Loading..."
|
"contents": "Loading..."
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -1716,7 +1804,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"view": "codeQLQueries",
|
"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",
|
"view": "codeQLDatabases",
|
||||||
@@ -1816,7 +1905,7 @@
|
|||||||
"@storybook/react-webpack5": "^7.1.0",
|
"@storybook/react-webpack5": "^7.1.0",
|
||||||
"@storybook/theming": "^7.1.0",
|
"@storybook/theming": "^7.1.0",
|
||||||
"@testing-library/dom": "^9.3.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/react": "^14.0.0",
|
||||||
"@testing-library/user-event": "^14.4.3",
|
"@testing-library/user-event": "^14.4.3",
|
||||||
"@types/child-process-promise": "^2.2.1",
|
"@types/child-process-promise": "^2.2.1",
|
||||||
@@ -1876,7 +1965,7 @@
|
|||||||
"jest": "^29.0.3",
|
"jest": "^29.0.3",
|
||||||
"jest-environment-jsdom": "^29.0.3",
|
"jest-environment-jsdom": "^29.0.3",
|
||||||
"jest-runner-vscode": "^3.0.1",
|
"jest-runner-vscode": "^3.0.1",
|
||||||
"lint-staged": "^13.2.0",
|
"lint-staged": "^14.0.0",
|
||||||
"markdownlint-cli2": "^0.6.0",
|
"markdownlint-cli2": "^0.6.0",
|
||||||
"markdownlint-cli2-formatter-pretty": "^0.0.4",
|
"markdownlint-cli2-formatter-pretty": "^0.0.4",
|
||||||
"mini-css-extract-plugin": "^2.6.1",
|
"mini-css-extract-plugin": "^2.6.1",
|
||||||
|
|||||||
@@ -18,15 +18,15 @@ import { Octokit, type RestEndpointMethodTypes } from "@octokit/rest";
|
|||||||
import { throttling } from "@octokit/plugin-throttling";
|
import { throttling } from "@octokit/plugin-throttling";
|
||||||
|
|
||||||
import { getFiles } from "./util/files";
|
import { getFiles } from "./util/files";
|
||||||
import type { GitHubApiRequest } 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/variant-analysis/gh-api/mocks/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 { VariantAnalysis } from "../src/variant-analysis/gh-api/variant-analysis";
|
||||||
import { RepositoryWithMetadata } from "../src/variant-analysis/gh-api/repository";
|
import { RepositoryWithMetadata } from "../src/variant-analysis/gh-api/repository";
|
||||||
|
|
||||||
const extensionDirectory = resolve(__dirname, "..");
|
const extensionDirectory = resolve(__dirname, "..");
|
||||||
const scenariosDirectory = resolve(
|
const scenariosDirectory = resolve(
|
||||||
extensionDirectory,
|
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
|
// Make sure we don't run into rate limits by automatically waiting until we can
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ const scenarioName = process.argv[2];
|
|||||||
const extensionDirectory = resolve(__dirname, "..");
|
const extensionDirectory = resolve(__dirname, "..");
|
||||||
const scenariosDirectory = resolve(
|
const scenariosDirectory = resolve(
|
||||||
extensionDirectory,
|
extensionDirectory,
|
||||||
"src/variant-analysis/gh-api/mocks/scenarios",
|
"src/common/mock-gh-api/scenarios",
|
||||||
);
|
);
|
||||||
const scenarioDirectory = resolve(scenariosDirectory, scenarioName);
|
const scenarioDirectory = resolve(scenariosDirectory, scenarioName);
|
||||||
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const extensionDirectory = resolve(__dirname, "..");
|
|||||||
const rootDirectory = resolve(extensionDirectory, "../..");
|
const rootDirectory = resolve(extensionDirectory, "../..");
|
||||||
const scenariosDirectory = resolve(
|
const scenariosDirectory = resolve(
|
||||||
extensionDirectory,
|
extensionDirectory,
|
||||||
"src/variant-analysis/gh-api/mocks/scenarios",
|
"src/common/mock-gh-api/scenarios",
|
||||||
);
|
);
|
||||||
|
|
||||||
const debug = process.env.RUNNER_DEBUG || process.argv.includes("--debug");
|
const debug = process.env.RUNNER_DEBUG || process.argv.includes("--debug");
|
||||||
@@ -19,7 +19,7 @@ async function lintScenarios() {
|
|||||||
const schema = createGenerator({
|
const schema = createGenerator({
|
||||||
path: resolve(
|
path: resolve(
|
||||||
extensionDirectory,
|
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"),
|
tsconfig: resolve(extensionDirectory, "tsconfig.json"),
|
||||||
type: "GitHubApiRequest",
|
type: "GitHubApiRequest",
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import type {
|
|||||||
} from "../variant-analysis/shared/variant-analysis";
|
} from "../variant-analysis/shared/variant-analysis";
|
||||||
import type { QLDebugConfiguration } from "../debugger/debug-configuration";
|
import type { QLDebugConfiguration } from "../debugger/debug-configuration";
|
||||||
import type { QueryTreeViewItem } from "../queries-panel/query-tree-view-item";
|
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 function matching the signature that VS Code calls when
|
||||||
// a command is invoked from a context menu on a TreeView with
|
// a command is invoked from a context menu on a TreeView with
|
||||||
@@ -135,6 +135,7 @@ export type LocalQueryCommands = {
|
|||||||
"codeQLQueries.runLocalQueryContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
|
"codeQLQueries.runLocalQueryContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
|
||||||
"codeQLQueries.runLocalQueriesContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
|
"codeQLQueries.runLocalQueriesContextMenu": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
|
||||||
"codeQLQueries.runLocalQueriesFromPanel": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
|
"codeQLQueries.runLocalQueriesFromPanel": TreeViewContextSingleSelectionCommandFunction<QueryTreeViewItem>;
|
||||||
|
"codeQLQueries.createQuery": () => Promise<void>;
|
||||||
"codeQL.runLocalQueryFromFileTab": (uri: Uri) => Promise<void>;
|
"codeQL.runLocalQueryFromFileTab": (uri: Uri) => Promise<void>;
|
||||||
"codeQL.runQueries": ExplorerSelectionCommandFunction<Uri>;
|
"codeQL.runQueries": ExplorerSelectionCommandFunction<Uri>;
|
||||||
"codeQL.quickEval": (uri: Uri) => Promise<void>;
|
"codeQL.quickEval": (uri: Uri) => Promise<void>;
|
||||||
@@ -302,9 +303,9 @@ export type PackagingCommands = {
|
|||||||
"codeQL.downloadPacks": () => Promise<void>;
|
"codeQL.downloadPacks": () => Promise<void>;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type DataExtensionsEditorCommands = {
|
export type ModelEditorCommands = {
|
||||||
"codeQL.openDataExtensionsEditor": () => Promise<void>;
|
"codeQL.openModelEditor": () => Promise<void>;
|
||||||
"codeQLDataExtensionsEditor.jumpToUsageLocation": (
|
"codeQLModelEditor.jumpToUsageLocation": (
|
||||||
usage: Usage,
|
usage: Usage,
|
||||||
databaseItem: DatabaseItem,
|
databaseItem: DatabaseItem,
|
||||||
) => Promise<void>;
|
) => Promise<void>;
|
||||||
@@ -347,7 +348,7 @@ export type AllExtensionCommands = BaseCommands &
|
|||||||
AstCfgCommands &
|
AstCfgCommands &
|
||||||
AstViewerCommands &
|
AstViewerCommands &
|
||||||
PackagingCommands &
|
PackagingCommands &
|
||||||
DataExtensionsEditorCommands &
|
ModelEditorCommands &
|
||||||
EvalLogViewerCommands &
|
EvalLogViewerCommands &
|
||||||
SummaryLanguageSupportCommands &
|
SummaryLanguageSupportCommands &
|
||||||
Partial<TestUICommands> &
|
Partial<TestUICommands> &
|
||||||
|
|||||||
@@ -17,13 +17,10 @@ import {
|
|||||||
} from "../variant-analysis/shared/variant-analysis-filter-sort";
|
} from "../variant-analysis/shared/variant-analysis-filter-sort";
|
||||||
import { ErrorLike } from "../common/errors";
|
import { ErrorLike } from "../common/errors";
|
||||||
import { DataFlowPaths } from "../variant-analysis/shared/data-flow-paths";
|
import { DataFlowPaths } from "../variant-analysis/shared/data-flow-paths";
|
||||||
import {
|
import { Method, Usage } from "../model-editor/method";
|
||||||
ExternalApiUsage,
|
import { ModeledMethod } from "../model-editor/modeled-method";
|
||||||
Usage,
|
import { ModelEditorViewState } from "../model-editor/shared/view-state";
|
||||||
} from "../data-extensions-editor/external-api-usage";
|
import { Mode } from "../model-editor/shared/mode";
|
||||||
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";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This module contains types and code that are shared between
|
* This module contains types and code that are shared between
|
||||||
@@ -494,13 +491,13 @@ export type ToDataFlowPathsMessage = SetDataFlowPathsMessage;
|
|||||||
export type FromDataFlowPathsMessage = CommonFromViewMessages;
|
export type FromDataFlowPathsMessage = CommonFromViewMessages;
|
||||||
|
|
||||||
interface SetExtensionPackStateMessage {
|
interface SetExtensionPackStateMessage {
|
||||||
t: "setDataExtensionEditorViewState";
|
t: "setModelEditorViewState";
|
||||||
viewState: DataExtensionEditorViewState;
|
viewState: ModelEditorViewState;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SetExternalApiUsagesMessage {
|
interface SetMethodsMessage {
|
||||||
t: "setExternalApiUsages";
|
t: "setMethods";
|
||||||
externalApiUsages: ExternalApiUsage[];
|
methods: Method[];
|
||||||
}
|
}
|
||||||
|
|
||||||
interface LoadModeledMethodsMessage {
|
interface LoadModeledMethodsMessage {
|
||||||
@@ -526,6 +523,7 @@ interface SwitchModeMessage {
|
|||||||
|
|
||||||
interface JumpToUsageMessage {
|
interface JumpToUsageMessage {
|
||||||
t: "jumpToUsage";
|
t: "jumpToUsage";
|
||||||
|
method: Method;
|
||||||
usage: Usage;
|
usage: Usage;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -537,29 +535,29 @@ interface OpenExtensionPackMessage {
|
|||||||
t: "openExtensionPack";
|
t: "openExtensionPack";
|
||||||
}
|
}
|
||||||
|
|
||||||
interface RefreshExternalApiUsages {
|
interface RefreshMethods {
|
||||||
t: "refreshExternalApiUsages";
|
t: "refreshMethods";
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SaveModeledMethods {
|
interface SaveModeledMethods {
|
||||||
t: "saveModeledMethods";
|
t: "saveModeledMethods";
|
||||||
externalApiUsages: ExternalApiUsage[];
|
methods: Method[];
|
||||||
modeledMethods: Record<string, ModeledMethod>;
|
modeledMethods: Record<string, ModeledMethod>;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface GenerateExternalApiMessage {
|
interface GenerateMethodMessage {
|
||||||
t: "generateExternalApi";
|
t: "generateMethod";
|
||||||
}
|
}
|
||||||
|
|
||||||
interface GenerateExternalApiFromLlmMessage {
|
interface GenerateMethodsFromLlmMessage {
|
||||||
t: "generateExternalApiFromLlm";
|
t: "generateMethodsFromLlm";
|
||||||
packageName: string;
|
packageName: string;
|
||||||
externalApiUsages: ExternalApiUsage[];
|
methods: Method[];
|
||||||
modeledMethods: Record<string, ModeledMethod>;
|
modeledMethods: Record<string, ModeledMethod>;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface StopGeneratingExternalApiFromLlmMessage {
|
interface StopGeneratingMethodsFromLlmMessage {
|
||||||
t: "stopGeneratingExternalApiFromLlm";
|
t: "stopGeneratingMethodsFromLlm";
|
||||||
packageName: string;
|
packageName: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -567,22 +565,39 @@ interface ModelDependencyMessage {
|
|||||||
t: "modelDependency";
|
t: "modelDependency";
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ToDataExtensionsEditorMessage =
|
interface HideModeledApisMessage {
|
||||||
|
t: "hideModeledApis";
|
||||||
|
hideModeledApis: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ToModelEditorMessage =
|
||||||
| SetExtensionPackStateMessage
|
| SetExtensionPackStateMessage
|
||||||
| SetExternalApiUsagesMessage
|
| SetMethodsMessage
|
||||||
| LoadModeledMethodsMessage
|
| LoadModeledMethodsMessage
|
||||||
| AddModeledMethodsMessage
|
| AddModeledMethodsMessage
|
||||||
| SetInProgressMethodsMessage;
|
| SetInProgressMethodsMessage;
|
||||||
|
|
||||||
export type FromDataExtensionsEditorMessage =
|
export type FromModelEditorMessage =
|
||||||
| ViewLoadedMsg
|
| ViewLoadedMsg
|
||||||
| SwitchModeMessage
|
| SwitchModeMessage
|
||||||
| RefreshExternalApiUsages
|
| RefreshMethods
|
||||||
| OpenDatabaseMessage
|
| OpenDatabaseMessage
|
||||||
| OpenExtensionPackMessage
|
| OpenExtensionPackMessage
|
||||||
| JumpToUsageMessage
|
| JumpToUsageMessage
|
||||||
| SaveModeledMethods
|
| SaveModeledMethods
|
||||||
| GenerateExternalApiMessage
|
| GenerateMethodMessage
|
||||||
| GenerateExternalApiFromLlmMessage
|
| GenerateMethodsFromLlmMessage
|
||||||
| StopGeneratingExternalApiFromLlmMessage
|
| StopGeneratingMethodsFromLlmMessage
|
||||||
| ModelDependencyMessage;
|
| ModelDependencyMessage
|
||||||
|
| HideModeledApisMessage;
|
||||||
|
|
||||||
|
export type FromMethodModelingMessage =
|
||||||
|
| TelemetryMessage
|
||||||
|
| UnhandledErrorMessage;
|
||||||
|
|
||||||
|
interface SetMethodMessage {
|
||||||
|
t: "setMethod";
|
||||||
|
method: Method;
|
||||||
|
}
|
||||||
|
|
||||||
|
export type ToMethodModelingMessage = SetMethodMessage;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
import { Repository } from "../repository";
|
import { Repository } from "../../variant-analysis/gh-api/repository";
|
||||||
import { VariantAnalysis, VariantAnalysisRepoTask } from "../variant-analysis";
|
import {
|
||||||
|
VariantAnalysis,
|
||||||
|
VariantAnalysisRepoTask,
|
||||||
|
} from "../../variant-analysis/gh-api/variant-analysis";
|
||||||
|
|
||||||
// Types that represent requests/responses from the GitHub API
|
// Types that represent requests/responses from the GitHub API
|
||||||
// that we need to mock.
|
// that we need to mock.
|
||||||
@@ -2,11 +2,11 @@ import { join, resolve } from "path";
|
|||||||
import { pathExists } from "fs-extra";
|
import { pathExists } from "fs-extra";
|
||||||
import { setupServer, SetupServer } from "msw/node";
|
import { setupServer, SetupServer } from "msw/node";
|
||||||
|
|
||||||
import { DisposableObject } from "../../../common/disposable-object";
|
import { DisposableObject } from "../disposable-object";
|
||||||
|
|
||||||
import { Recorder } from "./recorder";
|
import { Recorder } from "./recorder";
|
||||||
import { createRequestHandlers } from "./request-handlers";
|
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.
|
* 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> {
|
public async getDefaultScenariosPath(): Promise<string | undefined> {
|
||||||
// This should be the directory where package.json is located
|
// This should be the directory where package.json is located
|
||||||
const rootDirectory = resolve(__dirname, "../../../..");
|
const rootDirectory = resolve(__dirname, "../../..");
|
||||||
|
|
||||||
const scenariosPath = resolve(
|
const scenariosPath = resolve(
|
||||||
rootDirectory,
|
rootDirectory,
|
||||||
"src/variant-analysis/gh-api/mocks/scenarios",
|
"src/common/mock-gh-api/scenarios",
|
||||||
);
|
);
|
||||||
if (await pathExists(scenariosPath)) {
|
if (await pathExists(scenariosPath)) {
|
||||||
return scenariosPath;
|
return scenariosPath;
|
||||||
@@ -8,7 +8,7 @@ import { IsomorphicResponse } from "@mswjs/interceptors";
|
|||||||
import { Headers } from "headers-polyfill";
|
import { Headers } from "headers-polyfill";
|
||||||
import fetch from "node-fetch";
|
import fetch from "node-fetch";
|
||||||
|
|
||||||
import { DisposableObject } from "../../../common/disposable-object";
|
import { DisposableObject } from "../disposable-object";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
GetVariantAnalysisRepoResultRequest,
|
GetVariantAnalysisRepoResultRequest,
|
||||||
@@ -5,7 +5,7 @@
|
|||||||
},
|
},
|
||||||
"response": {
|
"response": {
|
||||||
"status": 200,
|
"status": 200,
|
||||||
"body": "file:20-getVariantAnalysisRepoResult.body.zip",
|
"body": "file:19-getVariantAnalysisRepoResult.body.zip",
|
||||||
"contentType": "application/zip"
|
"contentType": "application/zip"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user