feat: release Dever 0.1.4 with enforceable project guidance

This commit is contained in:
Antigravity committed 2026-10-09 05:33:57 +00:00
1 parent 201bdee372
commit 89629c2197
86 files changed
+2798 -338

No files matched your search

@@ -0,0 +1,4 @@
{
"lib": ["pip:markdown@3.8.2"],
"log": { "level": "info" }
}
@@ -0,0 +1,3 @@
external pip "python/render.py" {
lib "markdown@3.8.2"
}
@@ -0,0 +1 @@
cmd render = app.render
@@ -0,0 +1,8 @@
type RenderResult {
Rendered(html: Text)
error Rejected(message: Text)
}
render(source: Text) (html: Text) {
html = port.render(source)
}
@@ -0,0 +1,17 @@
package main
import (
"bytes"
"context"
"github.com/yuin/goldmark"
)
func Render(ctx context.Context, payload any, setting any) (any, error) {
var output bytes.Buffer
source := payload.(map[string]any)["source"].(string)
if err := goldmark.Convert([]byte(source), &output); err != nil {
return nil, err
}
return map[string]any{"html": output.String()}, nil
}
@@ -0,0 +1,5 @@
import { marked } from 'marked';
export async function render(payload, setting, signal) {
return { html: await marked.parse(payload.source) };
}
@@ -0,0 +1 @@
render(source: Text) (html: Text) fails app.RenderResult
@@ -0,0 +1,5 @@
import markdown
async def render(payload, setting):
return {"html": markdown.markdown(payload["source"])}
@@ -0,0 +1,16 @@
rejected() () {
verify(result(app.render("rejected input")))
}
port.render(source: Text) (html: Text) {
assert_eq(source, "rejected input")
fail(app.RenderResult.Rejected("invalid document"))
}
verify(value: app.RenderResult.Rejected(message)) () recover("test verifies declared rejection") {
assert_eq(message, "invalid document")
}
verify(value: app.RenderResult.Rendered(html)) () recover("test verifies declared rejection") {
assert(false)
}
@@ -0,0 +1,8 @@
rendered() () {
assert_eq(app.render("# Report"), "<h1>Report</h1>")
}
port.render(source: Text) (html: Text) {
assert_eq(source, "# Report")
html = "<h1>Report</h1>"
}