@diagramers/cli 1.1.5 ā 1.1.7
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 +42 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +12 -2
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +4 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/config/template-config.js +1 -1
- package/dist/config/template-config.js.map +1 -1
- package/dist/index.js +110 -39
- package/dist/index.js.map +1 -1
- package/dist/services/api-generator.js +139 -47
- package/dist/services/api-generator.js.map +1 -1
- package/dist/services/project-extender.d.ts.map +1 -1
- package/dist/services/project-extender.js +3 -31
- package/dist/services/project-extender.js.map +1 -1
- package/dist/services/project-initializer.d.ts +1 -0
- package/dist/services/project-initializer.d.ts.map +1 -1
- package/dist/services/project-initializer.js +5 -4
- package/dist/services/project-initializer.js.map +1 -1
- package/dist/services/project-updater.d.ts +3 -0
- package/dist/services/project-updater.d.ts.map +1 -1
- package/dist/services/project-updater.js +171 -28
- package/dist/services/project-updater.js.map +1 -1
- package/dist/services/template-processor.d.ts.map +1 -1
- package/dist/services/template-processor.js +23 -2
- package/dist/services/template-processor.js.map +1 -1
- package/dist/services/template-updater.d.ts +1 -0
- package/dist/services/template-updater.d.ts.map +1 -1
- package/dist/services/template-updater.js +8 -5
- package/dist/services/template-updater.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
@@ -64,16 +64,24 @@ npm start
|
|
64
64
|
|
65
65
|
#### Initialize New Project
|
66
66
|
```bash
|
67
|
-
diagramers init <template-type> <project-name>
|
67
|
+
diagramers init <template-type> <project-name> [options]
|
68
68
|
```
|
69
69
|
|
70
|
+
**Options:**
|
71
|
+
- `-v, --version <version>` - Specific version of the template to use (e.g., 1.1.17, latest)
|
72
|
+
- `-t, --template <template>` - Template version to use (deprecated, use --version)
|
73
|
+
- `-y, --yes` - Skip prompts and use defaults
|
74
|
+
|
70
75
|
**Examples:**
|
71
76
|
```bash
|
72
|
-
# Create API project
|
77
|
+
# Create API project with latest version
|
73
78
|
diagramers init api my-api-project
|
74
79
|
|
75
|
-
# Create
|
76
|
-
diagramers init
|
80
|
+
# Create API project with specific version
|
81
|
+
diagramers init api my-api-project -v 1.1.17
|
82
|
+
|
83
|
+
# Create admin project with specific version
|
84
|
+
diagramers init admin my-admin-dashboard -v 1.1.16
|
77
85
|
```
|
78
86
|
|
79
87
|
#### Update Project
|
@@ -82,9 +90,39 @@ diagramers update [options]
|
|
82
90
|
```
|
83
91
|
|
84
92
|
**Options:**
|
93
|
+
- `-v, --version <version>` - Specific version to update to (e.g., 1.1.17, latest)
|
85
94
|
- `--force` - Force update even if conflicts detected
|
86
95
|
- `--backup` - Create backup before updating
|
87
96
|
|
97
|
+
**Examples:**
|
98
|
+
```bash
|
99
|
+
# Update to latest version
|
100
|
+
diagramers update
|
101
|
+
|
102
|
+
# Update to specific version
|
103
|
+
diagramers update -v 1.1.17
|
104
|
+
|
105
|
+
# Force update with backup
|
106
|
+
diagramers update -v 1.1.17 --force --backup
|
107
|
+
```
|
108
|
+
|
109
|
+
#### List Available Versions
|
110
|
+
```bash
|
111
|
+
diagramers versions [options]
|
112
|
+
```
|
113
|
+
|
114
|
+
**Options:**
|
115
|
+
- `-a, --all` - Show all versions (default: show last 10)
|
116
|
+
|
117
|
+
**Examples:**
|
118
|
+
```bash
|
119
|
+
# Show last 10 versions
|
120
|
+
diagramers versions
|
121
|
+
|
122
|
+
# Show all available versions
|
123
|
+
diagramers versions --all
|
124
|
+
```
|
125
|
+
|
88
126
|
### Module Management
|
89
127
|
|
90
128
|
#### Generate Module
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAuC3C"}
|
package/dist/commands/init.js
CHANGED
@@ -10,7 +10,8 @@ function initCommand(program) {
|
|
10
10
|
program
|
11
11
|
.command('init <template-type> <project-name>')
|
12
12
|
.description('Initialize a new project from the template')
|
13
|
-
.option('-
|
13
|
+
.option('-v, --version <version>', 'Specific version of the template to use (e.g., 1.1.17, latest)', 'latest')
|
14
|
+
.option('-t, --template <template>', 'Template version to use (deprecated, use --version)', 'latest')
|
14
15
|
.option('-y, --yes', 'Skip prompts and use defaults')
|
15
16
|
.action(async (templateType, projectName, options) => {
|
16
17
|
try {
|
@@ -19,8 +20,17 @@ function initCommand(program) {
|
|
19
20
|
if (templateType !== 'api' && templateType !== 'admin') {
|
20
21
|
throw new Error(`Unsupported template type: ${templateType}. Supported types: api, admin`);
|
21
22
|
}
|
23
|
+
// Use --version option, fallback to --template for backwards compatibility
|
24
|
+
const targetVersion = options.version || options.template;
|
25
|
+
if (targetVersion && targetVersion !== 'latest') {
|
26
|
+
console.log(chalk_1.default.yellow(`š Using @diagramers/${templateType} version: ${targetVersion}`));
|
27
|
+
}
|
22
28
|
const initializer = new project_initializer_1.ProjectInitializer();
|
23
|
-
await initializer.initialize(projectName, {
|
29
|
+
await initializer.initialize(projectName, {
|
30
|
+
...options,
|
31
|
+
template: templateType,
|
32
|
+
version: targetVersion
|
33
|
+
});
|
24
34
|
console.log(chalk_1.default.green(`ā
Project ${projectName} initialized successfully!`));
|
25
35
|
console.log(chalk_1.default.yellow(`š Navigate to the project: cd ${projectName}`));
|
26
36
|
console.log(chalk_1.default.yellow(`š§ Install dependencies: npm install`));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAIA,
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":";;;;;AAIA,kCAuCC;AA1CD,yEAAqE;AACrE,kDAA0B;AAE1B,SAAgB,WAAW,CAAC,OAAgB;IAC1C,OAAO;SACJ,OAAO,CAAC,qCAAqC,CAAC;SAC9C,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,yBAAyB,EAAE,gEAAgE,EAAE,QAAQ,CAAC;SAC7G,MAAM,CAAC,2BAA2B,EAAE,qDAAqD,EAAE,QAAQ,CAAC;SACpG,MAAM,CAAC,WAAW,EAAE,+BAA+B,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,WAAmB,EAAE,OAAY,EAAE,EAAE;QACxE,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,YAAY,aAAa,WAAW,EAAE,CAAC,CAAC,CAAC;YAEvF,yBAAyB;YACzB,IAAI,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,OAAO,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,+BAA+B,CAAC,CAAC;YAC7F,CAAC;YAED,2EAA2E;YAC3E,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;YAE1D,IAAI,aAAa,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,YAAY,aAAa,aAAa,EAAE,CAAC,CAAC,CAAC;YAC9F,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,wCAAkB,EAAE,CAAC;YAC7C,MAAM,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE;gBACxC,GAAG,OAAO;gBACV,QAAQ,EAAE,YAAY;gBACtB,OAAO,EAAE,aAAa;aACvB,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,WAAW,4BAA4B,CAAC,CAAC,CAAC;YAC/E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,QAyB7C"}
|
package/dist/commands/update.js
CHANGED
@@ -10,11 +10,15 @@ function updateCommand(program) {
|
|
10
10
|
program
|
11
11
|
.command('update')
|
12
12
|
.description('Update existing project with latest template features')
|
13
|
+
.option('-v, --version <version>', 'Specific version to update to (e.g., 1.1.17, latest)', 'latest')
|
13
14
|
.option('-f, --force', 'Force update even if conflicts detected')
|
14
15
|
.option('-b, --backup', 'Create backup before updating')
|
15
16
|
.action(async (options) => {
|
16
17
|
try {
|
17
18
|
console.log(chalk_1.default.blue('š Checking for template updates...'));
|
19
|
+
if (options.version && options.version !== 'latest') {
|
20
|
+
console.log(chalk_1.default.yellow(`š Updating to version: ${options.version}`));
|
21
|
+
}
|
18
22
|
const updater = new template_updater_1.TemplateUpdater();
|
19
23
|
await updater.update(options);
|
20
24
|
console.log(chalk_1.default.green('ā
Project updated successfully!'));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;;;;AAIA,
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;;;;AAIA,sCAyBC;AA5BD,mEAA+D;AAC/D,kDAA0B;AAE1B,SAAgB,aAAa,CAAC,OAAgB;IAC5C,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,yBAAyB,EAAE,sDAAsD,EAAE,QAAQ,CAAC;SACnG,MAAM,CAAC,aAAa,EAAE,yCAAyC,CAAC;SAChE,MAAM,CAAC,cAAc,EAAE,+BAA+B,CAAC;SACvD,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;YAE/D,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2BAA2B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,kCAAe,EAAE,CAAC;YACtC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAE9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"template-config.js","sourceRoot":"","sources":["../../src/config/template-config.ts"],"names":[],"mappings":";;;AAoBa,QAAA,cAAc,GAAmB;IAC5C,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yEAAyE;IAEtF,KAAK,EAAE;QACL,OAAO,EAAE;YACP,UAAU;YACV,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,SAAS;YACT,YAAY;SACb;QACD,OAAO,EAAE;YACP,iBAAiB;YACjB,SAAS;YACT,QAAQ;YACR,SAAS;YACT,aAAa;YACb,OAAO;YACP,MAAM;YACN,YAAY;YACZ,wBAAwB;YACxB,iBAAiB;YACjB,uBAAuB;SACxB;QACD,UAAU,EAAE;YACV,kBAAkB;YAClB,iBAAiB;YACjB,iBAAiB;YACjB,mBAAmB;YACnB,eAAe;YACf,
|
1
|
+
{"version":3,"file":"template-config.js","sourceRoot":"","sources":["../../src/config/template-config.ts"],"names":[],"mappings":";;;AAoBa,QAAA,cAAc,GAAmB;IAC5C,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,yEAAyE;IAEtF,KAAK,EAAE;QACL,OAAO,EAAE;YACP,UAAU;YACV,cAAc;YACd,eAAe;YACf,mBAAmB;YACnB,SAAS;YACT,YAAY;SACb;QACD,OAAO,EAAE;YACP,iBAAiB;YACjB,SAAS;YACT,QAAQ;YACR,SAAS;YACT,aAAa;YACb,OAAO;YACP,MAAM;YACN,YAAY;YACZ,wBAAwB;YACxB,iBAAiB;YACjB,uBAAuB;SACxB;QACD,UAAU,EAAE;YACV,kBAAkB;YAClB,iBAAiB;YACjB,iBAAiB;YACjB,mBAAmB;YACnB,eAAe;YACf,cAAc;SACf;QACD,YAAY,EAAE;YACZ,sBAAsB;YACtB,mBAAmB;YACnB,iBAAiB;YACjB,mBAAmB;YACnB,kBAAkB;YAClB,SAAS;SACV;KACF;IAED,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE,iCAAiC;YAC9C,YAAY,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;YACpF,KAAK,EAAE;gBACL,wBAAwB;gBACxB,qBAAqB;aACtB;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,0CAA0C;YACvD,YAAY,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,mBAAmB,CAAC;YAC/D,KAAK,EAAE;gBACL,yBAAyB;gBACzB,uBAAuB;gBACvB,mCAAmC;aACpC;SACF;QACD,MAAM,EAAE;YACN,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,wCAAwC;YACrD,YAAY,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;YAC/C,KAAK,EAAE;gBACL,0BAA0B;gBAC1B,sCAAsC;aACvC;SACF;QACD,IAAI,EAAE;YACJ,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,qCAAqC;YAClD,YAAY,EAAE,CAAC,WAAW,EAAE,kBAAkB,CAAC;YAC/C,KAAK,EAAE;gBACL,wBAAwB;gBACxB,2BAA2B;aAC5B;SACF;QACD,KAAK,EAAE;YACL,IAAI,EAAE,eAAe;YACrB,WAAW,EAAE,oCAAoC;YACjD,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE;gBACL,yBAAyB;gBACzB,uBAAuB;gBACvB,sBAAsB;gBACtB,+BAA+B;aAChC;SACF;KACF;CACF,CAAC"}
|
package/dist/index.js
CHANGED
@@ -11,12 +11,21 @@ const extend_1 = require("./commands/extend");
|
|
11
11
|
const chalk_1 = __importDefault(require("chalk"));
|
12
12
|
const fs_1 = require("fs");
|
13
13
|
const path_1 = require("path");
|
14
|
+
const child_process_1 = require("child_process");
|
14
15
|
const program = new commander_1.Command();
|
15
16
|
// Dynamically read CLI version
|
16
17
|
const cliPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '..', 'package.json'), 'utf8'));
|
17
18
|
// Function to get API version from current project or global installation
|
18
19
|
function getApiVersion() {
|
19
|
-
//
|
20
|
+
// Check if we're in a diagramers API project directory (development scenario)
|
21
|
+
try {
|
22
|
+
const projectPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'package.json'), 'utf8'));
|
23
|
+
if (projectPkg.name === '@diagramers/api') {
|
24
|
+
return `${projectPkg.version} (development)`;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
catch { }
|
28
|
+
// Try to read from current project's node_modules first
|
20
29
|
try {
|
21
30
|
const projectApiPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'node_modules', '@diagramers', 'api', 'package.json'), 'utf8'));
|
22
31
|
return `${projectApiPkg.version} (project)`;
|
@@ -28,15 +37,27 @@ function getApiVersion() {
|
|
28
37
|
return `${globalApiPkg.version} (global)`;
|
29
38
|
}
|
30
39
|
catch { }
|
31
|
-
// Check if we're in a project
|
40
|
+
// Check if we're in a project created from diagramers template
|
32
41
|
try {
|
33
42
|
const projectPkg = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(process.cwd(), 'package.json'), 'utf8'));
|
34
|
-
if
|
35
|
-
|
36
|
-
|
43
|
+
// Check if it's a diagramers project by structure and package.json content
|
44
|
+
const hasApiStructure = (0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'modules')) &&
|
45
|
+
(0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'core')) &&
|
46
|
+
(0, fs_1.existsSync)((0, path_1.join)(process.cwd(), 'src', 'shared'));
|
47
|
+
if (hasApiStructure ||
|
48
|
+
(projectPkg.name && projectPkg.name.includes('diagramers')) ||
|
49
|
+
(projectPkg.description && projectPkg.description.includes('diagramers')) ||
|
50
|
+
(projectPkg.description && projectPkg.description.includes('API project'))) {
|
51
|
+
return `${projectPkg.version} (project template)`;
|
37
52
|
}
|
38
53
|
}
|
39
54
|
catch { }
|
55
|
+
// Try to check if it's available via npm (last resort)
|
56
|
+
try {
|
57
|
+
const npmVersion = (0, child_process_1.execSync)('npm view @diagramers/api version', { encoding: 'utf8', timeout: 5000 }).trim();
|
58
|
+
return `${npmVersion} (available on npm)`;
|
59
|
+
}
|
60
|
+
catch { }
|
40
61
|
return 'not installed';
|
41
62
|
}
|
42
63
|
program
|
@@ -61,46 +82,96 @@ program
|
|
61
82
|
}
|
62
83
|
catch { }
|
63
84
|
});
|
85
|
+
// Add commands
|
64
86
|
(0, init_1.initCommand)(program);
|
65
87
|
(0, update_1.updateCommand)(program);
|
66
88
|
(0, extend_1.extendCommand)(program);
|
89
|
+
// Add versions command
|
90
|
+
program
|
91
|
+
.command('versions')
|
92
|
+
.description('List available versions of @diagramers/api')
|
93
|
+
.option('-a, --all', 'Show all versions (default: show last 10)')
|
94
|
+
.action(async (options) => {
|
95
|
+
try {
|
96
|
+
console.log(chalk_1.default.blue('š¦ Fetching available versions of @diagramers/api...'));
|
97
|
+
const versionsOutput = (0, child_process_1.execSync)('npm view @diagramers/api versions --json', {
|
98
|
+
encoding: 'utf8',
|
99
|
+
timeout: 10000
|
100
|
+
});
|
101
|
+
const versions = JSON.parse(versionsOutput);
|
102
|
+
console.log(chalk_1.default.green('\nā
Available versions:'));
|
103
|
+
if (Array.isArray(versions)) {
|
104
|
+
const displayVersions = options.all ? versions : versions.slice(-10);
|
105
|
+
displayVersions.forEach((version) => {
|
106
|
+
console.log(chalk_1.default.yellow(` ${version}`));
|
107
|
+
});
|
108
|
+
if (!options.all && versions.length > 10) {
|
109
|
+
console.log(chalk_1.default.gray(`\n ... and ${versions.length - 10} more versions`));
|
110
|
+
console.log(chalk_1.default.gray(' Use --all to see all versions'));
|
111
|
+
}
|
112
|
+
}
|
113
|
+
else {
|
114
|
+
console.log(chalk_1.default.yellow(` ${versions}`));
|
115
|
+
}
|
116
|
+
// Show current version
|
117
|
+
try {
|
118
|
+
const currentVersion = (0, child_process_1.execSync)('npm view @diagramers/api version', {
|
119
|
+
encoding: 'utf8',
|
120
|
+
timeout: 5000
|
121
|
+
}).trim();
|
122
|
+
console.log(chalk_1.default.green(`\nš Latest version: ${currentVersion}`));
|
123
|
+
}
|
124
|
+
catch (error) {
|
125
|
+
// Ignore if we can't get current version
|
126
|
+
}
|
127
|
+
console.log(chalk_1.default.blue('\nš Usage examples:'));
|
128
|
+
console.log(chalk_1.default.gray(' diagramers init api my-project --version 1.1.17'));
|
129
|
+
console.log(chalk_1.default.gray(' diagramers update --version 1.1.17'));
|
130
|
+
}
|
131
|
+
catch (error) {
|
132
|
+
console.error(chalk_1.default.red(`ā Failed to fetch versions: ${error.message}`));
|
133
|
+
console.log(chalk_1.default.yellow('š” Make sure you have internet connection and npm is installed'));
|
134
|
+
// Fallback: try to get just the latest version
|
135
|
+
try {
|
136
|
+
console.log(chalk_1.default.blue('\nš Trying to get latest version...'));
|
137
|
+
const latestVersion = (0, child_process_1.execSync)('npm view @diagramers/api version', {
|
138
|
+
encoding: 'utf8',
|
139
|
+
timeout: 5000
|
140
|
+
}).trim();
|
141
|
+
console.log(chalk_1.default.green(`ā
Latest version: ${latestVersion}`));
|
142
|
+
}
|
143
|
+
catch (fallbackError) {
|
144
|
+
console.log(chalk_1.default.red('ā Could not fetch any version information'));
|
145
|
+
}
|
146
|
+
process.exit(1);
|
147
|
+
}
|
148
|
+
});
|
67
149
|
program.addHelpText('after', `
|
68
150
|
${chalk_1.default.bold('Examples:')}
|
151
|
+
${chalk_1.default.gray('# Initialize new API project')}
|
152
|
+
${chalk_1.default.blue('diagramers init api my-new-api')}
|
153
|
+
|
154
|
+
${chalk_1.default.gray('# Initialize with specific version')}
|
155
|
+
${chalk_1.default.blue('diagramers init api my-new-api --version 1.1.17')}
|
156
|
+
|
157
|
+
${chalk_1.default.gray('# Update project to latest version')}
|
158
|
+
${chalk_1.default.blue('diagramers update')}
|
159
|
+
|
160
|
+
${chalk_1.default.gray('# Update to specific version')}
|
161
|
+
${chalk_1.default.blue('diagramers update --version 1.1.17')}
|
162
|
+
|
163
|
+
${chalk_1.default.gray('# Generate new module')}
|
164
|
+
${chalk_1.default.blue('diagramers extend --module products --crud')}
|
165
|
+
|
166
|
+
${chalk_1.default.gray('# Add endpoint to existing module')}
|
167
|
+
${chalk_1.default.blue('diagramers extend --endpoint users:search --method GET')}
|
168
|
+
|
169
|
+
${chalk_1.default.gray('# List available versions')}
|
170
|
+
${chalk_1.default.blue('diagramers versions')}
|
69
171
|
|
70
|
-
${chalk_1.default.
|
71
|
-
$
|
72
|
-
$
|
73
|
-
$ diagramers update # Update project templates
|
74
|
-
|
75
|
-
${chalk_1.default.cyan('Module Management:')}
|
76
|
-
$ diagramers extend --module products --crud # Generate module with CRUD
|
77
|
-
$ diagramers extend --module users --fields email,username,role
|
78
|
-
|
79
|
-
${chalk_1.default.cyan('Table Management:')}
|
80
|
-
$ diagramers extend --table products:categories --fields name,description,slug
|
81
|
-
$ diagramers extend --table users:profiles --fields bio,avatar,birth_date
|
82
|
-
|
83
|
-
${chalk_1.default.cyan('Endpoint Management:')}
|
84
|
-
$ diagramers extend --endpoint products:search --method GET
|
85
|
-
$ diagramers extend --endpoint users:reset-password --method POST
|
86
|
-
|
87
|
-
${chalk_1.default.cyan('Relation Management:')}
|
88
|
-
$ diagramers extend --relation products:category-product
|
89
|
-
$ diagramers extend --relation users:user-profile:one-to-one
|
90
|
-
$ diagramers extend --relation products:product-tag:many-to-many
|
91
|
-
|
92
|
-
${chalk_1.default.cyan('Other Commands:')}
|
93
|
-
$ diagramers extend --list # List available features
|
94
|
-
$ diagramers extend --feature auth # Add authentication feature
|
95
|
-
|
96
|
-
${chalk_1.default.bold('Workflow Example:')}
|
97
|
-
$ diagramers init api ecommerce-api # 1. Create project
|
98
|
-
$ cd ecommerce-api # 2. Navigate to project
|
99
|
-
$ diagramers extend --module products --crud # 3. Generate module
|
100
|
-
$ diagramers extend --table products:categories --fields name,description
|
101
|
-
$ diagramers extend --table products:products --fields name,price,category_id
|
102
|
-
$ diagramers extend --relation products:category-product
|
103
|
-
$ npm install && npm start # 4. Install & start
|
172
|
+
${chalk_1.default.bold('Version Information:')}
|
173
|
+
CLI: ${chalk_1.default.green(cliPkg.version)}
|
174
|
+
API: ${chalk_1.default.green(getApiVersion())}
|
104
175
|
`);
|
105
176
|
// If no command is provided, show help
|
106
177
|
if (!process.argv.slice(2).length) {
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,8CAAkD;AAClD,8CAAkD;AAClD,kDAA0B;AAC1B,2BAA8C;AAC9C,+BAA4B;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|