Repository navigation
Releases
Releases · Cratis/Arc.Elixir
Release v1.1.0
Arc now ships a compile-time analyzer, the Elixir counterpart of the ARC Roslyn analyzers. It checks your code against Arc rules on every compile and reports Mix diagnostics in the terminal, in CI and in the editor.
Added
- A
:arc_analyzercompiler. Turn it on withcompilers: [:arc_analyzer] ++ Mix.compilers()inmix.exs, or runmix igniter.install cratis_arc. The installer is safe to run twice and updates every app of an umbrella. - Rules
ARCE0001(a module declares a schema andhandle/2but does notuse Arc.Command),ARCE0002(a command or query is both anonymous and restricted),ARCE0003(an@observequery has neither:watchnor:topics),ARCE0004(a command appends to Chronicle itself) andARCE0005(two commands or queries resolve to the same route). - Configuration with
config :cratis_arc, :analyzer: a globalenabledswitch and a severity per rule (:error,:warning,:infoor:off).@arc_analyzer ignore: ["ARCE0001"]turns a rule off for one module, andmix compile --warnings-as-errorsfails on warnings from the analyzer. - A Code analysis section in the documentation with a page for every rule, and a changelog.
Changed
- Builds that add the analyzer can report new warnings after an upgrade that adds a rule.
ARCE0002andARCE0005default to errors; set a rule to:warningor:offunderconfig :cratis_arc, :analyzerwhile you fix the findings.
Release v1.0.0
Arc for Elixir 1.0.0: SSE hub, tenancy, MongoDB, filters, vertical slices and the showcase sample. Published to Hex as cratis_arc 1.0.0.
Release v0.1.0
Brings Arc for Elixir closer to Arc on .NET.
Added
- A multiplexed Server-Sent Events hub beside the WebSocket hub, and delta transfer mode on both
- Tenancy resolvers that select the tenant and scope the Chronicle namespace
cratis_arc_mongodb: conventions, tenant-aware databases, connection resolution and change stream observationArc.Filterfor cross-cutting authorization andArc.Watchas a source of observable changes- A co-located proxy layout (
layout: :colocated) for vertical slices - The showcase sample, a
run.shin every sample and a Samples README - Documentation for tenancy, MongoDB and vertical slices
Fixed
- The Phoenix sample builds and serves its React app from
./run.sh