{ "name": "@papra/app-server", "version": "0.0.0", "private": true, "description": "Papra app server", "keywords": [], "license": "AGPL-3.0-or-later", "author": "Corentin Thomasset (https://corentin.tech)", "type": "module", "exports": { "./organizations/constants": "./src/modules/organizations/organizations.constants.ts", "./customProperties/constants": "./src/modules/custom-properties/custom-properties.constants.ts", "./apiKeys/constants": "./src/modules/api-keys/api-keys.constants.ts", "./plans/constants": "./src/modules/plans/plans.constants.ts" }, "scripts": { "dev": "tsx watch --env-file-if-exists=.env src/index.ts | crowlog-pretty", "build": "pnpm esbuild --bundle src/index.ts --platform=node --packages=external --format=esm --outfile=dist/index.js --minify --alias:@papra/std=../../packages/std/src/index.ts", "start": "node dist/index.js", "start:with-migrations": "pnpm migrate:up:prod && pnpm start", "test": "vitest run", "test:watch": "vitest watch", "test:unit": "vitest run --exclude '**/*.int.test.ts'", "test:unit:watch": "vitest watch --exclude '**/*.int.test.ts'", "test:int": "vitest run .int.test.ts", "test:int:watch": "vitest watch '**/*.int.test.ts'", "test:int:pull-images": "tsx --env-file-if-exists=.env src/scripts/pull-test-container-images.script.ts | crowlog-pretty", "test:smoke": "tsx src/scripts/smoke-test.script.ts", "typecheck": "tsc --noEmit", "migrate:up": "tsx --env-file-if-exists=.env src/scripts/migrate-up.script.ts | crowlog-pretty", "migrate:down": "tsx --env-file-if-exists=.env src/scripts/migrate-down.script.ts | crowlog-pretty", "migrate:up:prod": "tsx src/scripts/migrate-up.script.ts", "migrate:create": "sh -c 'tsx --env-file-if-exists=.env src/scripts/create-migration.ts \"$1\" | crowlog-pretty' --", "db:studio": "drizzle-kit studio", "clean:dist": "rm -rf dist", "clean:db": "rm db.sqlite", "clean:storage": "rm -rf local-documents", "clean:all": "pnpm clean:db && pnpm clean:storage", "dev:reset": "pnpm clean:all && pnpm migrate:up", "script:send-intake-email": "tsx --env-file-if-exists=.env src/scripts/send-intake-email.script.ts | crowlog-pretty", "stripe:webhook": "stripe listen --forward-to localhost:1221/api/stripe/webhook", "script:make-user-admin": "tsx --env-file-if-exists=.env src/scripts/make-user-admin.script.ts", "maintenance:encrypt-all-documents": "tsx --env-file-if-exists=.env src/scripts/encrypt-all-documents.script.ts", "maintenance:migrate-document-storage": "tsx --env-file-if-exists=.env src/scripts/migrate-document-storage.script.ts" }, "dependencies": { "@azure/storage-blob": "^12.27.0", "@better-auth/expo": "catalog:", "@cadence-mq/core": "^0.2.1", "@cadence-mq/driver-libsql": "^0.2.4", "@cadence-mq/driver-memory": "^0.2.0", "@clack/prompts": "1.0.0-alpha.6", "@corentinth/chisels": "catalog:", "@corentinth/friendly-ids": "^0.0.1", "@crowlog/async-context-plugin": "^2.1.0", "@crowlog/logger": "^2.2.2", "@hono/node-server": "^2.0.2", "@libsql/client": "^0.14.0", "@owlrelay/api-sdk": "^0.0.3", "@owlrelay/webhook": "^0.0.3", "@papra/lecture": "workspace:*", "@papra/search-parser": "workspace:*", "@papra/std": "workspace:*", "@papra/webhooks": "workspace:*", "@paralleldrive/cuid2": "catalog:", "@sindresorhus/slugify": "^3.0.0", "@tanstack/ai": "^0.28.0", "@tanstack/ai-anthropic": "^0.15.11", "@tanstack/ai-openai": "^0.14.1", "@valibot/to-json-schema": "^1.6.0", "better-auth": "catalog:", "busboy": "^1.6.0", "c12": "^3.0.4", "chokidar": "^4.0.3", "drizzle-kit": "^0.31.10", "drizzle-orm": "^0.45.2", "figue": "catalog:", "file-type": "^21.3.0", "filenamify": "^7.0.1", "hono": "^4.12.18", "mime-types": "^3.0.1", "nanoid": "^5.1.5", "node-cron": "^3.0.3", "nodemailer": "^9.0.0", "p-limit": "catalog:", "p-queue": "^8.1.0", "picomatch": "^4.0.4", "posthog-node": "^5.20.0", "resend": "^4.6.0", "s3mini": "^0.9.5", "stripe": "^17.7.0", "tsx": "catalog:", "undici": "^8.2.0", "valibot": "catalog:" }, "devDependencies": { "@crowlog/pretty": "2.0.2", "@testcontainers/azurite": "11.5.1", "@testcontainers/localstack": "11.5.1", "@total-typescript/ts-reset": "0.6.1", "@types/backblaze-b2": "1.5.6", "@types/busboy": "1.5.4", "@types/mime-types": "2.1.4", "@types/node": "catalog:", "@types/node-cron": "3.0.11", "@types/nodemailer": "8.0.1", "@types/picomatch": "4.0.3", "@vitest/coverage-v8": "catalog:", "esbuild": "0.28.1", "magicast": "0.3.5", "memfs": "4.17.2", "testcontainers": "11.5.1", "typescript": "catalog:", "vitest": "catalog:" } }