surgio 2.25.3 → 3.0.0-alpha.1

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.
Files changed (265) hide show
  1. package/LICENSE +1 -1
  2. package/bin/dev +17 -0
  3. package/bin/dev.cmd +3 -0
  4. package/bin/run +8 -0
  5. package/bin/run.cmd +3 -0
  6. package/build/base-command.d.ts +19 -0
  7. package/build/base-command.js +75 -0
  8. package/build/base-command.js.map +1 -0
  9. package/build/commands/check.d.ts +10 -0
  10. package/build/commands/check.js +88 -0
  11. package/build/commands/check.js.map +1 -0
  12. package/build/commands/clean-cache.d.ts +6 -0
  13. package/build/commands/clean-cache.js +29 -0
  14. package/build/commands/clean-cache.js.map +1 -0
  15. package/build/commands/doctor.d.ts +6 -0
  16. package/build/commands/doctor.js +21 -0
  17. package/build/commands/doctor.js.map +1 -0
  18. package/build/commands/generate.d.ts +7 -0
  19. package/build/commands/generate.js +93 -0
  20. package/build/commands/generate.js.map +1 -0
  21. package/build/commands/lint.d.ts +6 -0
  22. package/build/commands/lint.js +36 -0
  23. package/build/commands/lint.js.map +1 -0
  24. package/build/commands/new.d.ts +6 -0
  25. package/build/commands/new.js +36 -0
  26. package/build/commands/new.js.map +1 -0
  27. package/build/commands/subscriptions.d.ts +7 -0
  28. package/build/commands/subscriptions.js +96 -0
  29. package/build/commands/subscriptions.js.map +1 -0
  30. package/build/commands/upload.d.ts +6 -0
  31. package/build/commands/upload.js +89 -0
  32. package/build/commands/upload.js.map +1 -0
  33. package/build/config.d.ts +6 -0
  34. package/build/config.js +151 -0
  35. package/build/config.js.map +1 -0
  36. package/build/configurables.d.ts +80 -0
  37. package/build/configurables.js +52 -0
  38. package/build/configurables.js.map +1 -0
  39. package/build/constant/constant.d.ts +16 -16
  40. package/build/constant/constant.js +3 -13
  41. package/build/constant/constant.js.map +1 -0
  42. package/build/constant/env.js +1 -1
  43. package/build/constant/env.js.map +1 -0
  44. package/build/constant/error.js +1 -1
  45. package/build/constant/error.js.map +1 -0
  46. package/build/constant/index.js +1 -1
  47. package/build/constant/index.js.map +1 -0
  48. package/build/generator/artifact.d.ts +302 -67
  49. package/build/generator/artifact.js +141 -101
  50. package/build/generator/artifact.js.map +1 -0
  51. package/build/generator/index.d.ts +2 -0
  52. package/build/generator/index.js +19 -0
  53. package/build/generator/index.js.map +1 -0
  54. package/build/generator/template.js +2 -28
  55. package/build/generator/template.js.map +1 -0
  56. package/build/hooks/init.d.ts +3 -0
  57. package/build/hooks/init.js +33 -0
  58. package/build/hooks/init.js.map +1 -0
  59. package/build/index.d.ts +68 -66
  60. package/build/index.js +11 -51
  61. package/build/index.js.map +1 -0
  62. package/build/internal.d.ts +5 -0
  63. package/build/internal.js +25 -0
  64. package/build/internal.js.map +1 -0
  65. package/build/misc/deprecation.d.ts +1 -6
  66. package/build/misc/deprecation.js +1 -8
  67. package/build/misc/deprecation.js.map +1 -0
  68. package/build/misc/flag_cn.d.ts +49 -50
  69. package/build/misc/flag_cn.js +3 -3
  70. package/build/misc/flag_cn.js.map +1 -0
  71. package/build/provider/BlackSSLProvider.d.ts +4 -3
  72. package/build/provider/BlackSSLProvider.js +28 -16
  73. package/build/provider/BlackSSLProvider.js.map +1 -0
  74. package/build/provider/ClashProvider.d.ts +7 -10
  75. package/build/provider/ClashProvider.js +168 -76
  76. package/build/provider/ClashProvider.js.map +1 -0
  77. package/build/provider/CustomProvider.d.ts +4 -3
  78. package/build/provider/CustomProvider.js +98 -54
  79. package/build/provider/CustomProvider.js.map +1 -0
  80. package/build/provider/Provider.d.ts +9 -22
  81. package/build/provider/Provider.js +34 -69
  82. package/build/provider/Provider.js.map +1 -0
  83. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +4 -5
  84. package/build/provider/ShadowsocksJsonSubscribeProvider.js +31 -21
  85. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +1 -0
  86. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -8
  87. package/build/provider/ShadowsocksSubscribeProvider.js +33 -27
  88. package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -0
  89. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -8
  90. package/build/provider/ShadowsocksrSubscribeProvider.js +33 -23
  91. package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -0
  92. package/build/provider/SsdProvider.d.ts +5 -8
  93. package/build/provider/SsdProvider.js +59 -39
  94. package/build/provider/SsdProvider.js.map +1 -0
  95. package/build/provider/TrojanProvider.d.ts +5 -8
  96. package/build/provider/TrojanProvider.js +40 -30
  97. package/build/provider/TrojanProvider.js.map +1 -0
  98. package/build/provider/V2rayNSubscribeProvider.d.ts +4 -5
  99. package/build/provider/V2rayNSubscribeProvider.js +64 -33
  100. package/build/provider/V2rayNSubscribeProvider.js.map +1 -0
  101. package/build/provider/index.d.ts +16 -2
  102. package/build/provider/index.js +12 -5
  103. package/build/provider/index.js.map +1 -0
  104. package/build/provider/types.d.ts +10 -1
  105. package/build/provider/types.js +1 -1
  106. package/build/provider/types.js.map +1 -0
  107. package/build/redis.js +1 -1
  108. package/build/redis.js.map +1 -0
  109. package/build/types.d.ts +42 -236
  110. package/build/types.js +2 -1
  111. package/build/types.js.map +1 -0
  112. package/build/utils/cache.js +29 -27
  113. package/build/utils/cache.js.map +1 -0
  114. package/build/utils/clash.d.ts +204 -3
  115. package/build/utils/clash.js +247 -110
  116. package/build/utils/clash.js.map +1 -0
  117. package/build/utils/constant.js +1 -1
  118. package/build/utils/constant.js.map +1 -0
  119. package/build/utils/dns.js +1 -1
  120. package/build/utils/dns.js.map +1 -0
  121. package/build/utils/doctor.d.ts +2 -0
  122. package/build/utils/doctor.js +38 -0
  123. package/build/utils/doctor.js.map +1 -0
  124. package/build/utils/env-flag.js +2 -2
  125. package/build/utils/env-flag.js.map +1 -0
  126. package/build/utils/error-helper.d.ts +2 -2
  127. package/build/utils/error-helper.js +51 -16
  128. package/build/utils/error-helper.js.map +1 -0
  129. package/build/utils/errors.d.ts +19 -0
  130. package/build/utils/errors.js +60 -0
  131. package/build/utils/errors.js.map +1 -0
  132. package/build/utils/filter.d.ts +46 -43
  133. package/build/utils/filter.js +57 -59
  134. package/build/utils/filter.js.map +1 -0
  135. package/build/utils/flag.js +6 -6
  136. package/build/utils/flag.js.map +1 -0
  137. package/build/utils/http-client.js +38 -5
  138. package/build/utils/http-client.js.map +1 -0
  139. package/build/utils/index.d.ts +14 -21
  140. package/build/utils/index.js +102 -118
  141. package/build/utils/index.js.map +1 -0
  142. package/build/utils/linter.js +5 -2
  143. package/build/utils/linter.js.map +1 -0
  144. package/build/utils/loon.d.ts +3 -2
  145. package/build/utils/loon.js +67 -5
  146. package/build/utils/loon.js.map +1 -0
  147. package/build/utils/quantumult.d.ts +3 -3
  148. package/build/utils/quantumult.js +190 -258
  149. package/build/utils/quantumult.js.map +1 -0
  150. package/build/utils/relayable-url.js +1 -1
  151. package/build/utils/relayable-url.js.map +1 -0
  152. package/build/utils/remote-snippet.js +37 -14
  153. package/build/utils/remote-snippet.js.map +1 -0
  154. package/build/utils/ss.js +27 -17
  155. package/build/utils/ss.js.map +1 -0
  156. package/build/utils/ssr.js +3 -4
  157. package/build/utils/ssr.js.map +1 -0
  158. package/build/utils/subscription.js +10 -9
  159. package/build/utils/subscription.js.map +1 -0
  160. package/build/utils/surfboard.d.ts +3 -2
  161. package/build/utils/surfboard.js +142 -126
  162. package/build/utils/surfboard.js.map +1 -0
  163. package/build/utils/surge.d.ts +4 -2
  164. package/build/utils/surge.js +328 -300
  165. package/build/utils/surge.js.map +1 -0
  166. package/build/utils/time.d.ts +1 -0
  167. package/build/utils/time.js +6 -0
  168. package/build/utils/time.js.map +1 -0
  169. package/build/utils/tmp-helper.js +8 -1
  170. package/build/utils/tmp-helper.js.map +1 -0
  171. package/build/utils/trojan.js +19 -11
  172. package/build/utils/trojan.js.map +1 -0
  173. package/build/validators/artifact.d.ts +35 -0
  174. package/build/validators/artifact.js +17 -0
  175. package/build/validators/artifact.js.map +1 -0
  176. package/build/validators/common.d.ts +121 -0
  177. package/build/validators/common.js +65 -0
  178. package/build/validators/common.js.map +1 -0
  179. package/build/validators/filter.d.ts +10 -0
  180. package/build/validators/filter.js +15 -0
  181. package/build/validators/filter.js.map +1 -0
  182. package/build/validators/hooks.d.ts +9 -0
  183. package/build/validators/hooks.js +11 -0
  184. package/build/validators/hooks.js.map +1 -0
  185. package/build/validators/http.d.ts +137 -0
  186. package/build/validators/http.js +19 -0
  187. package/build/validators/http.js.map +1 -0
  188. package/build/validators/index.d.ts +15 -0
  189. package/build/validators/index.js +32 -0
  190. package/build/validators/index.js.map +1 -0
  191. package/build/validators/provider.d.ts +114 -0
  192. package/build/validators/provider.js +42 -0
  193. package/build/validators/provider.js.map +1 -0
  194. package/build/validators/shadowsocks.d.ts +86 -0
  195. package/build/validators/shadowsocks.js +29 -0
  196. package/build/validators/shadowsocks.js.map +1 -0
  197. package/build/validators/shadowsocksr.d.ts +77 -0
  198. package/build/validators/shadowsocksr.js +19 -0
  199. package/build/validators/shadowsocksr.js.map +1 -0
  200. package/build/validators/snell.d.ts +71 -0
  201. package/build/validators/snell.js +17 -0
  202. package/build/validators/snell.js.map +1 -0
  203. package/build/validators/socks5.d.ts +77 -0
  204. package/build/validators/socks5.js +19 -0
  205. package/build/validators/socks5.js.map +1 -0
  206. package/build/validators/surgio-config.d.ts +307 -0
  207. package/build/validators/surgio-config.js +95 -0
  208. package/build/validators/surgio-config.js.map +1 -0
  209. package/build/validators/trojan.d.ts +86 -0
  210. package/build/validators/trojan.js +15 -0
  211. package/build/validators/trojan.js.map +1 -0
  212. package/build/validators/tuic.d.ts +301 -0
  213. package/build/validators/tuic.js +21 -0
  214. package/build/validators/tuic.js.map +1 -0
  215. package/build/validators/vmess.d.ts +92 -0
  216. package/build/validators/vmess.js +29 -0
  217. package/build/validators/vmess.js.map +1 -0
  218. package/build/validators/wireguard.d.ts +123 -0
  219. package/build/validators/wireguard.js +26 -0
  220. package/build/validators/wireguard.js.map +1 -0
  221. package/config.d.ts +1 -0
  222. package/config.js +1 -0
  223. package/constant.d.ts +1 -0
  224. package/constant.js +1 -0
  225. package/generator.d.ts +1 -0
  226. package/generator.js +1 -0
  227. package/hygen-template/artifact/new/index.js +15 -15
  228. package/hygen-template/provider/new/index.js +8 -7
  229. package/hygen-template/template/new/index.js +3 -3
  230. package/index.d.ts +1 -0
  231. package/index.js +1 -0
  232. package/internal.d.ts +1 -0
  233. package/internal.js +1 -0
  234. package/package.json +120 -80
  235. package/provider.d.ts +1 -0
  236. package/provider.js +1 -0
  237. package/utils.d.ts +1 -0
  238. package/utils.js +1 -0
  239. package/bin/surgio.js +0 -8
  240. package/build/command/check.d.ts +0 -9
  241. package/build/command/check.js +0 -79
  242. package/build/command/clean-cache.d.ts +0 -8
  243. package/build/command/clean-cache.js +0 -43
  244. package/build/command/doctor.d.ts +0 -9
  245. package/build/command/doctor.js +0 -63
  246. package/build/command/generate.d.ts +0 -8
  247. package/build/command/generate.js +0 -64
  248. package/build/command/lint.d.ts +0 -7
  249. package/build/command/lint.js +0 -42
  250. package/build/command/new.d.ts +0 -7
  251. package/build/command/new.js +0 -44
  252. package/build/command/subscriptions.d.ts +0 -10
  253. package/build/command/subscriptions.js +0 -87
  254. package/build/command/upload.d.ts +0 -9
  255. package/build/command/upload.js +0 -101
  256. package/build/generate.d.ts +0 -4
  257. package/build/generate.js +0 -75
  258. package/build/utils/command.d.ts +0 -2
  259. package/build/utils/command.js +0 -23
  260. package/build/utils/config.d.ts +0 -6
  261. package/build/utils/config.js +0 -245
  262. package/build/utils/patch-proxy.d.ts +0 -1
  263. package/build/utils/patch-proxy.js +0 -19
  264. package/build/utils/v2ray.d.ts +0 -4
  265. package/build/utils/v2ray.js +0 -41
