exisjs 0.7.2 → 0.7.4

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 (172) hide show
  1. package/dist/cli/commands/build.d.ts.map +1 -1
  2. package/dist/cli/commands/build.js +3 -0
  3. package/dist/cli/commands/build.js.map +1 -1
  4. package/dist/cli/commands/doctor.d.ts +2 -0
  5. package/dist/cli/commands/doctor.d.ts.map +1 -0
  6. package/dist/cli/commands/doctor.js +258 -0
  7. package/dist/cli/commands/doctor.js.map +1 -0
  8. package/dist/cli/commands/generate.d.ts +11 -1
  9. package/dist/cli/commands/generate.d.ts.map +1 -1
  10. package/dist/cli/commands/generate.js +244 -24
  11. package/dist/cli/commands/generate.js.map +1 -1
  12. package/dist/cli/index.js +23 -5
  13. package/dist/cli/index.js.map +1 -1
  14. package/dist/cli/manifest.d.ts.map +1 -1
  15. package/dist/cli/manifest.js +3 -1
  16. package/dist/cli/manifest.js.map +1 -1
  17. package/dist/cli/resolve-aliases.d.ts.map +1 -1
  18. package/dist/cli/resolve-aliases.js +37 -31
  19. package/dist/cli/resolve-aliases.js.map +1 -1
  20. package/dist/cli/routes.d.ts +8 -1
  21. package/dist/cli/routes.d.ts.map +1 -1
  22. package/dist/cli/routes.js +96 -47
  23. package/dist/cli/routes.js.map +1 -1
  24. package/dist/config/config.d.ts +2 -1
  25. package/dist/config/config.d.ts.map +1 -1
  26. package/dist/config/config.js +2 -1
  27. package/dist/config/config.js.map +1 -1
  28. package/dist/config/index.d.ts +1 -0
  29. package/dist/config/index.d.ts.map +1 -1
  30. package/dist/config/index.js +6 -1
  31. package/dist/config/index.js.map +1 -1
  32. package/dist/config/types.d.ts +4 -1
  33. package/dist/config/types.d.ts.map +1 -1
  34. package/dist/database/index.d.ts +4 -0
  35. package/dist/database/index.d.ts.map +1 -0
  36. package/dist/database/index.js +20 -0
  37. package/dist/database/index.js.map +1 -0
  38. package/dist/database/lifecycle.d.ts +52 -0
  39. package/dist/database/lifecycle.d.ts.map +1 -0
  40. package/dist/database/lifecycle.js +122 -0
  41. package/dist/database/lifecycle.js.map +1 -0
  42. package/dist/database/mongoose.d.ts +47 -0
  43. package/dist/database/mongoose.d.ts.map +1 -0
  44. package/dist/database/mongoose.js +44 -0
  45. package/dist/database/mongoose.js.map +1 -0
  46. package/dist/database/transaction.d.ts +39 -0
  47. package/dist/database/transaction.d.ts.map +1 -0
  48. package/dist/database/transaction.js +99 -0
  49. package/dist/database/transaction.js.map +1 -0
  50. package/dist/decorators/index.d.ts +1 -0
  51. package/dist/decorators/index.d.ts.map +1 -1
  52. package/dist/decorators/index.js +1 -0
  53. package/dist/decorators/index.js.map +1 -1
  54. package/dist/decorators/middleware.d.ts +10 -0
  55. package/dist/decorators/middleware.d.ts.map +1 -1
  56. package/dist/decorators/middleware.js +27 -0
  57. package/dist/decorators/middleware.js.map +1 -1
  58. package/dist/decorators/upload.d.ts +37 -0
  59. package/dist/decorators/upload.d.ts.map +1 -0
  60. package/dist/decorators/upload.js +78 -0
  61. package/dist/decorators/upload.js.map +1 -0
  62. package/dist/docs/content/cli/commands.mdx +39 -5
  63. package/dist/docs/content/cli/overview.mdx +1 -0
  64. package/dist/docs/content/config.mdx +9 -2
  65. package/dist/docs/content/errors.mdx +57 -23
  66. package/dist/docs/content/middleware.mdx +138 -0
  67. package/dist/docs/content/providers.mdx +89 -0
  68. package/dist/docs/content/requests.mdx +153 -64
  69. package/dist/docs/content/responses.mdx +162 -1
  70. package/dist/docs/content/routing.mdx +137 -15
  71. package/dist/docs/content/security.mdx +6 -1
  72. package/dist/docs/content/structure.mdx +12 -6
  73. package/dist/docs/content/validation.mdx +92 -7
  74. package/dist/docs/reference/database.mdx +152 -0
  75. package/dist/docs/reference/decorators.mdx +4 -0
  76. package/dist/docs/reference/error.mdx +3 -1
  77. package/dist/docs/reference/middleware.mdx +84 -2
  78. package/dist/docs/reference/router.mdx +4 -2
  79. package/dist/docs/reference/validator.mdx +43 -5
  80. package/dist/error/errors.d.ts +10 -0
  81. package/dist/error/errors.d.ts.map +1 -1
  82. package/dist/error/errors.js +156 -25
  83. package/dist/error/errors.js.map +1 -1
  84. package/dist/error/index.d.ts +1 -1
  85. package/dist/error/index.d.ts.map +1 -1
  86. package/dist/error/index.js +3 -1
  87. package/dist/error/index.js.map +1 -1
  88. package/dist/middleware/compression.d.ts.map +1 -1
  89. package/dist/middleware/compression.js +20 -5
  90. package/dist/middleware/compression.js.map +1 -1
  91. package/dist/middleware/index.d.ts +2 -0
  92. package/dist/middleware/index.d.ts.map +1 -0
  93. package/dist/middleware/index.js +18 -0
  94. package/dist/middleware/index.js.map +1 -0
  95. package/dist/middleware/middleware.d.ts +16 -0
  96. package/dist/middleware/middleware.d.ts.map +1 -1
  97. package/dist/middleware/middleware.js +134 -48
  98. package/dist/middleware/middleware.js.map +1 -1
  99. package/dist/middleware/security.d.ts +13 -3
  100. package/dist/middleware/security.d.ts.map +1 -1
  101. package/dist/middleware/security.js +154 -25
  102. package/dist/middleware/security.js.map +1 -1
  103. package/dist/middleware/upload.d.ts +82 -0
  104. package/dist/middleware/upload.d.ts.map +1 -0
  105. package/dist/middleware/upload.js +387 -0
  106. package/dist/middleware/upload.js.map +1 -0
  107. package/dist/router/index.d.ts +5 -1
  108. package/dist/router/index.d.ts.map +1 -1
  109. package/dist/router/index.js +10 -1
  110. package/dist/router/index.js.map +1 -1
  111. package/dist/router/route-builder.d.ts +11 -2
  112. package/dist/router/route-builder.d.ts.map +1 -1
  113. package/dist/router/route-builder.js.map +1 -1
  114. package/dist/router/route-scanner.d.ts.map +1 -1
  115. package/dist/router/route-scanner.js +42 -3
  116. package/dist/router/route-scanner.js.map +1 -1
  117. package/dist/router/router.d.ts.map +1 -1
  118. package/dist/router/router.js +67 -4
  119. package/dist/router/router.js.map +1 -1
  120. package/dist/router/types.d.ts +30 -0
  121. package/dist/router/types.d.ts.map +1 -1
  122. package/dist/sanitize/index.d.ts +9 -9
  123. package/dist/sanitize/index.d.ts.map +1 -1
  124. package/dist/sanitize/index.js +19 -10
  125. package/dist/sanitize/index.js.map +1 -1
  126. package/dist/sanitize/sanitize.d.ts +11 -11
  127. package/dist/sanitize/sanitize.d.ts.map +1 -1
  128. package/dist/sanitize/sanitize.js +22 -13
  129. package/dist/sanitize/sanitize.js.map +1 -1
  130. package/dist/server/app.d.ts.map +1 -1
  131. package/dist/server/app.js +18 -0
  132. package/dist/server/app.js.map +1 -1
  133. package/dist/server/request.d.ts +5 -0
  134. package/dist/server/request.d.ts.map +1 -1
  135. package/dist/server/request.js +32 -4
  136. package/dist/server/request.js.map +1 -1
  137. package/dist/server/response.d.ts +27 -0
  138. package/dist/server/response.d.ts.map +1 -1
  139. package/dist/server/response.js +109 -4
  140. package/dist/server/response.js.map +1 -1
  141. package/dist/server/sse.d.ts +82 -0
  142. package/dist/server/sse.d.ts.map +1 -0
  143. package/dist/server/sse.js +216 -0
  144. package/dist/server/sse.js.map +1 -0
  145. package/dist/testing/client.d.ts.map +1 -1
  146. package/dist/testing/client.js +33 -5
  147. package/dist/testing/client.js.map +1 -1
  148. package/dist/testing/index.d.ts +1 -1
  149. package/dist/testing/index.d.ts.map +1 -1
  150. package/dist/testing/index.js +2 -1
  151. package/dist/testing/index.js.map +1 -1
  152. package/dist/testing/mocks.d.ts +3 -1
  153. package/dist/testing/mocks.d.ts.map +1 -1
  154. package/dist/testing/mocks.js +7 -1
  155. package/dist/testing/mocks.js.map +1 -1
  156. package/dist/types.d.ts +1 -0
  157. package/dist/types.d.ts.map +1 -1
  158. package/dist/types.js +1 -0
  159. package/dist/types.js.map +1 -1
  160. package/dist/validator/index.d.ts +3 -1
  161. package/dist/validator/index.d.ts.map +1 -1
  162. package/dist/validator/index.js +3 -1
  163. package/dist/validator/index.js.map +1 -1
  164. package/dist/validator/tex-types.d.ts +7 -3
  165. package/dist/validator/tex-types.d.ts.map +1 -1
  166. package/dist/validator/tex-types.js +4 -0
  167. package/dist/validator/tex-types.js.map +1 -1
  168. package/dist/validator/tex.d.ts +38 -0
  169. package/dist/validator/tex.d.ts.map +1 -1
  170. package/dist/validator/tex.js +126 -16
  171. package/dist/validator/tex.js.map +1 -1
  172. package/package.json +5 -1
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateCrud = void 0;
6
7
  exports.generateController = generateController;
