diff --git a/javascript/ql/integration-tests/query-suite/javascript-code-quality-extended.qls.expected b/javascript/ql/integration-tests/query-suite/javascript-code-quality-extended.qls.expected index bf646822ddc4..0ee4ff2cf9c5 100644 --- a/javascript/ql/integration-tests/query-suite/javascript-code-quality-extended.qls.expected +++ b/javascript/ql/integration-tests/query-suite/javascript-code-quality-extended.qls.expected @@ -1,9 +1,98 @@ +ql/javascript/ql/src/AngularJS/DependencyMismatch.ql +ql/javascript/ql/src/AngularJS/DuplicateDependency.ql +ql/javascript/ql/src/AngularJS/IncompatibleService.ql +ql/javascript/ql/src/AngularJS/MissingExplicitInjection.ql +ql/javascript/ql/src/AngularJS/RepeatedInjection.ql +ql/javascript/ql/src/AngularJS/UseNgSrc.ql +ql/javascript/ql/src/DOM/DuplicateAttributes.ql +ql/javascript/ql/src/DOM/MalformedIdAttribute.ql +ql/javascript/ql/src/DOM/PseudoEval.ql +ql/javascript/ql/src/Declarations/ArgumentsRedefined.ql +ql/javascript/ql/src/Declarations/AssignmentToConst.ql +ql/javascript/ql/src/Declarations/ClobberingVarInit.ql +ql/javascript/ql/src/Declarations/ConflictingFunctions.ql +ql/javascript/ql/src/Declarations/DeadStoreOfLocal.ql +ql/javascript/ql/src/Declarations/DeadStoreOfProperty.ql +ql/javascript/ql/src/Declarations/DeclBeforeUse.ql +ql/javascript/ql/src/Declarations/DefaultArgumentReferencesNestedFunction.ql +ql/javascript/ql/src/Declarations/DuplicateVarDecl.ql ql/javascript/ql/src/Declarations/IneffectiveParameterType.ql +ql/javascript/ql/src/Declarations/MissingThisQualifier.ql +ql/javascript/ql/src/Declarations/MissingVarDecl.ql +ql/javascript/ql/src/Declarations/MixedStaticInstanceThisAccess.ql ql/javascript/ql/src/Declarations/SuspiciousMethodNameDeclaration.ql +ql/javascript/ql/src/Declarations/TemporalDeadZone.ql +ql/javascript/ql/src/Declarations/UniqueParameterNames.ql +ql/javascript/ql/src/Declarations/UniquePropertyNames.ql +ql/javascript/ql/src/Declarations/UnreachableMethodOverloads.ql +ql/javascript/ql/src/Declarations/UnusedVariable.ql +ql/javascript/ql/src/Expressions/ComparisonWithNaN.ql +ql/javascript/ql/src/Expressions/DuplicateCondition.ql +ql/javascript/ql/src/Expressions/DuplicateProperty.ql +ql/javascript/ql/src/Expressions/DuplicateSwitchCase.ql ql/javascript/ql/src/Expressions/ExprHasNoEffect.ql +ql/javascript/ql/src/Expressions/HeterogeneousComparison.ql +ql/javascript/ql/src/Expressions/ImplicitOperandConversion.ql ql/javascript/ql/src/Expressions/MissingAwait.ql +ql/javascript/ql/src/Expressions/MissingDotLengthInComparison.ql +ql/javascript/ql/src/Expressions/MissingSpaceInAppend.ql +ql/javascript/ql/src/Expressions/MisspelledVariableName.ql +ql/javascript/ql/src/Expressions/RedundantExpression.ql +ql/javascript/ql/src/Expressions/SelfAssignment.ql +ql/javascript/ql/src/Expressions/ShiftOutOfRange.ql +ql/javascript/ql/src/Expressions/StringInsteadOfRegex.ql +ql/javascript/ql/src/Expressions/SuspiciousInvocation.ql +ql/javascript/ql/src/Expressions/SuspiciousPropAccess.ql +ql/javascript/ql/src/Expressions/UnboundEventHandlerReceiver.ql +ql/javascript/ql/src/Expressions/UnclearOperatorPrecedence.ql +ql/javascript/ql/src/Expressions/UnknownDirective.ql +ql/javascript/ql/src/Expressions/UnneededDefensiveProgramming.ql +ql/javascript/ql/src/Expressions/WhitespaceContradictsPrecedence.ql +ql/javascript/ql/src/LanguageFeatures/BadTypeof.ql +ql/javascript/ql/src/LanguageFeatures/ConditionalComments.ql +ql/javascript/ql/src/LanguageFeatures/DeleteVar.ql +ql/javascript/ql/src/LanguageFeatures/ExpressionClosures.ql +ql/javascript/ql/src/LanguageFeatures/ForInComprehensionBlocks.ql +ql/javascript/ql/src/LanguageFeatures/IllegalInvocation.ql +ql/javascript/ql/src/LanguageFeatures/InconsistentNew.ql +ql/javascript/ql/src/LanguageFeatures/InvalidPrototype.ql +ql/javascript/ql/src/LanguageFeatures/LengthComparisonOffByOne.ql +ql/javascript/ql/src/LanguageFeatures/NonLinearPattern.ql +ql/javascript/ql/src/LanguageFeatures/PropertyWriteOnPrimitive.ql +ql/javascript/ql/src/LanguageFeatures/SemicolonInsertion.ql +ql/javascript/ql/src/LanguageFeatures/SetterReturn.ql ql/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql +ql/javascript/ql/src/LanguageFeatures/StrictModeCallStackIntrospection.ql +ql/javascript/ql/src/LanguageFeatures/SyntaxError.ql ql/javascript/ql/src/LanguageFeatures/TemplateSyntaxInStringLiteral.ql +ql/javascript/ql/src/LanguageFeatures/ThisBeforeSuper.ql +ql/javascript/ql/src/LanguageFeatures/UnusedIndexVariable.ql +ql/javascript/ql/src/LanguageFeatures/WithStatement.ql +ql/javascript/ql/src/LanguageFeatures/YieldInNonGenerator.ql +ql/javascript/ql/src/NodeJS/InvalidExport.ql +ql/javascript/ql/src/NodeJS/MissingExports.ql ql/javascript/ql/src/Quality/UnhandledErrorInStreamPipeline.ql +ql/javascript/ql/src/React/DirectStateMutation.ql +ql/javascript/ql/src/React/InconsistentStateUpdate.ql +ql/javascript/ql/src/React/UnsupportedStateUpdateInLifecycleMethod.ql +ql/javascript/ql/src/React/UnusedOrUndefinedStateProperty.ql +ql/javascript/ql/src/RegExp/BackrefBeforeGroup.ql +ql/javascript/ql/src/RegExp/BackrefIntoNegativeLookahead.ql ql/javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.ql +ql/javascript/ql/src/RegExp/EmptyCharacterClass.ql ql/javascript/ql/src/RegExp/RegExpAlwaysMatches.ql +ql/javascript/ql/src/RegExp/UnboundBackref.ql +ql/javascript/ql/src/RegExp/UnmatchableCaret.ql +ql/javascript/ql/src/RegExp/UnmatchableDollar.ql +ql/javascript/ql/src/Statements/DanglingElse.ql +ql/javascript/ql/src/Statements/IgnoreArrayResult.ql +ql/javascript/ql/src/Statements/InconsistentLoopOrientation.ql +ql/javascript/ql/src/Statements/LabelInCase.ql +ql/javascript/ql/src/Statements/MisleadingIndentationAfterControlStmt.ql +ql/javascript/ql/src/Statements/ReturnAssignsLocal.ql +ql/javascript/ql/src/Statements/SuspiciousUnusedLoopIterationVariable.ql +ql/javascript/ql/src/Statements/UnreachableStatement.ql +ql/javascript/ql/src/Statements/UseOfReturnlessFunction.ql +ql/javascript/ql/src/Statements/UselessComparisonTest.ql +ql/javascript/ql/src/Statements/UselessConditional.ql +ql/javascript/ql/src/Vue/ArrowMethodOnVueInstance.ql diff --git a/javascript/ql/integration-tests/query-suite/javascript-code-quality.qls.expected b/javascript/ql/integration-tests/query-suite/javascript-code-quality.qls.expected index bf646822ddc4..0ee4ff2cf9c5 100644 --- a/javascript/ql/integration-tests/query-suite/javascript-code-quality.qls.expected +++ b/javascript/ql/integration-tests/query-suite/javascript-code-quality.qls.expected @@ -1,9 +1,98 @@ +ql/javascript/ql/src/AngularJS/DependencyMismatch.ql +ql/javascript/ql/src/AngularJS/DuplicateDependency.ql +ql/javascript/ql/src/AngularJS/IncompatibleService.ql +ql/javascript/ql/src/AngularJS/MissingExplicitInjection.ql +ql/javascript/ql/src/AngularJS/RepeatedInjection.ql +ql/javascript/ql/src/AngularJS/UseNgSrc.ql +ql/javascript/ql/src/DOM/DuplicateAttributes.ql +ql/javascript/ql/src/DOM/MalformedIdAttribute.ql +ql/javascript/ql/src/DOM/PseudoEval.ql +ql/javascript/ql/src/Declarations/ArgumentsRedefined.ql +ql/javascript/ql/src/Declarations/AssignmentToConst.ql +ql/javascript/ql/src/Declarations/ClobberingVarInit.ql +ql/javascript/ql/src/Declarations/ConflictingFunctions.ql +ql/javascript/ql/src/Declarations/DeadStoreOfLocal.ql +ql/javascript/ql/src/Declarations/DeadStoreOfProperty.ql +ql/javascript/ql/src/Declarations/DeclBeforeUse.ql +ql/javascript/ql/src/Declarations/DefaultArgumentReferencesNestedFunction.ql +ql/javascript/ql/src/Declarations/DuplicateVarDecl.ql ql/javascript/ql/src/Declarations/IneffectiveParameterType.ql +ql/javascript/ql/src/Declarations/MissingThisQualifier.ql +ql/javascript/ql/src/Declarations/MissingVarDecl.ql +ql/javascript/ql/src/Declarations/MixedStaticInstanceThisAccess.ql ql/javascript/ql/src/Declarations/SuspiciousMethodNameDeclaration.ql +ql/javascript/ql/src/Declarations/TemporalDeadZone.ql +ql/javascript/ql/src/Declarations/UniqueParameterNames.ql +ql/javascript/ql/src/Declarations/UniquePropertyNames.ql +ql/javascript/ql/src/Declarations/UnreachableMethodOverloads.ql +ql/javascript/ql/src/Declarations/UnusedVariable.ql +ql/javascript/ql/src/Expressions/ComparisonWithNaN.ql +ql/javascript/ql/src/Expressions/DuplicateCondition.ql +ql/javascript/ql/src/Expressions/DuplicateProperty.ql +ql/javascript/ql/src/Expressions/DuplicateSwitchCase.ql ql/javascript/ql/src/Expressions/ExprHasNoEffect.ql +ql/javascript/ql/src/Expressions/HeterogeneousComparison.ql +ql/javascript/ql/src/Expressions/ImplicitOperandConversion.ql ql/javascript/ql/src/Expressions/MissingAwait.ql +ql/javascript/ql/src/Expressions/MissingDotLengthInComparison.ql +ql/javascript/ql/src/Expressions/MissingSpaceInAppend.ql +ql/javascript/ql/src/Expressions/MisspelledVariableName.ql +ql/javascript/ql/src/Expressions/RedundantExpression.ql +ql/javascript/ql/src/Expressions/SelfAssignment.ql +ql/javascript/ql/src/Expressions/ShiftOutOfRange.ql +ql/javascript/ql/src/Expressions/StringInsteadOfRegex.ql +ql/javascript/ql/src/Expressions/SuspiciousInvocation.ql +ql/javascript/ql/src/Expressions/SuspiciousPropAccess.ql +ql/javascript/ql/src/Expressions/UnboundEventHandlerReceiver.ql +ql/javascript/ql/src/Expressions/UnclearOperatorPrecedence.ql +ql/javascript/ql/src/Expressions/UnknownDirective.ql +ql/javascript/ql/src/Expressions/UnneededDefensiveProgramming.ql +ql/javascript/ql/src/Expressions/WhitespaceContradictsPrecedence.ql +ql/javascript/ql/src/LanguageFeatures/BadTypeof.ql +ql/javascript/ql/src/LanguageFeatures/ConditionalComments.ql +ql/javascript/ql/src/LanguageFeatures/DeleteVar.ql +ql/javascript/ql/src/LanguageFeatures/ExpressionClosures.ql +ql/javascript/ql/src/LanguageFeatures/ForInComprehensionBlocks.ql +ql/javascript/ql/src/LanguageFeatures/IllegalInvocation.ql +ql/javascript/ql/src/LanguageFeatures/InconsistentNew.ql +ql/javascript/ql/src/LanguageFeatures/InvalidPrototype.ql +ql/javascript/ql/src/LanguageFeatures/LengthComparisonOffByOne.ql +ql/javascript/ql/src/LanguageFeatures/NonLinearPattern.ql +ql/javascript/ql/src/LanguageFeatures/PropertyWriteOnPrimitive.ql +ql/javascript/ql/src/LanguageFeatures/SemicolonInsertion.ql +ql/javascript/ql/src/LanguageFeatures/SetterReturn.ql ql/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql +ql/javascript/ql/src/LanguageFeatures/StrictModeCallStackIntrospection.ql +ql/javascript/ql/src/LanguageFeatures/SyntaxError.ql ql/javascript/ql/src/LanguageFeatures/TemplateSyntaxInStringLiteral.ql +ql/javascript/ql/src/LanguageFeatures/ThisBeforeSuper.ql +ql/javascript/ql/src/LanguageFeatures/UnusedIndexVariable.ql +ql/javascript/ql/src/LanguageFeatures/WithStatement.ql +ql/javascript/ql/src/LanguageFeatures/YieldInNonGenerator.ql +ql/javascript/ql/src/NodeJS/InvalidExport.ql +ql/javascript/ql/src/NodeJS/MissingExports.ql ql/javascript/ql/src/Quality/UnhandledErrorInStreamPipeline.ql +ql/javascript/ql/src/React/DirectStateMutation.ql +ql/javascript/ql/src/React/InconsistentStateUpdate.ql +ql/javascript/ql/src/React/UnsupportedStateUpdateInLifecycleMethod.ql +ql/javascript/ql/src/React/UnusedOrUndefinedStateProperty.ql +ql/javascript/ql/src/RegExp/BackrefBeforeGroup.ql +ql/javascript/ql/src/RegExp/BackrefIntoNegativeLookahead.ql ql/javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.ql +ql/javascript/ql/src/RegExp/EmptyCharacterClass.ql ql/javascript/ql/src/RegExp/RegExpAlwaysMatches.ql +ql/javascript/ql/src/RegExp/UnboundBackref.ql +ql/javascript/ql/src/RegExp/UnmatchableCaret.ql +ql/javascript/ql/src/RegExp/UnmatchableDollar.ql +ql/javascript/ql/src/Statements/DanglingElse.ql +ql/javascript/ql/src/Statements/IgnoreArrayResult.ql +ql/javascript/ql/src/Statements/InconsistentLoopOrientation.ql +ql/javascript/ql/src/Statements/LabelInCase.ql +ql/javascript/ql/src/Statements/MisleadingIndentationAfterControlStmt.ql +ql/javascript/ql/src/Statements/ReturnAssignsLocal.ql +ql/javascript/ql/src/Statements/SuspiciousUnusedLoopIterationVariable.ql +ql/javascript/ql/src/Statements/UnreachableStatement.ql +ql/javascript/ql/src/Statements/UseOfReturnlessFunction.ql +ql/javascript/ql/src/Statements/UselessComparisonTest.ql +ql/javascript/ql/src/Statements/UselessConditional.ql +ql/javascript/ql/src/Vue/ArrowMethodOnVueInstance.ql diff --git a/javascript/ql/src/AngularJS/DependencyMismatch.ql b/javascript/ql/src/AngularJS/DependencyMismatch.ql index 83f9b1cb73ac..a6990a444779 100644 --- a/javascript/ql/src/AngularJS/DependencyMismatch.ql +++ b/javascript/ql/src/AngularJS/DependencyMismatch.ql @@ -7,8 +7,9 @@ * @problem.severity warning * @precision very-high * @id js/angular/dependency-injection-mismatch - * @tags correctness - * maintainability + * @tags quality + * reliability + * correctness * frameworks/angularjs */ diff --git a/javascript/ql/src/AngularJS/DuplicateDependency.ql b/javascript/ql/src/AngularJS/DuplicateDependency.ql index 12036e03339a..38f46d8acf96 100644 --- a/javascript/ql/src/AngularJS/DuplicateDependency.ql +++ b/javascript/ql/src/AngularJS/DuplicateDependency.ql @@ -5,7 +5,9 @@ * @problem.severity warning * @precision very-high * @id js/angular/duplicate-dependency - * @tags maintainability + * @tags quality + * maintainability + * readability * frameworks/angularjs */ diff --git a/javascript/ql/src/AngularJS/IncompatibleService.ql b/javascript/ql/src/AngularJS/IncompatibleService.ql index c22eccc2dd43..511f5c72cdc5 100644 --- a/javascript/ql/src/AngularJS/IncompatibleService.ql +++ b/javascript/ql/src/AngularJS/IncompatibleService.ql @@ -5,7 +5,9 @@ * @problem.severity error * @precision high * @id js/angular/incompatible-service - * @tags correctness + * @tags quality + * reliability + * correctness * frameworks/angularjs */ diff --git a/javascript/ql/src/AngularJS/MissingExplicitInjection.ql b/javascript/ql/src/AngularJS/MissingExplicitInjection.ql index f7ff51fb5475..4b007974bcfe 100644 --- a/javascript/ql/src/AngularJS/MissingExplicitInjection.ql +++ b/javascript/ql/src/AngularJS/MissingExplicitInjection.ql @@ -6,8 +6,9 @@ * @problem.severity warning * @precision high * @id js/angular/missing-explicit-injection - * @tags correctness - * maintainability + * @tags quality + * reliability + * correctness * frameworks/angularjs */ diff --git a/javascript/ql/src/AngularJS/RepeatedInjection.ql b/javascript/ql/src/AngularJS/RepeatedInjection.ql index 27fb0dc2f621..8c1d1379893e 100644 --- a/javascript/ql/src/AngularJS/RepeatedInjection.ql +++ b/javascript/ql/src/AngularJS/RepeatedInjection.ql @@ -5,7 +5,9 @@ * @problem.severity warning * @precision high * @id js/angular/repeated-dependency-injection - * @tags maintainability + * @tags quality + * maintainability + * readability * frameworks/angularjs */ diff --git a/javascript/ql/src/AngularJS/UseNgSrc.ql b/javascript/ql/src/AngularJS/UseNgSrc.ql index 333b36722f53..51255af80710 100644 --- a/javascript/ql/src/AngularJS/UseNgSrc.ql +++ b/javascript/ql/src/AngularJS/UseNgSrc.ql @@ -7,7 +7,9 @@ * @problem.severity warning * @precision very-high * @id js/angular/expression-in-url-attribute - * @tags maintainability + * @tags quality + * reliability + * correctness * frameworks/angularjs */ diff --git a/javascript/ql/src/DOM/DuplicateAttributes.ql b/javascript/ql/src/DOM/DuplicateAttributes.ql index 77c1ddea93bd..a6f73982f73f 100644 --- a/javascript/ql/src/DOM/DuplicateAttributes.ql +++ b/javascript/ql/src/DOM/DuplicateAttributes.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity warning * @id js/duplicate-html-attribute - * @tags maintainability + * @tags quality + * maintainability * readability * @precision very-high */ diff --git a/javascript/ql/src/DOM/MalformedIdAttribute.ql b/javascript/ql/src/DOM/MalformedIdAttribute.ql index d9a99aa1937e..dea9d25f9179 100644 --- a/javascript/ql/src/DOM/MalformedIdAttribute.ql +++ b/javascript/ql/src/DOM/MalformedIdAttribute.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity warning * @id js/malformed-html-id - * @tags maintainability + * @tags quality + * reliability * correctness * external/cwe/cwe-758 * @precision very-high diff --git a/javascript/ql/src/DOM/PseudoEval.ql b/javascript/ql/src/DOM/PseudoEval.ql index c6bed6ed75bf..9ea1e9d2fb40 100644 --- a/javascript/ql/src/DOM/PseudoEval.ql +++ b/javascript/ql/src/DOM/PseudoEval.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity recommendation * @id js/eval-like-call - * @tags maintainability + * @tags quality + * maintainability + * readability * external/cwe/cwe-676 * @precision very-high */ diff --git a/javascript/ql/src/Declarations/ArgumentsRedefined.ql b/javascript/ql/src/Declarations/ArgumentsRedefined.ql index dc1ca153062f..01d0451d6f41 100644 --- a/javascript/ql/src/Declarations/ArgumentsRedefined.ql +++ b/javascript/ql/src/Declarations/ArgumentsRedefined.ql @@ -6,8 +6,9 @@ * @kind problem * @problem.severity recommendation * @id js/arguments-redefinition - * @tags efficiency - * maintainability + * @tags quality + * reliability + * performance * @precision very-high */ diff --git a/javascript/ql/src/Declarations/AssignmentToConst.ql b/javascript/ql/src/Declarations/AssignmentToConst.ql index f2a24832c6a3..2aebfad0054e 100644 --- a/javascript/ql/src/Declarations/AssignmentToConst.ql +++ b/javascript/ql/src/Declarations/AssignmentToConst.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity error * @id js/assignment-to-constant - * @tags reliability + * @tags quality + * reliability * correctness * @precision very-high */ diff --git a/javascript/ql/src/Declarations/ClobberingVarInit.ql b/javascript/ql/src/Declarations/ClobberingVarInit.ql index 2ae7a8910354..5a3fe406d7e0 100644 --- a/javascript/ql/src/Declarations/ClobberingVarInit.ql +++ b/javascript/ql/src/Declarations/ClobberingVarInit.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity error * @id js/variable-initialization-conflict - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-563 * @precision very-high diff --git a/javascript/ql/src/Declarations/ConflictingFunctions.ql b/javascript/ql/src/Declarations/ConflictingFunctions.ql index 60f3200c369f..e15f49acd93f 100644 --- a/javascript/ql/src/Declarations/ConflictingFunctions.ql +++ b/javascript/ql/src/Declarations/ConflictingFunctions.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity error * @id js/function-declaration-conflict - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-563 * @precision high diff --git a/javascript/ql/src/Declarations/DeadStoreOfLocal.ql b/javascript/ql/src/Declarations/DeadStoreOfLocal.ql index 70b3ba0e2e2b..b09e1435739f 100644 --- a/javascript/ql/src/Declarations/DeadStoreOfLocal.ql +++ b/javascript/ql/src/Declarations/DeadStoreOfLocal.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity warning * @id js/useless-assignment-to-local - * @tags maintainability + * @tags quality + * maintainability + * useless-code * external/cwe/cwe-563 * @precision very-high */ diff --git a/javascript/ql/src/Declarations/DeadStoreOfProperty.ql b/javascript/ql/src/Declarations/DeadStoreOfProperty.ql index c8cb0d8536e8..8930a13dfa4e 100644 --- a/javascript/ql/src/Declarations/DeadStoreOfProperty.ql +++ b/javascript/ql/src/Declarations/DeadStoreOfProperty.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity warning * @id js/useless-assignment-to-property - * @tags maintainability + * @tags quality + * maintainability + * useless-code * @precision high */ diff --git a/javascript/ql/src/Declarations/DeclBeforeUse.ql b/javascript/ql/src/Declarations/DeclBeforeUse.ql index b58fab9e465f..ddf715cefdb9 100644 --- a/javascript/ql/src/Declarations/DeclBeforeUse.ql +++ b/javascript/ql/src/Declarations/DeclBeforeUse.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity warning * @id js/use-before-declaration - * @tags maintainability + * @tags quality + * maintainability * readability * @precision very-high */ diff --git a/javascript/ql/src/Declarations/DefaultArgumentReferencesNestedFunction.ql b/javascript/ql/src/Declarations/DefaultArgumentReferencesNestedFunction.ql index cd13314095c1..934d2d6ddd3b 100644 --- a/javascript/ql/src/Declarations/DefaultArgumentReferencesNestedFunction.ql +++ b/javascript/ql/src/Declarations/DefaultArgumentReferencesNestedFunction.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity error * @id js/nested-function-reference-in-default-parameter - * @tags reliability + * @tags quality + * reliability * correctness * @precision very-high */ diff --git a/javascript/ql/src/Declarations/DuplicateVarDecl.ql b/javascript/ql/src/Declarations/DuplicateVarDecl.ql index 4a1c1bdb38fc..03dd4bb75173 100644 --- a/javascript/ql/src/Declarations/DuplicateVarDecl.ql +++ b/javascript/ql/src/Declarations/DuplicateVarDecl.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity recommendation * @id js/duplicate-variable-declaration - * @tags maintainability + * @tags quality + * maintainability + * readability * @precision very-high */ diff --git a/javascript/ql/src/Declarations/IneffectiveParameterType.ql b/javascript/ql/src/Declarations/IneffectiveParameterType.ql index 18899bd0c4e6..58480a84bf21 100644 --- a/javascript/ql/src/Declarations/IneffectiveParameterType.ql +++ b/javascript/ql/src/Declarations/IneffectiveParameterType.ql @@ -5,9 +5,10 @@ * @problem.severity warning * @id js/ineffective-parameter-type * @precision high - * @tags correctness + * @tags quality + * reliability + * correctness * typescript - * quality */ import javascript diff --git a/javascript/ql/src/Declarations/MissingThisQualifier.ql b/javascript/ql/src/Declarations/MissingThisQualifier.ql index 0d41cf19b19a..3bdf1080b11e 100644 --- a/javascript/ql/src/Declarations/MissingThisQualifier.ql +++ b/javascript/ql/src/Declarations/MissingThisQualifier.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity error * @id js/missing-this-qualifier - * @tags maintainability + * @tags quality + * reliability * correctness * methods * @precision high diff --git a/javascript/ql/src/Declarations/MissingVarDecl.ql b/javascript/ql/src/Declarations/MissingVarDecl.ql index 8dd40cb064a2..390fc0af51cd 100644 --- a/javascript/ql/src/Declarations/MissingVarDecl.ql +++ b/javascript/ql/src/Declarations/MissingVarDecl.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity warning * @id js/missing-variable-declaration - * @tags reliability - * maintainability + * @tags quality + * reliability + * correctness * @precision high */ diff --git a/javascript/ql/src/Declarations/MixedStaticInstanceThisAccess.ql b/javascript/ql/src/Declarations/MixedStaticInstanceThisAccess.ql index a8f771706f17..5941e51d3b03 100644 --- a/javascript/ql/src/Declarations/MixedStaticInstanceThisAccess.ql +++ b/javascript/ql/src/Declarations/MixedStaticInstanceThisAccess.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity error * @id js/mixed-static-instance-this-access - * @tags correctness + * @tags quality + * reliability + * correctness * methods * @precision high */ diff --git a/javascript/ql/src/Declarations/TemporalDeadZone.ql b/javascript/ql/src/Declarations/TemporalDeadZone.ql index dbb5f7275d35..f51303ee3921 100644 --- a/javascript/ql/src/Declarations/TemporalDeadZone.ql +++ b/javascript/ql/src/Declarations/TemporalDeadZone.ql @@ -5,8 +5,10 @@ * @kind problem * @problem.severity error * @id js/variable-use-in-temporal-dead-zone - * @tags portability + * @tags quality + * reliability * correctness + * portability * @precision very-high */ diff --git a/javascript/ql/src/Declarations/UniqueParameterNames.ql b/javascript/ql/src/Declarations/UniqueParameterNames.ql index bb595cbe6070..53b3657b9661 100644 --- a/javascript/ql/src/Declarations/UniqueParameterNames.ql +++ b/javascript/ql/src/Declarations/UniqueParameterNames.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity error * @id js/duplicate-parameter-name - * @tags reliability + * @tags quality + * reliability * correctness * @precision very-high */ diff --git a/javascript/ql/src/Declarations/UniquePropertyNames.ql b/javascript/ql/src/Declarations/UniquePropertyNames.ql index e98857945ad8..f168b46c54ec 100644 --- a/javascript/ql/src/Declarations/UniquePropertyNames.ql +++ b/javascript/ql/src/Declarations/UniquePropertyNames.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity error * @id js/overwritten-property - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-563 * @precision very-high diff --git a/javascript/ql/src/Declarations/UnreachableMethodOverloads.ql b/javascript/ql/src/Declarations/UnreachableMethodOverloads.ql index 23406eb0b72a..a68617ea2f11 100644 --- a/javascript/ql/src/Declarations/UnreachableMethodOverloads.ql +++ b/javascript/ql/src/Declarations/UnreachableMethodOverloads.ql @@ -7,7 +7,9 @@ * @problem.severity warning * @id js/unreachable-method-overloads * @precision high - * @tags correctness + * @tags quality + * reliability + * correctness * typescript */ diff --git a/javascript/ql/src/Declarations/UnusedVariable.ql b/javascript/ql/src/Declarations/UnusedVariable.ql index 7346b58c0494..66e15cdbf81a 100644 --- a/javascript/ql/src/Declarations/UnusedVariable.ql +++ b/javascript/ql/src/Declarations/UnusedVariable.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity recommendation * @id js/unused-local-variable - * @tags maintainability + * @tags quality + * maintainability + * useless-code * @precision very-high */ diff --git a/javascript/ql/src/Expressions/ComparisonWithNaN.ql b/javascript/ql/src/Expressions/ComparisonWithNaN.ql index 82a45a3a5629..1fb61b489651 100644 --- a/javascript/ql/src/Expressions/ComparisonWithNaN.ql +++ b/javascript/ql/src/Expressions/ComparisonWithNaN.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity error * @id js/comparison-with-nan - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-570 * external/cwe/cwe-571 diff --git a/javascript/ql/src/Expressions/DuplicateCondition.ql b/javascript/ql/src/Expressions/DuplicateCondition.ql index a13a0f158104..75f020d382ab 100644 --- a/javascript/ql/src/Expressions/DuplicateCondition.ql +++ b/javascript/ql/src/Expressions/DuplicateCondition.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity warning * @id js/duplicate-condition - * @tags maintainability - * correctness + * @tags quality + * maintainability + * readability * external/cwe/cwe-561 * @precision very-high */ diff --git a/javascript/ql/src/Expressions/DuplicateProperty.ql b/javascript/ql/src/Expressions/DuplicateProperty.ql index af518842a618..febdfe5b8826 100644 --- a/javascript/ql/src/Expressions/DuplicateProperty.ql +++ b/javascript/ql/src/Expressions/DuplicateProperty.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity warning * @id js/duplicate-property - * @tags maintainability + * @tags quality + * maintainability + * readability * external/cwe/cwe-563 * @precision very-high */ diff --git a/javascript/ql/src/Expressions/DuplicateSwitchCase.ql b/javascript/ql/src/Expressions/DuplicateSwitchCase.ql index 56cb848dba14..1ef8aa76a4ba 100644 --- a/javascript/ql/src/Expressions/DuplicateSwitchCase.ql +++ b/javascript/ql/src/Expressions/DuplicateSwitchCase.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity warning * @id js/duplicate-switch-case - * @tags maintainability + * @tags quality + * reliability * correctness * external/cwe/cwe-561 * @precision very-high diff --git a/javascript/ql/src/Expressions/ExprHasNoEffect.ql b/javascript/ql/src/Expressions/ExprHasNoEffect.ql index 9cdb22b8ecf0..fd613d3aa9f8 100644 --- a/javascript/ql/src/Expressions/ExprHasNoEffect.ql +++ b/javascript/ql/src/Expressions/ExprHasNoEffect.ql @@ -7,10 +7,9 @@ * @id js/useless-expression * @tags quality * maintainability - * correctness + * useless-code * external/cwe/cwe-480 * external/cwe/cwe-561 - * useless-code * @precision very-high */ diff --git a/javascript/ql/src/Expressions/HeterogeneousComparison.ql b/javascript/ql/src/Expressions/HeterogeneousComparison.ql index 3b4c59f08b68..e99adad21cdb 100644 --- a/javascript/ql/src/Expressions/HeterogeneousComparison.ql +++ b/javascript/ql/src/Expressions/HeterogeneousComparison.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity warning * @id js/comparison-between-incompatible-types - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-570 * external/cwe/cwe-571 diff --git a/javascript/ql/src/Expressions/ImplicitOperandConversion.ql b/javascript/ql/src/Expressions/ImplicitOperandConversion.ql index 5d3f16e0eb8b..eda12e9d98b3 100644 --- a/javascript/ql/src/Expressions/ImplicitOperandConversion.ql +++ b/javascript/ql/src/Expressions/ImplicitOperandConversion.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity warning * @id js/implicit-operand-conversion - * @tags reliability - * readability + * @tags quality + * reliability + * correctness * external/cwe/cwe-704 * @precision very-high */ diff --git a/javascript/ql/src/Expressions/MissingAwait.ql b/javascript/ql/src/Expressions/MissingAwait.ql index a16d31ee2a57..a537156da015 100644 --- a/javascript/ql/src/Expressions/MissingAwait.ql +++ b/javascript/ql/src/Expressions/MissingAwait.ql @@ -4,8 +4,9 @@ * @kind problem * @problem.severity warning * @id js/missing-await - * @tags correctness - * quality + * @tags quality + * reliability + * correctness * @precision high */ diff --git a/javascript/ql/src/Expressions/MissingDotLengthInComparison.ql b/javascript/ql/src/Expressions/MissingDotLengthInComparison.ql index 705b3eedfc07..1d16bb346fc7 100644 --- a/javascript/ql/src/Expressions/MissingDotLengthInComparison.ql +++ b/javascript/ql/src/Expressions/MissingDotLengthInComparison.ql @@ -6,7 +6,9 @@ * @problem.severity warning * @id js/missing-dot-length-in-comparison * @precision high - * @tags correctness + * @tags quality + * reliability + * correctness */ import javascript diff --git a/javascript/ql/src/Expressions/MissingSpaceInAppend.ql b/javascript/ql/src/Expressions/MissingSpaceInAppend.ql index 7589c0d54f32..d4c2bcb18ac6 100644 --- a/javascript/ql/src/Expressions/MissingSpaceInAppend.ql +++ b/javascript/ql/src/Expressions/MissingSpaceInAppend.ql @@ -7,7 +7,9 @@ * @problem.severity warning * @precision very-high * @id js/missing-space-in-concatenation - * @tags readability + * @tags quality + * maintainability + * readability */ import javascript diff --git a/javascript/ql/src/Expressions/MisspelledVariableName.ql b/javascript/ql/src/Expressions/MisspelledVariableName.ql index b6f0ad88e3ed..7444ba3a5d92 100644 --- a/javascript/ql/src/Expressions/MisspelledVariableName.ql +++ b/javascript/ql/src/Expressions/MisspelledVariableName.ql @@ -6,8 +6,8 @@ * @kind problem * @problem.severity warning * @id js/misspelled-variable-name - * @tags maintainability - * readability + * @tags quality + * reliability * correctness * @precision very-high */ diff --git a/javascript/ql/src/Expressions/RedundantExpression.ql b/javascript/ql/src/Expressions/RedundantExpression.ql index bf668bd649f1..35b86a9f0256 100644 --- a/javascript/ql/src/Expressions/RedundantExpression.ql +++ b/javascript/ql/src/Expressions/RedundantExpression.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity warning * @id js/redundant-operation - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-480 * external/cwe/cwe-561 diff --git a/javascript/ql/src/Expressions/SelfAssignment.ql b/javascript/ql/src/Expressions/SelfAssignment.ql index 784f01fa7426..603762b5952f 100644 --- a/javascript/ql/src/Expressions/SelfAssignment.ql +++ b/javascript/ql/src/Expressions/SelfAssignment.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity warning * @id js/redundant-assignment - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-480 * external/cwe/cwe-561 diff --git a/javascript/ql/src/Expressions/ShiftOutOfRange.ql b/javascript/ql/src/Expressions/ShiftOutOfRange.ql index ec8b801cbe67..395baaff11f5 100644 --- a/javascript/ql/src/Expressions/ShiftOutOfRange.ql +++ b/javascript/ql/src/Expressions/ShiftOutOfRange.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity error * @id js/shift-out-of-range - * @tags reliability + * @tags quality + * reliability * correctness * external/cwe/cwe-197 * @precision very-high diff --git a/javascript/ql/src/Expressions/StringInsteadOfRegex.ql b/javascript/ql/src/Expressions/StringInsteadOfRegex.ql index c00088abcd91..44d07ee98e6a 100644 --- a/javascript/ql/src/Expressions/StringInsteadOfRegex.ql +++ b/javascript/ql/src/Expressions/StringInsteadOfRegex.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity warning * @id js/string-instead-of-regex - * @tags correctness + * @tags quality + * reliability + * correctness * @precision high */ diff --git a/javascript/ql/src/Expressions/SuspiciousInvocation.ql b/javascript/ql/src/Expressions/SuspiciousInvocation.ql index ca7281eba5cd..1472e2dbe2ff 100644 --- a/javascript/ql/src/Expressions/SuspiciousInvocation.ql +++ b/javascript/ql/src/Expressions/SuspiciousInvocation.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity error * @id js/call-to-non-callable - * @tags correctness + * @tags quality + * reliability + * correctness * external/cwe/cwe-476 * @precision high */ diff --git a/javascript/ql/src/Expressions/SuspiciousPropAccess.ql b/javascript/ql/src/Expressions/SuspiciousPropAccess.ql index f51674a04187..88ce9dda7c43 100644 --- a/javascript/ql/src/Expressions/SuspiciousPropAccess.ql +++ b/javascript/ql/src/Expressions/SuspiciousPropAccess.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity error * @id js/property-access-on-non-object - * @tags correctness + * @tags quality + * reliability + * correctness * external/cwe/cwe-476 * @precision high */ diff --git a/javascript/ql/src/Expressions/UnboundEventHandlerReceiver.ql b/javascript/ql/src/Expressions/UnboundEventHandlerReceiver.ql index fa10e4786c46..4cc94c5852b1 100644 --- a/javascript/ql/src/Expressions/UnboundEventHandlerReceiver.ql +++ b/javascript/ql/src/Expressions/UnboundEventHandlerReceiver.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity error * @id js/unbound-event-handler-receiver - * @tags correctness + * @tags quality + * reliability + * correctness * @precision high */ diff --git a/javascript/ql/src/Expressions/UnclearOperatorPrecedence.ql b/javascript/ql/src/Expressions/UnclearOperatorPrecedence.ql index 869971f5f1fb..104e7188e7e7 100644 --- a/javascript/ql/src/Expressions/UnclearOperatorPrecedence.ql +++ b/javascript/ql/src/Expressions/UnclearOperatorPrecedence.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity recommendation * @id js/unclear-operator-precedence - * @tags maintainability - * correctness + * @tags quality + * maintainability + * readability * statistical * non-attributable * external/cwe/cwe-783 diff --git a/javascript/ql/src/Expressions/UnknownDirective.ql b/javascript/ql/src/Expressions/UnknownDirective.ql index 331b61cafda9..be91cf5ff896 100644 --- a/javascript/ql/src/Expressions/UnknownDirective.ql +++ b/javascript/ql/src/Expressions/UnknownDirective.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity warning * @id js/unknown-directive - * @tags correctness + * @tags quality + * reliability + * correctness * @precision high */ diff --git a/javascript/ql/src/Expressions/UnneededDefensiveProgramming.ql b/javascript/ql/src/Expressions/UnneededDefensiveProgramming.ql index 8e5cd8cf431e..3b06187a2074 100644 --- a/javascript/ql/src/Expressions/UnneededDefensiveProgramming.ql +++ b/javascript/ql/src/Expressions/UnneededDefensiveProgramming.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity recommendation * @id js/unneeded-defensive-code - * @tags correctness + * @tags quality + * maintainability + * useless-code * external/cwe/cwe-570 * external/cwe/cwe-571 * @precision very-high diff --git a/javascript/ql/src/Expressions/WhitespaceContradictsPrecedence.ql b/javascript/ql/src/Expressions/WhitespaceContradictsPrecedence.ql index 36d9f7737083..bb3d14846588 100644 --- a/javascript/ql/src/Expressions/WhitespaceContradictsPrecedence.ql +++ b/javascript/ql/src/Expressions/WhitespaceContradictsPrecedence.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity warning * @id js/whitespace-contradicts-precedence - * @tags maintainability + * @tags quality + * reliability * correctness * statistical * non-attributable diff --git a/javascript/ql/src/LanguageFeatures/BadTypeof.ql b/javascript/ql/src/LanguageFeatures/BadTypeof.ql index d287a0a1b6d2..97492d3562ad 100644 --- a/javascript/ql/src/LanguageFeatures/BadTypeof.ql +++ b/javascript/ql/src/LanguageFeatures/BadTypeof.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity error * @id js/useless-type-test - * @tags maintainability + * @tags quality + * reliability * correctness * language-features * external/cwe/cwe-570 diff --git a/javascript/ql/src/LanguageFeatures/ConditionalComments.ql b/javascript/ql/src/LanguageFeatures/ConditionalComments.ql index 255415c05640..8ded33afe59c 100644 --- a/javascript/ql/src/LanguageFeatures/ConditionalComments.ql +++ b/javascript/ql/src/LanguageFeatures/ConditionalComments.ql @@ -4,8 +4,10 @@ * @kind problem * @problem.severity warning * @id js/conditional-comment - * @tags portability - * maintainability + * @tags quality + * reliability + * correctness + * portability * language-features * external/cwe/cwe-758 * @precision very-high diff --git a/javascript/ql/src/LanguageFeatures/DeleteVar.ql b/javascript/ql/src/LanguageFeatures/DeleteVar.ql index ed3940a1c70c..715f314381b1 100644 --- a/javascript/ql/src/LanguageFeatures/DeleteVar.ql +++ b/javascript/ql/src/LanguageFeatures/DeleteVar.ql @@ -4,8 +4,9 @@ * @kind problem * @problem.severity warning * @id js/deletion-of-non-property - * @tags reliability - * maintainability + * @tags quality + * reliability + * correctness * language-features * external/cwe/cwe-480 * @precision very-high diff --git a/javascript/ql/src/LanguageFeatures/ExpressionClosures.ql b/javascript/ql/src/LanguageFeatures/ExpressionClosures.ql index db33566a7585..2e67bfb6e2b9 100644 --- a/javascript/ql/src/LanguageFeatures/ExpressionClosures.ql +++ b/javascript/ql/src/LanguageFeatures/ExpressionClosures.ql @@ -5,8 +5,10 @@ * @kind problem * @problem.severity warning * @id js/non-standard-language-feature - * @tags portability + * @tags quality * maintainability + * readability + * portability * language-features * external/cwe/cwe-758 * @precision very-high diff --git a/javascript/ql/src/LanguageFeatures/ForInComprehensionBlocks.ql b/javascript/ql/src/LanguageFeatures/ForInComprehensionBlocks.ql index 0c13ff724371..c5f5e8bfe12a 100644 --- a/javascript/ql/src/LanguageFeatures/ForInComprehensionBlocks.ql +++ b/javascript/ql/src/LanguageFeatures/ForInComprehensionBlocks.ql @@ -5,8 +5,10 @@ * @kind problem * @problem.severity error * @id js/for-in-comprehension - * @tags portability + * @tags quality * maintainability + * readability + * portability * language-features * external/cwe/cwe-758 * @precision very-high diff --git a/javascript/ql/src/LanguageFeatures/IllegalInvocation.ql b/javascript/ql/src/LanguageFeatures/IllegalInvocation.ql index 4c8939c41804..06f50bb60dc7 100644 --- a/javascript/ql/src/LanguageFeatures/IllegalInvocation.ql +++ b/javascript/ql/src/LanguageFeatures/IllegalInvocation.ql @@ -6,7 +6,9 @@ * @kind problem * @problem.severity error * @id js/illegal-invocation - * @tags correctness + * @tags quality + * reliability + * correctness * language-features * @precision high */ diff --git a/javascript/ql/src/LanguageFeatures/InconsistentNew.ql b/javascript/ql/src/LanguageFeatures/InconsistentNew.ql index 8a14dbe37c19..9044e851496d 100644 --- a/javascript/ql/src/LanguageFeatures/InconsistentNew.ql +++ b/javascript/ql/src/LanguageFeatures/InconsistentNew.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity warning * @id js/inconsistent-use-of-new - * @tags reliability + * @tags quality + * reliability * correctness * language-features * @precision very-high diff --git a/javascript/ql/src/LanguageFeatures/InvalidPrototype.ql b/javascript/ql/src/LanguageFeatures/InvalidPrototype.ql index 89dc7535c60b..8770d8dc2713 100644 --- a/javascript/ql/src/LanguageFeatures/InvalidPrototype.ql +++ b/javascript/ql/src/LanguageFeatures/InvalidPrototype.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity error * @id js/invalid-prototype-value - * @tags correctness + * @tags quality + * reliability + * correctness * language-features * external/cwe/cwe-704 * @precision high diff --git a/javascript/ql/src/LanguageFeatures/LengthComparisonOffByOne.ql b/javascript/ql/src/LanguageFeatures/LengthComparisonOffByOne.ql index e3935386289a..4f3815d6fc6b 100644 --- a/javascript/ql/src/LanguageFeatures/LengthComparisonOffByOne.ql +++ b/javascript/ql/src/LanguageFeatures/LengthComparisonOffByOne.ql @@ -5,9 +5,11 @@ * @kind problem * @problem.severity warning * @id js/index-out-of-bounds - * @tags reliability + * @tags quality + * reliability * correctness * logic + * language-features * external/cwe/cwe-193 * @precision high */ diff --git a/javascript/ql/src/LanguageFeatures/NonLinearPattern.ql b/javascript/ql/src/LanguageFeatures/NonLinearPattern.ql index 9e3c42353506..090f6b078456 100644 --- a/javascript/ql/src/LanguageFeatures/NonLinearPattern.ql +++ b/javascript/ql/src/LanguageFeatures/NonLinearPattern.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity error * @id js/non-linear-pattern - * @tags reliability + * @tags quality + * reliability * correctness * language-features * @precision very-high diff --git a/javascript/ql/src/LanguageFeatures/PropertyWriteOnPrimitive.ql b/javascript/ql/src/LanguageFeatures/PropertyWriteOnPrimitive.ql index 19d372f65290..cb5446256487 100644 --- a/javascript/ql/src/LanguageFeatures/PropertyWriteOnPrimitive.ql +++ b/javascript/ql/src/LanguageFeatures/PropertyWriteOnPrimitive.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity error * @id js/property-assignment-on-primitive - * @tags correctness + * @tags quality + * reliability + * correctness * language-features * external/cwe/cwe-704 * @precision high diff --git a/javascript/ql/src/LanguageFeatures/SemicolonInsertion.ql b/javascript/ql/src/LanguageFeatures/SemicolonInsertion.ql index 3f99062112da..17a9da64cc0a 100644 --- a/javascript/ql/src/LanguageFeatures/SemicolonInsertion.ql +++ b/javascript/ql/src/LanguageFeatures/SemicolonInsertion.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity recommendation * @id js/automatic-semicolon-insertion - * @tags maintainability + * @tags quality + * maintainability + * readability * language-features * statistical * non-attributable diff --git a/javascript/ql/src/LanguageFeatures/SetterReturn.ql b/javascript/ql/src/LanguageFeatures/SetterReturn.ql index 0333246a4391..b90541d39129 100644 --- a/javascript/ql/src/LanguageFeatures/SetterReturn.ql +++ b/javascript/ql/src/LanguageFeatures/SetterReturn.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity warning * @id js/setter-return - * @tags maintainability + * @tags quality + * maintainability + * useless-code * language-features * @precision very-high */ diff --git a/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql b/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql index fd493a247a4c..82c69a1732a3 100644 --- a/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql +++ b/javascript/ql/src/LanguageFeatures/SpuriousArguments.ql @@ -4,10 +4,10 @@ * @kind problem * @problem.severity warning * @id js/superfluous-trailing-arguments - * @tags maintainability + * @tags quality + * reliability * correctness * language-features - * quality * external/cwe/cwe-685 * @precision very-high */ diff --git a/javascript/ql/src/LanguageFeatures/StrictModeCallStackIntrospection.ql b/javascript/ql/src/LanguageFeatures/StrictModeCallStackIntrospection.ql index b29844d90b97..7c285c45ec70 100644 --- a/javascript/ql/src/LanguageFeatures/StrictModeCallStackIntrospection.ql +++ b/javascript/ql/src/LanguageFeatures/StrictModeCallStackIntrospection.ql @@ -6,7 +6,9 @@ * @kind problem * @problem.severity error * @id js/strict-mode-call-stack-introspection - * @tags correctness + * @tags quality + * reliability + * correctness * language-features * @precision high */ diff --git a/javascript/ql/src/LanguageFeatures/SyntaxError.ql b/javascript/ql/src/LanguageFeatures/SyntaxError.ql index d4428c75774e..0c9a69490f7c 100644 --- a/javascript/ql/src/LanguageFeatures/SyntaxError.ql +++ b/javascript/ql/src/LanguageFeatures/SyntaxError.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity recommendation * @id js/syntax-error - * @tags reliability + * @tags quality + * reliability * correctness * language-features * @precision very-high diff --git a/javascript/ql/src/LanguageFeatures/ThisBeforeSuper.ql b/javascript/ql/src/LanguageFeatures/ThisBeforeSuper.ql index 77ce3e5e8587..e93700bdccf9 100644 --- a/javascript/ql/src/LanguageFeatures/ThisBeforeSuper.ql +++ b/javascript/ql/src/LanguageFeatures/ThisBeforeSuper.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity error * @id js/incomplete-object-initialization - * @tags correctness + * @tags quality + * reliability + * correctness * language-features * @precision high */ diff --git a/javascript/ql/src/LanguageFeatures/UnusedIndexVariable.ql b/javascript/ql/src/LanguageFeatures/UnusedIndexVariable.ql index ba39738a7774..7a8f3bdf948f 100644 --- a/javascript/ql/src/LanguageFeatures/UnusedIndexVariable.ql +++ b/javascript/ql/src/LanguageFeatures/UnusedIndexVariable.ql @@ -6,7 +6,9 @@ * @problem.severity warning * @id js/unused-index-variable * @precision high - * @tags correctness + * @tags quality + * reliability + * correctness */ import javascript diff --git a/javascript/ql/src/LanguageFeatures/WithStatement.ql b/javascript/ql/src/LanguageFeatures/WithStatement.ql index cb2cfc728d8b..25f6c4e8fc46 100644 --- a/javascript/ql/src/LanguageFeatures/WithStatement.ql +++ b/javascript/ql/src/LanguageFeatures/WithStatement.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity warning * @id js/with-statement - * @tags maintainability + * @tags quality + * maintainability + * complexity * language-features * @precision very-high */ diff --git a/javascript/ql/src/LanguageFeatures/YieldInNonGenerator.ql b/javascript/ql/src/LanguageFeatures/YieldInNonGenerator.ql index 4f9241e7303f..8cd18991d02a 100644 --- a/javascript/ql/src/LanguageFeatures/YieldInNonGenerator.ql +++ b/javascript/ql/src/LanguageFeatures/YieldInNonGenerator.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity error * @id js/yield-outside-generator - * @tags maintainability + * @tags quality + * reliability + * correctness * language-features * external/cwe/cwe-758 * @precision very-high diff --git a/javascript/ql/src/NodeJS/InvalidExport.ql b/javascript/ql/src/NodeJS/InvalidExport.ql index e0b4a73fd69d..95d945bc0483 100644 --- a/javascript/ql/src/NodeJS/InvalidExport.ql +++ b/javascript/ql/src/NodeJS/InvalidExport.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity warning * @id js/node/assignment-to-exports-variable - * @tags maintainability + * @tags quality + * reliability + * correctness * frameworks/node.js * external/cwe/cwe-563 * @precision very-high diff --git a/javascript/ql/src/NodeJS/MissingExports.ql b/javascript/ql/src/NodeJS/MissingExports.ql index 15badce359ff..f10fac15b7a3 100644 --- a/javascript/ql/src/NodeJS/MissingExports.ql +++ b/javascript/ql/src/NodeJS/MissingExports.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity error * @id js/node/missing-exports-qualifier - * @tags maintainability + * @tags quality + * reliability + * correctness * frameworks/node.js * @precision high */ diff --git a/javascript/ql/src/React/DirectStateMutation.ql b/javascript/ql/src/React/DirectStateMutation.ql index 6e3d63a52148..a00f55524cd1 100644 --- a/javascript/ql/src/React/DirectStateMutation.ql +++ b/javascript/ql/src/React/DirectStateMutation.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity warning * @id js/react/direct-state-mutation - * @tags reliability + * @tags quality + * reliability + * correctness * frameworks/react * @precision very-high */ diff --git a/javascript/ql/src/React/InconsistentStateUpdate.ql b/javascript/ql/src/React/InconsistentStateUpdate.ql index 31625b2187af..f46427b9c595 100644 --- a/javascript/ql/src/React/InconsistentStateUpdate.ql +++ b/javascript/ql/src/React/InconsistentStateUpdate.ql @@ -6,7 +6,9 @@ * @kind problem * @problem.severity warning * @id js/react/inconsistent-state-update - * @tags reliability + * @tags quality + * reliability + * correctness * frameworks/react * @precision very-high */ diff --git a/javascript/ql/src/React/UnsupportedStateUpdateInLifecycleMethod.ql b/javascript/ql/src/React/UnsupportedStateUpdateInLifecycleMethod.ql index e14b880b1b11..da49bd43ab90 100644 --- a/javascript/ql/src/React/UnsupportedStateUpdateInLifecycleMethod.ql +++ b/javascript/ql/src/React/UnsupportedStateUpdateInLifecycleMethod.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity warning * @id js/react/unsupported-state-update-in-lifecycle-method - * @tags reliability + * @tags quality + * reliability + * correctness * frameworks/react * @precision high */ diff --git a/javascript/ql/src/React/UnusedOrUndefinedStateProperty.ql b/javascript/ql/src/React/UnusedOrUndefinedStateProperty.ql index 721d6639ac7e..24d5590185ba 100644 --- a/javascript/ql/src/React/UnusedOrUndefinedStateProperty.ql +++ b/javascript/ql/src/React/UnusedOrUndefinedStateProperty.ql @@ -4,8 +4,9 @@ * @kind problem * @problem.severity warning * @id js/react/unused-or-undefined-state-property - * @tags correctness + * @tags quality * reliability + * correctness * frameworks/react * @precision high */ diff --git a/javascript/ql/src/RegExp/BackrefBeforeGroup.ql b/javascript/ql/src/RegExp/BackrefBeforeGroup.ql index abbc95e40b94..3572bf2cbc6e 100644 --- a/javascript/ql/src/RegExp/BackrefBeforeGroup.ql +++ b/javascript/ql/src/RegExp/BackrefBeforeGroup.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity error * @id js/regex/back-reference-before-group - * @tags reliability + * @tags quality + * reliability * correctness * regular-expressions * @precision very-high diff --git a/javascript/ql/src/RegExp/BackrefIntoNegativeLookahead.ql b/javascript/ql/src/RegExp/BackrefIntoNegativeLookahead.ql index b2ad4722011b..6a5e1528d6d5 100644 --- a/javascript/ql/src/RegExp/BackrefIntoNegativeLookahead.ql +++ b/javascript/ql/src/RegExp/BackrefIntoNegativeLookahead.ql @@ -5,7 +5,8 @@ * @kind problem * @problem.severity error * @id js/regex/back-reference-to-negative-lookahead - * @tags reliability + * @tags quality + * reliability * correctness * regular-expressions * @precision very-high diff --git a/javascript/ql/src/RegExp/EmptyCharacterClass.ql b/javascript/ql/src/RegExp/EmptyCharacterClass.ql index f991de9759d2..fb336c3fbe8b 100644 --- a/javascript/ql/src/RegExp/EmptyCharacterClass.ql +++ b/javascript/ql/src/RegExp/EmptyCharacterClass.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity warning * @id js/regex/empty-character-class - * @tags reliability + * @tags quality + * reliability * correctness * regular-expressions * @precision very-high diff --git a/javascript/ql/src/RegExp/RegExpAlwaysMatches.ql b/javascript/ql/src/RegExp/RegExpAlwaysMatches.ql index 1d063534903e..0a9a37120d76 100644 --- a/javascript/ql/src/RegExp/RegExpAlwaysMatches.ql +++ b/javascript/ql/src/RegExp/RegExpAlwaysMatches.ql @@ -4,9 +4,10 @@ * @kind problem * @problem.severity warning * @id js/regex/always-matches - * @tags correctness + * @tags quality + * reliability + * correctness * regular-expressions - * quality * @precision high */ diff --git a/javascript/ql/src/RegExp/UnboundBackref.ql b/javascript/ql/src/RegExp/UnboundBackref.ql index 00cc9536f12b..026c5472fb5e 100644 --- a/javascript/ql/src/RegExp/UnboundBackref.ql +++ b/javascript/ql/src/RegExp/UnboundBackref.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity warning * @id js/regex/unbound-back-reference - * @tags reliability + * @tags quality + * reliability * correctness * regular-expressions * @precision very-high diff --git a/javascript/ql/src/RegExp/UnmatchableCaret.ql b/javascript/ql/src/RegExp/UnmatchableCaret.ql index 4dd5a6dc26b0..401b8db73c5b 100644 --- a/javascript/ql/src/RegExp/UnmatchableCaret.ql +++ b/javascript/ql/src/RegExp/UnmatchableCaret.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity error * @id js/regex/unmatchable-caret - * @tags reliability + * @tags quality + * reliability * correctness * regular-expressions * external/cwe/cwe-561 diff --git a/javascript/ql/src/RegExp/UnmatchableDollar.ql b/javascript/ql/src/RegExp/UnmatchableDollar.ql index 59005b454107..c5b8cd9781f9 100644 --- a/javascript/ql/src/RegExp/UnmatchableDollar.ql +++ b/javascript/ql/src/RegExp/UnmatchableDollar.ql @@ -6,7 +6,8 @@ * @kind problem * @problem.severity error * @id js/regex/unmatchable-dollar - * @tags reliability + * @tags quality + * reliability * correctness * regular-expressions * external/cwe/cwe-561 diff --git a/javascript/ql/src/Statements/DanglingElse.ql b/javascript/ql/src/Statements/DanglingElse.ql index bd9ea782db78..fdea5f67a863 100644 --- a/javascript/ql/src/Statements/DanglingElse.ql +++ b/javascript/ql/src/Statements/DanglingElse.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity warning * @id js/misleading-indentation-of-dangling-else - * @tags readability + * @tags quality + * maintainability + * readability * statistical * non-attributable * external/cwe/cwe-483 diff --git a/javascript/ql/src/Statements/IgnoreArrayResult.ql b/javascript/ql/src/Statements/IgnoreArrayResult.ql index 9123b520f6f6..dbf035cdb647 100644 --- a/javascript/ql/src/Statements/IgnoreArrayResult.ql +++ b/javascript/ql/src/Statements/IgnoreArrayResult.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity warning * @id js/ignore-array-result - * @tags maintainability + * @tags quality + * reliability * correctness * @precision high */ diff --git a/javascript/ql/src/Statements/InconsistentLoopOrientation.ql b/javascript/ql/src/Statements/InconsistentLoopOrientation.ql index 7692a9d3d201..42d8912e0154 100644 --- a/javascript/ql/src/Statements/InconsistentLoopOrientation.ql +++ b/javascript/ql/src/Statements/InconsistentLoopOrientation.ql @@ -8,7 +8,9 @@ * @kind problem * @problem.severity error * @id js/inconsistent-loop-direction - * @tags correctness + * @tags quality + * reliability + * correctness * external/cwe/cwe-835 * @precision very-high */ diff --git a/javascript/ql/src/Statements/LabelInCase.ql b/javascript/ql/src/Statements/LabelInCase.ql index e88d366136f6..15690c83bcc3 100644 --- a/javascript/ql/src/Statements/LabelInCase.ql +++ b/javascript/ql/src/Statements/LabelInCase.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity warning * @id js/label-in-switch - * @tags reliability - * readability + * @tags quality + * reliability + * correctness * @precision very-high */ diff --git a/javascript/ql/src/Statements/MisleadingIndentationAfterControlStmt.ql b/javascript/ql/src/Statements/MisleadingIndentationAfterControlStmt.ql index 91ee1bd4c005..abfd9cde4ac9 100644 --- a/javascript/ql/src/Statements/MisleadingIndentationAfterControlStmt.ql +++ b/javascript/ql/src/Statements/MisleadingIndentationAfterControlStmt.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity warning * @id js/misleading-indentation-after-control-statement - * @tags correctness + * @tags quality + * maintainability + * readability * statistical * non-attributable * external/cwe/cwe-483 diff --git a/javascript/ql/src/Statements/ReturnAssignsLocal.ql b/javascript/ql/src/Statements/ReturnAssignsLocal.ql index 6056914fd80a..e0e60e689a37 100644 --- a/javascript/ql/src/Statements/ReturnAssignsLocal.ql +++ b/javascript/ql/src/Statements/ReturnAssignsLocal.ql @@ -5,8 +5,9 @@ * @kind problem * @problem.severity warning * @id js/useless-assignment-in-return - * @tags maintainability - * readability + * @tags quality + * reliability + * correctness * external/cwe/cwe-563 * @precision very-high */ diff --git a/javascript/ql/src/Statements/SuspiciousUnusedLoopIterationVariable.ql b/javascript/ql/src/Statements/SuspiciousUnusedLoopIterationVariable.ql index ba0d523ae752..e472c8e0dcec 100644 --- a/javascript/ql/src/Statements/SuspiciousUnusedLoopIterationVariable.ql +++ b/javascript/ql/src/Statements/SuspiciousUnusedLoopIterationVariable.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity error * @id js/unused-loop-variable - * @tags maintainability + * @tags quality + * reliability * correctness * @precision high */ diff --git a/javascript/ql/src/Statements/UnreachableStatement.ql b/javascript/ql/src/Statements/UnreachableStatement.ql index 092189609c02..b7d8e48980b1 100644 --- a/javascript/ql/src/Statements/UnreachableStatement.ql +++ b/javascript/ql/src/Statements/UnreachableStatement.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity warning * @id js/unreachable-statement - * @tags maintainability + * @tags quality + * reliability * correctness * external/cwe/cwe-561 * @precision very-high diff --git a/javascript/ql/src/Statements/UseOfReturnlessFunction.ql b/javascript/ql/src/Statements/UseOfReturnlessFunction.ql index 818f0d922d48..4a381f4c2df5 100644 --- a/javascript/ql/src/Statements/UseOfReturnlessFunction.ql +++ b/javascript/ql/src/Statements/UseOfReturnlessFunction.ql @@ -4,7 +4,8 @@ * @kind problem * @problem.severity warning * @id js/use-of-returnless-function - * @tags maintainability + * @tags quality + * reliability * correctness * @precision high */ diff --git a/javascript/ql/src/Statements/UselessComparisonTest.ql b/javascript/ql/src/Statements/UselessComparisonTest.ql index 6066d7c4329b..dd87ed42b14c 100644 --- a/javascript/ql/src/Statements/UselessComparisonTest.ql +++ b/javascript/ql/src/Statements/UselessComparisonTest.ql @@ -5,7 +5,9 @@ * @kind problem * @problem.severity warning * @id js/useless-comparison-test - * @tags correctness + * @tags quality + * reliability + * correctness * @precision high */ diff --git a/javascript/ql/src/Statements/UselessConditional.ql b/javascript/ql/src/Statements/UselessConditional.ql index cc70defa7b22..210f27bb1db3 100644 --- a/javascript/ql/src/Statements/UselessConditional.ql +++ b/javascript/ql/src/Statements/UselessConditional.ql @@ -6,7 +6,9 @@ * @kind problem * @problem.severity warning * @id js/trivial-conditional - * @tags correctness + * @tags quality + * reliability + * correctness * external/cwe/cwe-570 * external/cwe/cwe-571 * @precision very-high diff --git a/javascript/ql/src/Vue/ArrowMethodOnVueInstance.ql b/javascript/ql/src/Vue/ArrowMethodOnVueInstance.ql index 828ee373696f..c7c97173d8bd 100644 --- a/javascript/ql/src/Vue/ArrowMethodOnVueInstance.ql +++ b/javascript/ql/src/Vue/ArrowMethodOnVueInstance.ql @@ -4,7 +4,9 @@ * @kind problem * @problem.severity warning * @id js/vue/arrow-method-on-vue-instance - * @tags reliability + * @tags quality + * reliability + * correctness * frameworks/vue * @precision high */ diff --git a/javascript/ql/src/change-notes/2025-06-16-mass-promotion.md b/javascript/ql/src/change-notes/2025-06-16-mass-promotion.md new file mode 100644 index 000000000000..dedaba09d1d6 --- /dev/null +++ b/javascript/ql/src/change-notes/2025-06-16-mass-promotion.md @@ -0,0 +1,4 @@ +--- +category: queryMetadata +--- +* The `quality` tag has been added to multiple JavaScript quality queries, with tags for `reliability` or `maintainability` categories and their sub-categories. See [Query file metadata and alert message style guide](https://github.com/github/codeql/blob/main/docs/query-metadata-style-guide.md#quality-query-sub-category-tags) for more information about these categories.