nestjs-ddd-cli 2.1.0 → 2.2.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 CHANGED
@@ -6,6 +6,11 @@ Stop writing boilerplate. Start building business logic.
6
6
 
7
7
  Generate production-ready NestJS code following proven DDD/CQRS patterns with consistent structure and immutable architecture principles.
8
8
 
9
+ ✨ **New Features**:
10
+ - Initialize new NestJS projects with DDD structure
11
+ - Self-update functionality to keep the CLI up to date
12
+ - Dependency management to check and update project dependencies
13
+
9
14
  ## Installation
10
15
 
11
16
  **From NPM (Recommended):**
@@ -24,6 +29,43 @@ npm link
24
29
 
25
30
  ## Usage
26
31
 
32
+ ### Initialize a New NestJS Project
33
+
34
+ Create a new NestJS project with DDD structure:
35
+
36
+ ```bash
37
+ ddd init my-project
38
+ ```
39
+
40
+ Options:
41
+ - `-p, --path <path>` - Path where the project will be created
42
+ - `--skip-install` - Skip dependency installation
43
+ - `--skip-update` - Skip CLI update check
44
+ - `--with-ddd` - Set up DDD folder structure and install required dependencies (default: true)
45
+
46
+ ### Update the CLI
47
+
48
+ Update the CLI to the latest version:
49
+
50
+ ```bash
51
+ ddd update
52
+ ```
53
+
54
+ Options:
55
+ - `-f, --force` - Force update even if already on latest version
56
+
57
+ ### Update Project Dependencies
58
+
59
+ Check and update project dependencies:
60
+
61
+ ```bash
62
+ ddd update-deps
63
+ ```
64
+
65
+ Options:
66
+ - `-p, --path <path>` - Path to the project (default: current directory)
67
+ - `-a, --all` - Update all outdated dependencies without prompting
68
+
27
69
  ### Generate Complete Scaffolding
28
70
 
29
71
  Generate all files for a new entity (entity, repository, mapper, use cases, controller, etc.):
