create-apppaaaul 2.0.8 → 2.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/dist/templates/nextjs-ts-clean/project/components.json +21 -0
  2. package/dist/templates/nextjs-ts-clean/project/package.json +23 -21
  3. package/dist/templates/nextjs-ts-clean/project/postcss.config.js +2 -5
  4. package/dist/templates/nextjs-ts-clean/project/src/app/globals.css +168 -16
  5. package/dist/templates/nextjs-ts-clean/project/src/app/layout.tsx +6 -6
  6. package/dist/templates/nextjs-ts-clean/project/src/lib/utils.ts +3 -3
  7. package/dist/templates/nextjs-ts-clean/project/tailwind.config.ts +78 -63
  8. package/dist/templates/nextjs-ts-landing-drizzle/project/.vscode/settings.json +1 -1
  9. package/dist/templates/nextjs-ts-landing-drizzle/project/components.json +8 -4
  10. package/dist/templates/nextjs-ts-landing-drizzle/project/package.json +25 -23
  11. package/dist/templates/nextjs-ts-landing-drizzle/project/postcss.config.js +2 -5
  12. package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/globals.css +117 -3
  13. package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/layout.tsx +9 -4
  14. package/dist/templates/nextjs-ts-landing-drizzle/project/src/lib/utils.ts +3 -3
  15. package/dist/templates/nextjs-ts-landing-prisma/project/components.json +8 -4
  16. package/dist/templates/nextjs-ts-landing-prisma/project/package.json +32 -30
  17. package/dist/templates/nextjs-ts-landing-prisma/project/postcss.config.mjs +2 -4
  18. package/dist/templates/nextjs-ts-landing-prisma/project/prisma/schema.prisma +1 -0
  19. package/dist/templates/nextjs-ts-landing-prisma/project/src/app/globals.css +119 -30
  20. package/dist/templates/nextjs-ts-landing-prisma/project/src/app/layout.tsx +10 -4
  21. package/dist/templates/nextjs-ts-landing-prisma/project/src/auth.ts +14 -62
  22. package/dist/templates/nextjs-ts-landing-prisma/project/src/lib/db.ts +6 -8
  23. package/dist/templates/nextjs-ts-landing-prisma/project/src/lib/utils.ts +3 -3
  24. package/package.json +1 -1
  25. package/dist/templates/nextjs-ts-clean/project/pnpm-lock.yaml +0 -5463
  26. package/dist/templates/nextjs-ts-landing-drizzle/project/pnpm-lock.yaml +0 -6248
  27. package/dist/templates/nextjs-ts-landing-prisma/project/pnpm-lock.yaml +0 -5854
  28. package/dist/templates/nextjs-ts-landing-prisma/project/pnpm-workspace.yaml +0 -6
@@ -0,0 +1,21 @@
1
+ {
2
+ "$schema": "https://ui.shadcn.com/schema.json",
3
+ "style": "new-york",
4
+ "rsc": true,
5
+ "tsx": true,
6
+ "tailwind": {
7
+ "config": "tailwind.config.ts",
8
+ "css": "src/app/globals.css",
9
+ "baseColor": "neutral",
10
+ "cssVariables": true,
11
+ "prefix": ""
12
+ },
13
+ "aliases": {
14
+ "components": "@/components",
15
+ "utils": "@/lib/utils",
16
+ "ui": "@/components/ui",
17
+ "lib": "@/lib",
18
+ "hooks": "@/hooks"
19
+ },
20
+ "iconLibrary": "lucide"
21
+ }
@@ -9,40 +9,42 @@
9
9
  "lint": "next lint"
10
10
  },
11
11
  "dependencies": {
12
- "@radix-ui/react-slot": "^1.1.2",
12
+ "@radix-ui/react-slot": "^1.2.0",
13
+ "@tailwindcss/postcss": "^4.1.4",
13
14
  "autoprefixer": "^10.4.21",
14
15
  "class-variance-authority": "^0.7.1",
15
16
  "clsx": "^2.1.1",
16
- "lucide-react": "^0.474.0",
17
- "next": "^15.2.4",
17
+ "lucide-react": "^0.503.0",
18
+ "next": "^15.3.1",
18
19
  "postcss": "^8.5.3",
19
- "react": "19.0.0",
20
- "react-dom": "19.0.0",
21
- "tailwind-merge": "^3.0.2",
22
- "tailwindcss": "^3.4.17",
20
+ "react": "19.1.0",
21
+ "react-dom": "19.1.0",
22
+ "tailwind-merge": "^3.2.0",
23
+ "tailwindcss": "^4.1.4",
23
24
  "tailwindcss-animate": "^1.0.7"
24
25
  },
