@diagramers/cli 1.0.64 → 1.0.66

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/README.md CHANGED
@@ -7,8 +7,9 @@ A powerful command-line interface for managing Diagramers projects, generating m
7
7
  ### Core Capabilities
8
8
  - **Project Initialization** - Create new projects from templates
9
9
  - **Module Generation** - Generate complete modules with CRUD operations
10
- - **Database Schema Generation** - Create tables and collections
11
- - **Relation Management** - Generate database relations and references
10
+ - **Table Generation** - Add database tables to existing modules
11
+ - **Endpoint Generation** - Add custom endpoints to existing modules
12
+ - **Relation Management** - Generate database relations within modules
12
13
  - **Feature Extension** - Add features to existing projects
13
14
  - **Template Management** - Download and update project templates
14
15
 
@@ -48,333 +49,321 @@ diagramers init api my-new-api
48
49
  cd my-new-api
49
50
 
50
51
  # Set up environment variables
51
- cp .env.example .env.development
52
- echo "NODE_ENV=development" >> .env.development
52
+ cp .env.example .env
53
53
 
54
- # Start development server
54
+ # Install dependencies
55
+ npm install
56
+
57
+ # Start development
55
58
  npm start
56
59
  ```
57
60
 
58
- ## 🛠️ Usage
61
+ ## 📋 Commands
59
62
 
60
- ### Initialize New Project
63
+ ### Project Management
64
+
65
+ #### Initialize New Project
61
66
  ```bash
62
- # Initialize new API project
63
- diagramers init api my-api-project
67
+ diagramers init <template-type> <project-name>
68
+ ```
64
69
 
65
- # Initialize new admin project
66
- diagramers init admin my-admin-project
70
+ **Examples:**
71
+ ```bash
72
+ # Create API project
73
+ diagramers init api my-api-project
67
74
 
68
- # Initialize with specific template version
69
- diagramers init api my-project --template 1.0.0
75
+ # Create admin project
76
+ diagramers init admin my-admin-dashboard
77
+ ```
70
78
 
71
- # Skip prompts and use defaults
72
- diagramers init api my-project --yes
79
+ #### Update Project
80
+ ```bash
81
+ diagramers update [options]
73
82
  ```
74
83
 
75
- **Important:** After initializing a project, remember to:
76
- 1. Copy `env.example` to `.env.development`
77
- 2. Set `NODE_ENV=development` in `.env.development`
78
- 3. Configure your database and other environment variables
84
+ **Options:**
85
+ - `--force` - Force update even if conflicts detected
86
+ - `--backup` - Create backup before updating
87
+
88
+ ### Module Management
89
+
90
+ #### Generate Module
91
+ ```bash
92
+ diagramers extend --module <module-name> [options]
93
+ ```
79
94
 
80
- ### Generate Modules
95
+ **Examples:**
81
96
  ```bash
82
97
  # Generate basic module
83
98
  diagramers extend --module products
84
99
 
85
100
  # Generate module with CRUD operations
86
- diagramers extend --module orders --crud
101
+ diagramers extend --module products --crud
87
102
 
88
103
  # Generate module with custom fields
89
- diagramers extend --module categories --fields name,description,slug
90
-
91
- # Generate module with specific database type
92
- diagramers extend --module users --type mongodb --fields email,username,role
104
+ diagramers extend --module products --fields name,price,description --crud
93
105
  ```
94
106
 
95
- ### Generate Endpoints
96
- ```bash
97
- # Generate endpoint for existing module
98
- diagramers extend --endpoint users:search-user --method POST
99
-
100
- # Generate endpoint with custom path
101
- diagramers extend --endpoint products:find-by-category --method GET --path find-category
107
+ ### Table Management
102
108
 
103
- # Generate endpoint with description
104
- diagramers extend --endpoint orders:cancel-order --method PUT --description "Cancel an order"
109
+ #### Add Table to Module
110
+ ```bash
111
+ diagramers extend --table <module:table> --fields <field1,field2,...>
105
112
  ```
106
113
 
107
- ### Generate Database Tables
114
+ **Examples:**
108
115
  ```bash
109
- # Generate table with default fields (name, description)
110
- diagramers extend --table categories
111
-
112
- # Generate table with custom fields
113
- diagramers extend --table products --fields name,price,description,category_id
116
+ # Add categories table to products module
117
+ diagramers extend --table products:categories --fields name,description,slug
114
118
 
115
- # Generate table with specific field types
116
- diagramers extend --table orders --fields customer_email,amount,status,created_date
119
+ # Add products table to products module
120
+ diagramers extend --table products:products --fields name,price,category_id
117
121
 
118
- # Table generation automatically:
119
- # - Creates entity and schema files
120
- # - Adds to database seeder with sample data
121
- # - Uses proper naming conventions (plural table, singular files)
122
+ # Add user profiles table to users module
123
+ diagramers extend --table users:profiles --fields bio,avatar,social_links
122
124
  ```
123
125
 
124
- ### Generate Database Relations
125
- ```bash
126
- # Generate MongoDB relations
127
- diagramers extend --relation user-posts --type mongodb
126
+ **Field Types (Auto-detected):**
127
+ - `name`, `title`, `description` → String
128
+ - `email`, `phone` → String
129
+ - `price`, `count`, `age` Number
130
+ - `created_at`, `updated_at` → Date
131
+ - `is_active`, `verified` → Boolean
132
+ - `*_id` → ObjectId
133
+ - `status` → Number
134
+
135
+ ### Endpoint Management
128
136
 
129
- # Generate SQL relations
130
- diagramers extend --relation product-categories --type mysql
137
+ #### Add Endpoint to Module
138
+ ```bash
139
+ diagramers extend --endpoint <module:endpoint> [options]
131
140
  ```
132
141
 
133
- ### Add Features
142
+ **Examples:**
134
143
  ```bash
