Merge pull request #2896 from github/update-v3.28.18-b86edfc27
Merge main into releases/v3
This commit is contained in:
commit
ff0a06e83c
207 changed files with 5316 additions and 1052 deletions
2
.github/workflows/post-release-mergeback.yml
vendored
2
.github/workflows/post-release-mergeback.yml
vendored
|
|
@ -168,7 +168,7 @@ jobs:
|
||||||
--draft
|
--draft
|
||||||
|
|
||||||
- name: Generate token
|
- name: Generate token
|
||||||
uses: actions/create-github-app-token@v2.0.2
|
uses: actions/create-github-app-token@v2.0.6
|
||||||
id: app-token
|
id: app-token
|
||||||
with:
|
with:
|
||||||
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
||||||
|
|
|
||||||
2
.github/workflows/update-release-branch.yml
vendored
2
.github/workflows/update-release-branch.yml
vendored
|
|
@ -124,7 +124,7 @@ jobs:
|
||||||
pull-requests: write # needed to create pull request
|
pull-requests: write # needed to create pull request
|
||||||
steps:
|
steps:
|
||||||
- name: Generate token
|
- name: Generate token
|
||||||
uses: actions/create-github-app-token@v2.0.2
|
uses: actions/create-github-app-token@v2.0.6
|
||||||
id: app-token
|
id: app-token
|
||||||
with:
|
with:
|
||||||
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
app-id: ${{ vars.AUTOMATION_APP_ID }}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,12 @@
|
||||||
|
|
||||||
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
|
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
|
||||||
|
|
||||||
|
## 3.28.18 - 16 May 2025
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.21.3. [#2893](https://github.com/github/codeql-action/pull/2893)
|
||||||
|
- Skip validating SARIF produced by CodeQL for improved performance. [#2894](https://github.com/github/codeql-action/pull/2894)
|
||||||
|
- The number of threads and amount of RAM used by CodeQL can now be set via the `CODEQL_THREADS` and `CODEQL_RAM` runner environment variables. If set, these environment variables override the `threads` and `ram` inputs respectively. [#2891](https://github.com/github/codeql-action/pull/2891)
|
||||||
|
|
||||||
## 3.28.17 - 02 May 2025
|
## 3.28.17 - 02 May 2025
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.21.2. [#2872](https://github.com/github/codeql-action/pull/2872)
|
- Update default CodeQL bundle version to 2.21.2. [#2872](https://github.com/github/codeql-action/pull/2872)
|
||||||
|
|
|
||||||
|
|
@ -70,10 +70,11 @@ We typically release new minor versions of the CodeQL Action and Bundle when a n
|
||||||
|
|
||||||
| Minimum CodeQL Action | Minimum CodeQL Bundle Version | GitHub Environment | Notes |
|
| Minimum CodeQL Action | Minimum CodeQL Bundle Version | GitHub Environment | Notes |
|
||||||
|-----------------------|-------------------------------|--------------------|-------|
|
|-----------------------|-------------------------------|--------------------|-------|
|
||||||
| `v3.26.6` | `2.18.4` | Enterprise Server 3.15 | |
|
| `v3.28.12` | `2.20.7` | Enterprise Server 3.17 | |
|
||||||
| `v3.25.11` | `2.17.6` | Enterprise Server 3.14 | |
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.16 | |
|
||||||
| `v3.24.11` | `2.16.6` | Enterprise Server 3.13 | |
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.15 | |
|
||||||
| `v3.22.12` | `2.15.5` | Enterprise Server 3.12 | |
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.14 | |
|
||||||
|
| `v3.28.6` | `2.20.3` | Enterprise Server 3.13 | |
|
||||||
|
|
||||||
See the full list of GHES release and deprecation dates at [GitHub Enterprise Server releases](https://docs.github.com/en/enterprise-server/admin/all-releases#releases-of-github-enterprise-server).
|
See the full list of GHES release and deprecation dates at [GitHub Enterprise Server releases](https://docs.github.com/en/enterprise-server/admin/all-releases#releases-of-github-enterprise-server).
|
||||||
|
|
||||||
|
|
|
||||||
6
lib/analyze.js
generated
6
lib/analyze.js
generated
|
|
@ -64,7 +64,6 @@ const logging_1 = require("./logging");
|
||||||
const repository_1 = require("./repository");
|
const repository_1 = require("./repository");
|
||||||
const tools_features_1 = require("./tools-features");
|
const tools_features_1 = require("./tools-features");
|
||||||
const tracer_config_1 = require("./tracer-config");
|
const tracer_config_1 = require("./tracer-config");
|
||||||
const upload_lib_1 = require("./upload-lib");
|
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
class CodeQLAnalysisError extends Error {
|
class CodeQLAnalysisError extends Error {
|
||||||
|
|
@ -429,7 +428,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
||||||
logger.endGroup();
|
logger.endGroup();
|
||||||
logger.info(analysisSummary);
|
logger.info(analysisSummary);
|
||||||
if (await features.getValue(feature_flags_1.Feature.QaTelemetryEnabled)) {
|
if (await features.getValue(feature_flags_1.Feature.QaTelemetryEnabled)) {
|
||||||
const perQueryAlertCounts = getPerQueryAlertCounts(sarifFile, logger);
|
const perQueryAlertCounts = getPerQueryAlertCounts(sarifFile);
|
||||||
const perQueryAlertCountEventReport = {
|
const perQueryAlertCountEventReport = {
|
||||||
event: "codeql database interpret-results",
|
event: "codeql database interpret-results",
|
||||||
started_at: startTimeInterpretResults.toISOString(),
|
started_at: startTimeInterpretResults.toISOString(),
|
||||||
|
|
@ -457,8 +456,7 @@ async function runQueries(sarifFolder, memoryFlag, addSnippetsFlag, threadsFlag,
|
||||||
return await codeql.databaseInterpretResults(databasePath, queries, sarifFile, addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", sarifRunPropertyFlag, automationDetailsId, config, features);
|
return await codeql.databaseInterpretResults(databasePath, queries, sarifFile, addSnippetsFlag, threadsFlag, enableDebugLogging ? "-vv" : "-v", sarifRunPropertyFlag, automationDetailsId, config, features);
|
||||||
}
|
}
|
||||||
/** Get an object with all queries and their counts parsed from a SARIF file path. */
|
/** Get an object with all queries and their counts parsed from a SARIF file path. */
|
||||||
function getPerQueryAlertCounts(sarifPath, log) {
|
function getPerQueryAlertCounts(sarifPath) {
|
||||||
(0, upload_lib_1.validateSarifFileSchema)(sarifPath, log);
|
|
||||||
const sarifObject = JSON.parse(fs.readFileSync(sarifPath, "utf8"));
|
const sarifObject = JSON.parse(fs.readFileSync(sarifPath, "utf8"));
|
||||||
// We do not need to compute fingerprints because we are not sending data based off of locations.
|
// We do not need to compute fingerprints because we are not sending data based off of locations.
|
||||||
// Generate the query: alert count object
|
// Generate the query: alert count object
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -1 +1 @@
|
||||||
{ "maximumVersion": "3.17", "minimumVersion": "3.12" }
|
{ "maximumVersion": "3.17", "minimumVersion": "3.13" }
|
||||||
|
|
|
||||||
6
lib/codeql.js
generated
6
lib/codeql.js
generated
|
|
@ -78,15 +78,15 @@ const CODEQL_MINIMUM_VERSION = "2.15.5";
|
||||||
/**
|
/**
|
||||||
* This version will shortly become the oldest version of CodeQL that the Action will run with.
|
* This version will shortly become the oldest version of CodeQL that the Action will run with.
|
||||||
*/
|
*/
|
||||||
const CODEQL_NEXT_MINIMUM_VERSION = "2.15.5";
|
const CODEQL_NEXT_MINIMUM_VERSION = "2.16.6";
|
||||||
/**
|
/**
|
||||||
* This is the version of GHES that was most recently deprecated.
|
* This is the version of GHES that was most recently deprecated.
|
||||||
*/
|
*/
|
||||||
const GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.11";
|
const GHES_VERSION_MOST_RECENTLY_DEPRECATED = "3.12";
|
||||||
/**
|
/**
|
||||||
* This is the deprecation date for the version of GHES that was most recently deprecated.
|
* This is the deprecation date for the version of GHES that was most recently deprecated.
|
||||||
*/
|
*/
|
||||||
const GHES_MOST_RECENT_DEPRECATION_DATE = "2024-12-19";
|
const GHES_MOST_RECENT_DEPRECATION_DATE = "2025-04-03";
|
||||||
/** The CLI verbosity level to use for extraction in debug mode. */
|
/** The CLI verbosity level to use for extraction in debug mode. */
|
||||||
const EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
|
const EXTRACTION_DEBUG_MODE_VERBOSITY = "progress++";
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-v2.21.2",
|
"bundleVersion": "codeql-bundle-v2.21.3",
|
||||||
"cliVersion": "2.21.2",
|
"cliVersion": "2.21.3",
|
||||||
"priorBundleVersion": "codeql-bundle-v2.21.1",
|
"priorBundleVersion": "codeql-bundle-v2.21.2",
|
||||||
"priorCliVersion": "2.21.1"
|
"priorCliVersion": "2.21.2"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
lib/init-action.js
generated
3
lib/init-action.js
generated
|
|
@ -319,7 +319,8 @@ async function run() {
|
||||||
// for details.
|
// for details.
|
||||||
core.exportVariable("CODEQL_RAM", process.env["CODEQL_RAM"] ||
|
core.exportVariable("CODEQL_RAM", process.env["CODEQL_RAM"] ||
|
||||||
(0, util_1.getMemoryFlagValue)((0, actions_util_1.getOptionalInput)("ram"), logger).toString());
|
(0, util_1.getMemoryFlagValue)((0, actions_util_1.getOptionalInput)("ram"), logger).toString());
|
||||||
core.exportVariable("CODEQL_THREADS", (0, util_1.getThreadsFlagValue)((0, actions_util_1.getOptionalInput)("threads"), logger).toString());
|
core.exportVariable("CODEQL_THREADS", process.env["CODEQL_THREADS"] ||
|
||||||
|
(0, util_1.getThreadsFlagValue)((0, actions_util_1.getOptionalInput)("threads"), logger).toString());
|
||||||
// Disable Kotlin extractor if feature flag set
|
// Disable Kotlin extractor if feature flag set
|
||||||
if (await features.getValue(feature_flags_1.Feature.DisableKotlinAnalysisEnabled)) {
|
if (await features.getValue(feature_flags_1.Feature.DisableKotlinAnalysisEnabled)) {
|
||||||
core.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
|
core.exportVariable("CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN", "true");
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
6
lib/status-report.js
generated
6
lib/status-report.js
generated
|
|
@ -149,10 +149,10 @@ async function createStatusReportBase(actionName, status, actionStartedAt, confi
|
||||||
const runnerOs = (0, util_1.getRequiredEnvParam)("RUNNER_OS");
|
const runnerOs = (0, util_1.getRequiredEnvParam)("RUNNER_OS");
|
||||||
const codeQlCliVersion = (0, util_1.getCachedCodeQlVersion)();
|
const codeQlCliVersion = (0, util_1.getCachedCodeQlVersion)();
|
||||||
const actionRef = process.env["GITHUB_ACTION_REF"] || "";
|
const actionRef = process.env["GITHUB_ACTION_REF"] || "";
|
||||||
const testingEnvironment = process.env[environment_1.EnvVar.TESTING_ENVIRONMENT] || "";
|
const testingEnvironment = (0, util_1.getTestingEnvironment)();
|
||||||
// re-export the testing environment variable so that it is available to subsequent steps,
|
// re-export the testing environment variable so that it is available to subsequent steps,
|
||||||
// even if it was only set for this step
|
// even if it was only set for this step
|
||||||
if (testingEnvironment !== "") {
|
if (testingEnvironment) {
|
||||||
core.exportVariable(environment_1.EnvVar.TESTING_ENVIRONMENT, testingEnvironment);
|
core.exportVariable(environment_1.EnvVar.TESTING_ENVIRONMENT, testingEnvironment);
|
||||||
}
|
}
|
||||||
const isSteadyStateDefaultSetupRun = process.env["CODE_SCANNING_IS_STEADY_STATE_DEFAULT_SETUP"] === "true";
|
const isSteadyStateDefaultSetupRun = process.env["CODE_SCANNING_IS_STEADY_STATE_DEFAULT_SETUP"] === "true";
|
||||||
|
|
@ -173,7 +173,7 @@ async function createStatusReportBase(actionName, status, actionStartedAt, confi
|
||||||
started_at: workflowStartedAt,
|
started_at: workflowStartedAt,
|
||||||
status,
|
status,
|
||||||
steady_state_default_setup: isSteadyStateDefaultSetupRun,
|
steady_state_default_setup: isSteadyStateDefaultSetupRun,
|
||||||
testing_environment: testingEnvironment,
|
testing_environment: testingEnvironment || "",
|
||||||
workflow_name: workflowName,
|
workflow_name: workflowName,
|
||||||
workflow_run_attempt: workflowRunAttempt,
|
workflow_run_attempt: workflowRunAttempt,
|
||||||
workflow_run_id: workflowRunID,
|
workflow_run_id: workflowRunID,
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
47
lib/upload-lib.js
generated
47
lib/upload-lib.js
generated
|
|
@ -40,6 +40,7 @@ exports.InvalidSarifUploadError = void 0;
|
||||||
exports.shouldShowCombineSarifFilesDeprecationWarning = shouldShowCombineSarifFilesDeprecationWarning;
|
exports.shouldShowCombineSarifFilesDeprecationWarning = shouldShowCombineSarifFilesDeprecationWarning;
|
||||||
exports.populateRunAutomationDetails = populateRunAutomationDetails;
|
exports.populateRunAutomationDetails = populateRunAutomationDetails;
|
||||||
exports.findSarifFilesInDir = findSarifFilesInDir;
|
exports.findSarifFilesInDir = findSarifFilesInDir;
|
||||||
|
exports.readSarifFile = readSarifFile;
|
||||||
exports.validateSarifFileSchema = validateSarifFileSchema;
|
exports.validateSarifFileSchema = validateSarifFileSchema;
|
||||||
exports.buildPayload = buildPayload;
|
exports.buildPayload = buildPayload;
|
||||||
exports.uploadFiles = uploadFiles;
|
exports.uploadFiles = uploadFiles;
|
||||||
|
|
@ -324,17 +325,24 @@ function countResultsInSarif(sarif) {
|
||||||
}
|
}
|
||||||
return numResults;
|
return numResults;
|
||||||
}
|
}
|
||||||
// Validates that the given file path refers to a valid SARIF file.
|
function readSarifFile(sarifFilePath) {
|
||||||
// Throws an error if the file is invalid.
|
|
||||||
function validateSarifFileSchema(sarifFilePath, logger) {
|
|
||||||
logger.info(`Validating ${sarifFilePath}`);
|
|
||||||
let sarif;
|
|
||||||
try {
|
try {
|
||||||
sarif = JSON.parse(fs.readFileSync(sarifFilePath, "utf8"));
|
return JSON.parse(fs.readFileSync(sarifFilePath, "utf8"));
|
||||||
}
|
}
|
||||||
catch (e) {
|
catch (e) {
|
||||||
throw new InvalidSarifUploadError(`Invalid SARIF. JSON syntax error: ${(0, util_1.getErrorMessage)(e)}`);
|
throw new InvalidSarifUploadError(`Invalid SARIF. JSON syntax error: ${(0, util_1.getErrorMessage)(e)}`);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
// Validates the given SARIF object and throws an error if the SARIF object is invalid.
|
||||||
|
// The file path is only used in error messages to improve clarity.
|
||||||
|
function validateSarifFileSchema(sarif, sarifFilePath, logger) {
|
||||||
|
if (areAllRunsProducedByCodeQL([sarif]) &&
|
||||||
|
// We want to validate CodeQL SARIF in testing environments.
|
||||||
|
!util.getTestingEnvironment()) {
|
||||||
|
logger.debug(`Skipping SARIF schema validation for ${sarifFilePath} as all runs are produced by CodeQL.`);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
logger.info(`Validating ${sarifFilePath}`);
|
||||||
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
||||||
const schema = require("../src/sarif-schema-2.1.0.json");
|
const schema = require("../src/sarif-schema-2.1.0.json");
|
||||||
const result = new jsonschema.Validator().validate(sarif, schema);
|
const result = new jsonschema.Validator().validate(sarif, schema);
|
||||||
|
|
@ -402,27 +410,28 @@ function buildPayload(commitOid, ref, analysisKey, analysisName, zippedSarif, wo
|
||||||
return payloadObj;
|
return payloadObj;
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Uploads a single SARIF file or a directory of SARIF files depending on what `sarifPath` refers
|
* Uploads a single SARIF file or a directory of SARIF files depending on what `inputSarifPath` refers
|
||||||
* to.
|
* to.
|
||||||
*/
|
*/
|
||||||
async function uploadFiles(sarifPath, checkoutPath, category, features, logger) {
|
async function uploadFiles(inputSarifPath, checkoutPath, category, features, logger) {
|
||||||
const sarifFiles = getSarifFilePaths(sarifPath);
|
const sarifPaths = getSarifFilePaths(inputSarifPath);
|
||||||
logger.startGroup("Uploading results");
|
logger.startGroup("Uploading results");
|
||||||
logger.info(`Processing sarif files: ${JSON.stringify(sarifFiles)}`);
|
logger.info(`Processing sarif files: ${JSON.stringify(sarifPaths)}`);
|
||||||
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
const gitHubVersion = await (0, api_client_1.getGitHubVersion)();
|
||||||
try {
|
let sarif;
|
||||||
|
if (sarifPaths.length > 1) {
|
||||||
// Validate that the files we were asked to upload are all valid SARIF files
|
// Validate that the files we were asked to upload are all valid SARIF files
|
||||||
for (const file of sarifFiles) {
|
for (const sarifPath of sarifPaths) {
|
||||||
validateSarifFileSchema(file, logger);
|
const parsedSarif = readSarifFile(sarifPath);
|
||||||
|
validateSarifFileSchema(parsedSarif, sarifPath, logger);
|
||||||
}
|
}
|
||||||
|
sarif = await combineSarifFilesUsingCLI(sarifPaths, gitHubVersion, features, logger);
|
||||||
}
|
}
|
||||||
catch (e) {
|
else {
|
||||||
if (e instanceof SyntaxError) {
|
const sarifPath = sarifPaths[0];
|
||||||
throw new InvalidSarifUploadError(e.message);
|
sarif = readSarifFile(sarifPath);
|
||||||
|
validateSarifFileSchema(sarif, sarifPath, logger);
|
||||||
}
|
}
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
let sarif = await combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, logger);
|
|
||||||
sarif = filterAlertsByDiffRange(logger, sarif);
|
sarif = filterAlertsByDiffRange(logger, sarif);
|
||||||
sarif = await fingerprints.addFingerprints(sarif, checkoutPath, logger);
|
sarif = await fingerprints.addFingerprints(sarif, checkoutPath, logger);
|
||||||
const analysisKey = await api.getAnalysisKey();
|
const analysisKey = await api.getAnalysisKey();
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
6
lib/upload-lib.test.js
generated
6
lib/upload-lib.test.js
generated
|
|
@ -49,11 +49,11 @@ ava_1.default.beforeEach(() => {
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("validateSarifFileSchema - valid", (t) => {
|
(0, ava_1.default)("validateSarifFileSchema - valid", (t) => {
|
||||||
const inputFile = `${__dirname}/../src/testdata/valid-sarif.sarif`;
|
const inputFile = `${__dirname}/../src/testdata/valid-sarif.sarif`;
|
||||||
t.notThrows(() => uploadLib.validateSarifFileSchema(inputFile, (0, logging_1.getRunnerLogger)(true)));
|
t.notThrows(() => uploadLib.validateSarifFileSchema(uploadLib.readSarifFile(inputFile), inputFile, (0, logging_1.getRunnerLogger)(true)));
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("validateSarifFileSchema - invalid", (t) => {
|
(0, ava_1.default)("validateSarifFileSchema - invalid", (t) => {
|
||||||
const inputFile = `${__dirname}/../src/testdata/invalid-sarif.sarif`;
|
const inputFile = `${__dirname}/../src/testdata/invalid-sarif.sarif`;
|
||||||
t.throws(() => uploadLib.validateSarifFileSchema(inputFile, (0, logging_1.getRunnerLogger)(true)));
|
t.throws(() => uploadLib.validateSarifFileSchema(uploadLib.readSarifFile(inputFile), inputFile, (0, logging_1.getRunnerLogger)(true)));
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("validate correct payload used for push, PR merge commit, and PR head", async (t) => {
|
(0, ava_1.default)("validate correct payload used for push, PR merge commit, and PR head", async (t) => {
|
||||||
process.env["GITHUB_EVENT_NAME"] = "push";
|
process.env["GITHUB_EVENT_NAME"] = "push";
|
||||||
|
|
@ -202,7 +202,7 @@ ava_1.default.beforeEach(() => {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
const sarifFile = `${__dirname}/../src/testdata/with-invalid-uri.sarif`;
|
const sarifFile = `${__dirname}/../src/testdata/with-invalid-uri.sarif`;
|
||||||
uploadLib.validateSarifFileSchema(sarifFile, mockLogger);
|
uploadLib.validateSarifFileSchema(uploadLib.readSarifFile(sarifFile), sarifFile, mockLogger);
|
||||||
t.deepEqual(loggedMessages.length, 3);
|
t.deepEqual(loggedMessages.length, 3);
|
||||||
t.deepEqual(loggedMessages[1], "Warning: 'not a valid URI' is not a valid URI in 'instance.runs[0].tool.driver.rules[0].helpUri'.", "Warning: 'not a valid URI' is not a valid URI in 'instance.runs[0].results[0].locations[0].physicalLocation.artifactLocation.uri'.");
|
t.deepEqual(loggedMessages[1], "Warning: 'not a valid URI' is not a valid URI in 'instance.runs[0].tool.driver.rules[0].helpUri'.", "Warning: 'not a valid URI' is not a valid URI in 'instance.runs[0].results[0].locations[0].physicalLocation.artifactLocation.uri'.");
|
||||||
});
|
});
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
19
lib/util.js
generated
19
lib/util.js
generated
|
|
@ -62,6 +62,7 @@ exports.bundleDb = bundleDb;
|
||||||
exports.delay = delay;
|
exports.delay = delay;
|
||||||
exports.isGoodVersion = isGoodVersion;
|
exports.isGoodVersion = isGoodVersion;
|
||||||
exports.isInTestMode = isInTestMode;
|
exports.isInTestMode = isInTestMode;
|
||||||
|
exports.getTestingEnvironment = getTestingEnvironment;
|
||||||
exports.doesDirectoryExist = doesDirectoryExist;
|
exports.doesDirectoryExist = doesDirectoryExist;
|
||||||
exports.listFolder = listFolder;
|
exports.listFolder = listFolder;
|
||||||
exports.tryGetFolderBytes = tryGetFolderBytes;
|
exports.tryGetFolderBytes = tryGetFolderBytes;
|
||||||
|
|
@ -577,15 +578,27 @@ async function delay(milliseconds, opts) {
|
||||||
function isGoodVersion(versionSpec) {
|
function isGoodVersion(versionSpec) {
|
||||||
return !BROKEN_VERSIONS.includes(versionSpec);
|
return !BROKEN_VERSIONS.includes(versionSpec);
|
||||||
}
|
}
|
||||||
/*
|
/**
|
||||||
* Returns whether we are in test mode.
|
* Returns whether we are in test mode. This is used by CodeQL Action PR checks.
|
||||||
*
|
*
|
||||||
* In test mode, we don't upload SARIF results or status reports to the GitHub API.
|
* In test mode, we don't upload SARIF results or status reports to the GitHub API.
|
||||||
*/
|
*/
|
||||||
function isInTestMode() {
|
function isInTestMode() {
|
||||||
return process.env[environment_1.EnvVar.TEST_MODE] === "true";
|
return process.env[environment_1.EnvVar.TEST_MODE] === "true";
|
||||||
}
|
}
|
||||||
/*
|
/**
|
||||||
|
* Get the testing environment.
|
||||||
|
*
|
||||||
|
* This is set if the CodeQL Action is running in a non-production environment.
|
||||||
|
*/
|
||||||
|
function getTestingEnvironment() {
|
||||||
|
const testingEnvironment = process.env[environment_1.EnvVar.TESTING_ENVIRONMENT] || "";
|
||||||
|
if (testingEnvironment === "") {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
return testingEnvironment;
|
||||||
|
}
|
||||||
|
/**
|
||||||
* Returns whether the path in the argument represents an existing directory.
|
* Returns whether the path in the argument represents an existing directory.
|
||||||
*/
|
*/
|
||||||
function doesDirectoryExist(dirPath) {
|
function doesDirectoryExist(dirPath) {
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
4
lib/workflow.js
generated
4
lib/workflow.js
generated
|
|
@ -51,7 +51,6 @@ const zlib_1 = __importDefault(require("zlib"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const yaml = __importStar(require("js-yaml"));
|
const yaml = __importStar(require("js-yaml"));
|
||||||
const api = __importStar(require("./api-client"));
|
const api = __importStar(require("./api-client"));
|
||||||
const environment_1 = require("./environment");
|
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
function toCodedErrors(errors) {
|
function toCodedErrors(errors) {
|
||||||
return Object.entries(errors).reduce((acc, [code, message]) => {
|
return Object.entries(errors).reduce((acc, [code, message]) => {
|
||||||
|
|
@ -274,8 +273,7 @@ function getInputOrThrow(workflow, jobName, actionName, inputName, matrixVars) {
|
||||||
* This allows us to test workflow parsing functionality as a CodeQL Action PR check.
|
* This allows us to test workflow parsing functionality as a CodeQL Action PR check.
|
||||||
*/
|
*/
|
||||||
function getAnalyzeActionName() {
|
function getAnalyzeActionName() {
|
||||||
if ((0, util_1.isInTestMode)() ||
|
if ((0, util_1.isInTestMode)() || (0, util_1.getTestingEnvironment)() === "codeql-action-pr-checks") {
|
||||||
process.env[environment_1.EnvVar.TESTING_ENVIRONMENT] === "codeql-action-pr-checks") {
|
|
||||||
return "./analyze";
|
return "./analyze";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
214
node_modules/.package-lock.json
generated
vendored
214
node_modules/.package-lock.json
generated
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "3.28.17",
|
"version": "3.28.18",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
|
|
@ -838,15 +838,19 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint-community/eslint-utils": {
|
"node_modules/@eslint-community/eslint-utils": {
|
||||||
"version": "4.4.0",
|
"version": "4.7.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
|
||||||
|
"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"eslint-visitor-keys": "^3.3.0"
|
"eslint-visitor-keys": "^3.4.3"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
},
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://opencollective.com/eslint"
|
||||||
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
|
"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
|
||||||
}
|
}
|
||||||
|
|
@ -933,9 +937,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@eslint/js": {
|
"node_modules/@eslint/js": {
|
||||||
"version": "9.25.1",
|
"version": "9.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.25.1.tgz",
|
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz",
|
||||||
"integrity": "sha512-dEIwmjntEx8u3Uvv+kr3PDeeArL8Hw07H9kyYxCjnM9pBjfEhk6uLXSchxxzgiwtRhhzVzqmUSDFBOi1TuZ7qg==",
|
"integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2005,20 +2009,20 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.32.1.tgz",
|
||||||
"integrity": "sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==",
|
"integrity": "sha512-6u6Plg9nP/J1GRpe/vcjjabo6Uc5YQPAMxsgQyGC/I0RuukiG1wIe3+Vtg3IrSCVJDmqK3j8adrtzXSENRtFgg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.31.1",
|
"@typescript-eslint/scope-manager": "8.32.1",
|
||||||
"@typescript-eslint/type-utils": "8.31.1",
|
"@typescript-eslint/type-utils": "8.32.1",
|
||||||
"@typescript-eslint/utils": "8.31.1",
|
"@typescript-eslint/utils": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1",
|
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.3.1",
|
"ignore": "^7.0.0",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
"ts-api-utils": "^2.0.1"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2034,13 +2038,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz",
|
||||||
"integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==",
|
"integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1"
|
"@typescript-eslint/visitor-keys": "8.32.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2051,9 +2055,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz",
|
||||||
"integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==",
|
"integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2064,19 +2068,19 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz",
|
||||||
"integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==",
|
"integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1",
|
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
"minimatch": "^9.0.4",
|
"minimatch": "^9.0.4",
|
||||||
"semver": "^7.6.0",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^2.0.1"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2090,15 +2094,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.1.tgz",
|
||||||
"integrity": "sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==",
|
"integrity": "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.7.0",
|
||||||
"@typescript-eslint/scope-manager": "8.31.1",
|
"@typescript-eslint/scope-manager": "8.32.1",
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/typescript-estree": "8.31.1"
|
"@typescript-eslint/typescript-estree": "8.32.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2113,12 +2117,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz",
|
||||||
"integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==",
|
"integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
@ -2150,6 +2154,15 @@
|
||||||
"url": "https://opencollective.com/eslint"
|
"url": "https://opencollective.com/eslint"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
|
||||||
|
"version": "7.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz",
|
||||||
|
"integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==",
|
||||||
|
"dev": true,
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin/node_modules/minimatch": {
|
"node_modules/@typescript-eslint/eslint-plugin/node_modules/minimatch": {
|
||||||
"version": "9.0.5",
|
"version": "9.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
|
||||||
|
|
@ -2178,15 +2191,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.32.1.tgz",
|
||||||
"integrity": "sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==",
|
"integrity": "sha512-LKMrmwCPoLhM45Z00O1ulb6jwyVr2kr3XJp+G+tSEZcbauNnScewcQwtJqXDhXeYPDEjZ8C1SjXm015CirEmGg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.31.1",
|
"@typescript-eslint/scope-manager": "8.32.1",
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/typescript-estree": "8.31.1",
|
"@typescript-eslint/typescript-estree": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1",
|
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
@ -2202,13 +2215,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz",
|
||||||
"integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==",
|
"integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1"
|
"@typescript-eslint/visitor-keys": "8.32.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2219,9 +2232,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz",
|
||||||
"integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==",
|
"integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2232,19 +2245,19 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz",
|
||||||
"integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==",
|
"integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1",
|
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
"minimatch": "^9.0.4",
|
"minimatch": "^9.0.4",
|
||||||
"semver": "^7.6.0",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^2.0.1"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2258,12 +2271,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz",
|
||||||
"integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==",
|
"integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
@ -2341,15 +2354,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.32.1.tgz",
|
||||||
"integrity": "sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==",
|
"integrity": "sha512-mv9YpQGA8iIsl5KyUPi+FGLm7+bA4fgXaeRcFKRDRwDMu4iwrSHeDPipwueNXhdIIZltwCJv+NkxftECbIZWfA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.31.1",
|
"@typescript-eslint/typescript-estree": "8.32.1",
|
||||||
"@typescript-eslint/utils": "8.31.1",
|
"@typescript-eslint/utils": "8.32.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^2.0.1"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2364,13 +2377,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.32.1.tgz",
|
||||||
"integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==",
|
"integrity": "sha512-7IsIaIDeZn7kffk7qXC3o6Z4UblZJKV3UBpkvRNpr5NSyLji7tvTcvmnMNYuYLyh26mN8W723xpo3i4MlD33vA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1"
|
"@typescript-eslint/visitor-keys": "8.32.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2381,9 +2394,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.32.1.tgz",
|
||||||
"integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==",
|
"integrity": "sha512-YmybwXUJcgGqgAp6bEsgpPXEg6dcCyPyCSr0CAAueacR/CCBi25G3V8gGQ2kRzQRBNol7VQknxMs9HvVa9Rvfg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2394,19 +2407,19 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.32.1.tgz",
|
||||||
"integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==",
|
"integrity": "sha512-Y3AP9EIfYwBb4kWGb+simvPaqQoT5oJuzzj9m0i6FCY6SPvlomY2Ei4UEMm7+FXtlNJbor80ximyslzaQF6xhg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.31.1",
|
"@typescript-eslint/visitor-keys": "8.32.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
"minimatch": "^9.0.4",
|
"minimatch": "^9.0.4",
|
||||||
"semver": "^7.6.0",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^2.0.1"
|
"ts-api-utils": "^2.1.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2420,15 +2433,15 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.32.1.tgz",
|
||||||
"integrity": "sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==",
|
"integrity": "sha512-DsSFNIgLSrc89gpq1LJB7Hm1YpuhK086DRDJSNrewcGvYloWW1vZLHBTIvarKZDcAORIy/uWNx8Gad+4oMpkSA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.7.0",
|
||||||
"@typescript-eslint/scope-manager": "8.31.1",
|
"@typescript-eslint/scope-manager": "8.32.1",
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"@typescript-eslint/typescript-estree": "8.31.1"
|
"@typescript-eslint/typescript-estree": "8.32.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
|
|
@ -2443,12 +2456,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.31.1",
|
"version": "8.32.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.32.1.tgz",
|
||||||
"integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==",
|
"integrity": "sha512-ar0tjQfObzhSaW3C3QNmTc5ofj0hDoNQ5XWrCy6zDyabdr0TWhCkClp+rywGNj/odAFBVzzJrK4tEq5M4Hmu4w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.31.1",
|
"@typescript-eslint/types": "8.32.1",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
@ -7541,10 +7554,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/semver": {
|
"node_modules/semver": {
|
||||||
"version": "7.7.1",
|
"version": "7.7.2",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
|
||||||
"integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
|
"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
|
||||||
"license": "ISC",
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"semver": "bin/semver.js"
|
"semver": "bin/semver.js"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
6
node_modules/@eslint-community/eslint-utils/README.md
generated
vendored
6
node_modules/@eslint-community/eslint-utils/README.md
generated
vendored
|
|
@ -30,8 +30,8 @@ Please use GitHub's Issues/PRs.
|
||||||
|
|
||||||
### Development Tools
|
### Development Tools
|
||||||
|
|
||||||
- `npm test` runs tests and measures coverage.
|
- `npm run test-coverage` runs tests and measures coverage.
|
||||||
- `npm run clean` removes the coverage result of `npm test` command.
|
- `npm run clean` removes the coverage result of `npm run test-coverage` command.
|
||||||
- `npm run coverage` shows the coverage result of the last `npm test` command.
|
- `npm run coverage` shows the coverage result of the last `npm run test-coverage` command.
|
||||||
- `npm run lint` runs ESLint.
|
- `npm run lint` runs ESLint.
|
||||||
- `npm run watch` runs tests on each file change.
|
- `npm run watch` runs tests on each file change.
|
||||||
|
|
|
||||||
217
node_modules/@eslint-community/eslint-utils/index.d.mts
generated
vendored
Normal file
217
node_modules/@eslint-community/eslint-utils/index.d.mts
generated
vendored
Normal file
|
|
@ -0,0 +1,217 @@
|
||||||
|
import * as eslint from 'eslint';
|
||||||
|
import { Rule, AST } from 'eslint';
|
||||||
|
import * as estree from 'estree';
|
||||||
|
|
||||||
|
declare const READ: unique symbol;
|
||||||
|
declare const CALL: unique symbol;
|
||||||
|
declare const CONSTRUCT: unique symbol;
|
||||||
|
declare const ESM: unique symbol;
|
||||||
|
declare class ReferenceTracker {
|
||||||
|
constructor(globalScope: Scope$2, options?: {
|
||||||
|
mode?: "legacy" | "strict" | undefined;
|
||||||
|
globalObjectNames?: string[] | undefined;
|
||||||
|
} | undefined);
|
||||||
|
private variableStack;
|
||||||
|
private globalScope;
|
||||||
|
private mode;
|
||||||
|
private globalObjectNames;
|
||||||
|
iterateGlobalReferences<T>(traceMap: TraceMap$2<T>): IterableIterator<TrackedReferences$2<T>>;
|
||||||
|
iterateCjsReferences<T_1>(traceMap: TraceMap$2<T_1>): IterableIterator<TrackedReferences$2<T_1>>;
|
||||||
|
iterateEsmReferences<T_2>(traceMap: TraceMap$2<T_2>): IterableIterator<TrackedReferences$2<T_2>>;
|
||||||
|
iteratePropertyReferences<T_3>(node: Expression, traceMap: TraceMap$2<T_3>): IterableIterator<TrackedReferences$2<T_3>>;
|
||||||
|
private _iterateVariableReferences;
|
||||||
|
private _iteratePropertyReferences;
|
||||||
|
private _iterateLhsReferences;
|
||||||
|
private _iterateImportReferences;
|
||||||
|
}
|
||||||
|
declare namespace ReferenceTracker {
|
||||||
|
export { READ };
|
||||||
|
export { CALL };
|
||||||
|
export { CONSTRUCT };
|
||||||
|
export { ESM };
|
||||||
|
}
|
||||||
|
type Scope$2 = eslint.Scope.Scope;
|
||||||
|
type Expression = estree.Expression;
|
||||||
|
type TraceMap$2<T> = TraceMap$1<T>;
|
||||||
|
type TrackedReferences$2<T> = TrackedReferences$1<T>;
|
||||||
|
|
||||||
|
type StaticValue$2 = StaticValueProvided$1 | StaticValueOptional$1;
|
||||||
|
type StaticValueProvided$1 = {
|
||||||
|
optional?: undefined;
|
||||||
|
value: unknown;
|
||||||
|
};
|
||||||
|
type StaticValueOptional$1 = {
|
||||||
|
optional?: true;
|
||||||
|
value: undefined;
|
||||||
|
};
|
||||||
|
type ReferenceTrackerOptions$1 = {
|
||||||
|
globalObjectNames?: string[];
|
||||||
|
mode?: "legacy" | "strict";
|
||||||
|
};
|
||||||
|
type TraceMap$1<T = unknown> = {
|
||||||
|
[i: string]: TraceMapObject<T>;
|
||||||
|
};
|
||||||
|
type TraceMapObject<T> = {
|
||||||
|
[i: string]: TraceMapObject<T>;
|
||||||
|
[CALL]?: T;
|
||||||
|
[CONSTRUCT]?: T;
|
||||||
|
[READ]?: T;
|
||||||
|
[ESM]?: boolean;
|
||||||
|
};
|
||||||
|
type TrackedReferences$1<T> = {
|
||||||
|
info: T;
|
||||||
|
node: Rule.Node;
|
||||||
|
path: string[];
|
||||||
|
type: typeof CALL | typeof CONSTRUCT | typeof READ;
|
||||||
|
};
|
||||||
|
type HasSideEffectOptions$1 = {
|
||||||
|
considerGetters?: boolean;
|
||||||
|
considerImplicitTypeConversion?: boolean;
|
||||||
|
};
|
||||||
|
type PunctuatorToken<Value extends string> = AST.Token & {
|
||||||
|
type: "Punctuator";
|
||||||
|
value: Value;
|
||||||
|
};
|
||||||
|
type ArrowToken$1 = PunctuatorToken<"=>">;
|
||||||
|
type CommaToken$1 = PunctuatorToken<",">;
|
||||||
|
type SemicolonToken$1 = PunctuatorToken<";">;
|
||||||
|
type ColonToken$1 = PunctuatorToken<":">;
|
||||||
|
type OpeningParenToken$1 = PunctuatorToken<"(">;
|
||||||
|
type ClosingParenToken$1 = PunctuatorToken<")">;
|
||||||
|
type OpeningBracketToken$1 = PunctuatorToken<"[">;
|
||||||
|
type ClosingBracketToken$1 = PunctuatorToken<"]">;
|
||||||
|
type OpeningBraceToken$1 = PunctuatorToken<"{">;
|
||||||
|
type ClosingBraceToken$1 = PunctuatorToken<"}">;
|
||||||
|
|
||||||
|
declare function findVariable(initialScope: Scope$1, nameOrNode: string | Identifier): Variable | null;
|
||||||
|
type Scope$1 = eslint.Scope.Scope;
|
||||||
|
type Variable = eslint.Scope.Variable;
|
||||||
|
type Identifier = estree.Identifier;
|
||||||
|
|
||||||
|
declare function getFunctionHeadLocation(node: FunctionNode$1, sourceCode: SourceCode$2): SourceLocation | null;
|
||||||
|
type SourceCode$2 = eslint.SourceCode;
|
||||||
|
type FunctionNode$1 = estree.Function;
|
||||||
|
type SourceLocation = estree.SourceLocation;
|
||||||
|
|
||||||
|
declare function getFunctionNameWithKind(node: FunctionNode, sourceCode?: eslint.SourceCode | undefined): string;
|
||||||
|
type FunctionNode = estree.Function;
|
||||||
|
|
||||||
|
declare function getInnermostScope(initialScope: Scope, node: Node$4): Scope;
|
||||||
|
type Scope = eslint.Scope.Scope;
|
||||||
|
type Node$4 = estree.Node;
|
||||||
|
|
||||||
|
declare function getPropertyName(node: MemberExpression | MethodDefinition | Property | PropertyDefinition, initialScope?: eslint.Scope.Scope | undefined): string | null | undefined;
|
||||||
|
type MemberExpression = estree.MemberExpression;
|
||||||
|
type MethodDefinition = estree.MethodDefinition;
|
||||||
|
type Property = estree.Property;
|
||||||
|
type PropertyDefinition = estree.PropertyDefinition;
|
||||||
|
|
||||||
|
declare function getStaticValue(node: Node$3, initialScope?: eslint.Scope.Scope | null | undefined): StaticValue$1 | null;
|
||||||
|
type StaticValue$1 = StaticValue$2;
|
||||||
|
type Node$3 = estree.Node;
|
||||||
|
|
||||||
|
declare function getStringIfConstant(node: Node$2, initialScope?: eslint.Scope.Scope | null | undefined): string | null;
|
||||||
|
type Node$2 = estree.Node;
|
||||||
|
|
||||||
|
declare function hasSideEffect(node: Node$1, sourceCode: SourceCode$1, options?: HasSideEffectOptions$1 | undefined): boolean;
|
||||||
|
type Node$1 = estree.Node;
|
||||||
|
type SourceCode$1 = eslint.SourceCode;
|
||||||
|
|
||||||
|
declare function isArrowToken(token: CommentOrToken): token is ArrowToken$1;
|
||||||
|
declare function isCommaToken(token: CommentOrToken): token is CommaToken$1;
|
||||||
|
declare function isSemicolonToken(token: CommentOrToken): token is SemicolonToken$1;
|
||||||
|
declare function isColonToken(token: CommentOrToken): token is ColonToken$1;
|
||||||
|
declare function isOpeningParenToken(token: CommentOrToken): token is OpeningParenToken$1;
|
||||||
|
declare function isClosingParenToken(token: CommentOrToken): token is ClosingParenToken$1;
|
||||||
|
declare function isOpeningBracketToken(token: CommentOrToken): token is OpeningBracketToken$1;
|
||||||
|
declare function isClosingBracketToken(token: CommentOrToken): token is ClosingBracketToken$1;
|
||||||
|
declare function isOpeningBraceToken(token: CommentOrToken): token is OpeningBraceToken$1;
|
||||||
|
declare function isClosingBraceToken(token: CommentOrToken): token is ClosingBraceToken$1;
|
||||||
|
declare function isCommentToken(token: CommentOrToken): token is estree.Comment;
|
||||||
|
declare function isNotArrowToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotCommaToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotSemicolonToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotColonToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotOpeningParenToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotClosingParenToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotOpeningBracketToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotClosingBracketToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotOpeningBraceToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotClosingBraceToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotCommentToken(arg0: CommentOrToken): boolean;
|
||||||
|
type Token = eslint.AST.Token;
|
||||||
|
type Comment = estree.Comment;
|
||||||
|
type CommentOrToken = Comment | Token;
|
||||||
|
|
||||||
|
declare function isParenthesized(timesOrNode: Node | number, nodeOrSourceCode: Node | SourceCode, optionalSourceCode?: eslint.SourceCode | undefined): boolean;
|
||||||
|
type Node = estree.Node;
|
||||||
|
type SourceCode = eslint.SourceCode;
|
||||||
|
|
||||||
|
declare class PatternMatcher {
|
||||||
|
constructor(pattern: RegExp, options?: {
|
||||||
|
escaped?: boolean | undefined;
|
||||||
|
} | undefined);
|
||||||
|
execAll(str: string): IterableIterator<RegExpExecArray>;
|
||||||
|
test(str: string): boolean;
|
||||||
|
[Symbol.replace](str: string, replacer: string | ((...strs: string[]) => string)): string;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare namespace _default {
|
||||||
|
export { CALL };
|
||||||
|
export { CONSTRUCT };
|
||||||
|
export { ESM };
|
||||||
|
export { findVariable };
|
||||||
|
export { getFunctionHeadLocation };
|
||||||
|
export { getFunctionNameWithKind };
|
||||||
|
export { getInnermostScope };
|
||||||
|
export { getPropertyName };
|
||||||
|
export { getStaticValue };
|
||||||
|
export { getStringIfConstant };
|
||||||
|
export { hasSideEffect };
|
||||||
|
export { isArrowToken };
|
||||||
|
export { isClosingBraceToken };
|
||||||
|
export { isClosingBracketToken };
|
||||||
|
export { isClosingParenToken };
|
||||||
|
export { isColonToken };
|
||||||
|
export { isCommaToken };
|
||||||
|
export { isCommentToken };
|
||||||
|
export { isNotArrowToken };
|
||||||
|
export { isNotClosingBraceToken };
|
||||||
|
export { isNotClosingBracketToken };
|
||||||
|
export { isNotClosingParenToken };
|
||||||
|
export { isNotColonToken };
|
||||||
|
export { isNotCommaToken };
|
||||||
|
export { isNotCommentToken };
|
||||||
|
export { isNotOpeningBraceToken };
|
||||||
|
export { isNotOpeningBracketToken };
|
||||||
|
export { isNotOpeningParenToken };
|
||||||
|
export { isNotSemicolonToken };
|
||||||
|
export { isOpeningBraceToken };
|
||||||
|
export { isOpeningBracketToken };
|
||||||
|
export { isOpeningParenToken };
|
||||||
|
export { isParenthesized };
|
||||||
|
export { isSemicolonToken };
|
||||||
|
export { PatternMatcher };
|
||||||
|
export { READ };
|
||||||
|
export { ReferenceTracker };
|
||||||
|
}
|
||||||
|
|
||||||
|
type StaticValue = StaticValue$2;
|
||||||
|
type StaticValueOptional = StaticValueOptional$1;
|
||||||
|
type StaticValueProvided = StaticValueProvided$1;
|
||||||
|
type ReferenceTrackerOptions = ReferenceTrackerOptions$1;
|
||||||
|
type TraceMap<T> = TraceMap$1<T>;
|
||||||
|
type TrackedReferences<T> = TrackedReferences$1<T>;
|
||||||
|
type HasSideEffectOptions = HasSideEffectOptions$1;
|
||||||
|
type ArrowToken = ArrowToken$1;
|
||||||
|
type CommaToken = CommaToken$1;
|
||||||
|
type SemicolonToken = SemicolonToken$1;
|
||||||
|
type ColonToken = ColonToken$1;
|
||||||
|
type OpeningParenToken = OpeningParenToken$1;
|
||||||
|
type ClosingParenToken = ClosingParenToken$1;
|
||||||
|
type OpeningBracketToken = OpeningBracketToken$1;
|
||||||
|
type ClosingBracketToken = ClosingBracketToken$1;
|
||||||
|
type OpeningBraceToken = OpeningBraceToken$1;
|
||||||
|
type ClosingBraceToken = ClosingBraceToken$1;
|
||||||
|
|
||||||
|
export { ArrowToken, CALL, CONSTRUCT, ClosingBraceToken, ClosingBracketToken, ClosingParenToken, ColonToken, CommaToken, ESM, HasSideEffectOptions, OpeningBraceToken, OpeningBracketToken, OpeningParenToken, PatternMatcher, READ, ReferenceTracker, ReferenceTrackerOptions, SemicolonToken, StaticValue, StaticValueOptional, StaticValueProvided, TraceMap, TrackedReferences, _default as default, findVariable, getFunctionHeadLocation, getFunctionNameWithKind, getInnermostScope, getPropertyName, getStaticValue, getStringIfConstant, hasSideEffect, isArrowToken, isClosingBraceToken, isClosingBracketToken, isClosingParenToken, isColonToken, isCommaToken, isCommentToken, isNotArrowToken, isNotClosingBraceToken, isNotClosingBracketToken, isNotClosingParenToken, isNotColonToken, isNotCommaToken, isNotCommentToken, isNotOpeningBraceToken, isNotOpeningBracketToken, isNotOpeningParenToken, isNotSemicolonToken, isOpeningBraceToken, isOpeningBracketToken, isOpeningParenToken, isParenthesized, isSemicolonToken };
|
||||||
217
node_modules/@eslint-community/eslint-utils/index.d.ts
generated
vendored
Normal file
217
node_modules/@eslint-community/eslint-utils/index.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,217 @@
|
||||||
|
import * as eslint from 'eslint';
|
||||||
|
import { Rule, AST } from 'eslint';
|
||||||
|
import * as estree from 'estree';
|
||||||
|
|
||||||
|
declare const READ: unique symbol;
|
||||||
|
declare const CALL: unique symbol;
|
||||||
|
declare const CONSTRUCT: unique symbol;
|
||||||
|
declare const ESM: unique symbol;
|
||||||
|
declare class ReferenceTracker {
|
||||||
|
constructor(globalScope: Scope$2, options?: {
|
||||||
|
mode?: "legacy" | "strict" | undefined;
|
||||||
|
globalObjectNames?: string[] | undefined;
|
||||||
|
} | undefined);
|
||||||
|
private variableStack;
|
||||||
|
private globalScope;
|
||||||
|
private mode;
|
||||||
|
private globalObjectNames;
|
||||||
|
iterateGlobalReferences<T>(traceMap: TraceMap$2<T>): IterableIterator<TrackedReferences$2<T>>;
|
||||||
|
iterateCjsReferences<T_1>(traceMap: TraceMap$2<T_1>): IterableIterator<TrackedReferences$2<T_1>>;
|
||||||
|
iterateEsmReferences<T_2>(traceMap: TraceMap$2<T_2>): IterableIterator<TrackedReferences$2<T_2>>;
|
||||||
|
iteratePropertyReferences<T_3>(node: Expression, traceMap: TraceMap$2<T_3>): IterableIterator<TrackedReferences$2<T_3>>;
|
||||||
|
private _iterateVariableReferences;
|
||||||
|
private _iteratePropertyReferences;
|
||||||
|
private _iterateLhsReferences;
|
||||||
|
private _iterateImportReferences;
|
||||||
|
}
|
||||||
|
declare namespace ReferenceTracker {
|
||||||
|
export { READ };
|
||||||
|
export { CALL };
|
||||||
|
export { CONSTRUCT };
|
||||||
|
export { ESM };
|
||||||
|
}
|
||||||
|
type Scope$2 = eslint.Scope.Scope;
|
||||||
|
type Expression = estree.Expression;
|
||||||
|
type TraceMap$2<T> = TraceMap$1<T>;
|
||||||
|
type TrackedReferences$2<T> = TrackedReferences$1<T>;
|
||||||
|
|
||||||
|
type StaticValue$2 = StaticValueProvided$1 | StaticValueOptional$1;
|
||||||
|
type StaticValueProvided$1 = {
|
||||||
|
optional?: undefined;
|
||||||
|
value: unknown;
|
||||||
|
};
|
||||||
|
type StaticValueOptional$1 = {
|
||||||
|
optional?: true;
|
||||||
|
value: undefined;
|
||||||
|
};
|
||||||
|
type ReferenceTrackerOptions$1 = {
|
||||||
|
globalObjectNames?: string[];
|
||||||
|
mode?: "legacy" | "strict";
|
||||||
|
};
|
||||||
|
type TraceMap$1<T = unknown> = {
|
||||||
|
[i: string]: TraceMapObject<T>;
|
||||||
|
};
|
||||||
|
type TraceMapObject<T> = {
|
||||||
|
[i: string]: TraceMapObject<T>;
|
||||||
|
[CALL]?: T;
|
||||||
|
[CONSTRUCT]?: T;
|
||||||
|
[READ]?: T;
|
||||||
|
[ESM]?: boolean;
|
||||||
|
};
|
||||||
|
type TrackedReferences$1<T> = {
|
||||||
|
info: T;
|
||||||
|
node: Rule.Node;
|
||||||
|
path: string[];
|
||||||
|
type: typeof CALL | typeof CONSTRUCT | typeof READ;
|
||||||
|
};
|
||||||
|
type HasSideEffectOptions$1 = {
|
||||||
|
considerGetters?: boolean;
|
||||||
|
considerImplicitTypeConversion?: boolean;
|
||||||
|
};
|
||||||
|
type PunctuatorToken<Value extends string> = AST.Token & {
|
||||||
|
type: "Punctuator";
|
||||||
|
value: Value;
|
||||||
|
};
|
||||||
|
type ArrowToken$1 = PunctuatorToken<"=>">;
|
||||||
|
type CommaToken$1 = PunctuatorToken<",">;
|
||||||
|
type SemicolonToken$1 = PunctuatorToken<";">;
|
||||||
|
type ColonToken$1 = PunctuatorToken<":">;
|
||||||
|
type OpeningParenToken$1 = PunctuatorToken<"(">;
|
||||||
|
type ClosingParenToken$1 = PunctuatorToken<")">;
|
||||||
|
type OpeningBracketToken$1 = PunctuatorToken<"[">;
|
||||||
|
type ClosingBracketToken$1 = PunctuatorToken<"]">;
|
||||||
|
type OpeningBraceToken$1 = PunctuatorToken<"{">;
|
||||||
|
type ClosingBraceToken$1 = PunctuatorToken<"}">;
|
||||||
|
|
||||||
|
declare function findVariable(initialScope: Scope$1, nameOrNode: string | Identifier): Variable | null;
|
||||||
|
type Scope$1 = eslint.Scope.Scope;
|
||||||
|
type Variable = eslint.Scope.Variable;
|
||||||
|
type Identifier = estree.Identifier;
|
||||||
|
|
||||||
|
declare function getFunctionHeadLocation(node: FunctionNode$1, sourceCode: SourceCode$2): SourceLocation | null;
|
||||||
|
type SourceCode$2 = eslint.SourceCode;
|
||||||
|
type FunctionNode$1 = estree.Function;
|
||||||
|
type SourceLocation = estree.SourceLocation;
|
||||||
|
|
||||||
|
declare function getFunctionNameWithKind(node: FunctionNode, sourceCode?: eslint.SourceCode | undefined): string;
|
||||||
|
type FunctionNode = estree.Function;
|
||||||
|
|
||||||
|
declare function getInnermostScope(initialScope: Scope, node: Node$4): Scope;
|
||||||
|
type Scope = eslint.Scope.Scope;
|
||||||
|
type Node$4 = estree.Node;
|
||||||
|
|
||||||
|
declare function getPropertyName(node: MemberExpression | MethodDefinition | Property | PropertyDefinition, initialScope?: eslint.Scope.Scope | undefined): string | null | undefined;
|
||||||
|
type MemberExpression = estree.MemberExpression;
|
||||||
|
type MethodDefinition = estree.MethodDefinition;
|
||||||
|
type Property = estree.Property;
|
||||||
|
type PropertyDefinition = estree.PropertyDefinition;
|
||||||
|
|
||||||
|
declare function getStaticValue(node: Node$3, initialScope?: eslint.Scope.Scope | null | undefined): StaticValue$1 | null;
|
||||||
|
type StaticValue$1 = StaticValue$2;
|
||||||
|
type Node$3 = estree.Node;
|
||||||
|
|
||||||
|
declare function getStringIfConstant(node: Node$2, initialScope?: eslint.Scope.Scope | null | undefined): string | null;
|
||||||
|
type Node$2 = estree.Node;
|
||||||
|
|
||||||
|
declare function hasSideEffect(node: Node$1, sourceCode: SourceCode$1, options?: HasSideEffectOptions$1 | undefined): boolean;
|
||||||
|
type Node$1 = estree.Node;
|
||||||
|
type SourceCode$1 = eslint.SourceCode;
|
||||||
|
|
||||||
|
declare function isArrowToken(token: CommentOrToken): token is ArrowToken$1;
|
||||||
|
declare function isCommaToken(token: CommentOrToken): token is CommaToken$1;
|
||||||
|
declare function isSemicolonToken(token: CommentOrToken): token is SemicolonToken$1;
|
||||||
|
declare function isColonToken(token: CommentOrToken): token is ColonToken$1;
|
||||||
|
declare function isOpeningParenToken(token: CommentOrToken): token is OpeningParenToken$1;
|
||||||
|
declare function isClosingParenToken(token: CommentOrToken): token is ClosingParenToken$1;
|
||||||
|
declare function isOpeningBracketToken(token: CommentOrToken): token is OpeningBracketToken$1;
|
||||||
|
declare function isClosingBracketToken(token: CommentOrToken): token is ClosingBracketToken$1;
|
||||||
|
declare function isOpeningBraceToken(token: CommentOrToken): token is OpeningBraceToken$1;
|
||||||
|
declare function isClosingBraceToken(token: CommentOrToken): token is ClosingBraceToken$1;
|
||||||
|
declare function isCommentToken(token: CommentOrToken): token is estree.Comment;
|
||||||
|
declare function isNotArrowToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotCommaToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotSemicolonToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotColonToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotOpeningParenToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotClosingParenToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotOpeningBracketToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotClosingBracketToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotOpeningBraceToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotClosingBraceToken(arg0: CommentOrToken): boolean;
|
||||||
|
declare function isNotCommentToken(arg0: CommentOrToken): boolean;
|
||||||
|
type Token = eslint.AST.Token;
|
||||||
|
type Comment = estree.Comment;
|
||||||
|
type CommentOrToken = Comment | Token;
|
||||||
|
|
||||||
|
declare function isParenthesized(timesOrNode: Node | number, nodeOrSourceCode: Node | SourceCode, optionalSourceCode?: eslint.SourceCode | undefined): boolean;
|
||||||
|
type Node = estree.Node;
|
||||||
|
type SourceCode = eslint.SourceCode;
|
||||||
|
|
||||||
|
declare class PatternMatcher {
|
||||||
|
constructor(pattern: RegExp, options?: {
|
||||||
|
escaped?: boolean | undefined;
|
||||||
|
} | undefined);
|
||||||
|
execAll(str: string): IterableIterator<RegExpExecArray>;
|
||||||
|
test(str: string): boolean;
|
||||||
|
[Symbol.replace](str: string, replacer: string | ((...strs: string[]) => string)): string;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare namespace _default {
|
||||||
|
export { CALL };
|
||||||
|
export { CONSTRUCT };
|
||||||
|
export { ESM };
|
||||||
|
export { findVariable };
|
||||||
|
export { getFunctionHeadLocation };
|
||||||
|
export { getFunctionNameWithKind };
|
||||||
|
export { getInnermostScope };
|
||||||
|
export { getPropertyName };
|
||||||
|
export { getStaticValue };
|
||||||
|
export { getStringIfConstant };
|
||||||
|
export { hasSideEffect };
|
||||||
|
export { isArrowToken };
|
||||||
|
export { isClosingBraceToken };
|
||||||
|
export { isClosingBracketToken };
|
||||||
|
export { isClosingParenToken };
|
||||||
|
export { isColonToken };
|
||||||
|
export { isCommaToken };
|
||||||
|
export { isCommentToken };
|
||||||
|
export { isNotArrowToken };
|
||||||
|
export { isNotClosingBraceToken };
|
||||||
|
export { isNotClosingBracketToken };
|
||||||
|
export { isNotClosingParenToken };
|
||||||
|
export { isNotColonToken };
|
||||||
|
export { isNotCommaToken };
|
||||||
|
export { isNotCommentToken };
|
||||||
|
export { isNotOpeningBraceToken };
|
||||||
|
export { isNotOpeningBracketToken };
|
||||||
|
export { isNotOpeningParenToken };
|
||||||
|
export { isNotSemicolonToken };
|
||||||
|
export { isOpeningBraceToken };
|
||||||
|
export { isOpeningBracketToken };
|
||||||
|
export { isOpeningParenToken };
|
||||||
|
export { isParenthesized };
|
||||||
|
export { isSemicolonToken };
|
||||||
|
export { PatternMatcher };
|
||||||
|
export { READ };
|
||||||
|
export { ReferenceTracker };
|
||||||
|
}
|
||||||
|
|
||||||
|
type StaticValue = StaticValue$2;
|
||||||
|
type StaticValueOptional = StaticValueOptional$1;
|
||||||
|
type StaticValueProvided = StaticValueProvided$1;
|
||||||
|
type ReferenceTrackerOptions = ReferenceTrackerOptions$1;
|
||||||
|
type TraceMap<T> = TraceMap$1<T>;
|
||||||
|
type TrackedReferences<T> = TrackedReferences$1<T>;
|
||||||
|
type HasSideEffectOptions = HasSideEffectOptions$1;
|
||||||
|
type ArrowToken = ArrowToken$1;
|
||||||
|
type CommaToken = CommaToken$1;
|
||||||
|
type SemicolonToken = SemicolonToken$1;
|
||||||
|
type ColonToken = ColonToken$1;
|
||||||
|
type OpeningParenToken = OpeningParenToken$1;
|
||||||
|
type ClosingParenToken = ClosingParenToken$1;
|
||||||
|
type OpeningBracketToken = OpeningBracketToken$1;
|
||||||
|
type ClosingBracketToken = ClosingBracketToken$1;
|
||||||
|
type OpeningBraceToken = OpeningBraceToken$1;
|
||||||
|
type ClosingBraceToken = ClosingBraceToken$1;
|
||||||
|
|
||||||
|
export { ArrowToken, CALL, CONSTRUCT, ClosingBraceToken, ClosingBracketToken, ClosingParenToken, ColonToken, CommaToken, ESM, HasSideEffectOptions, OpeningBraceToken, OpeningBracketToken, OpeningParenToken, PatternMatcher, READ, ReferenceTracker, ReferenceTrackerOptions, SemicolonToken, StaticValue, StaticValueOptional, StaticValueProvided, TraceMap, TrackedReferences, _default as default, findVariable, getFunctionHeadLocation, getFunctionNameWithKind, getInnermostScope, getPropertyName, getStaticValue, getStringIfConstant, hasSideEffect, isArrowToken, isClosingBraceToken, isClosingBracketToken, isClosingParenToken, isColonToken, isCommaToken, isCommentToken, isNotArrowToken, isNotClosingBraceToken, isNotClosingBracketToken, isNotClosingParenToken, isNotColonToken, isNotCommaToken, isNotCommentToken, isNotOpeningBraceToken, isNotOpeningBracketToken, isNotOpeningParenToken, isNotSemicolonToken, isOpeningBraceToken, isOpeningBracketToken, isOpeningParenToken, isParenthesized, isSemicolonToken };
|
||||||
810
node_modules/@eslint-community/eslint-utils/index.js
generated
vendored
810
node_modules/@eslint-community/eslint-utils/index.js
generated
vendored
File diff suppressed because it is too large
Load diff
2
node_modules/@eslint-community/eslint-utils/index.js.map
generated
vendored
2
node_modules/@eslint-community/eslint-utils/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
810
node_modules/@eslint-community/eslint-utils/index.mjs
generated
vendored
810
node_modules/@eslint-community/eslint-utils/index.mjs
generated
vendored
File diff suppressed because it is too large
Load diff
2
node_modules/@eslint-community/eslint-utils/index.mjs.map
generated
vendored
2
node_modules/@eslint-community/eslint-utils/index.mjs.map
generated
vendored
File diff suppressed because one or more lines are too long
50
node_modules/@eslint-community/eslint-utils/package.json
generated
vendored
50
node_modules/@eslint-community/eslint-utils/package.json
generated
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@eslint-community/eslint-utils",
|
"name": "@eslint-community/eslint-utils",
|
||||||
"version": "4.4.0",
|
"version": "4.7.0",
|
||||||
"description": "Utilities for ESLint plugins.",
|
"description": "Utilities for ESLint plugins.",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"eslint"
|
"eslint"
|
||||||
|
|
@ -30,38 +30,53 @@
|
||||||
],
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"prebuild": "npm run -s clean",
|
"prebuild": "npm run -s clean",
|
||||||
"build": "rollup -c",
|
"build": "npm run build:dts && npm run build:rollup",
|
||||||
"clean": "rimraf .nyc_output coverage index.*",
|
"build:dts": "tsc -p tsconfig.build.json",
|
||||||
|
"build:rollup": "rollup -c",
|
||||||
|
"clean": "rimraf .nyc_output coverage index.* dist",
|
||||||
"coverage": "opener ./coverage/lcov-report/index.html",
|
"coverage": "opener ./coverage/lcov-report/index.html",
|
||||||
"docs:build": "vitepress build docs",
|
"docs:build": "vitepress build docs",
|
||||||
"docs:watch": "vitepress dev docs",
|
"docs:watch": "vitepress dev docs",
|
||||||
"format": "npm run -s format:prettier -- --write",
|
"format": "npm run -s format:prettier -- --write",
|
||||||
"format:prettier": "prettier .",
|
"format:prettier": "prettier .",
|
||||||
"format:check": "npm run -s format:prettier -- --check",
|
"format:check": "npm run -s format:prettier -- --check",
|
||||||
"lint": "eslint .",
|
"lint:eslint": "eslint .",
|
||||||
"test": "c8 mocha --reporter dot \"test/*.mjs\"",
|
"lint:format": "npm run -s format:check",
|
||||||
"preversion": "npm test && npm run -s build",
|
"lint:installed-check": "installed-check -v -i installed-check -i npm-run-all2 -i knip -i rollup-plugin-dts",
|
||||||
|
"lint:knip": "knip",
|
||||||
|
"lint": "run-p lint:*",
|
||||||
|
"test-coverage": "c8 mocha --reporter dot \"test/*.mjs\"",
|
||||||
|
"test": "mocha --reporter dot \"test/*.mjs\"",
|
||||||
|
"preversion": "npm run test-coverage && npm run -s build",
|
||||||
"postversion": "git push && git push --tags",
|
"postversion": "git push && git push --tags",
|
||||||
"prewatch": "npm run -s clean",
|
"prewatch": "npm run -s clean",
|
||||||
"watch": "warun \"{src,test}/**/*.mjs\" -- npm run -s test:mocha"
|
"watch": "warun \"{src,test}/**/*.mjs\" -- npm run -s test:mocha"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"eslint-visitor-keys": "^3.3.0"
|
"eslint-visitor-keys": "^3.4.3"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@eslint-community/eslint-plugin-mysticatea": "^15.2.0",
|
"@eslint-community/eslint-plugin-mysticatea": "^15.6.1",
|
||||||
"c8": "^7.12.0",
|
"@types/eslint": "^9.6.1",
|
||||||
"dot-prop": "^6.0.1",
|
"@types/estree": "^1.0.7",
|
||||||
"eslint": "^8.28.0",
|
"@typescript-eslint/parser": "^5.62.0",
|
||||||
|
"@typescript-eslint/types": "^5.62.0",
|
||||||
|
"c8": "^8.0.1",
|
||||||
|
"dot-prop": "^7.2.0",
|
||||||
|
"eslint": "^8.57.1",
|
||||||
|
"installed-check": "^8.0.1",
|
||||||
|
"knip": "^5.33.3",
|
||||||
"mocha": "^9.2.2",
|
"mocha": "^9.2.2",
|
||||||
"npm-run-all": "^4.1.5",
|
"npm-run-all2": "^6.2.3",
|
||||||
"opener": "^1.5.2",
|
"opener": "^1.5.2",
|
||||||
"prettier": "2.8.4",
|
"prettier": "2.8.8",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"rollup": "^2.79.1",
|
"rollup": "^2.79.2",
|
||||||
|
"rollup-plugin-dts": "^4.2.3",
|
||||||
"rollup-plugin-sourcemaps": "^0.6.3",
|
"rollup-plugin-sourcemaps": "^0.6.3",
|
||||||
"semver": "^7.3.8",
|
"semver": "^7.6.3",
|
||||||
"vitepress": "^1.0.0-alpha.40",
|
"typescript": "^4.9.5",
|
||||||
|
"vitepress": "^1.4.1",
|
||||||
"warun": "^1.0.0"
|
"warun": "^1.0.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|
@ -69,5 +84,6 @@
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||||
}
|
},
|
||||||
|
"funding": "https://opencollective.com/eslint"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
node_modules/@eslint/js/package.json
generated
vendored
2
node_modules/@eslint/js/package.json
generated
vendored
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@eslint/js",
|
"name": "@eslint/js",
|
||||||
"version": "9.25.1",
|
"version": "9.26.0",
|
||||||
"description": "ESLint JavaScript language implementation",
|
"description": "ESLint JavaScript language implementation",
|
||||||
"main": "./src/index.js",
|
"main": "./src/index.js",
|
||||||
"types": "./types/index.d.ts",
|
"types": "./types/index.d.ts",
|
||||||
|
|
|
||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.d.ts
generated
vendored
1
node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.d.ts
generated
vendored
|
|
@ -89,6 +89,7 @@ declare const _default: {
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': "error";
|
'@typescript-eslint/no-unnecessary-type-arguments': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': "error";
|
'@typescript-eslint/no-unnecessary-type-assertion': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-constraint': "error";
|
'@typescript-eslint/no-unnecessary-type-constraint': "error";
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': "error";
|
'@typescript-eslint/no-unnecessary-type-parameters': "error";
|
||||||
'@typescript-eslint/no-unsafe-argument': "error";
|
'@typescript-eslint/no-unsafe-argument': "error";
|
||||||
'@typescript-eslint/no-unsafe-assignment': "error";
|
'@typescript-eslint/no-unsafe-assignment': "error";
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../../src/configs/eslintrc/all.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kBAyJiC"}
|
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../../src/configs/eslintrc/all.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kBA0JiC"}
|
||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.js
generated
vendored
1
node_modules/@typescript-eslint/eslint-plugin/dist/configs/eslintrc/all.js
generated
vendored
|
|
@ -96,6 +96,7 @@ module.exports = {
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': 'error',
|
'@typescript-eslint/no-unnecessary-type-arguments': 'error',
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': 'error',
|
'@typescript-eslint/no-unnecessary-type-assertion': 'error',
|
||||||
'@typescript-eslint/no-unnecessary-type-constraint': 'error',
|
'@typescript-eslint/no-unnecessary-type-constraint': 'error',
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': 'error',
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': 'error',
|
'@typescript-eslint/no-unnecessary-type-parameters': 'error',
|
||||||
'@typescript-eslint/no-unsafe-argument': 'error',
|
'@typescript-eslint/no-unsafe-argument': 'error',
|
||||||
'@typescript-eslint/no-unsafe-assignment': 'error',
|
'@typescript-eslint/no-unsafe-assignment': 'error',
|
||||||
|
|
|
||||||
|
|
@ -29,6 +29,7 @@ declare const _default: {
|
||||||
'@typescript-eslint/no-unnecessary-template-expression': "off";
|
'@typescript-eslint/no-unnecessary-template-expression': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': "off";
|
'@typescript-eslint/no-unnecessary-type-arguments': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': "off";
|
'@typescript-eslint/no-unnecessary-type-assertion': "off";
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': "off";
|
'@typescript-eslint/no-unnecessary-type-parameters': "off";
|
||||||
'@typescript-eslint/no-unsafe-argument': "off";
|
'@typescript-eslint/no-unsafe-argument': "off";
|
||||||
'@typescript-eslint/no-unsafe-assignment': "off";
|
'@typescript-eslint/no-unsafe-assignment': "off";
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"disable-type-checked.d.ts","sourceRoot":"","sources":["../../../src/configs/eslintrc/disable-type-checked.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kBA8DiC"}
|
{"version":3,"file":"disable-type-checked.d.ts","sourceRoot":"","sources":["../../../src/configs/eslintrc/disable-type-checked.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,kBA+DiC"}
|
||||||
|
|
@ -32,6 +32,7 @@ module.exports = {
|
||||||
'@typescript-eslint/no-unnecessary-template-expression': 'off',
|
'@typescript-eslint/no-unnecessary-template-expression': 'off',
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': 'off',
|
'@typescript-eslint/no-unnecessary-type-arguments': 'off',
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
|
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': 'off',
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
||||||
'@typescript-eslint/no-unsafe-argument': 'off',
|
'@typescript-eslint/no-unsafe-argument': 'off',
|
||||||
'@typescript-eslint/no-unsafe-assignment': 'off',
|
'@typescript-eslint/no-unsafe-assignment': 'off',
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/all.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/all.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../../src/configs/flat/all.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAKrE;;;GAGG;yBAED,QAAQ,UAAU,CAAC,MAAM,EACzB,QAAQ,UAAU,CAAC,MAAM,KACxB,UAAU,CAAC,WAAW;AAHzB,wBAiKE"}
|
{"version":3,"file":"all.d.ts","sourceRoot":"","sources":["../../../src/configs/flat/all.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAKrE;;;GAGG;yBAED,QAAQ,UAAU,CAAC,MAAM,EACzB,QAAQ,UAAU,CAAC,MAAM,KACxB,UAAU,CAAC,WAAW;AAHzB,wBAkKE"}
|
||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/all.js
generated
vendored
1
node_modules/@typescript-eslint/eslint-plugin/dist/configs/flat/all.js
generated
vendored
|
|
@ -109,6 +109,7 @@ exports.default = (plugin, parser) => [
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': 'error',
|
'@typescript-eslint/no-unnecessary-type-arguments': 'error',
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': 'error',
|
'@typescript-eslint/no-unnecessary-type-assertion': 'error',
|
||||||
'@typescript-eslint/no-unnecessary-type-constraint': 'error',
|
'@typescript-eslint/no-unnecessary-type-constraint': 'error',
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': 'error',
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': 'error',
|
'@typescript-eslint/no-unnecessary-type-parameters': 'error',
|
||||||
'@typescript-eslint/no-unsafe-argument': 'error',
|
'@typescript-eslint/no-unsafe-argument': 'error',
|
||||||
'@typescript-eslint/no-unsafe-assignment': 'error',
|
'@typescript-eslint/no-unsafe-assignment': 'error',
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"disable-type-checked.d.ts","sourceRoot":"","sources":["../../../src/configs/flat/disable-type-checked.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE;;;GAGG;yBAED,SAAS,UAAU,CAAC,MAAM,EAC1B,SAAS,UAAU,CAAC,MAAM,KACzB,UAAU,CAAC,MAAM;AAHpB,wBAoEG"}
|
{"version":3,"file":"disable-type-checked.d.ts","sourceRoot":"","sources":["../../../src/configs/flat/disable-type-checked.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAErE;;;GAGG;yBAED,SAAS,UAAU,CAAC,MAAM,EAC1B,SAAS,UAAU,CAAC,MAAM,KACzB,UAAU,CAAC,MAAM;AAHpB,wBAqEG"}
|
||||||
|
|
@ -37,6 +37,7 @@ exports.default = (_plugin, _parser) => ({
|
||||||
'@typescript-eslint/no-unnecessary-template-expression': 'off',
|
'@typescript-eslint/no-unnecessary-template-expression': 'off',
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': 'off',
|
'@typescript-eslint/no-unnecessary-type-arguments': 'off',
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
|
'@typescript-eslint/no-unnecessary-type-assertion': 'off',
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': 'off',
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
'@typescript-eslint/no-unnecessary-type-parameters': 'off',
|
||||||
'@typescript-eslint/no-unsafe-argument': 'off',
|
'@typescript-eslint/no-unsafe-argument': 'off',
|
||||||
'@typescript-eslint/no-unsafe-assignment': 'off',
|
'@typescript-eslint/no-unsafe-assignment': 'off',
|
||||||
|
|
|
||||||
3
node_modules/@typescript-eslint/eslint-plugin/dist/index.d.ts
generated
vendored
3
node_modules/@typescript-eslint/eslint-plugin/dist/index.d.ts
generated
vendored
|
|
@ -91,6 +91,7 @@ declare const _default: {
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': "error";
|
'@typescript-eslint/no-unnecessary-type-arguments': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': "error";
|
'@typescript-eslint/no-unnecessary-type-assertion': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-constraint': "error";
|
'@typescript-eslint/no-unnecessary-type-constraint': "error";
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': "error";
|
'@typescript-eslint/no-unnecessary-type-parameters': "error";
|
||||||
'@typescript-eslint/no-unsafe-argument': "error";
|
'@typescript-eslint/no-unsafe-argument': "error";
|
||||||
'@typescript-eslint/no-unsafe-assignment': "error";
|
'@typescript-eslint/no-unsafe-assignment': "error";
|
||||||
|
|
@ -192,6 +193,7 @@ declare const _default: {
|
||||||
'@typescript-eslint/no-unnecessary-template-expression': "off";
|
'@typescript-eslint/no-unnecessary-template-expression': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': "off";
|
'@typescript-eslint/no-unnecessary-type-arguments': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': "off";
|
'@typescript-eslint/no-unnecessary-type-assertion': "off";
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': "off";
|
'@typescript-eslint/no-unnecessary-type-parameters': "off";
|
||||||
'@typescript-eslint/no-unsafe-argument': "off";
|
'@typescript-eslint/no-unsafe-argument': "off";
|
||||||
'@typescript-eslint/no-unsafe-assignment': "off";
|
'@typescript-eslint/no-unsafe-assignment': "off";
|
||||||
|
|
@ -774,6 +776,7 @@ declare const _default: {
|
||||||
'no-unnecessary-type-arguments': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unnecessaryTypeParameter", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-arguments': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unnecessaryTypeParameter", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unnecessary-type-assertion': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./rules/no-unnecessary-type-assertion").MessageIds, import("./rules/no-unnecessary-type-assertion").Options, import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-assertion': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./rules/no-unnecessary-type-assertion").MessageIds, import("./rules/no-unnecessary-type-assertion").Options, import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unnecessary-type-constraint': import("@typescript-eslint/utils/ts-eslint").RuleModule<"removeUnnecessaryConstraint" | "unnecessaryConstraint", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-constraint': import("@typescript-eslint/utils/ts-eslint").RuleModule<"removeUnnecessaryConstraint" | "unnecessaryConstraint", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
|
'no-unnecessary-type-conversion': import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestRemove" | "suggestSatisfies" | "unnecessaryTypeConversion", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unnecessary-type-parameters': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceUsagesWithConstraint" | "sole", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-parameters': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceUsagesWithConstraint" | "sole", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unsafe-argument': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./rules/no-unsafe-argument").MessageIds, [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unsafe-argument': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./rules/no-unsafe-argument").MessageIds, [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unsafe-assignment': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unsafeArraySpread" | "anyAssignment" | "anyAssignmentThis" | "unsafeArrayPattern" | "unsafeArrayPatternFromTuple" | "unsafeAssignment", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unsafe-assignment': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unsafeArraySpread" | "anyAssignment" | "anyAssignmentThis" | "unsafeArrayPattern" | "unsafeArrayPatternFromTuple" | "unsafeAssignment", [], import("../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/index.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/index.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kBAA0B"}
|
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kBAA0B"}
|
||||||
3
node_modules/@typescript-eslint/eslint-plugin/dist/raw-plugin.d.ts
generated
vendored
3
node_modules/@typescript-eslint/eslint-plugin/dist/raw-plugin.d.ts
generated
vendored
|
|
@ -113,6 +113,7 @@ declare const _default: {
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': "error";
|
'@typescript-eslint/no-unnecessary-type-arguments': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': "error";
|
'@typescript-eslint/no-unnecessary-type-assertion': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-constraint': "error";
|
'@typescript-eslint/no-unnecessary-type-constraint': "error";
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': "error";
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': "error";
|
'@typescript-eslint/no-unnecessary-type-parameters': "error";
|
||||||
'@typescript-eslint/no-unsafe-argument': "error";
|
'@typescript-eslint/no-unsafe-argument': "error";
|
||||||
'@typescript-eslint/no-unsafe-assignment': "error";
|
'@typescript-eslint/no-unsafe-assignment': "error";
|
||||||
|
|
@ -214,6 +215,7 @@ declare const _default: {
|
||||||
'@typescript-eslint/no-unnecessary-template-expression': "off";
|
'@typescript-eslint/no-unnecessary-template-expression': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-arguments': "off";
|
'@typescript-eslint/no-unnecessary-type-arguments': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-assertion': "off";
|
'@typescript-eslint/no-unnecessary-type-assertion': "off";
|
||||||
|
'@typescript-eslint/no-unnecessary-type-conversion': "off";
|
||||||
'@typescript-eslint/no-unnecessary-type-parameters': "off";
|
'@typescript-eslint/no-unnecessary-type-parameters': "off";
|
||||||
'@typescript-eslint/no-unsafe-argument': "off";
|
'@typescript-eslint/no-unsafe-argument': "off";
|
||||||
'@typescript-eslint/no-unsafe-assignment': "off";
|
'@typescript-eslint/no-unsafe-assignment': "off";
|
||||||
|
|
@ -797,6 +799,7 @@ declare const _default: {
|
||||||
'no-unnecessary-type-arguments': TSESLint.RuleModule<"unnecessaryTypeParameter", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
'no-unnecessary-type-arguments': TSESLint.RuleModule<"unnecessaryTypeParameter", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
||||||
'no-unnecessary-type-assertion': TSESLint.RuleModule<import("./rules/no-unnecessary-type-assertion").MessageIds, import("./rules/no-unnecessary-type-assertion").Options, import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
'no-unnecessary-type-assertion': TSESLint.RuleModule<import("./rules/no-unnecessary-type-assertion").MessageIds, import("./rules/no-unnecessary-type-assertion").Options, import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
||||||
'no-unnecessary-type-constraint': TSESLint.RuleModule<"removeUnnecessaryConstraint" | "unnecessaryConstraint", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
'no-unnecessary-type-constraint': TSESLint.RuleModule<"removeUnnecessaryConstraint" | "unnecessaryConstraint", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
||||||
|
'no-unnecessary-type-conversion': TSESLint.RuleModule<"suggestRemove" | "suggestSatisfies" | "unnecessaryTypeConversion", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
||||||
'no-unnecessary-type-parameters': TSESLint.RuleModule<"replaceUsagesWithConstraint" | "sole", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
'no-unnecessary-type-parameters': TSESLint.RuleModule<"replaceUsagesWithConstraint" | "sole", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
||||||
'no-unsafe-argument': TSESLint.RuleModule<import("./rules/no-unsafe-argument").MessageIds, [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
'no-unsafe-argument': TSESLint.RuleModule<import("./rules/no-unsafe-argument").MessageIds, [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
||||||
'no-unsafe-assignment': TSESLint.RuleModule<"unsafeArraySpread" | "anyAssignment" | "anyAssignmentThis" | "unsafeArrayPattern" | "unsafeArrayPatternFromTuple" | "unsafeAssignment", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
'no-unsafe-assignment': TSESLint.RuleModule<"unsafeArraySpread" | "anyAssignment" | "anyAssignmentThis" | "unsafeArrayPattern" | "unsafeArrayPatternFromTuple" | "unsafeAssignment", [], import("../rules").ESLintPluginDocs, TSESLint.RuleListener>;
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/raw-plugin.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/raw-plugin.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"raw-plugin.d.ts","sourceRoot":"","sources":["../src/raw-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,oCAAoC,CAAC;;;;;;;;;;;;;;;;;;wDAetD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqCpB,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDvE,kBAIE"}
|
{"version":3,"file":"raw-plugin.d.ts","sourceRoot":"","sources":["../src/raw-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAU,MAAM,oCAAoC,CAAC;;;;;;;;;;;;;;;;;;wDAetD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAqCpB,mEAAmE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDvE,kBAIE"}
|
||||||
|
|
@ -50,7 +50,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
return {
|
return {
|
||||||
...(0, util_1.getNameFromMember)(member, context.sourceCode),
|
...(0, util_1.getNameFromMember)(member, context.sourceCode),
|
||||||
callSignature: false,
|
callSignature: false,
|
||||||
static: !!member.static,
|
static: member.static,
|
||||||
};
|
};
|
||||||
case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration:
|
case utils_1.AST_NODE_TYPES.TSCallSignatureDeclaration:
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/await-thenable.js
generated
vendored
|
|
@ -87,7 +87,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const hasAsyncIteratorSymbol = tsutils
|
const hasAsyncIteratorSymbol = tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.some(typePart => tsutils.getWellKnownSymbolPropertyOfType(typePart, 'asyncIterator', checker) != null);
|
.some(typePart => tsutils.getWellKnownSymbolPropertyOfType(typePart, 'asyncIterator', checker) != null);
|
||||||
if (!hasAsyncIteratorSymbol) {
|
if (!hasAsyncIteratorSymbol) {
|
||||||
context.report({
|
context.report({
|
||||||
|
|
@ -118,7 +118,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const hasAsyncDisposeSymbol = tsutils
|
const hasAsyncDisposeSymbol = tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.some(typePart => tsutils.getWellKnownSymbolPropertyOfType(typePart, 'asyncDispose', checker) != null);
|
.some(typePart => tsutils.getWellKnownSymbolPropertyOfType(typePart, 'asyncDispose', checker) != null);
|
||||||
if (!hasAsyncDisposeSymbol) {
|
if (!hasAsyncDisposeSymbol) {
|
||||||
context.report({
|
context.report({
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"consistent-indexed-object-style.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-indexed-object-style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAanE,MAAM,MAAM,UAAU,GAClB,sBAAsB,GACtB,gCAAgC,GAChC,cAAc,CAAC;AACnB,MAAM,MAAM,OAAO,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC;;AAErD,wBA4OG"}
|
{"version":3,"file":"consistent-indexed-object-style.d.ts","sourceRoot":"","sources":["../../src/rules/consistent-indexed-object-style.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAanE,MAAM,MAAM,UAAU,GAClB,sBAAsB,GACtB,gCAAgC,GAChC,cAAc,CAAC;AACnB,MAAM,MAAM,OAAO,GAAG,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC;;AAErD,wBA2OG"}
|
||||||
|
|
@ -139,9 +139,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
const scope = context.sourceCode.getScope(key);
|
const scope = context.sourceCode.getScope(key);
|
||||||
const superVar = utils_1.ASTUtils.findVariable(scope, parentId.name);
|
const superVar = utils_1.ASTUtils.findVariable(scope, parentId.name);
|
||||||
if (superVar) {
|
if (superVar) {
|
||||||
const isCircular = superVar.references.some(item => item.isTypeReference &&
|
const isCircular = isDeeplyReferencingType(node.parent, superVar, new Set([parentId]));
|
||||||
node.range[0] <= item.identifier.range[0] &&
|
|
||||||
node.range[1] >= item.identifier.range[1]);
|
|
||||||
if (isCircular) {
|
if (isCircular) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -155,7 +153,9 @@ exports.default = (0, util_1.createRule)({
|
||||||
...(canFix && {
|
...(canFix && {
|
||||||
fix: (fixer) => {
|
fix: (fixer) => {
|
||||||
const keyType = context.sourceCode.getText(constraint);
|
const keyType = context.sourceCode.getText(constraint);
|
||||||
const valueType = context.sourceCode.getText(node.typeAnnotation);
|
const valueType = node.typeAnnotation
|
||||||
|
? context.sourceCode.getText(node.typeAnnotation)
|
||||||
|
: 'any';
|
||||||
let recordText = `Record<${keyType}, ${valueType}>`;
|
let recordText = `Record<${keyType}, ${valueType}>`;
|
||||||
if (node.optional === '+' || node.optional === true) {
|
if (node.optional === '+' || node.optional === true) {
|
||||||
recordText = `Partial<${recordText}>`;
|
recordText = `Partial<${recordText}>`;
|
||||||
|
|
@ -201,6 +201,11 @@ function isDeeplyReferencingType(node, superVar, visited) {
|
||||||
return isDeeplyReferencingType(node.typeAnnotation, superVar, visited);
|
return isDeeplyReferencingType(node.typeAnnotation, superVar, visited);
|
||||||
case utils_1.AST_NODE_TYPES.TSIndexedAccessType:
|
case utils_1.AST_NODE_TYPES.TSIndexedAccessType:
|
||||||
return [node.indexType, node.objectType].some(type => isDeeplyReferencingType(type, superVar, visited));
|
return [node.indexType, node.objectType].some(type => isDeeplyReferencingType(type, superVar, visited));
|
||||||
|
case utils_1.AST_NODE_TYPES.TSMappedType:
|
||||||
|
if (node.typeAnnotation) {
|
||||||
|
return isDeeplyReferencingType(node.typeAnnotation, superVar, visited);
|
||||||
|
}
|
||||||
|
break;
|
||||||
case utils_1.AST_NODE_TYPES.TSConditionalType:
|
case utils_1.AST_NODE_TYPES.TSConditionalType:
|
||||||
return [
|
return [
|
||||||
node.checkType,
|
node.checkType,
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/enum-utils/shared.js
generated
vendored
|
|
@ -66,7 +66,7 @@ function getBaseEnumType(typeChecker, type) {
|
||||||
*/
|
*/
|
||||||
function getEnumLiterals(type) {
|
function getEnumLiterals(type) {
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.filter((subType) => (0, util_1.isTypeFlagSet)(subType, ts.TypeFlags.EnumLiteral));
|
.filter((subType) => (0, util_1.isTypeFlagSet)(subType, ts.TypeFlags.EnumLiteral));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -116,13 +116,13 @@ exports.default = (0, util_1.createRule)({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!!funcName && !!options.allowedNames.includes(funcName)) {
|
if (!!funcName && options.allowedNames.includes(funcName)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (node.type === utils_1.AST_NODE_TYPES.FunctionDeclaration &&
|
if (node.type === utils_1.AST_NODE_TYPES.FunctionDeclaration &&
|
||||||
node.id &&
|
node.id &&
|
||||||
!!options.allowedNames.includes(node.id.name)) {
|
options.allowedNames.includes(node.id.name)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.d.ts
generated
vendored
1
node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.d.ts
generated
vendored
|
|
@ -107,6 +107,7 @@ declare const rules: {
|
||||||
'no-unnecessary-type-arguments': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unnecessaryTypeParameter", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-arguments': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unnecessaryTypeParameter", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unnecessary-type-assertion': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./no-unnecessary-type-assertion").MessageIds, import("./no-unnecessary-type-assertion").Options, import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-assertion': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./no-unnecessary-type-assertion").MessageIds, import("./no-unnecessary-type-assertion").Options, import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unnecessary-type-constraint': import("@typescript-eslint/utils/ts-eslint").RuleModule<"removeUnnecessaryConstraint" | "unnecessaryConstraint", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-constraint': import("@typescript-eslint/utils/ts-eslint").RuleModule<"removeUnnecessaryConstraint" | "unnecessaryConstraint", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
|
'no-unnecessary-type-conversion': import("@typescript-eslint/utils/ts-eslint").RuleModule<"suggestRemove" | "suggestSatisfies" | "unnecessaryTypeConversion", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unnecessary-type-parameters': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceUsagesWithConstraint" | "sole", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unnecessary-type-parameters': import("@typescript-eslint/utils/ts-eslint").RuleModule<"replaceUsagesWithConstraint" | "sole", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unsafe-argument': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./no-unsafe-argument").MessageIds, [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unsafe-argument': import("@typescript-eslint/utils/ts-eslint").RuleModule<import("./no-unsafe-argument").MessageIds, [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
'no-unsafe-assignment': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unsafeArraySpread" | "anyAssignment" | "anyAssignmentThis" | "unsafeArrayPattern" | "unsafeArrayPatternFromTuple" | "unsafeAssignment", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
'no-unsafe-assignment': import("@typescript-eslint/utils/ts-eslint").RuleModule<"unsafeArraySpread" | "anyAssignment" | "anyAssignmentThis" | "unsafeArrayPattern" | "unsafeArrayPatternFromTuple" | "unsafeAssignment", [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAqIA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoImB,CAAC;AAE/B,SAAS,KAAK,CAAC"}
|
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"AAsIA,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqImB,CAAC;AAE/B,SAAS,KAAK,CAAC"}
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js
generated
vendored
|
|
@ -77,6 +77,7 @@ const no_unnecessary_template_expression_1 = __importDefault(require("./no-unnec
|
||||||
const no_unnecessary_type_arguments_1 = __importDefault(require("./no-unnecessary-type-arguments"));
|
const no_unnecessary_type_arguments_1 = __importDefault(require("./no-unnecessary-type-arguments"));
|
||||||
const no_unnecessary_type_assertion_1 = __importDefault(require("./no-unnecessary-type-assertion"));
|
const no_unnecessary_type_assertion_1 = __importDefault(require("./no-unnecessary-type-assertion"));
|
||||||
const no_unnecessary_type_constraint_1 = __importDefault(require("./no-unnecessary-type-constraint"));
|
const no_unnecessary_type_constraint_1 = __importDefault(require("./no-unnecessary-type-constraint"));
|
||||||
|
const no_unnecessary_type_conversion_1 = __importDefault(require("./no-unnecessary-type-conversion"));
|
||||||
const no_unnecessary_type_parameters_1 = __importDefault(require("./no-unnecessary-type-parameters"));
|
const no_unnecessary_type_parameters_1 = __importDefault(require("./no-unnecessary-type-parameters"));
|
||||||
const no_unsafe_argument_1 = __importDefault(require("./no-unsafe-argument"));
|
const no_unsafe_argument_1 = __importDefault(require("./no-unsafe-argument"));
|
||||||
const no_unsafe_assignment_1 = __importDefault(require("./no-unsafe-assignment"));
|
const no_unsafe_assignment_1 = __importDefault(require("./no-unsafe-assignment"));
|
||||||
|
|
@ -208,6 +209,7 @@ const rules = {
|
||||||
'no-unnecessary-type-arguments': no_unnecessary_type_arguments_1.default,
|
'no-unnecessary-type-arguments': no_unnecessary_type_arguments_1.default,
|
||||||
'no-unnecessary-type-assertion': no_unnecessary_type_assertion_1.default,
|
'no-unnecessary-type-assertion': no_unnecessary_type_assertion_1.default,
|
||||||
'no-unnecessary-type-constraint': no_unnecessary_type_constraint_1.default,
|
'no-unnecessary-type-constraint': no_unnecessary_type_constraint_1.default,
|
||||||
|
'no-unnecessary-type-conversion': no_unnecessary_type_conversion_1.default,
|
||||||
'no-unnecessary-type-parameters': no_unnecessary_type_parameters_1.default,
|
'no-unnecessary-type-parameters': no_unnecessary_type_parameters_1.default,
|
||||||
'no-unsafe-argument': no_unsafe_argument_1.default,
|
'no-unsafe-argument': no_unsafe_argument_1.default,
|
||||||
'no-unsafe-assignment': no_unsafe_assignment_1.default,
|
'no-unsafe-assignment': no_unsafe_assignment_1.default,
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/member-ordering.js
generated
vendored
|
|
@ -326,7 +326,7 @@ function isMemberOptional(node) {
|
||||||
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
case utils_1.AST_NODE_TYPES.PropertyDefinition:
|
||||||
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
case utils_1.AST_NODE_TYPES.TSAbstractMethodDefinition:
|
||||||
case utils_1.AST_NODE_TYPES.MethodDefinition:
|
case utils_1.AST_NODE_TYPES.MethodDefinition:
|
||||||
return !!node.optional;
|
return node.optional;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -327,7 +327,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
return callSignatures.some(signature => {
|
return callSignatures.some(signature => {
|
||||||
const returnType = signature.getReturnType();
|
const returnType = signature.getReturnType();
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(returnType)
|
.unionConstituents(returnType)
|
||||||
.some(tsutils.isIntrinsicVoidType);
|
.some(tsutils.isIntrinsicVoidType);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -342,14 +342,14 @@ exports.default = (0, util_1.createRule)({
|
||||||
if (functionTSNode.type) {
|
if (functionTSNode.type) {
|
||||||
const returnType = checker.getTypeFromTypeNode(functionTSNode.type);
|
const returnType = checker.getTypeFromTypeNode(functionTSNode.type);
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(returnType)
|
.unionConstituents(returnType)
|
||||||
.some(tsutils.isIntrinsicVoidType);
|
.some(tsutils.isIntrinsicVoidType);
|
||||||
}
|
}
|
||||||
if (ts.isExpression(functionTSNode)) {
|
if (ts.isExpression(functionTSNode)) {
|
||||||
const functionType = checker.getContextualType(functionTSNode);
|
const functionType = checker.getContextualType(functionTSNode);
|
||||||
if (functionType) {
|
if (functionType) {
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(functionType)
|
.unionConstituents(functionType)
|
||||||
.some(isFunctionReturnTypeIncludesVoid);
|
.some(isFunctionReturnTypeIncludesVoid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"no-deprecated.d.ts","sourceRoot":"","sources":["../../src/rules/no-deprecated.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAgBpD,KAAK,UAAU,GAAG,YAAY,GAAG,sBAAsB,CAAC;AAExD,KAAK,OAAO,GAAG;IACb;QACE,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAChC;CACF,CAAC;;AAEF,wBA0XG"}
|
{"version":3,"file":"no-deprecated.d.ts","sourceRoot":"","sources":["../../src/rules/no-deprecated.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAgBpD,KAAK,UAAU,GAAG,YAAY,GAAG,sBAAsB,CAAC;AAExD,KAAK,OAAO,GAAG;IACb;QACE,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;KAChC;CACF,CAAC;;AAEF,wBAmaG"}
|
||||||
33
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js
generated
vendored
33
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-deprecated.js
generated
vendored
|
|
@ -318,6 +318,38 @@ exports.default = (0, util_1.createRule)({
|
||||||
node,
|
node,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function checkMemberExpression(node) {
|
||||||
|
if (!node.computed) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const propertyType = services.getTypeAtLocation(node.property);
|
||||||
|
if (propertyType.isLiteral()) {
|
||||||
|
const objectType = services.getTypeAtLocation(node.object);
|
||||||
|
const propertyName = propertyType.isStringLiteral()
|
||||||
|
? propertyType.value
|
||||||
|
: String(propertyType.value);
|
||||||
|
const property = objectType.getProperty(propertyName);
|
||||||
|
const reason = getJsDocDeprecation(property);
|
||||||
|
if (reason == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if ((0, util_1.typeMatchesSomeSpecifier)(objectType, allow, services.program)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
context.report({
|
||||||
|
...(reason
|
||||||
|
? {
|
||||||
|
messageId: 'deprecatedWithReason',
|
||||||
|
data: { name: propertyName, reason },
|
||||||
|
}
|
||||||
|
: {
|
||||||
|
messageId: 'deprecated',
|
||||||
|
data: { name: propertyName },
|
||||||
|
}),
|
||||||
|
node: node.property,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
Identifier: checkIdentifier,
|
Identifier: checkIdentifier,
|
||||||
JSXIdentifier(node) {
|
JSXIdentifier(node) {
|
||||||
|
|
@ -325,6 +357,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
checkIdentifier(node);
|
checkIdentifier(node);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
MemberExpression: checkMemberExpression,
|
||||||
PrivateIdentifier: checkIdentifier,
|
PrivateIdentifier: checkIdentifier,
|
||||||
Super: checkIdentifier,
|
Super: checkIdentifier,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-duplicate-enum-values.js
generated
vendored
|
|
@ -39,10 +39,10 @@ exports.default = (0, util_1.createRule)({
|
||||||
}
|
}
|
||||||
let value;
|
let value;
|
||||||
if (isStringLiteral(member.initializer)) {
|
if (isStringLiteral(member.initializer)) {
|
||||||
value = String(member.initializer.value);
|
value = member.initializer.value;
|
||||||
}
|
}
|
||||||
else if (isNumberLiteral(member.initializer)) {
|
else if (isNumberLiteral(member.initializer)) {
|
||||||
value = Number(member.initializer.value);
|
value = member.initializer.value;
|
||||||
}
|
}
|
||||||
else if (isStaticTemplateLiteral(member.initializer)) {
|
else if (isStaticTemplateLiteral(member.initializer)) {
|
||||||
value = member.initializer.quasis[0].value.cooked;
|
value = member.initializer.quasis[0].value.cooked;
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"no-empty-interface.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOzD,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;CACF,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;;AAExD,wBAmHG"}
|
{"version":3,"file":"no-empty-interface.d.ts","sourceRoot":"","sources":["../../src/rules/no-empty-interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAOzD,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;CACF,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,kBAAkB,CAAC;;AAExD,wBAkHG"}
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-empty-interface.js
generated
vendored
|
|
@ -75,9 +75,9 @@ exports.default = (0, util_1.createRule)({
|
||||||
const mergedWithClassDeclaration = scope.set
|
const mergedWithClassDeclaration = scope.set
|
||||||
.get(node.id.name)
|
.get(node.id.name)
|
||||||
?.defs.some(def => def.node.type === utils_1.AST_NODE_TYPES.ClassDeclaration);
|
?.defs.some(def => def.node.type === utils_1.AST_NODE_TYPES.ClassDeclaration);
|
||||||
const isInAmbientDeclaration = !!((0, util_1.isDefinitionFile)(context.filename) &&
|
const isInAmbientDeclaration = (0, util_1.isDefinitionFile)(context.filename) &&
|
||||||
scope.type === scope_manager_1.ScopeType.tsModule &&
|
scope.type === scope_manager_1.ScopeType.tsModule &&
|
||||||
scope.block.declare);
|
scope.block.declare;
|
||||||
const useAutoFix = !(isInAmbientDeclaration || mergedWithClassDeclaration);
|
const useAutoFix = !(isInAmbientDeclaration || mergedWithClassDeclaration);
|
||||||
context.report({
|
context.report({
|
||||||
node: node.id,
|
node: node.id,
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"no-floating-promises.d.ts","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAMnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAepD,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAChD,yBAAyB,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACnD,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,kBAAkB,GAClB,iBAAiB,GACjB,sBAAsB,GACtB,0BAA0B,GAC1B,iCAAiC,GACjC,qCAAqC,GACrC,cAAc,CAAC;;AAmBnB,wBAkaG"}
|
{"version":3,"file":"no-floating-promises.d.ts","sourceRoot":"","sources":["../../src/rules/no-floating-promises.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAMnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAmBpD,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,sBAAsB,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAChD,yBAAyB,CAAC,EAAE,oBAAoB,EAAE,CAAC;QACnD,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB;CACF,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,kBAAkB,GAClB,iBAAiB,GACjB,sBAAsB,GACtB,0BAA0B,GAC1B,iCAAiC,GACjC,qCAAqC,GACrC,cAAc,CAAC;;AAmBnB,wBAqZG"}
|
||||||
40
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js
generated
vendored
40
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-floating-promises.js
generated
vendored
|
|
@ -37,6 +37,7 @@ const utils_1 = require("@typescript-eslint/utils");
|
||||||
const tsutils = __importStar(require("ts-api-utils"));
|
const tsutils = __importStar(require("ts-api-utils"));
|
||||||
const ts = __importStar(require("typescript"));
|
const ts = __importStar(require("typescript"));
|
||||||
const util_1 = require("../util");
|
const util_1 = require("../util");
|
||||||
|
const promiseUtils_1 = require("../util/promiseUtils");
|
||||||
const messageBase = 'Promises must be awaited, end with a call to .catch, or end with a call to .then with a rejection handler.';
|
const messageBase = 'Promises must be awaited, end with a call to .catch, or end with a call to .then with a rejection handler.';
|
||||||
const messageBaseVoid = 'Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler' +
|
const messageBaseVoid = 'Promises must be awaited, end with a call to .catch, end with a call to .then with a rejection handler' +
|
||||||
' or be explicitly marked as ignored with the `void` operator.';
|
' or be explicitly marked as ignored with the `void` operator.';
|
||||||
|
|
@ -256,33 +257,20 @@ exports.default = (0, util_1.createRule)({
|
||||||
if (node.type === utils_1.AST_NODE_TYPES.CallExpression) {
|
if (node.type === utils_1.AST_NODE_TYPES.CallExpression) {
|
||||||
// If the outer expression is a call, a `.catch()` or `.then()` with
|
// If the outer expression is a call, a `.catch()` or `.then()` with
|
||||||
// rejection handler handles the promise.
|
// rejection handler handles the promise.
|
||||||
const { callee } = node;
|
const promiseHandlingMethodCall = (0, promiseUtils_1.parseCatchCall)(node, context) ?? (0, promiseUtils_1.parseThenCall)(node, context);
|
||||||
if (callee.type === utils_1.AST_NODE_TYPES.MemberExpression) {
|
if (promiseHandlingMethodCall != null) {
|
||||||
const methodName = (0, util_1.getStaticMemberAccessValue)(callee, context);
|
const onRejected = promiseHandlingMethodCall.onRejected;
|
||||||
const catchRejectionHandler = methodName === 'catch' && node.arguments.length >= 1
|
if (onRejected != null) {
|
||||||
? node.arguments[0]
|
if (isValidRejectionHandler(onRejected)) {
|
||||||
: undefined;
|
|
||||||
if (catchRejectionHandler) {
|
|
||||||
if (isValidRejectionHandler(catchRejectionHandler)) {
|
|
||||||
return { isUnhandled: false };
|
return { isUnhandled: false };
|
||||||
}
|
}
|
||||||
return { isUnhandled: true, nonFunctionHandler: true };
|
return { isUnhandled: true, nonFunctionHandler: true };
|
||||||
}
|
}
|
||||||
const thenRejectionHandler = methodName === 'then' && node.arguments.length >= 2
|
return { isUnhandled: true };
|
||||||
? node.arguments[1]
|
|
||||||
: undefined;
|
|
||||||
if (thenRejectionHandler) {
|
|
||||||
if (isValidRejectionHandler(thenRejectionHandler)) {
|
|
||||||
return { isUnhandled: false };
|
|
||||||
}
|
|
||||||
return { isUnhandled: true, nonFunctionHandler: true };
|
|
||||||
}
|
|
||||||
// `x.finally()` is transparent to resolution of the promise, so check `x`.
|
|
||||||
// ("object" in this context is the `x` in `x.finally()`)
|
|
||||||
const promiseFinallyObject = methodName === 'finally' ? callee.object : undefined;
|
|
||||||
if (promiseFinallyObject) {
|
|
||||||
return isUnhandledPromise(checker, promiseFinallyObject);
|
|
||||||
}
|
}
|
||||||
|
const promiseFinallyCall = (0, promiseUtils_1.parseFinallyCall)(node, context);
|
||||||
|
if (promiseFinallyCall != null) {
|
||||||
|
return isUnhandledPromise(checker, promiseFinallyCall.object);
|
||||||
}
|
}
|
||||||
// All other cases are unhandled.
|
// All other cases are unhandled.
|
||||||
return { isUnhandled: true };
|
return { isUnhandled: true };
|
||||||
|
|
@ -309,7 +297,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
function isPromiseArray(node) {
|
function isPromiseArray(node) {
|
||||||
const type = checker.getTypeAtLocation(node);
|
const type = checker.getTypeAtLocation(node);
|
||||||
for (const ty of tsutils
|
for (const ty of tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.map(t => checker.getApparentType(t))) {
|
.map(t => checker.getApparentType(t))) {
|
||||||
if (checker.isArrayType(ty)) {
|
if (checker.isArrayType(ty)) {
|
||||||
const arrayType = checker.getTypeArguments(ty)[0];
|
const arrayType = checker.getTypeArguments(ty)[0];
|
||||||
|
|
@ -334,7 +322,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Otherwise, we always consider the built-in Promise to be Promise-like...
|
// Otherwise, we always consider the built-in Promise to be Promise-like...
|
||||||
const typeParts = tsutils.unionTypeParts(checker.getApparentType(type));
|
const typeParts = tsutils.unionConstituents(checker.getApparentType(type));
|
||||||
if (typeParts.some(typePart => (0, util_1.isBuiltinSymbolLike)(services.program, typePart, 'Promise'))) {
|
if (typeParts.some(typePart => (0, util_1.isBuiltinSymbolLike)(services.program, typePart, 'Promise'))) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -363,7 +351,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
function hasMatchingSignature(type, matcher) {
|
function hasMatchingSignature(type, matcher) {
|
||||||
for (const t of tsutils.unionTypeParts(type)) {
|
for (const t of tsutils.unionConstituents(type)) {
|
||||||
if (t.getCallSignatures().some(matcher)) {
|
if (t.getCallSignatures().some(matcher)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -372,7 +360,7 @@ function hasMatchingSignature(type, matcher) {
|
||||||
}
|
}
|
||||||
function isFunctionParam(checker, param, node) {
|
function isFunctionParam(checker, param, node) {
|
||||||
const type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node));
|
const type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node));
|
||||||
for (const t of tsutils.unionTypeParts(type)) {
|
for (const t of tsutils.unionConstituents(type)) {
|
||||||
if (t.getCallSignatures().length !== 0) {
|
if (t.getCallSignatures().length !== 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
const argType = services.getTypeAtLocation(node.argument);
|
const argType = services.getTypeAtLocation(node.argument);
|
||||||
const unionParts = tsutils.unionTypeParts(argType);
|
const unionParts = tsutils.unionConstituents(argType);
|
||||||
if (unionParts.every(part => part.flags & (ts.TypeFlags.Void | ts.TypeFlags.Undefined))) {
|
if (unionParts.every(part => part.flags & (ts.TypeFlags.Void | ts.TypeFlags.Undefined))) {
|
||||||
context.report({
|
context.report({
|
||||||
node,
|
node,
|
||||||
|
|
|
||||||
16
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js
generated
vendored
16
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-promises.js
generated
vendored
|
|
@ -551,7 +551,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
});
|
});
|
||||||
function isSometimesThenable(checker, node) {
|
function isSometimesThenable(checker, node) {
|
||||||
const type = checker.getTypeAtLocation(node);
|
const type = checker.getTypeAtLocation(node);
|
||||||
for (const subType of tsutils.unionTypeParts(checker.getApparentType(type))) {
|
for (const subType of tsutils.unionConstituents(checker.getApparentType(type))) {
|
||||||
if (tsutils.isThenableType(checker, node, subType)) {
|
if (tsutils.isThenableType(checker, node, subType)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -564,7 +564,7 @@ function isSometimesThenable(checker, node) {
|
||||||
// branches is thenable.
|
// branches is thenable.
|
||||||
function isAlwaysThenable(checker, node) {
|
function isAlwaysThenable(checker, node) {
|
||||||
const type = checker.getTypeAtLocation(node);
|
const type = checker.getTypeAtLocation(node);
|
||||||
for (const subType of tsutils.unionTypeParts(checker.getApparentType(type))) {
|
for (const subType of tsutils.unionConstituents(checker.getApparentType(type))) {
|
||||||
const thenProp = subType.getProperty('then');
|
const thenProp = subType.getProperty('then');
|
||||||
// If one of the alternates has no then property, it is not thenable in all
|
// If one of the alternates has no then property, it is not thenable in all
|
||||||
// cases.
|
// cases.
|
||||||
|
|
@ -576,7 +576,7 @@ function isAlwaysThenable(checker, node) {
|
||||||
// be of the right form to consider it thenable.
|
// be of the right form to consider it thenable.
|
||||||
const thenType = checker.getTypeOfSymbolAtLocation(thenProp, node);
|
const thenType = checker.getTypeOfSymbolAtLocation(thenProp, node);
|
||||||
let hasThenableSignature = false;
|
let hasThenableSignature = false;
|
||||||
for (const subType of tsutils.unionTypeParts(thenType)) {
|
for (const subType of tsutils.unionConstituents(thenType)) {
|
||||||
for (const signature of subType.getCallSignatures()) {
|
for (const signature of subType.getCallSignatures()) {
|
||||||
if (signature.parameters.length !== 0 &&
|
if (signature.parameters.length !== 0 &&
|
||||||
isFunctionParam(checker, signature.parameters[0], node)) {
|
isFunctionParam(checker, signature.parameters[0], node)) {
|
||||||
|
|
@ -602,7 +602,7 @@ function isAlwaysThenable(checker, node) {
|
||||||
}
|
}
|
||||||
function isFunctionParam(checker, param, node) {
|
function isFunctionParam(checker, param, node) {
|
||||||
const type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node));
|
const type = checker.getApparentType(checker.getTypeOfSymbolAtLocation(param, node));
|
||||||
for (const subType of tsutils.unionTypeParts(type)) {
|
for (const subType of tsutils.unionConstituents(type)) {
|
||||||
if (subType.getCallSignatures().length !== 0) {
|
if (subType.getCallSignatures().length !== 0) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -641,7 +641,7 @@ function voidFunctionArguments(checker, node) {
|
||||||
const type = checker.getTypeAtLocation(node.expression);
|
const type = checker.getTypeAtLocation(node.expression);
|
||||||
// We can't use checker.getResolvedSignature because it prefers an early '() => void' over a later '() => Promise<void>'
|
// We can't use checker.getResolvedSignature because it prefers an early '() => void' over a later '() => Promise<void>'
|
||||||
// See https://github.com/microsoft/TypeScript/issues/48077
|
// See https://github.com/microsoft/TypeScript/issues/48077
|
||||||
for (const subType of tsutils.unionTypeParts(type)) {
|
for (const subType of tsutils.unionConstituents(type)) {
|
||||||
// Standard function calls and `new` have two different types of signatures
|
// Standard function calls and `new` have two different types of signatures
|
||||||
const signatures = ts.isCallExpression(node)
|
const signatures = ts.isCallExpression(node)
|
||||||
? subType.getCallSignatures()
|
? subType.getCallSignatures()
|
||||||
|
|
@ -698,7 +698,7 @@ function anySignatureIsThenableType(checker, node, type) {
|
||||||
* @returns Whether type is a thenable-returning function.
|
* @returns Whether type is a thenable-returning function.
|
||||||
*/
|
*/
|
||||||
function isThenableReturningFunctionType(checker, node, type) {
|
function isThenableReturningFunctionType(checker, node, type) {
|
||||||
for (const subType of tsutils.unionTypeParts(type)) {
|
for (const subType of tsutils.unionConstituents(type)) {
|
||||||
if (anySignatureIsThenableType(checker, node, subType)) {
|
if (anySignatureIsThenableType(checker, node, subType)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -710,7 +710,7 @@ function isThenableReturningFunctionType(checker, node, type) {
|
||||||
*/
|
*/
|
||||||
function isVoidReturningFunctionType(checker, node, type) {
|
function isVoidReturningFunctionType(checker, node, type) {
|
||||||
let hadVoidReturn = false;
|
let hadVoidReturn = false;
|
||||||
for (const subType of tsutils.unionTypeParts(type)) {
|
for (const subType of tsutils.unionConstituents(type)) {
|
||||||
for (const signature of subType.getCallSignatures()) {
|
for (const signature of subType.getCallSignatures()) {
|
||||||
const returnType = signature.getReturnType();
|
const returnType = signature.getReturnType();
|
||||||
// If a certain positional argument accepts both thenable and void returns,
|
// If a certain positional argument accepts both thenable and void returns,
|
||||||
|
|
@ -729,7 +729,7 @@ function isVoidReturningFunctionType(checker, node, type) {
|
||||||
function returnsThenable(checker, node) {
|
function returnsThenable(checker, node) {
|
||||||
const type = checker.getApparentType(checker.getTypeAtLocation(node));
|
const type = checker.getApparentType(checker.getTypeAtLocation(node));
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.some(t => anySignatureIsThenableType(checker, node, t));
|
.some(t => anySignatureIsThenableType(checker, node, t));
|
||||||
}
|
}
|
||||||
function getHeritageTypes(checker, tsNode) {
|
function getHeritageTypes(checker, tsNode) {
|
||||||
|
|
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-spread.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-misused-spread.js
generated
vendored
|
|
@ -97,7 +97,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function getMapSpreadSuggestions(node, type) {
|
function getMapSpreadSuggestions(node, type) {
|
||||||
const types = tsutils.unionTypeParts(type);
|
const types = tsutils.unionConstituents(type);
|
||||||
if (types.some(t => !isMap(services.program, t))) {
|
if (types.some(t => !isMap(services.program, t))) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -208,7 +208,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
});
|
});
|
||||||
function isIterable(type, checker) {
|
function isIterable(type, checker) {
|
||||||
return tsutils
|
return tsutils
|
||||||
.typeParts(type)
|
.typeConstituents(type)
|
||||||
.some(t => !!tsutils.getWellKnownSymbolPropertyOfType(t, 'iterator', checker));
|
.some(t => !!tsutils.getWellKnownSymbolPropertyOfType(t, 'iterator', checker));
|
||||||
}
|
}
|
||||||
function isArray(checker, type) {
|
function isArray(checker, type) {
|
||||||
|
|
|
||||||
|
|
@ -156,7 +156,7 @@ function describeLiteralTypeNode(typeNode) {
|
||||||
return 'literal type';
|
return 'literal type';
|
||||||
}
|
}
|
||||||
function isNodeInsideReturnType(node) {
|
function isNodeInsideReturnType(node) {
|
||||||
return !!(node.parent.type === utils_1.AST_NODE_TYPES.TSTypeAnnotation &&
|
return (node.parent.type === utils_1.AST_NODE_TYPES.TSTypeAnnotation &&
|
||||||
(0, util_1.isFunctionOrFunctionType)(node.parent.parent));
|
(0, util_1.isFunctionOrFunctionType)(node.parent.parent));
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
|
|
@ -168,7 +168,7 @@ function unionTypePartsUnlessBoolean(type) {
|
||||||
tsutils.isFalseLiteralType(type.types[0]) &&
|
tsutils.isFalseLiteralType(type.types[0]) &&
|
||||||
tsutils.isTrueLiteralType(type.types[1])
|
tsutils.isTrueLiteralType(type.types[1])
|
||||||
? [type]
|
? [type]
|
||||||
: tsutils.unionTypeParts(type);
|
: tsutils.unionConstituents(type);
|
||||||
}
|
}
|
||||||
exports.default = (0, util_1.createRule)({
|
exports.default = (0, util_1.createRule)({
|
||||||
name: 'no-redundant-type-constituents',
|
name: 'no-redundant-type-constituents',
|
||||||
|
|
|
||||||
10
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js
generated
vendored
10
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-condition.js
generated
vendored
|
|
@ -44,14 +44,14 @@ function isNullishType(type) {
|
||||||
return tsutils.isTypeFlagSet(type, nullishFlag);
|
return tsutils.isTypeFlagSet(type, nullishFlag);
|
||||||
}
|
}
|
||||||
function isAlwaysNullish(type) {
|
function isAlwaysNullish(type) {
|
||||||
return tsutils.unionTypeParts(type).every(isNullishType);
|
return tsutils.unionConstituents(type).every(isNullishType);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Note that this differs from {@link isNullableType} in that it doesn't consider
|
* Note that this differs from {@link isNullableType} in that it doesn't consider
|
||||||
* `any` or `unknown` to be nullable.
|
* `any` or `unknown` to be nullable.
|
||||||
*/
|
*/
|
||||||
function isPossiblyNullish(type) {
|
function isPossiblyNullish(type) {
|
||||||
return tsutils.unionTypeParts(type).some(isNullishType);
|
return tsutils.unionConstituents(type).some(isNullishType);
|
||||||
}
|
}
|
||||||
function toStaticValue(type) {
|
function toStaticValue(type) {
|
||||||
// type.isLiteral() only covers numbers/bigints and strings, hence the rest of the branches.
|
// type.isLiteral() only covers numbers/bigints and strings, hence the rest of the branches.
|
||||||
|
|
@ -198,13 +198,13 @@ exports.default = (0, util_1.createRule)({
|
||||||
function nodeIsArrayType(node) {
|
function nodeIsArrayType(node) {
|
||||||
const nodeType = (0, util_1.getConstrainedTypeAtLocation)(services, node);
|
const nodeType = (0, util_1.getConstrainedTypeAtLocation)(services, node);
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(nodeType)
|
.unionConstituents(nodeType)
|
||||||
.some(part => checker.isArrayType(part));
|
.some(part => checker.isArrayType(part));
|
||||||
}
|
}
|
||||||
function nodeIsTupleType(node) {
|
function nodeIsTupleType(node) {
|
||||||
const nodeType = (0, util_1.getConstrainedTypeAtLocation)(services, node);
|
const nodeType = (0, util_1.getConstrainedTypeAtLocation)(services, node);
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(nodeType)
|
.unionConstituents(nodeType)
|
||||||
.some(part => checker.isTupleType(part));
|
.some(part => checker.isTupleType(part));
|
||||||
}
|
}
|
||||||
function isArrayIndexExpression(node) {
|
function isArrayIndexExpression(node) {
|
||||||
|
|
@ -223,7 +223,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
// `any` or `unknown` or a naked type variable
|
// `any` or `unknown` or a naked type variable
|
||||||
function isConditionalAlwaysNecessary(type) {
|
function isConditionalAlwaysNecessary(type) {
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.some(part => (0, util_1.isTypeAnyType)(part) ||
|
.some(part => (0, util_1.isTypeAnyType)(part) ||
|
||||||
(0, util_1.isTypeUnknownType)(part) ||
|
(0, util_1.isTypeUnknownType)(part) ||
|
||||||
(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.TypeVariable));
|
(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.TypeVariable));
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"no-unnecessary-template-expression.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-template-expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAmBzD,MAAM,MAAM,SAAS,GAAG,iCAAiC,CAAC;;AAuB1D,wBAmbG"}
|
{"version":3,"file":"no-unnecessary-template-expression.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-template-expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAmBzD,MAAM,MAAM,SAAS,GAAG,iCAAiC,CAAC;;AAqB1D,wBAgbG"}
|
||||||
|
|
@ -43,7 +43,7 @@ const evenNumOfBackslashesRegExp = /(?<!(?:[^\\]|^)(?:\\\\)*\\)/;
|
||||||
// '\\\\$' <- true
|
// '\\\\$' <- true
|
||||||
// '\\\\\\$' <- false
|
// '\\\\\\$' <- false
|
||||||
function endsWithUnescapedDollarSign(str) {
|
function endsWithUnescapedDollarSign(str) {
|
||||||
return new RegExp(`${String(evenNumOfBackslashesRegExp.source)}\\$$`).test(str);
|
return new RegExp(`${evenNumOfBackslashesRegExp.source}\\$$`).test(str);
|
||||||
}
|
}
|
||||||
exports.default = (0, util_1.createRule)({
|
exports.default = (0, util_1.createRule)({
|
||||||
name: 'no-unnecessary-template-expression',
|
name: 'no-unnecessary-template-expression',
|
||||||
|
|
@ -77,7 +77,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
return isStringLike(type);
|
return isStringLike(type);
|
||||||
}
|
}
|
||||||
function isEnumMemberType(type) {
|
function isEnumMemberType(type) {
|
||||||
return tsutils.typeParts(type).some(t => {
|
return tsutils.typeConstituents(type).some(t => {
|
||||||
const symbol = t.getSymbol();
|
const symbol = t.getSymbol();
|
||||||
return !!(symbol?.valueDeclaration && ts.isEnumMember(symbol.valueDeclaration));
|
return !!(symbol?.valueDeclaration && ts.isEnumMember(symbol.valueDeclaration));
|
||||||
});
|
});
|
||||||
|
|
@ -233,7 +233,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
// \\` -> \\\`
|
// \\` -> \\\`
|
||||||
// \${ -> \${
|
// \${ -> \${
|
||||||
// \\${ -> \\\${
|
// \\${ -> \\\${
|
||||||
.replaceAll(new RegExp(`${String(evenNumOfBackslashesRegExp.source)}(\`|\\\${)`, 'g'), '\\$1');
|
.replaceAll(new RegExp(`${evenNumOfBackslashesRegExp.source}(\`|\\\${)`, 'g'), '\\$1');
|
||||||
// `...${'...$'}{...`
|
// `...${'...$'}{...`
|
||||||
// ^^^^
|
// ^^^^
|
||||||
if (nextCharacterIsOpeningCurlyBrace &&
|
if (nextCharacterIsOpeningCurlyBrace &&
|
||||||
|
|
|
||||||
|
|
@ -171,10 +171,10 @@ exports.default = (0, util_1.createRule)({
|
||||||
(0, util_1.isTypeFlagSet)(cast, ts.TypeFlags.Undefined) &&
|
(0, util_1.isTypeFlagSet)(cast, ts.TypeFlags.Undefined) &&
|
||||||
tsutils.isCompilerOptionEnabled(compilerOptions, 'exactOptionalPropertyTypes')) {
|
tsutils.isCompilerOptionEnabled(compilerOptions, 'exactOptionalPropertyTypes')) {
|
||||||
const uncastParts = tsutils
|
const uncastParts = tsutils
|
||||||
.unionTypeParts(uncast)
|
.unionConstituents(uncast)
|
||||||
.filter(part => !(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.Undefined));
|
.filter(part => !(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.Undefined));
|
||||||
const castParts = tsutils
|
const castParts = tsutils
|
||||||
.unionTypeParts(cast)
|
.unionConstituents(cast)
|
||||||
.filter(part => !(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.Undefined));
|
.filter(part => !(0, util_1.isTypeFlagSet)(part, ts.TypeFlags.Undefined));
|
||||||
if (uncastParts.length !== castParts.length) {
|
if (uncastParts.length !== castParts.length) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-conversion.d.ts
generated
vendored
Normal file
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-conversion.d.ts
generated
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
type MessageIds = 'suggestRemove' | 'suggestSatisfies' | 'unnecessaryTypeConversion';
|
||||||
|
declare const _default: import("@typescript-eslint/utils/ts-eslint").RuleModule<MessageIds, [], import("../../rules").ESLintPluginDocs, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
|
||||||
|
export default _default;
|
||||||
|
//# sourceMappingURL=no-unnecessary-type-conversion.d.ts.map
|
||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-conversion.d.ts.map
generated
vendored
Normal file
1
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-conversion.d.ts.map
generated
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":3,"file":"no-unnecessary-type-conversion.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-conversion.ts"],"names":[],"mappings":"AAgBA,KAAK,UAAU,GACX,eAAe,GACf,kBAAkB,GAClB,2BAA2B,CAAC;;AAEhC,wBAqVG"}
|
||||||
306
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-conversion.js
generated
vendored
Normal file
306
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unnecessary-type-conversion.js
generated
vendored
Normal file
|
|
@ -0,0 +1,306 @@
|
||||||
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||||
|
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||||
|
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||||
|
}
|
||||||
|
Object.defineProperty(o, k2, desc);
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || (function () {
|
||||||
|
var ownKeys = function(o) {
|
||||||
|
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||||
|
var ar = [];
|
||||||
|
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||||
|
return ar;
|
||||||
|
};
|
||||||
|
return ownKeys(o);
|
||||||
|
};
|
||||||
|
return function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
})();
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
const utils_1 = require("@typescript-eslint/utils");
|
||||||
|
const tsutils = __importStar(require("ts-api-utils"));
|
||||||
|
const ts = __importStar(require("typescript"));
|
||||||
|
const util_1 = require("../util");
|
||||||
|
exports.default = (0, util_1.createRule)({
|
||||||
|
name: 'no-unnecessary-type-conversion',
|
||||||
|
meta: {
|
||||||
|
type: 'suggestion',
|
||||||
|
docs: {
|
||||||
|
description: 'Disallow conversion idioms when they do not change the type or value of the expression',
|
||||||
|
requiresTypeChecking: true,
|
||||||
|
},
|
||||||
|
hasSuggestions: true,
|
||||||
|
messages: {
|
||||||
|
suggestRemove: 'Remove the type conversion.',
|
||||||
|
suggestSatisfies: 'Instead, assert that the value satisfies the {{type}} type.',
|
||||||
|
unnecessaryTypeConversion: '{{violation}} does not change the type or value of the {{type}}.',
|
||||||
|
},
|
||||||
|
schema: [],
|
||||||
|
},
|
||||||
|
defaultOptions: [],
|
||||||
|
create(context) {
|
||||||
|
function doesUnderlyingTypeMatchFlag(type, typeFlag) {
|
||||||
|
return tsutils
|
||||||
|
.unionConstituents(type)
|
||||||
|
.every(t => (0, util_1.isTypeFlagSet)(t, typeFlag));
|
||||||
|
}
|
||||||
|
const services = (0, util_1.getParserServices)(context);
|
||||||
|
function handleUnaryOperator(node, typeFlag, typeString, violation, isDoubleOperator) {
|
||||||
|
const outerNode = isDoubleOperator ? node.parent : node;
|
||||||
|
const type = services.getTypeAtLocation(node.argument);
|
||||||
|
if (doesUnderlyingTypeMatchFlag(type, typeFlag)) {
|
||||||
|
const wrappingFixerParams = {
|
||||||
|
node: outerNode,
|
||||||
|
innerNode: [node.argument],
|
||||||
|
sourceCode: context.sourceCode,
|
||||||
|
};
|
||||||
|
context.report({
|
||||||
|
loc: {
|
||||||
|
start: outerNode.loc.start,
|
||||||
|
end: {
|
||||||
|
column: node.loc.start.column + 1,
|
||||||
|
line: node.loc.start.line,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
messageId: 'unnecessaryTypeConversion',
|
||||||
|
data: { type: typeString, violation },
|
||||||
|
suggest: [
|
||||||
|
{
|
||||||
|
messageId: 'suggestRemove',
|
||||||
|
fix: (0, util_1.getWrappingFixer)(wrappingFixerParams),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
messageId: 'suggestSatisfies',
|
||||||
|
data: { type: typeString },
|
||||||
|
fix: (0, util_1.getWrappingFixer)({
|
||||||
|
...wrappingFixerParams,
|
||||||
|
wrap: expr => `${expr} satisfies ${typeString}`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
'AssignmentExpression[operator = "+="]'(node) {
|
||||||
|
if (node.right.type === utils_1.AST_NODE_TYPES.Literal &&
|
||||||
|
node.right.value === '' &&
|
||||||
|
doesUnderlyingTypeMatchFlag(services.getTypeAtLocation(node.left), ts.TypeFlags.StringLike)) {
|
||||||
|
const wrappingFixerParams = {
|
||||||
|
node,
|
||||||
|
innerNode: [node.left],
|
||||||
|
sourceCode: context.sourceCode,
|
||||||
|
};
|
||||||
|
context.report({
|
||||||
|
node,
|
||||||
|
messageId: 'unnecessaryTypeConversion',
|
||||||
|
data: {
|
||||||
|
type: 'string',
|
||||||
|
violation: "Concatenating a string with ''",
|
||||||
|
},
|
||||||
|
suggest: [
|
||||||
|
{
|
||||||
|
messageId: 'suggestRemove',
|
||||||
|
fix: node.parent.type === utils_1.AST_NODE_TYPES.ExpressionStatement
|
||||||
|
? (fixer) => [
|
||||||
|
fixer.removeRange([
|
||||||
|
node.parent.range[0],
|
||||||
|
node.parent.range[1],
|
||||||
|
]),
|
||||||
|
]
|
||||||
|
: (0, util_1.getWrappingFixer)(wrappingFixerParams),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
messageId: 'suggestSatisfies',
|
||||||
|
data: { type: 'string' },
|
||||||
|
fix: (0, util_1.getWrappingFixer)({
|
||||||
|
...wrappingFixerParams,
|
||||||
|
wrap: expr => `${expr} satisfies string`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'BinaryExpression[operator = "+"]'(node) {
|
||||||
|
if (node.right.type === utils_1.AST_NODE_TYPES.Literal &&
|
||||||
|
node.right.value === '' &&
|
||||||
|
doesUnderlyingTypeMatchFlag(services.getTypeAtLocation(node.left), ts.TypeFlags.StringLike)) {
|
||||||
|
const wrappingFixerParams = {
|
||||||
|
node,
|
||||||
|
innerNode: [node.left],
|
||||||
|
sourceCode: context.sourceCode,
|
||||||
|
};
|
||||||
|
context.report({
|
||||||
|
loc: {
|
||||||
|
start: node.left.loc.end,
|
||||||
|
end: node.loc.end,
|
||||||
|
},
|
||||||
|
messageId: 'unnecessaryTypeConversion',
|
||||||
|
data: {
|
||||||
|
type: 'string',
|
||||||
|
violation: "Concatenating a string with ''",
|
||||||
|
},
|
||||||
|
suggest: [
|
||||||
|
{
|
||||||
|
messageId: 'suggestRemove',
|
||||||
|
fix: (0, util_1.getWrappingFixer)(wrappingFixerParams),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
messageId: 'suggestSatisfies',
|
||||||
|
data: { type: 'string' },
|
||||||
|
fix: (0, util_1.getWrappingFixer)({
|
||||||
|
...wrappingFixerParams,
|
||||||
|
wrap: expr => `${expr} satisfies string`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else if (node.left.type === utils_1.AST_NODE_TYPES.Literal &&
|
||||||
|
node.left.value === '' &&
|
||||||
|
doesUnderlyingTypeMatchFlag(services.getTypeAtLocation(node.right), ts.TypeFlags.StringLike)) {
|
||||||
|
const wrappingFixerParams = {
|
||||||
|
node,
|
||||||
|
innerNode: [node.right],
|
||||||
|
sourceCode: context.sourceCode,
|
||||||
|
};
|
||||||
|
context.report({
|
||||||
|
loc: {
|
||||||
|
start: node.loc.start,
|
||||||
|
end: node.right.loc.start,
|
||||||
|
},
|
||||||
|
messageId: 'unnecessaryTypeConversion',
|
||||||
|
data: {
|
||||||
|
type: 'string',
|
||||||
|
violation: "Concatenating '' with a string",
|
||||||
|
},
|
||||||
|
suggest: [
|
||||||
|
{
|
||||||
|
messageId: 'suggestRemove',
|
||||||
|
fix: (0, util_1.getWrappingFixer)(wrappingFixerParams),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
messageId: 'suggestSatisfies',
|
||||||
|
data: { type: 'string' },
|
||||||
|
fix: (0, util_1.getWrappingFixer)({
|
||||||
|
...wrappingFixerParams,
|
||||||
|
wrap: expr => `${expr} satisfies string`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
CallExpression(node) {
|
||||||
|
const nodeCallee = node.callee;
|
||||||
|
const builtInTypeFlags = {
|
||||||
|
BigInt: ts.TypeFlags.BigIntLike,
|
||||||
|
Boolean: ts.TypeFlags.BooleanLike,
|
||||||
|
Number: ts.TypeFlags.NumberLike,
|
||||||
|
String: ts.TypeFlags.StringLike,
|
||||||
|
};
|
||||||
|
if (nodeCallee.type !== utils_1.AST_NODE_TYPES.Identifier ||
|
||||||
|
!(nodeCallee.name in builtInTypeFlags)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const typeFlag = builtInTypeFlags[nodeCallee.name];
|
||||||
|
const scope = context.sourceCode.getScope(node);
|
||||||
|
const variable = scope.set.get(nodeCallee.name);
|
||||||
|
if (!!variable?.defs.length ||
|
||||||
|
!doesUnderlyingTypeMatchFlag((0, util_1.getConstrainedTypeAtLocation)(services, node.arguments[0]), typeFlag)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const wrappingFixerParams = {
|
||||||
|
node,
|
||||||
|
innerNode: [node.arguments[0]],
|
||||||
|
sourceCode: context.sourceCode,
|
||||||
|
};
|
||||||
|
const typeString = nodeCallee.name.toLowerCase();
|
||||||
|
context.report({
|
||||||
|
node: nodeCallee,
|
||||||
|
messageId: 'unnecessaryTypeConversion',
|
||||||
|
data: {
|
||||||
|
type: nodeCallee.name.toLowerCase(),
|
||||||
|
violation: `Passing a ${typeString} to ${nodeCallee.name}()`,
|
||||||
|
},
|
||||||
|
suggest: [
|
||||||
|
{
|
||||||
|
messageId: 'suggestRemove',
|
||||||
|
fix: (0, util_1.getWrappingFixer)(wrappingFixerParams),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
messageId: 'suggestSatisfies',
|
||||||
|
data: { type: typeString },
|
||||||
|
fix: (0, util_1.getWrappingFixer)({
|
||||||
|
...wrappingFixerParams,
|
||||||
|
wrap: expr => `${expr} satisfies ${typeString}`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'CallExpression > MemberExpression.callee > Identifier[name = "toString"].property'(node) {
|
||||||
|
const memberExpr = node.parent;
|
||||||
|
const type = (0, util_1.getConstrainedTypeAtLocation)(services, memberExpr.object);
|
||||||
|
if (doesUnderlyingTypeMatchFlag(type, ts.TypeFlags.StringLike)) {
|
||||||
|
const wrappingFixerParams = {
|
||||||
|
node: memberExpr.parent,
|
||||||
|
innerNode: [memberExpr.object],
|
||||||
|
sourceCode: context.sourceCode,
|
||||||
|
};
|
||||||
|
context.report({
|
||||||
|
loc: {
|
||||||
|
start: memberExpr.property.loc.start,
|
||||||
|
end: memberExpr.parent.loc.end,
|
||||||
|
},
|
||||||
|
messageId: 'unnecessaryTypeConversion',
|
||||||
|
data: {
|
||||||
|
type: 'string',
|
||||||
|
violation: "Calling a string's .toString() method",
|
||||||
|
},
|
||||||
|
suggest: [
|
||||||
|
{
|
||||||
|
messageId: 'suggestRemove',
|
||||||
|
fix: (0, util_1.getWrappingFixer)(wrappingFixerParams),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
messageId: 'suggestSatisfies',
|
||||||
|
data: { type: 'string' },
|
||||||
|
fix: (0, util_1.getWrappingFixer)({
|
||||||
|
...wrappingFixerParams,
|
||||||
|
wrap: expr => `${expr} satisfies string`,
|
||||||
|
}),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'UnaryExpression[operator = "!"] > UnaryExpression[operator = "!"]'(node) {
|
||||||
|
handleUnaryOperator(node, ts.TypeFlags.BooleanLike, 'boolean', 'Using !! on a boolean', true);
|
||||||
|
},
|
||||||
|
'UnaryExpression[operator = "+"]'(node) {
|
||||||
|
handleUnaryOperator(node, ts.TypeFlags.NumberLike, 'number', 'Using the unary + operator on a number', false);
|
||||||
|
},
|
||||||
|
'UnaryExpression[operator = "~"] > UnaryExpression[operator = "~"]'(node) {
|
||||||
|
handleUnaryOperator(node, ts.TypeFlags.NumberLike, 'number', 'Using ~~ on a number', true);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"no-unnecessary-type-parameters.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-parameters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;;AAoBnE,wBAqLG"}
|
{"version":3,"file":"no-unnecessary-type-parameters.d.ts","sourceRoot":"","sources":["../../src/rules/no-unnecessary-type-parameters.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;;AAqBnE,wBA0MG"}
|
||||||
|
|
@ -101,9 +101,30 @@ exports.default = (0, util_1.createRule)({
|
||||||
for (const reference of smTypeParameterVariable.references) {
|
for (const reference of smTypeParameterVariable.references) {
|
||||||
if (reference.isTypeReference) {
|
if (reference.isTypeReference) {
|
||||||
const referenceNode = reference.identifier;
|
const referenceNode = reference.identifier;
|
||||||
|
const isComplexType = constraint?.type === utils_1.AST_NODE_TYPES.TSUnionType ||
|
||||||
|
constraint?.type === utils_1.AST_NODE_TYPES.TSIntersectionType ||
|
||||||
|
constraint?.type === utils_1.AST_NODE_TYPES.TSConditionalType;
|
||||||
|
const hasMatchingAncestorType = [
|
||||||
|
utils_1.AST_NODE_TYPES.TSArrayType,
|
||||||
|
utils_1.AST_NODE_TYPES.TSIndexedAccessType,
|
||||||
|
utils_1.AST_NODE_TYPES.TSIntersectionType,
|
||||||
|
utils_1.AST_NODE_TYPES.TSUnionType,
|
||||||
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
||||||
|
].some(type => referenceNode.parent.parent.type === type);
|
||||||
|
if (isComplexType && hasMatchingAncestorType) {
|
||||||
|
const fixResult = (0, util_1.getWrappingFixer)({
|
||||||
|
node: referenceNode,
|
||||||
|
innerNode: constraint,
|
||||||
|
sourceCode: context.sourceCode,
|
||||||
|
wrap: constraintNode => constraintNode,
|
||||||
|
})(fixer);
|
||||||
|
yield fixResult;
|
||||||
|
}
|
||||||
|
else {
|
||||||
yield fixer.replaceText(referenceNode, constraintText);
|
yield fixer.replaceText(referenceNode, constraintText);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// ...and remove the type parameter itself from the declaration.
|
// ...and remove the type parameter itself from the declaration.
|
||||||
const typeParamsNode = (0, util_1.nullThrows)(node.typeParameters, 'node should have type parameters');
|
const typeParamsNode = (0, util_1.nullThrows)(node.typeParameters, 'node should have type parameters');
|
||||||
// We are assuming at this point that the reported type parameter
|
// We are assuming at this point that the reported type parameter
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-assignment.js
generated
vendored
|
|
@ -168,7 +168,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
}
|
}
|
||||||
else if (receiverProperty.key.type === utils_1.AST_NODE_TYPES.TemplateLiteral &&
|
else if (receiverProperty.key.type === utils_1.AST_NODE_TYPES.TemplateLiteral &&
|
||||||
receiverProperty.key.quasis.length === 1) {
|
receiverProperty.key.quasis.length === 1) {
|
||||||
key = String(receiverProperty.key.quasis[0].value.cooked);
|
key = receiverProperty.key.quasis[0].value.cooked;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// can't figure out the name, so skip it
|
// can't figure out the name, so skip it
|
||||||
|
|
|
||||||
|
|
@ -46,13 +46,13 @@ function typeViolates(leftTypeParts, rightType) {
|
||||||
(leftEnumValueTypes.has(ts.TypeFlags.String) && isStringLike(rightType)));
|
(leftEnumValueTypes.has(ts.TypeFlags.String) && isStringLike(rightType)));
|
||||||
}
|
}
|
||||||
function isNumberLike(type) {
|
function isNumberLike(type) {
|
||||||
const typeParts = tsutils.intersectionTypeParts(type);
|
const typeParts = tsutils.intersectionConstituents(type);
|
||||||
return typeParts.some(typePart => {
|
return typeParts.some(typePart => {
|
||||||
return tsutils.isTypeFlagSet(typePart, ts.TypeFlags.Number | ts.TypeFlags.NumberLike);
|
return tsutils.isTypeFlagSet(typePart, ts.TypeFlags.Number | ts.TypeFlags.NumberLike);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function isStringLike(type) {
|
function isStringLike(type) {
|
||||||
const typeParts = tsutils.intersectionTypeParts(type);
|
const typeParts = tsutils.intersectionConstituents(type);
|
||||||
return typeParts.some(typePart => {
|
return typeParts.some(typePart => {
|
||||||
return tsutils.isTypeFlagSet(typePart, ts.TypeFlags.String | ts.TypeFlags.StringLike);
|
return tsutils.isTypeFlagSet(typePart, ts.TypeFlags.String | ts.TypeFlags.StringLike);
|
||||||
});
|
});
|
||||||
|
|
@ -116,8 +116,8 @@ exports.default = (0, util_1.createRule)({
|
||||||
// declare const something: Fruit | Vegetable;
|
// declare const something: Fruit | Vegetable;
|
||||||
// something === Fruit.Apple;
|
// something === Fruit.Apple;
|
||||||
// ```
|
// ```
|
||||||
const leftTypeParts = tsutils.unionTypeParts(leftType);
|
const leftTypeParts = tsutils.unionConstituents(leftType);
|
||||||
const rightTypeParts = tsutils.unionTypeParts(rightType);
|
const rightTypeParts = tsutils.unionConstituents(rightType);
|
||||||
// If a type exists in both sides, we consider this comparison safe:
|
// If a type exists in both sides, we consider this comparison safe:
|
||||||
//
|
//
|
||||||
// ```ts
|
// ```ts
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/no-unsafe-unary-minus.js
generated
vendored
|
|
@ -61,7 +61,7 @@ exports.default = util.createRule({
|
||||||
const argType = util.getConstrainedTypeAtLocation(services, node.argument);
|
const argType = util.getConstrainedTypeAtLocation(services, node.argument);
|
||||||
const checker = services.program.getTypeChecker();
|
const checker = services.program.getTypeChecker();
|
||||||
if (tsutils
|
if (tsutils
|
||||||
.unionTypeParts(argType)
|
.unionConstituents(argType)
|
||||||
.some(type => !tsutils.isTypeFlagSet(type, ts.TypeFlags.Any |
|
.some(type => !tsutils.isTypeFlagSet(type, ts.TypeFlags.Any |
|
||||||
ts.TypeFlags.Never |
|
ts.TypeFlags.Never |
|
||||||
ts.TypeFlags.BigIntLike |
|
ts.TypeFlags.BigIntLike |
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
if (tsutils.isTypeFlagSet(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
|
if (tsutils.isTypeFlagSet(type, ts.TypeFlags.Any | ts.TypeFlags.Unknown)) {
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
return tsutils.unionTypeParts(type);
|
return tsutils.unionConstituents(type);
|
||||||
};
|
};
|
||||||
const couldBeNullish = (type) => {
|
const couldBeNullish = (type) => {
|
||||||
if (type.flags & ts.TypeFlags.TypeParameter) {
|
if (type.flags & ts.TypeFlags.TypeParameter) {
|
||||||
|
|
|
||||||
1
node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.d.ts
generated
vendored
1
node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.d.ts
generated
vendored
|
|
@ -3,6 +3,7 @@ export type MessageIds = 'object' | 'undef';
|
||||||
export type Options = [
|
export type Options = [
|
||||||
{
|
{
|
||||||
allow?: TypeOrValueSpecifier[];
|
allow?: TypeOrValueSpecifier[];
|
||||||
|
allowRethrowing?: boolean;
|
||||||
allowThrowingAny?: boolean;
|
allowThrowingAny?: boolean;
|
||||||
allowThrowingUnknown?: boolean;
|
allowThrowingUnknown?: boolean;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"only-throw-error.d.ts","sourceRoot":"","sources":["../../src/rules/only-throw-error.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAYpD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC;CACF,CAAC;;AAEF,wBAuFG"}
|
{"version":3,"file":"only-throw-error.d.ts","sourceRoot":"","sources":["../../src/rules/only-throw-error.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAepD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE5C,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,KAAK,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAC/B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC;CACF,CAAC;;AAEF,wBA4JG"}
|
||||||
47
node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js
generated
vendored
47
node_modules/@typescript-eslint/eslint-plugin/dist/rules/only-throw-error.js
generated
vendored
|
|
@ -34,8 +34,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
||||||
})();
|
})();
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const utils_1 = require("@typescript-eslint/utils");
|
const utils_1 = require("@typescript-eslint/utils");
|
||||||
|
const ts_api_utils_1 = require("ts-api-utils");
|
||||||
const ts = __importStar(require("typescript"));
|
const ts = __importStar(require("typescript"));
|
||||||
const util_1 = require("../util");
|
const util_1 = require("../util");
|
||||||
|
const promiseUtils_1 = require("../util/promiseUtils");
|
||||||
exports.default = (0, util_1.createRule)({
|
exports.default = (0, util_1.createRule)({
|
||||||
name: 'only-throw-error',
|
name: 'only-throw-error',
|
||||||
meta: {
|
meta: {
|
||||||
|
|
@ -59,6 +61,10 @@ exports.default = (0, util_1.createRule)({
|
||||||
...util_1.typeOrValueSpecifiersSchema,
|
...util_1.typeOrValueSpecifiersSchema,
|
||||||
description: 'Type specifiers that can be thrown.',
|
description: 'Type specifiers that can be thrown.',
|
||||||
},
|
},
|
||||||
|
allowRethrowing: {
|
||||||
|
type: 'boolean',
|
||||||
|
description: 'Whether to allow rethrowing caught values that are not `Error` objects.',
|
||||||
|
},
|
||||||
allowThrowingAny: {
|
allowThrowingAny: {
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
description: 'Whether to always allow throwing values typed as `any`.',
|
description: 'Whether to always allow throwing values typed as `any`.',
|
||||||
|
|
@ -74,6 +80,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
defaultOptions: [
|
defaultOptions: [
|
||||||
{
|
{
|
||||||
allow: [],
|
allow: [],
|
||||||
|
allowRethrowing: true,
|
||||||
allowThrowingAny: true,
|
allowThrowingAny: true,
|
||||||
allowThrowingUnknown: true,
|
allowThrowingUnknown: true,
|
||||||
},
|
},
|
||||||
|
|
@ -81,11 +88,51 @@ exports.default = (0, util_1.createRule)({
|
||||||
create(context, [options]) {
|
create(context, [options]) {
|
||||||
const services = (0, util_1.getParserServices)(context);
|
const services = (0, util_1.getParserServices)(context);
|
||||||
const allow = options.allow;
|
const allow = options.allow;
|
||||||
|
function isRethrownError(node) {
|
||||||
|
if (node.type !== utils_1.AST_NODE_TYPES.Identifier) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const scope = context.sourceCode.getScope(node);
|
||||||
|
const smVariable = (0, util_1.nullThrows)((0, util_1.findVariable)(scope, node), `Variable ${node.name} should exist in scope manager`);
|
||||||
|
const variableDefinitions = smVariable.defs.filter(def => def.isVariableDefinition);
|
||||||
|
if (variableDefinitions.length !== 1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
const def = smVariable.defs[0];
|
||||||
|
// try { /* ... */ } catch (x) { throw x; }
|
||||||
|
if (def.node.type === utils_1.AST_NODE_TYPES.CatchClause) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// promise.catch(x => { throw x; })
|
||||||
|
// promise.then(onFulfilled, x => { throw x; })
|
||||||
|
if (def.node.type === utils_1.AST_NODE_TYPES.ArrowFunctionExpression &&
|
||||||
|
def.node.params.length >= 1 &&
|
||||||
|
def.node.params[0] === def.name &&
|
||||||
|
def.node.parent.type === utils_1.AST_NODE_TYPES.CallExpression) {
|
||||||
|
const callExpression = def.node.parent;
|
||||||
|
const parsedPromiseHandlingCall = (0, promiseUtils_1.parseCatchCall)(callExpression, context) ??
|
||||||
|
(0, promiseUtils_1.parseThenCall)(callExpression, context);
|
||||||
|
if (parsedPromiseHandlingCall != null) {
|
||||||
|
const { object, onRejected } = parsedPromiseHandlingCall;
|
||||||
|
if (onRejected === def.node) {
|
||||||
|
const tsObjectNode = services.esTreeNodeToTSNodeMap.get(object);
|
||||||
|
// make sure we're actually dealing with a promise
|
||||||
|
if ((0, ts_api_utils_1.isThenableType)(services.program.getTypeChecker(), tsObjectNode)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
function checkThrowArgument(node) {
|
function checkThrowArgument(node) {
|
||||||
if (node.type === utils_1.AST_NODE_TYPES.AwaitExpression ||
|
if (node.type === utils_1.AST_NODE_TYPES.AwaitExpression ||
|
||||||
node.type === utils_1.AST_NODE_TYPES.YieldExpression) {
|
node.type === utils_1.AST_NODE_TYPES.YieldExpression) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (options.allowRethrowing && isRethrownError(node)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
const type = services.getTypeAtLocation(node);
|
const type = services.getTypeAtLocation(node);
|
||||||
if ((0, util_1.typeMatchesSomeSpecifier)(type, allow, services.program)) {
|
if ((0, util_1.typeMatchesSomeSpecifier)(type, allow, services.program)) {
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-find.js
generated
vendored
|
|
@ -109,7 +109,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
*/
|
*/
|
||||||
function isArrayish(type) {
|
function isArrayish(type) {
|
||||||
let isAtLeastOneArrayishComponent = false;
|
let isAtLeastOneArrayishComponent = false;
|
||||||
for (const unionPart of tsutils.unionTypeParts(type)) {
|
for (const unionPart of tsutils.unionConstituents(type)) {
|
||||||
if (tsutils.isIntrinsicNullType(unionPart) ||
|
if (tsutils.isIntrinsicNullType(unionPart) ||
|
||||||
tsutils.isIntrinsicUndefinedType(unionPart)) {
|
tsutils.isIntrinsicUndefinedType(unionPart)) {
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -117,7 +117,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
// apparently checker.isArrayType(T[] & S[]) => false.
|
// apparently checker.isArrayType(T[] & S[]) => false.
|
||||||
// so we need to check the intersection parts individually.
|
// so we need to check the intersection parts individually.
|
||||||
const isArrayOrIntersectionThereof = tsutils
|
const isArrayOrIntersectionThereof = tsutils
|
||||||
.intersectionTypeParts(unionPart)
|
.intersectionConstituents(unionPart)
|
||||||
.every(intersectionPart => checker.isArrayType(intersectionPart) ||
|
.every(intersectionPart => checker.isArrayType(intersectionPart) ||
|
||||||
checker.isTupleType(intersectionPart));
|
checker.isTupleType(intersectionPart));
|
||||||
if (!isArrayOrIntersectionThereof) {
|
if (!isArrayOrIntersectionThereof) {
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"prefer-nullish-coalescing.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-nullish-coalescing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAqCnE,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,gBAAgB,CAAC,EACb;YACE,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,GACD,IAAI,CAAC;QACT,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;CACF,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,0BAA0B,GAC1B,gBAAgB,CAAC;;AAErB,wBA8jBG"}
|
{"version":3,"file":"prefer-nullish-coalescing.d.ts","sourceRoot":"","sources":["../../src/rules/prefer-nullish-coalescing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAY,MAAM,0BAA0B,CAAC;AAyCnE,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,qBAAqB,CAAC,EAAE,OAAO,CAAC;QAChC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,6BAA6B,CAAC,EAAE,OAAO,CAAC;QACxC,gBAAgB,CAAC,EACb;YACE,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,MAAM,CAAC,EAAE,OAAO,CAAC;YACjB,MAAM,CAAC,EAAE,OAAO,CAAC;SAClB,GACD,IAAI,CAAC;QACT,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B;CACF,CAAC;AAEF,MAAM,MAAM,UAAU,GAClB,mBAAmB,GACnB,6BAA6B,GAC7B,qBAAqB,GACrB,0BAA0B,GAC1B,gBAAgB,CAAC;;AAErB,wBA+kBG"}
|
||||||
14
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js
generated
vendored
14
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-nullish-coalescing.js
generated
vendored
|
|
@ -37,6 +37,7 @@ const utils_1 = require("@typescript-eslint/utils");
|
||||||
const tsutils = __importStar(require("ts-api-utils"));
|
const tsutils = __importStar(require("ts-api-utils"));
|
||||||
const ts = __importStar(require("typescript"));
|
const ts = __importStar(require("typescript"));
|
||||||
const util_1 = require("../util");
|
const util_1 = require("../util");
|
||||||
|
const getWrappedCode_1 = require("../util/getWrappedCode");
|
||||||
const isMemberAccessLike = (0, util_1.isNodeOfTypes)([
|
const isMemberAccessLike = (0, util_1.isNodeOfTypes)([
|
||||||
utils_1.AST_NODE_TYPES.ChainExpression,
|
utils_1.AST_NODE_TYPES.ChainExpression,
|
||||||
utils_1.AST_NODE_TYPES.Identifier,
|
utils_1.AST_NODE_TYPES.Identifier,
|
||||||
|
|
@ -194,9 +195,9 @@ exports.default = (0, util_1.createRule)({
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (tsutils
|
if (tsutils
|
||||||
.typeParts(type)
|
.typeConstituents(type)
|
||||||
.some(t => tsutils
|
.some(t => tsutils
|
||||||
.intersectionTypeParts(t)
|
.intersectionConstituents(t)
|
||||||
.some(t => tsutils.isTypeFlagSet(t, ignorableFlags)))) {
|
.some(t => tsutils.isTypeFlagSet(t, ignorableFlags)))) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -354,7 +355,8 @@ exports.default = (0, util_1.createRule)({
|
||||||
if (operator == null) {
|
if (operator == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const nullishCoalescingParams = getNullishCoalescingParams(node, getBranchNodes(node, operator).nonNullishBranch, nodesInsideTestExpression, operator);
|
const { nonNullishBranch, nullishBranch } = getBranchNodes(node, operator);
|
||||||
|
const nullishCoalescingParams = getNullishCoalescingParams(node, nonNullishBranch, nodesInsideTestExpression, operator);
|
||||||
if (nullishCoalescingParams.isFixable) {
|
if (nullishCoalescingParams.isFixable) {
|
||||||
context.report({
|
context.report({
|
||||||
node,
|
node,
|
||||||
|
|
@ -366,7 +368,11 @@ exports.default = (0, util_1.createRule)({
|
||||||
messageId: 'suggestNullish',
|
messageId: 'suggestNullish',
|
||||||
data: { equals: '' },
|
data: { equals: '' },
|
||||||
fix(fixer) {
|
fix(fixer) {
|
||||||
return fixer.replaceText(node, `${(0, util_1.getTextWithParentheses)(context.sourceCode, nullishCoalescingParams.nullishCoalescingLeftNode)} ?? ${(0, util_1.getTextWithParentheses)(context.sourceCode, getBranchNodes(node, operator).nullishBranch)}`);
|
const nullishBranchText = (0, util_1.getTextWithParentheses)(context.sourceCode, nullishBranch);
|
||||||
|
const rightOperandReplacement = (0, util_1.isParenthesized)(nullishBranch, context.sourceCode)
|
||||||
|
? nullishBranchText
|
||||||
|
: (0, getWrappedCode_1.getWrappedCode)(nullishBranchText, (0, util_1.getOperatorPrecedenceForNode)(nullishBranch), util_1.OperatorPrecedence.Coalesce);
|
||||||
|
return fixer.replaceText(node, `${(0, util_1.getTextWithParentheses)(context.sourceCode, nullishCoalescingParams.nullishCoalescingLeftNode)} ?? ${rightOperandReplacement}`);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@ const compareNodes_1 = require("./compareNodes");
|
||||||
const gatherLogicalOperands_1 = require("./gatherLogicalOperands");
|
const gatherLogicalOperands_1 = require("./gatherLogicalOperands");
|
||||||
function includesType(parserServices, node, typeFlagIn) {
|
function includesType(parserServices, node, typeFlagIn) {
|
||||||
const typeFlag = typeFlagIn | ts.TypeFlags.Any | ts.TypeFlags.Unknown;
|
const typeFlag = typeFlagIn | ts.TypeFlags.Any | ts.TypeFlags.Unknown;
|
||||||
const types = (0, ts_api_utils_1.unionTypeParts)(parserServices.getTypeAtLocation(node));
|
const types = (0, ts_api_utils_1.unionConstituents)(parserServices.getTypeAtLocation(node));
|
||||||
for (const type of types) {
|
for (const type of types) {
|
||||||
if ((0, util_1.isTypeFlagSet)(type, typeFlag)) {
|
if ((0, util_1.isTypeFlagSet)(type, typeFlag)) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ const ts_api_utils_1 = require("ts-api-utils");
|
||||||
const ts = __importStar(require("typescript"));
|
const ts = __importStar(require("typescript"));
|
||||||
function checkNullishAndReport(context, parserServices, { requireNullish }, maybeNullishNodes, descriptor) {
|
function checkNullishAndReport(context, parserServices, { requireNullish }, maybeNullishNodes, descriptor) {
|
||||||
if (!requireNullish ||
|
if (!requireNullish ||
|
||||||
maybeNullishNodes.some(node => (0, ts_api_utils_1.unionTypeParts)(parserServices.getTypeAtLocation(node)).some(t => (0, type_utils_1.isTypeFlagSet)(t, ts.TypeFlags.Null | ts.TypeFlags.Undefined)))) {
|
maybeNullishNodes.some(node => (0, ts_api_utils_1.unionConstituents)(parserServices.getTypeAtLocation(node)).some(t => (0, type_utils_1.isTypeFlagSet)(t, ts.TypeFlags.Null | ts.TypeFlags.Undefined)))) {
|
||||||
context.report(descriptor);
|
context.report(descriptor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -72,7 +72,7 @@ var NullishComparisonType;
|
||||||
const NULLISH_FLAGS = ts.TypeFlags.Null | ts.TypeFlags.Undefined;
|
const NULLISH_FLAGS = ts.TypeFlags.Null | ts.TypeFlags.Undefined;
|
||||||
function isValidFalseBooleanCheckType(node, disallowFalseyLiteral, parserServices, options) {
|
function isValidFalseBooleanCheckType(node, disallowFalseyLiteral, parserServices, options) {
|
||||||
const type = parserServices.getTypeAtLocation(node);
|
const type = parserServices.getTypeAtLocation(node);
|
||||||
const types = (0, ts_api_utils_1.unionTypeParts)(type);
|
const types = (0, ts_api_utils_1.unionConstituents)(type);
|
||||||
if (disallowFalseyLiteral &&
|
if (disallowFalseyLiteral &&
|
||||||
/*
|
/*
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -56,9 +56,9 @@ exports.default = (0, util_1.createRule)({
|
||||||
const checker = services.program.getTypeChecker();
|
const checker = services.program.getTypeChecker();
|
||||||
function isArrayType(type) {
|
function isArrayType(type) {
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.every(unionPart => tsutils
|
.every(unionPart => tsutils
|
||||||
.intersectionTypeParts(unionPart)
|
.intersectionConstituents(unionPart)
|
||||||
.every(t => checker.isArrayType(t) || checker.isTupleType(t)));
|
.every(t => checker.isArrayType(t) || checker.isTupleType(t)));
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-regexp-exec.js
generated
vendored
|
|
@ -147,7 +147,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
const argumentType = services.getTypeAtLocation(argumentNode);
|
const argumentType = services.getTypeAtLocation(argumentNode);
|
||||||
const argumentTypes = collectArgumentTypes(tsutils.unionTypeParts(argumentType));
|
const argumentTypes = collectArgumentTypes(tsutils.unionConstituents(argumentType));
|
||||||
switch (argumentTypes) {
|
switch (argumentTypes) {
|
||||||
case ArgumentType.RegExp:
|
case ArgumentType.RegExp:
|
||||||
return context.report({
|
return context.report({
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/prefer-return-this-type.js
generated
vendored
|
|
@ -73,7 +73,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
}
|
}
|
||||||
function isThisSpecifiedInParameters(originalFunc) {
|
function isThisSpecifiedInParameters(originalFunc) {
|
||||||
const firstArg = originalFunc.params.at(0);
|
const firstArg = originalFunc.params.at(0);
|
||||||
return !!(firstArg?.type === utils_1.AST_NODE_TYPES.Identifier && firstArg.name === 'this');
|
return (firstArg?.type === utils_1.AST_NODE_TYPES.Identifier && firstArg.name === 'this');
|
||||||
}
|
}
|
||||||
function isFunctionReturningThis(originalFunc, originalClass) {
|
function isFunctionReturningThis(originalFunc, originalClass) {
|
||||||
if (isThisSpecifiedInParameters(originalFunc)) {
|
if (isThisSpecifiedInParameters(originalFunc)) {
|
||||||
|
|
|
||||||
8
node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js
generated
vendored
8
node_modules/@typescript-eslint/eslint-plugin/dist/rules/restrict-plus-operands.js
generated
vendored
|
|
@ -156,7 +156,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
// RegExps also contain ts.TypeFlags.Any & ts.TypeFlags.Object
|
// RegExps also contain ts.TypeFlags.Any & ts.TypeFlags.Object
|
||||||
for (const subBaseType of tsutils.unionTypeParts(baseType)) {
|
for (const subBaseType of tsutils.unionConstituents(baseType)) {
|
||||||
const typeName = (0, util_1.getTypeName)(typeChecker, subBaseType);
|
const typeName = (0, util_1.getTypeName)(typeChecker, subBaseType);
|
||||||
if (typeName === 'RegExp'
|
if (typeName === 'RegExp'
|
||||||
? !allowRegExp ||
|
? !allowRegExp ||
|
||||||
|
|
@ -221,11 +221,11 @@ exports.default = (0, util_1.createRule)({
|
||||||
});
|
});
|
||||||
function isDeeplyObjectType(type) {
|
function isDeeplyObjectType(type) {
|
||||||
return type.isIntersection()
|
return type.isIntersection()
|
||||||
? tsutils.intersectionTypeParts(type).every(tsutils.isObjectType)
|
? tsutils.intersectionConstituents(type).every(tsutils.isObjectType)
|
||||||
: tsutils.unionTypeParts(type).every(tsutils.isObjectType);
|
: tsutils.unionConstituents(type).every(tsutils.isObjectType);
|
||||||
}
|
}
|
||||||
function isTypeFlagSetInUnion(type, flag) {
|
function isTypeFlagSetInUnion(type, flag) {
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.some(subType => tsutils.isTypeFlagSet(subType, flag));
|
.some(subType => tsutils.isTypeFlagSet(subType, flag));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"strict-boolean-expressions.d.ts","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;CACF,CAAC;AAEF,KAAK,uBAAuB,GACxB,mBAAmB,GACnB,+BAA+B,GAC/B,4BAA4B,GAC5B,8BAA8B,GAC9B,8BAA8B,GAC9B,8BAA8B,GAC9B,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,SAAS,GACjB,yBAAyB,GACzB,uCAAuC,GACvC,oCAAoC,GACpC,gCAAgC,GAChC,0BAA0B,GAC1B,wBAAwB,GACxB,4BAA4B,GAC5B,iCAAiC,GACjC,yBAAyB,GACzB,yBAAyB,GACzB,gCAAgC,GAChC,0BAA0B,GAC1B,yBAAyB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,wBAAwB,GACxB,uBAAuB,CAAC;;AAE5B,wBAm/BG"}
|
{"version":3,"file":"strict-boolean-expressions.d.ts","sourceRoot":"","sources":["../../src/rules/strict-boolean-expressions.ts"],"names":[],"mappings":"AAsBA,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,sDAAsD,CAAC,EAAE,OAAO,CAAC;QACjE,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;CACF,CAAC;AAEF,KAAK,uBAAuB,GACxB,mBAAmB,GACnB,+BAA+B,GAC/B,4BAA4B,GAC5B,8BAA8B,GAC9B,8BAA8B,GAC9B,8BAA8B,GAC9B,uBAAuB,GACvB,sBAAsB,GACtB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,SAAS,GACjB,yBAAyB,GACzB,uCAAuC,GACvC,oCAAoC,GACpC,gCAAgC,GAChC,0BAA0B,GAC1B,wBAAwB,GACxB,4BAA4B,GAC5B,iCAAiC,GACjC,yBAAyB,GACzB,yBAAyB,GACzB,gCAAgC,GAChC,0BAA0B,GAC1B,yBAAyB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,wBAAwB,GACxB,uBAAuB,CAAC;;AAE5B,wBAq/BG"}
|
||||||
|
|
@ -237,7 +237,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
return type;
|
return type;
|
||||||
});
|
});
|
||||||
const flattenTypes = [
|
const flattenTypes = [
|
||||||
...new Set(returnTypes.flatMap(type => tsutils.unionTypeParts(type))),
|
...new Set(returnTypes.flatMap(type => tsutils.unionConstituents(type))),
|
||||||
];
|
];
|
||||||
const types = inspectVariantTypes(flattenTypes);
|
const types = inspectVariantTypes(flattenTypes);
|
||||||
const reportType = determineReportType(types);
|
const reportType = determineReportType(types);
|
||||||
|
|
@ -774,7 +774,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
*/
|
*/
|
||||||
function checkNode(node) {
|
function checkNode(node) {
|
||||||
const type = (0, util_1.getConstrainedTypeAtLocation)(services, node);
|
const type = (0, util_1.getConstrainedTypeAtLocation)(services, node);
|
||||||
const types = inspectVariantTypes(tsutils.unionTypeParts(type));
|
const types = inspectVariantTypes(tsutils.unionConstituents(type));
|
||||||
const reportType = determineReportType(types);
|
const reportType = determineReportType(types);
|
||||||
if (reportType != null) {
|
if (reportType != null) {
|
||||||
context.report({
|
context.report({
|
||||||
|
|
@ -799,7 +799,7 @@ exports.default = (0, util_1.createRule)({
|
||||||
// If incoming type is either "true" or "false", there will be one type
|
// If incoming type is either "true" or "false", there will be one type
|
||||||
// object with intrinsicName set accordingly
|
// object with intrinsicName set accordingly
|
||||||
// If incoming type is boolean, there will be two type objects with
|
// If incoming type is boolean, there will be two type objects with
|
||||||
// intrinsicName set "true" and "false" each because of ts-api-utils.unionTypeParts()
|
// intrinsicName set "true" and "false" each because of ts-api-utils.unionConstituents()
|
||||||
if (booleans.length === 1) {
|
if (booleans.length === 1) {
|
||||||
variantTypes.add(tsutils.isTrueLiteralType(booleans[0]) ? 'truthy boolean' : 'boolean');
|
variantTypes.add(tsutils.isTrueLiteralType(booleans[0]) ? 'truthy boolean' : 'boolean');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,8 +122,8 @@ exports.default = (0, util_1.createRule)({
|
||||||
caseTypes.add(caseType);
|
caseTypes.add(caseType);
|
||||||
}
|
}
|
||||||
const missingLiteralBranchTypes = [];
|
const missingLiteralBranchTypes = [];
|
||||||
for (const unionPart of tsutils.unionTypeParts(discriminantType)) {
|
for (const unionPart of tsutils.unionConstituents(discriminantType)) {
|
||||||
for (const intersectionPart of tsutils.intersectionTypeParts(unionPart)) {
|
for (const intersectionPart of tsutils.intersectionConstituents(unionPart)) {
|
||||||
if (caseTypes.has(intersectionPart) ||
|
if (caseTypes.has(intersectionPart) ||
|
||||||
!isTypeLiteralLikeType(intersectionPart)) {
|
!isTypeLiteralLikeType(intersectionPart)) {
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -284,8 +284,8 @@ function isTypeLiteralLikeType(type) {
|
||||||
*/
|
*/
|
||||||
function doesTypeContainNonLiteralType(type) {
|
function doesTypeContainNonLiteralType(type) {
|
||||||
return tsutils
|
return tsutils
|
||||||
.unionTypeParts(type)
|
.unionConstituents(type)
|
||||||
.some(type => tsutils
|
.some(type => tsutils
|
||||||
.intersectionTypeParts(type)
|
.intersectionConstituents(type)
|
||||||
.every(subType => !isTypeLiteralLikeType(subType)));
|
.every(subType => !isTypeLiteralLikeType(subType)));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"unbound-method.d.ts","sourceRoot":"","sources":["../../src/rules/unbound-method.ts"],"names":[],"mappings":"AAkBA,UAAU,MAAM;IACd,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,8BAA8B,CAAC;;AAiFpE,wBA0KG"}
|
{"version":3,"file":"unbound-method.d.ts","sourceRoot":"","sources":["../../src/rules/unbound-method.ts"],"names":[],"mappings":"AAkBA,UAAU,MAAM;IACd,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;AAE/B,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,8BAA8B,CAAC;;AAiFpE,wBA4KG"}
|
||||||
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js
generated
vendored
4
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unbound-method.js
generated
vendored
|
|
@ -215,8 +215,8 @@ exports.default = (0, util_1.createRule)({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (const intersectionPart of tsutils
|
for (const intersectionPart of tsutils
|
||||||
.unionTypeParts(services.getTypeAtLocation(node))
|
.unionConstituents(services.getTypeAtLocation(node))
|
||||||
.flatMap(unionPart => tsutils.intersectionTypeParts(unionPart))) {
|
.flatMap(unionPart => tsutils.intersectionConstituents(unionPart))) {
|
||||||
const reported = checkIfMethodAndReport(property.key, intersectionPart.getProperty(property.key.name));
|
const reported = checkIfMethodAndReport(property.key, intersectionPart.getProperty(property.key.name));
|
||||||
if (reported) {
|
if (reported) {
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.d.ts.map
generated
vendored
2
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.d.ts.map
generated
vendored
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"unified-signatures.d.ts","sourceRoot":"","sources":["../../src/rules/unified-signatures.ts"],"names":[],"mappings":"AAuDA,MAAM,MAAM,UAAU,GAClB,uBAAuB,GACvB,yBAAyB,GACzB,2BAA2B,CAAC;AAEhC,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,gCAAgC,CAAC,EAAE,OAAO,CAAC;QAC3C,iCAAiC,CAAC,EAAE,OAAO,CAAC;KAC7C;CACF,CAAC;;AAEF,wBAyiBG"}
|
{"version":3,"file":"unified-signatures.d.ts","sourceRoot":"","sources":["../../src/rules/unified-signatures.ts"],"names":[],"mappings":"AAuDA,MAAM,MAAM,UAAU,GAClB,uBAAuB,GACvB,yBAAyB,GACzB,2BAA2B,CAAC;AAEhC,MAAM,MAAM,OAAO,GAAG;IACpB;QACE,gCAAgC,CAAC,EAAE,OAAO,CAAC;QAC3C,iCAAiC,CAAC,EAAE,OAAO,CAAC;KAC7C;CACF,CAAC;;AAEF,wBA8kBG"}
|
||||||
27
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js
generated
vendored
27
node_modules/@typescript-eslint/eslint-plugin/dist/rules/unified-signatures.js
generated
vendored
|
|
@ -147,6 +147,12 @@ exports.default = (0, util_1.createRule)({
|
||||||
}
|
}
|
||||||
/** Detect `a(x: number, y: number, z: number)` and `a(x: number, y: string, z: number)`. */
|
/** Detect `a(x: number, y: number, z: number)` and `a(x: number, y: string, z: number)`. */
|
||||||
function signaturesDifferBySingleParameter(types1, types2) {
|
function signaturesDifferBySingleParameter(types1, types2) {
|
||||||
|
const firstParam1 = types1[0];
|
||||||
|
const firstParam2 = types2[0];
|
||||||
|
// exempt signatures with `this: void` from the rule
|
||||||
|
if (isThisVoidParam(firstParam1) || isThisVoidParam(firstParam2)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
const index = getIndexOfFirstDifference(types1, types2, parametersAreEqual);
|
const index = getIndexOfFirstDifference(types1, types2, parametersAreEqual);
|
||||||
if (index == null) {
|
if (index == null) {
|
||||||
return undefined;
|
return undefined;
|
||||||
|
|
@ -164,6 +170,16 @@ exports.default = (0, util_1.createRule)({
|
||||||
? { kind: 'single-parameter-difference', p0: a, p1: b }
|
? { kind: 'single-parameter-difference', p0: a, p1: b }
|
||||||
: undefined;
|
: undefined;
|
||||||
}
|
}
|
||||||
|
function isThisParam(param) {
|
||||||
|
return (param != null &&
|
||||||
|
param.type === utils_1.AST_NODE_TYPES.Identifier &&
|
||||||
|
param.name === 'this');
|
||||||
|
}
|
||||||
|
function isThisVoidParam(param) {
|
||||||
|
return (isThisParam(param) &&
|
||||||
|
param.typeAnnotation?.typeAnnotation.type ===
|
||||||
|
utils_1.AST_NODE_TYPES.TSVoidKeyword);
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* Detect `a(): void` and `a(x: number): void`.
|
* Detect `a(): void` and `a(x: number): void`.
|
||||||
* Returns the parameter declaration (`x: number` in this example) that should be optional/rest, and overload it's a part of.
|
* Returns the parameter declaration (`x: number` in this example) that should be optional/rest, and overload it's a part of.
|
||||||
|
|
@ -175,6 +191,17 @@ exports.default = (0, util_1.createRule)({
|
||||||
const longer = sig1.length < sig2.length ? sig2 : sig1;
|
const longer = sig1.length < sig2.length ? sig2 : sig1;
|
||||||
const shorter = sig1.length < sig2.length ? sig1 : sig2;
|
const shorter = sig1.length < sig2.length ? sig1 : sig2;
|
||||||
const shorterSig = sig1.length < sig2.length ? a : b;
|
const shorterSig = sig1.length < sig2.length ? a : b;
|
||||||
|
const firstParam1 = sig1.at(0);
|
||||||
|
const firstParam2 = sig2.at(0);
|
||||||
|
// If one signature has explicit this type and another doesn't, they can't
|
||||||
|
// be unified.
|
||||||
|
if (isThisParam(firstParam1) !== isThisParam(firstParam2)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
|
// exempt signatures with `this: void` from the rule
|
||||||
|
if (isThisVoidParam(firstParam1) || isThisVoidParam(firstParam2)) {
|
||||||
|
return undefined;
|
||||||
|
}
|
||||||
// If one is has 2+ parameters more than the other, they must all be optional/rest.
|
// If one is has 2+ parameters more than the other, they must all be optional/rest.
|
||||||
// Differ by optional parameters: f() and f(x), f() and f(x, ?y, ...z)
|
// Differ by optional parameters: f() and f(x), f() and f(x, ?y, ...z)
|
||||||
// Not allowed: f() and f(x, y)
|
// Not allowed: f() and f(x, y)
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue