@coze-arch/rush-publish-plugin 0.0.1-alpha.6255b0
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 +1 -0
- package/command-line.json +140 -0
- package/lib/action/change/action.d.ts +2 -0
- package/lib/action/change/action.js +40 -0
- package/lib/action/change/amend-commit.d.ts +1 -0
- package/lib/action/change/amend-commit.js +23 -0
- package/lib/action/change/helper.d.ts +33 -0
- package/lib/action/change/helper.js +126 -0
- package/lib/action/change/index.d.ts +2 -0
- package/lib/action/change/index.js +17 -0
- package/lib/action/change/types.d.ts +5 -0
- package/lib/action/change/types.js +3 -0
- package/lib/action/publish/action.d.ts +2 -0
- package/lib/action/publish/action.js +68 -0
- package/lib/action/publish/apply-new-version.d.ts +2 -0
- package/lib/action/publish/apply-new-version.js +27 -0
- package/lib/action/publish/changelog.d.ts +2 -0
- package/lib/action/publish/changelog.js +79 -0
- package/lib/action/publish/confirm.d.ts +2 -0
- package/lib/action/publish/confirm.js +31 -0
- package/lib/action/publish/const.d.ts +1 -0
- package/lib/action/publish/const.js +5 -0
- package/lib/action/publish/git.d.ts +20 -0
- package/lib/action/publish/git.js +33 -0
- package/lib/action/publish/index.d.ts +2 -0
- package/lib/action/publish/index.js +43 -0
- package/lib/action/publish/packages.d.ts +3 -0
- package/lib/action/publish/packages.js +67 -0
- package/lib/action/publish/push-to-remote.d.ts +13 -0
- package/lib/action/publish/push-to-remote.js +105 -0
- package/lib/action/publish/request-bump-type.d.ts +5 -0
- package/lib/action/publish/request-bump-type.js +56 -0
- package/lib/action/publish/types.d.ts +25 -0
- package/lib/action/publish/types.js +12 -0
- package/lib/action/publish/version.d.ts +16 -0
- package/lib/action/publish/version.js +111 -0
- package/lib/action/release/action.d.ts +2 -0
- package/lib/action/release/action.js +34 -0
- package/lib/action/release/git.d.ts +5 -0
- package/lib/action/release/git.js +28 -0
- package/lib/action/release/index.d.ts +2 -0
- package/lib/action/release/index.js +31 -0
- package/lib/action/release/manifest.d.ts +5 -0
- package/lib/action/release/manifest.js +18 -0
- package/lib/action/release/package.d.ts +2 -0
- package/lib/action/release/package.js +49 -0
- package/lib/action/release/plan.d.ts +8 -0
- package/lib/action/release/plan.js +37 -0
- package/lib/action/release/release.d.ts +2 -0
- package/lib/action/release/release.js +50 -0
- package/lib/action/release/types.d.ts +14 -0
- package/lib/action/release/types.js +3 -0
- package/lib/generate-changelog/generate-changelog.d.ts +49 -0
- package/lib/generate-changelog/generate-changelog.js +127 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +28 -0
- package/lib/types.d.ts +2 -0
- package/lib/types.js +3 -0
- package/lib/utils/exec.d.ts +7 -0
- package/lib/utils/exec.js +24 -0
- package/lib/utils/fs.d.ts +4 -0
- package/lib/utils/fs.js +27 -0
- package/lib/utils/get-rush-config.d.ts +2 -0
- package/lib/utils/get-rush-config.js +16 -0
- package/lib/utils/git.d.ts +19 -0
- package/lib/utils/git.js +70 -0
- package/lib/utils/logger.d.ts +58 -0
- package/lib/utils/logger.js +136 -0
- package/lib/utils/random.d.ts +6 -0
- package/lib/utils/random.js +19 -0
- package/lib/utils/whoami.d.ts +4 -0
- package/lib/utils/whoami.js +16 -0
- package/package.json +69 -0
- package/rush-plugin-manifest.json +10 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 日志工具
|
|
4
|
+
*
|
|
5
|
+
* 提供统一的日志输出接口,支持不同级别的日志,包括彩色输出
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.logger = exports.LogLevel = void 0;
|
|
9
|
+
exports.setLogLevel = setLogLevel;
|
|
10
|
+
exports.getLogLevel = getLogLevel;
|
|
11
|
+
// 日志级别枚举
|
|
12
|
+
var LogLevel;
|
|
13
|
+
(function (LogLevel) {
|
|
14
|
+
LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
|
|
15
|
+
LogLevel[LogLevel["INFO"] = 1] = "INFO";
|
|
16
|
+
LogLevel[LogLevel["WARN"] = 2] = "WARN";
|
|
17
|
+
LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
|
|
18
|
+
LogLevel[LogLevel["SUCCESS"] = 4] = "SUCCESS";
|
|
19
|
+
LogLevel[LogLevel["NONE"] = 5] = "NONE";
|
|
20
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
21
|
+
// ANSI 颜色代码
|
|
22
|
+
const colors = {
|
|
23
|
+
reset: '\x1b[0m',
|
|
24
|
+
debug: '\x1b[36m', // 青色
|
|
25
|
+
info: '\x1b[34m', // 蓝色
|
|
26
|
+
warn: '\x1b[33m', // 黄色
|
|
27
|
+
error: '\x1b[31m', // 红色
|
|
28
|
+
success: '\x1b[32m', // 绿色
|
|
29
|
+
};
|
|
30
|
+
// 默认日志级别
|
|
31
|
+
let currentLogLevel = LogLevel.INFO;
|
|
32
|
+
/**
|
|
33
|
+
* 设置全局日志级别
|
|
34
|
+
* @param level 日志级别
|
|
35
|
+
*/
|
|
36
|
+
function setLogLevel(level) {
|
|
37
|
+
currentLogLevel = level;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 获取当前日志级别
|
|
41
|
+
* @returns 当前日志级别
|
|
42
|
+
*/
|
|
43
|
+
function getLogLevel() {
|
|
44
|
+
return currentLogLevel;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* 基础日志函数
|
|
48
|
+
* @param level 日志级别
|
|
49
|
+
* @param message 日志消息
|
|
50
|
+
* @param showPrefix 是否显示前缀,默认为 true
|
|
51
|
+
*/
|
|
52
|
+
function log(level, message, showPrefix = true) {
|
|
53
|
+
if (level < currentLogLevel) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
let prefix = '';
|
|
57
|
+
let color = '';
|
|
58
|
+
switch (level) {
|
|
59
|
+
case LogLevel.DEBUG: {
|
|
60
|
+
prefix = '[DEBUG]';
|
|
61
|
+
color = colors.debug;
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
case LogLevel.WARN: {
|
|
65
|
+
prefix = '[WARN]';
|
|
66
|
+
color = colors.warn;
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case LogLevel.ERROR: {
|
|
70
|
+
prefix = '[ERROR]';
|
|
71
|
+
color = colors.error;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
case LogLevel.SUCCESS: {
|
|
75
|
+
prefix = '[SUCCESS]';
|
|
76
|
+
color = colors.success;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
case LogLevel.INFO:
|
|
80
|
+
default: {
|
|
81
|
+
prefix = '[INFO]';
|
|
82
|
+
color = colors.info;
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// 格式化日志前缀
|
|
87
|
+
const formattedPrefix = showPrefix ? `${color}${prefix}${colors.reset} ` : '';
|
|
88
|
+
// 输出日志
|
|
89
|
+
console.log(`${formattedPrefix}${message}`);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 导出的日志工具
|
|
93
|
+
*/
|
|
94
|
+
exports.logger = {
|
|
95
|
+
/**
|
|
96
|
+
* 调试日志
|
|
97
|
+
* @param message 日志消息
|
|
98
|
+
* @param showPrefix 是否显示前缀,默认为 true
|
|
99
|
+
*/
|
|
100
|
+
debug(message, showPrefix = true) {
|
|
101
|
+
log(LogLevel.DEBUG, message, showPrefix);
|
|
102
|
+
},
|
|
103
|
+
/**
|
|
104
|
+
* 信息日志
|
|
105
|
+
* @param message 日志消息
|
|
106
|
+
* @param showPrefix 是否显示前缀,默认为 true
|
|
107
|
+
*/
|
|
108
|
+
info(message, showPrefix = true) {
|
|
109
|
+
log(LogLevel.INFO, message, showPrefix);
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* 警告日志
|
|
113
|
+
* @param message 日志消息
|
|
114
|
+
* @param showPrefix 是否显示前缀,默认为 true
|
|
115
|
+
*/
|
|
116
|
+
warn(message, showPrefix = true) {
|
|
117
|
+
log(LogLevel.WARN, message, showPrefix);
|
|
118
|
+
},
|
|
119
|
+
/**
|
|
120
|
+
* 错误日志
|
|
121
|
+
* @param message 日志消息
|
|
122
|
+
* @param showPrefix 是否显示前缀,默认为 true
|
|
123
|
+
*/
|
|
124
|
+
error(message, showPrefix = true) {
|
|
125
|
+
log(LogLevel.ERROR, message, showPrefix);
|
|
126
|
+
},
|
|
127
|
+
/**
|
|
128
|
+
* 成功日志
|
|
129
|
+
* @param message 日志消息
|
|
130
|
+
* @param showPrefix 是否显示前缀,默认为 true
|
|
131
|
+
*/
|
|
132
|
+
success(message, showPrefix = true) {
|
|
133
|
+
log(LogLevel.SUCCESS, message, showPrefix);
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.randomHash = randomHash;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
/**
|
|
9
|
+
* 生成指定长度的随机字符串(使用 crypto 模块)
|
|
10
|
+
* @param digit 字符串长度
|
|
11
|
+
* @returns 随机字符串
|
|
12
|
+
*/
|
|
13
|
+
function randomHash(digit) {
|
|
14
|
+
return crypto_1.default
|
|
15
|
+
.randomBytes(Math.ceil(digit / 2))
|
|
16
|
+
.toString('hex')
|
|
17
|
+
.slice(0, digit);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=random.js.map
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.whoAmI = void 0;
|
|
4
|
+
const exec_1 = require("./exec");
|
|
5
|
+
const whoAmI = async () => {
|
|
6
|
+
const [name, email] = await Promise.all([
|
|
7
|
+
(0, exec_1.exec)('git config user.name', { cwd: __dirname, silent: true }),
|
|
8
|
+
(0, exec_1.exec)('git config user.email', { cwd: __dirname, silent: true }),
|
|
9
|
+
]);
|
|
10
|
+
return {
|
|
11
|
+
name: name.stdout.toString().replace('\n', ''),
|
|
12
|
+
email: email.stdout.toString().replace('\n', ''),
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
exports.whoAmI = whoAmI;
|
|
16
|
+
//# sourceMappingURL=whoami.js.map
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@coze-arch/rush-publish-plugin",
|
|
3
|
+
"version": "0.0.1-alpha.6255b0",
|
|
4
|
+
"description": "rush plugin to generate change log and publish packages",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"rush",
|
|
7
|
+
"plugin",
|
|
8
|
+
"command",
|
|
9
|
+
"release",
|
|
10
|
+
"publish"
|
|
11
|
+
],
|
|
12
|
+
"license": "ISC",
|
|
13
|
+
"author": "tecvan.fe@gmail.com",
|
|
14
|
+
"maintainers": [],
|
|
15
|
+
"main": "./lib/index.js",
|
|
16
|
+
"bin": {
|
|
17
|
+
"rush-publish": "./lib/index.js"
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"lib",
|
|
21
|
+
"!**/*.tsbuildinfo",
|
|
22
|
+
"!**/*.map",
|
|
23
|
+
"command-line.json",
|
|
24
|
+
"rush-plugin-manifest.json"
|
|
25
|
+
],
|
|
26
|
+
"scripts": {
|
|
27
|
+
"build": "tsc -b tsconfig.build.json",
|
|
28
|
+
"lint": "eslint ./ --cache",
|
|
29
|
+
"test": "vitest --run --passWithNoTests",
|
|
30
|
+
"test:cov": "npm run test -- --coverage"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"@inquirer/prompts": "^3.2.0",
|
|
34
|
+
"@rushstack/rush-sdk": "^5.150.0",
|
|
35
|
+
"chalk": "^4.1.2",
|
|
36
|
+
"conventional-changelog-angular": "^5.0.13",
|
|
37
|
+
"conventional-commits-parser": "^3.2.4",
|
|
38
|
+
"dayjs": "^1.11.13",
|
|
39
|
+
"open": "~10.1.0",
|
|
40
|
+
"semver": "^7.7.1",
|
|
41
|
+
"shelljs": "^0.9.2"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@commitlint/types": "^17.4.0",
|
|
45
|
+
"@coze-arch/eslint-config": "workspace:*",
|
|
46
|
+
"@coze-arch/ts-config": "workspace:*",
|
|
47
|
+
"@coze-arch/vitest-config": "workspace:*",
|
|
48
|
+
"@types/node": "^22.13.13",
|
|
49
|
+
"@types/semver": "^7.5.8",
|
|
50
|
+
"@types/shelljs": "^0.8.15",
|
|
51
|
+
"@vitest/coverage-v8": "^3.0.9",
|
|
52
|
+
"commander": "^13.1.0",
|
|
53
|
+
"sucrase": "^3.32.0",
|
|
54
|
+
"tsx": "^4.19.3",
|
|
55
|
+
"vitest": "^3.0.9"
|
|
56
|
+
},
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"commander": "^13.1.0"
|
|
59
|
+
},
|
|
60
|
+
"publishConfig": {
|
|
61
|
+
"access": "public"
|
|
62
|
+
},
|
|
63
|
+
"cozePublishConfig": {
|
|
64
|
+
"bin": {
|
|
65
|
+
"rush-publish": "./lib/index.js"
|
|
66
|
+
},
|
|
67
|
+
"main": "./lib/index.js"
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-plugin-manifest.schema.json",
|
|
3
|
+
"plugins": [
|
|
4
|
+
{
|
|
5
|
+
"pluginName": "@coze-arch/rush-publish-plugin",
|
|
6
|
+
"description": "rush plugin to generate change log and publish packages",
|
|
7
|
+
"commandLineJsonFilePath": "./command-line.json"
|
|
8
|
+
}
|
|
9
|
+
]
|
|
10
|
+
}
|