forked from dev-xo/remix-saas
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpackage.json
99 lines (99 loc) · 2.96 KB
/
package.json
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
96
97
98
99
{
"name": "remix-saas",
"description": "A Lightweight, Feature-Rich, and Production-Ready Remix Stack for your next SaaS application.",
"author": "Daniel Kanem <[email protected]> (https://twitter.com/DanielKanem)",
"repository": "dev-xo/remix-saas",
"private": true,
"sideEffects": false,
"type": "module",
"imports": {
"#*": "./*"
},
"scripts": {
"build": "remix vite:build",
"dev": "node ./server.mjs",
"start": "cross-env NODE_ENV=production node ./server.mjs",
"lint": "eslint .",
"typecheck": "tsc",
"format": "prettier --write .",
"validate": "npm run lint && npm run typecheck",
"test": "vitest",
"test:coverage": "vitest run --coverage",
"stripe:listen": "stripe listen --forward-to localhost:3000/api/webhook"
},
"dependencies": {
"@conform-to/react": "1.2.2",
"@conform-to/zod": "1.2.2",
"@epic-web/client-hints": "^1.3.5",
"@prisma/client": "5.22.0",
"@radix-ui/react-dropdown-menu": "^2.1.2",
"@radix-ui/react-select": "^2.1.2",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.1",
"@react-email/components": "^0.0.25",
"@react-email/render": "^0.0.17",
"@remix-run/express": "^2.14.0",
"@remix-run/node": "^2.13.1",
"@remix-run/react": "^2.14.0",
"@remix-run/router": "^1.20.0",
"class-variance-authority": "^0.7.0",
"clsx": "^2.1.1",
"compression": "^1.7.4",
"cookie": "^1.0.1",
"cross-env": "^7.0.3",
"express": "^4.21.1",
"express-rate-limit": "^7.4.1",
"helmet": "^7.2.0",
"i18next": "^23.16.5",
"i18next-browser-languagedetector": "^8.0.0",
"isbot": "^4.1.0",
"lucide-react": "^0.460.0",
"morgan": "^1.10.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-email": "^2.1.6",
"react-i18next": "^15.0.3",
"remix-auth": "^3.7.0",
"remix-auth-github": "^2.0.0",
"remix-auth-totp": "^3.4.2",
"remix-i18next": "^6.4.1",
"remix-utils": "7.0.0-pre.4",
"sonner": "^1.5.0",
"stripe": "^16.12.0",
"tailwind-merge": "^2.5.4",
"tailwindcss-animate": "^1.0.7",
"tsx": "4.19.0",
"zod": "^3.23.8"
},
"devDependencies": {
"@flydotio/dockerfile": "^0.5.9",
"@remix-run/dev": "^2.13.1",
"@remix-run/eslint-config": "^2.13.1",
"@types/compression": "^1.7.5",
"@types/cookie": "^1.0.0",
"@types/express": "^4.17.21",
"@types/morgan": "^1.9.9",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.1",
"@vitest/coverage-v8": "^1.6.0",
"autoprefixer": "^10.4.20",
"eslint": "^8.57.1",
"eslint-config-prettier": "^9.1.0",
"postcss": "^8.4.47",
"prettier": "^3.3.3",
"prettier-plugin-tailwindcss": "^0.6.8",
"prisma": "^5.22.0",
"remix-flat-routes": "^0.6.5",
"tailwindcss": "^3.4.14",
"typescript": "^5.6.3",
"vite": "^5.4.9",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.6.0"
},
"engines": {
"node": ">=18.0.0"
},
"prisma": {
"seed": "tsx prisma/seed.ts"
}
}