ccman 0.1.2 → 2.0.0
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/.github/workflows/release.yml +5 -5
- package/CLAUDE.md +246 -185
- package/README.md +282 -249
- package/README_zh.md +283 -250
- package/dev-test.sh +40 -0
- package/dist/cli.js +421 -369
- package/dist/cli.js.map +1 -1
- package/dist/commands/lang.d.ts +3 -0
- package/dist/commands/lang.d.ts.map +1 -0
- package/dist/commands/lang.js +99 -0
- package/dist/commands/lang.js.map +1 -0
- package/dist/core/CCMConfigManager.d.ts +52 -0
- package/dist/core/CCMConfigManager.d.ts.map +1 -0
- package/dist/core/CCMConfigManager.js +203 -0
- package/dist/core/CCMConfigManager.js.map +1 -0
- package/dist/core/ClaudeConfigManager.d.ts +35 -0
- package/dist/core/ClaudeConfigManager.d.ts.map +1 -0
- package/dist/core/ClaudeConfigManager.js +151 -0
- package/dist/core/ClaudeConfigManager.js.map +1 -0
- package/dist/i18n/LanguageManager.d.ts +43 -0
- package/dist/i18n/LanguageManager.d.ts.map +1 -0
- package/dist/i18n/LanguageManager.js +157 -0
- package/dist/i18n/LanguageManager.js.map +1 -0
- package/dist/i18n/messages.d.ts +65 -0
- package/dist/i18n/messages.d.ts.map +1 -0
- package/dist/i18n/messages.js +144 -0
- package/dist/i18n/messages.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -8
- package/dist/index.js.map +1 -1
- package/dist/providers/ProviderManager.d.ts +55 -0
- package/dist/providers/ProviderManager.d.ts.map +1 -0
- package/dist/providers/ProviderManager.js +326 -0
- package/dist/providers/ProviderManager.js.map +1 -0
- package/dist/types/index.d.ts +78 -38
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/version.d.ts +2 -64
- package/dist/utils/version.d.ts.map +1 -1
- package/dist/utils/version.js +12 -158
- package/dist/utils/version.js.map +1 -1
- package/package.json +2 -2
- package/release-temp/README.md +282 -249
- package/release-temp/package.json +2 -2
- package/scripts/modules/version-bump.sh +2 -2
- package/scripts/smart-release-v3.sh +20 -26
- package/src/cli.ts +458 -394
- package/src/commands/lang.ts +105 -0
- package/src/core/CCMConfigManager.ts +185 -0
- package/src/core/ClaudeConfigManager.ts +127 -0
- package/src/i18n/LanguageManager.ts +169 -0
- package/src/i18n/messages.ts +233 -0
- package/src/index.ts +4 -5
- package/src/providers/ProviderManager.ts +380 -0
- package/src/types/index.ts +80 -39
- package/src/utils/version.ts +11 -184
- package/dist/config/ConfigManager.d.ts +0 -67
- package/dist/config/ConfigManager.d.ts.map +0 -1
- package/dist/config/ConfigManager.js +0 -226
- package/dist/config/ConfigManager.js.map +0 -1
- package/dist/config/EnvironmentManager.d.ts +0 -83
- package/dist/config/EnvironmentManager.d.ts.map +0 -1
- package/dist/config/EnvironmentManager.js +0 -280
- package/dist/config/EnvironmentManager.js.map +0 -1
- package/dist/config/constants.d.ts +0 -40
- package/dist/config/constants.d.ts.map +0 -1
- package/dist/config/constants.js +0 -97
- package/dist/config/constants.js.map +0 -1
- package/dist/shell/ShellManager.d.ts +0 -81
- package/dist/shell/ShellManager.d.ts.map +0 -1
- package/dist/shell/ShellManager.js +0 -490
- package/dist/shell/ShellManager.js.map +0 -1
- package/src/config/ConfigManager.ts +0 -227
- package/src/config/EnvironmentManager.ts +0 -327
- package/src/config/constants.ts +0 -64
- package/src/shell/ShellManager.ts +0 -526
package/dist/utils/version.js
CHANGED
|
@@ -33,167 +33,21 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
exports.getNextVersion = getNextVersion;
|
|
40
|
-
exports.getVersionSuggestion = getVersionSuggestion;
|
|
41
|
-
const fs_1 = require("fs");
|
|
42
|
-
const path_1 = require("path");
|
|
36
|
+
exports.getPackageVersion = getPackageVersion;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
43
39
|
/**
|
|
44
|
-
*
|
|
40
|
+
* 读取 package.json 中的版本号
|
|
45
41
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
static getInstance() {
|
|
52
|
-
if (!VersionManager.instance) {
|
|
53
|
-
VersionManager.instance = new VersionManager();
|
|
54
|
-
}
|
|
55
|
-
return VersionManager.instance;
|
|
42
|
+
function getPackageVersion() {
|
|
43
|
+
try {
|
|
44
|
+
const packageJsonPath = path.join(__dirname, '../../package.json');
|
|
45
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
46
|
+
return packageJson.version || '0.0.0';
|
|
56
47
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
getCurrentVersion() {
|
|
61
|
-
if (this.cachedVersion) {
|
|
62
|
-
return this.cachedVersion;
|
|
63
|
-
}
|
|
64
|
-
try {
|
|
65
|
-
const packageJsonPath = this.getPackageJsonPath();
|
|
66
|
-
const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf8'));
|
|
67
|
-
const version = packageJson.version;
|
|
68
|
-
this.cachedVersion = this.parseVersion(version);
|
|
69
|
-
return this.cachedVersion;
|
|
70
|
-
}
|
|
71
|
-
catch (error) {
|
|
72
|
-
console.warn('⚠️ 无法读取版本信息,使用默认版本');
|
|
73
|
-
this.cachedVersion = this.parseVersion('0.0.1');
|
|
74
|
-
return this.cachedVersion;
|
|
75
|
-
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
console.warn('Failed to read package.json version, using fallback');
|
|
50
|
+
return '0.0.0';
|
|
76
51
|
}
|
|
77
|
-
/**
|
|
78
|
-
* 获取版本字符串
|
|
79
|
-
*/
|
|
80
|
-
getVersionString() {
|
|
81
|
-
return this.getCurrentVersion().version;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* 解析版本字符串
|
|
85
|
-
*/
|
|
86
|
-
parseVersion(versionString) {
|
|
87
|
-
const match = versionString.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);
|
|
88
|
-
if (!match) {
|
|
89
|
-
throw new Error(`无效的版本格式: ${versionString}`);
|
|
90
|
-
}
|
|
91
|
-
const [, major, minor, patch, prerelease] = match;
|
|
92
|
-
return {
|
|
93
|
-
version: versionString,
|
|
94
|
-
major: parseInt(major, 10),
|
|
95
|
-
minor: parseInt(minor, 10),
|
|
96
|
-
patch: parseInt(patch, 10),
|
|
97
|
-
prerelease
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* 获取 package.json 路径
|
|
102
|
-
*/
|
|
103
|
-
getPackageJsonPath() {
|
|
104
|
-
// 在构建后的环境中,package.json 在 ../package.json
|
|
105
|
-
// 在开发环境中,可能在不同的位置
|
|
106
|
-
const paths = [
|
|
107
|
-
(0, path_1.join)(__dirname, '../package.json'), // 构建后
|
|
108
|
-
(0, path_1.join)(__dirname, '../../package.json'), // 开发环境
|
|
109
|
-
(0, path_1.join)(process.cwd(), 'package.json') // 当前工作目录
|
|
110
|
-
];
|
|
111
|
-
for (const path of paths) {
|
|
112
|
-
try {
|
|
113
|
-
(0, fs_1.readFileSync)(path, 'utf8');
|
|
114
|
-
return path;
|
|
115
|
-
}
|
|
116
|
-
catch {
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
throw new Error('找不到 package.json 文件');
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* 预测下一个版本
|
|
124
|
-
*/
|
|
125
|
-
getNextVersion(type) {
|
|
126
|
-
const current = this.getCurrentVersion();
|
|
127
|
-
switch (type) {
|
|
128
|
-
case 'patch':
|
|
129
|
-
return `${current.major}.${current.minor}.${current.patch + 1}`;
|
|
130
|
-
case 'minor':
|
|
131
|
-
return `${current.major}.${current.minor + 1}.0`;
|
|
132
|
-
case 'major':
|
|
133
|
-
return `${current.major + 1}.0.0`;
|
|
134
|
-
default:
|
|
135
|
-
throw new Error(`不支持的版本类型: ${type}`);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
/**
|
|
139
|
-
* 获取版本变更建议(基于 git 历史分析)
|
|
140
|
-
*/
|
|
141
|
-
async getVersionSuggestion() {
|
|
142
|
-
try {
|
|
143
|
-
// 这里可以添加 git 历史分析逻辑
|
|
144
|
-
// 比如分析提交信息中的关键词来推荐版本类型
|
|
145
|
-
const { exec } = await Promise.resolve().then(() => __importStar(require('child_process')));
|
|
146
|
-
const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
|
|
147
|
-
const execAsync = promisify(exec);
|
|
148
|
-
// 获取最近的提交信息
|
|
149
|
-
const { stdout } = await execAsync('git log --oneline -10');
|
|
150
|
-
const commits = stdout.toLowerCase();
|
|
151
|
-
// 简单的启发式规则
|
|
152
|
-
if (commits.includes('breaking') || commits.includes('major')) {
|
|
153
|
-
return 'major';
|
|
154
|
-
}
|
|
155
|
-
else if (commits.includes('feat') || commits.includes('feature') || commits.includes('add')) {
|
|
156
|
-
return 'minor';
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
return 'patch';
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
catch {
|
|
163
|
-
// 默认推荐 patch
|
|
164
|
-
return 'patch';
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* 清除缓存(测试用)
|
|
169
|
-
*/
|
|
170
|
-
clearCache() {
|
|
171
|
-
this.cachedVersion = undefined;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
exports.VersionManager = VersionManager;
|
|
175
|
-
/**
|
|
176
|
-
* 便捷函数:获取当前版本字符串
|
|
177
|
-
*/
|
|
178
|
-
function getCurrentVersion() {
|
|
179
|
-
return VersionManager.getInstance().getVersionString();
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* 便捷函数:获取版本信息
|
|
183
|
-
*/
|
|
184
|
-
function getVersionInfo() {
|
|
185
|
-
return VersionManager.getInstance().getCurrentVersion();
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* 便捷函数:获取下一个版本
|
|
189
|
-
*/
|
|
190
|
-
function getNextVersion(type) {
|
|
191
|
-
return VersionManager.getInstance().getNextVersion(type);
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* 便捷函数:获取版本建议
|
|
195
|
-
*/
|
|
196
|
-
async function getVersionSuggestion() {
|
|
197
|
-
return VersionManager.getInstance().getVersionSuggestion();
|
|
198
52
|
}
|
|
199
53
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,8CASC;AAfD,uCAAyB;AACzB,2CAA6B;AAE7B;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QACzE,OAAO,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACpE,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ccman",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Claude Code Manager - A TypeScript tool to manage Claude Code API configurations",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
|
-
"packageManager": "pnpm@
|
|
6
|
+
"packageManager": "pnpm@7.33.7",
|
|
7
7
|
"bin": {
|
|
8
8
|
"ccman": "./dist/cli.js"
|
|
9
9
|
},
|