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
|
||||
with:
|
||||
languages: javascript
|
||||
tools: ${{ steps.prepare-test.outputs.tools-url }}
|
||||
- name: Fail
|
||||
# We want this job to pass if the Action correctly uploads the SARIF file for
|
||||
# the failed run.
|
||||
|
||||
@@ -28,8 +28,7 @@ fi
|
||||
echo "Getting checks for $GITHUB_SHA"
|
||||
|
||||
# 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 | .[].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')"
|
||||
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')"
|
||||
|
||||
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.
|
||||
|
||||
## 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
|
||||
|
||||
- _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/)."
|
||||
|
||||
## 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.24.11` | `v2.16.6` | Enterprise Server 3.13 |
|
||||
| `3.22.12` | `2.15.5` | Enterprise Server 3.12 |
|
||||
| `2.22.1` | `2.14.6` | Enterprise Server 3.11 |
|
||||
| `2.20.3` | `2.13.5` | Enterprise Server 3.10 |
|
||||
| `v3.25.11` | `2.17.6` | Enterprise Server 3.14 |
|
||||
| `v3.24.11` | `2.16.6` | Enterprise Server 3.13 |
|
||||
| `v3.22.12` | `2.15.5` | Enterprise Server 3.12 |
|
||||
| `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.
|
||||
|
||||
|
||||
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) {
|
||||
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");
|
||||
if (process.platform === "win32") {
|
||||
codeqlCmd += ".exe";
|
||||
@@ -131,7 +131,7 @@ async function setupCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliV
|
||||
cachedCodeQL = await getCodeQLForCmd(codeqlCmd, checkVersion);
|
||||
return {
|
||||
codeql: cachedCodeQL,
|
||||
toolsDownloadDurationMs,
|
||||
toolsDownloadStatusReport,
|
||||
toolsSource,
|
||||
toolsVersion,
|
||||
};
|
||||
@@ -788,7 +788,7 @@ async function runTool(cmd, args = [], opts = {}) {
|
||||
async function generateCodeScanningConfig(config, logger) {
|
||||
const codeScanningConfigFile = getGeneratedCodeScanningConfigPath(config);
|
||||
// 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
|
||||
if (config.augmentationProperties.queriesInput) {
|
||||
if (config.augmentationProperties.queriesInputCombines) {
|
||||
@@ -832,9 +832,6 @@ async function generateCodeScanningConfig(config, logger) {
|
||||
fs.writeFileSync(codeScanningConfigFile, yaml.dump(augmentedConfig));
|
||||
return codeScanningConfigFile;
|
||||
}
|
||||
function cloneObject(obj) {
|
||||
return JSON.parse(JSON.stringify(obj));
|
||||
}
|
||||
// This constant sets the size of each TRAP cache in megabytes.
|
||||
const TRAP_CACHE_SIZE_MB = 1024;
|
||||
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.is(result.toolsVersion, `0.0.0-${version}`);
|
||||
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);
|
||||
});
|
||||
@@ -118,7 +118,7 @@ function mockApiDetails(apiDetails) {
|
||||
t.assert(toolcache.find("CodeQL", `2.14.0`));
|
||||
t.is(result.toolsVersion, `2.14.0`);
|
||||
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) => {
|
||||
@@ -136,7 +136,7 @@ function mockApiDetails(apiDetails) {
|
||||
t.assert(toolcache.find("CodeQL", "0.0.0-20200610"));
|
||||
t.deepEqual(result.toolsVersion, "0.0.0-20200610");
|
||||
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 = [
|
||||
@@ -162,7 +162,7 @@ for (const { tagName, expectedToolcacheVersion, } of EXPLICITLY_REQUESTED_BUNDLE
|
||||
t.assert(toolcache.find("CodeQL", expectedToolcacheVersion));
|
||||
t.deepEqual(result.toolsVersion, expectedToolcacheVersion);
|
||||
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);
|
||||
t.is(result.toolsVersion, testing_utils_1.SAMPLE_DEFAULT_CLI_VERSION.cliVersion);
|
||||
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);
|
||||
t.deepEqual(result.toolsVersion, "0.0.0-20200601");
|
||||
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");
|
||||
t.is(cachedVersions.length, 1);
|
||||
});
|
||||
@@ -224,7 +224,7 @@ for (const toolcacheVersion of [
|
||||
}, (0, logging_1.getRunnerLogger)(true), false);
|
||||
t.deepEqual(result.toolsVersion, defaults.cliVersion);
|
||||
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");
|
||||
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);
|
||||
t.deepEqual(result.toolsVersion, defaults.cliVersion);
|
||||
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");
|
||||
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);
|
||||
t.is(result.toolsVersion, "0.0.0-20230203");
|
||||
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");
|
||||
t.is(cachedVersions.length, 1);
|
||||
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.validatePackSpecification = validatePackSpecification;
|
||||
exports.initConfig = initConfig;
|
||||
exports.parseRegistriesWithoutCredentials = parseRegistriesWithoutCredentials;
|
||||
exports.getPathToParsedConfigFile = getPathToParsedConfigFile;
|
||||
exports.getConfig = getConfig;
|
||||
exports.generateRegistries = generateRegistries;
|
||||
@@ -507,6 +508,12 @@ function parseRegistries(registriesInput) {
|
||||
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) {
|
||||
// If the path starts with ./, look locally
|
||||
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",
|
||||
"cliVersion": "2.18.1",
|
||||
"priorBundleVersion": "codeql-bundle-v2.18.0",
|
||||
"priorCliVersion": "2.18.0"
|
||||
"bundleVersion": "codeql-bundle-v2.18.2",
|
||||
"cliVersion": "2.18.2",
|
||||
"priorBundleVersion": "codeql-bundle-v2.18.1",
|
||||
"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) {
|
||||
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,
|
||||
// store the diagnostic in memory and write it later.
|
||||
if ((0, fs_1.existsSync)(databasePath)) {
|
||||
@@ -58,11 +60,16 @@ function addDiagnostic(config, language, diagnostic) {
|
||||
*/
|
||||
function writeDiagnostic(config, language, diagnostic) {
|
||||
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 {
|
||||
// Create the directory if it doesn't exist yet.
|
||||
(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));
|
||||
}
|
||||
catch (err) {
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../src/diagnostics.ts"],"names":[],"mappings":"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"}
|
||||
{"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 actions_util_1 = require("./actions-util");
|
||||
const api_client_1 = require("./api-client");
|
||||
const configUtils = __importStar(require("./config-utils"));
|
||||
const diagnostics_1 = require("./diagnostics");
|
||||
const environment_1 = require("./environment");
|
||||
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 util_1 = require("./util");
|
||||
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);
|
||||
if (statusReportBase === undefined) {
|
||||
return;
|
||||
@@ -57,9 +58,9 @@ async function sendCompletedStatusReport(startedAt, config, toolsDownloadDuratio
|
||||
workflow_languages: workflowLanguages || "",
|
||||
};
|
||||
const initToolsDownloadFields = {};
|
||||
if (toolsDownloadDurationMs !== undefined) {
|
||||
if (toolsDownloadStatusReport !== undefined) {
|
||||
initToolsDownloadFields.tools_download_duration_ms =
|
||||
toolsDownloadDurationMs;
|
||||
toolsDownloadStatusReport.downloadDurationMs;
|
||||
}
|
||||
if (toolsFeatureFlagsValid !== undefined) {
|
||||
initToolsDownloadFields.tools_feature_flags_valid = toolsFeatureFlagsValid;
|
||||
@@ -82,6 +83,24 @@ async function sendCompletedStatusReport(startedAt, config, toolsDownloadDuratio
|
||||
: queriesInput;
|
||||
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`
|
||||
const initWithConfigStatusReport = {
|
||||
...initStatusReport,
|
||||
@@ -89,9 +108,12 @@ async function sendCompletedStatusReport(startedAt, config, toolsDownloadDuratio
|
||||
paths,
|
||||
paths_ignore: pathsIgnore,
|
||||
queries: queries.join(","),
|
||||
packs: JSON.stringify(packs),
|
||||
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_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)({
|
||||
...initWithConfigStatusReport,
|
||||
@@ -108,7 +130,7 @@ async function run() {
|
||||
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
|
||||
let config;
|
||||
let codeql;
|
||||
let toolsDownloadDurationMs;
|
||||
let toolsDownloadStatusReport;
|
||||
let toolsFeatureFlagsValid;
|
||||
let toolsSource;
|
||||
let toolsVersion;
|
||||
@@ -123,7 +145,9 @@ async function run() {
|
||||
(0, util_1.checkActionVersion)((0, actions_util_1.getActionVersion)(), gitHubVersion);
|
||||
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);
|
||||
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");
|
||||
try {
|
||||
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;
|
||||
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;
|
||||
toolsDownloadDurationMs = initCodeQLResult.toolsDownloadDurationMs;
|
||||
toolsDownloadStatusReport = initCodeQLResult.toolsDownloadStatusReport;
|
||||
toolsVersion = initCodeQLResult.toolsVersion;
|
||||
toolsSource = initCodeQLResult.toolsSource;
|
||||
core.startGroup("Validating workflow");
|
||||
@@ -182,6 +206,20 @@ async function run() {
|
||||
}
|
||||
try {
|
||||
(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
|
||||
const goFlags = process.env["GOFLAGS"];
|
||||
if (goFlags) {
|
||||
@@ -330,13 +368,13 @@ async function run() {
|
||||
catch (unwrappedError) {
|
||||
const error = (0, util_1.wrapError)(unwrappedError);
|
||||
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;
|
||||
}
|
||||
finally {
|
||||
(0, diagnostics_1.logUnwrittenDiagnostics)();
|
||||
}
|
||||
await sendCompletedStatusReport(startedAt, config, toolsDownloadDurationMs, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger);
|
||||
await sendCompletedStatusReport(startedAt, config, toolsDownloadStatusReport, toolsFeatureFlagsValid, toolsSource, toolsVersion, logger);
|
||||
}
|
||||
function getTrapCachingEnabled() {
|
||||
// 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"));
|
||||
async function initCodeQL(toolsInput, apiDetails, tempDir, variant, defaultCliVersion, logger) {
|
||||
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();
|
||||
logger.endGroup();
|
||||
return { codeql, toolsDownloadDurationMs, toolsSource, toolsVersion };
|
||||
return { codeql, toolsDownloadStatusReport, toolsSource, toolsVersion };
|
||||
}
|
||||
async function initConfig(inputs, codeql) {
|
||||
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 toolsDownloadStart = perf_hooks_1.performance.now();
|
||||
const archivedBundlePath = await toolcache.downloadTool(codeqlURL, dest, authorization, finalHeaders);
|
||||
const toolsDownloadDurationMs = Math.round(perf_hooks_1.performance.now() - toolsDownloadStart);
|
||||
logger.debug(`Finished downloading CodeQL bundle to ${archivedBundlePath} (${toolsDownloadDurationMs} ms).`);
|
||||
const downloadDurationMs = Math.round(perf_hooks_1.performance.now() - toolsDownloadStart);
|
||||
logger.debug(`Finished downloading CodeQL bundle to ${archivedBundlePath} (${downloadDurationMs} ms).`);
|
||||
logger.debug("Extracting CodeQL bundle.");
|
||||
const extractionStart = perf_hooks_1.performance.now();
|
||||
const extractedBundlePath = await toolcache.extractTar(archivedBundlePath);
|
||||
const extractionMs = Math.round(perf_hooks_1.performance.now() - extractionStart);
|
||||
logger.debug(`Finished extracting CodeQL bundle to ${extractedBundlePath} (${extractionMs} ms).`);
|
||||
const extractionDurationMs = Math.round(perf_hooks_1.performance.now() - extractionStart);
|
||||
logger.debug(`Finished extracting CodeQL bundle to ${extractedBundlePath} (${extractionDurationMs} ms).`);
|
||||
await cleanUpGlob(archivedBundlePath, "CodeQL bundle archive", logger);
|
||||
const bundleVersion = maybeBundleVersion ?? tryGetBundleVersionFromUrl(codeqlURL, logger);
|
||||
if (bundleVersion === undefined) {
|
||||
logger.debug("Could not cache CodeQL tools because we could not determine the bundle version from the " +
|
||||
`URL ${codeqlURL}.`);
|
||||
return {
|
||||
toolsVersion: maybeCliVersion ?? "unknown",
|
||||
codeqlFolder: extractedBundlePath,
|
||||
toolsDownloadDurationMs,
|
||||
statusReport: {
|
||||
downloadDurationMs,
|
||||
extractionDurationMs,
|
||||
},
|
||||
toolsVersion: maybeCliVersion ?? "unknown",
|
||||
};
|
||||
}
|
||||
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);
|
||||
}
|
||||
return {
|
||||
toolsVersion: maybeCliVersion ?? toolcacheVersion,
|
||||
codeqlFolder: toolcachedBundlePath,
|
||||
toolsDownloadDurationMs,
|
||||
statusReport: {
|
||||
downloadDurationMs,
|
||||
extractionDurationMs,
|
||||
},
|
||||
toolsVersion: maybeCliVersion ?? toolcacheVersion,
|
||||
};
|
||||
};
|
||||
exports.downloadCodeQL = downloadCodeQL;
|
||||
@@ -471,7 +477,7 @@ async function setupCodeQLBundle(toolsInput, apiDetails, tempDir, variant, defau
|
||||
const source = await getCodeQLSource(toolsInput, defaultCliVersion, apiDetails, variant, logger);
|
||||
let codeqlFolder;
|
||||
let toolsVersion = source.toolsVersion;
|
||||
let toolsDownloadDurationMs;
|
||||
let toolsDownloadStatusReport;
|
||||
let toolsSource;
|
||||
switch (source.sourceType) {
|
||||
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);
|
||||
toolsVersion = result.toolsVersion;
|
||||
codeqlFolder = result.codeqlFolder;
|
||||
toolsDownloadDurationMs = result.toolsDownloadDurationMs;
|
||||
toolsDownloadStatusReport = result.statusReport;
|
||||
toolsSource = ToolsSource.Download;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
util.assertNever(source);
|
||||
}
|
||||
return { codeqlFolder, toolsDownloadDurationMs, toolsSource, toolsVersion };
|
||||
return { codeqlFolder, toolsDownloadStatusReport, toolsSource, toolsVersion };
|
||||
}
|
||||
async function cleanUpGlob(glob, name, logger) {
|
||||
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
|
||||
// during testing from being called.
|
||||
sinon.stub(setupCodeql, "downloadCodeQL").resolves({
|
||||
toolsVersion: testing_utils_1.LINKED_CLI_VERSION.cliVersion,
|
||||
codeqlFolder: "codeql",
|
||||
toolsDownloadDurationMs: 200,
|
||||
statusReport: {
|
||||
downloadDurationMs: 200,
|
||||
extractionDurationMs: 300,
|
||||
},
|
||||
toolsVersion: testing_utils_1.LINKED_CLI_VERSION.cliVersion,
|
||||
});
|
||||
await (0, util_1.withTmpDir)(async (tmpDir) => {
|
||||
(0, testing_utils_1.setupActionsVars)(tmpDir, tmpDir);
|
||||
@@ -138,9 +141,12 @@ ava_1.default.beforeEach(() => {
|
||||
// Stub the downloadCodeQL function to prevent downloading artefacts
|
||||
// during testing from being called.
|
||||
sinon.stub(setupCodeql, "downloadCodeQL").resolves({
|
||||
toolsVersion: expectedVersion,
|
||||
codeqlFolder: "codeql",
|
||||
toolsDownloadDurationMs: 200,
|
||||
statusReport: {
|
||||
downloadDurationMs: 200,
|
||||
extractionDurationMs: 300,
|
||||
},
|
||||
toolsVersion: expectedVersion,
|
||||
});
|
||||
await (0, util_1.withTmpDir)(async (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.checkDiskUsage = checkDiskUsage;
|
||||
exports.checkActionVersion = checkActionVersion;
|
||||
exports.cloneObject = cloneObject;
|
||||
const fs = __importStar(require("fs"));
|
||||
const os = __importStar(require("os"));
|
||||
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. */
|
||||
BuildMode["Manual"] = "manual";
|
||||
})(BuildMode || (exports.BuildMode = BuildMode = {}));
|
||||
function cloneObject(obj) {
|
||||
return JSON.parse(JSON.stringify(obj));
|
||||
}
|
||||
//# 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",
|
||||
"version": "3.26.0",
|
||||
"version": "3.26.3",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
@@ -455,9 +455,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "9.8.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz",
|
||||
"integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==",
|
||||
"version": "9.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.9.0.tgz",
|
||||
"integrity": "sha512-hhetes6ZHP3BlXLxmd8K2SNgkhNSi+UcecbnwWKwpP7kyi/uC75DJ1lOOBO3xrC4jyojtGE3YxKZPHfk4yrgug==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -916,16 +916,16 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.0.1.tgz",
|
||||
"integrity": "sha512-5g3Y7GDFsJAnY4Yhvk8sZtFfV6YNF2caLzjrRPUBzewjPCaj0yokePB4LJSobyCzGMzjZZYFbwuzbfDHlimXbQ==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.1.0.tgz",
|
||||
"integrity": "sha512-LlNBaHFCEBPHyD4pZXb35mzjGkuGKXU5eeCA1SxvHfiRES0E82dOounfVpL4DCqYvJEKab0bZIA0gCRpdLKkCw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.10.0",
|
||||
"@typescript-eslint/scope-manager": "8.0.1",
|
||||
"@typescript-eslint/type-utils": "8.0.1",
|
||||
"@typescript-eslint/utils": "8.0.1",
|
||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
||||
"@typescript-eslint/scope-manager": "8.1.0",
|
||||
"@typescript-eslint/type-utils": "8.1.0",
|
||||
"@typescript-eslint/utils": "8.1.0",
|
||||
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^5.3.1",
|
||||
"natural-compare": "^1.4.0",
|
||||
@@ -949,15 +949,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.0.1.tgz",
|
||||
"integrity": "sha512-5IgYJ9EO/12pOUwiBKFkpU7rS3IU21mtXzB81TNwq2xEybcmAZrE9qwDtsb5uQd9aVO9o0fdabFyAmKveXyujg==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.1.0.tgz",
|
||||
"integrity": "sha512-U7iTAtGgJk6DPX9wIWPPOlt1gO57097G06gIcl0N0EEnNw8RGD62c+2/DiP/zL7KrkqnnqF7gtFGR7YgzPllTA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "8.0.1",
|
||||
"@typescript-eslint/types": "8.0.1",
|
||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
||||
"@typescript-eslint/scope-manager": "8.1.0",
|
||||
"@typescript-eslint/types": "8.1.0",
|
||||
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@@ -977,13 +977,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.1.tgz",
|
||||
"integrity": "sha512-NpixInP5dm7uukMiRyiHjRKkom5RIFA4dfiHvalanD2cF0CLUuQqxfg8PtEUo9yqJI2bBhF+pcSafqnG3UBnRQ==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.1.0.tgz",
|
||||
"integrity": "sha512-DsuOZQji687sQUjm4N6c9xABJa7fjvfIdjqpSIIVOgaENf2jFXiM9hIBZOL3hb6DHK9Nvd2d7zZnoMLf9e0OtQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.0.1",
|
||||
"@typescript-eslint/visitor-keys": "8.0.1"
|
||||
"@typescript-eslint/types": "8.1.0",
|
||||
"@typescript-eslint/visitor-keys": "8.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -994,13 +994,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/type-utils": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.0.1.tgz",
|
||||
"integrity": "sha512-+/UT25MWvXeDX9YaHv1IS6KI1fiuTto43WprE7pgSMswHbn1Jm9GEM4Txp+X74ifOWV8emu2AWcbLhpJAvD5Ng==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.1.0.tgz",
|
||||
"integrity": "sha512-oLYvTxljVvsMnldfl6jIKxTaU7ok7km0KDrwOt1RHYu6nxlhN3TIx8k5Q52L6wR33nOwDgM7VwW1fT1qMNfFIA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
||||
"@typescript-eslint/utils": "8.0.1",
|
||||
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||
"@typescript-eslint/utils": "8.1.0",
|
||||
"debug": "^4.3.4",
|
||||
"ts-api-utils": "^1.3.0"
|
||||
},
|
||||
@@ -1018,9 +1018,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.1.tgz",
|
||||
"integrity": "sha512-PpqTVT3yCA/bIgJ12czBuE3iBlM3g4inRSC5J0QOdQFAn07TYrYEQBBKgXH1lQpglup+Zy6c1fxuwTk4MTNKIw==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.1.0.tgz",
|
||||
"integrity": "sha512-q2/Bxa0gMOu/2/AKALI0tCKbG2zppccnRIRCW6BaaTlRVaPKft4oVYPp7WOPpcnsgbr0qROAVCVKCvIQ0tbWog==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -1031,13 +1031,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.1.tgz",
|
||||
"integrity": "sha512-8V9hriRvZQXPWU3bbiUV4Epo7EvgM6RTs+sUmxp5G//dBGy402S7Fx0W0QkB2fb4obCF8SInoUzvTYtc3bkb5w==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.1.0.tgz",
|
||||
"integrity": "sha512-NTHhmufocEkMiAord/g++gWKb0Fr34e9AExBRdqgWdVBaKoei2dIyYKD9Q0jBnvfbEA5zaf8plUFMUH6kQ0vGg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.0.1",
|
||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
||||
"@typescript-eslint/types": "8.1.0",
|
||||
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||
"debug": "^4.3.4",
|
||||
"globby": "^11.1.0",
|
||||
"is-glob": "^4.0.3",
|
||||
@@ -1083,15 +1083,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/utils": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.1.tgz",
|
||||
"integrity": "sha512-CBFR0G0sCt0+fzfnKaciu9IBsKvEKYwN9UZ+eeogK1fYHg4Qxk1yf/wLQkLXlq8wbU2dFlgAesxt8Gi76E8RTA==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.1.0.tgz",
|
||||
"integrity": "sha512-ypRueFNKTIFwqPeJBfeIpxZ895PQhNyH4YID6js0UoBImWYoSjBsahUn9KMiJXh94uOjVBgHD9AmkyPsPnFwJA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.4.0",
|
||||
"@typescript-eslint/scope-manager": "8.0.1",
|
||||
"@typescript-eslint/types": "8.0.1",
|
||||
"@typescript-eslint/typescript-estree": "8.0.1"
|
||||
"@typescript-eslint/scope-manager": "8.1.0",
|
||||
"@typescript-eslint/types": "8.1.0",
|
||||
"@typescript-eslint/typescript-estree": "8.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -1105,12 +1105,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.1.tgz",
|
||||
"integrity": "sha512-W5E+o0UfUcK5EgchLZsyVWqARmsM7v54/qEq6PY3YI5arkgmCzHiuk0zKSJJbm71V0xdRna4BGomkCTXz2/LkQ==",
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.1.0.tgz",
|
||||
"integrity": "sha512-ba0lNI19awqZ5ZNKh6wCModMwoZs457StTebQ0q1NP58zSi2F6MOZRXwfKZy+jB78JNJ/WH8GSh2IQNzXX8Nag==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.0.1",
|
||||
"@typescript-eslint/types": "8.1.0",
|
||||
"eslint-visitor-keys": "^3.4.3"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1165,8 +1165,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/adm-zip": {
|
||||
"version": "0.5.14",
|
||||
"license": "MIT",
|
||||
"version": "0.5.15",
|
||||
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.15.tgz",
|
||||
"integrity": "sha512-jYPWSeOA8EFoZnucrKCNihqBjoEGQSU4HKgHYQgKNEQ0pQF9a/DYuo/+fAxY76k4qe75LUlLWpAM1QWcBMTOKw==",
|
||||
"engines": {
|
||||
"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",
|
||||
"version": "9.8.0",
|
||||
"version": "9.9.0",
|
||||
"description": "ESLint JavaScript language implementation",
|
||||
"main": "./src/index.js",
|
||||
"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:
|
||||
return 'constructor';
|
||||
case utils_1.AST_NODE_TYPES.TSAbstractPropertyDefinition:
|
||||
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
||||
return node.readonly ? 'readonly-field' : 'field';
|
||||
case utils_1.AST_NODE_TYPES.TSAbstractAccessorProperty:
|
||||
case utils_1.AST_NODE_TYPES.AccessorProperty:
|
||||
return 'accessor';
|
||||
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
||||
@@ -254,8 +256,6 @@ function getNodeType(node) {
|
||||
: node.readonly
|
||||
? 'readonly-field'
|
||||
: 'field';
|
||||
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
||||
return node.readonly ? 'readonly-field' : 'field';
|
||||
case utils_1.AST_NODE_TYPES.TSIndexSignature:
|
||||
return node.readonly ? 'readonly-signature' : 'signature';
|
||||
case utils_1.AST_NODE_TYPES.StaticBlock:
|
||||
@@ -286,7 +286,9 @@ function getMemberName(node, sourceCode) {
|
||||
switch (node.type) {
|
||||
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
||||
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.AccessorProperty:
|
||||
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
||||
return getMemberRawName(node, sourceCode);
|
||||
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
||||
@@ -317,7 +319,9 @@ function isMemberOptional(node) {
|
||||
switch (node.type) {
|
||||
case utils_1.AST_NODE_TYPES.TSPropertySignature:
|
||||
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.AccessorProperty:
|
||||
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
||||
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
||||
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
|
||||
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;
|
||||
const scope = 'static' in node && node.static
|
||||
? 'static'
|
||||
@@ -387,6 +392,7 @@ function getRank(node, orderConfig, supportsModifiers) {
|
||||
(type === 'readonly-field' ||
|
||||
type === 'field' ||
|
||||
type === 'method' ||
|
||||
type === 'accessor' ||
|
||||
type === 'get' ||
|
||||
type === 'set')) {
|
||||
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
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/naming-convention.js
generated
vendored
@@ -165,14 +165,12 @@ exports.default = (0, util_1.createRule)({
|
||||
const identifiers = getIdentifiersFromPattern(node.id);
|
||||
const baseModifiers = new Set();
|
||||
const parent = node.parent;
|
||||
if (parent.type === utils_1.AST_NODE_TYPES.VariableDeclaration) {
|
||||
if (parent.kind === 'const') {
|
||||
baseModifiers.add(naming_convention_utils_1.Modifiers.const);
|
||||
}
|
||||
if (isGlobal(context.sourceCode.getScope(node))) {
|
||||
baseModifiers.add(naming_convention_utils_1.Modifiers.global);
|
||||
}
|
||||
}
|
||||
identifiers.forEach(id => {
|
||||
const modifiers = new Set(baseModifiers);
|
||||
if (isDestructured(id)) {
|
||||
|
||||
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
21
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js
generated
vendored
21
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,7 +153,15 @@ exports.default = (0, util_1.createRule)({
|
||||
suggest: [
|
||||
{
|
||||
messageId: 'floatingFixAwait',
|
||||
fix(fixer) {
|
||||
fix: (fixer) => addAwait(fixer, expression, node),
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
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');
|
||||
@@ -162,14 +174,7 @@ exports.default = (0, util_1.createRule)({
|
||||
fixer.insertTextBefore(node, 'await ('),
|
||||
fixer.insertTextAfterRange([expression.range[1], expression.range[1]], ')'),
|
||||
];
|
||||
},
|
||||
},
|
||||
],
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
function isKnownSafePromiseReturn(node) {
|
||||
if (node.type !== utils_1.AST_NODE_TYPES.CallExpression) {
|
||||
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 {
|
||||
arguments: true,
|
||||
attributes: true,
|
||||
inheritedMethods: true,
|
||||
properties: true,
|
||||
returns: true,
|
||||
variables: true,
|
||||
@@ -44,6 +45,7 @@ function parseChecksVoidReturn(checksVoidReturn) {
|
||||
return {
|
||||
arguments: checksVoidReturn.arguments ?? true,
|
||||
attributes: checksVoidReturn.attributes ?? true,
|
||||
inheritedMethods: checksVoidReturn.inheritedMethods ?? true,
|
||||
properties: checksVoidReturn.properties ?? true,
|
||||
returns: checksVoidReturn.returns ?? true,
|
||||
variables: checksVoidReturn.variables ?? true,
|
||||
@@ -60,10 +62,11 @@ exports.default = (0, util_1.createRule)({
|
||||
},
|
||||
messages: {
|
||||
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.',
|
||||
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.',
|
||||
spread: 'Expected a non-Promise value to be spreaded in an object.',
|
||||
},
|
||||
@@ -83,6 +86,7 @@ exports.default = (0, util_1.createRule)({
|
||||
properties: {
|
||||
arguments: { type: 'boolean' },
|
||||
attributes: { type: 'boolean' },
|
||||
inheritedMethods: { type: 'boolean' },
|
||||
properties: { type: 'boolean' },
|
||||
returns: { type: 'boolean' },
|
||||
variables: { type: 'boolean' },
|
||||
@@ -131,6 +135,11 @@ exports.default = (0, util_1.createRule)({
|
||||
...(checksVoidReturn.attributes && {
|
||||
JSXAttribute: checkJSXAttribute,
|
||||
}),
|
||||
...(checksVoidReturn.inheritedMethods && {
|
||||
ClassDeclaration: checkClassLikeOrInterfaceNode,
|
||||
ClassExpression: checkClassLikeOrInterfaceNode,
|
||||
TSInterfaceDeclaration: checkClassLikeOrInterfaceNode,
|
||||
}),
|
||||
...(checksVoidReturn.properties && {
|
||||
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) {
|
||||
if (node.value == null ||
|
||||
node.value.type !== utils_1.AST_NODE_TYPES.JSXExpressionContainer) {
|
||||
@@ -592,4 +646,17 @@ function returnsThenable(checker, node) {
|
||||
.unionTypeParts(type)
|
||||
.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
|
||||
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)) {
|
||||
return true;
|
||||
}
|
||||
if ((node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
||||
node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
||||
if ((node.parent.parent.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
||||
node.parent.parent.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
||||
isInRange(node.parent.parent.right, location)) {
|
||||
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: [],
|
||||
meta: {
|
||||
docs: {
|
||||
description: 'Disallow type parameters that only appear once',
|
||||
description: "Disallow type parameters that aren't used multiple times",
|
||||
requiresTypeChecking: true,
|
||||
recommended: 'strict',
|
||||
},
|
||||
messages: {
|
||||
sole: 'Type parameter {{name}} is used only once.',
|
||||
sole: 'Type parameter {{name}} is {{uses}} in the {{descriptor}} signature.',
|
||||
},
|
||||
schema: [],
|
||||
type: 'problem',
|
||||
@@ -44,20 +44,7 @@ exports.default = (0, util_1.createRule)({
|
||||
name: 'no-unnecessary-type-parameters',
|
||||
create(context) {
|
||||
const parserServices = (0, util_1.getParserServices)(context);
|
||||
return {
|
||||
[[
|
||||
'ArrowFunctionExpression[typeParameters]',
|
||||
'ClassDeclaration[typeParameters]',
|
||||
'ClassExpression[typeParameters]',
|
||||
'FunctionDeclaration[typeParameters]',
|
||||
'FunctionExpression[typeParameters]',
|
||||
'TSCallSignatureDeclaration[typeParameters]',
|
||||
'TSConstructorType[typeParameters]',
|
||||
'TSDeclareFunction[typeParameters]',
|
||||
'TSEmptyBodyFunctionExpression[typeParameters]',
|
||||
'TSFunctionType[typeParameters]',
|
||||
'TSMethodSignature[typeParameters]',
|
||||
].join(', ')](node) {
|
||||
function checkNode(node, descriptor) {
|
||||
const tsNode = parserServices.esTreeNodeToTSNodeMap.get(node);
|
||||
const checker = parserServices.program.getTypeChecker();
|
||||
let counts;
|
||||
@@ -66,7 +53,7 @@ exports.default = (0, util_1.createRule)({
|
||||
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)) {
|
||||
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.
|
||||
@@ -77,24 +64,50 @@ exports.default = (0, util_1.createRule)({
|
||||
}
|
||||
context.report({
|
||||
data: {
|
||||
descriptor,
|
||||
uses: identifierCounts === 1 ? 'never used' : 'used only once',
|
||||
name: typeParameter.name.text,
|
||||
},
|
||||
node: esTypeParameter,
|
||||
messageId: 'sole',
|
||||
});
|
||||
}
|
||||
}
|
||||
return {
|
||||
[[
|
||||
'ArrowFunctionExpression[typeParameters]',
|
||||
'FunctionDeclaration[typeParameters]',
|
||||
'FunctionExpression[typeParameters]',
|
||||
'TSCallSignatureDeclaration[typeParameters]',
|
||||
'TSConstructorType[typeParameters]',
|
||||
'TSDeclareFunction[typeParameters]',
|
||||
'TSEmptyBodyFunctionExpression[typeParameters]',
|
||||
'TSFunctionType[typeParameters]',
|
||||
'TSMethodSignature[typeParameters]',
|
||||
].join(', ')](node) {
|
||||
checkNode(node, 'function');
|
||||
},
|
||||
[[
|
||||
'ClassDeclaration[typeParameters]',
|
||||
'ClassExpression[typeParameters]',
|
||||
].join(', ')](node) {
|
||||
checkNode(node, 'class');
|
||||
},
|
||||
};
|
||||
},
|
||||
});
|
||||
function isTypeParameterRepeatedInAST(node, references) {
|
||||
function isTypeParameterRepeatedInAST(node, references, startOfBody = Infinity) {
|
||||
let total = 0;
|
||||
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] &&
|
||||
reference.identifier.range[1] > node.range[0]) {
|
||||
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,
|
||||
// namely value-land (non-type) identifiers of the type parameter's type,
|
||||
// and references to different type parameters or values.
|
||||
|
||||
File diff suppressed because one or more lines are too long
37
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-return.js
generated
vendored
37
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,
|
||||
},
|
||||
messages: {
|
||||
unsafeReturn: 'Unsafe return of an {{type}} typed value.',
|
||||
unsafeReturn: 'Unsafe return of a value of type {{type}}.',
|
||||
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.',
|
||||
].join('\n'),
|
||||
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) {
|
||||
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);
|
||||
/* istanbul ignore if */ if (!functionNode) {
|
||||
return;
|
||||
@@ -87,20 +88,31 @@ exports.default = (0, util_1.createRule)({
|
||||
if (!functionType) {
|
||||
functionType = services.getTypeAtLocation(functionNode);
|
||||
}
|
||||
const callSignatures = tsutils.getCallSignaturesOfType(functionType);
|
||||
// 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)
|
||||
if (functionTSNode.type) {
|
||||
for (const signature of tsutils.getCallSignaturesOfType(functionType)) {
|
||||
if (returnNodeType === signature.getReturnType() ||
|
||||
(0, util_1.isTypeFlagSet)(signature.getReturnType(), ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
|
||||
for (const signature of callSignatures) {
|
||||
const signatureReturnType = signature.getReturnType();
|
||||
if (returnNodeType === signatureReturnType ||
|
||||
(0, util_1.isTypeFlagSet)(signatureReturnType, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
|
||||
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) {
|
||||
// Allow cases when the declared return type of the function is either unknown or unknown[]
|
||||
// and the function is returning any or any[].
|
||||
for (const signature of functionType.getCallSignatures()) {
|
||||
for (const signature of callSignatures) {
|
||||
const functionReturnType = signature.getReturnType();
|
||||
if (anyType === util_1.AnyType.Any &&
|
||||
(0, util_1.isTypeUnknownType)(functionReturnType)) {
|
||||
@@ -110,6 +122,15 @@ exports.default = (0, util_1.createRule)({
|
||||
(0, util_1.isTypeUnknownArrayType)(functionReturnType, checker)) {
|
||||
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';
|
||||
const isErrorType = tsutils.isIntrinsicErrorType(returnNodeType);
|
||||
@@ -130,6 +151,8 @@ exports.default = (0, util_1.createRule)({
|
||||
? 'error'
|
||||
: anyType === util_1.AnyType.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)) {
|
||||
return true;
|
||||
}
|
||||
if ((node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
||||
node.parent.parent?.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
||||
if ((node.parent.parent.type === utils_1.AST_NODE_TYPES.ForInStatement ||
|
||||
node.parent.parent.type === utils_1.AST_NODE_TYPES.ForOfStatement) &&
|
||||
isInRange(node.parent.parent.right, location)) {
|
||||
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;
|
||||
}
|
||||
};
|
||||
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];
|
||||
let useSuggestionFixer;
|
||||
if (options.allowPotentiallyUnsafeFixesThatModifyTheReturnTypeIKnowWhatImDoing ===
|
||||
@@ -269,10 +297,22 @@ function getFixer(sourceCode, parserServices, operator, options, chain) {
|
||||
else if (lastOperand.comparisonType === "NotBoolean" /* NullishComparisonType.NotBoolean */) {
|
||||
newCode = `!${newCode}`;
|
||||
}
|
||||
const fix = fixer => fixer.replaceTextRange([chain[0].node.range[0], lastOperand.node.range[1]], newCode);
|
||||
return useSuggestionFixer
|
||||
? { suggest: [{ fix, messageId: 'optionalChainSuggest' }] }
|
||||
: { fix };
|
||||
const reportRange = getReportRange(chain, node.range, sourceCode);
|
||||
const fix = fixer => fixer.replaceTextRange(reportRange, newCode);
|
||||
return {
|
||||
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) {
|
||||
switch (node.type) {
|
||||
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
|
||||
if (chain.length <= 1 ||
|
||||
/* 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) => {
|
||||
if (subChain.length > 1) {
|
||||
const subChainFlat = subChain.flat();
|
||||
(0, checkNullishAndReport_1.checkNullishAndReport)(context, parserServices, options, subChainFlat.slice(0, -1).map(({ node }) => node), {
|
||||
messageId: 'preferOptionalChain',
|
||||
loc: {
|
||||
start: subChainFlat[0].node.loc.start,
|
||||
end: subChainFlat[subChainFlat.length - 1].node.loc.end,
|
||||
},
|
||||
...getFixer(context.sourceCode, parserServices, operator, options, subChainFlat),
|
||||
});
|
||||
(0, checkNullishAndReport_1.checkNullishAndReport)(context, parserServices, options, subChainFlat.slice(0, -1).map(({ node }) => node), getReportDescriptor(context.sourceCode, parserServices, node, operator, options, subChainFlat));
|
||||
}
|
||||
// we've reached the end of a chain of logical expressions
|
||||
// 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 = [];
|
||||
for (const operand of operands) {
|
||||
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 = [];
|
||||
}
|
||||
else {
|
||||
@@ -165,7 +165,7 @@ exports.default = (0, util_1.createRule)({
|
||||
}
|
||||
// make sure to check whatever's left
|
||||
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
|
||||
if (/^[`([]/.exec(code) && isMissingSemicolonBefore(node, sourceCode)) {
|
||||
if (/^[`([]/.test(code) && isMissingSemicolonBefore(node, sourceCode)) {
|
||||
code = `;${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("./types"), exports);
|
||||
__exportStar(require("./isAssignee"), exports);
|
||||
__exportStar(require("./getFixOrSuggest"), exports);
|
||||
// this is done for convenience - saves migrating all of the old rules
|
||||
__exportStar(require("@typescript-eslint/type-utils"), exports);
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
displayed_sidebar: rulesSidebar
|
||||
---
|
||||
|
||||
:::danger Deprecated
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
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)`.
|
||||
|
||||
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
|
||||
|
||||
### `checksConditionals`
|
||||
|
||||
Examples of code for this rule with `checksConditionals: true`:
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="❌ Incorrect">
|
||||
|
||||
@@ -81,45 +160,6 @@ while (await promise) {
|
||||
|
||||
### `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`:
|
||||
|
||||
<Tabs>
|
||||
@@ -140,6 +180,15 @@ document.addEventListener('click', async () => {
|
||||
await fetch('/');
|
||||
console.log('synchronous call');
|
||||
});
|
||||
|
||||
interface MySyncInterface {
|
||||
setThing(): void;
|
||||
}
|
||||
class MyClass implements MySyncInterface {
|
||||
async setThing(): Promise<void> {
|
||||
this.thing = await fetchThing();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@@ -182,6 +231,15 @@ document.addEventListener('click', () => {
|
||||
|
||||
handler().catch(handleError);
|
||||
});
|
||||
|
||||
interface MyAsyncInterface {
|
||||
setThing(): Promise<void>;
|
||||
}
|
||||
class MyClass implements MyAsyncInterface {
|
||||
async setThing(): Promise<void> {
|
||||
this.thing = await fetchThing();
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
</TabItem>
|
||||
@@ -189,19 +247,6 @@ document.addEventListener('click', () => {
|
||||
|
||||
### `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`:
|
||||
|
||||
<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
|
||||
|
||||
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';
|
||||
@@ -9,10 +9,10 @@ import TabItem from '@theme/TabItem';
|
||||
>
|
||||
> 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.
|
||||
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`.
|
||||
|
||||
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.
|
||||
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.
|
||||
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[];
|
||||
|
||||
async function foo13() {
|
||||
return Promise.resolve({} as any);
|
||||
}
|
||||
|
||||
// generic position examples
|
||||
function assignability1(): Set<string> {
|
||||
return new Set<any>([1]);
|
||||
@@ -78,6 +82,10 @@ function foo2() {
|
||||
const foo3 = () => [];
|
||||
const foo4 = () => ['a'];
|
||||
|
||||
async function foo5() {
|
||||
return Promise.resolve(1);
|
||||
}
|
||||
|
||||
function assignability1(): Set<string> {
|
||||
return new Set<string>(['foo']);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
displayed_sidebar: rulesSidebar
|
||||
---
|
||||
|
||||
:::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.
|
||||
|
||||
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
|
||||
|
||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
displayed_sidebar: rulesSidebar
|
||||
---
|
||||
|
||||
:::danger Deprecated
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
displayed_sidebar: rulesSidebar
|
||||
---
|
||||
|
||||
:::danger Deprecated
|
||||
|
||||
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
|
||||
|
||||
This rule has been moved to the [ESLint stylistic plugin](https://eslint.style).
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
---
|
||||
displayed_sidebar: rulesSidebar
|
||||
---
|
||||
|
||||
:::danger Deprecated
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
// nullable numbers are considered unsafe by default
|
||||
let num: number | undefined = 0;
|
||||
declare const num: number | undefined;
|
||||
if (num) {
|
||||
console.log('num is defined');
|
||||
}
|
||||
|
||||
// nullable strings are considered unsafe by default
|
||||
let str: string | null = null;
|
||||
declare const str: string | null;
|
||||
if (!str) {
|
||||
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
|
||||
|
||||
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",
|
||||
"version": "8.0.1",
|
||||
"version": "8.1.0",
|
||||
"description": "TypeScript plugin for ESLint",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -60,10 +60,10 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.10.0",
|
||||
"@typescript-eslint/scope-manager": "8.0.1",
|
||||
"@typescript-eslint/type-utils": "8.0.1",
|
||||
"@typescript-eslint/utils": "8.0.1",
|
||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
||||
"@typescript-eslint/scope-manager": "8.1.0",
|
||||
"@typescript-eslint/type-utils": "8.1.0",
|
||||
"@typescript-eslint/utils": "8.1.0",
|
||||
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^5.3.1",
|
||||
"natural-compare": "^1.4.0",
|
||||
@@ -74,8 +74,8 @@
|
||||
"@types/marked": "^5.0.2",
|
||||
"@types/mdast": "^4.0.3",
|
||||
"@types/natural-compare": "*",
|
||||
"@typescript-eslint/rule-schema-to-typescript-types": "8.0.1",
|
||||
"@typescript-eslint/rule-tester": "8.0.1",
|
||||
"@typescript-eslint/rule-schema-to-typescript-types": "8.1.0",
|
||||
"@typescript-eslint/rule-tester": "8.1.0",
|
||||
"ajv": "^6.12.6",
|
||||
"cross-env": "^7.0.3",
|
||||
"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",
|
||||
"version": "8.0.1",
|
||||
"version": "8.1.0",
|
||||
"description": "An ESLint custom parser which leverages TypeScript ESTree",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -52,10 +52,10 @@
|
||||
"eslint": "^8.57.0 || ^9.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "8.0.1",
|
||||
"@typescript-eslint/types": "8.0.1",
|
||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
||||
"@typescript-eslint/visitor-keys": "8.0.1",
|
||||
"@typescript-eslint/scope-manager": "8.1.0",
|
||||
"@typescript-eslint/types": "8.1.0",
|
||||
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||
"@typescript-eslint/visitor-keys": "8.1.0",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"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",
|
||||
"version": "8.0.1",
|
||||
"version": "8.1.0",
|
||||
"description": "TypeScript scope analyser for ESLint",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -46,13 +46,13 @@
|
||||
"typecheck": "npx nx typecheck"
|
||||
},
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "8.0.1",
|
||||
"@typescript-eslint/visitor-keys": "8.0.1"
|
||||
"@typescript-eslint/types": "8.1.0",
|
||||
"@typescript-eslint/visitor-keys": "8.1.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jest/types": "29.6.3",
|
||||
"@types/glob": "*",
|
||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
||||
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||
"glob": "*",
|
||||
"jest-specific-snapshot": "*",
|
||||
"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 enum AnyType {
|
||||
Any = 0,
|
||||
AnyArray = 1,
|
||||
Safe = 2
|
||||
PromiseAny = 1,
|
||||
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`.
|
||||
*/
|
||||
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.
|
||||
*/
|
||||
|
||||
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.isTypeAnyArrayType = isTypeAnyArrayType;
|
||||
exports.isTypeUnknownArrayType = isTypeUnknownArrayType;
|
||||
exports.isAnyOrAnyArrayTypeDiscriminated = isAnyOrAnyArrayTypeDiscriminated;
|
||||
exports.discriminateAnyType = discriminateAnyType;
|
||||
exports.typeIsOrHasBaseType = typeIsOrHasBaseType;
|
||||
exports.isTypeBigIntLiteralType = isTypeBigIntLiteralType;
|
||||
exports.isTypeTemplateLiteralType = isTypeTemplateLiteralType;
|
||||
@@ -122,21 +122,32 @@ function isTypeUnknownArrayType(type, checker) {
|
||||
var AnyType;
|
||||
(function (AnyType) {
|
||||
AnyType[AnyType["Any"] = 0] = "Any";
|
||||
AnyType[AnyType["AnyArray"] = 1] = "AnyArray";
|
||||
AnyType[AnyType["Safe"] = 2] = "Safe";
|
||||
AnyType[AnyType["PromiseAny"] = 1] = "PromiseAny";
|
||||
AnyType[AnyType["AnyArray"] = 2] = "AnyArray";
|
||||
AnyType[AnyType["Safe"] = 3] = "Safe";
|
||||
})(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`.
|
||||
*/
|
||||
function isAnyOrAnyArrayTypeDiscriminated(node, checker) {
|
||||
const type = checker.getTypeAtLocation(node);
|
||||
function discriminateAnyType(type, checker, program, tsNode) {
|
||||
if (isTypeAnyType(type)) {
|
||||
return AnyType.Any;
|
||||
}
|
||||
if (isTypeAnyArrayType(type, checker)) {
|
||||
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;
|
||||
}
|
||||
/**
|
||||
|
||||
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",
|
||||
"version": "8.0.1",
|
||||
"version": "8.1.0",
|
||||
"description": "Type utilities for working with TypeScript + ESLint together",
|
||||
"files": [
|
||||
"dist",
|
||||
@@ -46,14 +46,14 @@
|
||||
"typecheck": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "8.0.1",
|
||||
"@typescript-eslint/utils": "8.0.1",
|
||||
"@typescript-eslint/typescript-estree": "8.1.0",
|
||||
"@typescript-eslint/utils": "8.1.0",
|
||||
"debug": "^4.3.4",
|
||||
"ts-api-utils": "^1.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@jest/types": "29.6.3",
|
||||
"@typescript-eslint/parser": "8.0.1",
|
||||
"@typescript-eslint/parser": "8.1.0",
|
||||
"ajv": "^6.12.6",
|
||||
"downlevel-dts": "*",
|
||||
"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;
|
||||
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 {
|
||||
type: AST_NODE_TYPES.ContinueStatement;
|
||||
label: Identifier | null;
|
||||
@@ -917,11 +929,12 @@ export declare interface LabeledStatement extends BaseNode {
|
||||
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 interface LetOrConstOrVarDeclaration extends BaseNode {
|
||||
export declare type LetOrConstOrVarDeclaration = ConstDeclaration | LetOrVarDeclaredDeclaration | LetOrVarNonDeclaredDeclaration;
|
||||
declare interface LetOrConstOrVarDeclarationBase extends BaseNode {
|
||||
type: AST_NODE_TYPES.VariableDeclaration;
|
||||
/**
|
||||
* The variables declared by this declaration.
|
||||
* Note that there may be 0 declarations (i.e. `const;`).
|
||||
* Always non-empty.
|
||||
* @example
|
||||
* ```ts
|
||||
* let x;
|
||||
@@ -948,11 +961,30 @@ export declare interface LetOrConstOrVarDeclaration extends BaseNode {
|
||||
*/
|
||||
kind: 'const' | 'let' | 'var';
|
||||
}
|
||||
export declare interface LetOrConstOrVarDeclarator extends BaseNode {
|
||||
type: AST_NODE_TYPES.VariableDeclarator;
|
||||
id: BindingName;
|
||||
init: Expression | null;
|
||||
definite: boolean;
|
||||
export declare type LetOrConstOrVarDeclarator = VariableDeclaratorDefiniteAssignment | VariableDeclaratorMaybeInit | VariableDeclaratorNoInit;
|
||||
export declare interface LetOrVarDeclaredDeclaration extends LetOrConstOrVarDeclarationBase {
|
||||
kind: 'let' | 'var';
|
||||
declare: true;
|
||||
/**
|
||||
* 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 {
|
||||
type: AST_TOKEN_TYPES.Line;
|
||||
@@ -1996,57 +2028,8 @@ export declare interface UpdateExpression extends UnaryExpressionBase {
|
||||
operator: '--' | '++';
|
||||
}
|
||||
export declare type UsingDeclaration = UsingInForOfDeclaration | UsingInNormalContextDeclaration;
|
||||
export declare type UsingDeclarator = UsingInForOfDeclarator | UsingInNomalConextDeclarator;
|
||||
export declare interface UsingInForOfDeclaration extends BaseNode {
|
||||
declare interface UsingDeclarationBase 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
|
||||
* 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`
|
||||
* because 'declare' modifier cannot appear on a 'using' declaration.
|
||||
@@ -2062,9 +2045,76 @@ export declare interface UsingInNormalContextDeclaration extends BaseNode {
|
||||
*/
|
||||
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];
|
||||
export declare type VariableDeclaration = LetOrConstOrVarDeclaration | UsingDeclaration;
|
||||
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 {
|
||||
type: AST_NODE_TYPES.WhileStatement;
|
||||
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 {
|
||||
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 {
|
||||
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",
|
||||
"version": "8.0.1",
|
||||
"version": "8.1.0",
|
||||
"description": "Types for the TypeScript-ESTree AST spec",
|
||||
"files": [
|
||||
"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),
|
||||
});
|
||||
case SyntaxKind.ForInStatement:
|
||||
this.#checkForStatementDeclaration(node.initializer);
|
||||
this.#checkForStatementDeclaration(node.initializer, node.kind);
|
||||
return this.createNode(node, {
|
||||
type: ts_estree_1.AST_NODE_TYPES.ForInStatement,
|
||||
left: this.convertPattern(node.initializer),
|
||||
right: this.convertChild(node.expression),
|
||||
body: this.convertChild(node.statement),
|
||||
});
|
||||
case SyntaxKind.ForOfStatement:
|
||||
case SyntaxKind.ForOfStatement: {
|
||||
this.#checkForStatementDeclaration(node.initializer, node.kind);
|
||||
return this.createNode(node, {
|
||||
type: ts_estree_1.AST_NODE_TYPES.ForOfStatement,
|
||||
left: this.convertPattern(node.initializer),
|
||||
@@ -700,6 +701,7 @@ class Converter {
|
||||
await: Boolean(node.awaitModifier &&
|
||||
node.awaitModifier.kind === SyntaxKind.AwaitKeyword),
|
||||
});
|
||||
}
|
||||
// Declarations
|
||||
case SyntaxKind.FunctionDeclaration: {
|
||||
const isDeclare = (0, node_utils_1.hasModifier)(SyntaxKind.DeclareKeyword, node);
|
||||
@@ -738,11 +740,23 @@ class Converter {
|
||||
return this.fixExports(node, result);
|
||||
}
|
||||
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, {
|
||||
type: ts_estree_1.AST_NODE_TYPES.VariableDeclarator,
|
||||
definite: !!node.exclamationToken,
|
||||
id: this.convertBindingNameWithTypeAnnotation(node.name, node.type, node),
|
||||
init: this.convertChild(node.initializer),
|
||||
definite,
|
||||
id,
|
||||
init,
|
||||
});
|
||||
}
|
||||
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,
|
||||
* 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);
|
||||
}
|
||||
#checkForStatementDeclaration(initializer) {
|
||||
#checkForStatementDeclaration(initializer, kind) {
|
||||
const loop = kind === ts.SyntaxKind.ForInStatement ? 'for...in' : 'for...of';
|
||||
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.");
|
||||
}
|
||||
}
|
||||
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;
|
||||
|
||||
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