create-apppaaaul 2.0.11 → 2.0.13
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.
- package/README.md +20 -20
- package/dist/index.js +0 -0
- package/dist/index.js.map +1 -1
- package/dist/templates/nextjs-ts-clean/.cursor/rules/bootstrap-cursor-rules.mdc +44 -44
- package/dist/templates/nextjs-ts-clean/.cursor/rules/front-end-cursor-rules.mdc +37 -37
- package/dist/templates/nextjs-ts-clean/.cursor/rules/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +57 -57
- package/dist/templates/{nextjs-ts-landing-drizzle → nextjs-ts-clean/project/.cursor}/rules/bootstrap-cursor-rules.mdc +44 -44
- package/dist/templates/{nextjs-ts-landing-drizzle → nextjs-ts-clean/project/.cursor}/rules/front-end-cursor-rules.mdc +37 -37
- package/dist/templates/{nextjs-ts-landing-prisma → nextjs-ts-clean/project/.cursor}/rules/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +57 -57
- package/dist/templates/nextjs-ts-clean/project/.editorconfig +9 -9
- package/dist/templates/nextjs-ts-clean/project/.vscode/launch.json +28 -28
- package/dist/templates/nextjs-ts-clean/project/.vscode/settings.json +8 -8
- package/dist/templates/nextjs-ts-clean/project/README.md +15 -15
- package/dist/templates/nextjs-ts-clean/project/components.json +20 -20
- package/dist/templates/nextjs-ts-clean/project/eslint.config.mjs +21 -10
- package/dist/templates/nextjs-ts-clean/project/next.config.mjs +13 -13
- package/dist/templates/nextjs-ts-clean/project/package.json +48 -49
- package/dist/templates/nextjs-ts-clean/project/postcss.config.js +3 -3
- package/dist/templates/nextjs-ts-clean/project/src/app/globals.css +228 -228
- package/dist/templates/nextjs-ts-clean/project/src/app/layout.tsx +26 -26
- package/dist/templates/nextjs-ts-clean/project/src/app/page.tsx +5 -5
- package/dist/templates/nextjs-ts-clean/project/src/components/ui/button.tsx +49 -49
- package/dist/templates/nextjs-ts-clean/project/src/lib/utils.ts +6 -6
- package/dist/templates/nextjs-ts-clean/project/tailwind.config.ts +94 -94
- package/dist/templates/nextjs-ts-clean/project/tsconfig.json +26 -26
- package/dist/templates/nextjs-ts-landing/project/.editorconfig +9 -9
- package/dist/templates/nextjs-ts-landing/project/.vscode/launch.json +28 -28
- package/dist/templates/nextjs-ts-landing/project/.vscode/settings.json +8 -8
- package/dist/templates/{nextjs-ts-landing-prisma → nextjs-ts-landing-drizzle/project/.cursor}/rules/bootstrap-cursor-rules.mdc +44 -44
- package/dist/templates/{nextjs-ts-landing-prisma → nextjs-ts-landing-drizzle/project/.cursor}/rules/front-end-cursor-rules.mdc +37 -37
- package/dist/templates/nextjs-ts-landing-drizzle/{rules → project/.cursor/rules}/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +57 -57
- package/dist/templates/nextjs-ts-landing-drizzle/project/.editorconfig +9 -9
- package/dist/templates/nextjs-ts-landing-drizzle/project/.vscode/launch.json +28 -28
- package/dist/templates/nextjs-ts-landing-drizzle/project/.vscode/settings.json +8 -8
- package/dist/templates/nextjs-ts-landing-drizzle/project/README.md +15 -15
- package/dist/templates/nextjs-ts-landing-drizzle/project/components.json +20 -20
- package/dist/templates/nextjs-ts-landing-drizzle/project/drizzle.config.ts +11 -11
- package/dist/templates/nextjs-ts-landing-drizzle/project/eslint.config.mjs +183 -0
- package/dist/templates/nextjs-ts-landing-drizzle/project/next.config.mjs +10 -10
- package/dist/templates/nextjs-ts-landing-drizzle/project/package.json +57 -58
- package/dist/templates/nextjs-ts-landing-drizzle/project/postcss.config.js +3 -3
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/api/auth/[...nextauth]/route.ts +3 -3
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/globals.css +161 -161
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/layout.tsx +25 -25
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/app/page.tsx +5 -5
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/auth.ts +79 -79
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/components/ui/button.tsx +49 -49
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/db/index.ts +25 -25
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/db/schema.ts +93 -93
- package/dist/templates/nextjs-ts-landing-drizzle/project/src/lib/utils.ts +6 -6
- package/dist/templates/nextjs-ts-landing-drizzle/project/tailwind.config.ts +80 -80
- package/dist/templates/nextjs-ts-landing-drizzle/project/tsconfig.json +27 -27
- package/dist/templates/nextjs-ts-landing-prisma/project/.cursor/rules/bootstrap-cursor-rules.mdc +45 -0
- package/dist/templates/nextjs-ts-landing-prisma/project/.cursor/rules/front-end-cursor-rules.mdc +38 -0
- package/dist/templates/nextjs-ts-landing-prisma/project/.cursor/rules/optimized-nextjs-typescript-best-practices-modern-ui-ux.mdc +58 -0
- package/dist/templates/nextjs-ts-landing-prisma/project/.editorconfig +9 -9
- package/dist/templates/nextjs-ts-landing-prisma/project/.vscode/launch.json +28 -28
- package/dist/templates/nextjs-ts-landing-prisma/project/.vscode/settings.json +8 -8
- package/dist/templates/nextjs-ts-landing-prisma/project/README.md +15 -15
- package/dist/templates/nextjs-ts-landing-prisma/project/components.json +20 -20
- package/dist/templates/nextjs-ts-landing-prisma/project/eslint.config.mjs +25 -14
- package/dist/templates/nextjs-ts-landing-prisma/project/next.config.mjs +10 -10
- package/dist/templates/nextjs-ts-landing-prisma/project/package.json +57 -59
- package/dist/templates/nextjs-ts-landing-prisma/project/postcss.config.mjs +3 -3
- package/dist/templates/nextjs-ts-landing-prisma/project/prisma/migrations/20250329125127_init/migration.sql +25 -25
- package/dist/templates/nextjs-ts-landing-prisma/project/prisma/migrations/migration_lock.toml +2 -2
- package/dist/templates/nextjs-ts-landing-prisma/project/prisma/schema.prisma +24 -24
- package/dist/templates/nextjs-ts-landing-prisma/project/src/app/api/auth/[...nextauth]/route.ts +3 -3
- package/dist/templates/nextjs-ts-landing-prisma/project/src/app/globals.css +205 -205
- package/dist/templates/nextjs-ts-landing-prisma/project/src/app/layout.tsx +26 -26
- package/dist/templates/nextjs-ts-landing-prisma/project/src/app/page.tsx +5 -5
- package/dist/templates/nextjs-ts-landing-prisma/project/src/auth.ts +31 -31
- package/dist/templates/nextjs-ts-landing-prisma/project/src/components/ui/button.tsx +49 -49
- package/dist/templates/nextjs-ts-landing-prisma/project/src/lib/db.ts +9 -9
- package/dist/templates/nextjs-ts-landing-prisma/project/src/lib/utils.ts +6 -6
- package/dist/templates/nextjs-ts-landing-prisma/project/tailwind.config.ts +80 -80
- package/dist/templates/nextjs-ts-landing-prisma/project/tsconfig.json +27 -27
- package/package.json +43 -43
- package/dist/templates/nextjs-ts-landing/project/.eslintrc.cjs +0 -101
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": "0.2.0",
|
|
3
|
-
"configurations": [
|
|
4
|
-
{
|
|
5
|
-
"name": "Next.js: debug server-side",
|
|
6
|
-
"type": "node-terminal",
|
|
7
|
-
"request": "launch",
|
|
8
|
-
"command": "pnpm dev"
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
"name": "Next.js: debug client-side",
|
|
12
|
-
"type": "chrome",
|
|
13
|
-
"request": "launch",
|
|
14
|
-
"url": "http://localhost:3000"
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"name": "Next.js: debug full stack",
|
|
18
|
-
"type": "node-terminal",
|
|
19
|
-
"request": "launch",
|
|
20
|
-
"command": "pnpm dev",
|
|
21
|
-
"serverReadyAction": {
|
|
22
|
-
"pattern": "started server on .+, url: (https?://.+)",
|
|
23
|
-
"uriFormat": "%s",
|
|
24
|
-
"action": "debugWithChrome"
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
]
|
|
28
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"name": "Next.js: debug server-side",
|
|
6
|
+
"type": "node-terminal",
|
|
7
|
+
"request": "launch",
|
|
8
|
+
"command": "pnpm dev"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"name": "Next.js: debug client-side",
|
|
12
|
+
"type": "chrome",
|
|
13
|
+
"request": "launch",
|
|
14
|
+
"url": "http://localhost:3000"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"name": "Next.js: debug full stack",
|
|
18
|
+
"type": "node-terminal",
|
|
19
|
+
"request": "launch",
|
|
20
|
+
"command": "pnpm dev",
|
|
21
|
+
"serverReadyAction": {
|
|
22
|
+
"pattern": "started server on .+, url: (https?://.+)",
|
|
23
|
+
"uriFormat": "%s",
|
|
24
|
+
"action": "debugWithChrome"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
{
|
|
2
|
-
"editor.formatOnSave": false,
|
|
3
|
-
"typescript.tsdk": "node_modules\\typescript\\lib",
|
|
4
|
-
"typescript.enablePromptUseWorkspaceTsdk": true,
|
|
5
|
-
"editor.codeActionsOnSave": {
|
|
6
|
-
"source.fixAll.eslint": "explicit"
|
|
7
|
-
}
|
|
8
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"editor.formatOnSave": false,
|
|
3
|
+
"typescript.tsdk": "node_modules\\typescript\\lib",
|
|
4
|
+
"typescript.enablePromptUseWorkspaceTsdk": true,
|
|
5
|
+
"editor.codeActionsOnSave": {
|
|
6
|
+
"source.fixAll.eslint": "explicit"
|
|
7
|
+
}
|
|
8
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
## Getting Started with {{name}}
|
|
2
|
-
|
|
3
|
-
First, run the development server:
|
|
4
|
-
|
|
5
|
-
```bash
|
|
6
|
-
npm run dev
|
|
7
|
-
# or
|
|
8
|
-
yarn dev
|
|
9
|
-
# or
|
|
10
|
-
pnpm dev
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
14
|
-
|
|
15
|
-
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
|
1
|
+
## Getting Started with {{name}}
|
|
2
|
+
|
|
3
|
+
First, run the development server:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npm run dev
|
|
7
|
+
# or
|
|
8
|
+
yarn dev
|
|
9
|
+
# or
|
|
10
|
+
pnpm dev
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
|
|
14
|
+
|
|
15
|
+
You can start editing the page by modifying `app/page.tsx`. The page auto-updates as you edit the file.
|
|
@@ -1,21 +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"
|
|
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
21
|
}
|
|
@@ -2,15 +2,12 @@ import globals from "globals";
|
|
|
2
2
|
import tseslint from "typescript-eslint";
|
|
3
3
|
import eslintPluginReact from "eslint-plugin-react";
|
|
4
4
|
import eslintPluginReactHooks from "eslint-plugin-react-hooks";
|
|
5
|
-
import {
|
|
5
|
+
import {fixupPluginRules} from "@eslint/compat";
|
|
6
6
|
import eslintPluginPrettier from "eslint-plugin-prettier/recommended";
|
|
7
7
|
import eslintPluginImport from "eslint-plugin-import";
|
|
8
8
|
import eslintPluginReactCompiler from "eslint-plugin-react-compiler";
|
|
9
9
|
import eslintPluginNext from "@next/eslint-plugin-next";
|
|
10
10
|
import eslintPluginJsxA11y from "eslint-plugin-jsx-a11y";
|
|
11
|
-
import vercelStyleGuideTypescript from "@vercel/style-guide/eslint/typescript";
|
|
12
|
-
import vercelStyleGuideReact from "@vercel/style-guide/eslint/rules/react";
|
|
13
|
-
import vercelStyleGuideNext from "@vercel/style-guide/eslint/next";
|
|
14
11
|
|
|
15
12
|
export default [
|
|
16
13
|
// Ignores configuration
|
|
@@ -22,11 +19,11 @@ export default [
|
|
|
22
19
|
rules: {
|
|
23
20
|
"padding-line-between-statements": [
|
|
24
21
|
"warn",
|
|
25
|
-
{
|
|
26
|
-
{
|
|
27
|
-
{
|
|
22
|
+
{blankLine: "always", prev: "*", next: ["return", "export"]},
|
|
23
|
+
{blankLine: "always", prev: ["const", "let", "var"], next: "*"},
|
|
24
|
+
{blankLine: "any", prev: ["const", "let", "var"], next: ["const", "let", "var"]},
|
|
28
25
|
],
|
|
29
|
-
"no-console": "warn",
|
|
26
|
+
"no-console": ["warn", {allow: ["error"]}],
|
|
30
27
|
},
|
|
31
28
|
},
|
|
32
29
|
// React configuration
|
|
@@ -57,9 +54,12 @@ export default [
|
|
|
57
54
|
...eslintPluginReact.configs.recommended.rules,
|
|
58
55
|
...eslintPluginJsxA11y.configs.recommended.rules,
|
|
59
56
|
...eslintPluginReactHooks.configs.recommended.rules,
|
|
60
|
-
|
|
57
|
+
"react/jsx-boolean-value": ["error", "never"],
|
|
58
|
+
"react/jsx-curly-brace-presence": ["error", {props: "never", children: "never"}],
|
|
59
|
+
"react/jsx-no-useless-fragment": "error",
|
|
61
60
|
"react/prop-types": "off",
|
|
62
61
|
"react/jsx-uses-react": "off",
|
|
62
|
+
"react/no-array-index-key": "off",
|
|
63
63
|
"react/react-in-jsx-scope": "off",
|
|
64
64
|
"react/self-closing-comp": "warn",
|
|
65
65
|
"react/jsx-sort-props": [
|
|
@@ -72,8 +72,10 @@ export default [
|
|
|
72
72
|
},
|
|
73
73
|
],
|
|
74
74
|
"react-compiler/react-compiler": "error",
|
|
75
|
+
"react/jsx-no-leaked-render": "off",
|
|
75
76
|
"jsx-a11y/no-static-element-interactions": "off",
|
|
76
77
|
"jsx-a11y/click-events-have-key-events": "off",
|
|
78
|
+
"jsx-a11y/html-has-lang": "off",
|
|
77
79
|
},
|
|
78
80
|
},
|
|
79
81
|
// TypeScript configuration
|
|
@@ -81,7 +83,14 @@ export default [
|
|
|
81
83
|
...tseslint.configs.recommended,
|
|
82
84
|
{
|
|
83
85
|
rules: {
|
|
84
|
-
|
|
86
|
+
"@typescript-eslint/ban-ts-comment": "off",
|
|
87
|
+
"@typescript-eslint/no-empty-object-type": "error",
|
|
88
|
+
"@typescript-eslint/no-unsafe-function-type": "error",
|
|
89
|
+
"@typescript-eslint/no-wrapper-object-types": "error",
|
|
90
|
+
"@typescript-eslint/no-empty-function": "off",
|
|
91
|
+
"@typescript-eslint/no-explicit-any": "off",
|
|
92
|
+
"@typescript-eslint/no-inferrable-types": "off",
|
|
93
|
+
"@typescript-eslint/no-namespace": "off",
|
|
85
94
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
86
95
|
"@typescript-eslint/no-shadow": "off",
|
|
87
96
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
@@ -94,6 +103,7 @@ export default [
|
|
|
94
103
|
args: "after-used",
|
|
95
104
|
ignoreRestSiblings: false,
|
|
96
105
|
argsIgnorePattern: "^_.*?$",
|
|
106
|
+
caughtErrorsIgnorePattern: "^_.*?$",
|
|
97
107
|
},
|
|
98
108
|
],
|
|
99
109
|
},
|
|
@@ -143,7 +153,7 @@ export default [
|
|
|
143
153
|
],
|
|
144
154
|
pathGroups: [
|
|
145
155
|
{
|
|
146
|
-
pattern: "
|
|
156
|
+
pattern: "@/*",
|
|
147
157
|
group: "external",
|
|
148
158
|
position: "after",
|
|
149
159
|
},
|
|
@@ -156,7 +166,7 @@ export default [
|
|
|
156
166
|
// Next configuration
|
|
157
167
|
{
|
|
158
168
|
plugins: {
|
|
159
|
-
next: fixupPluginRules(eslintPluginNext),
|
|
169
|
+
"@next/next": fixupPluginRules(eslintPluginNext),
|
|
160
170
|
},
|
|
161
171
|
languageOptions: {
|
|
162
172
|
globals: {
|
|
@@ -165,8 +175,9 @@ export default [
|
|
|
165
175
|
},
|
|
166
176
|
},
|
|
167
177
|
rules: {
|
|
168
|
-
...
|
|
178
|
+
...eslintPluginNext.configs.recommended.rules,
|
|
169
179
|
"@next/next/no-img-element": "off",
|
|
180
|
+
"@next/next/no-html-link-for-pages": "off",
|
|
170
181
|
},
|
|
171
182
|
},
|
|
172
|
-
];
|
|
183
|
+
];
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/** @type {import('next').NextConfig} */
|
|
2
|
-
const nextConfig = {
|
|
3
|
-
logging: {
|
|
4
|
-
fetches: {
|
|
5
|
-
fullUrl: true,
|
|
6
|
-
},
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export default nextConfig;
|
|
1
|
+
/** @type {import('next').NextConfig} */
|
|
2
|
+
const nextConfig = {
|
|
3
|
+
logging: {
|
|
4
|
+
fetches: {
|
|
5
|
+
fullUrl: true,
|
|
6
|
+
},
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default nextConfig;
|
|
@@ -1,60 +1,58 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{name}}",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"private": true,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"dev": "next dev --turbopack",
|
|
7
|
-
"build": "next build",
|
|
8
|
-
"start": "next start",
|
|
9
|
-
"lint": "next lint",
|
|
10
|
-
"db:push": "npx prisma generate &&npx prisma db push"
|
|
11
|
-
},
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"@auth/prisma-adapter": "^2.9.0",
|
|
14
|
-
"@prisma/client": "^6.6.0",
|
|
15
|
-
"@radix-ui/react-slot": "^1.2.0",
|
|
16
|
-
"@tailwindcss/postcss": "^4.1.4",
|
|
17
|
-
"autoprefixer": "^10.4.21",
|
|
18
|
-
"bcryptjs": "^3.0.2",
|
|
19
|
-
"class-variance-authority": "^0.7.1",
|
|
20
|
-
"clsx": "^2.1.1",
|
|
21
|
-
"dotenv": "^
|
|
22
|
-
"lucide-react": "^0.
|
|
23
|
-
"next": "^15.3.
|
|
24
|
-
"next-auth": "4.24.11",
|
|
25
|
-
"postcss": "^8.5.
|
|
26
|
-
"postgres": "^3.4.
|
|
27
|
-
"react": "^19.1.0",
|
|
28
|
-
"react-dom": "^19.1.0",
|
|
29
|
-
"sonner": "^2.0.
|
|
30
|
-
"tailwind-merge": "^3.
|
|
31
|
-
"tailwindcss": "^4.1.
|
|
32
|
-
"tailwindcss-animate": "^1.0.7",
|
|
33
|
-
"zod": "^
|
|
34
|
-
},
|
|
35
|
-
"devDependencies": {
|
|
36
|
-
"@eslint/compat": "^1.
|
|
37
|
-
"@next/eslint-plugin-next": "15.3.
|
|
38
|
-
"@types/node": "^
|
|
39
|
-
"@types/react": "^19.1.
|
|
40
|
-
"@types/react-dom": "^19.1.
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"eslint": "^
|
|
44
|
-
"eslint-config-
|
|
45
|
-
"eslint-
|
|
46
|
-
"eslint-plugin-
|
|
47
|
-
"eslint-plugin-
|
|
48
|
-
"eslint-plugin-
|
|
49
|
-
"eslint-plugin-react": "
|
|
50
|
-
"eslint-plugin-react-
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"prettier": "^
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
"typescript-eslint": "^8.31.0"
|
|
59
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"dev": "next dev --turbopack",
|
|
7
|
+
"build": "next build",
|
|
8
|
+
"start": "next start",
|
|
9
|
+
"lint": "next lint",
|
|
10
|
+
"db:push": "npx prisma generate &&npx prisma db push"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@auth/prisma-adapter": "^2.9.0",
|
|
14
|
+
"@prisma/client": "^6.6.0",
|
|
15
|
+
"@radix-ui/react-slot": "^1.2.0",
|
|
16
|
+
"@tailwindcss/postcss": "^4.1.4",
|
|
17
|
+
"autoprefixer": "^10.4.21",
|
|
18
|
+
"bcryptjs": "^3.0.2",
|
|
19
|
+
"class-variance-authority": "^0.7.1",
|
|
20
|
+
"clsx": "^2.1.1",
|
|
21
|
+
"dotenv": "^17.2.0",
|
|
22
|
+
"lucide-react": "^0.525.0",
|
|
23
|
+
"next": "^15.3.5",
|
|
24
|
+
"next-auth": "4.24.11",
|
|
25
|
+
"postcss": "^8.5.6",
|
|
26
|
+
"postgres": "^3.4.7",
|
|
27
|
+
"react": "^19.1.0",
|
|
28
|
+
"react-dom": "^19.1.0",
|
|
29
|
+
"sonner": "^2.0.6",
|
|
30
|
+
"tailwind-merge": "^3.3.1",
|
|
31
|
+
"tailwindcss": "^4.1.11",
|
|
32
|
+
"tailwindcss-animate": "^1.0.7",
|
|
33
|
+
"zod": "^4.0.5"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@eslint/compat": "^1.3.1",
|
|
37
|
+
"@next/eslint-plugin-next": "15.3.5",
|
|
38
|
+
"@types/node": "^24.0.13",
|
|
39
|
+
"@types/react": "^19.1.8",
|
|
40
|
+
"@types/react-dom": "^19.1.6",
|
|
41
|
+
"babel-plugin-react-compiler": "19.0.0-beta-e1e972c-20250221",
|
|
42
|
+
"eslint": "^9.30.1",
|
|
43
|
+
"eslint-config-next": "^15.3.5",
|
|
44
|
+
"eslint-config-prettier": "^10.1.5",
|
|
45
|
+
"eslint-plugin-import": "^2.32.0",
|
|
46
|
+
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
47
|
+
"eslint-plugin-prettier": "^5.5.1",
|
|
48
|
+
"eslint-plugin-react": "^7.37.5",
|
|
49
|
+
"eslint-plugin-react-compiler": "0.0.0-experimental-c8b3f72-20240517",
|
|
50
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
|
51
|
+
"globals": "^16.3.0",
|
|
52
|
+
"prettier": "^3.6.2",
|
|
53
|
+
"prettier-plugin-tailwindcss": "^0.6.14",
|
|
54
|
+
"prisma": "^6.6.0",
|
|
55
|
+
"typescript": "^5.8.3",
|
|
56
|
+
"typescript-eslint": "^8.36.0"
|
|
57
|
+
}
|
|
60
58
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
plugins: ["@tailwindcss/postcss"],
|
|
3
|
-
};
|
|
1
|
+
export default {
|
|
2
|
+
plugins: ["@tailwindcss/postcss"],
|
|
3
|
+
};
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
-- CreateTable
|
|
2
|
-
CREATE TABLE "Post" (
|
|
3
|
-
"id" SERIAL NOT NULL,
|
|
4
|
-
"title" TEXT NOT NULL,
|
|
5
|
-
"content" TEXT,
|
|
6
|
-
"published" BOOLEAN NOT NULL DEFAULT false,
|
|
7
|
-
"authorId" INTEGER,
|
|
8
|
-
|
|
9
|
-
CONSTRAINT "Post_pkey" PRIMARY KEY ("id")
|
|
10
|
-
);
|
|
11
|
-
|
|
12
|
-
-- CreateTable
|
|
13
|
-
CREATE TABLE "User" (
|
|
14
|
-
"id" SERIAL NOT NULL,
|
|
15
|
-
"email" TEXT NOT NULL,
|
|
16
|
-
"name" TEXT,
|
|
17
|
-
|
|
18
|
-
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
|
19
|
-
);
|
|
20
|
-
|
|
21
|
-
-- CreateIndex
|
|
22
|
-
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
23
|
-
|
|
24
|
-
-- AddForeignKey
|
|
25
|
-
ALTER TABLE "Post" ADD CONSTRAINT "Post_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
|
1
|
+
-- CreateTable
|
|
2
|
+
CREATE TABLE "Post" (
|
|
3
|
+
"id" SERIAL NOT NULL,
|
|
4
|
+
"title" TEXT NOT NULL,
|
|
5
|
+
"content" TEXT,
|
|
6
|
+
"published" BOOLEAN NOT NULL DEFAULT false,
|
|
7
|
+
"authorId" INTEGER,
|
|
8
|
+
|
|
9
|
+
CONSTRAINT "Post_pkey" PRIMARY KEY ("id")
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
-- CreateTable
|
|
13
|
+
CREATE TABLE "User" (
|
|
14
|
+
"id" SERIAL NOT NULL,
|
|
15
|
+
"email" TEXT NOT NULL,
|
|
16
|
+
"name" TEXT,
|
|
17
|
+
|
|
18
|
+
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
-- CreateIndex
|
|
22
|
+
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
|
23
|
+
|
|
24
|
+
-- AddForeignKey
|
|
25
|
+
ALTER TABLE "Post" ADD CONSTRAINT "Post_authorId_fkey" FOREIGN KEY ("authorId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
package/dist/templates/nextjs-ts-landing-prisma/project/prisma/migrations/migration_lock.toml
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# Please do not edit this file manually
|
|
2
|
-
# It should be added in your version-control system (e.g., Git)
|
|
1
|
+
# Please do not edit this file manually
|
|
2
|
+
# It should be added in your version-control system (e.g., Git)
|
|
3
3
|
provider = "postgresql"
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
datasource db {
|
|
2
|
-
provider = "postgresql"
|
|
3
|
-
url = env("DATABASE_URL")
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
generator client {
|
|
7
|
-
provider = "prisma-client-js"
|
|
8
|
-
output = "./generated"
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
model Post {
|
|
12
|
-
id Int @id @default(autoincrement())
|
|
13
|
-
title String
|
|
14
|
-
content String?
|
|
15
|
-
published Boolean @default(false)
|
|
16
|
-
author User? @relation(fields: [authorId], references: [id])
|
|
17
|
-
authorId Int?
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
model User {
|
|
21
|
-
id Int @id @default(autoincrement())
|
|
22
|
-
email String @unique
|
|
23
|
-
name String?
|
|
24
|
-
posts Post[]
|
|
1
|
+
datasource db {
|
|
2
|
+
provider = "postgresql"
|
|
3
|
+
url = env("DATABASE_URL")
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
generator client {
|
|
7
|
+
provider = "prisma-client-js"
|
|
8
|
+
output = "./generated"
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
model Post {
|
|
12
|
+
id Int @id @default(autoincrement())
|
|
13
|
+
title String
|
|
14
|
+
content String?
|
|
15
|
+
published Boolean @default(false)
|
|
16
|
+
author User? @relation(fields: [authorId], references: [id])
|
|
17
|
+
authorId Int?
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
model User {
|
|
21
|
+
id Int @id @default(autoincrement())
|
|
22
|
+
email String @unique
|
|
23
|
+
name String?
|
|
24
|
+
posts Post[]
|
|
25
25
|
}
|
package/dist/templates/nextjs-ts-landing-prisma/project/src/app/api/auth/[...nextauth]/route.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { handlers } from "@/auth";
|
|
2
|
-
|
|
3
|
-
export const { GET, POST } = handlers;
|
|
1
|
+
import { handlers } from "@/auth";
|
|
2
|
+
|
|
3
|
+
export const { GET, POST } = handlers;
|