create-rudder-app 0.4.0 → 0.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.
- package/dist/index.js +3 -5
- package/dist/index.js.map +1 -1
- package/dist/templates/app/service-provider.d.ts +1 -1
- package/dist/templates/app/service-provider.d.ts.map +1 -1
- package/dist/templates/app/service-provider.js +23 -2
- package/dist/templates/app/service-provider.js.map +1 -1
- package/dist/templates/configs/index.d.ts.map +1 -1
- package/dist/templates/configs/index.js +0 -4
- package/dist/templates/configs/index.js.map +1 -1
- package/dist/templates/demos/avatar.d.ts +3 -0
- package/dist/templates/demos/avatar.d.ts.map +1 -0
- package/dist/templates/demos/avatar.js +182 -0
- package/dist/templates/demos/avatar.js.map +1 -0
- package/dist/templates/demos/cache.d.ts +3 -0
- package/dist/templates/demos/cache.d.ts.map +1 -0
- package/dist/templates/demos/cache.js +99 -0
- package/dist/templates/demos/cache.js.map +1 -0
- package/dist/templates/demos/fibonacci.d.ts +7 -0
- package/dist/templates/demos/fibonacci.d.ts.map +1 -0
- package/dist/templates/demos/fibonacci.js +172 -0
- package/dist/templates/demos/fibonacci.js.map +1 -0
- package/dist/templates/demos/http.d.ts +3 -0
- package/dist/templates/demos/http.d.ts.map +1 -0
- package/dist/templates/demos/http.js +117 -0
- package/dist/templates/demos/http.js.map +1 -0
- package/dist/templates/demos/index-view.d.ts.map +1 -1
- package/dist/templates/demos/index-view.js +79 -2
- package/dist/templates/demos/index-view.js.map +1 -1
- package/dist/templates/demos/localization.d.ts +4 -0
- package/dist/templates/demos/localization.d.ts.map +1 -0
- package/dist/templates/demos/localization.js +130 -0
- package/dist/templates/demos/localization.js.map +1 -0
- package/dist/templates/demos/mail.d.ts +4 -0
- package/dist/templates/demos/mail.d.ts.map +1 -0
- package/dist/templates/demos/mail.js +127 -0
- package/dist/templates/demos/mail.js.map +1 -0
- package/dist/templates/demos/notifications.d.ts +4 -0
- package/dist/templates/demos/notifications.d.ts.map +1 -0
- package/dist/templates/demos/notifications.js +133 -0
- package/dist/templates/demos/notifications.js.map +1 -0
- package/dist/templates/demos/pennant.d.ts +8 -0
- package/dist/templates/demos/pennant.d.ts.map +1 -0
- package/dist/templates/demos/pennant.js +138 -0
- package/dist/templates/demos/pennant.js.map +1 -0
- package/dist/templates/demos/queue.d.ts +4 -0
- package/dist/templates/demos/queue.d.ts.map +1 -0
- package/dist/templates/demos/queue.js +107 -0
- package/dist/templates/demos/queue.js.map +1 -0
- package/dist/templates/demos/registry.d.ts.map +1 -1
- package/dist/templates/demos/registry.js +12 -1
- package/dist/templates/demos/registry.js.map +1 -1
- package/dist/templates/demos/rudder-socket.d.ts +2 -0
- package/dist/templates/demos/rudder-socket.d.ts.map +1 -0
- package/dist/templates/demos/{bk-socket.js → rudder-socket.js} +8 -8
- package/dist/templates/demos/rudder-socket.js.map +1 -0
- package/dist/templates/demos/sync.d.ts +2 -0
- package/dist/templates/demos/sync.d.ts.map +1 -0
- package/dist/templates/demos/{live.js → sync.js} +4 -4
- package/dist/templates/demos/sync.js.map +1 -0
- package/dist/templates/demos/system-info.d.ts +3 -0
- package/dist/templates/demos/system-info.d.ts.map +1 -0
- package/dist/templates/demos/system-info.js +142 -0
- package/dist/templates/demos/system-info.js.map +1 -0
- package/dist/templates/demos/todos.d.ts +6 -0
- package/dist/templates/demos/todos.d.ts.map +1 -0
- package/dist/templates/demos/todos.js +246 -0
- package/dist/templates/demos/todos.js.map +1 -0
- package/dist/templates/demos/ws.js +4 -4
- package/dist/templates/env.d.ts.map +1 -1
- package/dist/templates/env.js +0 -14
- package/dist/templates/env.js.map +1 -1
- package/dist/templates/package-json.d.ts.map +1 -1
- package/dist/templates/package-json.js +1 -3
- package/dist/templates/package-json.js.map +1 -1
- package/dist/templates/routes/api.d.ts.map +1 -1
- package/dist/templates/routes/api.js +48 -0
- package/dist/templates/routes/api.js.map +1 -1
- package/dist/templates/routes/web.d.ts.map +1 -1
- package/dist/templates/routes/web.js +49 -2
- package/dist/templates/routes/web.js.map +1 -1
- package/dist/templates.d.ts +2 -3
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +70 -10
- package/dist/templates.js.map +1 -1
- package/package.json +1 -1
- package/dist/templates/configs/cashier.d.ts +0 -2
- package/dist/templates/configs/cashier.d.ts.map +0 -1
- package/dist/templates/configs/cashier.js +0 -22
- package/dist/templates/configs/cashier.js.map +0 -1
- package/dist/templates/demos/bk-socket.d.ts +0 -2
- package/dist/templates/demos/bk-socket.d.ts.map +0 -1
- package/dist/templates/demos/bk-socket.js.map +0 -1
- package/dist/templates/demos/live.d.ts +0 -2
- package/dist/templates/demos/live.d.ts.map +0 -1
- 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
|
|
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'
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-provider.d.ts","sourceRoot":"","sources":["../../../src/templates/app/service-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
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
|
-
|
|
22
|
-
|
|
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":"
|
|
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,
|
|
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,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/templates/configs/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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"}
|