{ "name": "astrolabe", "version": "3.46.0", "description": "A self-hosted reading room for a folder of plain Markdown and LaTeX: live-preview editor, wikilinks, graph, Arabic-aware search, a PDF reader, trackers, drawings, and a press that publishes what you choose.", "private": true, "type": "module", "engines": { "node": ">=24.0.0" }, "scripts": { "dev": "concurrently -n server,web -c yellow,cyan \"node --env-file-if-exists=.env --watch server/index.ts\" \"vite\"", "build": "vite build && node scripts/build-sw.mjs", "start": "npm run build && node --env-file-if-exists=.env server/index.ts", "serve": "node --env-file-if-exists=.env server/index.ts", "hash-password": "node scripts/hash-password.ts", "typecheck": "tsc --noEmit", "check-i18n": "node scripts/check-i18n.mjs", "check-presets": "node scripts/check-presets.mjs", "check-signatures": "node scripts/check-signatures.mjs", "check-contrast": "node scripts/check-contrast.mjs", "check-caret": "node scripts/check-caret.mjs", "check-ink": "node scripts/check-ink.mjs", "check-fidelity": "node scripts/check-fidelity.mjs", "check-french": "node scripts/check-french.mjs", "check-sections": "node scripts/check-sections.mjs", "check-excerpt": "node scripts/check-excerpt.mjs", "check-design": "node scripts/shoot-design.mjs", "check-board": "node scripts/check-board.mjs", "check-preview": "node scripts/check-preview.mjs", "check-print": "node scripts/check-print.mjs", "check-deck": "node scripts/check-deck.mjs", "check-a11y": "node scripts/check-a11y.mjs", "check-phone": "node scripts/check-phone.mjs", "check-cascade": "node scripts/check-cascade.mjs", "check-bundle": "node scripts/check-bundle.mjs", "check-perf": "node scripts/check-perf.mjs", "check-books": "node scripts/check-books.mjs", "check-hovercache": "node scripts/check-hovercache.mjs", "check-designer-nav": "node scripts/check-designer-nav.mjs", "check-layouts": "node scripts/check-layouts.mjs", "check-windows-layout": "node scripts/check-windows-layout.mjs", "check-sidepanel": "node scripts/check-sidepanel.mjs", "check-keymap": "node scripts/check-keymap.mjs", "check-desktop": "node scripts/check-desktop.mjs && npm --prefix desktop run -s typecheck", "check-settings": "node scripts/check-settings.mjs", "check-media": "node scripts/check-media.mjs", "check-whatsnew": "node scripts/check-whatsnew.mjs", "check-names": "node scripts/check-names.mjs", "check-shell-seam": "node scripts/check-shell-seam.mjs", "check-docs": "node scripts/check-docs.mjs", "check-icons": "node scripts/gen-folder-icons.mjs --check", "gen-icons": "node scripts/gen-folder-icons.mjs", "build-docs": "node scripts/build-docs.mjs", "desktop": "npm --prefix desktop run start", "desktop:typecheck": "npm --prefix desktop run typecheck", "desktop:probe": "npm --prefix desktop run probe", "desktop:dist": "npm --prefix desktop run dist", "test": "node --test \"tests/*.test.ts\"" }, "dependencies": { "@audio/decode-opus": "^1.3.1", "@audio/decode-webm": "^1.6.1", "@codemirror/autocomplete": "^6.18.0", "@codemirror/commands": "^6.6.0", "@codemirror/lang-markdown": "^6.5.0", "@codemirror/language": "^6.12.4", "@codemirror/language-data": "^6.5.2", "@codemirror/legacy-modes": "^6.5.3", "@codemirror/search": "^6.5.6", "@codemirror/state": "^6.7.0", "@codemirror/view": "^6.43.4", "@excalidraw/excalidraw": "^0.18.1", "@fugood/whisper.node": "^1.1.3", "@hono/node-server": "^2.0.8", "@lezer/highlight": "^1.2.0", "@lezer/markdown": "^1.6.4", "@replit/codemirror-vim": "^6.3.0", "argon2": "^0.45.1", "chokidar": "^5.0.0", "gray-matter": "^4.0.3", "hono": "^4.12.27", "katex": "^0.18.4", "lz-string": "^1.5.0", "mermaid": "^11.17.2", "minisearch": "^7.2.0", "pdfjs-dist": "^6.2.108", "react": "^18.3.1", "react-dom": "^18.3.1", "sherpa-onnx-node": "^1.13.8", "zustand": "^5.0.0" }, "devDependencies": { "@types/katex": "^0.16.8", "@types/node": "^22.0.0", "@types/react": "^18.3.0", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.0", "concurrently": "^9.0.0", "lucide-static": "^1.41.0", "marked": "^18.0.11", "playwright": "^1.63.0", "typescript": "^5.6.0", "vite": "^6.0.0" }, "overrides": { "mermaid": { "katex": "$katex" } } }