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 +18 -0
- package/bin/index.js +4 -0
- package/lib/prompts.js +7 -7
- package/package.json +4 -4
- package/templates/common/jest.config.js.ejs +4 -4
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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: '
|
|
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.
|
|
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": "^
|
|
44
|
-
"ejs": "^
|
|
43
|
+
"commander": "^14.0.3",
|
|
44
|
+
"ejs": "^5.0.1",
|
|
45
45
|
"fs-extra": "^11.3.0",
|
|
46
|
-
"inquirer": "^
|
|
46
|
+
"inquirer": "^13.3.2"
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
49
49
|
"bin",
|