@@ -1,63 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- // istanbul ignore file
6
- const common_bin_1 = __importDefault(require("common-bin"));
7
- const check_node_version_1 = __importDefault(require("check-node-version"));
8
- const util_1 = require("util");
9
- const path_1 = require("path");
10
- const redis_1 = __importDefault(require("../redis"));
11
- const command_1 = require("../utils/command");
12
- const error_helper_1 = require("../utils/error-helper");
13
- class DoctorCommand extends common_bin_1.default {
14
- constructor(rawArgv) {
15
- super(rawArgv);
16
- this.usage = '使用方法: surgio doctor';
17
- (0, command_1.defineGlobalOptions)(this.yargs);
18
- }
19
- async run(ctx) {
20
- const doctorInfo = await DoctorCommand.generateDoctorInfo(ctx.cwd);
21
- doctorInfo.forEach((item) => {
22
- console.log(item);
23
- });
24
- await redis_1.default.destroyRedis();
25
- }
26
- // istanbul ignore next
27
- get description() {
28
- return '检查运行环境';
29
- }
30
- // istanbul ignore next
31
- errorHandler(err) {
32
- error_helper_1.errorHandler.call(this, err);
33
- }
34
- static async generateDoctorInfo(cwd) {
35
- const doctorInfo = [];
36
- const pkg = require('../../package.json');
37
- const checkInfo = await (0, util_1.promisify)(check_node_version_1.default)();
38
- try {
39
- const gatewayPkg = require((0, path_1.join)(cwd, 'node_modules/@surgio/gateway/package.json'));
40
- doctorInfo.push(`@surgio/gateway: ${gatewayPkg.version}`);
41
- }
42
- catch (_) {
43
- // no catch
44
- }
45
- doctorInfo.push(`surgio: ${pkg.version} (${(0, path_1.join)(__dirname, '../..')})`);
46
- if (checkInfo) {
47
- Object.keys(checkInfo.versions).forEach((key) => {
48
- const version = checkInfo.versions[key].version;
49
- if (version) {
50
- if (key === 'node') {
51
- doctorInfo.push(`${key}: ${version} (${process.execPath})`);
52
- }
53
- else {
54
- doctorInfo.push(`${key}: ${version}`);
55
- }
56
- }
57
- });
58
- }
59
- return doctorInfo;
60
- }
61
- }
62
- module.exports = DoctorCommand;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbW1hbmQvZG9jdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1QkFBdUI7QUFDdkIsNERBQWlDO0FBQ2pDLDRFQUF1QztBQUN2QywrQkFBaUM7QUFDakMsK0JBQTRCO0FBQzVCLHFEQUE2QjtBQUM3Qiw4Q0FBdUQ7QUFFdkQsd0RBQXFEO0FBS3JELE1BQU0sYUFBYyxTQUFRLG9CQUFPO0lBQ2pDLFlBQVksT0FBa0I7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQztRQUVuQyxJQUFBLDZCQUFtQixFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLE1BQU0sYUFBYSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuRSxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sZUFBSyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCx1QkFBdUI7SUFDaEIsWUFBWSxDQUFDLEdBQUc7UUFDckIsMkJBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUNwQyxHQUFXO1FBRVgsTUFBTSxVQUFVLEdBQWEsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSxnQkFBUyxFQUFZLDRCQUFLLENBQUMsRUFBRSxDQUFDO1FBRXRELElBQUk7WUFDRixNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBQSxXQUFJLEVBQzdCLEdBQUcsRUFDSCwyQ0FBMkMsQ0FDNUMsQ0FBQyxDQUFDO1lBQ0gsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDM0Q7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLFdBQVc7U0FDWjtRQUVELFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxLQUFLLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEUsSUFBSSxTQUFTLEVBQUU7WUFDYixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDOUMsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUM7Z0JBQ2hELElBQUksT0FBTyxFQUFFO29CQUNYLElBQUksR0FBRyxLQUFLLE1BQU0sRUFBRTt3QkFDbEIsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxPQUFPLEtBQUssT0FBTyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7cUJBQzdEO3lCQUFNO3dCQUNMLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQztxQkFDdkM7aUJBQ0Y7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBRUQsaUJBQVMsYUFBYSxDQUFDIn0=
@@ -1,8 +0,0 @@
1
- import Command from 'common-bin';
2
- declare class GenerateCommand extends Command {
3
- constructor(rawArgv?: string[]);
4
- run(ctx: any): Promise<void>;
5
- get description(): string;
6
- errorHandler(err: any): void;
7
- }
8
- export = GenerateCommand;
@@ -1,64 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- const common_bin_1 = __importDefault(require("common-bin"));
6
- const redis_1 = __importDefault(require("../redis"));
7
- const command_1 = require("../utils/command");
8
- const config_1 = require("../utils/config");
9
- const generate_1 = __importDefault(require("../generate"));
10
- const error_helper_1 = require("../utils/error-helper");
11
- const linter_1 = require("../utils/linter");
12
- class GenerateCommand extends common_bin_1.default {
13
- constructor(rawArgv) {
14
- super(rawArgv);
15
- this.usage = '使用方法: surgio generate';
16
- this.options = {
17
- o: {
18
- type: 'string',
19
- alias: 'output',
20
- description: '生成规则的目录',
21
- },
22
- 'cache-snippet': {
23
- type: 'boolean',
24
- default: false,
25
- description: '缓存远程片段',
26
- },
27
- 'skip-fail': {
28
- type: 'boolean',
29
- default: false,
30
- description: '跳过生成失败的 Artifact',
31
- },
32
- 'skip-lint': {
33
- type: 'boolean',
34
- default: false,
35
- description: '跳过代码检查',
36
- },
37
- };
38
- (0, command_1.defineGlobalOptions)(this.yargs);
39
- }
40
- async run(ctx) {
41
- (0, config_1.loadConfig)(ctx.cwd, ctx.argv.config);
42
- if (!ctx.argv.skipLint) {
43
- const result = await (0, linter_1.checkAndFix)(ctx.cwd);
44
- if (!result) {
45
- throw new Error('JS 语法检查不通过,请根据提示修改文件(参考 https://url.royli.dev/SeB6m)');
46
- }
47
- }
48
- if (ctx.argv.output) {
49
- (0, config_1.setConfig)('output', ctx.argv.output);
50
- }
51
- await (0, generate_1.default)((0, config_1.getConfig)(), ctx.argv.skipFail, ctx.argv.cacheSnippet);
52
- await redis_1.default.destroyRedis();
53
- }
54
- // istanbul ignore next
55
- get description() {
56
- return '生成规则';
57
- }
58
- // istanbul ignore next
59
- errorHandler(err) {
60
- error_helper_1.errorHandler.call(this, err);
61
- }
62
- }
63
- module.exports = GenerateCommand;
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvY29tbWFuZC9nZW5lcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNERBQWlDO0FBQ2pDLHFEQUE2QjtBQUM3Qiw4Q0FBdUQ7QUFFdkQsNENBQW1FO0FBQ25FLDJEQUFtQztBQUNuQyx3REFBcUQ7QUFDckQsNENBQThDO0FBRTlDLE1BQU0sZUFBZ0IsU0FBUSxvQkFBTztJQUNuQyxZQUFZLE9BQWtCO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsdUJBQXVCLENBQUM7UUFDckMsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLENBQUMsRUFBRTtnQkFDRCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxLQUFLLEVBQUUsUUFBUTtnQkFDZixXQUFXLEVBQUUsU0FBUzthQUN2QjtZQUNELGVBQWUsRUFBRTtnQkFDZixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSztnQkFDZCxXQUFXLEVBQUUsUUFBUTthQUN0QjtZQUNELFdBQVcsRUFBRTtnQkFDWCxJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUUsS0FBSztnQkFDZCxXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRSxLQUFLO2dCQUNkLFdBQVcsRUFBRSxRQUFRO2FBQ3RCO1NBQ0YsQ0FBQztRQUVGLElBQUEsNkJBQW1CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUc7UUFDbEIsSUFBQSxtQkFBVSxFQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDdEIsTUFBTSxNQUFNLEdBQUcsTUFBTSxJQUFBLG9CQUFXLEVBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FDYixzREFBc0QsQ0FDdkQsQ0FBQzthQUNIO1NBQ0Y7UUFFRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUEsa0JBQVMsRUFBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sSUFBQSxrQkFBUSxFQUFDLElBQUEsa0JBQVMsR0FBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdEUsTUFBTSxlQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELHVCQUF1QjtJQUN2QixJQUFXLFdBQVc7UUFDcEIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELHVCQUF1QjtJQUNoQixZQUFZLENBQUMsR0FBRztRQUNyQiwyQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUNGO0FBRUQsaUJBQVMsZUFBZSxDQUFDIn0=
@@ -1,7 +0,0 @@
1
- import Command from 'common-bin';
2
- declare class LintCommand extends Command {
3
- constructor(rawArgv?: string[]);
4
- get description(): string;
5
- run(ctx: any): Promise<void>;
6
- }
7
- export = LintCommand;
@@ -1,42 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- // istanbul ignore file
6
- const common_bin_1 = __importDefault(require("common-bin"));
7
- const linter_1 = require("../utils/linter");
8
- class LintCommand extends common_bin_1.default {
9
- constructor(rawArgv) {
10
- super(rawArgv);
11
- this.usage = '使用方法: surgio lint [--fix]';
12
- this.options = {
13
- fix: {
14
- default: false,
15
- describe: '自动修复部分 Lint 错误',
16
- type: 'boolean',
17
- },
18
- };
19
- }
20
- // istanbul ignore next
21
- get description() {
22
- return '运行 JS 语法检查';
23
- }
24
- async run(ctx) {
25
- let result;
26
- if (ctx.argv.fix) {
27
- result = await (0, linter_1.checkAndFix)(ctx.cwd);
28
- }
29
- else {
30
- result = await (0, linter_1.check)(ctx.cwd);
31
- }
32
- if (!result) {
33
- console.warn('⚠️ JS 语法检查不通过,请根据提示修改文件(可添加参数 --fix 自动修复部分错误, 参考 https://url.royli.dev/SeB6m)');
34
- process.exit(1);
35
- }
36
- else {
37
- console.log('✅ JS 语法检查通过');
38
- }
39
- }
40
- }
41
- module.exports = LintCommand;
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9jb21tYW5kL2xpbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVCQUF1QjtBQUN2Qiw0REFBaUM7QUFFakMsNENBQXFEO0FBRXJELE1BQU0sV0FBWSxTQUFRLG9CQUFPO0lBQy9CLFlBQVksT0FBa0I7UUFDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLEtBQUssR0FBRywyQkFBMkIsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ2IsR0FBRyxFQUFFO2dCQUNILE9BQU8sRUFBRSxLQUFLO2dCQUNkLFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLElBQUksRUFBRSxTQUFTO2FBQ2hCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUc7UUFDbEIsSUFBSSxNQUFNLENBQUM7UUFFWCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ2hCLE1BQU0sR0FBRyxNQUFNLElBQUEsb0JBQVcsRUFBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLE1BQU0sR0FBRyxNQUFNLElBQUEsY0FBSyxFQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxPQUFPLENBQUMsSUFBSSxDQUNWLGdGQUFnRixDQUNqRixDQUFDO1lBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQjthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7Q0FDRjtBQUVELGlCQUFTLFdBQVcsQ0FBQyJ9
@@ -1,7 +0,0 @@
1
- import Command, { Context } from 'common-bin';
2
- declare class NewCommand extends Command {
3
- constructor(rawArgv?: string[]);
4
- get description(): string;
5
- run(ctx: Context): Promise<void>;
6
- }
7
- export = NewCommand;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- // istanbul ignore file
6
- const logger_1 = require("@surgio/logger");
7
- const path_1 = require("path");
8
- const hygen_1 = require("@royli/hygen");
9
- const common_bin_1 = __importDefault(require("common-bin"));
10
- const command_1 = require("../utils/command");
11
- const defaultTemplates = (0, path_1.join)(__dirname, '../../hygen-template');
12
- const logger = (0, logger_1.createLogger)({ service: 'surgio:NewCommand' });
13
- class NewCommand extends common_bin_1.default {
14
- constructor(rawArgv) {
15
- super(rawArgv);
16
- this.usage = '使用方法: surgio new [provider|template|artifact]';
17
- (0, command_1.defineGlobalOptions)(this.yargs);
18
- }
19
- // istanbul ignore next
20
- get description() {
21
- return '新建文件助手';
22
- }
23
- async run(ctx) {
24
- if (!ctx.rawArgv.length) {
25
- logger.error('请指定新建类型\n');
26
- this.showHelp();
27
- return;
28
- }
29
- const args = [...ctx.rawArgv].concat('new'); // [type] new ...
30
- (0, hygen_1.runner)(args, {
31
- templates: defaultTemplates,
32
- cwd: process.cwd(),
33
- logger: new hygen_1.Logger(console.log.bind(console)),
34
- createPrompter: () => require('inquirer'),
35
- exec: (action, body) => {
36
- const opts = body && body.length > 0 ? { input: body } : {};
37
- return require('execa').shell(action, opts);
38
- },
39
- debug: !!process.env.DEBUG,
40
- });
41
- }
42
- }
43
- module.exports = NewCommand;
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbW1hbmQvbmV3LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1QkFBdUI7QUFDdkIsMkNBQThDO0FBQzlDLCtCQUE0QjtBQUM1Qix3Q0FBOEM7QUFDOUMsNERBQThDO0FBRTlDLDhDQUF1RDtBQUV2RCxNQUFNLGdCQUFnQixHQUFHLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sTUFBTSxHQUFHLElBQUEscUJBQVksRUFBQyxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUM7QUFFOUQsTUFBTSxVQUFXLFNBQVEsb0JBQU87SUFDOUIsWUFBWSxPQUFrQjtRQUM1QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLCtDQUErQyxDQUFDO1FBRTdELElBQUEsNkJBQW1CLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCx1QkFBdUI7SUFDdkIsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQVk7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE9BQU87U0FDUjtRQUVELE1BQU0sSUFBSSxHQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCO1FBRXhFLElBQUEsY0FBTSxFQUFDLElBQUksRUFBRTtZQUNYLFNBQVMsRUFBRSxnQkFBZ0I7WUFDM0IsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDbEIsTUFBTSxFQUFFLElBQUksY0FBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBQ3pDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtnQkFDckIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUM1RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxpQkFBUyxVQUFVLENBQUMifQ==
@@ -1,10 +0,0 @@
1
- import Command from 'common-bin';
2
- declare class SubscriptionsCommand extends Command {
3
- private config;
4
- constructor(rawArgv?: string[]);
5
- run(ctx: any): Promise<void>;
6
- get description(): string;
7
- errorHandler(err: any): void;
8
- private listProviders;
9
- }
10
- export = SubscriptionsCommand;
@@ -1,87 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- // istanbul ignore file
6
- const common_bin_1 = __importDefault(require("common-bin"));
7
- const fs_1 = require("fs");
8
- const path_1 = require("path");
9
- const logger_1 = require("@surgio/logger");
10
- const redis_1 = __importDefault(require("../redis"));
11
- const command_1 = require("../utils/command");
12
- const config_1 = require("../utils/config");
13
- const provider_1 = require("../provider");
14
- const error_helper_1 = require("../utils/error-helper");
15
- const subscription_1 = require("../utils/subscription");
16
- const logger = (0, logger_1.createLogger)({
17
- service: 'surgio:SubscriptionsCommand',
18
- });
19
- class SubscriptionsCommand extends common_bin_1.default {
20
- constructor(rawArgv) {
21
- super(rawArgv);
22
- this.usage = '使用方法: surgio subscriptions';
23
- (0, command_1.defineGlobalOptions)(this.yargs);
24
- }
25
- async run(ctx) {
26
- this.config = (0, config_1.loadConfig)(ctx.cwd, ctx.argv.config);
27
- const providerList = await this.listProviders();
28
- for (const provider of providerList) {
29
- if (provider.supportGetSubscriptionUserInfo) {
30
- const userInfo = await provider.getSubscriptionUserInfo();
31
- if (userInfo) {
32
- const format = (0, subscription_1.formatSubscriptionUserInfo)(userInfo);
33
- console.log('🤟 %s 已用流量:%s 剩余流量:%s 有效期至:%s', provider.name, format.used, format.left, format.expire);
34
- }
35
- else {
36
- console.log('⚠️ 无法查询 %s 的流量信息', provider.name);
37
- }
38
- }
39
- else {
40
- console.log('⚠️ 无法查询 %s 的流量信息', provider.name);
41
- }
42
- }
43
- await redis_1.default.destroyRedis();
44
- }
45
- // istanbul ignore next
46
- get description() {
47
- return '查询订阅流量';
48
- }
49
- // istanbul ignore next
50
- errorHandler(err) {
51
- error_helper_1.errorHandler.call(this, err);
52
- }
53
- async listProviders() {
54
- const files = await fs_1.promises.readdir(this.config.providerDir, {
55
- encoding: 'utf8',
56
- });
57
- const providerList = [];
58
- async function readProvider(path) {
59
- let provider;
60
- try {
61
- const providerName = (0, path_1.basename)(path, '.js');
62
- logger.debug('read %s %s', providerName, path);
63
- // eslint-disable-next-line prefer-const
64
- provider = await (0, provider_1.getProvider)(providerName, require(path));
65
- }
66
- catch (err) {
67
- logger.debug(`${path} 不是一个合法的模块`);
68
- return undefined;
69
- }
70
- if (!(provider === null || provider === void 0 ? void 0 : provider.type)) {
71
- logger.debug(`${path} 不是一个 Provider`);
72
- return undefined;
73
- }
74
- logger.debug('got provider %j', provider);
75
- return provider;
76
- }
77
- for (const file of files) {
78
- const result = await readProvider((0, path_1.join)(this.config.providerDir, file));
79
- if (result) {
80
- providerList.push(result);
81
- }
82
- }
83
- return providerList;
84
- }
85
- }
86
- module.exports = SubscriptionsCommand;
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Vic2NyaXB0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9jb21tYW5kL3N1YnNjcmlwdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHVCQUF1QjtBQUN2Qiw0REFBaUM7QUFDakMsMkJBQXFDO0FBQ3JDLCtCQUFzQztBQUN0QywyQ0FBOEM7QUFTOUMscURBQTZCO0FBRTdCLDhDQUF1RDtBQUN2RCw0Q0FBNkM7QUFDN0MsMENBQTBDO0FBQzFDLHdEQUFxRDtBQUNyRCx3REFBbUU7QUFFbkUsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBWSxFQUFDO0lBQzFCLE9BQU8sRUFBRSw2QkFBNkI7Q0FDdkMsQ0FBQyxDQUFDO0FBVUgsTUFBTSxvQkFBcUIsU0FBUSxvQkFBTztJQUd4QyxZQUFZLE9BQWtCO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUM7UUFFMUMsSUFBQSw2QkFBbUIsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRztRQUNsQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUEsbUJBQVUsRUFBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbkQsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFaEQsS0FBSyxNQUFNLFFBQVEsSUFBSSxZQUFZLEVBQUU7WUFDbkMsSUFBSSxRQUFRLENBQUMsOEJBQThCLEVBQUU7Z0JBQzNDLE1BQU0sUUFBUSxHQUFHLE1BQU0sUUFBUSxDQUFDLHVCQUF1QixFQUFFLENBQUM7Z0JBRTFELElBQUksUUFBUSxFQUFFO29CQUNaLE1BQU0sTUFBTSxHQUFHLElBQUEseUNBQTBCLEVBQUMsUUFBUSxDQUFDLENBQUM7b0JB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
@@ -1,9 +0,0 @@
1
- import Command from 'common-bin';
2
- declare class GenerateCommand extends Command {
3
- private readonly spinner;
4
- constructor(rawArgv?: string[]);
5
- run(ctx: any): Promise<void>;
6
- get description(): string;
7
- errorHandler(err: any): void;
8
- }
9
- export = GenerateCommand;
@@ -1,101 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- // istanbul ignore file
6
- const ali_oss_1 = __importDefault(require("ali-oss"));
7
- const common_bin_1 = __importDefault(require("common-bin"));
8
- const fs_1 = __importDefault(require("fs"));
9
- const node_dir_1 = __importDefault(require("node-dir"));
10
- const ora_1 = __importDefault(require("ora"));
11
- const path_1 = __importDefault(require("path"));
12
- const redis_1 = __importDefault(require("../redis"));
13
- const command_1 = require("../utils/command");
14
- const config_1 = require("../utils/config");
15
- const error_helper_1 = require("../utils/error-helper");
16
- class GenerateCommand extends common_bin_1.default {
17
- constructor(rawArgv) {
18
- super(rawArgv);
19
- this.usage = '使用方法: surgio upload';
20
- this.spinner = (0, ora_1.default)();
21
- this.options = {
22
- o: {
23
- type: 'string',
24
- alias: 'output',
25
- description: '生成规则的目录',
26
- },
27
- };
28
- (0, command_1.defineGlobalOptions)(this.yargs);
29
- }
30
- async run(ctx) {
31
- var _a, _b, _c, _d, _e, _f;
32
- const config = (0, config_1.loadConfig)(ctx.cwd, ctx.argv.config);
33
- if (ctx.argv.output) {
34
- (0, config_1.setConfig)('output', ctx.argv.output);
35
- }
36
- const ossConfig = {
37
- region: (_a = config === null || config === void 0 ? void 0 : config.upload) === null || _a === void 0 ? void 0 : _a.region,
38
- bucket: (_b = config === null || config === void 0 ? void 0 : config.upload) === null || _b === void 0 ? void 0 : _b.bucket,
39
- endpoint: (_c = config === null || config === void 0 ? void 0 : config.upload) === null || _c === void 0 ? void 0 : _c.endpoint,
40
- accessKeyId: ctx.env.OSS_ACCESS_KEY_ID || ((_d = config === null || config === void 0 ? void 0 : config.upload) === null || _d === void 0 ? void 0 : _d.accessKeyId),
41
- accessKeySecret: ctx.env.OSS_ACCESS_KEY_SECRET || ((_e = config === null || config === void 0 ? void 0 : config.upload) === null || _e === void 0 ? void 0 : _e.accessKeySecret),
42
- };
43
- const client = new ali_oss_1.default(Object.assign({ secure: true }, ossConfig));
44
- const prefix = ((_f = config === null || config === void 0 ? void 0 : config.upload) === null || _f === void 0 ? void 0 : _f.prefix) || '/';
45
- const fileList = await node_dir_1.default.promiseFiles(config.output);
46
- const files = fileList.map((filePath) => ({
47
- fileName: path_1.default.basename(filePath),
48
- filePath,
49
- }));
50
- const fileNameList = files.map((file) => file.fileName);
51
- const upload = () => {
52
- return Promise.all(files.map((file) => {
53
- const { fileName, filePath } = file;
54
- const objectName = `${prefix}${fileName}`;
55
- const readStream = fs_1.default.createReadStream(filePath);
56
- return client.put(objectName, readStream, {
57
- mime: 'text/plain; charset=utf-8',
58
- headers: {
59
- 'Cache-Control': 'private, no-cache, no-store',
60
- },
61
- });
62
- }));
63
- };
64
- const deleteUnwanted = async () => {
65
- const list = await client.list({
66
- prefix,
67
- delimiter: '/',
68
- });
69
- const deleteList = [];
70
- for (const key in list.objects) {
71
- if (list.objects.hasOwnProperty(key)) {
72
- const object = list.objects[key];
73
- const objectName = object.name.replace(prefix, '');
74
- const isExist = fileNameList.indexOf(objectName) > -1;
75
- if (objectName && !isExist) {
76
- deleteList.push(object.name);
77
- }
78
- }
79
- }
80
- if (deleteList.length) {
81
- await client.deleteMulti(deleteList);
82
- }
83
- };
84
- this.spinner.start('开始上传到阿里云 OSS');
85
- await upload();
86
- await deleteUnwanted();
87
- await redis_1.default.destroyRedis();
88
- this.spinner.succeed();
89
- }
90
- // istanbul ignore next
91
- get description() {
92
- return '上传规则到阿里云 OSS';
93
- }
94
- // istanbul ignore next
95
- errorHandler(err) {
96
- this.spinner.fail();
97
- error_helper_1.errorHandler.call(this, err);
98
- }
99
- }
100
- module.exports = GenerateCommand;
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2NvbW1hbmQvdXBsb2FkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx1QkFBdUI7QUFDdkIsc0RBQTBCO0FBQzFCLDREQUFpQztBQUNqQyw0Q0FBb0I7QUFDcEIsd0RBQTJCO0FBQzNCLDhDQUErQjtBQUMvQixnREFBd0I7QUFDeEIscURBQTZCO0FBQzdCLDhDQUF1RDtBQUV2RCw0Q0FBd0Q7QUFDeEQsd0RBQXFEO0FBRXJELE1BQU0sZUFBZ0IsU0FBUSxvQkFBTztJQUduQyxZQUFZLE9BQWtCO1FBQzVCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcscUJBQXFCLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFBLGFBQUcsR0FBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixDQUFDLEVBQUU7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsS0FBSyxFQUFFLFFBQVE7Z0JBQ2YsV0FBVyxFQUFFLFNBQVM7YUFDdkI7U0FDRixDQUFDO1FBRUYsSUFBQSw2QkFBbUIsRUFBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRzs7UUFDbEIsTUFBTSxNQUFNLEdBQUcsSUFBQSxtQkFBVSxFQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVwRCxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLElBQUEsa0JBQVMsRUFBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sU0FBUyxHQUFHO1lBQ2hCLE1BQU0sRUFBRSxNQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0s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
@@ -1,4 +0,0 @@
1
- import { Environment } from 'nunjucks';
2
- import { ArtifactConfig, CommandConfig, RemoteSnippet } from './types';
3
- export declare function generate(config: CommandConfig, artifact: ArtifactConfig, remoteSnippetList: ReadonlyArray<RemoteSnippet>, templateEngine: Environment): Promise<string>;
4
- export default function (config: CommandConfig, skipFail?: boolean, cacheSnippet?: boolean): Promise<void>;
package/build/generate.js DELETED
@@ -1,75 +0,0 @@
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.generate = void 0;
7
- const fs_extra_1 = __importDefault(require("fs-extra"));
8
- const ora_1 = __importDefault(require("ora"));
9
- const path_1 = __importDefault(require("path"));
10
- const logger_1 = require("@surgio/logger");
11
- const artifact_1 = require("./generator/artifact");
12
- const template_1 = require("./generator/template");
13
- const remote_snippet_1 = require("./utils/remote-snippet");
14
- const spinner = (0, ora_1.default)();
15
- async function run(config, skipFail, cacheSnippet) {
16
- const artifactList = config.artifacts;
17
- const distPath = config.output;
18
- const remoteSnippetsConfig = config.remoteSnippets || [];
19
- const remoteSnippetList = await (0, remote_snippet_1.loadRemoteSnippetList)(remoteSnippetsConfig, cacheSnippet);
20
- const templateEngine = (0, template_1.getEngine)(config.templateDir);
21
- await fs_extra_1.default.mkdirp(distPath);
22
- for (const artifact of artifactList) {
23
- spinner.start(`正在生成规则 ${artifact.name}`);
24
- try {
25
- const artifactInstance = new artifact_1.Artifact(config, artifact, {
26
- remoteSnippetList,
27
- });
28
- artifactInstance.once('initProvider:end', () => {
29
- spinner.text = `已处理 Provider ${artifactInstance.initProgress}/${artifactInstance.providerNameList.length}...`;
30
- });
31
- await artifactInstance.init();
32
- const result = artifactInstance.render(templateEngine);
33
- const destFilePath = path_1.default.join(config.output, artifact.name);
34
- if (artifact.destDir) {
35
- fs_extra_1.default.accessSync(artifact.destDir, fs_extra_1.default.constants.W_OK);
36
- await fs_extra_1.default.writeFile(path_1.default.join(artifact.destDir, artifact.name), result);
37
- }
38
- else {
39
- await fs_extra_1.default.writeFile(destFilePath, result);
40
- }
41
- spinner.succeed(`规则 ${artifact.name} 生成成功`);
42
- }
43
- catch (err) {
44
- spinner.fail(`规则 ${artifact.name} 生成失败`);
45
- // istanbul ignore next
46
- if (skipFail) {
47
- console.error(err.stack || err);
48
- }
49
- else {
50
- throw err;
51
- }
52
- }
53
- }
54
- }
55
- async function generate(config, artifact, remoteSnippetList, templateEngine) {
56
- const artifactInstance = new artifact_1.Artifact(config, artifact, {
57
- remoteSnippetList,
58
- });
59
- await artifactInstance.init();
60
- return artifactInstance.render(templateEngine);
61
- }
62
- exports.generate = generate;
63
- async function default_1(config, skipFail, cacheSnippet) {
64
- logger_1.logger.info('开始生成规则');
65
- await run(config, skipFail, cacheSnippet).catch((err) => {
66
- // istanbul ignore next
67
- if (spinner.isSpinning) {
68
- spinner.fail();
69
- }
70
- throw err;
71
- });
72
- logger_1.logger.info('规则生成成功');
73
- }
74
- exports.default = default_1;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvZ2VuZXJhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7QUFFYix3REFBMEI7QUFFMUIsOENBQXNCO0FBQ3RCLGdEQUF3QjtBQUN4QiwyQ0FBd0M7QUFDeEMsbURBQWdEO0FBRWhELG1EQUFpRDtBQUVqRCwyREFBK0Q7QUFFL0QsTUFBTSxPQUFPLEdBQUcsSUFBQSxhQUFHLEdBQUUsQ0FBQztBQUV0QixLQUFLLFVBQVUsR0FBRyxDQUNoQixNQUFxQixFQUNyQixRQUFrQixFQUNsQixZQUFzQjtJQUV0QixNQUFNLFlBQVksR0FBa0MsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNyRSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQy9CLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLGNBQWMsSUFBSSxFQUFFLENBQUM7SUFDekQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLElBQUEsc0NBQXFCLEVBQ25ELG9CQUFvQixFQUNwQixZQUFZLENBQ2IsQ0FBQztJQUNGLE1BQU0sY0FBYyxHQUFHLElBQUEsb0JBQVMsRUFBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFckQsTUFBTSxrQkFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUUxQixLQUFLLE1BQU0sUUFBUSxJQUFJLFlBQVksRUFBRTtRQUNuQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFFekMsSUFBSTtZQUNGLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxtQkFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUU7Z0JBQ3RELGlCQUFpQjthQUNsQixDQUFDLENBQUM7WUFFSCxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO2dCQUM3QyxPQUFPLENBQUMsSUFBSSxH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
@@ -1,2 +0,0 @@
1
- import CommonBin from 'common-bin';
2
- export declare const defineGlobalOptions: (yargs: CommonBin['yargs']) => void;
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.defineGlobalOptions = void 0;
4
- const defineGlobalOptions = (yargs) => {
5
- yargs.options({
6
- c: {
7
- alias: 'config',
8
- default: './surgio.conf.js',
9
- description: '配置文件',
10
- },
11
- V: {
12
- alias: 'verbose',
13
- demandOption: false,
14
- describe: '打印调试日志',
15
- type: 'boolean',
16
- },
17
- });
18
- yargs.group(['help', 'version', 'config', 'verbose'], 'Global Options:');
19
- // 禁用 yargs 内部生成的 help 信息,似乎和 common-bin 的 load 有冲突
20
- yargs.help(false);
21
- };
22
- exports.defineGlobalOptions = defineGlobalOptions;
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlscy9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxLQUF5QixFQUFRLEVBQUU7SUFDckUsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUNaLENBQUMsRUFBRTtZQUNELEtBQUssRUFBRSxRQUFRO1lBQ2YsT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixXQUFXLEVBQUUsTUFBTTtTQUNwQjtRQUNELENBQUMsRUFBRTtZQUNELEtBQUssRUFBRSxTQUFTO1lBQ2hCLFlBQVksRUFBRSxLQUFLO1lBQ25CLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxTQUFTO1NBQ2hCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFFekUsbURBQW1EO0lBQ25ELEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsbUJBQW1CLHVCQW1COUIifQ==
@@ -1,6 +0,0 @@
1
- import { CommandConfig } from '../types';
2
- export declare const loadConfig: (cwd: string, configPath: string, override?: Partial<CommandConfig>) => CommandConfig;
3
- export declare const getConfig: () => CommandConfig;
4
- export declare const setConfig: <T extends keyof CommandConfig>(key: T, value: CommandConfig[T]) => CommandConfig;
5
- export declare const normalizeConfig: (cwd: string, userConfig: Partial<CommandConfig>) => CommandConfig;
6
- export declare const validateConfig: (userConfig: Partial<CommandConfig>) => void;