25
26
  "devDependencies": {
26
- "@eslint/compat": "^1.2.7",
27
- "@next/eslint-plugin-next": "15.1.6",
28
- "@types/node": "^22.13.13",
29
- "@types/react": "^19.0.12",
30
- "@types/react-dom": "^19.0.4",
27
+ "@eslint/compat": "^1.2.8",
28
+ "@next/eslint-plugin-next": "15.1.7",
29
+ "@types/node": "^22.15.3",
30
+ "@types/react": "^19.1.2",
31
+ "@types/react-dom": "^19.1.2",
31
32
  "@vercel/style-guide": "^6.0.0",
32
33
  "babel-plugin-react-compiler": "19.0.0-beta-714736e-20250131",
33
- "eslint": "^9.21.0",
34
- "eslint-config-next": "^15.2.0",
35
- "eslint-config-prettier": "^10.0.2",
34
+ "eslint": "^9.25.1",
35
+ "eslint-config-next": "^15.3.1",
36
+ "eslint-config-prettier": "^10.1.2",
36
37
  "eslint-plugin-import": "^2.31.0",
37
38
  "eslint-plugin-jsx-a11y": "^6.10.2",
38
- "eslint-plugin-prettier": "^5.2.3",
39
- "eslint-plugin-react": "^7.37.4",
39
+ "eslint-plugin-prettier": "^5.2.6",
40
+ "eslint-plugin-react": "^7.37.5",
40
41
  "eslint-plugin-react-compiler": "0.0.0-experimental-c8b3f72-20240517",
41
- "eslint-plugin-react-hooks": "^5.1.0",
42
- "globals": "^15.15.0",
42
+ "eslint-plugin-react-hooks": "^5.2.0",
43
+ "globals": "^16.0.0",
43
44
  "prettier": "^3.5.3",
44
45
  "prettier-plugin-tailwindcss": "^0.6.11",
45
- "typescript": "^5.8.2",
46
- "typescript-eslint": "^8.27.0"
46
+ "tw-animate-css": "^1.2.8",
47
+ "typescript": "^5.8.3",
48
+ "typescript-eslint": "^8.31.0"
47
49
  }
48
50
  }
