create-rudder 1.4.0 → 1.5.0

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 (243) hide show
  1. package/README.md +23 -5
  2. package/dist/agent-detect.d.ts +21 -0
  3. package/dist/agent-detect.d.ts.map +1 -0
  4. package/dist/agent-detect.js +36 -0
  5. package/dist/agent-detect.js.map +1 -0
  6. package/dist/cli-flags.d.ts +60 -0
  7. package/dist/cli-flags.d.ts.map +1 -0
  8. package/dist/cli-flags.js +251 -0
  9. package/dist/cli-flags.js.map +1 -0
  10. package/dist/index.d.ts +3 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +642 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/logo.d.ts +6 -0
  15. package/dist/logo.d.ts.map +1 -0
  16. package/dist/logo.js +52 -0
  17. package/dist/logo.js.map +1 -0
  18. package/dist/templates/app/auth-controller.d.ts +2 -0
  19. package/dist/templates/app/auth-controller.d.ts.map +1 -0
  20. package/dist/templates/app/auth-controller.js +53 -0
  21. package/dist/templates/app/auth-controller.js.map +1 -0
  22. package/dist/templates/app/mcp-echo-server.d.ts +2 -0
  23. package/dist/templates/app/mcp-echo-server.d.ts.map +1 -0
  24. package/dist/templates/app/mcp-echo-server.js +13 -0
  25. package/dist/templates/app/mcp-echo-server.js.map +1 -0
  26. package/dist/templates/app/mcp-echo-tool.d.ts +2 -0
  27. package/dist/templates/app/mcp-echo-tool.d.ts.map +1 -0
  28. package/dist/templates/app/mcp-echo-tool.js +20 -0
  29. package/dist/templates/app/mcp-echo-tool.js.map +1 -0
  30. package/dist/templates/app/service-provider.d.ts +3 -0
  31. package/dist/templates/app/service-provider.d.ts.map +1 -0
  32. package/dist/templates/app/service-provider.js +33 -0
  33. package/dist/templates/app/service-provider.js.map +1 -0
  34. package/dist/templates/app/terminal-dashboard.d.ts +2 -0
  35. package/dist/templates/app/terminal-dashboard.d.ts.map +1 -0
  36. package/dist/templates/app/terminal-dashboard.js +22 -0
  37. package/dist/templates/app/terminal-dashboard.js.map +1 -0
  38. package/dist/templates/app/user-model.d.ts +2 -0
  39. package/dist/templates/app/user-model.d.ts.map +1 -0
  40. package/dist/templates/app/user-model.js +19 -0
  41. package/dist/templates/app/user-model.js.map +1 -0
  42. package/dist/templates/bootstrap/app.d.ts +3 -0
  43. package/dist/templates/bootstrap/app.d.ts.map +1 -0
  44. package/dist/templates/bootstrap/app.js +41 -0
  45. package/dist/templates/bootstrap/app.js.map +1 -0
  46. package/dist/templates/bootstrap/providers.d.ts +3 -0
  47. package/dist/templates/bootstrap/providers.d.ts.map +1 -0
  48. package/dist/templates/bootstrap/providers.js +27 -0
  49. package/dist/templates/bootstrap/providers.js.map +1 -0
  50. package/dist/templates/components/site-header.d.ts +4 -0
  51. package/dist/templates/components/site-header.d.ts.map +1 -0
  52. package/dist/templates/components/site-header.js +233 -0
  53. package/dist/templates/components/site-header.js.map +1 -0
  54. package/dist/templates/configs/ai.d.ts +2 -0
  55. package/dist/templates/configs/ai.d.ts.map +1 -0
  56. package/dist/templates/configs/ai.js +32 -0
  57. package/dist/templates/configs/ai.js.map +1 -0
  58. package/dist/templates/configs/app.d.ts +2 -0
  59. package/dist/templates/configs/app.d.ts.map +1 -0
  60. package/dist/templates/configs/app.js +12 -0
  61. package/dist/templates/configs/app.js.map +1 -0
  62. package/dist/templates/configs/auth.d.ts +3 -0
  63. package/dist/templates/configs/auth.d.ts.map +1 -0
  64. package/dist/templates/configs/auth.js +16 -0
  65. package/dist/templates/configs/auth.js.map +1 -0
  66. package/dist/templates/configs/cache.d.ts +2 -0
  67. package/dist/templates/configs/cache.d.ts.map +1 -0
  68. package/dist/templates/configs/cache.js +28 -0
  69. package/dist/templates/configs/cache.js.map +1 -0
  70. package/dist/templates/configs/crypt.d.ts +2 -0
  71. package/dist/templates/configs/crypt.d.ts.map +1 -0
  72. package/dist/templates/configs/crypt.js +16 -0
  73. package/dist/templates/configs/crypt.js.map +1 -0
  74. package/dist/templates/configs/database.d.ts +3 -0
  75. package/dist/templates/configs/database.d.ts.map +1 -0
  76. package/dist/templates/configs/database.js +28 -0
  77. package/dist/templates/configs/database.js.map +1 -0
  78. package/dist/templates/configs/hash.d.ts +2 -0
  79. package/dist/templates/configs/hash.d.ts.map +1 -0
  80. package/dist/templates/configs/hash.js +12 -0
  81. package/dist/templates/configs/hash.js.map +1 -0
  82. package/dist/templates/configs/horizon.d.ts +2 -0
  83. package/dist/templates/configs/horizon.d.ts.map +1 -0
  84. package/dist/templates/configs/horizon.js +30 -0
  85. package/dist/templates/configs/horizon.js.map +1 -0
  86. package/dist/templates/configs/index.d.ts +3 -0
  87. package/dist/templates/configs/index.d.ts.map +1 -0
  88. package/dist/templates/configs/index.js +92 -0
  89. package/dist/templates/configs/index.js.map +1 -0
  90. package/dist/templates/configs/localization.d.ts +2 -0
  91. package/dist/templates/configs/localization.d.ts.map +1 -0
  92. package/dist/templates/configs/localization.js +13 -0
  93. package/dist/templates/configs/localization.js.map +1 -0
  94. package/dist/templates/configs/log.d.ts +2 -0
  95. package/dist/templates/configs/log.d.ts.map +1 -0
  96. package/dist/templates/configs/log.js +40 -0
  97. package/dist/templates/configs/log.js.map +1 -0
  98. package/dist/templates/configs/mail.d.ts +2 -0
  99. package/dist/templates/configs/mail.d.ts.map +1 -0
  100. package/dist/templates/configs/mail.js +33 -0
  101. package/dist/templates/configs/mail.js.map +1 -0
  102. package/dist/templates/configs/passport.d.ts +2 -0
  103. package/dist/templates/configs/passport.d.ts.map +1 -0
  104. package/dist/templates/configs/passport.js +22 -0
  105. package/dist/templates/configs/passport.js.map +1 -0
  106. package/dist/templates/configs/pennant.d.ts +2 -0
  107. package/dist/templates/configs/pennant.d.ts.map +1 -0
  108. package/dist/templates/configs/pennant.js +16 -0
  109. package/dist/templates/configs/pennant.js.map +1 -0
  110. package/dist/templates/configs/pulse.d.ts +2 -0
  111. package/dist/templates/configs/pulse.d.ts.map +1 -0
  112. package/dist/templates/configs/pulse.js +21 -0
  113. package/dist/templates/configs/pulse.js.map +1 -0
  114. package/dist/templates/configs/queue.d.ts +2 -0
  115. package/dist/templates/configs/queue.d.ts.map +1 -0
  116. package/dist/templates/configs/queue.js +28 -0
  117. package/dist/templates/configs/queue.js.map +1 -0
  118. package/dist/templates/configs/sanctum.d.ts +2 -0
  119. package/dist/templates/configs/sanctum.d.ts.map +1 -0
  120. package/dist/templates/configs/sanctum.js +19 -0
  121. package/dist/templates/configs/sanctum.js.map +1 -0
  122. package/dist/templates/configs/server.d.ts +2 -0
  123. package/dist/templates/configs/server.d.ts.map +1 -0
  124. package/dist/templates/configs/server.js +15 -0
  125. package/dist/templates/configs/server.js.map +1 -0
  126. package/dist/templates/configs/session.d.ts +2 -0
  127. package/dist/templates/configs/session.d.ts.map +1 -0
  128. package/dist/templates/configs/session.js +26 -0
  129. package/dist/templates/configs/session.js.map +1 -0
  130. package/dist/templates/configs/socialite.d.ts +2 -0
  131. package/dist/templates/configs/socialite.d.ts.map +1 -0
  132. package/dist/templates/configs/socialite.js +27 -0
  133. package/dist/templates/configs/socialite.js.map +1 -0
  134. package/dist/templates/configs/storage.d.ts +2 -0
  135. package/dist/templates/configs/storage.d.ts.map +1 -0
  136. package/dist/templates/configs/storage.js +35 -0
  137. package/dist/templates/configs/storage.js.map +1 -0
  138. package/dist/templates/configs/sync.d.ts +3 -0
  139. package/dist/templates/configs/sync.d.ts.map +1 -0
  140. package/dist/templates/configs/sync.js +17 -0
  141. package/dist/templates/configs/sync.js.map +1 -0
  142. package/dist/templates/configs/telescope.d.ts +2 -0
  143. package/dist/templates/configs/telescope.d.ts.map +1 -0
  144. package/dist/templates/configs/telescope.js +25 -0
  145. package/dist/templates/configs/telescope.js.map +1 -0
  146. package/dist/templates/css/index.d.ts +3 -0
  147. package/dist/templates/css/index.d.ts.map +1 -0
  148. package/dist/templates/css/index.js +140 -0
  149. package/dist/templates/css/index.js.map +1 -0
  150. package/dist/templates/css/plain.d.ts +2 -0
  151. package/dist/templates/css/plain.d.ts.map +1 -0
  152. package/dist/templates/css/plain.js +373 -0
  153. package/dist/templates/css/plain.js.map +1 -0
  154. package/dist/templates/css/tailwind.d.ts +2 -0
  155. package/dist/templates/css/tailwind.d.ts.map +1 -0
  156. package/dist/templates/css/tailwind.js +176 -0
  157. package/dist/templates/css/tailwind.js.map +1 -0
  158. package/dist/templates/env.d.ts +7 -0
  159. package/dist/templates/env.d.ts.map +1 -0
  160. package/dist/templates/env.js +113 -0
  161. package/dist/templates/env.js.map +1 -0
  162. package/dist/templates/package-json.d.ts +3 -0
  163. package/dist/templates/package-json.d.ts.map +1 -0
  164. package/dist/templates/package-json.js +204 -0
  165. package/dist/templates/package-json.js.map +1 -0
  166. package/dist/templates/package-managers.d.ts +14 -0
  167. package/dist/templates/package-managers.d.ts.map +1 -0
  168. package/dist/templates/package-managers.js +49 -0
  169. package/dist/templates/package-managers.js.map +1 -0
  170. package/dist/templates/pages/ai-chat.d.ts +7 -0
  171. package/dist/templates/pages/ai-chat.d.ts.map +1 -0
  172. package/dist/templates/pages/ai-chat.js +285 -0
  173. package/dist/templates/pages/ai-chat.js.map +1 -0
  174. package/dist/templates/pages/demo.d.ts +4 -0
  175. package/dist/templates/pages/demo.d.ts.map +1 -0
  176. package/dist/templates/pages/demo.js +71 -0
  177. package/dist/templates/pages/demo.js.map +1 -0
  178. package/dist/templates/pages/error.d.ts +7 -0
  179. package/dist/templates/pages/error.d.ts.map +1 -0
  180. package/dist/templates/pages/error.js +148 -0
  181. package/dist/templates/pages/error.js.map +1 -0
  182. package/dist/templates/pages/index.d.ts +22 -0
  183. package/dist/templates/pages/index.d.ts.map +1 -0
  184. package/dist/templates/pages/index.js +374 -0
  185. package/dist/templates/pages/index.js.map +1 -0
  186. package/dist/templates/prisma/auth.d.ts +2 -0
  187. package/dist/templates/prisma/auth.d.ts.map +1 -0
  188. package/dist/templates/prisma/auth.js +22 -0
  189. package/dist/templates/prisma/auth.js.map +1 -0
  190. package/dist/templates/prisma/base.d.ts +3 -0
  191. package/dist/templates/prisma/base.d.ts.map +1 -0
  192. package/dist/templates/prisma/base.js +14 -0
  193. package/dist/templates/prisma/base.js.map +1 -0
  194. package/dist/templates/prisma/config.d.ts +3 -0
  195. package/dist/templates/prisma/config.d.ts.map +1 -0
  196. package/dist/templates/prisma/config.js +15 -0
  197. package/dist/templates/prisma/config.js.map +1 -0
  198. package/dist/templates/prisma/notification.d.ts +2 -0
  199. package/dist/templates/prisma/notification.d.ts.map +1 -0
  200. package/dist/templates/prisma/notification.js +16 -0
  201. package/dist/templates/prisma/notification.js.map +1 -0
  202. package/dist/templates/prisma/passport.d.ts +2 -0
  203. package/dist/templates/prisma/passport.d.ts.map +1 -0
  204. package/dist/templates/prisma/passport.js +69 -0
  205. package/dist/templates/prisma/passport.js.map +1 -0
  206. package/dist/templates/routes/api.d.ts +3 -0
  207. package/dist/templates/routes/api.d.ts.map +1 -0
  208. package/dist/templates/routes/api.js +76 -0
  209. package/dist/templates/routes/api.js.map +1 -0
  210. package/dist/templates/routes/console.d.ts +3 -0
  211. package/dist/templates/routes/console.d.ts.map +1 -0
  212. package/dist/templates/routes/console.js +29 -0
  213. package/dist/templates/routes/console.js.map +1 -0
  214. package/dist/templates/routes/web.d.ts +4 -0
  215. package/dist/templates/routes/web.d.ts.map +1 -0
  216. package/dist/templates/routes/web.js +77 -0
  217. package/dist/templates/routes/web.js.map +1 -0
  218. package/dist/templates/routes-manifest.d.ts +28 -0
  219. package/dist/templates/routes-manifest.d.ts.map +1 -0
  220. package/dist/templates/routes-manifest.js +48 -0
  221. package/dist/templates/routes-manifest.js.map +1 -0
  222. package/dist/templates/server.d.ts +2 -0
  223. package/dist/templates/server.d.ts.map +1 -0
  224. package/dist/templates/server.js +10 -0
  225. package/dist/templates/server.js.map +1 -0
  226. package/dist/templates/tsconfig.d.ts +3 -0
  227. package/dist/templates/tsconfig.d.ts.map +1 -0
  228. package/dist/templates/tsconfig.js +33 -0
  229. package/dist/templates/tsconfig.js.map +1 -0
  230. package/dist/templates/views/welcome.d.ts +19 -0
  231. package/dist/templates/views/welcome.d.ts.map +1 -0
  232. package/dist/templates/views/welcome.js +338 -0
  233. package/dist/templates/views/welcome.js.map +1 -0
  234. package/dist/templates/vite.d.ts +3 -0
  235. package/dist/templates/vite.d.ts.map +1 -0
  236. package/dist/templates/vite.js +66 -0
  237. package/dist/templates/vite.js.map +1 -0
  238. package/dist/templates.d.ts +45 -0
  239. package/dist/templates.d.ts.map +1 -0
  240. package/dist/templates.js +202 -0
  241. package/dist/templates.js.map +1 -0
  242. package/package.json +27 -7
  243. package/bin/index.mjs +0 -18
