create-stackkit-app 0.4.3 → 0.4.5

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 (96) hide show
  1. package/README.md +1 -1
  2. package/bin/create-stackkit.js +10 -1
  3. package/dist/index.js +62 -3
  4. package/dist/lib/create-project.d.ts +20 -1
  5. package/dist/lib/create-project.js +193 -568
  6. package/dist/lib/utils/config-utils.d.ts +2 -0
  7. package/dist/lib/utils/config-utils.js +88 -0
  8. package/dist/lib/utils/file-utils.d.ts +8 -0
  9. package/dist/lib/utils/file-utils.js +75 -0
  10. package/dist/lib/utils/git-utils.d.ts +1 -0
  11. package/dist/lib/utils/git-utils.js +9 -0
  12. package/dist/lib/utils/js-conversion.d.ts +1 -0
  13. package/dist/lib/utils/js-conversion.js +244 -0
  14. package/dist/lib/utils/logger.d.ts +16 -0
  15. package/dist/lib/utils/logger.js +59 -0
  16. package/dist/lib/utils/module-utils.d.ts +2 -0
  17. package/dist/lib/utils/module-utils.js +461 -0
  18. package/dist/lib/utils/package-utils.d.ts +1 -0
  19. package/dist/lib/utils/package-utils.js +39 -0
  20. package/modules/auth/authjs/files/api/auth/[...nextauth]/route.ts +6 -0
  21. package/modules/auth/authjs/files/lib/auth-client.ts +11 -0
  22. package/modules/auth/authjs/files/lib/auth.ts +41 -0
  23. package/modules/auth/authjs/files/schemas/prisma-schema.prisma +45 -0
  24. package/modules/auth/authjs/module.json +95 -0
  25. package/modules/auth/better-auth/files/lib/auth-client.ts +7 -0
  26. package/modules/auth/better-auth/files/lib/auth.ts +75 -0
  27. package/modules/auth/better-auth/files/lib/email-service.ts +34 -0
  28. package/modules/auth/better-auth/files/lib/email-templates.ts +89 -0
  29. package/modules/auth/better-auth/files/schemas/prisma-schema.prisma +63 -0
  30. package/modules/auth/better-auth/module.json +191 -0
  31. package/modules/database/mongoose/files/lib/db.ts +68 -0
  32. package/modules/database/mongoose/files/models/User.ts +34 -0
  33. package/modules/database/mongoose/module.json +55 -0
  34. package/modules/database/prisma/files/lib/prisma.ts +4 -0
  35. package/modules/database/prisma/files/prisma/schema.prisma +8 -0
  36. package/modules/database/prisma/files/prisma.config.ts +12 -0
  37. package/modules/database/prisma/module.json +122 -0
  38. package/package.json +7 -3
  39. package/templates/express/.env.example +1 -10
  40. package/templates/express/package.json +15 -21
  41. package/templates/express/src/app.ts +9 -29
  42. package/templates/express/src/config/env.ts +3 -14
  43. package/templates/express/src/features/health/health.controller.ts +18 -0
  44. package/templates/express/src/features/health/health.route.ts +9 -0
  45. package/templates/express/src/features/health/health.service.ts +6 -0
  46. package/templates/express/src/middlewares/error.middleware.ts +2 -2
  47. package/templates/express/src/server.ts +1 -1
  48. package/templates/express/template.json +1 -5
  49. package/templates/express/tsconfig.json +0 -1
  50. package/templates/nextjs/lib/env.ts +8 -0
  51. package/templates/nextjs/package.json +7 -7
  52. package/templates/react-vite/.env.example +1 -2
  53. package/templates/react-vite/.prettierignore +4 -0
  54. package/templates/react-vite/.prettierrc +9 -0
  55. package/templates/react-vite/README.md +22 -0
  56. package/templates/react-vite/package.json +16 -16
  57. package/templates/react-vite/src/router.tsx +0 -12
  58. package/templates/react-vite/vite.config.ts +0 -6
  59. package/dist/lib/template-composer.d.ts +0 -16
  60. package/dist/lib/template-composer.js +0 -197
  61. package/modules/auth/better-auth-express/adapters/mongoose-mongodb.ts +0 -13
  62. package/modules/auth/better-auth-express/adapters/prisma-mongodb.ts +0 -15
  63. package/modules/auth/better-auth-express/adapters/prisma-postgresql.ts +0 -15
  64. package/modules/auth/better-auth-express/files/lib/auth.ts +0 -16
  65. package/modules/auth/better-auth-express/files/routes/auth.ts +0 -12
  66. package/modules/auth/better-auth-express/files/schemas/prisma-mongodb-schema.prisma +0 -72
  67. package/modules/auth/better-auth-express/files/schemas/prisma-postgresql-schema.prisma +0 -72
  68. package/modules/auth/better-auth-express/module.json +0 -61
  69. package/modules/auth/better-auth-nextjs/adapters/mongoose-mongodb.ts +0 -24
  70. package/modules/auth/better-auth-nextjs/adapters/prisma-mongodb.ts +0 -26
  71. package/modules/auth/better-auth-nextjs/adapters/prisma-postgresql.ts +0 -26
  72. package/modules/auth/better-auth-nextjs/files/lib/auth.ts +0 -26
  73. package/modules/auth/better-auth-nextjs/files/schemas/prisma-mongodb-schema.prisma +0 -72
  74. package/modules/auth/better-auth-nextjs/files/schemas/prisma-postgresql-schema.prisma +0 -72
  75. package/modules/auth/better-auth-nextjs/module.json +0 -62
  76. package/modules/auth/better-auth-react/files/lib/auth-client.ts +0 -9
  77. package/modules/auth/better-auth-react/module.json +0 -28
  78. package/modules/auth/clerk-express/files/lib/auth.ts +0 -7
  79. package/modules/auth/clerk-express/module.json +0 -34
  80. package/modules/auth/clerk-nextjs/files/lib/auth-provider.tsx +0 -5
  81. package/modules/auth/clerk-nextjs/files/middleware.ts +0 -9
  82. package/modules/auth/clerk-nextjs/module.json +0 -64
  83. package/modules/auth/clerk-react/files/lib/auth-provider.tsx +0 -15
  84. package/modules/auth/clerk-react/module.json +0 -28
  85. package/modules/database/mongoose-mongodb/files/lib/db.ts +0 -40
  86. package/modules/database/mongoose-mongodb/module.json +0 -55
  87. package/modules/database/prisma-mongodb/files/lib/db.ts +0 -9
  88. package/modules/database/prisma-mongodb/files/prisma/schema.prisma +0 -17
  89. package/modules/database/prisma-mongodb/module.json +0 -60
  90. package/modules/database/prisma-postgresql/files/lib/db.ts +0 -9
  91. package/modules/database/prisma-postgresql/files/prisma/schema.prisma +0 -17
  92. package/modules/database/prisma-postgresql/module.json +0 -60
  93. package/templates/react-vite/src/api/services/user.service.ts +0 -18
  94. package/templates/react-vite/src/pages/UserProfile.tsx +0 -40
  95. package/templates/react-vite/src/types/user.d.ts +0 -6
  96. /package/modules/auth/{better-auth-nextjs → better-auth}/files/api/auth/[...all]/route.ts +0 -0
