     |> Path.wildcard()
     |> Enum.filter(&(not (File.dir?(&1) or compiled_file?(&1))))
     |> Enum.map(&map_file(&1, input_path))
-  end
-
-  defp filter_digested_files(output_path) do
-    output_path
-    |> Path.join("**")
-    |> Path.wildcard()
-    |> Enum.filter(&uncompressed_digested_file?/1)
-    |> Enum.map(&map_digested_file(&1, output_path))
   end
 
   defp load_compile_digests(output_path) do

    end
  end

  defp migrate_manifest(%{"version" => 1} = manifest, _output_path), do: manifest

  defp migrate_manifest(latest, output_path) do
    digests =
      output_path
      |> filter_digested_files
      |> generate_new_digests()

    @empty_manifest
    |> Map.put("digests", digests)
    |> Map.put("latest", latest)
  end

  defp generate_manifest(files) do
    {files,
     Map.new(
       files,
       &{
         manifest_join(&1.relative_path, &1.filename),
         manifest_join(&1.relative_path, &1.digested_filename)
       }
     )}
  end

  defp add_digested_content({files, manifest}) do
    {Enum.map(files, fn file ->
       Map.put(file, :digested_content, digested_contents(file, manifest))
     end), manifest}
  end

  defp save_manifest(files, latest, old_digests, output_path) do

    if File.exists?(input_path) do
      unless File.exists?(output_path), do: File.mkdir_p!(output_path)

      files = filter_files(input_path)
      manifest = generate_manifest(files)
      digested_files = add_digested_content(files, manifest)

      digests = load_compile_digests(output_path)
      save_manifest(digested_files, manifest, digests, output_path)