8
+ exports.generateModel = generateModel;
7
9
  exports.generateService = generateService;
8
10
  exports.generateSchema = generateSchema;
9
11
  exports.generateBoundary = generateBoundary;
@@ -33,7 +35,8 @@ async function ensureDir(dir) {
33
35
  async function generateController(name, cwd = process.cwd(), options = {}) {
34
36
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
35
37
  await ensureDir(targetDir);
36
- const filePath = node_path_1.default.join(targetDir, 'route.ts');
38
+ const filename = options.named ? `${name}.route.ts` : 'route.ts';
39
+ const filePath = node_path_1.default.join(targetDir, filename);
37
40
  try {
38
41
  const stat = await promises_1.default.stat(filePath);
39
42
  if (stat.isFile()) {
@@ -49,53 +52,270 @@ async function generateController(name, cwd = process.cwd(), options = {}) {
49
52
  ? `import { Controller, Get } from 'exisjs/decorators'\n\n@Controller('/${name}')\nexport default class ${capitalizedName}Controller {\n @Get('/')\n async list() {\n return { success: true, data: [] }\n }\n}\n`
50
53
  : `import { controller, route } from 'exisjs/router'\n\nexport default controller({\n list: route.get('/', {\n handle: async () => {\n return { success: true, data: [] }\n }\n })\n})\n`;
51
54
  await promises_1.default.writeFile(filePath, code);
52
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} route in src/http/${name}/route.ts`);
55
+ (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} route in src/http/${name}/${filename}`);
56
+ }
57
+ async function generateModel(name, cwd = process.cwd(), options = {}) {
58
+ const targetDir = node_path_1.default.join(cwd, 'src', 'models');
59
+ await ensureDir(targetDir);
60
+ const capitalizedName = toPascalCase(name);
61
+ const filename = options.named ? `${name}.model.ts` : `${capitalizedName}.ts`;
62
+ const code = `export interface ${capitalizedName} {
63
+ id: string
64
+ name: string
65
+ description?: string
66
+ createdAt?: Date
67
+ updatedAt?: Date
68
+ }
69
+
70
+ export type Create${capitalizedName}Input = Omit<${capitalizedName}, 'id' | 'createdAt' | 'updatedAt'>
71
+ export type Update${capitalizedName}Input = Partial<Create${capitalizedName}Input>
72
+ `;
73
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, filename), code);
74
+ (0, utils_1.success)(`Generated database-agnostic model in src/models/${filename}`);
53
75
  }