135
- # Add authentication feature
136
- diagramers extend --feature auth
144
+ # Add GET endpoint
145
+ diagramers extend --endpoint products:search --method GET
137
146
 
138
- # Add email notification feature
139
- diagramers extend --feature email
147
+ # Add POST endpoint
148
+ diagramers extend --endpoint users:reset-password --method POST
140
149
 
141
- # Add WebSocket feature
142
- diagramers extend --feature socket
150
+ # Add endpoint with custom path
151
+ diagramers extend --endpoint products:featured --method GET --path /featured --description "Get featured products"
152
+ ```
143
153
 
144
- # Add scheduled tasks feature
145
- diagramers extend --feature cron
154
+ **Supported Methods:**
155
+ - `GET` - Retrieve data
156
+ - `POST` - Create data
157
+ - `PUT` - Update data
158
+ - `DELETE` - Delete data
146
159
 
147
- # Add audit logging feature
148
- diagramers extend --feature audit
149
- ```
160
+ ### Relation Management
150
161
 
151
- ### List Available Options
162
+ #### Create Relations Within Module
152
163
  ```bash
153
- # List all available features and templates
154
- diagramers extend --list
164
+ diagramers extend --relation <module:table1-table2[:type]>
155
165
  ```
156
166
 
157
- ### Update Projects
167
+ **Examples:**
158
168
  ```bash
159
- # Update project structure
160
- diagramers update
169
+ # One-to-many relation (default)
170
+ diagramers extend --relation products:category-product
171
+
172
+ # One-to-one relation
173
+ diagramers extend --relation users:user-profile:one-to-one
161
174
 
162
- # Update with specific version
163
- diagramers update --version 1.0.0
175
+ # Many-to-many relation
176
+ diagramers extend --relation products:product-tag:many-to-many
164
177
  ```
165
178
 
166
- ## 📁 Generated Module Structure
179
+ **Relation Types:**
180
+ - `one-to-one` - Single record relations
181
+ - `one-to-many` - Parent-child relations (default)
182
+ - `many-to-many` - Junction table relations
167
183
 
168
- When you generate a module, the CLI creates a complete structure:
184
+ ### Feature Management
169
185
 
170
- ```
171
- src/modules/your-module/
172
- ├── entities/
173
- │ └── your-module.entity.ts # TypeScript interfaces
174
- ├── schemas/
175
- │ └── your-module.schema.ts # Database schemas
176
- ├── services/
177
- │ └── your-module.service.ts # Business logic
178
- ├── controllers/
179
- │ └── your-module.controller.ts # HTTP handlers
180
- └── routes/
181
- └── your-module.routes.ts # API routes
186
+ #### List Available Features
187
+ ```bash
188
+ diagramers extend --list
182
189
  ```
183
190
 
184
- ### Generated Files Include:
185
- - **Entities** - TypeScript interfaces with CRUD operations
186
- - **Schemas** - Database schemas with validation and indexes
187
- - **Services** - Business logic with Result model integration
188
- - **Controllers** - HTTP handlers with Swagger documentation
189
- - **Routes** - Express routes with proper binding
190
-
191
- ## 🔧 Configuration
192
-
193
- ### Template Configuration
194
- The CLI uses npm packages for templates:
195
- - `@diagramers/api` - API project template
196
- - `@diagramers/admin` - Admin project template
197
-
198
- ### Custom Templates
199
- You can create custom templates by:
200
- 1. Creating a package with the template structure
201
- 2. Publishing to npm with `@diagramers/` prefix
202
- 3. Using the template with `--template` flag
203
-
204
- ## 📋 Available Features
205
-
206
- ### Authentication Features
207
- - **Internal Auth** - Username/password with JWT
208
- - **Firebase Auth** - Google Firebase integration
209
- - **OAuth Providers** - Google, GitHub, Facebook
210
- - **SMS OTP** - Twilio, AWS SNS integration
211
- - **Email OTP** - Email-based verification
212
-
213
- ### Communication Features
214
- - **Email System** - Nodemailer with templates
215
- - **SMS System** - Twilio integration
216
- - **WebSocket** - Real-time communication
217
- - **Push Notifications** - Firebase messaging
218
-
219
- ### System Features
220
- - **Cron Jobs** - Scheduled task system
221
- - **Audit Logging** - Activity tracking
222
- - **File Upload** - File management system
223
- - **Caching** - Redis integration
224
-
225
- ## 🗄️ Database Support
226
-
227
- ### MongoDB (Default)
191
+ #### Add Feature
228
192
  ```bash
229
- # Generate MongoDB collection
230
- diagramers extend --table products --type mongodb --fields name,price,category
193
+ diagramers extend --feature <feature-name>
231
194
  ```
232
195
 
233
- ### SQL Databases
196
+ ## 🔧 Workflow Examples
197
+
198
+ ### Complete Product Management System
199
+
234
200
  ```bash
235
- # MySQL table
236
- diagramers extend --table orders --type mysql --fields customer_id,amount,status
201
+ # 1. Create new API project
202
+ diagramers init api ecommerce-api
203
+ cd ecommerce-api
204
+
205
+ # 2. Generate products module
206
+ diagramers extend --module products --crud
237
207
 
238
- # PostgreSQL table
239
- diagramers extend --table users --type postgres --fields email,username,role
208
+ # 3. Add categories table
209
+ diagramers extend --table products:categories --fields name,description,slug
240
210
 
