Skip to content

Commit 3e14cf8

Browse files
committed
replaces command:npm run generate:module -- --name Wallet to npm run generate:module Wallet for simplicity
1 parent 4d1a351 commit 3e14cf8

File tree

3 files changed

+40
-18
lines changed

3 files changed

+40
-18
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ Tests live next to code or under `tests/` following the same structure:
7777
```
7878
- Generate Module:
7979
```bash
80-
npm run generate:module -- --name <ModuleName>
80+
npm run generate:module <ModuleName>
8181
```
8282

8383
## Environment variables

template/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "project-name",
3-
"version": "1.0.3",
3+
"version": "1.0.4",
44
"license": "MIT",
55
"description": "API service using an event driven architecture",
66
"engines": {

template/scripts/generateModules.js

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,34 +6,56 @@ const path = require('path');
66
const MODULES_BASE_DIR = path.join('src', 'Modules');
77
// ---------------------
88

9-
/**
10-
* Converts a string to PascalCase.
11-
* e.g., "my-wallet" -> "MyWallet"
12-
* @param {string} str
13-
* @returns {string}
14-
*/
159
const toPascalCase = (str) => {
1610
return str
1711
.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)
1812
.map(x => x.charAt(0).toUpperCase() + x.slice(1).toLowerCase())
1913
.join('');
2014
};
2115

22-
/**
23-
* Gets the module name from command line arguments.
24-
* Looks for a '--name' flag.
25-
* @returns {string} The module name in PascalCase.
26-
*/
2716
const getModuleName = () => {
28-
const argIndex = process.argv.indexOf('--name');
29-
if (argIndex === -1 || !process.argv[argIndex + 1]) {
30-
console.error('❌ Error: Please provide a module name with the --name flag.');
31-
console.error(' > Example: npm run generate:module -- --name Wallet');
17+
const argv = process.argv.slice(2);
18+
let name;
19+
20+
for (let i = 0; i < argv.length; i++) {
21+
const arg = argv[i];
22+
23+
if (arg === '--name' || arg === '-n') {
24+
name = argv[i + 1];
25+
i++;
26+
continue;
27+
}
28+
29+
if (arg.startsWith('--name=')) {
30+
name = arg.split('=').slice(1).join('=');
31+
continue;
32+
}
33+
34+
if (arg.startsWith('-n=')) {
35+
name = arg.split('=').slice(1).join('=');
36+
continue;
37+
}
38+
39+
// Fallback: first non-flag is treated as the name
40+
if (!arg.startsWith('-') && !name) {
41+
name = arg;
42+
}
43+
}
44+
45+
if (!name) {
46+
console.error('❌ Error: Please provide a module name.');
47+
console.error(' > Examples:');
48+
console.error(' npm run generate:module Wallet');
49+
console.error(' npm run generate:module -- --name Wallet');
50+
console.error(' node ./scripts/generateModules.js --name Wallet');
3251
process.exit(1);
3352
}
34-
return toPascalCase(process.argv[argIndex + 1]);
53+
54+
return toPascalCase(name);
3555
};
3656

57+
58+
3759
// --- TEMPLATES ---
3860
// These functions return the boilerplate content for each file.
3961

0 commit comments

Comments
 (0)