54
76
  async function generateService(name, cwd = process.cwd(), options = {}) {
55
77
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
56
78
  await ensureDir(targetDir);
57
79
  const capitalizedName = toPascalCase(name);
80
+ const filename = options.named ? `${name}.service.ts` : 'service.ts';
81
+ const schemaFile = options.named ? `./${name}.schema` : './schema';
58
82
  const code = options.oop
59
- ? `import { Injectable } from 'exisjs/decorators'\n\n@Injectable({ scope: 'singleton' })\nexport class ${capitalizedName}Service {\n async list() {\n return []\n }\n}\n`
60
- : `export async function get${capitalizedName}s() {\n return []\n}\n`;
61
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'service.ts'), code);
62
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} service in src/http/${name}/service.ts`);
83
+ ? `import { Injectable } from 'exisjs/decorators'
84
+ import { paginate, getPaginationSkip } from 'exisjs'
85
+ import type { Create${capitalizedName}Dto, Update${capitalizedName}Dto } from '${schemaFile}'
86
+
87
+ @Injectable({ scope: 'singleton' })
88
+ export class ${capitalizedName}Service {
89
+ async list(query: { page?: number; limit?: number } = {}) {
90
+ const { skip, limit, page } = getPaginationSkip(query)
91
+ // Add your database query logic here (PostgreSQL, MySQL, SQLite, MongoDB, etc.)
92
+ const items: any[] = []
93
+ const total = 0
94
+ return paginate(items, total, { page, limit })
95
+ }
96
+
97
+ async getById(id: string) {
98
+ // Fetch record by id from your database
99
+ return { id, name: '${capitalizedName} #' + id }
100
+ }
101
+
102
+ async create(data: Create${capitalizedName}Dto) {
103
+ // Insert record into your database
104
+ return { id: String(Date.now()), ...data }
105
+ }
106
+
107
+ async update(id: string, data: Update${capitalizedName}Dto) {
108
+ // Update record in your database
109
+ return { id, ...data }
110
+ }
111
+
112
+ async delete(id: string) {
113
+ // Delete record from your database
114
+ return true
115
+ }
116
+ }
117
+ `
118
+ : `import { paginate, getPaginationSkip } from 'exisjs'
119
+ import type { Create${capitalizedName}Dto, Update${capitalizedName}Dto } from '${schemaFile}'
120
+
121
+ export async function get${capitalizedName}s(query: { page?: number; limit?: number } = {}) {
122
+ const { skip, limit, page } = getPaginationSkip(query)
123
+ // Add your database query logic here (PostgreSQL, MySQL, SQLite, MongoDB, etc.)
124
+ const items: any[] = []
125
+ const total = 0
126
+ return paginate(items, total, { page, limit })
127
+ }
128
+
129
+ export async function get${capitalizedName}ById(id: string) {
130
+ // Fetch record by id from your database
131
+ return { id, name: '${capitalizedName} #' + id }
132
+ }
133
+
134
+ export async function create${capitalizedName}(data: Create${capitalizedName}Dto) {
135
+ // Insert record into your database
136
+ return { id: String(Date.now()), ...data }
63
137
  }
