-
Notifications
You must be signed in to change notification settings - Fork 191
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit d9a1dce
Showing
133 changed files
with
22,112 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[*.{ts,tsx,css,js,json}] | ||
indent_style = space | ||
indent_size = 2 | ||
charset = utf-8 | ||
end_of_line = lf | ||
trim_trailing_whitespace = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Don't allow people to merge changes to these generated files, because the result | ||
# may be invalid. You need to run "rush update" again. | ||
pnpm-lock.yaml merge=binary | ||
shrinkwrap.yaml merge=binary | ||
npm-shrinkwrap.json merge=binary | ||
yarn.lock merge=binary | ||
|
||
# Rush's JSON config files use JavaScript-style code comments. The rule below prevents pedantic | ||
# syntax highlighters such as GitHub's from highlighting these comments as errors. Your text editor | ||
# may also require a special configuration to allow comments in JSON. | ||
# | ||
# For more information, see this issue: https://github.com/Microsoft/web-build-tools/issues/1088 | ||
# | ||
*.json linguist-language=JSON-with-Comments |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
name: Build Extension | ||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
name: Build | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 1 | ||
|
||
- name: Build | ||
run: | | ||
cd build | ||
npm install | ||
npm run build-ci | ||
shell: bash | ||
|
||
- name: Prepare artifacts | ||
if: matrix.os == 'ubuntu-latest' | ||
run: | | ||
mkdir artifacts | ||
cp dist/*.vsix artifacts | ||
- name: Upload artifacts | ||
uses: actions/upload-artifact@master | ||
if: matrix.os == 'ubuntu-latest' | ||
with: | ||
name: vscode-codeql-extension | ||
path: artifacts | ||
|
||
test: | ||
name: Test | ||
runs-on: ${{ matrix.os }} | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v1 | ||
with: | ||
fetch-depth: 1 | ||
|
||
# We have to build the dependencies in `lib` before running any tests. | ||
- name: Build | ||
run: | | ||
cd build | ||
npm install | ||
npm run build-ci | ||
shell: bash | ||
|
||
- name: Run unit tests | ||
run: | | ||
cd extensions/ql-vscode | ||
npm run test | ||
- name: Run integration tests (Linux) | ||
if: matrix.os == 'ubuntu-latest' | ||
run: | | ||
cd extensions/ql-vscode | ||
sudo apt-get install xvfb | ||
/usr/bin/xvfb-run npm run integration | ||
- name: Run integration tests (Windows) | ||
if: matrix.os == 'windows-latest' | ||
run: | | ||
cd extensions/ql-vscode | ||
npm run integration |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
# Build and release a new version of the extension. | ||
# Based on example workflow at https://github.com/actions/upload-release-asset | ||
# licensed under https://github.com/actions/upload-release-asset/blob/master/LICENSE. | ||
# Reference for passing data between steps: | ||
# https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps | ||
|
||
name: Release | ||
on: | ||
push: | ||
# Path filters are not evaluated for pushes to tags. | ||
# (source: https://help.github.com/en/github/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#onpushpull_requestpaths) | ||
# So this workflow is triggered in the following events: | ||
# - Release event: a SemVer tag, e.g. v1.0.0 or v1.0.0-alpha, is pushed | ||
tags: | ||
- 'v[0-9]+.[0-9]+.[0-9]+*' | ||
# OR | ||
# - Test event: this file is modified on a branch in the main repo containing `/actions/` in the name. | ||
branches: | ||
- '**/actions/**' | ||
paths: | ||
- '**/workflows/release.yml' | ||
|
||
jobs: | ||
build: | ||
name: Release | ||
runs-on: ubuntu-latest | ||
# TODO Share steps with the main workflow. | ||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@master | ||
|
||
- name: Build | ||
run: | | ||
cd build | ||
npm install | ||
# Release build instead of dev build. | ||
npm run build-release | ||
shell: bash | ||
|
||
- name: Prepare artifacts | ||
id: prepare-artifacts | ||
run: | | ||
mkdir artifacts | ||
cp dist/*.vsix artifacts | ||
# Record the VSIX path as an output of this step. | ||
# This will be used later when uploading a release asset. | ||
VSIX_PATH="$(ls dist/*.vsix)" | ||
echo "::set-output name=vsix_path::$VSIX_PATH" | ||
# Transform the GitHub ref so it can be used in a filename. | ||
# This is mainly needed for testing branches that modify this workflow. | ||
REF_NAME="$(echo ${{ github.ref }} | sed -e 's:/:-:g')" | ||
echo "::set-output name=ref_name::$REF_NAME" | ||
# Uploading artifacts is not necessary to create a release. | ||
# This is just in case the release itself fails and we want to access the built artifacts from Actions. | ||
# TODO Remove if not useful. | ||
- name: Upload artifacts | ||
uses: actions/upload-artifact@master | ||
with: | ||
name: vscode-codeql-extension | ||
path: artifacts | ||
|
||
# TODO Run tests, or check that a test run on the same branch succeeded. | ||
|
||
- name: Create release | ||
id: create-release | ||
uses: actions/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag_name: ${{ github.ref }} | ||
release_name: Release ${{ github.ref }} | ||
# This gives us a chance to manually review the created release before publishing it, | ||
# as well as to test the release workflow by pushing temporary tags. | ||
# Once we have set all required release metadata in this step, we can set this to `false`. | ||
draft: true | ||
prerelease: false | ||
|
||
- name: Upload release asset | ||
uses: actions/[email protected] | ||
if: success() | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
# Get the `upload_url` from the `create-release` step above. | ||
upload_url: ${{ steps.create-release.outputs.upload_url }} | ||
# Get the `vsix_path` and `ref_name` from the `prepare-artifacts` step above. | ||
asset_path: ${{ steps.prepare-artifacts.outputs.vsix_path }} | ||
asset_name: ${{ format('vscode-codeql-{0}.vsix', steps.prepare-artifacts.outputs.ref_name) }} | ||
asset_content_type: application/zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Logs | ||
*.log | ||
|
||
# Generated files | ||
/dist/ | ||
out/ | ||
server/ | ||
node_modules/ | ||
gen/ | ||
|
||
# Integration test artifacts | ||
**/.vscode-test/** | ||
|
||
# Visual Studio workspace state | ||
.vs/ | ||
|
||
# Rush files | ||
/common/temp/** | ||
package-deps.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
// See http://go.microsoft.com/fwlink/?LinkId=827846 to learn about workspace recommendations. | ||
// Extension identifier format: ${publisher}.${name}. Example: vscode.csharp | ||
// List of extensions which should be recommended for users of this workspace. | ||
"recommendations": [ | ||
"eamodio.tsl-problem-matcher" | ||
], | ||
// List of extensions recommended by VS Code that should not be recommended for users of this workspace. | ||
"unwantedRecommendations": [] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
// A launch configuration that compiles the extension and then opens it inside a new window | ||
{ | ||
"version": "0.2.0", | ||
"configurations": [ | ||
{ | ||
"name": "Launch Extension (vscode-codeql)", | ||
"type": "extensionHost", | ||
"request": "launch", | ||
"runtimeExecutable": "${execPath}", | ||
"args": [ | ||
"--extensionDevelopmentPath=${workspaceRoot}/dist/vscode-codeql", | ||
"--disable-extensions" | ||
], | ||
"stopOnEntry": false, | ||
"sourceMaps": true, | ||
"outFiles": [ | ||
"${workspaceRoot}/dist/vscode-codeql/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-bqrs/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-io/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-io-node/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-vscode-utils/out/**/*.js" | ||
], | ||
"preLaunchTask": "Build" | ||
}, | ||
{ | ||
"name": "Launch Unit Tests (vscode-codeql)", | ||
"type": "extensionHost", | ||
"request": "launch", | ||
"runtimeExecutable": "${execPath}", | ||
"args": [ | ||
"--extensionDevelopmentPath=${workspaceRoot}/dist/vscode-codeql", | ||
"--extensionTestsPath=${workspaceRoot}/extensions/ql-vscode/out/test", | ||
"--disable-extensions" | ||
], | ||
"stopOnEntry": false, | ||
"sourceMaps": true, | ||
"outFiles": [ | ||
"${workspaceRoot}/dist/vscode-codeql/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-bqrs/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-io/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-io-node/out/**/*.js", | ||
"${workspaceRoot}/dist/vscode-codeql/node_modules/semmle-vscode-utils/out/**/*.js", | ||
"${workspaceRoot}/extensions/ql-vscode/out/test/**/*.js" | ||
], | ||
"preLaunchTask": "Build" | ||
}, | ||
{ | ||
"name": "Launch Integration Tests - No Workspace (vscode-codeql)", | ||
"type": "extensionHost", | ||
"request": "launch", | ||
"runtimeExecutable": "${execPath}", | ||
"args": [ | ||
"--extensionDevelopmentPath=${workspaceRoot}/dist/vscode-codeql", | ||
"--extensionTestsPath=${workspaceRoot}/extensions/ql-vscode/out/vscode-tests/no-workspace/index", | ||
"--disable-extensions" | ||
], | ||
"stopOnEntry": false, | ||
"sourceMaps": true, | ||
"outFiles": [ | ||
"${workspaceRoot}/dist/vscode-codeql/out/**/*.js", | ||
"${workspaceRoot}/extensions/ql-vscode/out/vscode-tests/**/*.js" | ||
], | ||
"preLaunchTask": "Build" | ||
}, | ||
{ | ||
"name": "Launch Integration Tests - Minimal Workspace (vscode-codeql)", | ||
"type": "extensionHost", | ||
"request": "launch", | ||
"runtimeExecutable": "${execPath}", | ||
"args": [ | ||
"--extensionDevelopmentPath=${workspaceRoot}/dist/vscode-codeql", | ||
"--extensionTestsPath=${workspaceRoot}/extensions/ql-vscode/out/vscode-tests/minimal-workspace/index", | ||
"${workspaceRoot}/extensions/ql-vscode/test/data", | ||
], | ||
"stopOnEntry": false, | ||
"sourceMaps": true, | ||
"outFiles": [ | ||
"${workspaceRoot}/dist/vscode-codeql/out/**/*.js", | ||
"${workspaceRoot}/extensions/ql-vscode/out/vscode-tests/**/*.js" | ||
], | ||
"preLaunchTask": "Build" | ||
} | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
// Place your settings in this file to overwrite default and user settings. | ||
{ | ||
"files.exclude": { | ||
"out": false // set this to true to hide the "out" folder with the compiled JS files | ||
}, | ||
"files.watcherExclude": { | ||
"**/.git/**": true, | ||
"**/node_modules/*/**": true | ||
}, | ||
"search.exclude": { | ||
"out": true // set this to false to include "out" folder in search results | ||
}, | ||
"typescript.tsdk": "./common/temp/node_modules/typescript/lib" // we want to use the TS server from our node_modules folder to control its version | ||
} |
Oops, something went wrong.