@@ -1,6 +1,3 @@
1
- module.exports = {
2
- plugins: {
3
- tailwindcss: {},
4
- autoprefixer: {},
5
- },
1
+ export default {
2
+ plugins: ["@tailwindcss/postcss"],
6
3
  };
@@ -1,38 +1,48 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
1
+ @import "tailwindcss";
2
+
3
+ @custom-variant dark (&:is(.dark *));
4
4
 
5
5
  @layer base {
6
6
  :root {
7
7
  --background: 0 0% 100%;
8
- --foreground: 240 10% 3.9%;
8
+ --foreground: 0 0% 3.9%;
9
9
 
10
10
  --card: 0 0% 100%;
11
- --card-foreground: 240 10% 3.9%;
11
+ --card-foreground: 0 0% 3.9%;
12
12
 
13
13
  --popover: 0 0% 100%;
14
- --popover-foreground: 240 10% 3.9%;
14
+ --popover-foreground: 0 0% 3.9%;
15
15
 
16
- --primary: 240 5.9% 10%;
16
+ --primary: 0 0% 9%;
17
17
  --primary-foreground: 0 0% 98%;
18
18
 
19
- --secondary: 240 4.8% 95.9%;
20
- --secondary-foreground: 240 5.9% 10%;
19
+ --secondary: 0 0% 96.1%;
20
+ --secondary-foreground: 0 0% 9%;
21
21
 
22
- --muted: 240 4.8% 95.9%;
23
- --muted-foreground: 240 3.8% 46.1%;
22
+ --muted: 0 0% 96.1%;
23
+ --muted-foreground: 0 0% 45.1%;
24
24
 
25
- --accent: 240 4.8% 95.9%;
26
- --accent-foreground: 240 5.9% 10%;
25
+ --accent: 0 0% 96.1%;
26
+ --accent-foreground: 0 0% 9%;
27
27
 
28
28
  --destructive: 0 84.2% 60.2%;
29
29
  --destructive-foreground: 0 0% 98%;
30
30
 
31
- --border: 240 5.9% 90%;
32
- --input: 240 5.9% 90%;
33
- --ring: 240 10% 3.9%;
31
+ --border: 0 0% 89.8%;
32
+ --input: 0 0% 89.8%;
33
+ --ring: 0 0% 3.9%;
34
34
 
35
35
  --radius: 0.5rem;
36
+
37
+ --chart-1: 12 76% 61%;
38
+
39
+ --chart-2: 173 58% 39%;
40
+
41
+ --chart-3: 197 37% 24%;
42
+
43
+ --chart-4: 43 74% 66%;
44
+
45
+ --chart-5: 27 87% 67%;
36
46
  }
37
47
 
38
48
  @media (prefers-color-scheme: dark) {
@@ -74,4 +84,146 @@
74
84
  body {
75
85
  @apply bg-background text-foreground;
76
86
  }
87
+ .dark {
88
+ --background: 0 0% 3.9%;
89
+ --foreground: 0 0% 98%;
90
+ --card: 0 0% 3.9%;
91
+ --card-foreground: 0 0% 98%;
92
+ --popover: 0 0% 3.9%;
93
+ --popover-foreground: 0 0% 98%;
94
+ --primary: 0 0% 98%;
95
+ --primary-foreground: 0 0% 9%;
96
+ --secondary: 0 0% 14.9%;
97
+ --secondary-foreground: 0 0% 98%;
98
+ --muted: 0 0% 14.9%;
99
+ --muted-foreground: 0 0% 63.9%;
100
+ --accent: 0 0% 14.9%;
101
+ --accent-foreground: 0 0% 98%;
102
+ --destructive: 0 62.8% 30.6%;
103
+ --destructive-foreground: 0 0% 98%;
104
+ --border: 0 0% 14.9%;
105
+ --input: 0 0% 14.9%;
106
+ --ring: 0 0% 83.1%;
107
+ --chart-1: 220 70% 50%;
108
+ --chart-2: 160 60% 45%;
109
+ --chart-3: 30 80% 55%;
110
+ --chart-4: 280 65% 60%;
111
+ --chart-5: 340 75% 55%;
112
+ }
113
+ }
114
+
115
+ @theme inline {
116
+ --radius-sm: calc(var(--radius) - 4px);
117
+ --radius-md: calc(var(--radius) - 2px);
118
+ --radius-lg: var(--radius);
119
+ --radius-xl: calc(var(--radius) + 4px);
120
+ --color-background: var(--background);
121
+ --color-foreground: var(--foreground);
122
+ --color-card: var(--card);
123
+ --color-card-foreground: var(--card-foreground);
124
+ --color-popover: var(--popover);
125
+ --color-popover-foreground: var(--popover-foreground);
126
+ --color-primary: var(--primary);
127
+ --color-primary-foreground: var(--primary-foreground);
128
+ --color-secondary: var(--secondary);
129
+ --color-secondary-foreground: var(--secondary-foreground);
130
+ --color-muted: var(--muted);
131
+ --color-muted-foreground: var(--muted-foreground);
132
+ --color-accent: var(--accent);
133
+ --color-accent-foreground: var(--accent-foreground);
134
+ --color-destructive: var(--destructive);
135
+ --color-border: var(--border);
136
+ --color-input: var(--input);
137
+ --color-ring: var(--ring);
138
+ --color-chart-1: var(--chart-1);
139
+ --color-chart-2: var(--chart-2);
140
+ --color-chart-3: var(--chart-3);
141
+ --color-chart-4: var(--chart-4);
142
+ --color-chart-5: var(--chart-5);
143
+ --color-sidebar: var(--sidebar);
144
+ --color-sidebar-foreground: var(--sidebar-foreground);
145
+ --color-sidebar-primary: var(--sidebar-primary);
146
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
147
+ --color-sidebar-accent: var(--sidebar-accent);
148
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
149
+ --color-sidebar-border: var(--sidebar-border);
150
+ --color-sidebar-ring: var(--sidebar-ring);
151
+ }
152
+
153
+ :root {
154
+ --radius: 0.625rem;
155
+ --background: oklch(1 0 0);
156
+ --foreground: oklch(0.145 0 0);
157
+ --card: oklch(1 0 0);
158
+ --card-foreground: oklch(0.145 0 0);
159
+ --popover: oklch(1 0 0);
160
+ --popover-foreground: oklch(0.145 0 0);
161
+ --primary: oklch(0.205 0 0);
162
+ --primary-foreground: oklch(0.985 0 0);
163
+ --secondary: oklch(0.97 0 0);
164
+ --secondary-foreground: oklch(0.205 0 0);
165
+ --muted: oklch(0.97 0 0);
166
+ --muted-foreground: oklch(0.556 0 0);
167
+ --accent: oklch(0.97 0 0);
168
+ --accent-foreground: oklch(0.205 0 0);
169
+ --destructive: oklch(0.577 0.245 27.325);
170
+ --border: oklch(0.922 0 0);
171
+ --input: oklch(0.922 0 0);
172
+ --ring: oklch(0.708 0 0);
173
+ --chart-1: oklch(0.646 0.222 41.116);
174
+ --chart-2: oklch(0.6 0.118 184.704);
175
+ --chart-3: oklch(0.398 0.07 227.392);
176
+ --chart-4: oklch(0.828 0.189 84.429);
177
+ --chart-5: oklch(0.769 0.188 70.08);
178
+ --sidebar: oklch(0.985 0 0);
179
+ --sidebar-foreground: oklch(0.145 0 0);
180
+ --sidebar-primary: oklch(0.205 0 0);
181
+ --sidebar-primary-foreground: oklch(0.985 0 0);
182
+ --sidebar-accent: oklch(0.97 0 0);
183
+ --sidebar-accent-foreground: oklch(0.205 0 0);
184
+ --sidebar-border: oklch(0.922 0 0);
185
+ --sidebar-ring: oklch(0.708 0 0);
186
+ }
187
+
188
+ .dark {
189
+ --background: oklch(0.145 0 0);
190
+ --foreground: oklch(0.985 0 0);
191
+ --card: oklch(0.205 0 0);
192
+ --card-foreground: oklch(0.985 0 0);
193
+ --popover: oklch(0.205 0 0);
194
+ --popover-foreground: oklch(0.985 0 0);
195
+ --primary: oklch(0.922 0 0);
196
+ --primary-foreground: oklch(0.205 0 0);
197
+ --secondary: oklch(0.269 0 0);
198
+ --secondary-foreground: oklch(0.985 0 0);
199
+ --muted: oklch(0.269 0 0);
200
+ --muted-foreground: oklch(0.708 0 0);
201
+ --accent: oklch(0.269 0 0);
202
+ --accent-foreground: oklch(0.985 0 0);
203
+ --destructive: oklch(0.704 0.191 22.216);
204
+ --border: oklch(1 0 0 / 10%);
205
+ --input: oklch(1 0 0 / 15%);
206
+ --ring: oklch(0.556 0 0);
207
+ --chart-1: oklch(0.488 0.243 264.376);
208
+ --chart-2: oklch(0.696 0.17 162.48);
209
+ --chart-3: oklch(0.769 0.188 70.08);
210
+ --chart-4: oklch(0.627 0.265 303.9);
211
+ --chart-5: oklch(0.645 0.246 16.439);
212
+ --sidebar: oklch(0.205 0 0);
213
+ --sidebar-foreground: oklch(0.985 0 0);
214
+ --sidebar-primary: oklch(0.488 0.243 264.376);
215
+ --sidebar-primary-foreground: oklch(0.985 0 0);
216
+ --sidebar-accent: oklch(0.269 0 0);
217
+ --sidebar-accent-foreground: oklch(0.985 0 0);
218
+ --sidebar-border: oklch(1 0 0 / 10%);
219
+ --sidebar-ring: oklch(0.556 0 0);
220
+ }
221
+
222
+ @layer base {
223
+ * {
224
+ @apply border-border outline-ring/50;
225
+ }
226
+ body {
227
+ @apply bg-background text-foreground;
228
+ }
77
229
  }
@@ -1,4 +1,4 @@
1
- import type {Metadata} from "next";
1
+ import type { Metadata } from "next";
2
2
 
3
3
  import Link from "next/link";
4
4
 
@@ -9,18 +9,18 @@ export const metadata: Metadata = {
9
9
  description: "Generated by apppaaaul",
10
10
  };
11
11
 
12
- export default function RootLayout({children}: {children: React.ReactNode}) {
12
+ export default function RootLayout({ children }: { children: React.ReactNode }) {
13
13
  return (
14
14
  <html lang="en">
15
- <body className="container m-auto grid min-h-screen grid-rows-[auto,1fr,auto] bg-background px-4 font-sans antialiased">
15
+ <body className="bg-background container m-auto grid min-h-screen grid-rows-[auto,1fr,auto] px-4 font-sans antialiased">
16
16
  <header className="text-xl font-bold leading-[4rem]">
17
- <Link href="/">{{name}}</Link>
17
+ <Link href="/">{{ name }}</Link>
18
18
  </header>
19
19
  <main className="py-8">{children}</main>
20
20
  <footer className="text-center leading-[4rem] opacity-70">
21
- © {new Date().getFullYear()} {{name}}
21
+ © {new Date().getFullYear()} {{ name }}
22
22
  </footer>
23
23
  </body>
24
24
  </html>
25
25
  );
26
- }
26
+ }
@@ -1,6 +1,6 @@
1
- import {type ClassValue, clsx} from "clsx";
2
- import {twMerge} from "tailwind-merge";
1
+ import { clsx, type ClassValue } from "clsx"
2
+ import { twMerge } from "tailwind-merge"
3
3
 
4
4
  export function cn(...inputs: ClassValue[]) {
5
- return twMerge(clsx(inputs));
5
+ return twMerge(clsx(inputs))
6
6
  }
@@ -10,69 +10,84 @@ const config = {
10
10
  ],
11
11
  prefix: "",
12
12
  theme: {
13
- container: {
14
- center: true,
15
- padding: "2rem",
16
- screens: {
17
- "2xl": "1400px",
18
- },
19
- },
20
- extend: {
21
- colors: {
22
- border: "hsl(var(--border))",
23
- input: "hsl(var(--input))",
24
- ring: "hsl(var(--ring))",
25
- background: "hsl(var(--background))",
26
- foreground: "hsl(var(--foreground))",
27
- primary: {
28
- DEFAULT: "hsl(var(--primary))",
29
- foreground: "hsl(var(--primary-foreground))",
30
- },
31
- secondary: {
32
- DEFAULT: "hsl(var(--secondary))",
33
- foreground: "hsl(var(--secondary-foreground))",
34
- },
35
- destructive: {
36
- DEFAULT: "hsl(var(--destructive))",
37
- foreground: "hsl(var(--destructive-foreground))",
38
- },
39
- muted: {
40
- DEFAULT: "hsl(var(--muted))",
41
- foreground: "hsl(var(--muted-foreground))",
42
- },
43
- accent: {
44
- DEFAULT: "hsl(var(--accent))",
45
- foreground: "hsl(var(--accent-foreground))",
46
- },
47
- popover: {
48
- DEFAULT: "hsl(var(--popover))",
49
- foreground: "hsl(var(--popover-foreground))",
50
- },
51
- card: {
52
- DEFAULT: "hsl(var(--card))",
53
- foreground: "hsl(var(--card-foreground))",
54
- },
55
- },
56
- borderRadius: {
57
- lg: "var(--radius)",
58
- md: "calc(var(--radius) - 2px)",
59
- sm: "calc(var(--radius) - 4px)",
60
- },
61
- keyframes: {
62
- "accordion-down": {
63
- from: {height: "0"},
64
- to: {height: "var(--radix-accordion-content-height)"},
65
- },
66
- "accordion-up": {
67
- from: {height: "var(--radix-accordion-content-height)"},
68
- to: {height: "0"},
69
- },
70
- },
71
- animation: {
72
- "accordion-down": "accordion-down 0.2s ease-out",
73
- "accordion-up": "accordion-up 0.2s ease-out",
74
- },
75
- },
13
+ container: {
14
+ center: true,
15
+ padding: '2rem',
16
+ screens: {
17
+ '2xl': '1400px'
18
+ }
19
+ },
20
+ extend: {
21
+ colors: {
22
+ border: 'hsl(var(--border))',
23
+ input: 'hsl(var(--input))',
24
+ ring: 'hsl(var(--ring))',
25
+ background: 'hsl(var(--background))',
26
+ foreground: 'hsl(var(--foreground))',
27
+ primary: {
28
+ DEFAULT: 'hsl(var(--primary))',
29
+ foreground: 'hsl(var(--primary-foreground))'
30
+ },
31
+ secondary: {
32
+ DEFAULT: 'hsl(var(--secondary))',
33
+ foreground: 'hsl(var(--secondary-foreground))'
34
+ },
35
+ destructive: {
36
+ DEFAULT: 'hsl(var(--destructive))',
37
+ foreground: 'hsl(var(--destructive-foreground))'
38
+ },
39
+ muted: {
40
+ DEFAULT: 'hsl(var(--muted))',
41
+ foreground: 'hsl(var(--muted-foreground))'
42
+ },
43
+ accent: {
44
+ DEFAULT: 'hsl(var(--accent))',
45
+ foreground: 'hsl(var(--accent-foreground))'
46
+ },
47
+ popover: {
48
+ DEFAULT: 'hsl(var(--popover))',
49
+ foreground: 'hsl(var(--popover-foreground))'
50
+ },
51
+ card: {
52
+ DEFAULT: 'hsl(var(--card))',
53
+ foreground: 'hsl(var(--card-foreground))'
54
+ },
55
+ chart: {
56
+ '1': 'hsl(var(--chart-1))',
57
+ '2': 'hsl(var(--chart-2))',
58
+ '3': 'hsl(var(--chart-3))',
59
+ '4': 'hsl(var(--chart-4))',
60
+ '5': 'hsl(var(--chart-5))'
61
+ }
62
+ },
63
+ borderRadius: {
64
+ lg: 'var(--radius)',
65
+ md: 'calc(var(--radius) - 2px)',
66
+ sm: 'calc(var(--radius) - 4px)'
67
+ },
68
+ keyframes: {
69
+ 'accordion-down': {
70
+ from: {
71
+ height: '0'
72
+ },
73
+ to: {
74
+ height: 'var(--radix-accordion-content-height)'
75
+ }
76
+ },
77
+ 'accordion-up': {
78
+ from: {
79
+ height: 'var(--radix-accordion-content-height)'
80
+ },
81
+ to: {
82
+ height: '0'
83
+ }
84
+ }
85
+ },
86
+ animation: {
87
+ 'accordion-down': 'accordion-down 0.2s ease-out',
88
+ 'accordion-up': 'accordion-up 0.2s ease-out'
89
+ }
90
+ }
76
91
  },
77
92
  plugins: [require("tailwindcss-animate")],
78
93
  } satisfies Config;
@@ -3,6 +3,6 @@
3
3
  "typescript.tsdk": "node_modules\\typescript\\lib",
4
4
  "typescript.enablePromptUseWorkspaceTsdk": true,
5
5
  "editor.codeActionsOnSave": {
6
- "source.fixAll.eslint": true
6
+ "source.fixAll.eslint": "explicit"
7
7
  }
8
8
  }
