From a67b29e7bf18b479d0723586f7a6235e4c745e16 Mon Sep 17 00:00:00 2001 From: Nicolas Vuillamy Date: Sat, 22 Oct 2022 15:13:01 +0200 Subject: [PATCH] [automation] Auto-update linters version, help and documentation (#1989) --- .automation/generated/flavors-stats.json | 48 +- .automation/generated/linter-helps.json | 944 +++++++++++++++++- .automation/generated/linter-versions.json | 2 +- .automation/generated/megalinter-users.json | 24 +- CHANGELOG.md | 1 + docs/all_linters.md | 2 +- docs/descriptors/go_golangci_lint.md | 2 +- docs/descriptors/python_black.md | 4 +- docs/descriptors/repository_checkov.md | 4 +- .../salesforce_sfdx_scanner_apex.md | 312 +++++- .../salesforce_sfdx_scanner_aura.md | 312 +++++- .../salesforce_sfdx_scanner_lwc.md | 312 +++++- docs/descriptors/terraform_checkov.md | 4 +- 13 files changed, 1904 insertions(+), 67 deletions(-) diff --git a/.automation/generated/flavors-stats.json b/.automation/generated/flavors-stats.json index f8a0300127e..064d1301ed9 100644 --- a/.automation/generated/flavors-stats.json +++ b/.automation/generated/flavors-stats.json @@ -1021,8 +1021,8 @@ 2626933 ], [ - "2022-10-22T12:16:42", - 2633233 + "2022-10-22T11:41:20", + 2633257 ] ], "ci_light": [ @@ -2047,14 +2047,14 @@ 28838 ], [ - "2022-10-22T12:16:42", - 29340 + "2022-10-22T11:41:20", + 29341 ] ], "cupcake": [ [ - "2022-10-22T12:16:42", - 0 + "2022-10-22T11:41:20", + 1 ] ], "dart": [ @@ -3989,7 +3989,7 @@ 78557 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 79788 ] ], @@ -5015,8 +5015,8 @@ 316688 ], [ - "2022-10-22T12:16:42", - 317452 + "2022-10-22T11:41:20", + 317453 ] ], "go": [ @@ -6041,7 +6041,7 @@ 14338 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 14450 ] ], @@ -7067,8 +7067,8 @@ 96074 ], [ - "2022-10-22T12:16:42", - 96614 + "2022-10-22T11:41:20", + 96615 ] ], "javascript": [ @@ -8093,8 +8093,8 @@ 157500 ], [ - "2022-10-22T12:16:42", - 158692 + "2022-10-22T11:41:20", + 158708 ] ], "php": [ @@ -9119,7 +9119,7 @@ 23473 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 24408 ] ], @@ -10145,8 +10145,8 @@ 112995 ], [ - "2022-10-22T12:16:42", - 114712 + "2022-10-22T11:41:20", + 114727 ] ], "ruby": [ @@ -11167,7 +11167,7 @@ 2661 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 2667 ] ], @@ -12189,7 +12189,7 @@ 4035 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 4073 ] ], @@ -13215,7 +13215,7 @@ 14494 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 14625 ] ], @@ -14239,7 +14239,7 @@ 1341 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 1343 ] ], @@ -15261,7 +15261,7 @@ 2596 ], [ - "2022-10-22T12:16:42", + "2022-10-22T11:41:20", 2627 ] ], @@ -16287,8 +16287,8 @@ 122680 ], [ - "2022-10-22T12:16:42", - 124734 + "2022-10-22T11:41:20", + 124743 ] ] } \ No newline at end of file diff --git a/.automation/generated/linter-helps.json b/.automation/generated/linter-helps.json index 154b6b9d85a..38a3fc1a3ba 100644 --- a/.automation/generated/linter-helps.json +++ b/.automation/generated/linter-helps.json @@ -461,8 +461,8 @@ " input).", " --python-cell-magics TEXT When processing Jupyter Notebooks, add the", " given magic to the list of known python-", - " magics (timeit, capture, time, python3,", - " pypy, prun, python). Useful for formatting", + " magics (capture, time, python3, timeit,", + " python, prun, pypy). Useful for formatting", " cells with custom python magics.", " -x, --skip-source-first-line Skip the first line of the source code.", " -S, --skip-string-normalization", @@ -642,7 +642,7 @@ " [--secrets-scan-file-type SECRETS_SCAN_FILE_TYPE]", " [--enable-secret-scan-all-files]", " [--block-list-secret-scan BLOCK_LIST_SECRET_SCAN]", - " [--summary-position {top,bottom}]", + " [--summary-position {bottom,top}]", " [--skip-resources-without-violations]", "", "Infrastructure as code static analysis", @@ -893,7 +893,7 @@ " --block-list-secret-scan BLOCK_LIST_SECRET_SCAN", " List of files to filter out from the secret scanner", " [env var: CKV_SECRETS_SCAN_BLOCK_LIST]", - " --summary-position {top,bottom}", + " --summary-position {bottom,top}", " Chose whether the summary will be appended on top", " (before the checks results) or on bottom (after check", " results), default is on top.", @@ -6006,19 +6006,937 @@ "@typescript-eslint/unbound-method typescript Best Practices Best Practices eslint-typescript" ], "sfdx-scanner-apex": [ - " \u203a Error: Command scanner:run not found.", - " \u203a Warning: scanner:rule:list is not a sfdx command.", - "Did you mean force:auth:list? [y/n]:" + "evaluate a selection of rules against a codebase", + "", + "USAGE", + " $ sfdx scanner:run -t [-c ] [-r ] [-e ]", + " [-f csv|html|json|junit|sarif|table|xml] [-o ] [--tsconfig ]", + " [--eslintconfig ] [--pmdconfig ] [--env ] [-s", + " | undefined | [-v | --json]] [--normalize-severity] [--verbose]", + " [--loglevel", + " trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]", + "", + "FLAGS", + " -c, --category=", + " categor(ies) of rules to run", + "", + " -e, --engine=", + " engine(s) to run", + "", + " -f, --format=(csv|html|json|junit|sarif|table|xml)", + " format of results", + "", + " -o, --outfile=", + " location of output file", + "", + " -r, --ruleset=", + " [deprecated] ruleset(s) of rules to run", + "", + " -s, --severity-threshold=", + " throws an error when violations of specific severity (or more severe) are", + " detected, invokes --normalize-severity", + "", + " -t, --target=", + " (required) location of source code", + "", + " -v, --violations-cause-error", + " [deprecated] throws an error when violations are detected", + "", + " --env=", + " JSON-formatted string, overrides ESLint's default environment variables", + "", + " --eslintconfig=", + " location of eslintrc config to customize eslint engine", + "", + " --json", + " format output as json", + "", + " --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATA", + " L)", + " [default: warn] logging level for this command invocation", + "", + " --normalize-severity", + " A normalized severity 1 (high), 2 (moderate), and 3 (low) is returned in", + " addition to the engine specific severity", + "", + " --pmdconfig=", + " location of PMD rule reference XML file to customize rule selection", + "", + " --tsconfig=", + " location of tsconfig.json file", + "", + " --verbose", + " emit additional command output to stdout", + "", + "DESCRIPTION", + " evaluate a selection of rules against a codebase", + "", + "EXAMPLES", + " Invoking without specifying any rules causes all rules to be run.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\"", + " Evaluates all rules against somefile.js.", + " Specifying multiple categories is treated as a logical OR.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\" --category \"Design,Best Practices\"", + " Evaluates all rules in the Design or Best Practices categories.", + " Categories can be excluded by specifying the negation operator, the values must be enclosed in single quotes.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\" --category '!Design,!Best Practices'", + " Evaluates all rules except those in the Design or Best Practices categories.", + " Wrap globs in quotes.", + " Unix example: $ sfdx scanner:run --target './**/*.js,!./**/IgnoreMe.js' ...", + " Windows example: > sfdx scanner:run --target \".\\**\\*.js,!.\\**\\IgnoreMe.js\" ...", + " Evaluate rules against all .js files below the current directory, except for IgnoreMe.js.", + " Specify tsconfig.json if the current working directory does not contain the tsconfig.json that corresponds to the TypeScript files being scanned.", + " E.g., sfdx scanner:run --target \"/my-project/**/*.ts\" --tsconfig \"/my-project/tsconfig.json\"", + " Scans the project contained in '/my-project' if the current working directory is another directory.", + " Use --env to override the default ESLint environment variables to add frameworks.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --env '{\"jasmine\": true}'", + " Evaluates rules against somefile.js, including Jasmine in the environment variables.", + " Use --violations-cause-error to throw exit with a non-zero code when violations are found.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --violations-cause-error", + " Evaluates rules against somefile.js. If any rules are violated, the exit code will be the severity of the most severe violation.", + " Use --engine to include or exclude engines. Any engine listed will be run, regardless of its current 'disabled' attribute.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --engine \"eslint-lwc,pmd\"", + " Evaluates rules against somefile.js, using eslint-lwc and pmd engines.", + " Use --engine to invoke engines that are not enabled by default.", + " E.g, $ sfdx scanner:run --target \"/some/dir\" --engine cpd", + " Executes CPD engine against known file extensions in \"/some/dir\". CPD helps detect blocks of code duplication in selected languages.", + " To use PMD with your own rule reference file, use --pmdconfig. Note that rule filters are not applied.", + " E.g, $ sfdx scanner:run --target \"src\" --pmdconfig \"pmd_rule_ref.xml\"", + " To use Eslint with your own .eslintrc.json file, use --eslintconfig. Make sure that the directory you run the command from has all the NPM dependencies installed.", + " E.g., $ sfdx scanner:run --target \"src\" --eslintconfig \"/home/my/setup/.eslintrc.json\"", + " Use --normalize-severity to output a normalized (across all engines) severity (1 [high], 2 [moderate], and 3 [low]) in addition to the engine specific severity (when shown).", + " E.g., $ sfdx scanner:run --target \"/some-project/\" --format csv --normalize-severity", + " Use --severity-threshold to throw a non-zero exit code when rule violations of a specific severity (or greater) are found. For this example, if there are any rule violations with a severity of 2 or more (which includes 1-high and 2-moderate), the exit code will be equal to the severity of the most severe violation.", + " E.g., $ sfdx scanner:run --target \"/some-project/\" --severity-threshold 2", + "", + "", + "WARNING: We're constantly improving Salesforce Code Analyzer. Tell us what you think! Give feedback at https://research.net/r/SalesforceCA.", + "WARNING: v2.x's End Of Life is approaching.", + " In October 2022, v3.x of the Salesforce Code Analyzer will become the default version,", + " and older versions, including your currently installed version, will no longer be supported.", + " You can manually update to v3.x earlier for a smoother transition.", + "WARNING: As of April 27, 2022, v3.x of the Salesforce Code Analyzer is available as an open pilot.", + " To update to v3.x and try out our pilot features, run these commands:", + " > sfdx plugins:uninstall @salesforce/sfdx-scanner", + " > sfdx plugins:install @salesforce/sfdx-scanner@latest-pilot", + "NAME LANGUAGES CATEGORIES RULESETS [DEP] ENGINE", + "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", + "VfCsrf visualforce Security Basic VF pmd", + "VfHtmlStyleTagXss visualforce Security pmd", + "VfUnescapeEl visualforce Security Basic VF pmd", + "ApexAssertionsShouldIncludeMessage apex Best Practices pmd", + "ApexUnitTestClassShouldHaveAsserts apex Best Practices quickstart,Default ruleset...,ApexUnit pmd", + "ApexUnitTestMethodShouldHaveIsTestAnnotation apex Best Practices pmd", + "ApexUnitTestShouldNotUseSeeAllDataTrue apex Best Practices quickstart,Default ruleset...,ApexUnit pmd", + "AvoidGlobalModifier apex Best Practices Style,quickstart,Default ruleset... pmd", + "AvoidLogicInTrigger apex Best Practices Style,quickstart,Default ruleset... pmd", + "DebugsShouldUseLoggingLevel apex Best Practices quickstart pmd", + "UnusedLocalVariable apex Best Practices pmd", + "AvoidDebugStatements apex Performance pmd", + "AvoidDmlStatementsInLoops apex Performance Default ruleset...,Performance pmd", + "AvoidSoqlInLoops apex Performance Default ruleset...,Performance pmd", + "AvoidSoslInLoops apex Performance Default ruleset...,Performance pmd", + "EagerlyLoadedDescribeSObjectResult apex Performance pmd", + "OperationWithLimitsInLoop apex Performance quickstart pmd", + "ApexBadCrypto apex Security Security,quickstart,Default ruleset... pmd", + "ApexCRUDViolation apex Security Security,quickstart,Default ruleset... pmd", + "ApexCSRF apex Security Security pmd", + "ApexDangerousMethods apex Security Security,quickstart,Default ruleset... pmd", + "ApexInsecureEndpoint apex Security Security,quickstart,Default ruleset... pmd", + "ApexOpenRedirect apex Security Security,quickstart,Default ruleset... pmd", + "ApexSharingViolations apex Security Security,quickstart,Default ruleset... pmd", + "ApexSOQLInjection apex Security Security,quickstart,Default ruleset... pmd", + "ApexSuggestUsingNamedCred apex Security Security,quickstart,Default ruleset... pmd", + "ApexXSSFromEscapeFalse apex Security Security,quickstart,Default ruleset... pmd", + "ApexXSSFromURLParam apex Security Security,quickstart,Default ruleset... pmd", + "ClassNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd", + "IfElseStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "IfStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "FieldDeclarationsShouldBeAtStart apex Code Style pmd", + "FieldNamingConventions apex Code Style quickstart pmd", + "ForLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "FormalParameterNamingConventions apex Code Style quickstart pmd", + "LocalVariableNamingConventions apex Code Style quickstart pmd", + "MethodNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd", + "OneDeclarationPerLine apex Code Style quickstart,Default ruleset... pmd", + "PropertyNamingConventions apex Code Style quickstart pmd", + "VariableNamingConventions apex Code Style Style,Default ruleset... pmd", + "WhileLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "AvoidDeeplyNestedIfStmts apex Design quickstart,Default ruleset...,Complexity pmd", + "CyclomaticComplexity apex Design Metrics tempora...,quickstart,Default ruleset... pmd", + "CognitiveComplexity apex Design pmd", + "ExcessiveClassLength apex Design quickstart,Default ruleset...,Complexity pmd", + "ExcessiveParameterList apex Design quickstart,Default ruleset...,Complexity pmd", + "ExcessivePublicCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssConstructorCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssMethodCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssTypeCount apex Design quickstart,Default ruleset...,Complexity pmd", + "StdCyclomaticComplexity apex Design quickstart,Default ruleset...,Complexity pmd", + "TooManyFields apex Design quickstart,Default ruleset...,Complexity pmd", + "ApexDoc apex Documentation quickstart,Default ruleset... pmd", + "ApexCSRF apex Error Prone quickstart,Default ruleset... pmd", + "AvoidDirectAccessTriggerMap apex Error Prone Style,quickstart,Default ruleset... pmd", + "AvoidHardcodingId apex Error Prone Style,quickstart,Default ruleset... pmd", + "AvoidNonExistentAnnotations apex Error Prone quickstart,Default ruleset... pmd", + "EmptyCatchBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyIfStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyStatementBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyTryOrFinallyBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyWhileStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "InaccessibleAuraEnabledGetter apex Error Prone pmd", + "MethodWithSameNameAsEnclosingClass apex Error Prone Style,quickstart,Default ruleset... pmd", + "OverrideBothEqualsAndHashcode apex Error Prone pmd", + "TestMethodsMustBeInTestClasses apex Error Prone pmd", + "constructor-super javascript ECMAScript 6 ECMAScript 6 eslint", + "for-direction javascript Possible Errors Possible Errors eslint", + "getter-return javascript Possible Errors Possible Errors eslint", + "no-async-promise-executor javascript Possible Errors Possible Errors eslint", + "no-case-declarations javascript Best Practices Best Practices eslint", + "no-class-assign javascript ECMAScript 6 ECMAScript 6 eslint", + "no-compare-neg-zero javascript Possible Errors Possible Errors eslint", + "no-cond-assign javascript Possible Errors Possible Errors eslint", + "no-const-assign javascript ECMAScript 6 ECMAScript 6 eslint", + "no-constant-condition javascript Possible Errors Possible Errors eslint", + "no-control-regex javascript Possible Errors Possible Errors eslint", + "no-debugger javascript Possible Errors Possible Errors eslint", + "no-delete-var javascript Variables Variables eslint", + "no-dupe-args javascript Possible Errors Possible Errors eslint", + "no-dupe-class-members javascript ECMAScript 6 ECMAScript 6 eslint", + "no-dupe-keys javascript Possible Errors Possible Errors eslint", + "no-duplicate-case javascript Possible Errors Possible Errors eslint", + "no-empty javascript Possible Errors Possible Errors eslint", + "no-empty-character-class javascript Possible Errors Possible Errors eslint", + "no-empty-pattern javascript Best Practices Best Practices eslint", + "no-ex-assign javascript Possible Errors Possible Errors eslint", + "no-extra-boolean-cast javascript Possible Errors Possible Errors eslint", + "no-extra-semi javascript Possible Errors Possible Errors eslint", + "no-fallthrough javascript Best Practices Best Practices eslint", + "no-func-assign javascript Possible Errors Possible Errors eslint", + "no-global-assign javascript Best Practices Best Practices eslint", + "no-inner-declarations javascript Possible Errors Possible Errors eslint", + "no-invalid-regexp javascript Possible Errors Possible Errors eslint", + "no-irregular-whitespace javascript Possible Errors Possible Errors eslint", + "no-misleading-character-class javascript Possible Errors Possible Errors eslint", + "no-mixed-spaces-and-tabs javascript Stylistic Issues Stylistic Issues eslint", + "no-new-symbol javascript ECMAScript 6 ECMAScript 6 eslint", + "no-obj-calls javascript Possible Errors Possible Errors eslint", + "no-octal javascript Best Practices Best Practices eslint", + "no-prototype-builtins javascript Possible Errors Possible Errors eslint", + "no-redeclare javascript Best Practices Best Practices eslint", + "no-regex-spaces javascript Possible Errors Possible Errors eslint", + "no-self-assign javascript Best Practices Best Practices eslint", + "no-shadow-restricted-names javascript Variables Variables eslint", + "no-sparse-arrays javascript Possible Errors Possible Errors eslint", + "no-this-before-super javascript ECMAScript 6 ECMAScript 6 eslint", + "no-undef javascript Variables Variables eslint", + "no-unexpected-multiline javascript Possible Errors Possible Errors eslint", + "no-unreachable javascript Possible Errors Possible Errors eslint", + "no-unsafe-finally javascript Possible Errors Possible Errors eslint", + "no-unsafe-negation javascript Possible Errors Possible Errors eslint", + "no-unused-labels javascript Best Practices Best Practices eslint", + "no-unused-vars javascript Variables Variables eslint", + "no-useless-catch javascript Best Practices Best Practices eslint", + "no-useless-escape javascript Best Practices Best Practices eslint", + "no-with javascript Best Practices Best Practices eslint", + "require-yield javascript ECMAScript 6 ECMAScript 6 eslint", + "use-isnan javascript Possible Errors Possible Errors eslint", + "valid-typeof javascript Possible Errors Possible Errors eslint", + "constructor-super typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "for-direction typescript Possible Errors Possible Errors eslint-typescript", + "no-async-promise-executor typescript Possible Errors Possible Errors eslint-typescript", + "no-case-declarations typescript Best Practices Best Practices eslint-typescript", + "no-class-assign typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "no-compare-neg-zero typescript Possible Errors Possible Errors eslint-typescript", + "no-cond-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-constant-condition typescript Possible Errors Possible Errors eslint-typescript", + "no-control-regex typescript Possible Errors Possible Errors eslint-typescript", + "no-debugger typescript Possible Errors Possible Errors eslint-typescript", + "no-delete-var typescript Variables Variables eslint-typescript", + "no-duplicate-case typescript Possible Errors Possible Errors eslint-typescript", + "no-empty typescript Possible Errors Possible Errors eslint-typescript", + "no-empty-character-class typescript Possible Errors Possible Errors eslint-typescript", + "no-empty-pattern typescript Best Practices Best Practices eslint-typescript", + "no-ex-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-extra-boolean-cast typescript Possible Errors Possible Errors eslint-typescript", + "no-fallthrough typescript Best Practices Best Practices eslint-typescript", + "no-func-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-global-assign typescript Best Practices Best Practices eslint-typescript", + "no-inner-declarations typescript Possible Errors Possible Errors eslint-typescript", + "no-invalid-regexp typescript Possible Errors Possible Errors eslint-typescript", + "no-irregular-whitespace typescript Possible Errors Possible Errors eslint-typescript", + "no-misleading-character-class typescript Possible Errors Possible Errors eslint-typescript", + "no-mixed-spaces-and-tabs typescript Stylistic Issues Stylistic Issues eslint-typescript", + "no-obj-calls typescript Possible Errors Possible Errors eslint-typescript", + "no-octal typescript Best Practices Best Practices eslint-typescript", + "no-prototype-builtins typescript Possible Errors Possible Errors eslint-typescript", + "no-regex-spaces typescript Possible Errors Possible Errors eslint-typescript", + "no-self-assign typescript Best Practices Best Practices eslint-typescript", + "no-shadow-restricted-names typescript Variables Variables eslint-typescript", + "no-sparse-arrays typescript Possible Errors Possible Errors eslint-typescript", + "no-unexpected-multiline typescript Possible Errors Possible Errors eslint-typescript", + "no-unsafe-finally typescript Possible Errors Possible Errors eslint-typescript", + "no-unsafe-negation typescript Possible Errors Possible Errors eslint-typescript", + "no-unused-labels typescript Best Practices Best Practices eslint-typescript", + "no-useless-catch typescript Best Practices Best Practices eslint-typescript", + "no-useless-escape typescript Best Practices Best Practices eslint-typescript", + "no-var typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "no-with typescript Best Practices Best Practices eslint-typescript", + "prefer-const typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "prefer-rest-params typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "prefer-spread typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "require-yield typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "use-isnan typescript Possible Errors Possible Errors eslint-typescript", + "@typescript-eslint/adjacent-overload-signatures typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/await-thenable typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/ban-types typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/consistent-type-assertions typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/explicit-function-return-type typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/member-delimiter-style typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-array-constructor typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-empty-function typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-empty-interface typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-explicit-any typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-for-in-array typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-inferrable-types typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-misused-new typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-misused-promises typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-namespace typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-non-null-assertion typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-this-alias typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-unnecessary-type-assertion typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-unused-vars typescript Variables Variables eslint-typescript", + "@typescript-eslint/no-use-before-define typescript Variables Variables eslint-typescript", + "@typescript-eslint/no-var-requires typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-includes typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-namespace-keyword typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-regexp-exec typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-string-starts-ends-with typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/require-await typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/triple-slash-reference typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/type-annotation-spacing typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/unbound-method typescript Best Practices Best Practices eslint-typescript" ], "sfdx-scanner-aura": [ - " \u203a Error: Command scanner:run not found.", - " \u203a Warning: scanner:rule:list is not a sfdx command.", - "Did you mean force:auth:list? [y/n]:" + "evaluate a selection of rules against a codebase", + "", + "USAGE", + " $ sfdx scanner:run -t [-c ] [-r ] [-e ]", + " [-f csv|html|json|junit|sarif|table|xml] [-o ] [--tsconfig ]", + " [--eslintconfig ] [--pmdconfig ] [--env ] [-s", + " | undefined | [-v | --json]] [--normalize-severity] [--verbose]", + " [--loglevel", + " trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]", + "", + "FLAGS", + " -c, --category=", + " categor(ies) of rules to run", + "", + " -e, --engine=", + " engine(s) to run", + "", + " -f, --format=(csv|html|json|junit|sarif|table|xml)", + " format of results", + "", + " -o, --outfile=", + " location of output file", + "", + " -r, --ruleset=", + " [deprecated] ruleset(s) of rules to run", + "", + " -s, --severity-threshold=", + " throws an error when violations of specific severity (or more severe) are", + " detected, invokes --normalize-severity", + "", + " -t, --target=", + " (required) location of source code", + "", + " -v, --violations-cause-error", + " [deprecated] throws an error when violations are detected", + "", + " --env=", + " JSON-formatted string, overrides ESLint's default environment variables", + "", + " --eslintconfig=", + " location of eslintrc config to customize eslint engine", + "", + " --json", + " format output as json", + "", + " --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATA", + " L)", + " [default: warn] logging level for this command invocation", + "", + " --normalize-severity", + " A normalized severity 1 (high), 2 (moderate), and 3 (low) is returned in", + " addition to the engine specific severity", + "", + " --pmdconfig=", + " location of PMD rule reference XML file to customize rule selection", + "", + " --tsconfig=", + " location of tsconfig.json file", + "", + " --verbose", + " emit additional command output to stdout", + "", + "DESCRIPTION", + " evaluate a selection of rules against a codebase", + "", + "EXAMPLES", + " Invoking without specifying any rules causes all rules to be run.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\"", + " Evaluates all rules against somefile.js.", + " Specifying multiple categories is treated as a logical OR.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\" --category \"Design,Best Practices\"", + " Evaluates all rules in the Design or Best Practices categories.", + " Categories can be excluded by specifying the negation operator, the values must be enclosed in single quotes.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\" --category '!Design,!Best Practices'", + " Evaluates all rules except those in the Design or Best Practices categories.", + " Wrap globs in quotes.", + " Unix example: $ sfdx scanner:run --target './**/*.js,!./**/IgnoreMe.js' ...", + " Windows example: > sfdx scanner:run --target \".\\**\\*.js,!.\\**\\IgnoreMe.js\" ...", + " Evaluate rules against all .js files below the current directory, except for IgnoreMe.js.", + " Specify tsconfig.json if the current working directory does not contain the tsconfig.json that corresponds to the TypeScript files being scanned.", + " E.g., sfdx scanner:run --target \"/my-project/**/*.ts\" --tsconfig \"/my-project/tsconfig.json\"", + " Scans the project contained in '/my-project' if the current working directory is another directory.", + " Use --env to override the default ESLint environment variables to add frameworks.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --env '{\"jasmine\": true}'", + " Evaluates rules against somefile.js, including Jasmine in the environment variables.", + " Use --violations-cause-error to throw exit with a non-zero code when violations are found.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --violations-cause-error", + " Evaluates rules against somefile.js. If any rules are violated, the exit code will be the severity of the most severe violation.", + " Use --engine to include or exclude engines. Any engine listed will be run, regardless of its current 'disabled' attribute.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --engine \"eslint-lwc,pmd\"", + " Evaluates rules against somefile.js, using eslint-lwc and pmd engines.", + " Use --engine to invoke engines that are not enabled by default.", + " E.g, $ sfdx scanner:run --target \"/some/dir\" --engine cpd", + " Executes CPD engine against known file extensions in \"/some/dir\". CPD helps detect blocks of code duplication in selected languages.", + " To use PMD with your own rule reference file, use --pmdconfig. Note that rule filters are not applied.", + " E.g, $ sfdx scanner:run --target \"src\" --pmdconfig \"pmd_rule_ref.xml\"", + " To use Eslint with your own .eslintrc.json file, use --eslintconfig. Make sure that the directory you run the command from has all the NPM dependencies installed.", + " E.g., $ sfdx scanner:run --target \"src\" --eslintconfig \"/home/my/setup/.eslintrc.json\"", + " Use --normalize-severity to output a normalized (across all engines) severity (1 [high], 2 [moderate], and 3 [low]) in addition to the engine specific severity (when shown).", + " E.g., $ sfdx scanner:run --target \"/some-project/\" --format csv --normalize-severity", + " Use --severity-threshold to throw a non-zero exit code when rule violations of a specific severity (or greater) are found. For this example, if there are any rule violations with a severity of 2 or more (which includes 1-high and 2-moderate), the exit code will be equal to the severity of the most severe violation.", + " E.g., $ sfdx scanner:run --target \"/some-project/\" --severity-threshold 2", + "", + "", + "WARNING: We're constantly improving Salesforce Code Analyzer. Tell us what you think! Give feedback at https://research.net/r/SalesforceCA.", + "WARNING: v2.x's End Of Life is approaching.", + " In October 2022, v3.x of the Salesforce Code Analyzer will become the default version,", + " and older versions, including your currently installed version, will no longer be supported.", + " You can manually update to v3.x earlier for a smoother transition.", + "WARNING: As of April 27, 2022, v3.x of the Salesforce Code Analyzer is available as an open pilot.", + " To update to v3.x and try out our pilot features, run these commands:", + " > sfdx plugins:uninstall @salesforce/sfdx-scanner", + " > sfdx plugins:install @salesforce/sfdx-scanner@latest-pilot", + "NAME LANGUAGES CATEGORIES RULESETS [DEP] ENGINE", + "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", + "VfCsrf visualforce Security Basic VF pmd", + "VfHtmlStyleTagXss visualforce Security pmd", + "VfUnescapeEl visualforce Security Basic VF pmd", + "ApexAssertionsShouldIncludeMessage apex Best Practices pmd", + "ApexUnitTestClassShouldHaveAsserts apex Best Practices quickstart,Default ruleset...,ApexUnit pmd", + "ApexUnitTestMethodShouldHaveIsTestAnnotation apex Best Practices pmd", + "ApexUnitTestShouldNotUseSeeAllDataTrue apex Best Practices quickstart,Default ruleset...,ApexUnit pmd", + "AvoidGlobalModifier apex Best Practices Style,quickstart,Default ruleset... pmd", + "AvoidLogicInTrigger apex Best Practices Style,quickstart,Default ruleset... pmd", + "DebugsShouldUseLoggingLevel apex Best Practices quickstart pmd", + "UnusedLocalVariable apex Best Practices pmd", + "AvoidDebugStatements apex Performance pmd", + "AvoidDmlStatementsInLoops apex Performance Default ruleset...,Performance pmd", + "AvoidSoqlInLoops apex Performance Default ruleset...,Performance pmd", + "AvoidSoslInLoops apex Performance Default ruleset...,Performance pmd", + "EagerlyLoadedDescribeSObjectResult apex Performance pmd", + "OperationWithLimitsInLoop apex Performance quickstart pmd", + "ApexBadCrypto apex Security Security,quickstart,Default ruleset... pmd", + "ApexCRUDViolation apex Security Security,quickstart,Default ruleset... pmd", + "ApexCSRF apex Security Security pmd", + "ApexDangerousMethods apex Security Security,quickstart,Default ruleset... pmd", + "ApexInsecureEndpoint apex Security Security,quickstart,Default ruleset... pmd", + "ApexOpenRedirect apex Security Security,quickstart,Default ruleset... pmd", + "ApexSharingViolations apex Security Security,quickstart,Default ruleset... pmd", + "ApexSOQLInjection apex Security Security,quickstart,Default ruleset... pmd", + "ApexSuggestUsingNamedCred apex Security Security,quickstart,Default ruleset... pmd", + "ApexXSSFromEscapeFalse apex Security Security,quickstart,Default ruleset... pmd", + "ApexXSSFromURLParam apex Security Security,quickstart,Default ruleset... pmd", + "ClassNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd", + "IfElseStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "IfStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "FieldDeclarationsShouldBeAtStart apex Code Style pmd", + "FieldNamingConventions apex Code Style quickstart pmd", + "ForLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "FormalParameterNamingConventions apex Code Style quickstart pmd", + "LocalVariableNamingConventions apex Code Style quickstart pmd", + "MethodNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd", + "OneDeclarationPerLine apex Code Style quickstart,Default ruleset... pmd", + "PropertyNamingConventions apex Code Style quickstart pmd", + "VariableNamingConventions apex Code Style Style,Default ruleset... pmd", + "WhileLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "AvoidDeeplyNestedIfStmts apex Design quickstart,Default ruleset...,Complexity pmd", + "CyclomaticComplexity apex Design Metrics tempora...,quickstart,Default ruleset... pmd", + "CognitiveComplexity apex Design pmd", + "ExcessiveClassLength apex Design quickstart,Default ruleset...,Complexity pmd", + "ExcessiveParameterList apex Design quickstart,Default ruleset...,Complexity pmd", + "ExcessivePublicCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssConstructorCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssMethodCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssTypeCount apex Design quickstart,Default ruleset...,Complexity pmd", + "StdCyclomaticComplexity apex Design quickstart,Default ruleset...,Complexity pmd", + "TooManyFields apex Design quickstart,Default ruleset...,Complexity pmd", + "ApexDoc apex Documentation quickstart,Default ruleset... pmd", + "ApexCSRF apex Error Prone quickstart,Default ruleset... pmd", + "AvoidDirectAccessTriggerMap apex Error Prone Style,quickstart,Default ruleset... pmd", + "AvoidHardcodingId apex Error Prone Style,quickstart,Default ruleset... pmd", + "AvoidNonExistentAnnotations apex Error Prone quickstart,Default ruleset... pmd", + "EmptyCatchBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyIfStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyStatementBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyTryOrFinallyBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyWhileStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "InaccessibleAuraEnabledGetter apex Error Prone pmd", + "MethodWithSameNameAsEnclosingClass apex Error Prone Style,quickstart,Default ruleset... pmd", + "OverrideBothEqualsAndHashcode apex Error Prone pmd", + "TestMethodsMustBeInTestClasses apex Error Prone pmd", + "constructor-super javascript ECMAScript 6 ECMAScript 6 eslint", + "for-direction javascript Possible Errors Possible Errors eslint", + "getter-return javascript Possible Errors Possible Errors eslint", + "no-async-promise-executor javascript Possible Errors Possible Errors eslint", + "no-case-declarations javascript Best Practices Best Practices eslint", + "no-class-assign javascript ECMAScript 6 ECMAScript 6 eslint", + "no-compare-neg-zero javascript Possible Errors Possible Errors eslint", + "no-cond-assign javascript Possible Errors Possible Errors eslint", + "no-const-assign javascript ECMAScript 6 ECMAScript 6 eslint", + "no-constant-condition javascript Possible Errors Possible Errors eslint", + "no-control-regex javascript Possible Errors Possible Errors eslint", + "no-debugger javascript Possible Errors Possible Errors eslint", + "no-delete-var javascript Variables Variables eslint", + "no-dupe-args javascript Possible Errors Possible Errors eslint", + "no-dupe-class-members javascript ECMAScript 6 ECMAScript 6 eslint", + "no-dupe-keys javascript Possible Errors Possible Errors eslint", + "no-duplicate-case javascript Possible Errors Possible Errors eslint", + "no-empty javascript Possible Errors Possible Errors eslint", + "no-empty-character-class javascript Possible Errors Possible Errors eslint", + "no-empty-pattern javascript Best Practices Best Practices eslint", + "no-ex-assign javascript Possible Errors Possible Errors eslint", + "no-extra-boolean-cast javascript Possible Errors Possible Errors eslint", + "no-extra-semi javascript Possible Errors Possible Errors eslint", + "no-fallthrough javascript Best Practices Best Practices eslint", + "no-func-assign javascript Possible Errors Possible Errors eslint", + "no-global-assign javascript Best Practices Best Practices eslint", + "no-inner-declarations javascript Possible Errors Possible Errors eslint", + "no-invalid-regexp javascript Possible Errors Possible Errors eslint", + "no-irregular-whitespace javascript Possible Errors Possible Errors eslint", + "no-misleading-character-class javascript Possible Errors Possible Errors eslint", + "no-mixed-spaces-and-tabs javascript Stylistic Issues Stylistic Issues eslint", + "no-new-symbol javascript ECMAScript 6 ECMAScript 6 eslint", + "no-obj-calls javascript Possible Errors Possible Errors eslint", + "no-octal javascript Best Practices Best Practices eslint", + "no-prototype-builtins javascript Possible Errors Possible Errors eslint", + "no-redeclare javascript Best Practices Best Practices eslint", + "no-regex-spaces javascript Possible Errors Possible Errors eslint", + "no-self-assign javascript Best Practices Best Practices eslint", + "no-shadow-restricted-names javascript Variables Variables eslint", + "no-sparse-arrays javascript Possible Errors Possible Errors eslint", + "no-this-before-super javascript ECMAScript 6 ECMAScript 6 eslint", + "no-undef javascript Variables Variables eslint", + "no-unexpected-multiline javascript Possible Errors Possible Errors eslint", + "no-unreachable javascript Possible Errors Possible Errors eslint", + "no-unsafe-finally javascript Possible Errors Possible Errors eslint", + "no-unsafe-negation javascript Possible Errors Possible Errors eslint", + "no-unused-labels javascript Best Practices Best Practices eslint", + "no-unused-vars javascript Variables Variables eslint", + "no-useless-catch javascript Best Practices Best Practices eslint", + "no-useless-escape javascript Best Practices Best Practices eslint", + "no-with javascript Best Practices Best Practices eslint", + "require-yield javascript ECMAScript 6 ECMAScript 6 eslint", + "use-isnan javascript Possible Errors Possible Errors eslint", + "valid-typeof javascript Possible Errors Possible Errors eslint", + "constructor-super typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "for-direction typescript Possible Errors Possible Errors eslint-typescript", + "no-async-promise-executor typescript Possible Errors Possible Errors eslint-typescript", + "no-case-declarations typescript Best Practices Best Practices eslint-typescript", + "no-class-assign typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "no-compare-neg-zero typescript Possible Errors Possible Errors eslint-typescript", + "no-cond-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-constant-condition typescript Possible Errors Possible Errors eslint-typescript", + "no-control-regex typescript Possible Errors Possible Errors eslint-typescript", + "no-debugger typescript Possible Errors Possible Errors eslint-typescript", + "no-delete-var typescript Variables Variables eslint-typescript", + "no-duplicate-case typescript Possible Errors Possible Errors eslint-typescript", + "no-empty typescript Possible Errors Possible Errors eslint-typescript", + "no-empty-character-class typescript Possible Errors Possible Errors eslint-typescript", + "no-empty-pattern typescript Best Practices Best Practices eslint-typescript", + "no-ex-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-extra-boolean-cast typescript Possible Errors Possible Errors eslint-typescript", + "no-fallthrough typescript Best Practices Best Practices eslint-typescript", + "no-func-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-global-assign typescript Best Practices Best Practices eslint-typescript", + "no-inner-declarations typescript Possible Errors Possible Errors eslint-typescript", + "no-invalid-regexp typescript Possible Errors Possible Errors eslint-typescript", + "no-irregular-whitespace typescript Possible Errors Possible Errors eslint-typescript", + "no-misleading-character-class typescript Possible Errors Possible Errors eslint-typescript", + "no-mixed-spaces-and-tabs typescript Stylistic Issues Stylistic Issues eslint-typescript", + "no-obj-calls typescript Possible Errors Possible Errors eslint-typescript", + "no-octal typescript Best Practices Best Practices eslint-typescript", + "no-prototype-builtins typescript Possible Errors Possible Errors eslint-typescript", + "no-regex-spaces typescript Possible Errors Possible Errors eslint-typescript", + "no-self-assign typescript Best Practices Best Practices eslint-typescript", + "no-shadow-restricted-names typescript Variables Variables eslint-typescript", + "no-sparse-arrays typescript Possible Errors Possible Errors eslint-typescript", + "no-unexpected-multiline typescript Possible Errors Possible Errors eslint-typescript", + "no-unsafe-finally typescript Possible Errors Possible Errors eslint-typescript", + "no-unsafe-negation typescript Possible Errors Possible Errors eslint-typescript", + "no-unused-labels typescript Best Practices Best Practices eslint-typescript", + "no-useless-catch typescript Best Practices Best Practices eslint-typescript", + "no-useless-escape typescript Best Practices Best Practices eslint-typescript", + "no-var typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "no-with typescript Best Practices Best Practices eslint-typescript", + "prefer-const typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "prefer-rest-params typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "prefer-spread typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "require-yield typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "use-isnan typescript Possible Errors Possible Errors eslint-typescript", + "@typescript-eslint/adjacent-overload-signatures typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/await-thenable typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/ban-types typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/consistent-type-assertions typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/explicit-function-return-type typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/member-delimiter-style typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-array-constructor typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-empty-function typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-empty-interface typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-explicit-any typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-for-in-array typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-inferrable-types typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-misused-new typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-misused-promises typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-namespace typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-non-null-assertion typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-this-alias typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-unnecessary-type-assertion typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-unused-vars typescript Variables Variables eslint-typescript", + "@typescript-eslint/no-use-before-define typescript Variables Variables eslint-typescript", + "@typescript-eslint/no-var-requires typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-includes typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-namespace-keyword typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-regexp-exec typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-string-starts-ends-with typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/require-await typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/triple-slash-reference typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/type-annotation-spacing typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/unbound-method typescript Best Practices Best Practices eslint-typescript" ], "sfdx-scanner-lwc": [ - " \u203a Error: Command scanner:run not found.", - " \u203a Warning: scanner:rule:list is not a sfdx command.", - "Did you mean force:auth:list? [y/n]:" + "evaluate a selection of rules against a codebase", + "", + "USAGE", + " $ sfdx scanner:run -t [-c ] [-r ] [-e ]", + " [-f csv|html|json|junit|sarif|table|xml] [-o ] [--tsconfig ]", + " [--eslintconfig ] [--pmdconfig ] [--env ] [-s", + " | undefined | [-v | --json]] [--normalize-severity] [--verbose]", + " [--loglevel", + " trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL]", + "", + "FLAGS", + " -c, --category=", + " categor(ies) of rules to run", + "", + " -e, --engine=", + " engine(s) to run", + "", + " -f, --format=(csv|html|json|junit|sarif|table|xml)", + " format of results", + "", + " -o, --outfile=", + " location of output file", + "", + " -r, --ruleset=", + " [deprecated] ruleset(s) of rules to run", + "", + " -s, --severity-threshold=", + " throws an error when violations of specific severity (or more severe) are", + " detected, invokes --normalize-severity", + "", + " -t, --target=", + " (required) location of source code", + "", + " -v, --violations-cause-error", + " [deprecated] throws an error when violations are detected", + "", + " --env=", + " JSON-formatted string, overrides ESLint's default environment variables", + "", + " --eslintconfig=", + " location of eslintrc config to customize eslint engine", + "", + " --json", + " format output as json", + "", + " --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATA", + " L)", + " [default: warn] logging level for this command invocation", + "", + " --normalize-severity", + " A normalized severity 1 (high), 2 (moderate), and 3 (low) is returned in", + " addition to the engine specific severity", + "", + " --pmdconfig=", + " location of PMD rule reference XML file to customize rule selection", + "", + " --tsconfig=", + " location of tsconfig.json file", + "", + " --verbose", + " emit additional command output to stdout", + "", + "DESCRIPTION", + " evaluate a selection of rules against a codebase", + "", + "EXAMPLES", + " Invoking without specifying any rules causes all rules to be run.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\"", + " Evaluates all rules against somefile.js.", + " Specifying multiple categories is treated as a logical OR.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\" --category \"Design,Best Practices\"", + " Evaluates all rules in the Design or Best Practices categories.", + " Categories can be excluded by specifying the negation operator, the values must be enclosed in single quotes.", + " E.g., $ sfdx scanner:run --format xml --target \"somefile.js\" --category '!Design,!Best Practices'", + " Evaluates all rules except those in the Design or Best Practices categories.", + " Wrap globs in quotes.", + " Unix example: $ sfdx scanner:run --target './**/*.js,!./**/IgnoreMe.js' ...", + " Windows example: > sfdx scanner:run --target \".\\**\\*.js,!.\\**\\IgnoreMe.js\" ...", + " Evaluate rules against all .js files below the current directory, except for IgnoreMe.js.", + " Specify tsconfig.json if the current working directory does not contain the tsconfig.json that corresponds to the TypeScript files being scanned.", + " E.g., sfdx scanner:run --target \"/my-project/**/*.ts\" --tsconfig \"/my-project/tsconfig.json\"", + " Scans the project contained in '/my-project' if the current working directory is another directory.", + " Use --env to override the default ESLint environment variables to add frameworks.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --env '{\"jasmine\": true}'", + " Evaluates rules against somefile.js, including Jasmine in the environment variables.", + " Use --violations-cause-error to throw exit with a non-zero code when violations are found.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --violations-cause-error", + " Evaluates rules against somefile.js. If any rules are violated, the exit code will be the severity of the most severe violation.", + " Use --engine to include or exclude engines. Any engine listed will be run, regardless of its current 'disabled' attribute.", + " E.g., $ sfdx scanner:run --target \"somefile.js\" --engine \"eslint-lwc,pmd\"", + " Evaluates rules against somefile.js, using eslint-lwc and pmd engines.", + " Use --engine to invoke engines that are not enabled by default.", + " E.g, $ sfdx scanner:run --target \"/some/dir\" --engine cpd", + " Executes CPD engine against known file extensions in \"/some/dir\". CPD helps detect blocks of code duplication in selected languages.", + " To use PMD with your own rule reference file, use --pmdconfig. Note that rule filters are not applied.", + " E.g, $ sfdx scanner:run --target \"src\" --pmdconfig \"pmd_rule_ref.xml\"", + " To use Eslint with your own .eslintrc.json file, use --eslintconfig. Make sure that the directory you run the command from has all the NPM dependencies installed.", + " E.g., $ sfdx scanner:run --target \"src\" --eslintconfig \"/home/my/setup/.eslintrc.json\"", + " Use --normalize-severity to output a normalized (across all engines) severity (1 [high], 2 [moderate], and 3 [low]) in addition to the engine specific severity (when shown).", + " E.g., $ sfdx scanner:run --target \"/some-project/\" --format csv --normalize-severity", + " Use --severity-threshold to throw a non-zero exit code when rule violations of a specific severity (or greater) are found. For this example, if there are any rule violations with a severity of 2 or more (which includes 1-high and 2-moderate), the exit code will be equal to the severity of the most severe violation.", + " E.g., $ sfdx scanner:run --target \"/some-project/\" --severity-threshold 2", + "", + "", + "WARNING: We're constantly improving Salesforce Code Analyzer. Tell us what you think! Give feedback at https://research.net/r/SalesforceCA.", + "WARNING: v2.x's End Of Life is approaching.", + " In October 2022, v3.x of the Salesforce Code Analyzer will become the default version,", + " and older versions, including your currently installed version, will no longer be supported.", + " You can manually update to v3.x earlier for a smoother transition.", + "WARNING: As of April 27, 2022, v3.x of the Salesforce Code Analyzer is available as an open pilot.", + " To update to v3.x and try out our pilot features, run these commands:", + " > sfdx plugins:uninstall @salesforce/sfdx-scanner", + " > sfdx plugins:install @salesforce/sfdx-scanner@latest-pilot", + "NAME LANGUAGES CATEGORIES RULESETS [DEP] ENGINE", + "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500", + "VfCsrf visualforce Security Basic VF pmd", + "VfHtmlStyleTagXss visualforce Security pmd", + "VfUnescapeEl visualforce Security Basic VF pmd", + "ApexAssertionsShouldIncludeMessage apex Best Practices pmd", + "ApexUnitTestClassShouldHaveAsserts apex Best Practices quickstart,Default ruleset...,ApexUnit pmd", + "ApexUnitTestMethodShouldHaveIsTestAnnotation apex Best Practices pmd", + "ApexUnitTestShouldNotUseSeeAllDataTrue apex Best Practices quickstart,Default ruleset...,ApexUnit pmd", + "AvoidGlobalModifier apex Best Practices Style,quickstart,Default ruleset... pmd", + "AvoidLogicInTrigger apex Best Practices Style,quickstart,Default ruleset... pmd", + "DebugsShouldUseLoggingLevel apex Best Practices quickstart pmd", + "UnusedLocalVariable apex Best Practices pmd", + "AvoidDebugStatements apex Performance pmd", + "AvoidDmlStatementsInLoops apex Performance Default ruleset...,Performance pmd", + "AvoidSoqlInLoops apex Performance Default ruleset...,Performance pmd", + "AvoidSoslInLoops apex Performance Default ruleset...,Performance pmd", + "EagerlyLoadedDescribeSObjectResult apex Performance pmd", + "OperationWithLimitsInLoop apex Performance quickstart pmd", + "ApexBadCrypto apex Security Security,quickstart,Default ruleset... pmd", + "ApexCRUDViolation apex Security Security,quickstart,Default ruleset... pmd", + "ApexCSRF apex Security Security pmd", + "ApexDangerousMethods apex Security Security,quickstart,Default ruleset... pmd", + "ApexInsecureEndpoint apex Security Security,quickstart,Default ruleset... pmd", + "ApexOpenRedirect apex Security Security,quickstart,Default ruleset... pmd", + "ApexSharingViolations apex Security Security,quickstart,Default ruleset... pmd", + "ApexSOQLInjection apex Security Security,quickstart,Default ruleset... pmd", + "ApexSuggestUsingNamedCred apex Security Security,quickstart,Default ruleset... pmd", + "ApexXSSFromEscapeFalse apex Security Security,quickstart,Default ruleset... pmd", + "ApexXSSFromURLParam apex Security Security,quickstart,Default ruleset... pmd", + "ClassNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd", + "IfElseStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "IfStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "FieldDeclarationsShouldBeAtStart apex Code Style pmd", + "FieldNamingConventions apex Code Style quickstart pmd", + "ForLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "FormalParameterNamingConventions apex Code Style quickstart pmd", + "LocalVariableNamingConventions apex Code Style quickstart pmd", + "MethodNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd", + "OneDeclarationPerLine apex Code Style quickstart,Default ruleset... pmd", + "PropertyNamingConventions apex Code Style quickstart pmd", + "VariableNamingConventions apex Code Style Style,Default ruleset... pmd", + "WhileLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd", + "AvoidDeeplyNestedIfStmts apex Design quickstart,Default ruleset...,Complexity pmd", + "CyclomaticComplexity apex Design Metrics tempora...,quickstart,Default ruleset... pmd", + "CognitiveComplexity apex Design pmd", + "ExcessiveClassLength apex Design quickstart,Default ruleset...,Complexity pmd", + "ExcessiveParameterList apex Design quickstart,Default ruleset...,Complexity pmd", + "ExcessivePublicCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssConstructorCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssMethodCount apex Design quickstart,Default ruleset...,Complexity pmd", + "NcssTypeCount apex Design quickstart,Default ruleset...,Complexity pmd", + "StdCyclomaticComplexity apex Design quickstart,Default ruleset...,Complexity pmd", + "TooManyFields apex Design quickstart,Default ruleset...,Complexity pmd", + "ApexDoc apex Documentation quickstart,Default ruleset... pmd", + "ApexCSRF apex Error Prone quickstart,Default ruleset... pmd", + "AvoidDirectAccessTriggerMap apex Error Prone Style,quickstart,Default ruleset... pmd", + "AvoidHardcodingId apex Error Prone Style,quickstart,Default ruleset... pmd", + "AvoidNonExistentAnnotations apex Error Prone quickstart,Default ruleset... pmd", + "EmptyCatchBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyIfStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyStatementBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyTryOrFinallyBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "EmptyWhileStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd", + "InaccessibleAuraEnabledGetter apex Error Prone pmd", + "MethodWithSameNameAsEnclosingClass apex Error Prone Style,quickstart,Default ruleset... pmd", + "OverrideBothEqualsAndHashcode apex Error Prone pmd", + "TestMethodsMustBeInTestClasses apex Error Prone pmd", + "constructor-super javascript ECMAScript 6 ECMAScript 6 eslint", + "for-direction javascript Possible Errors Possible Errors eslint", + "getter-return javascript Possible Errors Possible Errors eslint", + "no-async-promise-executor javascript Possible Errors Possible Errors eslint", + "no-case-declarations javascript Best Practices Best Practices eslint", + "no-class-assign javascript ECMAScript 6 ECMAScript 6 eslint", + "no-compare-neg-zero javascript Possible Errors Possible Errors eslint", + "no-cond-assign javascript Possible Errors Possible Errors eslint", + "no-const-assign javascript ECMAScript 6 ECMAScript 6 eslint", + "no-constant-condition javascript Possible Errors Possible Errors eslint", + "no-control-regex javascript Possible Errors Possible Errors eslint", + "no-debugger javascript Possible Errors Possible Errors eslint", + "no-delete-var javascript Variables Variables eslint", + "no-dupe-args javascript Possible Errors Possible Errors eslint", + "no-dupe-class-members javascript ECMAScript 6 ECMAScript 6 eslint", + "no-dupe-keys javascript Possible Errors Possible Errors eslint", + "no-duplicate-case javascript Possible Errors Possible Errors eslint", + "no-empty javascript Possible Errors Possible Errors eslint", + "no-empty-character-class javascript Possible Errors Possible Errors eslint", + "no-empty-pattern javascript Best Practices Best Practices eslint", + "no-ex-assign javascript Possible Errors Possible Errors eslint", + "no-extra-boolean-cast javascript Possible Errors Possible Errors eslint", + "no-extra-semi javascript Possible Errors Possible Errors eslint", + "no-fallthrough javascript Best Practices Best Practices eslint", + "no-func-assign javascript Possible Errors Possible Errors eslint", + "no-global-assign javascript Best Practices Best Practices eslint", + "no-inner-declarations javascript Possible Errors Possible Errors eslint", + "no-invalid-regexp javascript Possible Errors Possible Errors eslint", + "no-irregular-whitespace javascript Possible Errors Possible Errors eslint", + "no-misleading-character-class javascript Possible Errors Possible Errors eslint", + "no-mixed-spaces-and-tabs javascript Stylistic Issues Stylistic Issues eslint", + "no-new-symbol javascript ECMAScript 6 ECMAScript 6 eslint", + "no-obj-calls javascript Possible Errors Possible Errors eslint", + "no-octal javascript Best Practices Best Practices eslint", + "no-prototype-builtins javascript Possible Errors Possible Errors eslint", + "no-redeclare javascript Best Practices Best Practices eslint", + "no-regex-spaces javascript Possible Errors Possible Errors eslint", + "no-self-assign javascript Best Practices Best Practices eslint", + "no-shadow-restricted-names javascript Variables Variables eslint", + "no-sparse-arrays javascript Possible Errors Possible Errors eslint", + "no-this-before-super javascript ECMAScript 6 ECMAScript 6 eslint", + "no-undef javascript Variables Variables eslint", + "no-unexpected-multiline javascript Possible Errors Possible Errors eslint", + "no-unreachable javascript Possible Errors Possible Errors eslint", + "no-unsafe-finally javascript Possible Errors Possible Errors eslint", + "no-unsafe-negation javascript Possible Errors Possible Errors eslint", + "no-unused-labels javascript Best Practices Best Practices eslint", + "no-unused-vars javascript Variables Variables eslint", + "no-useless-catch javascript Best Practices Best Practices eslint", + "no-useless-escape javascript Best Practices Best Practices eslint", + "no-with javascript Best Practices Best Practices eslint", + "require-yield javascript ECMAScript 6 ECMAScript 6 eslint", + "use-isnan javascript Possible Errors Possible Errors eslint", + "valid-typeof javascript Possible Errors Possible Errors eslint", + "constructor-super typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "for-direction typescript Possible Errors Possible Errors eslint-typescript", + "no-async-promise-executor typescript Possible Errors Possible Errors eslint-typescript", + "no-case-declarations typescript Best Practices Best Practices eslint-typescript", + "no-class-assign typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "no-compare-neg-zero typescript Possible Errors Possible Errors eslint-typescript", + "no-cond-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-constant-condition typescript Possible Errors Possible Errors eslint-typescript", + "no-control-regex typescript Possible Errors Possible Errors eslint-typescript", + "no-debugger typescript Possible Errors Possible Errors eslint-typescript", + "no-delete-var typescript Variables Variables eslint-typescript", + "no-duplicate-case typescript Possible Errors Possible Errors eslint-typescript", + "no-empty typescript Possible Errors Possible Errors eslint-typescript", + "no-empty-character-class typescript Possible Errors Possible Errors eslint-typescript", + "no-empty-pattern typescript Best Practices Best Practices eslint-typescript", + "no-ex-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-extra-boolean-cast typescript Possible Errors Possible Errors eslint-typescript", + "no-fallthrough typescript Best Practices Best Practices eslint-typescript", + "no-func-assign typescript Possible Errors Possible Errors eslint-typescript", + "no-global-assign typescript Best Practices Best Practices eslint-typescript", + "no-inner-declarations typescript Possible Errors Possible Errors eslint-typescript", + "no-invalid-regexp typescript Possible Errors Possible Errors eslint-typescript", + "no-irregular-whitespace typescript Possible Errors Possible Errors eslint-typescript", + "no-misleading-character-class typescript Possible Errors Possible Errors eslint-typescript", + "no-mixed-spaces-and-tabs typescript Stylistic Issues Stylistic Issues eslint-typescript", + "no-obj-calls typescript Possible Errors Possible Errors eslint-typescript", + "no-octal typescript Best Practices Best Practices eslint-typescript", + "no-prototype-builtins typescript Possible Errors Possible Errors eslint-typescript", + "no-regex-spaces typescript Possible Errors Possible Errors eslint-typescript", + "no-self-assign typescript Best Practices Best Practices eslint-typescript", + "no-shadow-restricted-names typescript Variables Variables eslint-typescript", + "no-sparse-arrays typescript Possible Errors Possible Errors eslint-typescript", + "no-unexpected-multiline typescript Possible Errors Possible Errors eslint-typescript", + "no-unsafe-finally typescript Possible Errors Possible Errors eslint-typescript", + "no-unsafe-negation typescript Possible Errors Possible Errors eslint-typescript", + "no-unused-labels typescript Best Practices Best Practices eslint-typescript", + "no-useless-catch typescript Best Practices Best Practices eslint-typescript", + "no-useless-escape typescript Best Practices Best Practices eslint-typescript", + "no-var typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "no-with typescript Best Practices Best Practices eslint-typescript", + "prefer-const typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "prefer-rest-params typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "prefer-spread typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "require-yield typescript ECMAScript 6 ECMAScript 6 eslint-typescript", + "use-isnan typescript Possible Errors Possible Errors eslint-typescript", + "@typescript-eslint/adjacent-overload-signatures typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/await-thenable typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/ban-types typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/consistent-type-assertions typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/explicit-function-return-type typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/member-delimiter-style typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-array-constructor typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-empty-function typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-empty-interface typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-explicit-any typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-for-in-array typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-inferrable-types typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-misused-new typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-misused-promises typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-namespace typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-non-null-assertion typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/no-this-alias typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-unnecessary-type-assertion typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/no-unused-vars typescript Variables Variables eslint-typescript", + "@typescript-eslint/no-use-before-define typescript Variables Variables eslint-typescript", + "@typescript-eslint/no-var-requires typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-includes typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-namespace-keyword typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-regexp-exec typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/prefer-string-starts-ends-with typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/require-await typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/triple-slash-reference typescript Best Practices Best Practices eslint-typescript", + "@typescript-eslint/type-annotation-spacing typescript Stylistic Issues Stylistic Issues eslint-typescript", + "@typescript-eslint/unbound-method typescript Best Practices Best Practices eslint-typescript" ], "shellcheck": [ "Usage: shellcheck [OPTIONS...] FILES...", diff --git a/.automation/generated/linter-versions.json b/.automation/generated/linter-versions.json index d881fc04800..6c7f1b7f680 100644 --- a/.automation/generated/linter-versions.json +++ b/.automation/generated/linter-versions.json @@ -30,7 +30,7 @@ "gherkin-lint": "0.0.0", "git_diff": "2.34.5", "gitleaks": "8.14.1", - "golangci-lint": "1.50.0", + "golangci-lint": "1.50.1", "goodcheck": "3.1.0", "graphql-schema-linter": "3.0.1", "hadolint": "2.10.0", diff --git a/.automation/generated/megalinter-users.json b/.automation/generated/megalinter-users.json index 48c4964c6f3..00294bfdfab 100644 --- a/.automation/generated/megalinter-users.json +++ b/.automation/generated/megalinter-users.json @@ -804,8 +804,8 @@ "network_count": 131, "node_id": "MDEwOlJlcG9zaXRvcnkzMDQ4MzAyMjY=", "notifications_url": "https://api.github.com/repos/oxsecurity/megalinter/notifications{?since,all,participating}", - "open_issues": 50, - "open_issues_count": 50, + "open_issues": 49, + "open_issues_count": 49, "organization": { "avatar_url": "https://avatars.githubusercontent.com/u/89921661?v=4", "events_url": "https://api.github.com/users/oxsecurity/events{/privacy}", @@ -848,9 +848,9 @@ }, "private": false, "pulls_url": "https://api.github.com/repos/oxsecurity/megalinter/pulls{/number}", - "pushed_at": "2022-10-22T10:15:30Z", + "pushed_at": "2022-10-22T11:12:36Z", "releases_url": "https://api.github.com/repos/oxsecurity/megalinter/releases{/id}", - "size": 260032, + "size": 263465, "ssh_url": "git@github.com:oxsecurity/megalinter.git", "stargazers_count": 891, "stargazers_url": "https://api.github.com/repos/oxsecurity/megalinter/stargazers", @@ -2056,8 +2056,8 @@ "downloads_url": "https://api.github.com/repos/ruzickap/packer-templates/downloads", "events_url": "https://api.github.com/repos/ruzickap/packer-templates/events", "fork": false, - "forks": 99, - "forks_count": 99, + "forks": 98, + "forks_count": 98, "forks_url": "https://api.github.com/repos/ruzickap/packer-templates/forks", "full_name": "ruzickap/packer-templates", "git_commits_url": "https://api.github.com/repos/ruzickap/packer-templates/git/commits{/sha}", @@ -2092,7 +2092,7 @@ "milestones_url": "https://api.github.com/repos/ruzickap/packer-templates/milestones{/number}", "mirror_url": null, "name": "packer-templates", - "network_count": 99, + "network_count": 98, "node_id": "MDEwOlJlcG9zaXRvcnk2MjAyNjA3NQ==", "notifications_url": "https://api.github.com/repos/ruzickap/packer-templates/notifications{?since,all,participating}", "open_issues": 3, @@ -3774,7 +3774,7 @@ "releases_url": "https://api.github.com/repos/cbg-ethz/V-pipe/releases{/id}", "size": 13147, "ssh_url": "git@github.com:cbg-ethz/V-pipe.git", - "stargazers_count": 94, + "stargazers_count": 95, "stargazers_url": "https://api.github.com/repos/cbg-ethz/V-pipe/stargazers", "statuses_url": "https://api.github.com/repos/cbg-ethz/V-pipe/statuses/{sha}", "subscribers_count": 6, @@ -3801,15 +3801,15 @@ "virus" ], "trees_url": "https://api.github.com/repos/cbg-ethz/V-pipe/git/trees{/sha}", - "updated_at": "2022-10-10T13:31:13Z", + "updated_at": "2022-10-22T11:35:17Z", "url": "https://api.github.com/repos/cbg-ethz/V-pipe", "visibility": "public", - "watchers": 94, - "watchers_count": 94, + "watchers": 95, + "watchers_count": 95, "web_commit_signoff_required": false }, "repo_url": "https://github.com/cbg-ethz/V-pipe", - "stargazers": 94 + "stargazers": 95 }, { "info": { diff --git a/CHANGELOG.md b/CHANGELOG.md index d113c641a6c..57a8fb7d657 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ Note: Can be used with `oxsecurity/megalinter@beta` in your GitHub Action mega-l - [snakemake](https://snakemake.readthedocs.io/en/stable/) from 7.16.0 to **7.16.1** on 2022-10-22 - [terraform-fmt](https://www.terraform.io/docs/cli/commands/fmt.html) from 1.3.2 to **1.3.3** on 2022-10-22 - [terrascan](https://www.accurics.com/products/terrascan/) from 1.15.2 to **1.16.0** on 2022-10-22 + - [golangci-lint](https://golangci-lint.run/) from 1.50.0 to **1.50.1** on 2022-10-22 ## [v6.12.0] - 2022-10-16 diff --git a/docs/all_linters.md b/docs/all_linters.md index 1be6fb0cac5..6f1652806f8 100644 --- a/docs/all_linters.md +++ b/docs/all_linters.md @@ -35,7 +35,7 @@ | [**gherkin-lint**](https://github.com/vsiakka/gherkin-lint){target=_blank} | N/A | [ISC](licenses/gherkin-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/vsiakka/gherkin-lint?cacheSeconds=3600)](https://github.com/vsiakka/gherkin-lint){target=_blank} | [GHERKIN](descriptors/gherkin_gherkin_lint.md) | :white_circle: | [Repository](https://github.com/vsiakka/gherkin-lint){target=_blank} | | [**git_diff**](https://github.com/git/git){target=_blank} | 2.34.5 | [LGPL-2.1](licenses/git_diff.md) | [![GitHub stars](https://img.shields.io/github/stars/git/git?cacheSeconds=3600)](https://github.com/git/git){target=_blank} | [REPOSITORY](descriptors/repository_git_diff.md) | | [Repository](https://github.com/git/git){target=_blank} | | [**gitleaks**](https://github.com/zricethezav/gitleaks){target=_blank} | 8.14.1 | [MIT](licenses/gitleaks.md) | [![GitHub stars](https://img.shields.io/github/stars/zricethezav/gitleaks?cacheSeconds=3600)](https://github.com/zricethezav/gitleaks){target=_blank} | [REPOSITORY](descriptors/repository_gitleaks.md) | :white_circle: | [Repository](https://github.com/zricethezav/gitleaks){target=_blank} | -| [**golangci-lint**](https://github.com/golangci/golangci-lint){target=_blank} | 1.50.0 | [GPL-3.0](licenses/golangci-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/golangci/golangci-lint?cacheSeconds=3600)](https://github.com/golangci/golangci-lint){target=_blank} | [GO](descriptors/go_golangci_lint.md) | :white_circle: | [Repository](https://github.com/golangci/golangci-lint){target=_blank} | +| [**golangci-lint**](https://github.com/golangci/golangci-lint){target=_blank} | 1.50.1 | [GPL-3.0](licenses/golangci-lint.md) | [![GitHub stars](https://img.shields.io/github/stars/golangci/golangci-lint?cacheSeconds=3600)](https://github.com/golangci/golangci-lint){target=_blank} | [GO](descriptors/go_golangci_lint.md) | :white_circle: | [Repository](https://github.com/golangci/golangci-lint){target=_blank} | | [**goodcheck**](https://github.com/sider/goodcheck){target=_blank} | 3.1.0 | [MIT](licenses/goodcheck.md) | [![GitHub stars](https://img.shields.io/github/stars/sider/goodcheck?cacheSeconds=3600)](https://github.com/sider/goodcheck){target=_blank} | [REPOSITORY](descriptors/repository_goodcheck.md) | :white_circle: | [Repository](https://github.com/sider/goodcheck){target=_blank} | | [**graphql-schema-linter**](https://github.com/cjoudrey/graphql-schema-linter){target=_blank} | 3.0.1 | [MIT](licenses/graphql-schema-linter.md) | [![GitHub stars](https://img.shields.io/github/stars/cjoudrey/graphql-schema-linter?cacheSeconds=3600)](https://github.com/cjoudrey/graphql-schema-linter){target=_blank} | [GRAPHQL](descriptors/graphql_graphql_schema_linter.md) | :hammer_and_wrench: | [Pull Request](https://github.com/cjoudrey/graphql-schema-linter/pull/272){target=_blank} | | [**hadolint**](https://github.com/hadolint/hadolint){target=_blank} | 2.10.0 | [GPL-3.0](licenses/hadolint.md) | [![GitHub stars](https://img.shields.io/github/stars/hadolint/hadolint?cacheSeconds=3600)](https://github.com/hadolint/hadolint){target=_blank} | [DOCKERFILE](descriptors/dockerfile_hadolint.md) | :heart: | [MegaLinter reference](https://github.com/hadolint/hadolint/blob/master/docs/INTEGRATION.md#mega-linter){target=_blank} | diff --git a/docs/descriptors/go_golangci_lint.md b/docs/descriptors/go_golangci_lint.md index 247a727f6e1..e53de72305d 100644 --- a/docs/descriptors/go_golangci_lint.md +++ b/docs/descriptors/go_golangci_lint.md @@ -11,7 +11,7 @@ ## golangci-lint documentation -- Version in MegaLinter: **1.50.0** +- Version in MegaLinter: **1.50.1** - Visit [Official Web Site](https://golangci-lint.run/){target=_blank} - See [How to configure golangci-lint rules](https://golangci-lint.run/usage/configuration/#config-file){target=_blank} - If custom `.golangci.yml` config file is not found, [.golangci.yml](https://github.com/oxsecurity/megalinter/tree/main/TEMPLATES/.golangci.yml){target=_blank} will be used diff --git a/docs/descriptors/python_black.md b/docs/descriptors/python_black.md index a3317be8bd9..373b321ea16 100644 --- a/docs/descriptors/python_black.md +++ b/docs/descriptors/python_black.md @@ -115,8 +115,8 @@ Options: input). --python-cell-magics TEXT When processing Jupyter Notebooks, add the given magic to the list of known python- - magics (timeit, capture, time, python3, - pypy, prun, python). Useful for formatting + magics (capture, time, python3, timeit, + python, prun, pypy). Useful for formatting cells with custom python magics. -x, --skip-source-first-line Skip the first line of the source code. -S, --skip-string-normalization diff --git a/docs/descriptors/repository_checkov.md b/docs/descriptors/repository_checkov.md index b4ca13342b4..f4b4c490bc8 100644 --- a/docs/descriptors/repository_checkov.md +++ b/docs/descriptors/repository_checkov.md @@ -124,7 +124,7 @@ usage: checkov [-h] [-v] [-d DIRECTORY] [--add-check] [-f FILE] [--secrets-scan-file-type SECRETS_SCAN_FILE_TYPE] [--enable-secret-scan-all-files] [--block-list-secret-scan BLOCK_LIST_SECRET_SCAN] - [--summary-position {top,bottom}] + [--summary-position {bottom,top}] [--skip-resources-without-violations] Infrastructure as code static analysis @@ -375,7 +375,7 @@ options: --block-list-secret-scan BLOCK_LIST_SECRET_SCAN List of files to filter out from the secret scanner [env var: CKV_SECRETS_SCAN_BLOCK_LIST] - --summary-position {top,bottom} + --summary-position {bottom,top} Chose whether the summary will be appended on top (before the checks results) or on bottom (after check results), default is on top. diff --git a/docs/descriptors/salesforce_sfdx_scanner_apex.md b/docs/descriptors/salesforce_sfdx_scanner_apex.md index f321455c746..d45badc00e5 100644 --- a/docs/descriptors/salesforce_sfdx_scanner_apex.md +++ b/docs/descriptors/salesforce_sfdx_scanner_apex.md @@ -85,9 +85,315 @@ sfdx scanner:run ### Help content ```shell - › Error: Command scanner:run not found. - › Warning: scanner:rule:list is not a sfdx command. -Did you mean force:auth:list? [y/n]: +evaluate a selection of rules against a codebase + +USAGE + $ sfdx scanner:run -t [-c ] [-r ] [-e ] + [-f csv|html|json|junit|sarif|table|xml] [-o ] [--tsconfig ] + [--eslintconfig ] [--pmdconfig ] [--env ] [-s + | undefined | [-v | --json]] [--normalize-severity] [--verbose] + [--loglevel + trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL] + +FLAGS + -c, --category= + categor(ies) of rules to run + + -e, --engine= + engine(s) to run + + -f, --format=(csv|html|json|junit|sarif|table|xml) + format of results + + -o, --outfile= + location of output file + + -r, --ruleset= + [deprecated] ruleset(s) of rules to run + + -s, --severity-threshold= + throws an error when violations of specific severity (or more severe) are + detected, invokes --normalize-severity + + -t, --target= + (required) location of source code + + -v, --violations-cause-error + [deprecated] throws an error when violations are detected + + --env= + JSON-formatted string, overrides ESLint's default environment variables + + --eslintconfig= + location of eslintrc config to customize eslint engine + + --json + format output as json + + --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATA + L) + [default: warn] logging level for this command invocation + + --normalize-severity + A normalized severity 1 (high), 2 (moderate), and 3 (low) is returned in + addition to the engine specific severity + + --pmdconfig= + location of PMD rule reference XML file to customize rule selection + + --tsconfig= + location of tsconfig.json file + + --verbose + emit additional command output to stdout + +DESCRIPTION + evaluate a selection of rules against a codebase + +EXAMPLES + Invoking without specifying any rules causes all rules to be run. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" + Evaluates all rules against somefile.js. + Specifying multiple categories is treated as a logical OR. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" --category "Design,Best Practices" + Evaluates all rules in the Design or Best Practices categories. + Categories can be excluded by specifying the negation operator, the values must be enclosed in single quotes. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" --category '!Design,!Best Practices' + Evaluates all rules except those in the Design or Best Practices categories. + Wrap globs in quotes. + Unix example: $ sfdx scanner:run --target './**/*.js,!./**/IgnoreMe.js' ... + Windows example: > sfdx scanner:run --target ".\**\*.js,!.\**\IgnoreMe.js" ... + Evaluate rules against all .js files below the current directory, except for IgnoreMe.js. + Specify tsconfig.json if the current working directory does not contain the tsconfig.json that corresponds to the TypeScript files being scanned. + E.g., sfdx scanner:run --target "/my-project/**/*.ts" --tsconfig "/my-project/tsconfig.json" + Scans the project contained in '/my-project' if the current working directory is another directory. + Use --env to override the default ESLint environment variables to add frameworks. + E.g., $ sfdx scanner:run --target "somefile.js" --env '{"jasmine": true}' + Evaluates rules against somefile.js, including Jasmine in the environment variables. + Use --violations-cause-error to throw exit with a non-zero code when violations are found. + E.g., $ sfdx scanner:run --target "somefile.js" --violations-cause-error + Evaluates rules against somefile.js. If any rules are violated, the exit code will be the severity of the most severe violation. + Use --engine to include or exclude engines. Any engine listed will be run, regardless of its current 'disabled' attribute. + E.g., $ sfdx scanner:run --target "somefile.js" --engine "eslint-lwc,pmd" + Evaluates rules against somefile.js, using eslint-lwc and pmd engines. + Use --engine to invoke engines that are not enabled by default. + E.g, $ sfdx scanner:run --target "/some/dir" --engine cpd + Executes CPD engine against known file extensions in "/some/dir". CPD helps detect blocks of code duplication in selected languages. + To use PMD with your own rule reference file, use --pmdconfig. Note that rule filters are not applied. + E.g, $ sfdx scanner:run --target "src" --pmdconfig "pmd_rule_ref.xml" + To use Eslint with your own .eslintrc.json file, use --eslintconfig. Make sure that the directory you run the command from has all the NPM dependencies installed. + E.g., $ sfdx scanner:run --target "src" --eslintconfig "/home/my/setup/.eslintrc.json" + Use --normalize-severity to output a normalized (across all engines) severity (1 [high], 2 [moderate], and 3 [low]) in addition to the engine specific severity (when shown). + E.g., $ sfdx scanner:run --target "/some-project/" --format csv --normalize-severity + Use --severity-threshold to throw a non-zero exit code when rule violations of a specific severity (or greater) are found. For this example, if there are any rule violations with a severity of 2 or more (which includes 1-high and 2-moderate), the exit code will be equal to the severity of the most severe violation. + E.g., $ sfdx scanner:run --target "/some-project/" --severity-threshold 2 + + +WARNING: We're constantly improving Salesforce Code Analyzer. Tell us what you think! Give feedback at https://research.net/r/SalesforceCA. +WARNING: v2.x's End Of Life is approaching. + In October 2022, v3.x of the Salesforce Code Analyzer will become the default version, + and older versions, including your currently installed version, will no longer be supported. + You can manually update to v3.x earlier for a smoother transition. +WARNING: As of April 27, 2022, v3.x of the Salesforce Code Analyzer is available as an open pilot. + To update to v3.x and try out our pilot features, run these commands: + > sfdx plugins:uninstall @salesforce/sfdx-scanner + > sfdx plugins:install @salesforce/sfdx-scanner@latest-pilot +NAME LANGUAGES CATEGORIES RULESETS [DEP] ENGINE +───────────────────────────────────────────────── ─────────── ──────────────── ──────────────────────────────────────────────── ───────────────── +VfCsrf visualforce Security Basic VF pmd +VfHtmlStyleTagXss visualforce Security pmd +VfUnescapeEl visualforce Security Basic VF pmd +ApexAssertionsShouldIncludeMessage apex Best Practices pmd +ApexUnitTestClassShouldHaveAsserts apex Best Practices quickstart,Default ruleset...,ApexUnit pmd +ApexUnitTestMethodShouldHaveIsTestAnnotation apex Best Practices pmd +ApexUnitTestShouldNotUseSeeAllDataTrue apex Best Practices quickstart,Default ruleset...,ApexUnit pmd +AvoidGlobalModifier apex Best Practices Style,quickstart,Default ruleset... pmd +AvoidLogicInTrigger apex Best Practices Style,quickstart,Default ruleset... pmd +DebugsShouldUseLoggingLevel apex Best Practices quickstart pmd +UnusedLocalVariable apex Best Practices pmd +AvoidDebugStatements apex Performance pmd +AvoidDmlStatementsInLoops apex Performance Default ruleset...,Performance pmd +AvoidSoqlInLoops apex Performance Default ruleset...,Performance pmd +AvoidSoslInLoops apex Performance Default ruleset...,Performance pmd +EagerlyLoadedDescribeSObjectResult apex Performance pmd +OperationWithLimitsInLoop apex Performance quickstart pmd +ApexBadCrypto apex Security Security,quickstart,Default ruleset... pmd +ApexCRUDViolation apex Security Security,quickstart,Default ruleset... pmd +ApexCSRF apex Security Security pmd +ApexDangerousMethods apex Security Security,quickstart,Default ruleset... pmd +ApexInsecureEndpoint apex Security Security,quickstart,Default ruleset... pmd +ApexOpenRedirect apex Security Security,quickstart,Default ruleset... pmd +ApexSharingViolations apex Security Security,quickstart,Default ruleset... pmd +ApexSOQLInjection apex Security Security,quickstart,Default ruleset... pmd +ApexSuggestUsingNamedCred apex Security Security,quickstart,Default ruleset... pmd +ApexXSSFromEscapeFalse apex Security Security,quickstart,Default ruleset... pmd +ApexXSSFromURLParam apex Security Security,quickstart,Default ruleset... pmd +ClassNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd +IfElseStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +IfStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +FieldDeclarationsShouldBeAtStart apex Code Style pmd +FieldNamingConventions apex Code Style quickstart pmd +ForLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +FormalParameterNamingConventions apex Code Style quickstart pmd +LocalVariableNamingConventions apex Code Style quickstart pmd +MethodNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd +OneDeclarationPerLine apex Code Style quickstart,Default ruleset... pmd +PropertyNamingConventions apex Code Style quickstart pmd +VariableNamingConventions apex Code Style Style,Default ruleset... pmd +WhileLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +AvoidDeeplyNestedIfStmts apex Design quickstart,Default ruleset...,Complexity pmd +CyclomaticComplexity apex Design Metrics tempora...,quickstart,Default ruleset... pmd +CognitiveComplexity apex Design pmd +ExcessiveClassLength apex Design quickstart,Default ruleset...,Complexity pmd +ExcessiveParameterList apex Design quickstart,Default ruleset...,Complexity pmd +ExcessivePublicCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssConstructorCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssMethodCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssTypeCount apex Design quickstart,Default ruleset...,Complexity pmd +StdCyclomaticComplexity apex Design quickstart,Default ruleset...,Complexity pmd +TooManyFields apex Design quickstart,Default ruleset...,Complexity pmd +ApexDoc apex Documentation quickstart,Default ruleset... pmd +ApexCSRF apex Error Prone quickstart,Default ruleset... pmd +AvoidDirectAccessTriggerMap apex Error Prone Style,quickstart,Default ruleset... pmd +AvoidHardcodingId apex Error Prone Style,quickstart,Default ruleset... pmd +AvoidNonExistentAnnotations apex Error Prone quickstart,Default ruleset... pmd +EmptyCatchBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyIfStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyStatementBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyTryOrFinallyBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyWhileStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd +InaccessibleAuraEnabledGetter apex Error Prone pmd +MethodWithSameNameAsEnclosingClass apex Error Prone Style,quickstart,Default ruleset... pmd +OverrideBothEqualsAndHashcode apex Error Prone pmd +TestMethodsMustBeInTestClasses apex Error Prone pmd +constructor-super javascript ECMAScript 6 ECMAScript 6 eslint +for-direction javascript Possible Errors Possible Errors eslint +getter-return javascript Possible Errors Possible Errors eslint +no-async-promise-executor javascript Possible Errors Possible Errors eslint +no-case-declarations javascript Best Practices Best Practices eslint +no-class-assign javascript ECMAScript 6 ECMAScript 6 eslint +no-compare-neg-zero javascript Possible Errors Possible Errors eslint +no-cond-assign javascript Possible Errors Possible Errors eslint +no-const-assign javascript ECMAScript 6 ECMAScript 6 eslint +no-constant-condition javascript Possible Errors Possible Errors eslint +no-control-regex javascript Possible Errors Possible Errors eslint +no-debugger javascript Possible Errors Possible Errors eslint +no-delete-var javascript Variables Variables eslint +no-dupe-args javascript Possible Errors Possible Errors eslint +no-dupe-class-members javascript ECMAScript 6 ECMAScript 6 eslint +no-dupe-keys javascript Possible Errors Possible Errors eslint +no-duplicate-case javascript Possible Errors Possible Errors eslint +no-empty javascript Possible Errors Possible Errors eslint +no-empty-character-class javascript Possible Errors Possible Errors eslint +no-empty-pattern javascript Best Practices Best Practices eslint +no-ex-assign javascript Possible Errors Possible Errors eslint +no-extra-boolean-cast javascript Possible Errors Possible Errors eslint +no-extra-semi javascript Possible Errors Possible Errors eslint +no-fallthrough javascript Best Practices Best Practices eslint +no-func-assign javascript Possible Errors Possible Errors eslint +no-global-assign javascript Best Practices Best Practices eslint +no-inner-declarations javascript Possible Errors Possible Errors eslint +no-invalid-regexp javascript Possible Errors Possible Errors eslint +no-irregular-whitespace javascript Possible Errors Possible Errors eslint +no-misleading-character-class javascript Possible Errors Possible Errors eslint +no-mixed-spaces-and-tabs javascript Stylistic Issues Stylistic Issues eslint +no-new-symbol javascript ECMAScript 6 ECMAScript 6 eslint +no-obj-calls javascript Possible Errors Possible Errors eslint +no-octal javascript Best Practices Best Practices eslint +no-prototype-builtins javascript Possible Errors Possible Errors eslint +no-redeclare javascript Best Practices Best Practices eslint +no-regex-spaces javascript Possible Errors Possible Errors eslint +no-self-assign javascript Best Practices Best Practices eslint +no-shadow-restricted-names javascript Variables Variables eslint +no-sparse-arrays javascript Possible Errors Possible Errors eslint +no-this-before-super javascript ECMAScript 6 ECMAScript 6 eslint +no-undef javascript Variables Variables eslint +no-unexpected-multiline javascript Possible Errors Possible Errors eslint +no-unreachable javascript Possible Errors Possible Errors eslint +no-unsafe-finally javascript Possible Errors Possible Errors eslint +no-unsafe-negation javascript Possible Errors Possible Errors eslint +no-unused-labels javascript Best Practices Best Practices eslint +no-unused-vars javascript Variables Variables eslint +no-useless-catch javascript Best Practices Best Practices eslint +no-useless-escape javascript Best Practices Best Practices eslint +no-with javascript Best Practices Best Practices eslint +require-yield javascript ECMAScript 6 ECMAScript 6 eslint +use-isnan javascript Possible Errors Possible Errors eslint +valid-typeof javascript Possible Errors Possible Errors eslint +constructor-super typescript ECMAScript 6 ECMAScript 6 eslint-typescript +for-direction typescript Possible Errors Possible Errors eslint-typescript +no-async-promise-executor typescript Possible Errors Possible Errors eslint-typescript +no-case-declarations typescript Best Practices Best Practices eslint-typescript +no-class-assign typescript ECMAScript 6 ECMAScript 6 eslint-typescript +no-compare-neg-zero typescript Possible Errors Possible Errors eslint-typescript +no-cond-assign typescript Possible Errors Possible Errors eslint-typescript +no-constant-condition typescript Possible Errors Possible Errors eslint-typescript +no-control-regex typescript Possible Errors Possible Errors eslint-typescript +no-debugger typescript Possible Errors Possible Errors eslint-typescript +no-delete-var typescript Variables Variables eslint-typescript +no-duplicate-case typescript Possible Errors Possible Errors eslint-typescript +no-empty typescript Possible Errors Possible Errors eslint-typescript +no-empty-character-class typescript Possible Errors Possible Errors eslint-typescript +no-empty-pattern typescript Best Practices Best Practices eslint-typescript +no-ex-assign typescript Possible Errors Possible Errors eslint-typescript +no-extra-boolean-cast typescript Possible Errors Possible Errors eslint-typescript +no-fallthrough typescript Best Practices Best Practices eslint-typescript +no-func-assign typescript Possible Errors Possible Errors eslint-typescript +no-global-assign typescript Best Practices Best Practices eslint-typescript +no-inner-declarations typescript Possible Errors Possible Errors eslint-typescript +no-invalid-regexp typescript Possible Errors Possible Errors eslint-typescript +no-irregular-whitespace typescript Possible Errors Possible Errors eslint-typescript +no-misleading-character-class typescript Possible Errors Possible Errors eslint-typescript +no-mixed-spaces-and-tabs typescript Stylistic Issues Stylistic Issues eslint-typescript +no-obj-calls typescript Possible Errors Possible Errors eslint-typescript +no-octal typescript Best Practices Best Practices eslint-typescript +no-prototype-builtins typescript Possible Errors Possible Errors eslint-typescript +no-regex-spaces typescript Possible Errors Possible Errors eslint-typescript +no-self-assign typescript Best Practices Best Practices eslint-typescript +no-shadow-restricted-names typescript Variables Variables eslint-typescript +no-sparse-arrays typescript Possible Errors Possible Errors eslint-typescript +no-unexpected-multiline typescript Possible Errors Possible Errors eslint-typescript +no-unsafe-finally typescript Possible Errors Possible Errors eslint-typescript +no-unsafe-negation typescript Possible Errors Possible Errors eslint-typescript +no-unused-labels typescript Best Practices Best Practices eslint-typescript +no-useless-catch typescript Best Practices Best Practices eslint-typescript +no-useless-escape typescript Best Practices Best Practices eslint-typescript +no-var typescript ECMAScript 6 ECMAScript 6 eslint-typescript +no-with typescript Best Practices Best Practices eslint-typescript +prefer-const typescript ECMAScript 6 ECMAScript 6 eslint-typescript +prefer-rest-params typescript ECMAScript 6 ECMAScript 6 eslint-typescript +prefer-spread typescript ECMAScript 6 ECMAScript 6 eslint-typescript +require-yield typescript ECMAScript 6 ECMAScript 6 eslint-typescript +use-isnan typescript Possible Errors Possible Errors eslint-typescript +@typescript-eslint/adjacent-overload-signatures typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/await-thenable typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/ban-types typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/consistent-type-assertions typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/explicit-function-return-type typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/member-delimiter-style typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-array-constructor typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-empty-function typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-empty-interface typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-explicit-any typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-for-in-array typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-inferrable-types typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-misused-new typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-misused-promises typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-namespace typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-non-null-assertion typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-this-alias typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-unnecessary-type-assertion typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-unused-vars typescript Variables Variables eslint-typescript +@typescript-eslint/no-use-before-define typescript Variables Variables eslint-typescript +@typescript-eslint/no-var-requires typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-includes typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-namespace-keyword typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-regexp-exec typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-string-starts-ends-with typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/require-await typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/triple-slash-reference typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/type-annotation-spacing typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/unbound-method typescript Best Practices Best Practices eslint-typescript ``` ### Installation on mega-linter Docker image diff --git a/docs/descriptors/salesforce_sfdx_scanner_aura.md b/docs/descriptors/salesforce_sfdx_scanner_aura.md index 4ce8d4829b5..b4ba0b4fadb 100644 --- a/docs/descriptors/salesforce_sfdx_scanner_aura.md +++ b/docs/descriptors/salesforce_sfdx_scanner_aura.md @@ -81,9 +81,315 @@ sfdx scanner:run ### Help content ```shell - › Error: Command scanner:run not found. - › Warning: scanner:rule:list is not a sfdx command. -Did you mean force:auth:list? [y/n]: +evaluate a selection of rules against a codebase + +USAGE + $ sfdx scanner:run -t [-c ] [-r ] [-e ] + [-f csv|html|json|junit|sarif|table|xml] [-o ] [--tsconfig ] + [--eslintconfig ] [--pmdconfig ] [--env ] [-s + | undefined | [-v | --json]] [--normalize-severity] [--verbose] + [--loglevel + trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL] + +FLAGS + -c, --category= + categor(ies) of rules to run + + -e, --engine= + engine(s) to run + + -f, --format=(csv|html|json|junit|sarif|table|xml) + format of results + + -o, --outfile= + location of output file + + -r, --ruleset= + [deprecated] ruleset(s) of rules to run + + -s, --severity-threshold= + throws an error when violations of specific severity (or more severe) are + detected, invokes --normalize-severity + + -t, --target= + (required) location of source code + + -v, --violations-cause-error + [deprecated] throws an error when violations are detected + + --env= + JSON-formatted string, overrides ESLint's default environment variables + + --eslintconfig= + location of eslintrc config to customize eslint engine + + --json + format output as json + + --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATA + L) + [default: warn] logging level for this command invocation + + --normalize-severity + A normalized severity 1 (high), 2 (moderate), and 3 (low) is returned in + addition to the engine specific severity + + --pmdconfig= + location of PMD rule reference XML file to customize rule selection + + --tsconfig= + location of tsconfig.json file + + --verbose + emit additional command output to stdout + +DESCRIPTION + evaluate a selection of rules against a codebase + +EXAMPLES + Invoking without specifying any rules causes all rules to be run. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" + Evaluates all rules against somefile.js. + Specifying multiple categories is treated as a logical OR. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" --category "Design,Best Practices" + Evaluates all rules in the Design or Best Practices categories. + Categories can be excluded by specifying the negation operator, the values must be enclosed in single quotes. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" --category '!Design,!Best Practices' + Evaluates all rules except those in the Design or Best Practices categories. + Wrap globs in quotes. + Unix example: $ sfdx scanner:run --target './**/*.js,!./**/IgnoreMe.js' ... + Windows example: > sfdx scanner:run --target ".\**\*.js,!.\**\IgnoreMe.js" ... + Evaluate rules against all .js files below the current directory, except for IgnoreMe.js. + Specify tsconfig.json if the current working directory does not contain the tsconfig.json that corresponds to the TypeScript files being scanned. + E.g., sfdx scanner:run --target "/my-project/**/*.ts" --tsconfig "/my-project/tsconfig.json" + Scans the project contained in '/my-project' if the current working directory is another directory. + Use --env to override the default ESLint environment variables to add frameworks. + E.g., $ sfdx scanner:run --target "somefile.js" --env '{"jasmine": true}' + Evaluates rules against somefile.js, including Jasmine in the environment variables. + Use --violations-cause-error to throw exit with a non-zero code when violations are found. + E.g., $ sfdx scanner:run --target "somefile.js" --violations-cause-error + Evaluates rules against somefile.js. If any rules are violated, the exit code will be the severity of the most severe violation. + Use --engine to include or exclude engines. Any engine listed will be run, regardless of its current 'disabled' attribute. + E.g., $ sfdx scanner:run --target "somefile.js" --engine "eslint-lwc,pmd" + Evaluates rules against somefile.js, using eslint-lwc and pmd engines. + Use --engine to invoke engines that are not enabled by default. + E.g, $ sfdx scanner:run --target "/some/dir" --engine cpd + Executes CPD engine against known file extensions in "/some/dir". CPD helps detect blocks of code duplication in selected languages. + To use PMD with your own rule reference file, use --pmdconfig. Note that rule filters are not applied. + E.g, $ sfdx scanner:run --target "src" --pmdconfig "pmd_rule_ref.xml" + To use Eslint with your own .eslintrc.json file, use --eslintconfig. Make sure that the directory you run the command from has all the NPM dependencies installed. + E.g., $ sfdx scanner:run --target "src" --eslintconfig "/home/my/setup/.eslintrc.json" + Use --normalize-severity to output a normalized (across all engines) severity (1 [high], 2 [moderate], and 3 [low]) in addition to the engine specific severity (when shown). + E.g., $ sfdx scanner:run --target "/some-project/" --format csv --normalize-severity + Use --severity-threshold to throw a non-zero exit code when rule violations of a specific severity (or greater) are found. For this example, if there are any rule violations with a severity of 2 or more (which includes 1-high and 2-moderate), the exit code will be equal to the severity of the most severe violation. + E.g., $ sfdx scanner:run --target "/some-project/" --severity-threshold 2 + + +WARNING: We're constantly improving Salesforce Code Analyzer. Tell us what you think! Give feedback at https://research.net/r/SalesforceCA. +WARNING: v2.x's End Of Life is approaching. + In October 2022, v3.x of the Salesforce Code Analyzer will become the default version, + and older versions, including your currently installed version, will no longer be supported. + You can manually update to v3.x earlier for a smoother transition. +WARNING: As of April 27, 2022, v3.x of the Salesforce Code Analyzer is available as an open pilot. + To update to v3.x and try out our pilot features, run these commands: + > sfdx plugins:uninstall @salesforce/sfdx-scanner + > sfdx plugins:install @salesforce/sfdx-scanner@latest-pilot +NAME LANGUAGES CATEGORIES RULESETS [DEP] ENGINE +───────────────────────────────────────────────── ─────────── ──────────────── ──────────────────────────────────────────────── ───────────────── +VfCsrf visualforce Security Basic VF pmd +VfHtmlStyleTagXss visualforce Security pmd +VfUnescapeEl visualforce Security Basic VF pmd +ApexAssertionsShouldIncludeMessage apex Best Practices pmd +ApexUnitTestClassShouldHaveAsserts apex Best Practices quickstart,Default ruleset...,ApexUnit pmd +ApexUnitTestMethodShouldHaveIsTestAnnotation apex Best Practices pmd +ApexUnitTestShouldNotUseSeeAllDataTrue apex Best Practices quickstart,Default ruleset...,ApexUnit pmd +AvoidGlobalModifier apex Best Practices Style,quickstart,Default ruleset... pmd +AvoidLogicInTrigger apex Best Practices Style,quickstart,Default ruleset... pmd +DebugsShouldUseLoggingLevel apex Best Practices quickstart pmd +UnusedLocalVariable apex Best Practices pmd +AvoidDebugStatements apex Performance pmd +AvoidDmlStatementsInLoops apex Performance Default ruleset...,Performance pmd +AvoidSoqlInLoops apex Performance Default ruleset...,Performance pmd +AvoidSoslInLoops apex Performance Default ruleset...,Performance pmd +EagerlyLoadedDescribeSObjectResult apex Performance pmd +OperationWithLimitsInLoop apex Performance quickstart pmd +ApexBadCrypto apex Security Security,quickstart,Default ruleset... pmd +ApexCRUDViolation apex Security Security,quickstart,Default ruleset... pmd +ApexCSRF apex Security Security pmd +ApexDangerousMethods apex Security Security,quickstart,Default ruleset... pmd +ApexInsecureEndpoint apex Security Security,quickstart,Default ruleset... pmd +ApexOpenRedirect apex Security Security,quickstart,Default ruleset... pmd +ApexSharingViolations apex Security Security,quickstart,Default ruleset... pmd +ApexSOQLInjection apex Security Security,quickstart,Default ruleset... pmd +ApexSuggestUsingNamedCred apex Security Security,quickstart,Default ruleset... pmd +ApexXSSFromEscapeFalse apex Security Security,quickstart,Default ruleset... pmd +ApexXSSFromURLParam apex Security Security,quickstart,Default ruleset... pmd +ClassNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd +IfElseStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +IfStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +FieldDeclarationsShouldBeAtStart apex Code Style pmd +FieldNamingConventions apex Code Style quickstart pmd +ForLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +FormalParameterNamingConventions apex Code Style quickstart pmd +LocalVariableNamingConventions apex Code Style quickstart pmd +MethodNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd +OneDeclarationPerLine apex Code Style quickstart,Default ruleset... pmd +PropertyNamingConventions apex Code Style quickstart pmd +VariableNamingConventions apex Code Style Style,Default ruleset... pmd +WhileLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +AvoidDeeplyNestedIfStmts apex Design quickstart,Default ruleset...,Complexity pmd +CyclomaticComplexity apex Design Metrics tempora...,quickstart,Default ruleset... pmd +CognitiveComplexity apex Design pmd +ExcessiveClassLength apex Design quickstart,Default ruleset...,Complexity pmd +ExcessiveParameterList apex Design quickstart,Default ruleset...,Complexity pmd +ExcessivePublicCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssConstructorCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssMethodCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssTypeCount apex Design quickstart,Default ruleset...,Complexity pmd +StdCyclomaticComplexity apex Design quickstart,Default ruleset...,Complexity pmd +TooManyFields apex Design quickstart,Default ruleset...,Complexity pmd +ApexDoc apex Documentation quickstart,Default ruleset... pmd +ApexCSRF apex Error Prone quickstart,Default ruleset... pmd +AvoidDirectAccessTriggerMap apex Error Prone Style,quickstart,Default ruleset... pmd +AvoidHardcodingId apex Error Prone Style,quickstart,Default ruleset... pmd +AvoidNonExistentAnnotations apex Error Prone quickstart,Default ruleset... pmd +EmptyCatchBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyIfStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyStatementBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyTryOrFinallyBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyWhileStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd +InaccessibleAuraEnabledGetter apex Error Prone pmd +MethodWithSameNameAsEnclosingClass apex Error Prone Style,quickstart,Default ruleset... pmd +OverrideBothEqualsAndHashcode apex Error Prone pmd +TestMethodsMustBeInTestClasses apex Error Prone pmd +constructor-super javascript ECMAScript 6 ECMAScript 6 eslint +for-direction javascript Possible Errors Possible Errors eslint +getter-return javascript Possible Errors Possible Errors eslint +no-async-promise-executor javascript Possible Errors Possible Errors eslint +no-case-declarations javascript Best Practices Best Practices eslint +no-class-assign javascript ECMAScript 6 ECMAScript 6 eslint +no-compare-neg-zero javascript Possible Errors Possible Errors eslint +no-cond-assign javascript Possible Errors Possible Errors eslint +no-const-assign javascript ECMAScript 6 ECMAScript 6 eslint +no-constant-condition javascript Possible Errors Possible Errors eslint +no-control-regex javascript Possible Errors Possible Errors eslint +no-debugger javascript Possible Errors Possible Errors eslint +no-delete-var javascript Variables Variables eslint +no-dupe-args javascript Possible Errors Possible Errors eslint +no-dupe-class-members javascript ECMAScript 6 ECMAScript 6 eslint +no-dupe-keys javascript Possible Errors Possible Errors eslint +no-duplicate-case javascript Possible Errors Possible Errors eslint +no-empty javascript Possible Errors Possible Errors eslint +no-empty-character-class javascript Possible Errors Possible Errors eslint +no-empty-pattern javascript Best Practices Best Practices eslint +no-ex-assign javascript Possible Errors Possible Errors eslint +no-extra-boolean-cast javascript Possible Errors Possible Errors eslint +no-extra-semi javascript Possible Errors Possible Errors eslint +no-fallthrough javascript Best Practices Best Practices eslint +no-func-assign javascript Possible Errors Possible Errors eslint +no-global-assign javascript Best Practices Best Practices eslint +no-inner-declarations javascript Possible Errors Possible Errors eslint +no-invalid-regexp javascript Possible Errors Possible Errors eslint +no-irregular-whitespace javascript Possible Errors Possible Errors eslint +no-misleading-character-class javascript Possible Errors Possible Errors eslint +no-mixed-spaces-and-tabs javascript Stylistic Issues Stylistic Issues eslint +no-new-symbol javascript ECMAScript 6 ECMAScript 6 eslint +no-obj-calls javascript Possible Errors Possible Errors eslint +no-octal javascript Best Practices Best Practices eslint +no-prototype-builtins javascript Possible Errors Possible Errors eslint +no-redeclare javascript Best Practices Best Practices eslint +no-regex-spaces javascript Possible Errors Possible Errors eslint +no-self-assign javascript Best Practices Best Practices eslint +no-shadow-restricted-names javascript Variables Variables eslint +no-sparse-arrays javascript Possible Errors Possible Errors eslint +no-this-before-super javascript ECMAScript 6 ECMAScript 6 eslint +no-undef javascript Variables Variables eslint +no-unexpected-multiline javascript Possible Errors Possible Errors eslint +no-unreachable javascript Possible Errors Possible Errors eslint +no-unsafe-finally javascript Possible Errors Possible Errors eslint +no-unsafe-negation javascript Possible Errors Possible Errors eslint +no-unused-labels javascript Best Practices Best Practices eslint +no-unused-vars javascript Variables Variables eslint +no-useless-catch javascript Best Practices Best Practices eslint +no-useless-escape javascript Best Practices Best Practices eslint +no-with javascript Best Practices Best Practices eslint +require-yield javascript ECMAScript 6 ECMAScript 6 eslint +use-isnan javascript Possible Errors Possible Errors eslint +valid-typeof javascript Possible Errors Possible Errors eslint +constructor-super typescript ECMAScript 6 ECMAScript 6 eslint-typescript +for-direction typescript Possible Errors Possible Errors eslint-typescript +no-async-promise-executor typescript Possible Errors Possible Errors eslint-typescript +no-case-declarations typescript Best Practices Best Practices eslint-typescript +no-class-assign typescript ECMAScript 6 ECMAScript 6 eslint-typescript +no-compare-neg-zero typescript Possible Errors Possible Errors eslint-typescript +no-cond-assign typescript Possible Errors Possible Errors eslint-typescript +no-constant-condition typescript Possible Errors Possible Errors eslint-typescript +no-control-regex typescript Possible Errors Possible Errors eslint-typescript +no-debugger typescript Possible Errors Possible Errors eslint-typescript +no-delete-var typescript Variables Variables eslint-typescript +no-duplicate-case typescript Possible Errors Possible Errors eslint-typescript +no-empty typescript Possible Errors Possible Errors eslint-typescript +no-empty-character-class typescript Possible Errors Possible Errors eslint-typescript +no-empty-pattern typescript Best Practices Best Practices eslint-typescript +no-ex-assign typescript Possible Errors Possible Errors eslint-typescript +no-extra-boolean-cast typescript Possible Errors Possible Errors eslint-typescript +no-fallthrough typescript Best Practices Best Practices eslint-typescript +no-func-assign typescript Possible Errors Possible Errors eslint-typescript +no-global-assign typescript Best Practices Best Practices eslint-typescript +no-inner-declarations typescript Possible Errors Possible Errors eslint-typescript +no-invalid-regexp typescript Possible Errors Possible Errors eslint-typescript +no-irregular-whitespace typescript Possible Errors Possible Errors eslint-typescript +no-misleading-character-class typescript Possible Errors Possible Errors eslint-typescript +no-mixed-spaces-and-tabs typescript Stylistic Issues Stylistic Issues eslint-typescript +no-obj-calls typescript Possible Errors Possible Errors eslint-typescript +no-octal typescript Best Practices Best Practices eslint-typescript +no-prototype-builtins typescript Possible Errors Possible Errors eslint-typescript +no-regex-spaces typescript Possible Errors Possible Errors eslint-typescript +no-self-assign typescript Best Practices Best Practices eslint-typescript +no-shadow-restricted-names typescript Variables Variables eslint-typescript +no-sparse-arrays typescript Possible Errors Possible Errors eslint-typescript +no-unexpected-multiline typescript Possible Errors Possible Errors eslint-typescript +no-unsafe-finally typescript Possible Errors Possible Errors eslint-typescript +no-unsafe-negation typescript Possible Errors Possible Errors eslint-typescript +no-unused-labels typescript Best Practices Best Practices eslint-typescript +no-useless-catch typescript Best Practices Best Practices eslint-typescript +no-useless-escape typescript Best Practices Best Practices eslint-typescript +no-var typescript ECMAScript 6 ECMAScript 6 eslint-typescript +no-with typescript Best Practices Best Practices eslint-typescript +prefer-const typescript ECMAScript 6 ECMAScript 6 eslint-typescript +prefer-rest-params typescript ECMAScript 6 ECMAScript 6 eslint-typescript +prefer-spread typescript ECMAScript 6 ECMAScript 6 eslint-typescript +require-yield typescript ECMAScript 6 ECMAScript 6 eslint-typescript +use-isnan typescript Possible Errors Possible Errors eslint-typescript +@typescript-eslint/adjacent-overload-signatures typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/await-thenable typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/ban-types typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/consistent-type-assertions typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/explicit-function-return-type typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/member-delimiter-style typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-array-constructor typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-empty-function typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-empty-interface typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-explicit-any typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-for-in-array typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-inferrable-types typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-misused-new typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-misused-promises typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-namespace typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-non-null-assertion typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-this-alias typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-unnecessary-type-assertion typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-unused-vars typescript Variables Variables eslint-typescript +@typescript-eslint/no-use-before-define typescript Variables Variables eslint-typescript +@typescript-eslint/no-var-requires typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-includes typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-namespace-keyword typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-regexp-exec typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-string-starts-ends-with typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/require-await typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/triple-slash-reference typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/type-annotation-spacing typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/unbound-method typescript Best Practices Best Practices eslint-typescript ``` ### Installation on mega-linter Docker image diff --git a/docs/descriptors/salesforce_sfdx_scanner_lwc.md b/docs/descriptors/salesforce_sfdx_scanner_lwc.md index 69f1243e677..294bf5eed3d 100644 --- a/docs/descriptors/salesforce_sfdx_scanner_lwc.md +++ b/docs/descriptors/salesforce_sfdx_scanner_lwc.md @@ -81,9 +81,315 @@ sfdx scanner:run ### Help content ```shell - › Error: Command scanner:run not found. - › Warning: scanner:rule:list is not a sfdx command. -Did you mean force:auth:list? [y/n]: +evaluate a selection of rules against a codebase + +USAGE + $ sfdx scanner:run -t [-c ] [-r ] [-e ] + [-f csv|html|json|junit|sarif|table|xml] [-o ] [--tsconfig ] + [--eslintconfig ] [--pmdconfig ] [--env ] [-s + | undefined | [-v | --json]] [--normalize-severity] [--verbose] + [--loglevel + trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATAL] + +FLAGS + -c, --category= + categor(ies) of rules to run + + -e, --engine= + engine(s) to run + + -f, --format=(csv|html|json|junit|sarif|table|xml) + format of results + + -o, --outfile= + location of output file + + -r, --ruleset= + [deprecated] ruleset(s) of rules to run + + -s, --severity-threshold= + throws an error when violations of specific severity (or more severe) are + detected, invokes --normalize-severity + + -t, --target= + (required) location of source code + + -v, --violations-cause-error + [deprecated] throws an error when violations are detected + + --env= + JSON-formatted string, overrides ESLint's default environment variables + + --eslintconfig= + location of eslintrc config to customize eslint engine + + --json + format output as json + + --loglevel=(trace|debug|info|warn|error|fatal|TRACE|DEBUG|INFO|WARN|ERROR|FATA + L) + [default: warn] logging level for this command invocation + + --normalize-severity + A normalized severity 1 (high), 2 (moderate), and 3 (low) is returned in + addition to the engine specific severity + + --pmdconfig= + location of PMD rule reference XML file to customize rule selection + + --tsconfig= + location of tsconfig.json file + + --verbose + emit additional command output to stdout + +DESCRIPTION + evaluate a selection of rules against a codebase + +EXAMPLES + Invoking without specifying any rules causes all rules to be run. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" + Evaluates all rules against somefile.js. + Specifying multiple categories is treated as a logical OR. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" --category "Design,Best Practices" + Evaluates all rules in the Design or Best Practices categories. + Categories can be excluded by specifying the negation operator, the values must be enclosed in single quotes. + E.g., $ sfdx scanner:run --format xml --target "somefile.js" --category '!Design,!Best Practices' + Evaluates all rules except those in the Design or Best Practices categories. + Wrap globs in quotes. + Unix example: $ sfdx scanner:run --target './**/*.js,!./**/IgnoreMe.js' ... + Windows example: > sfdx scanner:run --target ".\**\*.js,!.\**\IgnoreMe.js" ... + Evaluate rules against all .js files below the current directory, except for IgnoreMe.js. + Specify tsconfig.json if the current working directory does not contain the tsconfig.json that corresponds to the TypeScript files being scanned. + E.g., sfdx scanner:run --target "/my-project/**/*.ts" --tsconfig "/my-project/tsconfig.json" + Scans the project contained in '/my-project' if the current working directory is another directory. + Use --env to override the default ESLint environment variables to add frameworks. + E.g., $ sfdx scanner:run --target "somefile.js" --env '{"jasmine": true}' + Evaluates rules against somefile.js, including Jasmine in the environment variables. + Use --violations-cause-error to throw exit with a non-zero code when violations are found. + E.g., $ sfdx scanner:run --target "somefile.js" --violations-cause-error + Evaluates rules against somefile.js. If any rules are violated, the exit code will be the severity of the most severe violation. + Use --engine to include or exclude engines. Any engine listed will be run, regardless of its current 'disabled' attribute. + E.g., $ sfdx scanner:run --target "somefile.js" --engine "eslint-lwc,pmd" + Evaluates rules against somefile.js, using eslint-lwc and pmd engines. + Use --engine to invoke engines that are not enabled by default. + E.g, $ sfdx scanner:run --target "/some/dir" --engine cpd + Executes CPD engine against known file extensions in "/some/dir". CPD helps detect blocks of code duplication in selected languages. + To use PMD with your own rule reference file, use --pmdconfig. Note that rule filters are not applied. + E.g, $ sfdx scanner:run --target "src" --pmdconfig "pmd_rule_ref.xml" + To use Eslint with your own .eslintrc.json file, use --eslintconfig. Make sure that the directory you run the command from has all the NPM dependencies installed. + E.g., $ sfdx scanner:run --target "src" --eslintconfig "/home/my/setup/.eslintrc.json" + Use --normalize-severity to output a normalized (across all engines) severity (1 [high], 2 [moderate], and 3 [low]) in addition to the engine specific severity (when shown). + E.g., $ sfdx scanner:run --target "/some-project/" --format csv --normalize-severity + Use --severity-threshold to throw a non-zero exit code when rule violations of a specific severity (or greater) are found. For this example, if there are any rule violations with a severity of 2 or more (which includes 1-high and 2-moderate), the exit code will be equal to the severity of the most severe violation. + E.g., $ sfdx scanner:run --target "/some-project/" --severity-threshold 2 + + +WARNING: We're constantly improving Salesforce Code Analyzer. Tell us what you think! Give feedback at https://research.net/r/SalesforceCA. +WARNING: v2.x's End Of Life is approaching. + In October 2022, v3.x of the Salesforce Code Analyzer will become the default version, + and older versions, including your currently installed version, will no longer be supported. + You can manually update to v3.x earlier for a smoother transition. +WARNING: As of April 27, 2022, v3.x of the Salesforce Code Analyzer is available as an open pilot. + To update to v3.x and try out our pilot features, run these commands: + > sfdx plugins:uninstall @salesforce/sfdx-scanner + > sfdx plugins:install @salesforce/sfdx-scanner@latest-pilot +NAME LANGUAGES CATEGORIES RULESETS [DEP] ENGINE +───────────────────────────────────────────────── ─────────── ──────────────── ──────────────────────────────────────────────── ───────────────── +VfCsrf visualforce Security Basic VF pmd +VfHtmlStyleTagXss visualforce Security pmd +VfUnescapeEl visualforce Security Basic VF pmd +ApexAssertionsShouldIncludeMessage apex Best Practices pmd +ApexUnitTestClassShouldHaveAsserts apex Best Practices quickstart,Default ruleset...,ApexUnit pmd +ApexUnitTestMethodShouldHaveIsTestAnnotation apex Best Practices pmd +ApexUnitTestShouldNotUseSeeAllDataTrue apex Best Practices quickstart,Default ruleset...,ApexUnit pmd +AvoidGlobalModifier apex Best Practices Style,quickstart,Default ruleset... pmd +AvoidLogicInTrigger apex Best Practices Style,quickstart,Default ruleset... pmd +DebugsShouldUseLoggingLevel apex Best Practices quickstart pmd +UnusedLocalVariable apex Best Practices pmd +AvoidDebugStatements apex Performance pmd +AvoidDmlStatementsInLoops apex Performance Default ruleset...,Performance pmd +AvoidSoqlInLoops apex Performance Default ruleset...,Performance pmd +AvoidSoslInLoops apex Performance Default ruleset...,Performance pmd +EagerlyLoadedDescribeSObjectResult apex Performance pmd +OperationWithLimitsInLoop apex Performance quickstart pmd +ApexBadCrypto apex Security Security,quickstart,Default ruleset... pmd +ApexCRUDViolation apex Security Security,quickstart,Default ruleset... pmd +ApexCSRF apex Security Security pmd +ApexDangerousMethods apex Security Security,quickstart,Default ruleset... pmd +ApexInsecureEndpoint apex Security Security,quickstart,Default ruleset... pmd +ApexOpenRedirect apex Security Security,quickstart,Default ruleset... pmd +ApexSharingViolations apex Security Security,quickstart,Default ruleset... pmd +ApexSOQLInjection apex Security Security,quickstart,Default ruleset... pmd +ApexSuggestUsingNamedCred apex Security Security,quickstart,Default ruleset... pmd +ApexXSSFromEscapeFalse apex Security Security,quickstart,Default ruleset... pmd +ApexXSSFromURLParam apex Security Security,quickstart,Default ruleset... pmd +ClassNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd +IfElseStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +IfStmtsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +FieldDeclarationsShouldBeAtStart apex Code Style pmd +FieldNamingConventions apex Code Style quickstart pmd +ForLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +FormalParameterNamingConventions apex Code Style quickstart pmd +LocalVariableNamingConventions apex Code Style quickstart pmd +MethodNamingConventions apex Code Style Style,quickstart,Default ruleset... pmd +OneDeclarationPerLine apex Code Style quickstart,Default ruleset... pmd +PropertyNamingConventions apex Code Style quickstart pmd +VariableNamingConventions apex Code Style Style,Default ruleset... pmd +WhileLoopsMustUseBraces apex Code Style quickstart,Default ruleset...,Braces pmd +AvoidDeeplyNestedIfStmts apex Design quickstart,Default ruleset...,Complexity pmd +CyclomaticComplexity apex Design Metrics tempora...,quickstart,Default ruleset... pmd +CognitiveComplexity apex Design pmd +ExcessiveClassLength apex Design quickstart,Default ruleset...,Complexity pmd +ExcessiveParameterList apex Design quickstart,Default ruleset...,Complexity pmd +ExcessivePublicCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssConstructorCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssMethodCount apex Design quickstart,Default ruleset...,Complexity pmd +NcssTypeCount apex Design quickstart,Default ruleset...,Complexity pmd +StdCyclomaticComplexity apex Design quickstart,Default ruleset...,Complexity pmd +TooManyFields apex Design quickstart,Default ruleset...,Complexity pmd +ApexDoc apex Documentation quickstart,Default ruleset... pmd +ApexCSRF apex Error Prone quickstart,Default ruleset... pmd +AvoidDirectAccessTriggerMap apex Error Prone Style,quickstart,Default ruleset... pmd +AvoidHardcodingId apex Error Prone Style,quickstart,Default ruleset... pmd +AvoidNonExistentAnnotations apex Error Prone quickstart,Default ruleset... pmd +EmptyCatchBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyIfStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyStatementBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyTryOrFinallyBlock apex Error Prone quickstart,Default ruleset...,Empty Code pmd +EmptyWhileStmt apex Error Prone quickstart,Default ruleset...,Empty Code pmd +InaccessibleAuraEnabledGetter apex Error Prone pmd +MethodWithSameNameAsEnclosingClass apex Error Prone Style,quickstart,Default ruleset... pmd +OverrideBothEqualsAndHashcode apex Error Prone pmd +TestMethodsMustBeInTestClasses apex Error Prone pmd +constructor-super javascript ECMAScript 6 ECMAScript 6 eslint +for-direction javascript Possible Errors Possible Errors eslint +getter-return javascript Possible Errors Possible Errors eslint +no-async-promise-executor javascript Possible Errors Possible Errors eslint +no-case-declarations javascript Best Practices Best Practices eslint +no-class-assign javascript ECMAScript 6 ECMAScript 6 eslint +no-compare-neg-zero javascript Possible Errors Possible Errors eslint +no-cond-assign javascript Possible Errors Possible Errors eslint +no-const-assign javascript ECMAScript 6 ECMAScript 6 eslint +no-constant-condition javascript Possible Errors Possible Errors eslint +no-control-regex javascript Possible Errors Possible Errors eslint +no-debugger javascript Possible Errors Possible Errors eslint +no-delete-var javascript Variables Variables eslint +no-dupe-args javascript Possible Errors Possible Errors eslint +no-dupe-class-members javascript ECMAScript 6 ECMAScript 6 eslint +no-dupe-keys javascript Possible Errors Possible Errors eslint +no-duplicate-case javascript Possible Errors Possible Errors eslint +no-empty javascript Possible Errors Possible Errors eslint +no-empty-character-class javascript Possible Errors Possible Errors eslint +no-empty-pattern javascript Best Practices Best Practices eslint +no-ex-assign javascript Possible Errors Possible Errors eslint +no-extra-boolean-cast javascript Possible Errors Possible Errors eslint +no-extra-semi javascript Possible Errors Possible Errors eslint +no-fallthrough javascript Best Practices Best Practices eslint +no-func-assign javascript Possible Errors Possible Errors eslint +no-global-assign javascript Best Practices Best Practices eslint +no-inner-declarations javascript Possible Errors Possible Errors eslint +no-invalid-regexp javascript Possible Errors Possible Errors eslint +no-irregular-whitespace javascript Possible Errors Possible Errors eslint +no-misleading-character-class javascript Possible Errors Possible Errors eslint +no-mixed-spaces-and-tabs javascript Stylistic Issues Stylistic Issues eslint +no-new-symbol javascript ECMAScript 6 ECMAScript 6 eslint +no-obj-calls javascript Possible Errors Possible Errors eslint +no-octal javascript Best Practices Best Practices eslint +no-prototype-builtins javascript Possible Errors Possible Errors eslint +no-redeclare javascript Best Practices Best Practices eslint +no-regex-spaces javascript Possible Errors Possible Errors eslint +no-self-assign javascript Best Practices Best Practices eslint +no-shadow-restricted-names javascript Variables Variables eslint +no-sparse-arrays javascript Possible Errors Possible Errors eslint +no-this-before-super javascript ECMAScript 6 ECMAScript 6 eslint +no-undef javascript Variables Variables eslint +no-unexpected-multiline javascript Possible Errors Possible Errors eslint +no-unreachable javascript Possible Errors Possible Errors eslint +no-unsafe-finally javascript Possible Errors Possible Errors eslint +no-unsafe-negation javascript Possible Errors Possible Errors eslint +no-unused-labels javascript Best Practices Best Practices eslint +no-unused-vars javascript Variables Variables eslint +no-useless-catch javascript Best Practices Best Practices eslint +no-useless-escape javascript Best Practices Best Practices eslint +no-with javascript Best Practices Best Practices eslint +require-yield javascript ECMAScript 6 ECMAScript 6 eslint +use-isnan javascript Possible Errors Possible Errors eslint +valid-typeof javascript Possible Errors Possible Errors eslint +constructor-super typescript ECMAScript 6 ECMAScript 6 eslint-typescript +for-direction typescript Possible Errors Possible Errors eslint-typescript +no-async-promise-executor typescript Possible Errors Possible Errors eslint-typescript +no-case-declarations typescript Best Practices Best Practices eslint-typescript +no-class-assign typescript ECMAScript 6 ECMAScript 6 eslint-typescript +no-compare-neg-zero typescript Possible Errors Possible Errors eslint-typescript +no-cond-assign typescript Possible Errors Possible Errors eslint-typescript +no-constant-condition typescript Possible Errors Possible Errors eslint-typescript +no-control-regex typescript Possible Errors Possible Errors eslint-typescript +no-debugger typescript Possible Errors Possible Errors eslint-typescript +no-delete-var typescript Variables Variables eslint-typescript +no-duplicate-case typescript Possible Errors Possible Errors eslint-typescript +no-empty typescript Possible Errors Possible Errors eslint-typescript +no-empty-character-class typescript Possible Errors Possible Errors eslint-typescript +no-empty-pattern typescript Best Practices Best Practices eslint-typescript +no-ex-assign typescript Possible Errors Possible Errors eslint-typescript +no-extra-boolean-cast typescript Possible Errors Possible Errors eslint-typescript +no-fallthrough typescript Best Practices Best Practices eslint-typescript +no-func-assign typescript Possible Errors Possible Errors eslint-typescript +no-global-assign typescript Best Practices Best Practices eslint-typescript +no-inner-declarations typescript Possible Errors Possible Errors eslint-typescript +no-invalid-regexp typescript Possible Errors Possible Errors eslint-typescript +no-irregular-whitespace typescript Possible Errors Possible Errors eslint-typescript +no-misleading-character-class typescript Possible Errors Possible Errors eslint-typescript +no-mixed-spaces-and-tabs typescript Stylistic Issues Stylistic Issues eslint-typescript +no-obj-calls typescript Possible Errors Possible Errors eslint-typescript +no-octal typescript Best Practices Best Practices eslint-typescript +no-prototype-builtins typescript Possible Errors Possible Errors eslint-typescript +no-regex-spaces typescript Possible Errors Possible Errors eslint-typescript +no-self-assign typescript Best Practices Best Practices eslint-typescript +no-shadow-restricted-names typescript Variables Variables eslint-typescript +no-sparse-arrays typescript Possible Errors Possible Errors eslint-typescript +no-unexpected-multiline typescript Possible Errors Possible Errors eslint-typescript +no-unsafe-finally typescript Possible Errors Possible Errors eslint-typescript +no-unsafe-negation typescript Possible Errors Possible Errors eslint-typescript +no-unused-labels typescript Best Practices Best Practices eslint-typescript +no-useless-catch typescript Best Practices Best Practices eslint-typescript +no-useless-escape typescript Best Practices Best Practices eslint-typescript +no-var typescript ECMAScript 6 ECMAScript 6 eslint-typescript +no-with typescript Best Practices Best Practices eslint-typescript +prefer-const typescript ECMAScript 6 ECMAScript 6 eslint-typescript +prefer-rest-params typescript ECMAScript 6 ECMAScript 6 eslint-typescript +prefer-spread typescript ECMAScript 6 ECMAScript 6 eslint-typescript +require-yield typescript ECMAScript 6 ECMAScript 6 eslint-typescript +use-isnan typescript Possible Errors Possible Errors eslint-typescript +@typescript-eslint/adjacent-overload-signatures typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/await-thenable typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/ban-types typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/consistent-type-assertions typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/explicit-function-return-type typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/member-delimiter-style typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-array-constructor typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-empty-function typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-empty-interface typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-explicit-any typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-for-in-array typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-inferrable-types typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-misused-new typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-misused-promises typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-namespace typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-non-null-assertion typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/no-this-alias typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-unnecessary-type-assertion typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/no-unused-vars typescript Variables Variables eslint-typescript +@typescript-eslint/no-use-before-define typescript Variables Variables eslint-typescript +@typescript-eslint/no-var-requires typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-includes typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-namespace-keyword typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-regexp-exec typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/prefer-string-starts-ends-with typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/require-await typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/triple-slash-reference typescript Best Practices Best Practices eslint-typescript +@typescript-eslint/type-annotation-spacing typescript Stylistic Issues Stylistic Issues eslint-typescript +@typescript-eslint/unbound-method typescript Best Practices Best Practices eslint-typescript ``` ### Installation on mega-linter Docker image diff --git a/docs/descriptors/terraform_checkov.md b/docs/descriptors/terraform_checkov.md index 89cd149465e..17861466648 100644 --- a/docs/descriptors/terraform_checkov.md +++ b/docs/descriptors/terraform_checkov.md @@ -110,7 +110,7 @@ usage: checkov [-h] [-v] [-d DIRECTORY] [--add-check] [-f FILE] [--secrets-scan-file-type SECRETS_SCAN_FILE_TYPE] [--enable-secret-scan-all-files] [--block-list-secret-scan BLOCK_LIST_SECRET_SCAN] - [--summary-position {top,bottom}] + [--summary-position {bottom,top}] [--skip-resources-without-violations] Infrastructure as code static analysis @@ -361,7 +361,7 @@ options: --block-list-secret-scan BLOCK_LIST_SECRET_SCAN List of files to filter out from the secret scanner [env var: CKV_SECRETS_SCAN_BLOCK_LIST] - --summary-position {top,bottom} + --summary-position {bottom,top} Chose whether the summary will be appended on top (before the checks results) or on bottom (after check results), default is on top.