-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathpackage.json
More file actions
95 lines (95 loc) · 3.26 KB
/
package.json
File metadata and controls
95 lines (95 loc) · 3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{
"name": "@tuvixrss/api",
"version": "0.1.0",
"type": "module",
"description": "TuvixRSS tRPC API - Portable TypeScript backend for Docker and Cloudflare Workers",
"main": "dist/index.js",
"types": "src/index.ts",
"exports": {
".": {
"types": "./src/index.ts",
"default": "./dist/index.js"
}
},
"scripts": {
"dev": "tsx watch --env-file=.env --env-file=../../.env src/entries/node.ts",
"dev:workers": "wrangler dev --persist-to .wrangler/state",
"build": "tsup",
"build:tsc": "tsc",
"start": "node dist/entries/node.js",
"type-check": "tsc --noEmit",
"test": "vitest run",
"test:watch": "vitest",
"test:coverage": "vitest run --coverage",
"test:ui": "vitest --ui",
"db:generate": "drizzle-kit generate",
"db:migrate:local": "drizzle-kit migrate",
"db:migrate:d1": "bash scripts/migrate-d1.sh",
"db:migrate:d1:local": "mkdir -p migrations && cp drizzle/*.sql migrations/ 2>/dev/null || true && wrangler d1 migrations apply tuvix --local && rm -rf migrations",
"db:reset": "tsx src/db/reset-local.ts",
"db:studio": "drizzle-kit studio",
"db:push": "drizzle-kit push",
"validate:cloudflare": "tsx scripts/validate-cloudflare-config.ts",
"test:toml-substitution": "bash scripts/test-toml-substitution.sh",
"predeploy": "pnpm validate:cloudflare && pnpm build",
"deploy": "pnpm predeploy && bash scripts/deploy.sh",
"create-admin": "tsx src/cli/create-admin.ts",
"clear-articles": "tsx src/cli/clear-articles.ts",
"migrate:public-categories": "tsx src/scripts/migrate-public-categories-to-feeds.ts",
"lint": "eslint src --ext .ts",
"format": "prettier --write \"src/**/*.ts\"",
"format:check": "prettier --check \"src/**/*.ts\"",
"email:preview": "pnpm exec email dev --dir src/services/email-templates"
},
"dependencies": {
"@ai-sdk/openai": "^3.0.18",
"@hono/node-server": "^1.19.9",
"@hono/trpc-server": "^0.4.2",
"@react-email/components": "^1.0.6",
"@sentry/cloudflare": "^10.36.0",
"@sentry/node": "^10.36.0",
"@trpc/server": "^11.8.1",
"@tuvixrss/tricorder": "workspace:*",
"ai": "^6.0.49",
"bcrypt": "^6.0.0",
"better-auth": "^1.4.17",
"better-sqlite3": "^12.6.2",
"drizzle-orm": "^0.45.1",
"drizzle-zod": "^0.8.3",
"eslint-plugin-drizzle": "^0.2.3",
"feedsmith": "^2.9.0",
"hono": "^4.11.5",
"node-cron": "^4.2.1",
"react-email": "^5.2.5",
"resend": "^6.8.0",
"sanitize-html": "^2.17.0",
"superjson": "^2.2.6",
"zod": "^4.3.6"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20260124.0",
"@react-email/preview-server": "5.2.5",
"@types/bcrypt": "^6.0.0",
"@types/better-sqlite3": "^7.6.13",
"@types/node": "^25.0.10",
"@types/node-cron": "^3.0.11",
"@types/react": "^19.2.9",
"@types/sanitize-html": "^2.16.0",
"@typescript-eslint/eslint-plugin": "^8.53.1",
"@typescript-eslint/parser": "^8.53.1",
"@vitest/coverage-v8": "^4.0.18",
"drizzle-kit": "^0.31.8",
"eslint": "^9.39.2",
"knip": "^5.82.1",
"prettier": "^3.8.1",
"react": "^19.2.3",
"tsup": "^8.5.1",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"vitest": "^4.0.18",
"wrangler": "^4.60.0"
},
"engines": {
"node": ">=20.0.0"
}
}