cloud-function-cli 1.0.0 → 1.0.1
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 +21 -0
- package/dist/cli/list.js +66 -0
- package/dist/index.js +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -186,6 +186,27 @@ cf rollback user/login 2 --env dev
|
|
|
186
186
|
- `<version>`: 目标版本号
|
|
187
187
|
- `-e, --env <env>`: 环境选择(dev/prod,默认 dev)
|
|
188
188
|
|
|
189
|
+
### `cf list [group]`
|
|
190
|
+
|
|
191
|
+
列出指定环境下的分组或某个分组下的所有 API。
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# 列出所有 group(默认 dev)
|
|
195
|
+
cf list
|
|
196
|
+
|
|
197
|
+
# 列出所有 group(生产环境)
|
|
198
|
+
cf list --env prod
|
|
199
|
+
|
|
200
|
+
# 列出指定 group 下的所有 API(默认 dev)
|
|
201
|
+
cf list user
|
|
202
|
+
|
|
203
|
+
# 列出指定 group 下的所有 API(生产环境)
|
|
204
|
+
cf list user --env prod
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
参数:
|
|
208
|
+
- `-e, --env <env>`: 环境选择(dev/prod,默认 dev)
|
|
209
|
+
|
|
189
210
|
## ⚙️ 配置
|
|
190
211
|
|
|
191
212
|
登录后,配置文件会自动创建在用户目录下的 `.cloud-function/config.json`:
|
package/dist/cli/list.js
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.list = void 0;
|
|
4
|
+
const apiClient_1 = require("../services/apiClient");
|
|
5
|
+
const config_1 = require("../utils/config");
|
|
6
|
+
const logger_1 = require("../utils/logger");
|
|
7
|
+
const resolveEnvironment = (options) => {
|
|
8
|
+
const cfg = config_1.config.get();
|
|
9
|
+
const environment = options.env || cfg.environment || 'dev';
|
|
10
|
+
if (environment !== 'dev' && environment !== 'prod') {
|
|
11
|
+
throw new Error('Invalid environment, must be dev or prod');
|
|
12
|
+
}
|
|
13
|
+
return environment;
|
|
14
|
+
};
|
|
15
|
+
const list = async (group, options) => {
|
|
16
|
+
let environment;
|
|
17
|
+
try {
|
|
18
|
+
environment = resolveEnvironment(options);
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
logger_1.logger.error(error.message);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (!group) {
|
|
25
|
+
try {
|
|
26
|
+
const res = await apiClient_1.apiClient.get('/api/management/groups', { environment });
|
|
27
|
+
const groups = Array.isArray(res.data) ? res.data : [];
|
|
28
|
+
if (groups.length === 0) {
|
|
29
|
+
logger_1.logger.warn(`No groups found (${environment})`);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
logger_1.logger.info(`Groups (${environment}):`);
|
|
33
|
+
groups
|
|
34
|
+
.slice()
|
|
35
|
+
.sort((a, b) => String(a).localeCompare(String(b)))
|
|
36
|
+
.forEach((g) => logger_1.logger.info(` ${g}`));
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
logger_1.logger.error(`Failed to list groups: ${error.response?.data?.error || error.message}`);
|
|
40
|
+
}
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const normalizedGroup = String(group).trim();
|
|
44
|
+
if (!normalizedGroup) {
|
|
45
|
+
logger_1.logger.error('Group name is empty');
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
try {
|
|
49
|
+
const res = await apiClient_1.apiClient.get(`/api/management/list/${encodeURIComponent(normalizedGroup)}`, { environment });
|
|
50
|
+
const apis = Array.isArray(res.data) ? res.data : [];
|
|
51
|
+
const apiNames = apis.map((x) => x?.api).filter(Boolean);
|
|
52
|
+
if (apiNames.length === 0) {
|
|
53
|
+
logger_1.logger.warn(`No APIs found in group ${normalizedGroup} (${environment})`);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
logger_1.logger.info(`APIs in ${normalizedGroup} (${environment}):`);
|
|
57
|
+
apiNames
|
|
58
|
+
.slice()
|
|
59
|
+
.sort((a, b) => String(a).localeCompare(String(b)))
|
|
60
|
+
.forEach((name) => logger_1.logger.info(` ${name}`));
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
logger_1.logger.error(`Failed to list APIs: ${error.response?.data?.error || error.message}`);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
exports.list = list;
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@ const save_1 = require("./cli/save");
|
|
|
8
8
|
const get_1 = require("./cli/get");
|
|
9
9
|
const history_1 = require("./cli/history");
|
|
10
10
|
const rollback_1 = require("./cli/rollback");
|
|
11
|
+
const list_1 = require("./cli/list");
|
|
11
12
|
const program = new commander_1.Command();
|
|
12
13
|
program
|
|
13
14
|
.name('cf')
|
|
@@ -41,4 +42,9 @@ program
|
|
|
41
42
|
.description('Rollback to a specific version')
|
|
42
43
|
.option('-e, --env <env>', 'Environment (dev/prod)')
|
|
43
44
|
.action(rollback_1.rollback);
|
|
45
|
+
program
|
|
46
|
+
.command('list [group]')
|
|
47
|
+
.description('List groups or APIs in a group')
|
|
48
|
+
.option('-e, --env <env>', 'Environment (dev/prod)')
|
|
49
|
+
.action(list_1.list);
|
|
44
50
|
program.parse(process.argv);
|