Compare commits

..

1 Commits

Author SHA1 Message Date
Angela P Wen aca0f6dc5d Log disk info before/after setup-swift 2023-08-03 11:50:54 +02:00
157 changed files with 649 additions and 709 deletions
+3 -9
View File
@@ -2,12 +2,8 @@ name: "Prepare test"
description: Performs some preparation to run tests
inputs:
version:
description: "The version of the CodeQL CLI to use. Can be 'latest', 'default', 'nightly-latest', 'nightly-YYYY-MM-DD', or 'stable-YYYY-MM-DD'."
description: "The version of the CodeQL CLI to use. Can be 'latest', 'cached', 'nightly-latest', 'nightly-YYYY-MM-DD', or 'stable-YYYY-MM-DD'."
required: true
use-all-platform-bundle:
description: "If true, we output a tools URL with codeql-bundle.tar.gz file rather than platform-specific URL"
default: 'false'
required: false
outputs:
tools-url:
description: "The value that should be passed as the 'tools' input of the 'init' step."
@@ -28,9 +24,7 @@ runs:
run: |
set -e # Fail this Action if `gh release list` fails.
if [[ ${{ inputs.use-all-platform-bundle }} == "true" ]]; then
artifact_name="codeql-bundle.tar.gz"
elif [[ "$RUNNER_OS" == "Linux" ]]; then
if [[ "$RUNNER_OS" == "Linux" ]]; then
artifact_name="codeql-bundle-linux64.tar.gz"
elif [[ "$RUNNER_OS" == "macOS" ]]; then
artifact_name="codeql-bundle-osx64.tar.gz"
@@ -52,7 +46,7 @@ runs:
echo "tools-url=https://github.com/github/codeql-action/releases/download/codeql-bundle-$version/$artifact_name" >> $GITHUB_OUTPUT
elif [[ ${{ inputs.version }} == "latest" ]]; then
echo "tools-url=latest" >> $GITHUB_OUTPUT
elif [[ ${{ inputs.version }} == "default" ]]; then
elif [[ ${{ inputs.version }} == "cached" ]]; then
echo "tools-url=" >> $GITHUB_OUTPUT
else
echo "::error::Unrecognized version specified!"
+22 -6
View File
@@ -1,5 +1,5 @@
name: "Set up Swift on Linux"
description: Sets up an appropriate Swift version on Linux.
name: "Set up Swift"
description: Sets up an appropriate Swift version if supported on this platform.
inputs:
codeql-path:
description: Path to the CodeQL CLI executable.
@@ -9,16 +9,21 @@ runs:
steps:
- name: Get Swift version
id: get_swift_version
if: runner.os == 'Linux'
if: runner.os != 'Windows'
shell: bash
env:
CODEQL_PATH: ${{ inputs.codeql-path }}
run: |
if [[ $RUNNER_OS = "macOS" ]]; then
PLATFORM="osx64"
else # We do not run this step on Windows.
PLATFORM="linux64"
fi
SWIFT_EXTRACTOR_DIR="$("$CODEQL_PATH" resolve languages --format json | jq -r '.swift[0]')"
if [ $SWIFT_EXTRACTOR_DIR = "null" ]; then
VERSION="null"
else
VERSION="$("$SWIFT_EXTRACTOR_DIR/tools/linux64/extractor" --version | awk '/version/ { print $3 }')"
VERSION="$("$SWIFT_EXTRACTOR_DIR/tools/$PLATFORM/extractor" --version | awk '/version/ { print $3 }')"
# Specify 5.x.0, otherwise setup Action will default to latest minor version.
if [ $VERSION = "5.7" ]; then
VERSION="5.7.0"
@@ -30,8 +35,19 @@ runs:
fi
fi
echo "version=$VERSION" | tee -a $GITHUB_OUTPUT
- name: Log disk info on Linux prior to setup-swift
shell: bash
run: |-
if ! hash sudo &> /dev/null; then apt-get update -q=2 && apt-get install sudo -y -q=2; fi;
sudo df -h
if: runner.os == 'Linux'
- uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf # Please update the corresponding SHA in the CLI's CodeQL Action Integration Test.
if: runner.os == 'Linux' && steps.get_swift_version.outputs.version != 'null'
if: runner.os != 'Windows' && steps.get_swift_version.outputs.version != 'null'
with:
swift-version: "${{ steps.get_swift_version.outputs.version }}"
- name: Log disk info on Linux after setup-swift
shell: bash
run: |-
if ! hash sudo &> /dev/null; then apt-get update -q=2 && apt-get install sudo -y -q=2; fi;
sudo df -h
if: runner.os == 'Linux'
-67
View File
@@ -1,67 +0,0 @@
# Warning: This file is generated automatically, and should not be modified.
# Instead, please modify the template in the pr-checks directory and run:
# (cd pr-checks; pip install ruamel.yaml@0.17.31 && python3 sync.py)
# to regenerate this file.
name: PR Check - All-platform bundle
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
on:
push:
branches:
- main
- releases/v2
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
workflow_dispatch: {}
jobs:
all-platform-bundle:
strategy:
matrix:
include:
- os: ubuntu-latest
version: nightly-latest
name: All-platform bundle
permissions:
contents: read
security-events: write
timeout-minutes: 45
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Prepare test
id: prepare-test
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'true'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
matrix.version == '20220908' ||
matrix.version == '20221211'
)
shell: bash
run: echo "CODEQL_ENABLE_EXPERIMENTAL_FEATURES_SWIFT=true" >> $GITHUB_ENV
- id: init
uses: ./../action/init
with:
tools: ${{ steps.prepare-test.outputs.tools-url }}
- uses: ./../action/.github/actions/setup-swift
with:
codeql-path: ${{ steps.init.outputs.codeql-path }}
- name: Build code
shell: bash
run: ./build.sh
- uses: ./../action/analyze
with:
upload-database: false
env:
CODEQL_ACTION_TEST_MODE: true
+3 -4
View File
@@ -50,11 +50,11 @@ jobs:
- os: windows-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -81,7 +81,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
-1
View File
@@ -45,7 +45,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
-1
View File
@@ -51,7 +51,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
-1
View File
@@ -57,7 +57,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+1 -2
View File
@@ -45,7 +45,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
@@ -63,7 +62,7 @@ jobs:
CODEQL_FILE_BASELINE_INFORMATION: true
- uses: ./../action/.github/actions/setup-swift
with:
codeql-path: ${{ steps.init.outputs.codeql-path }}
codeql-path: ${{steps.init.outputs.codeql-path}}
- name: Build code
shell: bash
run: ./build.sh
-1
View File
@@ -41,7 +41,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -50,11 +50,11 @@ jobs:
- os: windows-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -81,7 +81,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -42,9 +42,9 @@ jobs:
- os: macos-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -67,7 +67,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -42,9 +42,9 @@ jobs:
- os: macos-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -67,7 +67,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -42,9 +42,9 @@ jobs:
- os: macos-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -67,7 +67,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -26,11 +26,11 @@ jobs:
matrix:
include:
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -58,7 +58,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+1 -2
View File
@@ -28,7 +28,7 @@ jobs:
- os: ubuntu-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
name: Custom source root
@@ -45,7 +45,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -50,11 +50,11 @@ jobs:
- os: windows-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -81,7 +81,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -42,9 +42,9 @@ jobs:
- os: macos-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -67,7 +67,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
@@ -32,11 +32,11 @@ jobs:
- os: windows-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
@@ -57,7 +57,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -32,11 +32,11 @@ jobs:
- os: windows-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
@@ -57,7 +57,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -32,11 +32,11 @@ jobs:
- os: windows-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
@@ -57,7 +57,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -32,11 +32,11 @@ jobs:
- os: windows-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
@@ -57,7 +57,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -50,11 +50,11 @@ jobs:
- os: windows-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -81,7 +81,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
-1
View File
@@ -45,7 +45,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+1 -2
View File
@@ -26,7 +26,7 @@ jobs:
matrix:
include:
- os: ubuntu-latest
version: default
version: cached
name: RuboCop multi-language
permissions:
contents: read
@@ -41,7 +41,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -30,9 +30,9 @@ jobs:
- os: macos-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
@@ -51,7 +51,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -42,9 +42,9 @@ jobs:
- os: macos-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -67,7 +67,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -30,9 +30,9 @@ jobs:
- os: macos-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
@@ -51,7 +51,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+1 -2
View File
@@ -28,7 +28,7 @@ jobs:
- os: ubuntu-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
name: Submit SARIF after failure
@@ -45,7 +45,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+2 -3
View File
@@ -30,9 +30,9 @@ jobs:
- os: macos-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
@@ -51,7 +51,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
-1
View File
@@ -41,7 +41,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
-1
View File
@@ -41,7 +41,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
-1
View File
@@ -41,7 +41,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+1 -2
View File
@@ -34,7 +34,7 @@ jobs:
- os: ubuntu-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: ubuntu-latest
@@ -53,7 +53,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -50,11 +50,11 @@ jobs:
- os: windows-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -81,7 +81,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
+3 -4
View File
@@ -50,11 +50,11 @@ jobs:
- os: windows-latest
version: stable-20230418
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: windows-latest
version: default
version: cached
- os: ubuntu-latest
version: latest
- os: macos-latest
@@ -81,7 +81,6 @@ jobs:
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: 'false'
- name: Set environment variable for Swift enablement
if: >-
runner.os != 'Windows' && (
@@ -30,9 +30,9 @@ jobs:
- os: macos-latest
version: latest
- os: ubuntu-latest
version: default
version: cached
- os: macos-latest
version: default
version: cached
- os: ubuntu-latest
version: nightly-latest
- os: macos-latest
+2 -2
View File
@@ -29,7 +29,7 @@ jobs:
- stable-20220908
- stable-20221211
- stable-20230418
- default
- cached
- latest
- nightly-latest
name: Upload debug artifacts
@@ -74,7 +74,7 @@ jobs:
- name: Check expected artifacts exist
shell: bash
run: |
VERSIONS="stable-20220615 stable-20220908 stable-20221211 stable-20230418 default latest nightly-latest"
VERSIONS="stable-20220615 stable-20220908 stable-20221211 stable-20230418 cached latest nightly-latest"
LANGUAGES="cpp csharp go java javascript python"
for version in $VERSIONS; do
for os in ubuntu-latest macos-latest; do
@@ -1,56 +0,0 @@
name: 'PR Check - CodeQL Bundle All'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GO111MODULE: auto
# Disable Kotlin analysis while it's incompatible with Kotlin 1.8, until we find a
# workaround for our PR checks.
CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN: 'true'
on:
push:
branches:
- main
- releases/v2
pull_request:
types:
- opened
- synchronize
- reopened
- ready_for_review
workflow_dispatch: {}
jobs:
test-codeql-bundle-all:
strategy:
matrix:
include:
- os: ubuntu-latest
version: nightly-latest
name: 'CodeQL Bundle All'
permissions:
contents: read
security-events: write
timeout-minutes: 45
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Prepare test
id: prepare-test
uses: ./.github/actions/prepare-test
with:
version: ${{ matrix.version }}
use-all-platform-bundle: true
- id: init
uses: ./../action/init
with:
tools: ${{ steps.prepare-test.outputs.tools-url }}
- uses: ./../action/.github/actions/setup-swift
with:
codeql-path: ${{ steps.init.outputs.codeql-path }}
- name: Build code
shell: bash
run: ./build.sh
- uses: ./../action/analyze
with:
upload-database: false
env:
CODEQL_ACTION_TEST_MODE: true
Generated
+5 -11
View File
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGeneratedCodeScanningConfigPath = exports.getTrapCachingExtractorConfigArgsForLang = exports.getTrapCachingExtractorConfigArgs = exports.getExtraOptions = exports.getCodeQLForCmd = exports.getCodeQLForTesting = exports.getCachedCodeQL = exports.setCodeQL = exports.getCodeQL = exports.setupCodeQL = exports.CODEQL_VERSION_RESOLVE_ENVIRONMENT = exports.CODEQL_VERSION_DIAGNOSTICS_EXPORT_FIXED = exports.CODEQL_VERSION_BETTER_NO_CODE_ERROR_MESSAGE = exports.CODEQL_VERSION_INIT_WITH_QLCONFIG = exports.CODEQL_VERSION_EXPORT_CODE_SCANNING_CONFIG = exports.CODEQL_VERSION_SECURITY_EXPERIMENTAL_SUITE = exports.CODEQL_VERSION_BETTER_RESOLVE_LANGUAGES = exports.CODEQL_VERSION_GHES_PACK_DOWNLOAD = exports.CommandInvocationError = void 0;
exports.getGeneratedCodeScanningConfigPath = exports.getTrapCachingExtractorConfigArgsForLang = exports.getTrapCachingExtractorConfigArgs = exports.getExtraOptions = exports.getCodeQLForCmd = exports.getCodeQLForTesting = exports.getCachedCodeQL = exports.setCodeQL = exports.getCodeQL = exports.setupCodeQL = exports.CODEQL_VERSION_RESOLVE_ENVIRONMENT = exports.CODEQL_VERSION_BETTER_NO_CODE_ERROR_MESSAGE = exports.CODEQL_VERSION_INIT_WITH_QLCONFIG = exports.CODEQL_VERSION_EXPORT_CODE_SCANNING_CONFIG = exports.CODEQL_VERSION_SECURITY_EXPERIMENTAL_SUITE = exports.CODEQL_VERSION_BETTER_RESOLVE_LANGUAGES = exports.CODEQL_VERSION_GHES_PACK_DOWNLOAD = exports.CommandInvocationError = void 0;
const fs = __importStar(require("fs"));
const path = __importStar(require("path"));
const core = __importStar(require("@actions/core"));
@@ -100,10 +100,6 @@ exports.CODEQL_VERSION_INIT_WITH_QLCONFIG = "2.12.4";
* determines that no code has been found.
*/
exports.CODEQL_VERSION_BETTER_NO_CODE_ERROR_MESSAGE = "2.12.4";
/**
* Versions 2.13.1+ of the CodeQL CLI fix a bug where diagnostics export could produce invalid SARIF.
*/
exports.CODEQL_VERSION_DIAGNOSTICS_EXPORT_FIXED = "2.13.1";
/**
* Versions 2.13.4+ of the CodeQL CLI support the `resolve build-environment` command.
*/
@@ -453,8 +449,8 @@ async function getCodeQLForCmd(cmd, checkVersion) {
},
async databaseInterpretResults(databasePath, querySuitePaths, sarifFile, addSnippetsFlag, threadsFlag, verbosityFlag, automationDetailsId, config, features, logger) {
const shouldExportDiagnostics = await features.getValue(feature_flags_1.Feature.ExportDiagnosticsEnabled, this);
const shouldWorkaroundInvalidNotifications = shouldExportDiagnostics &&
!(await isDiagnosticsExportInvalidSarifFixed(this));
// Update this to take into account the CodeQL version when we have a version with the fix.
const shouldWorkaroundInvalidNotifications = shouldExportDiagnostics;
const codeqlOutputFile = shouldWorkaroundInvalidNotifications
? path.join(config.tempDir, "codeql-intermediate-results.sarif")
: sarifFile;
@@ -580,7 +576,8 @@ async function getCodeQLForCmd(cmd, checkVersion) {
await new toolrunner.ToolRunner(cmd, args).exec();
},
async databaseExportDiagnostics(databasePath, sarifFile, automationDetailsId, tempDir, logger) {
const shouldWorkaroundInvalidNotifications = !(await isDiagnosticsExportInvalidSarifFixed(this));
// Update this to take into account the CodeQL version when we have a version with the fix.
const shouldWorkaroundInvalidNotifications = true;
const codeqlOutputFile = shouldWorkaroundInvalidNotifications
? path.join(tempDir, "codeql-intermediate-results.sarif")
: sarifFile;
@@ -952,7 +949,4 @@ function isNoCodeFoundError(e) {
const javascriptNoCodeFoundWarning = "No JavaScript or TypeScript code found.";
return e.exitCode === 32 || e.error.includes(javascriptNoCodeFoundWarning);
}
async function isDiagnosticsExportInvalidSarifFixed(codeql) {
return await util.codeQlVersionAbove(codeql, exports.CODEQL_VERSION_DIAGNOSTICS_EXPORT_FIXED);
}
//# sourceMappingURL=codeql.js.map
+1 -1
View File
File diff suppressed because one or more lines are too long
Generated
+3 -3
View File
@@ -109,9 +109,9 @@ function getSystemReservedMemoryMegaBytes(totalMemoryMegaBytes, platform, isScal
// Windows needs more memory for OS processes.
const fixedAmount = 1024 * (platform === "win32" ? 1.5 : 1);
if (isScalingReservedRamEnabled) {
// Reserve an additional 5% of the amount of memory above 8 GB, since the amount used by the
// kernel for page tables scales with the size of physical memory.
const scaledAmount = 0.05 * Math.max(totalMemoryMegaBytes - 8 * 1024, 0);
// Reserve an additional 2.5% of the amount of memory above 8 GB, since the amount used by
// the kernel for page tables scales with the size of physical memory.
const scaledAmount = 0.025 * Math.max(totalMemoryMegaBytes - 8 * 1024, 0);
return fixedAmount + scaledAmount;
}
else {
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -73,14 +73,14 @@ const GET_MEMORY_FLAG_TESTS = [
totalMemoryMb: 64 * 1024,
platform: "linux",
expectedMemoryValue: 63 * 1024,
expectedMemoryValueWithScaling: 61644, // Math.floor(1024 * (64 - 1 - 0.05 * (64 - 8)))
expectedMemoryValueWithScaling: 63078, // Math.floor(1024 * (64 - 1 - 0.025 * (64 - 8)))
},
{
input: undefined,
totalMemoryMb: 64 * 1024,
platform: "win32",
expectedMemoryValue: 62.5 * 1024,
expectedMemoryValueWithScaling: 61132, // Math.floor(1024 * (64 - 1.5 - 0.05 * (64 - 8)))
expectedMemoryValueWithScaling: 62566, // Math.floor(1024 * (64 - 1.5 - 0.025 * (64 - 8)))
},
];
for (const { input, totalMemoryMb, platform, expectedMemoryValue, expectedMemoryValueWithScaling, } of GET_MEMORY_FLAG_TESTS) {
+1 -1
View File
File diff suppressed because one or more lines are too long
+45 -45
View File
@@ -906,9 +906,9 @@
"dev": true
},
"node_modules/@types/sinon": {
"version": "10.0.16",
"resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.16.tgz",
"integrity": "sha512-j2Du5SYpXZjJVJtXBokASpPRj+e2z+VUhCPHmM6WMfe3dpHu6iVKJMU6AiBcMp/XTAYnEj6Wc1trJUWwZ0QaAQ==",
"version": "10.0.15",
"resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.15.tgz",
"integrity": "sha512-3lrFNQG0Kr2LDzvjyjB6AMJk4ge+8iYhQfdnSwIwlG88FUOV43kPcQqDZkDa/h3WSZy6i8Fr0BSjfQtB1B3xuQ==",
"dev": true,
"dependencies": {
"@types/sinonjs__fake-timers": "*"
@@ -934,16 +934,16 @@
"integrity": "sha512-kNnC1GFBLuhImSnV7w4njQkUiJi0ZXUycu1rUaouPqiKlXkh77JKgdRnTAp1x5eBwcIwbtI+3otwzuIDEuDoxQ=="
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.1.tgz",
"integrity": "sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.0.tgz",
"integrity": "sha512-rClGrMuyS/3j0ETa1Ui7s6GkLhfZGKZL3ZrChLeAiACBE/tRc1wq8SNZESUuluxhLj9FkUefRs2l6bCIArWBiQ==",
"dev": true,
"dependencies": {
"@eslint-community/regexpp": "^4.5.1",
"@typescript-eslint/scope-manager": "6.2.1",
"@typescript-eslint/type-utils": "6.2.1",
"@typescript-eslint/utils": "6.2.1",
"@typescript-eslint/visitor-keys": "6.2.1",
"@typescript-eslint/scope-manager": "6.2.0",
"@typescript-eslint/type-utils": "6.2.0",
"@typescript-eslint/utils": "6.2.0",
"@typescript-eslint/visitor-keys": "6.2.0",
"debug": "^4.3.4",
"graphemer": "^1.4.0",
"ignore": "^5.2.4",
@@ -970,15 +970,15 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.1.tgz",
"integrity": "sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.2.0.tgz",
"integrity": "sha512-igVYOqtiK/UsvKAmmloQAruAdUHihsOCvplJpplPZ+3h4aDkC/UKZZNKgB6h93ayuYLuEymU3h8nF1xMRbh37g==",
"dev": true,
"dependencies": {
"@typescript-eslint/scope-manager": "6.2.1",
"@typescript-eslint/types": "6.2.1",
"@typescript-eslint/typescript-estree": "6.2.1",
"@typescript-eslint/visitor-keys": "6.2.1",
"@typescript-eslint/scope-manager": "6.2.0",
"@typescript-eslint/types": "6.2.0",
"@typescript-eslint/typescript-estree": "6.2.0",
"@typescript-eslint/visitor-keys": "6.2.0",
"debug": "^4.3.4"
},
"engines": {
@@ -998,13 +998,13 @@
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.1.tgz",
"integrity": "sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.2.0.tgz",
"integrity": "sha512-1ZMNVgm5nnHURU8ZSJ3snsHzpFeNK84rdZjluEVBGNu7jDymfqceB3kdIZ6A4xCfEFFhRIB6rF8q/JIqJd2R0Q==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.2.1",
"@typescript-eslint/visitor-keys": "6.2.1"
"@typescript-eslint/types": "6.2.0",
"@typescript-eslint/visitor-keys": "6.2.0"
},
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -1015,13 +1015,13 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.1.tgz",
"integrity": "sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.2.0.tgz",
"integrity": "sha512-DnGZuNU2JN3AYwddYIqrVkYW0uUQdv0AY+kz2M25euVNlujcN2u+rJgfJsBFlUEzBB6OQkUqSZPyuTLf2bP5mw==",
"dev": true,
"dependencies": {
"@typescript-eslint/typescript-estree": "6.2.1",
"@typescript-eslint/utils": "6.2.1",
"@typescript-eslint/typescript-estree": "6.2.0",
"@typescript-eslint/utils": "6.2.0",
"debug": "^4.3.4",
"ts-api-utils": "^1.0.1"
},
@@ -1042,9 +1042,9 @@
}
},
"node_modules/@typescript-eslint/types": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.1.tgz",
"integrity": "sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.2.0.tgz",
"integrity": "sha512-1nRRaDlp/XYJQLvkQJG5F3uBTno5SHPT7XVcJ5n1/k2WfNI28nJsvLakxwZRNY5spuatEKO7d5nZWsQpkqXwBA==",
"dev": true,
"engines": {
"node": "^16.0.0 || >=18.0.0"
@@ -1055,13 +1055,13 @@
}
},
"node_modules/@typescript-eslint/typescript-estree": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.1.tgz",
"integrity": "sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.0.tgz",
"integrity": "sha512-Mts6+3HQMSM+LZCglsc2yMIny37IhUgp1Qe8yJUYVyO6rHP7/vN0vajKu3JvHCBIy8TSiKddJ/Zwu80jhnGj1w==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.2.1",
"@typescript-eslint/visitor-keys": "6.2.1",
"@typescript-eslint/types": "6.2.0",
"@typescript-eslint/visitor-keys": "6.2.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
@@ -1082,17 +1082,17 @@
}
},
"node_modules/@typescript-eslint/utils": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.1.tgz",
"integrity": "sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.2.0.tgz",
"integrity": "sha512-RCFrC1lXiX1qEZN8LmLrxYRhOkElEsPKTVSNout8DMzf8PeWoQG7Rxz2SadpJa3VSh5oYKGwt7j7X/VRg+Y3OQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.4.0",
"@types/json-schema": "^7.0.12",
"@types/semver": "^7.5.0",
"@typescript-eslint/scope-manager": "6.2.1",
"@typescript-eslint/types": "6.2.1",
"@typescript-eslint/typescript-estree": "6.2.1",
"@typescript-eslint/scope-manager": "6.2.0",
"@typescript-eslint/types": "6.2.0",
"@typescript-eslint/typescript-estree": "6.2.0",
"semver": "^7.5.4"
},
"engines": {
@@ -1107,12 +1107,12 @@
}
},
"node_modules/@typescript-eslint/visitor-keys": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.1.tgz",
"integrity": "sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA==",
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.0.tgz",
"integrity": "sha512-QbaYUQVKKo9bgCzpjz45llCfwakyoxHetIy8CAvYCtd16Zu1KrpzNHofwF8kGkpPOxZB2o6kz+0nqH8ZkIzuoQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "6.2.1",
"@typescript-eslint/types": "6.2.0",
"eslint-visitor-keys": "^3.4.1"
},
"engines": {
+1 -1
View File
@@ -8,7 +8,7 @@ This package contains type definitions for Sinon (https://sinonjs.org).
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sinon.
### Additional Details
* Last updated: Tue, 01 Aug 2023 09:02:50 GMT
* Last updated: Sun, 14 May 2023 04:32:51 GMT
* Dependencies: [@types/sinonjs__fake-timers](https://npmjs.com/package/@types/sinonjs__fake-timers)
* Global values: `sinon`
+1 -1
View File
@@ -775,7 +775,7 @@ declare namespace Sinon {
}
interface SinonMockStatic {
(name?: string): SinonExpectation;
(): SinonExpectation;
/**
* Creates a mock for the provided object.
* Does not change the object, but returns a mock object to set expectations on the objects methods.
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@types/sinon",
"version": "10.0.16",
"version": "10.0.15",
"description": "TypeScript definitions for Sinon",
"homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/sinon",
"license": "MIT",
@@ -57,6 +57,6 @@
"dependencies": {
"@types/sinonjs__fake-timers": "*"
},
"typesPublisherContentHash": "80a97a78fae8ba4177fdc4c2d9cb72ff3c90b9c29fbc7c54a1ecaa647e7128ed",
"typesPublisherContentHash": "c87e5ef382887bbdb8c25d070fd87c515977fd4e28b3d8cf4293c673f5e33f2e",
"typeScriptVersion": "4.3"
}
@@ -231,21 +231,27 @@ exports.default = util.createRule({
data: { typeImports },
};
}
return {
messageId: 'aImportIsOnlyTypes',
data: { typeImports },
};
else {
return {
messageId: 'aImportIsOnlyTypes',
data: { typeImports },
};
}
}
if (isTypeImport) {
return {
messageId: 'someImportsInDecoMeta',
data: { typeImports }, // typeImports are all the value specifiers that are in the type position
};
else {
if (isTypeImport) {
return {
messageId: 'someImportsInDecoMeta',
data: { typeImports }, // typeImports are all the value specifiers that are in the type position
};
}
else {
return {
messageId: 'someImportsAreOnlyTypes',
data: { typeImports }, // typeImports are all the type specifiers in the value position
};
}
}
return {
messageId: 'someImportsAreOnlyTypes',
data: { typeImports }, // typeImports are all the type specifiers in the value position
};
})();
context.report({
node: report.node,
File diff suppressed because one or more lines are too long
+15 -13
View File
@@ -162,19 +162,21 @@ exports.default = util.createRule({
...base,
};
}
return {
type,
accessibility: undefined,
declare: false,
decorators: [],
definite: false,
optional: false,
override: false,
readonly: false,
static: false,
typeAnnotation: undefined,
...base,
};
else {
return {
type,
accessibility: undefined,
declare: false,
decorators: [],
definite: false,
optional: false,
override: false,
readonly: false,
static: false,
typeAnnotation: undefined,
...base,
};
}
}
return Object.assign({}, rules, {
// overwrite the base rule here so we can use our KNOWN_NODES list instead
File diff suppressed because one or more lines are too long
+9 -3
View File
@@ -116,7 +116,9 @@ exports.default = util.createRule({
typeAnnotation.range[0],
]);
}
return fixer.insertTextBefore(typeAnnotation, ' '.repeat(-difference));
else {
return fixer.insertTextBefore(typeAnnotation, ' '.repeat(-difference));
}
},
data: {
computed: '',
@@ -141,7 +143,9 @@ exports.default = util.createRule({
typeAnnotation.typeAnnotation.range[0],
]);
}
return fixer.insertTextBefore(typeAnnotation.typeAnnotation, ' '.repeat(-difference));
else {
return fixer.insertTextBefore(typeAnnotation.typeAnnotation, ' '.repeat(-difference));
}
},
data: {
computed: '',
@@ -246,7 +250,9 @@ exports.default = util.createRule({
toCheck.range[0],
]);
}
return fixer.insertTextBefore(toCheck, ' '.repeat(-difference));
else {
return fixer.insertTextBefore(toCheck, ' '.repeat(-difference));
}
},
data: {
computed: '',
File diff suppressed because one or more lines are too long
@@ -101,10 +101,12 @@ exports.default = util.createRule({
if (isHigherPrecedenceThanUnary(tsNode)) {
return fixer.insertTextBefore(node, 'void ');
}
return [
fixer.insertTextBefore(node, 'void ('),
fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'),
];
else {
return [
fixer.insertTextBefore(node, 'void ('),
fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'),
];
}
},
},
],
@@ -128,10 +130,12 @@ exports.default = util.createRule({
if (isHigherPrecedenceThanUnary(tsNode)) {
return fixer.insertTextBefore(node, 'await ');
}
return [
fixer.insertTextBefore(node, 'await ('),
fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'),
];
else {
return [
fixer.insertTextBefore(node, 'await ('),
fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'),
];
}
},
},
],
@@ -191,14 +195,18 @@ exports.default = util.createRule({
if (isValidRejectionHandler(catchRejectionHandler)) {
return { isUnhandled: false };
}
return { isUnhandled: true, nonFunctionHandler: true };
else {
return { isUnhandled: true, nonFunctionHandler: true };
}
}
const thenRejectionHandler = getRejectionHandlerFromThenCall(node);
if (thenRejectionHandler) {
if (isValidRejectionHandler(thenRejectionHandler)) {
return { isUnhandled: false };
}
return { isUnhandled: true, nonFunctionHandler: true };
else {
return { isUnhandled: true, nonFunctionHandler: true };
}
}
// `x.finally()` is transparent to resolution of the promise, so check `x`.
// ("object" in this context is the `x` in `x.finally()`)
@@ -216,7 +224,9 @@ exports.default = util.createRule({
if (alternateResult.isUnhandled) {
return alternateResult;
}
return isUnhandledPromise(checker, node.consequent);
else {
return isUnhandledPromise(checker, node.consequent);
}
}
else if (node.type === utils_1.AST_NODE_TYPES.MemberExpression ||
node.type === utils_1.AST_NODE_TYPES.Identifier ||
@@ -231,7 +241,9 @@ exports.default = util.createRule({
if (leftResult.isUnhandled) {
return leftResult;
}
return isUnhandledPromise(checker, node.right);
else {
return isUnhandledPromise(checker, node.right);
}
}
// We conservatively return false for all other types of expressions because
// we don't want to accidentally fail if the promise is handled internally but
@@ -284,7 +296,9 @@ function getRejectionHandlerFromCatchCall(expression) {
expression.arguments.length >= 1) {
return expression.arguments[0];
}
return undefined;
else {
return undefined;
}
}
function getRejectionHandlerFromThenCall(expression) {
if (expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
@@ -293,7 +307,9 @@ function getRejectionHandlerFromThenCall(expression) {
expression.arguments.length >= 2) {
return expression.arguments[1];
}
return undefined;
else {
return undefined;
}
}
function getObjectFromFinallyCall(expression) {
return expression.callee.type === utils_1.AST_NODE_TYPES.MemberExpression &&
File diff suppressed because one or more lines are too long
@@ -179,15 +179,10 @@ exports.default = util.createRule({
if (ignoreParameters || !node.params) {
return;
}
node.params.forEach(param => {
if (param.type === utils_1.AST_NODE_TYPES.TSParameterProperty) {
param = param.parameter;
}
if (param.type === utils_1.AST_NODE_TYPES.AssignmentPattern &&
param.left &&
param.right) {
reportInferrableType(param, param.left.typeAnnotation, param.right);
}
node.params.filter(param => param.type === utils_1.AST_NODE_TYPES.AssignmentPattern &&
param.left &&
param.right).forEach(param => {
reportInferrableType(param, param.left.typeAnnotation, param.right);
});
}
function inferrablePropertyVisitor(node) {
File diff suppressed because one or more lines are too long
+5 -3
View File
@@ -401,9 +401,11 @@ exports.default = util.createRule({
column: identifier.loc.start.column + 1,
};
}
return {
global: true,
};
else {
return {
global: true,
};
}
}
/**
* Checks the current context for shadowed variables.
File diff suppressed because one or more lines are too long
@@ -66,7 +66,9 @@ exports.default = util.createRule({
}
return false;
}
return (type.flags & (ts.TypeFlags.Null | ts.TypeFlags.Undefined)) !== 0;
else {
return ((type.flags & (ts.TypeFlags.Null | ts.TypeFlags.Undefined)) !== 0);
}
};
const sameTypeWithoutNullish = (assertedTypes, originalTypes) => {
const nonNullishOriginalTypes = originalTypes.filter(type => (type.flags & (ts.TypeFlags.Null | ts.TypeFlags.Undefined)) === 0);
@@ -1 +1 @@
{"version":3,"file":"non-nullable-type-assertion-style.js","sourceRoot":"","sources":["../../src/rules/non-nullable-type-assertion-style.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA0D;AAC1D,sDAAwC;AACxC,+CAAiC;AAEjC,8CAAgC;AAEhC,kBAAe,IAAI,CAAC,UAAU,CAAC;IAC7B,IAAI,EAAE,mCAAmC;IACzC,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,sDAAsD;YACnE,WAAW,EAAE,WAAW;YACxB,oBAAoB,EAAE,IAAI;SAC3B;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,sBAAsB,EACpB,+EAA+E;SAClF;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,YAAY;KACnB;IACD,cAAc,EAAE,EAAE;IAElB,MAAM,CAAC,OAAO;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QAE3C,MAAM,kBAAkB,GAAG,CAAC,IAAmB,EAAyB,EAAE;YACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAE9C,IACE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EACpE;gBACA,OAAO,SAAS,CAAC;aAClB;YAED,OAAO,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,IAAa,EAAW,EAAE;YAChD,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE;gBAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxC,OAAO,UAAU,IAAI,IAAI,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;aACzD;iBAAM,IAAI,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;gBACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;oBAC7B,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;wBACxB,OAAO,IAAI,CAAC;qBACb;iBACF;gBACD,OAAO,KAAK,CAAC;aACd;YACD,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;QAC3E,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,CAC7B,aAAwB,EACxB,aAAwB,EACf,EAAE;YACX,MAAM,uBAAuB,GAAG,aAAa,CAAC,MAAM,CAClD,IAAI,CAAC,EAAE,CACL,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CACpE,CAAC;YAEF,IAAI,uBAAuB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE;gBAC3D,OAAO,KAAK,CAAC;aACd;YAED,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE;gBACxC,IACE,cAAc,CAAC,YAAY,CAAC;oBAC5B,CAAC,uBAAuB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAC/C;oBACA,OAAO,KAAK,CAAC;iBACd;aACF;YAED,KAAK,MAAM,YAAY,IAAI,uBAAuB,EAAE;gBAClD,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;oBACzC,OAAO,KAAK,CAAC;iBACd;aACF;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,CACvB,IAAwD,EAC/C,EAAE;YACX,OAAO,CACL,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,sBAAc,CAAC,eAAe;gBAC3D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,sBAAc,CAAC,UAAU;gBAC/D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,KAAK,OAAO,CAC9C,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,iCAAiC,CAC/B,IAAwD;gBAExD,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;oBAC1B,OAAO;iBACR;gBAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,EAAE;oBAClB,OAAO;iBACR;gBAED,MAAM,aAAa,GAAG,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9D,IAAI,CAAC,aAAa,EAAE;oBAClB,OAAO;iBACR;gBAED,IAAI,sBAAsB,CAAC,aAAa,EAAE,aAAa,CAAC,EAAE;oBACxD,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,CAAC,KAAK;4BACP,OAAO,KAAK,CAAC,WAAW,CACtB,IAAI,EACJ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAC1C,CAAC;wBACJ,CAAC;wBACD,SAAS,EAAE,wBAAwB;wBACnC,IAAI;qBACL,CAAC,CAAC;iBACJ;YACH,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
{"version":3,"file":"non-nullable-type-assertion-style.js","sourceRoot":"","sources":["../../src/rules/non-nullable-type-assertion-style.ts"],"names":[],"mappings":"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"}
@@ -251,13 +251,15 @@ function getFixer(sourceCode, parserServices, operator, options, chain) {
right: unaryOperator + newCode,
};
}
const unaryOperator = lastOperand.node.left.type === utils_1.AST_NODE_TYPES.UnaryExpression
? lastOperand.node.left.operator + ' '
: '';
return {
left: unaryOperator + newCode,
right: sourceCode.getText(lastOperand.node.right),
};
else {
const unaryOperator = lastOperand.node.left.type === utils_1.AST_NODE_TYPES.UnaryExpression
? lastOperand.node.left.operator + ' '
: '';
return {
left: unaryOperator + newCode,
right: sourceCode.getText(lastOperand.node.right),
};
}
})();
newCode = `${left} ${operator} ${right}`;
}
File diff suppressed because one or more lines are too long
@@ -94,11 +94,13 @@ function gatherLogicalOperands(node, parserServices, options) {
isYoda: false,
};
}
return {
comparedExpression: operand.right,
comparedValue: getComparisonValueType(operand.left),
isYoda: true,
};
else {
return {
comparedExpression: operand.right,
comparedValue: getComparisonValueType(operand.left),
isYoda: true,
};
}
})();
if (comparedValue === "UndefinedStringLiteral" /* ComparisonValueType.UndefinedStringLiteral */) {
if (comparedExpression.type === utils_1.AST_NODE_TYPES.UnaryExpression &&
File diff suppressed because one or more lines are too long
@@ -161,13 +161,11 @@ exports.default = (0, util_1.createRule)({
/**
* Parse a given `RegExp` pattern to that string if it's a static string.
* @param pattern The RegExp pattern text to parse.
* @param unicode Whether the RegExp is unicode.
* @param uFlag The Unicode flag of the RegExp.
*/
function parseRegExpText(pattern, unicode) {
function parseRegExpText(pattern, uFlag) {
// Parse it.
const ast = regexpp.parsePattern(pattern, undefined, undefined, {
unicode,
});
const ast = regexpp.parsePattern(pattern, undefined, undefined, uFlag);
if (ast.alternatives.length !== 1) {
return null;
}
File diff suppressed because one or more lines are too long
+6 -4
View File
@@ -134,10 +134,12 @@ exports.default = util.createRule({
if (isHighPrecendence) {
return fixer.insertTextBefore(node, 'await ');
}
return [
fixer.insertTextBefore(node, 'await ('),
fixer.insertTextAfter(node, ')'),
];
else {
return [
fixer.insertTextBefore(node, 'await ('),
fixer.insertTextAfter(node, ')'),
];
}
}
function isHigherPrecedenceThanAwait(node) {
const operator = ts.isBinaryExpression(node)
File diff suppressed because one or more lines are too long
@@ -58,7 +58,9 @@ function getIdentifierRules(rules, node) {
else if ((0, util_1.isFunctionOrFunctionType)(scope)) {
return rules.parameter;
}
return rules.colon;
else {
return rules.colon;
}
}
function getRules(rules, node) {
const scope = node?.parent?.parent;
@@ -74,7 +76,9 @@ function getRules(rules, node) {
else if ((0, util_1.isFunction)(scope)) {
return rules.returnType;
}
return rules.colon;
else {
return rules.colon;
}
}
exports.default = util.createRule({
name: 'type-annotation-spacing',
File diff suppressed because one or more lines are too long
+6 -4
View File
@@ -129,10 +129,12 @@ function getNameFromMember(member, sourceCode) {
name: `"${name}"`,
};
}
return {
type: MemberNameType.Normal,
name,
};
else {
return {
type: MemberNameType.Normal,
name,
};
}
}
return {
type: MemberNameType.Expression,
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/util/misc.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/util/misc.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,7 @@ description: 'Disallow or enforce spaces inside of blocks after opening block an
>
> See **https://typescript-eslint.io/rules/block-spacing** for documentation.
## Examples
This rule extends the base [`eslint/block-spacing`](https://eslint.org/docs/rules/block-spacing) rule.
This version adds support for TypeScript related blocks (interfaces, object type literals and enums).
@@ -6,5 +6,7 @@ description: 'Enforce consistent brace style for blocks.'
>
> See **https://typescript-eslint.io/rules/brace-style** for documentation.
## Examples
This rule extends the base [`eslint/brace-style`](https://eslint.org/docs/rules/brace-style) rule.
It adds support for `enum`, `interface`, `namespace` and `module` declarations.
@@ -6,6 +6,8 @@ description: 'Enforce that class methods utilize `this`.'
>
> See **https://typescript-eslint.io/rules/class-methods-use-this** for documentation.
## Examples
This rule extends the base [`eslint/class-methods-use-this`](https://eslint.org/docs/rules/class-methods-use-this) rule.
It adds support for ignoring `override` methods or methods on classes that implement an interface.
@@ -6,6 +6,8 @@ description: 'Require or disallow trailing commas.'
>
> See **https://typescript-eslint.io/rules/comma-dangle** for documentation.
## Examples
This rule extends the base [`eslint/comma-dangle`](https://eslint.org/docs/rules/comma-dangle) rule.
It adds support for TypeScript syntax.
@@ -6,5 +6,7 @@ description: 'Enforce consistent spacing before and after commas.'
>
> See **https://typescript-eslint.io/rules/comma-spacing** for documentation.
## Examples
This rule extends the base [`eslint/comma-spacing`](https://eslint.org/docs/rules/comma-spacing) rule.
It adds support for trailing comma in a types parameters list.
@@ -6,6 +6,8 @@ description: 'Enforce default parameters to be last.'
>
> See **https://typescript-eslint.io/rules/default-param-last** for documentation.
## Examples
This rule extends the base [`eslint/default-param-last`](https://eslint.org/docs/rules/default-param-last) rule.
It adds support for optional parameters.
@@ -6,6 +6,8 @@ description: 'Enforce dot notation whenever possible.'
>
> See **https://typescript-eslint.io/rules/dot-notation** for documentation.
## Examples
This rule extends the base [`eslint/dot-notation`](https://eslint.org/docs/rules/dot-notation) rule.
It adds:
@@ -6,5 +6,7 @@ description: 'Require or disallow spacing between function identifiers and their
>
> See **https://typescript-eslint.io/rules/func-call-spacing** for documentation.
## Examples
This rule extends the base [`eslint/func-call-spacing`](https://eslint.org/docs/rules/func-call-spacing) rule.
It adds support for generic type parameters on function calls.
+2
View File
@@ -14,5 +14,7 @@ Please read [Issue #1824: Problems with the indent rule](https://github.com/type
:::
## Examples
This rule extends the base [`eslint/indent`](https://eslint.org/docs/rules/indent) rule.
It adds support for TypeScript nodes.
@@ -6,5 +6,7 @@ description: 'Require or disallow initialization in variable declarations.'
>
> See **https://typescript-eslint.io/rules/init-declarations** for documentation.
## Examples
This rule extends the base [`eslint/init-declarations`](https://eslint.org/docs/rules/init-declarations) rule.
It adds support for TypeScript's `declare` variables.
+3 -1
View File
@@ -6,5 +6,7 @@ description: 'Enforce consistent spacing between property names and type annotat
>
> See **https://typescript-eslint.io/rules/key-spacing** for documentation.
## Examples
This rule extends the base [`eslint/key-spacing`](https://eslint.org/docs/rules/key-spacing) rule.
It adds support for type annotations on interfaces, classes and type literals properties.
This version adds support for type annotations on interfaces, classes and type literals properties.
@@ -6,5 +6,7 @@ description: 'Enforce consistent spacing before and after keywords.'
>
> See **https://typescript-eslint.io/rules/keyword-spacing** for documentation.
## Examples
This rule extends the base [`eslint/keyword-spacing`](https://eslint.org/docs/rules/keyword-spacing) rule.
It adds support for generic type parameters on function calls.
This version adds support for generic type parameters on function calls.
@@ -6,6 +6,8 @@ description: 'Require empty lines around comments.'
>
> See **https://typescript-eslint.io/rules/lines-around-comment** for documentation.
## Rule Details
This rule extends the base [`eslint/lines-around-comment`](https://eslint.org/docs/rules/lines-around-comment) rule.
It adds support for TypeScript syntax.
@@ -6,6 +6,10 @@ description: 'Require or disallow an empty line between class members.'
>
> See **https://typescript-eslint.io/rules/lines-between-class-members** for documentation.
This rule improves readability by enforcing lines between class members. It will not check empty lines before the first member and after the last member. This rule will require or disallow an empty line between class members.
## Examples
This rule extends the base [`eslint/lines-between-class-members`](https://eslint.org/docs/rules/lines-between-class-members) rule.
It adds support for ignoring overload methods in a class.
@@ -6,6 +6,8 @@ description: 'Disallow generic `Array` constructors.'
>
> See **https://typescript-eslint.io/rules/no-array-constructor** for documentation.
## Examples
This rule extends the base [`eslint/no-array-constructor`](https://eslint.org/docs/rules/no-array-constructor) rule.
It adds support for the generically typed `Array` constructor (`new Array<Foo>()`).
@@ -6,5 +6,7 @@ description: 'Disallow duplicate class members.'
>
> See **https://typescript-eslint.io/rules/no-dupe-class-members** for documentation.
## Examples
This rule extends the base [`eslint/no-dupe-class-members`](https://eslint.org/docs/rules/no-dupe-class-members) rule.
It adds support for TypeScript's method overload definitions.
@@ -10,6 +10,8 @@ TypeScript supports types ("constituents") within union and intersection types b
However, developers typically expect each constituent to be unique within its intersection or union.
Duplicate values make the code overly verbose and generally reduce readability.
## Rule Details
This rule disallows duplicate union or intersection constituents.
We consider types to be duplicate if they evaluate to the same result in the type system.
For example, given `type A = string` and `type T = string | A`, this rule would flag that `A` is the same type as `string`.
@@ -6,6 +6,8 @@ description: 'Disallow empty functions.'
>
> See **https://typescript-eslint.io/rules/no-empty-function** for documentation.
## Examples
This rule extends the base [`eslint/no-empty-function`](https://eslint.org/docs/rules/no-empty-function) rule.
It adds support for handling TypeScript specific code that would otherwise trigger the rule.
@@ -6,5 +6,7 @@ description: 'Disallow unnecessary parentheses.'
>
> See **https://typescript-eslint.io/rules/no-extra-parens** for documentation.
## Examples
This rule extends the base [`eslint/no-extra-parens`](https://eslint.org/docs/rules/no-extra-parens) rule.
It adds support for TypeScript type assertions.
@@ -6,5 +6,7 @@ description: 'Disallow unnecessary semicolons.'
>
> See **https://typescript-eslint.io/rules/no-extra-semi** for documentation.
## Examples
This rule extends the base [`eslint/no-extra-semi`](https://eslint.org/docs/rules/no-extra-semi) rule.
It adds support for class properties.
@@ -58,7 +58,7 @@ returnsPromise().then(
Promise.reject('value').catch(() => {});
await Promise.reject('value').finally(() => {});
Promise.reject('value').finally(() => {});
```
## Options
@@ -6,5 +6,7 @@ description: 'Disallow `this` keywords outside of classes or class-like objects.
>
> See **https://typescript-eslint.io/rules/no-invalid-this** for documentation.
## Examples
This rule extends the base [`eslint/no-invalid-this`](https://eslint.org/docs/rules/no-invalid-this) rule.
It adds support for TypeScript's `this` parameters.
@@ -6,5 +6,7 @@ description: 'Disallow function declarations that contain unsafe references insi
>
> See **https://typescript-eslint.io/rules/no-loop-func** for documentation.
## Examples
This rule extends the base [`eslint/no-loop-func`](https://eslint.org/docs/rules/no-loop-func) rule.
It adds support for TypeScript types.
@@ -6,5 +6,7 @@ description: 'Disallow literal numbers that lose precision.'
>
> See **https://typescript-eslint.io/rules/no-loss-of-precision** for documentation.
## Examples
This rule extends the base [`eslint/no-loss-of-precision`](https://eslint.org/docs/rules/no-loss-of-precision) rule.
It adds support for [numeric separators](https://github.com/tc39/proposal-numeric-separator).
@@ -6,6 +6,8 @@ description: 'Disallow magic numbers.'
>
> See **https://typescript-eslint.io/rules/no-magic-numbers** for documentation.
## Examples
This rule extends the base [`eslint/no-magic-numbers`](https://eslint.org/docs/rules/no-magic-numbers) rule.
It adds support for:
@@ -6,6 +6,8 @@ description: 'Disallow variable redeclaration.'
>
> See **https://typescript-eslint.io/rules/no-redeclare** for documentation.
## Examples
This rule extends the base [`eslint/no-redeclare`](https://eslint.org/docs/rules/no-redeclare) rule.
It adds support for TypeScript function overloads, and declaration merging.

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