create-rudder-app 1.1.1 → 1.1.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auth-controller.d.ts","sourceRoot":"","sources":["../../../src/templates/app/auth-controller.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,IAAI,MAAM,CAiDvC"}
1
+ {"version":3,"file":"auth-controller.d.ts","sourceRoot":"","sources":["../../../src/templates/app/auth-controller.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,IAAI,MAAM,CAmDvC"}
@@ -21,10 +21,12 @@ const authLimit = RateLimit.perMinute(10)
21
21
  .message('Too many auth attempts. Try again later.')
22
22
 
23
23
  // Swap MemoryTokenRepository for a persistent one (Prisma/Redis) in production.
24
+ // \`secret\` is required when NODE_ENV=production; sourced from AUTH_SECRET in .env
25
+ // so a fresh \`pnpm build && pnpm start\` boots without manual config.
24
26
  const broker = new PasswordBroker(
25
27
  new MemoryTokenRepository(),
26
28
  new EloquentUserProvider(User as unknown as never, (plain, hashed) => Hash.check(plain, hashed)),
27
- { expire: 60, throttle: 60 },
29
+ { expire: 60, throttle: 60, secret: process.env.AUTH_SECRET ?? '' },
28
30
  )
29
31
 
30
32
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth-controller.js","sourceRoot":"","sources":["../../../src/templates/app/auth-controller.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+CR,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"auth-controller.js","sourceRoot":"","sources":["../../../src/templates/app/auth-controller.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDR,CAAA;AACD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/templates/routes/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpG,wBAAgB,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAwItD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAEhE"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/templates/routes/web.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGpG,wBAAgB,SAAS,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAyItD;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAEhE"}
@@ -76,6 +76,7 @@ Route.get('/', async () => view('welcome', {
76
76
  if (shouldScaffoldDemo(ctx, 'polymorphic')) {
77
77
  imports.push(`import { Post } from '../app/Models/Post.ts'`);
78
78
  imports.push(`import { Video } from '../app/Models/Video.ts'`);
79
+ imports.push(`import { Tag } from '../app/Models/Tag.ts'`);
79
80
  imports.push(`import type { Comment } from '../app/Models/Comment.ts'`);
80
81
  }
81
82
  if (shouldScaffoldDemo(ctx, 'pennant')) {
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/templates/routes/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../../src/templates/routes/web.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { TemplateContext } from '../templates.js';
2
+ /**
3
+ * One URL the render smoke should hit. Generated from the scaffolder profile
4
+ * via {@link getProfileRoutes} — each contributor (welcome, auth, a demo, an
5
+ * admin dashboard) lists its routes here so a Playwright pass can iterate them
6
+ * without a per-profile hand table.
7
+ */
8
+ export interface RouteSpec {
9
+ /** URL path the server is expected to serve. */
10
+ path: string;
11
+ /**
12
+ * Symbolic source — used in failure messages to attribute the broken route
13
+ * to the package or template fragment that contributed it.
14
+ */
15
+ contributedBy: string;
16
+ /** Substring asserted in the response HTML. Skipped when omitted. */
17
+ ssrMarker?: string;
18
+ /** Expected HTTP status. Defaults to 200. */
19
+ expectedStatus?: number;
20
+ }
21
+ /**
22
+ * Map a scaffolder profile (TemplateContext) → the set of URLs that should
23
+ * render in the booted app. Stays in lockstep with {@link routesWeb} and the
24
+ * per-package route registrations so adding a new package + its route shows up
25
+ * here and in the render-check.
26
+ */
27
+ export declare function getProfileRoutes(ctx: TemplateContext): RouteSpec[];
28
+ //# sourceMappingURL=routes-manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-manifest.d.ts","sourceRoot":"","sources":["../../src/templates/routes-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAItD;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,gDAAgD;IAChD,IAAI,EAAa,MAAM,CAAA;IACvB;;;OAGG;IACH,aAAa,EAAI,MAAM,CAAA;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAO,MAAM,CAAA;IACvB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,EAAE,CA6ClE"}
@@ -0,0 +1,51 @@
1
+ import { shouldScaffoldAnyDemo, shouldScaffoldDemo } from '../templates.js';
2
+ import { DEMOS } from './demos/registry.js';
3
+ /**
4
+ * Map a scaffolder profile (TemplateContext) → the set of URLs that should
5
+ * render in the booted app. Stays in lockstep with {@link routesWeb} and the
6
+ * per-package route registrations so adding a new package + its route shows up
7
+ * here and in the render-check.
8
+ */
9
+ export function getProfileRoutes(ctx) {
10
+ const routes = [];
11
+ // Welcome page exists only for single-framework projects (routes/web.ts gates
12
+ // on `ctx.frameworks.length === 1`). Multi-framework scaffolds use
13
+ // pages/index/+Page.* instead, which also serves `/` — covered separately.
14
+ const welcomeRoute = { path: '/', contributedBy: 'welcome' };
15
+ if (ctx.frameworks.length === 1)
16
+ welcomeRoute.ssrMarker = 'Built with RudderJS';
17
+ routes.push(welcomeRoute);
18
+ // Auth UI — login/register/forgot-password. RequireGuest middleware lets the
19
+ // pages through for an unauthenticated session (which is what the smoke has).
20
+ // Markers come from packages/auth/views/<framework>/. Only react has vendored
21
+ // views today; vue/solid scaffolds resolve to a missing view at boot. The
22
+ // smoke's auth-view copy step (mirrors index.ts) only fires for react, so we
23
+ // gate the manifest the same way to avoid asserting on routes whose template
24
+ // never reached the project.
25
+ if (ctx.packages.auth && ctx.primary === 'react') {
26
+ routes.push({ path: '/login', contributedBy: 'auth', ssrMarker: 'Welcome back' }, { path: '/register', contributedBy: 'auth', ssrMarker: 'Create an account' }, { path: '/forgot-password', contributedBy: 'auth', ssrMarker: 'Forgot password' });
27
+ }
28
+ // Demos index + each selected demo. Demos are react-primary-only today
29
+ // (shouldScaffoldDemo enforces ctx.primary === 'react') so the manifest
30
+ // doesn't need its own framework guard.
31
+ if (shouldScaffoldAnyDemo(ctx)) {
32
+ routes.push({ path: '/demos', contributedBy: 'demos.index', ssrMarker: 'Demos' });
33
+ for (const demo of DEMOS) {
34
+ if (!shouldScaffoldDemo(ctx, demo.value))
35
+ continue;
36
+ routes.push({ path: `/demos/${demo.value}`, contributedBy: `demo:${demo.value}` });
37
+ }
38
+ }
39
+ // Admin dashboards — scaffolder configs leave them publicly mounted (no
40
+ // auth middleware), so an unauthenticated session can reach them. The title
41
+ // bar substring is a cheap SSR marker that won't false-fire on the welcome
42
+ // page or a 404.
43
+ if (ctx.packages.telescope)
44
+ routes.push({ path: '/telescope', contributedBy: 'telescope', ssrMarker: 'Telescope' });
45
+ if (ctx.packages.pulse)
46
+ routes.push({ path: '/pulse', contributedBy: 'pulse', ssrMarker: 'Pulse' });
47
+ if (ctx.packages.horizon)
48
+ routes.push({ path: '/horizon', contributedBy: 'horizon', ssrMarker: 'Horizon' });
49
+ return routes;
50
+ }
51
+ //# sourceMappingURL=routes-manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes-manifest.js","sourceRoot":"","sources":["../../src/templates/routes-manifest.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAsB3C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAoB;IACnD,MAAM,MAAM,GAAgB,EAAE,CAAA;IAE9B,8EAA8E;IAC9E,mEAAmE;IACnE,2EAA2E;IAC3E,MAAM,YAAY,GAAc,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,SAAS,EAAE,CAAA;IACvE,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,YAAY,CAAC,SAAS,GAAG,qBAAqB,CAAA;IAC/E,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IAEzB,6EAA6E;IAC7E,8EAA8E;IAC9E,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,6EAA6E;IAC7E,6BAA6B;IAC7B,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CACT,EAAE,IAAI,EAAE,QAAQ,EAAY,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,EAC9E,EAAE,IAAI,EAAE,WAAW,EAAS,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAAE,EACnF,EAAE,IAAI,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAClF,CAAA;IACH,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,wCAAwC;IACxC,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;QACjF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;gBAAE,SAAQ;YAClD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,QAAQ,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpF,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,2EAA2E;IAC3E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAA;IACnH,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK;QAAM,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAM,aAAa,EAAE,OAAO,EAAM,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IAC/G,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO;QAAI,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAI,aAAa,EAAE,SAAS,EAAI,SAAS,EAAE,SAAS,EAAE,CAAC,CAAA;IAEjH,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-rudder-app",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,10 +30,11 @@
30
30
  },
31
31
  "dependencies": {
32
32
  "@clack/prompts": "^1.0.0",
33
- "@rudderjs/auth": "6.0.2"
33
+ "@rudderjs/auth": "6.0.3"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^20.0.0",
37
+ "playwright": "^1.60.0",
37
38
  "typescript": "^5.4.0"
38
39
  },
39
40
  "author": "Suleiman Shahbari",
@@ -41,7 +42,7 @@
41
42
  "build": "tsc -p tsconfig.build.json",
42
43
  "dev": "tsc -p tsconfig.build.json --watch",
43
44
  "typecheck": "tsc --noEmit",
44
- "test": "tsc -p tsconfig.test.json && node --test dist-test/*.test.js; rm -rf dist-test",
45
+ "test": "tsc -p tsconfig.test.json && cd dist-test && node --test",
45
46
  "smoke": "tsx scripts/smoke.ts",
46
47
  "clean": "rm -rf dist"
47
48
  }