Files
Void-Homelab/package.json
root ee582640ea feat(ui): page editor + reference detail
Page view: header + split-pane markdown editor (textarea on left,
marked + DOMPurify rendered preview on right) + backlinks card pulling
/api/pages/:id/backlinks. Save calls PATCH /api/pages/:id with body_md
and surfaces the resulting updated_at as a timestamp.

Reference detail: media block (image preview / YouTube embed via
youtube-nocookie / link fallback), summary card, metadata table, tags
card with attach/detach (creates the tag idempotently then attaches),
linked-from card from /api/links/to/ref/:id.

marked + DOMPurify vendored to public/vendor as ESM. The markdown
editor uses the explicit html: opt-in on dom.js's preview element
only — all other text comes from textContent.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 02:19:23 +10:00

29 lines
605 B
JSON

{
"name": "void-server",
"version": "2.0.0-alpha.1",
"type": "module",
"private": true,
"scripts": {
"start": "node server.js",
"migrate": "node lib/db/migrate.js up",
"test": "vitest run",
"test:watch": "vitest"
},
"dependencies": {
"bcrypt": "^6.0.0",
"dompurify": "^3.4.7",
"dotenv": "^17.4.2",
"express": "^5.2.1",
"marked": "^18.0.4",
"pg": "^8.21.0",
"pino": "^10.3.1",
"pino-pretty": "^13.1.3",
"zod": "^4.4.3"
},
"devDependencies": {
"@vitest/coverage-v8": "^4.1.7",
"supertest": "^7.2.2",
"vitest": "^4.1.7"
}
}