Create Modules
Generate advanced modules with built-in features, middleware, and route patterns. MoroJS modules provide complete functionality with minimal configuration.
Quick Start
Basic Module
1npx @morojs/cli module create usersCreates a basic module with standard CRUD operations.
Advanced Module
1npx @morojs/cli module create users \
2 --features=auth,database,validation \
3 --middleware=rate-limit,cache \
4 --with-tests --with-docsEnterprise-ready module with authentication, caching, and documentation.
Available Features
WebSocket Support
Real-time bidirectional communication
Adds WebSocket handlers, connection management, and event broadcasting
--features=websocketDatabase Integration
Complete database operations and models
Includes CRUD operations, models, migrations, and connection handling
--features=databaseAuthentication
User authentication and authorization
JWT tokens, session management, role-based access control
--features=authCaching
Response and data caching
Memory, Redis, or file-based caching with TTL configuration
--features=cacheValidation
Request validation with Zod schemas
Type-safe validation for routes, body, params, and query parameters
--features=validationAPI Documentation
Automatic API documentation generation
OpenAPI/Swagger documentation with interactive testing
--features=docsBuilt-in Middleware
Authentication Middleware
Protect routes with authentication
--middleware=auth{"strategy": "jwt", "roles": ["user", "admin"]}Rate Limiting
Prevent abuse with request throttling
--middleware=rate-limit{"requests": 100, "window": 60000}CORS
Cross-origin resource sharing
--middleware=cors{"origin": "*", "credentials": true}Response Caching
Cache responses for performance
--middleware=cache{"ttl": 300, "strategy": "memory"}Request Validation
Validate incoming requests
--middleware=validation{"strict": true, "stripUnknown": true}Route Patterns
CRUD Operations
Create, Read, Update, Delete endpoints
--routes=crudRESTful API
RESTful resource endpoints
--routes=restGraphQL
GraphQL endpoint with resolvers
--routes=graphqlComplete Examples
User Management Module
1# Create comprehensive user management module
2npx @morojs/cli module create users \
3 --features=auth,database,validation,cache \
4 --middleware=rate-limit,auth \
5 --routes=crud \
6 --auth-roles=user,admin,moderator \
7 --with-tests \
8 --with-docs
9
10# What this generates:
11# ├── modules/users/
12# │ ├── index.ts # Module definition
13# │ ├── routes/
14# │ │ ├── auth.ts # Authentication routes
15# │ │ ├── users.ts # CRUD operations
16# │ │ └── admin.ts # Admin-only routes
17# │ ├── models/
18# │ │ └── User.ts # User model with validation
19# │ ├── middleware/
20# │ │ ├── auth.ts # Authentication middleware
21# │ │ └── permissions.ts # Role-based permissions
22# │ ├── services/
23# │ │ └── UserService.ts # Business logic
24# │ ├── tests/
25# │ │ └── users.test.ts # Comprehensive tests
26# │ └── docs/
27# │ └── api.md # API documentationReal-time Chat Module
1# Create real-time chat module
2npx @morojs/cli module create chat \
3 --features=websocket,database,auth \
4 --middleware=auth,rate-limit \
5 --auth-roles=user \
6 --with-tests
7
8# Generates WebSocket handlers for:
9# - Real-time messaging
10# - Room management
11# - User presence
12# - Message history
13# - Authentication integrationProduct Catalog Module
1# Create product catalog with caching
2npx @morojs/cli module create products \
3 --features=database,cache,validation \
4 --middleware=cache \
5 --routes=rest \
6 --with-docs
7
8# Includes:
9# - Product CRUD operations
10# - Category management
11# - Search and filtering
12# - Response caching
13# - Input validation
14# - API documentationCommand Reference
1npx @morojs/cli module create <name> [options]
2
3Options:
4 -f, --features <list> Features (websocket,database,auth,cache,validation,docs)
5 -d, --database <type> Database adapter type
6 -m, --middleware <list> Built-in middleware (auth,cors,rate-limit,cache,validation)
7 -r, --routes <pattern> Route patterns (crud,rest,graphql)
8 --auth-roles <roles> Authentication roles (comma-separated)
9 --with-tests Generate test files
10 --with-docs Generate API documentation
11 --skip-git Skip Git operations
12 --dry-run Preview without creating files
13
14Examples:
15 npx @morojs/cli module create users
16 npx @morojs/cli module create products --features=database,cache --routes=crud
17 npx @morojs/cli module create chat --features=websocket,auth --auth-roles=user,admin
18 npx @morojs/cli module create api --features=database,validation --with-tests --with-docs