Packages

Comprehensive reporting extension for Ash Framework

Current section

Files

Jump to
Raw

mix.exs

defmodule AshReports.MixProject do
use Mix.Project
@version "0.1.0"
def project do
[
app: :ash_reports,
version: @version,
elixir: "~> 1.15",
elixirc_paths: elixirc_paths(Mix.env()),
start_permanent: Mix.env() == :prod,
consolidate_protocols: Mix.env() != :dev,
aliases: aliases(),
deps: deps(),
docs: docs(),
package: package(),
dialyzer: [
plt_add_apps: [:mix, :ex_unit],
plt_core_path: "priv/plts",
plt_file: {:no_warn, "priv/plts/dialyzer.plt"}
],
test_coverage: [tool: ExCoveralls],
preferred_cli_env: [
coveralls: :test,
"coveralls.detail": :test,
"coveralls.post": :test,
"coveralls.html": :test,
"coveralls.github": :test
]
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
mod: {AshReports.Application, []},
extra_applications: [:logger]
]
end
# Specifies which paths to compile per environment.
defp elixirc_paths(:test), do: ["lib", "test/support", "test/data"]
defp elixirc_paths(_), do: ["lib"]
# Run "mix help deps" to learn about dependencies.
defp deps do
[
# Core dependencies
{:ash, "~> 3.0"},
{:spark, "~> 2.2"},
# CLDR dependencies for internationalization
{:ex_cldr, "~> 2.40"},
{:ex_cldr_numbers, "~> 2.33"},
{:ex_cldr_dates_times, "~> 2.20"},
{:ex_cldr_currencies, "~> 2.16"},
{:ex_cldr_calendars, "~> 1.26"},
# Translation dependencies
{:gettext, "~> 0.24"},
# Optional dependencies
{:phoenix_live_view, "~> 0.20", optional: true},
# Development and test dependencies
{:sourceror, "~> 1.8", only: [:dev, :test], runtime: false},
{:igniter, "~> 0.5", only: [:dev, :test]},
{:ex_doc, "~> 0.34", only: :dev, runtime: false},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false},
{:excoveralls, "~> 0.18", only: :test},
{:ex_check, "~> 0.12", only: [:dev, :test]},
# Typst integration dependencies
{:typst, "~> 0.1.7"},
{:file_system, "~> 1.0", only: [:dev, :test]},
# Chart generation dependencies (Stage 3)
{:contex, "~> 0.5.0"},
{:statistics, "~> 0.6.3"},
{:timex, "~> 3.7"},
# Phase 5.1 - Interactive Data Visualization dependencies
{:jason, "~> 1.4"},
# Test dependencies
{:mox, "~> 1.1", only: :test},
{:faker, "~> 0.18", only: :test},
{:benchee, "~> 1.3", only: [:dev, :test]},
{:benchee_html, "~> 1.0", only: [:dev, :test]},
{:stream_data, "~> 1.0"},
{:bypass, "~> 2.1", only: :test},
{:phoenix_test, "~> 0.7.1", only: :test, runtime: false}
]
end
defp aliases do
[
setup: ["deps.get", "compile"],
"test.all": ["test", "credo --strict", "dialyzer"],
"test.coverage": ["coveralls.html"]
]
end
defp package do
[
name: "ash_reports",
description: "Comprehensive reporting extension for Ash Framework",
licenses: ["MIT"],
links: %{
"GitHub" => "https://github.com/your-org/ash_reports"
},
maintainers: ["Your Name"]
]
end
defp docs do
[
main: "readme",
source_ref: "v#{@version}",
canonical: "http://hexdocs.pm/ash_reports",
extras: [
"README.md",
"ROADMAP.md": [title: "Roadmap"],
"SECURITY.md": [title: "Security"],
"IMPLEMENTATION_STATUS.md": [title: "Implementation Status"],
"LICENSE": [title: "License"],
# User Guides
"guides/user/getting-started.md": [title: "Getting Started"],
"guides/user/report-creation.md": [title: "Report Creation"],
"guides/user/graphs-and-visualizations.md": [title: "Graphs and Visualizations"],
"guides/user/advanced-features.md": [title: "Advanced Features"],
"guides/user/integration.md": [title: "Integration"],
"guides/user/performance-optimization.md": [title: "Performance Optimization"],
# Developer Guides
"guides/developer/architecture-overview.md": [title: "Architecture Overview"],
"guides/developer/dsl-system.md": [title: "DSL System"],
"guides/developer/data-loading.md": [title: "Data Loading Pipeline"],
"guides/developer/rendering-system.md": [title: "Rendering System"],
"guides/developer/layout-system.md": [title: "Layout System"],
"guides/developer/chart-system.md": [title: "Chart System"],
"guides/developer/typst-pdf-generation.md": [title: "PDF Generation"],
"guides/developer/extending-ash-reports.md": [title: "Extending AshReports"]
],
groups_for_extras: [
"User Guides": ~r/guides\/user\/.*/,
"Developer Guides": ~r/guides\/developer\/.*/
],
groups_for_modules: [
DSL: [
AshReports.Dsl,
AshReports.Dsl.Report,
AshReports.Dsl.Band,
AshReports.Dsl.Column
],
Extensions: [
AshReports.Domain,
AshReports.Resource
],
Transformers: ~r/AshReports.Transformers.*/,
Renderers: ~r/AshReports.Renderers.*/,
Internal: ~r/AshReports.*/
]
]
end
end