@@ -1,60 +0,0 @@
1
- {
2
- "name": "prisma-postgresql",
3
- "displayName": "Prisma + PostgreSQL",
4
- "description": "Prisma ORM with PostgreSQL database",
5
- "category": "database",
6
- "provider": "prisma",
7
- "database": "postgresql",
8
- "supportedFrameworks": ["nextjs", "express"],
9
- "dependencies": {
10
- "@prisma/client": "^6.1.0"
11
- },
12
- "devDependencies": {
13
- "prisma": "^6.1.0"
14
- },
15
- "envVars": [
16
- {
17
- "key": "DATABASE_URL",
18
- "value": "postgresql://user:password@localhost:5432/mydb?schema=public",
19
- "description": "PostgreSQL database connection URL",
20
- "required": true
21
- }
22
- ],
23
- "frameworkPatches": {
24
- "express": {
25
- "tsconfig.json": {
26
- "merge": {
27
- "compilerOptions": {
28
- "paths": {
29
- "@/*": ["./src/*"]
30
- }
31
- },
32
- "include": ["src/**/*"],
33
- "exclude": ["node_modules", "dist", "prisma/migrations"]
34
- }
35
- }
36
- },
37
- "nextjs": {
38
- "tsconfig.json": {
39
- "merge": {
40
- "exclude": ["node_modules", ".next", "out", "prisma/migrations"]
41
- }
42
- }
43
- }
44
- },
45
- "patches": [
46
- {
47
- "type": "create-file",
48
- "description": "Create Prisma schema",
49
- "source": "files/prisma/schema.prisma",
50
- "destination": "prisma/schema.prisma"
51
- },
52
- {
53
- "type": "create-file",
54
- "description": "Create Prisma client singleton",
55
- "source": "files/lib/db.ts",
56
- "destination": "{{lib}}/db.ts"
57
- }
58
- ],
59
- "postInstall": ["npx prisma generate"]
60
- }
@@ -1,18 +0,0 @@
1
- import api from "../client";
2
-
3
- export const userService = {
4
- getUser: async (id: string): Promise<User> => {
5
- const response = await api.get<ApiResponse<User>>(`/users/${id}`);
6
- return response.data.data;
7
- },
8
-
9
- getCurrentUser: async (): Promise<User> => {
10
- const response = await api.get<ApiResponse<User>>("/users/me");
11
- return response.data.data;
12
- },
13
-
14
- updateUser: async (id: string, data: Partial<User>): Promise<User> => {
15
- const response = await api.patch<ApiResponse<User>>(`/users/${id}`, data);
16
- return response.data.data;
17
- },
18
- };
@@ -1,40 +0,0 @@
1
- import { useQuery } from "@tanstack/react-query";
2
- import { useLoaderData, useParams } from "react-router";
3
- import { userService } from "../api/services/user.service";
4
-
5
- type User = { id?: string; name?: string; email?: string; avatar?: string; [key: string]: any };
6
-
7
- export default function UserProfile() {
8
- const loaderUser = useLoaderData() as User | undefined;
9
- const { userId } = useParams();
10
-
11
- const { data: user = loaderUser ?? {} } = useQuery({
12
- queryKey: ["user", userId],
13
- queryFn: async () => {
14
- if (!userId) throw new Error("Missing user id");
15
- return await userService.getUser(userId);
16
- },
17
- initialData: loaderUser,
18
- staleTime: 1000 * 60,
19
- });
20
-
21
- return (
22
- <div className="min-h-screen bg-black text-white flex items-center justify-center">
23
- <div className="max-w-xl p-8 bg-zinc-900 rounded-md shadow">
24
- <div className="flex items-center gap-4">
25
- {user.avatar ? (
26
- <img src={user.avatar} alt={user.name} className="w-16 h-16 rounded-full" />
27
- ) : (
28
- <div className="w-16 h-16 rounded-full bg-zinc-700 flex items-center justify-center text-xl">
29
- {user.name?.[0] ?? "U"}
30
- </div>
31
- )}
32
- <div>
33
- <h2 className="text-2xl font-semibold">{user.name}</h2>
34
- <p className="text-sm text-zinc-400">{user.email}</p>
35
- </div>
36
- </div>
37
- </div>
38
- </div>
39
- );
40
- }
@@ -1,6 +0,0 @@
1
- type User = {
2
- id: string;
3
- name: string;
4
- email: string;
5
- avatar?: string;
6
- };