-
-
Notifications
You must be signed in to change notification settings - Fork 102
/
package.json
102 lines (102 loc) · 3.17 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
100
101
102
{
"name": "remix-saas",
"description": "A Lightweight, Feature-Rich, and Production-Ready Remix Stack for your next SaaS application.",
"author": "Daniel Kanem <devxo@mail.com> (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 --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .",
"typecheck": "tsc",
"format": "prettier --write .",
"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.20.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.31",
"@react-email/render": "^1.0.3",
"@remix-run/express": "^2.15.1",
"@remix-run/node": "^2.15.1",
"@remix-run/react": "^2.15.1",
"@remix-run/router": "^1.21.0",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"compression": "^1.7.5",
"cookie": "^1.0.2",
"cross-env": "^7.0.3",
"express": "^4.21.2",
"express-rate-limit": "^7.5.0",
"helmet": "^7.2.0",
"i18next": "^23.16.8",
"i18next-browser-languagedetector": "^8.0.2",
"isbot": "^4.4.0",
"lucide-react": "^0.468.0",
"morgan": "^1.10.0",
"prisma": "^5.22.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-email": "^3.0.4",
"react-i18next": "^15.2.0",
"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.7.1",
"stripe": "^16.12.0",
"tailwind-merge": "^2.5.5",
"tailwindcss-animate": "^1.0.7",
"tsx": "4.19.0",
"zod": "^3.24.1"
},
"devDependencies": {
"@flydotio/dockerfile": "^0.5.9",
"@remix-run/dev": "^2.15.1",
"@types/compression": "^1.7.5",
"@types/express": "^4.17.21",
"@types/morgan": "^1.9.9",
"@types/react": "^18.3.16",
"@types/react-dom": "^18.3.5",
"@vitest/coverage-v8": "^1.6.0",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"autoprefixer": "^10.4.20",
"eslint": "^8.57.1",
"eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.28.1",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-config-prettier": "^9.1.0",
"postcss": "^8.4.49",
"prettier": "^3.4.2",
"prettier-plugin-tailwindcss": "^0.6.9",
"remix-flat-routes": "^0.6.5",
"tailwindcss": "^3.4.4",
"typescript": "^5.7.2",
"vite": "^5.4.11",
"vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.6.0"
},
"engines": {
"node": ">=20.0.0"
},
"prisma": {
"seed": "tsx prisma/seed.ts"
}
}