{ "name": "@triliumnext/server", "version": "0.0.1", "description": "The server-side component of TriliumNext, which exposes the client via the web, allows for sync and provides a REST API for both internal and external use.", "homepage": "https://github.com/TriliumNext/Notes#readme", "bugs": { "url": "https://github.com/TriliumNext/Notes/issues" }, "repository": { "type": "git", "url": "git+https://github.com/TriliumNext/Notes.git" }, "license": "AGPL-3.0-only", "author": { "name": "TriliumNext Notes Team", "email": "contact@eliandoran.me", "url": "https://github.com/TriliumNext/Notes" }, "type": "module", "main": "index.js", "scripts": { "build:clean": "rimraf ./dist ./build", "build:copy-dist": "tsx ./scripts/copy-dist.ts", "build:prepare-dist": "npm run build:clean && npm run build:ts && npm run build:copy-dist", "build:ts": "tsc", "start": "cross-env TRILIUM_DATA_DIR=./data TRILIUM_ENV=dev nodemon src/main.ts", "test": "cross-env TRILIUM_ENV=dev TRILIUM_DATA_DIR=./spec/data TRILIUM_INTEGRATION_TEST=memory vitest", "coverage": "cross-env TRILIUM_ENV=dev TRILIUM_DATA_DIR=./spec/data TRILIUM_INTEGRATION_TEST=memory vitest --coverage", "package": "bash ./scripts/build-server.sh" }, "dependencies": { "express": "4.21.2", "express-openid-connect": "^2.17.1", "express-rate-limit": "7.5.0", "express-session": "1.18.1", "serve-favicon": "2.5.0", "cookie-parser": "1.4.7", "helmet": "8.1.0", "turndown": "7.2.0", "compression": "1.8.0", "i18next": "25.0.0", "i18next-fs-backend": "2.6.0", "tmp": "0.2.3", "jsdom": "26.1.0", "better-sqlite3": "11.9.1", "safe-compare": "1.1.4", "debounce": "2.2.0", "chardet": "2.1.0", "rand-token": "1.0.1", "sanitize-filename": "1.6.3", "sanitize-html": "2.16.0", "time2fa": "^1.3.0", "axios": "1.8.4", "xml2js": "0.6.2", "swagger-jsdoc": "6.2.8", "strip-bom": "5.0.0", "cls-hooked": "4.2.2", "ejs": "3.1.10", "cheerio": "1.0.0", "multer": "1.4.5-lts.2", "dayjs": "1.11.13", "chokidar": "4.0.3", "archiver": "7.0.1", "jimp": "1.6.0", "image-type": "5.2.0", "supertest": "7.1.0", "async-mutex": "0.5.0", "striptags": "3.2.0", "@braintree/sanitize-url": "7.1.1", "html": "1.0.0", "csrf-csrf": "3.1.0", "@triliumnext/express-partial-content": "1.0.1", "session-file-store": "1.5.0", "is-svg": "5.1.0", "stream-throttle": "0.1.3", "marked": "15.0.8", "webpack": "5.99.5", "js-yaml": "4.1.0", "fs-extra": "11.3.0", "escape-html": "1.0.3", "ws": "8.18.1", "ini": "5.0.0", "unescape": "1.0.1", "html2plaintext": "2.1.4", "normalize-strings": "1.1.1", "is-animated": "2.0.2", "@triliumnext/turndown-plugin-gfm": "1.0.61", "electron-window-state": "5.0.3", "swagger-ui-express": "5.0.1", "ollama": "0.5.14", "openai": "4.93.0", "@anthropic-ai/sdk": "0.39.0", "jquery-hotkeys": "0.2.2", "jquery.fancytree": "2.38.5", "jquery": "3.7.1", "katex": "0.16.22", "autocomplete.js": "0.38.1", "boxicons": "2.1.4", "normalize.css": "8.0.1", "codemirror": "5.65.19", "@highlightjs/cdn-assets": "11.11.1" }, "devDependencies": { "typescript": "5.8.3", "typescript-eslint": "8.30.1", "@types/cookie-parser": "1.4.8", "@types/jsdom": "21.1.7", "@types/better-sqlite3": "7.6.13", "@types/safe-compare": "1.1.2", "@types/debounce": "1.2.4", "@types/xml2js": "0.4.14", "@types/swagger-ui-express": "4.1.8", "@types/cls-hooked": "4.3.9", "@types/ejs": "3.1.5", "@types/cheerio": "0.22.35", "@types/multer": "1.4.12", "@types/archiver": "6.0.3", "@types/supertest": "6.0.3", "@types/serve-favicon": "2.5.7", "@types/compression": "1.7.5", "@types/tmp": "0.2.6", "@types/js-yaml": "4.0.9", "@types/html": "1.0.4", "@types/session-file-store": "1.2.5", "@types/fs-extra": "11.0.4", "@types/ini": "4.1.1", "@types/turndown": "5.0.5", "@types/sanitize-html": "2.15.0", "@types/stream-throttle": "0.1.4", "@types/mime-types": "2.1.4", "@types/sax": "1.2.7", "mime-types": "3.0.1", "nodemon": "3.1.9", "cross-env": "7.0.3", "tsx": "4.19.3", "@types/express-session": "1.18.1", "@types/escape-html": "1.0.4", "@types/ws": "8.18.1", "@excalidraw/excalidraw": "0.18.0" } }