Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Active rules by default #4875

Merged
merged 1 commit into from Jun 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions config/detekt/detekt.yml
Expand Up @@ -142,6 +142,11 @@ potential-bugs:
active: true
MapGetWithNotNullAssertionOperator:
active: true
MissingPackageDeclaration:
active: true
excludes:
- '**/*.kts'
- '**/build-logic/**'
UnconditionalJumpStatementInLoop:
active: true
UnreachableCatchBlock:
Expand Down
60 changes: 30 additions & 30 deletions detekt-core/src/main/resources/default-detekt-config.yml
Expand Up @@ -162,19 +162,19 @@ coroutines:
GlobalCoroutineUsage:
active: false
InjectDispatcher:
active: false
active: true
dispatcherNames:
- 'IO'
- 'Default'
- 'Unconfined'
RedundantSuspendModifier:
active: false
active: true
SleepInsteadOfDelay:
active: false
active: true
SuspendFunWithCoroutineScopeReceiver:
active: false
SuspendFunWithFlowReturnType:
active: false
active: true

empty-blocks:
active: true
Expand Down Expand Up @@ -221,7 +221,7 @@ exceptions:
- 'hashCode'
- 'toString'
InstanceOfCheckForException:
active: false
active: true
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
NotImplementedDeclaration:
active: false
Expand Down Expand Up @@ -321,7 +321,7 @@ naming:
excludeClassPattern: '$^'
ignoreOverridden: true
InvalidPackageDeclaration:
active: false
active: true
rootPackage: ''
requireRootInDeclaration: false
LambdaParameterNaming:
Expand All @@ -334,7 +334,7 @@ naming:
active: true
ignoreOverridden: true
NoNameShadowing:
active: false
active: true
NonBooleanPropertyPrefixedWithIs:
active: false
ObjectPropertyNaming:
Expand Down Expand Up @@ -379,7 +379,7 @@ performance:
potential-bugs:
active: true
AvoidReferentialEquality:
active: false
active: true
forbiddenTypePatterns:
- 'kotlin.String'
CastToNullableType:
Expand All @@ -389,7 +389,7 @@ potential-bugs:
DontDowncastCollectionTypes:
active: false
DoubleMutabilityForCollection:
active: false
active: true
mutableTypes:
- 'kotlin.collections.MutableList'
- 'kotlin.collections.MutableMap'
Expand All @@ -412,9 +412,9 @@ potential-bugs:
ExplicitGarbageCollectionCall:
active: true
HasPlatformType:
active: false
active: true
IgnoredReturnValue:
active: false
active: true
restrictToAnnotatedMethods: true
returnValueAnnotations:
- '*.CheckResult'
Expand All @@ -438,9 +438,9 @@ potential-bugs:
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
ignoreOnClassesPattern: ''
MapGetWithNotNullAssertionOperator:
active: false
active: true
MissingPackageDeclaration:
active: false
active: true
excludes: ['**/*.kts']
MissingWhenCase:
active: true
Expand All @@ -458,7 +458,7 @@ potential-bugs:
UnnecessarySafeCall:
active: true
UnreachableCatchBlock:
active: false
active: true
UnreachableCode:
active: true
UnsafeCallOnNullableType:
Expand All @@ -467,9 +467,9 @@ potential-bugs:
UnsafeCast:
active: true
UnusedUnaryOperator:
active: false
active: true
UselessPostfixExpression:
active: false
active: true
WrongEqualsTypeParameter:
active: true

