@lastbrain/app 0.1.31 → 0.1.32
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 +50 -18
- package/package.json +1 -1
- package/src/scripts/init-app.ts +65 -18
package/dist/scripts/init-app.js
CHANGED
|
@@ -186,29 +186,54 @@ 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
|
+
if (fs.existsSync(moduleAiPkgPath)) {
|
|
215
|
+
const moduleAiPkg = JSON.parse(fs.readFileSync(moduleAiPkgPath, "utf-8"));
|
|
216
|
+
moduleAiVersion = `^${moduleAiPkg.version}`;
|
|
217
|
+
}
|
|
218
|
+
if (fs.existsSync(corePkgPath)) {
|
|
219
|
+
const corePkg = JSON.parse(fs.readFileSync(corePkgPath, "utf-8"));
|
|
220
|
+
coreVersion = `^${corePkg.version}`;
|
|
221
|
+
}
|
|
222
|
+
if (fs.existsSync(uiPkgPath)) {
|
|
223
|
+
const uiPkg = JSON.parse(fs.readFileSync(uiPkgPath, "utf-8"));
|
|
224
|
+
uiVersion = `^${uiPkg.version}`;
|
|
225
|
+
}
|
|
202
226
|
return {
|
|
203
|
-
app:
|
|
204
|
-
core:
|
|
205
|
-
ui:
|
|
206
|
-
moduleAuth:
|
|
227
|
+
app: cliVersion,
|
|
228
|
+
core: coreVersion,
|
|
229
|
+
ui: uiVersion,
|
|
230
|
+
moduleAuth: moduleAuthVersion,
|
|
231
|
+
moduleAi: moduleAiVersion,
|
|
207
232
|
};
|
|
208
233
|
}
|
|
209
234
|
}
|
|
210
|
-
catch {
|
|
211
|
-
console.warn(chalk.yellow(
|
|
235
|
+
catch (error) {
|
|
236
|
+
console.warn(chalk.yellow(`⚠️ Impossible de lire les versions locales (${error}), utilisation de 'latest'`));
|
|
212
237
|
}
|
|
213
238
|
// Fallback: utiliser "latest"
|
|
214
239
|
return {
|
|
@@ -216,6 +241,7 @@ function getLastBrainVersions(targetDir) {
|
|
|
216
241
|
core: "latest",
|
|
217
242
|
ui: "latest",
|
|
218
243
|
moduleAuth: "latest",
|
|
244
|
+
moduleAi: "latest",
|
|
219
245
|
};
|
|
220
246
|
}
|
|
221
247
|
async function addDependencies(targetDir, useHeroUI, withAuth, selectedModules = []) {
|
|
@@ -243,8 +269,14 @@ async function addDependencies(targetDir, useHeroUI, withAuth, selectedModules =
|
|
|
243
269
|
for (const moduleName of selectedModules) {
|
|
244
270
|
const moduleInfo = AVAILABLE_MODULES.find((m) => m.name === moduleName);
|
|
245
271
|
if (moduleInfo && moduleInfo.package !== "@lastbrain/module-auth") {
|
|
246
|
-
//
|
|
247
|
-
|
|
272
|
+
// Utiliser les vraies versions au lieu de "latest"
|
|
273
|
+
if (moduleInfo.package === "@lastbrain/module-ai") {
|
|
274
|
+
requiredDeps[moduleInfo.package] = versions.moduleAi;
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
// Pour les futurs modules, utiliser "latest" en attendant
|
|
278
|
+
requiredDeps[moduleInfo.package] = "latest";
|
|
279
|
+
}
|
|
248
280
|
}
|
|
249
281
|
}
|
|
250
282
|
// 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,74 @@ 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
|
+
}
|
|
308
|
+
|
|
309
|
+
if (fs.existsSync(moduleAiPkgPath)) {
|
|
310
|
+
const moduleAiPkg = JSON.parse(
|
|
311
|
+
fs.readFileSync(moduleAiPkgPath, "utf-8"),
|
|
312
|
+
);
|
|
313
|
+
moduleAiVersion = `^${moduleAiPkg.version}`;
|
|
314
|
+
}
|
|
276
315
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
316
|
+
if (fs.existsSync(corePkgPath)) {
|
|
317
|
+
const corePkg = JSON.parse(fs.readFileSync(corePkgPath, "utf-8"));
|
|
318
|
+
coreVersion = `^${corePkg.version}`;
|
|
319
|
+
}
|
|
280
320
|
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
321
|
+
if (fs.existsSync(uiPkgPath)) {
|
|
322
|
+
const uiPkg = JSON.parse(fs.readFileSync(uiPkgPath, "utf-8"));
|
|
323
|
+
uiVersion = `^${uiPkg.version}`;
|
|
324
|
+
}
|
|
285
325
|
|
|
286
326
|
return {
|
|
287
|
-
app:
|
|
288
|
-
core:
|
|
289
|
-
ui:
|
|
290
|
-
moduleAuth:
|
|
327
|
+
app: cliVersion,
|
|
328
|
+
core: coreVersion,
|
|
329
|
+
ui: uiVersion,
|
|
330
|
+
moduleAuth: moduleAuthVersion,
|
|
331
|
+
moduleAi: moduleAiVersion,
|
|
291
332
|
};
|
|
292
333
|
}
|
|
293
|
-
} catch {
|
|
334
|
+
} catch (error) {
|
|
294
335
|
console.warn(
|
|
295
336
|
chalk.yellow(
|
|
296
|
-
|
|
337
|
+
`⚠️ Impossible de lire les versions locales (${error}), utilisation de 'latest'`,
|
|
297
338
|
),
|
|
298
339
|
);
|
|
299
340
|
}
|
|
@@ -304,6 +345,7 @@ function getLastBrainVersions(targetDir: string): {
|
|
|
304
345
|
core: "latest",
|
|
305
346
|
ui: "latest",
|
|
306
347
|
moduleAuth: "latest",
|
|
348
|
+
moduleAi: "latest",
|
|
307
349
|
};
|
|
308
350
|
}
|
|
309
351
|
|
|
@@ -342,8 +384,13 @@ async function addDependencies(
|
|
|
342
384
|
for (const moduleName of selectedModules) {
|
|
343
385
|
const moduleInfo = AVAILABLE_MODULES.find((m) => m.name === moduleName);
|
|
344
386
|
if (moduleInfo && moduleInfo.package !== "@lastbrain/module-auth") {
|
|
345
|
-
//
|
|
346
|
-
|
|
387
|
+
// Utiliser les vraies versions au lieu de "latest"
|
|
388
|
+
if (moduleInfo.package === "@lastbrain/module-ai") {
|
|
389
|
+
requiredDeps[moduleInfo.package] = versions.moduleAi;
|
|
390
|
+
} else {
|
|
391
|
+
// Pour les futurs modules, utiliser "latest" en attendant
|
|
392
|
+
requiredDeps[moduleInfo.package] = "latest";
|
|
393
|
+
}
|
|
347
394
|
}
|
|
348
395
|
}
|
|
349
396
|
|