@still garnet first module ported to workspace API 🙂 In dang of course
pub description = "A Dagger module for markdownlint, a markdown linter. https://github.com/DavidAnson/markdownlint-cli2"
type MarkdownLint {
"""
The version of markdownlint to use.
"""
pub version: String! = "latest"
"""
Filter the current workspace for use by markdownlint.
"""
pub inputs(ws: Workspace!): Directory! {
ws.directory("/", include: ["**/*.md", "**/.markdownlint*"])
}
"""
Build a sandbox with markdownlint installed and input files mounted.
"""
pub sandbox(ws: Workspace!): Container! {
container
.from("tmknom/markdownlint:" + version)
.withWorkdir("/app")
.withMountedDirectory(".", inputs(ws), owner: "nonroot")
}
"""
Lint markdown files in the current workspace.
"""
pub lint(ws: Workspace!): Void @check {
sandbox(ws)
.withExec(["markdownlint", "."])
.sync
null
}
"""
Fix markdown files in the current workspace.
"""
pub fix(ws: Workspace!): Changeset! @generate {
let ctr = sandbox(ws)
let before = ctr.directory(".")
let after = ctr
.withExec(["markdownlint", "--fix", "."], expect: ReturnType.ANY)
.directory(".")
after.changes(before)
}
}

ok, I'll investigate more on my side, something's weird here then
(this is on my list to cleanup in the new world)
Based on the current workspace/modules v2/develop -> generate work and Dang, I wanted to see how far I can improve the Java SDK.

wolfi dependency hell again?
really impressive
yeah seems stable, so I'll go with this

use an AST based analysis to introspect python modules:


for ✅