@diagramers/cli 1.0.14 → 1.0.16
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/services/api-generator.d.ts.map +1 -1
- package/dist/services/api-generator.js +11 -8
- package/dist/services/api-generator.js.map +1 -1
- package/dist/services/template-processor.d.ts.map +1 -1
- package/dist/services/template-processor.js +19 -13
- package/dist/services/template-processor.js.map +1 -1
- package/package.json +2 -2
- package/src/services/api-generator.ts +11 -9
- package/src/services/template-processor.ts +25 -20
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api-generator.d.ts","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"AAGA,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
1
|
+
{"version":3,"file":"api-generator.d.ts","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"AAGA,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CtE"}
|
@@ -43,14 +43,17 @@ async function generateModule(moduleName) {
|
|
43
43
|
}
|
44
44
|
const moduleNameCapitalized = moduleName.charAt(0).toUpperCase() + moduleName.slice(1);
|
45
45
|
const currentDir = process.cwd();
|
46
|
-
// Check
|
47
|
-
const
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
46
|
+
// Check for required API project structure
|
47
|
+
const requiredDirs = [
|
48
|
+
'src/entities',
|
49
|
+
'src/schemas',
|
50
|
+
'src/services',
|
51
|
+
'src/controllers',
|
52
|
+
'src/routes'
|
53
|
+
];
|
54
|
+
const missingDirs = requiredDirs.filter(dir => !fs.existsSync(path.join(currentDir, dir)));
|
55
|
+
if (missingDirs.length > 0) {
|
56
|
+
throw new Error(`This command should be run from a diagramers API project. Missing directories: ${missingDirs.join(', ')}`);
|
54
57
|
}
|
55
58
|
console.log('📝 Creating entity...');
|
56
59
|
const entityContent = generateEntityContent(moduleName, moduleNameCapitalized);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,
|
1
|
+
{"version":3,"file":"api-generator.js","sourceRoot":"","sources":["../../src/services/api-generator.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"template-processor.d.ts","sourceRoot":"","sources":["../../src/services/template-processor.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
1
|
+
{"version":3,"file":"template-processor.d.ts","sourceRoot":"","sources":["../../src/services/template-processor.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuHxE"}
|
@@ -41,14 +41,17 @@ async function processTemplate(projectName) {
|
|
41
41
|
throw new Error('Project name is required');
|
42
42
|
}
|
43
43
|
const currentDir = process.cwd();
|
44
|
-
// Check
|
45
|
-
const
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
44
|
+
// Check for required API project structure
|
45
|
+
const requiredDirs = [
|
46
|
+
'src/entities',
|
47
|
+
'src/schemas',
|
48
|
+
'src/services',
|
49
|
+
'src/controllers',
|
50
|
+
'src/routes'
|
51
|
+
];
|
52
|
+
const missingDirs = requiredDirs.filter(dir => !fs.existsSync(path.join(currentDir, dir)));
|
53
|
+
if (missingDirs.length > 0) {
|
54
|
+
throw new Error(`This command should be run from a diagramers API project. Missing directories: ${missingDirs.join(', ')}`);
|
52
55
|
}
|
53
56
|
// Convert project name to database-friendly format
|
54
57
|
const dbName = projectName
|
@@ -84,11 +87,14 @@ async function processTemplate(projectName) {
|
|
84
87
|
console.log(' ✅ Updated production.ts');
|
85
88
|
}
|
86
89
|
// Update package.json
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
90
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
91
|
+
if (fs.existsSync(packageJsonPath)) {
|
92
|
+
let packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8');
|
93
|
+
packageJsonContent = packageJsonContent.replace(/"name":\s*"@diagramers\/api"/g, `"name": "${projectName}"`);
|
94
|
+
packageJsonContent = packageJsonContent.replace(/"description":\s*"Diagramers API - A comprehensive Node\.js API template with TypeScript, Firebase Functions, and Socket\.io"/g, `"description": "${projectName} - API project"`);
|
95
|
+
fs.writeFileSync(packageJsonPath, packageJsonContent);
|
96
|
+
console.log(' ✅ Updated package.json');
|
97
|
+
}
|
92
98
|
// Update README.md
|
93
99
|
const readmePath = path.join(currentDir, 'README.md');
|
94
100
|
if (fs.existsSync(readmePath)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../../src/services/template-processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,
|
1
|
+
{"version":3,"file":"template-processor.js","sourceRoot":"","sources":["../../src/services/template-processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@diagramers/cli",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.16",
|
4
4
|
"description": "Diagramers CLI - Command-line tools for managing Diagramers projects",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"bin": {
|
@@ -48,4 +48,4 @@
|
|
48
48
|
"url": "https://github.com/diagramers/diagramers-cli/issues"
|
49
49
|
},
|
50
50
|
"homepage": "https://github.com/diagramers/diagramers-cli#readme"
|
51
|
-
}
|
51
|
+
}
|
@@ -10,15 +10,17 @@ export async function generateModule(moduleName: string): Promise<void> {
|
|
10
10
|
const moduleNameCapitalized = moduleName.charAt(0).toUpperCase() + moduleName.slice(1);
|
11
11
|
const currentDir = process.cwd();
|
12
12
|
|
13
|
-
// Check
|
14
|
-
const
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
13
|
+
// Check for required API project structure
|
14
|
+
const requiredDirs = [
|
15
|
+
'src/entities',
|
16
|
+
'src/schemas',
|
17
|
+
'src/services',
|
18
|
+
'src/controllers',
|
19
|
+
'src/routes'
|
20
|
+
];
|
21
|
+
const missingDirs = requiredDirs.filter(dir => !fs.existsSync(path.join(currentDir, dir)));
|
22
|
+
if (missingDirs.length > 0) {
|
23
|
+
throw new Error(`This command should be run from a diagramers API project. Missing directories: ${missingDirs.join(', ')}`);
|
22
24
|
}
|
23
25
|
|
24
26
|
console.log('📝 Creating entity...');
|
@@ -7,16 +7,18 @@ export async function processTemplate(projectName: string): Promise<void> {
|
|
7
7
|
}
|
8
8
|
|
9
9
|
const currentDir = process.cwd();
|
10
|
-
|
11
|
-
// Check if we're in a diagramers API project
|
12
|
-
const packageJsonPath = path.join(currentDir, 'package.json');
|
13
|
-
if (!fs.existsSync(packageJsonPath)) {
|
14
|
-
throw new Error('package.json not found. Please run this command from a diagramers API project root.');
|
15
|
-
}
|
16
10
|
|
17
|
-
|
18
|
-
|
19
|
-
|
11
|
+
// Check for required API project structure
|
12
|
+
const requiredDirs = [
|
13
|
+
'src/entities',
|
14
|
+
'src/schemas',
|
15
|
+
'src/services',
|
16
|
+
'src/controllers',
|
17
|
+
'src/routes'
|
18
|
+
];
|
19
|
+
const missingDirs = requiredDirs.filter(dir => !fs.existsSync(path.join(currentDir, dir)));
|
20
|
+
if (missingDirs.length > 0) {
|
21
|
+
throw new Error(`This command should be run from a diagramers API project. Missing directories: ${missingDirs.join(', ')}`);
|
20
22
|
}
|
21
23
|
|
22
24
|
// Convert project name to database-friendly format
|
@@ -68,17 +70,20 @@ export async function processTemplate(projectName: string): Promise<void> {
|
|
68
70
|
}
|
69
71
|
|
70
72
|
// Update package.json
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
73
|
+
const packageJsonPath = path.join(currentDir, 'package.json');
|
74
|
+
if (fs.existsSync(packageJsonPath)) {
|
75
|
+
let packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8');
|
76
|
+
packageJsonContent = packageJsonContent.replace(
|
77
|
+
/"name":\s*"@diagramers\/api"/g,
|
78
|
+
`"name": "${projectName}"`
|
79
|
+
);
|
80
|
+
packageJsonContent = packageJsonContent.replace(
|
81
|
+
/"description":\s*"Diagramers API - A comprehensive Node\.js API template with TypeScript, Firebase Functions, and Socket\.io"/g,
|
82
|
+
`"description": "${projectName} - API project"`
|
83
|
+
);
|
84
|
+
fs.writeFileSync(packageJsonPath, packageJsonContent);
|
85
|
+
console.log(' ✅ Updated package.json');
|
86
|
+
}
|
82
87
|
|
83
88
|
// Update README.md
|
84
89
|
const readmePath = path.join(currentDir, 'README.md');
|