lib/mix/tasks/tailwind.ex
defmodule Mix.Tasks.Tailwind do
@moduledoc """
Invokes the Tailwind CLI with the given arguments.
Usage:
$ mix tailwind PROFILE TAILWIND_CLI_ARGS
Example:
$ mix tailwind default -i input.css -o output.css
If tailwind is not installed, it is automatically downloaded.
"""
@shortdoc "Invokes tailwind with the profile and args"
use Mix.Task
@impl Mix.Task
def run([profile | args] = all) do
case Tailwind.install_and_run(String.to_atom(profile), args) do
0 -> :ok
status -> Mix.raise("`mix tailwind #{Enum.join(all, " ")}` exited with #{status}")
end
end
def run([]), do: Mix.raise("`mix tailwind` expects the profile as argument")
end