@@ -32,6 +74,11 @@ Generate all files for a new entity (entity, repository, mapper, use cases, cont
32
74
  ddd scaffold Product -m inventory
33
75
  ```
34
76
 
77
+ Options:
78
+ - `-m, --module <module>` - Module name (will be created if not exists)
79
+ - `-p, --path <path>` - Base path for generation
80
+ - `--install-deps` - Install required dependencies
81
+
35
82
  ### Generate Individual Components
36
83
 
37
84
  ```bash
@@ -44,8 +44,14 @@ const generate_entity_1 = require("./generate-entity");
44
44
  const generate_usecase_1 = require("./generate-usecase");
45
45
  const file_utils_1 = require("../utils/file.utils");
46
46
  const naming_utils_1 = require("../utils/naming.utils");
47
+ const dependency_utils_1 = require("../utils/dependency.utils");
47
48
  async function generateAll(entityName, options) {
48
49
  console.log(chalk_1.default.blue(`🚀 Generating complete scaffolding for: ${entityName}`));
50
+ // Check if we need to install dependencies
51
+ const requiredDeps = ['@nestjs/cqrs', 'class-validator', 'class-transformer'];
52
+ if (options.installDeps) {
53
+ await (0, dependency_utils_1.installDependencies)(options.path || process.cwd(), requiredDeps);
54
+ }
49
55
  const moduleName = options.module || entityName;
50
56
  const basePath = options.path || process.cwd();
51
57
  const modulePath = (0, file_utils_1.getModulePath)(basePath, moduleName);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-all.js","sourceRoot":"","sources":["../../src/commands/generate-all.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-all.js","sourceRoot":"","sources":["../../src/commands/generate-all.ts"],"names":[],"mappings":"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"}
@@ -41,8 +41,14 @@ const path = __importStar(require("path"));
41
41
  const chalk_1 = __importDefault(require("chalk"));
42
42
  const file_utils_1 = require("../utils/file.utils");
43
43
  const naming_utils_1 = require("../utils/naming.utils");
44
+ const dependency_utils_1 = require("../utils/dependency.utils");
44
45
  async function generateModule(moduleName, options) {
45
46
  console.log(chalk_1.default.blue(`Generating module: ${moduleName}`));
47
+ // Check if we need to install dependencies
48
+ const requiredDeps = ['@nestjs/cqrs'];
49
+ if (options.installDeps) {
50
+ await (0, dependency_utils_1.installDependencies)(options.path || process.cwd(), requiredDeps);
51
+ }
46
52
  const basePath = options.path || process.cwd();
47
53
  const modulePath = (0, file_utils_1.getModulePath)(basePath, moduleName);
48
54
  // Create module directory structure
@@ -1 +1 @@
1
- {"version":3,"file":"generate-module.js","sourceRoot":"","sources":["../../src/commands/generate-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-module.js","sourceRoot":"","sources":["../../src/commands/generate-module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface InitProjectOptions {
2
+ path?: string;
3
+ skipInstall?: boolean;
4
+ skipUpdate?: boolean;
5
+ withDdd?: boolean;
6
+ }
7
+ export declare function initProject(projectName: string, options: InitProjectOptions): Promise<void>;
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.initProject = initProject;
40
+ const path = __importStar(require("path"));
41
+ const inquirer_1 = __importDefault(require("inquirer"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ const dependency_utils_1 = require("../utils/dependency.utils");
44
+ async function initProject(projectName, options) {
45
+ try {
46
+ // First, check for CLI updates if not skipped
47
+ if (!options.skipUpdate) {
48
+ const { needsUpdate, latestVersion, currentVersion } = await (0, dependency_utils_1.checkForCliUpdate)();
49
+ if (needsUpdate) {
50
+ console.log(chalk_1.default.yellow(`You are using nestjs-ddd-cli version ${currentVersion}, but version ${latestVersion} is available.`));
51
+ const { shouldUpdate } = await inquirer_1.default.prompt([
52
+ {
53
+ type: 'confirm',
54
+ name: 'shouldUpdate',
55
+ message: 'Would you like to update the CLI before continuing?',
56
+ default: true,
57
+ },
58
+ ]);
59
+ if (shouldUpdate) {
60
+ await (0, dependency_utils_1.updatePackageGlobally)('nestjs-ddd-cli');
61
+ console.log(chalk_1.default.green('CLI updated successfully! Please run your command again.'));
62
+ process.exit(0);
63
+ }
64
+ }
65
+ }
66
+ // Determine the project directory
67
+ const projectDir = options.path ? path.resolve(options.path, projectName) : path.resolve(process.cwd(), projectName);
68
+ // Create a new NestJS project
69
+ await (0, dependency_utils_1.createNestJSProject)(projectName, {
70
+ directory: options.path,
71
+ skipInstall: options.skipInstall,
72
+ });
73
+ // If withDdd option is enabled, install DDD-related dependencies
74
+ if (options.withDdd) {
75
+ const dependencies = ['@nestjs/cqrs', 'class-validator', 'class-transformer'];
76
+ await (0, dependency_utils_1.installDependencies)(projectDir, dependencies);
77
+ // Create DDD folder structure
78
+ console.log(chalk_1.default.blue('Setting up DDD folder structure...'));
79
+ // We'll use the generate-module command to create the initial module structure
80
+ // This will be implemented in the main CLI entry point
81
+ console.log(chalk_1.default.green('✅ DDD folder structure set up successfully!'));
82
+ }
83
+ console.log(chalk_1.default.green(`\n✅ Project ${projectName} initialized successfully!`));
84
+ console.log(chalk_1.default.blue(`\nNext steps:`));
85
+ console.log(chalk_1.default.blue(` 1. cd ${projectName}`));
86
+ console.log(chalk_1.default.blue(` 2. npm run start:dev`));
87
+ if (options.withDdd) {
88
+ console.log(chalk_1.default.blue(`\nTo generate DDD components, use:`));
89
+ console.log(chalk_1.default.blue(` ddd generate module <module-name>`));
90
+ console.log(chalk_1.default.blue(` ddd generate entity <entity-name> --module <module-name>`));
91
+ console.log(chalk_1.default.blue(` ddd generate usecase <usecase-name> --module <module-name>`));
92
+ }
93
+ }
94
+ catch (error) {
95
+ console.error(chalk_1.default.red('Error:'), error.message);
96
+ process.exit(1);
97
+ }
98
+ }
99
+ //# sourceMappingURL=init-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-project.js","sourceRoot":"","sources":["../../src/commands/init-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface UpdateCliOptions {
2
+ force?: boolean;
3
+ }
4
+ export declare function updateCli(options?: UpdateCliOptions): Promise<void>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateCli = updateCli;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const dependency_utils_1 = require("../utils/dependency.utils");
9
+ async function updateCli(options = {}) {
10
+ try {
11
+ console.log(chalk_1.default.blue('Checking for CLI updates...'));
12
+ const { needsUpdate, latestVersion, currentVersion } = await (0, dependency_utils_1.checkForCliUpdate)();
13
+ if (needsUpdate || options.force) {
14
+ console.log(chalk_1.default.yellow(`You are using nestjs-ddd-cli version ${currentVersion}, updating to version ${latestVersion}...`));
15
+ await (0, dependency_utils_1.updatePackageGlobally)('nestjs-ddd-cli');
16
+ console.log(chalk_1.default.green('✅ CLI updated successfully!'));
17
+ }
18
+ else {
19
+ console.log(chalk_1.default.green(`✅ You are already using the latest version (${currentVersion})!`));
20
+ }
21
+ }
22
+ catch (error) {
23
+ console.error(chalk_1.default.red('Error:'), error.message);
24
+ process.exit(1);
25
+ }
26
+ }
27
+ //# sourceMappingURL=update-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-cli.js","sourceRoot":"","sources":["../../src/commands/update-cli.ts"],"names":[],"mappings":";;;;;AAUA,8BAsBC;AAhCD,kDAA0B;AAC1B,gEAGmC;AAM5B,KAAK,UAAU,SAAS,CAAC,UAA4B,EAAE;IAC5D,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAEvD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,oCAAiB,GAAE,CAAC;QAEjF,IAAI,WAAW,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,wCAAwC,cAAc,yBAAyB,aAAa,KAAK,CAClG,CACF,CAAC;YAEF,MAAM,IAAA,wCAAqB,EAAC,gBAAgB,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,+CAA+C,cAAc,IAAI,CAAC,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export interface UpdateDepsOptions {
2
+ path?: string;
3
+ all?: boolean;
4
+ }
5
+ export declare function updateDeps(options?: UpdateDepsOptions): Promise<void>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateDeps = updateDeps;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const dependency_utils_1 = require("../utils/dependency.utils");
10
+ async function updateDeps(options = {}) {
11
+ try {
12
+ const projectPath = options.path || process.cwd();
13
+ console.log(chalk_1.default.blue('Checking for outdated dependencies...'));
14
+ const outdatedDeps = await (0, dependency_utils_1.checkOutdatedDependencies)(projectPath);
15
+ const outdatedPackages = Object.keys(outdatedDeps);
16
+ if (outdatedPackages.length === 0) {
17
+ console.log(chalk_1.default.green('✅ All dependencies are up to date!'));
18
+ return;
19
+ }
20
+ console.log(chalk_1.default.yellow(`Found ${outdatedPackages.length} outdated dependencies:`));
21
+ for (const pkg of outdatedPackages) {
22
+ const info = outdatedDeps[pkg];
23
+ if (info) {
24
+ const { current, latest, type } = info;
25
+ console.log(chalk_1.default.yellow(` ${pkg}: ${current} → ${latest} (${type})`));
26
+ }
27
+ }
28
+ let packagesToUpdate = [];
29
+ if (options.all) {
30
+ packagesToUpdate = outdatedPackages;
31
+ }
32
+ else {
33
+ const { selectedPackages } = await inquirer_1.default.prompt([
34
+ {
35
+ type: 'checkbox',
36
+ name: 'selectedPackages',
37
+ message: 'Select packages to update:',
38
+ choices: outdatedPackages.map(pkg => {
39
+ const info = outdatedDeps[pkg];
40
+ return {
41
+ name: info ? `${pkg}: ${info.current} → ${info.latest}` : pkg,
42
+ value: pkg,
43
+ checked: true,
44
+ };
45
+ }),
46
+ },
47
+ ]);
48
+ packagesToUpdate = selectedPackages;
49
+ }
50
+ if (packagesToUpdate.length === 0) {
51
+ console.log(chalk_1.default.yellow('No packages selected for update.'));
52
+ return;
53
+ }
54
+ await (0, dependency_utils_1.updateDependencies)(projectPath, packagesToUpdate);
55
+ }
56
+ catch (error) {
57
+ console.error(chalk_1.default.red('Error:'), error.message);
58
+ process.exit(1);
59
+ }
60
+ }
61
+ //# sourceMappingURL=update-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-deps.js","sourceRoot":"","sources":["../../src/commands/update-deps.ts"],"names":[],"mappings":";;;;;AAaA,gCA+DC;AA3ED,wDAAgC;AAChC,kDAA0B;AAC1B,gEAGmC;AAO5B,KAAK,UAAU,UAAU,CAAC,UAA6B,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAElD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAEjE,MAAM,YAAY,GAAG,MAAM,IAAA,4CAAyB,EAAC,WAAW,CAAC,CAAC;QAClE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,SAAS,gBAAgB,CAAC,MAAM,yBAAyB,CAAC,CAAC,CAAC;QAErF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;gBACvC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,OAAO,MAAM,MAAM,KAAK,IAAI,GAAG,CAAC,CAC3D,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,gBAAgB,GAAa,EAAE,CAAC;QAEpC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,gBAAgB,GAAG,gBAAgB,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAChD;gBACE;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,4BAA4B;oBACrC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;wBAClC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;wBAC/B,OAAO;4BACL,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG;4BAC7D,KAAK,EAAE,GAAG;4BACV,OAAO,EAAE,IAAI;yBACd,CAAC;oBACJ,CAAC,CAAC;iBACH;aACF,CACF,CAAC;YAEF,gBAAgB,GAAG,gBAAgB,CAAC;QACtC,CAAC;QAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;QAED,MAAM,IAAA,qCAAkB,EAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;IAE1D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
package/dist/index.js CHANGED
@@ -13,11 +13,28 @@ const generate_service_1 = require("./commands/generate-service");
13
13
  const generate_event_1 = require("./commands/generate-event");
14
14
  const generate_query_1 = require("./commands/generate-query");
15
15
  const generate_all_1 = require("./commands/generate-all");
16
+ const init_project_1 = require("./commands/init-project");
17
+ const update_cli_1 = require("./commands/update-cli");
18
+ const update_deps_1 = require("./commands/update-deps");
19
+ const dependency_utils_1 = require("./utils/dependency.utils");
16
20
  const program = new commander_1.Command();
17
21
  program
18
22
  .name('ddd')
19
23
  .description('CLI for generating NestJS DDD boilerplate code')
20
- .version('2.0.0');
24
+ .version((0, dependency_utils_1.getCurrentPackageVersion)());
25
+ // Check for updates on every run
26
+ (async () => {
27
+ try {
28
+ const { needsUpdate, latestVersion, currentVersion } = await (0, dependency_utils_1.checkForCliUpdate)();
29
+ if (needsUpdate) {
30
+ console.log(chalk_1.default.yellow(`You are using nestjs-ddd-cli version ${currentVersion}, but version ${latestVersion} is available.`));
31
+ console.log(chalk_1.default.yellow(`Run 'ddd update' to update to the latest version.`));
32
+ }
33
+ }
34
+ catch (error) {
35
+ // Silently ignore update check errors
36
+ }
37
+ })();
21
38
  program
22
39
  .command('generate <type> <name>')
23
40
  .alias('g')
@@ -29,6 +46,7 @@ program
29
46
  .option('--skip-repo', 'Skip repository generation')
30
47
  .option('--with-events', 'Include domain events')
31
48
  .option('--with-queries', 'Include query handlers')
49
+ .option('--install-deps', 'Install required dependencies', false)
32
50
  .action(async (type, name, options) => {
33
51
  try {
34
52
  switch (type.toLowerCase()) {
@@ -71,6 +89,7 @@ program
71
89
  .description('Generate complete CRUD scaffolding for an entity')
72
90
  .option('-m, --module <module>', 'Module name (will be created if not exists)')
73
91
  .option('-p, --path <path>', 'Base path for generation', process.cwd())
92
+ .option('--install-deps', 'Install required dependencies', false)
74
93
  .action(async (entityName, options) => {
75
94
  try {
76
95
  await (0, generate_all_1.generateAll)(entityName, { ...options, complete: true });
@@ -80,5 +99,51 @@ program
80
99
  process.exit(1);
81
100
  }
82
101
  });
102
+ // Initialize a new NestJS project with DDD structure
103
+ program
104
+ .command('init <projectName>')
105
+ .description('Initialize a new NestJS project with DDD structure')
106
+ .option('-p, --path <path>', 'Path where the project will be created')
107
+ .option('--skip-install', 'Skip dependency installation')
108
+ .option('--skip-update', 'Skip CLI update check')
109
+ .option('--with-ddd', 'Set up DDD folder structure and install required dependencies', true)
110
+ .action(async (projectName, options) => {
111
+ try {
112
+ await (0, init_project_1.initProject)(projectName, options);
113
+ }
114
+ catch (error) {
115
+ console.error(chalk_1.default.red('Error:'), error.message);
116
+ process.exit(1);
117
+ }
118
+ });
119
+ // Update the CLI to the latest version
120
+ program
121
+ .command('update')
122
+ .description('Update the CLI to the latest version')
123
+ .option('-f, --force', 'Force update even if already on latest version')
124
+ .action(async (options) => {
125
+ try {
126
+ await (0, update_cli_1.updateCli)(options);
127
+ }
128
+ catch (error) {
129
+ console.error(chalk_1.default.red('Error:'), error.message);
130
+ process.exit(1);
131
+ }
132
+ });
133
+ // Update project dependencies
134
+ program
135
+ .command('update-deps')
136
+ .description('Check and update project dependencies')
137
+ .option('-p, --path <path>', 'Path to the project', process.cwd())
138
+ .option('-a, --all', 'Update all outdated dependencies without prompting')
139
+ .action(async (options) => {
140
+ try {
141
+ await (0, update_deps_1.updateDeps)(options);
142
+ }
143
+ catch (error) {
144
+ console.error(chalk_1.default.red('Error:'), error.message);
145
+ process.exit(1);
146
+ }
147
+ });
83
148
  program.parse();
84
149
  //# sourceMappingURL=index.js.map
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":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,gEAA4D;AAC5D,gEAA4D;AAC5D,kEAA8D;AAC9D,kEAA8D;AAC9D,8DAA0D;AAC1D,8DAA0D;AAC1D,0DAAsD;AACtD,0DAAsD;AACtD,sDAAkD;AAClD,wDAAoD;AACpD,+DAAuF;AAEvF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,gDAAgD,CAAC;KAC7D,OAAO,CAAC,IAAA,2CAAwB,GAAE,CAAC,CAAC;AAEvC,iCAAiC;AACjC,CAAC,KAAK,IAAI,EAAE;IACV,IAAI,CAAC;QACH,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,oCAAiB,GAAE,CAAC;QACjF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,wCAAwC,cAAc,iBAAiB,aAAa,gBAAgB,CACrG,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,sCAAsC;IACxC,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,wBAAwB,CAAC;KACjC,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,wFAAwF,CAAC;KACrG,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACtE,MAAM,CAAC,YAAY,EAAE,4BAA4B,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,wBAAwB,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,4BAA4B,CAAC;KACnD,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;KAClD,MAAM,CAAC,gBAAgB,EAAE,+BAA+B,EAAE,KAAK,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,KAAK,QAAQ;gBACX,MAAM,IAAA,gCAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,IAAA,gCAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,SAAS,CAAC;YACf,KAAK,UAAU;gBACb,MAAM,IAAA,kCAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,IAAA,kCAAe,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAA,8BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,IAAA,8BAAa,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,IAAA,0BAAW,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjC,MAAM;YACR;gBACE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sEAAsE,CAAC,CAAC,CAAC;gBAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,uBAAuB,EAAE,6CAA6C,CAAC;KAC9E,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACtE,MAAM,CAAC,gBAAgB,EAAE,+BAA+B,EAAE,KAAK,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;IACpC,IAAI,CAAC;QACH,MAAM,IAAA,0BAAW,EAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,qDAAqD;AACrD,OAAO;KACJ,OAAO,CAAC,oBAAoB,CAAC;KAC7B,WAAW,CAAC,oDAAoD,CAAC;KACjE,MAAM,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;KACrE,MAAM,CAAC,gBAAgB,EAAE,8BAA8B,CAAC;KACxD,MAAM,CAAC,eAAe,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,YAAY,EAAE,+DAA+D,EAAE,IAAI,CAAC;KAC3F,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IACrC,IAAI,CAAC;QACH,MAAM,IAAA,0BAAW,EAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,uCAAuC;AACvC,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,IAAA,sBAAS,EAAC,OAAO,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,8BAA8B;AAC9B,OAAO;KACJ,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACjE,MAAM,CAAC,WAAW,EAAE,oDAAoD,CAAC;KACzE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,IAAI,CAAC;QACH,MAAM,IAAA,wBAAU,EAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Check if a package is installed globally
3
+ */
4
+ export declare function isPackageInstalledGlobally(packageName: string): Promise<boolean>;
5
+ /**
6
+ * Get the latest version of a package from npm
7
+ */
8
+ export declare function getLatestVersion(packageName: string): Promise<string>;
9
+ /**
10
+ * Check if the current version is the latest version
11
+ */
12
+ export declare function isLatestVersion(packageName: string, currentVersion: string): Promise<boolean>;
13
+ /**
14
+ * Update a package globally
15
+ */
16
+ export declare function updatePackageGlobally(packageName: string): Promise<void>;
17
+ /**
18
+ * Check if NestJS CLI is installed
19
+ */
20
+ export declare function isNestJSCliInstalled(): Promise<boolean>;
21
+ /**
22
+ * Install NestJS CLI globally
23
+ */
24
+ export declare function installNestJSCli(): Promise<void>;
25
+ /**
26
+ * Create a new NestJS project
27
+ */
28
+ export declare function createNestJSProject(projectName: string, options?: any): Promise<void>;
29
+ /**
30
+ * Install dependencies in a project
31
+ */
32
+ export declare function installDependencies(projectPath: string, dependencies: string[], dev?: boolean): Promise<void>;
33
+ /**
34
+ * Check for outdated dependencies in a project
35
+ */
36
+ export declare function checkOutdatedDependencies(projectPath: string): Promise<Record<string, {
37
+ current: string;
38
+ latest: string;
39
+ type: string;
40
+ }>>;
41
+ /**
42
+ * Update dependencies in a project
43
+ */
44
+ export declare function updateDependencies(projectPath: string, dependencies: string[]): Promise<void>;
45
+ /**
46
+ * Get the current package version from package.json
47
+ */
48
+ export declare function getCurrentPackageVersion(): string;
49
+ /**
50
+ * Check if the CLI needs to be updated
51
+ */
52
+ export declare function checkForCliUpdate(): Promise<{
53
+ needsUpdate: boolean;
54
+ latestVersion: string;
55
+ currentVersion: string;
56
+ }>;
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.isPackageInstalledGlobally = isPackageInstalledGlobally;
40
+ exports.getLatestVersion = getLatestVersion;
41
+ exports.isLatestVersion = isLatestVersion;
42
+ exports.updatePackageGlobally = updatePackageGlobally;
43
+ exports.isNestJSCliInstalled = isNestJSCliInstalled;
44
+ exports.installNestJSCli = installNestJSCli;
45
+ exports.createNestJSProject = createNestJSProject;
46
+ exports.installDependencies = installDependencies;
47
+ exports.checkOutdatedDependencies = checkOutdatedDependencies;
48
+ exports.updateDependencies = updateDependencies;
49
+ exports.getCurrentPackageVersion = getCurrentPackageVersion;
50
+ exports.checkForCliUpdate = checkForCliUpdate;
51
+ const child_process_1 = require("child_process");
52
+ const util_1 = require("util");
53
+ const fs = __importStar(require("fs-extra"));
54
+ const path = __importStar(require("path"));
55
+ const chalk_1 = __importDefault(require("chalk"));
56
+ const execAsync = (0, util_1.promisify)(child_process_1.exec);
57
+ /**
58
+ * Check if a package is installed globally
59
+ */
60
+ async function isPackageInstalledGlobally(packageName) {
61
+ try {
62
+ await execAsync(`npm list -g ${packageName} --depth=0`);
63
+ return true;
64
+ }
65
+ catch (error) {
66
+ return false;
67
+ }
68
+ }
69
+ /**
70
+ * Get the latest version of a package from npm
71
+ */
72
+ async function getLatestVersion(packageName) {
73
+ try {
74
+ const { stdout } = await execAsync(`npm view ${packageName} version`);
75
+ return stdout.trim();
76
+ }
77
+ catch (error) {
78
+ throw new Error(`Failed to get latest version of ${packageName}: ${error.message}`);
79
+ }
80
+ }
81
+ /**
82
+ * Check if the current version is the latest version
83
+ */
84
+ async function isLatestVersion(packageName, currentVersion) {
85
+ try {
86
+ const latestVersion = await getLatestVersion(packageName);
87
+ return currentVersion === latestVersion;
88
+ }
89
+ catch (error) {
90
+ console.warn(chalk_1.default.yellow(`Warning: Could not check for updates: ${error.message}`));
91
+ return true; // Assume it's the latest version if we can't check
92
+ }
93
+ }
94
+ /**
95
+ * Update a package globally
96
+ */
97
+ async function updatePackageGlobally(packageName) {
98
+ try {
99
+ console.log(chalk_1.default.blue(`Updating ${packageName} globally...`));
100
+ await execAsync(`npm install -g ${packageName}@latest`);
101
+ console.log(chalk_1.default.green(`✅ ${packageName} updated successfully!`));
102
+ }
103
+ catch (error) {
104
+ throw new Error(`Failed to update ${packageName}: ${error.message}`);
105
+ }
106
+ }
107
+ /**
108
+ * Check if NestJS CLI is installed
109
+ */
110
+ async function isNestJSCliInstalled() {
111
+ return isPackageInstalledGlobally('@nestjs/cli');
112
+ }
113
+ /**
114
+ * Install NestJS CLI globally
115
+ */
116
+ async function installNestJSCli() {
117
+ try {
118
+ console.log(chalk_1.default.blue('Installing @nestjs/cli globally...'));
119
+ await execAsync('npm install -g @nestjs/cli');
120
+ console.log(chalk_1.default.green('✅ @nestjs/cli installed successfully!'));
121
+ }
122
+ catch (error) {
123
+ throw new Error(`Failed to install @nestjs/cli: ${error.message}`);
124
+ }
125
+ }
126
+ /**
127
+ * Create a new NestJS project
128
+ */
129
+ async function createNestJSProject(projectName, options = {}) {
130
+ try {
131
+ // Check if @nestjs/cli is installed
132
+ const isInstalled = await isNestJSCliInstalled();
133
+ if (!isInstalled) {
134
+ await installNestJSCli();
135
+ }
136
+ console.log(chalk_1.default.blue(`Creating new NestJS project: ${projectName}...`));
137
+ // Build the command with options
138
+ let command = `nest new ${projectName} --skip-git --package-manager npm`;
139
+ if (options.directory) {
140
+ command += ` --directory ${options.directory}`;
141
+ }
142
+ if (options.skipInstall) {
143
+ command += ' --skip-install';
144
+ }
145
+ await execAsync(command);
146
+ console.log(chalk_1.default.green(`✅ NestJS project ${projectName} created successfully!`));
147
+ }
148
+ catch (error) {
149
+ throw new Error(`Failed to create NestJS project: ${error.message}`);
150
+ }
151
+ }
152
+ /**
153
+ * Install dependencies in a project
154
+ */
155
+ async function installDependencies(projectPath, dependencies, dev = false) {
156
+ try {
157
+ const flag = dev ? '--save-dev' : '--save';
158
+ console.log(chalk_1.default.blue(`Installing ${dev ? 'dev ' : ''}dependencies: ${dependencies.join(', ')}...`));
159
+ await execAsync(`npm install ${flag} ${dependencies.join(' ')}`, { cwd: projectPath });
160
+ console.log(chalk_1.default.green('✅ Dependencies installed successfully!'));
161
+ }
162
+ catch (error) {
163
+ throw new Error(`Failed to install dependencies: ${error.message}`);
164
+ }
165
+ }
166
+ /**
167
+ * Check for outdated dependencies in a project
168
+ */
169
+ async function checkOutdatedDependencies(projectPath) {
170
+ try {
171
+ const { stdout } = await execAsync('npm outdated --json', { cwd: projectPath });
172
+ return JSON.parse(stdout || '{}');
173
+ }
174
+ catch (error) {
175
+ // npm outdated returns exit code 1 if there are outdated packages
176
+ if (error.stdout) {
177
+ try {
178
+ return JSON.parse(error.stdout);
179
+ }
180
+ catch {
181
+ return {};
182
+ }
183
+ }
184
+ return {};
185
+ }
186
+ }
187
+ /**
188
+ * Update dependencies in a project
189
+ */
190
+ async function updateDependencies(projectPath, dependencies) {
191
+ try {
192
+ console.log(chalk_1.default.blue(`Updating dependencies: ${dependencies.join(', ')}...`));
193
+ await execAsync(`npm update ${dependencies.join(' ')}`, { cwd: projectPath });
194
+ console.log(chalk_1.default.green('✅ Dependencies updated successfully!'));
195
+ }
196
+ catch (error) {
197
+ throw new Error(`Failed to update dependencies: ${error.message}`);
198
+ }
199
+ }
200
+ /**
201
+ * Get the current package version from package.json
202
+ */
203
+ function getCurrentPackageVersion() {
204
+ try {
205
+ const packageJsonPath = path.resolve(__dirname, '../../package.json');
206
+ const packageJson = fs.readJsonSync(packageJsonPath);
207
+ return packageJson.version;
208
+ }
209
+ catch (error) {
210
+ throw new Error(`Failed to get current package version: ${error.message}`);
211
+ }
212
+ }
213
+ /**
214
+ * Check if the CLI needs to be updated
215
+ */
216
+ async function checkForCliUpdate() {
217
+ const currentVersion = getCurrentPackageVersion();
218
+ try {
219
+ const latestVersion = await getLatestVersion('nestjs-ddd-cli');
220
+ const needsUpdate = currentVersion !== latestVersion;
221
+ return { needsUpdate, latestVersion, currentVersion };
222
+ }
223
+ catch (error) {
224
+ console.warn(chalk_1.default.yellow(`Warning: Could not check for CLI updates: ${error.message}`));
225
+ return { needsUpdate: false, latestVersion: currentVersion, currentVersion };
226
+ }
227
+ }
228
+ //# sourceMappingURL=dependency.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency.utils.js","sourceRoot":"","sources":["../../src/utils/dependency.utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nestjs-ddd-cli",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "CLI for generating NestJS DDD boilerplate code",
5
5
  "main": "dist/index.js",
6
6
  "bin": {