create-rudder-app 0.4.0 → 0.6.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 (96) hide show
  1. package/dist/index.js +3 -5
  2. package/dist/index.js.map +1 -1
  3. package/dist/templates/app/service-provider.d.ts +1 -1
  4. package/dist/templates/app/service-provider.d.ts.map +1 -1
  5. package/dist/templates/app/service-provider.js +23 -2
  6. package/dist/templates/app/service-provider.js.map +1 -1
  7. package/dist/templates/configs/index.d.ts.map +1 -1
  8. package/dist/templates/configs/index.js +0 -4
  9. package/dist/templates/configs/index.js.map +1 -1
  10. package/dist/templates/demos/avatar.d.ts +3 -0
  11. package/dist/templates/demos/avatar.d.ts.map +1 -0
  12. package/dist/templates/demos/avatar.js +182 -0
  13. package/dist/templates/demos/avatar.js.map +1 -0
  14. package/dist/templates/demos/cache.d.ts +3 -0
  15. package/dist/templates/demos/cache.d.ts.map +1 -0
  16. package/dist/templates/demos/cache.js +99 -0
  17. package/dist/templates/demos/cache.js.map +1 -0
  18. package/dist/templates/demos/fibonacci.d.ts +7 -0
  19. package/dist/templates/demos/fibonacci.d.ts.map +1 -0
  20. package/dist/templates/demos/fibonacci.js +172 -0
  21. package/dist/templates/demos/fibonacci.js.map +1 -0
  22. package/dist/templates/demos/http.d.ts +3 -0
  23. package/dist/templates/demos/http.d.ts.map +1 -0
  24. package/dist/templates/demos/http.js +117 -0
  25. package/dist/templates/demos/http.js.map +1 -0
  26. package/dist/templates/demos/index-view.d.ts.map +1 -1
  27. package/dist/templates/demos/index-view.js +16 -29
  28. package/dist/templates/demos/index-view.js.map +1 -1
  29. package/dist/templates/demos/localization.d.ts +4 -0
  30. package/dist/templates/demos/localization.d.ts.map +1 -0
  31. package/dist/templates/demos/localization.js +130 -0
  32. package/dist/templates/demos/localization.js.map +1 -0
  33. package/dist/templates/demos/mail.d.ts +4 -0
  34. package/dist/templates/demos/mail.d.ts.map +1 -0
  35. package/dist/templates/demos/mail.js +127 -0
  36. package/dist/templates/demos/mail.js.map +1 -0
  37. package/dist/templates/demos/notifications.d.ts +4 -0
  38. package/dist/templates/demos/notifications.d.ts.map +1 -0
  39. package/dist/templates/demos/notifications.js +133 -0
  40. package/dist/templates/demos/notifications.js.map +1 -0
  41. package/dist/templates/demos/pennant.d.ts +8 -0
  42. package/dist/templates/demos/pennant.d.ts.map +1 -0
  43. package/dist/templates/demos/pennant.js +138 -0
  44. package/dist/templates/demos/pennant.js.map +1 -0
  45. package/dist/templates/demos/queue.d.ts +4 -0
  46. package/dist/templates/demos/queue.d.ts.map +1 -0
  47. package/dist/templates/demos/queue.js +107 -0
  48. package/dist/templates/demos/queue.js.map +1 -0
  49. package/dist/templates/demos/registry.d.ts +13 -0
  50. package/dist/templates/demos/registry.d.ts.map +1 -1
  51. package/dist/templates/demos/registry.js +120 -3
  52. package/dist/templates/demos/registry.js.map +1 -1
  53. package/dist/templates/demos/rudder-socket.d.ts +2 -0
  54. package/dist/templates/demos/rudder-socket.d.ts.map +1 -0
  55. package/dist/templates/demos/{bk-socket.js → rudder-socket.js} +8 -8
  56. package/dist/templates/demos/rudder-socket.js.map +1 -0
  57. package/dist/templates/demos/sync.d.ts +2 -0
  58. package/dist/templates/demos/sync.d.ts.map +1 -0
  59. package/dist/templates/demos/{live.js → sync.js} +4 -4
  60. package/dist/templates/demos/sync.js.map +1 -0
  61. package/dist/templates/demos/system-info.d.ts +3 -0
  62. package/dist/templates/demos/system-info.d.ts.map +1 -0
  63. package/dist/templates/demos/system-info.js +142 -0
  64. package/dist/templates/demos/system-info.js.map +1 -0
  65. package/dist/templates/demos/todos.d.ts +6 -0
  66. package/dist/templates/demos/todos.d.ts.map +1 -0
  67. package/dist/templates/demos/todos.js +246 -0
  68. package/dist/templates/demos/todos.js.map +1 -0
  69. package/dist/templates/demos/ws.js +4 -4
  70. package/dist/templates/env.d.ts.map +1 -1
  71. package/dist/templates/env.js +0 -14
  72. package/dist/templates/env.js.map +1 -1
  73. package/dist/templates/package-json.d.ts.map +1 -1
  74. package/dist/templates/package-json.js +1 -3
  75. package/dist/templates/package-json.js.map +1 -1
  76. package/dist/templates/routes/api.d.ts.map +1 -1
  77. package/dist/templates/routes/api.js +48 -0
  78. package/dist/templates/routes/api.js.map +1 -1
  79. package/dist/templates/routes/web.d.ts.map +1 -1
  80. package/dist/templates/routes/web.js +49 -2
  81. package/dist/templates/routes/web.js.map +1 -1
  82. package/dist/templates.d.ts +2 -3
  83. package/dist/templates.d.ts.map +1 -1
  84. package/dist/templates.js +70 -10
  85. package/dist/templates.js.map +1 -1
  86. package/package.json +5 -1
  87. package/dist/templates/configs/cashier.d.ts +0 -2
  88. package/dist/templates/configs/cashier.d.ts.map +0 -1
  89. package/dist/templates/configs/cashier.js +0 -22
  90. package/dist/templates/configs/cashier.js.map +0 -1
  91. package/dist/templates/demos/bk-socket.d.ts +0 -2
  92. package/dist/templates/demos/bk-socket.d.ts.map +0 -1
  93. package/dist/templates/demos/bk-socket.js.map +0 -1
  94. package/dist/templates/demos/live.d.ts +0 -2
  95. package/dist/templates/demos/live.d.ts.map +0 -1
  96. package/dist/templates/demos/live.js.map +0 -1
