create-rudder 1.4.1 → 1.5.1

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,2 @@
1
+ export declare function configLog(): string;
2
+ //# sourceMappingURL=log.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/log.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,IAAI,MAAM,CAsClC"}
@@ -0,0 +1,40 @@
1
+ export function configLog() {
2
+ return `import { Env } from '@rudderjs/support'
3
+ import type { LogConfig } from '@rudderjs/log'
4
+
5
+ export default {
6
+ default: Env.get('LOG_CHANNEL', 'console'),
7
+
8
+ channels: {
9
+ stack: {
10
+ driver: 'stack',
11
+ channels: ['console', 'daily'],
12
+ ignoreExceptions: false,
13
+ },
14
+
15
+ console: {
16
+ driver: 'console',
17
+ level: Env.get('LOG_LEVEL', 'debug') as 'debug',
18
+ },
19
+
20
+ single: {
21
+ driver: 'single',
22
+ path: 'storage/logs/rudderjs.log',
23
+ level: Env.get('LOG_LEVEL', 'debug') as 'debug',
24
+ },
25
+
26
+ daily: {
27
+ driver: 'daily',
28
+ path: 'storage/logs/rudderjs.log',
29
+ days: 14,
30
+ level: Env.get('LOG_LEVEL', 'debug') as 'debug',
31
+ },
32
+
33
+ null: {
34
+ driver: 'null',
35
+ },
36
+ },
37
+ } satisfies LogConfig
38
+ `;
39
+ }
40
+ //# sourceMappingURL=log.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/templates/configs/log.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configMail(): string;
2
+ //# sourceMappingURL=mail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/mail.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,IAAI,MAAM,CA+BnC"}
@@ -0,0 +1,33 @@
1
+ export function configMail() {
2
+ return `import { Env, isWebContainer } from '@rudderjs/support'
3
+
4
+ // In WebContainer, raw SMTP (TCP) doesn't work — fall back to the log driver
5
+ // (writes the rendered email to stdout instead of sending).
6
+ const defaultMailer = isWebContainer() ? 'log' : Env.get('MAIL_MAILER', 'log')
7
+
8
+ export default {
9
+ default: defaultMailer,
10
+
11
+ from: {
12
+ address: Env.get('MAIL_FROM_ADDRESS', 'hello@example.com'),
13
+ name: Env.get('MAIL_FROM_NAME', 'RudderJS'),
14
+ },
15
+
16
+ mailers: {
17
+ log: {
18
+ driver: 'log',
19
+ },
20
+
21
+ smtp: {
22
+ driver: 'smtp',
23
+ host: Env.get('MAIL_HOST', 'localhost'),
24
+ port: Env.getNumber('MAIL_PORT', 587),
25
+ username: Env.get('MAIL_USERNAME', ''),
26
+ password: Env.get('MAIL_PASSWORD', ''),
27
+ encryption: Env.get('MAIL_ENCRYPTION', 'tls'),
28
+ },
29
+ },
30
+ }
31
+ `;
32
+ }
33
+ //# sourceMappingURL=mail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/templates/configs/mail.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU;IACxB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configPassport(): string;
2
+ //# sourceMappingURL=passport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passport.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/passport.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,IAAI,MAAM,CAoBvC"}
@@ -0,0 +1,22 @@
1
+ export function configPassport() {
2
+ return `import type { PassportConfig } from '@rudderjs/passport'
3
+
4
+ export default {
5
+ // Keys loaded from filesystem — run \`pnpm rudder passport:keys\` to generate
6
+ keyPath: 'storage',
7
+
8
+ // Token lifetimes
9
+ tokensExpireIn: 15 * 24 * 60 * 60 * 1000, // 15 days
10
+ refreshTokensExpireIn: 30 * 24 * 60 * 60 * 1000, // 30 days
11
+ personalAccessTokensExpireIn: 6 * 30 * 24 * 60 * 60 * 1000, // ~6 months
12
+
13
+ // Available OAuth scopes
14
+ scopes: {
15
+ read: 'Read access to your data',
16
+ write: 'Modify your data',
17
+ admin: 'Full administrative access',
18
+ },
19
+ } satisfies PassportConfig
20
+ `;
21
+ }
22
+ //# sourceMappingURL=passport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passport.js","sourceRoot":"","sources":["../../../src/templates/configs/passport.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;CAkBR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configPennant(): string;
2
+ //# sourceMappingURL=pennant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pennant.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/pennant.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,IAAI,MAAM,CActC"}
@@ -0,0 +1,16 @@
1
+ export function configPennant() {
2
+ return `import type { PennantConfig } from '@rudderjs/pennant'
3
+
4
+ // Feature flags via @rudderjs/pennant. Define features in
5
+ // app/Providers/AppServiceProvider.ts using \`Pennant.feature(...)\`,
6
+ // then check with \`Feature.active('beta-search', user)\`.
7
+ //
8
+ // Currently ships with a memory driver — feature state is not persisted
9
+ // across restarts. Custom drivers can be added by implementing the
10
+ // PennantDriver interface and registering at boot.
11
+ export default {
12
+ driver: 'memory',
13
+ } satisfies PennantConfig
14
+ `;
15
+ }
16
+ //# sourceMappingURL=pennant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pennant.js","sourceRoot":"","sources":["../../../src/templates/configs/pennant.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;CAYR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configPulse(): string;
2
+ //# sourceMappingURL=pulse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulse.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/pulse.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,IAAI,MAAM,CAmBpC"}
@@ -0,0 +1,21 @@
1
+ export function configPulse() {
2
+ return `import { Env } from '@rudderjs/core'
3
+ import type { PulseConfig } from '@rudderjs/pulse'
4
+
5
+ // Metrics dashboard mounted at /pulse. Records throughput, latency,
6
+ // queue lag, cache hit rates, slow queries, and exception counts.
7
+ //
8
+ // Storage defaults to in-memory (bounded). Switch to 'sqlite' for
9
+ // persistence across restarts — install better-sqlite3 first:
10
+ // pnpm add -D better-sqlite3
11
+ export default {
12
+ enabled: Env.getBool('PULSE_ENABLED', true),
13
+ path: 'pulse',
14
+ storage: 'memory',
15
+ pruneAfterHours: 168, // 7 days
16
+ slowRequestThreshold: 1000,
17
+ slowQueryThreshold: 100,
18
+ } satisfies PulseConfig
19
+ `;
20
+ }
21
+ //# sourceMappingURL=pulse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pulse.js","sourceRoot":"","sources":["../../../src/templates/configs/pulse.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,OAAO;;;;;;;;;;;;;;;;;CAiBR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configQueue(): string;
2
+ //# sourceMappingURL=queue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/queue.ts"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,IAAI,MAAM,CA0BpC"}
@@ -0,0 +1,28 @@
1
+ export function configQueue() {
2
+ return `import { Env, isWebContainer } from '@rudderjs/support'
3
+ import type { QueueConfig } from '@rudderjs/queue'
4
+
5
+ // In WebContainer, BullMQ (Redis over raw TCP) doesn't work — fall back to
6
+ // the in-process \`sync\` driver.
7
+ const defaultConnection = isWebContainer() ? 'sync' : Env.get('QUEUE_CONNECTION', 'sync')
8
+
9
+ export default {
10
+ default: defaultConnection,
11
+
12
+ connections: {
13
+ sync: {
14
+ driver: 'sync',
15
+ },
16
+
17
+ inngest: {
18
+ driver: 'inngest',
19
+ appId: Env.get('INNGEST_APP_ID', 'my-app'),
20
+ eventKey: Env.get('INNGEST_EVENT_KEY', ''),
21
+ signingKey: Env.get('INNGEST_SIGNING_KEY', ''),
22
+ jobs: [],
23
+ },
24
+ },
25
+ } satisfies QueueConfig
26
+ `;
27
+ }
28
+ //# sourceMappingURL=queue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/templates/configs/queue.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,WAAW;IACzB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;CAwBR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configSanctum(): string;
2
+ //# sourceMappingURL=sanctum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanctum.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/sanctum.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,IAAI,MAAM,CAiBtC"}
@@ -0,0 +1,19 @@
1
+ export function configSanctum() {
2
+ return `import type { SanctumConfig } from '@rudderjs/sanctum'
3
+
4
+ // API tokens via @rudderjs/sanctum. Tokens are SHA-256 hashed on the server,
5
+ // scoped via abilities, and verified through Auth's TokenGuard.
6
+ //
7
+ // Issue tokens with \`user.createToken('name', ['ability:*'])\` in a controller,
8
+ // gate routes with \`RequireBearer()\` + \`scope('ability:*')\`.
9
+ export default {
10
+ // SPA cookie auth — list domains allowed to authenticate via session cookies.
11
+ stateful: [],
12
+ // Token expiration in minutes. \`null\` means tokens don't expire.
13
+ expiration: null,
14
+ // Optional prefix added to generated tokens (helps secret-scanning tools).
15
+ tokenPrefix: '',
16
+ } satisfies SanctumConfig
17
+ `;
18
+ }
19
+ //# sourceMappingURL=sanctum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanctum.js","sourceRoot":"","sources":["../../../src/templates/configs/sanctum.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;;;;CAeR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configServer(): string;
2
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/server.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,IAAI,MAAM,CAarC"}
@@ -0,0 +1,15 @@
1
+ export function configServer() {
2
+ return `import { Env } from '@rudderjs/support'
3
+
4
+ export default {
5
+ port: Env.getNumber('PORT', 3000),
6
+ trustProxy: Env.getBool('TRUST_PROXY', false),
7
+ cors: {
8
+ origin: Env.get('CORS_ORIGIN', '*'),
9
+ methods: Env.get('CORS_METHODS', 'GET,POST,PUT,PATCH,DELETE,OPTIONS'),
10
+ headers: Env.get('CORS_HEADERS', 'Content-Type,Authorization'),
11
+ },
12
+ }
13
+ `;
14
+ }
15
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/templates/configs/server.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,YAAY;IAC1B,OAAO;;;;;;;;;;;CAWR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configSession(): string;
2
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/session.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,IAAI,MAAM,CAwBtC"}
@@ -0,0 +1,26 @@
1
+ export function configSession() {
2
+ return `import { Env, isWebContainer } from '@rudderjs/support'
3
+ import type { SessionConfig } from '@rudderjs/session'
4
+
5
+ // In WebContainer, raw Redis (TCP) doesn't work — pin the session driver to
6
+ // \`cookie\` so sessions survive without a Redis backend.
7
+ const defaultDriver = isWebContainer()
8
+ ? 'cookie'
9
+ : (Env.get('SESSION_DRIVER', 'cookie') as 'cookie' | 'redis')
10
+
11
+ export default {
12
+ driver: defaultDriver,
13
+ lifetime: 120,
14
+ secret: Env.get('SESSION_SECRET', 'change-me-in-production'),
15
+ cookie: {
16
+ name: 'rudderjs_session',
17
+ secure: Env.getBool('SESSION_SECURE', false),
18
+ httpOnly: true,
19
+ sameSite: 'lax' as const,
20
+ path: '/',
21
+ },
22
+ redis: { prefix: 'session:', url: Env.get('REDIS_URL', '') },
23
+ } satisfies SessionConfig
24
+ `;
25
+ }
26
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/templates/configs/session.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;;;;;;;;;;;CAsBR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configSocialite(): string;
2
+ //# sourceMappingURL=socialite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socialite.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/socialite.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,CAyBxC"}
@@ -0,0 +1,27 @@
1
+ export function configSocialite() {
2
+ return `import { Env } from '@rudderjs/core'
3
+ import type { SocialiteConfig } from '@rudderjs/socialite'
4
+
5
+ // Social login via @rudderjs/socialite. Built-in drivers: github, google,
6
+ // facebook, apple. Each driver needs a Client ID + Client Secret from the
7
+ // provider's developer console + a redirect URL registered there.
8
+ //
9
+ // Example flow controller:
10
+ // import { Socialite } from '@rudderjs/socialite'
11
+ // const driver = Socialite.driver('github')
12
+ // return Response.redirect(await driver.redirect())
13
+ export default {
14
+ github: {
15
+ clientId: Env.get('GITHUB_CLIENT_ID', ''),
16
+ clientSecret: Env.get('GITHUB_CLIENT_SECRET', ''),
17
+ redirectUrl: Env.get('GITHUB_REDIRECT_URL', 'http://localhost:3000/auth/github/callback'),
18
+ },
19
+ google: {
20
+ clientId: Env.get('GOOGLE_CLIENT_ID', ''),
21
+ clientSecret: Env.get('GOOGLE_CLIENT_SECRET', ''),
22
+ redirectUrl: Env.get('GOOGLE_REDIRECT_URL', 'http://localhost:3000/auth/google/callback'),
23
+ },
24
+ } satisfies SocialiteConfig
25
+ `;
26
+ }
27
+ //# sourceMappingURL=socialite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socialite.js","sourceRoot":"","sources":["../../../src/templates/configs/socialite.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;CAuBR,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configStorage(): string;
2
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/storage.ts"],"names":[],"mappings":"AAAA,wBAAgB,aAAa,IAAI,MAAM,CAiCtC"}
@@ -0,0 +1,35 @@
1
+ export function configStorage() {
2
+ return `import path from 'node:path'
3
+ import { Env } from '@rudderjs/support'
4
+ import type { StorageConfig } from '@rudderjs/storage'
5
+
6
+ export default {
7
+ default: Env.get('FILESYSTEM_DISK', 'local'),
8
+
9
+ disks: {
10
+ local: {
11
+ driver: 'local',
12
+ root: path.resolve(process.cwd(), 'storage/app'),
13
+ baseUrl: '/api/files',
14
+ },
15
+
16
+ public: {
17
+ driver: 'local',
18
+ root: path.resolve(process.cwd(), 'storage/app/public'),
19
+ baseUrl: Env.get('APP_URL', 'http://localhost:3000') + '/storage',
20
+ },
21
+
22
+ s3: {
23
+ driver: 's3',
24
+ bucket: Env.get('AWS_BUCKET', ''),
25
+ region: Env.get('AWS_DEFAULT_REGION', 'us-east-1'),
26
+ accessKeyId: Env.get('AWS_ACCESS_KEY_ID', ''),
27
+ secretAccessKey: Env.get('AWS_SECRET_ACCESS_KEY', ''),
28
+ endpoint: Env.get('AWS_ENDPOINT', ''),
29
+ baseUrl: Env.get('AWS_URL', ''),
30
+ },
31
+ },
32
+ } satisfies StorageConfig
33
+ `;
34
+ }
35
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/templates/configs/storage.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,aAAa;IAC3B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BR,CAAA;AACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TemplateContext } from '../../templates.js';
2
+ export declare function configSync(ctx: TemplateContext): string;
3
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,wBAAgB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAevD"}
@@ -0,0 +1,17 @@
1
+ export function configSync(ctx) {
2
+ const persistenceImport = ctx.orm === 'prisma' ? "\nimport { syncPrisma } from '@rudderjs/sync'" : '';
3
+ const persistenceLine = ctx.orm === 'prisma'
4
+ ? '\n // Server-side persistence — Y.Docs survive server restarts\n persistence: syncPrisma(),\n'
5
+ : '';
6
+ return `import { Env } from '@rudderjs/support'${persistenceImport}
7
+ import type { SyncConfig } from '@rudderjs/sync'
8
+
9
+ export default {
10
+ path: Env.get('SYNC_PATH', '/ws-sync'),
11
+ ${persistenceLine}
12
+ // Client-side providers
13
+ providers: ['websocket', 'indexeddb'],
14
+ } satisfies SyncConfig
15
+ `;
16
+ }
17
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/templates/configs/sync.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,UAAU,CAAC,GAAoB;IAC7C,MAAM,iBAAiB,GAAG,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,+CAA+C,CAAC,CAAC,CAAC,EAAE,CAAA;IACrG,MAAM,eAAe,GAAK,GAAG,CAAC,GAAG,KAAK,QAAQ;QAC5C,CAAC,CAAC,iGAAiG;QACnG,CAAC,CAAC,EAAE,CAAA;IACN,OAAO,0CAA0C,iBAAiB;;;;;EAKlE,eAAe;;;;CAIhB,CAAA;AACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function configTelescope(): string;
2
+ //# sourceMappingURL=telescope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telescope.d.ts","sourceRoot":"","sources":["../../../src/templates/configs/telescope.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,IAAI,MAAM,CAuBxC"}
@@ -0,0 +1,25 @@
1
+ export function configTelescope() {
2
+ return `import type { TelescopeConfig } from '@rudderjs/telescope'
3
+
4
+ // Debug dashboard mounted at /telescope. 18 collectors record requests, queries,
5
+ // jobs, exceptions, logs, mail, events, cache, schedule, models, commands,
6
+ // broadcasts, live, HTTP client, gate checks, dumps, AI runs, and MCP calls.
7
+ //
8
+ // Storage defaults to in-memory (bounded, no extra deps). Switch to 'sqlite'
9
+ // for persistence across restarts — install better-sqlite3 first:
10
+ // pnpm add -D better-sqlite3
11
+ //
12
+ // In production, gate access by returning \`false\` from \`auth(req)\` or simply
13
+ // disable by setting \`enabled: false\` via an env var.
14
+ export default {
15
+ enabled: true,
16
+ path: 'telescope',
17
+ storage: 'memory',
18
+ maxEntries: 1000,
19
+ pruneAfterHours: 24,
20
+ slowQueryThreshold: 100,
21
+ ignoreRequests: ['/telescope*', '/health', '/@*'],
22
+ } satisfies TelescopeConfig
23
+ `;
24
+ }
25
+ //# sourceMappingURL=telescope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telescope.js","sourceRoot":"","sources":["../../../src/templates/configs/telescope.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;CAqBR,CAAA;AACD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { TemplateContext } from '../../templates.js';
2
+ export declare function indexCss(ctx: TemplateContext): string;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/templates/css/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAIzD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA0IrD"}
@@ -0,0 +1,140 @@
1
+ import { semanticRulesApply } from './tailwind.js';
2
+ import { indexCssPlain } from './plain.js';
3
+ export function indexCss(ctx) {
4
+ if (!ctx.tailwind) {
5
+ return indexCssPlain();
6
+ }
7
+ if (!ctx.shadcn) {
8
+ return `@import "tailwindcss";
9
+ @import "tw-animate-css";
10
+
11
+ ${semanticRulesApply()}`;
12
+ }
13
+ return `@import "tailwindcss";
14
+ @import "tw-animate-css";
15
+ @import "shadcn/tailwind.css";
16
+
17
+ @custom-variant dark (&:is(.dark *));
18
+
19
+ @theme inline {
20
+ --radius-sm: calc(var(--radius) - 4px);
21
+ --radius-md: calc(var(--radius) - 2px);
22
+ --radius-lg: var(--radius);
23
+ --radius-xl: calc(var(--radius) + 4px);
24
+ --radius-2xl: calc(var(--radius) + 8px);
25
+ --radius-3xl: calc(var(--radius) + 12px);
26
+ --radius-4xl: calc(var(--radius) + 16px);
27
+ --color-background: var(--background);
28
+ --color-foreground: var(--foreground);
29
+ --color-card: var(--card);
30
+ --color-card-foreground: var(--card-foreground);
31
+ --color-popover: var(--popover);
32
+ --color-popover-foreground: var(--popover-foreground);
33
+ --color-primary: var(--primary);
34
+ --color-primary-foreground: var(--primary-foreground);
35
+ --color-secondary: var(--secondary);
36
+ --color-secondary-foreground: var(--secondary-foreground);
37
+ --color-muted: var(--muted);
38
+ --color-muted-foreground: var(--muted-foreground);
39
+ --color-accent: var(--accent);
40
+ --color-accent-foreground: var(--accent-foreground);
41
+ --color-destructive: var(--destructive);
42
+ --color-border: var(--border);
43
+ --color-input: var(--input);
44
+ --color-ring: var(--ring);
45
+ --color-chart-1: var(--chart-1);
46
+ --color-chart-2: var(--chart-2);
47
+ --color-chart-3: var(--chart-3);
48
+ --color-chart-4: var(--chart-4);
49
+ --color-chart-5: var(--chart-5);
50
+ --color-sidebar: var(--sidebar);
51
+ --color-sidebar-foreground: var(--sidebar-foreground);
52
+ --color-sidebar-primary: var(--sidebar-primary);
53
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
54
+ --color-sidebar-accent: var(--sidebar-accent);
55
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
56
+ --color-sidebar-border: var(--sidebar-border);
57
+ --color-sidebar-ring: var(--sidebar-ring);
58
+ }
59
+
60
+ :root {
61
+ --radius: 0.625rem;
62
+ --background: oklch(1 0 0);
63
+ --foreground: oklch(0.145 0 0);
64
+ --card: oklch(1 0 0);
65
+ --card-foreground: oklch(0.145 0 0);
66
+ --popover: oklch(1 0 0);
67
+ --popover-foreground: oklch(0.145 0 0);
68
+ --primary: oklch(0.205 0 0);
69
+ --primary-foreground: oklch(0.985 0 0);
70
+ --secondary: oklch(0.97 0 0);
71
+ --secondary-foreground: oklch(0.205 0 0);
72
+ --muted: oklch(0.97 0 0);
73
+ --muted-foreground: oklch(0.556 0 0);
74
+ --accent: oklch(0.97 0 0);
75
+ --accent-foreground: oklch(0.205 0 0);
76
+ --destructive: oklch(0.577 0.245 27.325);
77
+ --border: oklch(0.922 0 0);
78
+ --input: oklch(0.922 0 0);
79
+ --ring: oklch(0.708 0 0);
80
+ --chart-1: oklch(0.646 0.222 41.116);
81
+ --chart-2: oklch(0.6 0.118 184.704);
82
+ --chart-3: oklch(0.398 0.07 227.392);
83
+ --chart-4: oklch(0.828 0.189 84.429);
84
+ --chart-5: oklch(0.769 0.188 70.08);
85
+ --sidebar: oklch(0.985 0 0);
86
+ --sidebar-foreground: oklch(0.145 0 0);
87
+ --sidebar-primary: oklch(0.205 0 0);
88
+ --sidebar-primary-foreground: oklch(0.985 0 0);
89
+ --sidebar-accent: oklch(0.97 0 0);
90
+ --sidebar-accent-foreground: oklch(0.205 0 0);
91
+ --sidebar-border: oklch(0.922 0 0);
92
+ --sidebar-ring: oklch(0.708 0 0);
93
+ }
94
+
95
+ .dark {
96
+ --background: oklch(0.145 0 0);
97
+ --foreground: oklch(0.985 0 0);
98
+ --card: oklch(0.205 0 0);
99
+ --card-foreground: oklch(0.985 0 0);
100
+ --popover: oklch(0.205 0 0);
101
+ --popover-foreground: oklch(0.985 0 0);
102
+ --primary: oklch(0.922 0 0);
103
+ --primary-foreground: oklch(0.205 0 0);
104
+ --secondary: oklch(0.269 0 0);
105
+ --secondary-foreground: oklch(0.985 0 0);
106
+ --muted: oklch(0.269 0 0);
107
+ --muted-foreground: oklch(0.708 0 0);
108
+ --accent: oklch(0.269 0 0);
109
+ --accent-foreground: oklch(0.985 0 0);
110
+ --destructive: oklch(0.704 0.191 22.216);
111
+ --border: oklch(1 0 0 / 10%);
112
+ --input: oklch(1 0 0 / 15%);
113
+ --ring: oklch(0.556 0 0);
114
+ --chart-1: oklch(0.488 0.243 264.376);
115
+ --chart-2: oklch(0.696 0.17 162.48);
116
+ --chart-3: oklch(0.769 0.188 70.08);
117
+ --chart-4: oklch(0.627 0.265 303.9);
118
+ --chart-5: oklch(0.645 0.246 16.439);
119
+ --sidebar: oklch(0.205 0 0);
120
+ --sidebar-foreground: oklch(0.985 0 0);
121
+ --sidebar-primary: oklch(0.488 0.243 264.376);
122
+ --sidebar-primary-foreground: oklch(0.985 0 0);
123
+ --sidebar-accent: oklch(0.269 0 0);
124
+ --sidebar-accent-foreground: oklch(0.985 0 0);
125
+ --sidebar-border: oklch(1 0 0 / 10%);
126
+ --sidebar-ring: oklch(0.556 0 0);
127
+ }
128
+
129
+ @layer base {
130
+ * {
131
+ @apply border-border outline-ring/50;
132
+ }
133
+ body {
134
+ @apply bg-background text-foreground;
135
+ }
136
+ }
137
+
138
+ ${semanticRulesApply()}`;
139
+ }
140
+ //# sourceMappingURL=index.js.map