lscontests 1.10.1 → 1.11.0

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -45,6 +45,8 @@ Options:
45
45
  -L, --language <lang> set output language (choices: "en", "zh-CN", "zh-NE",
46
46
  "zh-TW", default: "zh-CN")
47
47
  --no-sort do not sort by contests start time, but by OJ order
48
+ --no-running do not list all running contests
49
+ --no-upcoming do not list all upcoming contests
48
50
  -h, --help display help for command
49
51
  ```
50
52
  <!-- block_help end -->
@@ -52,50 +54,29 @@ Options:
52
54
  It performs as follows:
53
55
 
54
56
  <!-- block_cli begin -->
55
- (*The following content was automatically generated by [semantic-release](https://github.com/semantic-release/semantic-release) in Sat, 14 May 2022 13:07:09 GMT*)
57
+ (*The following content was automatically generated using [semantic-release](https://github.com/semantic-release/semantic-release) on Sun, 15 May 2022 16:13:18 GMT*)
56
58
 
57
59
  <details>
58
- <summary> <code>> lsct </code> </summary>
60
+ <summary> <code>> lsct -L en</code> </summary>
59
61
 
60
62
  ```text
61
- AtCoder,Codeforces,LeetCode,Luogu,NowCoder 上有 1 场正在进行的比赛
62
-
63
- 比赛平台: AtCoder
64
- 比赛名称: Panasonic Programming Contest 2022 (AtCoder Beginner Contest 251)
65
- 赛制: AtCoder
66
- 开始时间: 5/14/2022, 12:00:00
67
- 结束时间: 5/14/2022, 13:40:00
68
- https://atcoder.jp/contests/abc251
69
-
70
- 接下来的 3 天内在 AtCoder,Codeforces,LeetCode,Luogu,NowCoder 上有 4 场比赛
71
-
72
- 比赛平台: LeetCode
73
- 比赛名称: Biweekly Contest 78
74
- 赛制: AtCoder
75
- 开始时间: 5/14/2022, 14:30:00
76
- 结束时间: 5/14/2022, 16:00:00
77
- https://leetcode.com/contest/biweekly-contest-78
78
-
79
- 比赛平台: LeetCode
80
- 比赛名称: Weekly Contest 293
81
- 赛制: AtCoder
82
- 开始时间: 5/15/2022, 02:30:00
83
- 结束时间: 5/15/2022, 04:00:00
84
- https://leetcode.com/contest/weekly-contest-293
85
-
86
- 比赛平台: Luogu
87
- 比赛名称: 「WHOI」Round 1
88
- 赛制: IOI
89
- 开始时间: 5/15/2022, 06:00:00
90
- 结束时间: 5/15/2022, 10:00:00
91
- https://www.luogu.com.cn/contest/67377
92
-
93
- 比赛平台: AtCoder
94
- 比赛名称: Ⓐ AtCoder Regular Contest 140
95
- 赛制: AtCoder
96
- 开始时间: 5/15/2022, 12:00:00
97
- 结束时间: 5/15/2022, 14:00:00
98
- https://atcoder.jp/contests/arc140
63
+ There are 2 contests is running on NowCoder
64
+
65
+ OJ: NowCoder
66
+ Contest name: 牛客竞赛博弈专题班 Sprague-Grundy 函数(SG 函数、图游戏、Nim 和)
67
+ Rule: ICPC
68
+ Start time: 5/13/2022, 04:00:00
69
+ End time: 5/21/2022, 13:00:00
70
+ https://ac.nowcoder.com/acm/contest/34655
71
+
72
+ OJ: NowCoder
73
+ Contest name: 2022 图论班第一章图匹配例题与习题
74
+ Rule: ICPC
75
+ Start time: 5/13/2022, 06:00:00
76
+ End time: 5/30/2022, 08:00:00
77
+ https://ac.nowcoder.com/acm/contest/34649
78
+
79
+ No contests for the next 3 days
99
80
  ```
100
81
 
101
82
  </details>
@@ -104,23 +85,37 @@ https://atcoder.jp/contests/arc140
104
85
  <summary> <code>> lsct -o at cf -d 7 -L en</code> </summary>
105
86
 
106
87
  ```text
107
- There are 1 contests is running on AtCoder,Codeforces
88
+ No running contests
108
89
 
109
- OJ: AtCoder
110
- Contest name: Ⓐ Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)
111
- Rule: AtCoder
112
- Start time: 5/14/2022, 12:00:00
113
- End time: 5/14/2022, 13:40:00
114
- https://atcoder.jp/contests/abc251
90
+ There are 4 contests on Codeforces,AtCoder in the next 7 days
115
91
 
