needware-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/bin/cli.js +8 -18
- package/dist/commands/agent.d.ts +3 -3
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +44 -84
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/config.d.ts +4 -4
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +28 -35
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/example.d.ts +4 -4
- package/dist/commands/example.d.ts.map +1 -1
- package/dist/commands/example.js +27 -34
- package/dist/commands/example.js.map +1 -1
- package/dist/commands/index.d.ts +4 -4
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +4 -11
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts +4 -4
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +27 -34
- package/dist/commands/init.js.map +1 -1
- package/dist/core/cli.d.ts +2 -2
- package/dist/core/cli.d.ts.map +1 -1
- package/dist/core/cli.js +18 -25
- package/dist/core/cli.js.map +1 -1
- package/dist/core/command.d.ts +2 -2
- package/dist/core/command.d.ts.map +1 -1
- package/dist/core/command.js +6 -10
- package/dist/core/command.js.map +1 -1
- package/dist/core/logger.js +14 -54
- package/dist/core/logger.js.map +1 -1
- package/dist/index.d.ts +10 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -54
- package/dist/index.js.map +1 -1
- package/dist/sdk/base-sdk.d.ts +2 -2
- package/dist/sdk/base-sdk.d.ts.map +1 -1
- package/dist/sdk/base-sdk.js +1 -5
- package/dist/sdk/base-sdk.js.map +1 -1
- package/dist/sdk/example-sdk.d.ts +3 -3
- package/dist/sdk/example-sdk.d.ts.map +1 -1
- package/dist/sdk/example-sdk.js +10 -17
- package/dist/sdk/example-sdk.js.map +1 -1
- package/dist/sdk/index.d.ts +4 -4
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +6 -12
- package/dist/sdk/index.js.map +1 -1
- package/dist/types/command.js +2 -5
- package/dist/types/command.js.map +1 -1
- package/dist/types/config.js +1 -2
- package/dist/types/config.js.map +1 -1
- package/dist/types/error.js +3 -7
- package/dist/types/error.js.map +1 -1
- package/dist/types/index.d.ts +4 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -19
- package/dist/types/index.js.map +1 -1
- package/dist/types/sdk.js +1 -2
- package/dist/types/sdk.js.map +1 -1
- package/dist/utils/config.d.ts +1 -1
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +13 -50
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/file.js +4 -41
- package/dist/utils/file.js.map +1 -1
- package/dist/utils/validator.js +1 -5
- package/dist/utils/validator.js.map +1 -1
- package/package.json +4 -3
package/dist/commands/example.js
CHANGED
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* 示例命令
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
exports.ExampleCommand = void 0;
|
|
10
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
-
const ora_1 = __importDefault(require("ora"));
|
|
12
|
-
const command_1 = require("../core/command");
|
|
13
|
-
class ExampleCommand extends command_1.Command {
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import { Command } from '../core/command.js';
|
|
7
|
+
export class ExampleCommand extends Command {
|
|
14
8
|
name = 'example';
|
|
15
9
|
description = '示例命令 - 演示 SDK 调用';
|
|
16
10
|
aliases = ['ex'];
|
|
@@ -45,7 +39,7 @@ class ExampleCommand extends command_1.Command {
|
|
|
45
39
|
if (!id) {
|
|
46
40
|
return this.error('Please provide a data ID');
|
|
47
41
|
}
|
|
48
|
-
const spinner = (
|
|
42
|
+
const spinner = ora('获取数据中...').start();
|
|
49
43
|
try {
|
|
50
44
|
// 获取 SDK
|
|
51
45
|
const sdk = this.sdkManager.getSDK('example');
|
|
@@ -57,14 +51,14 @@ class ExampleCommand extends command_1.Command {
|
|
|
57
51
|
// 调用 API
|
|
58
52
|
spinner.text = `获取数据 (ID: ${id})...`;
|
|
59
53
|
const data = await sdk.fetchData(id);
|
|
60
|
-
spinner.succeed(
|
|
61
|
-
console.log(
|
|
54
|
+
spinner.succeed(chalk.green('数据获取成功'));
|
|
55
|
+
console.log(chalk.blue('\n📦 数据内容:'));
|
|
62
56
|
console.log(JSON.stringify(data, null, 2));
|
|
63
57
|
console.log();
|
|
64
58
|
return this.success('Data fetched successfully', { id, data });
|
|
65
59
|
}
|
|
66
60
|
catch (error) {
|
|
67
|
-
spinner.fail(
|
|
61
|
+
spinner.fail(chalk.red('数据获取失败'));
|
|
68
62
|
throw error;
|
|
69
63
|
}
|
|
70
64
|
}
|
|
@@ -82,7 +76,7 @@ class ExampleCommand extends command_1.Command {
|
|
|
82
76
|
catch {
|
|
83
77
|
return this.error('Invalid JSON format');
|
|
84
78
|
}
|
|
85
|
-
const spinner = (
|
|
79
|
+
const spinner = ora('创建数据中...').start();
|
|
86
80
|
try {
|
|
87
81
|
// 获取 SDK
|
|
88
82
|
const sdk = this.sdkManager.getSDK('example');
|
|
@@ -94,14 +88,14 @@ class ExampleCommand extends command_1.Command {
|
|
|
94
88
|
// 调用 API
|
|
95
89
|
spinner.text = '创建数据...';
|
|
96
90
|
const result = await sdk.createData(data);
|
|
97
|
-
spinner.succeed(
|
|
98
|
-
console.log(
|
|
91
|
+
spinner.succeed(chalk.green('数据创建成功'));
|
|
92
|
+
console.log(chalk.blue('\n📦 创建结果:'));
|
|
99
93
|
console.log(JSON.stringify(result, null, 2));
|
|
100
94
|
console.log();
|
|
101
95
|
return this.success('Data created successfully', { result });
|
|
102
96
|
}
|
|
103
97
|
catch (error) {
|
|
104
|
-
spinner.fail(
|
|
98
|
+
spinner.fail(chalk.red('数据创建失败'));
|
|
105
99
|
throw error;
|
|
106
100
|
}
|
|
107
101
|
}
|
|
@@ -109,26 +103,26 @@ class ExampleCommand extends command_1.Command {
|
|
|
109
103
|
* 检查健康状态
|
|
110
104
|
*/
|
|
111
105
|
async checkHealth() {
|
|
112
|
-
const spinner = (
|
|
106
|
+
const spinner = ora('检查 SDK 健康状态...').start();
|
|
113
107
|
try {
|
|
114
108
|
const healthStatus = await this.sdkManager.checkHealth();
|
|
115
|
-
spinner.succeed(
|
|
116
|
-
console.log(
|
|
109
|
+
spinner.succeed(chalk.green('健康检查完成'));
|
|
110
|
+
console.log(chalk.blue('\n🏥 健康状态:\n'));
|
|
117
111
|
for (const [name, status] of Object.entries(healthStatus)) {
|
|
118
112
|
const icon = status.healthy ? '✅' : '❌';
|
|
119
|
-
const color = status.healthy ?
|
|
113
|
+
const color = status.healthy ? chalk.green : chalk.red;
|
|
120
114
|
console.log(color(`${icon} ${name}:`));
|
|
121
|
-
console.log(
|
|
115
|
+
console.log(chalk.gray(` 状态: ${status.healthy ? '健康' : '不健康'}`));
|
|
122
116
|
if (status.message) {
|
|
123
|
-
console.log(
|
|
117
|
+
console.log(chalk.gray(` 消息: ${status.message}`));
|
|
124
118
|
}
|
|
125
|
-
console.log(
|
|
119
|
+
console.log(chalk.gray(` 时间: ${status.timestamp}`));
|
|
126
120
|
console.log();
|
|
127
121
|
}
|
|
128
122
|
return this.success('Health check completed', { healthStatus });
|
|
129
123
|
}
|
|
130
124
|
catch (error) {
|
|
131
|
-
spinner.fail(
|
|
125
|
+
spinner.fail(chalk.red('健康检查失败'));
|
|
132
126
|
throw error;
|
|
133
127
|
}
|
|
134
128
|
}
|
|
@@ -136,19 +130,18 @@ class ExampleCommand extends command_1.Command {
|
|
|
136
130
|
* 显示帮助信息
|
|
137
131
|
*/
|
|
138
132
|
showHelp() {
|
|
139
|
-
console.log(
|
|
140
|
-
console.log(
|
|
133
|
+
console.log(chalk.blue('\n📖 示例命令帮助:\n'));
|
|
134
|
+
console.log(chalk.cyan('用法:'));
|
|
141
135
|
console.log(' needware-cli example <action> [options]\n');
|
|
142
|
-
console.log(
|
|
136
|
+
console.log(chalk.cyan('操作:'));
|
|
143
137
|
console.log(' fetch <id> 获取数据');
|
|
144
138
|
console.log(' create <json> 创建数据');
|
|
145
139
|
console.log(' health 检查 SDK 健康状态\n');
|
|
146
|
-
console.log(
|
|
147
|
-
console.log(
|
|
148
|
-
console.log(
|
|
149
|
-
console.log(
|
|
140
|
+
console.log(chalk.cyan('示例:'));
|
|
141
|
+
console.log(chalk.gray(' needware-cli example fetch 123'));
|
|
142
|
+
console.log(chalk.gray(' needware-cli example create \'{"name":"test"}\''));
|
|
143
|
+
console.log(chalk.gray(' needware-cli example health\n'));
|
|
150
144
|
return this.success('Help shown');
|
|
151
145
|
}
|
|
152
146
|
}
|
|
153
|
-
exports.ExampleCommand = ExampleCommand;
|
|
154
147
|
//# sourceMappingURL=example.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/commands/example.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/commands/example.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 命令导出
|
|
3
3
|
*/
|
|
4
|
-
export { InitCommand } from './init';
|
|
5
|
-
export { ConfigCommand } from './config';
|
|
6
|
-
export { ExampleCommand } from './example';
|
|
7
|
-
export { AgentCommand } from './agent';
|
|
4
|
+
export { InitCommand } from './init.js';
|
|
5
|
+
export { ConfigCommand } from './config.js';
|
|
6
|
+
export { ExampleCommand } from './example.js';
|
|
7
|
+
export { AgentCommand } from './agent.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* 命令导出
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var config_1 = require("./config");
|
|
10
|
-
Object.defineProperty(exports, "ConfigCommand", { enumerable: true, get: function () { return config_1.ConfigCommand; } });
|
|
11
|
-
var example_1 = require("./example");
|
|
12
|
-
Object.defineProperty(exports, "ExampleCommand", { enumerable: true, get: function () { return example_1.ExampleCommand; } });
|
|
13
|
-
var agent_1 = require("./agent");
|
|
14
|
-
Object.defineProperty(exports, "AgentCommand", { enumerable: true, get: function () { return agent_1.AgentCommand; } });
|
|
4
|
+
export { InitCommand } from './init.js';
|
|
5
|
+
export { ConfigCommand } from './config.js';
|
|
6
|
+
export { ExampleCommand } from './example.js';
|
|
7
|
+
export { AgentCommand } from './agent.js';
|
|
15
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 初始化命令
|
|
3
3
|
*/
|
|
4
|
-
import { Command } from '../core/command';
|
|
5
|
-
import { CommandOptions, CommandResult } from '../types';
|
|
6
|
-
import { ConfigManager } from '../utils/config';
|
|
7
|
-
import { Logger } from '../core/logger';
|
|
4
|
+
import { Command } from '../core/command.js';
|
|
5
|
+
import { CommandOptions, CommandResult } from '../types/index.js';
|
|
6
|
+
import { ConfigManager } from '../utils/config.js';
|
|
7
|
+
import { Logger } from '../core/logger.js';
|
|
8
8
|
export declare class InitCommand extends Command {
|
|
9
9
|
readonly name = "init";
|
|
10
10
|
readonly description = "\u521D\u59CB\u5316\u9879\u76EE\u914D\u7F6E";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,qBAAa,WAAY,SAAQ,OAAO;IACtC,QAAQ,CAAC,IAAI,UAAU;IACvB,QAAQ,CAAC,WAAW,gDAAa;IACjC,QAAQ,CAAC,OAAO,WAAS;IAEzB,OAAO,CAAC,aAAa,CAAgB;gBAEzB,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa;IAKlD,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAiB9D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;YACW,eAAe;IAqG7B,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO;CAI5C"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* 初始化命令
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const ora_1 = __importDefault(require("ora"));
|
|
12
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
-
const command_1 = require("../core/command");
|
|
14
|
-
const validator_1 = require("../utils/validator");
|
|
15
|
-
class InitCommand extends command_1.Command {
|
|
4
|
+
import inquirer from 'inquirer';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import { Command } from '../core/command.js';
|
|
8
|
+
import { Validator } from '../utils/validator.js';
|
|
9
|
+
export class InitCommand extends Command {
|
|
16
10
|
name = 'init';
|
|
17
11
|
description = '初始化项目配置';
|
|
18
12
|
aliases = ['i'];
|
|
@@ -40,17 +34,17 @@ class InitCommand extends command_1.Command {
|
|
|
40
34
|
* 使用默认配置初始化
|
|
41
35
|
*/
|
|
42
36
|
initWithDefaults() {
|
|
43
|
-
const spinner = (
|
|
37
|
+
const spinner = ora('创建配置文件...').start();
|
|
44
38
|
try {
|
|
45
39
|
// 配置管理器会自动创建默认配置
|
|
46
40
|
this.configManager.reset();
|
|
47
|
-
spinner.succeed(
|
|
41
|
+
spinner.succeed(chalk.green('配置文件创建成功'));
|
|
48
42
|
this.logger.success('\n✅ 初始化完成!');
|
|
49
43
|
this.logger.info(`配置文件位置: ${this.configManager.getConfigPath()}`);
|
|
50
44
|
return this.success('Initialization completed successfully');
|
|
51
45
|
}
|
|
52
46
|
catch (error) {
|
|
53
|
-
spinner.fail(
|
|
47
|
+
spinner.fail(chalk.red('配置文件创建失败'));
|
|
54
48
|
throw error;
|
|
55
49
|
}
|
|
56
50
|
}
|
|
@@ -58,9 +52,9 @@ class InitCommand extends command_1.Command {
|
|
|
58
52
|
* 交互式初始化
|
|
59
53
|
*/
|
|
60
54
|
async interactiveInit(_options) {
|
|
61
|
-
console.log(
|
|
55
|
+
console.log(chalk.blue('🚀 Needware CLI 初始化向导\n'));
|
|
62
56
|
// 获取用户输入
|
|
63
|
-
const answers = await
|
|
57
|
+
const answers = await inquirer.prompt([
|
|
64
58
|
{
|
|
65
59
|
type: 'list',
|
|
66
60
|
name: 'logLevel',
|
|
@@ -80,7 +74,7 @@ class InitCommand extends command_1.Command {
|
|
|
80
74
|
validate: (input) => {
|
|
81
75
|
if (!input)
|
|
82
76
|
return true; // 可选
|
|
83
|
-
return
|
|
77
|
+
return Validator.isAPIKey(input) || '请输入有效的 API Key';
|
|
84
78
|
},
|
|
85
79
|
},
|
|
86
80
|
{
|
|
@@ -89,7 +83,7 @@ class InitCommand extends command_1.Command {
|
|
|
89
83
|
message: '请输入 API Endpoint:',
|
|
90
84
|
default: 'https://api.example.com',
|
|
91
85
|
validate: (input) => {
|
|
92
|
-
return
|
|
86
|
+
return Validator.isURL(input) || '请输入有效的 URL';
|
|
93
87
|
},
|
|
94
88
|
},
|
|
95
89
|
{
|
|
@@ -98,7 +92,7 @@ class InitCommand extends command_1.Command {
|
|
|
98
92
|
message: '请输入请求超时时间 (毫秒):',
|
|
99
93
|
default: 30000,
|
|
100
94
|
validate: (input) => {
|
|
101
|
-
return
|
|
95
|
+
return Validator.isPositiveInteger(input) || '请输入正整数';
|
|
102
96
|
},
|
|
103
97
|
},
|
|
104
98
|
{
|
|
@@ -115,7 +109,7 @@ class InitCommand extends command_1.Command {
|
|
|
115
109
|
},
|
|
116
110
|
]);
|
|
117
111
|
// 创建配置
|
|
118
|
-
const spinner = (
|
|
112
|
+
const spinner = ora('保存配置...').start();
|
|
119
113
|
try {
|
|
120
114
|
// 设置配置项
|
|
121
115
|
this.configManager.set('logging.level', answers.logLevel);
|
|
@@ -126,26 +120,26 @@ class InitCommand extends command_1.Command {
|
|
|
126
120
|
}
|
|
127
121
|
this.configManager.set('sdks.example.endpoint', answers.endpoint);
|
|
128
122
|
this.configManager.set('sdks.example.timeout', answers.timeout);
|
|
129
|
-
spinner.succeed(
|
|
123
|
+
spinner.succeed(chalk.green('配置保存成功'));
|
|
130
124
|
// 显示配置摘要
|
|
131
|
-
console.log(
|
|
132
|
-
console.log(
|
|
133
|
-
console.log(
|
|
134
|
-
console.log(
|
|
135
|
-
console.log(
|
|
136
|
-
console.log(
|
|
137
|
-
console.log(
|
|
138
|
-
console.log(
|
|
125
|
+
console.log(chalk.blue('\n📋 配置摘要:'));
|
|
126
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
127
|
+
console.log(chalk.cyan('日志级别:'), answers.logLevel);
|
|
128
|
+
console.log(chalk.cyan('API Endpoint:'), answers.endpoint);
|
|
129
|
+
console.log(chalk.cyan('超时时间:'), `${answers.timeout}ms`);
|
|
130
|
+
console.log(chalk.cyan('彩色输出:'), answers.colorOutput ? '是' : '否');
|
|
131
|
+
console.log(chalk.cyan('交互模式:'), answers.interactive ? '是' : '否');
|
|
132
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
139
133
|
this.logger.success('\n✅ 初始化完成!');
|
|
140
134
|
this.logger.info(`配置文件位置: ${this.configManager.getConfigPath()}`);
|
|
141
135
|
if (!answers.apiKey) {
|
|
142
|
-
console.log(
|
|
143
|
-
console.log(
|
|
136
|
+
console.log(chalk.yellow('\n💡 提示: 你可以稍后使用以下命令设置 API Key:'));
|
|
137
|
+
console.log(chalk.gray(' needware-cli config set sdks.example.apiKey YOUR_KEY\n'));
|
|
144
138
|
}
|
|
145
139
|
return this.success('Initialization completed successfully');
|
|
146
140
|
}
|
|
147
141
|
catch (error) {
|
|
148
|
-
spinner.fail(
|
|
142
|
+
spinner.fail(chalk.red('配置保存失败'));
|
|
149
143
|
throw error;
|
|
150
144
|
}
|
|
151
145
|
}
|
|
@@ -154,5 +148,4 @@ class InitCommand extends command_1.Command {
|
|
|
154
148
|
return true;
|
|
155
149
|
}
|
|
156
150
|
}
|
|
157
|
-
exports.InitCommand = InitCommand;
|
|
158
151
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,OAAO,WAAY,SAAQ,OAAO;IAC7B,IAAI,GAAG,MAAM,CAAC;IACd,WAAW,GAAG,SAAS,CAAC;IACxB,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAEjB,aAAa,CAAgB;IAErC,YAAY,MAAc,EAAE,aAA4B;QACtD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAuB;QACnC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAEjC,WAAW;YACX,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjC,CAAC;YAED,QAAQ;YACR,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;YACjF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAc,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAEzC,IAAI,CAAC;YACH,iBAAiB;YACjB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAEzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAElE,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAAC,QAAwB;QACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAEnD,SAAS;QACT,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;oBACtC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;oBACpC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE;oBACpC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE;iBACvC;gBACD,OAAO,EAAE,MAAM;aAChB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,yBAAyB;gBAClC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK;wBAAE,OAAO,IAAI,CAAC,CAAC,KAAK;oBAC9B,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC;gBACvD,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE,yBAAyB;gBAClC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC;gBAChD,CAAC;aACF;YACD;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,OAAO,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC;gBACxD,CAAC;aACF;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE,IAAI;aACd;YACD;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,IAAI;aACd;SACF,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,CAAC;QAEvC,IAAI,CAAC;YACH,QAAQ;YACR,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,yBAAyB,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YAEvE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,sBAAsB,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAEhE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEvC,SAAS;YACT,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;YAElE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACtF,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,QAAwB;QAC/B,OAAO;QACP,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/core/cli.d.ts
CHANGED
package/dist/core/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,MAAM,EAAY,MAAM,aAAa,CAAC;AAI/C,qBAAa,GAAG;IACd,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAS5C;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAyDvC;;OAEG;IACG,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASzC;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAmCjC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;CAGpC"}
|
package/dist/core/cli.js
CHANGED
|
@@ -1,25 +1,19 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* CLI 主类
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const commander_1 = require("commander");
|
|
11
|
-
const logger_1 = require("./logger");
|
|
12
|
-
const types_1 = require("../types");
|
|
13
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
14
|
-
class CLI {
|
|
4
|
+
import { Command as CommanderCommand } from 'commander';
|
|
5
|
+
import { Logger, LogLevel } from './logger.js';
|
|
6
|
+
import { CLIError, ErrorType } from '../types/index.js';
|
|
7
|
+
import chalk from 'chalk';
|
|
8
|
+
export class CLI {
|
|
15
9
|
program;
|
|
16
10
|
logger;
|
|
17
11
|
commands;
|
|
18
12
|
version;
|
|
19
13
|
constructor(version, logger) {
|
|
20
14
|
this.version = version;
|
|
21
|
-
this.logger = logger || new
|
|
22
|
-
this.program = new
|
|
15
|
+
this.logger = logger || new Logger();
|
|
16
|
+
this.program = new CommanderCommand();
|
|
23
17
|
this.commands = new Map();
|
|
24
18
|
this.setupProgram();
|
|
25
19
|
}
|
|
@@ -38,10 +32,10 @@ class CLI {
|
|
|
38
32
|
this.program.hook('preAction', (thisCommand) => {
|
|
39
33
|
const opts = thisCommand.opts();
|
|
40
34
|
if (opts.verbose) {
|
|
41
|
-
this.logger.setLevel(
|
|
35
|
+
this.logger.setLevel(LogLevel.DEBUG);
|
|
42
36
|
}
|
|
43
37
|
else if (opts.quiet) {
|
|
44
|
-
this.logger.setLevel(
|
|
38
|
+
this.logger.setLevel(LogLevel.ERROR);
|
|
45
39
|
}
|
|
46
40
|
});
|
|
47
41
|
}
|
|
@@ -112,16 +106,16 @@ class CLI {
|
|
|
112
106
|
* 错误处理
|
|
113
107
|
*/
|
|
114
108
|
handleError(error) {
|
|
115
|
-
if (error instanceof
|
|
109
|
+
if (error instanceof CLIError) {
|
|
116
110
|
// 自定义 CLI 错误
|
|
117
|
-
console.error(
|
|
118
|
-
if (error.type !==
|
|
119
|
-
console.error(
|
|
111
|
+
console.error(chalk.red(`\n❌ Error: ${error.message}\n`));
|
|
112
|
+
if (error.type !== ErrorType.UNKNOWN) {
|
|
113
|
+
console.error(chalk.gray(`Type: ${error.type}\n`));
|
|
120
114
|
}
|
|
121
115
|
if (error.suggestions.length > 0) {
|
|
122
|
-
console.error(
|
|
116
|
+
console.error(chalk.yellow('Suggestions:'));
|
|
123
117
|
error.suggestions.forEach((suggestion) => {
|
|
124
|
-
console.error(
|
|
118
|
+
console.error(chalk.yellow(` • ${suggestion}`));
|
|
125
119
|
});
|
|
126
120
|
console.error();
|
|
127
121
|
}
|
|
@@ -133,15 +127,15 @@ class CLI {
|
|
|
133
127
|
}
|
|
134
128
|
else if (error instanceof Error) {
|
|
135
129
|
// 标准错误
|
|
136
|
-
console.error(
|
|
130
|
+
console.error(chalk.red(`\n❌ Error: ${error.message}\n`));
|
|
137
131
|
this.logger.error(error.message, { stack: error.stack });
|
|
138
132
|
}
|
|
139
133
|
else {
|
|
140
134
|
// 未知错误
|
|
141
|
-
console.error(
|
|
135
|
+
console.error(chalk.red('\n❌ An unknown error occurred\n'));
|
|
142
136
|
this.logger.error('Unknown error', { error });
|
|
143
137
|
}
|
|
144
|
-
console.error(
|
|
138
|
+
console.error(chalk.gray('For more help, run: needware-cli --help\n'));
|
|
145
139
|
}
|
|
146
140
|
/**
|
|
147
141
|
* 获取 Logger 实例
|
|
@@ -156,5 +150,4 @@ class CLI {
|
|
|
156
150
|
return this.commands;
|
|
157
151
|
}
|
|
158
152
|
}
|
|
159
|
-
exports.CLI = CLI;
|
|
160
153
|
//# sourceMappingURL=cli.js.map
|
package/dist/core/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/core/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/core/command.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 命令基类
|
|
3
3
|
*/
|
|
4
|
-
import { CommandOptions, CommandResult } from '../types';
|
|
5
|
-
import { Logger } from './logger';
|
|
4
|
+
import { CommandOptions, CommandResult } from '../types/index.js';
|
|
5
|
+
import { Logger } from './logger.js';
|
|
6
6
|
export declare abstract class Command {
|
|
7
7
|
abstract readonly name: string;
|
|
8
8
|
abstract readonly description: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/core/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/core/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAiB,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,8BAAsB,OAAO;IAC3B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,MAAM;IAI1B;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAEjE;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO;IAK3C;;OAEG;IACG,aAAa,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAKzD;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAgC1D;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,aAAa;IAQ9D;;OAEG;IACH,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,aAAa;CAO/D"}
|
package/dist/core/command.js
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* 命令基类
|
|
4
3
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const types_1 = require("../types");
|
|
8
|
-
class Command {
|
|
4
|
+
import { CommandStatus } from '../types/index.js';
|
|
5
|
+
export class Command {
|
|
9
6
|
aliases;
|
|
10
7
|
logger;
|
|
11
8
|
constructor(logger) {
|
|
@@ -40,7 +37,7 @@ class Command {
|
|
|
40
37
|
// 验证
|
|
41
38
|
if (!this.validate(options)) {
|
|
42
39
|
return {
|
|
43
|
-
status:
|
|
40
|
+
status: CommandStatus.ERROR,
|
|
44
41
|
message: 'Invalid command options',
|
|
45
42
|
};
|
|
46
43
|
}
|
|
@@ -56,7 +53,7 @@ class Command {
|
|
|
56
53
|
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
57
54
|
this.logger.error(`Command ${this.name} failed: ${errorMessage}`);
|
|
58
55
|
return {
|
|
59
|
-
status:
|
|
56
|
+
status: CommandStatus.ERROR,
|
|
60
57
|
message: errorMessage,
|
|
61
58
|
error: error instanceof Error ? error : new Error(errorMessage),
|
|
62
59
|
};
|
|
@@ -67,7 +64,7 @@ class Command {
|
|
|
67
64
|
*/
|
|
68
65
|
success(message, data) {
|
|
69
66
|
return {
|
|
70
|
-
status:
|
|
67
|
+
status: CommandStatus.SUCCESS,
|
|
71
68
|
message,
|
|
72
69
|
data,
|
|
73
70
|
};
|
|
@@ -77,11 +74,10 @@ class Command {
|
|
|
77
74
|
*/
|
|
78
75
|
error(message, error) {
|
|
79
76
|
return {
|
|
80
|
-
status:
|
|
77
|
+
status: CommandStatus.ERROR,
|
|
81
78
|
message,
|
|
82
79
|
error,
|
|
83
80
|
};
|
|
84
81
|
}
|
|
85
82
|
}
|
|
86
|
-
exports.Command = Command;
|
|
87
83
|
//# sourceMappingURL=command.js.map
|
package/dist/core/command.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/core/command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/core/command.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAiC,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGjF,MAAM,OAAgB,OAAO;IAGlB,OAAO,CAAY;IAElB,MAAM,CAAS;IAEzB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAOD;;OAEG;IACH,QAAQ,CAAC,QAAwB;QAC/B,cAAc;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,QAAwB;QAC1C,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAsB;QACvC,gBAAgB;QAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,YAAY,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,OAAuB;QAC/B,IAAI,CAAC;YACH,KAAK;YACL,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO;oBACL,MAAM,EAAE,aAAa,CAAC,KAAK;oBAC3B,OAAO,EAAE,yBAAyB;iBACnC,CAAC;YACJ,CAAC;YAED,QAAQ;YACR,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAElC,OAAO;YACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE3C,QAAQ;YACR,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAEhC,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,IAAI,YAAY,YAAY,EAAE,CAAC,CAAC;YAElE,OAAO;gBACL,MAAM,EAAE,aAAa,CAAC,KAAK;gBAC3B,OAAO,EAAE,YAAY;gBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC;aAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACO,OAAO,CAAC,OAAgB,EAAE,IAAU;QAC5C,OAAO;YACL,MAAM,EAAE,aAAa,CAAC,OAAO;YAC7B,OAAO;YACP,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,OAAe,EAAE,KAAa;QAC5C,OAAO;YACL,MAAM,EAAE,aAAa,CAAC,KAAK;YAC3B,OAAO;YACP,KAAK;SACN,CAAC;IACJ,CAAC;CACF"}
|