@lastbrain/app 2.0.23 → 2.0.24

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.
@@ -22,5 +22,5 @@ export const PACKAGE_VERSIONS = {
22
22
  "@lastbrain/module-tasks": "^2.0.18",
23
23
  "@lastbrain/ui": "^2.0.19",
24
24
  "apps/recipe": "^2.0.11",
25
- "lastbrain": "^2.0.11",
25
+ lastbrain: "^2.0.11",
26
26
  };
@@ -1 +1 @@
1
- {"version":3,"file":"module-build.d.ts","sourceRoot":"","sources":["../../src/scripts/module-build.ts"],"names":[],"mappings":"AA8xDA,wBAAsB,cAAc,kBA8GnC"}
1
+ {"version":3,"file":"module-build.d.ts","sourceRoot":"","sources":["../../src/scripts/module-build.ts"],"names":[],"mappings":"AAkyDA,wBAAsB,cAAc,kBA8GnC"}
@@ -255,6 +255,8 @@ export default function ${wrapperName}${hasDynamicParams ? "(props: Record<strin
255
255
  const dynamicParamNames = allSegments
256
256
  .filter((seg) => seg.startsWith("[") && seg.endsWith("]"))
257
257
  .map((seg) => seg.slice(1, -1)); // Enlève les []
258
+ // Détecter si le module path lui-même a des params dynamiques (pas seulement [lang])
259
+ const moduleHasDynamicParams = segments.some((seg) => seg.startsWith("[") && seg.endsWith("]"));
258
260
  // Générer le type des params si nécessaire
259
261
  const paramsType = dynamicParamNames.length > 0
260
262
  ? `{ ${dynamicParamNames.map((name) => `${name}: string`).join("; ")} }`
@@ -264,13 +266,11 @@ export default function ${wrapperName}${hasDynamicParams ? "(props: Record<strin
264
266
  : "()";
265
267
  // Détecter si c'est un Server Component (entryPoint: "server")
266
268
  const isServerComponent = page.entryPoint === "server";
267
- // Les Server Components reçoivent params en props
269
+ // Les Server Components reçoivent params en props SEULEMENT si le module lui-même a des params
268
270
  // Les Client Components utilisent useParams() en interne
269
- const componentProps = isServerComponent && hasDynamicParams
270
- ? "params={params}"
271
- : "";
271
+ const componentProps = isServerComponent && moduleHasDynamicParams ? "params={params}" : "";
272
272
  // Si params existe mais n'est pas passé au composant, on doit le unwrap quand même
273
- const awaitParams = hasDynamicParams && !isServerComponent
273
+ const awaitParams = hasDynamicParams && !componentProps
274
274
  ? "await params; // Unwrap params for Next.js 15\n "
275
275
  : "";
276
276
  content = `// GENERATED BY LASTBRAIN MODULE BUILD
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lastbrain/app",
3
- "version": "2.0.23",
3
+ "version": "2.0.24",
4
4
  "description": "Framework modulaire Next.js avec CLI et système de modules",
5
5
  "private": false,
6
6
  "type": "module",
@@ -23,5 +23,5 @@ export const PACKAGE_VERSIONS: Record<string, string> = {
23
23
  "@lastbrain/module-tasks": "^2.0.18",
24
24
  "@lastbrain/ui": "^2.0.19",
25
25
  "apps/recipe": "^2.0.11",
26
- "lastbrain": "^2.0.11",
26
+ lastbrain: "^2.0.11",
27
27
  };
@@ -319,6 +319,11 @@ export default function ${wrapperName}${hasDynamicParams ? "(props: Record<strin
319
319
  .filter((seg) => seg.startsWith("[") && seg.endsWith("]"))
320
320
  .map((seg) => seg.slice(1, -1)); // Enlève les []
321
321
 
322
+ // Détecter si le module path lui-même a des params dynamiques (pas seulement [lang])
323
+ const moduleHasDynamicParams = segments.some(
324
+ (seg) => seg.startsWith("[") && seg.endsWith("]")
325
+ );
326
+
322
327
  // Générer le type des params si nécessaire
323
328
  const paramsType =
324
329
  dynamicParamNames.length > 0
@@ -333,15 +338,14 @@ export default function ${wrapperName}${hasDynamicParams ? "(props: Record<strin
333
338
  // Détecter si c'est un Server Component (entryPoint: "server")
334
339
  const isServerComponent = page.entryPoint === "server";
335
340
 
336
- // Les Server Components reçoivent params en props
341
+ // Les Server Components reçoivent params en props SEULEMENT si le module lui-même a des params
337
342
  // Les Client Components utilisent useParams() en interne
338
- const componentProps = isServerComponent && hasDynamicParams
339
- ? "params={params}"
340
- : "";
343
+ const componentProps =
344
+ isServerComponent && moduleHasDynamicParams ? "params={params}" : "";
341
345
 
342
346
  // Si params existe mais n'est pas passé au composant, on doit le unwrap quand même
343
347
  const awaitParams =
344
- hasDynamicParams && !isServerComponent
348
+ hasDynamicParams && !componentProps
345
349
  ? "await params; // Unwrap params for Next.js 15\n "
346
350
  : "";
347
351