     unless map == read() do
       lines =
         for {app, rev} <- Enum.sort(map), rev != nil do
-          ~s(  "#{app}": #{inspect rev, limit: :infinity},\n)
+          ~s(  "#{app}": #{inspect(rev, limit: :infinity)},\n)
         end
-      File.write! lockfile(), ["%{\n", lines, "}\n"]
+
+      File.write!(lockfile(), ["%{\n", lines, "}\n"])
       touch_manifest()
     end
+
     :ok
   end
 
   defp lockfile do
-    Mix.Project.config[:lockfile]
+    Mix.Project.config()[:lockfile]
   end
 
   defp assert_no_merge_conflicts_in_lockfile(lockfile, info) do
     if String.contains?(info, ~w(<<<<<<< ======= >>>>>>>)) do
-      Mix.raise "Your #{lockfile} contains merge conflicts. Please resolve the conflicts " <>
-                "and run the command again"
+      Mix.raise(
+        "Your #{lockfile} contains merge conflicts. Please resolve the conflicts " <>
+          "and run the command again"
+      )
     end
   end
 end

  The manifest is used to check if the lockfile
  itself is up to date.
  """
  def manifest(path \\ Mix.Project.manifest_path) do
    Path.join(path, @manifest)
  end


  Touches the manifest file to force recompilation.
  """
  def touch_manifest do
    path = Mix.Project.manifest_path()
    File.mkdir_p!(path)
    File.touch!(manifest(path))
  end