241
- # SQLite table
242
- diagramers extend --table settings --type sqlite --fields key,value
211
+ # 4. Add products table
212
+ diagramers extend --table products:products --fields name,price,description,category_id
213
+
214
+ # 5. Create category-product relation
215
+ diagramers extend --relation products:category-product:one-to-many
216
+
217
+ # 6. Add custom search endpoint
218
+ diagramers extend --endpoint products:search --method GET --description "Search products"
219
+
220
+ # 7. Install dependencies and start
221
+ npm install
222
+ npm start
243
223
  ```
244
224
 
245
- ### Generate Relations
225
+ ### User Management with Profiles
226
+
246
227
  ```bash
247
- # Generate one-to-many relation (default)
248
- diagramers extend --relation user-posts
228
+ # 1. Generate users module (if not exists)
229
+ diagramers extend --module users --crud
249
230
 
250
- # Generate many-to-many relation
251
- diagramers extend --relation product-categories:many-to-many
231
+ # 2. Add user profiles table
232
+ diagramers extend --table users:profiles --fields bio,avatar,social_links,birth_date
252
233
 
253
- # Generate one-to-one relation
254
- diagramers extend --relation user-profile:one-to-one
234
+ # 3. Create user-profile relation
235
+ diagramers extend --relation users:user-profile:one-to-one
255
236
 
256
- # Supported relation types:
257
- # - one-to-many (default)
258
- # - many-to-many
259
- # - one-to-one
237
+ # 4. Add profile endpoints
238
+ diagramers extend --endpoint users:update-profile --method PUT
239
+ diagramers extend --endpoint users:get-profile --method GET
260
240
  ```
261
241
 
262
- ## 🔌 Plugin System
242
+ ## 🛠️ Advanced Usage
263
243
 
264
- The CLI supports plugin generation for extending functionality:
244
+ ### Database Seeding
245
+
246
+ All generated tables automatically include:
247
+ - **Sample data** - 3 sample records per table
248
+ - **Seeder integration** - Automatic database seeding
249
+ - **Development data** - Realistic test data
265
250
 
266
- ### Generate Plugin
267
251
  ```bash
268
- # Generate plugin structure
269
- diagramers extend --plugin my-plugin
252
+ # Run database seeding
253
+ npm run seed
270
254
 
271
- # Generate plugin with configuration
272
- diagramers extend --plugin payment-gateway --config stripe,paypal
255
+ # Reset and reseed database
256
+ npm run seed --reset
273
257
  ```
274
258
 
275
- ## 📚 Examples
259
+ ### Template Updates
276
260
 
277
- ### Complete E-commerce Module
278
261
  ```bash
279
- # Generate products module
280
- diagramers extend --module products --crud --fields name,price,description,category,stock
262
+ # Update project with latest template
263
+ diagramers update
281
264
 
282
- # Generate orders module
283
- diagramers extend --module orders --crud --fields customer_id,products,total,status
265
+ # Force update with backup
266
+ diagramers update --force --backup
267
+ ```
284
268
 
285
- # Generate categories module
286
- diagramers extend --module categories --crud --fields name,description,parent_id
269
+ ### Custom Field Types
287
270
 
288
- # Generate relations
289
- diagramers extend --relation product-category --type mongodb
290
- diagramers extend --relation order-product --type mongodb
291
- ```
271
+ The CLI automatically detects field types based on naming conventions:
292
272
 
293
- ### User Management System
294
273
  ```bash
295
- # Generate users module
296
- diagramers extend --module users --crud --fields email,username,role,status
274
+ # These fields will be auto-typed:
275
+ diagramers extend --table products:products --fields \
276
+ name,description,price,stock_count,created_at,is_active,category_id
277
+ ```
297
278
 
298
- # Generate profiles module
299
- diagramers extend --module profiles --crud --fields user_id,first_name,last_name,avatar
279
+ **Auto-detection:**
280
+ - `name`, `title`, `description` String
281
+ - `price`, `count`, `stock_count` → Number
282
+ - `created_at`, `updated_at` → Date
283
+ - `is_active`, `verified` → Boolean
284
+ - `category_id`, `user_id` → ObjectId
300
285
 
301
- # Generate permissions module
302
- diagramers extend --module permissions --crud --fields name,description,resource
286
+ ## 📚 Project Structure
303
287
 
304
- # Generate relations
305
- diagramers extend --relation user-profile --type mongodb
306
- diagramers extend --relation user-permissions --type mongodb
288
+ Generated projects follow this structure:
289
+
290
+ ```
291
+ my-project/
292
+ ├── src/
293
+ │ ├── modules/
294
+ │ │ ├── products/
295
+ │ │ │ ├── controllers/
296
+ │ │ │ ├── entities/
297
+ │ │ │ ├── schemas/
298
+ │ │ │ ├── services/
299
+ │ │ │ └── routes/
300
+ │ │ └── users/
301
+ │ ├── core/
302
+ │ │ ├── database/
303
+ │ │ ├── config/
304
+ │ │ └── server/
305
+ │ └── shared/
306
+ ├── scripts/
307
+ └── package.json
307
308
  ```
308
309
 
309
- ## 🚀 Advanced Usage
310
+ ## 🔍 Troubleshooting
310
311
 
311
- ### Custom Field Types
312
+ ### Common Issues
313
+
314
+ #### Module Not Found
312
315
  ```bash
313
- # Generate with different field types
314
- diagramers extend --module products --fields name:string,price:number,active:boolean,created:date
316
+ Module 'inventory' does not exist
315
317
  ```
316
-
317
- ### Nested Modules
318
+ **Solution:** Create the module first:
318
319
  ```bash
319
- # Generate nested module structure
320
- diagramers extend --module admin/users --crud --fields email,role,permissions
320
+ diagramers extend --module inventory
321
321
  ```
322
322
 
323
- ### API Documentation
323
+ #### Table Already Exists
324
324
  ```bash
325
- # Generate with enhanced Swagger docs
326
- diagramers extend --module api/products --crud --swagger --fields name,price,description
325
+ Table 'products' already exists in module 'products'
327
326
  ```
327
+ **Solution:** Use a different table name or check existing tables
328
328
 
329
- ## 🔧 Development
330
-
331
- ### Local Development
329
+ #### Invalid Relation
330
+ ```bash
331
+ Table 'categories' does not exist in module 'products'
332
+ ```
333
+ **Solution:** Create both tables before creating relations:
332
334
  ```bash
333
- # Clone the repository
334
- git clone https://github.com/diagramers/diagramers-cli.git
335
- cd diagramers-cli
335
+ diagramers extend --table products:categories --fields name,description
336
+ diagramers extend --table products:products --fields name,price
337
+ diagramers extend --relation products:category-product
338
+ ```
336
339
 
337
- # Install dependencies
338
- npm install
340
+ ### Getting Help
339
341
 
340
- # Build the project
341
- npm run build
342
+ ```bash
343
+ # General help
344
+ diagramers --help
342
345
 
343
- # Link for local development
344
- npm link
346
+ # Command-specific help
347
+ diagramers init --help
348
+ diagramers extend --help
349
+ diagramers update --help
345
350
  ```
346
351
 
347
- ### Testing
348
- ```bash
349
- # Run tests
350
- npm test
352
+ ## 🤝 Contributing
351
353
 
352
- # Run with coverage
353
- npm run test:coverage
354
- ```
354
+ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
355
355
 
356
356
  ## 📄 License
357
357
 
358
- This project is licensed under the MIT License.
358
+ MIT License - see [LICENSE](LICENSE) file for details.
359
359
 
360
- ## 🤝 Contributing
360
+ ## 🔗 Related Packages
361
361
 
362
- 1. Fork the repository
363
- 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
364
- 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
365
- 4. Push to the branch (`git push origin feature/amazing-feature`)
366
- 5. Open a Pull Request
362
+ - [@diagramers/api](https://npmjs.com/package/@diagramers/api) - API template package
363
+ - [@diagramers/admin](https://npmjs.com/package/@diagramers/admin) - Admin template package
367
364
 
368
365
  ## 📞 Support
369
366
 
370
- For support and questions:
371
- - 📖 Check the documentation
372
- - 🐛 Open an issue on GitHub
373
- - 💬 Join our community discussions
374
- - 📧 Contact: support@diagramers.com
375
-
376
- ## 🔗 Related Packages
377
-
378
- - **@diagramers/api** - API framework and template
379
- - **@diagramers/admin** - Admin dashboard template
380
- - **@diagramers/shared** - Shared utilities and types
367
+ - **Issues**: [GitHub Issues](https://github.com/diagramers/diagramers-cli/issues)
368
+ - **Documentation**: [Official Docs](https://docs.diagramers.com)
369
+ - **Community**: [Discord Server](https://discord.gg/diagramers)
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,WAsF1C"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,WAoG1C"}
@@ -63,13 +63,25 @@ function apiCommand(program) {
63
63
  });
64
64
  // Generate table command
65
65
  api
66
- .command('generate:table <name>')
67
- .description('Generate a new database table with entity and schema only')
66
+ .command('generate:table <module:table>')
67
+ .description('Generate a new database table with entity and schema only (format: module:table)')
68
68
  .action(async (name) => {
69
69
  try {
70
70
  console.log(chalk_1.default.blue(`🚀 Generating table: ${name}`));
71
- await (0, table_generator_1.generateTable)(name);
72
- console.log(chalk_1.default.green(`✅ Table '${name}' generated successfully!`));
71
+ // Parse module:table format
72
+ const parts = name.split(':');
73
+ let moduleName;
74
+ let tableName;
75
+ if (parts.length === 2) {
76
+ moduleName = parts[0];
77
+ tableName = parts[1];
78
+ }
79
+ else {
80
+ moduleName = name;
81
+ tableName = name;
82
+ }
83
+ await (0, table_generator_1.generateTable)(moduleName, tableName);
84
+ console.log(chalk_1.default.green(`✅ Table '${tableName}' generated successfully!`));
73
85
  }
74
86
  catch (error) {
75
87
  console.error(chalk_1.default.red(`❌ Error generating table: ${error.message}`));
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/commands/api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QA0G7C"}
1
+ {"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QA+I7C"}
@@ -60,30 +60,65 @@ function extendCommand(program) {
60
60
  }
61
61
  // Generate database table
62
62
  if (options.table) {
63
- console.log(chalk_1.default.blue(`🗄️ Generating table: ${options.table}`));
64
- await (0, table_generator_1.generateTable)(options.table, {
63
+ // Parse table format: module:table or just table (assume same name for module)
64
+ const tableParts = options.table.split(':');
65
+ let moduleName;
66
+ let tableName;
67
+ if (tableParts.length === 2) {
68
+ moduleName = tableParts[0];
69
+ tableName = tableParts[1];
70
+ }
71
+ else {
72
+ // If no module specified, use table name as module name
73
+ moduleName = options.table;
74
+ tableName = options.table;
75
+ }
76
+ console.log(chalk_1.default.blue(`🗄️ Generating table: ${tableName} in module: ${moduleName}`));
77
+ await (0, table_generator_1.generateTable)(moduleName, tableName, {
65
78
  fields: options.fields?.split(','),
66
79
  type: options.type || 'mongodb'
67
80
  });
68
- console.log(chalk_1.default.green(`✅ Table ${options.table} generated successfully!`));
81
+ console.log(chalk_1.default.green(`✅ Table ${tableName} generated successfully!`));
69
82
  return;
70
83
  }
71
84
  // Generate database relations
72
85
  if (options.relation) {
73
86
  console.log(chalk_1.default.blue(`🔗 Generating relations for: ${options.relation}`));
74
- // Parse relation parameters (format: table1-table2 or table1-table2:type)
87
+ // Parse relation parameters (format: module:table1-table2 or module:table1-table2:type)
75
88
  const relationParts = options.relation.split(':');
76
- const tables = relationParts[0].split('-');
77
- const relationType = relationParts[1] || 'one-to-many'; // Default to one-to-many
78
- if (tables.length !== 2) {
79
- console.error(chalk_1.default.red('❌ Relation format should be table1-table2 or table1-table2:type'));
80
- console.error(chalk_1.default.red(' Examples: user-post, product-category:many-to-many'));
89
+ let moduleName;
90
+ let tablesAndType;
91
+ if (relationParts.length >= 2) {
92
+ moduleName = relationParts[0];
93
+ tablesAndType = relationParts.slice(1).join(':');
94
+ }
95
+ else {
96
+ console.error(chalk_1.default.red('❌ Relation format should be module:table1-table2 or module:table1-table2:type'));
97
+ console.error(chalk_1.default.red(' Examples: products:product-category, users:user-profile:one-to-one'));
98
+ process.exit(1);
99
+ }
100
+ // Parse tables and relation type
101
+ const typeIndex = tablesAndType.lastIndexOf(':');
102
+ let tables;
103
+ let relationType;
104
+ if (typeIndex > 0 && ['one-to-one', 'one-to-many', 'many-to-many'].includes(tablesAndType.substring(typeIndex + 1))) {
105
+ tables = tablesAndType.substring(0, typeIndex);
106
+ relationType = tablesAndType.substring(typeIndex + 1);
107
+ }
108
+ else {
109
+ tables = tablesAndType;
110
+ relationType = 'one-to-many'; // Default to one-to-many
111
+ }
112
+ const tableNames = tables.split('-');
113
+ if (tableNames.length !== 2) {
114
+ console.error(chalk_1.default.red('❌ Tables should be separated by a dash (-)'));
115
+ console.error(chalk_1.default.red(' Examples: product-category, user-profile'));
81
116
  process.exit(1);
82
117
  }
83
- const [table1, table2] = tables;
118
+ const [table1, table2] = tableNames;
84
119
  // Import and call the relation generator
85
120
  const { generateRelation } = require('../services/relation-generator');
86
- await generateRelation(table1, table2, relationType);
121
+ await generateRelation(moduleName, table1, table2, relationType);
87
122
  console.log(chalk_1.default.green(`✅ Relations ${options.relation} generated successfully!`));
88
123
  return;
89
124
  }
@@ -1 +1 @@
1
- {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extend.js","sourceRoot":"","sources":["../../src/commands/extend.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,10 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
3
6
  Object.defineProperty(exports, "__esModule", { value: true });
4
7
  const commander_1 = require("commander");
5
8
  const init_1 = require("./commands/init");
6
9
  const update_1 = require("./commands/update");
7
10
  const extend_1 = require("./commands/extend");
11
+ const chalk_1 = __importDefault(require("chalk"));
8
12
  const fs_1 = require("fs");
9
13
  const path_1 = require("path");
10
14
  const program = new commander_1.Command();
@@ -37,7 +41,7 @@ function getApiVersion() {
37
41
  }
38
42
  program
39
43
  .name('diagramers')
40
- .description('CLI tool for managing diagramers projects')
44
+ .description('CLI tool for managing diagramers projects, modules, tables, and endpoints')
41
45
  .version(cliPkg.version, '-V, --version', 'output the current version');
42
46
  // Custom version command for full version info
43
47
  program
@@ -61,15 +65,42 @@ program
61
65
  (0, update_1.updateCommand)(program);
62
66
  (0, extend_1.extendCommand)(program);
63
67
  program.addHelpText('after', `
64
- Examples:
65
- $ diagramers init api my-new-project
66
- $ diagramers init admin my-admin-dashboard
67
- $ diagramers update
68
- $ diagramers extend --feature auth
69
- $ diagramers extend --module product --crud
70
- $ diagramers extend --table category --fields name,description
71
- $ diagramers extend --relation user-posts --type mongodb
72
- $ diagramers extend --list
68
+ ${chalk_1.default.bold('Examples:')}
69
+
70
+ ${chalk_1.default.cyan('Project Management:')}
71
+ $ diagramers init api my-new-project # Create new API project
72
+ $ diagramers init admin my-admin-dashboard # Create new admin project
73
+ $ diagramers update # Update project templates
74
+
75
+ ${chalk_1.default.cyan('Module Management:')}
76
+ $ diagramers extend --module products --crud # Generate module with CRUD
77
+ $ diagramers extend --module users --fields email,username,role
78
+
79
+ ${chalk_1.default.cyan('Table Management:')}
80
+ $ diagramers extend --table products:categories --fields name,description,slug
81
+ $ diagramers extend --table users:profiles --fields bio,avatar,birth_date
82
+
83
+ ${chalk_1.default.cyan('Endpoint Management:')}
84
+ $ diagramers extend --endpoint products:search --method GET
85
+ $ diagramers extend --endpoint users:reset-password --method POST
86
+
87
+ ${chalk_1.default.cyan('Relation Management:')}
88
+ $ diagramers extend --relation products:category-product
89
+ $ diagramers extend --relation users:user-profile:one-to-one
90
+ $ diagramers extend --relation products:product-tag:many-to-many
91
+
92
+ ${chalk_1.default.cyan('Other Commands:')}
93
+ $ diagramers extend --list # List available features
94
+ $ diagramers extend --feature auth # Add authentication feature
95
+
96
+ ${chalk_1.default.bold('Workflow Example:')}
97
+ $ diagramers init api ecommerce-api # 1. Create project
98
+ $ cd ecommerce-api # 2. Navigate to project
99
+ $ diagramers extend --module products --crud # 3. Generate module
100
+ $ diagramers extend --table products:categories --fields name,description
101
+ $ diagramers extend --table products:products --fields name,price,category_id
102
+ $ diagramers extend --relation products:category-product
103
+ $ npm install && npm start # 4. Install & start
73
104
  `);
74
105
  // If no command is provided, show help
75
106
  if (!process.argv.slice(2).length) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export type RelationType = 'one-to-one' | 'one-to-many' | 'many-to-many';
2
- export declare function generateRelation(table1: string, table2: string, relationType?: RelationType): Promise<void>;
2
+ export declare function generateRelation(moduleName: string, table1: string, table2: string, relationType?: RelationType): Promise<void>;
3
3
  //# sourceMappingURL=relation-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"relation-generator.d.ts","sourceRoot":"","sources":["../../src/services/relation-generator.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;AAEzE,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAE,YAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuC/H"}
1
+ {"version":3,"file":"relation-generator.d.ts","sourceRoot":"","sources":["../../src/services/relation-generator.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;AAEzE,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAE,YAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDnJ"}
@@ -36,8 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.generateRelation = generateRelation;
37
37
  const fs = __importStar(require("fs"));
38
38
  const path = __importStar(require("path"));
39
- async function generateRelation(table1, table2, relationType = 'one-to-one') {
40
- // Validate table names
39
+ async function generateRelation(moduleName, table1, table2, relationType = 'one-to-one') {
40
+ // Validate module and table names
41
+ if (!moduleName || !/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(moduleName)) {
42
+ throw new Error('Invalid module name. Use only letters, numbers, hyphens, and underscores. Must start with a letter.');
43
+ }
41
44
  if (!table1 || !table2 || !/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(table1) || !/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(table2)) {
42
45
  throw new Error('Invalid table names. Use only letters, numbers, hyphens, and underscores. Must start with a letter.');
43
46
  }
@@ -50,23 +53,33 @@ async function generateRelation(table1, table2, relationType = 'one-to-one') {
50
53
  if (missingDirs.length > 0) {
51
54
  throw new Error(`This command should be run from a diagramers API project. Missing directories: ${missingDirs.join(', ')}`);
52
55
  }
53
- // Check if both modules exist
54
- const table1ModulePath = path.join(currentDir, 'src/modules', table1);
55
- const table2ModulePath = path.join(currentDir, 'src/modules', table2);
56
- if (!fs.existsSync(table1ModulePath) || !fs.existsSync(table2ModulePath)) {
57
- throw new Error(`Both modules must exist before creating relationships. Missing: ${!fs.existsSync(table1ModulePath) ? table1 : ''} ${!fs.existsSync(table2ModulePath) ? table2 : ''}`);
56
+ // Check if the module exists
57
+ const modulePath = path.join(currentDir, 'src/modules', moduleName);
58
+ if (!fs.existsSync(modulePath)) {
59
+ throw new Error(`Module '${moduleName}' does not exist. Please create the module first using: diagramers extend --module ${moduleName}`);
60
+ }
61
+ // Check if both tables exist in the same module
62
+ const table1EntityPath = path.join(modulePath, 'entities', `${table1}.entity.ts`);
63
+ const table2EntityPath = path.join(modulePath, 'entities', `${table2}.entity.ts`);
64
+ const table1SchemaPath = path.join(modulePath, 'schemas', `${table1}.schema.ts`);
65
+ const table2SchemaPath = path.join(modulePath, 'schemas', `${table2}.schema.ts`);
66
+ if (!fs.existsSync(table1EntityPath) || !fs.existsSync(table1SchemaPath)) {
67
+ throw new Error(`Table '${table1}' does not exist in module '${moduleName}'. Please create the table first using: diagramers extend --table ${moduleName}:${table1}`);
68
+ }
69
+ if (!fs.existsSync(table2EntityPath) || !fs.existsSync(table2SchemaPath)) {
70
+ throw new Error(`Table '${table2}' does not exist in module '${moduleName}'. Please create the table first using: diagramers extend --table ${moduleName}:${table2}`);
58
71
  }
59
- console.log(`🔗 Creating ${relationType} relationship between ${table1} and ${table2}...`);
72
+ console.log(`🔗 Creating ${relationType} relationship between ${table1} and ${table2} in module ${moduleName}...`);
60
73
  // Update entities
61
74
  console.log('📝 Updating entities...');
62
- await updateEntity(path.join(table1ModulePath, 'entities'), table1Capitalized, table2Capitalized, relationType, 'forward');
63
- await updateEntity(path.join(table2ModulePath, 'entities'), table2Capitalized, table1Capitalized, relationType, 'reverse');
75
+ await updateEntity(path.join(modulePath, 'entities'), table1Capitalized, table2Capitalized, relationType, 'forward');
76
+ await updateEntity(path.join(modulePath, 'entities'), table2Capitalized, table1Capitalized, relationType, 'reverse');
64
77
  // Update schemas
65
78
  console.log('📋 Updating schemas...');
66
- await updateSchema(path.join(table1ModulePath, 'schemas'), table1Capitalized, table2Capitalized, relationType, 'forward');
67
- await updateSchema(path.join(table2ModulePath, 'schemas'), table2Capitalized, table1Capitalized, relationType, 'reverse');
79
+ await updateSchema(path.join(modulePath, 'schemas'), table1Capitalized, table2Capitalized, relationType, 'forward');
80
+ await updateSchema(path.join(modulePath, 'schemas'), table2Capitalized, table1Capitalized, relationType, 'reverse');
68
81
  console.log('✅ Relationship created successfully!');
69
- console.log(`🔗 ${table1} ↔ ${table2} (${relationType})`);
82
+ console.log(`🔗 ${table1} ↔ ${table2} (${relationType}) in module ${moduleName}`);
70
83
  }
71
84
  async function updateEntity(entityPath, tableCapitalized, relatedTableCapitalized, relationType, direction) {
72
85
  const entityFile = path.join(entityPath, `${tableCapitalized.toLowerCase()}.entity.ts`);
@@ -1 +1 @@
1
- {"version":3,"file":"relation-generator.js","sourceRoot":"","sources":["../../src/services/relation-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relation-generator.js","sourceRoot":"","sources":["../../src/services/relation-generator.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function generateTable(tableName: string, options?: any): Promise<void>;
1
+ export declare function generateTable(moduleName: string, tableName: string, options?: any): Promise<void>;
2
2
  //# sourceMappingURL=table-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-generator.d.ts","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"AAeA,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCvF"}
1
+ {"version":3,"file":"table-generator.d.ts","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"AAeA,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA+D3G"}
@@ -49,8 +49,11 @@ function pluralToSingular(word) {
49
49
  }
50
50
  return word; // already singular
51
51
  }
52
- async function generateTable(tableName, options = {}) {
53
- // Validate table name
52
+ async function generateTable(moduleName, tableName, options = {}) {
53
+ // Validate module and table names
54
+ if (!moduleName || !/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(moduleName)) {
55
+ throw new Error('Invalid module name. Use only letters, numbers, hyphens, and underscores. Must start with a letter.');
56
+ }
54
57
  if (!tableName || !/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(tableName)) {
55
58
  throw new Error('Invalid table name. Use only letters, numbers, hyphens, and underscores. Must start with a letter.');
56
59
  }
@@ -63,25 +66,38 @@ async function generateTable(tableName, options = {}) {
63
66
  if (missingDirs.length > 0) {
64
67
  throw new Error(`This command should be run from a diagramers API project. Missing directories: ${missingDirs.join(', ')}`);
65
68
  }
66
- // Create module directory structure
67
- const modulePath = path.join(currentDir, 'src/modules', tableName);
69
+ // Check if the module exists
70
+ const modulePath = path.join(currentDir, 'src/modules', moduleName);
68
71
  if (!fs.existsSync(modulePath)) {
69
- fs.mkdirSync(modulePath, { recursive: true });
70
- fs.mkdirSync(path.join(modulePath, 'entities'), { recursive: true });
71
- fs.mkdirSync(path.join(modulePath, 'schemas'), { recursive: true });
72
+ throw new Error(`Module '${moduleName}' does not exist. Please create the module first using: diagramers extend --module ${moduleName}`);
73
+ }
74
+ // Check if entities and schemas directories exist, create if not
75
+ const entitiesPath = path.join(modulePath, 'entities');
76
+ const schemasPath = path.join(modulePath, 'schemas');
77
+ if (!fs.existsSync(entitiesPath)) {
78
+ fs.mkdirSync(entitiesPath, { recursive: true });
79
+ }
80
+ if (!fs.existsSync(schemasPath)) {
81
+ fs.mkdirSync(schemasPath, { recursive: true });
72
82
  }
73
- console.log(`📝 Creating entity for table '${tableName}'...`);
83
+ // Check if table already exists
84
+ const entityFile = path.join(entitiesPath, `${singularName}.entity.ts`);
85
+ const schemaFile = path.join(schemasPath, `${singularName}.schema.ts`);
86
+ if (fs.existsSync(entityFile) || fs.existsSync(schemaFile)) {
87
+ throw new Error(`Table '${tableName}' already exists in module '${moduleName}'. Entity or schema files already present.`);
88
+ }
89
+ console.log(`📝 Creating entity for table '${tableName}' in module '${moduleName}'...`);
74
90
  const entityContent = generateEntityContent(singularName, tableNameCapitalized, options);
75
- fs.writeFileSync(path.join(modulePath, 'entities', `${singularName}.entity.ts`), entityContent);
76
- console.log(`📋 Creating schema for table '${tableName}'...`);
91
+ fs.writeFileSync(entityFile, entityContent);
92
+ console.log(`📋 Creating schema for table '${tableName}' in module '${moduleName}'...`);
77
93
  const schemaContent = generateSchemaContent(singularName, tableNameCapitalized, tableName, options);
78
- fs.writeFileSync(path.join(modulePath, 'schemas', `${singularName}.schema.ts`), schemaContent);
94
+ fs.writeFileSync(schemaFile, schemaContent);
79
95
  // Add to seeder
80
96
  console.log(`🌱 Adding '${tableName}' to database seeder...`);
81
97
  await addToSeeder(currentDir, tableName, singularName, tableNameCapitalized, options);
82
98
  console.log('✅ Table generation completed!');
83
- console.log(`📊 Entity: src/modules/${tableName}/entities/${singularName}.entity.ts`);
84
- console.log(`📋 Schema: src/modules/${tableName}/schemas/${singularName}.schema.ts`);
99
+ console.log(`📊 Entity: src/modules/${moduleName}/entities/${singularName}.entity.ts`);
100
+ console.log(`📋 Schema: src/modules/${moduleName}/schemas/${singularName}.schema.ts`);
85
101
  console.log('🌱 Added to database seeder');
86
102
  }
87
103
  function generateEntityContent(singularName, tableNameCapitalized, options) {
@@ -194,8 +210,32 @@ async function addToSeeder(currentDir, tableName, singularName, tableNameCapital
194
210
  seederContent = seederContent.replace(interfaceMatch[0], newInterface);
195
211
  }
196
212
  }
213
+ // Add seeder method call in seed method
214
+ const seederCall = ` await this.seed${tableNameCapitalized}s(seedData.${tableName} || []);`;
215
+ // Find the seed method and add the call after existing seeders
216
+ if (!seederContent.includes(seederCall)) {
217
+ const templateComment = '// TEMPLATE: Call new seeders here (the CLI will add new calls automatically)';
218
+ if (seederContent.includes(templateComment)) {
219
+ seederContent = seederContent.replace(templateComment, templateComment + '\n' + seederCall);
220
+ }
221
+ }
222
+ // Add default seed data
223
+ const defaultData = generateDefaultSeedData(tableName, options);
224
+ const defaultDataLine = ` ${tableName}: ${JSON.stringify(defaultData, null, 8)},`;
225
+ // Find defaultData object and add the line
226
+ if (!seederContent.includes(`${tableName}:`)) {
227
+ const defaultDataMatch = seederContent.match(/const defaultData: SeedData = \{([^}]*(?:\{[^}]*\}[^}]*)*)\}/s);
228
+ if (defaultDataMatch) {
229
+ const beforeClosing = defaultDataMatch[0].lastIndexOf('}');
230
+ const beforeText = defaultDataMatch[0].slice(0, beforeClosing);
231
+ const afterText = defaultDataMatch[0].slice(beforeClosing);
232
+ const newDefaultData = beforeText + '\n' + defaultDataLine + '\n ' + afterText;
233
+ seederContent = seederContent.replace(defaultDataMatch[0], newDefaultData);
234
+ }
235
+ }
197
236
  // Add seeder method
198
- const seederMethod = ` private async seed${tableNameCapitalized}s(data: any[]): Promise<void> {
237
+ const seederMethod = `
238
+ private async seed${tableNameCapitalized}s(data: any[]): Promise<void> {
199
239
  if (data.length === 0) return;
200
240
 
201
241
  logger.info(\`[DatabaseSeeder] Seeding \${data.length} ${tableName}...\`);
@@ -218,33 +258,16 @@ async function addToSeeder(currentDir, tableName, singularName, tableNameCapital
218
258
  }
219
259
  }
220
260
  }`;
221
- // Add method before closing class brace
222
- const classEndIndex = seederContent.lastIndexOf('}');
223
- seederContent = seederContent.slice(0, classEndIndex) + seederMethod + '\n\n' + seederContent.slice(classEndIndex);
224
- // Add seeder call in seed method
225
- const seederCall = ` if (data.${tableName}) {
226
- await this.seed${tableNameCapitalized}s(data.${tableName});
227
- }`;
228
- // Find the seed method and add the call
229
- const seedMethodMatch = seederContent.match(/async seed\([^{]*\{([^}]*(?:\{[^}]*\}[^}]*)*)\}/s);
230
- if (seedMethodMatch) {
231
- const beforeClosing = seedMethodMatch[0].lastIndexOf('}');
232
- const beforeText = seedMethodMatch[0].slice(0, beforeClosing);
233
- const afterText = seedMethodMatch[0].slice(beforeClosing);
234
- const newSeedMethod = beforeText + '\n' + seederCall + '\n ' + afterText;
235
- seederContent = seederContent.replace(seedMethodMatch[0], newSeedMethod);
236
- }
237
- // Add default seed data
238
- const defaultData = generateDefaultSeedData(tableName, options);
239
- const defaultDataLine = ` ${tableName}: ${JSON.stringify(defaultData, null, 6)},`;
240
- // Find defaultData object and add the line
241
- const defaultDataMatch = seederContent.match(/const defaultData: SeedData = \{([^}]*(?:\{[^}]*\}[^}]*)*)\}/s);
242
- if (defaultDataMatch) {
243
- const beforeClosing = defaultDataMatch[0].lastIndexOf('}');
244
- const beforeText = defaultDataMatch[0].slice(0, beforeClosing);
245
- const afterText = defaultDataMatch[0].slice(beforeClosing);
246
- const newDefaultData = beforeText + '\n' + defaultDataLine + '\n ' + afterText;
247
- seederContent = seederContent.replace(defaultDataMatch[0], newDefaultData);
261
+ // Add method before closing class brace if it doesn't exist
262
+ if (!seederContent.includes(`seed${tableNameCapitalized}s`)) {
263
+ const templateComment = '// TEMPLATE: Add new seeder functions here (the CLI will add new functions automatically)';
264
+ if (seederContent.includes(templateComment)) {
265
+ seederContent = seederContent.replace(templateComment, seederMethod + '\n' + templateComment);
266
+ }
267
+ else {
268
+ const classEndIndex = seederContent.lastIndexOf('}');
269
+ seederContent = seederContent.slice(0, classEndIndex) + seederMethod + '\n' + seederContent.slice(classEndIndex);
270
+ }
248
271
  }
249
272
  fs.writeFileSync(seederPath, seederContent);
250
273
  }
@@ -1 +1 @@
1
- {"version":3,"file":"table-generator.js","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-generator.js","sourceRoot":"","sources":["../../src/services/table-generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diagramers/cli",
3
- "version": "1.0.64",
3
+ "version": "1.0.66",
4
4
  "description": "Diagramers CLI - Command-line tools for managing Diagramers projects",
5
5
  "main": "dist/index.js",
6
6
  "bin": {