@digilogiclabs/create-saas-app 1.5.1 → 1.5.3

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 (115) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cli/commands/add.d.ts +6 -0
  3. package/dist/cli/commands/add.d.ts.map +1 -0
  4. package/dist/cli/commands/add.js +39 -0
  5. package/dist/cli/commands/add.js.map +1 -0
  6. package/dist/cli/commands/create.d.ts +28 -0
  7. package/dist/cli/commands/create.d.ts.map +1 -0
  8. package/dist/cli/commands/create.js +130 -0
  9. package/dist/cli/commands/create.js.map +1 -0
  10. package/dist/cli/commands/index.d.ts +4 -0
  11. package/dist/cli/commands/index.d.ts.map +1 -0
  12. package/dist/cli/commands/index.js +20 -0
  13. package/dist/cli/commands/index.js.map +1 -0
  14. package/dist/cli/commands/update.d.ts +6 -0
  15. package/dist/cli/commands/update.d.ts.map +1 -0
  16. package/dist/cli/commands/update.js +68 -0
  17. package/dist/cli/commands/update.js.map +1 -0
  18. package/dist/{index.d.ts → cli/index.d.ts} +2 -3
  19. package/dist/cli/index.d.ts.map +1 -0
  20. package/dist/cli/index.js +59 -0
  21. package/dist/cli/index.js.map +1 -0
  22. package/dist/cli/prompts/index.d.ts +2 -0
  23. package/dist/cli/prompts/index.d.ts.map +1 -0
  24. package/dist/cli/prompts/index.js +18 -0
  25. package/dist/cli/prompts/index.js.map +1 -0
  26. package/dist/cli/prompts/project-setup.d.ts +5 -0
  27. package/dist/cli/prompts/project-setup.d.ts.map +1 -0
  28. package/dist/cli/prompts/project-setup.js +251 -0
  29. package/dist/cli/prompts/project-setup.js.map +1 -0
  30. package/dist/cli/utils/git.d.ts +9 -0
  31. package/dist/cli/utils/git.d.ts.map +1 -0
  32. package/dist/cli/utils/git.js +77 -0
  33. package/dist/cli/utils/git.js.map +1 -0
  34. package/dist/cli/utils/index.d.ts +5 -0
  35. package/dist/cli/utils/index.d.ts.map +1 -0
  36. package/dist/cli/utils/index.js +21 -0
  37. package/dist/cli/utils/index.js.map +1 -0
  38. package/dist/cli/utils/logger.d.ts +16 -0
  39. package/dist/cli/utils/logger.d.ts.map +1 -0
  40. package/dist/cli/utils/logger.js +55 -0
  41. package/dist/cli/utils/logger.js.map +1 -0
  42. package/dist/cli/utils/package-manager.d.ts +8 -0
  43. package/dist/cli/utils/package-manager.d.ts.map +1 -0
  44. package/dist/cli/utils/package-manager.js +92 -0
  45. package/dist/cli/utils/package-manager.js.map +1 -0
  46. package/dist/cli/utils/spinner.d.ts +7 -0
  47. package/dist/cli/utils/spinner.d.ts.map +1 -0
  48. package/dist/cli/utils/spinner.js +48 -0
  49. package/dist/cli/utils/spinner.js.map +1 -0
  50. package/dist/cli/validators/dependencies.d.ts +15 -0
  51. package/dist/cli/validators/dependencies.d.ts.map +1 -0
  52. package/dist/cli/validators/dependencies.js +108 -0
  53. package/dist/cli/validators/dependencies.js.map +1 -0
  54. package/dist/cli/validators/index.d.ts +3 -0
  55. package/dist/cli/validators/index.d.ts.map +1 -0
  56. package/dist/cli/validators/index.js +19 -0
  57. package/dist/cli/validators/index.js.map +1 -0
  58. package/dist/cli/validators/project-name.d.ts +5 -0
  59. package/dist/cli/validators/project-name.d.ts.map +1 -0
  60. package/dist/cli/validators/project-name.js +151 -0
  61. package/dist/cli/validators/project-name.js.map +1 -0
  62. package/dist/generators/file-processor.d.ts +28 -0
  63. package/dist/generators/file-processor.d.ts.map +1 -0
  64. package/dist/generators/file-processor.js +203 -0
  65. package/dist/generators/file-processor.js.map +1 -0
  66. package/dist/generators/index.d.ts +4 -0
  67. package/dist/generators/index.d.ts.map +1 -0
  68. package/dist/generators/index.js +20 -0
  69. package/dist/generators/index.js.map +1 -0
  70. package/dist/generators/package-installer.d.ts +29 -0
  71. package/dist/generators/package-installer.d.ts.map +1 -0
  72. package/dist/generators/package-installer.js +167 -0
  73. package/dist/generators/package-installer.js.map +1 -0
  74. package/dist/generators/template-generator.d.ts +48 -0
  75. package/dist/generators/template-generator.d.ts.map +1 -0
  76. package/dist/generators/template-generator.js +276 -0
  77. package/dist/generators/template-generator.js.map +1 -0
  78. package/dist/index.js +3 -3
  79. package/dist/index.js.map +1 -1
  80. package/dist/templates/web/ui-auth-payments/template/package-lock.json +12240 -0
  81. package/dist/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +1 -1
  82. package/dist/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +3 -3
  83. package/dist/templates/web/ui-auth-payments/template/tsconfig.tsbuildinfo +1 -0
  84. package/dist/templates/web/ui-auth-payments-audio/template/middleware.ts +68 -0
  85. package/dist/templates/web/ui-auth-payments-audio/template/package-lock.json +12241 -0
  86. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/layout.tsx +22 -0
  87. package/dist/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +183 -0
  88. package/dist/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +2 -105
  89. package/dist/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +2 -124
  90. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +52 -0
  91. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +144 -0
  92. package/dist/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +185 -0
  93. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +246 -0
  94. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/actions/index.ts +14 -0
  95. package/dist/templates/web/ui-auth-payments-audio/template/src/lib/auth-server.ts +177 -0
  96. package/dist/templates/web/ui-auth-payments-audio/template/tsconfig.tsbuildinfo +1 -0
  97. package/dist/templates/web/ui-package-test/template/next-env.d.ts +5 -0
  98. package/package.json +4 -3
  99. package/src/templates/web/ui-auth-payments/template/package-lock.json +12240 -0
  100. package/src/templates/web/ui-auth-payments/template/src/components/client/login-form.tsx +1 -1
  101. package/src/templates/web/ui-auth-payments/template/src/components/client/signup-form.tsx +3 -3
  102. package/src/templates/web/ui-auth-payments/template/tsconfig.tsbuildinfo +1 -0
  103. package/src/templates/web/ui-auth-payments-audio/template/middleware.ts +68 -0
  104. package/src/templates/web/ui-auth-payments-audio/template/package-lock.json +12241 -0
  105. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/layout.tsx +22 -0
  106. package/src/templates/web/ui-auth-payments-audio/template/src/app/dashboard/page.tsx +183 -0
  107. package/src/templates/web/ui-auth-payments-audio/template/src/app/login/page.tsx +2 -105
  108. package/src/templates/web/ui-auth-payments-audio/template/src/app/signup/page.tsx +2 -124
  109. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/auth-status.tsx +52 -0
  110. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/login-form.tsx +144 -0
  111. package/src/templates/web/ui-auth-payments-audio/template/src/components/client/signup-form.tsx +185 -0
  112. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/auth.ts +246 -0
  113. package/src/templates/web/ui-auth-payments-audio/template/src/lib/actions/index.ts +14 -0
  114. package/src/templates/web/ui-auth-payments-audio/template/src/lib/auth-server.ts +177 -0
  115. package/src/templates/web/ui-auth-payments-audio/template/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1,68 @@
