nestjs-ddd-cli 1.0.1 → 2.0.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/dist/commands/generate-all.d.ts +0 -1
- package/dist/commands/generate-entity.d.ts +0 -1
- package/dist/commands/generate-module.d.ts +0 -1
- package/dist/commands/generate-usecase.d.ts +0 -1
- package/dist/index-old.d.ts +2 -0
- package/dist/index-old.js +72 -0
- package/dist/index-old.js.map +1 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/utils/file.utils.d.ts +0 -1
- package/dist/utils/naming.utils.d.ts +0 -1
- package/package.json +51 -5
- package/dist/commands/generate-all.d.ts.map +0 -1
- package/dist/commands/generate-entity.d.ts.map +0 -1
- package/dist/commands/generate-module.d.ts.map +0 -1
- package/dist/commands/generate-usecase.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/utils/file.utils.d.ts.map +0 -1
- package/dist/utils/naming.utils.d.ts.map +0 -1
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const generate_module_1 = require("./commands/generate-module");
|
|
10
|
+
const generate_entity_1 = require("./commands/generate-entity");
|
|
11
|
+
const generate_usecase_1 = require("./commands/generate-usecase");
|
|
12
|
+
const generate_all_1 = require("./commands/generate-all");
|
|
13
|
+
const program = new commander_1.Command();
|
|
14
|
+
program
|
|
15
|
+
.name('ddd')
|
|
16
|
+
.description('CLI for generating NestJS DDD boilerplate code')
|
|
17
|
+
.version('1.0.0');
|
|
18
|
+
program
|
|
19
|
+
.command('generate <type> <name>')
|
|
20
|
+
.alias('g')
|
|
21
|
+
.description('Generate boilerplate code')
|
|
22
|
+
.option('-m, --module <module>', 'Module name')
|
|
23
|
+
.option('-p, --path <path>', 'Base path for generation', process.cwd())
|
|
24
|
+
.option('--skip-orm', 'Skip ORM entity generation')
|
|
25
|
+
.option('--skip-mapper', 'Skip mapper generation')
|
|
26
|
+
.option('--skip-repo', 'Skip repository generation')
|
|
27
|
+
.option('--with-events', 'Include domain events')
|
|
28
|
+
.option('--with-queries', 'Include query handlers')
|
|
29
|
+
.action(async (type, name, options) => {
|
|
30
|
+
try {
|
|
31
|
+
switch (type.toLowerCase()) {
|
|
32
|
+
case 'module':
|
|
33
|
+
await (0, generate_module_1.generateModule)(name, options);
|
|
34
|
+
break;
|
|
35
|
+
case 'entity':
|
|
36
|
+
await (0, generate_entity_1.generateEntity)(name, options);
|
|
37
|
+
break;
|
|
38
|
+
case 'usecase':
|
|
39
|
+
case 'use-case':
|
|
40
|
+
await (0, generate_usecase_1.generateUseCase)(name, options);
|
|
41
|
+
break;
|
|
42
|
+
case 'all':
|
|
43
|
+
await (0, generate_all_1.generateAll)(name, options);
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
console.error(chalk_1.default.red(`Unknown type: ${type}`));
|
|
47
|
+
console.log(chalk_1.default.yellow('Available types: module, entity, usecase, all'));
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error(chalk_1.default.red('Error:'), error.message);
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
program
|
|
57
|
+
.command('scaffold <entityName>')
|
|
58
|
+
.alias('s')
|
|
59
|
+
.description('Generate complete CRUD scaffolding for an entity')
|
|
60
|
+
.option('-m, --module <module>', 'Module name (will be created if not exists)')
|
|
61
|
+
.option('-p, --path <path>', 'Base path for generation', process.cwd())
|
|
62
|
+
.action(async (entityName, options) => {
|
|
63
|
+
try {
|
|
64
|
+
await (0, generate_all_1.generateAll)(entityName, { ...options, complete: true });
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.error(chalk_1.default.red('Error:'), error.message);
|
|
68
|
+
process.exit(1);
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
program.parse();
|
|
72
|
+
//# sourceMappingURL=index-old.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-old.js","sourceRoot":"","sources":["../src/index-old.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -24,4 +24,3 @@ export declare function readTemplate(templatePath: string): Promise<string>;
|
|
|
24
24
|
export declare function compileTemplate(template: string, data: TemplateData): string;
|
|
25
25
|
export declare function generateFromTemplate(templatePath: string, outputPath: string, data: TemplateData): Promise<void>;
|
|
26
26
|
export declare function getModulePath(basePath: string, moduleName: string): string;
|
|
27
|
-
//# sourceMappingURL=file.utils.d.ts.map
|
|
@@ -5,4 +5,3 @@ export declare function toSnakeCase(str: string): string;
|
|
|
5
5
|
export declare function toPlural(str: string): string;
|
|
6
6
|
export declare function toSingular(str: string): string;
|
|
7
7
|
export declare function toTableName(entityName: string): string;
|
|
8
|
-
//# sourceMappingURL=naming.utils.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nestjs-ddd-cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "CLI for generating NestJS DDD boilerplate code",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"ddd": "./dist/index.js"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
10
|
-
"build": "tsc && cp -r src/templates dist/",
|
|
10
|
+
"build": "tsc -p tsconfig.build.json && cp -r src/templates dist/",
|
|
11
|
+
"build:watch": "tsc --watch",
|
|
11
12
|
"dev": "ts-node src/index.ts",
|
|
12
13
|
"link": "npm run build && npm link",
|
|
13
14
|
"unlink": "npm unlink -g nestjs-ddd-cli",
|
|
14
15
|
"prepublishOnly": "npm run clean && npm run build",
|
|
15
|
-
"clean": "rm -rf dist",
|
|
16
|
-
"test": "
|
|
16
|
+
"clean": "rm -rf dist coverage",
|
|
17
|
+
"test": "jest",
|
|
18
|
+
"test:watch": "jest --watch",
|
|
19
|
+
"test:cov": "jest --coverage",
|
|
20
|
+
"test:e2e": "jest --config ./jest.e2e.config.js",
|
|
21
|
+
"lint": "eslint src --ext .ts",
|
|
22
|
+
"lint:fix": "eslint src --ext .ts --fix",
|
|
23
|
+
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
24
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
25
|
+
"typecheck": "tsc --noEmit",
|
|
26
|
+
"prepare": "husky"
|
|
17
27
|
},
|
|
18
28
|
"keywords": [
|
|
19
29
|
"nestjs",
|
|
@@ -48,18 +58,54 @@
|
|
|
48
58
|
"dependencies": {
|
|
49
59
|
"@nestjs/cqrs": "^11.0.3",
|
|
50
60
|
"chalk": "^4.1.2",
|
|
61
|
+
"cli-spinners": "^3.2.0",
|
|
51
62
|
"commander": "^11.1.0",
|
|
63
|
+
"cosmiconfig": "^9.0.0",
|
|
64
|
+
"dotenv": "^17.2.1",
|
|
65
|
+
"figlet": "^1.8.2",
|
|
52
66
|
"fs-extra": "^11.2.0",
|
|
53
67
|
"handlebars": "^4.7.8",
|
|
54
68
|
"inquirer": "^8.2.6",
|
|
55
|
-
"
|
|
69
|
+
"joi": "^18.0.0",
|
|
70
|
+
"ora": "^8.2.0",
|
|
71
|
+
"pluralize": "^8.0.0",
|
|
72
|
+
"yargs": "^17.7.2"
|
|
56
73
|
},
|
|
57
74
|
"devDependencies": {
|
|
75
|
+
"@jest/globals": "^30.0.5",
|
|
76
|
+
"@semantic-release/changelog": "^6.0.3",
|
|
77
|
+
"@semantic-release/git": "^10.0.1",
|
|
78
|
+
"@semantic-release/github": "^11.0.3",
|
|
79
|
+
"@semantic-release/npm": "^12.0.2",
|
|
80
|
+
"@types/figlet": "^1.7.0",
|
|
58
81
|
"@types/fs-extra": "^11.0.4",
|
|
59
82
|
"@types/inquirer": "^9.0.7",
|
|
83
|
+
"@types/jest": "^30.0.0",
|
|
60
84
|
"@types/node": "^20.10.5",
|
|
61
85
|
"@types/pluralize": "^0.0.33",
|
|
86
|
+
"@typescript-eslint/eslint-plugin": "^8.39.0",
|
|
87
|
+
"@typescript-eslint/parser": "^8.39.0",
|
|
88
|
+
"eslint": "^9.33.0",
|
|
89
|
+
"eslint-config-prettier": "^10.1.8",
|
|
90
|
+
"eslint-plugin-jest": "^28.14.0",
|
|
91
|
+
"eslint-plugin-prettier": "^5.5.4",
|
|
92
|
+
"husky": "^9.1.7",
|
|
93
|
+
"jest": "^30.0.5",
|
|
94
|
+
"lint-staged": "^15.5.2",
|
|
95
|
+
"prettier": "^3.6.2",
|
|
96
|
+
"semantic-release": "^24.2.7",
|
|
97
|
+
"ts-jest": "^29.4.1",
|
|
62
98
|
"ts-node": "^10.9.2",
|
|
63
99
|
"typescript": "^5.3.3"
|
|
100
|
+
},
|
|
101
|
+
"lint-staged": {
|
|
102
|
+
"*.ts": [
|
|
103
|
+
"eslint --fix",
|
|
104
|
+
"prettier --write",
|
|
105
|
+
"jest --bail --findRelatedTests"
|
|
106
|
+
],
|
|
107
|
+
"*.{json,md,yml,yaml}": [
|
|
108
|
+
"prettier --write"
|
|
109
|
+
]
|
|
64
110
|
}
|
|
65
111
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-all.d.ts","sourceRoot":"","sources":["../../src/commands/generate-all.ts"],"names":[],"mappings":"AAQA,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAqDjE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-entity.d.ts","sourceRoot":"","sources":["../../src/commands/generate-entity.ts"],"names":[],"mappings":"AAKA,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAkEpE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-module.d.ts","sourceRoot":"","sources":["../../src/commands/generate-module.ts"],"names":[],"mappings":"AAKA,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAiDpE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-usecase.d.ts","sourceRoot":"","sources":["../../src/commands/generate-usecase.ts"],"names":[],"mappings":"AAKA,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAiDtE"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"file.utils.d.ts","sourceRoot":"","sources":["../../src/utils/file.utils.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,CAaxF;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOnE;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF;AAED,wBAAsB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,MAAM,CAG5E;AAED,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,IAAI,CAAC,CAIf;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"naming.utils.d.ts","sourceRoot":"","sources":["../../src/utils/naming.utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAItD"}
|