@@ -1,17 +1,21 @@
1
1
  {
2
2
  "$schema": "https://ui.shadcn.com/schema.json",
3
- "style": "default",
3
+ "style": "new-york",
4
4
  "rsc": true,
5
5
  "tsx": true,
6
6
  "tailwind": {
7
7
  "config": "tailwind.config.ts",
8
8
  "css": "src/app/globals.css",
9
- "baseColor": "zinc",
9
+ "baseColor": "neutral",
10
10
  "cssVariables": true,
11
11
  "prefix": ""
12
12
  },
13
13
  "aliases": {
14
14
  "components": "@/components",
15
- "utils": "@/lib/utils"
16
- }
15
+ "utils": "@/lib/utils",
16
+ "ui": "@/components/ui",
17
+ "lib": "@/lib",
18
+ "hooks": "@/hooks"
19
+ },
20
+ "iconLibrary": "lucide"
17
21
  }
@@ -3,7 +3,7 @@
3
3
  "version": "0.1.0",
4
4
  "private": true,
5
5
  "scripts": {
6
- "dev": "docker compose up -d && next dev --turbopack",
6
+ "dev": "next dev --turbopack",
7
7
  "build": "next build",
8
8
  "start": "next start",
9
9
  "lint": "next lint",
@@ -11,47 +11,49 @@
11
11
  "db:studio": "pnpm drizzle-kit studio"
12
12
  },
