Files
edentext/package.json
T
Steffen Becker 361b14dc17 test: compare the rendered page against LibreOffice
Everything else in tests/ compares documents at the model level; nothing checked
what a page actually looks like. run.mjs renders the same file through soffice
and through the real app in Chromium, reads both back as word boxes, and diffs
page count, line count, line text and line position.

The corpus stays out of the repo: make-fixtures.mjs authors the baseline .docx
files, and real-world documents are whatever you drop into the gitignored
fixtures/ yourself.
2026-08-08 08:35:34 +00:00

69 lines
2.2 KiB
JSON

{
"name": "web-odf-editor",
"version": "0.1.0",
"type": "module",
"description": "A fully client-side, serverless rich-text editor that saves documents as .odt",
"license": "AGPL-3.0-only",
"author": "Steffen Becker <your-contact-email>",
"homepage": "https://github.com/",
"repository": {
"type": "git",
"url": ""
},
"scripts": {
"dev": "vite --host",
"build": "vite build",
"preview": "vite preview",
"check": "svelte-check --tsconfig ./tsconfig.json",
"test": "vitest run",
"test:watch": "vitest",
"test:lo": "vitest run tests/lo-roundtrip.test.ts",
"test:parity": "node tests/render-parity/run.mjs",
"test:parity:fixtures": "node tests/render-parity/make-fixtures.mjs"
},
"devDependencies": {
"@sveltejs/vite-plugin-svelte": "^7.1.2",
"@tsconfig/svelte": "^5.0.8",
"dictionary-de": "^3.0.0",
"dictionary-en": "^4.0.0",
"jsdom": "^29.1.1",
"svelte": "^5.55.9",
"svelte-check": "^4.7.1",
"typescript": "^6.0.3",
"vite": "^8.0.14",
"vitest": "^4.1.9"
},
"dependencies": {
"@tiptap/core": "^3.23.6",
"@tiptap/extension-bold": "^3.23.6",
"@tiptap/extension-bullet-list": "^3.23.6",
"@tiptap/extension-document": "^3.23.6",
"@tiptap/extension-font-family": "^3.23.6",
"@tiptap/extension-hard-break": "^3.23.6",
"@tiptap/extension-heading": "^3.23.6",
"@tiptap/extension-highlight": "3.23.6",
"@tiptap/extension-history": "^3.23.6",
"@tiptap/extension-italic": "^3.23.6",
"@tiptap/extension-link": "3.23.6",
"@tiptap/extension-list-item": "^3.23.6",
"@tiptap/extension-ordered-list": "^3.23.6",
"@tiptap/extension-paragraph": "^3.23.6",
"@tiptap/extension-placeholder": "^3.23.6",
"@tiptap/extension-strike": "^3.23.6",
"@tiptap/extension-subscript": "^3.23.6",
"@tiptap/extension-superscript": "^3.23.6",
"@tiptap/extension-table": "3.23.6",
"@tiptap/extension-text": "^3.23.6",
"@tiptap/extension-text-align": "^3.23.6",
"@tiptap/extension-text-style": "^3.23.6",
"@tiptap/extension-underline": "^3.23.6",
"@tiptap/pm": "^3.23.6",
"docx": "^9.7.1",
"html2canvas": "^1.4.1",
"hunspell-asm": "^4.0.2",
"jspdf": "^4.2.1",
"odf-kit": "^0.13.5",
"utif2": "^4.1.0"
}
}