add CI pipeline with credo and dialyzer

mix ci alias: compile --warning-as-errors, format --check-formatted,
credo, dialyzer, test. Credo configured with sensible defaults.
Dialyzer ignore file for false positives (Stripe types, Mix tasks,
ExUnit internals). Credo fixes: map_join, filter consolidation,
nesting extraction, cond→if simplification.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
jamey
2026-02-08 15:19:42 +00:00
parent 518da36c8f
commit eaa4bbb3fa
16 changed files with 328 additions and 59 deletions

View File

@@ -1199,7 +1199,6 @@ defmodule SimpleshopThemeWeb.ShopComponents.Content do
widths
|> Enum.sort()
|> Enum.map(&"#{base}#{separator}#{&1}.#{format} #{&1}w")
|> Enum.join(", ")
|> Enum.map_join(", ", &"#{base}#{separator}#{&1}.#{format} #{&1}w")
end
end

View File

@@ -417,8 +417,7 @@ defmodule SimpleshopThemeWeb.ShopComponents.Product do
gap_class = gap || ""
[base, cols, gap_class, extra_class]
|> Enum.reject(&is_nil/1)
|> Enum.reject(&(&1 == ""))
|> Enum.reject(&(is_nil(&1) or &1 == ""))
|> Enum.join(" ")
end

View File

@@ -10,14 +10,12 @@ defmodule SimpleshopThemeWeb.CheckoutController do
cart_items = Cart.get_from_session(get_session(conn))
hydrated = Cart.hydrate(cart_items)
cond do
hydrated == [] ->
conn
|> put_flash(:error, "Your basket is empty")
|> redirect(to: ~p"/cart")
true ->
create_checkout(conn, hydrated)
if hydrated == [] do
conn
|> put_flash(:error, "Your basket is empty")
|> redirect(to: ~p"/cart")
else
create_checkout(conn, hydrated)
end
end