From 8feaabaf428339e69a6cc293c8b45606def437b5 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Fri, 10 May 2024 17:09:29 -0400 Subject: [PATCH] chore: imports & update --- .../docs/resources/function/function.ex | 1 + .../docs/resources/library/actions/import.ex | 1 - mix.exs | 4 +-- mix.lock | 6 ++-- priv/repo/seeds.exs | 16 ++++++++- priv/scripts/build_dsl_docs.exs | 35 ++++++++++++++++++- 6 files changed, 55 insertions(+), 8 deletions(-) diff --git a/lib/ash_hq/docs/resources/function/function.ex b/lib/ash_hq/docs/resources/function/function.ex index 58c64d8..1f78e52 100644 --- a/lib/ash_hq/docs/resources/function/function.ex +++ b/lib/ash_hq/docs/resources/function/function.ex @@ -82,6 +82,7 @@ defmodule AshHq.Docs.Function do end attribute :heads_html, {:array, :string} do + constraints remove_nil_items?: true public? true default [] end diff --git a/lib/ash_hq/docs/resources/library/actions/import.ex b/lib/ash_hq/docs/resources/library/actions/import.ex index a40b73b..12462c4 100644 --- a/lib/ash_hq/docs/resources/library/actions/import.ex +++ b/lib/ash_hq/docs/resources/library/actions/import.ex @@ -90,7 +90,6 @@ defmodule AshHq.Docs.Library.Actions.Import do version, %{ extensions: result[:extensions], - doc: result[:doc], guides: result[:guides], modules: result[:modules], mix_tasks: result[:mix_tasks] diff --git a/mix.exs b/mix.exs index c17a1fa..8826d25 100644 --- a/mix.exs +++ b/mix.exs @@ -39,7 +39,7 @@ defmodule AshHq.MixProject do # Type `mix help deps` for examples and options. defp deps do [ - {:ash, "~> 3.0.0-rc"}, + {:ash, "~> 3.0"}, {:ash_postgres, "~> 2.0.0-rc"}, {:ash_admin, "~> 0.10.10-rc"}, {:ash_phoenix, "~> 2.0.0-rc"}, @@ -136,7 +136,7 @@ defmodule AshHq.MixProject do "ash_postgres.migrate", "seed" ], - reset: ["drop", "setup"], + reset: ["ash.reset", "seed"], credo: "credo --strict", drop: ["ash_postgres.drop"], test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], diff --git a/mix.lock b/mix.lock index 8130a4f..a4df851 100644 --- a/mix.lock +++ b/mix.lock @@ -4,7 +4,7 @@ "appsignal": {:hex, :appsignal, "2.10.1", "e569ce2403fabf85fa836e86e3199c5d59c189f1f05ba7557689c2cec39e9ad8", [:make, :mix], [{:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:decorator, "~> 1.2.3 or ~> 1.3", [hex: :decorator, repo: "hexpm", optional: false]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f3dde6d418c1e366dadac328675f30e503536eecad7b27168429381ca7f590d6"}, "appsignal_phoenix": {:hex, :appsignal_phoenix, "2.3.7", "f58e9bc441351179e107c1d4ef25f2f705d0a26d968ae4845fc0b2c40b70e1bb", [:mix], [{:appsignal, ">= 2.7.6 and < 3.0.0", [hex: :appsignal, repo: "hexpm", optional: false]}, {:appsignal_plug, ">= 2.0.15 and < 3.0.0", [hex: :appsignal_plug, repo: "hexpm", optional: false]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.11 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:phoenix_live_view, "~> 0.9", [hex: :phoenix_live_view, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "9ac31df80540a5fe6e4d419d9698e08eb50579e585186d87fb4e445cd92dac0c"}, "appsignal_plug": {:hex, :appsignal_plug, "2.0.15", "758a8a78944878e8461bbc77ca86219121a56f4299c6d79940ab083cf9afea00", [:mix], [{:appsignal, ">= 2.7.6 and < 3.0.0", [hex: :appsignal, repo: "hexpm", optional: false]}, {:plug, ">= 1.1.0", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "1c6059049e2081e808aaef04e2b9917e06277f61a35a0e103db860d08cbc41f1"}, - "ash": {:hex, :ash, "3.0.0-rc.46", "8c84ca24003c3e678f84f51da79a6b3edd1d808ccace53e207776e7d15a8c5f7", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:reactor, ">= 0.8.1 and < 1.0.0-0", [hex: :reactor, repo: "hexpm", optional: false]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:spark, ">= 2.1.18 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}, {:stream_data, "~> 0.6", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c833ba90e76a17cf5b9386bc47626d943f5da0908a5e7b850433f9db3e79784c"}, + "ash": {:hex, :ash, "3.0.0", "2ef88639fce9f126c57c115f955d7e29919942afe74adc00cb7250fd7ced9f5f", [:mix], [{:comparable, "~> 1.0", [hex: :comparable, repo: "hexpm", optional: false]}, {:decimal, "~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:ecto, "~> 3.7", [hex: :ecto, repo: "hexpm", optional: false]}, {:ets, "~> 0.8", [hex: :ets, repo: "hexpm", optional: false]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: false]}, {:picosat_elixir, "~> 0.2", [hex: :picosat_elixir, repo: "hexpm", optional: true]}, {:plug, ">= 0.0.0", [hex: :plug, repo: "hexpm", optional: true]}, {:reactor, ">= 0.8.1 and < 1.0.0-0", [hex: :reactor, repo: "hexpm", optional: false]}, {:simple_sat, ">= 0.1.1 and < 1.0.0-0", [hex: :simple_sat, repo: "hexpm", optional: true]}, {:spark, ">= 2.1.18 and < 3.0.0-0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}, {:stream_data, "~> 0.6", [hex: :stream_data, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.1", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ffed4651c9faf79e90066afdd52202e3f8951624bf73fd8ad34aa4c22fceef4b"}, "ash_admin": {:hex, :ash_admin, "0.10.10-rc.1", "504089c1c2417034d4c5f1305da5d4270039d82ff44d762153cd217f9a714116", [:mix], [{:ash, "~> 3.0.0-rc.0", [hex: :ash, repo: "hexpm", optional: false]}, {:ash_phoenix, "~> 2.0-rc.0", [hex: :ash_phoenix, repo: "hexpm", optional: false]}, {:gettext, "~> 0.20", [hex: :gettext, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: false]}, {:tails, "~> 0.1", [hex: :tails, repo: "hexpm", optional: false]}], "hexpm", "2522f151c15fa7f60aedc1b6256e4e70178ed15ce20787ae989aebbdea498dfd"}, "ash_appsignal": {:hex, :ash_appsignal, "0.1.2", "a6eb1927a13c11006aad0d9ffaa011143344dd04c9b07ab94f459498b8ddc6d4", [:mix], [{:appsignal, "~> 2.0", [hex: :appsignal, repo: "hexpm", optional: false]}, {:ash, ">= 2.14.14", [hex: :ash, repo: "hexpm", optional: false]}], "hexpm", "dae3158337d2a36b76f04519ebe6d08ef5296823831993cef6069eeb879c5b94"}, "ash_blog": {:git, "https://github.com/ash-project/ash_blog.git", "d65161ba519f977c82f8cb45df160b079f357c7e", []}, @@ -104,12 +104,12 @@ "poly1305": {:hex, :poly1305, "1.0.4", "7cdc8961a0a6e00a764835918cdb8ade868044026df8ef5d718708ea6cc06611", [:mix], [{:chacha20, "~> 1.0", [hex: :chacha20, repo: "hexpm", optional: false]}, {:equivalex, "~> 1.0", [hex: :equivalex, repo: "hexpm", optional: false]}], "hexpm", "e14e684661a5195e149b3139db4a1693579d4659d65bba115a307529c47dbc3b"}, "postgrex": {:hex, :postgrex, "0.17.5", "0483d054938a8dc069b21bdd636bf56c487404c241ce6c319c1f43588246b281", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "50b8b11afbb2c4095a3ba675b4f055c416d0f3d7de6633a595fc131a828a67eb"}, "premailex": {:hex, :premailex, "0.3.19", "c26ff9c712c08e574d1792f2cfed638e7c7a5e353b5a4db7a40487c8130fa37c", [:mix], [{:certifi, ">= 0.0.0", [hex: :certifi, repo: "hexpm", optional: true]}, {:floki, "~> 0.19", [hex: :floki, repo: "hexpm", optional: false]}, {:meeseeks, "~> 0.11", [hex: :meeseeks, repo: "hexpm", optional: true]}, {:ssl_verify_fun, ">= 0.0.0", [hex: :ssl_verify_fun, repo: "hexpm", optional: true]}], "hexpm", "18f3772f4b30ffe82f670c2714b2d3221eb9face69e38bb1674b6e570b7c0aff"}, - "reactor": {:hex, :reactor, "0.8.1", "1aec71d16083901277727c8162f6dd0f07e80f5ca98911b6ef4f2c95e6e62758", [:mix], [{:libgraph, "~> 0.16", [hex: :libgraph, repo: "hexpm", optional: false]}, {:spark, "~> 2.0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.2", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "ae3936d97a3e4a316744f70c77b85345b08b70da334024c26e6b5eb8ede1246b"}, + "reactor": {:hex, :reactor, "0.8.2", "b2be82b1c3402537d06a8f85bb1849f72cb6b4be140495cb8956de7aec2fdebd", [:mix], [{:libgraph, "~> 0.16", [hex: :libgraph, repo: "hexpm", optional: false]}, {:spark, "~> 2.0", [hex: :spark, repo: "hexpm", optional: false]}, {:splode, "~> 0.2", [hex: :splode, repo: "hexpm", optional: false]}, {:telemetry, "~> 1.2", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c35eb23b77cc77ba922af108722ac93257899e35cfdd18882f0e659ad2cac9f3"}, "req": {:hex, :req, "0.4.14", "103de133a076a31044e5458e0f850d5681eef23dfabf3ea34af63212e3b902e2", [:mix], [{:aws_signature, "~> 0.3.2", [hex: :aws_signature, repo: "hexpm", optional: true]}, {:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:nimble_ownership, "~> 0.2.0 or ~> 0.3.0", [hex: :nimble_ownership, repo: "hexpm", optional: false]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "2ddd3d33f9ab714ced8d3c15fd03db40c14dbf129003c4a3eb80fac2cc0b1b08"}, "salsa20": {:hex, :salsa20, "1.0.4", "404cbea1fa8e68a41bcc834c0a2571ac175580fec01cc38cc70c0fb9ffc87e9b", [:mix], [], "hexpm", "745ddcd8cfa563ddb0fd61e7ce48d5146279a2cf7834e1da8441b369fdc58ac6"}, "simple_sat": {:hex, :simple_sat, "0.1.3", "f650fc3c184a5fe741868b5ac56dc77fdbb428468f6dbf1978e14d0334497578", [:mix], [], "hexpm", "a54305066a356b7194dc81db2a89232bacdc0b3edaef68ed9aba28dcbc34887b"}, "sobelow": {:hex, :sobelow, "0.13.0", "218afe9075904793f5c64b8837cc356e493d88fddde126a463839351870b8d1e", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "cd6e9026b85fc35d7529da14f95e85a078d9dd1907a9097b3ba6ac7ebbe34a0d"}, - "sourceror": {:hex, :sourceror, "1.0.3", "111711c147f4f1414c07a67b45ad0064a7a41569037355407eda635649507f1d", [:mix], [], "hexpm", "56c21ef146c00b51bc3bb78d1f047cb732d193256a7c4ba91eaf828d3ae826af"}, + "sourceror": {:hex, :sourceror, "1.1.0", "9c129fa1bd7290014acf6f73e292f43938c17e3fccd7b7df6f41122cab45dda9", [:mix], [], "hexpm", "b9c348688e2cfc20acfef0feaca88643044be5acd2e0b02cf4a8d6ac1edc4c4a"}, "spark": {:hex, :spark, "2.1.20", "204db8fd28378783c28a9dcb0bebdaf1d51b14a9ea106e1080457d29510a66ea", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:sourceror, "~> 1.0", [hex: :sourceror, repo: "hexpm", optional: false]}], "hexpm", "e7a4f8f8ca7a477918af1eb65e20f2015f783a9a23e5f73d1020edf5b2ef69be"}, "splode": {:hex, :splode, "0.2.4", "71046334c39605095ca4bed5d008372e56454060997da14f9868534c17b84b53", [:mix], [], "hexpm", "ca3b95f0d8d4b482b5357954fec857abd0fa3ea509d623334c1328e7382044c2"}, "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.7", "354c321cf377240c7b8716899e182ce4890c5938111a1296add3ec74cf1715df", [:make, :mix, :rebar3], [], "hexpm", "fe4c190e8f37401d30167c8c405eda19469f34577987c76dde613e838bbc67f8"}, diff --git a/priv/repo/seeds.exs b/priv/repo/seeds.exs index 757b092..f8b3d0b 100644 --- a/priv/repo/seeds.exs +++ b/priv/repo/seeds.exs @@ -202,7 +202,7 @@ AshHq.Docs.Library.create!( name: "reactor", display_name: "Reactor", module_prefixes: ["Reactor"], - order: 90, + order: 91, description: """ Reactor is a dynamic, concurrent, dependency resolving saga orchestrator. """ @@ -211,6 +211,20 @@ AshHq.Docs.Library.create!( upsert_identity: :unique_name ) +AshHq.Docs.Library.create!( + %{ + name: "ash_cloak", + display_name: "AshCloak", + module_prefixes: ["AshCloak"], + order: 90, + description: """ + An extension to seamlessly encrypt and decrypt resource attributes. + """ + }, + upsert?: true, + upsert_identity: :unique_name +) + # Always at the bottom AshHq.Docs.Library.create!( %{ diff --git a/priv/scripts/build_dsl_docs.exs b/priv/scripts/build_dsl_docs.exs index 87de2b2..da497b0 100644 --- a/priv/scripts/build_dsl_docs.exs +++ b/priv/scripts/build_dsl_docs.exs @@ -107,7 +107,6 @@ defmodule Utils do def build(extension, all_extensions, _order) do %{ module: inspect(extension), - doc: module_docs(extension) || "No documentation", dsls: build_sections(extension.sections(), extension, all_extensions) } end @@ -614,9 +613,15 @@ defmodule Utils do |> Stream.reject(fn {item, _} -> Path.extname(to_string(item)) != ".md" end) + |> Stream.reject(fn {item, _} -> + to_string(item) == "CHANGELOG.md" + end) |> Stream.reject(fn {item, _} -> String.contains?(to_string(item), "hexdocs") end) + |> Stream.reject(fn {item, _} -> + String.starts_with?(item, "DSL:") + end) |> Enum.reject(fn {_name, config} -> config[:ash_hq?] == false || config[:ash_hq] == false @@ -669,6 +674,16 @@ defmodule Utils do other -> other end + |> case do + "About " <> _thing -> + "About" + + "Start Here" -> + "Tutorials" + + other -> + other + end {file, name: title} end) @@ -680,6 +695,18 @@ defmodule Utils do groups_for_extras |> Enum.reduce({extras, []}, fn {group, matcher}, {remaining_extras, acc} -> + group = + case group do + "About " <> _thing -> + "About" + + "Start Here" -> + "Tutorials" + + other -> + other + end + matches_for_group = matcher |> List.wrap() @@ -703,6 +730,11 @@ defmodule Utils do |> String.trim_leading(app_dir) |> String.trim_leading("/documentation/") |> String.trim_trailing(".md") + |> Path.split() + |> Enum.reverse() + |> Enum.take(2) + |> Enum.reverse() + |> Enum.join("/") config |> Map.new() @@ -770,6 +802,7 @@ all_modules = acc = mix_project.project[:docs][:groups_for_modules] + |> Kernel.||([]) |> Enum.reject(fn {"Internals", _} -> true