| { |
| "name": "research-article-template-editor-backend", |
| "version": "0.1.0", |
| "private": true, |
| "type": "module", |
| "scripts": { |
| "dev": "tsx watch src/server.ts", |
| "build": "tsc", |
| "start": "node dist/server.js", |
| "test": "vitest run", |
| "test:watch": "vitest", |
| "test:e2e": "npx playwright test" |
| }, |
| "dependencies": { |
| "@ai-sdk/openai": "^3.0.52", |
| "@ai-sdk/openai-compatible": "^2.0.41", |
| "@citation-js/core": "^0.7.21", |
| "@citation-js/plugin-bibtex": "^0.7.21", |
| "@citation-js/plugin-csl": "^0.7.22", |
| "@citation-js/plugin-doi": "^0.7.21", |
| "@hocuspocus/extension-database": "^3.4.4", |
| "@hocuspocus/provider": "^3.4.4", |
| "@hocuspocus/server": "^3.4.4", |
| "@hocuspocus/transformer": "^3.4.4", |
| "@huggingface/hub": "^2.11.0", |
| "@tiptap/core": "^3.22.3", |
| "@tiptap/extension-image": "^3.22.3", |
| "@tiptap/extension-link": "^3.22.3", |
| "@tiptap/extension-mathematics": "^3.22.3", |
| "@tiptap/extension-table": "^3.22.3", |
| "@tiptap/extension-table-cell": "^3.22.3", |
| "@tiptap/extension-table-header": "^3.22.3", |
| "@tiptap/extension-table-row": "^3.22.3", |
| "@tiptap/html": "^3.22.3", |
| "@tiptap/pm": "^3.22.3", |
| "@tiptap/starter-kit": "^3.22.3", |
| "ai": "^6.0.158", |
| "dotenv": "^17.4.1", |
| "express": "^4.21.0", |
| "katex": "^0.16.45", |
| "linkedom": "^0.18.12", |
| "lowlight": "^3.3.0", |
| "multer": "^2.1.1", |
| "playwright": "^1.59.1", |
| "shiki": "^4.0.2", |
| "ws": "^8.20.0", |
| "yjs": "^13.6.0", |
| "zod": "^4.3.6" |
| }, |
| "devDependencies": { |
| "@playwright/test": "^1.59.1", |
| "@types/express": "^5.0.0", |
| "@types/multer": "^2.1.0", |
| "@types/node": "^22.0.0", |
| "@types/supertest": "^7.2.0", |
| "@types/ws": "^8.18.1", |
| "supertest": "^7.2.2", |
| "tsx": "^4.19.0", |
| "typescript": "^5.6.0", |
| "vitest": "^4.1.4" |
| } |
| } |
|
|