Expand All @@ -487,7 +487,7 @@ style:
DataClassShouldBeImmutable:
active: false
DestructuringDeclarationWithTooManyEntries:
active: false
active: true
maxDestructuringEntries: 3
EqualsNullCall:
active: true
Expand All @@ -496,7 +496,7 @@ style:
ExplicitCollectionElementAccessMethod:
active: false
ExplicitItLambdaParameter:
active: false
active: true
ExpressionBodySyntax:
active: false
includeLineWrapping: false
Expand Down Expand Up @@ -524,7 +524,7 @@ style:
- '*.internal'
- '*.internal.*'
ForbiddenVoid:
active: false
active: true
ignoreOverridden: false
ignoreUsageInGenerics: false
FunctionOnlyReturningConstant:
Expand Down Expand Up @@ -584,7 +584,7 @@ style:
NullableBooleanCheck:
active: false
ObjectLiteralToLambda:
active: false
active: true
OptionalAbstractKeyword:
active: true
OptionalUnit:
Expand All @@ -598,7 +598,7 @@ style:
RedundantExplicitType:
active: false
RedundantHigherOrderMapUsage:
active: false
active: true
RedundantVisibilityModifierRule:
active: false
ReturnCount:
Expand Down Expand Up @@ -633,7 +633,7 @@ style:
UnnecessaryBackticks:
active: false
UnnecessaryFilter:
active: false
active: true
UnnecessaryInheritance:
active: true
UnnecessaryInnerClass:
Expand All @@ -652,13 +652,13 @@ style:
active: true
allowedNames: '(_|ignored|expected|serialVersionUID)'
UseAnyOrNoneInsteadOfFind:
active: false
active: true
UseArrayLiteralsInAnnotations:
active: false
active: true
UseCheckNotNull:
active: false
active: true
UseCheckOrError:
active: false
active: true
UseDataClass:
active: false
allowVars: false
Expand All @@ -669,13 +669,13 @@ style:
UseIfInsteadOfWhen:
active: false
UseIsNullOrEmpty:
active: false
active: true
UseOrEmpty:
active: false
active: true
UseRequire:
active: false
active: true
UseRequireNotNull:
active: false
active: true
UselessCallOnNotNull:
active: true
UtilityClassWithPublicConstructor:
Expand Down
Expand Up @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.Configuration
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.rules.fqNameOrNull
Expand Down Expand Up @@ -39,6 +40,7 @@ import org.jetbrains.kotlin.types.typeUtil.supertypes
* </compliant>
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class InjectDispatcher(config: Config) : Rule(config) {

@Configuration("The names of dispatchers to detect by this rule")
Expand Down
Expand Up @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import org.jetbrains.kotlin.descriptors.FunctionDescriptor
import org.jetbrains.kotlin.descriptors.Modality
Expand Down Expand Up @@ -54,6 +55,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
*
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class RedundantSuspendModifier(config: Config) : Rule(config) {

override val issue = Issue(
Expand Down
Expand Up @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import org.jetbrains.kotlin.com.intellij.psi.PsiElement
import org.jetbrains.kotlin.psi.KtCallExpression
Expand Down Expand Up @@ -39,6 +40,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameOrNull
*
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class SleepInsteadOfDelay(config: Config = Config.empty) : Rule(config) {
override val issue = Issue(
javaClass.simpleName,
Expand Down
Expand Up @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.rules.fqNameOrNull
import org.jetbrains.kotlin.lexer.KtTokens
Expand Down Expand Up @@ -59,6 +60,7 @@ import org.jetbrains.kotlin.types.typeUtil.supertypes
*
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class SuspendFunWithFlowReturnType(config: Config) : Rule(config) {

override val issue = Issue(
Expand Down
Expand Up @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.Configuration
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.api.internal.SimpleGlob
Expand All @@ -34,6 +35,7 @@ import org.jetbrains.kotlin.resolve.calls.util.getType
* </compliant>
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class AvoidReferentialEquality(config: Config) : Rule(config) {

override val issue = Issue(
Expand Down
Expand Up @@ -8,6 +8,7 @@ import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.Configuration
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.rules.fqNameOrNull
Expand Down Expand Up @@ -43,6 +44,7 @@ import org.jetbrains.kotlin.resolve.BindingContext
* </compliant>
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class DoubleMutabilityForCollection(config: Config = Config.empty) : Rule(config) {

override val defaultRuleIdAliases: Set<String> = setOf("DoubleMutability")
Expand Down
Expand Up @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import org.jetbrains.kotlin.descriptors.CallableDescriptor
import org.jetbrains.kotlin.psi.KtCallableDeclaration
Expand Down Expand Up @@ -38,6 +39,7 @@ import org.jetbrains.kotlin.types.isFlexible
*
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class HasPlatformType(config: Config) : Rule(config) {

override val issue = Issue(
Expand Down
Expand Up @@ -9,6 +9,7 @@ import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.config
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.Configuration
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.api.simplePatternToRegex
Expand Down Expand Up @@ -37,6 +38,7 @@ import org.jetbrains.kotlin.types.typeUtil.isUnit
* </compliant>
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class IgnoredReturnValue(config: Config = Config.empty) : Rule(config) {

override val issue: Issue = Issue(
Expand Down
Expand Up @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import org.jetbrains.kotlin.lexer.KtTokens
import org.jetbrains.kotlin.name.FqName
import org.jetbrains.kotlin.psi.KtPostfixExpression
Expand Down Expand Up @@ -42,6 +43,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.fqNameSafe
* map.getOrElse("key", { "" })
* </compliant>
*/
@ActiveByDefault(since = "1.21.0")
class MapGetWithNotNullAssertionOperator(config: Config) : Rule(config) {

override val issue: Issue =
Expand Down
Expand Up @@ -7,12 +7,14 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import org.jetbrains.kotlin.psi.KtFile
import org.jetbrains.kotlin.psi.KtPackageDirective

/**
* Reports when the package declaration is missing.
*/
@ActiveByDefault(since = "1.21.0")
class MissingPackageDeclaration(config: Config = Config.empty) : Rule(config) {

override val issue = Issue(
Expand Down
Expand Up @@ -7,6 +7,7 @@ import io.gitlab.arturbosch.detekt.api.Entity
import io.gitlab.arturbosch.detekt.api.Issue
import io.gitlab.arturbosch.detekt.api.Rule
import io.gitlab.arturbosch.detekt.api.Severity
import io.gitlab.arturbosch.detekt.api.internal.ActiveByDefault
import io.gitlab.arturbosch.detekt.api.internal.RequiresTypeResolution
import io.gitlab.arturbosch.detekt.rules.safeAs
import org.jetbrains.kotlin.descriptors.ClassDescriptor
Expand Down Expand Up @@ -47,6 +48,7 @@ import org.jetbrains.kotlin.resolve.descriptorUtil.isSubclassOf
*
*/
@RequiresTypeResolution
@ActiveByDefault(since = "1.21.0")
class UnreachableCatchBlock(config: Config = Config.empty) : Rule(config) {
override val issue = Issue(
javaClass.simpleName,
Expand Down