@lastbrain/app 0.1.17 → 0.1.19

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lastbrain/app",
3
- "version": "0.1.17",
3
+ "version": "0.1.19",
4
4
  "description": "Framework modulaire Next.js avec CLI et système de modules",
5
5
  "private": false,
6
6
  "type": "module",
@@ -41,22 +41,22 @@
41
41
  "react": "^19.0.0",
42
42
  "react-dom": "^19.0.0",
43
43
  "@lastbrain/core": "0.1.0",
44
- "@lastbrain/ui": "0.1.3",
45
- "@lastbrain/module-auth": "0.1.1"
44
+ "@lastbrain/module-auth": "0.1.1",
45
+ "@lastbrain/ui": "0.1.4"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "next": ">=15.0.0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@heroui/theme": "^2.4.23",
52
+ "@tailwindcss/postcss": "^4.1.17",
52
53
  "@types/fs-extra": "^11.0.4",
53
54
  "@types/inquirer": "^9.0.9",
54
55
  "@types/node": "^20.0.0",
55
- "autoprefixer": "^10.4.0",
56
56
  "inquirer": "^13.0.1",
57
57
  "postcss": "^8.4.0",
58
58
  "postcss-cli": "^11.0.0",
59
- "tailwindcss": "^3.4.0",
59
+ "tailwindcss": "^4.1.17",
60
60
  "typescript": "^5.4.0"
61
61
  },
