@wecom/wecom-openclaw-cli 1.0.6 → 1.0.8
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/dist/commands/info.d.ts.map +1 -1
- package/dist/commands/info.js +7 -2
- package/dist/commands/info.js.map +1 -1
- package/dist/commands/install.d.ts +2 -0
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +40 -19
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/update.d.ts +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +5 -63
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/package.json.js +1 -1
- package/dist/utils/constants.d.ts +2 -2
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +3 -3
- package/dist/utils/constants.js.map +1 -1
- package/dist/utils/plugin.d.ts +10 -1
- package/dist/utils/plugin.d.ts.map +1 -1
- package/dist/utils/plugin.js +61 -5
- package/dist/utils/plugin.js.map +1 -1
- package/dist/utils/system.d.ts +0 -9
- package/dist/utils/system.d.ts.map +1 -1
- package/dist/utils/system.js +0 -23
- package/dist/utils/system.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"info.d.ts","sourceRoot":"","sources":["../../src/commands/info.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA8GhF"}
|
package/dist/commands/info.js
CHANGED
|
@@ -50,12 +50,17 @@ async function infoCommand(options = {}) {
|
|
|
50
50
|
(openClawVersion !== '未安装'
|
|
51
51
|
? chalk.green(openClawVersion)
|
|
52
52
|
: chalk.red(openClawVersion)));
|
|
53
|
-
// 2.
|
|
53
|
+
// 2. 获取插件包名和版本
|
|
54
|
+
const pluginPackageName = (await plugin.getPluginPackageName()) ?? '未安装';
|
|
54
55
|
const pluginVersion = (await plugin.getPluginVersion()) ?? '未安装';
|
|
55
56
|
console.log(chalk.bold('wecom-openclaw-plugin: ') +
|
|
56
57
|
(pluginVersion !== '未安装'
|
|
57
58
|
? chalk.green(pluginVersion)
|
|
58
59
|
: chalk.red(pluginVersion)));
|
|
60
|
+
console.log(chalk.bold('plugin package: ') +
|
|
61
|
+
(pluginPackageName !== '未安装'
|
|
62
|
+
? chalk.green(pluginPackageName)
|
|
63
|
+
: chalk.red(pluginPackageName)));
|
|
59
64
|
// 3. 环境信息
|
|
60
65
|
console.log('');
|
|
61
66
|
console.log(chalk.bold.underline('环境信息:'));
|
|
@@ -115,7 +120,7 @@ async function infoCommand(options = {}) {
|
|
|
115
120
|
}
|
|
116
121
|
}
|
|
117
122
|
catch (error) {
|
|
118
|
-
console.error(chalk.red('
|
|
123
|
+
console.error(chalk.red('获取信息失败:'), error instanceof Error ? error.message : error);
|
|
119
124
|
}
|
|
120
125
|
}
|
|
121
126
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info.js","sources":["../../src/commands/info.ts"],"sourcesContent":[null],"names":["pkg","getPlatformCommand","runCommandQuiet","getPluginVersion","os","getConfigPath","fs","config","readConfig","PLUGIN_NAME","CONFLICT_PLUGINS","NPM_REGISTRIES"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"info.js","sources":["../../src/commands/info.ts"],"sourcesContent":[null],"names":["pkg","getPlatformCommand","runCommandQuiet","getPluginPackageName","getPluginVersion","os","getConfigPath","fs","config","readConfig","PLUGIN_NAME","CONFLICT_PLUGINS","NPM_REGISTRIES"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAuDA;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoHxH"}
|
package/dist/commands/install.js
CHANGED
|
@@ -63,10 +63,6 @@ async function ensureChannelConfig() {
|
|
|
63
63
|
if (!newConfig.channels.wecom.secret) {
|
|
64
64
|
newConfig.channels.wecom.secret = await prompts.promptSecret();
|
|
65
65
|
}
|
|
66
|
-
// // 确保 dmPolicy 设置正确
|
|
67
|
-
// if (!newConfig.channels.wecom.dmPolicy) {
|
|
68
|
-
// newConfig.channels.wecom.dmPolicy = 'pairing';
|
|
69
|
-
// }
|
|
70
66
|
// 更新 plugins.allow
|
|
71
67
|
if (!newConfig.plugins)
|
|
72
68
|
newConfig.plugins = {};
|
|
@@ -82,8 +78,33 @@ async function ensureChannelConfig() {
|
|
|
82
78
|
*/
|
|
83
79
|
async function installCommand(options) {
|
|
84
80
|
console.log(chalk.blue('开始安装...'));
|
|
85
|
-
//
|
|
86
|
-
if (
|
|
81
|
+
// 0. force 模式:清理所有已有安装和配置,重新全量安装
|
|
82
|
+
if (options.force) {
|
|
83
|
+
console.log(chalk.yellow('强制安装模式,正在清理已有安装...'));
|
|
84
|
+
// 禁用冲突插件并清除 channels.wecom 配置(合并为一次读写)
|
|
85
|
+
console.log(chalk.blue('正在禁用冲突插件并清理配置...'));
|
|
86
|
+
const currentConfig = await config.readConfig();
|
|
87
|
+
const cleanedConfig = await plugin.disableConflictPlugins(currentConfig);
|
|
88
|
+
if (cleanedConfig.channels?.wecom) {
|
|
89
|
+
delete cleanedConfig.channels.wecom;
|
|
90
|
+
console.log(chalk.blue('已清除 channels.wecom 配置。'));
|
|
91
|
+
}
|
|
92
|
+
await config.writeConfig(cleanedConfig);
|
|
93
|
+
// 移除所有冲突目录
|
|
94
|
+
for (const conflictPath of constants.CONFLICT_PLUGIN_PATHS) {
|
|
95
|
+
if (await fs__namespace.pathExists(conflictPath)) {
|
|
96
|
+
console.log(chalk.blue(`正在移除冲突的插件目录: ${conflictPath}...`));
|
|
97
|
+
await fs__namespace.remove(conflictPath);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
// 移除 wecom-openclaw-plugin 目录
|
|
101
|
+
if (await fs__namespace.pathExists(constants.PLUGIN_PATH)) {
|
|
102
|
+
console.log(chalk.blue(`正在移除插件目录: ${constants.PLUGIN_PATH}...`));
|
|
103
|
+
await fs__namespace.remove(constants.PLUGIN_PATH);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
else if (await fs__namespace.pathExists(constants.PLUGIN_PATH)) {
|
|
107
|
+
// 1. 非 force 模式下检查已有安装,走更新流程
|
|
87
108
|
console.log(chalk.yellow('插件已安装,开始更新流程...'));
|
|
88
109
|
const newVersion = await update.updateCommand(options, true);
|
|
89
110
|
// 更新后验证配置
|
|
@@ -106,33 +127,33 @@ async function installCommand(options) {
|
|
|
106
127
|
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
107
128
|
const version = system.runCommandQuiet(`${openclawCmd} --version`);
|
|
108
129
|
if (plugin.compareVersions(version, '2026.2.13') < 0) {
|
|
109
|
-
console.error(chalk.red(`错误: OpenClaw 版本不匹配,需要 >= 2026.2.13,当前版本 ${version}
|
|
130
|
+
console.error(chalk.red(`错误: OpenClaw 版本不匹配,需要 >= 2026.2.13,当前版本 ${version},请升级: openclaw update。`));
|
|
110
131
|
process.exit(1);
|
|
111
132
|
}
|
|
112
133
|
}
|
|
113
134
|
catch (error) {
|
|
114
135
|
const isWin = process.platform === 'win32';
|
|
115
|
-
console.error(chalk.red('错误: OpenClaw 未安装或未添加到 PATH 环境变量。'));
|
|
136
|
+
console.error(chalk.red('错误: OpenClaw 未安装或未添加到 PATH 环境变量。 https://openclaw.ai/'));
|
|
116
137
|
if (isWin) {
|
|
117
138
|
console.error(chalk.yellow('提示: Windows 用户请确认已将 OpenClaw 安装目录添加到系统 PATH 中,安装后可能需要重启终端。'));
|
|
118
139
|
}
|
|
119
140
|
process.exit(1);
|
|
120
141
|
}
|
|
121
|
-
// 4.
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
142
|
+
// 4. 禁用冲突插件(force 模式下已在前面执行过,跳过)
|
|
143
|
+
if (!options.force) {
|
|
144
|
+
console.log(chalk.blue('正在禁用冲突插件...'));
|
|
145
|
+
await plugin.disableConflictPlugins();
|
|
146
|
+
// 5. 移除冲突目录
|
|
147
|
+
for (const conflictPath of constants.CONFLICT_PLUGIN_PATHS) {
|
|
148
|
+
if (await fs__namespace.pathExists(conflictPath)) {
|
|
149
|
+
console.log(chalk.blue(`正在移除冲突的插件目录: ${conflictPath}...`));
|
|
150
|
+
await fs__namespace.remove(conflictPath);
|
|
151
|
+
}
|
|
131
152
|
}
|
|
132
153
|
}
|
|
133
154
|
// 6. 安装官方插件
|
|
134
155
|
console.log(chalk.blue('正在安装官方 WeCom 插件...'));
|
|
135
|
-
const installed = plugin.installPluginFromRegistry(options.version);
|
|
156
|
+
const installed = plugin.installPluginFromRegistry(options.version, options.packageName);
|
|
136
157
|
if (!installed) {
|
|
137
158
|
process.exit(1);
|
|
138
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["readConfig","promptConfirmBotId","promptBotId","promptSecret","PLUGIN_NAME","writeConfig","fs","PLUGIN_PATH","updateCommand","validateVersion","getPlatformCommand","runCommandQuiet","compareVersions","
|
|
1
|
+
{"version":3,"file":"install.js","sources":["../../src/commands/install.ts"],"sourcesContent":[null],"names":["readConfig","promptConfirmBotId","promptBotId","promptSecret","PLUGIN_NAME","writeConfig","disableConflictPlugins","CONFLICT_PLUGIN_PATHS","fs","PLUGIN_PATH","updateCommand","validateVersion","getPlatformCommand","runCommandQuiet","compareVersions","installPluginFromRegistry","path"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EACnD,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoC7B"}
|
package/dist/commands/update.js
CHANGED
|
@@ -1,32 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var fs = require('fs-extra');
|
|
4
3
|
var chalk = require('chalk');
|
|
5
|
-
var config = require('../utils/config.js');
|
|
6
4
|
var system = require('../utils/system.js');
|
|
7
5
|
var doctor = require('./doctor.js');
|
|
8
|
-
var constants = require('../utils/constants.js');
|
|
9
6
|
var plugin = require('../utils/plugin.js');
|
|
10
7
|
|
|
11
|
-
function _interopNamespaceDefault(e) {
|
|
12
|
-
var n = Object.create(null);
|
|
13
|
-
if (e) {
|
|
14
|
-
Object.keys(e).forEach(function (k) {
|
|
15
|
-
if (k !== 'default') {
|
|
16
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
17
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function () { return e[k]; }
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
n.default = e;
|
|
25
|
-
return Object.freeze(n);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
29
|
-
|
|
30
8
|
/**
|
|
31
9
|
* update 命令
|
|
32
10
|
*/
|
|
@@ -37,51 +15,15 @@ async function updateCommand(options, silent = false) {
|
|
|
37
15
|
console.error(chalk.red('错误: 版本号格式不合法,只允许数字、点、连字符和字母。'));
|
|
38
16
|
process.exit(1);
|
|
39
17
|
}
|
|
40
|
-
// 2.
|
|
41
|
-
console.log(chalk.blue('
|
|
42
|
-
const
|
|
43
|
-
const configBackup = JSON.parse(JSON.stringify(config$1));
|
|
44
|
-
// 移除 plugins.entries 中的插件配置
|
|
45
|
-
if (config$1.plugins?.entries?.[constants.PLUGIN_NAME]) {
|
|
46
|
-
delete config$1.plugins.entries[constants.PLUGIN_NAME];
|
|
47
|
-
}
|
|
48
|
-
// 从 plugins.allow 中移除当前插件和冲突插件
|
|
49
|
-
if (config$1.plugins?.allow) {
|
|
50
|
-
config$1.plugins.allow = config$1.plugins.allow.filter((name) => name !== constants.PLUGIN_NAME && !constants.CONFLICT_PLUGINS.includes(name));
|
|
51
|
-
}
|
|
52
|
-
await config.writeConfig(config$1);
|
|
53
|
-
// 3. 删除旧文件
|
|
54
|
-
// 确保 cwd 不在即将被删除的目录内,防止 uv_cwd 错误
|
|
55
|
-
system.ensureSafeCwd([constants.PLUGIN_PATH], constants.EXTENSIONS_DIR);
|
|
56
|
-
console.log(chalk.blue('正在移除旧版插件文件...'));
|
|
57
|
-
if (await fs__namespace.pathExists(constants.PLUGIN_PATH)) {
|
|
58
|
-
await fs__namespace.remove(constants.PLUGIN_PATH);
|
|
59
|
-
}
|
|
60
|
-
// 4. 安装新版本
|
|
61
|
-
console.log(chalk.blue('正在安装新版本...'));
|
|
62
|
-
const installed = plugin.installPluginFromRegistry(options.version);
|
|
18
|
+
// 2. 更新插件
|
|
19
|
+
console.log(chalk.blue('正在更新插件...'));
|
|
20
|
+
const installed = plugin.updatePluginFromRegistry(options.version, options.packageName);
|
|
63
21
|
if (!installed) {
|
|
64
|
-
// 安装失败时回滚配置
|
|
65
|
-
console.log(chalk.yellow('正在回滚配置...'));
|
|
66
|
-
await config.writeConfig(configBackup);
|
|
67
22
|
process.exit(1);
|
|
68
23
|
}
|
|
69
|
-
//
|
|
70
|
-
console.log(chalk.blue('正在更新配置...'));
|
|
71
|
-
const newConfig = await config.readConfig();
|
|
72
|
-
if (!newConfig.plugins)
|
|
73
|
-
newConfig.plugins = {};
|
|
74
|
-
if (!newConfig.plugins.allow)
|
|
75
|
-
newConfig.plugins.allow = [];
|
|
76
|
-
if (!newConfig.plugins.allow.includes(constants.PLUGIN_NAME)) {
|
|
77
|
-
newConfig.plugins.allow.push(constants.PLUGIN_NAME);
|
|
78
|
-
}
|
|
79
|
-
// 禁用冲突插件并从 allow 列表移除
|
|
80
|
-
await plugin.disableConflictPlugins(newConfig);
|
|
81
|
-
await config.writeConfig(newConfig);
|
|
82
|
-
// 6. 运行 Doctor 检查
|
|
24
|
+
// 3. 运行 Doctor 检查(仅诊断,doctor 内部会输出检查结果)
|
|
83
25
|
await doctor.doctorCommand();
|
|
84
|
-
//
|
|
26
|
+
// 4. 报告结果和版本
|
|
85
27
|
const version = await plugin.getPluginVersion();
|
|
86
28
|
if (version) {
|
|
87
29
|
if (!silent) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.js","sources":["../../src/commands/update.ts"],"sourcesContent":[null],"names":["validateVersion","
|
|
1
|
+
{"version":3,"file":"update.js","sources":["../../src/commands/update.ts"],"sourcesContent":[null],"names":["validateVersion","updatePluginFromRegistry","doctorCommand","getPluginVersion"],"mappings":";;;;;;;AAKA;;AAEG;AACI,eAAe,aAAa,CACjC,OAAmD,EACnD,SAAkB,KAAK,EAAA;IAEvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;;AAGpC,IAAA,IAAI,OAAO,CAAC,OAAO,IAAI,CAACA,sBAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACxD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AACxD,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;;IAGA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpC,IAAA,MAAM,SAAS,GAAGC,+BAAwB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC;IAChF,IAAI,CAAC,SAAS,EAAE;AACd,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;;IAGA,MAAMC,oBAAa,EAAE;;AAGrB,IAAA,MAAM,OAAO,GAAG,MAAMC,uBAAgB,EAAE;IACxC,IAAI,OAAO,EAAE;QACX,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA,UAAA,EAAa,OAAO,CAAA,CAAE,CAAC,CAAC;QAClD;IACF;SAAO;QACL,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,IAAI,CACV,KAAK,CAAC,MAAM,CACV,sCAAsC,CACvC,CACF;QACH;IACF;AAEA,IAAA,OAAO,OAAO;AAChB;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,8 @@ program
|
|
|
22
22
|
.command('install')
|
|
23
23
|
.description('安装并配置企业微信官方插件')
|
|
24
24
|
.option('--version <version>', '安装指定版本的插件')
|
|
25
|
+
.option('--package-name <packageName>', '指定 npm 包名(默认 @wecom/wecom-openclaw-plugin)')
|
|
26
|
+
.option('--force', '强制重新安装,清除已有插件和配置')
|
|
25
27
|
.action(async (options) => {
|
|
26
28
|
await install.installCommand(options);
|
|
27
29
|
});
|
|
@@ -46,6 +48,7 @@ program
|
|
|
46
48
|
.command('update')
|
|
47
49
|
.description('更新企业微信官方插件')
|
|
48
50
|
.option('--version <version>', '更新到指定版本的插件')
|
|
51
|
+
.option('--package-name <packageName>', '指定 npm 包名(默认 @wecom/wecom-openclaw-plugin)')
|
|
49
52
|
.action(async (options) => {
|
|
50
53
|
await update.updateCommand(options);
|
|
51
54
|
});
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Command","pkg","installCommand","infoCommand","doctorCommand","updateCommand"],"mappings":";;;;;;;;;;AAOA;AACA,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,KAAI;AACvC,IAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC7B,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAIA,iBAAO,EAAE;AAE7B;KACG,IAAI,CAAC,oBAAoB;KACzB,WAAW,CAAC,sBAAsB;AAClC,KAAA,OAAO,CAACC,gBAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAE5C;KACG,OAAO,CAAC,SAAS;KACjB,WAAW,CAAC,eAAe;AAC3B,KAAA,MAAM,CAAC,qBAAqB,EAAE,WAAW;AACzC,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,sBAAc,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,MAAM;KACd,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,eAAe;AAC/B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,gBAAW,CAAC,OAAO,CAAC;AAC5B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,UAAU;AAC1B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAM,MAAM,GAAG,MAAMC,oBAAa,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,YAAY;AACxB,KAAA,MAAM,CAAC,qBAAqB,EAAE,YAAY;AAC1C,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,oBAAa,CAAC,OAAO,CAAC;AAC9B,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["Command","pkg","installCommand","infoCommand","doctorCommand","updateCommand"],"mappings":";;;;;;;;;;AAOA;AACA,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,GAAG,KAAI;AACvC,IAAA,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC;AAC7B,IAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,IAAIA,iBAAO,EAAE;AAE7B;KACG,IAAI,CAAC,oBAAoB;KACzB,WAAW,CAAC,sBAAsB;AAClC,KAAA,OAAO,CAACC,gBAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC;AAE5C;KACG,OAAO,CAAC,SAAS;KACjB,WAAW,CAAC,eAAe;AAC3B,KAAA,MAAM,CAAC,qBAAqB,EAAE,WAAW;AACzC,KAAA,MAAM,CAAC,8BAA8B,EAAE,4CAA4C;AACnF,KAAA,MAAM,CAAC,SAAS,EAAE,kBAAkB;AACpC,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,sBAAc,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,MAAM;KACd,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,eAAe;AAC/B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,gBAAW,CAAC,OAAO,CAAC;AAC5B,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,QAAQ;AACpB,KAAA,MAAM,CAAC,OAAO,EAAE,UAAU;AAC1B,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAM,MAAM,GAAG,MAAMC,oBAAa,CAAC,OAAO,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAC3B,QAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACjB;AACF,CAAC,CAAC;AAEJ;KACG,OAAO,CAAC,QAAQ;KAChB,WAAW,CAAC,YAAY;AACxB,KAAA,MAAM,CAAC,qBAAqB,EAAE,YAAY;AAC1C,KAAA,MAAM,CAAC,8BAA8B,EAAE,4CAA4C;AACnF,KAAA,MAAM,CAAC,OAAO,OAAO,KAAI;AACxB,IAAA,MAAMC,oBAAa,CAAC,OAAO,CAAC;AAC9B,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;;"}
|
package/dist/package.json.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var name = "@wecom/wecom-openclaw-cli";
|
|
6
|
-
var version = "1.0.
|
|
6
|
+
var version = "1.0.8";
|
|
7
7
|
var description = "CLI for managing WeCom official plugin for OpenClaw";
|
|
8
8
|
var main = "dist/index.js";
|
|
9
9
|
var type = "commonjs";
|
|
@@ -4,8 +4,8 @@ export declare const EXTENSIONS_DIR: string;
|
|
|
4
4
|
export declare const PLUGIN_NAME = "wecom-openclaw-plugin";
|
|
5
5
|
/** 插件安装路径 */
|
|
6
6
|
export declare const PLUGIN_PATH: string;
|
|
7
|
-
/** npm 包名 */
|
|
8
|
-
export declare const
|
|
7
|
+
/** 默认 npm 包名 */
|
|
8
|
+
export declare const DEFAULT_PACKAGE_NAME = "@wecom/wecom-openclaw-plugin";
|
|
9
9
|
/** 冲突的插件名称列表 */
|
|
10
10
|
export declare const CONFLICT_PLUGINS: string[];
|
|
11
11
|
/** 冲突的插件路径列表 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAGA,aAAa;AACb,eAAO,MAAM,cAAc,QAAqB,CAAC;AAEjD,WAAW;AACX,eAAO,MAAM,WAAW,0BAA0B,CAAC;AAEnD,aAAa;AACb,eAAO,MAAM,WAAW,QAAyC,CAAC;AAElE,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAGA,aAAa;AACb,eAAO,MAAM,cAAc,QAAqB,CAAC;AAEjD,WAAW;AACX,eAAO,MAAM,WAAW,0BAA0B,CAAC;AAEnD,aAAa;AACb,eAAO,MAAM,WAAW,QAAyC,CAAC;AAElE,gBAAgB;AAChB,eAAO,MAAM,oBAAoB,iCAAiC,CAAC;AAEnE,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,UAAgD,CAAC;AAE9E,gBAAgB;AAChB,eAAO,MAAM,qBAAqB,UAAgE,CAAC;AAEnG,oCAAoC;AACpC,eAAO,MAAM,cAAc,UAG1B,CAAC"}
|
package/dist/utils/constants.js
CHANGED
|
@@ -28,8 +28,8 @@ const EXTENSIONS_DIR = config.getExtensionsDir();
|
|
|
28
28
|
const PLUGIN_NAME = 'wecom-openclaw-plugin';
|
|
29
29
|
/** 插件安装路径 */
|
|
30
30
|
const PLUGIN_PATH = path__namespace.join(EXTENSIONS_DIR, PLUGIN_NAME);
|
|
31
|
-
/** npm 包名 */
|
|
32
|
-
const
|
|
31
|
+
/** 默认 npm 包名 */
|
|
32
|
+
const DEFAULT_PACKAGE_NAME = '@wecom/wecom-openclaw-plugin';
|
|
33
33
|
/** 冲突的插件名称列表 */
|
|
34
34
|
const CONFLICT_PLUGINS = ['wecom', 'openclaw-wecom', 'wecom-openclaw'];
|
|
35
35
|
/** 冲突的插件路径列表 */
|
|
@@ -42,9 +42,9 @@ const NPM_REGISTRIES = [
|
|
|
42
42
|
|
|
43
43
|
exports.CONFLICT_PLUGINS = CONFLICT_PLUGINS;
|
|
44
44
|
exports.CONFLICT_PLUGIN_PATHS = CONFLICT_PLUGIN_PATHS;
|
|
45
|
+
exports.DEFAULT_PACKAGE_NAME = DEFAULT_PACKAGE_NAME;
|
|
45
46
|
exports.EXTENSIONS_DIR = EXTENSIONS_DIR;
|
|
46
47
|
exports.NPM_REGISTRIES = NPM_REGISTRIES;
|
|
47
|
-
exports.PACKAGE_NAME = PACKAGE_NAME;
|
|
48
48
|
exports.PLUGIN_NAME = PLUGIN_NAME;
|
|
49
49
|
exports.PLUGIN_PATH = PLUGIN_PATH;
|
|
50
50
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../src/utils/constants.ts"],"sourcesContent":[null],"names":["getExtensionsDir","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACO,MAAM,cAAc,GAAGA,uBAAgB;AAE9C;AACO,MAAM,WAAW,GAAG;AAE3B;AACO,MAAM,WAAW,GAAGC,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW;AAEhE;AACO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../src/utils/constants.ts"],"sourcesContent":[null],"names":["getExtensionsDir","path"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;AACO,MAAM,cAAc,GAAGA,uBAAgB;AAE9C;AACO,MAAM,WAAW,GAAG;AAE3B;AACO,MAAM,WAAW,GAAGC,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW;AAEhE;AACO,MAAM,oBAAoB,GAAG;AAEpC;AACO,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB;AAE5E;MACa,qBAAqB,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,IAAIA,eAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;AAEjG;AACO,MAAM,cAAc,GAAG;IAC5B,uCAAuC;IACvC,6BAA6B;;;;;;;;;;;"}
|
package/dist/utils/plugin.d.ts
CHANGED
|
@@ -7,12 +7,21 @@ export declare function compareVersions(v1: string, v2: string): number;
|
|
|
7
7
|
* 从多个 npm 源尝试安装插件
|
|
8
8
|
* @returns 是否安装成功
|
|
9
9
|
*/
|
|
10
|
-
export declare function installPluginFromRegistry(version?: string): boolean;
|
|
10
|
+
export declare function installPluginFromRegistry(version?: string, packageName?: string): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 从多个 npm 源尝试更新插件(插件已安装时使用)
|
|
13
|
+
* @returns 是否更新成功
|
|
14
|
+
*/
|
|
15
|
+
export declare function updatePluginFromRegistry(version?: string, packageName?: string): boolean;
|
|
11
16
|
/**
|
|
12
17
|
* 获取已安装插件的版本号
|
|
13
18
|
* @returns 版本号字符串,未安装或读取失败时返回 undefined
|
|
14
19
|
*/
|
|
15
20
|
export declare function getPluginVersion(): Promise<string | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* 获取插件 package.json 中的 name 字段
|
|
23
|
+
*/
|
|
24
|
+
export declare function getPluginPackageName(): Promise<string | undefined>;
|
|
16
25
|
/**
|
|
17
26
|
* 移除冲突插件配置
|
|
18
27
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/utils/plugin.ts"],"names":[],"mappings":"AAgBA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAU9D;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CA2BzF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CA0BxF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWpE;AAED;;GAEG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAWxE;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAkCvE"}
|
package/dist/utils/plugin.js
CHANGED
|
@@ -27,13 +27,21 @@ function _interopNamespaceDefault(e) {
|
|
|
27
27
|
var path__namespace = /*#__PURE__*/_interopNamespaceDefault(path);
|
|
28
28
|
var fs__namespace = /*#__PURE__*/_interopNamespaceDefault(fs);
|
|
29
29
|
|
|
30
|
+
/**
|
|
31
|
+
* 从版本字符串中提取纯版本号
|
|
32
|
+
* 例如: "OpenClaw 2026.3.8 (3caab92)" => "2026.3.8"
|
|
33
|
+
*/
|
|
34
|
+
function extractVersion(versionStr) {
|
|
35
|
+
const match = versionStr.match(/(\d+\.\d+(?:\.\d+)*)/);
|
|
36
|
+
return match ? match[1] : versionStr;
|
|
37
|
+
}
|
|
30
38
|
/**
|
|
31
39
|
* 版本比较
|
|
32
40
|
* @returns 1 表示 v1 > v2,-1 表示 v1 < v2,0 表示相等
|
|
33
41
|
*/
|
|
34
42
|
function compareVersions(v1, v2) {
|
|
35
|
-
const parts1 = v1.split('.').map(Number);
|
|
36
|
-
const parts2 = v2.split('.').map(Number);
|
|
43
|
+
const parts1 = extractVersion(v1).split('.').map(Number);
|
|
44
|
+
const parts2 = extractVersion(v2).split('.').map(Number);
|
|
37
45
|
for (let i = 0; i < Math.max(parts1.length, parts2.length); i++) {
|
|
38
46
|
const p1 = parts1[i] || 0;
|
|
39
47
|
const p2 = parts2[i] || 0;
|
|
@@ -48,10 +56,11 @@ function compareVersions(v1, v2) {
|
|
|
48
56
|
* 从多个 npm 源尝试安装插件
|
|
49
57
|
* @returns 是否安装成功
|
|
50
58
|
*/
|
|
51
|
-
function installPluginFromRegistry(version) {
|
|
59
|
+
function installPluginFromRegistry(version, packageName) {
|
|
60
|
+
const resolvedPackageName = packageName || constants.DEFAULT_PACKAGE_NAME;
|
|
52
61
|
const packageIdentifier = version
|
|
53
|
-
? `${
|
|
54
|
-
:
|
|
62
|
+
? `${resolvedPackageName}@${version}`
|
|
63
|
+
: resolvedPackageName;
|
|
55
64
|
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
56
65
|
for (let i = 0; i < constants.NPM_REGISTRIES.length; i++) {
|
|
57
66
|
const registry = constants.NPM_REGISTRIES[i];
|
|
@@ -73,6 +82,35 @@ function installPluginFromRegistry(version) {
|
|
|
73
82
|
}
|
|
74
83
|
return false;
|
|
75
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* 从多个 npm 源尝试更新插件(插件已安装时使用)
|
|
87
|
+
* @returns 是否更新成功
|
|
88
|
+
*/
|
|
89
|
+
function updatePluginFromRegistry(version, packageName) {
|
|
90
|
+
const resolvedPackageName = packageName || constants.DEFAULT_PACKAGE_NAME;
|
|
91
|
+
const packageIdentifier = version
|
|
92
|
+
? `${resolvedPackageName}@${version}`
|
|
93
|
+
: resolvedPackageName;
|
|
94
|
+
const openclawCmd = system.getPlatformCommand('openclaw');
|
|
95
|
+
for (let i = 0; i < constants.NPM_REGISTRIES.length; i++) {
|
|
96
|
+
const registry = constants.NPM_REGISTRIES[i];
|
|
97
|
+
try {
|
|
98
|
+
console.log(chalk.blue(`正在从 ${registry} 更新插件 ${packageIdentifier}...`));
|
|
99
|
+
system.runCommandWithEnv(`${openclawCmd} plugins update ${packageIdentifier}`, { npm_config_registry: registry });
|
|
100
|
+
return true;
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
if (i < constants.NPM_REGISTRIES.length - 1) {
|
|
104
|
+
console.warn(chalk.yellow(`从 ${registry} 更新失败,正在切换到备用源重试...`));
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
console.error(chalk.red('所有 npm 源均更新失败。'));
|
|
108
|
+
console.error(error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
76
114
|
/**
|
|
77
115
|
* 获取已安装插件的版本号
|
|
78
116
|
* @returns 版本号字符串,未安装或读取失败时返回 undefined
|
|
@@ -90,6 +128,22 @@ async function getPluginVersion() {
|
|
|
90
128
|
}
|
|
91
129
|
return undefined;
|
|
92
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* 获取插件 package.json 中的 name 字段
|
|
133
|
+
*/
|
|
134
|
+
async function getPluginPackageName() {
|
|
135
|
+
const packageJsonPath = path__namespace.join(constants.PLUGIN_PATH, 'package.json');
|
|
136
|
+
if (await fs__namespace.pathExists(packageJsonPath)) {
|
|
137
|
+
try {
|
|
138
|
+
const pkgJson = await fs__namespace.readJSON(packageJsonPath);
|
|
139
|
+
return pkgJson.name;
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
// 读取失败
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
93
147
|
/**
|
|
94
148
|
* 移除冲突插件配置
|
|
95
149
|
*/
|
|
@@ -126,6 +180,8 @@ async function disableConflictPlugins(config$1) {
|
|
|
126
180
|
|
|
127
181
|
exports.compareVersions = compareVersions;
|
|
128
182
|
exports.disableConflictPlugins = disableConflictPlugins;
|
|
183
|
+
exports.getPluginPackageName = getPluginPackageName;
|
|
129
184
|
exports.getPluginVersion = getPluginVersion;
|
|
130
185
|
exports.installPluginFromRegistry = installPluginFromRegistry;
|
|
186
|
+
exports.updatePluginFromRegistry = updatePluginFromRegistry;
|
|
131
187
|
//# sourceMappingURL=plugin.js.map
|
package/dist/utils/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../src/utils/plugin.ts"],"sourcesContent":[null],"names":["
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../src/utils/plugin.ts"],"sourcesContent":[null],"names":["DEFAULT_PACKAGE_NAME","getPlatformCommand","NPM_REGISTRIES","runCommandWithEnv","path","PLUGIN_PATH","fs","config","readConfig","CONFLICT_PLUGINS","writeConfig"],"mappings":"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"}
|
package/dist/utils/system.d.ts
CHANGED
|
@@ -34,13 +34,4 @@ export declare function runCommandQuiet(command: string, options?: {
|
|
|
34
34
|
* 只允许数字、点、连字符和字母(如 1.0.0、1.0.0-beta.1)
|
|
35
35
|
*/
|
|
36
36
|
export declare function validateVersion(version: string): boolean;
|
|
37
|
-
/**
|
|
38
|
-
* 确保当前工作目录(cwd)不在即将被删除的目录内。
|
|
39
|
-
* 如果 cwd 位于待删除的目录下,或者 cwd 已经失效,则切换到指定的安全目录。
|
|
40
|
-
* 解决:用户在插件目录下执行命令,目录被删除后 Node.js 报 uv_cwd 错误的问题。
|
|
41
|
-
*
|
|
42
|
-
* @param pathsToRemove 即将被删除的目录路径列表
|
|
43
|
-
* @param safeDir 安全的回退目录
|
|
44
|
-
*/
|
|
45
|
-
export declare function ensureSafeCwd(pathsToRemove: string[], safeDir: string): void;
|
|
46
37
|
//# sourceMappingURL=system.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAUD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAUhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,IAAI,CAWN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAUvF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/utils/system.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAUD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAUhF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC7B,IAAI,CAWN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,MAAM,CAUvF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD"}
|
package/dist/utils/system.js
CHANGED
|
@@ -99,30 +99,7 @@ function runCommandQuiet(command, options = {}) {
|
|
|
99
99
|
function validateVersion(version) {
|
|
100
100
|
return /^[a-zA-Z0-9.\-]+$/.test(version);
|
|
101
101
|
}
|
|
102
|
-
/**
|
|
103
|
-
* 确保当前工作目录(cwd)不在即将被删除的目录内。
|
|
104
|
-
* 如果 cwd 位于待删除的目录下,或者 cwd 已经失效,则切换到指定的安全目录。
|
|
105
|
-
* 解决:用户在插件目录下执行命令,目录被删除后 Node.js 报 uv_cwd 错误的问题。
|
|
106
|
-
*
|
|
107
|
-
* @param pathsToRemove 即将被删除的目录路径列表
|
|
108
|
-
* @param safeDir 安全的回退目录
|
|
109
|
-
*/
|
|
110
|
-
function ensureSafeCwd(pathsToRemove, safeDir) {
|
|
111
|
-
let cwd;
|
|
112
|
-
try {
|
|
113
|
-
cwd = process.cwd();
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
// cwd 已经失效(目录已被删除),直接切换到安全目录
|
|
117
|
-
process.chdir(safeDir);
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
if (pathsToRemove.some(p => cwd === p || cwd.startsWith(p + '/'))) {
|
|
121
|
-
process.chdir(safeDir);
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
102
|
|
|
125
|
-
exports.ensureSafeCwd = ensureSafeCwd;
|
|
126
103
|
exports.getPlatformCommand = getPlatformCommand;
|
|
127
104
|
exports.isWindows = isWindows;
|
|
128
105
|
exports.runCommand = runCommand;
|
package/dist/utils/system.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.js","sources":["../../src/utils/system.ts"],"sourcesContent":[null],"names":["os","execSync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAEG;SACa,SAAS,GAAA;AACvB,IAAA,OAAOA,aAAE,CAAC,QAAQ,EAAE,KAAK,OAAO;AAClC;AAEA;;;AAGG;AACH,SAAS,QAAQ,GAAA;IACf,OAAO,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS;AAC5C;AAEA;;;;AAIG;AACG,SAAU,kBAAkB,CAAC,OAAe,EAAA;AAChD,IAAA,OAAO,OAAO;AAChB;AAEA;;;AAGG;SACa,UAAU,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAA;AACxE,IAAA,IAAI;QACFC,sBAAQ,CAAC,OAAO,EAAE;AAChB,YAAA,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,QAAQ,EAAE;AAClB,SAAA,CAAC;IACJ;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAA,CAAE,CAAC;IACvC;AACF;AAEA;;;AAGG;AACG,SAAU,iBAAiB,CAC/B,OAAe,EACf,QAAgC,EAChC,UAA4B,EAAE,EAAA;AAE9B,IAAA,IAAI;QACFA,sBAAQ,CAAC,OAAO,EAAE;AAChB,YAAA,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,QAAQ,EAAE;YACjB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE;AACrC,SAAA,CAAC;IACJ;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAA,CAAE,CAAC;IACvC;AACF;AAEA;;;AAGG;SACa,eAAe,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAA;AAC7E,IAAA,IAAI;QACF,OAAOA,sBAAQ,CAAC,OAAO,EAAE;AACvB,YAAA,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,QAAQ,EAAE;SAClB,CAAC,CAAC,IAAI,EAAE;IACX;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAA,CAAE,CAAC;IACvC;AACF;AAEA;;;AAGG;AACG,SAAU,eAAe,CAAC,OAAe,EAAA;AAC7C,IAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1C
|
|
1
|
+
{"version":3,"file":"system.js","sources":["../../src/utils/system.ts"],"sourcesContent":[null],"names":["os","execSync"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAGA;;AAEG;SACa,SAAS,GAAA;AACvB,IAAA,OAAOA,aAAE,CAAC,QAAQ,EAAE,KAAK,OAAO;AAClC;AAEA;;;AAGG;AACH,SAAS,QAAQ,GAAA;IACf,OAAO,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS;AAC5C;AAEA;;;;AAIG;AACG,SAAU,kBAAkB,CAAC,OAAe,EAAA;AAChD,IAAA,OAAO,OAAO;AAChB;AAEA;;;AAGG;SACa,UAAU,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAA;AACxE,IAAA,IAAI;QACFC,sBAAQ,CAAC,OAAO,EAAE;AAChB,YAAA,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,QAAQ,EAAE;AAClB,SAAA,CAAC;IACJ;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAA,CAAE,CAAC;IACvC;AACF;AAEA;;;AAGG;AACG,SAAU,iBAAiB,CAC/B,OAAe,EACf,QAAgC,EAChC,UAA4B,EAAE,EAAA;AAE9B,IAAA,IAAI;QACFA,sBAAQ,CAAC,OAAO,EAAE;AAChB,YAAA,KAAK,EAAE,SAAS;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,QAAQ,EAAE;YACjB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE;AACrC,SAAA,CAAC;IACJ;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAA,CAAE,CAAC;IACvC;AACF;AAEA;;;AAGG;SACa,eAAe,CAAC,OAAe,EAAE,UAA4B,EAAE,EAAA;AAC7E,IAAA,IAAI;QACF,OAAOA,sBAAQ,CAAC,OAAO,EAAE;AACvB,YAAA,QAAQ,EAAE,OAAO;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,KAAK,EAAE,QAAQ,EAAE;SAClB,CAAC,CAAC,IAAI,EAAE;IACX;IAAE,OAAO,KAAK,EAAE;AACd,QAAA,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,CAAA,CAAE,CAAC;IACvC;AACF;AAEA;;;AAGG;AACG,SAAU,eAAe,CAAC,OAAe,EAAA;AAC7C,IAAA,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC;AAC1C;;;;;;;;;"}
|