@diagramers/cli 1.0.12 → 1.0.13
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.
@@ -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,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,
|
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,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,aAAa,CASnB;;IAMI,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;YAuC5D,sBAAsB;YAetB,iBAAiB;YAwCjB,OAAO;YAcP,iBAAiB;YA8BjB,eAAe;YAyDf,YAAY;YAsEZ,qBAAqB;YAoBrB,eAAe;CAsB9B"}
|
@@ -45,7 +45,9 @@ const child_process_1 = require("child_process");
|
|
45
45
|
class ProjectInitializer {
|
46
46
|
constructor() {
|
47
47
|
this.templateFiles = [
|
48
|
+
'scripts',
|
48
49
|
'src/**/*',
|
50
|
+
'scripts/**/*',
|
49
51
|
'package.json',
|
50
52
|
'tsconfig.json',
|
51
53
|
'webpack.config.js',
|
@@ -73,6 +75,10 @@ class ProjectInitializer {
|
|
73
75
|
await this.createGitignore(projectPath);
|
74
76
|
// Create README
|
75
77
|
await this.createReadme(projectPath, projectName, templateType);
|
78
|
+
// Make scripts executable
|
79
|
+
await this.makeScriptsExecutable(projectPath);
|
80
|
+
// Process template for project name (update database names, etc.)
|
81
|
+
await this.processTemplate(projectPath, projectName);
|
76
82
|
// Clean up the temporary installation
|
77
83
|
await this.cleanup(projectPath);
|
78
84
|
console.log(chalk_1.default.green(`✅ Project structure created successfully`));
|
@@ -149,6 +155,17 @@ class ProjectInitializer {
|
|
149
155
|
if (packageJson.bin) {
|
150
156
|
delete packageJson.bin;
|
151
157
|
}
|
158
|
+
// Ensure CLI scripts are included
|
159
|
+
if (!packageJson.scripts) {
|
160
|
+
packageJson.scripts = {};
|
161
|
+
}
|
162
|
+
// Add CLI scripts if they don't exist
|
163
|
+
if (!packageJson.scripts['generate:module']) {
|
164
|
+
packageJson.scripts['generate:module'] = './scripts/generate-module.sh';
|
165
|
+
}
|
166
|
+
if (!packageJson.scripts['cli']) {
|
167
|
+
packageJson.scripts['cli'] = './scripts/cli-commands.sh';
|
168
|
+
}
|
152
169
|
await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
|
153
170
|
}
|
154
171
|
}
|
@@ -275,6 +292,44 @@ MIT
|
|
275
292
|
`;
|
276
293
|
await fs.writeFile(path.join(projectPath, 'README.md'), readmeContent);
|
277
294
|
}
|
295
|
+
async makeScriptsExecutable(projectPath) {
|
296
|
+
const scriptsDir = path.join(projectPath, 'scripts');
|
297
|
+
if (await fs.pathExists(scriptsDir)) {
|
298
|
+
try {
|
299
|
+
const scripts = await fs.readdir(scriptsDir);
|
300
|
+
for (const script of scripts) {
|
301
|
+
if (script.endsWith('.sh')) {
|
302
|
+
const scriptPath = path.join(scriptsDir, script);
|
303
|
+
// Make script executable (chmod 755)
|
304
|
+
await fs.chmod(scriptPath, 0o755);
|
305
|
+
console.log(chalk_1.default.blue(`🔧 Made executable: ${script}`));
|
306
|
+
}
|
307
|
+
}
|
308
|
+
}
|
309
|
+
catch (error) {
|
310
|
+
console.log(chalk_1.default.yellow(`⚠️ Warning: Could not make scripts executable: ${error.message}`));
|
311
|
+
}
|
312
|
+
}
|
313
|
+
}
|
314
|
+
async processTemplate(projectPath, projectName) {
|
315
|
+
try {
|
316
|
+
console.log(chalk_1.default.blue(`🔧 Processing template for project: ${projectName}`));
|
317
|
+
// Change to project directory
|
318
|
+
const originalCwd = process.cwd();
|
319
|
+
process.chdir(projectPath);
|
320
|
+
// Run the template processor
|
321
|
+
(0, child_process_1.execSync)(`npm run cli process:template ${projectName}`, {
|
322
|
+
stdio: 'inherit'
|
323
|
+
});
|
324
|
+
// Change back to original directory
|
325
|
+
process.chdir(originalCwd);
|
326
|
+
console.log(chalk_1.default.green(`✅ Template processed successfully`));
|
327
|
+
}
|
328
|
+
catch (error) {
|
329
|
+
console.log(chalk_1.default.yellow(`⚠️ Warning: Could not process template: ${error.message}`));
|
330
|
+
console.log(chalk_1.default.yellow(` You can manually run: npm run cli process:template ${projectName}`));
|
331
|
+
}
|
332
|
+
}
|
278
333
|
}
|
279
334
|
exports.ProjectInitializer = ProjectInitializer;
|
280
335
|
//# sourceMappingURL=project-initializer.js.map
|
@@ -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;AAOzC,MAAa,kBAAkB;
|
1
|
+
{"version":3,"file":"project-initializer.js","sourceRoot":"","sources":["../../src/services/project-initializer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -11,7 +11,9 @@ export interface InitOptions {
|
|
11
11
|
|
12
12
|
export class ProjectInitializer {
|
13
13
|
private templateFiles: string[] = [
|
14
|
+
'scripts',
|
14
15
|
'src/**/*',
|
16
|
+
'scripts/**/*',
|
15
17
|
'package.json',
|
16
18
|
'tsconfig.json',
|
17
19
|
'webpack.config.js',
|
@@ -50,6 +52,12 @@ export class ProjectInitializer {
|
|
50
52
|
// Create README
|
51
53
|
await this.createReadme(projectPath, projectName, templateType);
|
52
54
|
|
55
|
+
// Make scripts executable
|
56
|
+
await this.makeScriptsExecutable(projectPath);
|
57
|
+
|
58
|
+
// Process template for project name (update database names, etc.)
|
59
|
+
await this.processTemplate(projectPath, projectName);
|
60
|
+
|
53
61
|
// Clean up the temporary installation
|
54
62
|
await this.cleanup(projectPath);
|
55
63
|
|
@@ -137,6 +145,19 @@ export class ProjectInitializer {
|
|
137
145
|
if (packageJson.bin) {
|
138
146
|
delete packageJson.bin;
|
139
147
|
}
|
148
|
+
|
149
|
+
// Ensure CLI scripts are included
|
150
|
+
if (!packageJson.scripts) {
|
151
|
+
packageJson.scripts = {};
|
152
|
+
}
|
153
|
+
|
154
|
+
// Add CLI scripts if they don't exist
|
155
|
+
if (!packageJson.scripts['generate:module']) {
|
156
|
+
packageJson.scripts['generate:module'] = './scripts/generate-module.sh';
|
157
|
+
}
|
158
|
+
if (!packageJson.scripts['cli']) {
|
159
|
+
packageJson.scripts['cli'] = './scripts/cli-commands.sh';
|
160
|
+
}
|
140
161
|
|
141
162
|
await fs.writeJson(packageJsonPath, packageJson, { spaces: 2 });
|
142
163
|
}
|
@@ -268,4 +289,47 @@ MIT
|
|
268
289
|
|
269
290
|
await fs.writeFile(path.join(projectPath, 'README.md'), readmeContent);
|
270
291
|
}
|
292
|
+
|
293
|
+
private async makeScriptsExecutable(projectPath: string): Promise<void> {
|
294
|
+
const scriptsDir = path.join(projectPath, 'scripts');
|
295
|
+
|
296
|
+
if (await fs.pathExists(scriptsDir)) {
|
297
|
+
try {
|
298
|
+
const scripts = await fs.readdir(scriptsDir);
|
299
|
+
for (const script of scripts) {
|
300
|
+
if (script.endsWith('.sh')) {
|
301
|
+
const scriptPath = path.join(scriptsDir, script);
|
302
|
+
// Make script executable (chmod 755)
|
303
|
+
await fs.chmod(scriptPath, 0o755);
|
304
|
+
console.log(chalk.blue(`🔧 Made executable: ${script}`));
|
305
|
+
}
|
306
|
+
}
|
307
|
+
} catch (error: any) {
|
308
|
+
console.log(chalk.yellow(`⚠️ Warning: Could not make scripts executable: ${error.message}`));
|
309
|
+
}
|
310
|
+
}
|
311
|
+
}
|
312
|
+
|
313
|
+
private async processTemplate(projectPath: string, projectName: string): Promise<void> {
|
314
|
+
try {
|
315
|
+
console.log(chalk.blue(`🔧 Processing template for project: ${projectName}`));
|
316
|
+
|
317
|
+
// Change to project directory
|
318
|
+
const originalCwd = process.cwd();
|
319
|
+
process.chdir(projectPath);
|
320
|
+
|
321
|
+
// Run the template processor
|
322
|
+
execSync(`npm run cli process:template ${projectName}`, {
|
323
|
+
stdio: 'inherit'
|
324
|
+
});
|
325
|
+
|
326
|
+
// Change back to original directory
|
327
|
+
process.chdir(originalCwd);
|
328
|
+
|
329
|
+
console.log(chalk.green(`✅ Template processed successfully`));
|
330
|
+
} catch (error: any) {
|
331
|
+
console.log(chalk.yellow(`⚠️ Warning: Could not process template: ${error.message}`));
|
332
|
+
console.log(chalk.yellow(` You can manually run: npm run cli process:template ${projectName}`));
|
333
|
+
}
|
334
|
+
}
|
271
335
|
}
|