nodejs-quickstart-structure 1.16.1 → 1.16.2

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/CHANGELOG.md CHANGED
@@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.16.2] - 2026-03-19
9
+
10
+ ### Changed
11
+ - **Major Dependency Upgrades**: Upgraded core CLI dependencies to their latest stable versions for better performance and security:
12
+ - `commander`: Upgraded from `^13.1.0` to `^14.0.3`.
13
+ - `ejs`: Upgraded from `^3.1.10` to `^5.0.1`.
14
+ - `inquirer`: Upgraded from `^12.4.1` to `^13.3.2`.
15
+ - **Verified Compatibility**: Validated the generator across multiple complex project configurations including TypeScript/MVC, JavaScript/Clean Architecture, Kafka messaging, and Redis/PostgreSQL integration.
16
+ - **Update jest.config.js**: Update jest.config.js (or your test runner config) with new global thresholds:
17
+ ```
18
+ globalThreshold: {
19
+ branches: 70,
20
+ functions: 80,
21
+ lines: 80,
22
+ statements: 80,
23
+ },
24
+ ```
25
+
8
26
  ## [1.16.1] - 2026-03-17
9
27
 
10
28
  ### Refactored
package/bin/index.js CHANGED
@@ -74,6 +74,10 @@ program
74
74
  console.log(chalk.cyan(`\nNext steps:\n cd ${answers.projectName}\n npm install\n docker-compose up\n-----------------------${manualStartInstructions}\n\n${chalk.yellow('Production (PM2):')}\n npm run build\n npm run deploy\n npx pm2 logs`));
75
75
 
76
76
  } catch (error) {
77
+ if (error.name === 'ExitPromptError') {
78
+ console.log(chalk.yellow('\n\nšŸ‘‹ Goodbye! Setup cancelled.'));
79
+ process.exit(0);
80
+ }
77
81
  console.error(chalk.red('Error generating project:'), error);
78
82
  process.exit(1);
79
83
  }
package/lib/prompts.js CHANGED
@@ -15,7 +15,7 @@ export const getProjectDetails = async (options = {}) => {
15
15
  when: !options.projectName
16
16
  },
17
17
  {
18
- type: 'list',
18
+ type: 'select',
19
19
  name: 'language',
20
20
  message: 'Select Language:',
21
21
  choices: ['JavaScript', 'TypeScript'],
@@ -23,7 +23,7 @@ export const getProjectDetails = async (options = {}) => {
23
23
  when: !options.language
24
24
  },
25
25
  {
26
- type: 'list',
26
+ type: 'select',
27
27
  name: 'architecture',
28
28
  message: 'Select Architecture:',
29
29
  choices: ['MVC', 'Clean Architecture'],
@@ -31,7 +31,7 @@ export const getProjectDetails = async (options = {}) => {
31
31
  when: !options.architecture
32
32
  },
33
33
  {
34
- type: 'list',
34
+ type: 'select',
35
35
  name: 'viewEngine',
36
36
  message: 'Select View Engine:',
37
37
  choices: ['None', 'EJS', 'Pug'],
@@ -39,7 +39,7 @@ export const getProjectDetails = async (options = {}) => {
39
39
  default: 'None'
40
40
  },
41
41
  {
42
- type: 'list',
42
+ type: 'select',
43
43
  name: 'database',
44
44
  message: 'Select Database:',
45
45
  choices: ['None', 'MySQL', 'PostgreSQL', 'MongoDB'],
@@ -55,7 +55,7 @@ export const getProjectDetails = async (options = {}) => {
55
55
  when: (answers) => !options.dbName && (options.database || answers.database) !== 'None'
56
56
  },
57
57
  {
58
- type: 'list',
58
+ type: 'select',
59
59
  name: 'communication',
60
60
  message: 'Microservices Communication:',
61
61
  choices: ['REST APIs', 'GraphQL', 'Kafka'],
@@ -63,7 +63,7 @@ export const getProjectDetails = async (options = {}) => {
63
63
  when: !options.communication
64
64
  },
65
65
  {
66
- type: 'list',
66
+ type: 'select',
67
67
  name: 'caching',
68
68
  message: 'Caching Layer:',
69
69
  choices: ['None', 'Redis', 'Memory Cache'],
@@ -71,7 +71,7 @@ export const getProjectDetails = async (options = {}) => {
71
71
  when: (answers) => !options.caching && (options.database || answers.database) !== 'None'
72
72
  },
73
73
  {
74
- type: 'list',
74
+ type: 'select',
75
75
  name: 'ciProvider',
76
76
  message: 'Select CI/CD Provider:',
77
77
  choices: ['None', 'GitHub Actions', 'Jenkins', 'GitLab CI'],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodejs-quickstart-structure",
3
- "version": "1.16.1",
3
+ "version": "1.16.2",
4
4
  "type": "module",
5
5
  "description": "The ultimate nodejs quickstart structure CLI to scaffold Node.js microservices with MVC or Clean Architecture",
6
6
  "main": "bin/index.js",
@@ -40,10 +40,10 @@
40
40
  "license": "ISC",
41
41
  "dependencies": {
42
42
  "chalk": "^5.4.1",
43
- "commander": "^13.1.0",
44
- "ejs": "^3.1.10",
43
+ "commander": "^14.0.3",
44
+ "ejs": "^5.0.1",
45
45
  "fs-extra": "^11.3.0",
46
- "inquirer": "^12.4.1"
46
+ "inquirer": "^13.3.2"
47
47
  },
48
48
  "files": [
49
49
  "bin",
@@ -22,10 +22,10 @@ module.exports = {
22
22
  ],
23
23
  coverageThreshold: {
24
24
  global: {
25
- branches: 65,
26
- functions: 70,
27
- lines: 70,
28
- statements: 70
25
+ branches: 70,
26
+ functions: 80,
27
+ lines: 80,
28
+ statements: 80
29
29
  }
30
30
  }
31
31
  };