@@ -0,0 +1,233 @@
1
+ export function siteHeaderComponent(ctx) {
2
+ switch (ctx.primary) {
3
+ case 'vue': return siteHeaderVue(ctx);
4
+ case 'solid': return siteHeaderSolid(ctx);
5
+ default: return siteHeaderReact(ctx);
6
+ }
7
+ }
8
+ function siteHeaderReact(ctx) {
9
+ if (!ctx.packages.auth) {
10
+ return `import { usePageContext } from 'vike-react/usePageContext'
11
+
12
+ // Minimal header — no auth installed, so no login/register/sign-out links.
13
+ export function SiteHeader() {
14
+ // usePageContext() is invoked so future auth integration is a one-line edit:
15
+ // const ctx = usePageContext() as { user?: { name?: string } | null }
16
+ usePageContext()
17
+ return (
18
+ <header className="page-header">
19
+ <nav className="page-nav">
20
+ <a href="/" className="brand">
21
+ <span className="brand-dot" />
22
+ ${ctx.name}
23
+ </a>
24
+ <div className="nav-right">
25
+ </div>
26
+ </nav>
27
+ </header>
28
+ )
29
+ }
30
+ `;
31
+ }
32
+ return `import { usePageContext } from 'vike-react/usePageContext'
33
+ import { getCsrfToken } from '@rudderjs/middleware/client'
34
+
35
+ interface PageContextUser {
36
+ user?: { name?: string; email?: string } | null
37
+ }
38
+
39
+ export function SiteHeader() {
40
+ const ctx = usePageContext() as unknown as PageContextUser
41
+ const user = ctx.user ?? null
42
+
43
+ async function handleSignOut() {
44
+ await fetch('/auth/sign-out', {
45
+ method: 'POST',
46
+ headers: {
47
+ 'Content-Type': 'application/json',
48
+ 'X-CSRF-Token': getCsrfToken(),
49
+ },
50
+ body: '{}',
51
+ })
52
+ window.location.href = '/'
53
+ }
54
+
55
+ return (
56
+ <header className="page-header">
57
+ <nav className="page-nav">
58
+ <a href="/" className="brand">
59
+ <span className="brand-dot" />
60
+ ${ctx.name}
61
+ </a>
62
+ <div className="nav-right">
63
+ {user ? (
64
+ <>
65
+ <span className="nav-badge">
66
+ <strong>{user.name ?? user.email ?? 'Account'}</strong>
67
+ </span>
68
+ <button type="button" onClick={handleSignOut} className="nav-button">
69
+ Sign out
70
+ </button>
71
+ </>
72
+ ) : (
73
+ <>
74
+ <a href="/login" className="nav-link">Login</a>
75
+ <a href="/register" className="nav-button">Register</a>
76
+ </>
77
+ )}
78
+ </div>
79
+ </nav>
80
+ </header>
81
+ )
82
+ }
83
+ `;
84
+ }
85
+ function siteHeaderVue(ctx) {
86
+ if (!ctx.packages.auth) {
87
+ return `<script setup lang="ts">
88
+ import { usePageContext } from 'vike-vue/usePageContext'
89
+
90
+ // Invoked so future auth integration is a one-line edit.
91
+ usePageContext()
92
+ </script>
93
+
94
+ <template>
95
+ <header class="page-header">
96
+ <nav class="page-nav">
97
+ <a href="/" class="brand">
98
+ <span class="brand-dot"></span>
99
+ ${ctx.name}
100
+ </a>
101
+ <div class="nav-right">
102
+ </div>
103
+ </nav>
104
+ </header>
105
+ </template>
106
+ `;
107
+ }
108
+ return `<script setup lang="ts">
109
+ import { computed } from 'vue'
110
+ import { usePageContext } from 'vike-vue/usePageContext'
111
+ import { getCsrfToken } from '@rudderjs/middleware/client'
112
+
113
+ const pageContext = usePageContext() as unknown as {
114
+ user?: { name?: string; email?: string } | null
115
+ }
116
+ const user = computed(() => pageContext.user ?? null)
117
+
118
+ async function handleSignOut() {
119
+ await fetch('/auth/sign-out', {
120
+ method: 'POST',
121
+ headers: {
122
+ 'Content-Type': 'application/json',
123
+ 'X-CSRF-Token': getCsrfToken(),
124
+ },
125
+ body: '{}',
126
+ })
127
+ window.location.href = '/'
128
+ }
129
+ </script>
130
+
131
+ <template>
132
+ <header class="page-header">
133
+ <nav class="page-nav">
134
+ <a href="/" class="brand">
135
+ <span class="brand-dot"></span>
136
+ ${ctx.name}
137
+ </a>
138
+ <div class="nav-right">
139
+ <template v-if="user">
140
+ <span class="nav-badge">
141
+ <strong>{{ user.name ?? user.email ?? 'Account' }}</strong>
142
+ </span>
143
+ <button type="button" @click="handleSignOut" class="nav-button">Sign out</button>
144
+ </template>
145
+ <template v-else>
146
+ <a href="/login" class="nav-link">Login</a>
147
+ <a href="/register" class="nav-button">Register</a>
148
+ </template>
149
+ </div>
150
+ </nav>
151
+ </header>
152
+ </template>
153
+ `;
154
+ }
155
+ function siteHeaderSolid(ctx) {
156
+ if (!ctx.packages.auth) {
157
+ return `import { usePageContext } from 'vike-solid/usePageContext'
158
+
159
+ export function SiteHeader() {
160
+ usePageContext()
161
+ return (
162
+ <header class="page-header">
163
+ <nav class="page-nav">
164
+ <a href="/" class="brand">
165
+ <span class="brand-dot" />
166
+ ${ctx.name}
167
+ </a>
168
+ <div class="nav-right">
169
+ </div>
170
+ </nav>
171
+ </header>
172
+ )
173
+ }
174
+ `;
175
+ }
176
+ return `import { Show } from 'solid-js'
177
+ import { usePageContext } from 'vike-solid/usePageContext'
178
+ import { getCsrfToken } from '@rudderjs/middleware/client'
179
+
180
+ export function SiteHeader() {
181
+ const ctx = usePageContext() as unknown as {
182
+ user?: { name?: string; email?: string } | null
183
+ }
184
+
185
+ async function handleSignOut() {
186
+ await fetch('/auth/sign-out', {
187
+ method: 'POST',
188
+ headers: {
189
+ 'Content-Type': 'application/json',
190
+ 'X-CSRF-Token': getCsrfToken(),
191
+ },
192
+ body: '{}',
193
+ })
194
+ window.location.href = '/'
195
+ }
196
+
197
+ return (
198
+ <header class="page-header">
199
+ <nav class="page-nav">
200
+ <a href="/" class="brand">
201
+ <span class="brand-dot" />
202
+ ${ctx.name}
203
+ </a>
204
+ <div class="nav-right">
205
+ <Show
206
+ when={ctx.user}
207
+ fallback={
208
+ <>
209
+ <a href="/login" class="nav-link">Login</a>
210
+ <a href="/register" class="nav-button">Register</a>
211
+ </>
212
+ }
213
+ >
214
+ {(user) => (
215
+ <>
216
+ <span class="nav-badge">
217
+ <strong>{user().name ?? user().email ?? 'Account'}</strong>
218
+ </span>
219
+ <button type="button" onClick={handleSignOut} class="nav-button">Sign out</button>
220
+ </>
221
+ )}
222
+ </Show>
223
+ </div>
224
+ </nav>
225
+ </header>
226
+ )
227
+ }
228
+ `;
229
+ }
230
+ export function siteHeaderExt(fw) {
231
+ return fw === 'vue' ? 'vue' : 'tsx';
232
+ }
233
+ //# sourceMappingURL=site-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site-header.js","sourceRoot":"","sources":["../../../src/templates/components/site-header.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,mBAAmB,CAAC,GAAoB;IACtD,QAAQ,GAAG,CAAC,OAAO,EAAE,CAAC;QACpB,KAAK,KAAK,CAAC,CAAG,OAAO,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,KAAK,OAAO,CAAC,CAAC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAA;QACzC,OAAO,CAAC,CAAM,OAAO,eAAe,CAAC,GAAG,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB;IAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO;;;;;;;;;;;;YAYC,GAAG,CAAC,IAAI;;;;;;;;CAQnB,CAAA;IACC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA4BG,GAAG,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;CAuBnB,CAAA;AACD,CAAC;AAED,SAAS,aAAa,CAAC,GAAoB;IACzC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO;;;;;;;;;;;;UAYD,GAAG,CAAC,IAAI;;;;;;;CAOjB,CAAA;IACC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA4BC,GAAG,CAAC,IAAI;;;;;;;;;;;;;;;;;CAiBjB,CAAA;AACD,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB;IAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO;;;;;;;;;YASC,GAAG,CAAC,IAAI;;;;;;;;CAQnB,CAAA;IACC,CAAC;IAED,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;YA0BG,GAAG,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BnB,CAAA;AACD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAA6B;IACzD,OAAO,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;AACrC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configAi(): string;
2
+ //# sourceMappingURL=ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/ai.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,IAAI,MAAM,CA8BjC"}
@@ -0,0 +1,32 @@
1
+ export function configAi() {
2
+ return `import { Env } from '@rudderjs/support'
3
+ import type { AiConfig } from '@rudderjs/ai'
4
+
5
+ export default {
6
+ default: Env.get('AI_MODEL', 'anthropic/claude-sonnet-4-5'),
7
+
8
+ providers: {
9
+ anthropic: {
10
+ driver: 'anthropic',
11
+ apiKey: Env.get('ANTHROPIC_API_KEY', ''),
12
+ },
13
+
14
+ openai: {
15
+ driver: 'openai',
16
+ apiKey: Env.get('OPENAI_API_KEY', ''),
17
+ },
18
+
19
+ google: {
20
+ driver: 'google',
21
+ apiKey: Env.get('GOOGLE_AI_API_KEY', ''),
22
+ },
23
+
24
+ ollama: {
25
+ driver: 'ollama',
26
+ baseUrl: Env.get('OLLAMA_BASE_URL', 'http://localhost:11434'),
27
+ },
28
+ },
29
+ } satisfies AiConfig
30
+ `;
31
+ }
32
+ //# sourceMappingURL=ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai.js","sourceRoot":"","sources":["../../../src/templates/configs/ai.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ;IACtB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configApp(): string;
2
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/app.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,MAAM,CAUlC"}
@@ -0,0 +1,12 @@
1
+ export function configApp() {
2
+ return `import { Env } from '@rudderjs/support'
3
+
4
+ export default {
5
+ name: Env.get('APP_NAME', 'RudderJS'),
6
+ env: Env.get('APP_ENV', 'development'),
7
+ debug: Env.getBool('APP_DEBUG', false),
8
+ url: Env.get('APP_URL', 'http://localhost:3000'),
9
+ }
10
+ `;
11
+ }
12
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/templates/configs/app.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO;;;;;;;;CAQR,CAAA;AACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TemplateContext } from '../../templates.js';
2
+ export declare function configAuth(_ctx: TemplateContext): string;
3
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAcxD"}
@@ -0,0 +1,16 @@
1
+ export function configAuth(_ctx) {
2
+ return `import type { AuthConfig } from '@rudderjs/auth'
3
+ import { User } from '../app/Models/User.js'
4
+
5
+ export default {
6
+ defaults: { guard: 'web' },
7
+ guards: {
8
+ web: { driver: 'session', provider: 'users' },
9
+ },
10
+ providers: {
11
+ users: { driver: 'eloquent', model: User },
12
+ },
13
+ } satisfies AuthConfig
14
+ `;
15
+ }
16
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/templates/configs/auth.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,IAAqB;IAC9C,OAAO;;;;;;;;;;;;CAYR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configCache(): string;
2
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/cache.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,IAAI,MAAM,CA0BpC"}
@@ -0,0 +1,28 @@
1
+ export function configCache() {
2
+ return `import { Env, isWebContainer } from '@rudderjs/support'
3
+ import type { CacheConfig } from '@rudderjs/cache'
4
+
5
+ // In WebContainer, native Redis (raw TCP) doesn't work — fall back to memory.
6
+ const defaultStore = isWebContainer() ? 'memory' : Env.get('CACHE_STORE', 'memory')
7
+
8
+ export default {
9
+ default: defaultStore,
10
+
11
+ stores: {
12
+ memory: {
13
+ driver: 'memory',
14
+ },
15
+
16
+ redis: {
17
+ driver: 'redis',
18
+ url: Env.get('REDIS_URL', ''),
19
+ host: Env.get('REDIS_HOST', '127.0.0.1'),
20
+ port: Env.getNumber('REDIS_PORT', 6379),
21
+ password: Env.get('REDIS_PASSWORD', ''),
22
+ prefix: Env.get('CACHE_PREFIX', 'rudderjs:'),
23
+ },
24
+ },
25
+ } satisfies CacheConfig
26
+ `;
27
+ }
28
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/templates/configs/cache.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;CAwBR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configCrypt(): string;
2
+ //# sourceMappingURL=crypt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypt.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/crypt.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,IAAI,MAAM,CAcpC"}
@@ -0,0 +1,16 @@
1
+ export function configCrypt() {
2
+ return `import { Env } from '@rudderjs/core'
3
+ import type { CryptConfig } from '@rudderjs/crypt'
4
+
5
+ // AES-256-CBC encryption with HMAC-SHA256 signing. Generate a key with:
6
+ // node -e "console.log('base64:' + require('crypto').randomBytes(32).toString('base64'))"
7
+ //
8
+ // Rotating keys: move the old key into \`previousKeys\` and set a new \`key\`.
9
+ // Decryption tries the primary key first, then walks previousKeys in order.
10
+ export default {
11
+ key: Env.get('APP_KEY', ''),
12
+ previousKeys: [],
13
+ } satisfies CryptConfig
14
+ `;
15
+ }
16
+ //# sourceMappingURL=crypt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypt.js","sourceRoot":"","sources":["../../../src/templates/configs/crypt.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,OAAO;;;;;;;;;;;;CAYR,CAAA;AACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TemplateContext } from '../../templates.js';
2
+ export declare function configDatabase(ctx: TemplateContext): string;
3
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,wBAAgB,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA2B3D"}
@@ -0,0 +1,28 @@
1
+ export function configDatabase(ctx) {
2
+ const defaultConn = ctx.db;
3
+ const connections = {
4
+ sqlite: ` sqlite: {
5
+ driver: 'sqlite' as const,
6
+ url: Env.get('DATABASE_URL', 'file:./dev.db'),
7
+ },`,
8
+ postgresql: ` postgresql: {
9
+ driver: 'postgresql' as const,
10
+ url: Env.get('DATABASE_URL', ''),
11
+ },`,
12
+ mysql: ` mysql: {
13
+ driver: 'mysql' as const,
14
+ url: Env.get('DATABASE_URL', ''),
15
+ },`,
16
+ };
17
+ return `import { Env } from '@rudderjs/support'
18
+
19
+ export default {
20
+ default: Env.get('DB_CONNECTION', '${defaultConn}'),
21
+
22
+ connections: {
23
+ ${connections[ctx.db]}
24
+ },
25
+ }
26
+ `;
27
+ }
28
+ //# sourceMappingURL=database.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/templates/configs/database.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,GAAoB;IACjD,MAAM,WAAW,GAAG,GAAG,CAAC,EAAE,CAAA;IAC1B,MAAM,WAAW,GAA2B;QAC1C,MAAM,EAAE;;;OAGL;QACH,UAAU,EAAE;;;OAGT;QACH,KAAK,EAAE;;;OAGJ;KACJ,CAAA;IAED,OAAO;;;uCAG8B,WAAW;;;EAGhD,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;;;CAGpB,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configHash(): string;
2
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/hash.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,MAAM,CAUnC"}
@@ -0,0 +1,12 @@
1
+ export function configHash() {
2
+ return `import { Env } from '@rudderjs/support'
3
+ import type { HashConfig } from '@rudderjs/hash'
4
+
5
+ export default {
6
+ driver: Env.get('HASH_DRIVER', 'bcrypt') as 'bcrypt' | 'argon2',
7
+ bcrypt: { rounds: 12 },
8
+ argon2: { memory: 65536, time: 3, threads: 4 },
9
+ } satisfies HashConfig
10
+ `;
11
+ }
12
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/templates/configs/hash.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU;IACxB,OAAO;;;;;;;;CAQR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configHorizon(): string;
2
+ //# sourceMappingURL=horizon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizon.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/horizon.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,IAAI,MAAM,CA4BtC"}
@@ -0,0 +1,30 @@
1
+ export function configHorizon() {
2
+ return `import { Env } from '@rudderjs/core'
3
+ import type { HorizonConfig } from '@rudderjs/horizon'
4
+
5
+ // Queue monitoring dashboard mounted at /horizon. Tracks job lifecycle,
6
+ // worker health, throughput, and supports retry/delete from the UI.
7
+ //
8
+ // When QUEUE_CONNECTION=bullmq, switch storage to 'redis' so the dashboard
9
+ // process and worker processes share state. With the sync driver both halves
10
+ // run in one process, so memory storage is fine.
11
+ const queueConnection = Env.get('QUEUE_CONNECTION', 'sync')
12
+
13
+ export default {
14
+ enabled: Env.getBool('HORIZON_ENABLED', true),
15
+ path: 'horizon',
16
+ storage: queueConnection === 'bullmq' ? 'redis' : 'memory',
17
+ redis: {
18
+ url: Env.get('REDIS_URL', ''),
19
+ host: Env.get('REDIS_HOST', '127.0.0.1'),
20
+ port: Env.getNumber('REDIS_PORT', 6379),
21
+ password: Env.get('REDIS_PASSWORD', ''),
22
+ prefix: 'rudderjs',
23
+ },
24
+ maxJobs: 1000,
25
+ pruneAfterHours: 72,
26
+ metricsIntervalMs: 60_000,
27
+ } satisfies HorizonConfig
28
+ `;
29
+ }
30
+ //# sourceMappingURL=horizon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"horizon.js","sourceRoot":"","sources":["../../../src/templates/configs/horizon.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BR,CAAA;AACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TemplateContext } from '../../templates.js';
2
+ export declare function configIndex(ctx: TemplateContext): string;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,wBAAgB,WAAW,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAmFxD"}
@@ -0,0 +1,92 @@
1
+ export function configIndex(ctx) {
2
+ const imports = [
3
+ "import app from './app.js'",
4
+ "import server from './server.js'",
5
+ "import log from './log.js'",
6
+ "import session from './session.js'",
7
+ "import hash from './hash.js'",
8
+ "import cache from './cache.js'",
9
+ ];
10
+ const keys = ['app', 'server', 'log', 'session', 'hash', 'cache'];
11
+ if (ctx.orm) {
12
+ imports.push("import database from './database.js'");
13
+ keys.push('database');
14
+ }
15
+ if (ctx.packages.auth) {
16
+ imports.push("import auth from './auth.js'");
17
+ keys.push('auth');
18
+ }
19
+ if (ctx.packages.queue) {
20
+ imports.push("import queue from './queue.js'");
21
+ keys.push('queue');
22
+ }
23
+ if (ctx.packages.mail) {
24
+ imports.push("import mail from './mail.js'");
25
+ keys.push('mail');
26
+ }
27
+ if (ctx.packages.storage) {
28
+ imports.push("import storage from './storage.js'");
29
+ keys.push('storage');
30
+ }
31
+ if (ctx.packages.ai) {
32
+ imports.push("import ai from './ai.js'");
33
+ keys.push('ai');
34
+ }
35
+ if (ctx.packages.sync) {
36
+ imports.push("import sync from './sync.js'");
37
+ keys.push('sync');
38
+ }
39
+ if (ctx.packages.passport) {
40
+ imports.push("import passport from './passport.js'");
41
+ keys.push('passport');
42
+ }
43
+ if (ctx.packages.sanctum) {
44
+ imports.push("import sanctum from './sanctum.js'");
45
+ keys.push('sanctum');
46
+ }
47
+ if (ctx.packages.socialite) {
48
+ imports.push("import socialite from './socialite.js'");
49
+ keys.push('socialite');
50
+ }
51
+ if (ctx.packages.localization) {
52
+ imports.push("import localization from './localization.js'");
53
+ keys.push('localization');
54
+ }
55
+ if (ctx.packages.pennant) {
56
+ imports.push("import pennant from './pennant.js'");
57
+ keys.push('pennant');
58
+ }
59
+ if (ctx.packages.telescope) {
60
+ imports.push("import telescope from './telescope.js'");
61
+ keys.push('telescope');
62
+ }
63
+ if (ctx.packages.pulse) {
64
+ imports.push("import pulse from './pulse.js'");
65
+ keys.push('pulse');
66
+ }
67
+ if (ctx.packages.horizon) {
68
+ imports.push("import horizon from './horizon.js'");
69
+ keys.push('horizon');
70
+ }
71
+ if (ctx.packages.crypt) {
72
+ imports.push("import crypt from './crypt.js'");
73
+ keys.push('crypt');
74
+ }
75
+ return `${imports.join('\n')}
76
+
77
+ const configs = { ${keys.join(', ')} }
78
+
79
+ export type Configs = typeof configs
80
+
81
+ export default configs
82
+ `;
83
+ }
84
+ function envDts() {
85
+ return `import type { Configs } from './config/index.js'
86
+
87
+ declare module '@rudderjs/core' {
88
+ interface AppConfig extends Configs {}
89
+ }
90
+ `;
91
+ }
92
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/configs/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function configLocalization(): string;
2
+ //# sourceMappingURL=localization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/localization.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,IAAI,MAAM,CAW3C"}
@@ -0,0 +1,13 @@
1
+ export function configLocalization() {
2
+ return `import { resolve } from 'node:path'
3
+ import { Env } from '@rudderjs/support'
4
+ import type { LocalizationConfig } from '@rudderjs/localization'
5
+
6
+ export default {
7
+ locale: Env.get('APP_LOCALE', 'en'),
8
+ fallback: Env.get('APP_FALLBACK_LOCALE', 'en'),
9
+ path: resolve(process.cwd(), 'lang'),
10
+ } satisfies LocalizationConfig
11
+ `;
12
+ }
13
+ //# sourceMappingURL=localization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localization.js","sourceRoot":"","sources":["../../../src/templates/configs/localization.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;CASR,CAAA;AACD,CAAC"}