All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.nlopez.compose.rules.detekt.ComposeRuleSetProvider.kt Maven / Gradle / Ivy

There is a newer version: 0.4.19
Show newest version
// Copyright 2023 Nacho Lopez
// SPDX-License-Identifier: Apache-2.0
package io.nlopez.compose.rules.detekt

import io.gitlab.arturbosch.detekt.api.Config
import io.gitlab.arturbosch.detekt.api.RuleSet
import io.gitlab.arturbosch.detekt.api.RuleSetProvider

class ComposeRuleSetProvider : RuleSetProvider {
    override val ruleSetId: String = CUSTOM_RULE_SET_ID

    override fun instance(config: Config): RuleSet = RuleSet(
        CUSTOM_RULE_SET_ID,
        listOf(
            ComposableAnnotationNamingCheck(config),
            CompositionLocalAllowlistCheck(config),
            CompositionLocalNamingCheck(config),
            ContentEmitterReturningValuesCheck(config),
            ContentTrailingLambdaCheck(config),
            DefaultsVisibilityCheck(config),
            LambdaParameterInRestartableEffectCheck(config),
            Material2Check(config),
            ModifierClickableOrderCheck(config),
            ModifierComposableCheck(config),
            ModifierComposedCheck(config),
            ModifierMissingCheck(config),
            ModifierNamingCheck(config),
            ModifierNotUsedAtRootCheck(config),
            ModifierReusedCheck(config),
            ModifierWithoutDefaultCheck(config),
            MultipleContentEmittersCheck(config),
            MutableParametersCheck(config),
            MutableStateAutoboxingCheck(config),
            MutableStateParameterCheck(config),
            NamingCheck(config),
            ParameterNamingCheck(config),
            ParameterOrderCheck(config),
            PreviewAnnotationNamingCheck(config),
            PreviewPublicCheck(config),
            RememberContentMissingCheck(config),
            RememberStateMissingCheck(config),
            UnstableCollectionsCheck(config),
            ViewModelForwardingCheck(config),
            ViewModelInjectionCheck(config),
        ),
    )

    private companion object {
        const val CUSTOM_RULE_SET_ID = "Compose"
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy