diff --git a/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ConfigLoaderBuilder.kt b/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ConfigLoaderBuilder.kt index 1fe8e723..7f458bb3 100644 --- a/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ConfigLoaderBuilder.kt +++ b/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ConfigLoaderBuilder.kt @@ -31,6 +31,7 @@ import com.sksamuel.hoplite.sources.EnvironmentVariableOverridePropertySource import com.sksamuel.hoplite.sources.SystemPropertiesPropertySource import com.sksamuel.hoplite.sources.UserSettingsPropertySource import com.sksamuel.hoplite.sources.XdgConfigPropertySource +import com.sksamuel.hoplite.transformer.PathNormalizer import java.util.ServiceLoader class ConfigLoaderBuilder private constructor() { @@ -423,7 +424,9 @@ fun defaultPreprocessors(): List = listOf( LookupPreprocessor, ) -fun defaultNodeTransformers(): List = emptyList() +fun defaultNodeTransformers(): List = listOf( + PathNormalizer, +) fun defaultResolvers(): List = listOf( EnvVarContextResolver, @@ -438,8 +441,6 @@ fun defaultResolvers(): List = listOf( fun defaultParamMappers(): List = listOf( DefaultParamMapper, LowercaseParamMapper, - SnakeCaseParamMapper, - KebabCaseParamMapper, AliasAnnotationParamMapper, ) diff --git a/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ParameterMapper.kt b/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ParameterMapper.kt index 5ce721d7..6f2f7e86 100644 --- a/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ParameterMapper.kt +++ b/hoplite-core/src/main/kotlin/com/sksamuel/hoplite/ParameterMapper.kt @@ -62,6 +62,8 @@ object AliasAnnotationParamMapper : ParameterMapper { * the snake case equivalent. * * For example, camelCasePilsen will become snake_case_pilsen. + * + * When using the [PathNormalizer] (which is enabled by default), this mapper is unnecessary. */ object SnakeCaseParamMapper : ParameterMapper { @@ -86,6 +88,8 @@ object SnakeCaseParamMapper : ParameterMapper { * the kebab case equivalent. * * For example, camelCasePilsen will become kebab-case-pilsen. + * + * When using the [PathNormalizer] (which is enabled by default), this mapper is unnecessary. */ object KebabCaseParamMapper : ParameterMapper {