mirror of
https://github.com/github/codeql-action.git
synced 2025-12-24 00:00:20 +08:00
Compare commits
49 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
883d8588e5 | ||
|
|
e100cebbec | ||
|
|
b187c86ce5 | ||
|
|
e2bb5a2777 | ||
|
|
e5a65875f9 | ||
|
|
5c681efc3f | ||
|
|
676519a882 | ||
|
|
25a5b8f08c | ||
|
|
429e197704 | ||
|
|
9eec338902 | ||
|
|
a93f8c2fd1 | ||
|
|
af1f2e89e3 | ||
|
|
2bc3b8381e | ||
|
|
dd9700c166 | ||
|
|
ece28a826b | ||
|
|
29d86d22a3 | ||
|
|
5b15b9edeb | ||
|
|
18ac79e766 | ||
|
|
0d5982aa33 | ||
|
|
da9ecb0f40 | ||
|
|
c4c3c4421f | ||
|
|
41833c77c6 | ||
|
|
d620faa0b4 | ||
|
|
25ad3c8e40 | ||
|
|
44ecae4896 | ||
|
|
50357f5d12 | ||
|
|
5d9950fd02 | ||
|
|
18c419ea04 | ||
|
|
def1e359d7 | ||
|
|
6ef274e152 | ||
|
|
5c02493ebf | ||
|
|
a8ab493c76 | ||
|
|
3ec2588ed0 | ||
|
|
c056c182c0 | ||
|
|
50d1f406e9 | ||
|
|
ecf465891a | ||
|
|
1c5b392677 | ||
|
|
7c2bec0cc3 | ||
|
|
0f24d46599 | ||
|
|
e6c9383ca6 | ||
|
|
ba3ac6f096 | ||
|
|
7be3a64c02 | ||
|
|
19a1da54d1 | ||
|
|
b7b85bb26f | ||
|
|
7ff117d65d | ||
|
|
060c11b07f | ||
|
|
9f7e0af9f6 | ||
|
|
25d25968e6 | ||
|
|
a6c4760357 |
1
.github/workflows/__submit-sarif-failure.yml
generated
vendored
1
.github/workflows/__submit-sarif-failure.yml
generated
vendored
@@ -63,6 +63,7 @@ jobs:
|
|||||||
- uses: ./init
|
- uses: ./init
|
||||||
with:
|
with:
|
||||||
languages: javascript
|
languages: javascript
|
||||||
|
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||||
- name: Fail
|
- name: Fail
|
||||||
# We want this job to pass if the Action correctly uploads the SARIF file for
|
# We want this job to pass if the Action correctly uploads the SARIF file for
|
||||||
# the failed run.
|
# the failed run.
|
||||||
|
|||||||
@@ -28,8 +28,7 @@ fi
|
|||||||
echo "Getting checks for $GITHUB_SHA"
|
echo "Getting checks for $GITHUB_SHA"
|
||||||
|
|
||||||
# Ignore any checks with "https://", CodeQL, LGTM, and Update checks.
|
# Ignore any checks with "https://", CodeQL, LGTM, and Update checks.
|
||||||
# Also ignore the non-matrixed "Unit Tests" job that only runs on pushes to protected branches.
|
CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs.[] | select(.conclusion != "skipped") | .name | select(contains("https://") or . == "CodeQL" or . == "Dependabot" or . == "check-expected-release-files" or contains("Update") or contains("update") or contains("test-setup-python-scripts") | not)] | unique | sort')"
|
||||||
CHECKS="$(gh api repos/github/codeql-action/commits/"${GITHUB_SHA}"/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs | .[].name | select(contains("https://") or . == "CodeQL" or . == "Dependabot" or . == "check-expected-release-files" or . == "Unit Tests" or contains("Update") or contains("update") or contains("test-setup-python-scripts") | not)] | unique | sort')"
|
|
||||||
|
|
||||||
echo "$CHECKS" | jq
|
echo "$CHECKS" | jq
|
||||||
|
|
||||||
|
|||||||
12
CHANGELOG.md
12
CHANGELOG.md
@@ -4,6 +4,18 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
|
|||||||
|
|
||||||
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
|
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
|
||||||
|
|
||||||
|
## 3.26.3 - 19 Aug 2024
|
||||||
|
|
||||||
|
- Fix an issue where the CodeQL Action could not write diagnostic messages on Windows. This issue did not impact analysis quality. [#2430](https://github.com/github/codeql-action/pull/2430)
|
||||||
|
|
||||||
|
## 3.26.2 - 14 Aug 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.18.2. [#2417](https://github.com/github/codeql-action/pull/2417)
|
||||||
|
|
||||||
|
## 3.26.1 - 13 Aug 2024
|
||||||
|
|
||||||
|
No user facing changes.
|
||||||
|
|
||||||
## 3.26.0 - 06 Aug 2024
|
## 3.26.0 - 06 Aug 2024
|
||||||
|
|
||||||
- _Deprecation:_ Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you. [#2403](https://github.com/github/codeql-action/pull/2403)
|
- _Deprecation:_ Swift analysis on Ubuntu runner images is no longer supported. Please migrate to a macOS runner if this affects you. [#2403](https://github.com/github/codeql-action/pull/2403)
|
||||||
|
|||||||
15
README.md
15
README.md
@@ -33,17 +33,18 @@ To provide the best experience to customers using older versions of GitHub Enter
|
|||||||
|
|
||||||
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)."
|
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)."
|
||||||
|
|
||||||
## Supported versions of the CodeQL CLI and GitHub Enterprise Server
|
## Supported versions of the CodeQL Bundle and GitHub Enterprise Server
|
||||||
|
|
||||||
We typically release new minor versions of the CodeQL Action and CLI when a new minor version of GitHub Enterprise Server (GHES) is released. When a version of GHES is deprecated, the CodeQL Action and CLI releases that shipped with it are deprecated as well.
|
We typically release new minor versions of the CodeQL Action and Bundle when a new minor version of GitHub Enterprise Server (GHES) is released. When a version of GHES is deprecated, the CodeQL Action and Bundle releases that shipped with it are deprecated as well.
|
||||||
|
|
||||||
| Recommended CodeQL Action | Recommended CodeQL CLI Version | GitHub Environment |
|
| Recommended CodeQL Action | Recommended CodeQL Bundle Version | GitHub Environment |
|
||||||
|---------|----------|--------------|
|
|---------|----------|--------------|
|
||||||
| `v3` | default (do not pass a `tools` input) | GitHub.com |
|
| `v3` | default (do not pass a `tools` input) | GitHub.com |
|
||||||
| `v3.24.11` | `v2.16.6` | Enterprise Server 3.13 |
|
| `v3.25.11` | `2.17.6` | Enterprise Server 3.14 |
|
||||||
| `3.22.12` | `2.15.5` | Enterprise Server 3.12 |
|
| `v3.24.11` | `2.16.6` | Enterprise Server 3.13 |
|
||||||
| `2.22.1` | `2.14.6` | Enterprise Server 3.11 |
|
| `v3.22.12` | `2.15.5` | Enterprise Server 3.12 |
|
||||||
| `2.20.3` | `2.13.5` | Enterprise Server 3.10 |
|
| `v2.22.1` | `2.14.6` | Enterprise Server 3.11 |
|
||||||
|
| `v2.20.3` | `2.13.5` | Enterprise Server 3.10 |
|
||||||
|
|
||||||
CodeQL Action `v2` will stop receiving updates when GHES 3.11 is deprecated.
|
CodeQL Action `v2` will stop receiving updates when GHES 3.11 is deprecated.
|
||||||
|
|
||||||
|
|||||||
9
lib/codeql.js
generated
9
lib/codeql.js
generated
@@ -120,7 +120,7 @@ const CODEQL_VERSION_INCLUDE_QUERY_HELP = "2.15.2";
|
|||||||
*/
|
*/
|
||||||
async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger, checkVersion) {
|
async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger, checkVersion) {
|
||||||
try {
|
try {
|
||||||
const { codeqlFolder, toolsDownloadDurationMs, toolsSource, toolsVersion } = await setupCodeql.setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger);
|
const { codeqlFolder, toolsDownloadStatusReport, toolsSource, toolsVersion, } = await setupCodeql.setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger);
|
||||||
let codeqlCmd = path.join(codeqlFolder, "codeql", "codeql");
|
let codeqlCmd = path.join(codeqlFolder, "codeql", "codeql");
|
||||||
if (process.platform === "win32") {
|
if (process.platform === "win32") {
|
||||||
codeqlCmd += ".exe";
|
codeqlCmd += ".exe";
|
||||||
@@ -131,7 +131,7 @@ async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliV
|
|||||||
cachedCodeQL = await getCodeQLForCmd(codeqlCmd, checkVersion);
|
cachedCodeQL = await getCodeQLForCmd(codeqlCmd, checkVersion);
|
||||||
return {
|
return {
|
||||||
codeql: cachedCodeQL,
|
codeql: cachedCodeQL,
|
||||||
toolsDownloadDurationMs,
|
toolsDownloadStatusReport,
|
||||||
toolsSource,
|
toolsSource,
|
||||||
toolsVersion,
|
toolsVersion,
|
||||||
};
|
};
|
||||||
@@ -788,7 +788,7 @@ async function runTool(cmd, args = [], opts = {}) {
|
|||||||
async function generateCodeScanningConfig(config, logger) {
|
async function generateCodeScanningConfig(config, logger) {
|
||||||
const codeScanningConfigFile = getGeneratedCodeScanningConfigPath(config);
|
const codeScanningConfigFile = getGeneratedCodeScanningConfigPath(config);
|
||||||
// make a copy so we can modify it
|
// make a copy so we can modify it
|
||||||
const augmentedConfig = cloneObject(config.originalUserInput);
|
const augmentedConfig = (0, util_1.cloneObject)(config.originalUserInput);
|
||||||
// Inject the queries from the input
|
// Inject the queries from the input
|
||||||
if (config.augmentationProperties.queriesInput) {
|
if (config.augmentationProperties.queriesInput) {
|
||||||
if (config.augmentationProperties.queriesInputCombines) {
|
if (config.augmentationProperties.queriesInputCombines) {
|
||||||
@@ -832,9 +832,6 @@ async function generateCodeScanningConfig(config, logger) {
|
|||||||
fs.writeFileSync(codeScanningConfigFile, yaml.dump(augmentedConfig));
|
fs.writeFileSync(codeScanningConfigFile, yaml.dump(augmentedConfig));
|
||||||
return codeScanningConfigFile;
|
return codeScanningConfigFile;
|
||||||
}
|
}
|
||||||
function cloneObject(obj) {
|
|
||||||
return JSON.parse(JSON.stringify(obj));
|
|
||||||
}
|
|
||||||
// This constant sets the size of each TRAP cache in megabytes.
|
// This constant sets the size of each TRAP cache in megabytes.
|
||||||
const TRAP_CACHE_SIZE_MB = 1024;
|
const TRAP_CACHE_SIZE_MB = 1024;
|
||||||
async function getTrapCachingExtractorConfigArgs(config) {
|
async function getTrapCachingExtractorConfigArgs(config) {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
18
lib/codeql.test.js
generated
18
lib/codeql.test.js
generated
@@ -101,7 +101,7 @@ function mockApiDetails(apiDetails) {
|
|||||||
t.assert(toolcache.find("CodeQL", `0.0.0-${version}`));
|
t.assert(toolcache.find("CodeQL", `0.0.0-${version}`));
|
||||||
t.is(result.toolsVersion, `0.0.0-${version}`);
|
t.is(result.toolsVersion, `0.0.0-${version}`);
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
||||||
t.assert(Number.isInteger(result.toolsDownloadDurationMs));
|
t.assert(Number.isInteger(result.toolsDownloadStatusReport?.downloadDurationMs));
|
||||||
}
|
}
|
||||||
t.is(toolcache.findAllVersions("CodeQL").length, 2);
|
t.is(toolcache.findAllVersions("CodeQL").length, 2);
|
||||||
});
|
});
|
||||||
@@ -118,7 +118,7 @@ function mockApiDetails(apiDetails) {
|
|||||||
t.assert(toolcache.find("CodeQL", `2.14.0`));
|
t.assert(toolcache.find("CodeQL", `2.14.0`));
|
||||||
t.is(result.toolsVersion, `2.14.0`);
|
t.is(result.toolsVersion, `2.14.0`);
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
||||||
t.assert(Number.isInteger(result.toolsDownloadDurationMs));
|
t.assert(Number.isInteger(result.toolsDownloadStatusReport?.downloadDurationMs));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("downloads an explicitly requested bundle even if a different version is cached", async (t) => {
|
(0, ava_1.default)("downloads an explicitly requested bundle even if a different version is cached", async (t) => {
|
||||||
@@ -136,7 +136,7 @@ function mockApiDetails(apiDetails) {
|
|||||||
t.assert(toolcache.find("CodeQL", "0.0.0-20200610"));
|
t.assert(toolcache.find("CodeQL", "0.0.0-20200610"));
|
||||||
t.deepEqual(result.toolsVersion, "0.0.0-20200610");
|
t.deepEqual(result.toolsVersion, "0.0.0-20200610");
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
||||||
t.assert(Number.isInteger(result.toolsDownloadDurationMs));
|
t.assert(Number.isInteger(result.toolsDownloadStatusReport?.downloadDurationMs));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
const EXPLICITLY_REQUESTED_BUNDLE_TEST_CASES = [
|
const EXPLICITLY_REQUESTED_BUNDLE_TEST_CASES = [
|
||||||
@@ -162,7 +162,7 @@ for (const { tagName, expectedToolcacheVersion, } of EXPLICITLY_REQUESTED_BUNDLE
|
|||||||
t.assert(toolcache.find("CodeQL", expectedToolcacheVersion));
|
t.assert(toolcache.find("CodeQL", expectedToolcacheVersion));
|
||||||
t.deepEqual(result.toolsVersion, expectedToolcacheVersion);
|
t.deepEqual(result.toolsVersion, expectedToolcacheVersion);
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
||||||
t.assert(Number.isInteger(result.toolsDownloadDurationMs));
|
t.assert(Number.isInteger(result.toolsDownloadStatusReport?.downloadDurationMs));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -184,7 +184,7 @@ for (const toolcacheVersion of [
|
|||||||
const result = await codeql.setupCodeQL(undefined, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), false);
|
const result = await codeql.setupCodeQL(undefined, testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), false);
|
||||||
t.is(result.toolsVersion, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION.cliVersion);
|
t.is(result.toolsVersion, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION.cliVersion);
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Toolcache);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Toolcache);
|
||||||
t.is(result.toolsDownloadDurationMs, undefined);
|
t.is(result.toolsDownloadStatusReport?.downloadDurationMs, undefined);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -202,7 +202,7 @@ for (const toolcacheVersion of [
|
|||||||
}, (0, logging_1.getRunnerLogger)(true), false);
|
}, (0, logging_1.getRunnerLogger)(true), false);
|
||||||
t.deepEqual(result.toolsVersion, "0.0.0-20200601");
|
t.deepEqual(result.toolsVersion, "0.0.0-20200601");
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Toolcache);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Toolcache);
|
||||||
t.is(result.toolsDownloadDurationMs, undefined);
|
t.is(result.toolsDownloadStatusReport?.downloadDurationMs, undefined);
|
||||||
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
||||||
t.is(cachedVersions.length, 1);
|
t.is(cachedVersions.length, 1);
|
||||||
});
|
});
|
||||||
@@ -224,7 +224,7 @@ for (const toolcacheVersion of [
|
|||||||
}, (0, logging_1.getRunnerLogger)(true), false);
|
}, (0, logging_1.getRunnerLogger)(true), false);
|
||||||
t.deepEqual(result.toolsVersion, defaults.cliVersion);
|
t.deepEqual(result.toolsVersion, defaults.cliVersion);
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
||||||
t.assert(Number.isInteger(result.toolsDownloadDurationMs));
|
t.assert(Number.isInteger(result.toolsDownloadStatusReport?.downloadDurationMs));
|
||||||
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
||||||
t.is(cachedVersions.length, 2);
|
t.is(cachedVersions.length, 2);
|
||||||
});
|
});
|
||||||
@@ -243,7 +243,7 @@ for (const toolcacheVersion of [
|
|||||||
const result = await codeql.setupCodeQL("latest", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), false);
|
const result = await codeql.setupCodeQL("latest", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), false);
|
||||||
t.deepEqual(result.toolsVersion, defaults.cliVersion);
|
t.deepEqual(result.toolsVersion, defaults.cliVersion);
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
||||||
t.assert(Number.isInteger(result.toolsDownloadDurationMs));
|
t.assert(Number.isInteger(result.toolsDownloadStatusReport?.downloadDurationMs));
|
||||||
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
||||||
t.is(cachedVersions.length, 2);
|
t.is(cachedVersions.length, 2);
|
||||||
});
|
});
|
||||||
@@ -265,7 +265,7 @@ for (const toolcacheVersion of [
|
|||||||
const result = await codeql.setupCodeQL("https://github.com/codeql-testing/codeql-cli-nightlies/releases/download/codeql-bundle-20230203/codeql-bundle.tar.gz", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), false);
|
const result = await codeql.setupCodeQL("https://github.com/codeql-testing/codeql-cli-nightlies/releases/download/codeql-bundle-20230203/codeql-bundle.tar.gz", testing_utils_1.SAMPLE_DOTCOM_API_DETAILS, tmpDir, util.GitHubVariant.DOTCOM, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION, (0, logging_1.getRunnerLogger)(true), false);
|
||||||
t.is(result.toolsVersion, "0.0.0-20230203");
|
t.is(result.toolsVersion, "0.0.0-20230203");
|
||||||
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
t.is(result.toolsSource, setup_codeql_1.ToolsSource.Download);
|
||||||
t.true(Number.isInteger(result.toolsDownloadDurationMs));
|
t.true(Number.isInteger(result.toolsDownloadStatusReport?.downloadDurationMs));
|
||||||
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
const cachedVersions = toolcache.findAllVersions("CodeQL");
|
||||||
t.is(cachedVersions.length, 1);
|
t.is(cachedVersions.length, 1);
|
||||||
t.is(cachedVersions[0], "0.0.0-20230203");
|
t.is(cachedVersions[0], "0.0.0-20230203");
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
7
lib/config-utils.js
generated
7
lib/config-utils.js
generated
@@ -42,6 +42,7 @@ exports.parsePacksFromInput = parsePacksFromInput;
|
|||||||
exports.parsePacksSpecification = parsePacksSpecification;
|
exports.parsePacksSpecification = parsePacksSpecification;
|
||||||
exports.validatePackSpecification = validatePackSpecification;
|
exports.validatePackSpecification = validatePackSpecification;
|
||||||
exports.initConfig = initConfig;
|
exports.initConfig = initConfig;
|
||||||
|
exports.parseRegistriesWithoutCredentials = parseRegistriesWithoutCredentials;
|
||||||
exports.getPathToParsedConfigFile = getPathToParsedConfigFile;
|
exports.getPathToParsedConfigFile = getPathToParsedConfigFile;
|
||||||
exports.getConfig = getConfig;
|
exports.getConfig = getConfig;
|
||||||
exports.generateRegistries = generateRegistries;
|
exports.generateRegistries = generateRegistries;
|
||||||
@@ -507,6 +508,12 @@ function parseRegistries(registriesInput) {
|
|||||||
throw new util_1.ConfigurationError("Invalid registries input. Must be a YAML string.");
|
throw new util_1.ConfigurationError("Invalid registries input. Must be a YAML string.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function parseRegistriesWithoutCredentials(registriesInput) {
|
||||||
|
return parseRegistries(registriesInput)?.map((r) => {
|
||||||
|
const { url, packages } = r;
|
||||||
|
return { url, packages };
|
||||||
|
});
|
||||||
|
}
|
||||||
function isLocal(configPath) {
|
function isLocal(configPath) {
|
||||||
// If the path starts with ./, look locally
|
// If the path starts with ./, look locally
|
||||||
if (configPath.indexOf("./") === 0) {
|
if (configPath.indexOf("./") === 0) {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-v2.18.1",
|
"bundleVersion": "codeql-bundle-v2.18.2",
|
||||||
"cliVersion": "2.18.1",
|
"cliVersion": "2.18.2",
|
||||||
"priorBundleVersion": "codeql-bundle-v2.18.0",
|
"priorBundleVersion": "codeql-bundle-v2.18.1",
|
||||||
"priorCliVersion": "2.18.0"
|
"priorCliVersion": "2.18.1"
|
||||||
}
|
}
|
||||||
|
|||||||
13
lib/diagnostics.js
generated
13
lib/diagnostics.js
generated
@@ -38,7 +38,9 @@ function makeDiagnostic(id, name, data = undefined) {
|
|||||||
*/
|
*/
|
||||||
function addDiagnostic(config, language, diagnostic) {
|
function addDiagnostic(config, language, diagnostic) {
|
||||||
const logger = (0, logging_1.getActionsLogger)();
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
const databasePath = (0, util_1.getCodeQLDatabasePath)(config, language);
|
const databasePath = language
|
||||||
|
? (0, util_1.getCodeQLDatabasePath)(config, language)
|
||||||
|
: config.dbLocation;
|
||||||
// Check that the database exists before writing to it. If the database does not yet exist,
|
// Check that the database exists before writing to it. If the database does not yet exist,
|
||||||
// store the diagnostic in memory and write it later.
|
// store the diagnostic in memory and write it later.
|
||||||
if ((0, fs_1.existsSync)(databasePath)) {
|
if ((0, fs_1.existsSync)(databasePath)) {
|
||||||
@@ -58,11 +60,16 @@ function addDiagnostic(config, language, diagnostic) {
|
|||||||
*/
|
*/
|
||||||
function writeDiagnostic(config, language, diagnostic) {
|
function writeDiagnostic(config, language, diagnostic) {
|
||||||
const logger = (0, logging_1.getActionsLogger)();
|
const logger = (0, logging_1.getActionsLogger)();
|
||||||
const diagnosticsPath = path_1.default.resolve((0, util_1.getCodeQLDatabasePath)(config, language), "diagnostic", "codeql-action");
|
const databasePath = language
|
||||||
|
? (0, util_1.getCodeQLDatabasePath)(config, language)
|
||||||
|
: config.dbLocation;
|
||||||
|
const diagnosticsPath = path_1.default.resolve(databasePath, "diagnostic", "codeql-action");
|
||||||
try {
|
try {
|
||||||
// Create the directory if it doesn't exist yet.
|
// Create the directory if it doesn't exist yet.
|
||||||
(0, fs_1.mkdirSync)(diagnosticsPath, { recursive: true });
|
(0, fs_1.mkdirSync)(diagnosticsPath, { recursive: true });
|
||||||
const jsonPath = path_1.default.resolve(diagnosticsPath, `codeql-action-${diagnostic.timestamp}.json`);
|
const jsonPath = path_1.default.resolve(diagnosticsPath,
|
||||||
|
// Remove colons from the timestamp as these are not allowed in Windows filenames.
|
||||||
|
`codeql-action-${diagnostic.timestamp.replaceAll(":", "")}.json`);
|
||||||
(0, fs_1.writeFileSync)(jsonPath, JSON.stringify(diagnostic));
|
(0, fs_1.writeFileSync)(jsonPath, JSON.stringify(diagnostic));
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":";;;;;AA4EA,wCAUC;AAUD,sCAmBC;AAsCD,0DAYC;AAGD,4CAYC;AApLD,2BAA0D;AAC1D,gDAAwB;AAIxB,uCAA6C;AAC7C,iCAA+C;AA2D/C,qEAAqE;AACrE,IAAI,oBAAoB,GAA0B,EAAE,CAAC;AAErD;;;;;;;GAOG;AACH,SAAgB,cAAc,CAC5B,EAAU,EACV,IAAY,EACZ,OAA+C,SAAS;IAExD,OAAO;QACL,GAAG,IAAI;QACP,SAAS,EAAE,IAAI,EAAE,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtD,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE;KACtC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,aAAa,CAC3B,MAAc,EACd,QAAkB,EAClB,UAA6B;IAE7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,YAAY,GAAG,IAAA,4BAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE7D,2FAA2F;IAC3F,qDAAqD;IACrD,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CACV,4BAA4B,QAAQ,yBAAyB,YAAY,sBAAsB,CAChG,CAAC;QAEF,oBAAoB,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,MAAc,EACd,QAAkB,EAClB,UAA6B;IAE7B,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,eAAe,GAAG,cAAI,CAAC,OAAO,CAClC,IAAA,4BAAqB,EAAC,MAAM,EAAE,QAAQ,CAAC,EACvC,YAAY,EACZ,eAAe,CAChB,CAAC;IAEF,IAAI,CAAC;QACH,gDAAgD;QAChD,IAAA,cAAS,EAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAC3B,eAAe,EACf,iBAAiB,UAAU,CAAC,SAAS,OAAO,CAC7C,CAAC;QAEF,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,OAAO,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,SAAgB,uBAAuB;IACrC,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,GAAG,GAAG,oBAAoB,CAAC,MAAM,CAAC;IACxC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,CACZ,GAAG,GAAG,kGAAkG,CACzG,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;YAC7C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,MAAM,MAAM,GAAG,IAAA,0BAAgB,GAAE,CAAC;IAClC,MAAM,CAAC,KAAK,CACV,WAAW,oBAAoB,CAAC,MAAM,6BAA6B,CACpE,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,oBAAoB,EAAE,CAAC;QAC7C,eAAe,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,yCAAyC;IACzC,oBAAoB,GAAG,EAAE,CAAC;AAC5B,CAAC"}
|
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
||||||
54
lib/init-action.js
generated
54
lib/init-action.js
generated
@@ -30,6 +30,7 @@ const safe_which_1 = require("@chrisgavin/safe-which");
|
|||||||
const uuid_1 = require("uuid");
|
const uuid_1 = require("uuid");
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
const api_client_1 = require("./api-client");
|
const api_client_1 = require("./api-client");
|
||||||
|
const configUtils = __importStar(require("./config-utils"));
|
||||||
const diagnostics_1 = require("./diagnostics");
|
const diagnostics_1 = require("./diagnostics");
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
@@ -43,7 +44,7 @@ const tools_features_1 = require("./tools-features");
|
|||||||
const trap_caching_1 = require("./trap-caching");
|
const trap_caching_1 = require("./trap-caching");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
const workflow_1 = require("./workflow");
|
const workflow_1 = require("./workflow");
|
||||||
async function sendCompletedStatusReport(startedAt, config, toolsDownloadDurationMs, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger, error) {
|
async function sendCompletedStatusReport(startedAt, config, toolsDownloadStatusReport, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger, error) {
|
||||||
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Init, (0, status_report_1.getActionsStatus)(error), startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger, error?.message, error?.stack);
|
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Init, (0, status_report_1.getActionsStatus)(error), startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger, error?.message, error?.stack);
|
||||||
if (statusReportBase === undefined) {
|
if (statusReportBase === undefined) {
|
||||||
return;
|
return;
|
||||||
@@ -57,9 +58,9 @@ async function sendCompletedStatusReport(startedAt, config, toolsDownloadDuratio
|
|||||||
workflow_languages: workflowLanguages || "",
|
workflow_languages: workflowLanguages || "",
|
||||||
};
|
};
|
||||||
const initToolsDownloadFields = {};
|
const initToolsDownloadFields = {};
|
||||||
if (toolsDownloadDurationMs !== undefined) {
|
if (toolsDownloadStatusReport !== undefined) {
|
||||||
initToolsDownloadFields.tools_download_duration_ms =
|
initToolsDownloadFields.tools_download_duration_ms =
|
||||||
toolsDownloadDurationMs;
|
toolsDownloadStatusReport.downloadDurationMs;
|
||||||
}
|
}
|
||||||
if (toolsFeatureFlagsValid !== undefined) {
|
if (toolsFeatureFlagsValid !== undefined) {
|
||||||
initToolsDownloadFields.tools_feature_flags_valid = toolsFeatureFlagsValid;
|
initToolsDownloadFields.tools_feature_flags_valid = toolsFeatureFlagsValid;
|
||||||
@@ -82,6 +83,24 @@ async function sendCompletedStatusReport(startedAt, config, toolsDownloadDuratio
|
|||||||
: queriesInput;
|
: queriesInput;
|
||||||
queries.push(...queriesInput.split(","));
|
queries.push(...queriesInput.split(","));
|
||||||
}
|
}
|
||||||
|
let packs = {};
|
||||||
|
if ((config.augmentationProperties.packsInputCombines ||
|
||||||
|
!config.augmentationProperties.packsInput) &&
|
||||||
|
config.originalUserInput.packs) {
|
||||||
|
// Make a copy, because we might modify `packs`.
|
||||||
|
const copyPacksFromOriginalUserInput = (0, util_1.cloneObject)(config.originalUserInput.packs);
|
||||||
|
// If it is an array, then assume there is only a single language being analyzed.
|
||||||
|
if (Array.isArray(copyPacksFromOriginalUserInput)) {
|
||||||
|
packs[config.languages[0]] = copyPacksFromOriginalUserInput;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
packs = copyPacksFromOriginalUserInput;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (config.augmentationProperties.packsInput) {
|
||||||
|
packs[config.languages[0]] ??= [];
|
||||||
|
packs[config.languages[0]].push(...config.augmentationProperties.packsInput);
|
||||||
|
}
|
||||||
// Append fields that are dependent on `config`
|
// Append fields that are dependent on `config`
|
||||||
const initWithConfigStatusReport = {
|
const initWithConfigStatusReport = {
|
||||||
...initStatusReport,
|
...initStatusReport,
|
||||||
@@ -89,9 +108,12 @@ async function sendCompletedStatusReport(startedAt, config, toolsDownloadDuratio
|
|||||||
paths,
|
paths,
|
||||||
paths_ignore: pathsIgnore,
|
paths_ignore: pathsIgnore,
|
||||||
queries: queries.join(","),
|
queries: queries.join(","),
|
||||||
|
packs: JSON.stringify(packs),
|
||||||
trap_cache_languages: Object.keys(config.trapCaches).join(","),
|
trap_cache_languages: Object.keys(config.trapCaches).join(","),
|
||||||
trap_cache_download_size_bytes: Math.round(await (0, trap_caching_1.getTotalCacheSize)(config.trapCaches, logger)),
|
trap_cache_download_size_bytes: Math.round(await (0, trap_caching_1.getTotalCacheSize)(config.trapCaches, logger)),
|
||||||
trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
|
trap_cache_download_duration_ms: Math.round(config.trapCacheDownloadTime),
|
||||||
|
query_filters: JSON.stringify(config.originalUserInput["query-filters"] ?? []),
|
||||||
|
registries: JSON.stringify(configUtils.parseRegistriesWithoutCredentials((0, actions_util_1.getOptionalInput)("registries")) ?? []),
|
||||||
};
|
};
|
||||||
await (0, status_report_1.sendStatusReport)({
|
await (0, status_report_1.sendStatusReport)({
|
||||||
...initWithConfigStatusReport,
|
...initWithConfigStatusReport,
|
||||||
@@ -108,7 +130,7 @@ async function run() {
|
|||||||
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
|
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
|
||||||
let config;
|
let config;
|
||||||
let codeql;
|
let codeql;
|
||||||
let toolsDownloadDurationMs;
|
let toolsDownloadStatusReport;
|
||||||
let toolsFeatureFlagsValid;
|
let toolsFeatureFlagsValid;
|
||||||
let toolsSource;
|
let toolsSource;
|
||||||
let toolsVersion;
|
let toolsVersion;
|
||||||
@@ -123,7 +145,9 @@ async function run() {
|
|||||||
(0, util_1.checkActionVersion)((0, actions_util_1.getActionVersion)(), gitHubVersion);
|
(0, util_1.checkActionVersion)((0, actions_util_1.getActionVersion)(), gitHubVersion);
|
||||||
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
||||||
const features = new feature_flags_1.Features(gitHubVersion, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), logger);
|
const features = new feature_flags_1.Features(gitHubVersion, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), logger);
|
||||||
core.exportVariable(environment_1.EnvVar.JOB_RUN_UUID, (0, uuid_1.v4)());
|
const jobRunUuid = (0, uuid_1.v4)();
|
||||||
|
logger.info(`Job run UUID is ${jobRunUuid}.`);
|
||||||
|
core.exportVariable(environment_1.EnvVar.JOB_RUN_UUID, jobRunUuid);
|
||||||
core.exportVariable(environment_1.EnvVar.INIT_ACTION_HAS_RUN, "true");
|
core.exportVariable(environment_1.EnvVar.INIT_ACTION_HAS_RUN, "true");
|
||||||
try {
|
try {
|
||||||
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Init, "starting", startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger);
|
const statusReportBase = await (0, status_report_1.createStatusReportBase)(status_report_1.ActionName.Init, "starting", startedAt, config, await (0, util_1.checkDiskUsage)(logger), logger);
|
||||||
@@ -134,7 +158,7 @@ async function run() {
|
|||||||
toolsFeatureFlagsValid = codeQLDefaultVersionInfo.toolsFeatureFlagsValid;
|
toolsFeatureFlagsValid = codeQLDefaultVersionInfo.toolsFeatureFlagsValid;
|
||||||
const initCodeQLResult = await (0, init_1.initCodeQL)((0, actions_util_1.getOptionalInput)("tools"), apiDetails, (0, actions_util_1.getTemporaryDirectory)(), gitHubVersion.type, codeQLDefaultVersionInfo, logger);
|
const initCodeQLResult = await (0, init_1.initCodeQL)((0, actions_util_1.getOptionalInput)("tools"), apiDetails, (0, actions_util_1.getTemporaryDirectory)(), gitHubVersion.type, codeQLDefaultVersionInfo, logger);
|
||||||
codeql = initCodeQLResult.codeql;
|
codeql = initCodeQLResult.codeql;
|
||||||
toolsDownloadDurationMs = initCodeQLResult.toolsDownloadDurationMs;
|
toolsDownloadStatusReport = initCodeQLResult.toolsDownloadStatusReport;
|
||||||
toolsVersion = initCodeQLResult.toolsVersion;
|
toolsVersion = initCodeQLResult.toolsVersion;
|
||||||
toolsSource = initCodeQLResult.toolsSource;
|
toolsSource = initCodeQLResult.toolsSource;
|
||||||
core.startGroup("Validating workflow");
|
core.startGroup("Validating workflow");
|
||||||
@@ -182,6 +206,20 @@ async function run() {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
(0, init_1.cleanupDatabaseClusterDirectory)(config, logger);
|
(0, init_1.cleanupDatabaseClusterDirectory)(config, logger);
|
||||||
|
// Log CodeQL download telemetry, if appropriate
|
||||||
|
if (toolsDownloadStatusReport) {
|
||||||
|
(0, diagnostics_1.addDiagnostic)(config,
|
||||||
|
// Arbitrarily choose the first language. We could also choose all languages, but that
|
||||||
|
// increases the risk of misinterpreting the data.
|
||||||
|
config.languages[0], (0, diagnostics_1.makeDiagnostic)("codeql-action/bundle-download-telemetry", "CodeQL bundle download telemetry", {
|
||||||
|
attributes: toolsDownloadStatusReport,
|
||||||
|
visibility: {
|
||||||
|
cliSummaryTable: false,
|
||||||
|
statusPage: false,
|
||||||
|
telemetry: true,
|
||||||
|
},
|
||||||
|
}));
|
||||||
|
}
|
||||||
// Forward Go flags
|
// Forward Go flags
|
||||||
const goFlags = process.env["GOFLAGS"];
|
const goFlags = process.env["GOFLAGS"];
|
||||||
if (goFlags) {
|
if (goFlags) {
|
||||||
@@ -330,13 +368,13 @@ async function run() {
|
|||||||
catch (unwrappedError) {
|
catch (unwrappedError) {
|
||||||
const error = (0, util_1.wrapError)(unwrappedError);
|
const error = (0, util_1.wrapError)(unwrappedError);
|
||||||
core.setFailed(error.message);
|
core.setFailed(error.message);
|
||||||
await sendCompletedStatusReport(startedAt, config, toolsDownloadDurationMs, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger, error);
|
await sendCompletedStatusReport(startedAt, config, toolsDownloadStatusReport, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger, error);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
finally {
|
finally {
|
||||||
(0, diagnostics_1.logUnwrittenDiagnostics)();
|
(0, diagnostics_1.logUnwrittenDiagnostics)();
|
||||||
}
|
}
|
||||||
await sendCompletedStatusReport(startedAt, config, toolsDownloadDurationMs, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger);
|
await sendCompletedStatusReport(startedAt, config, toolsDownloadStatusReport, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger);
|
||||||
}
|
}
|
||||||
function getTrapCachingEnabled() {
|
function getTrapCachingEnabled() {
|
||||||
// If the workflow specified something always respect that
|
// If the workflow specified something always respect that
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
lib/init.js
generated
4
lib/init.js
generated
@@ -44,10 +44,10 @@ const tracer_config_1 = require("./tracer-config");
|
|||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
async function initCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger) {
|
async function initCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger) {
|
||||||
logger.startGroup("Setup CodeQL tools");
|
logger.startGroup("Setup CodeQL tools");
|
||||||
const { codeql, toolsDownloadDurationMs, toolsSource, toolsVersion } = await (0, codeql_1.setupCodeQL)(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger, true);
|
const { codeql, toolsDownloadStatusReport, toolsSource, toolsVersion } = await (0, codeql_1.setupCodeQL)(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger, true);
|
||||||
await codeql.printVersion();
|
await codeql.printVersion();
|
||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
return { codeql, toolsDownloadDurationMs, toolsSource, toolsVersion };
|
return { codeql, toolsDownloadStatusReport, toolsSource, toolsVersion };
|
||||||
}
|
}
|
||||||
async function initConfig(inputs, codeql) {
|
async function initConfig(inputs, codeql) {
|
||||||
const logger = inputs.logger;
|
const logger = inputs.logger;
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
||||||
28
lib/setup-codeql.js
generated
28
lib/setup-codeql.js
generated
@@ -393,22 +393,25 @@ const downloadCodeQL = async function (codeqlURL, maybeBundleVersion, maybeCliVe
|
|||||||
const finalHeaders = Object.assign({ "User-Agent": "CodeQL Action" }, headers);
|
const finalHeaders = Object.assign({ "User-Agent": "CodeQL Action" }, headers);
|
||||||
const toolsDownloadStart = perf_hooks_1.performance.now();
|
const toolsDownloadStart = perf_hooks_1.performance.now();
|
||||||
const archivedBundlePath = await toolcache.downloadTool(codeqlURL, dest, authorization, finalHeaders);
|
const archivedBundlePath = await toolcache.downloadTool(codeqlURL, dest, authorization, finalHeaders);
|
||||||
const toolsDownloadDurationMs = Math.round(perf_hooks_1.performance.now() - toolsDownloadStart);
|
const downloadDurationMs = Math.round(perf_hooks_1.performance.now() - toolsDownloadStart);
|
||||||
logger.debug(`Finished downloading CodeQL bundle to ${archivedBundlePath} (${toolsDownloadDurationMs} ms).`);
|
logger.debug(`Finished downloading CodeQL bundle to ${archivedBundlePath} (${downloadDurationMs} ms).`);
|
||||||
logger.debug("Extracting CodeQL bundle.");
|
logger.debug("Extracting CodeQL bundle.");
|
||||||
const extractionStart = perf_hooks_1.performance.now();
|
const extractionStart = perf_hooks_1.performance.now();
|
||||||
const extractedBundlePath = await toolcache.extractTar(archivedBundlePath);
|
const extractedBundlePath = await toolcache.extractTar(archivedBundlePath);
|
||||||
const extractionMs = Math.round(perf_hooks_1.performance.now() - extractionStart);
|
const extractionDurationMs = Math.round(perf_hooks_1.performance.now() - extractionStart);
|
||||||
logger.debug(`Finished extracting CodeQL bundle to ${extractedBundlePath} (${extractionMs} ms).`);
|
logger.debug(`Finished extracting CodeQL bundle to ${extractedBundlePath} (${extractionDurationMs} ms).`);
|
||||||
await cleanUpGlob(archivedBundlePath, "CodeQL bundle archive", logger);
|
await cleanUpGlob(archivedBundlePath, "CodeQL bundle archive", logger);
|
||||||
const bundleVersion = maybeBundleVersion ?? tryGetBundleVersionFromUrl(codeqlURL, logger);
|
const bundleVersion = maybeBundleVersion ?? tryGetBundleVersionFromUrl(codeqlURL, logger);
|
||||||
if (bundleVersion === undefined) {
|
if (bundleVersion === undefined) {
|
||||||
logger.debug("Could not cache CodeQL tools because we could not determine the bundle version from the " +
|
logger.debug("Could not cache CodeQL tools because we could not determine the bundle version from the " +
|
||||||
`URL ${codeqlURL}.`);
|
`URL ${codeqlURL}.`);
|
||||||
return {
|
return {
|
||||||
toolsVersion: maybeCliVersion ?? "unknown",
|
|
||||||
codeqlFolder: extractedBundlePath,
|
codeqlFolder: extractedBundlePath,
|
||||||
toolsDownloadDurationMs,
|
statusReport: {
|
||||||
|
downloadDurationMs,
|
||||||
|
extractionDurationMs,
|
||||||
|
},
|
||||||
|
toolsVersion: maybeCliVersion ?? "unknown",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
logger.debug("Caching CodeQL bundle.");
|
logger.debug("Caching CodeQL bundle.");
|
||||||
@@ -419,9 +422,12 @@ const downloadCodeQL = async function (codeqlURL, maybeBundleVersion, maybeCliVe
|
|||||||
await cleanUpGlob(extractedBundlePath, "CodeQL bundle from temporary directory", logger);
|
await cleanUpGlob(extractedBundlePath, "CodeQL bundle from temporary directory", logger);
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
toolsVersion: maybeCliVersion ?? toolcacheVersion,
|
|
||||||
codeqlFolder: toolcachedBundlePath,
|
codeqlFolder: toolcachedBundlePath,
|
||||||
toolsDownloadDurationMs,
|
statusReport: {
|
||||||
|
downloadDurationMs,
|
||||||
|
extractionDurationMs,
|
||||||
|
},
|
||||||
|
toolsVersion: maybeCliVersion ?? toolcacheVersion,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
exports.downloadCodeQL = downloadCodeQL;
|
exports.downloadCodeQL = downloadCodeQL;
|
||||||
@@ -471,7 +477,7 @@ async function setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defau
|
|||||||
const source = await getCodeQLSource(toolsInput, defaultCliVersion, apiDetails, variant, logger);
|
const source = await getCodeQLSource(toolsInput, defaultCliVersion, apiDetails, variant, logger);
|
||||||
let codeqlFolder;
|
let codeqlFolder;
|
||||||
let toolsVersion = source.toolsVersion;
|
let toolsVersion = source.toolsVersion;
|
||||||
let toolsDownloadDurationMs;
|
let toolsDownloadStatusReport;
|
||||||
let toolsSource;
|
let toolsSource;
|
||||||
switch (source.sourceType) {
|
switch (source.sourceType) {
|
||||||
case "local":
|
case "local":
|
||||||
@@ -487,14 +493,14 @@ async function setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defau
|
|||||||
const result = await (0, exports.downloadCodeQL)(source.codeqlURL, source.bundleVersion, source.cliVersion, apiDetails, tempDir, logger);
|
const result = await (0, exports.downloadCodeQL)(source.codeqlURL, source.bundleVersion, source.cliVersion, apiDetails, tempDir, logger);
|
||||||
toolsVersion = result.toolsVersion;
|
toolsVersion = result.toolsVersion;
|
||||||
codeqlFolder = result.codeqlFolder;
|
codeqlFolder = result.codeqlFolder;
|
||||||
toolsDownloadDurationMs = result.toolsDownloadDurationMs;
|
toolsDownloadStatusReport = result.statusReport;
|
||||||
toolsSource = ToolsSource.Download;
|
toolsSource = ToolsSource.Download;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
util.assertNever(source);
|
util.assertNever(source);
|
||||||
}
|
}
|
||||||
return { codeqlFolder, toolsDownloadDurationMs, toolsSource, toolsVersion };
|
return { codeqlFolder, toolsDownloadStatusReport, toolsSource, toolsVersion };
|
||||||
}
|
}
|
||||||
async function cleanUpGlob(glob, name, logger) {
|
async function cleanUpGlob(glob, name, logger) {
|
||||||
logger.debug(`Cleaning up ${name}.`);
|
logger.debug(`Cleaning up ${name}.`);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
14
lib/setup-codeql.test.js
generated
14
lib/setup-codeql.test.js
generated
@@ -114,9 +114,12 @@ ava_1.default.beforeEach(() => {
|
|||||||
// Stub the downloadCodeQL function to prevent downloading artefacts
|
// Stub the downloadCodeQL function to prevent downloading artefacts
|
||||||
// during testing from being called.
|
// during testing from being called.
|
||||||
sinon.stub(setupCodeql, "downloadCodeQL").resolves({
|
sinon.stub(setupCodeql, "downloadCodeQL").resolves({
|
||||||
toolsVersion: testing_utils_1.LINKED_CLI_VERSION.cliVersion,
|
|
||||||
codeqlFolder: "codeql",
|
codeqlFolder: "codeql",
|
||||||
toolsDownloadDurationMs: 200,
|
statusReport: {
|
||||||
|
downloadDurationMs: 200,
|
||||||
|
extractionDurationMs: 300,
|
||||||
|
},
|
||||||
|
toolsVersion: testing_utils_1.LINKED_CLI_VERSION.cliVersion,
|
||||||
});
|
});
|
||||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
@@ -138,9 +141,12 @@ ava_1.default.beforeEach(() => {
|
|||||||
// Stub the downloadCodeQL function to prevent downloading artefacts
|
// Stub the downloadCodeQL function to prevent downloading artefacts
|
||||||
// during testing from being called.
|
// during testing from being called.
|
||||||
sinon.stub(setupCodeql, "downloadCodeQL").resolves({
|
sinon.stub(setupCodeql, "downloadCodeQL").resolves({
|
||||||
toolsVersion: expectedVersion,
|
|
||||||
codeqlFolder: "codeql",
|
codeqlFolder: "codeql",
|
||||||
toolsDownloadDurationMs: 200,
|
statusReport: {
|
||||||
|
downloadDurationMs: 200,
|
||||||
|
extractionDurationMs: 300,
|
||||||
|
},
|
||||||
|
toolsVersion: expectedVersion,
|
||||||
});
|
});
|
||||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
lib/util.js
generated
4
lib/util.js
generated
@@ -66,6 +66,7 @@ exports.getErrorMessage = getErrorMessage;
|
|||||||
exports.prettyPrintPack = prettyPrintPack;
|
exports.prettyPrintPack = prettyPrintPack;
|
||||||
exports.checkDiskUsage = checkDiskUsage;
|
exports.checkDiskUsage = checkDiskUsage;
|
||||||
exports.checkActionVersion = checkActionVersion;
|
exports.checkActionVersion = checkActionVersion;
|
||||||
|
exports.cloneObject = cloneObject;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const os = __importStar(require("os"));
|
const os = __importStar(require("os"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
@@ -858,4 +859,7 @@ var BuildMode;
|
|||||||
/** The database will be created by building the source root using manually specified build steps. */
|
/** The database will be created by building the source root using manually specified build steps. */
|
||||||
BuildMode["Manual"] = "manual";
|
BuildMode["Manual"] = "manual";
|
||||||
})(BuildMode || (exports.BuildMode = BuildMode = {}));
|
})(BuildMode || (exports.BuildMode = BuildMode = {}));
|
||||||
|
function cloneObject(obj) {
|
||||||
|
return JSON.parse(JSON.stringify(obj));
|
||||||
|
}
|
||||||
//# sourceMappingURL=util.js.map
|
//# sourceMappingURL=util.js.map
|
||||||
File diff suppressed because one or more lines are too long
97
node_modules/.package-lock.json
generated
vendored
97
node_modules/.package-lock.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "3.26.0",
|
"version": "3.26.3",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
@@ -455,9 +455,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "9.8.0",
|
"version": "9.9.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz",
|
||||||
"integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==",
|
"integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -916,16 +916,16 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.1.0.tgz",
|
||||||
"integrity": "sha512-5g3Y7GDFsJAnY4Yhvk8sZtFfV6YNF2caLzjrRPUBzewjPCaj0yokePB4LJSobyCzGMzjZZYFbwuzbfDHlimXbQ==",
|
"integrity": "sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.0.1",
|
"@typescript-eslint/scope-manager": "8.1.0",
|
||||||
"@typescript-eslint/type-utils": "8.0.1",
|
"@typescript-eslint/type-utils": "8.1.0",
|
||||||
"@typescript-eslint/utils": "8.0.1",
|
"@typescript-eslint/utils": "8.1.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.3.1",
|
"ignore": "^5.3.1",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@@ -949,15 +949,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.1.0.tgz",
|
||||||
"integrity": "sha512-5IgYJ9EO/12pOUwiBKFkpU7rS3IU21mtXzB81TNwq2xEybcmAZrE9qwDtsb5uQd9aVO9o0fdabFyAmKveXyujg==",
|
"integrity": "sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.0.1",
|
"@typescript-eslint/scope-manager": "8.1.0",
|
||||||
"@typescript-eslint/types": "8.0.1",
|
"@typescript-eslint/types": "8.1.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -977,13 +977,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.1.0.tgz",
|
||||||
"integrity": "sha512-NpixInP5dm7uukMiRyiHjRKkom5RIFA4dfiHvalanD2cF0CLUuQqxfg8PtEUo9yqJI2bBhF+pcSafqnG3UBnRQ==",
|
"integrity": "sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.0.1",
|
"@typescript-eslint/types": "8.1.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.0.1"
|
"@typescript-eslint/visitor-keys": "8.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -994,13 +994,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.1.0.tgz",
|
||||||
"integrity": "sha512-+/UT25MWvXeDX9YaHv1IS6KI1fiuTto43WprE7pgSMswHbn1Jm9GEM4Txp+X74ifOWV8emu2AWcbLhpJAvD5Ng==",
|
"integrity": "sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||||
"@typescript-eslint/utils": "8.0.1",
|
"@typescript-eslint/utils": "8.1.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^1.3.0"
|
"ts-api-utils": "^1.3.0"
|
||||||
},
|
},
|
||||||
@@ -1018,9 +1018,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.1.0.tgz",
|
||||||
"integrity": "sha512-PpqTVT3yCA/bIgJ12czBuE3iBlM3g4inRSC5J0QOdQFAn07TYrYEQBBKgXH1lQpglup+Zy6c1fxuwTk4MTNKIw==",
|
"integrity": "sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -1031,13 +1031,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.1.0.tgz",
|
||||||
"integrity": "sha512-8V9hriRvZQXPWU3bbiUV4Epo7EvgM6RTs+sUmxp5G//dBGy402S7Fx0W0QkB2fb4obCF8SInoUzvTYtc3bkb5w==",
|
"integrity": "sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.0.1",
|
"@typescript-eslint/types": "8.1.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"globby": "^11.1.0",
|
"globby": "^11.1.0",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
@@ -1083,15 +1083,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.1.0.tgz",
|
||||||
"integrity": "sha512-CBFR0G0sCt0+fzfnKaciu9IBsKvEKYwN9UZ+eeogK1fYHg4Qxk1yf/wLQkLXlq8wbU2dFlgAesxt8Gi76E8RTA==",
|
"integrity": "sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.4.0",
|
||||||
"@typescript-eslint/scope-manager": "8.0.1",
|
"@typescript-eslint/scope-manager": "8.1.0",
|
||||||
"@typescript-eslint/types": "8.0.1",
|
"@typescript-eslint/types": "8.1.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.0.1"
|
"@typescript-eslint/typescript-estree": "8.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@@ -1105,12 +1105,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.1.0.tgz",
|
||||||
"integrity": "sha512-W5E+o0UfUcK5EgchLZsyVWqARmsM7v54/qEq6PY3YI5arkgmCzHiuk0zKSJJbm71V0xdRna4BGomkCTXz2/LkQ==",
|
"integrity": "sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.0.1",
|
"@typescript-eslint/types": "8.1.0",
|
||||||
"eslint-visitor-keys": "^3.4.3"
|
"eslint-visitor-keys": "^3.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@@ -1165,8 +1165,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/adm-zip": {
|
"node_modules/adm-zip": {
|
||||||
"version": "0.5.14",
|
"version": "0.5.15",
|
||||||
"license": "MIT",
|
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz",
|
||||||
|
"integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12.0"
|
"node": ">=12.0"
|
||||||
}
|
}
|
||||||
|
|||||||
2
node_modules/@eslint/js/package.json
generated
vendored
2
node_modules/@eslint/js/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@eslint/js",
|
"name": "@eslint/js",
|
||||||
"version": "9.8.0",
|
"version": "9.9.0",
|
||||||
"description": "ESLint JavaScript language implementation",
|
"description": "ESLint JavaScript language implementation",
|
||||||
"main": "./src/index.js",
|
"main": "./src/index.js",
|
||||||
"scripts": {},
|
"scripts": {},
|
||||||
|
|||||||
12
node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js
generated
vendored
12
node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js
generated
vendored
@@ -245,7 +245,9 @@ function getNodeType(node) {
|
|||||||
case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration:
|
case utils_1.AST_NODE_TYPES.TSConstructSignatureDeclaration:
|
||||||
return 'constructor';
|
return 'constructor';
|
||||||
case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition:
|
case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition:
|
||||||
|
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
||||||
return node.readonly ? 'readonly-field' : 'field';
|
return node.readonly ? 'readonly-field' : 'field';
|
||||||
|
case utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty:
|
||||||
case utils_1.AST_NODE_TYPES.AccessorProperty:
|
case utils_1.AST_NODE_TYPES.AccessorProperty:
|
||||||
return 'accessor';
|
return 'accessor';
|
||||||
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
||||||
@@ -254,8 +256,6 @@ function getNodeType(node) {
|
|||||||
: node.readonly
|
: node.readonly
|
||||||
? 'readonly-field'
|
? 'readonly-field'
|
||||||
: 'field';
|
: 'field';
|
||||||
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
|
||||||
return node.readonly ? 'readonly-field' : 'field';
|
|
||||||
case utils_1.AST_NODE_TYPES.TSIndexSignature:
|
case utils_1.AST_NODE_TYPES.TSIndexSignature:
|
||||||
return node.readonly ? 'readonly-signature' : 'signature';
|
return node.readonly ? 'readonly-signature' : 'signature';
|
||||||
case utils_1.AST_NODE_TYPES.StaticBlock:
|
case utils_1.AST_NODE_TYPES.StaticBlock:
|
||||||
@@ -286,7 +286,9 @@ function getMemberName(node, sourceCode) {
|
|||||||
switch (node.type) {
|
switch (node.type) {
|
||||||
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
||||||
case utils_1.AST_NODE_TYPES.TSMethodSignature:
|
case utils_1.AST_NODE_TYPES.TSMethodSignature:
|
||||||
|
case utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty:
|
||||||
case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition:
|
case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition:
|
||||||
|
case utils_1.AST_NODE_TYPES.AccessorProperty:
|
||||||
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
||||||
return getMemberRawName(node, sourceCode);
|
return getMemberRawName(node, sourceCode);
|
||||||
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
||||||
@@ -317,7 +319,9 @@ function isMemberOptional(node) {
|
|||||||
switch (node.type) {
|
switch (node.type) {
|
||||||
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
||||||
case utils_1.AST_NODE_TYPES.TSMethodSignature:
|
case utils_1.AST_NODE_TYPES.TSMethodSignature:
|
||||||
|
case utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty:
|
||||||
case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition:
|
case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition:
|
||||||
|
case utils_1.AST_NODE_TYPES.AccessorProperty:
|
||||||
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
||||||
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
||||||
case utils_1.AST_NODE_TYPES.MethodDefinition:
|
case utils_1.AST_NODE_TYPES.MethodDefinition:
|
||||||
@@ -370,7 +374,8 @@ function getRank(node, orderConfig, supportsModifiers) {
|
|||||||
// shouldn't happen but just in case, put it on the end
|
// shouldn't happen but just in case, put it on the end
|
||||||
return orderConfig.length - 1;
|
return orderConfig.length - 1;
|
||||||
}
|
}
|
||||||
const abstract = node.type === utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition ||
|
const abstract = node.type === utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty ||
|
||||||
|
node.type === utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition ||
|
||||||
node.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition;
|
node.type === utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition;
|
||||||
const scope = 'static' in node && node.static
|
const scope = 'static' in node && node.static
|
||||||
? 'static'
|
? 'static'
|
||||||
@@ -387,6 +392,7 @@ function getRank(node, orderConfig, supportsModifiers) {
|
|||||||
(type === 'readonly-field' ||
|
(type === 'readonly-field' ||
|
||||||
type === 'field' ||
|
type === 'field' ||
|
||||||
type === 'method' ||
|
type === 'method' ||
|
||||||
|
type === 'accessor' ||
|
||||||
type === 'get' ||
|
type === 'get' ||
|
||||||
type === 'set')) {
|
type === 'set')) {
|
||||||
memberGroups.push(`${accessibility}-decorated-${type}`);
|
memberGroups.push(`${accessibility}-decorated-${type}`);
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js.map
generated
vendored
File diff suppressed because one or more lines are too long
12
node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js
generated
vendored
12
node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js
generated
vendored
@@ -165,13 +165,11 @@ exports.default = (0, util_1.createRule)({
|
|||||||
const identifiers = getIdentifiersFromPattern(node.id);
|
const identifiers = getIdentifiersFromPattern(node.id);
|
||||||
const baseModifiers = new Set();
|
const baseModifiers = new Set();
|
||||||
const parent = node.parent;
|
const parent = node.parent;
|
||||||
if (parent.type === utils_1.AST_NODE_TYPES.VariableDeclaration) {
|
if (parent.kind === 'const') {
|
||||||
if (parent.kind === 'const') {
|
baseModifiers.add(naming_convention_utils_1.Modifiers.const);
|
||||||
baseModifiers.add(naming_convention_utils_1.Modifiers.const);
|
}
|
||||||
}
|
if (isGlobal(context.sourceCode.getScope(node))) {
|
||||||
if (isGlobal(context.sourceCode.getScope(node))) {
|
baseModifiers.add(naming_convention_utils_1.Modifiers.global);
|
||||||
baseModifiers.add(naming_convention_utils_1.Modifiers.global);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
identifiers.forEach(id => {
|
identifiers.forEach(id => {
|
||||||
const modifiers = new Set(baseModifiers);
|
const modifiers = new Set(baseModifiers);
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js.map
generated
vendored
File diff suppressed because one or more lines are too long
33
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js
generated
vendored
33
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js
generated
vendored
@@ -137,6 +137,10 @@ exports.default = (0, util_1.createRule)({
|
|||||||
];
|
];
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
messageId: 'floatingFixAwait',
|
||||||
|
fix: (fixer) => addAwait(fixer, expression, node),
|
||||||
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -149,20 +153,7 @@ exports.default = (0, util_1.createRule)({
|
|||||||
suggest: [
|
suggest: [
|
||||||
{
|
{
|
||||||
messageId: 'floatingFixAwait',
|
messageId: 'floatingFixAwait',
|
||||||
fix(fixer) {
|
fix: (fixer) => addAwait(fixer, expression, node),
|
||||||
if (expression.type === utils_1.AST_NODE_TYPES.UnaryExpression &&
|
|
||||||
expression.operator === 'void') {
|
|
||||||
return fixer.replaceTextRange([expression.range[0], expression.range[0] + 4], 'await');
|
|
||||||
}
|
|
||||||
const tsNode = services.esTreeNodeToTSNodeMap.get(node.expression);
|
|
||||||
if (isHigherPrecedenceThanUnary(tsNode)) {
|
|
||||||
return fixer.insertTextBefore(node, 'await ');
|
|
||||||
}
|
|
||||||
return [
|
|
||||||
fixer.insertTextBefore(node, 'await ('),
|
|
||||||
fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'),
|
|
||||||
];
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
@@ -170,6 +161,20 @@ exports.default = (0, util_1.createRule)({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
function addAwait(fixer, expression, node) {
|
||||||
|
if (expression.type === utils_1.AST_NODE_TYPES.UnaryExpression &&
|
||||||
|
expression.operator === 'void') {
|
||||||
|
return fixer.replaceTextRange([expression.range[0], expression.range[0] + 4], 'await');
|
||||||
|
}
|
||||||
|
const tsNode = services.esTreeNodeToTSNodeMap.get(node.expression);
|
||||||
|
if (isHigherPrecedenceThanUnary(tsNode)) {
|
||||||
|
return fixer.insertTextBefore(node, 'await ');
|
||||||
|
}
|
||||||
|
return [
|
||||||
|
fixer.insertTextBefore(node, 'await ('),
|
||||||
|
fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'),
|
||||||
|
];
|
||||||
|
}
|
||||||
function isKnownSafePromiseReturn(node) {
|
function isKnownSafePromiseReturn(node) {
|
||||||
if (node.type !== utils_1.AST_NODE_TYPES.CallExpression) {
|
if (node.type !== utils_1.AST_NODE_TYPES.CallExpression) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js.map
generated
vendored
File diff suppressed because one or more lines are too long
71
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js
generated
vendored
71
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js
generated
vendored
@@ -36,6 +36,7 @@ function parseChecksVoidReturn(checksVoidReturn) {
|
|||||||
return {
|
return {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
attributes: true,
|
attributes: true,
|
||||||
|
inheritedMethods: true,
|
||||||
properties: true,
|
properties: true,
|
||||||
returns: true,
|
returns: true,
|
||||||
variables: true,
|
variables: true,
|
||||||
@@ -44,6 +45,7 @@ function parseChecksVoidReturn(checksVoidReturn) {
|
|||||||
return {
|
return {
|
||||||
arguments: checksVoidReturn.arguments ?? true,
|
arguments: checksVoidReturn.arguments ?? true,
|
||||||
attributes: checksVoidReturn.attributes ?? true,
|
attributes: checksVoidReturn.attributes ?? true,
|
||||||
|
inheritedMethods: checksVoidReturn.inheritedMethods ?? true,
|
||||||
properties: checksVoidReturn.properties ?? true,
|
properties: checksVoidReturn.properties ?? true,
|
||||||
returns: checksVoidReturn.returns ?? true,
|
returns: checksVoidReturn.returns ?? true,
|
||||||
variables: checksVoidReturn.variables ?? true,
|
variables: checksVoidReturn.variables ?? true,
|
||||||
@@ -60,10 +62,11 @@ exports.default = (0, util_1.createRule)({
|
|||||||
},
|
},
|
||||||
messages: {
|
messages: {
|
||||||
voidReturnArgument: 'Promise returned in function argument where a void return was expected.',
|
voidReturnArgument: 'Promise returned in function argument where a void return was expected.',
|
||||||
voidReturnVariable: 'Promise-returning function provided to variable where a void return was expected.',
|
voidReturnAttribute: 'Promise-returning function provided to attribute where a void return was expected.',
|
||||||
|
voidReturnInheritedMethod: "Promise-returning method provided where a void return was expected by extended/implemented type '{{ heritageTypeName }}'.",
|
||||||
voidReturnProperty: 'Promise-returning function provided to property where a void return was expected.',
|
voidReturnProperty: 'Promise-returning function provided to property where a void return was expected.',
|
||||||
voidReturnReturnValue: 'Promise-returning function provided to return value where a void return was expected.',
|
voidReturnReturnValue: 'Promise-returning function provided to return value where a void return was expected.',
|
||||||
voidReturnAttribute: 'Promise-returning function provided to attribute where a void return was expected.',
|
voidReturnVariable: 'Promise-returning function provided to variable where a void return was expected.',
|
||||||
conditional: 'Expected non-Promise value in a boolean conditional.',
|
conditional: 'Expected non-Promise value in a boolean conditional.',
|
||||||
spread: 'Expected a non-Promise value to be spreaded in an object.',
|
spread: 'Expected a non-Promise value to be spreaded in an object.',
|
||||||
},
|
},
|
||||||
@@ -83,6 +86,7 @@ exports.default = (0, util_1.createRule)({
|
|||||||
properties: {
|
properties: {
|
||||||
arguments: { type: 'boolean' },
|
arguments: { type: 'boolean' },
|
||||||
attributes: { type: 'boolean' },
|
attributes: { type: 'boolean' },
|
||||||
|
inheritedMethods: { type: 'boolean' },
|
||||||
properties: { type: 'boolean' },
|
properties: { type: 'boolean' },
|
||||||
returns: { type: 'boolean' },
|
returns: { type: 'boolean' },
|
||||||
variables: { type: 'boolean' },
|
variables: { type: 'boolean' },
|
||||||
@@ -131,6 +135,11 @@ exports.default = (0, util_1.createRule)({
|
|||||||
...(checksVoidReturn.attributes && {
|
...(checksVoidReturn.attributes && {
|
||||||
JSXAttribute: checkJSXAttribute,
|
JSXAttribute: checkJSXAttribute,
|
||||||
}),
|
}),
|
||||||
|
...(checksVoidReturn.inheritedMethods && {
|
||||||
|
ClassDeclaration: checkClassLikeOrInterfaceNode,
|
||||||
|
ClassExpression: checkClassLikeOrInterfaceNode,
|
||||||
|
TSInterfaceDeclaration: checkClassLikeOrInterfaceNode,
|
||||||
|
}),
|
||||||
...(checksVoidReturn.properties && {
|
...(checksVoidReturn.properties && {
|
||||||
Property: checkProperty,
|
Property: checkProperty,
|
||||||
}),
|
}),
|
||||||
@@ -379,6 +388,51 @@ exports.default = (0, util_1.createRule)({
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function checkClassLikeOrInterfaceNode(node) {
|
||||||
|
const tsNode = services.esTreeNodeToTSNodeMap.get(node);
|
||||||
|
const heritageTypes = getHeritageTypes(checker, tsNode);
|
||||||
|
if (!heritageTypes?.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (const nodeMember of tsNode.members) {
|
||||||
|
const memberName = nodeMember.name?.getText();
|
||||||
|
if (memberName === undefined) {
|
||||||
|
// Call/construct/index signatures don't have names. TS allows call signatures to mismatch,
|
||||||
|
// and construct signatures can't be async.
|
||||||
|
// TODO - Once we're able to use `checker.isTypeAssignableTo` (v8), we can check an index
|
||||||
|
// signature here against its compatible index signatures in `heritageTypes`
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!returnsThenable(checker, nodeMember)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (const heritageType of heritageTypes) {
|
||||||
|
checkHeritageTypeForMemberReturningVoid(nodeMember, heritageType, memberName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Checks `heritageType` for a member named `memberName` that returns void; reports the
|
||||||
|
* 'voidReturnInheritedMethod' message if found.
|
||||||
|
* @param nodeMember Node member that returns a Promise
|
||||||
|
* @param heritageType Heritage type to check against
|
||||||
|
* @param memberName Name of the member to check for
|
||||||
|
*/
|
||||||
|
function checkHeritageTypeForMemberReturningVoid(nodeMember, heritageType, memberName) {
|
||||||
|
const heritageMember = getMemberIfExists(heritageType, memberName);
|
||||||
|
if (heritageMember === undefined) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const memberType = checker.getTypeOfSymbolAtLocation(heritageMember, nodeMember);
|
||||||
|
if (!isVoidReturningFunctionType(checker, nodeMember, memberType)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
context.report({
|
||||||
|
node: services.tsNodeToESTreeNodeMap.get(nodeMember),
|
||||||
|
messageId: 'voidReturnInheritedMethod',
|
||||||
|
data: { heritageTypeName: checker.typeToString(heritageType) },
|
||||||
|
});
|
||||||
|
}
|
||||||
function checkJSXAttribute(node) {
|
function checkJSXAttribute(node) {
|
||||||
if (node.value == null ||
|
if (node.value == null ||
|
||||||
node.value.type !== utils_1.AST_NODE_TYPES.JSXExpressionContainer) {
|
node.value.type !== utils_1.AST_NODE_TYPES.JSXExpressionContainer) {
|
||||||
@@ -592,4 +646,17 @@ function returnsThenable(checker, node) {
|
|||||||
.unionTypeParts(type)
|
.unionTypeParts(type)
|
||||||
.some(t => anySignatureIsThenableType(checker, node, t));
|
.some(t => anySignatureIsThenableType(checker, node, t));
|
||||||
}
|
}
|
||||||
|
function getHeritageTypes(checker, tsNode) {
|
||||||
|
return tsNode.heritageClauses
|
||||||
|
?.flatMap(clause => clause.types)
|
||||||
|
.map(typeExpression => checker.getTypeAtLocation(typeExpression));
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* @returns The member with the given name in `type`, if it exists.
|
||||||
|
*/
|
||||||
|
function getMemberIfExists(type, memberName) {
|
||||||
|
const escapedMemberName = ts.escapeLeadingUnderscores(memberName);
|
||||||
|
const symbolMemberMatch = type.getSymbol()?.members?.get(escapedMemberName);
|
||||||
|
return (symbolMemberMatch ?? tsutils.getPropertyOfType(type, escapedMemberName));
|
||||||
|
}
|
||||||
//# sourceMappingURL=no-misused-promises.js.map
|
//# sourceMappingURL=no-misused-promises.js.map
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js.map
generated
vendored
File diff suppressed because one or more lines are too long
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js
generated
vendored
@@ -279,8 +279,8 @@ exports.default = (0, util_1.createRule)({
|
|||||||
if (isInRange(node.init, location)) {
|
if (isInRange(node.init, location)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if ((node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
if ((node.parent.parent.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
||||||
node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
node.parent.parent.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
||||||
isInRange(node.parent.parent.right, location)) {
|
isInRange(node.parent.parent.right, location)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-shadow.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@@ -31,12 +31,12 @@ exports.default = (0, util_1.createRule)({
|
|||||||
defaultOptions: [],
|
defaultOptions: [],
|
||||||
meta: {
|
meta: {
|
||||||
docs: {
|
docs: {
|
||||||
description: 'Disallow type parameters that only appear once',
|
description: "Disallow type parameters that aren't used multiple times",
|
||||||
requiresTypeChecking: true,
|
requiresTypeChecking: true,
|
||||||
recommended: 'strict',
|
recommended: 'strict',
|
||||||
},
|
},
|
||||||
messages: {
|
messages: {
|
||||||
sole: 'Type parameter {{name}} is used only once.',
|
sole: 'Type parameter {{name}} is {{uses}} in the {{descriptor}} signature.',
|
||||||
},
|
},
|
||||||
schema: [],
|
schema: [],
|
||||||
type: 'problem',
|
type: 'problem',
|
||||||
@@ -44,11 +44,38 @@ exports.default = (0, util_1.createRule)({
|
|||||||
name: 'no-unnecessary-type-parameters',
|
name: 'no-unnecessary-type-parameters',
|
||||||
create(context) {
|
create(context) {
|
||||||
const parserServices = (0, util_1.getParserServices)(context);
|
const parserServices = (0, util_1.getParserServices)(context);
|
||||||
|
function checkNode(node, descriptor) {
|
||||||
|
const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
||||||
|
const checker = parserServices.program.getTypeChecker();
|
||||||
|
let counts;
|
||||||
|
for (const typeParameter of tsNode.typeParameters) {
|
||||||
|
const esTypeParameter = parserServices.tsNodeToESTreeNodeMap.get(typeParameter);
|
||||||
|
const scope = context.sourceCode.getScope(esTypeParameter);
|
||||||
|
// Quick path: if the type parameter is used multiple times in the AST,
|
||||||
|
// we don't need to dip into types to know it's repeated.
|
||||||
|
if (isTypeParameterRepeatedInAST(esTypeParameter, scope.references, node.body?.range[0] ?? node.returnType?.range[1])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// For any inferred types, we have to dip into type checking.
|
||||||
|
counts ??= countTypeParameterUsage(checker, tsNode);
|
||||||
|
const identifierCounts = counts.get(typeParameter.name);
|
||||||
|
if (!identifierCounts || identifierCounts > 2) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
context.report({
|
||||||
|
data: {
|
||||||
|
descriptor,
|
||||||
|
uses: identifierCounts === 1 ? 'never used' : 'used only once',
|
||||||
|
name: typeParameter.name.text,
|
||||||
|
},
|
||||||
|
node: esTypeParameter,
|
||||||
|
messageId: 'sole',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
[[
|
[[
|
||||||
'ArrowFunctionExpression[typeParameters]',
|
'ArrowFunctionExpression[typeParameters]',
|
||||||
'ClassDeclaration[typeParameters]',
|
|
||||||
'ClassExpression[typeParameters]',
|
|
||||||
'FunctionDeclaration[typeParameters]',
|
'FunctionDeclaration[typeParameters]',
|
||||||
'FunctionExpression[typeParameters]',
|
'FunctionExpression[typeParameters]',
|
||||||
'TSCallSignatureDeclaration[typeParameters]',
|
'TSCallSignatureDeclaration[typeParameters]',
|
||||||
@@ -58,43 +85,29 @@ exports.default = (0, util_1.createRule)({
|
|||||||
'TSFunctionType[typeParameters]',
|
'TSFunctionType[typeParameters]',
|
||||||
'TSMethodSignature[typeParameters]',
|
'TSMethodSignature[typeParameters]',
|
||||||
].join(', ')](node) {
|
].join(', ')](node) {
|
||||||
const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
checkNode(node, 'function');
|
||||||
const checker = parserServices.program.getTypeChecker();
|
},
|
||||||
let counts;
|
[[
|
||||||
for (const typeParameter of tsNode.typeParameters) {
|
'ClassDeclaration[typeParameters]',
|
||||||
const esTypeParameter = parserServices.tsNodeToESTreeNodeMap.get(typeParameter);
|
'ClassExpression[typeParameters]',
|
||||||
const scope = context.sourceCode.getScope(esTypeParameter);
|
].join(', ')](node) {
|
||||||
// Quick path: if the type parameter is used multiple times in the AST,
|
checkNode(node, 'class');
|
||||||
// we don't need to dip into types to know it's repeated.
|
|
||||||
if (isTypeParameterRepeatedInAST(esTypeParameter, scope.references)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// For any inferred types, we have to dip into type checking.
|
|
||||||
counts ??= countTypeParameterUsage(checker, tsNode);
|
|
||||||
const identifierCounts = counts.get(typeParameter.name);
|
|
||||||
if (!identifierCounts || identifierCounts > 2) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
context.report({
|
|
||||||
data: {
|
|
||||||
name: typeParameter.name.text,
|
|
||||||
},
|
|
||||||
node: esTypeParameter,
|
|
||||||
messageId: 'sole',
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
function isTypeParameterRepeatedInAST(node, references) {
|
function isTypeParameterRepeatedInAST(node, references, startOfBody = Infinity) {
|
||||||
let total = 0;
|
let total = 0;
|
||||||
for (const reference of references) {
|
for (const reference of references) {
|
||||||
// References inside the type parameter's definition don't count.
|
// References inside the type parameter's definition don't count...
|
||||||
if (reference.identifier.range[0] < node.range[1] &&
|
if (reference.identifier.range[0] < node.range[1] &&
|
||||||
reference.identifier.range[1] > node.range[0]) {
|
reference.identifier.range[1] > node.range[0]) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// ...nor references that are outside the declaring signature.
|
||||||
|
if (reference.identifier.range[0] > startOfBody) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
// Neither do references that aren't to the same type parameter,
|
// Neither do references that aren't to the same type parameter,
|
||||||
// namely value-land (non-type) identifiers of the type parameter's type,
|
// namely value-land (non-type) identifiers of the type parameter's type,
|
||||||
// and references to different type parameters or values.
|
// and references to different type parameters or values.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
39
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js
generated
vendored
39
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js
generated
vendored
@@ -37,9 +37,9 @@ exports.default = (0, util_1.createRule)({
|
|||||||
requiresTypeChecking: true,
|
requiresTypeChecking: true,
|
||||||
},
|
},
|
||||||
messages: {
|
messages: {
|
||||||
unsafeReturn: 'Unsafe return of an {{type}} typed value.',
|
unsafeReturn: 'Unsafe return of a value of type {{type}}.',
|
||||||
unsafeReturnThis: [
|
unsafeReturnThis: [
|
||||||
'Unsafe return of an `{{type}}` typed value. `this` is typed as `any`.',
|
'Unsafe return of a value of type `{{type}}`. `this` is typed as `any`.',
|
||||||
'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.',
|
'You can try to fix this by turning on the `noImplicitThis` compiler option, or adding a `this` parameter to the function.',
|
||||||
].join('\n'),
|
].join('\n'),
|
||||||
unsafeReturnAssignment: 'Unsafe return of type `{{sender}}` from function with return type `{{receiver}}`.',
|
unsafeReturnAssignment: 'Unsafe return of type `{{sender}}` from function with return type `{{receiver}}`.',
|
||||||
@@ -68,7 +68,8 @@ exports.default = (0, util_1.createRule)({
|
|||||||
}
|
}
|
||||||
function checkReturn(returnNode, reportingNode = returnNode) {
|
function checkReturn(returnNode, reportingNode = returnNode) {
|
||||||
const tsNode = services.esTreeNodeToTSNodeMap.get(returnNode);
|
const tsNode = services.esTreeNodeToTSNodeMap.get(returnNode);
|
||||||
const anyType = (0, util_1.isAnyOrAnyArrayTypeDiscriminated)(tsNode, checker);
|
const type = checker.getTypeAtLocation(tsNode);
|
||||||
|
const anyType = (0, util_1.discriminateAnyType)(type, checker, services.program, tsNode);
|
||||||
const functionNode = getParentFunctionNode(returnNode);
|
const functionNode = getParentFunctionNode(returnNode);
|
||||||
/* istanbul ignore if */ if (!functionNode) {
|
/* istanbul ignore if */ if (!functionNode) {
|
||||||
return;
|
return;
|
||||||
@@ -87,20 +88,31 @@ exports.default = (0, util_1.createRule)({
|
|||||||
if (!functionType) {
|
if (!functionType) {
|
||||||
functionType = services.getTypeAtLocation(functionNode);
|
functionType = services.getTypeAtLocation(functionNode);
|
||||||
}
|
}
|
||||||
|
const callSignatures = tsutils.getCallSignaturesOfType(functionType);
|
||||||
// If there is an explicit type annotation *and* that type matches the actual
|
// If there is an explicit type annotation *and* that type matches the actual
|
||||||
// function return type, we shouldn't complain (it's intentional, even if unsafe)
|
// function return type, we shouldn't complain (it's intentional, even if unsafe)
|
||||||
if (functionTSNode.type) {
|
if (functionTSNode.type) {
|
||||||
for (const signature of tsutils.getCallSignaturesOfType(functionType)) {
|
for (const signature of callSignatures) {
|
||||||
if (returnNodeType === signature.getReturnType() ||
|
const signatureReturnType = signature.getReturnType();
|
||||||
(0, util_1.isTypeFlagSet)(signature.getReturnType(), ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
|
if (returnNodeType === signatureReturnType ||
|
||||||
|
(0, util_1.isTypeFlagSet)(signatureReturnType, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (functionNode.async) {
|
||||||
|
const awaitedSignatureReturnType = checker.getAwaitedType(signatureReturnType);
|
||||||
|
const awaitedReturnNodeType = checker.getAwaitedType(returnNodeType);
|
||||||
|
if (awaitedReturnNodeType === awaitedSignatureReturnType ||
|
||||||
|
(awaitedSignatureReturnType &&
|
||||||
|
(0, util_1.isTypeFlagSet)(awaitedSignatureReturnType, ts.TypeFlags.Any | ts.TypeFlags.Unknown))) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (anyType !== util_1.AnyType.Safe) {
|
if (anyType !== util_1.AnyType.Safe) {
|
||||||
// Allow cases when the declared return type of the function is either unknown or unknown[]
|
// Allow cases when the declared return type of the function is either unknown or unknown[]
|
||||||
// and the function is returning any or any[].
|
// and the function is returning any or any[].
|
||||||
for (const signature of functionType.getCallSignatures()) {
|
for (const signature of callSignatures) {
|
||||||
const functionReturnType = signature.getReturnType();
|
const functionReturnType = signature.getReturnType();
|
||||||
if (anyType === util_1.AnyType.Any &&
|
if (anyType === util_1.AnyType.Any &&
|
||||||
(0, util_1.isTypeUnknownType)(functionReturnType)) {
|
(0, util_1.isTypeUnknownType)(functionReturnType)) {
|
||||||
@@ -110,6 +122,15 @@ exports.default = (0, util_1.createRule)({
|
|||||||
(0, util_1.isTypeUnknownArrayType)(functionReturnType, checker)) {
|
(0, util_1.isTypeUnknownArrayType)(functionReturnType, checker)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const awaitedType = checker.getAwaitedType(functionReturnType);
|
||||||
|
if (awaitedType &&
|
||||||
|
anyType === util_1.AnyType.PromiseAny &&
|
||||||
|
(0, util_1.isTypeUnknownType)(awaitedType)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (anyType === util_1.AnyType.PromiseAny && !functionNode.async) {
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
let messageId = 'unsafeReturn';
|
let messageId = 'unsafeReturn';
|
||||||
const isErrorType = tsutils.isIntrinsicErrorType(returnNodeType);
|
const isErrorType = tsutils.isIntrinsicErrorType(returnNodeType);
|
||||||
@@ -130,7 +151,9 @@ exports.default = (0, util_1.createRule)({
|
|||||||
? 'error'
|
? 'error'
|
||||||
: anyType === util_1.AnyType.Any
|
: anyType === util_1.AnyType.Any
|
||||||
? '`any`'
|
? '`any`'
|
||||||
: '`any[]`',
|
: anyType === util_1.AnyType.PromiseAny
|
||||||
|
? '`Promise<any>`'
|
||||||
|
: '`any[]`',
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"no-unsafe-return.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-return.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"no-unsafe-return.js","sourceRoot":"","sources":["../../src/rules/no-unsafe-return.ts"],"names":[],"mappings":"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"}
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js
generated
vendored
@@ -130,8 +130,8 @@ function isInInitializer(variable, reference) {
|
|||||||
if (isInRange(node.init, location)) {
|
if (isInRange(node.init, location)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if ((node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
if ((node.parent.parent.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
||||||
node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
node.parent.parent.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
||||||
isInRange(node.parent.parent.right, location)) {
|
isInRange(node.parent.parent.right, location)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-use-before-define.js.map
generated
vendored
File diff suppressed because one or more lines are too long
@@ -133,7 +133,35 @@ const analyzeOrChainOperand = (parserServices, operand, index, chain) => {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
function getFixer(sourceCode, parserServices, operator, options, chain) {
|
/**
|
||||||
|
* Returns the range that needs to be reported from the chain.
|
||||||
|
* @param chain The chain of logical expressions.
|
||||||
|
* @param boundary The boundary range that the range to report cannot fall outside.
|
||||||
|
* @param sourceCode The source code to get tokens.
|
||||||
|
* @returns The range to report.
|
||||||
|
*/
|
||||||
|
function getReportRange(chain, boundary, sourceCode) {
|
||||||
|
const leftNode = chain[0].node;
|
||||||
|
const rightNode = chain[chain.length - 1].node;
|
||||||
|
let leftMost = (0, util_1.nullThrows)(sourceCode.getFirstToken(leftNode), util_1.NullThrowsReasons.MissingToken('any token', leftNode.type));
|
||||||
|
let rightMost = (0, util_1.nullThrows)(sourceCode.getLastToken(rightNode), util_1.NullThrowsReasons.MissingToken('any token', rightNode.type));
|
||||||
|
while (leftMost.range[0] > boundary[0]) {
|
||||||
|
const token = sourceCode.getTokenBefore(leftMost);
|
||||||
|
if (!token || !(0, util_1.isOpeningParenToken)(token) || token.range[0] < boundary[0]) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
leftMost = token;
|
||||||
|
}
|
||||||
|
while (rightMost.range[1] < boundary[1]) {
|
||||||
|
const token = sourceCode.getTokenAfter(rightMost);
|
||||||
|
if (!token || !(0, util_1.isClosingParenToken)(token) || token.range[1] > boundary[1]) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
rightMost = token;
|
||||||
|
}
|
||||||
|
return [leftMost.range[0], rightMost.range[1]];
|
||||||
|
}
|
||||||
|
function getReportDescriptor(sourceCode, parserServices, node, operator, options, chain) {
|
||||||
const lastOperand = chain[chain.length - 1];
|
const lastOperand = chain[chain.length - 1];
|
||||||
let useSuggestionFixer;
|
let useSuggestionFixer;
|
||||||
if (options.allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing ===
|
if (options.allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing ===
|
||||||
@@ -269,10 +297,22 @@ function getFixer(sourceCode, parserServices, operator, options, chain) {
|
|||||||
else if (lastOperand.comparisonType === "NotBoolean" /* NullishComparisonType.NotBoolean */) {
|
else if (lastOperand.comparisonType === "NotBoolean" /* NullishComparisonType.NotBoolean */) {
|
||||||
newCode = `!${newCode}`;
|
newCode = `!${newCode}`;
|
||||||
}
|
}
|
||||||
const fix = fixer => fixer.replaceTextRange([chain[0].node.range[0], lastOperand.node.range[1]], newCode);
|
const reportRange = getReportRange(chain, node.range, sourceCode);
|
||||||
return useSuggestionFixer
|
const fix = fixer => fixer.replaceTextRange(reportRange, newCode);
|
||||||
? { suggest: [{ fix, messageId: 'optionalChainSuggest' }] }
|
return {
|
||||||
: { fix };
|
messageId: 'preferOptionalChain',
|
||||||
|
loc: {
|
||||||
|
start: sourceCode.getLocFromIndex(reportRange[0]),
|
||||||
|
end: sourceCode.getLocFromIndex(reportRange[1]),
|
||||||
|
},
|
||||||
|
...(0, util_1.getFixOrSuggest)({
|
||||||
|
useFix: !useSuggestionFixer,
|
||||||
|
suggestion: {
|
||||||
|
messageId: 'optionalChainSuggest',
|
||||||
|
fix,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
};
|
||||||
function flattenChainExpression(sourceCode, node) {
|
function flattenChainExpression(sourceCode, node) {
|
||||||
switch (node.type) {
|
switch (node.type) {
|
||||||
case utils_1.AST_NODE_TYPES.ChainExpression:
|
case utils_1.AST_NODE_TYPES.ChainExpression:
|
||||||
@@ -332,7 +372,7 @@ function getFixer(sourceCode, parserServices, operator, options, chain) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function analyzeChain(context, parserServices, options, operator, chain) {
|
function analyzeChain(context, parserServices, options, node, operator, chain) {
|
||||||
// need at least 2 operands in a chain for it to be a chain
|
// need at least 2 operands in a chain for it to be a chain
|
||||||
if (chain.length <= 1 ||
|
if (chain.length <= 1 ||
|
||||||
/* istanbul ignore next -- previous checks make this unreachable, but keep it for exhaustiveness check */
|
/* istanbul ignore next -- previous checks make this unreachable, but keep it for exhaustiveness check */
|
||||||
@@ -353,14 +393,7 @@ function analyzeChain(context, parserServices, options, operator, chain) {
|
|||||||
const maybeReportThenReset = (newChainSeed) => {
|
const maybeReportThenReset = (newChainSeed) => {
|
||||||
if (subChain.length > 1) {
|
if (subChain.length > 1) {
|
||||||
const subChainFlat = subChain.flat();
|
const subChainFlat = subChain.flat();
|
||||||
(0, checkNullishAndReport_1.checkNullishAndReport)(context, parserServices, options, subChainFlat.slice(0, -1).map(({ node }) => node), {
|
(0, checkNullishAndReport_1.checkNullishAndReport)(context, parserServices, options, subChainFlat.slice(0, -1).map(({ node }) => node), getReportDescriptor(context.sourceCode, parserServices, node, operator, options, subChainFlat));
|
||||||
messageId: 'preferOptionalChain',
|
|
||||||
loc: {
|
|
||||||
start: subChainFlat[0].node.loc.start,
|
|
||||||
end: subChainFlat[subChainFlat.length - 1].node.loc.end,
|
|
||||||
},
|
|
||||||
...getFixer(context.sourceCode, parserServices, operator, options, subChainFlat),
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
// we've reached the end of a chain of logical expressions
|
// we've reached the end of a chain of logical expressions
|
||||||
// i.e. the current operand doesn't belong to the previous chain.
|
// i.e. the current operand doesn't belong to the previous chain.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-optional-chain.js
generated
vendored
@@ -156,7 +156,7 @@ exports.default = (0, util_1.createRule)({
|
|||||||
let currentChain = [];
|
let currentChain = [];
|
||||||
for (const operand of operands) {
|
for (const operand of operands) {
|
||||||
if (operand.type === "Invalid" /* OperandValidity.Invalid */) {
|
if (operand.type === "Invalid" /* OperandValidity.Invalid */) {
|
||||||
(0, analyzeChain_1.analyzeChain)(context, parserServices, options, node.operator, currentChain);
|
(0, analyzeChain_1.analyzeChain)(context, parserServices, options, node, node.operator, currentChain);
|
||||||
currentChain = [];
|
currentChain = [];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -165,7 +165,7 @@ exports.default = (0, util_1.createRule)({
|
|||||||
}
|
}
|
||||||
// make sure to check whatever's left
|
// make sure to check whatever's left
|
||||||
if (currentChain.length > 0) {
|
if (currentChain.length > 0) {
|
||||||
(0, analyzeChain_1.analyzeChain)(context, parserServices, options, node.operator, currentChain);
|
(0, analyzeChain_1.analyzeChain)(context, parserServices, options, node, node.operator, currentChain);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"prefer-optional-chain.js","sourceRoot":"","sources":["../../src/rules/prefer-optional-chain.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"prefer-optional-chain.js","sourceRoot":"","sources":["../../src/rules/prefer-optional-chain.ts"],"names":[],"mappings":"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"}
|
||||||
7
node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js
generated
vendored
Normal file
7
node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.getFixOrSuggest = getFixOrSuggest;
|
||||||
|
function getFixOrSuggest({ useFix, suggestion, }) {
|
||||||
|
return useFix ? { fix: suggestion.fix } : { suggest: [suggestion] };
|
||||||
|
}
|
||||||
|
//# sourceMappingURL=getFixOrSuggest.js.map
|
||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js.map
generated
vendored
Normal file
1
node_modules/@typescript-eslint/eslint-plugin/dist/util/getFixOrSuggest.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"getFixOrSuggest.js","sourceRoot":"","sources":["../../src/util/getFixOrSuggest.ts"],"names":[],"mappings":";;AAEA,0CAUC;AAVD,SAAgB,eAAe,CAA2B,EACxD,MAAM,EACN,UAAU,GAIX;IAGC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;AACtE,CAAC"}
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/util/getWrappingFixer.js
generated
vendored
@@ -35,7 +35,7 @@ function getWrappingFixer(params) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// check if we need to insert semicolon
|
// check if we need to insert semicolon
|
||||||
if (/^[`([]/.exec(code) && isMissingSemicolonBefore(node, sourceCode)) {
|
if (/^[`([]/.test(code) && isMissingSemicolonBefore(node, sourceCode)) {
|
||||||
code = `;${code}`;
|
code = `;${code}`;
|
||||||
}
|
}
|
||||||
return fixer.replaceText(node, code);
|
return fixer.replaceText(node, code);
|
||||||
|
|||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js
generated
vendored
1
node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js
generated
vendored
@@ -34,6 +34,7 @@ __exportStar(require("./objectIterators"), exports);
|
|||||||
__exportStar(require("./scopeUtils"), exports);
|
__exportStar(require("./scopeUtils"), exports);
|
||||||
__exportStar(require("./types"), exports);
|
__exportStar(require("./types"), exports);
|
||||||
__exportStar(require("./isAssignee"), exports);
|
__exportStar(require("./isAssignee"), exports);
|
||||||
|
__exportStar(require("./getFixOrSuggest"), exports);
|
||||||
// this is done for convenience - saves migrating all of the old rules
|
// this is done for convenience - saves migrating all of the old rules
|
||||||
__exportStar(require("@typescript-eslint/type-utils"), exports);
|
__exportStar(require("@typescript-eslint/type-utils"), exports);
|
||||||
const { applyDefault, deepMerge, isObjectNotArray, getParserServices, nullThrows, NullThrowsReasons, } = utils_1.ESLintUtils;
|
const { applyDefault, deepMerge, isObjectNotArray, getParserServices, nullThrows, NullThrowsReasons, } = utils_1.ESLintUtils;
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAuD;AAEvD,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,yCAAuB;AACvB,oDAAkC;AAClC,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAE7B,sEAAsE;AACtE,gEAA8C;AAC9C,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,GAAG,mBAAW,CAAC;AAMd,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB;AACjB,gCAAU;AAGV,8CAAiB"}
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/util/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,oDAAuD;AAEvD,6CAA2B;AAC3B,2DAAyC;AACzC,+CAA6B;AAC7B,uDAAqC;AACrC,0DAAwC;AACxC,yDAAuC;AACvC,oDAAkC;AAClC,2DAAyC;AACzC,sDAAoC;AACpC,qDAAmC;AACnC,gDAA8B;AAC9B,kDAAgC;AAChC,0DAAwC;AACxC,yCAAuB;AACvB,oDAAkC;AAClC,+CAA6B;AAC7B,0CAAwB;AACxB,+CAA6B;AAC7B,oDAAkC;AAElC,sEAAsE;AACtE,gEAA8C;AAC9C,MAAM,EACJ,YAAY,EACZ,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,iBAAiB,GAClB,GAAG,mBAAW,CAAC;AAMd,oCAAY;AACZ,8BAAS;AACT,4CAAgB;AAChB,8CAAiB;AACjB,gCAAU;AAGV,8CAAiB"}
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/util/misc.js.map
generated
vendored
@@ -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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"}
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/ban-types.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
The old `ban-types` rule encompassed multiple areas of functionality, and so has been split into several rules.
|
The old `ban-types` rule encompassed multiple areas of functionality, and so has been split into several rules.
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/block-spacing.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/brace-style.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/camelcase.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been deprecated in favour of the [`naming-convention`](./naming-convention.mdx) rule.
|
This rule has been deprecated in favour of the [`naming-convention`](./naming-convention.mdx) rule.
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-dangle.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/comma-spacing.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/func-call-spacing.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/indent.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/key-spacing.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/keyword-spacing.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/lines-around-comment.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/member-delimiter-style.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.mdx
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-duplicate-imports.mdx
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been deprecated in favour of the [`import/no-duplicates`](https://github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/no-duplicates.md) rule.
|
This rule has been deprecated in favour of the [`import/no-duplicates`](https://github.com/import-js/eslint-plugin-import/blob/HEAD/docs/rules/no-duplicates.md) rule.
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-parens.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-extra-semi.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
151
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.mdx
generated
vendored
151
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-misused-promises.mdx
generated
vendored
@@ -37,10 +37,89 @@ If you don't want to check conditionals, you can configure the rule with `"check
|
|||||||
|
|
||||||
Doing so prevents the rule from looking at code like `if (somePromise)`.
|
Doing so prevents the rule from looking at code like `if (somePromise)`.
|
||||||
|
|
||||||
Examples of code for this rule with `checksConditionals: true`:
|
### `checksVoidReturn`
|
||||||
|
|
||||||
|
Likewise, if you don't want to check functions that return promises where a void return is
|
||||||
|
expected, your configuration will look like this:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"@typescript-eslint/no-misused-promises": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"checksVoidReturn": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
You can disable selective parts of the `checksVoidReturn` option by providing an object that disables specific checks. For example, if you don't mind that passing a `() => Promise<void>` to a `() => void` parameter or JSX attribute can lead to a floating unhandled Promise:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"@typescript-eslint/no-misused-promises": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"checksVoidReturn": {
|
||||||
|
"arguments": false,
|
||||||
|
"attributes": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
The following sub-options are supported:
|
||||||
|
|
||||||
|
#### `arguments`
|
||||||
|
|
||||||
|
Disables checking an asynchronous function passed as argument where the parameter type expects a function that returns `void`.
|
||||||
|
|
||||||
|
#### `attributes`
|
||||||
|
|
||||||
|
Disables checking an asynchronous function passed as a JSX attribute expected to be a function that returns `void`.
|
||||||
|
|
||||||
|
#### `inheritedMethods`
|
||||||
|
|
||||||
|
Disables checking an asynchronous method in a type that extends or implements another type expecting that method to return `void`.
|
||||||
|
|
||||||
|
:::note
|
||||||
|
For now, `no-misused-promises` only checks _named_ methods against extended/implemented types: that is, call/construct/index signatures are ignored. Call signatures are not required in TypeScript to be consistent with one another, and construct signatures cannot be `async` in the first place. Index signature checking may be implemented in the future.
|
||||||
|
:::
|
||||||
|
|
||||||
|
#### `properties`
|
||||||
|
|
||||||
|
Disables checking an asynchronous function passed as an object property expected to be a function that returns `void`.
|
||||||
|
|
||||||
|
#### `returns`
|
||||||
|
|
||||||
|
Disables checking an asynchronous function returned in a function whose return type is a function that returns `void`.
|
||||||
|
|
||||||
|
#### `variables`
|
||||||
|
|
||||||
|
Disables checking an asynchronous function used as a variable whose return type is a function that returns `void`.
|
||||||
|
|
||||||
|
### `checksSpreads`
|
||||||
|
|
||||||
|
If you don't want to check object spreads, you can add this configuration:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"@typescript-eslint/no-misused-promises": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
"checksSpreads": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|
||||||
|
### `checksConditionals`
|
||||||
|
|
||||||
|
Examples of code for this rule with `checksConditionals: true`:
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<TabItem value="❌ Incorrect">
|
<TabItem value="❌ Incorrect">
|
||||||
|
|
||||||
@@ -81,45 +160,6 @@ while (await promise) {
|
|||||||
|
|
||||||
### `checksVoidReturn`
|
### `checksVoidReturn`
|
||||||
|
|
||||||
Likewise, if you don't want to check functions that return promises where a void return is
|
|
||||||
expected, your configuration will look like this:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"@typescript-eslint/no-misused-promises": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
"checksVoidReturn": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
You can disable selective parts of the `checksVoidReturn` option by providing an object that disables specific checks.
|
|
||||||
The following options are supported:
|
|
||||||
|
|
||||||
- `arguments`: Disables checking an asynchronous function passed as argument where the parameter type expects a function that returns `void`
|
|
||||||
- `attributes`: Disables checking an asynchronous function passed as a JSX attribute expected to be a function that returns `void`
|
|
||||||
- `properties`: Disables checking an asynchronous function passed as an object property expected to be a function that returns `void`
|
|
||||||
- `returns`: Disables checking an asynchronous function returned in a function whose return type is a function that returns `void`
|
|
||||||
- `variables`: Disables checking an asynchronous function used as a variable whose return type is a function that returns `void`
|
|
||||||
|
|
||||||
For example, if you don't mind that passing a `() => Promise<void>` to a `() => void` parameter or JSX attribute can lead to a floating unhandled Promise:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"@typescript-eslint/no-misused-promises": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
"checksVoidReturn": {
|
|
||||||
"arguments": false,
|
|
||||||
"attributes": false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Examples of code for this rule with `checksVoidReturn: true`:
|
Examples of code for this rule with `checksVoidReturn: true`:
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
@@ -140,6 +180,15 @@ document.addEventListener('click', async () => {
|
|||||||
await fetch('/');
|
await fetch('/');
|
||||||
console.log('synchronous call');
|
console.log('synchronous call');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
interface MySyncInterface {
|
||||||
|
setThing(): void;
|
||||||
|
}
|
||||||
|
class MyClass implements MySyncInterface {
|
||||||
|
async setThing(): Promise<void> {
|
||||||
|
this.thing = await fetchThing();
|
||||||
|
}
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
@@ -182,6 +231,15 @@ document.addEventListener('click', () => {
|
|||||||
|
|
||||||
handler().catch(handleError);
|
handler().catch(handleError);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
interface MyAsyncInterface {
|
||||||
|
setThing(): Promise<void>;
|
||||||
|
}
|
||||||
|
class MyClass implements MyAsyncInterface {
|
||||||
|
async setThing(): Promise<void> {
|
||||||
|
this.thing = await fetchThing();
|
||||||
|
}
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
</TabItem>
|
</TabItem>
|
||||||
@@ -189,19 +247,6 @@ document.addEventListener('click', () => {
|
|||||||
|
|
||||||
### `checksSpreads`
|
### `checksSpreads`
|
||||||
|
|
||||||
If you don't want to check object spreads, you can add this configuration:
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"@typescript-eslint/no-misused-promises": [
|
|
||||||
"error",
|
|
||||||
{
|
|
||||||
"checksSpreads": false
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Examples of code for this rule with `checksSpreads: true`:
|
Examples of code for this rule with `checksSpreads: true`:
|
||||||
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.mdx
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-parameter-properties.mdx
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been deprecated in favour of the [`parameter-properties`](https://typescript-eslint.io/rules/parameter-properties/) rule.
|
This rule has been deprecated in favour of the [`parameter-properties`](https://typescript-eslint.io/rules/parameter-properties/) rule.
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
description: 'Disallow type parameters that only appear once.'
|
description: "Disallow type parameters that aren't used multiple times."
|
||||||
---
|
---
|
||||||
|
|
||||||
import Tabs from '@theme/Tabs';
|
import Tabs from '@theme/Tabs';
|
||||||
@@ -9,10 +9,10 @@ import TabItem from '@theme/TabItem';
|
|||||||
>
|
>
|
||||||
> See **https://typescript-eslint.io/rules/no-unnecessary-type-parameters** for documentation.
|
> See **https://typescript-eslint.io/rules/no-unnecessary-type-parameters** for documentation.
|
||||||
|
|
||||||
This rule forbids type parameters that only appear once in a function, method, or class definition.
|
This rule forbids type parameters that aren't used multiple times in a function, method, or class definition.
|
||||||
|
|
||||||
Type parameters relate two types.
|
Type parameters relate two types.
|
||||||
If a type parameter only appears once, then it is not relating anything.
|
If a type parameter is only used once, then it is not relating anything.
|
||||||
It can usually be replaced with explicit types such as `unknown`.
|
It can usually be replaced with explicit types such as `unknown`.
|
||||||
|
|
||||||
At best unnecessary type parameters make code harder to read.
|
At best unnecessary type parameters make code harder to read.
|
||||||
|
|||||||
10
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.mdx
generated
vendored
10
node_modules/@typescript-eslint/eslint-plugin/docs/rules/no-unsafe-return.mdx
generated
vendored
@@ -15,7 +15,7 @@ Using `any` disables many type checking rules and is generally best used only as
|
|||||||
Despite your best intentions, the `any` type can sometimes leak into your codebase.
|
Despite your best intentions, the `any` type can sometimes leak into your codebase.
|
||||||
Returning an an `any`-typed value from a function creates a potential type safety hole and source of bugs in your codebase.
|
Returning an an `any`-typed value from a function creates a potential type safety hole and source of bugs in your codebase.
|
||||||
|
|
||||||
This rule disallows returning `any` or `any[]` from a function.
|
This rule disallows returning `any` or `any[]` from a function and returning `Promise<any>` from an async function.
|
||||||
|
|
||||||
This rule also compares generic type argument types to ensure you don't return an unsafe `any` in a generic position to a function that's expecting a specific type.
|
This rule also compares generic type argument types to ensure you don't return an unsafe `any` in a generic position to a function that's expecting a specific type.
|
||||||
For example, it will error if you return `Set<any>` from a function declared as returning `Set<string>`.
|
For example, it will error if you return `Set<any>` from a function declared as returning `Set<string>`.
|
||||||
@@ -56,6 +56,10 @@ const foo10 = () => [] as any[];
|
|||||||
|
|
||||||
const foo11 = (): string[] => [1, 2, 3] as any[];
|
const foo11 = (): string[] => [1, 2, 3] as any[];
|
||||||
|
|
||||||
|
async function foo13() {
|
||||||
|
return Promise.resolve({} as any);
|
||||||
|
}
|
||||||
|
|
||||||
// generic position examples
|
// generic position examples
|
||||||
function assignability1(): Set<string> {
|
function assignability1(): Set<string> {
|
||||||
return new Set<any>([1]);
|
return new Set<any>([1]);
|
||||||
@@ -78,6 +82,10 @@ function foo2() {
|
|||||||
const foo3 = () => [];
|
const foo3 = () => [];
|
||||||
const foo4 = () => ['a'];
|
const foo4 = () => ['a'];
|
||||||
|
|
||||||
|
async function foo5() {
|
||||||
|
return Promise.resolve(1);
|
||||||
|
}
|
||||||
|
|
||||||
function assignability1(): Set<string> {
|
function assignability1(): Set<string> {
|
||||||
return new Set<string>(['foo']);
|
return new Set<string>(['foo']);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been renamed to [`no-unnecessary-template-expression`](./no-unnecessary-template-expression.mdx). See [#8544](https://github.com/typescript-eslint/typescript-eslint/issues/8544) for more information.
|
This rule has been renamed to [`no-unnecessary-template-expression`](./no-unnecessary-template-expression.mdx). See [#8544](https://github.com/typescript-eslint/typescript-eslint/issues/8544) for more information.
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/object-curly-spacing.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/quotes.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/semi.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been renamed to [`sort-type-constituents`](https://typescript-eslint.io/rules/sort-type-constituents).
|
This rule has been renamed to [`sort-type-constituents`](https://typescript-eslint.io/rules/sort-type-constituents).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-before-blocks.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/space-infix-ops.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
@@ -30,13 +30,13 @@ The following nodes are considered boolean expressions and their type is checked
|
|||||||
|
|
||||||
```ts
|
```ts
|
||||||
// nullable numbers are considered unsafe by default
|
// nullable numbers are considered unsafe by default
|
||||||
let num: number | undefined = 0;
|
declare const num: number | undefined;
|
||||||
if (num) {
|
if (num) {
|
||||||
console.log('num is defined');
|
console.log('num is defined');
|
||||||
}
|
}
|
||||||
|
|
||||||
// nullable strings are considered unsafe by default
|
// nullable strings are considered unsafe by default
|
||||||
let str: string | null = null;
|
declare const str: string | null;
|
||||||
if (!str) {
|
if (!str) {
|
||||||
console.log('str is empty');
|
console.log('str is empty');
|
||||||
}
|
}
|
||||||
|
|||||||
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/docs/rules/type-annotation-spacing.md
generated
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
---
|
||||||
|
displayed_sidebar: rulesSidebar
|
||||||
|
---
|
||||||
|
|
||||||
:::danger Deprecated
|
:::danger Deprecated
|
||||||
|
|
||||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||||
|
|||||||
14
node_modules/@typescript-eslint/eslint-plugin/package.json
generated
vendored
14
node_modules/@typescript-eslint/eslint-plugin/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typescript-eslint/eslint-plugin",
|
"name": "@typescript-eslint/eslint-plugin",
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"description": "TypeScript plugin for ESLint",
|
"description": "TypeScript plugin for ESLint",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
@@ -60,10 +60,10 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.0.1",
|
"@typescript-eslint/scope-manager": "8.1.0",
|
||||||
"@typescript-eslint/type-utils": "8.0.1",
|
"@typescript-eslint/type-utils": "8.1.0",
|
||||||
"@typescript-eslint/utils": "8.0.1",
|
"@typescript-eslint/utils": "8.1.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.3.1",
|
"ignore": "^5.3.1",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
@@ -74,8 +74,8 @@
|
|||||||
"@types/marked": "^5.0.2",
|
"@types/marked": "^5.0.2",
|
||||||
"@types/mdast": "^4.0.3",
|
"@types/mdast": "^4.0.3",
|
||||||
"@types/natural-compare": "*",
|
"@types/natural-compare": "*",
|
||||||
"@typescript-eslint/rule-schema-to-typescript-types": "8.0.1",
|
"@typescript-eslint/rule-schema-to-typescript-types": "8.1.0",
|
||||||
"@typescript-eslint/rule-tester": "8.0.1",
|
"@typescript-eslint/rule-tester": "8.1.0",
|
||||||
"ajv": "^6.12.6",
|
"ajv": "^6.12.6",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"cross-fetch": "*",
|
"cross-fetch": "*",
|
||||||
|
|||||||
10
node_modules/@typescript-eslint/parser/package.json
generated
vendored
10
node_modules/@typescript-eslint/parser/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typescript-eslint/parser",
|
"name": "@typescript-eslint/parser",
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"description": "An ESLint custom parser which leverages TypeScript ESTree",
|
"description": "An ESLint custom parser which leverages TypeScript ESTree",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
@@ -52,10 +52,10 @@
|
|||||||
"eslint": "^8.57.0 || ^9.0.0"
|
"eslint": "^8.57.0 || ^9.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.0.1",
|
"@typescript-eslint/scope-manager": "8.1.0",
|
||||||
"@typescript-eslint/types": "8.0.1",
|
"@typescript-eslint/types": "8.1.0",
|
||||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|||||||
8
node_modules/@typescript-eslint/scope-manager/package.json
generated
vendored
8
node_modules/@typescript-eslint/scope-manager/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typescript-eslint/scope-manager",
|
"name": "@typescript-eslint/scope-manager",
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"description": "TypeScript scope analyser for ESLint",
|
"description": "TypeScript scope analyser for ESLint",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
@@ -46,13 +46,13 @@
|
|||||||
"typecheck": "npx nx typecheck"
|
"typecheck": "npx nx typecheck"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.0.1",
|
"@typescript-eslint/types": "8.1.0",
|
||||||
"@typescript-eslint/visitor-keys": "8.0.1"
|
"@typescript-eslint/visitor-keys": "8.1.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@jest/types": "29.6.3",
|
"@jest/types": "29.6.3",
|
||||||
"@types/glob": "*",
|
"@types/glob": "*",
|
||||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||||
"glob": "*",
|
"glob": "*",
|
||||||
"jest-specific-snapshot": "*",
|
"jest-specific-snapshot": "*",
|
||||||
"make-dir": "*",
|
"make-dir": "*",
|
||||||
|
|||||||
9
node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts
generated
vendored
9
node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts
generated
vendored
@@ -31,14 +31,15 @@ export declare function isTypeAnyArrayType(type: ts.Type, checker: ts.TypeChecke
|
|||||||
export declare function isTypeUnknownArrayType(type: ts.Type, checker: ts.TypeChecker): boolean;
|
export declare function isTypeUnknownArrayType(type: ts.Type, checker: ts.TypeChecker): boolean;
|
||||||
export declare enum AnyType {
|
export declare enum AnyType {
|
||||||
Any = 0,
|
Any = 0,
|
||||||
AnyArray = 1,
|
PromiseAny = 1,
|
||||||
Safe = 2
|
AnyArray = 2,
|
||||||
|
Safe = 3
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`,
|
* @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise<any>`,
|
||||||
* otherwise it returns `AnyType.Safe`.
|
* otherwise it returns `AnyType.Safe`.
|
||||||
*/
|
*/
|
||||||
export declare function isAnyOrAnyArrayTypeDiscriminated(node: ts.Node, checker: ts.TypeChecker): AnyType;
|
export declare function discriminateAnyType(type: ts.Type, checker: ts.TypeChecker, program: ts.Program, tsNode: ts.Node): AnyType;
|
||||||
/**
|
/**
|
||||||
* @returns Whether a type is an instance of the parent type, including for the parent's base types.
|
* @returns Whether a type is an instance of the parent type, including for the parent's base types.
|
||||||
*/
|
*/
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/type-utils/dist/predicates.d.ts.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAQrD;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAExD;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,CAM3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED,oBAAY,OAAO;IACjB,GAAG,IAAA;IACH,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AACD;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAST;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,IAAI,GAClB,OAAO,CAqBT;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAEhC"}
|
{"version":3,"file":"predicates.d.ts","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAMjC;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAQrD;AAED;;;GAGG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAEtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAExD;AAYD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,aAAa,CAM3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,OAAO,CAQpD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,GACtB,OAAO,CAKT;AAED,oBAAY,OAAO;IACjB,GAAG,IAAA;IACH,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,IAAI,IAAA;CACL;AACD;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,OAAO,EAAE,EAAE,CAAC,OAAO,EACnB,MAAM,EAAE,EAAE,CAAC,IAAI,GACd,OAAO,CAyBT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,UAAU,EAAE,EAAE,CAAC,IAAI,GAClB,OAAO,CAqBT;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,iBAAiB,CAE9B;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,EAAE,CAAC,IAAI,GACZ,IAAI,IAAI,EAAE,CAAC,mBAAmB,CAEhC"}
|
||||||
23
node_modules/@typescript-eslint/type-utils/dist/predicates.js
generated
vendored
23
node_modules/@typescript-eslint/type-utils/dist/predicates.js
generated
vendored
@@ -35,7 +35,7 @@ exports.isTypeReferenceType = isTypeReferenceType;
|
|||||||
exports.isTypeAnyType = isTypeAnyType;
|
exports.isTypeAnyType = isTypeAnyType;
|
||||||
exports.isTypeAnyArrayType = isTypeAnyArrayType;
|
exports.isTypeAnyArrayType = isTypeAnyArrayType;
|
||||||
exports.isTypeUnknownArrayType = isTypeUnknownArrayType;
|
exports.isTypeUnknownArrayType = isTypeUnknownArrayType;
|
||||||
exports.isAnyOrAnyArrayTypeDiscriminated = isAnyOrAnyArrayTypeDiscriminated;
|
exports.discriminateAnyType = discriminateAnyType;
|
||||||
exports.typeIsOrHasBaseType = typeIsOrHasBaseType;
|
exports.typeIsOrHasBaseType = typeIsOrHasBaseType;
|
||||||
exports.isTypeBigIntLiteralType = isTypeBigIntLiteralType;
|
exports.isTypeBigIntLiteralType = isTypeBigIntLiteralType;
|
||||||
exports.isTypeTemplateLiteralType = isTypeTemplateLiteralType;
|
exports.isTypeTemplateLiteralType = isTypeTemplateLiteralType;
|
||||||
@@ -122,21 +122,32 @@ function isTypeUnknownArrayType(type, checker) {
|
|||||||
var AnyType;
|
var AnyType;
|
||||||
(function (AnyType) {
|
(function (AnyType) {
|
||||||
AnyType[AnyType["Any"] = 0] = "Any";
|
AnyType[AnyType["Any"] = 0] = "Any";
|
||||||
AnyType[AnyType["AnyArray"] = 1] = "AnyArray";
|
AnyType[AnyType["PromiseAny"] = 1] = "PromiseAny";
|
||||||
AnyType[AnyType["Safe"] = 2] = "Safe";
|
AnyType[AnyType["AnyArray"] = 2] = "AnyArray";
|
||||||
|
AnyType[AnyType["Safe"] = 3] = "Safe";
|
||||||
})(AnyType || (exports.AnyType = AnyType = {}));
|
})(AnyType || (exports.AnyType = AnyType = {}));
|
||||||
/**
|
/**
|
||||||
* @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`,
|
* @returns `AnyType.Any` if the type is `any`, `AnyType.AnyArray` if the type is `any[]` or `readonly any[]`, `AnyType.PromiseAny` if the type is `Promise<any>`,
|
||||||
* otherwise it returns `AnyType.Safe`.
|
* otherwise it returns `AnyType.Safe`.
|
||||||
*/
|
*/
|
||||||
function isAnyOrAnyArrayTypeDiscriminated(node, checker) {
|
function discriminateAnyType(type, checker, program, tsNode) {
|
||||||
const type = checker.getTypeAtLocation(node);
|
|
||||||
if (isTypeAnyType(type)) {
|
if (isTypeAnyType(type)) {
|
||||||
return AnyType.Any;
|
return AnyType.Any;
|
||||||
}
|
}
|
||||||
if (isTypeAnyArrayType(type, checker)) {
|
if (isTypeAnyArrayType(type, checker)) {
|
||||||
return AnyType.AnyArray;
|
return AnyType.AnyArray;
|
||||||
}
|
}
|
||||||
|
for (const part of tsutils.typeParts(type)) {
|
||||||
|
if (tsutils.isThenableType(checker, tsNode, type)) {
|
||||||
|
const awaitedType = checker.getAwaitedType(part);
|
||||||
|
if (awaitedType) {
|
||||||
|
const awaitedAnyType = discriminateAnyType(awaitedType, checker, program, tsNode);
|
||||||
|
if (awaitedAnyType === AnyType.Any) {
|
||||||
|
return AnyType.PromiseAny;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return AnyType.Safe;
|
return AnyType.Safe;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/type-utils/dist/predicates.js.map
generated
vendored
2
node_modules/@typescript-eslint/type-utils/dist/predicates.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"predicates.js","sourceRoot":"","sources":["../src/predicates.ts"],"names":[],"mappings":"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"}
|
||||||
8
node_modules/@typescript-eslint/type-utils/package.json
generated
vendored
8
node_modules/@typescript-eslint/type-utils/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typescript-eslint/type-utils",
|
"name": "@typescript-eslint/type-utils",
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"description": "Type utilities for working with TypeScript + ESLint together",
|
"description": "Type utilities for working with TypeScript + ESLint together",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
@@ -46,14 +46,14 @@
|
|||||||
"typecheck": "tsc --noEmit"
|
"typecheck": "tsc --noEmit"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||||
"@typescript-eslint/utils": "8.0.1",
|
"@typescript-eslint/utils": "8.1.0",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^1.3.0"
|
"ts-api-utils": "^1.3.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@jest/types": "29.6.3",
|
"@jest/types": "29.6.3",
|
||||||
"@typescript-eslint/parser": "8.0.1",
|
"@typescript-eslint/parser": "8.1.0",
|
||||||
"ajv": "^6.12.6",
|
"ajv": "^6.12.6",
|
||||||
"downlevel-dts": "*",
|
"downlevel-dts": "*",
|
||||||
"jest": "29.7.0",
|
"jest": "29.7.0",
|
||||||
|
|||||||
164
node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts
generated
vendored
164
node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts
generated
vendored
@@ -445,6 +445,18 @@ export declare interface ConditionalExpression extends BaseNode {
|
|||||||
consequent: Expression;
|
consequent: Expression;
|
||||||
alternate: Expression;
|
alternate: Expression;
|
||||||
}
|
}
|
||||||
|
export declare interface ConstDeclaration extends LetOrConstOrVarDeclarationBase {
|
||||||
|
kind: 'const';
|
||||||
|
/**
|
||||||
|
* In a `declare const` declaration, the declarators may have initializers, but
|
||||||
|
* not definite assignment assertions. Each declarator cannot have both an
|
||||||
|
* initializer and a type annotation.
|
||||||
|
*
|
||||||
|
* Even if the declaration has no `declare`, it may still be ambient and have
|
||||||
|
* no initializer.
|
||||||
|
*/
|
||||||
|
declarations: VariableDeclaratorMaybeInit[];
|
||||||
|
}
|
||||||
export declare interface ContinueStatement extends BaseNode {
|
export declare interface ContinueStatement extends BaseNode {
|
||||||
type: AST_NODE_TYPES.ContinueStatement;
|
type: AST_NODE_TYPES.ContinueStatement;
|
||||||
label: Identifier | null;
|
label: Identifier | null;
|
||||||
@@ -917,11 +929,12 @@ export declare interface LabeledStatement extends BaseNode {
|
|||||||
body: Statement;
|
body: Statement;
|
||||||
}
|
}
|
||||||
export declare type LeftHandSideExpression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | CallExpression | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | LiteralExpression | MemberExpression | MetaProperty | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | ThisExpression | TSAsExpression | TSNonNullExpression | TSTypeAssertion;
|
export declare type LeftHandSideExpression = ArrayExpression | ArrayPattern | ArrowFunctionExpression | CallExpression | ClassExpression | FunctionExpression | Identifier | JSXElement | JSXFragment | LiteralExpression | MemberExpression | MetaProperty | ObjectExpression | ObjectPattern | SequenceExpression | Super | TaggedTemplateExpression | ThisExpression | TSAsExpression | TSNonNullExpression | TSTypeAssertion;
|
||||||
export declare interface LetOrConstOrVarDeclaration extends BaseNode {
|
export declare type LetOrConstOrVarDeclaration = ConstDeclaration | LetOrVarDeclaredDeclaration | LetOrVarNonDeclaredDeclaration;
|
||||||
|
declare interface LetOrConstOrVarDeclarationBase extends BaseNode {
|
||||||
type: AST_NODE_TYPES.VariableDeclaration;
|
type: AST_NODE_TYPES.VariableDeclaration;
|
||||||
/**
|
/**
|
||||||
* The variables declared by this declaration.
|
* The variables declared by this declaration.
|
||||||
* Note that there may be 0 declarations (i.e. `const;`).
|
* Always non-empty.
|
||||||
* @example
|
* @example
|
||||||
* ```ts
|
* ```ts
|
||||||
* let x;
|
* let x;
|
||||||
@@ -948,11 +961,30 @@ export declare interface LetOrConstOrVarDeclaration extends BaseNode {
|
|||||||
*/
|
*/
|
||||||
kind: 'const' | 'let' | 'var';
|
kind: 'const' | 'let' | 'var';
|
||||||
}
|
}
|
||||||
export declare interface LetOrConstOrVarDeclarator extends BaseNode {
|
export declare type LetOrConstOrVarDeclarator = VariableDeclaratorDefiniteAssignment | VariableDeclaratorMaybeInit | VariableDeclaratorNoInit;
|
||||||
type: AST_NODE_TYPES.VariableDeclarator;
|
export declare interface LetOrVarDeclaredDeclaration extends LetOrConstOrVarDeclarationBase {
|
||||||
id: BindingName;
|
kind: 'let' | 'var';
|
||||||
init: Expression | null;
|
declare: true;
|
||||||
definite: boolean;
|
/**
|
||||||
|
* In a `declare let` declaration, the declarators must not have definite assignment
|
||||||
|
* assertions or initializers.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* ```ts
|
||||||
|
* using x = 1;
|
||||||
|
* using y =1, z = 2;
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
declarations: VariableDeclaratorNoInit[];
|
||||||
|
}
|
||||||
|
export declare interface LetOrVarNonDeclaredDeclaration extends LetOrConstOrVarDeclarationBase {
|
||||||
|
kind: 'let' | 'var';
|
||||||
|
declare: false;
|
||||||
|
/**
|
||||||
|
* In a `let`/`var` declaration, the declarators may have definite assignment
|
||||||
|
* assertions or initializers, but not both.
|
||||||
|
*/
|
||||||
|
declarations: (VariableDeclaratorDefiniteAssignment | VariableDeclaratorMaybeInit)[];
|
||||||
}
|
}
|
||||||
export declare interface LineComment extends BaseToken {
|
export declare interface LineComment extends BaseToken {
|
||||||
type: AST_TOKEN_TYPES.Line;
|
type: AST_TOKEN_TYPES.Line;
|
||||||
@@ -1996,57 +2028,8 @@ export declare interface UpdateExpression extends UnaryExpressionBase {
|
|||||||
operator: '--' | '++';
|
operator: '--' | '++';
|
||||||
}
|
}
|
||||||
export declare type UsingDeclaration = UsingInForOfDeclaration | UsingInNormalContextDeclaration;
|
export declare type UsingDeclaration = UsingInForOfDeclaration | UsingInNormalContextDeclaration;
|
||||||
export declare type UsingDeclarator = UsingInForOfDeclarator | UsingInNomalConextDeclarator;
|
declare interface UsingDeclarationBase extends BaseNode {
|
||||||
export declare interface UsingInForOfDeclaration extends BaseNode {
|
|
||||||
type: AST_NODE_TYPES.VariableDeclaration;
|
type: AST_NODE_TYPES.VariableDeclaration;
|
||||||
/**
|
|
||||||
* The variables declared by this declaration.
|
|
||||||
* Note that there may be 0 declarations (i.e. `const;`).
|
|
||||||
* @example
|
|
||||||
* ```ts
|
|
||||||
* for(using x of y){}
|
|
||||||
* ```
|
|
||||||
*/
|
|
||||||
declarations: UsingInForOfDeclarator[];
|
|
||||||
/**
|
|
||||||
* This value will always be `false`
|
|
||||||
* because 'declare' modifier cannot appear on a 'using' declaration.
|
|
||||||
*/
|
|
||||||
declare: false;
|
|
||||||
/**
|
|
||||||
* The keyword used to declare the variable(s)
|
|
||||||
* @example
|
|
||||||
* ```ts
|
|
||||||
* for(using x of y){}
|
|
||||||
* for(await using x of y){}
|
|
||||||
* ```
|
|
||||||
*/
|
|
||||||
kind: 'await using' | 'using';
|
|
||||||
}
|
|
||||||
export declare interface UsingInForOfDeclarator extends BaseNode {
|
|
||||||
type: AST_NODE_TYPES.VariableDeclarator;
|
|
||||||
id: Identifier;
|
|
||||||
init: null;
|
|
||||||
definite: boolean;
|
|
||||||
}
|
|
||||||
export declare interface UsingInNomalConextDeclarator extends BaseNode {
|
|
||||||
type: AST_NODE_TYPES.VariableDeclarator;
|
|
||||||
id: Identifier;
|
|
||||||
init: Expression;
|
|
||||||
definite: boolean;
|
|
||||||
}
|
|
||||||
export declare interface UsingInNormalContextDeclaration extends BaseNode {
|
|
||||||
type: AST_NODE_TYPES.VariableDeclaration;
|
|
||||||
/**
|
|
||||||
* The variables declared by this declaration.
|
|
||||||
* Note that there may be 0 declarations (i.e. `const;`).
|
|
||||||
* @example
|
|
||||||
* ```ts
|
|
||||||
* using x = 1;
|
|
||||||
* using y =1, z = 2;
|
|
||||||
* ```
|
|
||||||
*/
|
|
||||||
declarations: UsingInNomalConextDeclarator[];
|
|
||||||
/**
|
/**
|
||||||
* This value will always be `false`
|
* This value will always be `false`
|
||||||
* because 'declare' modifier cannot appear on a 'using' declaration.
|
* because 'declare' modifier cannot appear on a 'using' declaration.
|
||||||
@@ -2062,9 +2045,76 @@ export declare interface UsingInNormalContextDeclaration extends BaseNode {
|
|||||||
*/
|
*/
|
||||||
kind: 'await using' | 'using';
|
kind: 'await using' | 'using';
|
||||||
}
|
}
|
||||||
|
export declare type UsingDeclarator = UsingInForOfDeclarator | UsingInNormalContextDeclarator;
|
||||||
|
export declare interface UsingInForOfDeclaration extends UsingDeclarationBase {
|
||||||
|
/**
|
||||||
|
* The variables declared by this declaration.
|
||||||
|
* Always has exactly one element.
|
||||||
|
* @example
|
||||||
|
* ```ts
|
||||||
|
* for (using x of y) {}
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
declarations: [UsingInForOfDeclarator];
|
||||||
|
}
|
||||||
|
export declare interface UsingInForOfDeclarator extends VariableDeclaratorBase {
|
||||||
|
id: Identifier;
|
||||||
|
init: null;
|
||||||
|
definite: false;
|
||||||
|
}
|
||||||
|
export declare interface UsingInNormalContextDeclaration extends UsingDeclarationBase {
|
||||||
|
/**
|
||||||
|
* The variables declared by this declaration.
|
||||||
|
* Always non-empty.
|
||||||
|
* @example
|
||||||
|
* ```ts
|
||||||
|
* using x = 1;
|
||||||
|
* using y = 1, z = 2;
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
declarations: UsingInNormalContextDeclarator[];
|
||||||
|
}
|
||||||
|
export declare interface UsingInNormalContextDeclarator extends VariableDeclaratorBase {
|
||||||
|
id: Identifier;
|
||||||
|
init: Expression;
|
||||||
|
definite: false;
|
||||||
|
}
|
||||||
declare type ValueOf<T> = T[keyof T];
|
declare type ValueOf<T> = T[keyof T];
|
||||||
export declare type VariableDeclaration = LetOrConstOrVarDeclaration | UsingDeclaration;
|
export declare type VariableDeclaration = LetOrConstOrVarDeclaration | UsingDeclaration;
|
||||||
export declare type VariableDeclarator = LetOrConstOrVarDeclarator | UsingDeclarator;
|
export declare type VariableDeclarator = LetOrConstOrVarDeclarator | UsingDeclarator;
|
||||||
|
declare interface VariableDeclaratorBase extends BaseNode {
|
||||||
|
type: AST_NODE_TYPES.VariableDeclarator;
|
||||||
|
/**
|
||||||
|
* The name(s) of the variable(s).
|
||||||
|
*/
|
||||||
|
id: BindingName;
|
||||||
|
/**
|
||||||
|
* The initializer expression of the variable. Must be present for `const` unless
|
||||||
|
* in a `declare const`.
|
||||||
|
*/
|
||||||
|
init: Expression | null;
|
||||||
|
/**
|
||||||
|
* Whether there's definite assignment assertion (`let x!: number`).
|
||||||
|
* If `true`, then: `id` must be an identifier with a type annotation,
|
||||||
|
* `init` must be `null`, and the declarator must be a `var`/`let` declarator.
|
||||||
|
*/
|
||||||
|
definite: boolean;
|
||||||
|
}
|
||||||
|
export declare interface VariableDeclaratorDefiniteAssignment extends VariableDeclaratorBase {
|
||||||
|
/**
|
||||||
|
* The name of the variable. Must have a type annotation.
|
||||||
|
*/
|
||||||
|
id: Identifier;
|
||||||
|
init: null;
|
||||||
|
definite: true;
|
||||||
|
}
|
||||||
|
export declare interface VariableDeclaratorMaybeInit extends VariableDeclaratorBase {
|
||||||
|
definite: false;
|
||||||
|
}
|
||||||
|
export declare interface VariableDeclaratorNoInit extends VariableDeclaratorBase {
|
||||||
|
init: null;
|
||||||
|
definite: false;
|
||||||
|
}
|
||||||
export declare interface WhileStatement extends BaseNode {
|
export declare interface WhileStatement extends BaseNode {
|
||||||
type: AST_NODE_TYPES.WhileStatement;
|
type: AST_NODE_TYPES.WhileStatement;
|
||||||
test: Expression;
|
test: Expression;
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/types/dist/generated/ast-spec.d.ts.map
generated
vendored
File diff suppressed because one or more lines are too long
15
node_modules/@typescript-eslint/types/dist/ts-estree.d.ts
generated
vendored
15
node_modules/@typescript-eslint/types/dist/ts-estree.d.ts
generated
vendored
@@ -15,6 +15,21 @@ declare module './generated/ast-spec' {
|
|||||||
interface AccessorPropertyNonComputedName {
|
interface AccessorPropertyNonComputedName {
|
||||||
parent: TSESTree.ClassBody;
|
parent: TSESTree.ClassBody;
|
||||||
}
|
}
|
||||||
|
interface VariableDeclaratorDefiniteAssignment {
|
||||||
|
parent: TSESTree.VariableDeclaration;
|
||||||
|
}
|
||||||
|
interface VariableDeclaratorMaybeInit {
|
||||||
|
parent: TSESTree.VariableDeclaration;
|
||||||
|
}
|
||||||
|
interface VariableDeclaratorNoInit {
|
||||||
|
parent: TSESTree.VariableDeclaration;
|
||||||
|
}
|
||||||
|
interface UsingInForOfDeclarator {
|
||||||
|
parent: TSESTree.VariableDeclaration;
|
||||||
|
}
|
||||||
|
interface UsingInNormalContextDeclarator {
|
||||||
|
parent: TSESTree.VariableDeclaration;
|
||||||
|
}
|
||||||
interface TSAbstractAccessorPropertyComputedName {
|
interface TSAbstractAccessorPropertyComputedName {
|
||||||
parent: TSESTree.ClassBody;
|
parent: TSESTree.ClassBody;
|
||||||
}
|
}
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/types/dist/ts-estree.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/types/dist/ts-estree.d.ts.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"ts-estree.d.ts","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"ts-estree.d.ts","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":"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"}
|
||||||
2
node_modules/@typescript-eslint/types/dist/ts-estree.js.map
generated
vendored
2
node_modules/@typescript-eslint/types/dist/ts-estree.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"ts-estree.js","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2MA,iEAAiD"}
|
{"version":3,"file":"ts-estree.js","sourceRoot":"","sources":["../src/ts-estree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA+NA,iEAAiD"}
|
||||||
2
node_modules/@typescript-eslint/types/package.json
generated
vendored
2
node_modules/@typescript-eslint/types/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@typescript-eslint/types",
|
"name": "@typescript-eslint/types",
|
||||||
"version": "8.0.1",
|
"version": "8.1.0",
|
||||||
"description": "Types for the TypeScript-ESTree AST spec",
|
"description": "Types for the TypeScript-ESTree AST spec",
|
||||||
"files": [
|
"files": [
|
||||||
"dist",
|
"dist",
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/typescript-estree/dist/convert.d.ts.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA6B5C,OAAO,KAAK,EACV,aAAa,EACb,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAKtE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,GAAG,EAAE,CAAC,sBAAsB,GAC1D,OAAO,CAMT;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,qBAAa,SAAS;;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAK1D,UAAU,IAAI,OAAO;IAOrB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA8BjB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAiFlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,oCAAoC;IAe5C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;;;;OAKG;IACH,OAAO,CAAC,gDAAgD;IAexD;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAmB1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,sBAAsB;IA4C9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0FlB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IAiDvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CA0vFpB"}
|
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA6B5C,OAAO,KAAK,EACV,aAAa,EACb,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,EAAE,MAAM,aAAa,CAAC;AAKtE,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kCAAkC,CAAC,EAAE,OAAO,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,wBAAwB,GAAG,EAAE,CAAC,sBAAsB,GAC1D,OAAO,CAMT;AAED,MAAM,WAAW,OAAO;IACtB,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,qBAAqB,EAAE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CAC7D;AAED,qBAAa,SAAS;;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAEvD,OAAO,CAAC,YAAY,CAAS;IAE7B;;;;;OAKG;gBACS,GAAG,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAK1D,UAAU,IAAI,OAAO;IAOrB,cAAc,IAAI,QAAQ,CAAC,OAAO;IAIlC;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IA8BjB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAiFlB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAItB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,oCAAoC;IAe5C;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAiC9B;;;;;OAKG;IACH,OAAO,CAAC,gDAAgD;IAexD;;;;OAIG;IACH,OAAO,CAAC,kDAAkD;IAmB1D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,sBAAsB;IA4C9B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA0FlB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,+BAA+B;IAiDvC;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IA8BzB,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,uBAAuB;IAQ/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,qBAAqB;IAsB7B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;CAq1FpB"}
|
||||||
70
node_modules/@typescript-eslint/typescript-estree/dist/convert.js
generated
vendored
70
node_modules/@typescript-eslint/typescript-estree/dist/convert.js
generated
vendored
@@ -684,14 +684,15 @@ class Converter {
|
|||||||
body: this.convertChild(node.statement),
|
body: this.convertChild(node.statement),
|
||||||
});
|
});
|
||||||
case SyntaxKind.ForInStatement:
|
case SyntaxKind.ForInStatement:
|
||||||
this.#checkForStatementDeclaration(node.initializer);
|
this.#checkForStatementDeclaration(node.initializer, node.kind);
|
||||||
return this.createNode(node, {
|
return this.createNode(node, {
|
||||||
type: ts_estree_1.AST_NODE_TYPES.ForInStatement,
|
type: ts_estree_1.AST_NODE_TYPES.ForInStatement,
|
||||||
left: this.convertPattern(node.initializer),
|
left: this.convertPattern(node.initializer),
|
||||||
right: this.convertChild(node.expression),
|
right: this.convertChild(node.expression),
|
||||||
body: this.convertChild(node.statement),
|
body: this.convertChild(node.statement),
|
||||||
});
|
});
|
||||||
case SyntaxKind.ForOfStatement:
|
case SyntaxKind.ForOfStatement: {
|
||||||
|
this.#checkForStatementDeclaration(node.initializer, node.kind);
|
||||||
return this.createNode(node, {
|
return this.createNode(node, {
|
||||||
type: ts_estree_1.AST_NODE_TYPES.ForOfStatement,
|
type: ts_estree_1.AST_NODE_TYPES.ForOfStatement,
|
||||||
left: this.convertPattern(node.initializer),
|
left: this.convertPattern(node.initializer),
|
||||||
@@ -700,6 +701,7 @@ class Converter {
|
|||||||
await: Boolean(node.awaitModifier &&
|
await: Boolean(node.awaitModifier &&
|
||||||
node.awaitModifier.kind === SyntaxKind.AwaitKeyword),
|
node.awaitModifier.kind === SyntaxKind.AwaitKeyword),
|
||||||
});
|
});
|
||||||
|
}
|
||||||
// Declarations
|
// Declarations
|
||||||
case SyntaxKind.FunctionDeclaration: {
|
case SyntaxKind.FunctionDeclaration: {
|
||||||
const isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node);
|
const isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node);
|
||||||
@@ -738,11 +740,23 @@ class Converter {
|
|||||||
return this.fixExports(node, result);
|
return this.fixExports(node, result);
|
||||||
}
|
}
|
||||||
case SyntaxKind.VariableDeclaration: {
|
case SyntaxKind.VariableDeclaration: {
|
||||||
|
const definite = !!node.exclamationToken;
|
||||||
|
const init = this.convertChild(node.initializer);
|
||||||
|
const id = this.convertBindingNameWithTypeAnnotation(node.name, node.type, node);
|
||||||
|
if (definite) {
|
||||||
|
if (init) {
|
||||||
|
this.#throwError(node, 'Declarations with initializers cannot also have definite assignment assertions.');
|
||||||
|
}
|
||||||
|
else if (id.type !== ts_estree_1.AST_NODE_TYPES.Identifier ||
|
||||||
|
!id.typeAnnotation) {
|
||||||
|
this.#throwError(node, 'Declarations with definite assignment assertions must also have type annotations.');
|
||||||
|
}
|
||||||
|
}
|
||||||
return this.createNode(node, {
|
return this.createNode(node, {
|
||||||
type: ts_estree_1.AST_NODE_TYPES.VariableDeclarator,
|
type: ts_estree_1.AST_NODE_TYPES.VariableDeclarator,
|
||||||
definite: !!node.exclamationToken,
|
definite,
|
||||||
id: this.convertBindingNameWithTypeAnnotation(node.name, node.type, node),
|
id,
|
||||||
init: this.convertChild(node.initializer),
|
init,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
case SyntaxKind.VariableStatement: {
|
case SyntaxKind.VariableStatement: {
|
||||||
@@ -765,6 +779,31 @@ class Converter {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// Definite assignment only allowed for non-declare let and var
|
||||||
|
if (result.declare ||
|
||||||
|
['using', 'await using', 'const'].includes(result.kind)) {
|
||||||
|
node.declarationList.declarations.forEach((declaration, i) => {
|
||||||
|
if (result.declarations[i].definite) {
|
||||||
|
this.#throwError(declaration, `A definite assignment assertion '!' is not permitted in this context.`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (result.declare) {
|
||||||
|
node.declarationList.declarations.forEach((declaration, i) => {
|
||||||
|
if (result.declarations[i].init &&
|
||||||
|
(['let', 'var'].includes(result.kind) ||
|
||||||
|
result.declarations[i].id.typeAnnotation)) {
|
||||||
|
this.#throwError(declaration, `Initializers are not permitted in ambient contexts.`);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// Theoretically, only certain initializers are allowed for declare const,
|
||||||
|
// (TS1254: A 'const' initializer in an ambient context must be a string
|
||||||
|
// or numeric literal or literal enum reference.) but we just allow
|
||||||
|
// all expressions
|
||||||
|
}
|
||||||
|
// Note! No-declare does not mean the variable is not ambient, because
|
||||||
|
// it can be further nested in other declare contexts. Therefore we cannot
|
||||||
|
// check for const initializers.
|
||||||
/**
|
/**
|
||||||
* Semantically, decorators are not allowed on variable declarations,
|
* Semantically, decorators are not allowed on variable declarations,
|
||||||
* Pre 4.8 TS would include them in the AST, so we did as well.
|
* Pre 4.8 TS would include them in the AST, so we did as well.
|
||||||
@@ -2596,12 +2635,29 @@ class Converter {
|
|||||||
}
|
}
|
||||||
throw (0, node_utils_1.createError)(message, this.ast, start, end);
|
throw (0, node_utils_1.createError)(message, this.ast, start, end);
|
||||||
}
|
}
|
||||||
#checkForStatementDeclaration(initializer) {
|
#checkForStatementDeclaration(initializer, kind) {
|
||||||
|
const loop = kind === ts.SyntaxKind.ForInStatement ? 'for...in' : 'for...of';
|
||||||
if (ts.isVariableDeclarationList(initializer)) {
|
if (ts.isVariableDeclarationList(initializer)) {
|
||||||
if ((initializer.flags & ts.NodeFlags.Using) !== 0) {
|
if (initializer.declarations.length !== 1) {
|
||||||
|
this.#throwError(initializer, `Only a single variable declaration is allowed in a '${loop}' statement.`);
|
||||||
|
}
|
||||||
|
const declaration = initializer.declarations[0];
|
||||||
|
if (declaration.initializer) {
|
||||||
|
this.#throwError(declaration, `The variable declaration of a '${loop}' statement cannot have an initializer.`);
|
||||||
|
}
|
||||||
|
else if (declaration.type) {
|
||||||
|
this.#throwError(declaration, `The variable declaration of a '${loop}' statement cannot have a type annotation.`);
|
||||||
|
}
|
||||||
|
if (kind === ts.SyntaxKind.ForInStatement &&
|
||||||
|
initializer.flags & ts.NodeFlags.Using) {
|
||||||
this.#throwError(initializer, "The left-hand side of a 'for...in' statement cannot be a 'using' declaration.");
|
this.#throwError(initializer, "The left-hand side of a 'for...in' statement cannot be a 'using' declaration.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (!(0, node_utils_1.isValidAssignmentTarget)(initializer) &&
|
||||||
|
initializer.kind !== ts.SyntaxKind.ObjectLiteralExpression &&
|
||||||
|
initializer.kind !== ts.SyntaxKind.ArrayLiteralExpression) {
|
||||||
|
this.#throwError(initializer, `The left-hand side of a '${loop}' statement must be a variable or a property access.`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.Converter = Converter;
|
exports.Converter = Converter;
|
||||||
|
|||||||
2
node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map
generated
vendored
2
node_modules/@typescript-eslint/typescript-estree/dist/convert.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/typescript-estree/dist/node-utils.d.ts.map
generated
vendored
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user