Current section

Files

Jump to
Raw

mix.exs

defmodule ReqCassette.MixProject do
use Mix.Project
def project do
[
app: :req_cassette,
version: "0.5.0",
elixir: "~> 1.18",
start_permanent: Mix.env() == :prod,
deps: deps(),
aliases: aliases(),
# Hex
description: "VCR-style record-and-replay library for Req HTTP client",
package: package(),
# Docs
name: "ReqCassette",
source_url: "https://github.com/lostbean/req_cassette",
homepage_url: "https://github.com/lostbean/req_cassette",
docs: docs()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger]
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
{:req, "~> 0.5.15"},
{:plug, "~> 1.18"},
{:jason, "~> 1.4"},
{:req_llm, "~> 1.0.0-rc.7", only: [:dev, :test], runtime: false},
{:bypass, "~> 2.1", only: :test},
{:credo, "~> 1.7", only: [:dev, :test], runtime: false},
{:ex_doc, "~> 0.31", only: :dev, runtime: false}
]
end
def cli do
[preferred_envs: [precommit: :test, ci: :test]]
end
# Aliases for common tasks
defp aliases do
[
precommit: [
"format",
"credo --strict",
"test"
],
ci: [
"format --check-formatted",
"credo --strict",
"test"
]
]
end
defp package do
[
licenses: ["MIT"],
links: %{
"GitHub" => "https://github.com/lostbean/req_cassette"
},
maintainers: ["Edgar Gomes"],
files: ~w(lib .formatter.exs mix.exs README.md LICENSE)
]
end
defp docs do
[
main: "ReqCassette",
extras: [
"docs/guides/templating.md": [title: "Templating Guide"],
"docs/guides/llm-testing.md": [title: "LLM Testing Guide"],
"docs/guides/req-llm-integration.md": [title: "ReqLLM Integration"],
"docs/guides/filtering.md": [title: "Filtering Sensitive Data"],
"docs/MIGRATION_V0.4_TO_V0.5.md": [title: "Migration Guide (v0.4 → v0.5)"],
"docs/MIGRATION_V0.2_TO_V0.3.md": [title: "Migration Guide (v0.2 → v0.3)"],
"docs/MIGRATION_V0.1_TO_V0.2.md": [title: "Migration Guide (v0.1 → v0.2)"]
],
formatters: ["html"],
groups_for_extras: [
Guides: ~r/docs\/guides/,
"Migration Guides": ~r/docs\/MIGRATION/
],
groups_for_modules: [
Core: [
ReqCassette,
ReqCassette.Plug,
ReqCassette.Session
],
"Cassette Format": [
ReqCassette.Cassette,
ReqCassette.BodyType
],
Filtering: [
ReqCassette.Filter
]
]
]
end
end