- Login and first-run setup screens - File tree with inline create/rename, context menu, drag-and-drop move and trash with undo; all operations update the UI first and roll back on failure - Tabs keep a CodeMirror state each; edits autosave after 500 ms with If-Match revisions, unsent edits persist in IndexedDB, and conflicts or remote deletions surface as banners with explicit choices - WebSocket events sync external edits, moves and deletions into open tabs; reconnects trigger a full resync - Pasted or dropped images show instantly and upload to note.assets/ - Responsive layout with a swipe-in sidebar drawer on phones - Switch to TypeScript 6: vue-tsc does not support TypeScript 7 yet
33 lines
780 B
JSON
33 lines
780 B
JSON
{
|
|
"name": "rawmark-web",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build",
|
|
"typecheck": "vue-tsc --noEmit",
|
|
"test": "vitest run"
|
|
},
|
|
"dependencies": {
|
|
"@codemirror/commands": "^6.11.1",
|
|
"@codemirror/lang-markdown": "^6.5.2",
|
|
"@codemirror/language": "^6.13.1",
|
|
"@codemirror/state": "^6.7.6",
|
|
"@codemirror/view": "^6.43.14",
|
|
"@lezer/common": "^1.5.3",
|
|
"@lezer/highlight": "^1.2.5",
|
|
"@lezer/markdown": "^1.8.0",
|
|
"shiki": "^4.5.0",
|
|
"vue": "^3.5.44"
|
|
},
|
|
"devDependencies": {
|
|
"@vitejs/plugin-vue": "^6.0.10",
|
|
"commonmark-spec": "^0.31.2",
|
|
"happy-dom": "^21.0.3",
|
|
"typescript": "^6.0.3",
|
|
"vite": "^8.3.4",
|
|
"vitest": "^5.0.5",
|
|
"vue-tsc": "^3.3.13"
|
|
}
|
|
}
|