Packages
live_svelte
0.4.2
0.18.0
0.18.0-rc0
0.17.4
0.17.3
0.17.2
0.17.1
0.17.0
0.16.0
0.15.0
0.15.0-rc.6
0.15.0-rc.5
0.15.0-rc.4
0.15.0-rc.3
0.15.0-rc.2
0.15.0-rc.1
0.14.1
0.14.0
0.13.3
0.13.3-rc.1
0.13.2
0.13.1
0.13.0
0.12.0
0.11.0
0.10.2
0.10.1
0.10.0
0.9.0
0.9.0-rc2
0.9.0-rc1
0.9.0-rc0
0.8.0
0.7.1
0.7.0
0.6.0
0.5.1
0.5.0
0.5.0-rc0
0.4.2
0.4.2-rc0
0.4.1
0.4.1-rc0
0.4.0
0.3.5
0.3.5-rc1
0.3.5-rc0
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.3.0-rc1
0.3.0-rc0
0.2.0
0.2.0-rc1
0.2.0-rc0
0.1.0
0.1.0-rc5
0.1.0-rc4
0.1.0-rc3
0.1.0-rc2
0.1.0-rc1
0.1.0-rc0
E2E reactivity for Svelte and LiveView
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/configure_esbuild.ex
defmodule Mix.Tasks.LiveSvelte.ConfigureEsbuild do
@moduledoc """
Creates Javascript files to be used by esbuild. Necessary for LiveSvelte to work.
"""
import LiveSvelte.Logger
def run(_) do
log_info("-- Configuring esbuild...")
Mix.Project.deps_paths(depth: 1)
|> Map.fetch!(:live_svelte)
|> Path.join("assets/copy/**/*{.js}")
|> Path.wildcard()
|> Enum.each(fn file ->
split = Path.split(file)
assets_index = Enum.find_index(split, fn item -> item == "assets" end)
path =
split
|> Stream.with_index()
|> Stream.reject(fn {_item, i} -> assets_index > i end)
|> Enum.map(&elem(&1, 0))
|> Enum.reject(&(&1 == "copy"))
|> Path.join()
Mix.Generator.copy_file(file, path)
end)
Mix.Generator.create_directory("assets/svelte")
end
end