trilium/apps/server/package.json

108 lines
5.3 KiB
JSON

{
"name": "@triliumnext/server",
"version": "0.105.0",
"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.",
"private": true,
"main": "./src/main.ts",
"scripts": {
"dev": "cross-env NODE_ENV=development TRILIUM_ENV=dev TRILIUM_DATA_DIR=data TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts",
"dev-alt": "cross-env NODE_ENV=development TRILIUM_ENV=dev TRILIUM_DATA_DIR=data2 TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts",
"start-no-dir": "cross-env NODE_ENV=development TRILIUM_ENV=dev TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts",
"profile": "cross-env NODE_ENV=development TRILIUM_ENV=dev TRILIUM_DATA_DIR=data TRILIUM_RESOURCE_DIR=src TRILIUM_PROFILE=1 node --import tsx ./src/main.ts",
"edit-integration-db": "cross-env NODE_ENV=development TRILIUM_PORT=8086 TRILIUM_ENV=dev TRILIUM_DATA_DIR=spec/db TRILIUM_DOCUMENT_PATH=../../packages/trilium-core/src/test/fixtures/document.db TRILIUM_INTEGRATION_TEST=edit TRILIUM_RESOURCE_DIR=src tsx watch --ignore '../client/node_modules/.vite-temp' ./src/main.ts",
"build": "tsx scripts/build.ts",
"package": "pnpm build && bash scripts/build-server.sh",
"test": "vitest",
"coverage": "vitest --coverage",
"test-build": "vitest --config vitest.build.config.mts",
"start-prod": "cross-env TRILIUM_DATA_DIR=data pnpm start-prod-no-dir",
"start-prod-no-dir": "pnpm build && cross-env TRILIUM_ENV=production TRILIUM_PORT=8082 node dist/main.mjs",
"e2e": "playwright test",
"circular-deps": "dpdm -T src/**/*.ts --tree=false --warning=false --skip-dynamic-imports=circular",
"docker-build-debian": "pnpm build && docker build . -t triliumnext-debian -f Dockerfile",
"docker-build-alpine": "pnpm build && docker build . -t triliumnext-alpine -f Dockerfile.alpine",
"docker-build-rootless-debian": "pnpm build && docker build . -t triliumnext-rootless-debian -f Dockerfile.rootless",
"docker-build-rootless-alpine": "pnpm build && docker build . -t triliumnext-rootless-alpine -f Dockerfile.alpine.rootless",
"docker-start-debian": "pnpm docker-build-debian && docker run -p 8081:8080 triliumnext-debian",
"docker-start-alpine": "pnpm docker-build-alpine && docker run -p 8081:8080 triliumnext-alpine",
"docker-start-rootless-debian": "pnpm docker-build-rootless-debian && docker run -p 8081:8080 triliumnext-rootless-debian",
"docker-start-rootless-alpine": "pnpm docker-build-rootless-alpine && docker run -p 8081:8080 triliumnext-rootless-alpine",
"generate-document": "cross-env TRILIUM_ENV=dev TRILIUM_DATA_DIR=data TRILIUM_RESOURCE_DIR=src tsx ./scripts/generate_document.ts",
"proxy-traefik": "docker run --name trilium-traefik --rm --network=host -v ./docker/traefik/traefik.yml:/etc/traefik/traefik.yml:ro -v ./docker/traefik/dynamic:/etc/traefik/dynamic traefik:latest",
"proxy-nginx-subdir": "docker run --name trilium-nginx-subdir --rm -p 8095:8095 --add-host=host.docker.internal:host-gateway -v ./docker/nginx.conf:/etc/nginx/conf.d/default.conf:ro nginx:latest"
},
"dependencies": {
"@ai-sdk/anthropic": "4.0.49",
"@ai-sdk/google": "4.0.64",
"@ai-sdk/openai": "4.0.60",
"@anthropic-ai/claude-agent-sdk": "^0.3.207",
"@hyzyla/pdfium": "2.1.13",
"@modelcontextprotocol/sdk": "^1.12.1",
"ai": "7.0.93",
"better-sqlite3": "13.0.3",
"html-to-text": "10.0.1",
"i18next": "26.4.2",
"ipaddr.js": "^2.4.0",
"js-yaml": "5.4.1",
"unpdf": "1.8.1"
},
"devDependencies": {
"@braintree/sanitize-url": "7.1.2",
"@triliumnext/backup-container": "workspace:*",
"@triliumnext/commons": "workspace:*",
"@triliumnext/core": "workspace:*",
"@triliumnext/highlightjs": "workspace:*",
"@types/better-sqlite3": "9.6.0",
"@types/compression": "1.8.1",
"@types/cookie-parser": "1.4.10",
"@types/ejs": "3.1.5",
"@types/express-session": "1.19.0",
"@types/html": "1.0.4",
"@types/ini": "4.1.1",
"@types/multer": "2.2.0",
"@types/safe-compare": "1.1.2",
"@types/serve-favicon": "2.5.7",
"@types/serve-static": "2.2.0",
"@types/supertest": "7.2.1",
"@types/tmp": "0.2.6",
"@types/ws": "8.18.1",
"@types/yauzl": "3.4.0",
"archiver": "8.0.0",
"chokidar": "5.0.0",
"color": "5.0.3",
"compression": "1.8.1",
"cookie-parser": "1.4.7",
"csrf-csrf": "4.0.3",
"ejs": "6.0.1",
"express": "5.2.1",
"express-openid-connect": "3.4.0",
"express-rate-limit": "8.7.0",
"express-session": "1.19.0",
"file-uri-to-path": "2.0.0",
"helmet": "8.3.0",
"html": "1.0.0",
"http-proxy-agent": "9.1.0",
"https-proxy-agent": "9.1.0",
"i18next-fs-backend": "2.6.7",
"image-type": "6.1.0",
"ini": "7.0.0",
"is-animated": "3.0.0",
"is-svg": "6.1.0",
"jimp": "1.6.1",
"marked": "18.0.11",
"mime-types": "3.0.2",
"multer": "2.3.0",
"officeparser": "7.8.0",
"openid-client": "6.8.8",
"rand-token": "1.0.1",
"safe-compare": "1.1.4",
"serve-favicon": "2.5.1",
"supertest": "7.2.2",
"tesseract.js": "7.0.0",
"time2fa": "1.4.2",
"tmp": "0.2.7",
"upng-js": "2.1.0",
"vite": "8.2.2",
"yauzl": "3.4.0"
}
}