wraith/node_modules/@lezer/markdown/bin/build-readme.cjs
Vantz Stockwell 2848d79915 feat: Phase 1 complete — Tauri v2 foundation
Rust backend: SQLite (WAL mode, 8 tables), vault encryption
(Argon2id + AES-256-GCM), settings/connections/credentials
services, 19 Tauri command wrappers. 46/46 tests passing.

Vue 3 frontend: unlock/create vault flow, Pinia app store,
Tailwind CSS v4 dark theme with Wraith branding.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 15:09:41 -04:00

40 lines
1.4 KiB
JavaScript

// Build github-proof readmes that contain the package's API
// docs as HTML.
const {gather} = require("getdocs-ts")
const {build} = require("builddocs")
const {join} = require("path"), fs = require("fs")
let root = join(__dirname, "..")
function buildReadme() {
let template = fs.readFileSync(join(root, "src", "README.md"), "utf8")
let placeholders = template.match(/\n@\w+(?=\n|$)/g), dummy = placeholders.join("\n\n<hr>\n\n")
let html = build({
mainText: dummy,
anchorPrefix: "",
allowUnresolvedTypes: false,
imports: [type => {
if (/\bcommon\b/.test(type.typeSource))
return `https://lezer.codemirror.net/docs/ref/#common.${type.type}`
if (/\blr\b/.test(type.typeSource))
return `https://lezer.codemirror.net/docs/ref/#lr.${type.type}`
if (/\bhighlight\b/.test(type.typeSource))
return `https://lezer.codemirror.net/docs/ref/#highlight.${type.type}`
if (type.type == "NodeSet") console.log(type.typeSource)
}]
}, gather({filename: join(root, "src", "index.ts"), basedir: join(root, "src"), }))
html = html.replace(/<\/?span.*?>/g, "")
.replace(/id="(.*?)"/g, (_, id) => `id="user-content-${id.toLowerCase()}"`)
.replace(/href="#(.*?)"/g, (_, id) => `href="#user-content-${id.toLowerCase()}"`)
let pieces = html.split("\n<hr>\n")
let i = 0
return template.replace(/\n@\w+(?=\n|$)/g, _ => pieces[i++])
}
fs.writeFileSync(join(root, "README.md"), buildReadme())