Packages
livebook
0.2.3
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
mix.exs
defmodule Livebook.MixProject do
use Mix.Project
@version "0.2.3"
@description "Interactive and collaborative code notebooks - made with Phoenix LiveView"
def project do
[
app: :livebook,
version: @version,
elixir: "~> 1.12",
name: "Livebook",
description: @description,
elixirc_paths: elixirc_paths(Mix.env()),
compilers: [:phoenix] ++ Mix.compilers(),
start_permanent: Mix.env() == :prod,
aliases: aliases(),
deps: deps(),
escript: escript(),
releases: releases(),
package: package()
]
end
def application do
[
mod: {Livebook.Application, []},
extra_applications: [:logger, :runtime_tools, :os_mon, :inets, :ssl]
]
end
defp elixirc_paths(:test), do: ["lib", "test/support"]
defp elixirc_paths(_), do: ["lib"]
defp deps do
[
# We point phoenix, phoenix_live_view and phoenix_html to
# exact versions, because we install the corresponding npm
# packages directly from the local deps (using "file:"),
# they end up in the final assets bundle and the Elixir-side
# versions must match at runtime. Specifically, this is
# necessary because mix.lock is not loaded when installing
# the Escript and we don't want newer versions to be installed.
{:phoenix, "1.5.10"},
{:phoenix_live_view, "0.16.0"},
{:phoenix_live_dashboard, "~> 0.5.0"},
{:floki, ">= 0.27.0", only: :test},
{:phoenix_html, "3.0.0"},
{:phoenix_live_reload, "~> 1.2", only: :dev},
{:telemetry_metrics, "~> 0.4"},
{:telemetry_poller, "~> 0.4"},
{:jason, "~> 1.0"},
{:plug_cowboy, "~> 2.0"},
{:earmark_parser, "~> 1.4"},
{:bypass, "~> 2.1", only: :test},
{:castore, "~> 0.1.0"}
]
end
defp aliases do
[
"dev.setup": ["deps.get", "cmd npm install --prefix assets"],
"dev.build": ["cmd npm run deploy --prefix ./assets"],
"format.all": ["format", "cmd npm run format --prefix ./assets"],
# TODO: loadconfig no longer required on Elixir v1.13
# Currently this ensures we load configuration before
# compiling dependencies as part of `mix escript.install`.
# See https://github.com/elixir-lang/elixir/commit/a6eefb244b3a5892895a97b2dad4cce2b3c3c5ed
"escript.build": ["loadconfig", "escript.build"]
]
end
defp escript do
[
main_module: LivebookCLI,
app: nil
]
end
defp releases do
[
livebook: [
include_executables_for: [:unix],
include_erts: false
]
]
end
def package do
[
licenses: ["Apache-2.0"],
links: %{
"GitHub" => "https://github.com/elixir-nx/livebook"
},
files: ~w(lib priv config mix.exs README.md LICENSE CHANGELOG.md)
]
end
end