outlet-orm 4.1.0 → 4.2.0

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.
Files changed (3) hide show
  1. package/README.md +26 -0
  2. package/bin/init.js +31 -0
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -45,6 +45,27 @@ mon-projet/
45
45
  │ ├── User.js
46
46
  │ ├── Post.js
47
47
  │ └── Comment.js
48
+ ├── controllers/ # Vos contrôleurs (logique métier)
49
+ │ ├── UserController.js
50
+ │ ├── PostController.js
51
+ │ └── CommentController.js
52
+ ├── routes/ # Vos fichiers de routes
53
+ │ ├── index.js
54
+ │ ├── userRoutes.js
55
+ │ └── postRoutes.js
56
+ ├── middlewares/ # Vos middlewares
57
+ │ ├── auth.js
58
+ │ └── validation.js
59
+ ├── services/ # Vos services (logique réutilisable)
60
+ │ ├── AuthService.js
61
+ │ └── EmailService.js
62
+ ├── assets/ # Ressources statiques
63
+ │ ├── images/ # Images (png, jpg, svg...)
64
+ │ ├── videos/ # Fichiers vidéo
65
+ │ ├── icons/ # Icônes
66
+ │ ├── fonts/ # Polices personnalisées
67
+ │ ├── css/ # Feuilles de style
68
+ │ └── js/ # Scripts front-end
48
69
  ├── src/ # Votre code applicatif
49
70
  │ └── index.js
50
71
  └── tests/ # Vos tests
@@ -56,6 +77,11 @@ mon-projet/
56
77
  | `database/config.js` | Configuration des migrations | `outlet-init` |
57
78
  | `database/migrations/` | Fichiers de migration | `outlet-migrate make` |
58
79
  | `models/` | Vos classes Model | Vous (recommandé) |
80
+ | `controllers/` | Vos contrôleurs (logique métier) | Vous (recommandé) |
81
+ | `routes/` | Définition des routes API/Web | Vous (recommandé) |
82
+ | `middlewares/` | Middlewares d'authentification, validation, etc. | Vous (recommandé) |
83
+ | `services/` | Services réutilisables (email, auth, etc.) | Vous (recommandé) |
84
+ | `assets/` | Ressources statiques (images, vidéos, icônes, fonts, css, js) | Vous (recommandé) |
59
85
 
60
86
  ## ✨ Fonctionnalités clés
61
87
 
package/bin/init.js CHANGED
@@ -93,6 +93,37 @@ module.exports = db;
93
93
  fs.writeFileSync(configPath, configContent);
94
94
  console.log(`\n✅ Fichier de configuration créé: ${configPath}`);
95
95
 
96
+ // Create project structure directories
97
+ const directories = [
98
+ 'database',
99
+ 'database/migrations',
100
+ 'models',
101
+ 'controllers',
102
+ 'routes',
103
+ 'middlewares',
104
+ 'services',
105
+ 'assets',
106
+ 'assets/images',
107
+ 'assets/videos',
108
+ 'assets/icons',
109
+ 'assets/fonts',
110
+ 'assets/css',
111
+ 'assets/js',
112
+ 'src',
113
+ 'tests'
114
+ ];
115
+
116
+ console.log('\n📁 Création de la structure de projet...');
117
+ for (const dir of directories) {
118
+ const dirPath = path.join(process.cwd(), dir);
119
+ if (!fs.existsSync(dirPath)) {
120
+ fs.mkdirSync(dirPath, { recursive: true });
121
+ console.log(` ✅ ${dir}/`);
122
+ } else {
123
+ console.log(` ⏭️ ${dir}/ (existe déjà)`);
124
+ }
125
+ }
126
+
96
127
  // Generate example model
97
128
  const modelContent = `const { Model } = require('outlet-orm');
98
129
  const db = require('./database');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "outlet-orm",
3
- "version": "4.1.0",
3
+ "version": "4.2.0",
4
4
  "description": "A Laravel Eloquent-inspired ORM for Node.js with support for MySQL, PostgreSQL, and SQLite",
5
5
  "main": "src/index.js",
6
6
  "types": "types/index.d.ts",