@lastbrain/app 0.1.16 → 0.1.18
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":"init-app.d.ts","sourceRoot":"","sources":["../../src/scripts/init-app.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"init-app.d.ts","sourceRoot":"","sources":["../../src/scripts/init-app.ts"],"names":[],"mappings":"AAWA,UAAU,cAAc;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,iBAqJpD"}
|
package/dist/scripts/init-app.js
CHANGED
|
@@ -114,15 +114,13 @@ export async function initApp(options) {
|
|
|
114
114
|
else {
|
|
115
115
|
console.log(chalk.cyan("\n📋 Prochaines étapes:"));
|
|
116
116
|
console.log(chalk.white(" 1. cd " + relativePath));
|
|
117
|
-
console.log(chalk.white(" 2. pnpm install"));
|
|
117
|
+
console.log(chalk.white(" 2. pnpm install (installer les dépendances)"));
|
|
118
118
|
console.log(chalk.white(" 3. pnpm build:modules (générer les routes des modules)"));
|
|
119
|
-
console.log(chalk.white(" 4. pnpm
|
|
120
|
-
console.log(chalk.white("
|
|
121
|
-
console.log(chalk.
|
|
122
|
-
console.log(chalk.white("
|
|
123
|
-
console.log(chalk.white("
|
|
124
|
-
console.log(chalk.white(" 8. Exécutez : pnpm db:init"));
|
|
125
|
-
console.log(chalk.white(" 9. Rechargez la page\n"));
|
|
119
|
+
console.log(chalk.white(" 4. pnpm db:init (initialiser Supabase)"));
|
|
120
|
+
console.log(chalk.white(" 5. pnpm dev (démarrer le serveur)\n"));
|
|
121
|
+
console.log(chalk.gray("Prérequis pour Supabase :"));
|
|
122
|
+
console.log(chalk.white(" - Docker Desktop installé et lancé"));
|
|
123
|
+
console.log(chalk.white(" - Supabase CLI : brew install supabase/tap/supabase\n"));
|
|
126
124
|
// Afficher la commande cd pour faciliter la copie
|
|
127
125
|
console.log(chalk.gray("Pour vous déplacer dans le projet :"));
|
|
128
126
|
console.log(chalk.cyan(` cd ${relativePath}\n`));
|
|
@@ -180,59 +178,9 @@ async function addDependencies(targetDir, useHeroUI, withAuth, selectedModules =
|
|
|
180
178
|
}
|
|
181
179
|
// Ajouter les dépendances HeroUI si nécessaire
|
|
182
180
|
if (useHeroUI) {
|
|
183
|
-
//
|
|
184
|
-
|
|
181
|
+
// Seulement le theme pour le plugin Tailwind
|
|
182
|
+
// Tous les composants sont déjà inclus dans @lastbrain/ui
|
|
185
183
|
requiredDeps["@heroui/theme"] = "^2.4.23";
|
|
186
|
-
requiredDeps["@heroui/react-utils"] = "^2.1.14";
|
|
187
|
-
requiredDeps["@heroui/framer-utils"] = "^2.1.23";
|
|
188
|
-
// Buttons & Actions
|
|
189
|
-
requiredDeps["@heroui/button"] = "^2.2.27";
|
|
190
|
-
requiredDeps["@heroui/link"] = "^2.2.23";
|
|
191
|
-
// Forms
|
|
192
|
-
requiredDeps["@heroui/input"] = "^2.4.28";
|
|
193
|
-
requiredDeps["@heroui/checkbox"] = "^2.3.27";
|
|
194
|
-
requiredDeps["@heroui/radio"] = "^2.3.27";
|
|
195
|
-
requiredDeps["@heroui/select"] = "^2.4.28";
|
|
196
|
-
requiredDeps["@heroui/switch"] = "^2.2.24";
|
|
197
|
-
requiredDeps["@heroui/form"] = "^2.1.27";
|
|
198
|
-
requiredDeps["@heroui/autocomplete"] = "^2.3.29";
|
|
199
|
-
// Layout
|
|
200
|
-
requiredDeps["@heroui/card"] = "^2.2.25";
|
|
201
|
-
requiredDeps["@heroui/navbar"] = "^2.2.25";
|
|
202
|
-
requiredDeps["@heroui/divider"] = "^2.2.20";
|
|
203
|
-
requiredDeps["@heroui/spacer"] = "^2.2.21";
|
|
204
|
-
// Navigation
|
|
205
|
-
requiredDeps["@heroui/tabs"] = "^2.2.24";
|
|
206
|
-
requiredDeps["@heroui/breadcrumbs"] = "^2.2.19";
|
|
207
|
-
requiredDeps["@heroui/pagination"] = "^2.2.24";
|
|
208
|
-
requiredDeps["@heroui/listbox"] = "^2.3.26";
|
|
209
|
-
// Feedback
|
|
210
|
-
requiredDeps["@heroui/spinner"] = "^2.2.24";
|
|
211
|
-
requiredDeps["@heroui/progress"] = "^2.2.22";
|
|
212
|
-
requiredDeps["@heroui/skeleton"] = "^2.2.17";
|
|
213
|
-
requiredDeps["@heroui/alert"] = "^2.2.27";
|
|
214
|
-
requiredDeps["@heroui/toast"] = "^2.0.17";
|
|
215
|
-
// Overlays
|
|
216
|
-
requiredDeps["@heroui/modal"] = "^2.2.24";
|
|
217
|
-
requiredDeps["@heroui/tooltip"] = "^2.2.24";
|
|
218
|
-
requiredDeps["@heroui/popover"] = "^2.3.27";
|
|
219
|
-
requiredDeps["@heroui/dropdown"] = "^2.3.27";
|
|
220
|
-
requiredDeps["@heroui/drawer"] = "^2.2.24";
|
|
221
|
-
// Data Display
|
|
222
|
-
requiredDeps["@heroui/avatar"] = "^2.2.22";
|
|
223
|
-
requiredDeps["@heroui/badge"] = "^2.2.17";
|
|
224
|
-
requiredDeps["@heroui/chip"] = "^2.2.22";
|
|
225
|
-
requiredDeps["@heroui/code"] = "^2.2.21";
|
|
226
|
-
requiredDeps["@heroui/image"] = "^2.2.17";
|
|
227
|
-
requiredDeps["@heroui/kbd"] = "^2.2.22";
|
|
228
|
-
requiredDeps["@heroui/snippet"] = "^2.2.28";
|
|
229
|
-
requiredDeps["@heroui/table"] = "^2.2.27";
|
|
230
|
-
requiredDeps["@heroui/user"] = "^2.2.22";
|
|
231
|
-
requiredDeps["@heroui/accordion"] = "^2.2.24";
|
|
232
|
-
// Utilities
|
|
233
|
-
requiredDeps["@heroui/scroll-shadow"] = "^2.3.18";
|
|
234
|
-
requiredDeps["@react-aria/ssr"] = "^3.9.10";
|
|
235
|
-
requiredDeps["@react-aria/visually-hidden"] = "^3.8.28";
|
|
236
184
|
// Dependencies
|
|
237
185
|
requiredDeps["lucide-react"] = "^0.554.0";
|
|
238
186
|
requiredDeps["framer-motion"] = "^11.18.2";
|
|
@@ -620,7 +568,12 @@ export default nextConfig;
|
|
|
620
568
|
let tailwindConfig = "";
|
|
621
569
|
if (useHeroUI) {
|
|
622
570
|
// Configuration avec HeroUI
|
|
623
|
-
tailwindConfig = `
|
|
571
|
+
tailwindConfig = `let heroui;
|
|
572
|
+
try {
|
|
573
|
+
heroui = require("@heroui/theme").heroui;
|
|
574
|
+
} catch (e) {
|
|
575
|
+
heroui = () => ({});
|
|
576
|
+
}
|
|
624
577
|
|
|
625
578
|
/** @type {import('tailwindcss').Config} */
|
|
626
579
|
const config = {
|
|
@@ -750,53 +703,76 @@ async function createGitIgnore(targetDir, force) {
|
|
|
750
703
|
const gitignorePath = path.join(targetDir, ".gitignore");
|
|
751
704
|
if (!fs.existsSync(gitignorePath) || force) {
|
|
752
705
|
console.log(chalk.yellow("\n📝 Création de .gitignore..."));
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
.
|
|
756
|
-
.
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
#
|
|
762
|
-
|
|
763
|
-
out/
|
|
764
|
-
build/
|
|
765
|
-
dist/
|
|
766
|
-
|
|
767
|
-
# Production
|
|
768
|
-
*.log*
|
|
769
|
-
|
|
770
|
-
# Misc
|
|
771
|
-
.DS_Store
|
|
772
|
-
*.pem
|
|
706
|
+
// Copier le fichier .gitignore depuis le template
|
|
707
|
+
const templateGitignorePath = path.join(__dirname, "../templates/gitignore/.gitignore");
|
|
708
|
+
if (fs.existsSync(templateGitignorePath)) {
|
|
709
|
+
await fs.copyFile(templateGitignorePath, gitignorePath);
|
|
710
|
+
}
|
|
711
|
+
else {
|
|
712
|
+
// Fallback si le template n'existe pas
|
|
713
|
+
const gitignoreContent = `# ===========================================
|
|
714
|
+
# GENERATED BY LASTBRAIN
|
|
715
|
+
# ===========================================
|
|
773
716
|
|
|
774
|
-
#
|
|
717
|
+
# Node
|
|
718
|
+
node_modules/
|
|
775
719
|
npm-debug.log*
|
|
720
|
+
pnpm-debug.log*
|
|
776
721
|
yarn-debug.log*
|
|
777
722
|
yarn-error.log*
|
|
778
723
|
|
|
779
|
-
#
|
|
724
|
+
# Environment
|
|
780
725
|
.env
|
|
781
|
-
.env
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
# Vercel
|
|
785
|
-
.vercel
|
|
726
|
+
.env.*
|
|
727
|
+
!.env.example
|
|
786
728
|
|
|
787
|
-
#
|
|
788
|
-
|
|
789
|
-
|
|
729
|
+
# Next.js
|
|
730
|
+
.next/
|
|
731
|
+
out/
|
|
732
|
+
dist/
|
|
733
|
+
build/
|
|
790
734
|
|
|
791
735
|
# Supabase
|
|
792
736
|
supabase/.temp/
|
|
737
|
+
supabase/functions/.netlify/
|
|
738
|
+
supabase/functions/node_modules/
|
|
793
739
|
supabase/.branches/
|
|
794
740
|
|
|
795
|
-
#
|
|
796
|
-
|
|
797
|
-
|
|
741
|
+
# Logs
|
|
742
|
+
logs
|
|
743
|
+
*.log
|
|
744
|
+
*.log.*
|
|
745
|
+
|
|
746
|
+
# OS / Editor
|
|
747
|
+
.DS_Store
|
|
748
|
+
Thumbs.db
|
|
749
|
+
.idea/
|
|
750
|
+
.vscode/
|
|
751
|
+
*.swp
|
|
752
|
+
|
|
753
|
+
# Local backups
|
|
754
|
+
*.sql
|
|
755
|
+
*.sql.zip
|
|
756
|
+
backup/
|
|
757
|
+
tmp/
|
|
758
|
+
|
|
759
|
+
# Coverage
|
|
760
|
+
coverage/
|
|
761
|
+
*.lcov
|
|
762
|
+
|
|
763
|
+
# Generated by module-build
|
|
764
|
+
app/navigation.generated.ts
|
|
765
|
+
app/routes.generated.ts
|
|
766
|
+
app/menu.generated.ts
|
|
767
|
+
|
|
768
|
+
# Generated app-shell overrides
|
|
769
|
+
app/(public)/
|
|
770
|
+
app/(auth)/
|
|
771
|
+
app/(admin)/
|
|
772
|
+
app/layout.tsx
|
|
798
773
|
`;
|
|
799
|
-
|
|
774
|
+
await fs.writeFile(gitignorePath, gitignoreContent);
|
|
775
|
+
}
|
|
800
776
|
console.log(chalk.green("✓ .gitignore créé"));
|
|
801
777
|
}
|
|
802
778
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefaultDoc.d.ts","sourceRoot":"","sources":["../../src/templates/DefaultDoc.tsx"],"names":[],"mappings":"AAaA,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"DefaultDoc.d.ts","sourceRoot":"","sources":["../../src/templates/DefaultDoc.tsx"],"names":[],"mappings":"AAaA,wBAAgB,oBAAoB,4CAmoBnC"}
|
package/package.json
CHANGED
package/src/scripts/init-app.ts
CHANGED
|
@@ -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
|
|
160
|
-
console.log(chalk.white("
|
|
161
|
-
|
|
162
|
-
console.log(chalk.
|
|
163
|
-
console.log(chalk.white("
|
|
164
|
-
console.log(chalk.white("
|
|
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
|
-
//
|
|
240
|
-
|
|
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";
|
|
@@ -736,7 +677,12 @@ export default nextConfig;
|
|
|
736
677
|
|
|
737
678
|
if (useHeroUI) {
|
|
738
679
|
// Configuration avec HeroUI
|
|
739
|
-
tailwindConfig = `
|
|
680
|
+
tailwindConfig = `let heroui;
|
|
681
|
+
try {
|
|
682
|
+
heroui = require("@heroui/theme").heroui;
|
|
683
|
+
} catch (e) {
|
|
684
|
+
heroui = () => ({});
|
|
685
|
+
}
|
|
740
686
|
|
|
741
687
|
/** @type {import('tailwindcss').Config} */
|
|
742
688
|
const config = {
|
|
@@ -872,53 +818,79 @@ async function createGitIgnore(targetDir: string, force: boolean) {
|
|
|
872
818
|
if (!fs.existsSync(gitignorePath) || force) {
|
|
873
819
|
console.log(chalk.yellow("\n📝 Création de .gitignore..."));
|
|
874
820
|
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
# Testing
|
|
881
|
-
coverage/
|
|
882
|
-
|
|
883
|
-
# Next.js
|
|
884
|
-
.next/
|
|
885
|
-
out/
|
|
886
|
-
build/
|
|
887
|
-
dist/
|
|
888
|
-
|
|
889
|
-
# Production
|
|
890
|
-
*.log*
|
|
821
|
+
// Copier le fichier .gitignore depuis le template
|
|
822
|
+
const templateGitignorePath = path.join(
|
|
823
|
+
__dirname,
|
|
824
|
+
"../templates/gitignore/.gitignore"
|
|
825
|
+
);
|
|
891
826
|
|
|
892
|
-
|
|
893
|
-
.
|
|
894
|
-
|
|
827
|
+
if (fs.existsSync(templateGitignorePath)) {
|
|
828
|
+
await fs.copyFile(templateGitignorePath, gitignorePath);
|
|
829
|
+
} else {
|
|
830
|
+
// Fallback si le template n'existe pas
|
|
831
|
+
const gitignoreContent = `# ===========================================
|
|
832
|
+
# GENERATED BY LASTBRAIN
|
|
833
|
+
# ===========================================
|
|
895
834
|
|
|
896
|
-
#
|
|
835
|
+
# Node
|
|
836
|
+
node_modules/
|
|
897
837
|
npm-debug.log*
|
|
838
|
+
pnpm-debug.log*
|
|
898
839
|
yarn-debug.log*
|
|
899
840
|
yarn-error.log*
|
|
900
841
|
|
|
901
|
-
#
|
|
842
|
+
# Environment
|
|
902
843
|
.env
|
|
903
|
-
.env
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
# Vercel
|
|
907
|
-
.vercel
|
|
844
|
+
.env.*
|
|
845
|
+
!.env.example
|
|
908
846
|
|
|
909
|
-
#
|
|
910
|
-
|
|
911
|
-
|
|
847
|
+
# Next.js
|
|
848
|
+
.next/
|
|
849
|
+
out/
|
|
850
|
+
dist/
|
|
851
|
+
build/
|
|
912
852
|
|
|
913
853
|
# Supabase
|
|
914
854
|
supabase/.temp/
|
|
855
|
+
supabase/functions/.netlify/
|
|
856
|
+
supabase/functions/node_modules/
|
|
915
857
|
supabase/.branches/
|
|
916
858
|
|
|
917
|
-
#
|
|
918
|
-
|
|
919
|
-
|
|
859
|
+
# Logs
|
|
860
|
+
logs
|
|
861
|
+
*.log
|
|
862
|
+
*.log.*
|
|
863
|
+
|
|
864
|
+
# OS / Editor
|
|
865
|
+
.DS_Store
|
|
866
|
+
Thumbs.db
|
|
867
|
+
.idea/
|
|
868
|
+
.vscode/
|
|
869
|
+
*.swp
|
|
870
|
+
|
|
871
|
+
# Local backups
|
|
872
|
+
*.sql
|
|
873
|
+
*.sql.zip
|
|
874
|
+
backup/
|
|
875
|
+
tmp/
|
|
876
|
+
|
|
877
|
+
# Coverage
|
|
878
|
+
coverage/
|
|
879
|
+
*.lcov
|
|
880
|
+
|
|
881
|
+
# Generated by module-build
|
|
882
|
+
app/navigation.generated.ts
|
|
883
|
+
app/routes.generated.ts
|
|
884
|
+
app/menu.generated.ts
|
|
885
|
+
|
|
886
|
+
# Generated app-shell overrides
|
|
887
|
+
app/(public)/
|
|
888
|
+
app/(auth)/
|
|
889
|
+
app/(admin)/
|
|
890
|
+
app/layout.tsx
|
|
920
891
|
`;
|
|
921
|
-
|
|
892
|
+
await fs.writeFile(gitignorePath, gitignoreContent);
|
|
893
|
+
}
|
|
922
894
|
console.log(chalk.green("✓ .gitignore créé"));
|
|
923
895
|
}
|
|
924
896
|
}
|
|
@@ -381,17 +381,13 @@ where email = 'votre@email.com';`}
|
|
|
381
381
|
</Snippet>
|
|
382
382
|
</div>
|
|
383
383
|
<div>
|
|
384
|
-
<h3 className="text-lg font-semibold mb-2">
|
|
385
|
-
Build de production
|
|
386
|
-
</h3>
|
|
384
|
+
<h3 className="text-lg font-semibold mb-2">Build de production</h3>
|
|
387
385
|
<Snippet symbol="" hideSymbol className="text-sm">
|
|
388
386
|
pnpm build
|
|
389
387
|
</Snippet>
|
|
390
388
|
</div>
|
|
391
389
|
<div>
|
|
392
|
-
<h3 className="text-lg font-semibold mb-2">
|
|
393
|
-
Développer un module
|
|
394
|
-
</h3>
|
|
390
|
+
<h3 className="text-lg font-semibold mb-2">Développer un module</h3>
|
|
395
391
|
<Snippet symbol="" hideSymbol className="text-sm mb-2">
|
|
396
392
|
cd packages/module-auth
|
|
397
393
|
</Snippet>
|
|
@@ -449,7 +445,9 @@ where email = 'votre@email.com';`}
|
|
|
449
445
|
</CardHeader>
|
|
450
446
|
<CardBody className="space-y-4">
|
|
451
447
|
<div>
|
|
452
|
-
<h3 className="text-lg font-semibold mb-2">
|
|
448
|
+
<h3 className="text-lg font-semibold mb-2">
|
|
449
|
+
1. Modifier un module
|
|
450
|
+
</h3>
|
|
453
451
|
<p className="text-sm text-slate-600 dark:text-slate-400 mb-2">
|
|
454
452
|
Éditez les fichiers dans{" "}
|
|
455
453
|
<code className="px-2 py-1 bg-slate-100 dark:bg-slate-800 rounded">
|
|
@@ -458,7 +456,9 @@ where email = 'votre@email.com';`}
|
|
|
458
456
|
</p>
|
|
459
457
|
</div>
|
|
460
458
|
<div>
|
|
461
|
-
<h3 className="text-lg font-semibold mb-2">
|
|
459
|
+
<h3 className="text-lg font-semibold mb-2">
|
|
460
|
+
2. Compiler le module
|
|
461
|
+
</h3>
|
|
462
462
|
<Snippet symbol="" hideSymbol className="text-sm mb-2">
|
|
463
463
|
cd packages/module-auth
|
|
464
464
|
</Snippet>
|
|
@@ -467,7 +467,9 @@ where email = 'votre@email.com';`}
|
|
|
467
467
|
</Snippet>
|
|
468
468
|
</div>
|
|
469
469
|
<div>
|
|
470
|
-
<h3 className="text-lg font-semibold mb-2">
|
|
470
|
+
<h3 className="text-lg font-semibold mb-2">
|
|
471
|
+
3. Régénérer les pages
|
|
472
|
+
</h3>
|
|
471
473
|
<Snippet symbol="" hideSymbol className="text-sm mb-2">
|
|
472
474
|
cd apps/my-app
|
|
473
475
|
</Snippet>
|