64
- async function generateSchema(name, cwd = process.cwd()) {
138
+
139
+ export async function update${capitalizedName}(id: string, data: Update${capitalizedName}Dto) {
140
+ // Update record in your database
141
+ return { id, ...data }
142
+ }
143
+
144
+ export async function delete${capitalizedName}(id: string) {
145
+ // Delete record from your database
146
+ return true
147
+ }
148
+ `;
149
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, filename), code);
150
+ (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} service in src/http/${name}/${filename}`);
151
+ }
152
+ async function generateSchema(name, cwd = process.cwd(), options = {}) {
65
153
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
66
154
  await ensureDir(targetDir);
67
155
  const capitalizedName = toPascalCase(name);
68
- const code = `import { tex } from 'exisjs/validator'\nimport type { ResolveSchema } from 'exisjs/validator'\n\nexport const ${capitalizedName}ParamsSchema = tex.object({\n id: tex.string(),\n})\n\nexport const Create${capitalizedName}Schema = tex.object({\n name: tex.string({ min: 1 }),\n})\n\nexport type Create${capitalizedName}Dto = ResolveSchema<typeof Create${capitalizedName}Schema>\n`;
69
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'schema.ts'), code);
70
- (0, utils_1.success)(`Generated validation schema in src/http/${name}/schema.ts`);
156
+ const filename = options.named ? `${name}.schema.ts` : 'schema.ts';
157
+ const code = `import { tex } from 'exisjs/validator'
158
+ import type { ResolveSchema } from 'exisjs/validator'
159
+
160
+ export const ${capitalizedName}ParamsSchema = tex.object({
161
+ id: tex.string(),
162
+ })
163
+
164
+ export const ${capitalizedName}PaginationSchema = tex.pagination({
165
+ defaultLimit: 20,
166
+ maxLimit: 100,
167
+ })
168
+
169
+ export const Create${capitalizedName}Schema = tex.object({
170
+ name: tex.string({ min: 1 }),
171
+ description: tex.string({ optional: true }),
172
+ })
173
+
174
+ export const Update${capitalizedName}Schema = tex.object({
175
+ name: tex.string({ min: 1, optional: true }),
176
+ description: tex.string({ optional: true }),
177
+ })
178
+
179
+ export type ${capitalizedName}ParamsDto = ResolveSchema<typeof ${capitalizedName}ParamsSchema>
180
+ export type Create${capitalizedName}Dto = ResolveSchema<typeof Create${capitalizedName}Schema>
181
+ export type Update${capitalizedName}Dto = ResolveSchema<typeof Update${capitalizedName}Schema>
182
+ `;
183
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, filename), code);
184
+ (0, utils_1.success)(`Generated validation schema in src/http/${name}/${filename}`);
71
185
  }
