@diagramers/cli 4.0.15 → 4.0.17
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 +635 -451
- package/dist/commands/admin.d.ts +1 -1
- package/dist/commands/admin.d.ts.map +1 -1
- package/dist/commands/admin.js +6 -53
- package/dist/commands/admin.js.map +1 -1
- package/dist/commands/api.d.ts +1 -1
- package/dist/commands/api.d.ts.map +1 -1
- package/dist/commands/api.js +133 -582
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/deploy.d.ts +15 -0
- package/dist/commands/extend.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +24 -153
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +11 -40
- package/dist/commands/update.js.map +1 -1
- package/dist/config/template-config.d.ts +21 -0
- package/dist/index.js +218 -35
- package/dist/index.js.map +1 -1
- package/dist/services/api-generator.d.ts +3 -0
- package/dist/services/naming-utils.d.ts +37 -0
- package/dist/services/project-extender.d.ts +50 -0
- package/dist/services/project-initializer.d.ts +21 -0
- package/dist/services/project-initializer.d.ts.map +1 -1
- package/dist/services/project-initializer.js +11 -12
- package/dist/services/project-initializer.js.map +1 -1
- package/dist/services/project-updater.d.ts +18 -0
- package/dist/services/relation-generator.d.ts +3 -0
- package/dist/services/table-generator.d.ts +2 -0
- package/dist/services/template-processor.d.ts +2 -0
- package/dist/services/template-updater.d.ts +24 -0
- package/package.json +3 -3
package/dist/index.js
CHANGED
@@ -5,53 +5,236 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
5
5
|
};
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
7
7
|
const commander_1 = require("commander");
|
8
|
-
const chalk_1 = __importDefault(require("chalk"));
|
9
|
-
const admin_1 = require("./commands/admin");
|
10
|
-
const api_1 = require("./commands/api");
|
11
8
|
const init_1 = require("./commands/init");
|
12
9
|
const update_1 = require("./commands/update");
|
10
|
+
const extend_1 = require("./commands/extend");
|
11
|
+
const api_1 = require("./commands/api");
|
12
|
+
const admin_1 = require("./commands/admin");
|
13
|
+
const deploy_1 = require("./commands/deploy");
|
14
|
+
const chalk_1 = __importDefault(require("chalk"));
|
15
|
+
const fs_1 = require("fs");
|
16
|
+
const path_1 = require("path");
|
17
|
+
const child_process_1 = require("child_process");
|
13
18
|
const program = new commander_1.Command();
|
19
|
+
// Dynamically read CLI version
|
20
|
+
const cliPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
|
21
|
+
// Function to get API version from current project or global installation
|
22
|
+
function getApiVersion() {
|
23
|
+
// Check if we're in a diagramers API project directory (development scenario)
|
24
|
+
try {
|
25
|
+
const projectPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'package.json'), 'utf8'));
|
26
|
+
if (projectPkg.name === '@diagramers/api') {
|
27
|
+
return `${projectPkg.version} (development)`;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
catch { }
|
31
|
+
// Try to read from current project's node_modules first
|
32
|
+
try {
|
33
|
+
const projectApiPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'node_modules', '@diagramers', 'api', 'package.json'), 'utf8'));
|
34
|
+
return `${projectApiPkg.version} (project)`;
|
35
|
+
}
|
36
|
+
catch { }
|
37
|
+
// Try to read from global CLI installation
|
38
|
+
try {
|
39
|
+
const globalApiPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'node_modules', '@diagramers', 'api', 'package.json'), 'utf8'));
|
40
|
+
return `${globalApiPkg.version} (global)`;
|
41
|
+
}
|
42
|
+
catch { }
|
43
|
+
// Check if we're in a project created from diagramers template
|
44
|
+
try {
|
45
|
+
const projectPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'package.json'), 'utf8'));
|
46
|
+
// Check if it's a diagramers project by structure and package.json content
|
47
|
+
const hasApiStructure = (0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'modules')) &&
|
48
|
+
(0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'core')) &&
|
49
|
+
(0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'shared'));
|
50
|
+
if (hasApiStructure ||
|
51
|
+
(projectPkg.name && projectPkg.name.includes('diagramers')) ||
|
52
|
+
(projectPkg.description && projectPkg.description.includes('diagramers')) ||
|
53
|
+
(projectPkg.description && projectPkg.description.includes('API project'))) {
|
54
|
+
return `${projectPkg.version} (project template)`;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
catch { }
|
58
|
+
// Try to check if it's available via npm (last resort)
|
59
|
+
try {
|
60
|
+
const npmVersion = (0, child_process_1.execSync)('npm view @diagramers/api version', { encoding: 'utf8', timeout: 5000 }).trim();
|
61
|
+
return `${npmVersion} (available on npm)`;
|
62
|
+
}
|
63
|
+
catch { }
|
64
|
+
return 'not installed';
|
65
|
+
}
|
66
|
+
// Function to get Admin version from current project or global installation
|
67
|
+
function getAdminVersion() {
|
68
|
+
// Check if we're in a diagramers Admin project directory (development scenario)
|
69
|
+
try {
|
70
|
+
const projectPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'package.json'), 'utf8'));
|
71
|
+
if (projectPkg.name === '@diagramers/admin') {
|
72
|
+
return `${projectPkg.version} (development)`;
|
73
|
+
}
|
74
|
+
}
|
75
|
+
catch { }
|
76
|
+
// Try to read from current project's node_modules first
|
77
|
+
try {
|
78
|
+
const projectAdminPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'node_modules', '@diagramers', 'admin', 'package.json'), 'utf8'));
|
79
|
+
return `${projectAdminPkg.version} (project)`;
|
80
|
+
}
|
81
|
+
catch { }
|
82
|
+
// Try to read from global CLI installation
|
83
|
+
try {
|
84
|
+
const globalAdminPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'node_modules', '@diagramers', 'admin', 'package.json'), 'utf8'));
|
85
|
+
return `${globalAdminPkg.version} (global)`;
|
86
|
+
}
|
87
|
+
catch { }
|
88
|
+
// Check if we're in a project created from diagramers admin template
|
89
|
+
try {
|
90
|
+
const projectPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'package.json'), 'utf8'));
|
91
|
+
// Check if it's a diagramers admin project by structure and package.json content
|
92
|
+
const hasAdminStructure = (0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'components')) &&
|
93
|
+
(0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'features')) &&
|
94
|
+
((0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'hooks')) || (0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'services')));
|
95
|
+
if (hasAdminStructure ||
|
96
|
+
(projectPkg.name && projectPkg.name.includes('admin')) ||
|
97
|
+
(projectPkg.description && projectPkg.description.includes('admin')) ||
|
98
|
+
(projectPkg.description && projectPkg.description.includes('admin dashboard'))) {
|
99
|
+
return `${projectPkg.version} (project template)`;
|
100
|
+
}
|
101
|
+
}
|
102
|
+
catch { }
|
103
|
+
// Try to check if it's available via npm (last resort)
|
104
|
+
try {
|
105
|
+
const npmVersion = (0, child_process_1.execSync)('npm view @diagramers/admin version', { encoding: 'utf8', timeout: 5000 }).trim();
|
106
|
+
return `${npmVersion} (available on npm)`;
|
107
|
+
}
|
108
|
+
catch { }
|
109
|
+
return 'not installed';
|
110
|
+
}
|
14
111
|
program
|
15
112
|
.name('diagramers')
|
16
|
-
.description('
|
17
|
-
.version(
|
113
|
+
.description('CLI tool for managing diagramers projects, modules, tables, and endpoints')
|
114
|
+
.version(cliPkg.version, '-V, --version', 'output the current version');
|
115
|
+
// Custom version command for full version info
|
116
|
+
program
|
117
|
+
.command('version')
|
118
|
+
.description('Show CLI and sub-library versions')
|
119
|
+
.action(() => {
|
120
|
+
console.log(`@diagramers/cli: ${cliPkg.version}`);
|
121
|
+
console.log(`@diagramers/api: ${getApiVersion()}`);
|
122
|
+
console.log(`@diagramers/admin: ${getAdminVersion()}`);
|
123
|
+
// Additional context about project status
|
124
|
+
try {
|
125
|
+
const projectPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'package.json'), 'utf8'));
|
126
|
+
if (projectPkg.name && (projectPkg.name.includes('diagramers') ||
|
127
|
+
(projectPkg.description && projectPkg.description.includes('diagramers')))) {
|
128
|
+
console.log(`\n📁 Current project: ${projectPkg.name || 'unnamed'}`);
|
129
|
+
console.log(`📋 Project version: ${projectPkg.version || 'unknown'}`);
|
130
|
+
}
|
131
|
+
}
|
132
|
+
catch { }
|
133
|
+
});
|
134
|
+
// Add commands
|
18
135
|
(0, init_1.initCommand)(program);
|
19
136
|
(0, update_1.updateCommand)(program);
|
20
|
-
(0,
|
137
|
+
(0, extend_1.extendCommand)(program);
|
21
138
|
(0, api_1.apiCommand)(program);
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
139
|
+
(0, admin_1.adminCommand)(program);
|
140
|
+
// Add deploy command
|
141
|
+
const deployCommand = new deploy_1.DeployCommand();
|
142
|
+
program.addCommand(deployCommand.getCommand());
|
143
|
+
// Add versions command
|
144
|
+
program
|
145
|
+
.command('versions')
|
146
|
+
.description('List available versions of @diagramers/api')
|
147
|
+
.option('-a, --all', 'Show all versions (default: show last 10)')
|
148
|
+
.action(async (options) => {
|
149
|
+
try {
|
150
|
+
console.log(chalk_1.default.blue('📦 Fetching available versions of @diagramers/api...'));
|
151
|
+
const versionsOutput = (0, child_process_1.execSync)('npm view @diagramers/api versions --json', {
|
152
|
+
encoding: 'utf8',
|
153
|
+
timeout: 10000
|
26
154
|
});
|
155
|
+
const versions = JSON.parse(versionsOutput);
|
156
|
+
console.log(chalk_1.default.green('\n✅ Available versions:'));
|
157
|
+
if (Array.isArray(versions)) {
|
158
|
+
const displayVersions = options.all ? versions : versions.slice(-10);
|
159
|
+
displayVersions.forEach((version) => {
|
160
|
+
console.log(chalk_1.default.yellow(` ${version}`));
|
161
|
+
});
|
162
|
+
if (!options.all && versions.length > 10) {
|
163
|
+
console.log(chalk_1.default.gray(`\n ... and ${versions.length - 10} more versions`));
|
164
|
+
console.log(chalk_1.default.gray(' Use --all to see all versions'));
|
165
|
+
}
|
166
|
+
}
|
167
|
+
else {
|
168
|
+
console.log(chalk_1.default.yellow(` ${versions}`));
|
169
|
+
}
|
170
|
+
// Show current version
|
171
|
+
try {
|
172
|
+
const currentVersion = (0, child_process_1.execSync)('npm view @diagramers/api version', {
|
173
|
+
encoding: 'utf8',
|
174
|
+
timeout: 5000
|
175
|
+
}).trim();
|
176
|
+
console.log(chalk_1.default.green(`\n📌 Latest version: ${currentVersion}`));
|
177
|
+
}
|
178
|
+
catch (error) {
|
179
|
+
// Ignore if we can't get current version
|
180
|
+
}
|
181
|
+
console.log(chalk_1.default.blue('\n📝 Usage examples:'));
|
182
|
+
console.log(chalk_1.default.gray(' diagramers init api my-project --version 1.1.17'));
|
183
|
+
console.log(chalk_1.default.gray(' diagramers update --version 1.1.17'));
|
184
|
+
}
|
185
|
+
catch (error) {
|
186
|
+
console.error(chalk_1.default.red(`❌ Failed to fetch versions: ${error.message}`));
|
187
|
+
console.log(chalk_1.default.yellow('💡 Make sure you have internet connection and npm is installed'));
|
188
|
+
// Fallback: try to get just the latest version
|
189
|
+
try {
|
190
|
+
console.log(chalk_1.default.blue('\n🔄 Trying to get latest version...'));
|
191
|
+
const latestVersion = (0, child_process_1.execSync)('npm view @diagramers/api version', {
|
192
|
+
encoding: 'utf8',
|
193
|
+
timeout: 5000
|
194
|
+
}).trim();
|
195
|
+
console.log(chalk_1.default.green(`✅ Latest version: ${latestVersion}`));
|
196
|
+
}
|
197
|
+
catch (fallbackError) {
|
198
|
+
console.log(chalk_1.default.red('❌ Could not fetch any version information'));
|
199
|
+
}
|
200
|
+
process.exit(1);
|
27
201
|
}
|
28
202
|
});
|
29
|
-
program
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
203
|
+
program.addHelpText('after', `
|
204
|
+
${chalk_1.default.bold('Examples:')}
|
205
|
+
${chalk_1.default.gray('# Initialize new API project')}
|
206
|
+
${chalk_1.default.blue('diagramers init api my-new-api')}
|
207
|
+
|
208
|
+
${chalk_1.default.gray('# Initialize new Admin project')}
|
209
|
+
${chalk_1.default.blue('diagramers init admin my-admin-app')}
|
210
|
+
|
211
|
+
${chalk_1.default.gray('# Initialize with specific version')}
|
212
|
+
${chalk_1.default.blue('diagramers init api my-new-api --version 1.1.17')}
|
213
|
+
${chalk_1.default.blue('diagramers init admin my-admin-app --version 1.0.0')}
|
214
|
+
|
215
|
+
${chalk_1.default.gray('# Update project to latest version')}
|
216
|
+
${chalk_1.default.blue('diagramers update')}
|
217
|
+
|
218
|
+
${chalk_1.default.gray('# Update to specific version')}
|
219
|
+
${chalk_1.default.blue('diagramers update --version 1.1.17')}
|
220
|
+
|
221
|
+
${chalk_1.default.gray('# Generate new module')}
|
222
|
+
${chalk_1.default.blue('diagramers extend --module products --crud')}
|
223
|
+
|
224
|
+
${chalk_1.default.gray('# Add endpoint to existing module')}
|
225
|
+
${chalk_1.default.blue('diagramers extend --endpoint users:search --method GET')}
|
226
|
+
|
227
|
+
${chalk_1.default.gray('# List available versions')}
|
228
|
+
${chalk_1.default.blue('diagramers versions')}
|
229
|
+
|
230
|
+
${chalk_1.default.bold('Version Information:')}
|
231
|
+
CLI: ${chalk_1.default.green(cliPkg.version)}
|
232
|
+
API: ${chalk_1.default.green(getApiVersion())}
|
233
|
+
Admin: ${chalk_1.default.green(getAdminVersion())}
|
234
|
+
`);
|
235
|
+
// If no command is provided, show help
|
54
236
|
if (!process.argv.slice(2).length) {
|
55
237
|
program.outputHelp();
|
56
238
|
}
|
239
|
+
program.parse(process.argv);
|
57
240
|
//# 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":";;;;;;AAEA,yCAAoC;AACpC,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
export declare class NamingUtils {
|
2
|
+
private static irregularPlurals;
|
3
|
+
private static irregularSingulars;
|
4
|
+
/**
|
5
|
+
* Convert singular to plural with proper rules
|
6
|
+
*/
|
7
|
+
static pluralize(word: string): string;
|
8
|
+
/**
|
9
|
+
* Convert plural to singular with proper rules
|
10
|
+
*/
|
11
|
+
static singularize(word: string): string;
|
12
|
+
/**
|
13
|
+
* Convert to camelCase
|
14
|
+
*/
|
15
|
+
static toCamelCase(str: string): string;
|
16
|
+
/**
|
17
|
+
* Convert to PascalCase
|
18
|
+
*/
|
19
|
+
static toPascalCase(str: string): string;
|
20
|
+
/**
|
21
|
+
* Convert to snake_case
|
22
|
+
*/
|
23
|
+
static toSnakeCase(str: string): string;
|
24
|
+
/**
|
25
|
+
* Convert to kebab-case
|
26
|
+
*/
|
27
|
+
static toKebabCase(str: string): string;
|
28
|
+
/**
|
29
|
+
* Check if character is a vowel
|
30
|
+
*/
|
31
|
+
private static isVowel;
|
32
|
+
/**
|
33
|
+
* Preserve the case pattern of the original word
|
34
|
+
*/
|
35
|
+
private static preserveCase;
|
36
|
+
}
|
37
|
+
//# sourceMappingURL=naming-utils.d.ts.map
|
@@ -0,0 +1,50 @@
|
|
1
|
+
export interface Feature {
|
2
|
+
name: string;
|
3
|
+
description: string;
|
4
|
+
files: string[];
|
5
|
+
dependencies?: string[];
|
6
|
+
}
|
7
|
+
export declare class ProjectExtender {
|
8
|
+
private features;
|
9
|
+
listFeatures(): Promise<void>;
|
10
|
+
addFeature(featureName: string): Promise<void>;
|
11
|
+
generateModule(moduleName: string, options?: any): Promise<void>;
|
12
|
+
generateTable(tableName: string, options?: any): Promise<void>;
|
13
|
+
generateRelations(relationName: string, options?: any): Promise<void>;
|
14
|
+
generateEndpoint(moduleName: string, endpointName: string, options?: any): Promise<void>;
|
15
|
+
private addServiceMethod;
|
16
|
+
private addControllerMethod;
|
17
|
+
private addRoute;
|
18
|
+
private createFeatureStructure;
|
19
|
+
private createFeatureCoreFiles;
|
20
|
+
private generateFeatureController;
|
21
|
+
private generateFeatureService;
|
22
|
+
private generateFeatureTypes;
|
23
|
+
private generateFeatureSchemas;
|
24
|
+
private generateFeatureCore;
|
25
|
+
private generateFeatureConfig;
|
26
|
+
private trackPathRefinements;
|
27
|
+
private createModuleStructure;
|
28
|
+
private createEntity;
|
29
|
+
private createSchema;
|
30
|
+
private createService;
|
31
|
+
private createController;
|
32
|
+
private createRoutes;
|
33
|
+
private generateCRUDOperations;
|
34
|
+
private registerModule;
|
35
|
+
private updateDiagramersConfig;
|
36
|
+
private updateSeeder;
|
37
|
+
private createTableSchema;
|
38
|
+
private createMongoDBSchema;
|
39
|
+
private createSQLSchema;
|
40
|
+
private createRelations;
|
41
|
+
private createMongoDBRelations;
|
42
|
+
private createSQLRelations;
|
43
|
+
private addDependencies;
|
44
|
+
private updateMainConfiguration;
|
45
|
+
private updateServerFile;
|
46
|
+
private updateRoutesIndex;
|
47
|
+
private updatePackageJson;
|
48
|
+
private capitalizeFirst;
|
49
|
+
}
|
50
|
+
//# sourceMappingURL=project-extender.d.ts.map
|
@@ -0,0 +1,21 @@
|
|
1
|
+
export interface InitOptions {
|
2
|
+
template?: string;
|
3
|
+
version?: string;
|
4
|
+
yes?: boolean;
|
5
|
+
}
|
6
|
+
export declare class ProjectInitializer {
|
7
|
+
private templateFiles;
|
8
|
+
constructor();
|
9
|
+
initialize(projectName: string, options: InitOptions): Promise<void>;
|
10
|
+
private initializeAdminProject;
|
11
|
+
private initializeApiProject;
|
12
|
+
private installTemplatePackage;
|
13
|
+
private copyTemplateFiles;
|
14
|
+
private cleanup;
|
15
|
+
private updatePackageJson;
|
16
|
+
private createGitignore;
|
17
|
+
private createReadme;
|
18
|
+
private makeScriptsExecutable;
|
19
|
+
private processTemplate;
|
20
|
+
}
|
21
|
+
//# sourceMappingURL=project-initializer.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"project-initializer.d.ts","sourceRoot":"","sources":["../../src/services/project-initializer.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,CAUnB;;IAMI,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAwB5D,sBAAsB;
|
1
|
+
{"version":3,"file":"project-initializer.d.ts","sourceRoot":"","sources":["../../src/services/project-initializer.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,CAUnB;;IAMI,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAwB5D,sBAAsB;YAyBtB,oBAAoB;YA0BpB,sBAAsB;YA2BtB,iBAAiB;YAwCjB,OAAO;YAcP,iBAAiB;YA8BjB,eAAe;YAyDf,YAAY;YAuEZ,qBAAqB;YAoBrB,eAAe;CAsB9B"}
|
@@ -60,18 +60,18 @@ class ProjectInitializer {
|
|
60
60
|
async initialize(projectName, options) {
|
61
61
|
const projectPath = path.resolve(process.cwd(), projectName);
|
62
62
|
const templateType = options.template || 'api';
|
63
|
-
const targetVersion = options.version || (templateType === 'admin' ? '
|
63
|
+
const targetVersion = options.version || (templateType === 'admin' ? '3.0.17' : 'latest');
|
64
|
+
// Check if project directory already exists
|
65
|
+
if (await fs.pathExists(projectPath)) {
|
66
|
+
throw new Error(`Project directory ${projectName} already exists`);
|
67
|
+
}
|
68
|
+
// Create project directory
|
69
|
+
await fs.ensureDir(projectPath);
|
64
70
|
if (templateType === 'admin') {
|
65
|
-
// Handle admin projects differently
|
71
|
+
// Handle admin projects differently
|
66
72
|
await this.initializeAdminProject(projectPath, projectName, targetVersion, options);
|
67
73
|
}
|
68
74
|
else {
|
69
|
-
// Check if project directory already exists for API projects
|
70
|
-
if (await fs.pathExists(projectPath)) {
|
71
|
-
throw new Error(`Project directory ${projectName} already exists`);
|
72
|
-
}
|
73
|
-
// Create project directory for API projects
|
74
|
-
await fs.ensureDir(projectPath);
|
75
75
|
// Handle API projects (existing logic)
|
76
76
|
await this.initializeApiProject(projectPath, projectName, templateType, targetVersion, options);
|
77
77
|
}
|
@@ -80,18 +80,17 @@ class ProjectInitializer {
|
|
80
80
|
async initializeAdminProject(projectPath, projectName, targetVersion, options) {
|
81
81
|
console.log(chalk_1.default.blue(`🚀 Initializing admin project: ${projectName}`));
|
82
82
|
try {
|
83
|
-
// Use the
|
84
|
-
const adminCommand = `diagramers
|
83
|
+
// Use the admin CLI to initialize the project
|
84
|
+
const adminCommand = `npx @diagramers/admin@${targetVersion} init ${projectName}`;
|
85
85
|
// Add options if provided
|
86
86
|
const commandOptions = [];
|
87
87
|
if (options.yes)
|
88
88
|
commandOptions.push('--yes');
|
89
89
|
const fullCommand = `${adminCommand} ${commandOptions.join(' ')}`;
|
90
90
|
console.log(chalk_1.default.gray(`Executing: ${fullCommand}`));
|
91
|
-
// Run from current directory so admin CLI creates project in the right location
|
92
91
|
(0, child_process_1.execSync)(fullCommand, {
|
93
92
|
stdio: 'inherit',
|
94
|
-
cwd:
|
93
|
+
cwd: path.dirname(projectPath)
|
95
94
|
});
|
96
95
|
console.log(chalk_1.default.green(`✅ Admin project '${projectName}' initialized successfully!`));
|
97
96
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"project-initializer.js","sourceRoot":"","sources":["../../src/services/project-initializer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,2CAA6B;AAC7B,2CAA6B;AAC7B,kDAA0B;AAC1B,iDAAyC;AAQzC,MAAa,kBAAkB;IAa7B;QAZQ,kBAAa,GAAa;YAChC,SAAS;YACT,UAAU;YACV,cAAc;YACd,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,SAAS;YACT,YAAY;YACZ,cAAc;SACf,CAAC;QAGA,qDAAqD;IACvD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,OAAoB;QACxD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE1F,IAAI,
|
1
|
+
{"version":3,"file":"project-initializer.js","sourceRoot":"","sources":["../../src/services/project-initializer.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
export interface UpdateOptions {
|
2
|
+
force?: boolean;
|
3
|
+
backup?: boolean;
|
4
|
+
}
|
5
|
+
export declare class ProjectUpdater {
|
6
|
+
private currentProjectPath;
|
7
|
+
constructor();
|
8
|
+
update(options: UpdateOptions): Promise<void>;
|
9
|
+
private isValidProject;
|
10
|
+
private createBackup;
|
11
|
+
private downloadLatestTemplate;
|
12
|
+
private getUpdateableFiles;
|
13
|
+
private checkConflicts;
|
14
|
+
private performUpdate;
|
15
|
+
private updatePackageJson;
|
16
|
+
private cleanup;
|
17
|
+
}
|
18
|
+
//# sourceMappingURL=project-updater.d.ts.map
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export interface TemplateUpdateOptions {
|
2
|
+
force?: boolean;
|
3
|
+
backup?: boolean;
|
4
|
+
template?: string;
|
5
|
+
version?: string;
|
6
|
+
}
|
7
|
+
export declare class TemplateUpdater {
|
8
|
+
private currentProjectPath;
|
9
|
+
private tempTemplatePath;
|
10
|
+
constructor();
|
11
|
+
update(options: TemplateUpdateOptions): Promise<void>;
|
12
|
+
private isValidProject;
|
13
|
+
private createBackup;
|
14
|
+
private downloadTemplate;
|
15
|
+
private downloadFromNpm;
|
16
|
+
private getUpdateableFiles;
|
17
|
+
private checkConflicts;
|
18
|
+
private performUpdate;
|
19
|
+
private updatePackageJson;
|
20
|
+
private getCurrentProjectVersion;
|
21
|
+
private getTemplateVersion;
|
22
|
+
private cleanup;
|
23
|
+
}
|
24
|
+
//# sourceMappingURL=template-updater.d.ts.map
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@diagramers/cli",
|
3
|
-
"version": "4.0.
|
3
|
+
"version": "4.0.17",
|
4
4
|
"description": "Diagramers CLI - Command-line tools for managing Diagramers projects",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"bin": {
|
@@ -15,7 +15,8 @@
|
|
15
15
|
"dev": "ts-node src/index.ts",
|
16
16
|
"start": "node dist/index.js",
|
17
17
|
"clean": "rm -rf dist",
|
18
|
-
"test": "echo \"No tests specified\" && exit 0"
|
18
|
+
"test": "echo \"No tests specified\" && exit 0",
|
19
|
+
"publish": "./scripts/publish.sh"
|
19
20
|
},
|
20
21
|
"dependencies": {
|
21
22
|
"@types/js-yaml": "^4.0.9",
|
@@ -25,7 +26,6 @@
|
|
25
26
|
"glob": "^10.3.10",
|
26
27
|
"inquirer": "^9.2.12",
|
27
28
|
"js-yaml": "^4.1.0",
|
28
|
-
"make-error": "^1.3.6",
|
29
29
|
"yaml": "^2.3.4"
|
30
30
|
},
|
31
31
|
"devDependencies": {
|