File size: 3,530 Bytes
3f219b5
d77a9fd
 
 
 
3f219b5
d77a9fd
 
 
 
 
30233a2
 
 
 
 
 
 
d77a9fd
 
 
 
 
 
 
 
3f219b5
be47c11
d77a9fd
 
 
 
 
 
 
 
 
 
 
 
26f4775
d77a9fd
 
 
 
d4a9888
6e1769e
d77a9fd
 
 
 
 
 
6b373c5
d77a9fd
 
 
 
 
 
 
a3f403b
af27658
489ce65
36e17a1
43ebfdb
8ef5db9
5579301
4d43dfd
48d66fb
ae55843
 
 
 
c066ce6
6ee6b5e
a46ae15
 
 
 
78111fe
 
d77a9fd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0d0d5bb
 
 
 
 
 
d77a9fd
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
defmodule Medicode.MixProject do
  use Mix.Project

  def project do
    [
      app: :medicode,
      version: "0.1.0",
      elixir: "~> 1.14",
      elixirc_paths: elixirc_paths(Mix.env()),
      start_permanent: Mix.env() == :prod,
      aliases: aliases(),
      deps: deps(),
      test_coverage: [
        ignore_modules: [
          ~r"MedicalTranscriptionWeb.Storybook*",
          ~r"Storybook.*"
        ]
      ]
    ]
  end

  # Configuration for the OTP application.
  #
  # Type `mix help compile.app` for more information.
  def application do
    [
      mod: {Medicode.Application, []},
      extra_applications: [:logger, :runtime_tools, :os_mon]
    ]
  end

  # Specifies which paths to compile per environment.
  defp elixirc_paths(:test), do: ["lib", "test/support"]
  defp elixirc_paths(_), do: ["lib"]

  # Specifies your project dependencies.
  #
  # Type `mix help deps` for examples and options.
  defp deps do
    [
      {:argon2_elixir, "~> 3.0"},
      {:phoenix, "~> 1.7.10"},
      {:phoenix_ecto, "~> 4.4"},
      {:ecto_sql, "~> 3.10"},
      {:postgrex, ">= 0.0.0"},
      {:pgvector, "~> 0.2.0"},
      {:phoenix_html, "~> 4.0"},
      {:phoenix_live_reload, "~> 1.2", only: :dev},
      {:phoenix_live_view, "~> 0.20.1"},
      {:floki, ">= 0.30.0", only: :test},
      {:phoenix_live_dashboard, "~> 0.8.2"},
      {:esbuild, "~> 0.8", runtime: Mix.env() == :dev},
      {:tailwind, "~> 0.2.0", runtime: Mix.env() == :dev},
      {:phoenix_storybook, "~> 0.6.0"},
      {:swoosh, "~> 1.3"},
      {:finch, "~> 0.13"},
      {:telemetry_metrics, "~> 0.6"},
      {:telemetry_poller, "~> 1.0"},
      {:gettext, "~> 0.20"},
      {:jason, "~> 1.2"},
      {:dns_cluster, "~> 0.1.1"},
      {:bandit, "~> 1.0"},
      {:credo, "~> 1.7.3", only: [:dev, :test]},
      {:audio_tagger, git: "https://github.com/headwayio/audio_tagger.git"},
      {:progress_bar, "~> 3.0"},
      {:membrane_core, "~> 1.0"},
      {:membrane_raw_audio_format, "~> 0.12.0"},
      {:kino, "~> 0.12.3"},
      {:csv, "~> 3.2"},
      {:chromic_pdf, "~> 1.15"},
      {:req, "~> 0.4.0"},
      {:hackney, "~> 1.8"},
      {:sentry, "~> 8.0"},
      {:ecto_psql_extras, "~> 0.6"},
      {:circular_buffer, "~> 0.4.0"},
      {:tzdata, "~> 1.1"},
      {:gproc, "~> 1.0.0"},
      # NOTE: `override: true` avoids an issue that likely originates
      # from `audio_tagger` depending on a different version of bumblebee:
      # https://elixirforum.com/t/getting-a-weird-error-message-in-mix-ive-not-see-before-because-your-app-depends-on-xxx-empty/54475/8
      {:bumblebee, "~> 0.5.3", override: true},
      {:flame, "~> 0.1.12"}
    ]
  end

  # Aliases are shortcuts or tasks specific to the current project.
  # For example, to install project dependencies and perform other setup tasks, run:
  #
  #     $ mix setup
  #
  # See the documentation for `Mix` for more info on aliases.
  defp aliases do
    [
      setup: ["deps.get", "ecto.setup", "assets.setup", "assets.build"],
      "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/repo/seeds.exs"],
      "ecto.reset": ["ecto.drop", "ecto.setup"],
      test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"],
      "assets.setup": ["tailwind.install --if-missing", "esbuild.install --if-missing"],
      "assets.build": ["tailwind default", "esbuild default"],
      "assets.deploy": [
        "tailwind default --minify",
        # "tailwind storybook --minify",
        "esbuild default --minify",
        "phx.digest"
      ]
    ]
  end
end