package/dist/index.js CHANGED
@@ -65,10 +65,10 @@ async function main() {
65
65
  //
66
66
  // Categorized via clack's groupMultiselect — one section per concern,
67
67
  // group headers are non-selectable (selectableGroups: false).
68
- // ORM=none filters out DB-dependent packages (auth/sanctum/passport/cashier)
68
+ // ORM=none filters out DB-dependent packages (auth/sanctum/passport)
69
69
  // before the prompt renders, so the user never sees rows they can't use.
70
70
  // Database-dependent packages — hidden when ORM=none.
71
- const DB_GATED = new Set(['auth', 'sanctum', 'passport', 'cashierPaddle']);
71
+ const DB_GATED = new Set(['auth', 'sanctum', 'passport']);
72
72
  const PACKAGE_GROUPS = {
73
73
  'Auth & Users': [
74
74
  { value: 'auth', label: 'Authentication', hint: 'login, register, sessions' },
@@ -97,7 +97,6 @@ async function main() {
97
97
  { value: 'localization', label: 'Localization', hint: 'i18n — trans(), setLocale()' },
98
98
  ],
99
99
  'Product & Features': [
100
- { value: 'cashierPaddle', label: 'Cashier-Paddle', hint: 'subscriptions + checkout — requires Auth + Prisma' },
101
100
  { value: 'pennant', label: 'Pennant', hint: 'feature flags' },
102
101
  ],
103
102
  'Observability': [
@@ -113,7 +112,7 @@ async function main() {
113
112
  ],
114
113
  };
115
114
  if (orm === false) {
116
- log.info('Database not selected — auth, sanctum, passport, and billing options are hidden.');
115
+ log.info('Database not selected — auth, sanctum, and passport options are hidden.');
117
116
  }
118
117
  const groupedOptions = {};
119
118
  for (const [group, pkgs] of Object.entries(PACKAGE_GROUPS)) {
@@ -150,7 +149,6 @@ async function main() {
150
149
  mcp: selectedPackages.includes('mcp'),
151
150
  boost: selectedPackages.includes('boost'),
152
151
  localization: selectedPackages.includes('localization'),
153
- cashierPaddle: selectedPackages.includes('cashierPaddle'),
154
152
  pennant: selectedPackages.includes('pennant'),
155
153
  telescope: selectedPackages.includes('telescope'),
156
154
  pulse: selectedPackages.includes('pulse'),
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { TemplateContext } from '../../templates.js';
1
+ import { type TemplateContext } from '../../templates.js';
2
2
  export declare function appServiceProvider(ctx: TemplateContext): string;
3
3
  //# sourceMappingURL=service-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../../../src/templates/app/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CA2B/D"}
1
+ {"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../../../src/templates/app/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAG7E,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAiD/D"}
@@ -1,9 +1,12 @@
1
+ import { shouldScaffoldDemo } from '../../templates.js';
2
+ import { pennantFeatureDefinitions } from '../demos/pennant.js';
1
3
  export function appServiceProvider(ctx) {
2
4
  const imports = ["import { ServiceProvider } from '@rudderjs/core'"];
3
5
  const registerLines = [
4
6
  '// Register your application-level services here:',
5
7
  '// this.app.singleton(MyService, () => new MyService())',
6
8
  ];
9
+ const bootLines = [];
7
10
  if (ctx.packages.mcp) {
8
11
  imports.push("import { Mcp } from '@rudderjs/mcp'");
9
12
  imports.push("import { EchoServer } from '../Mcp/EchoServer.js'");
@@ -11,6 +14,24 @@ export function appServiceProvider(ctx) {
11
14
  registerLines.push('// Expose the demo MCP server over HTTP at /mcp/echo');
12
15
  registerLines.push("Mcp.web('/mcp/echo', EchoServer)");
13
16
  }
17
+ // Demo modules that ship their own ServiceProvider need dynamic registration
18
+ // here so their boot() runs after framework providers (DB, router, etc.).
19
+ if (shouldScaffoldDemo(ctx, 'todos')) {
20
+ imports.push("import { TodoServiceProvider } from '../Modules/Todo/TodoServiceProvider.js'");
21
+ bootLines.push('await this.app.register(TodoServiceProvider)');
22
+ }
23
+ // Pennant demo seeds its four feature shapes (boolean/value/scoped/lottery)
24
+ // in boot() so the /demos/pennant view can resolve them.
25
+ if (shouldScaffoldDemo(ctx, 'pennant')) {
26
+ imports.push("import { Feature, Lottery } from '@rudderjs/pennant'");
27
+ bootLines.push('// Pennant demo features — see app/Views/Demos/Pennant.tsx');
28
+ bootLines.push(pennantFeatureDefinitions());
29
+ }
30
+ const isAsyncBoot = bootLines.some(l => l.includes('await '));
31
+ const bootBody = bootLines.length > 0
32
+ ? `${bootLines.join('\n ')}\n console.log(\`[AppServiceProvider] booted — \${this.app.name}\`)`
33
+ : `console.log(\`[AppServiceProvider] booted — \${this.app.name}\`)`;
34
+ const bootSig = isAsyncBoot ? 'override async boot(): Promise<void>' : 'boot(): void';
14
35
  return `${imports.join('\n')}
15
36
 
16
37
  export class AppServiceProvider extends ServiceProvider {
@@ -18,8 +39,8 @@ export class AppServiceProvider extends ServiceProvider {
18
39
  ${registerLines.join('\n ')}
19
40
  }
20
41
 
21
- boot(): void {
22
- console.log(\`[AppServiceProvider] booted — \${this.app.name}\`)
42
+ ${bootSig} {
43
+ ${bootBody}
23
44
  }
24
45
  }
25
46
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../../../src/templates/app/service-provider.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,GAAoB;IACrD,MAAM,OAAO,GAAa,CAAC,kDAAkD,CAAC,CAAA;IAC9E,MAAM,aAAa,GAAa;QAC9B,mDAAmD;QACnD,yDAAyD;KAC1D,CAAA;IAED,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACnD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QACjE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtB,aAAa,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;QAC1E,aAAa,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IACxD,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;MAIxB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;;;CAOjC,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"service-provider.js","sourceRoot":"","sources":["../../../src/templates/app/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAwB,MAAM,oBAAoB,CAAA;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAE/D,MAAM,UAAU,kBAAkB,CAAC,GAAoB;IACrD,MAAM,OAAO,GAAa,CAAC,kDAAkD,CAAC,CAAA;IAC9E,MAAM,aAAa,GAAa;QAC9B,mDAAmD;QACnD,yDAAyD;KAC1D,CAAA;IACD,MAAM,SAAS,GAAa,EAAE,CAAA;IAE9B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACnD,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAA;QACjE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtB,aAAa,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;QAC1E,aAAa,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;IACxD,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,IAAI,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;QAC5F,SAAS,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;IAChE,CAAC;IAED,4EAA4E;IAC5E,yDAAyD;IACzD,IAAI,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;QACpE,SAAS,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;QAC5E,SAAS,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAA;IAC7C,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;QACnC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,wEAAwE;QACrG,CAAC,CAAC,kEAAkE,CAAA;IACtE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,cAAc,CAAA;IAErF,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;;;MAIxB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;;;IAG9B,OAAO;MACL,QAAQ;;;CAGb,CAAA;AACD,CAAC"}
@@ -1 +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,CAuFxD"}
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"}
@@ -52,10 +52,6 @@ export function configIndex(ctx) {
52
52
  imports.push("import localization from './localization.js'");
53
53
  keys.push('localization');
54
54
  }
55
- if (ctx.packages.cashierPaddle) {
56
- imports.push("import cashier from './cashier.js'");
57
- keys.push('cashier');
58
- }
59
55
  if (ctx.packages.pennant) {
60
56
  imports.push("import pennant from './pennant.js'");
61
57
  keys.push('pennant');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/configs/index.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,WAAW,CAAC,GAAoB;IAC9C,MAAM,OAAO,GAAa;QACxB,iCAAiC;QACjC,oCAAoC;QACpC,iCAAiC;QACjC,qCAAqC;QACrC,kCAAkC;QAClC,mCAAmC;KACpC,CAAA;IACD,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAE3E,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAA;QACjD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;QACnD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAA;QAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACxB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC5D,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC3B,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACxB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACtB,CAAC;IACD,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAA;QAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACpB,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;oBAEV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;CAKlC,CAAA;AACD,CAAC;AAED,SAAS,MAAM;IACb,OAAO;;;;;CAKR,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/configs/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function demosAvatarView(): string;
2
+ export declare function demosAvatarApiBlock(): string;
3
+ //# sourceMappingURL=avatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/templates/demos/avatar.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,IAAI,MAAM,CAoJxC;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CA6B5C"}
@@ -0,0 +1,182 @@
1
+ // Avatar demo — image upload + resize via @rudderjs/image, persisted to the
2
+ // `public` Storage disk so the resized URL is browser-reachable.
3
+ export function demosAvatarView() {
4
+ return `import { useState, useRef } from 'react'
5
+ import '@/index.css'
6
+
7
+ interface ProcessedImage {
8
+ url: string
9
+ format: string
10
+ width: number
11
+ height: number
12
+ size: number
13
+ }
14
+
15
+ interface UploadResponse {
16
+ original: { format: string; width: number; height: number; size: number }
17
+ processed: ProcessedImage
18
+ }
19
+
20
+ export default function AvatarResize() {
21
+ const inputRef = useRef<HTMLInputElement>(null)
22
+ const [preview, setPreview] = useState<string | null>(null)
23
+ const [result, setResult ] = useState<UploadResponse | null>(null)
24
+ const [loading, setLoading] = useState(false)
25
+ const [error, setError ] = useState<string | null>(null)
26
+
27
+ function onPick(e: React.ChangeEvent<HTMLInputElement>) {
28
+ const file = e.target.files?.[0]
29
+ if (!file) return
30
+ setError(null)
31
+ setResult(null)
32
+ const reader = new FileReader()
33
+ reader.onload = () => setPreview(reader.result as string)
34
+ reader.readAsDataURL(file)
35
+ }
36
+
37
+ async function upload() {
38
+ if (!preview) return
39
+ setLoading(true); setError(null)
40
+ try {
41
+ const res = await fetch('/api/avatar', {
42
+ method: 'POST',
43
+ headers: { 'Content-Type': 'application/json' },
44
+ body: JSON.stringify({ image: preview }),
45
+ })
46
+ const data = await res.json() as UploadResponse | { message: string }
47
+ if (!res.ok) throw new Error((data as { message: string }).message ?? 'Upload failed')
48
+ setResult(data as UploadResponse)
49
+ } catch (e) {
50
+ setError((e as Error).message)
51
+ } finally {
52
+ setLoading(false)
53
+ }
54
+ }
55
+
56
+ function reset() {
57
+ setPreview(null); setResult(null); setError(null)
58
+ if (inputRef.current) inputRef.current.value = ''
59
+ }
60
+
61
+ return (
62
+ <div className="page">
63
+ <nav className="page-nav">
64
+ <div className="brand">
65
+ <span className="brand-dot" />
66
+ RudderJS
67
+ </div>
68
+ <div className="nav-right">
69
+ <a href="/demos" className="nav-link">Demos</a>
70
+ <a href="/" className="nav-link">Home</a>
71
+ </div>
72
+ </nav>
73
+
74
+ <section className="hero">
75
+ <h1 className="hero-title">Avatar Resize</h1>
76
+ <p className="hero-lead">
77
+ Upload any image — the server resizes it to 256×256, converts to WebP at quality 85,
78
+ and saves to the <code className="inline-code">public</code> storage disk via{' '}
79
+ <code className="inline-code">@rudderjs/image</code>.
80
+ </p>
81
+ </section>
82
+
83
+ <section className="feature-section">
84
+ <div className="form-card">
85
+ <input
86
+ ref={inputRef}
87
+ type="file"
88
+ accept="image/*"
89
+ onChange={onPick}
90
+ className="form-input"
91
+ style={{ marginBottom: '1rem' }}
92
+ />
93
+
94
+ {preview && !result && (
95
+ <>
96
+ <div style={{ marginBottom: '1rem' }}>
97
+ <p className="form-label">Original</p>
98
+ <img src={preview} alt="preview" style={{ maxWidth: '256px', maxHeight: '256px', borderRadius: '0.5rem', border: '1px solid var(--border, #e5e7eb)' }} />
99
+ </div>
100
+ <div style={{ display: 'flex', gap: '0.5rem' }}>
101
+ <button className="form-submit" onClick={upload} disabled={loading} style={{ flex: 1 }}>
102
+ {loading ? 'Processing…' : 'Resize & upload'}
103
+ </button>
104
+ <button onClick={reset} disabled={loading} style={{ padding: '0.5rem 1rem', borderRadius: '0.375rem', border: '1px solid var(--border, #e5e7eb)', background: 'transparent', cursor: 'pointer' }}>
105
+ Reset
106
+ </button>
107
+ </div>
108
+ </>
109
+ )}
110
+
111
+ {error && (
112
+ <p className="form-error" style={{ marginTop: '1rem' }}>{error}</p>
113
+ )}
114
+
115
+ {result && (
116
+ <>
117
+ <div style={{ display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '1rem', marginTop: '1rem' }}>
118
+ <div>
119
+ <p className="form-label">Original</p>
120
+ {preview && (
121
+ <img src={preview} alt="original" style={{ maxWidth: '100%', borderRadius: '0.5rem', border: '1px solid var(--border, #e5e7eb)' }} />
122
+ )}
123
+ <p className="feature-desc" style={{ fontSize: '0.75rem' }}>
124
+ {result.original.format} · {result.original.width}×{result.original.height} ·{' '}
125
+ {(result.original.size / 1024).toFixed(1)} KB
126
+ </p>
127
+ </div>
128
+ <div>
129
+ <p className="form-label">Resized (WebP, 256×256)</p>
130
+ <img src={result.processed.url} alt="resized" style={{ maxWidth: '100%', borderRadius: '0.5rem', border: '1px solid var(--border, #e5e7eb)' }} />
131
+ <p className="feature-desc" style={{ fontSize: '0.75rem' }}>
132
+ {result.processed.format} · {result.processed.width}×{result.processed.height} ·{' '}
133
+ {(result.processed.size / 1024).toFixed(1)} KB ·{' '}
134
+ {Math.round((1 - result.processed.size / result.original.size) * 100)}% smaller
135
+ </p>
136
+ </div>
137
+ </div>
138
+ <div style={{ marginTop: '1rem' }}>
139
+ <button onClick={reset} style={{ padding: '0.5rem 1rem', borderRadius: '0.375rem', border: '1px solid var(--border, #e5e7eb)', background: 'transparent', cursor: 'pointer' }}>
140
+ Try another
141
+ </button>
142
+ </div>
143
+ </>
144
+ )}
145
+ </div>
146
+ </section>
147
+ </div>
148
+ )
149
+ }
150
+ `;
151
+ }
152
+ export function demosAvatarApiBlock() {
153
+ return `// POST /api/avatar — resize an uploaded image to 256x256 webp via @rudderjs/image,
154
+ // then write to the 'public' Storage disk so the URL is browser-reachable.
155
+ router.post('/api/avatar', async (req, res) => {
156
+ const { image: dataUrl } = (req.body ?? {}) as { image?: string }
157
+ if (!dataUrl || !dataUrl.startsWith('data:image/')) {
158
+ return res.status(422).json({ message: 'Body must be { image: "data:image/...;base64,..." }' })
159
+ }
160
+ const base64 = dataUrl.split(',', 2)[1] ?? ''
161
+ const input = Buffer.from(base64, 'base64')
162
+
163
+ const { image } = await import('@rudderjs/image')
164
+ const { Storage } = await import('@rudderjs/storage')
165
+
166
+ const original = await image(input).metadata()
167
+ const buf = await image(input).resize(256, 256).format('webp').quality(85).toBuffer()
168
+ const meta = await image(buf).metadata()
169
+
170
+ const filename = \`avatars/\${Date.now()}-\${Math.random().toString(36).slice(2, 8)}.webp\`
171
+ await Storage.disk('public').put(filename, buf)
172
+
173
+ res.json({
174
+ original: { format: original.format, width: original.width, height: original.height, size: input.length },
175
+ processed: {
176
+ url: Storage.disk('public').url(filename),
177
+ format: meta.format, width: meta.width, height: meta.height, size: buf.length,
178
+ },
179
+ })
180
+ })`;
181
+ }
182
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/templates/demos/avatar.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,iEAAiE;AAEjE,MAAM,UAAU,eAAe;IAC7B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJR,CAAA;AACD,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BN,CAAA;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function demosCacheView(): string;
2
+ export declare function demosCacheApiBlock(): string;
3
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/templates/demos/cache.ts"],"names":[],"mappings":"AAGA,wBAAgB,cAAc,IAAI,MAAM,CA8EvC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAgB3C"}
@@ -0,0 +1,99 @@
1
+ // Cache counter demo — `Cache.get` + `Cache.set` round-trip with no TTL.
2
+ // Cache is a Tier A package, so this demo is always available.
3
+ export function demosCacheView() {
4
+ return `import { useState } from 'react'
5
+ import '@/index.css'
6
+
7
+ interface CacheResponse {
8
+ views: number
9
+ key: string
10
+ }
11
+
12
+ export default function CacheDemo() {
13
+ const [data, setData] = useState<CacheResponse | null>(null)
14
+ const [loading, setLoading] = useState(false)
15
+
16
+ async function bump() {
17
+ setLoading(true)
18
+ try {
19
+ const res = await fetch('/api/cache/views', { method: 'POST' })
20
+ setData(await res.json() as CacheResponse)
21
+ } finally {
22
+ setLoading(false)
23
+ }
24
+ }
25
+
26
+ async function clear() {
27
+ setLoading(true)
28
+ try {
29
+ await fetch('/api/cache/views', { method: 'DELETE' })
30
+ setData({ views: 0, key: 'demos:views' })
31
+ } finally {
32
+ setLoading(false)
33
+ }
34
+ }
35
+
36
+ return (
37
+ <div className="page">
38
+ <nav className="page-nav">
39
+ <div className="brand">
40
+ <span className="brand-dot" />
41
+ RudderJS
42
+ </div>
43
+ <div className="nav-right">
44
+ <a href="/demos" className="nav-link">Demos</a>
45
+ <a href="/" className="nav-link">Home</a>
46
+ </div>
47
+ </nav>
48
+
49
+ <section className="hero">
50
+ <h1 className="hero-title">Cache counter</h1>
51
+ <p className="hero-lead">
52
+ Click "Bump" to read the current value via <code className="inline-code">Cache.get</code>,
53
+ increment it, and write it back via <code className="inline-code">Cache.set</code>.
54
+ Default driver is in-memory; swap it via <code className="inline-code">config/cache.ts</code>.
55
+ </p>
56
+ </section>
57
+
58
+ <section className="feature-section" style={{ maxWidth: '32rem', margin: '0 auto' }}>
59
+ <div className="form-card" style={{ textAlign: 'center' }}>
60
+ <p className="form-label" style={{ marginBottom: '0.5rem' }}>Views recorded</p>
61
+ <p style={{ fontSize: '3rem', fontWeight: 700, margin: '0.5rem 0' }}>
62
+ {data?.views ?? '—'}
63
+ </p>
64
+ <p className="feature-desc" style={{ fontSize: '0.7rem', marginBottom: '1rem' }}>
65
+ key: <code>{data?.key ?? 'demos:views'}</code>
66
+ </p>
67
+ <div style={{ display: 'flex', gap: '0.5rem' }}>
68
+ <button className="form-submit" onClick={bump} disabled={loading} style={{ flex: 1 }}>
69
+ {loading ? '…' : 'Bump'}
70
+ </button>
71
+ <button onClick={clear} disabled={loading} style={{ padding: '0.5rem 1rem', borderRadius: '0.375rem', border: '1px solid var(--border, #e5e7eb)', background: 'transparent', cursor: 'pointer' }}>
72
+ Clear
73
+ </button>
74
+ </div>
75
+ </div>
76
+ </section>
77
+ </div>
78
+ )
79
+ }
80
+ `;
81
+ }
82
+ export function demosCacheApiBlock() {
83
+ return `// POST /api/cache/views — read+increment+write (no TTL); DELETE to forget the key.
84
+ router.post('/api/cache/views', async (_req, res) => {
85
+ const { Cache } = await import('@rudderjs/cache')
86
+ const KEY = 'demos:views'
87
+ const current = (await Cache.get<number>(KEY)) ?? 0
88
+ const next = current + 1
89
+ await Cache.set(KEY, next)
90
+ res.json({ views: next, key: KEY })
91
+ })
92
+
93
+ router.delete('/api/cache/views', async (_req, res) => {
94
+ const { Cache } = await import('@rudderjs/cache')
95
+ await Cache.forget('demos:views')
96
+ res.json({ views: 0, key: 'demos:views' })
97
+ })`;
98
+ }
99
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/templates/demos/cache.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,+DAA+D;AAE/D,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4ER,CAAA;AACD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;GAcN,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare function demosFibonacciView(): string;
2
+ /**
3
+ * Returns the inline lines that live in routes/api.ts to handle GET /api/fib.
4
+ * Inlined (not a separate Service) to keep the demo single-file readable.
5
+ */
6
+ export declare function demosFibonacciApiBlock(): string;
7
+ //# sourceMappingURL=fibonacci.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fibonacci.d.ts","sourceRoot":"","sources":["../../../src/templates/demos/fibonacci.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,IAAI,MAAM,CAiI3C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAmC/C"}