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,58 +1,58 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Optimized Next.js TypeScript Best Practices with Modern UI/UX
|
|
3
|
-
globs:
|
|
4
|
-
alwaysApply: false
|
|
5
|
-
---
|
|
6
|
-
You are an expert full-stack developer proficient in TypeScript, React, Next.js, and modern UI/UX frameworks (e.g., Tailwind CSS, Shadcn UI, Radix UI). Your task is to produce the most optimized and maintainable Next.js code, following best practices and adhering to the principles of clean code and robust architecture.
|
|
7
|
-
|
|
8
|
-
### Objective
|
|
9
|
-
- Create a Next.js solution that is not only functional but also adheres to the best practices in performance, security, and maintainability.
|
|
10
|
-
|
|
11
|
-
### Code Style and Structure
|
|
12
|
-
- Write concise, technical TypeScript code with accurate examples.
|
|
13
|
-
- Use functional and declarative programming patterns; avoid classes.
|
|
14
|
-
- Favor iteration and modularization over code duplication.
|
|
15
|
-
- Use descriptive variable names with auxiliary verbs (e.g., `isLoading`, `hasError`).
|
|
16
|
-
- Structure files with exported components, subcomponents, helpers, static content, and types.
|
|
17
|
-
- Use lowercase with dashes for directory names (e.g., `components/auth-wizard`).
|
|
18
|
-
|
|
19
|
-
### Optimization and Best Practices
|
|
20
|
-
- Minimize the use of `'use client'`, `useEffect`, and `setState`; favor React Server Components (RSC) and Next.js SSR features.
|
|
21
|
-
- Implement dynamic imports for code splitting and optimization.
|
|
22
|
-
- Use responsive design with a mobile-first approach.
|
|
23
|
-
- Optimize images: use WebP format, include size data, implement lazy loading.
|
|
24
|
-
|
|
25
|
-
### Error Handling and Validation
|
|
26
|
-
- Prioritize error handling and edge cases:
|
|
27
|
-
- Use early returns for error conditions.
|
|
28
|
-
- Implement guard clauses to handle preconditions and invalid states early.
|
|
29
|
-
- Use custom error types for consistent error handling.
|
|
30
|
-
|
|
31
|
-
### UI and Styling
|
|
32
|
-
- Use modern UI frameworks (e.g., Tailwind CSS, Shadcn UI, Radix UI) for styling.
|
|
33
|
-
- Implement consistent design and responsive patterns across platforms.
|
|
34
|
-
|
|
35
|
-
### State Management and Data Fetching
|
|
36
|
-
- Use modern state management solutions (e.g., Zustand, TanStack React Query) to handle global state and data fetching.
|
|
37
|
-
- Implement validation using Zod for schema validation.
|
|
38
|
-
|
|
39
|
-
### Security and Performance
|
|
40
|
-
- Implement proper error handling, user input validation, and secure coding practices.
|
|
41
|
-
- Follow performance optimization techniques, such as reducing load times and improving rendering efficiency.
|
|
42
|
-
|
|
43
|
-
### Testing and Documentation
|
|
44
|
-
- Write unit tests for components using Jest and React Testing Library.
|
|
45
|
-
- Provide clear and concise comments for complex logic.
|
|
46
|
-
- Use JSDoc comments for functions and components to improve IDE intellisense.
|
|
47
|
-
|
|
48
|
-
### Methodology
|
|
49
|
-
1. **System 2 Thinking**: Approach the problem with analytical rigor. Break down the requirements into smaller, manageable parts and thoroughly consider each step before implementation.
|
|
50
|
-
2. **Tree of Thoughts**: Evaluate multiple possible solutions and their consequences. Use a structured approach to explore different paths and select the optimal one.
|
|
51
|
-
3. **Iterative Refinement**: Before finalizing the code, consider improvements, edge cases, and optimizations. Iterate through potential enhancements to ensure the final solution is robust.
|
|
52
|
-
|
|
53
|
-
**Process**:
|
|
54
|
-
1. **Deep Dive Analysis**: Begin by conducting a thorough analysis of the task at hand, considering the technical requirements and constraints.
|
|
55
|
-
2. **Planning**: Develop a clear plan that outlines the architectural structure and flow of the solution, using <PLANNING> tags if necessary.
|
|
56
|
-
3. **Implementation**: Implement the solution step-by-step, ensuring that each part adheres to the specified best practices.
|
|
57
|
-
4. **Review and Optimize**: Perform a review of the code, looking for areas of potential optimization and improvement.
|
|
1
|
+
---
|
|
2
|
+
description: Optimized Next.js TypeScript Best Practices with Modern UI/UX
|
|
3
|
+
globs:
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
You are an expert full-stack developer proficient in TypeScript, React, Next.js, and modern UI/UX frameworks (e.g., Tailwind CSS, Shadcn UI, Radix UI). Your task is to produce the most optimized and maintainable Next.js code, following best practices and adhering to the principles of clean code and robust architecture.
|
|
7
|
+
|
|
8
|
+
### Objective
|
|
9
|
+
- Create a Next.js solution that is not only functional but also adheres to the best practices in performance, security, and maintainability.
|
|
10
|
+
|
|
11
|
+
### Code Style and Structure
|
|
12
|
+
- Write concise, technical TypeScript code with accurate examples.
|
|
13
|
+
- Use functional and declarative programming patterns; avoid classes.
|
|
14
|
+
- Favor iteration and modularization over code duplication.
|
|
15
|
+
- Use descriptive variable names with auxiliary verbs (e.g., `isLoading`, `hasError`).
|
|
16
|
+
- Structure files with exported components, subcomponents, helpers, static content, and types.
|
|
17
|
+
- Use lowercase with dashes for directory names (e.g., `components/auth-wizard`).
|
|
18
|
+
|
|
19
|
+
### Optimization and Best Practices
|
|
20
|
+
- Minimize the use of `'use client'`, `useEffect`, and `setState`; favor React Server Components (RSC) and Next.js SSR features.
|
|
21
|
+
- Implement dynamic imports for code splitting and optimization.
|
|
22
|
+
- Use responsive design with a mobile-first approach.
|
|
23
|
+
- Optimize images: use WebP format, include size data, implement lazy loading.
|
|
24
|
+
|
|
25
|
+
### Error Handling and Validation
|
|
26
|
+
- Prioritize error handling and edge cases:
|
|
27
|
+
- Use early returns for error conditions.
|
|
28
|
+
- Implement guard clauses to handle preconditions and invalid states early.
|
|
29
|
+
- Use custom error types for consistent error handling.
|
|
30
|
+
|
|
31
|
+
### UI and Styling
|
|
32
|
+
- Use modern UI frameworks (e.g., Tailwind CSS, Shadcn UI, Radix UI) for styling.
|
|
33
|
+
- Implement consistent design and responsive patterns across platforms.
|
|
34
|
+
|
|
35
|
+
### State Management and Data Fetching
|
|
36
|
+
- Use modern state management solutions (e.g., Zustand, TanStack React Query) to handle global state and data fetching.
|
|
37
|
+
- Implement validation using Zod for schema validation.
|
|
38
|
+
|
|
39
|
+
### Security and Performance
|
|
40
|
+
- Implement proper error handling, user input validation, and secure coding practices.
|
|
41
|
+
- Follow performance optimization techniques, such as reducing load times and improving rendering efficiency.
|
|
42
|
+
|
|
43
|
+
### Testing and Documentation
|
|
44
|
+
- Write unit tests for components using Jest and React Testing Library.
|
|
45
|
+
- Provide clear and concise comments for complex logic.
|
|
46
|
+
- Use JSDoc comments for functions and components to improve IDE intellisense.
|
|
47
|
+
|
|
48
|
+
### Methodology
|
|
49
|
+
1. **System 2 Thinking**: Approach the problem with analytical rigor. Break down the requirements into smaller, manageable parts and thoroughly consider each step before implementation.
|
|
50
|
+
2. **Tree of Thoughts**: Evaluate multiple possible solutions and their consequences. Use a structured approach to explore different paths and select the optimal one.
|
|
51
|
+
3. **Iterative Refinement**: Before finalizing the code, consider improvements, edge cases, and optimizations. Iterate through potential enhancements to ensure the final solution is robust.
|
|
52
|
+
|
|
53
|
+
**Process**:
|
|
54
|
+
1. **Deep Dive Analysis**: Begin by conducting a thorough analysis of the task at hand, considering the technical requirements and constraints.
|
|
55
|
+
2. **Planning**: Develop a clear plan that outlines the architectural structure and flow of the solution, using <PLANNING> tags if necessary.
|
|
56
|
+
3. **Implementation**: Implement the solution step-by-step, ensuring that each part adheres to the specified best practices.
|
|
57
|
+
4. **Review and Optimize**: Perform a review of the code, looking for areas of potential optimization and improvement.
|
|
58
58
|
5. **Finalization**: Finalize the code by ensuring it meets all requirements, is secure, and is performant.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
root = true
|
|
2
|
-
|
|
3
|
-
[*]
|
|
4
|
-
insert_final_newline = true
|
|
5
|
-
charset = utf-8
|
|
6
|
-
indent_style = space
|
|
7
|
-
indent_size = 2
|
|
8
|
-
trim_trailing_whitespace = true
|
|
9
|
-
max_line_length = 80
|
|
1
|
+
root = true
|
|
2
|
+
|
|
3
|
+
[*]
|
|
4
|
+
insert_final_newline = true
|
|
5
|
+
charset = utf-8
|
|
6
|
+
indent_style = space
|
|
7
|
+
indent_size = 2
|
|
8
|
+
trim_trailing_whitespace = true
|
|
9
|
+
max_line_length = 80
|
|
@@ -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
|
}
|
|
@@ -8,9 +8,6 @@ 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
|
|
@@ -26,7 +23,7 @@ export default [
|
|
|
26
23
|
{blankLine: "always", prev: ["const", "let", "var"], next: "*"},
|
|
27
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,13 +1,13 @@
|
|
|
1
|
-
/** @type {import('next').NextConfig} */
|
|
2
|
-
const nextConfig = {
|
|
3
|
-
experimental: {
|
|
4
|
-
reactCompiler: true,
|
|
5
|
-
},
|
|
6
|
-
logging: {
|
|
7
|
-
fetches: {
|
|
8
|
-
fullUrl: true,
|
|
9
|
-
},
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export default nextConfig;
|
|
1
|
+
/** @type {import('next').NextConfig} */
|
|
2
|
+
const nextConfig = {
|
|
3
|
+
experimental: {
|
|
4
|
+
reactCompiler: true,
|
|
5
|
+
},
|
|
6
|
+
logging: {
|
|
7
|
+
fetches: {
|
|
8
|
+
fullUrl: true,
|
|
9
|
+
},
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default nextConfig;
|
|
@@ -1,50 +1,49 @@
|
|
|
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
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@radix-ui/react-slot": "^1.2.0",
|
|
13
|
-
"@tailwindcss/postcss": "^4.1.4",
|
|
14
|
-
"autoprefixer": "^10.4.21",
|
|
15
|
-
"class-variance-authority": "^0.7.1",
|
|
16
|
-
"clsx": "^2.1.1",
|
|
17
|
-
"lucide-react": "^0.
|
|
18
|
-
"next": "^15.3.1",
|
|
19
|
-
"postcss": "^8.5.3",
|
|
20
|
-
"react": "19.1.0",
|
|
21
|
-
"react-dom": "19.1.0",
|
|
22
|
-
"tailwind-merge": "^3.2.0",
|
|
23
|
-
"tailwindcss": "^4.1.4",
|
|
24
|
-
"tailwindcss-animate": "^1.0.7"
|
|
25
|
-
},
|
|
26
|
-
"devDependencies": {
|
|
27
|
-
"@eslint/compat": "^1.2.8",
|
|
28
|
-
"@next/eslint-plugin-next": "15.
|
|
29
|
-
"@types/node": "^22.15.3",
|
|
30
|
-
"@types/react": "^19.1.
|
|
31
|
-
"@types/react-dom": "^19.1.2",
|
|
32
|
-
"@vercel/style-guide": "^6.0.0",
|
|
33
|
-
"babel-plugin-react-compiler": "19.0.0-beta-
|
|
34
|
-
"eslint": "^9.
|
|
35
|
-
"eslint-config-next": "^15.3.
|
|
36
|
-
"eslint-config-prettier": "^10.1.
|
|
37
|
-
"eslint-plugin-import": "^2.31.0",
|
|
38
|
-
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
39
|
-
"eslint-plugin-prettier": "^5.
|
|
40
|
-
"eslint-plugin-react": "^7.37.5",
|
|
41
|
-
"eslint-plugin-react-compiler": "0.0.0-experimental-c8b3f72-20240517",
|
|
42
|
-
"eslint-plugin-react-hooks": "^5.2.0",
|
|
43
|
-
"globals": "^16.
|
|
44
|
-
"prettier": "^3.5.3",
|
|
45
|
-
"prettier-plugin-tailwindcss": "^0.6.
|
|
46
|
-
"
|
|
47
|
-
"typescript": "^
|
|
48
|
-
|
|
49
|
-
}
|
|
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
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@radix-ui/react-slot": "^1.2.0",
|
|
13
|
+
"@tailwindcss/postcss": "^4.1.4",
|
|
14
|
+
"autoprefixer": "^10.4.21",
|
|
15
|
+
"class-variance-authority": "^0.7.1",
|
|
16
|
+
"clsx": "^2.1.1",
|
|
17
|
+
"lucide-react": "^0.525.0",
|
|
18
|
+
"next": "^15.3.1",
|
|
19
|
+
"postcss": "^8.5.3",
|
|
20
|
+
"react": "19.1.0",
|
|
21
|
+
"react-dom": "19.1.0",
|
|
22
|
+
"tailwind-merge": "^3.2.0",
|
|
23
|
+
"tailwindcss": "^4.1.4",
|
|
24
|
+
"tailwindcss-animate": "^1.0.7"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@eslint/compat": "^1.2.8",
|
|
28
|
+
"@next/eslint-plugin-next": "15.3.5",
|
|
29
|
+
"@types/node": "^22.15.3",
|
|
30
|
+
"@types/react": "^19.1.8",
|
|
31
|
+
"@types/react-dom": "^19.1.2",
|
|
32
|
+
"@vercel/style-guide": "^6.0.0",
|
|
33
|
+
"babel-plugin-react-compiler": "19.0.0-beta-e1e972c-20250221",
|
|
34
|
+
"eslint": "^9.30.1",
|
|
35
|
+
"eslint-config-next": "^15.3.5",
|
|
36
|
+
"eslint-config-prettier": "^10.1.5",
|
|
37
|
+
"eslint-plugin-import": "^2.31.0",
|
|
38
|
+
"eslint-plugin-jsx-a11y": "^6.10.2",
|
|
39
|
+
"eslint-plugin-prettier": "^5.5.1",
|
|
40
|
+
"eslint-plugin-react": "^7.37.5",
|
|
41
|
+
"eslint-plugin-react-compiler": "0.0.0-experimental-c8b3f72-20240517",
|
|
42
|
+
"eslint-plugin-react-hooks": "^5.2.0",
|
|
43
|
+
"globals": "^16.3.0",
|
|
44
|
+
"prettier": "^3.5.3",
|
|
45
|
+
"prettier-plugin-tailwindcss": "^0.6.14",
|
|
46
|
+
"typescript": "^5.8.3",
|
|
47
|
+
"typescript-eslint": "^8.36.0"
|
|
48
|
+
}
|
|
50
49
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export default {
|
|
2
|
-
plugins: ["@tailwindcss/postcss"],
|
|
3
|
-
};
|
|
1
|
+
export default {
|
|
2
|
+
plugins: ["@tailwindcss/postcss"],
|
|
3
|
+
};
|