Elixir.Mix.Tasks.Prisma (prisma v0.1.0)

Copy Markdown View Source

Runs Prisma hybrid type and discrepancy analysis on compiled BEAM files.

Command line options

  • --mode - Analysis mode: hybrid (default), gradual, or discrepancy
  • --format - Output format: human (default), oneline, or json
  • --no-color - Disables ANSI color sequences in output
  • --color - Forces ANSI color output
  • --no-warnings - Shows only errors (a warning is something the code handles, or that may fail on another system)
  • --warnings-as-errors - Fails on warnings too (by default only errors fail)
  • --no-oxbow - Disables oxbow (dead/unreachable code and unused clauses) analysis
  • --oxbow - Enables oxbow analysis (default: enabled)
  • --pplt <path> - Path to extra .pplt files (can be repeated)
  • --env <name> - Mix environment (default: dev or $MIX_ENV)

Configuration

In mix.exs:

def project do
  [
    ...,
    prisma: [
      mode: :hybrid,
      format: :human,
      oxbow: true,
      color: :auto,
      pplts: []
    ]
  ]
end

Summary

Functions

'__info__'/1

-spec '__info__'(atom()) -> term().

'__mix_recompile__?'()

-spec '__mix_recompile__?'() -> boolean().

parse_args(RawArgs)

-spec parse_args([binary() | string()]) -> map().

parse_mix_config(Conf)

-spec parse_mix_config([term()]) -> map().

resolve_ebin_dirs(Targets)

-spec resolve_ebin_dirs([file:filename_all()]) -> [string()].

resolve_ebin_dirs/2

-spec resolve_ebin_dirs([file:filename_all()], map()) -> [string()].

run(RawArgs)

-spec run([binary() | string()]) -> ok.