116
- There are 1 contests on AtCoder,Codeforces in the next 7 days
92
+ OJ: Codeforces
93
+ Contest name: Codeforces Round #792 (Div. 1)
94
+ Rule: Codeforces
95
+ Start time: 5/19/2022, 14:35:00
96
+ End time: 5/19/2022, 16:35:00
97
+ https://codeforces.com/contests/1683
98
+
99
+ OJ: Codeforces
100
+ Contest name: Codeforces Round #792 (Div. 2)
101
+ Rule: Codeforces
102
+ Start time: 5/19/2022, 14:35:00
103
+ End time: 5/19/2022, 16:35:00
104
+ https://codeforces.com/contests/1684
117
105
 
118
106
  OJ: AtCoder
119
- Contest name: Ⓐ AtCoder Regular Contest 140
107
+ Contest name: Ⓐ AtCoder Beginner Contest 252
120
108
  Rule: AtCoder
121
- Start time: 5/15/2022, 12:00:00
122
- End time: 5/15/2022, 14:00:00
123
- https://atcoder.jp/contests/arc140
109
+ Start time: 5/21/2022, 12:00:00
110
+ End time: 5/21/2022, 13:40:00
111
+ https://atcoder.jp/contests/abc252
112
+
113
+ OJ: Codeforces
114
+ Contest name: Codeforces Round #793 (Div. 2)
115
+ Rule: Codeforces
116
+ Start time: 5/22/2022, 14:35:00
117
+ End time: 5/22/2022, 16:35:00
118
+ https://codeforces.com/contests/1682
124
119
  ```
125
120
 
126
121
  </details>
@@ -130,24 +125,39 @@ https://atcoder.jp/contests/arc140
130
125
 
131
126
  ```json
132
127
  {
133
- "running": [
134
- {
135
- "ojName": "AtCoder",
136
- "name": "Ⓐ Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)",
137
- "rule": "AtCoder",
138
- "startTime": "2022-05-14T12:00:00.000Z",
139
- "endTime": "2022-05-14T13:40:00.000Z",
140
- "url": "https://atcoder.jp/contests/abc251"
141
- }
142
- ],
128
+ "running": [],
143
129
  "upcoming": [
144
130
  {
145
131
  "ojName": "AtCoder",
146
- "name": "Ⓐ AtCoder Regular Contest 140",
132
+ "name": "Ⓐ AtCoder Beginner Contest 252",
147
133
  "rule": "AtCoder",
148
- "startTime": "2022-05-15T12:00:00.000Z",
149
- "endTime": "2022-05-15T14:00:00.000Z",
150
- "url": "https://atcoder.jp/contests/arc140"
134
+ "startTime": "2022-05-21T12:00:00.000Z",
135
+ "endTime": "2022-05-21T13:40:00.000Z",
136
+ "url": "https://atcoder.jp/contests/abc252"
137
+ },
138
+ {
139
+ "ojName": "Codeforces",
140
+ "name": "Codeforces Round #793 (Div. 2)",
141
+ "rule": "Codeforces",
142
+ "startTime": "2022-05-22T14:35:00.000Z",
143
+ "endTime": "2022-05-22T16:35:00.000Z",
144
+ "url": "https://codeforces.com/contests/1682"
145
+ },
146
+ {
147
+ "ojName": "Codeforces",
148
+ "name": "Codeforces Round #792 (Div. 1)",
149
+ "rule": "Codeforces",
150
+ "startTime": "2022-05-19T14:35:00.000Z",
151
+ "endTime": "2022-05-19T16:35:00.000Z",
152
+ "url": "https://codeforces.com/contests/1683"
153
+ },
154
+ {
155
+ "ojName": "Codeforces",
156
+ "name": "Codeforces Round #792 (Div. 2)",
157
+ "rule": "Codeforces",
158
+ "startTime": "2022-05-19T14:35:00.000Z",
159
+ "endTime": "2022-05-19T16:35:00.000Z",
160
+ "url": "https://codeforces.com/contests/1684"
151
161
  }
152
162
  ]
153
163
  }
package/dist/cli.js CHANGED
@@ -29,7 +29,9 @@ function initCmd() {
29
29
  .addOption(new commander_1.Option("-o, --oj <ojs...>", "OJs to display").choices(Object.keys(oj_1.alloj)))
30
30
  .addOption(new commander_1.Option("-r, --raw", "print raw contest list").conflicts("language"))
31
31
  .addOption(new commander_1.Option("-L, --language <lang>", "set output language").default("zh-CN").choices(locale_1.langList))
32
- .option("--no-sort", "do not sort by contests start time, but by OJ order");
32
+ .option("--no-sort", "do not sort by contests start time, but by OJ order")
33
+ .option("--no-running", "do not list all running contests")
34
+ .addOption(new commander_1.Option("--no-upcoming", "do not list all upcoming contests").conflicts("--no-running"));
33
35
  }
