From ce29b7998a9d57af1021d92831e29fce8f3dc4a3 Mon Sep 17 00:00:00 2001 From: "AsynchronousMatrix (Jack)" Date: Thu, 20 Feb 2025 20:53:29 +0000 Subject: [PATCH] feat: implement MoonWave extractor tooling into pesde tools --- bins/moonwave-extractor/README.md | 5 ++ bins/moonwave-extractor/init.luau | 7 ++ bins/moonwave-extractor/pesde.lock | 116 +++++++++++++++++++++++++++++ bins/moonwave-extractor/pesde.toml | 18 +++++ 4 files changed, 146 insertions(+) create mode 100644 bins/moonwave-extractor/README.md create mode 100644 bins/moonwave-extractor/init.luau create mode 100644 bins/moonwave-extractor/pesde.lock create mode 100644 bins/moonwave-extractor/pesde.toml diff --git a/bins/moonwave-extractor/README.md b/bins/moonwave-extractor/README.md new file mode 100644 index 0000000..53311eb --- /dev/null +++ b/bins/moonwave-extractor/README.md @@ -0,0 +1,5 @@ +# MoonWave Extractor + +[Learn more about MoonWave](https://eryn.io/moonwave/) + +MoonWave is a robust documentation generator for Lua projects. This package gives you access to MoonWave’s extractor - a tool that parses your Lua code and produces structured, parseable data. With this data, you can build custom documentation tailored to your project’s needs. diff --git a/bins/moonwave-extractor/init.luau b/bins/moonwave-extractor/init.luau new file mode 100644 index 0000000..5655278 --- /dev/null +++ b/bins/moonwave-extractor/init.luau @@ -0,0 +1,7 @@ +-- TODO: Make use of returned exit code. Currently this script will get +-- required by a pesde generated linker script, and due to a lune bug, +-- exiting from within a required module causes a non-winding panic + +-- See https://github.com/lune-org/lune/pull/247 for more details + +require("./lune_packages/core")("evaera/moonwave", _G.PESDE_ROOT) diff --git a/bins/moonwave-extractor/pesde.lock b/bins/moonwave-extractor/pesde.lock new file mode 100644 index 0000000..e25c38d --- /dev/null +++ b/bins/moonwave-extractor/pesde.lock @@ -0,0 +1,116 @@ +name = "pesde/moonwave_extractor" +version = "1.2.1" +target = "lune" + +[graph."0x5eal/unzip@0.1.1 luau"] +resolved_ty = "standard" + +[graph."0x5eal/unzip@0.1.1 luau".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/pesde-pkg/index" + +[graph."0x5eal/unzip@0.1.1 luau".pkg_ref.dependencies] +asciitable = [{ name = "kimpure/asciitable", version = "^0.2.1", index = "https://github.com/pesde-pkg/index" }, "dev"] +frktest = [{ name = "itsfrank/frktest", version = "^0.0.2", index = "https://github.com/pesde-pkg/index", target = "lune" }, "dev"] +luau-lsp = [{ name = "pesde/luau_lsp", version = "=1.39.2", index = "https://github.com/pesde-pkg/index", target = "lune" }, "dev"] +stylua = [{ name = "pesde/stylua", version = "=2.0.2", index = "https://github.com/pesde-pkg/index", target = "lune" }, "dev"] + +[graph."corecii/greentea@0.4.11 lune"] +resolved_ty = "standard" + +[graph."corecii/greentea@0.4.11 lune".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/daimond113/pesde-index" + +[graph."jiwonz/dirs@0.3.0 lune"] +resolved_ty = "standard" + +[graph."jiwonz/dirs@0.3.0 lune".dependencies] +"corecii/greentea@0.4.11 lune" = "greentea" +"jiwonz/pathfs@0.3.2 lune" = "pathfs" + +[graph."jiwonz/dirs@0.3.0 lune".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/pesde-pkg/index" + +[graph."jiwonz/dirs@0.3.0 lune".pkg_ref.dependencies] +greentea = [{ name = "corecii/greentea", version = "^0.4.10", index = "https://github.com/daimond113/pesde-index" }, "standard"] +luau_lsp = [{ name = "pesde/luau_lsp", version = "^1.38.1", index = "https://github.com/daimond113/pesde-index" }, "dev"] +pathfs = [{ name = "jiwonz/pathfs", version = "^0.3.0", index = "https://github.com/daimond113/pesde-index" }, "standard"] +selene = [{ name = "pesde/selene", version = "^0.28.0", index = "https://github.com/daimond113/pesde-index" }, "dev"] +stylua = [{ name = "pesde/stylua", version = "^2.0.2", index = "https://github.com/daimond113/pesde-index" }, "dev"] + +[graph."jiwonz/luau_disk@0.1.4 luau"] +resolved_ty = "standard" + +[graph."jiwonz/luau_disk@0.1.4 luau".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/pesde-pkg/index" + +[graph."jiwonz/luau_path@0.1.1 luau"] +resolved_ty = "standard" + +[graph."jiwonz/luau_path@0.1.1 luau".dependencies] +"jiwonz/luau_disk@0.1.4 luau" = "luau_disk" + +[graph."jiwonz/luau_path@0.1.1 luau".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/daimond113/pesde-index" + +[graph."jiwonz/luau_path@0.1.1 luau".pkg_ref.dependencies] +luau_disk = [{ name = "jiwonz/luau_disk", version = "^0.1.2", index = "https://github.com/pesde-pkg/index" }, "standard"] + +[graph."jiwonz/pathfs@0.3.2 lune"] +resolved_ty = "standard" + +[graph."jiwonz/pathfs@0.3.2 lune".dependencies] +"corecii/greentea@0.4.11 lune" = "greentea" +"jiwonz/luau_path@0.1.1 luau" = "luau_path" + +[graph."jiwonz/pathfs@0.3.2 lune".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/pesde-pkg/index" + +[graph."jiwonz/pathfs@0.3.2 lune".pkg_ref.dependencies] +frktest = [{ name = "itsfrank/frktest", version = "^0.0.2", index = "https://github.com/daimond113/pesde-index" }, "dev"] +greentea = [{ name = "corecii/greentea", version = "^0.4.11", index = "https://github.com/daimond113/pesde-index" }, "standard"] +luau_check = [{ name = "jiwonz/luau_check", version = "^0.3.8", index = "https://github.com/daimond113/pesde-index" }, "dev"] +luau_path = [{ name = "jiwonz/luau_path", version = "^0.1.1", index = "https://github.com/daimond113/pesde-index", target = "luau" }, "standard"] + +[graph."lukadev_0/option@1.2.0 lune"] +direct = ["option", { name = "lukadev_0/option", version = "^1.2.0", index = "default" }, "standard"] +resolved_ty = "standard" + +[graph."lukadev_0/option@1.2.0 lune".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/pesde-pkg/index" + +[graph."lukadev_0/result@1.2.0 lune"] +direct = ["result", { name = "lukadev_0/result", version = "^1.2.0", index = "default" }, "standard"] +resolved_ty = "standard" + +[graph."lukadev_0/result@1.2.0 lune".pkg_ref] +ref_ty = "pesde" +index_url = "https://github.com/pesde-pkg/index" + +[graph."pesde/toolchainlib@0.1.12 lune"] +direct = ["core", { workspace = "pesde/toolchainlib", version = "^" }, "standard"] +resolved_ty = "standard" + +[graph."pesde/toolchainlib@0.1.12 lune".dependencies] +"0x5eal/unzip@0.1.1 luau" = "unzip" +"jiwonz/dirs@0.3.0 lune" = "dirs" +"jiwonz/pathfs@0.3.2 lune" = "pathfs" +"lukadev_0/option@1.2.0 lune" = "option" +"lukadev_0/result@1.2.0 lune" = "result" + +[graph."pesde/toolchainlib@0.1.12 lune".pkg_ref] +ref_ty = "workspace" +path = "toolchainlib" + +[graph."pesde/toolchainlib@0.1.12 lune".pkg_ref.dependencies] +dirs = [{ name = "jiwonz/dirs", version = "^0.3.0", index = "https://github.com/pesde-pkg/index" }, "standard"] +option = [{ name = "lukadev_0/option", version = "^1.2.0", index = "https://github.com/pesde-pkg/index" }, "peer"] +pathfs = [{ name = "jiwonz/pathfs", version = "^0.3.0", index = "https://github.com/pesde-pkg/index" }, "standard"] +result = [{ name = "lukadev_0/result", version = "^1.2.0", index = "https://github.com/pesde-pkg/index" }, "peer"] +unzip = [{ name = "0x5eal/unzip", version = "^0.1.0", index = "https://github.com/pesde-pkg/index", target = "luau" }, "standard"] diff --git a/bins/moonwave-extractor/pesde.toml b/bins/moonwave-extractor/pesde.toml new file mode 100644 index 0000000..ad985dc --- /dev/null +++ b/bins/moonwave-extractor/pesde.toml @@ -0,0 +1,18 @@ +name = "pesde/moonwave_extractor" +version = "1.2.1" +description = "Moonwave is a tool for generating documentation from comments in Lua source code." +authors = ["AsyncMatrix ", "eryn L. K. "] +repository = "https://github.com/pesde-pkg/tooling/tree/main/bins/moonwave-extractor" +includes = ["init.luau", "README.md", "pesde.toml"] + +[target] +environment = "lune" +bin = "init.luau" + +[dependencies] +result = { name = "lukadev_0/result", version = "^1.2.0" } +option = { name = "lukadev_0/option", version = "^1.2.0" } +core = { workspace = "pesde/toolchainlib", version = "^" } + +[indices] +default = "https://github.com/pesde-pkg/index"