13
13
  "dependencies": {
14
- "@auth/drizzle-adapter": "^1.8.0",
14
+ "@auth/drizzle-adapter": "^1.9.0",
15
15
  "@radix-ui/react-slot": "^1.1.2",
16
+ "@tailwindcss/postcss": "^4.1.4",
16
17
  "autoprefixer": "^10.4.21",
17
18
  "bcryptjs": "^2.4.3",
18
19
  "class-variance-authority": "^0.7.1",
19
20
  "clsx": "^2.1.1",
20
- "dotenv": "^16.4.7",
21
- "drizzle-orm": "^0.39.3",
21
+ "dotenv": "^16.5.0",
22
+ "drizzle-orm": "^0.43.1",
22
23
  "lucide-react": "^0.474.0",
23
- "next": "^15.2.4",
24
+ "next": "^15.3.1",
24
25
  "next-auth": "4.24.11",
25
26
  "postcss": "^8.5.3",
26
27
  "postgres": "^3.4.5",
27
- "react": "^19.0.0",
28
- "react-dom": "^19.0.0",
29
- "sonner": "^1.7.4",
30
- "tailwind-merge": "^3.0.2",
31
- "tailwindcss": "^4.0.15",
28
+ "react": "^19.1.0",
29
+ "react-dom": "^19.1.0",
30
+ "sonner": "^2.0.3",
31
+ "tailwind-merge": "^3.2.0",
32
+ "tailwindcss": "^4.1.4",
32
33
  "tailwindcss-animate": "^1.0.7",
33
34
  "tsx": "^4.19.3",
34
- "zod": "^3.24.2"
35
+ "zod": "^3.24.3"
35
36
  },
