@datadog/mobile-react-native-webview
Version:
A client-side React Native module to interact with react-native-webview and Datadog
722 lines (708 loc) • 16.1 kB
YAML
build:
maxIssues: 0
libraries:
LibraryCodeMustSpecifyReturnType:
active: true
processors:
active: true
exclude: []
# - 'DetektProgressListener'
# - 'FunctionCountProcessor'
# - 'PropertyCountProcessor'
# - 'ClassCountProcessor'
# - 'PackageCountProcessor'
# - 'KtFileCountProcessor'
console-reports:
active: true
exclude:
# - 'ProjectStatisticsReport'
# - 'ComplexityReport'
# - 'NotificationReport'
# - 'FindingsReport'
- "FileBasedFindingsReport"
# - 'BuildFailureReport'
comments:
active: true
CommentOverPrivateFunction:
active: true
CommentOverPrivateProperty:
active: true
EndOfSentenceFormat:
active: true
endOfSentenceFormat: ([.?!][ \t\n\r\f<])|([.?!:]$)
UndocumentedPublicClass:
active: true
excludes:
[
"**/test/**",
"**/androidTest/**",
"**/*.Test.kt",
"**/*.Spec.kt",
"**/*.Spek.kt",
]
searchInNestedClass: true
searchInInnerClass: true
searchInInnerObject: true
searchInInnerInterface: true
UndocumentedPublicFunction:
active: true
excludes:
[
"**/test/**",
"**/androidTest/**",
"**/*.Test.kt",
"**/*.Spec.kt",
"**/*.Spek.kt",
]
UndocumentedPublicProperty:
active: true
excludes:
[
"**/test/**",
"**/androidTest/**",
"**/*.Test.kt",
"**/*.Spec.kt",
"**/*.Spek.kt",
]
complexity:
active: true
ComplexCondition:
active: true
threshold: 4
ComplexInterface:
active: true
threshold: 10
includeStaticDeclarations: false
CyclomaticComplexMethod:
active: true
threshold: 10
ignoreSingleWhenExpression: true
ignoreSimpleWhenEntries: true
LabeledExpression:
active: true
ignoredLabels: []
LargeClass:
active: true
threshold: 600
LongMethod:
active: true
threshold: 60
LongParameterList:
active: true
functionThreshold: 6
constructorThreshold: 6
ignoreDefaultParameters: true
MethodOverloading:
active: true
threshold: 6
NestedBlockDepth:
active: true
threshold: 4
StringLiteralDuplication:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
threshold: 3
ignoreAnnotation: true
excludeStringsWithLessThan5Characters: true
ignoreStringsRegex: "$^"
TooManyFunctions:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
thresholdInFiles: 11
thresholdInClasses: 11
thresholdInInterfaces: 11
thresholdInObjects: 11
thresholdInEnums: 11
ignoreDeprecated: true
ignorePrivate: true
empty-blocks:
active: true
EmptyCatchBlock:
active: true
allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
EmptyClassBlock:
active: true
EmptyDefaultConstructor:
active: true
EmptyDoWhileBlock:
active: true
EmptyElseBlock:
active: true
EmptyFinallyBlock:
active: true
EmptyForBlock:
active: true
EmptyFunctionBlock:
active: true
ignoreOverridden: true
EmptyIfBlock:
active: true
EmptyInitBlock:
active: true
EmptyKtFile:
active: true
EmptySecondaryConstructor:
active: true
EmptyWhenBlock:
active: true
EmptyWhileBlock:
active: true
exceptions:
active: true
ExceptionRaisedInUnexpectedLocation:
active: true
methodNames:
- toString
- hashCode
- equals
- finalize
InstanceOfCheckForException:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
NotImplementedDeclaration:
active: true
PrintStackTrace:
active: true
RethrowCaughtException:
active: true
ReturnFromFinally:
active: true
ignoreLabeled: true
SwallowedException:
active: true
ignoredExceptionTypes:
- InterruptedException
- NumberFormatException
- ParseException
- MalformedURLException
allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
ThrowingExceptionFromFinally:
active: true
ThrowingExceptionInMain:
active: true
ThrowingExceptionsWithoutMessageOrCause:
active: true
exceptions:
- IllegalArgumentException
- IllegalStateException
- IOException
ThrowingNewInstanceOfSameException:
active: true
TooGenericExceptionCaught:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
exceptionNames:
- ArrayIndexOutOfBoundsException
- Error
- Exception
- IllegalMonitorStateException
- NullPointerException
- IndexOutOfBoundsException
- RuntimeException
- Throwable
allowedExceptionNameRegex: "^(_|(ignore|expected).*)"
TooGenericExceptionThrown:
active: true
exceptionNames:
- Error
- Exception
- Throwable
- RuntimeException
formatting:
active: false
android: false
autoCorrect: true
AnnotationOnSeparateLine:
active: true
autoCorrect: true
ChainWrapping:
active: true
autoCorrect: true
CommentSpacing:
active: true
autoCorrect: true
Filename:
active: true
FinalNewline:
active: true
autoCorrect: true
ImportOrdering:
active: true
autoCorrect: true
Indentation:
active: true
autoCorrect: true
indentSize: 4
MaximumLineLength:
active: true
maxLineLength: 120
ModifierOrdering:
active: true
autoCorrect: true
MultiLineIfElse:
active: true
autoCorrect: true
NoBlankLineBeforeRbrace:
active: true
autoCorrect: true
NoConsecutiveBlankLines:
active: true
autoCorrect: true
NoEmptyClassBody:
active: true
autoCorrect: true
NoLineBreakAfterElse:
active: true
autoCorrect: true
NoLineBreakBeforeAssignment:
active: true
autoCorrect: true
NoMultipleSpaces:
active: true
autoCorrect: true
NoSemicolons:
active: true
autoCorrect: true
NoTrailingSpaces:
active: true
autoCorrect: true
NoUnitReturn:
active: true
autoCorrect: true
NoUnusedImports:
active: true
autoCorrect: true
NoWildcardImports:
active: true
autoCorrect: true
PackageName:
active: true
autoCorrect: true
ParameterListWrapping:
active: true
autoCorrect: true
indentSize: 4
SpacingAroundColon:
active: true
autoCorrect: true
SpacingAroundComma:
active: true
autoCorrect: true
SpacingAroundCurly:
active: true
autoCorrect: true
SpacingAroundDot:
active: true
autoCorrect: true
SpacingAroundKeyword:
active: true
autoCorrect: true
SpacingAroundOperators:
active: true
autoCorrect: true
SpacingAroundParens:
active: true
autoCorrect: true
SpacingAroundRangeOperator:
active: true
autoCorrect: true
StringTemplate:
active: true
autoCorrect: true
naming:
active: true
ClassNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
classPattern: "[A-Z$][a-zA-Z0-9$]*"
ConstructorParameterNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
parameterPattern: "[a-z][A-Za-z0-9]*"
privateParameterPattern: "[a-z][A-Za-z0-9]*"
excludeClassPattern: "$^"
EnumNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
enumEntryPattern: "^[A-Z][_a-zA-Z0-9]*"
ForbiddenClassName:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
forbiddenName: []
FunctionMaxLength:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
maximumFunctionNameLength: 30
FunctionMinLength:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
minimumFunctionNameLength: 3
FunctionNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
functionPattern: "^([a-z$][a-zA-Z$0-9]*)|(`.*`)$"
excludeClassPattern: "$^"
FunctionParameterNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
parameterPattern: "[a-z][A-Za-z0-9]*"
excludeClassPattern: "$^"
ignoreOverridden: true
InvalidPackageDeclaration:
active: true
rootPackage: ""
MatchingDeclarationName:
active: true
MemberNameEqualsClassName:
active: true
ignoreOverridden: true
ObjectPropertyNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
constantPattern: "[A-Za-z][_A-Za-z0-9]*"
propertyPattern: "[A-Za-z][_A-Za-z0-9]*"
privatePropertyPattern: "(_)?[A-Za-z][_A-Za-z0-9]*"
PackageNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
packagePattern: '^[a-z]+(\.[a-z][A-Za-z0-9]*)*$'
TopLevelPropertyNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
constantPattern: "[A-Z][_A-Z0-9]*"
propertyPattern: "[A-Za-z][_A-Za-z0-9]*"
privatePropertyPattern: "_?[A-Za-z][_A-Za-z0-9]*"
VariableMaxLength:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
maximumVariableNameLength: 64
VariableMinLength:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
minimumVariableNameLength: 1
VariableNaming:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
variablePattern: "[a-z][A-Za-z0-9]*"
privateVariablePattern: "(_)?[a-z][A-Za-z0-9]*"
excludeClassPattern: "$^"
performance:
active: true
ArrayPrimitive:
active: true
ForEachOnRange:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
SpreadOperator:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
UnnecessaryTemporaryInstantiation:
active: true
potential-bugs:
active: true
Deprecation:
active: true
EqualsAlwaysReturnsTrueOrFalse:
active: true
EqualsWithHashCodeExist:
active: true
ExplicitGarbageCollectionCall:
active: true
HasPlatformType:
active: true
InvalidRange:
active: true
IteratorHasNextCallsNextMethod:
active: true
IteratorNotThrowingNoSuchElementException:
active: true
LateinitUsage:
active: false
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
ignoreAnnotated: []
ignoreOnClassesPattern: ""
UnconditionalJumpStatementInLoop:
active: true
UnreachableCode:
active: true
UnsafeCallOnNullableType:
active: true
UnsafeCast:
active: true
UselessPostfixExpression:
active: true
WrongEqualsTypeParameter:
active: true
style:
active: false
CollapsibleIfStatements:
active: true
DataClassContainsFunctions:
active: true
conversionFunctionPrefix: ["to"]
DataClassShouldBeImmutable:
active: true
EqualsNullCall:
active: true
EqualsOnSignatureLine:
active: true
ExplicitItLambdaParameter:
active: true
ExpressionBodySyntax:
active: false
includeLineWrapping: false
ForbiddenComment:
active: true
comments:
- reason: "Forbidden FIXME todo marker in comment, please fix the problem."
value: "FIXME:"
- reason: "Forbidden STOPSHIP todo marker in comment, please address the problem before shipping the code."
value: "STOPSHIP:"
- reason: "Forbidden TODO todo marker in comment, please do the changes, or add Jira ticket reference and suppress the warning."
value: "TODO:"
allowedPatterns: ""
ForbiddenImport:
active: true
imports: []
forbiddenPatterns: ""
ForbiddenVoid:
active: true
ignoreOverridden: false
ignoreUsageInGenerics: true
FunctionOnlyReturningConstant:
active: true
ignoreOverridableFunction: true
excludedFunctions: ["describeContents"]
ignoreAnnotated: ["dagger.Provides"]
LoopWithTooManyJumpStatements:
active: true
maxJumpCount: 1
MagicNumber:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
ignoreNumbers:
- "-1"
- "0"
- "1"
- "2"
ignoreHashCodeFunction: true
ignorePropertyDeclaration: false
ignoreConstantDeclaration: true
ignoreCompanionObjectPropertyDeclaration: true
ignoreAnnotation: false
ignoreNamedArgument: true
ignoreEnums: false
ignoreRanges: false
BracesOnIfStatements:
singleLine: consistent
multiLine: always
MaxLineLength:
active: true
maxLineLength: 120
excludePackageStatements: true
excludeImportStatements: true
excludeCommentStatements: false
MayBeConst:
active: true
ModifierOrder:
active: true
NestedClassesVisibility:
active: true
NewLineAtEndOfFile:
active: false
NoTabs:
active: true
OptionalAbstractKeyword:
active: true
OptionalUnit:
active: true
BracesOnWhenStatements:
active: true
PreferToOverPairSyntax:
active: true
ProtectedMemberInFinalClass:
active: true
RedundantExplicitType:
active: true
RedundantVisibilityModifierRule:
active: true
ReturnCount:
active: true
max: 2
excludedFunctions: ["equals"]
excludeLabeled: false
excludeReturnFromLambda: true
excludeGuardClauses: true
SafeCast:
active: true
SerialVersionUIDInSerializableClass:
active: true
SpacingBetweenPackageAndImports:
active: true
ThrowsCount:
active: true
max: 2
TrailingWhitespace:
active: true
UnderscoresInNumericLiterals:
active: true
acceptableLength: 5
UnnecessaryAbstractClass:
active: true
ignoreAnnotated: ["dagger.Module"]
UnnecessaryApply:
active: true
UnnecessaryInheritance:
active: true
UnnecessaryLet:
active: true
UnnecessaryParentheses:
active: true
UntilInsteadOfRangeTo:
active: true
UnusedImports:
active: true
UnusedPrivateClass:
active: true
UnusedPrivateMember:
active: true
allowedNames: "(_|ignored|expected|serialVersionUID)"
UseArrayLiteralsInAnnotations:
active: true
UseCheckOrError:
active: true
UseDataClass:
active: true
ignoreAnnotated: [""]
allowVars: true
UseIfInsteadOfWhen:
active: true
UseRequire:
active: true
UselessCallOnNotNull:
active: true
UtilityClassWithPublicConstructor:
active: true
VarCouldBeVal:
active: true
WildcardImport:
active: true
excludes:
- "**/test/**"
- "**/androidTest/**"
- "**/*.Test.kt"
- "**/*.Spec.kt"
- "**/*.Spek.kt"
excludeImports:
- java.util.*
- kotlinx.android.synthetic.*