mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-09-04 12:04:20 +08:00
Update dependencies (#838)
* Update Elixir deps * Update JS dependencies * Bump Tailwind to v3 * Update Hex badge color * Set SameSite for the session cookie
This commit is contained in:
parent
ebadc8d4bc
commit
53869371c2
23 changed files with 2857 additions and 3295 deletions
|
@ -1,6 +1,6 @@
|
|||
<h1><img src="https://github.com/livebook-dev/livebook/raw/main/static/images/logo-with-text.png" alt="Livebook" width="400"></h1>
|
||||
|
||||
[](https://hex.pm/packages/livebook)
|
||||
[](https://hex.pm/packages/livebook)
|
||||
|
||||
Livebook is a web application for writing interactive and collaborative code notebooks for Elixir, built with [Phoenix LiveView](https://github.com/phoenixframework/phoenix_live_view). It features:
|
||||
|
||||
|
|
6056
assets/package-lock.json
generated
6056
assets/package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
@ -31,7 +31,7 @@
|
|||
"remark-rehype": "^10.0.0",
|
||||
"remixicon": "^2.5.0",
|
||||
"scroll-into-view-if-needed": "^2.2.28",
|
||||
"tailwindcss": "^2.1.1",
|
||||
"tailwindcss": "^3.0.8",
|
||||
"topbar": "^1.0.1",
|
||||
"unified": "^10.1.0",
|
||||
"unist-util-visit": "^4.0.0",
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
module.exports = {
|
||||
mode: "jit",
|
||||
purge: [
|
||||
content: [
|
||||
"../lib/**/*.ex",
|
||||
"../lib/**/*.leex",
|
||||
"../lib/**/*.heex",
|
||||
"../lib/**/*.eex",
|
||||
"./js/**/*.js",
|
||||
],
|
||||
darkMode: false,
|
||||
theme: {
|
||||
fontFamily: {
|
||||
sans: ["Inter"],
|
||||
|
@ -54,8 +52,5 @@ module.exports = {
|
|||
},
|
||||
},
|
||||
},
|
||||
variants: {
|
||||
extend: {},
|
||||
},
|
||||
plugins: [],
|
||||
};
|
||||
|
|
|
@ -7,7 +7,8 @@ defmodule LivebookWeb.Endpoint do
|
|||
@session_options [
|
||||
store: :cookie,
|
||||
key: "_livebook_key",
|
||||
signing_salt: "deadbook"
|
||||
signing_salt: "deadbook",
|
||||
same_site: "Lax"
|
||||
]
|
||||
|
||||
socket "/live", Phoenix.LiveView.Socket,
|
||||
|
|
|
@ -13,7 +13,7 @@ defmodule LivebookWeb.ExploreHelpers do
|
|||
class: "flex items-center justify-center p-6 border-2 border-gray-100 rounded-t-2xl h-[150px]" do %>
|
||||
<img src={@notebook_info.details.cover_url} class="max-h-full max-w-[75%]" />
|
||||
<% end %>
|
||||
<div class="px-6 py-4 bg-gray-100 rounded-b-2xl flex-grow">
|
||||
<div class="px-6 py-4 bg-gray-100 rounded-b-2xl grow">
|
||||
<%= live_redirect @notebook_info.title,
|
||||
to: Routes.explore_path(@socket, :notebook, @notebook_info.slug),
|
||||
class: "text-gray-800 font-semibold cursor-pointer" %>
|
||||
|
|
|
@ -21,7 +21,7 @@ defmodule LivebookWeb.ExploreLive do
|
|||
@impl true
|
||||
def render(assigns) do
|
||||
~H"""
|
||||
<div class="flex flex-grow h-full">
|
||||
<div class="flex grow h-full">
|
||||
<SidebarHelpers.sidebar>
|
||||
<SidebarHelpers.logo_item socket={@socket} />
|
||||
<SidebarHelpers.break_item />
|
||||
|
@ -32,7 +32,7 @@ defmodule LivebookWeb.ExploreLive do
|
|||
active={false} />
|
||||
<SidebarHelpers.user_item current_user={@current_user} path={Routes.explore_path(@socket, :user)} />
|
||||
</SidebarHelpers.sidebar>
|
||||
<div class="flex-grow px-6 py-8 overflow-y-auto">
|
||||
<div class="grow px-6 py-8 overflow-y-auto">
|
||||
<div class="max-w-screen-md w-full mx-auto px-4 pb-8 space-y-8">
|
||||
<div>
|
||||
<PageHelpers.title text="Explore" socket={@socket} />
|
||||
|
@ -55,7 +55,7 @@ defmodule LivebookWeb.ExploreLive do
|
|||
class: "button-base button-blue" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow hidden md:flex flex items-center justify-center">
|
||||
<div class="grow hidden md:flex flex items-center justify-center">
|
||||
<img src={@lead_notebook_info.details.cover_url} height="120" width="120" alt="livebook" />
|
||||
</div>
|
||||
</div>
|
||||
|
@ -105,7 +105,7 @@ defmodule LivebookWeb.ExploreLive do
|
|||
<div class="text-lg text-gray-400 font-semibold">
|
||||
<%= number |> Integer.to_string() |> String.pad_leading(2, "0") %>
|
||||
</div>
|
||||
<div class="flex-grow text-lg text-gray-800 font-semibold">
|
||||
<div class="grow text-lg text-gray-800 font-semibold">
|
||||
<%= notebook_info.title %>
|
||||
</div>
|
||||
<%= live_redirect to: Routes.explore_path(@socket, :notebook, notebook_info.slug),
|
||||
|
|
|
@ -63,14 +63,14 @@ defmodule LivebookWeb.FileSelectComponent do
|
|||
~H"""
|
||||
<div class="h-full flex flex-col">
|
||||
<div class="flex space-x-3 items-center mb-4">
|
||||
<div class="flex-grow flex space-x-1">
|
||||
<div class="grow flex space-x-1">
|
||||
<.file_system_menu_button
|
||||
file={@file}
|
||||
file_systems={@file_systems}
|
||||
file_system_select_disabled={@file_system_select_disabled}
|
||||
socket={@socket}
|
||||
myself={@myself} />
|
||||
<form class="flex-grow"
|
||||
<form class="grow"
|
||||
phx-change="set_path"
|
||||
phx-submit={if @submit_event, do: "submit"}
|
||||
onsubmit={unless @submit_event, do: "return false"}
|
||||
|
@ -111,7 +111,7 @@ defmodule LivebookWeb.FileSelectComponent do
|
|||
<% end %>
|
||||
<%= if @deleting_file do %>
|
||||
<div class="mb-4 px-4 py-3 flex space-x-4 items-center border border-gray-200 rounded-lg">
|
||||
<p class="flex-grow text-gray-700 text-sm">
|
||||
<p class="grow text-gray-700 text-sm">
|
||||
Are you sure you want to irreversibly delete
|
||||
<span class="font-semibold"><%= @deleting_file.path %></span>?
|
||||
</p>
|
||||
|
@ -131,7 +131,7 @@ defmodule LivebookWeb.FileSelectComponent do
|
|||
</div>
|
||||
<% end %>
|
||||
</div>
|
||||
<div class="flex-grow -m-1 p-1 overflow-y-auto tiny-scrollbar" tabindex="-1">
|
||||
<div class="grow -m-1 p-1 overflow-y-auto tiny-scrollbar" tabindex="-1">
|
||||
<div class="hidden grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-4 gap-2 border-b border-dashed border-grey-200 mb-2 pb-2"
|
||||
id="new_dir_section">
|
||||
<div class="flex space-x-2 items-center p-2 rounded-lg">
|
||||
|
@ -275,11 +275,11 @@ defmodule LivebookWeb.FileSelectComponent do
|
|||
</span>
|
||||
<span class={"flex font-medium overflow-hidden whitespace-nowrap #{if(@file_info.is_running, do: "text-green-300", else: "text-gray-500")}"}>
|
||||
<%= if @file_info.highlighted != "" do %>
|
||||
<span class={"font-medium overflow-hidden overflow-ellipsis #{if(@file_info.is_running, do: "text-green-400", else: "text-gray-900")}"}>
|
||||
<span class={"font-medium overflow-hidden text-ellipsis #{if(@file_info.is_running, do: "text-green-400", else: "text-gray-900")}"}>
|
||||
<%= @file_info.highlighted %>
|
||||
</span>
|
||||
<% end %>
|
||||
<span class="overflow-hidden overflow-ellipsis">
|
||||
<span class="overflow-hidden text-ellipsis">
|
||||
<%= @file_info.unhighlighted %>
|
||||
</span>
|
||||
</span>
|
||||
|
|
|
@ -28,7 +28,7 @@ defmodule LivebookWeb.HomeLive do
|
|||
@impl true
|
||||
def render(assigns) do
|
||||
~H"""
|
||||
<div class="flex flex-grow h-full">
|
||||
<div class="flex grow h-full">
|
||||
<SidebarHelpers.sidebar>
|
||||
<SidebarHelpers.break_item />
|
||||
<SidebarHelpers.link_item
|
||||
|
@ -38,7 +38,7 @@ defmodule LivebookWeb.HomeLive do
|
|||
active={false} />
|
||||
<SidebarHelpers.user_item current_user={@current_user} path={Routes.home_path(@socket, :user)} />
|
||||
</SidebarHelpers.sidebar>
|
||||
<div class="flex-grow px-6 py-8 overflow-y-auto">
|
||||
<div class="grow px-6 py-8 overflow-y-auto">
|
||||
<div class="max-w-screen-lg w-full mx-auto px-4 pb-8 space-y-4">
|
||||
<div class="flex flex-col space-y-2 items-center pb-4 border-b border-gray-200
|
||||
sm:flex-row sm:space-y-0 sm:justify-between">
|
||||
|
|
|
@ -30,7 +30,7 @@ defmodule LivebookWeb.HomeLive.ImportComponent do
|
|||
File upload
|
||||
</span>
|
||||
<% end %>
|
||||
<div class="flex-grow tab">
|
||||
<div class="grow tab">
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
|
|
|
@ -64,7 +64,7 @@ defmodule LivebookWeb.HomeLive.SessionListComponent do
|
|||
<div>
|
||||
<.remix_icon icon="windy-line" class="text-gray-400 text-xl" />
|
||||
</div>
|
||||
<div class="flex-grow flex items-center justify-between">
|
||||
<div class="grow flex items-center justify-between">
|
||||
<div class="text-gray-600">
|
||||
You do not have any running sessions.
|
||||
<%= if @show_autosave_note? do %>
|
||||
|
@ -87,7 +87,7 @@ defmodule LivebookWeb.HomeLive.SessionListComponent do
|
|||
<%= for session <- @sessions do %>
|
||||
<div class="py-4 flex items-center border-b border-gray-300"
|
||||
data-test-session-id={session.id}>
|
||||
<div class="flex-grow flex flex-col items-start">
|
||||
<div class="grow flex flex-col items-start">
|
||||
<%= live_redirect session.notebook_name,
|
||||
to: Routes.session_path(@socket, :page, session.id),
|
||||
class: "font-semibold text-gray-800 hover:text-gray-900" %>
|
||||
|
|
|
@ -49,7 +49,7 @@ defmodule LivebookWeb.Output.TableDynamicLive do
|
|||
<h3 class="font-semibold text-gray-800">
|
||||
<%= @name %>
|
||||
</h3>
|
||||
<div class="flex-grow"></div>
|
||||
<div class="grow"></div>
|
||||
<!-- Actions -->
|
||||
<div class="flex space-x-2">
|
||||
<%= if :refetch in @features do %>
|
||||
|
|
|
@ -72,7 +72,7 @@ defmodule LivebookWeb.SessionLive do
|
|||
@impl true
|
||||
def render(assigns) do
|
||||
~H"""
|
||||
<div class="flex flex-grow h-full"
|
||||
<div class="flex grow h-full"
|
||||
id={"session-#{@session.id}"}
|
||||
data-element="session"
|
||||
phx-hook="Session"
|
||||
|
@ -119,7 +119,7 @@ defmodule LivebookWeb.SessionLive do
|
|||
<.runtime_info data_view={@data_view} session={@session} socket={@socket} empty_default_runtime={@empty_default_runtime} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex-grow overflow-y-auto relative" data-element="notebook">
|
||||
<div class="grow overflow-y-auto relative" data-element="notebook">
|
||||
<div data-element="output-iframes" phx-update="ignore" id="output-iframes"></div>
|
||||
<div class="w-full max-w-screen-lg px-16 mx-auto py-7" data-element="notebook-content">
|
||||
<div class="flex items-center pb-4 mb-6 space-x-4 border-b border-gray-200"
|
||||
|
@ -129,7 +129,7 @@ defmodule LivebookWeb.SessionLive do
|
|||
phx-hook="Headline"
|
||||
data-on-value-change="set_notebook_name"
|
||||
data-metadata="notebook">
|
||||
<h1 class="flex-grow p-1 -ml-1 text-3xl font-semibold text-gray-800 border border-transparent rounded-lg whitespace-pre-wrap"
|
||||
<h1 class="grow p-1 -ml-1 text-3xl font-semibold text-gray-800 border border-transparent rounded-lg whitespace-pre-wrap"
|
||||
tabindex="0"
|
||||
id="notebook-heading"
|
||||
data-element="heading"
|
||||
|
@ -299,14 +299,14 @@ defmodule LivebookWeb.SessionLive do
|
|||
|
||||
defp sections_list(assigns) do
|
||||
~H"""
|
||||
<div class="flex flex-col flex-grow">
|
||||
<div class="flex flex-col grow">
|
||||
<h3 class="uppercase text-sm font-semibold text-gray-500">
|
||||
Sections
|
||||
</h3>
|
||||
<div class="flex flex-col mt-4 space-y-4">
|
||||
<%= for section_item <- @data_view.sections_items do %>
|
||||
<div class="flex items-center">
|
||||
<button class="flex-grow flex items-center text-gray-500 hover:text-gray-900 text-left"
|
||||
<button class="grow flex items-center text-gray-500 hover:text-gray-900 text-left"
|
||||
data-element="sections-list-item"
|
||||
data-section-id={section_item.id}>
|
||||
<span class="flex items-center space-x-1">
|
||||
|
@ -335,7 +335,7 @@ defmodule LivebookWeb.SessionLive do
|
|||
|
||||
defp clients_list(assigns) do
|
||||
~H"""
|
||||
<div class="flex flex-col flex-grow">
|
||||
<div class="flex flex-col grow">
|
||||
<div class="flex items-center justify-between space-x-4">
|
||||
<h3 class="uppercase text-sm font-semibold text-gray-500">
|
||||
Users
|
||||
|
@ -354,7 +354,7 @@ defmodule LivebookWeb.SessionLive do
|
|||
<button class="flex items-center space-x-2 text-gray-500 hover:text-gray-900 disabled:pointer-events-none"
|
||||
disabled={client_pid == @self}
|
||||
data-element="client-link">
|
||||
<.user_avatar user={user} class="flex-shrink-0 h-7 w-7" text_class="text-xs" />
|
||||
<.user_avatar user={user} class="shrink-0 h-7 w-7" text_class="text-xs" />
|
||||
<span><%= user.name || "Anonymous" %></span>
|
||||
</button>
|
||||
<%= if client_pid != @self do %>
|
||||
|
@ -382,7 +382,7 @@ defmodule LivebookWeb.SessionLive do
|
|||
|
||||
defp runtime_info(assigns) do
|
||||
~H"""
|
||||
<div class="flex flex-col flex-grow">
|
||||
<div class="flex flex-col grow">
|
||||
<div class="flex items-center justify-between">
|
||||
<h3 class="uppercase text-sm font-semibold text-gray-500">
|
||||
Runtime
|
||||
|
|
|
@ -48,7 +48,7 @@ defmodule LivebookWeb.SessionLive.CellUploadComponent do
|
|||
</div>
|
||||
</label>
|
||||
</div>
|
||||
<div class="flex-grow">
|
||||
<div class="grow">
|
||||
<input class="input" name="name" value={@name} placeholder="Name" autocomplete="off" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -76,7 +76,7 @@ defmodule LivebookWeb.SessionLive.PersistenceLive do
|
|||
[<.file_system_icon file_system={@new_attrs.file.file_system} />]
|
||||
</span>
|
||||
</span>
|
||||
<span class="text-gray-700 whitespace-no-wrap font-medium overflow-ellipsis overflow-hidden">
|
||||
<span class="text-gray-700 whitespace-no-wrap font-medium text-ellipsis overflow-hidden">
|
||||
<%= @new_attrs.file.path %>
|
||||
</span>
|
||||
<button class="button-base button-gray button-small"
|
||||
|
|
|
@ -11,7 +11,7 @@ defmodule LivebookWeb.SessionLive.SectionComponent do
|
|||
phx-hook="Headline"
|
||||
data-on-value-change="set_section_name"
|
||||
data-metadata={@section_view.id}>
|
||||
<h2 class="flex-grow text-gray-800 font-semibold text-2xl px-1 -ml-1 rounded-lg border border-transparent whitespace-pre-wrap cursor-text"
|
||||
<h2 class="grow text-gray-800 font-semibold text-2xl px-1 -ml-1 rounded-lg border border-transparent whitespace-pre-wrap cursor-text"
|
||||
tabindex="0"
|
||||
id={@section_view.html_id}
|
||||
data-element="heading"
|
||||
|
|
|
@ -177,7 +177,7 @@ defmodule LivebookWeb.SessionLive.ShortcutsComponent do
|
|||
<%= @title %>
|
||||
</h3>
|
||||
<div class="mt-2 flex flex-col lg:flex-row lg:space-x-4">
|
||||
<div class="lg:flex-grow">
|
||||
<div class="lg:grow">
|
||||
<.shortcuts_section_table shortcuts={@left} platform={@platform} />
|
||||
</div>
|
||||
<div class="lg:w-1/2">
|
||||
|
|
|
@ -20,7 +20,7 @@ defmodule LivebookWeb.SettingsLive do
|
|||
@impl true
|
||||
def render(assigns) do
|
||||
~H"""
|
||||
<div class="flex flex-grow h-full">
|
||||
<div class="flex grow h-full">
|
||||
<SidebarHelpers.sidebar>
|
||||
<SidebarHelpers.logo_item socket={@socket} />
|
||||
<SidebarHelpers.break_item />
|
||||
|
@ -31,7 +31,7 @@ defmodule LivebookWeb.SettingsLive do
|
|||
active={false} />
|
||||
<SidebarHelpers.user_item current_user={@current_user} path={Routes.settings_path(@socket, :user)} />
|
||||
</SidebarHelpers.sidebar>
|
||||
<div class="flex-grow px-6 py-8 overflow-y-auto">
|
||||
<div class="grow px-6 py-8 overflow-y-auto">
|
||||
<div class="max-w-screen-md w-full mx-auto px-4 pb-8 space-y-16">
|
||||
<!-- System settings section -->
|
||||
<div class="flex flex-col space-y-8">
|
||||
|
|
|
@ -56,7 +56,7 @@ defmodule LivebookWeb.SidebarHelpers do
|
|||
|
||||
def break_item(assigns) do
|
||||
~H"""
|
||||
<div class="flex-grow"></div>
|
||||
<div class="grow"></div>
|
||||
"""
|
||||
end
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ defmodule LivebookWeb.UserComponent do
|
|||
style={"background-color: #{@preview_user.hex_color}"}>
|
||||
</div>
|
||||
</div>
|
||||
<div class="relative flex-grow">
|
||||
<div class="relative grow">
|
||||
<%= text_input f, :hex_color, value: @data["hex_color"], class: "input", spellcheck: "false", maxlength: 7 %>
|
||||
<button
|
||||
class="icon-button absolute right-2 top-1"
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
<main role="main" class="flex-grow flex flex-col h-screen">
|
||||
<main role="main" class="grow flex flex-col h-screen">
|
||||
<%= @inner_content %>
|
||||
</main>
|
||||
</main>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<main role="main" class="flex-grow flex flex-col h-screen">
|
||||
<main role="main" class="grow flex flex-col h-screen">
|
||||
<div class="fixed right-8 bottom-5 z-50 flex flex-col space-y-3 max-h-[80%] overflow-y-auto tiny-scrollbar">
|
||||
<%= if live_flash(@flash, :info) do %>
|
||||
<div class="shadow-custom-1 max-w-2xl flex items-center space-x-3 rounded-lg px-4 py-2 border-l-4 rounded-l-none border-blue-500 bg-white text-gray-600 hover:bg-gray-50 hover:text-gray-500 cursor-pointer" role="alert"
|
||||
|
|
10
mix.lock
10
mix.lock
|
@ -1,7 +1,7 @@
|
|||
%{
|
||||
"aws_signature": {:hex, :aws_signature, "0.2.0", "cc952020c8ffa2480159492844ea2493441b9b3d90f43d7015796a085a8d94d7", [:rebar3], [], "hexpm", "5e40314aa0c84a994f4f780c7184869391e8ff7a6cd2f739fd51ad9df96c9782"},
|
||||
"bypass": {:hex, :bypass, "2.1.0", "909782781bf8e20ee86a9cabde36b259d44af8b9f38756173e8f5e2e1fabb9b1", [:mix], [{:plug, "~> 1.7", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.0", [hex: :plug_cowboy, repo: "hexpm", optional: false]}, {:ranch, "~> 1.3", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "d9b5df8fa5b7a6efa08384e9bbecfe4ce61c77d28a4282f79e02f1ef78d96b80"},
|
||||
"castore": {:hex, :castore, "0.1.13", "ccf3ab251ffaebc4319f41d788ce59a6ab3f42b6c27e598ad838ffecee0b04f9", [:mix], [], "hexpm", "a14a7eecfec7e20385493dbb92b0d12c5d77ecfd6307de10102d58c94e8c49c0"},
|
||||
"castore": {:hex, :castore, "0.1.14", "3f6d7c7c1574c402fef29559d3f1a7389ba3524bc6a090a5e9e6abc3af65dcca", [:mix], [], "hexpm", "b34af542eadb727e6c8b37fdf73e18b2e02eb483a4ea0b52fd500bc23f052b7b"},
|
||||
"cowboy": {:hex, :cowboy, "2.9.0", "865dd8b6607e14cf03282e10e934023a1bd8be6f6bacf921a7e2a96d800cd452", [:make, :rebar3], [{:cowlib, "2.11.0", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "2c729f934b4e1aa149aff882f57c6372c15399a20d54f65c8d67bef583021bde"},
|
||||
"cowboy_telemetry": {:hex, :cowboy_telemetry, "0.4.0", "f239f68b588efa7707abce16a84d0d2acf3a0f50571f8bb7f56a15865aae820c", [:rebar3], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7d98bac1ee4565d31b62d59f8823dfd8356a169e7fcbb83831b8a5397404c9de"},
|
||||
"cowlib": {:hex, :cowlib, "2.11.0", "0b9ff9c346629256c42ebe1eeb769a83c6cb771a6ee5960bd110ab0b9b872063", [:make, :rebar3], [], "hexpm", "2b3e9da0b21c4565751a6d4901c20d1b4cc25cbb7fd50d91d2ab6dd287bc86a9"},
|
||||
|
@ -9,11 +9,11 @@
|
|||
"file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"},
|
||||
"floki": {:hex, :floki, "0.32.0", "f915dc15258bc997d49be1f5ef7d3992f8834d6f5695270acad17b41f5bcc8e2", [:mix], [{:html_entities, "~> 0.5.0", [hex: :html_entities, repo: "hexpm", optional: false]}], "hexpm", "1c5a91cae1fd8931c26a4826b5e2372c284813904c8bacb468b5de39c7ececbd"},
|
||||
"html_entities": {:hex, :html_entities, "0.5.2", "9e47e70598da7de2a9ff6af8758399251db6dbb7eebe2b013f2bbd2515895c3c", [:mix], [], "hexpm", "c53ba390403485615623b9531e97696f076ed415e8d8058b1dbaa28181f4fdcc"},
|
||||
"jason": {:hex, :jason, "1.2.2", "ba43e3f2709fd1aa1dce90aaabfd039d000469c05c56f0b8e31978e03fa39052", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "18a228f5f0058ee183f29f9eae0805c6e59d61c3b006760668d8d18ff0d12179"},
|
||||
"jason": {:hex, :jason, "1.3.0", "fa6b82a934feb176263ad2df0dbd91bf633d4a46ebfdffea0c8ae82953714946", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "53fc1f51255390e0ec7e50f9cb41e751c260d065dcba2bf0d08dc51a4002c2ac"},
|
||||
"mime": {:hex, :mime, "1.6.0", "dabde576a497cef4bbdd60aceee8160e02a6c89250d6c0b29e56c0dfb00db3d2", [:mix], [], "hexpm", "31a1a8613f8321143dde1dafc36006a17d28d02bdfecb9e95a880fa7aabd19a7"},
|
||||
"phoenix": {:hex, :phoenix, "1.6.2", "6cbd5c8ed7a797f25a919a37fafbc2fb1634c9cdb12a4448d7a5d0b26926f005", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7bbee475acae0c3abc229b7f189e210ea788e63bd168e585f60c299a4b2f9133"},
|
||||
"phoenix_html": {:hex, :phoenix_html, "3.1.0", "0b499df05aad27160d697a9362f0e89fa0e24d3c7a9065c2bd9d38b4d1416c09", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "0c0a98a2cefa63433657983a2a594c7dee5927e4391e0f1bfd3a151d1def33fc"},
|
||||
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.6.1", "fb94a33c077141f9ac7930b322a7a3b99f9b144bf3a08dd667b9f9aaf0319889", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.3", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.17.1", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "6faf1373e5846c8ab68c2cf55cfa5c196c1fbbe0c72d12a4cdfaaac6ef189948"},
|
||||
"phoenix": {:hex, :phoenix, "1.6.5", "07af307b28a5820b4394f27ac7003df052e065ff651520a58abb16be1eecd519", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.0", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 1.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:plug, "~> 1.10", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.2", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "97dc3052ca648499280e0636471f1d0439fc623ccdce27d2d8135651421ee80c"},
|
||||
"phoenix_html": {:hex, :phoenix_html, "3.2.0", "1c1219d4b6cb22ac72f12f73dc5fad6c7563104d083f711c3fcd8551a1f4ae11", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "36ec97ba56d25c0136ef1992c37957e4246b649d620958a1f9fa86165f8bc54f"},
|
||||
"phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.6.2", "0769470265eb13af01b5001b29cb935f4710d6adaa1ffc18417a570a337a2f0f", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.3", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.17.1", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "5bc6c6b38a2ca8b5020b442322fcee6afd5e641637a0b1fb059d4bd89bc58e7b"},
|
||||
"phoenix_live_reload": {:hex, :phoenix_live_reload, "1.3.3", "3a53772a6118d5679bf50fc1670505a290e32a1d195df9e069d8c53ab040c054", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "766796676e5f558dbae5d1bdb066849673e956005e3730dfd5affd7a6da4abac"},
|
||||
"phoenix_live_view": {:hex, :phoenix_live_view, "0.17.5", "63f52a6f9f6983f04e424586ff897c016ecc5e4f8d1e2c22c2887af1c57215d8", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.5.9 or ~> 1.6.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c5586e6a3d4df71b8214c769d4f5eb8ece2b4001711a7ca0f97323c36958b0e3"},
|
||||
"phoenix_pubsub": {:hex, :phoenix_pubsub, "2.0.0", "a1ae76717bb168cdeb10ec9d92d1480fec99e3080f011402c0a2d68d47395ffb", [:mix], [], "hexpm", "c52d948c4f261577b9c6fa804be91884b381a7f8f18450c5045975435350f771"},
|
||||
|
|
Loading…
Add table
Reference in a new issue