72
186
  async function generateBoundary(name, cwd = process.cwd(), options = {}) {
73
187
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
74
188
  await ensureDir(targetDir);
189
+ const filename = options.named ? `${name}.boundary.ts` : 'boundary.ts';
190
+ const filePath = node_path_1.default.join(targetDir, filename);
75
191
  const capitalizedName = toPascalCase(name);
76
192
  const code = options.oop
77
- ? `import { Boundary } from 'exisjs/decorators'\nimport type { Request, Response, Next, BoundaryContext } from 'exisjs/router'\n\n@Boundary({\n cors: { origin: ['*'], credentials: true },\n headers: { 'X-Powered-By': 'ExisJS' },\n})\nexport default class ${capitalizedName}Boundary {\n // Named chain step auto-detected by (req, res, next) signature\n // auth(req: Request, res: Response, next: Next) {\n // next()\n // }\n\n // Wrapper around all routes and child boundaries\n async handle(ctx: BoundaryContext, next: Next) {\n return next()\n }\n}\n`
78
- : `import { defineBoundary } from 'exisjs/router'\nimport type { Request, Response, Next, BoundaryContext } from 'exisjs/router'\n\nexport const config = defineBoundary({\n cors: { origin: ['*'], credentials: true },\n headers: { 'X-Powered-By': 'ExisJS' },\n // exclude: [{ path: '/health', method: 'GET' }],\n})\n\n// Named chain step: auto-detected by (req, res, next) signature\n// export function auth(req: Request, res: Response, next: Next) {\n// next()\n// }\n\n// Pipeline wrapper: auto-detected as default export with (ctx, next) signature\nexport default async function (ctx: BoundaryContext, next: Next) {\n return next()\n}\n`;
79
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'boundary.ts'), code);
80
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} boundary in src/http/${name}/boundary.ts`);
193
+ ? `import { Boundary } from 'exisjs/decorators'\n\n@Boundary()\nexport default class ${capitalizedName}Boundary {}\n`
194
+ : `import { defineBoundary } from 'exisjs/router'\n\nexport default defineBoundary({\n // middlewares: [],\n})\n`;
195
+ await promises_1.default.writeFile(filePath, code);
196
+ (0, utils_1.success)(`Generated boundary in src/http/${name}/${filename}`);
81
197
  }
82
198
  async function generateResource(name, cwd = process.cwd(), options = {}) {
83
199
  const targetDir = node_path_1.default.join(cwd, 'src', 'http', name);
84
200
  await ensureDir(targetDir);
85
201
  const capitalizedName = toPascalCase(name);
86
- // 1. Generate schema.ts
87
- await generateSchema(name, cwd);
88
- // 2. Generate boundary.ts
89
- await generateBoundary(name, cwd, options);
90
- // 3. Generate service.ts
202
+ const schemaFile = options.named ? `./${name}.schema` : './schema';
203
+ const serviceFile = options.named ? `./${name}.service` : './service';
204
+ const routeFilename = options.named ? `${name}.route.ts` : 'route.ts';
205
+ const schemaFilename = options.named ? `${name}.schema.ts` : 'schema.ts';
206
+ const serviceFilename = options.named ? `${name}.service.ts` : 'service.ts';
207
+ const modelFilename = `${capitalizedName}.ts`;
208
+ // 1. Generate model
209
+ await generateModel(name, cwd, options);
210
+ // 2. Generate schema
211
+ await generateSchema(name, cwd, options);
212
+ // 3. Generate service
91
213
  await generateService(name, cwd, options);
92
- // 4. Generate route.ts
214
+ // 4. Generate full CRUD route
93
215
  const routeCode = options.oop
94
- ? `import { Controller, Get, Post, Body, Param } from 'exisjs/decorators'\nimport { ${capitalizedName}Service } from './service'\nimport { Create${capitalizedName}Schema, ${capitalizedName}ParamsSchema } from './schema'\nimport type { Create${capitalizedName}Dto } from './schema'\n\n@Controller('/${name}')\nexport default class ${capitalizedName}Controller {\n constructor(private readonly service: ${capitalizedName}Service) {}\n\n @Get('/')\n async list() {\n const data = await this.service.list()\n return { success: true, data }\n }\n\n @Get('/:id', ${capitalizedName}ParamsSchema)\n async getById(@Param('id') id: string) {\n return { success: true, id }\n }\n\n @Post('/', Create${capitalizedName}Schema)\n async create(@Body() body: Create${capitalizedName}Dto) {\n return { success: true, data: body }\n }\n}\n`
95
- : `import { controller, route } from 'exisjs/router'\nimport * as service from './service'\nimport { Create${capitalizedName}Schema, ${capitalizedName}ParamsSchema } from './schema'\n\nexport default controller({\n list: route.get('/', {\n handle: async () => {\n const data = await service.get${capitalizedName}s()\n return { success: true, data }\n }\n }),\n\n getById: route.get('/:id', {\n params: ${capitalizedName}ParamsSchema,\n handle: async ({ params }) => {\n return { success: true, id: params.id }\n }\n }),\n\n create: route.post('/', {\n body: Create${capitalizedName}Schema,\n handle: async ({ body }) => {\n return { success: true, data: body }\n }\n })\n})\n`;
96
- await promises_1.default.writeFile(node_path_1.default.join(targetDir, 'route.ts'), routeCode);
97
- (0, utils_1.success)(`Generated ${options.oop ? 'OOP' : 'Functional'} resource slice in src/http/${name}/`);
216
+ ? `import { Controller, Get, Post, Patch, Delete, Body, Param, Query } from 'exisjs/decorators'
217
+ import { ${capitalizedName}Service } from '${serviceFile}'
218
+ import {
219
+ Create${capitalizedName}Schema,
220
+ Update${capitalizedName}Schema,
221
+ ${capitalizedName}ParamsSchema,
222
+ ${capitalizedName}PaginationSchema,
223
+ } from '${schemaFile}'
224
+ import type { Create${capitalizedName}Dto, Update${capitalizedName}Dto } from '${schemaFile}'
225
+
226
+ @Controller('/${name}')
227
+ export default class ${capitalizedName}Controller {
228
+ constructor(private readonly service: ${capitalizedName}Service) {}
229
+
230
+ @Get('/', { query: ${capitalizedName}PaginationSchema })
231
+ async list(@Query() query: any) {
232
+ const result = await this.service.list(query)
233
+ return { success: true, ...result }
234
+ }
235
+
236
+ @Get('/:id', { params: ${capitalizedName}ParamsSchema })
237
+ async getById(@Param('id') id: string) {
238
+ const item = await this.service.getById(id)
239
+ if (!item) return { success: false, error: 'Not found' }
240
+ return { success: true, data: item }
241
+ }
242
+
243
+ @Post('/', { body: Create${capitalizedName}Schema })
244
+ async create(@Body() body: Create${capitalizedName}Dto) {
245
+ const item = await this.service.create(body)
246
+ return { success: true, data: item }
247
+ }
248
+
249
+ @Patch('/:id', { params: ${capitalizedName}ParamsSchema, body: Update${capitalizedName}Schema })
250
+ async update(@Param('id') id: string, @Body() body: Update${capitalizedName}Dto) {
251
+ const item = await this.service.update(id, body)
252
+ return { success: true, data: item }
253
+ }
254
+
255
+ @Delete('/:id', { params: ${capitalizedName}ParamsSchema })
256
+ async delete(@Param('id') id: string) {
257
+ await this.service.delete(id)
258
+ return { success: true, message: 'Deleted successfully' }
259
+ }
260
+ }
261
+ `
262
+ : `import { controller, route } from 'exisjs/router'
263
+ import * as service from '${serviceFile}'
264
+ import {
265
+ Create${capitalizedName}Schema,
266
+ Update${capitalizedName}Schema,
267
+ ${capitalizedName}ParamsSchema,
268
+ ${capitalizedName}PaginationSchema,
269
+ } from '${schemaFile}'
270
+
271
+ export default controller({
272
+ list: route.get('/', {
273
+ query: ${capitalizedName}PaginationSchema,
274
+ handle: async ({ query }) => {
275
+ const result = await service.get${capitalizedName}s(query)
276
+ return { success: true, ...result }
277
+ },
278
+ }),
279
+
280
+ getById: route.get('/:id', {
281
+ params: ${capitalizedName}ParamsSchema,
282
+ handle: async ({ params }) => {
283
+ const item = await service.get${capitalizedName}ById(params.id)
284
+ if (!item) return { success: false, error: 'Not found' }
285
+ return { success: true, data: item }
286
+ },
287
+ }),
288
+
289
+ create: route.post('/', {
290
+ body: Create${capitalizedName}Schema,
291
+ handle: async ({ body }) => {
292
+ const item = await service.create${capitalizedName}(body)
293
+ return { success: true, data: item }
294
+ },
295
+ }),
296
+
297
+ update: route.patch('/:id', {
298
+ params: ${capitalizedName}ParamsSchema,
299
+ body: Update${capitalizedName}Schema,
300
+ handle: async ({ params, body }) => {
301
+ const item = await service.update${capitalizedName}(params.id, body)
302
+ return { success: true, data: item }
303
+ },
304
+ }),
305
+
306
+ remove: route.delete('/:id', {
307
+ params: ${capitalizedName}ParamsSchema,
308
+ handle: async ({ params }) => {
309
+ await service.delete${capitalizedName}(params.id)
310
+ return { success: true, message: 'Deleted successfully' }
311
+ },
312
+ }),
313
+ })
314
+ `;
315
+ await promises_1.default.writeFile(node_path_1.default.join(targetDir, routeFilename), routeCode);
316
+ (0, utils_1.success)(`Generated full 4-file CRUD slice in src/http/${name}/ and src/models/${modelFilename} (${routeFilename}, ${schemaFilename}, ${serviceFilename}, ${modelFilename})`);
98
317
  }
318
+ exports.generateCrud = generateResource;
99
319
  async function generatePlugin(name) {
100
320
  const targetDir = node_path_1.default.join(process.cwd(), 'src', 'plugins');
101
321
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../src/cli/commands/generate.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -80,9 +80,12 @@ program
80
80
  .command('routes')
81
81
  .description('Print the application routing table')
82
82
  .option('-e, --entry <file>', 'Custom entry file path')
83
+ .option('-m, --method <method>', 'Filter endpoints by HTTP method (e.g. GET, POST)')
84
+ .option('-f, --filter <keyword>', 'Filter endpoints by path, method, or source')
85
+ .option('--json', 'Output routes as JSON')
83
86
  .action(async (options) => {
84
87
  const { routesCommand } = await Promise.resolve().then(() => __importStar(require('./routes')));
85
- await routesCommand(process.cwd(), options.entry);
88
+ await routesCommand(process.cwd(), options);
86
89
  });
87
90
  // ─── init ─────────────────────────────────────────────────────────────────────
88
91
  program
@@ -133,6 +136,14 @@ program
133
136
  console.log(`${utils_1.c.gray} Arch: ${utils_1.c.reset}${utils_1.c.cyan}${process.arch}${utils_1.c.reset}`);
134
137
  console.log();
135
138
  });
