in extractor/src/main/scala/org/jetbrains/sbt/extractors/DependenciesExtractor.scala [123:139]
private def getDependencies[T, F](fn: SbtConfiguration => Seq[T])(mapToTargetType: ((T, Seq[Configuration])) => F): Dependencies[F] = {
val prodDependencyToConfigs = forProductionConfigurations(fn)
val testDependencyToConfigs = forTestConfigurations(fn)
val testDependencies = testDependencyToConfigs.map { case (dependency, _) =>
// If a dependency is present in any test configuration, we can immediately set its configuration to compile.
//This is because, in test scopes, sbt does not recognize other scopes, such as `Runtime` or `Provided`.
mapToTargetType(dependency, Seq(Configuration.Compile))
}
val productionDependencies = prodDependencyToConfigs.map { case (dependency, configs) =>
val mapped = mapProductionConfigurations(configs)
mapToTargetType(dependency, mapped)
}
Dependencies(productionDependencies, testDependencies)
}