1
+ import { NextRequest, NextResponse } from 'next/server'
2
+ import { env } from './src/lib/env'
3
+
4
+ export async function middleware(request: NextRequest) {
5
+ // Get auth token from cookies
6
+ const authToken = request.cookies.get('saas-factory-auth-token')?.value
7
+ const user = request.cookies.get('saas-factory-auth-user')?.value
8
+
9
+ const isAuthenticated = !!(authToken && user)
10
+ const { pathname } = request.nextUrl
11
+
12
+ // Define protected routes
13
+ const protectedRoutes = ['/dashboard', '/profile', '/settings']
14
+ const authRoutes = ['/login', '/signup']
15
+
16
+ // Check if the current path is protected
17
+ const isProtectedRoute = protectedRoutes.some(route =>
18
+ pathname.startsWith(route)
19
+ )
20
+
21
+ // Check if the current path is an auth route
22
+ const isAuthRoute = authRoutes.some(route =>
23
+ pathname.startsWith(route)
24
+ )
25
+
26
+ // Redirect unauthenticated users from protected routes
27
+ if (isProtectedRoute && !isAuthenticated) {
28
+ const loginUrl = new URL('/login', request.url)
29
+ loginUrl.searchParams.set('from', pathname)
30
+ return NextResponse.redirect(loginUrl)
31
+ }
32
+
33
+ // Redirect authenticated users from auth routes
34
+ if (isAuthRoute && isAuthenticated) {
35
+ const redirectUrl = request.nextUrl.searchParams.get('from') || '/'
36
+ return NextResponse.redirect(new URL(redirectUrl, request.url))
37
+ }
38
+
39
+ // Add security headers
40
+ const response = NextResponse.next()
41
+
42
+ // Add CSRF protection headers
43
+ response.headers.set('X-Frame-Options', 'DENY')
44
+ response.headers.set('X-Content-Type-Options', 'nosniff')
45
+ response.headers.set('Referrer-Policy', 'origin-when-cross-origin')
46
+
47
+ // Add CSP header for additional security
48
+ if (env.NODE_ENV === 'production') {
49
+ response.headers.set(
50
+ 'Content-Security-Policy',
51
+ "default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://js.stripe.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https:; connect-src 'self' https://api.stripe.com"
52
+ )
53
+ }
54
+
55
+ return response
56
+ }
57
+
58
+ export const config = {
59
+ matcher: [
60
+ // Match all request paths except for the ones starting with:
61
+ // - api (API routes)
62
+ // - _next/static (static files)
63
+ // - _next/image (image optimization files)
64
+ // - favicon.ico (favicon file)
65
+ // - public folder files
66
+ '/((?!api|_next/static|_next/image|favicon.ico|.*\\.(?:svg|png|jpg|jpeg|gif|webp)$).*)',
67
+ ],
68
+ }