td-web-cli 0.1.19 → 0.1.21
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
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
- [环境要求](#环境要求)
|
|
10
10
|
- [安装](#安装)
|
|
11
|
-
- [开发](#开发)
|
|
12
11
|
- [使用](#使用)
|
|
12
|
+
- [开发](#开发)
|
|
13
13
|
- [构建](#构建)
|
|
14
14
|
- [发布](#发布)
|
|
15
15
|
- [项目结构](#项目结构)
|
|
@@ -18,16 +18,38 @@
|
|
|
18
18
|
|
|
19
19
|
## 环境要求
|
|
20
20
|
|
|
21
|
-
- Node.js >= 20.
|
|
22
|
-
- npm >= 10.
|
|
23
|
-
- TypeScript >= 5.x
|
|
21
|
+
- Node.js >= 20.18.2(推荐使用 22.x 或更高版本)
|
|
22
|
+
- npm >= 10.8.2
|
|
24
23
|
|
|
25
|
-
>
|
|
24
|
+
> **注意**:部分依赖可能要求更高版本,请根据实际情况调整。
|
|
26
25
|
|
|
27
26
|
---
|
|
28
27
|
|
|
29
28
|
## 安装
|
|
30
29
|
|
|
30
|
+
```bash
|
|
31
|
+
npm i -g td-web-cli
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## 使用
|
|
37
|
+
|
|
38
|
+
### 命令行执行
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
td-web-cli
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 功能说明
|
|
45
|
+
|
|
46
|
+
- 多语言 Excel 转 JSON 工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/i18n/excel2json.md)
|
|
47
|
+
- 节假日查询工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/tools/getHolidayTime.md)
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## 开发
|
|
52
|
+
|
|
31
53
|
1. 克隆仓库
|
|
32
54
|
|
|
33
55
|
```bash
|
|
@@ -41,10 +63,6 @@ cd td-web-cli
|
|
|
41
63
|
npm install
|
|
42
64
|
```
|
|
43
65
|
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## 开发
|
|
47
|
-
|
|
48
66
|
### 代码结构
|
|
49
67
|
|
|
50
68
|
- `src/` - TypeScript 源代码目录
|
|
@@ -63,23 +81,6 @@ td-web-cli # 确保本机未全局安装该工具
|
|
|
63
81
|
|
|
64
82
|
---
|
|
65
83
|
|
|
66
|
-
## 使用
|
|
67
|
-
|
|
68
|
-
### 命令行执行
|
|
69
|
-
|
|
70
|
-
执行 CLI 工具:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
td-web-cli
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
### 功能说明
|
|
77
|
-
|
|
78
|
-
- 多语言 Excel 转 JSON 工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/i18n/excel2json.md)
|
|
79
|
-
- 节假日查询工具。[详细功能说明请点击这里](https://github.com/qianyuzzf/td-web-cli/blob/master/docs/tools/getHolidayTime.md)
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
84
|
## 构建
|
|
84
85
|
|
|
85
86
|
使用 TypeScript 编译项目:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/getHolidayTime/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/getHolidayTime/index.ts"],"names":[],"mappings":"AAiJA;;;GAGG;AACH,wBAAsB,cAAc,kBA4CnC"}
|
|
@@ -64,8 +64,8 @@ function getNearestHolidays(data, count = 3) {
|
|
|
64
64
|
const end = parseDate(group.holidayDates[group.holidayDates.length - 1]);
|
|
65
65
|
const relatedTransfers = transferWorkdays.filter((t) => {
|
|
66
66
|
const td = parseDate(t.date);
|
|
67
|
-
return (
|
|
68
|
-
|
|
67
|
+
return (td.getTime() >= start.getTime() - 7 * 24 * 60 * 60 * 1000 &&
|
|
68
|
+
td.getTime() <= end.getTime() + 7 * 24 * 60 * 60 * 1000);
|
|
69
69
|
});
|
|
70
70
|
if (relatedTransfers.length > 0) {
|
|
71
71
|
group.hasTransferWorkday = true;
|
|
@@ -75,9 +75,24 @@ function getNearestHolidays(data, count = 3) {
|
|
|
75
75
|
// 返回最近count个节假日
|
|
76
76
|
return grouped.slice(0, count);
|
|
77
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* 根据最近节假日的最短剩余天数,打印对应文案和表情
|
|
80
|
+
* @param minDays 最近节假日剩余最少天数
|
|
81
|
+
*/
|
|
82
|
+
function printHolidayMessage(minDays) {
|
|
83
|
+
if (minDays <= 10) {
|
|
84
|
+
console.log('\x1b[33m%s\x1b[0m', '🎉 好开心!假期马上就到了,放松一下吧!🎉');
|
|
85
|
+
}
|
|
86
|
+
else if (minDays <= 30) {
|
|
87
|
+
console.log('\x1b[36m%s\x1b[0m', '🙏 祈祷时间过得快点,假期早点来临!🙏');
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
console.log('\x1b[31m%s\x1b[0m', '😞 距离假期还很远,继续加油,坚持就是胜利!😞');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
78
93
|
/**
|
|
79
94
|
* 获取节假日信息并打印最近三个节假日详情,节假日名称黄色,序号无颜色
|
|
80
|
-
*
|
|
95
|
+
* 并打印请求和处理进度提示,最后根据最近节假日剩余天数打印文案
|
|
81
96
|
*/
|
|
82
97
|
export async function getHolidayTime() {
|
|
83
98
|
try {
|
|
@@ -100,6 +115,14 @@ export async function getHolidayTime() {
|
|
|
100
115
|
}
|
|
101
116
|
console.log('\x1b[90m---------------------\x1b[0m'); // 灰色分割线
|
|
102
117
|
});
|
|
118
|
+
// 找到最近节假日的最小剩余天数,打印对应文案
|
|
119
|
+
if (nearest.length > 0) {
|
|
120
|
+
const minDays = Math.min(...nearest.map((h) => h.daysUntil));
|
|
121
|
+
printHolidayMessage(minDays);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
console.log('\x1b[37m暂无未来节假日信息。\x1b[0m');
|
|
125
|
+
}
|
|
103
126
|
logger.info('节假日信息打印完成。', true);
|
|
104
127
|
}
|
|
105
128
|
catch (error) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "td-web-cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
4
4
|
"description": "A CLI tool for efficiency",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -19,7 +19,24 @@
|
|
|
19
19
|
"engines": {
|
|
20
20
|
"node": ">=20"
|
|
21
21
|
},
|
|
22
|
-
"keywords": [
|
|
22
|
+
"keywords": [
|
|
23
|
+
"td-web-cli",
|
|
24
|
+
"cli",
|
|
25
|
+
"i18n",
|
|
26
|
+
"国际化",
|
|
27
|
+
"tools",
|
|
28
|
+
"小工具",
|
|
29
|
+
"extractEntry",
|
|
30
|
+
"提取词条",
|
|
31
|
+
"json2excel",
|
|
32
|
+
"JSON转Excel",
|
|
33
|
+
"excel2json",
|
|
34
|
+
"Excel转JSON",
|
|
35
|
+
"jsonMerge",
|
|
36
|
+
"JSON合并",
|
|
37
|
+
"getHolidayTime",
|
|
38
|
+
"获取假期时间"
|
|
39
|
+
],
|
|
23
40
|
"author": "",
|
|
24
41
|
"license": "ISC",
|
|
25
42
|
"dependencies": {
|