def step1[F[_]]()

in modules/core/src/main/scala/org/scalasteward/core/application/Context.scala [124:199]


  def step1[F[_]](config: Config)(implicit
      client: Client[F],
      urlCheckerClient: UrlCheckerClient[F],
      fileAlg: FileAlg[F],
      logger: Logger[F],
      processAlg: ProcessAlg[F],
      workspaceAlg: WorkspaceAlg[F],
      F: Async[F]
  ): F[Context[F]] = {
    implicit val httpJsonClient: HttpJsonClient[F] = new HttpJsonClient[F]()
    implicit val forgeAuthAlg: ForgeAuthAlg[F] = ForgeAuthAlg.create[F](config)
    for {
      _ <- F.unit
      artifactMigrationsLoader0 = new ArtifactMigrationsLoader[F]
      artifactMigrationsFinder0 <- artifactMigrationsLoader0.createFinder(config.artifactCfg)
      scalafixMigrationsLoader0 = new ScalafixMigrationsLoader[F]
      scalafixMigrationsFinder0 <- scalafixMigrationsLoader0.createFinder(config.scalafixCfg)
      repoConfigLoader0 = new RepoConfigLoader[F]
      maybeGlobalRepoConfig <- repoConfigLoader0.loadGlobalRepoConfig(config.repoConfigCfg)
      urlChecker0 <- UrlChecker.create[F](config, forgeAuthAlg.authenticateApi)
      kvsPrefix = Some(config.forgeCfg.tpe.asString)
      pullRequestsStore <- JsonKeyValueStore
        .create[F, Repo, Map[Uri, PullRequestRepository.Entry]]("pull_requests", "2", kvsPrefix)
        .flatMap(CachingKeyValueStore.wrap(_))
      refreshErrorStore <- JsonKeyValueStore
        .create[F, Repo, RefreshErrorAlg.Entry]("refresh_error", "1", kvsPrefix)
      repoCacheStore <- JsonKeyValueStore
        .create[F, Repo, RepoCache]("repo_cache", "1", kvsPrefix)
      versionsStore <- JsonKeyValueStore
        .create[F, VersionsCache.Key, VersionsCache.Value]("versions", "2")
    } yield {
      implicit val artifactMigrationsLoader: ArtifactMigrationsLoader[F] = artifactMigrationsLoader0
      implicit val artifactMigrationsFinder: ArtifactMigrationsFinder = artifactMigrationsFinder0
      implicit val scalafixMigrationsLoader: ScalafixMigrationsLoader[F] = scalafixMigrationsLoader0
      implicit val scalafixMigrationsFinder: ScalafixMigrationsFinder = scalafixMigrationsFinder0
      implicit val urlChecker: UrlChecker[F] = urlChecker0
      implicit val dateTimeAlg: DateTimeAlg[F] = DateTimeAlg.create[F]
      implicit val repoConfigAlg: RepoConfigAlg[F] = new RepoConfigAlg[F](maybeGlobalRepoConfig)
      implicit val filterAlg: FilterAlg[F] = new FilterAlg[F]
      implicit val gitAlg: GitAlg[F] = GenGitAlg.create[F](config)
      implicit val hookExecutor: HookExecutor[F] = new HookExecutor[F]
      implicit val repoCacheRepository: RepoCacheRepository[F] =
        new RepoCacheRepository[F](repoCacheStore)
      implicit val forgeApiAlg: ForgeApiAlg[F] = ForgeSelection
        .forgeApiAlg[F](config.forgeCfg, config.forgeSpecificCfg, forgeAuthAlg.authenticateApi)
      implicit val forgeRepoAlg: ForgeRepoAlg[F] = new ForgeRepoAlg[F](config)
      implicit val forgeCfg: ForgeCfg = config.forgeCfg
      implicit val updateInfoUrlFinder: UpdateInfoUrlFinder[F] = new UpdateInfoUrlFinder[F]
      implicit val pullRequestRepository: PullRequestRepository[F] =
        new PullRequestRepository[F](pullRequestsStore)
      implicit val scalafixCli: ScalafixCli[F] = new ScalafixCli[F]
      implicit val scalafmtAlg: ScalafmtAlg[F] = new ScalafmtAlg[F](config.defaultResolvers)
      implicit val selfCheckAlg: SelfCheckAlg[F] = new SelfCheckAlg[F](config)
      implicit val coursierAlg: CoursierAlg[F] = CoursierAlg.create[F]
      implicit val versionsCache: VersionsCache[F] =
        new VersionsCache[F](config.cacheTtl, versionsStore)
      implicit val updateAlg: UpdateAlg[F] = new UpdateAlg[F]
      implicit val gradleAlg: GradleAlg[F] = new GradleAlg[F](config.defaultResolvers)
      implicit val mavenAlg: MavenAlg[F] = new MavenAlg[F](config)
      implicit val sbtAlg: SbtAlg[F] =
        new SbtAlg[F](config.defaultResolvers, config.ignoreOptsFiles)
      implicit val scalaCliAlg: ScalaCliAlg[F] = new ScalaCliAlg[F]
      implicit val millAlg: MillAlg[F] = new MillAlg[F](config.defaultResolvers)
      implicit val buildToolDispatcher: BuildToolDispatcher[F] = new BuildToolDispatcher[F]
      implicit val refreshErrorAlg: RefreshErrorAlg[F] =
        new RefreshErrorAlg[F](refreshErrorStore, config.refreshBackoffPeriod)
      implicit val repoCacheAlg: RepoCacheAlg[F] = new RepoCacheAlg[F](config)
      implicit val scannerAlg: ScannerAlg[F] = new ScannerAlg[F]
      implicit val editAlg: EditAlg[F] = new EditAlg[F]
      implicit val nurtureAlg: NurtureAlg[F] = new NurtureAlg[F](config.forgeCfg)
      implicit val pruningAlg: PruningAlg[F] = new PruningAlg[F]
      implicit val reposFilesLoader: ReposFilesLoader[F] = new ReposFilesLoader[F]
      implicit val stewardAlg: StewardAlg[F] = new StewardAlg[F](config)
      new Context[F]
    }
  }