34
36
  /**
35
37
  * CLI entrypoint
@@ -67,7 +69,9 @@ function cli(arg, name) {
67
69
  const config = {
68
70
  abbrList: lodash_1.default.uniq(opts.oj),
69
71
  days: opts.days,
70
- sort: opts.sort
72
+ sort: opts.sort,
73
+ running: opts.running,
74
+ upcoming: opts.upcoming
71
75
  };
72
76
  if (opts.raw)
73
77
  return JSON.stringify(yield (0, _1.getContests)(config), null, 2);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,kDAA+C;AAC/C,yCAA4C;AAC5C,iCAAiC;AACjC,wBAA6D;AAC7D,qCAAoC;AACpC,oDAAuB;AAEvB,SAAS,OAAO;IAEZ,OAAO,IAAI,mBAAO,EAAE;SACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB,OAAO,CAAC,sBAAO,CAAC;SAChB,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,GAAG,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;SACnE,SAAS,CAAC,IAAI,kBAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC,CAAC;SACxF,SAAS,CAAC,IAAI,kBAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAClF,SAAS,CAAC,IAAI,kBAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAQ,CAAC,CAAC;SACxG,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;AACpF,CAAC;AAGD;;;;;GAKG;AACH,SAAsB,GAAG,CAAC,GAAY,EAAE,IAAa;;QAEjD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,IAAG,GAAG,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,EAAE,CAAC;aAElC;YACI,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IACA;gBACI,IAAG,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,GAAG;qBACE,eAAe,CAAC;oBACb,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG;oBAC1B,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG;oBAC1B,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG;iBAChC,CAAC;qBACD,YAAY,EAAE;qBACd,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;aAChD;YACD,OAAM,CAAC,EAAE;gBAAE,OAAO,GAAG,CAAC;aAAE;SAC3B;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAG,IAAI,CAAC,IAAI;YAAE,OAAO,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAC,CAAC,SAAS,CAAC,UAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAEtG;YACI,MAAM,MAAM,GAAW;gBACnB,QAAQ,EAAE,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAc;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC;YACF,IAAG,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,IAAA,cAAW,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;;gBAClE,OAAO,MAAM,IAAA,sBAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChE;IACL,CAAC;CAAA;AAlCD,kBAkCC;AAED,IAAG,OAAO,CAAC,IAAI,KAAK,MAAM;IAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -3,6 +3,8 @@ export declare type config = {
3
3
  abbrList?: string[];
4
4
  days?: number;
5
5
  sort?: boolean;
6
+ running?: boolean;
7
+ upcoming?: boolean;
6
8
  };
7
9
  /**
8
10
  * Get the list of all contests matching the given config
package/dist/index.js CHANGED
@@ -20,7 +20,9 @@ const pangu_1 = __importDefault(require("pangu"));
20
20
  const defaultConfig = {
21
21
  abbrList: Object.keys(oj_1.alloj),
22
22
  days: 3,
23
- sort: true
23
+ sort: true,
24
+ running: true,
25
+ upcoming: true
24
26
  };
25
27
  function resolveConfig(config) {
26
28
  const cfg = Object.assign(Object.assign({}, defaultConfig), config);
@@ -36,23 +38,19 @@ function resolveConfig(config) {
36
38
  function getContests(config) {
37
39
  return __awaiter(this, void 0, void 0, function* () {
38
40
  const cfg = resolveConfig(config);
39
- function ls(fn) {
40
- return __awaiter(this, void 0, void 0, function* () {
41
- return (yield Promise.all(cfg.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
42
- try {
43
- return (yield oj_1.alloj[abbr].get()).filter(fn);
44
- }
45
- catch (e) {
46
- console.error(`Failed to get contest information for ${oj_1.alloj[abbr].name}, details:`);
47
- console.error(e);
48
- return [];
49
- }
50
- })))).reduce((ls1, ls2) => ls1.concat(ls2));
51
- });
52
- }
41
+ const contests = (yield Promise.all(cfg.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
42
+ try {
43
+ return yield oj_1.alloj[abbr].get();
44
+ }
45
+ catch (e) {
46
+ console.error(`Failed to get contest information for ${oj_1.alloj[abbr].name}, details:`);
47
+ console.error(e);
48
+ return [];
49
+ }
50
+ })))).reduce((ls1, ls2) => ls1.concat(ls2));
53
51
  const ret = {
54
- running: yield ls(ct => ct.startTime <= new Date() && ct.endTime > new Date()),
55
- upcoming: yield ls(ct => ct.startTime > new Date() && ct.startTime <= new Date(Date.now() + cfg.days * 86400000))
52
+ running: cfg.upcoming ? contests.filter(ct => ct.startTime <= new Date() && ct.endTime > new Date()) : [],
53
+ upcoming: cfg.upcoming ? contests.filter(ct => ct.startTime > new Date() && ct.startTime <= new Date(Date.now() + cfg.days * 86400000)) : []
56
54
  };
57
55
  if (cfg.sort)
58
56
  Object.values(ret).forEach(ct => ct.sort((a, b) => a.startTime.getTime() - b.startTime.getTime()));
@@ -72,7 +70,6 @@ function getContestsInfoText(config, language = "zh-CN") {
72
70
  const lang = yield (0, locale_1.getLangDict)(language);
73
71
  const { running, upcoming } = yield getContests(cfg);
74
72
  const info = [];
75
- const oj = cfg.abbrList.map(abbr => oj_1.alloj[abbr].name).join(",");
76
73
  function msg(contests) {
77
74
  return contests.map(contest => {
78
75
  const ls = [];
@@ -85,25 +82,29 @@ function getContestsInfoText(config, language = "zh-CN") {
85
82
  return ls.join("\n");
86
83
  });
87
84
  }
88
- if (running.length) {
89
- info.push(lodash_1.default.template(lang.runnning)({
90
- contestCount: running.length,
91
- oj
92
- }));
93
- info.push(...msg(running));
85
+ if (cfg.running) {
86
+ if (running.length) {
87
+ info.push(lodash_1.default.template(lang.runnning)({
88
+ contestCount: running.length,
89
+ oj: lodash_1.default.uniq(running.map(contest => contest.ojName))
90
+ }));
91
+ info.push(...msg(running));
92
+ }
93
+ else
94
+ info.push(lang.norunning);
94
95
  }
95
- else
96
- info.push(lodash_1.default.template(lang.norunning)({ oj }));
97
- if (upcoming.length) {
98
- info.push(lodash_1.default.template(lang.upcoming)({
99
- contestCount: upcoming.length,
100
- days: cfg.days,
101
- oj
102
- }));
103
- info.push(...msg(upcoming));
96
+ if (cfg.upcoming) {
97
+ if (upcoming.length) {
98
+ info.push(lodash_1.default.template(lang.upcoming)({
99
+ contestCount: upcoming.length,
100
+ days: cfg.days,
101
+ oj: lodash_1.default.uniq(upcoming.map(contest => contest.ojName))
102
+ }));
103
+ info.push(...msg(upcoming));
104
+ }
105
+ else
106
+ info.push(lodash_1.default.template(lang.noupcoming)({ days: cfg.days }));
104
107
  }
105
- else
106
- info.push(lodash_1.default.template(lang.noupcoming)({ days: cfg.days, oj }));
107
108
  return pangu_1.default.spacing(info.join("\n\n"));
108
109
  });
109
110
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.addOJ = exports.alloj = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const axios_retry_1 = __importDefault(require("axios-retry"));
4
9
  const atcoder_1 = require("./atcoder");
5
10
  const codeforces_1 = require("./codeforces");
6
11
  const leetcode_1 = require("./leetcode");
7
12
  const luogu_1 = require("./luogu");
8
13
  const nowcoder_1 = require("./nowcoder");
14
+ (0, axios_retry_1.default)(axios_1.default, { retries: 3, retryDelay: (retryCount) => retryCount * 1000 });
9
15
  exports.alloj = {
10
16
  at: atcoder_1.at,
11
17
  cf: codeforces_1.cf,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;AACA,uCAA+B;AAC/B,6CAAkC;AAClC,yCAAgC;AAChC,mCAA6B;AAC7B,yCAAgC;AAOnB,QAAA,KAAK,GAA4B;IAC1C,EAAE,EAAF,YAAE;IACF,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,aAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF;;;;GAIG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IAEtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAHD,sBAGC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8DAAqC;AAErC,uCAA+B;AAC/B,6CAAkC;AAClC,yCAAgC;AAChC,mCAA6B;AAC7B,yCAAgC;AAEhC,IAAA,qBAAU,EAAC,eAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;AAOpE,QAAA,KAAK,GAA4B;IAC1C,EAAE,EAAF,YAAE;IACF,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,aAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF;;;;GAIG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IAEtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAHD,sBAGC"}
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "runnning": "There are ${contestCount} contests is running on ${oj}",
3
- "norunning": "No upcomming contests on ${oj}",
3
+ "norunning": "No running contests",
4
4
  "upcoming": "There are ${contestCount} contests on ${oj} in the next ${days} days",
5
- "noupcoming": "No contests for the next ${days} days on ${oj}",
5
+ "noupcoming": "No contests for the next ${days} days",
6
6
  "ojName": "OJ",
7
7
  "name": "Contest name",
8
8
  "rule": "Rule",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "runnning": "在 ${oj} 上有 ${contestCount} 场正在进行的比赛",
3
- "norunning": "在 ${oj} 上没有正在进行的比赛捏",
3
+ "norunning": "没有正在进行的比赛捏",
4
4
  "upcoming": "接下来的 ${days} 天内在 ${oj} 上有 ${contestCount} 场比赛",
5
- "noupcoming": "接下来的 ${days} 天内在 ${oj} 上没有比赛捏",
5
+ "noupcoming": "接下来的 ${days} 天内没有比赛捏",
6
6
  "ojName": "比赛平台",
7
7
  "name": "比赛名称",
8
8
  "rule": "赛制",
@@ -1,8 +1,8 @@
1
1
  {
2
- "runnning": "搁 ${oj} 上有 ${contestCount} 场比赛正干着呢",
3
- "norunning": "这前搁 ${oj} 上没比赛打",
2
+ "runnning": "搁 ${oj} 上有 ${contestCount} 场比赛正偷摸干着呢",
3
+ "norunning": "这前属实是没比赛打",
4
4
  "upcoming": "之后 ${days} 天搁 ${oj} 上拢共 ${contestCount} 场比赛",
5
- "noupcoming": "没成想往后 ${days} 天搁 ${oj} 没比赛打啊",
5
+ "noupcoming": "没成想往后 ${days} 天没比赛打啊",
6
6
  "ojName": "搁哪",
7
7
  "name": "叫啥",
8
8
  "rule": "咋个整法",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "runnning": "在 ${oj} 上有 ${contestCount} 場正在進行的比賽",
3
- "norunning": "在 ${oj} 上沒有正在進行的比賽",
3
+ "norunning": "沒有正在進行的比賽",
4
4
  "upcoming": "接下来的 ${days} 天內在 ${oj} 上有 ${contestCount} 場比賽",
5
- "noupcoming": "接下來的 ${days} 天內在 ${oj} 上沒有比賽",
5
+ "noupcoming": "接下來的 ${days} 天內沒有比賽",
6
6
  "ojName": "比賽平台",
7
7
  "name": "比賽名稱",
8
8
  "rule": "賽制",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lscontests",
3
- "version": "1.10.1",
3
+ "version": "1.11.0",
4
4
  "description": "A tool to get information about the contests on each OJ",
5
5
  "keywords": [
6
6
  "cli",
@@ -29,16 +29,22 @@
29
29
  "docs": "typedoc --footerTypedocVersion --footerDate --footerTime",
30
30
  "lint": "eslint && markdownlint README.md",
31
31
  "prestart": "yarn build",
32
+ "release": "mkdirp docs && yarn semantic-release",
32
33
  "start": "node ./dist/cli.js"
33
34
  },
34
35
  "dependencies": {
35
36
  "axios": "^0.27.2",
37
+ "axios-retry": "^3.2.5",
36
38
  "cheerio": "^1.0.0-rc.10",
37
39
  "commander": "^9.2.0",
38
40
  "lodash": "^4.17.21",
39
41
  "pangu": "^4.0.7"
40
42
  },
41
43
  "devDependencies": {
44
+ "@qiwi/semantic-release-gh-pages-plugin": "^5.2.2",
45
+ "@semantic-release/changelog": "^6.0.1",
46
+ "@semantic-release/exec": "^6.0.3",
47
+ "@semantic-release/git": "^10.0.1",
42
48
  "@types/lodash": "^4.14.182",
43
49
  "@types/node": "^17.0.33",
44
50
  "@types/pangu": "^3.3.0",
@@ -47,7 +53,9 @@
47
53
  "cz-conventional-changelog": "3.3.0",
48
54
  "eslint": "^8.15.0",
49
55
  "markdownlint-cli": "^0.31.1",
56
+ "mkdirp": "^1.0.4",
50
57
  "rimraf": "^3.0.2",
58
+ "semantic-release": "^19.0.2",
51
59
  "typedoc": "^0.22.15",
52
60
  "typedoc-plugin-extras": "^2.2.3",
53
61
  "typescript": "^4.6.4"