28 lines
735 B
Elixir
28 lines
735 B
Elixir
defmodule Mix.Tasks.Tailwind.Release do
|
|
@latest_version_url "https://api.github.com/repos/tailwindlabs/tailwindcss/releases/latest"
|
|
|
|
def fetch_latest_version! do
|
|
Application.ensure_all_started(:req)
|
|
|
|
Req.get!(@latest_version_url).body["tag_name"]
|
|
|> String.replace_prefix("v", "")
|
|
end
|
|
|
|
def fetch_current_version do
|
|
Application.get_env(:tailwind, :version)
|
|
end
|
|
|
|
def update_config_file!(config_file, current_version, latest_version) do
|
|
config_contents = File.read!(config_file)
|
|
|
|
new_config_contents =
|
|
String.replace(
|
|
config_contents,
|
|
~s(version: "#{current_version}"),
|
|
"version: \"#{latest_version}\""
|
|
)
|
|
|
|
File.write!(config_file, new_config_contents)
|
|
end
|
|
end
|