139
+ // ─── doctor ───────────────────────────────────────────────────────────────────
140
+ program
141
+ .command('doctor')
142
+ .description('Diagnose project health, native Rust acceleration, routes, and config')
143
+ .action(async () => {
144
+ const { doctorCommand } = await Promise.resolve().then(() => __importStar(require('./commands/doctor')));
145
+ await doctorCommand();
146
+ });
136
147
  // ─── Default: show banner on bare `exis` ──────────────────────────────────────
137
148
  if (process.argv.length === 2) {
138
149
  (0, utils_1.banner)();
@@ -140,7 +151,9 @@ if (process.argv.length === 2) {
140
151
  console.log(` ${utils_1.c.cyan}exis dev${utils_1.c.reset} Start dev server`);
141
152
  console.log(` ${utils_1.c.cyan}exis build${utils_1.c.reset} Build for production`);
142
153
  console.log(` ${utils_1.c.cyan}exis start${utils_1.c.reset} Start production server`);
154
+ console.log(` ${utils_1.c.cyan}exis routes${utils_1.c.reset} Inspect application routing table`);
143
155
  console.log(` ${utils_1.c.cyan}exis test${utils_1.c.reset} Run test suite`);
156
+ console.log(` ${utils_1.c.cyan}exis doctor${utils_1.c.reset} Run project health and environment diagnostics`);
144
157
  console.log(` ${utils_1.c.cyan}exis info${utils_1.c.reset} Show environment info`);
145
158
  console.log(` ${utils_1.c.cyan}exis init${utils_1.c.reset} Initialize a project in current directory`);
146
159
  console.log(` ${utils_1.c.cyan}exis exports${utils_1.c.reset} List all available framework exports`);
@@ -153,17 +166,22 @@ program
153
166
  .command('generate')
154
167
  .alias('g')
155
168
  .description('Generate new features')
156
- .argument('<type>', 'Type to generate (resource|route|controller|service|schema|boundary|plugin|middleware|test)')
169
+ .argument('<type>', 'Type to generate (resource|crud|route|controller|service|schema|model|boundary|plugin|middleware|test)')
157
170
  .argument('[name]', 'Name of the feature')
158
171
  .option('--oop', 'Generate using Class-Based (OOP) paradigm instead of Functional')
172
+ .option('-n, --named', 'Prefix filenames with the feature name (e.g. user.route.ts, user.schema.ts)')
159
173
  .action(async (type, name, options) => {
160
- const { generateResource, generateController, generateService, generateSchema, generateBoundary, generatePlugin, generateMiddleware, generateTest, } = await Promise.resolve().then(() => __importStar(require('./commands/generate')));
174
+ const { generateCrud, generateModel, generateController, generateService, generateSchema, generateBoundary, generatePlugin, generateMiddleware, generateTest, } = await Promise.resolve().then(() => __importStar(require('./commands/generate')));
161
175
  if (!name)
162
176
  return console.error('Name is required');
163
177
  const cwd = process.cwd();
164
178
  switch (type) {
165
179
  case 'resource':
166
- await generateResource(name, cwd, options);
180
+ case 'crud':
181
+ await generateCrud(name, cwd, options);
182
+ break;
183
+ case 'model':
184
+ await generateModel(name, cwd, options);
167
185
  break;
168
186
  case 'route':
169
187
  case 'controller':
@@ -196,7 +214,7 @@ program
196
214
  await generateTest(name);
197
215
  break;
198
216
  default:
199
- console.error('Unknown type. Supported: resource, route, controller, service, schema, boundary, plugin, middleware, test');
217
+ console.error('Unknown type. Supported: resource, crud, route, controller, service, schema, model, boundary, plugin, middleware, test');
200
218
  }
201
219
  });
202
220
  program.parse(process.argv);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"AAIA,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CA8Hf;AAqCD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhE"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"AAIA,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,UAAQ,GACZ,OAAO,CAAC,IAAI,CAAC,CAiIf;AAqCD,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiEhE"}
@@ -68,7 +68,9 @@ async function generateManifest(cwd, outDir, isDev = false) {
68
68
  return;
69
69
  }
70
70
  const routes = await scanDirectory(apiDir, '/');
71
- const validRoutes = routes.filter((r) => r.filePath.endsWith('route.ts') || r.filePath.endsWith('route.js'));
71
+ const validRoutes = routes.filter((r) => r.filePath.endsWith('route.ts') ||
72
+ r.filePath.endsWith('route.js') ||
73
+ /\.route\.[jt]s$/.test(r.filePath));
72
74
  let importLines = '';
73
75
  let exportLines = 'export const manifest = [\n';
74
76
  let typeImportLines = '';
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/cli/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-aliases.d.ts","sourceRoot":"","sources":["../../src/cli/resolve-aliases.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CA2CxD;AAMD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA+BzD;AA+ID;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA8CjB"}
1
+ {"version":3,"file":"resolve-aliases.d.ts","sourceRoot":"","sources":["../../src/cli/resolve-aliases.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAA;IACd,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,EAAE,CAsDxD;AAMD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA+BzD;AA+ID;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA8CjB"}
@@ -15,43 +15,49 @@ const node_module_1 = __importDefault(require("node:module"));
15
15
  */
16
16
  function parseAliases(cwd) {
17
17
  const tsconfigPath = node_path_1.default.join(cwd, 'tsconfig.json');
18
- if (!node_fs_1.default.existsSync(tsconfigPath))
19
- return [];
18
+ const defaultSrcDir = node_path_1.default.join(cwd, 'src');
20
19
  let tsconfig;
21
- try {
22
- // Strip comments from tsconfig (JSON with comments)
23
- const raw = node_fs_1.default.readFileSync(tsconfigPath, 'utf-8');
24
- const tokenizer = /"([^"\\]|\\.)*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g;
25
- const stripped = raw.replace(tokenizer, (match, stringContent, comment) => {
26
- if (comment)
27
- return '';
28
- return match;
29
- });
30
- tsconfig = JSON.parse(stripped);
31
- }
32
- catch {
33
- return [];
20
+ if (node_fs_1.default.existsSync(tsconfigPath)) {
21
+ try {
22
+ // Strip comments from tsconfig (JSON with comments)
23
+ const raw = node_fs_1.default.readFileSync(tsconfigPath, 'utf-8');
24
+ const tokenizer = /"([^"\\]|\\.)*"|(\/\/.*|\/\*[\s\S]*?\*\/)/g;
25
+ const stripped = raw.replace(tokenizer, (match, stringContent, comment) => {
26
+ if (comment)
27
+ return '';
28
+ return match;
29
+ });
30
+ tsconfig = JSON.parse(stripped);
31
+ }
32
+ catch {
33
+ /* ignore */
34
+ }
34
35
  }
