feat: implement MoonWave extractor tooling into pesde tools

This commit is contained in:
AsynchronousMatrix (Jack) 2025-02-20 20:53:29 +00:00
parent da74cb0a94
commit ce29b7998a
No known key found for this signature in database
GPG key ID: 7CC1E74769BC6C75
4 changed files with 146 additions and 0 deletions

View file

@ -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 MoonWaves extractor - a tool that parses your Lua code and produces structured, parseable data. With this data, you can build custom documentation tailored to your projects needs.

View file

@ -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)

View file

@ -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"]

View file

@ -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 <hi@asyncmatrix.dev>", "eryn L. K. <https://eryn.io/>"]
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"