katax-cli 1.0.0 → 1.1.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.
- package/README.md +241 -29
- package/dist/commands/add-endpoint.d.ts +1 -0
- package/dist/commands/add-endpoint.d.ts.map +1 -0
- package/dist/commands/add-endpoint.js +18 -39
- package/dist/commands/add-endpoint.js.map +1 -0
- package/dist/commands/deploy.d.ts +14 -0
- package/dist/commands/deploy.d.ts.map +1 -0
- package/dist/commands/deploy.js +416 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/generate-crud.d.ts +1 -0
- package/dist/commands/generate-crud.d.ts.map +1 -0
- package/dist/commands/generate-crud.js +1 -8
- package/dist/commands/generate-crud.js.map +1 -0
- package/dist/commands/generate-crud.refactored.d.ts +6 -0
- package/dist/commands/generate-crud.refactored.d.ts.map +1 -0
- package/dist/commands/generate-crud.refactored.js +139 -0
- package/dist/commands/generate-crud.refactored.js.map +1 -0
- package/dist/commands/info.d.ts +1 -0
- package/dist/commands/info.d.ts.map +1 -0
- package/dist/commands/info.js +1 -5
- package/dist/commands/info.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +9 -40
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/init.refactored.d.ts +6 -0
- package/dist/commands/init.refactored.d.ts.map +1 -0
- package/dist/commands/init.refactored.js +224 -0
- package/dist/commands/init.refactored.js.map +1 -0
- package/dist/core/errors.d.ts +77 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +130 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/result.d.ts +26 -0
- package/dist/core/result.d.ts.map +1 -0
- package/dist/core/result.js +76 -0
- package/dist/core/result.js.map +1 -0
- package/dist/generators/controller-generator.d.ts +1 -0
- package/dist/generators/controller-generator.d.ts.map +1 -0
- package/dist/generators/controller-generator.js +1 -2
- package/dist/generators/controller-generator.js.map +1 -0
- package/dist/generators/handler-generator.d.ts +1 -0
- package/dist/generators/handler-generator.d.ts.map +1 -0
- package/dist/generators/handler-generator.js +35 -22
- package/dist/generators/handler-generator.js.map +1 -0
- package/dist/generators/route-generator.d.ts +1 -0
- package/dist/generators/route-generator.d.ts.map +1 -0
- package/dist/generators/route-generator.js +1 -2
- package/dist/generators/route-generator.js.map +1 -0
- package/dist/generators/router-updater.d.ts +1 -0
- package/dist/generators/router-updater.d.ts.map +1 -0
- package/dist/generators/router-updater.js +1 -6
- package/dist/generators/router-updater.js.map +1 -0
- package/dist/generators/validator-generator.d.ts +1 -0
- package/dist/generators/validator-generator.d.ts.map +1 -0
- package/dist/generators/validator-generator.improved.d.ts +3 -0
- package/dist/generators/validator-generator.improved.d.ts.map +1 -0
- package/dist/generators/validator-generator.improved.js +184 -0
- package/dist/generators/validator-generator.improved.js.map +1 -0
- package/dist/generators/validator-generator.js +1 -10
- package/dist/generators/validator-generator.js.map +1 -0
- package/dist/index.d.ts +1 -6
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -19
- package/dist/index.js.map +1 -0
- package/dist/services/ast-router-updater.d.ts +16 -0
- package/dist/services/ast-router-updater.d.ts.map +1 -0
- package/dist/services/ast-router-updater.js +130 -0
- package/dist/services/ast-router-updater.js.map +1 -0
- package/dist/services/code-generation.service.d.ts +15 -0
- package/dist/services/code-generation.service.d.ts.map +1 -0
- package/dist/services/code-generation.service.js +110 -0
- package/dist/services/code-generation.service.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +4 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/project-structure-generator.d.ts +30 -0
- package/dist/services/project-structure-generator.d.ts.map +1 -0
- package/dist/services/project-structure-generator.js +884 -0
- package/dist/services/project-structure-generator.js.map +1 -0
- package/dist/templates/base/code-builder.d.ts +34 -0
- package/dist/templates/base/code-builder.d.ts.map +1 -0
- package/dist/templates/base/code-builder.js +154 -0
- package/dist/templates/base/code-builder.js.map +1 -0
- package/dist/templates/base/template-engine.d.ts +28 -0
- package/dist/templates/base/template-engine.d.ts.map +1 -0
- package/dist/templates/base/template-engine.js +47 -0
- package/dist/templates/base/template-engine.js.map +1 -0
- package/dist/templates/generators/controller-template.d.ts +15 -0
- package/dist/templates/generators/controller-template.d.ts.map +1 -0
- package/dist/templates/generators/controller-template.js +185 -0
- package/dist/templates/generators/controller-template.js.map +1 -0
- package/dist/templates/generators/di-container.d.ts +6 -0
- package/dist/templates/generators/di-container.d.ts.map +1 -0
- package/dist/templates/generators/di-container.js +121 -0
- package/dist/templates/generators/di-container.js.map +1 -0
- package/dist/templates/generators/handler-template.d.ts +15 -0
- package/dist/templates/generators/handler-template.d.ts.map +1 -0
- package/dist/templates/generators/handler-template.js +208 -0
- package/dist/templates/generators/handler-template.js.map +1 -0
- package/dist/templates/generators/repository-template.d.ts +23 -0
- package/dist/templates/generators/repository-template.d.ts.map +1 -0
- package/dist/templates/generators/repository-template.js +237 -0
- package/dist/templates/generators/repository-template.js.map +1 -0
- package/dist/templates/generators/response-utils-template.d.ts +2 -0
- package/dist/templates/generators/response-utils-template.d.ts.map +1 -0
- package/dist/templates/generators/response-utils-template.js +112 -0
- package/dist/templates/generators/response-utils-template.js.map +1 -0
- package/dist/templates/generators/test-generator.d.ts +11 -0
- package/dist/templates/generators/test-generator.d.ts.map +1 -0
- package/dist/templates/generators/test-generator.js +206 -0
- package/dist/templates/generators/test-generator.js.map +1 -0
- package/dist/templates/index.d.ts +8 -0
- package/dist/templates/index.d.ts.map +1 -0
- package/dist/templates/index.js +8 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/file-utils.d.ts +1 -30
- package/dist/utils/file-utils.d.ts.map +1 -0
- package/dist/utils/file-utils.js +1 -32
- package/dist/utils/file-utils.js.map +1 -0
- package/dist/utils/logger.d.ts +1 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +1 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +1 -1
- package/dist/database/mongodb.ts +0 -46
- package/dist/database/mysql.ts +0 -26
- package/dist/database/postgresql.ts +0 -52
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import path from 'path';
|
|
2
|
+
import { writeFile, ensureDir } from '../utils/file-utils.js';
|
|
3
|
+
import { RepositoryTemplate } from '../templates/generators/repository-template.js';
|
|
4
|
+
import { ControllerTemplate } from '../templates/generators/controller-template.js';
|
|
5
|
+
import { HandlerTemplate } from '../templates/generators/handler-template.js';
|
|
6
|
+
import { generateValidatorImproved } from '../generators/validator-generator.improved.js';
|
|
7
|
+
import { generateControllerFactory } from '../templates/generators/di-container.js';
|
|
8
|
+
import { generateRoute } from '../generators/route-generator.js';
|
|
9
|
+
import { astRouterUpdater } from './ast-router-updater.js';
|
|
10
|
+
import { info, gray } from '../utils/logger.js';
|
|
11
|
+
export class CodeGenerationService {
|
|
12
|
+
async generateEndpoint(config, projectPath, database) {
|
|
13
|
+
const basePath = path.join(projectPath, 'src', 'api', config.name.toLowerCase());
|
|
14
|
+
await ensureDir(basePath);
|
|
15
|
+
const files = {
|
|
16
|
+
controller: '',
|
|
17
|
+
handler: '',
|
|
18
|
+
routes: ''
|
|
19
|
+
};
|
|
20
|
+
info(`Generating endpoint: ${config.name}`);
|
|
21
|
+
if (config.addValidation) {
|
|
22
|
+
const validatorPath = path.join(basePath, `${config.name.toLowerCase()}.validator.ts`);
|
|
23
|
+
const validatorContent = generateValidatorImproved(config);
|
|
24
|
+
await writeFile(validatorPath, validatorContent);
|
|
25
|
+
files.validator = validatorPath;
|
|
26
|
+
info(`✓ Generated validator`);
|
|
27
|
+
}
|
|
28
|
+
if (database && config.fields && config.fields.length > 0) {
|
|
29
|
+
const repositoryConfig = {
|
|
30
|
+
name: config.name,
|
|
31
|
+
tableName: `${config.name.toLowerCase()}s`,
|
|
32
|
+
fields: config.fields,
|
|
33
|
+
database,
|
|
34
|
+
idType: 'uuid'
|
|
35
|
+
};
|
|
36
|
+
const repositoryTemplate = new RepositoryTemplate(repositoryConfig);
|
|
37
|
+
const repositoryPath = path.join(basePath, `${config.name.toLowerCase()}.repository.ts`);
|
|
38
|
+
const repositoryContent = repositoryTemplate.generate();
|
|
39
|
+
await writeFile(repositoryPath, repositoryContent);
|
|
40
|
+
files.repository = repositoryPath;
|
|
41
|
+
info(`✓ Generated repository`);
|
|
42
|
+
}
|
|
43
|
+
const controllerTemplate = new ControllerTemplate(config);
|
|
44
|
+
const controllerPath = path.join(basePath, `${config.name.toLowerCase()}.controller.ts`);
|
|
45
|
+
const controllerContent = controllerTemplate.generate();
|
|
46
|
+
await writeFile(controllerPath, controllerContent);
|
|
47
|
+
files.controller = controllerPath;
|
|
48
|
+
info(`✓ Generated controller`);
|
|
49
|
+
const handlerTemplate = new HandlerTemplate(config);
|
|
50
|
+
const handlerPath = path.join(basePath, `${config.name.toLowerCase()}.handler.ts`);
|
|
51
|
+
const handlerContent = handlerTemplate.generate();
|
|
52
|
+
await writeFile(handlerPath, handlerContent);
|
|
53
|
+
files.handler = handlerPath;
|
|
54
|
+
info(`✓ Generated handler`);
|
|
55
|
+
const routesPath = path.join(basePath, `${config.name.toLowerCase()}.routes.ts`);
|
|
56
|
+
const routesContent = generateRoute(config);
|
|
57
|
+
await writeFile(routesPath, routesContent);
|
|
58
|
+
files.routes = routesPath;
|
|
59
|
+
info(`✓ Generated routes`);
|
|
60
|
+
if (database && config.fields && config.fields.length > 0) {
|
|
61
|
+
const factoryPath = path.join(basePath, `${config.name.toLowerCase()}.factory.ts`);
|
|
62
|
+
const factoryContent = generateControllerFactory(config.name);
|
|
63
|
+
await writeFile(factoryPath, factoryContent);
|
|
64
|
+
info(`✓ Generated controller factory`);
|
|
65
|
+
}
|
|
66
|
+
await this.updateMainRouter(projectPath, config);
|
|
67
|
+
info(`✓ Updated main router`);
|
|
68
|
+
return files;
|
|
69
|
+
}
|
|
70
|
+
async generateCRUD(resourceName, fields, projectPath, database, addAuth = false) {
|
|
71
|
+
info(`Generating CRUD for: ${resourceName}`);
|
|
72
|
+
const operations = [
|
|
73
|
+
{ name: `${resourceName}`, method: 'POST', path: `/api/${resourceName.toLowerCase()}` },
|
|
74
|
+
{ name: `${resourceName}`, method: 'GET', path: `/api/${resourceName.toLowerCase()}` },
|
|
75
|
+
{ name: `${resourceName}`, method: 'PUT', path: `/api/${resourceName.toLowerCase()}/:id` },
|
|
76
|
+
{ name: `${resourceName}`, method: 'DELETE', path: `/api/${resourceName.toLowerCase()}/:id` }
|
|
77
|
+
];
|
|
78
|
+
for (const operation of operations) {
|
|
79
|
+
const config = {
|
|
80
|
+
name: resourceName,
|
|
81
|
+
method: operation.method,
|
|
82
|
+
path: operation.path,
|
|
83
|
+
addValidation: true,
|
|
84
|
+
fields,
|
|
85
|
+
addAsyncValidators: false
|
|
86
|
+
};
|
|
87
|
+
await this.generateEndpoint(config, projectPath, database);
|
|
88
|
+
}
|
|
89
|
+
info(`✓ CRUD generation complete`);
|
|
90
|
+
}
|
|
91
|
+
async updateMainRouter(projectPath, config) {
|
|
92
|
+
const routesFilePath = path.join(projectPath, 'src', 'api', 'routes.ts');
|
|
93
|
+
const routerName = `${config.name.toLowerCase()}Router`;
|
|
94
|
+
const importPath = `./${config.name.toLowerCase()}/${config.name.toLowerCase()}.routes.js`;
|
|
95
|
+
const routePath = config.path.replace(/^\/api/, '') || `/${config.name.toLowerCase()}`;
|
|
96
|
+
const importExists = await astRouterUpdater.importExists(routesFilePath, routerName);
|
|
97
|
+
const routeExists = await astRouterUpdater.routeExists(routesFilePath, routePath);
|
|
98
|
+
if (importExists && routeExists) {
|
|
99
|
+
gray(`Route ${routePath} already exists, skipping...`);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
await astRouterUpdater.addRoute(routesFilePath, {
|
|
103
|
+
routerName,
|
|
104
|
+
importPath,
|
|
105
|
+
routePath
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
export const codeGenerationService = new CodeGenerationService();
|
|
110
|
+
//# sourceMappingURL=code-generation.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-generation.service.js","sourceRoot":"","sources":["../../src/services/code-generation.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAIA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAIA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ProjectConfig } from '../types/index.js';
|
|
2
|
+
export declare class ProjectStructureGenerator {
|
|
3
|
+
private projectPath;
|
|
4
|
+
private config;
|
|
5
|
+
constructor(projectPath: string, config: ProjectConfig);
|
|
6
|
+
generate(): Promise<void>;
|
|
7
|
+
private createDirectories;
|
|
8
|
+
private generateIndexFile;
|
|
9
|
+
private generateAppFile;
|
|
10
|
+
private generateRoutesFile;
|
|
11
|
+
private generateResultTypes;
|
|
12
|
+
private generateErrorTypes;
|
|
13
|
+
private generateLoggerUtils;
|
|
14
|
+
private generateResponseUtils;
|
|
15
|
+
private generatePackageJson;
|
|
16
|
+
private generateTsConfig;
|
|
17
|
+
private generateEnvFile;
|
|
18
|
+
private generateGitIgnore;
|
|
19
|
+
private generateGitAttributes;
|
|
20
|
+
private generateCorsConfig;
|
|
21
|
+
private generateEnvValidator;
|
|
22
|
+
private generateErrorMiddleware;
|
|
23
|
+
private generateLoggerMiddleware;
|
|
24
|
+
private generateJwtUtils;
|
|
25
|
+
private generateDatabaseConnection;
|
|
26
|
+
private generateDIContainer;
|
|
27
|
+
private generateHelloExample;
|
|
28
|
+
private generateHealthCheck;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=project-structure-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-structure-generator.d.ts","sourceRoot":"","sources":["../../src/services/project-structure-generator.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,qBAAa,yBAAyB;IACxB,OAAO,CAAC,WAAW;IAAU,OAAO,CAAC,MAAM;gBAAnC,WAAW,EAAE,MAAM,EAAU,MAAM,EAAE,aAAa;IAKhE,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAiDjB,iBAAiB;YAqBjB,iBAAiB;YA4BjB,eAAe;YA2Cf,kBAAkB;YAwBlB,mBAAmB;YAkCnB,kBAAkB;YAwClB,mBAAmB;YA8BnB,qBAAqB;YAYrB,mBAAmB;YAoDnB,gBAAgB;YAyChB,eAAe;YAkCf,iBAAiB;YAejB,qBAAqB;YAarB,kBAAkB;YA2BlB,oBAAoB;YAkDpB,uBAAuB;YA+BvB,wBAAwB;YAkCxB,gBAAgB;YA0ChB,0BAA0B;YAiO1B,mBAAmB;YAiBnB,oBAAoB;YAkHpB,mBAAmB;CA4DlC"}
|