35
36
  const paths = tsconfig?.compilerOptions?.paths;
36
- if (!paths || typeof paths !== 'object')
37
- return [];
38
37
  const baseUrl = tsconfig?.compilerOptions?.baseUrl || '.';
39
38
  const baseDir = node_path_1.default.resolve(cwd, baseUrl);
40
39
  const aliases = [];
41
- for (const [aliasPattern, targets] of Object.entries(paths)) {
42
- // We only handle wildcard patterns like "@/*" -> ["./src/*"]
43
- if (!aliasPattern.endsWith('/*'))
44
- continue;
45
- const targetArray = targets;
46
- if (!targetArray?.length)
47
- continue;
48
- const firstTarget = targetArray[0];
49
- if (!firstTarget.endsWith('/*'))
50
- continue;
51
- const prefix = aliasPattern.slice(0, -1); // "@/*" -> "@/"
52
- const targetRelative = firstTarget.slice(0, -1); // "./src/*" -> "./src/"
53
- const targetDir = node_path_1.default.resolve(baseDir, targetRelative);
54
- aliases.push({ prefix, targetDir });
40
+ if (paths && typeof paths === 'object') {
41
+ for (const [aliasPattern, targets] of Object.entries(paths)) {
42
+ // We only handle wildcard patterns like "@/*" -> ["./src/*"]
43
+ if (!aliasPattern.endsWith('/*'))
44
+ continue;
45
+ const targetArray = targets;
46
+ if (!targetArray?.length)
47
+ continue;
48
+ const firstTarget = targetArray[0];
49
+ if (!firstTarget.endsWith('/*'))
50
+ continue;
51
+ const prefix = aliasPattern.slice(0, -1); // "@/*" -> "@/"
52
+ const targetRelative = firstTarget.slice(0, -1); // "./src/*" -> "./src/"
53
+ const targetDir = node_path_1.default.resolve(baseDir, targetRelative);
54
+ aliases.push({ prefix, targetDir });
55
+ }
56
+ }
57
+ // Automatic first-party default: '@/' -> '<cwd>/src/' if not explicitly overridden
58
+ const hasAtAlias = aliases.some((a) => a.prefix === '@/');
59
+ if (!hasAtAlias && node_fs_1.default.existsSync(defaultSrcDir)) {
60
+ aliases.push({ prefix: '@/', targetDir: defaultSrcDir });
55
61
  }
56
62
  return aliases;
57
63
  }