62
62
  "scripts": {
@@ -154,15 +154,14 @@ export async function initApp(options: InitAppOptions) {
154
154
  } else {
155
155
  console.log(chalk.cyan("\n📋 Prochaines étapes:"));
156
156
  console.log(chalk.white(" 1. cd " + relativePath));
157
- console.log(chalk.white(" 2. pnpm install"));
157
+ console.log(chalk.white(" 2. pnpm install (installer les dépendances)"));
158
158
  console.log(chalk.white(" 3. pnpm build:modules (générer les routes des modules)"));
159
- console.log(chalk.white(" 4. pnpm dev (démarrer le serveur de développement)"));
160
- console.log(chalk.white("\n Puis sur la page d'accueil :"));
161
- console.log(chalk.white(" 5. Cliquez sur 'Get Started'"));
162
- console.log(chalk.white(" 6. Lancez Docker Desktop"));
163
- console.log(chalk.white(" 7. Installez Supabase CLI : brew install supabase/tap/supabase"));
164
- console.log(chalk.white(" 8. Exécutez : pnpm db:init"));
165
- console.log(chalk.white(" 9. Rechargez la page\n"));
159
+ console.log(chalk.white(" 4. pnpm db:init (initialiser Supabase)"));
160
+ console.log(chalk.white(" 5. pnpm dev (démarrer le serveur)\n"));
161
+
162
+ console.log(chalk.gray("Prérequis pour Supabase :"));
163
+ console.log(chalk.white(" - Docker Desktop installé et lancé"));
164
+ console.log(chalk.white(" - Supabase CLI : brew install supabase/tap/supabase\n"));
166
165
 
167
166
  // Afficher la commande cd pour faciliter la copie
168
167
  console.log(chalk.gray("Pour vous déplacer dans le projet :"));
@@ -236,67 +235,9 @@ async function addDependencies(
236
235
 
237
236
  // Ajouter les dépendances HeroUI si nécessaire
238
237
  if (useHeroUI) {
239
- // Core
240
- requiredDeps["@heroui/system"] = "^2.4.23";
238
+ // Seulement le theme pour le plugin Tailwind
239
+ // Tous les composants sont déjà inclus dans @lastbrain/ui
241
240
  requiredDeps["@heroui/theme"] = "^2.4.23";
242
- requiredDeps["@heroui/react-utils"] = "^2.1.14";
243
- requiredDeps["@heroui/framer-utils"] = "^2.1.23";
244
-
245
- // Buttons & Actions
246
- requiredDeps["@heroui/button"] = "^2.2.27";
247
- requiredDeps["@heroui/link"] = "^2.2.23";
248
-
249
- // Forms
250
- requiredDeps["@heroui/input"] = "^2.4.28";
251
- requiredDeps["@heroui/checkbox"] = "^2.3.27";
252
- requiredDeps["@heroui/radio"] = "^2.3.27";
253
- requiredDeps["@heroui/select"] = "^2.4.28";
254
- requiredDeps["@heroui/switch"] = "^2.2.24";
255
- requiredDeps["@heroui/form"] = "^2.1.27";
256
- requiredDeps["@heroui/autocomplete"] = "^2.3.29";
257
-
258
- // Layout
259
- requiredDeps["@heroui/card"] = "^2.2.25";
260
- requiredDeps["@heroui/navbar"] = "^2.2.25";
261
- requiredDeps["@heroui/divider"] = "^2.2.20";
262
- requiredDeps["@heroui/spacer"] = "^2.2.21";
263
-
264
- // Navigation
265
- requiredDeps["@heroui/tabs"] = "^2.2.24";
266
- requiredDeps["@heroui/breadcrumbs"] = "^2.2.19";
267
- requiredDeps["@heroui/pagination"] = "^2.2.24";
268
- requiredDeps["@heroui/listbox"] = "^2.3.26";
269
-
270
- // Feedback
271
- requiredDeps["@heroui/spinner"] = "^2.2.24";
272
- requiredDeps["@heroui/progress"] = "^2.2.22";
273
- requiredDeps["@heroui/skeleton"] = "^2.2.17";
274
- requiredDeps["@heroui/alert"] = "^2.2.27";
275
- requiredDeps["@heroui/toast"] = "^2.0.17";
276
-
277
- // Overlays
278
- requiredDeps["@heroui/modal"] = "^2.2.24";
279
- requiredDeps["@heroui/tooltip"] = "^2.2.24";
280
- requiredDeps["@heroui/popover"] = "^2.3.27";
281
- requiredDeps["@heroui/dropdown"] = "^2.3.27";
282
- requiredDeps["@heroui/drawer"] = "^2.2.24";
283
-
284
- // Data Display
285
- requiredDeps["@heroui/avatar"] = "^2.2.22";
286
- requiredDeps["@heroui/badge"] = "^2.2.17";
287
- requiredDeps["@heroui/chip"] = "^2.2.22";
288
- requiredDeps["@heroui/code"] = "^2.2.21";
289
- requiredDeps["@heroui/image"] = "^2.2.17";
290
- requiredDeps["@heroui/kbd"] = "^2.2.22";
291
- requiredDeps["@heroui/snippet"] = "^2.2.28";
292
- requiredDeps["@heroui/table"] = "^2.2.27";
293
- requiredDeps["@heroui/user"] = "^2.2.22";
294
- requiredDeps["@heroui/accordion"] = "^2.2.24";
295
-
296
- // Utilities
297
- requiredDeps["@heroui/scroll-shadow"] = "^2.3.18";
298
- requiredDeps["@react-aria/ssr"] = "^3.9.10";
299
- requiredDeps["@react-aria/visually-hidden"] = "^3.8.28";
300
241
 
301
242
  // Dependencies
302
243
  requiredDeps["lucide-react"] = "^0.554.0";
@@ -306,9 +247,9 @@ async function addDependencies(
306
247
 
307
248
  // DevDependencies
308
249
  const requiredDevDeps = {
309
- tailwindcss: "^3.4.0",
250
+ tailwindcss: "^4.1.0",
251
+ "@tailwindcss/postcss": "^4.1.0",
310
252
  postcss: "^8.4.0",
311
- autoprefixer: "^10.4.20",
312
253
  typescript: "^5.4.0",
313
254
  "@types/node": "^20.0.0",
314
255
  "@types/react": "^18.3.0",
@@ -430,9 +371,7 @@ export default function RootLayout({ children }: PropsWithChildren<{}>) {
430
371
  // Créer globals.css
431
372
  const globalsPath = path.join(stylesDir, "globals.css");
432
373
  if (!fs.existsSync(globalsPath) || force) {
433
- const globalsContent = `@tailwind base;
434
- @tailwind components;
435
- @tailwind utilities;
374
+ const globalsContent = `@import "tailwindcss";
436
375
  `;
437
376
  await fs.writeFile(globalsPath, globalsContent);
438
377
  console.log(chalk.green("✓ styles/globals.css créé"));
@@ -736,7 +675,12 @@ export default nextConfig;
736
675
 
737
676
  if (useHeroUI) {
738
677
  // Configuration avec HeroUI
739
- tailwindConfig = `import {heroui} from "@heroui/theme"
678
+ tailwindConfig = `let heroui;
679
+ try {
680
+ heroui = require("@heroui/theme").heroui;
681
+ } catch (e) {
682
+ heroui = () => ({});
683
+ }
740
684
 
741
685
  /** @type {import('tailwindcss').Config} */
742
686
  const config = {
@@ -746,9 +690,6 @@ const config = {
746
690
  "./node_modules/@lastbrain/*/src/**/*.{js,jsx,ts,tsx}",
747
691
  "./node_modules/@heroui/*/src/**/*.{js,jsx,ts,tsx}"
748
692
  ],
749
- theme: {
750
- extend: {},
751
- },
752
693
  darkMode: "class",
753
694
  plugins: [heroui()],
754
695
  }
@@ -799,8 +740,7 @@ export default config;
799
740
  if (!fs.existsSync(postcssConfigPath) || force) {
800
741
  const postcssConfig = `export default {
801
742
  plugins: {
802
- tailwindcss: {},
803
- autoprefixer: {},
743
+ '@tailwindcss/postcss': {},
804
744
  },
805
745
  };
806
746
  `;
package/src/styles.css CHANGED
@@ -1,5 +1,5 @@
1
- @tailwind base;
2
- @tailwind components;
3
- @tailwind utilities;
1
+ @import "tailwindcss";
2
+
3
+ @config "../tailwind.config.js";
4
4
 
5
5
  /* Styles pour les composants @lastbrain/app */