/
package.json
224 lines (224 loc) · 7.26 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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
{
"name": "epic-web",
"private": true,
"scripts": {
"build": "next build",
"postbuild": "NODE_ENV=production next-sitemap",
"db:push": "prisma db push",
"db:schema": "prisma migrate dev --create-only",
"db:start": "docker compose up -d",
"db:studio": "prisma studio",
"dev:stripe": "./scripts/check-stripe && stripe listen --forward-to localhost:3021/api/skill/webhook/stripe",
"dev": "concurrently \"npm:dev:*\"",
"dev:next": "next dev -p 3021",
"dev:inngest": "pnpx inngest-cli@latest dev -u http://localhost:3021/api/inngest",
"dev:email": "email dev --dir ./src/emails",
"dev:sanity": "sanity dev",
"dev:setup": "vercel env pull .env.local && sed -i.bak '/^VERCEL/d' .env.local",
"lint": "eslint src/**/*.{ts,tsx} --fix && tsc --noEmit",
"start": "next start -p 3021",
"test": "jest"
},
"prettier": {
"bracketSpacing": false,
"jsxBracketSameLine": false,
"plugins": [
"prettier-plugin-tailwindcss"
],
"printWidth": 80,
"semi": false,
"singleQuote": true,
"tabWidth": 2,
"trailingComma": "all",
"useTabs": false
},
"jest": {
"preset": "@skillrecordings/scripts/jest/next"
},
"dependencies": {
"@amplitude/analytics-browser": "^1.3.0",
"@aws-sdk/client-s3": "^3.441.0",
"@aws-sdk/s3-request-presigner": "^3.441.0",
"@cloudinary/react": "^1.5.0",
"@code-hike/mdx": "^0.8.2",
"@heroicons/react": "^1.0.6",
"@hookform/resolvers": "^2.9.8",
"@kentcdodds/md-temp": "^5.0.0",
"@mdx-js/loader": "^2.3.0",
"@mdx-js/mdx": "^2.3.0",
"@mdx-js/react": "^2.3.0",
"@mux/mux-node": "^7.3.1",
"@mux/mux-player-react": "2.3.2",
"@next-auth/prisma-adapter": "^1.0.7",
"@next/mdx": "^14.1.3",
"@portabletext/react": "^3.0.11",
"@radix-ui/react-accordion": "^1.0.0",
"@radix-ui/react-alert-dialog": "^0.1.7",
"@radix-ui/react-dialog": "^1.0.5",
"@radix-ui/react-slot": "^1.0.2",
"@radix-ui/react-switch": "^1.0.1",
"@react-email/components": "0.0.7",
"@react-email/markdown": "^0.0.6",
"@react-email/render": "0.0.7",
"@react-email/text": "0.0.5",
"@sanity/block-tools": "^3.2.3",
"@sanity/client": "^6.1.1",
"@sanity/code-input": "^3.0.1",
"@sanity/icons": "^2.2.2",
"@sanity/ui": "^1.0.12",
"@sanity/vision": "^3.9.1",
"@sanity/webhook": "^4.0.0",
"@sentry/nextjs": "^7.83.0",
"@sentry/profiling-node": "^1.2.6",
"@sindresorhus/slugify": "^2.1.0",
"@skillrecordings/ability": "workspace:*",
"@skillrecordings/analytics": "workspace:*",
"@skillrecordings/commerce-server": "workspace:*",
"@skillrecordings/convertkit-react-ui": "workspace:*",
"@skillrecordings/database": "workspace:*",
"@skillrecordings/feedback-widget": "workspace:*",
"@skillrecordings/inngest": "workspace:*",
"@skillrecordings/next-seo": "workspace:*",
"@skillrecordings/quiz": "workspace:*",
"@skillrecordings/react": "workspace:*",
"@skillrecordings/skill-api": "workspace:*",
"@skillrecordings/skill-lesson": "workspace:*",
"@skillrecordings/stripe-sdk": "workspace:*",
"@skillrecordings/time": "workspace:*",
"@skillrecordings/ui": "workspace:*",
"@slack/web-api": "^6.7.2",
"@tanstack/react-query": "4.35.7",
"@trpc/client": "10.45.0",
"@trpc/next": "10.45.0",
"@trpc/react-query": "10.45.0",
"@trpc/server": "10.45.0",
"@tsparticles/engine": "^3.0.2",
"@tsparticles/react": "^3.0.0",
"@tsparticles/slim": "^3.0.2",
"@upstash/redis": "^1.23.3",
"@vercel/og": "^0.5.4",
"aws-sdk": "^2.1197.0",
"axios": "^1.4.0",
"chart.js": "^4.4.0",
"class-variance-authority": "^0.6.0",
"classnames": "^2.3.1",
"cloudinary": "^1.35.0",
"cmdk": "^0.2.0",
"concurrently": "^7.2.2",
"date-fns": "^2.28.0",
"date-fns-tz": "^2.0.0",
"dexie": "^3.2.2",
"feed": "^4.2.2",
"focus-visible": "^5.2.0",
"formik": "2.2.9",
"framer-motion": "^10.12.4",
"greg": "^0.0.2",
"groq": "^2.15.0",
"hast": "^1.0.0",
"human-readable-ids": "^1.0.4",
"inngest": "3.1.1",
"js-cookie": "^3.0.1",
"js-yaml": "^4.1.0",
"lodash": "^4.17.21",
"mjml": "^4.12.0",
"nanoid": "^4.0.2",
"next": "^14.1.3",
"next-auth": "^4.23.2",
"next-axiom": "^1.1.1",
"next-mdx-remote": "=4.4.1",
"next-sitemap": "^3.0.5",
"next-themes": "^0.2.1",
"nextjs-node-loader": "1.1.5-alpha.0",
"nodemailer": "^6.7.2",
"nodemailer-postmark-transport": "^5.2.1",
"openai": "^4.12.1",
"pluralize": "^8.0.0",
"postmark": "^3.1.1",
"query-string": "^7.1.1",
"react": "18.2.0",
"react-chartjs-2": "^5.2.0",
"react-countdown": "^2.3.5",
"react-device-detect": "^2.2.2",
"react-dom": "18.2.0",
"react-email": "1.9.5",
"react-gravatar": "^2.6.3",
"react-hook-form": "^7.29.0",
"react-hot-toast": "^2.2.0",
"react-icons": "^4.9.0",
"react-markdown": "^8.0.6",
"react-refractor": "^2.1.7",
"react-tweet-embed": "^2.0.0",
"react-use": "^17.4.0",
"react-wrap-balancer": "^0.2.4",
"reading-time": "^1.5.0",
"refractor": "^4.8.0",
"remove-markdown": "^0.3.0",
"sanity": "^3.8.3",
"sanity-plugin-cloudinary": "^1.1.1",
"sanity-plugin-markdown": "^4.1.0",
"sanity-plugin-taxonomy-manager": "^2.0.4",
"shortid": "^2.2.16",
"singleline": "^2.0.0",
"speakingurl": "^14.0.1",
"starfield-react": "3.1.0-dev-5",
"styled-components": "^5.2",
"superjson": "=1.11.0",
"tailwind-fluid-typography": "^1.3.0",
"tailwind-merge": "^1.12.0",
"tailwindcss-animate": "^1.0.5",
"tailwindcss-radix": "^2.8.0",
"tsparticles": "^2.12.0",
"tsparticles-preset-stars": "^2.12.0",
"unist-util-visit": "^5.0.0",
"uuid": "^9.0.0",
"yup": "^0.32.11",
"zod": "^3.21.4"
},
"devDependencies": {
"@next/env": "^13.1.2",
"@portabletext/types": "^2.0.8",
"@sanity/types": "^2.29.5",
"@skillrecordings/scripts": "workspace:*",
"@skillrecordings/tsconfig": "workspace:*",
"@skillrecordings/types": "workspace:*",
"@tailwindcss/typography": "^0.5.9",
"@types/cookie": "^0.4.1",
"@types/hast": "^3.0.1",
"@types/jest": "^29.5.1",
"@types/js-cookie": "^3.0.2",
"@types/jsonwebtoken": "^8.5.8",
"@types/lodash": "4.14.179",
"@types/mdx": "^2.0.2",
"@types/mdx-js__react": "^1.5.5",
"@types/mjml": "^4.7.0",
"@types/node": "^18.16.13",
"@types/nodemailer": "^6.4.4",
"@types/nprogress": "^0.2.0",
"@types/pluralize": "^0.0.29",
"@types/query-string": "^6.3.0",
"@types/react": "^18.2.6",
"@types/react-dom": "^18.2.4",
"@types/react-gravatar": "^2.6.10",
"@types/remove-markdown": "^0.3.0",
"@types/shortid": "^0.0.29",
"@types/speakingurl": "^13.0.3",
"@types/uuid": "^9.0.2",
"autoprefixer": "^10.4.12",
"dotenv-flow": "^3.2.0",
"eslint": "^8.19.0",
"eslint-config-skill-recordings": "workspace:*",
"jest": "^29.5.0",
"jest-fetch-mock": "^3.0.3",
"jest-mock-extended": "^3.0.4",
"postcss": "^8.4.14",
"prettier": "^2.6.2",
"prettier-plugin-tailwindcss": "^0.2.5",
"tailwind-scrollbar": "^3.0.0",
"tailwindcss": "^3.4.1",
"typescript": "5.1.6",
"webpack": "^5.73.0"
},
"prisma": {
"schema": "../../packages/database/prisma/schema.prisma"
}
}