One Calendar is a privacy-first calendar web app built with Next.js. It has modern security features, including e2ee, password-protected sharing, and self-destructing share links 馃搮
calendar.xyehr.cn
1{
2 "name": "one-calendar",
3 "version": "2.2.6",
4 "private": true,
5 "packageManager": "bun@1.3.8",
6 "scripts": {
7 "dev": "bun run generate:locales && next dev",
8 "build": "bun run generate:locales && next build",
9 "start": "next start",
10 "db": "docker-compose up -d",
11 "db:down": "docker-compose down",
12 "db:stop": "docker-compose stop",
13 "db:clean": "docker-compose down -v",
14 "generate:locales": "bun lib/gen-locales.mjs",
15 "generate:oauth-metadata": "bun lib/gen-oauth-metadata.mjs"
16 },
17 "dependencies": {
18 "@hookform/resolvers": "5.2.2",
19 "radix-ui": "latest",
20 "@radix-ui/react-accordion": "latest",
21 "@radix-ui/react-alert-dialog": "^1.1.7",
22 "@radix-ui/react-avatar": "^1.1.2",
23 "@radix-ui/react-checkbox": "^1.1.3",
24 "@radix-ui/react-collapsible": "^1.1.2",
25 "@radix-ui/react-context-menu": "^2.2.4",
26 "@radix-ui/react-dialog": "latest",
27 "@radix-ui/react-dropdown-menu": "^2.1.4",
28 "@radix-ui/react-hover-card": "^1.1.4",
29 "@radix-ui/react-label": "^2.1.1",
30 "@radix-ui/react-menubar": "^1.1.4",
31 "@radix-ui/react-navigation-menu": "^1.2.3",
32 "@radix-ui/react-popover": "latest",
33 "@radix-ui/react-scroll-area": "^1.2.2",
34 "@radix-ui/react-select": "^2.1.4",
35 "@radix-ui/react-separator": "^1.1.1",
36 "@radix-ui/react-slider": "^1.2.2",
37 "@radix-ui/react-slot": "^1.2.0",
38 "@radix-ui/react-switch": "^1.1.2",
39 "@radix-ui/react-tabs": "^1.1.2",
40 "@radix-ui/react-toast": "latest",
41 "@radix-ui/react-toggle": "^1.1.1",
42 "@radix-ui/react-toggle-group": "^1.1.1",
43 "@radix-ui/react-tooltip": "^1.1.6",
44 "autoprefixer": "^10.4.20",
45 "class-variance-authority": "^0.7.1",
46 "clsx": "^2.1.1",
47 "cmdk": "latest",
48 "date-fns": "4.1.0",
49 "embla-carousel-react": "8.6.0",
50 "input-otp": "1.4.2",
51 "lucide-react": "latest",
52 "next": "16.1.6",
53 "next-themes": "latest",
54 "react": "^18",
55 "react-day-picker": "8.10.1",
56 "react-dom": "^18",
57 "react-hook-form": "^7.54.1",
58 "react-resizable-panels": "^2.1.7",
59 "recharts": "3.7.0",
60 "tailwind-merge": "^2.5.5",
61 "tailwindcss-animate": "^1.0.7",
62 "vaul": "1.1.2",
63 "zod": "4.3.6",
64 "ics": "latest",
65 "framer-motion": "^12.7.4",
66 "motion": "latest",
67 "qr-code-styling": "latest",
68 "@clerk/nextjs": "latest",
69 "@clerk/localizations": "latest",
70 "geist": "latest",
71 "sonner": "2.0.7",
72 "@marsidev/react-turnstile": "latest",
73 "pg": "latest",
74 "remark-gfm": "latest",
75 "react-markdown": "latest"
76 },
77 "devDependencies": {
78 "@types/node": "25.2.3",
79 "@types/react": "^18",
80 "@types/react-dom": "^18",
81 "postcss": "8.5.6",
82 "tailwindcss": "3.4.19",
83 "turbo": "2.8.7",
84 "typescript": "5.9.3"
85 }
86}