@lastbrain/app 0.1.31 → 0.1.33
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/scripts/init-app.js +58 -18
- package/package.json +1 -1
- package/src/scripts/init-app.ts +71 -18
package/dist/scripts/init-app.js
CHANGED
|
@@ -186,29 +186,62 @@ function getLastBrainVersions(targetDir) {
|
|
|
186
186
|
core: "workspace:*",
|
|
187
187
|
ui: "workspace:*",
|
|
188
188
|
moduleAuth: "workspace:*",
|
|
189
|
+
moduleAi: "workspace:*",
|
|
189
190
|
};
|
|
190
191
|
}
|
|
191
|
-
// Hors monorepo, lire les versions depuis
|
|
192
|
+
// Hors monorepo, essayer de lire les versions depuis le monorepo source
|
|
192
193
|
try {
|
|
193
|
-
//
|
|
194
|
-
const
|
|
195
|
-
if (fs.existsSync(
|
|
196
|
-
const
|
|
197
|
-
const
|
|
198
|
-
//
|
|
199
|
-
const
|
|
200
|
-
const
|
|
201
|
-
const
|
|
194
|
+
// Détecter si on est dans le contexte du package CLI en build
|
|
195
|
+
const cliPkgPath = path.join(__dirname, "../../package.json");
|
|
196
|
+
if (fs.existsSync(cliPkgPath)) {
|
|
197
|
+
const cliPkg = JSON.parse(fs.readFileSync(cliPkgPath, "utf-8"));
|
|
198
|
+
const cliVersion = `^${cliPkg.version}`;
|
|
199
|
+
// Essayer de lire les versions depuis le monorepo (si disponible)
|
|
200
|
+
const monorepoRoot = path.join(__dirname, "../../../../");
|
|
201
|
+
const moduleAuthPkgPath = path.join(monorepoRoot, "packages/module-auth/package.json");
|
|
202
|
+
const moduleAiPkgPath = path.join(monorepoRoot, "packages/module-ai/package.json");
|
|
203
|
+
const corePkgPath = path.join(monorepoRoot, "packages/core/package.json");
|
|
204
|
+
const uiPkgPath = path.join(monorepoRoot, "packages/ui/package.json");
|
|
205
|
+
let moduleAuthVersion = cliVersion;
|
|
206
|
+
let moduleAiVersion = cliVersion;
|
|
207
|
+
let coreVersion = cliPkg.dependencies?.["@lastbrain/core"] || cliVersion;
|
|
208
|
+
let uiVersion = cliPkg.dependencies?.["@lastbrain/ui"] || cliVersion;
|
|
209
|
+
// Lire les vraies versions depuis les package.json du monorepo
|
|
210
|
+
if (fs.existsSync(moduleAuthPkgPath)) {
|
|
211
|
+
const moduleAuthPkg = JSON.parse(fs.readFileSync(moduleAuthPkgPath, "utf-8"));
|
|
212
|
+
moduleAuthVersion = `^${moduleAuthPkg.version}`;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// Fallback: utiliser latest pour éviter les problèmes de versions
|
|
216
|
+
moduleAuthVersion = "latest";
|
|
217
|
+
}
|
|
218
|
+
if (fs.existsSync(moduleAiPkgPath)) {
|
|
219
|
+
const moduleAiPkg = JSON.parse(fs.readFileSync(moduleAiPkgPath, "utf-8"));
|
|
220
|
+
moduleAiVersion = `^${moduleAiPkg.version}`;
|
|
221
|
+
}
|
|
222
|
+
else {
|
|
223
|
+
// Fallback: utiliser latest pour éviter les problèmes de versions
|
|
224
|
+
moduleAiVersion = "latest";
|
|
225
|
+
}
|
|
226
|
+
if (fs.existsSync(corePkgPath)) {
|
|
227
|
+
const corePkg = JSON.parse(fs.readFileSync(corePkgPath, "utf-8"));
|
|
228
|
+
coreVersion = `^${corePkg.version}`;
|
|
229
|
+
}
|
|
230
|
+
if (fs.existsSync(uiPkgPath)) {
|
|
231
|
+
const uiPkg = JSON.parse(fs.readFileSync(uiPkgPath, "utf-8"));
|
|
232
|
+
uiVersion = `^${uiPkg.version}`;
|
|
233
|
+
}
|
|
202
234
|
return {
|
|
203
|
-
app:
|
|
204
|
-
core:
|
|
205
|
-
ui:
|
|
206
|
-
moduleAuth:
|
|
235
|
+
app: cliVersion,
|
|
236
|
+
core: coreVersion,
|
|
237
|
+
ui: uiVersion,
|
|
238
|
+
moduleAuth: moduleAuthVersion,
|
|
239
|
+
moduleAi: moduleAiVersion,
|
|
207
240
|
};
|
|
208
241
|
}
|
|
209
242
|
}
|
|
210
|
-
catch {
|
|
211
|
-
console.warn(chalk.yellow(
|
|
243
|
+
catch (error) {
|
|
244
|
+
console.warn(chalk.yellow(`⚠️ Impossible de lire les versions locales (${error}), utilisation de 'latest'`));
|
|
212
245
|
}
|
|
213
246
|
// Fallback: utiliser "latest"
|
|
214
247
|
return {
|
|
@@ -216,6 +249,7 @@ function getLastBrainVersions(targetDir) {
|
|
|
216
249
|
core: "latest",
|
|
217
250
|
ui: "latest",
|
|
218
251
|
moduleAuth: "latest",
|
|
252
|
+
moduleAi: "latest",
|
|
219
253
|
};
|
|
220
254
|
}
|
|
221
255
|
async function addDependencies(targetDir, useHeroUI, withAuth, selectedModules = []) {
|
|
@@ -243,8 +277,14 @@ async function addDependencies(targetDir, useHeroUI, withAuth, selectedModules =
|
|
|
243
277
|
for (const moduleName of selectedModules) {
|
|
244
278
|
const moduleInfo = AVAILABLE_MODULES.find((m) => m.name === moduleName);
|
|
245
279
|
if (moduleInfo && moduleInfo.package !== "@lastbrain/module-auth") {
|
|
246
|
-
//
|
|
247
|
-
|
|
280
|
+
// Utiliser les vraies versions au lieu de "latest"
|
|
281
|
+
if (moduleInfo.package === "@lastbrain/module-ai") {
|
|
282
|
+
requiredDeps[moduleInfo.package] = versions.moduleAi;
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
// Pour les futurs modules, utiliser "latest" en attendant
|
|
286
|
+
requiredDeps[moduleInfo.package] = "latest";
|
|
287
|
+
}
|
|
248
288
|
}
|
|
249
289
|
}
|
|
250
290
|
// Ajouter les dépendances HeroUI si nécessaire
|
package/package.json
CHANGED
package/src/scripts/init-app.ts
CHANGED
|
@@ -252,6 +252,7 @@ function getLastBrainVersions(targetDir: string): {
|
|
|
252
252
|
core: string;
|
|
253
253
|
ui: string;
|
|
254
254
|
moduleAuth: string;
|
|
255
|
+
moduleAi: string;
|
|
255
256
|
} {
|
|
256
257
|
const targetIsInMonorepo =
|
|
257
258
|
fs.existsSync(
|
|
@@ -266,34 +267,80 @@ function getLastBrainVersions(targetDir: string): {
|
|
|
266
267
|
core: "workspace:*",
|
|
267
268
|
ui: "workspace:*",
|
|
268
269
|
moduleAuth: "workspace:*",
|
|
270
|
+
moduleAi: "workspace:*",
|
|
269
271
|
};
|
|
270
272
|
}
|
|
271
273
|
|
|
272
|
-
// Hors monorepo, lire les versions depuis
|
|
274
|
+
// Hors monorepo, essayer de lire les versions depuis le monorepo source
|
|
273
275
|
try {
|
|
274
|
-
//
|
|
275
|
-
const
|
|
276
|
+
// Détecter si on est dans le contexte du package CLI en build
|
|
277
|
+
const cliPkgPath = path.join(__dirname, "../../package.json");
|
|
278
|
+
|
|
279
|
+
if (fs.existsSync(cliPkgPath)) {
|
|
280
|
+
const cliPkg = JSON.parse(fs.readFileSync(cliPkgPath, "utf-8"));
|
|
281
|
+
const cliVersion = `^${cliPkg.version}`;
|
|
282
|
+
|
|
283
|
+
// Essayer de lire les versions depuis le monorepo (si disponible)
|
|
284
|
+
const monorepoRoot = path.join(__dirname, "../../../../");
|
|
285
|
+
const moduleAuthPkgPath = path.join(
|
|
286
|
+
monorepoRoot,
|
|
287
|
+
"packages/module-auth/package.json",
|
|
288
|
+
);
|
|
289
|
+
const moduleAiPkgPath = path.join(
|
|
290
|
+
monorepoRoot,
|
|
291
|
+
"packages/module-ai/package.json",
|
|
292
|
+
);
|
|
293
|
+
const corePkgPath = path.join(monorepoRoot, "packages/core/package.json");
|
|
294
|
+
const uiPkgPath = path.join(monorepoRoot, "packages/ui/package.json");
|
|
295
|
+
|
|
296
|
+
let moduleAuthVersion = cliVersion;
|
|
297
|
+
let moduleAiVersion = cliVersion;
|
|
298
|
+
let coreVersion = cliPkg.dependencies?.["@lastbrain/core"] || cliVersion;
|
|
299
|
+
let uiVersion = cliPkg.dependencies?.["@lastbrain/ui"] || cliVersion;
|
|
300
|
+
|
|
301
|
+
// Lire les vraies versions depuis les package.json du monorepo
|
|
302
|
+
if (fs.existsSync(moduleAuthPkgPath)) {
|
|
303
|
+
const moduleAuthPkg = JSON.parse(
|
|
304
|
+
fs.readFileSync(moduleAuthPkgPath, "utf-8"),
|
|
305
|
+
);
|
|
306
|
+
moduleAuthVersion = `^${moduleAuthPkg.version}`;
|
|
307
|
+
} else {
|
|
308
|
+
// Fallback: utiliser latest pour éviter les problèmes de versions
|
|
309
|
+
moduleAuthVersion = "latest";
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
if (fs.existsSync(moduleAiPkgPath)) {
|
|
313
|
+
const moduleAiPkg = JSON.parse(
|
|
314
|
+
fs.readFileSync(moduleAiPkgPath, "utf-8"),
|
|
315
|
+
);
|
|
316
|
+
moduleAiVersion = `^${moduleAiPkg.version}`;
|
|
317
|
+
} else {
|
|
318
|
+
// Fallback: utiliser latest pour éviter les problèmes de versions
|
|
319
|
+
moduleAiVersion = "latest";
|
|
320
|
+
}
|
|
276
321
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
322
|
+
if (fs.existsSync(corePkgPath)) {
|
|
323
|
+
const corePkg = JSON.parse(fs.readFileSync(corePkgPath, "utf-8"));
|
|
324
|
+
coreVersion = `^${corePkg.version}`;
|
|
325
|
+
}
|
|
280
326
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
327
|
+
if (fs.existsSync(uiPkgPath)) {
|
|
328
|
+
const uiPkg = JSON.parse(fs.readFileSync(uiPkgPath, "utf-8"));
|
|
329
|
+
uiVersion = `^${uiPkg.version}`;
|
|
330
|
+
}
|
|
285
331
|
|
|
286
332
|
return {
|
|
287
|
-
app:
|
|
288
|
-
core:
|
|
289
|
-
ui:
|
|
290
|
-
moduleAuth:
|
|
333
|
+
app: cliVersion,
|
|
334
|
+
core: coreVersion,
|
|
335
|
+
ui: uiVersion,
|
|
336
|
+
moduleAuth: moduleAuthVersion,
|
|
337
|
+
moduleAi: moduleAiVersion,
|
|
291
338
|
};
|
|
292
339
|
}
|
|
293
|
-
} catch {
|
|
340
|
+
} catch (error) {
|
|
294
341
|
console.warn(
|
|
295
342
|
chalk.yellow(
|
|
296
|
-
|
|
343
|
+
`⚠️ Impossible de lire les versions locales (${error}), utilisation de 'latest'`,
|
|
297
344
|
),
|
|
298
345
|
);
|
|
299
346
|
}
|
|
@@ -304,6 +351,7 @@ function getLastBrainVersions(targetDir: string): {
|
|
|
304
351
|
core: "latest",
|
|
305
352
|
ui: "latest",
|
|
306
353
|
moduleAuth: "latest",
|
|
354
|
+
moduleAi: "latest",
|
|
307
355
|
};
|
|
308
356
|
}
|
|
309
357
|
|
|
@@ -342,8 +390,13 @@ async function addDependencies(
|
|
|
342
390
|
for (const moduleName of selectedModules) {
|
|
343
391
|
const moduleInfo = AVAILABLE_MODULES.find((m) => m.name === moduleName);
|
|
344
392
|
if (moduleInfo && moduleInfo.package !== "@lastbrain/module-auth") {
|
|
345
|
-
//
|
|
346
|
-
|
|
393
|
+
// Utiliser les vraies versions au lieu de "latest"
|
|
394
|
+
if (moduleInfo.package === "@lastbrain/module-ai") {
|
|
395
|
+
requiredDeps[moduleInfo.package] = versions.moduleAi;
|
|
396
|
+
} else {
|
|
397
|
+
// Pour les futurs modules, utiliser "latest" en attendant
|
|
398
|
+
requiredDeps[moduleInfo.package] = "latest";
|
|
399
|
+
}
|
|
347
400
|
}
|
|
348
401
|
}
|
|
349
402
|
|