36
37
  "devDependencies": {
37
- "@eslint/compat": "^1.2.7",
38
- "@next/eslint-plugin-next": "15.1.6",
39
- "@types/node": "^22.13.13",
38
+ "@eslint/compat": "^1.2.8",
39
+ "@next/eslint-plugin-next": "15.1.7",
40
+ "@types/node": "^22.15.3",
40
41
  "@types/react": "^19.0.12",
41
- "@types/react-dom": "^19.0.4",
42
+ "@types/react-dom": "^19.1.2",
42
43
  "@vercel/style-guide": "^6.0.0",
43
- "drizzle-kit": "^0.30.5",
44
- "eslint": "^9.23.0",
45
- "eslint-config-next": "15.1.6",
46
- "eslint-config-prettier": "^10.1.1",
44
+ "drizzle-kit": "^0.31.0",
45
+ "eslint": "^9.25.1",
46
+ "eslint-config-next": "15.3.1",
47
+ "eslint-config-prettier": "^10.1.2",
47
48
  "eslint-plugin-import": "^2.31.0",
48
49
  "eslint-plugin-jsx-a11y": "^6.10.2",
49
- "eslint-plugin-prettier": "^5.2.4",
50
+ "eslint-plugin-prettier": "^5.2.6",
50
51
  "eslint-plugin-react-compiler": "0.0.0-experimental-c8b3f72-20240517",
51
- "globals": "^15.15.0",
52
+ "globals": "^16.0.0",
52
53
  "prettier": "^3.5.3",
53
54
  "prettier-plugin-tailwindcss": "^0.6.11",
54
- "typescript": "^5.8.2",
55
- "typescript-eslint": "^8.27.0"
55
+ "tw-animate-css": "^1.2.8",
56
+ "typescript": "^5.8.3",
57
+ "typescript-eslint": "^8.31.0"
56
58
  }
57
59
  }
@@ -1,6 +1,3 @@
1
- module.exports = {
2
- plugins: {
3
- tailwindcss: {},
4
- autoprefixer: {},
5
- },
1
+ export default {
2
+ plugins: ["@tailwindcss/postcss"],
6
3
  };