surgio 3.11.3 → 3.12.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.
Files changed (259) hide show
  1. package/package.json +48 -50
  2. package/build/base-command.d.ts +0 -20
  3. package/build/base-command.js +0 -75
  4. package/build/base-command.js.map +0 -1
  5. package/build/commands/check.d.ts +0 -10
  6. package/build/commands/check.js +0 -97
  7. package/build/commands/check.js.map +0 -1
  8. package/build/commands/clean-cache.d.ts +0 -6
  9. package/build/commands/clean-cache.js +0 -28
  10. package/build/commands/clean-cache.js.map +0 -1
  11. package/build/commands/doctor.d.ts +0 -6
  12. package/build/commands/doctor.js +0 -20
  13. package/build/commands/doctor.js.map +0 -1
  14. package/build/commands/generate.d.ts +0 -7
  15. package/build/commands/generate.js +0 -100
  16. package/build/commands/generate.js.map +0 -1
  17. package/build/commands/lint.d.ts +0 -6
  18. package/build/commands/lint.js +0 -37
  19. package/build/commands/lint.js.map +0 -1
  20. package/build/commands/new.d.ts +0 -6
  21. package/build/commands/new.js +0 -37
  22. package/build/commands/new.js.map +0 -1
  23. package/build/commands/subscriptions.d.ts +0 -7
  24. package/build/commands/subscriptions.js +0 -105
  25. package/build/commands/subscriptions.js.map +0 -1
  26. package/build/commands/upload.d.ts +0 -6
  27. package/build/commands/upload.js +0 -91
  28. package/build/commands/upload.js.map +0 -1
  29. package/build/config.d.ts +0 -6
  30. package/build/config.js +0 -156
  31. package/build/config.js.map +0 -1
  32. package/build/configurables.d.ts +0 -89
  33. package/build/configurables.js +0 -52
  34. package/build/configurables.js.map +0 -1
  35. package/build/constant/constant.d.ts +0 -36
  36. package/build/constant/constant.js +0 -160
  37. package/build/constant/constant.js.map +0 -1
  38. package/build/constant/env.d.ts +0 -9
  39. package/build/constant/env.js +0 -13
  40. package/build/constant/env.js.map +0 -1
  41. package/build/constant/error.d.ts +0 -1
  42. package/build/constant/error.js +0 -5
  43. package/build/constant/error.js.map +0 -1
  44. package/build/constant/index.d.ts +0 -3
  45. package/build/constant/index.js +0 -20
  46. package/build/constant/index.js.map +0 -1
  47. package/build/filters/classes.d.ts +0 -13
  48. package/build/filters/classes.js +0 -42
  49. package/build/filters/classes.js.map +0 -1
  50. package/build/filters/filters.d.ts +0 -25
  51. package/build/filters/filters.js +0 -107
  52. package/build/filters/filters.js.map +0 -1
  53. package/build/filters/index.d.ts +0 -2
  54. package/build/filters/index.js +0 -42
  55. package/build/filters/index.js.map +0 -1
  56. package/build/filters/utils.d.ts +0 -16
  57. package/build/filters/utils.js +0 -159
  58. package/build/filters/utils.js.map +0 -1
  59. package/build/generator/artifact.d.ts +0 -102
  60. package/build/generator/artifact.js +0 -370
  61. package/build/generator/artifact.js.map +0 -1
  62. package/build/generator/index.d.ts +0 -3
  63. package/build/generator/index.js +0 -25
  64. package/build/generator/index.js.map +0 -1
  65. package/build/generator/json-template.d.ts +0 -11
  66. package/build/generator/json-template.js +0 -66
  67. package/build/generator/json-template.js.map +0 -1
  68. package/build/generator/template.d.ts +0 -8
  69. package/build/generator/template.js +0 -234
  70. package/build/generator/template.js.map +0 -1
  71. package/build/hooks/init.d.ts +0 -3
  72. package/build/hooks/init.js +0 -43
  73. package/build/hooks/init.js.map +0 -1
  74. package/build/index.d.ts +0 -76
  75. package/build/index.js +0 -74
  76. package/build/index.js.map +0 -1
  77. package/build/internal.d.ts +0 -5
  78. package/build/internal.js +0 -25
  79. package/build/internal.js.map +0 -1
  80. package/build/misc/deprecation.d.ts +0 -0
  81. package/build/misc/deprecation.js +0 -2
  82. package/build/misc/deprecation.js.map +0 -1
  83. package/build/misc/flag_cn.d.ts +0 -56
  84. package/build/misc/flag_cn.js +0 -154
  85. package/build/misc/flag_cn.js.map +0 -1
  86. package/build/provider/BlackSSLProvider.d.ts +0 -11
  87. package/build/provider/BlackSSLProvider.js +0 -93
  88. package/build/provider/BlackSSLProvider.js.map +0 -1
  89. package/build/provider/ClashProvider.d.ts +0 -24
  90. package/build/provider/ClashProvider.js +0 -476
  91. package/build/provider/ClashProvider.js.map +0 -1
  92. package/build/provider/CustomProvider.d.ts +0 -10
  93. package/build/provider/CustomProvider.js +0 -144
  94. package/build/provider/CustomProvider.js.map +0 -1
  95. package/build/provider/Provider.d.ts +0 -17
  96. package/build/provider/Provider.js +0 -121
  97. package/build/provider/Provider.js.map +0 -1
  98. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +0 -11
  99. package/build/provider/ShadowsocksJsonSubscribeProvider.js +0 -86
  100. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +0 -1
  101. package/build/provider/ShadowsocksSubscribeProvider.d.ts +0 -18
  102. package/build/provider/ShadowsocksSubscribeProvider.js +0 -84
  103. package/build/provider/ShadowsocksSubscribeProvider.js.map +0 -1
  104. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +0 -15
  105. package/build/provider/ShadowsocksrSubscribeProvider.js +0 -93
  106. package/build/provider/ShadowsocksrSubscribeProvider.js.map +0 -1
  107. package/build/provider/SsdProvider.d.ts +0 -39
  108. package/build/provider/SsdProvider.js +0 -138
  109. package/build/provider/SsdProvider.js.map +0 -1
  110. package/build/provider/TrojanProvider.d.ts +0 -24
  111. package/build/provider/TrojanProvider.js +0 -98
  112. package/build/provider/TrojanProvider.js.map +0 -1
  113. package/build/provider/V2rayNSubscribeProvider.d.ts +0 -25
  114. package/build/provider/V2rayNSubscribeProvider.js +0 -181
  115. package/build/provider/V2rayNSubscribeProvider.js.map +0 -1
  116. package/build/provider/index.d.ts +0 -17
  117. package/build/provider/index.js +0 -54
  118. package/build/provider/index.js.map +0 -1
  119. package/build/provider/types.d.ts +0 -18
  120. package/build/provider/types.js +0 -3
  121. package/build/provider/types.js.map +0 -1
  122. package/build/redis.d.ts +0 -9
  123. package/build/redis.js +0 -63
  124. package/build/redis.js.map +0 -1
  125. package/build/types.d.ts +0 -138
  126. package/build/types.js +0 -31
  127. package/build/types.js.map +0 -1
  128. package/build/utils/cache.d.ts +0 -23
  129. package/build/utils/cache.js +0 -98
  130. package/build/utils/cache.js.map +0 -1
  131. package/build/utils/clash.d.ts +0 -3
  132. package/build/utils/clash.js +0 -451
  133. package/build/utils/clash.js.map +0 -1
  134. package/build/utils/constant.d.ts +0 -1
  135. package/build/utils/constant.js +0 -19
  136. package/build/utils/constant.js.map +0 -1
  137. package/build/utils/dns.d.ts +0 -3
  138. package/build/utils/dns.js +0 -51
  139. package/build/utils/dns.js.map +0 -1
  140. package/build/utils/doctor.d.ts +0 -2
  141. package/build/utils/doctor.js +0 -38
  142. package/build/utils/doctor.js.map +0 -1
  143. package/build/utils/env-flag.d.ts +0 -9
  144. package/build/utils/env-flag.js +0 -41
  145. package/build/utils/env-flag.js.map +0 -1
  146. package/build/utils/error-helper.d.ts +0 -2
  147. package/build/utils/error-helper.js +0 -62
  148. package/build/utils/error-helper.js.map +0 -1
  149. package/build/utils/errors.d.ts +0 -19
  150. package/build/utils/errors.js +0 -60
  151. package/build/utils/errors.js.map +0 -1
  152. package/build/utils/flag.d.ts +0 -3
  153. package/build/utils/flag.js +0 -79
  154. package/build/utils/flag.js.map +0 -1
  155. package/build/utils/http-client.d.ts +0 -3
  156. package/build/utils/http-client.js +0 -92
  157. package/build/utils/http-client.js.map +0 -1
  158. package/build/utils/index.d.ts +0 -90
  159. package/build/utils/index.js +0 -529
  160. package/build/utils/index.js.map +0 -1
  161. package/build/utils/linter.d.ts +0 -4
  162. package/build/utils/linter.js +0 -49
  163. package/build/utils/linter.js.map +0 -1
  164. package/build/utils/loon.d.ts +0 -3
  165. package/build/utils/loon.js +0 -236
  166. package/build/utils/loon.js.map +0 -1
  167. package/build/utils/quantumult.d.ts +0 -6
  168. package/build/utils/quantumult.js +0 -240
  169. package/build/utils/quantumult.js.map +0 -1
  170. package/build/utils/relayable-url.d.ts +0 -1
  171. package/build/utils/relayable-url.js +0 -18
  172. package/build/utils/relayable-url.js.map +0 -1
  173. package/build/utils/remote-snippet.d.ts +0 -8
  174. package/build/utils/remote-snippet.js +0 -208
  175. package/build/utils/remote-snippet.js.map +0 -1
  176. package/build/utils/singbox.d.ts +0 -3
  177. package/build/utils/singbox.js +0 -377
  178. package/build/utils/singbox.js.map +0 -1
  179. package/build/utils/ss.d.ts +0 -3
  180. package/build/utils/ss.js +0 -97
  181. package/build/utils/ss.js.map +0 -1
  182. package/build/utils/ssr.d.ts +0 -7
  183. package/build/utils/ssr.js +0 -53
  184. package/build/utils/ssr.js.map +0 -1
  185. package/build/utils/subscription.d.ts +0 -11
  186. package/build/utils/subscription.js +0 -68
  187. package/build/utils/subscription.js.map +0 -1
  188. package/build/utils/surfboard.d.ts +0 -7
  189. package/build/utils/surfboard.js +0 -184
  190. package/build/utils/surfboard.js.map +0 -1
  191. package/build/utils/surge.d.ts +0 -8
  192. package/build/utils/surge.js +0 -407
  193. package/build/utils/surge.js.map +0 -1
  194. package/build/utils/time.d.ts +0 -1
  195. package/build/utils/time.js +0 -6
  196. package/build/utils/time.js.map +0 -1
  197. package/build/utils/tmp-helper.d.ts +0 -30
  198. package/build/utils/tmp-helper.js +0 -102
  199. package/build/utils/tmp-helper.js.map +0 -1
  200. package/build/utils/trojan.d.ts +0 -2
  201. package/build/utils/trojan.js +0 -38
  202. package/build/utils/trojan.js.map +0 -1
  203. package/build/utils/useragent.d.ts +0 -18
  204. package/build/utils/useragent.js +0 -210
  205. package/build/utils/useragent.js.map +0 -1
  206. package/build/validators/artifact.d.ts +0 -47
  207. package/build/validators/artifact.js +0 -27
  208. package/build/validators/artifact.js.map +0 -1
  209. package/build/validators/common.d.ts +0 -377
  210. package/build/validators/common.js +0 -106
  211. package/build/validators/common.js.map +0 -1
  212. package/build/validators/filter.d.ts +0 -10
  213. package/build/validators/filter.js +0 -15
  214. package/build/validators/filter.js.map +0 -1
  215. package/build/validators/hooks.d.ts +0 -9
  216. package/build/validators/hooks.js +0 -11
  217. package/build/validators/hooks.js.map +0 -1
  218. package/build/validators/http.d.ts +0 -366
  219. package/build/validators/http.js +0 -23
  220. package/build/validators/http.js.map +0 -1
  221. package/build/validators/hysteria2.d.ts +0 -196
  222. package/build/validators/hysteria2.js +0 -15
  223. package/build/validators/hysteria2.js.map +0 -1
  224. package/build/validators/index.d.ts +0 -17
  225. package/build/validators/index.js +0 -34
  226. package/build/validators/index.js.map +0 -1
  227. package/build/validators/provider.d.ts +0 -120
  228. package/build/validators/provider.js +0 -46
  229. package/build/validators/provider.js.map +0 -1
  230. package/build/validators/shadowsocks.d.ts +0 -252
  231. package/build/validators/shadowsocks.js +0 -31
  232. package/build/validators/shadowsocks.js.map +0 -1
  233. package/build/validators/shadowsocksr.d.ts +0 -184
  234. package/build/validators/shadowsocksr.js +0 -19
  235. package/build/validators/shadowsocksr.js.map +0 -1
  236. package/build/validators/snell.d.ts +0 -178
  237. package/build/validators/snell.js +0 -17
  238. package/build/validators/snell.js.map +0 -1
  239. package/build/validators/socks5.d.ts +0 -196
  240. package/build/validators/socks5.js +0 -15
  241. package/build/validators/socks5.js.map +0 -1
  242. package/build/validators/surgio-config.d.ts +0 -392
  243. package/build/validators/surgio-config.js +0 -101
  244. package/build/validators/surgio-config.js.map +0 -1
  245. package/build/validators/trojan.d.ts +0 -255
  246. package/build/validators/trojan.js +0 -16
  247. package/build/validators/trojan.js.map +0 -1
  248. package/build/validators/tuic.d.ts +0 -741
  249. package/build/validators/tuic.js +0 -21
  250. package/build/validators/tuic.js.map +0 -1
  251. package/build/validators/vless.d.ts +0 -389
  252. package/build/validators/vless.js +0 -31
  253. package/build/validators/vless.js.map +0 -1
  254. package/build/validators/vmess.d.ts +0 -425
  255. package/build/validators/vmess.js +0 -86
  256. package/build/validators/vmess.js.map +0 -1
  257. package/build/validators/wireguard.d.ts +0 -230
  258. package/build/validators/wireguard.js +0 -26
  259. package/build/validators/wireguard.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "surgio",
3
3
  "description": "Generating rules for Surge, Clash, Quantumult like a PRO",
4
- "version": "3.11.3",
4
+ "version": "3.12.0",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
7
7
  "bin": {
@@ -52,40 +52,38 @@
52
52
  "topics": {}
53
53
  },
54
54
  "dependencies": {
55
- "@babel/parser": "^7.24.0",
56
- "@brillout/import": "^0.2.3",
57
- "@oclif/core": "^2.15.0",
55
+ "@babel/parser": "^7.28.5",
56
+ "@brillout/import": "^0.2.6",
57
+ "@oclif/core": "^2.16.0",
58
58
  "@oclif/plugin-help": "^5.2.20",
59
- "@oclif/plugin-plugins": "^3.9.4",
59
+ "@oclif/plugin-plugins": "^3.10.1",
60
60
  "@royli/hygen": "^6.2.0",
61
- "@surgio/eslint-config-surgio": "^1.0.6",
61
+ "@surgio/eslint-config-surgio": "^2.0.0",
62
62
  "@surgio/logger": "^1.3.0",
63
- "@types/eslint": "^8.56.5",
64
- "agentkeepalive": "^4.5.0",
65
- "ali-oss": "^6.20.0",
63
+ "ali-oss": "^6.23.0",
66
64
  "bluebird": "^3.7.2",
67
65
  "bytes": "^3.1.2",
68
- "cache-manager": "^5.4.0",
66
+ "cache-manager": "^5.7.6",
69
67
  "cache-manager-ioredis-yet": "^1.2.2",
70
68
  "chalk": "^4.1.2",
71
69
  "change-case": "^4.1.2",
72
70
  "check-node-version": "^4.2.1",
73
- "compare-versions": "^6.1.0",
71
+ "compare-versions": "^6.1.1",
74
72
  "date-fns": "^2.30.0",
75
73
  "detect-newline": "^3.1.0",
76
- "dotenv": "^16.4.5",
77
- "emoji-regex": "^10.3.0",
78
- "eslint": "^8.57.0",
74
+ "dotenv": "^16.6.1",
75
+ "emoji-regex": "^10.6.0",
76
+ "eslint": "^9.28.0",
79
77
  "execa": "^4.1.0",
80
- "filesize": "^10.1.0",
81
- "fs-extra": "^11.2.0",
78
+ "filesize": "^10.1.6",
79
+ "fs-extra": "^11.3.3",
82
80
  "got": "^11.8.6",
83
81
  "hpagent": "^1.2.0",
84
- "inquirer": "^8.2.6",
85
- "ioredis": "^5.3.2",
82
+ "inquirer": "^8.2.7",
83
+ "ioredis": "^5.8.2",
86
84
  "is-gzip": "^2.0.0",
87
85
  "lodash": "^4.17.21",
88
- "micromatch": "^4.0.5",
86
+ "micromatch": "^4.0.8",
89
87
  "ms": "^2.1.3",
90
88
  "node-dir": "^0.1.17",
91
89
  "node-gzip": "^1.1.2",
@@ -98,38 +96,38 @@
98
96
  "type-fest": "^3.13.1",
99
97
  "update-notifier": "^5.1.0",
100
98
  "urlsafe-base64": "^1.0.0",
101
- "yaml": "^2.4.0",
102
- "zod": "^3.22.4",
99
+ "yaml": "^2.8.2",
100
+ "zod": "^3.25.76",
103
101
  "zod-validation-error": "^1.5.0"
104
102
  },
105
103
  "devDependencies": {
106
- "@algolia/client-search": "^4.22.1",
104
+ "@algolia/client-search": "^4.25.3",
107
105
  "@commitlint/cli": "^17.8.1",
108
106
  "@commitlint/config-angular": "^17.8.1",
109
107
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
110
108
  "@oclif/test": "^2.5.6",
111
- "@types/ali-oss": "^6.16.11",
109
+ "@types/ali-oss": "^6.16.13",
112
110
  "@types/bluebird": "^3.5.42",
113
- "@types/bytes": "^3.1.4",
114
- "@types/chai": "^4.3.12",
111
+ "@types/bytes": "^3.1.5",
112
+ "@types/chai": "^4.3.20",
115
113
  "@types/debug": "^4.1.12",
116
114
  "@types/fs-extra": "^11.0.4",
117
115
  "@types/ini": "^1.3.34",
118
- "@types/inquirer": "^8.2.10",
119
- "@types/ioredis-mock": "^8.2.5",
116
+ "@types/inquirer": "^8.2.12",
117
+ "@types/ioredis-mock": "^8.2.6",
120
118
  "@types/is-gzip": "^2.0.2",
121
- "@types/lodash": "^4.14.202",
122
- "@types/micromatch": "^4.0.6",
123
- "@types/mocha": "^10.0.6",
119
+ "@types/lodash": "^4.17.21",
120
+ "@types/micromatch": "^4.0.10",
121
+ "@types/mocha": "^10.0.10",
124
122
  "@types/ms": "^0.7.34",
125
- "@types/node": "^18.19.21",
123
+ "@types/node": "^18.19.130",
126
124
  "@types/node-dir": "^0.0.35",
127
125
  "@types/node-gzip": "^1.1.3",
128
126
  "@types/nunjucks": "^3.2.6",
129
127
  "@types/sinon": "^10.0.20",
130
128
  "@types/urlsafe-base64": "^1.0.31",
131
- "@typescript-eslint/eslint-plugin": "^7",
132
- "@typescript-eslint/parser": "^7",
129
+ "@eslint/js": "^9.28.0",
130
+ "typescript-eslint": "^8.33.1",
133
131
  "@vuepress/bundler-vite": "2.0.0-rc.19",
134
132
  "@vuepress/client": "2.0.0-rc.19",
135
133
  "@vuepress/core": "2.0.0-rc.19",
@@ -144,31 +142,32 @@
144
142
  "@vuepress/utils": "2.0.0-rc.19",
145
143
  "ava": "^5.3.1",
146
144
  "benchmark": "^2.1.4",
147
- "bumpp": "^9.4.0",
148
- "chai": "^4.4.1",
145
+ "bumpp": "^9.11.1",
146
+ "chai": "^4.5.0",
149
147
  "chai-jest-snapshot": "^2.0.0",
150
148
  "conventional-changelog-cli": "^2.2.2",
151
- "eslint-config-prettier": "^8.10.0",
152
- "eslint-import-resolver-typescript": "^3.6.1",
153
- "eslint-plugin-import": "^2.29.1",
154
- "eslint-plugin-prettier": "^4.2.1",
149
+ "eslint-config-prettier": "^10.1.5",
150
+ "eslint-import-resolver-typescript": "^4.4.3",
151
+ "eslint-plugin-import-x": "^4.16.1",
152
+ "eslint-plugin-prettier": "^5.4.1",
153
+ "globals": "^16.2.0",
155
154
  "husky": "^8.0.3",
156
155
  "ini": "^3.0.1",
157
- "ioredis-mock": "^8.9.0",
156
+ "ioredis-mock": "^8.13.1",
158
157
  "lint-staged": "^13.3.0",
159
- "mocha": "^10.3.0",
160
- "nock": "^13.5.4",
158
+ "mocha": "^10.8.2",
159
+ "nock": "^13.5.6",
161
160
  "np": "^6.5.0",
162
161
  "npm-debug-log-cleaner": "^1.0.3",
163
162
  "npm-run-all": "^4.1.5",
164
163
  "nyc": "^15.1.0",
165
164
  "prettier": "^2.8.8",
166
- "sass": "^1.71.1",
167
- "search-insights": ">=1.0.0 <3.0.0-0",
165
+ "sass": "^1.97.1",
166
+ "search-insights": "^2.17.3",
168
167
  "sinon": "^15.2.0",
169
168
  "ts-node": "^10.9.2",
170
- "typescript": "^5.9.2",
171
- "vue": "^3.5.0",
169
+ "typescript": "^5.9.3",
170
+ "vue": "^3.5.26",
172
171
  "vuepress": "2.0.0-rc.19",
173
172
  "vuepress-plugin-umami-analytics": "1.8.1"
174
173
  },
@@ -207,8 +206,7 @@
207
206
  "node": ">=18.0.0"
208
207
  },
209
208
  "lint-staged": {
210
- "*.js": "eslint",
211
- "*.ts": "eslint --ext .ts"
209
+ "*.{js,ts}": "eslint --fix"
212
210
  },
213
211
  "husky": {
214
212
  "hooks": {
@@ -229,14 +227,14 @@
229
227
  "dev": "npm run build -- --watch",
230
228
  "test": "run-s build test:lint test:unit test:cli",
231
229
  "test:types": "tsc --noEmit",
232
- "test:lint": "eslint -c .eslintrc.js --ext .js,.ts .",
230
+ "test:lint": "eslint .",
233
231
  "test:unit": "ava",
234
232
  "test:cli": "mocha",
235
233
  "test:cli:update": "CHAI_JEST_SNAPSHOT_UPDATE_ALL=true pnpm test:cli",
236
234
  "run-example": "node ./scripts/run-example.js",
237
235
  "coverage": "TS_NODE_FILES=true nyc ava",
238
236
  "clean": "rimraf build",
239
- "build": "tsc -p tsconfig.build.json",
237
+ "build": "tsc --build tsconfig.build.json",
240
238
  "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
241
239
  "docs:dev": "NODE_ENV=development vuepress dev docs",
242
240
  "docs:build": "NODE_ENV=production vuepress build docs",
@@ -1,20 +0,0 @@
1
- import 'source-map-support/register';
2
- import { Command, Interfaces, Config } from '@oclif/core';
3
- import ora from 'ora';
4
- import { CommandConfig } from './types';
5
- export type Flags<T extends typeof Command> = Interfaces.InferredFlags<(typeof BaseCommand)['baseFlags'] & T['flags']>;
6
- export type Args<T extends typeof Command> = Interfaces.InferredArgs<T['args']>;
7
- declare abstract class BaseCommand<T extends typeof Command> extends Command {
8
- protected flags: Flags<T>;
9
- protected args: Args<T>;
10
- protected surgioConfig: CommandConfig;
11
- ora: ora.Ora;
12
- projectDir: string;
13
- constructor(argv: string[], config: Config);
14
- init(): Promise<void>;
15
- protected catch(err: Error & {
16
- exitCode?: number;
17
- }): Promise<any>;
18
- protected cleanup(): Promise<void>;
19
- }
20
- export default BaseCommand;
@@ -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
- require("source-map-support/register");
7
- const path_1 = require("path");
8
- const core_1 = require("@oclif/core");
9
- const logger_1 = require("@surgio/logger");
10
- const ora_1 = __importDefault(require("ora"));
11
- const redis_1 = __importDefault(require("./redis"));
12
- const config_1 = require("./config");
13
- const error_helper_1 = require("./utils/error-helper");
14
- class BaseCommand extends core_1.Command {
15
- flags;
16
- args;
17
- surgioConfig;
18
- ora = (0, ora_1.default)({
19
- stream: process.stdout,
20
- });
21
- projectDir;
22
- constructor(argv, config) {
23
- super(argv, config);
24
- }
25
- async init() {
26
- await super.init();
27
- const { args, flags } = await this.parse({
28
- flags: this.ctor.flags,
29
- baseFlags: super.ctor.baseFlags,
30
- args: this.ctor.args,
31
- strict: this.ctor.strict,
32
- });
33
- this.flags = flags;
34
- this.args = args;
35
- // istanbul ignore next
36
- if (flags.verbose) {
37
- logger_1.transports.console.level = 'debug';
38
- }
39
- if (flags.project.startsWith('.')) {
40
- flags.project = (0, path_1.resolve)(process.cwd(), flags.project);
41
- }
42
- this.projectDir = flags.project;
43
- this.surgioConfig = (0, config_1.loadConfig)(this.projectDir);
44
- }
45
- async catch(err) {
46
- if (this.ora.isSpinning) {
47
- this.ora.fail();
48
- }
49
- await error_helper_1.errorHandler.call(this, err);
50
- this.exit(err.exitCode || 1);
51
- }
52
- async cleanup() {
53
- await redis_1.default.destroyRedis();
54
- if (this.ora.isSpinning) {
55
- this.ora.succeed();
56
- }
57
- }
58
- }
59
- BaseCommand.enableJsonFlag = true;
60
- BaseCommand.baseFlags = {
61
- project: core_1.Flags.string({
62
- char: 'p',
63
- description: 'Surgio 配置目录',
64
- default: './',
65
- helpGroup: 'GLOBAL',
66
- }),
67
- verbose: core_1.Flags.boolean({
68
- char: 'V',
69
- description: '打印调试日志',
70
- default: false,
71
- helpGroup: 'GLOBAL',
72
- }),
73
- };
74
- exports.default = BaseCommand;
75
- //# sourceMappingURL=base-command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-command.js","sourceRoot":"","sources":["../src/base-command.ts"],"names":[],"mappings":";;;;;AAAA,uCAAoC;AACpC,+BAA8B;AAC9B,sCAAgE;AAChE,2CAA2C;AAC3C,8CAAqB;AAErB,oDAA2B;AAE3B,qCAAqC;AACrC,uDAAmD;AAOnD,MAAe,WAAsC,SAAQ,cAAO;IACxD,KAAK,CAAW;IAChB,IAAI,CAAU;IACd,YAAY,CAAgB;IAC/B,GAAG,GAAG,IAAA,aAAG,EAAC;QACf,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;IACK,UAAU,CAAS;IAE1B,YAAY,IAAc,EAAE,MAAc;QACxC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACrB,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;QAElB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,SAAS,EAAG,KAAK,CAAC,IAA2B,CAAC,SAAS;YACvD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;SACzB,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,GAAG,KAAiB,CAAA;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAe,CAAA;QAE3B,uBAAuB;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,mBAAU,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAA;QACpC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,OAAO,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAA;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAA,mBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACjD,CAAC;IAES,KAAK,CAAC,KAAK,CAAC,GAAkC;QACtD,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACjB,CAAC;QACD,MAAM,2BAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;IAC9B,CAAC;IAES,KAAK,CAAC,OAAO;QACrB,MAAM,eAAK,CAAC,YAAY,EAAE,CAAA;QAC1B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;QACpB,CAAC;IACH,CAAC;CACF;AAED,WAAW,CAAC,cAAc,GAAG,IAAI,CAAA;AACjC,WAAW,CAAC,SAAS,GAAG;IACtB,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,aAAa;QAC1B,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,QAAQ;KACpB,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,QAAQ;KACpB,CAAC;CACH,CAAA;AAED,kBAAe,WAAW,CAAA"}
@@ -1,10 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class CheckCommand extends BaseCommand<typeof CheckCommand> {
3
- static description: string;
4
- static args: {
5
- provider: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
6
- };
7
- run(): Promise<void>;
8
- private getNodeList;
9
- }
10
- export default CheckCommand;
@@ -1,97 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- // istanbul ignore file
40
- const path_1 = __importDefault(require("path"));
41
- const core_1 = require("@oclif/core");
42
- const fs_extra_1 = __importDefault(require("fs-extra"));
43
- const inquirer_1 = __importDefault(require("inquirer"));
44
- const base_command_1 = __importDefault(require("../base-command"));
45
- const config_1 = require("../config");
46
- const provider_1 = require("../provider");
47
- class CheckCommand extends base_command_1.default {
48
- static description = '查询 Provider';
49
- static args = {
50
- provider: core_1.Args.string({
51
- description: '发起检查的 Provider',
52
- required: true,
53
- }),
54
- };
55
- async run() {
56
- const nodeList = await this.getNodeList(this.args.provider);
57
- if (!process.stdin.isTTY) {
58
- console.log(JSON.stringify(nodeList, null, 2));
59
- return;
60
- }
61
- const answers = await inquirer_1.default.prompt([
62
- {
63
- type: 'list',
64
- name: 'node',
65
- message: '请选择节点',
66
- choices: nodeList.map((node) => {
67
- const name = 'hostname' in node && 'port' in node
68
- ? `${node.nodeName} - ${node.hostname}:${node.port}`
69
- : node.nodeName;
70
- return {
71
- name,
72
- value: node,
73
- };
74
- }),
75
- },
76
- ]);
77
- console.log(JSON.stringify(answers.node, null, 2));
78
- await this.cleanup();
79
- }
80
- async getNodeList(providerName) {
81
- core_1.ux.action.start('正在获取 Provider 信息');
82
- const config = (0, config_1.getConfig)();
83
- const filePath = path_1.default.resolve(config.providerDir, `./${providerName}.js`);
84
- const file = fs_extra_1.default.existsSync(filePath)
85
- ? await Promise.resolve(`${filePath}`).then(s => __importStar(require(s)))
86
- : new Error('找不到该 Provider');
87
- if (file instanceof Error) {
88
- throw file;
89
- }
90
- const provider = await (0, provider_1.getProvider)(providerName, file.default);
91
- const nodeList = await provider.getNodeList();
92
- core_1.ux.action.stop();
93
- return nodeList;
94
- }
95
- }
96
- exports.default = CheckCommand;
97
- //# sourceMappingURL=check.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,gDAAuB;AACvB,sCAAsC;AACtC,wDAAyB;AACzB,wDAA+B;AAE/B,mEAAyC;AACzC,sCAAqC;AACrC,0CAAyC;AAEzC,MAAM,YAAa,SAAQ,sBAAgC;IACzD,MAAM,CAAC,WAAW,GAAG,aAAa,CAAA;IAElC,MAAM,CAAC,IAAI,GAAG;QACZ,QAAQ,EAAE,WAAI,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,gBAAgB;YAC7B,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAA;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAE3D,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9C,OAAM;QACR,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;YACpC;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC7B,MAAM,IAAI,GACR,UAAU,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI;wBAClC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE;wBACpD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA;oBAEnB,OAAO;wBACL,IAAI;wBACJ,KAAK,EAAE,IAAI;qBACZ,CAAA;gBACH,CAAC,CAAC;aACH;SACF,CAAC,CAAA;QAEF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAElD,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,YAAoB;QAC5C,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;QAEnC,MAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAA;QAC1B,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,YAAY,KAAK,CAAC,CAAA;QACzE,MAAM,IAAI,GAAgB,kBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC/C,CAAC,CAAC,yBAAa,QAAQ,uCAAC;YACxB,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;QAE9B,IAAI,IAAI,YAAY,KAAK,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAA;QACZ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,sBAAW,EAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC9D,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAA;QAE7C,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEhB,OAAO,QAAQ,CAAA;IACjB,CAAC;;AAGH,kBAAe,YAAY,CAAA"}
@@ -1,6 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class CleanCacheCommand extends BaseCommand<typeof CleanCacheCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- }
6
- export default CleanCacheCommand;
@@ -1,28 +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
- // istanbul ignore file
7
- const os_1 = __importDefault(require("os"));
8
- const path_1 = __importDefault(require("path"));
9
- const core_1 = require("@oclif/core");
10
- const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const base_command_1 = __importDefault(require("../base-command"));
12
- const constant_1 = require("../constant");
13
- const cache_1 = require("../utils/cache");
14
- class CleanCacheCommand extends base_command_1.default {
15
- static description = '清除缓存';
16
- async run() {
17
- const tmpDir = path_1.default.join(os_1.default.tmpdir(), constant_1.TMP_FOLDER_NAME);
18
- core_1.ux.action.start('正在清除缓存');
19
- if (fs_extra_1.default.existsSync(tmpDir)) {
20
- await fs_extra_1.default.remove(tmpDir);
21
- }
22
- await (0, cache_1.cleanCaches)();
23
- core_1.ux.action.stop();
24
- await this.cleanup();
25
- }
26
- }
27
- exports.default = CleanCacheCommand;
28
- //# sourceMappingURL=clean-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"clean-cache.js","sourceRoot":"","sources":["../../src/commands/clean-cache.ts"],"names":[],"mappings":";;;;;AAAA,uBAAuB;AACvB,4CAAmB;AACnB,gDAAuB;AACvB,sCAAgC;AAChC,wDAAyB;AAEzB,mEAAyC;AACzC,0CAA6C;AAC7C,0CAA4C;AAE5C,MAAM,iBAAkB,SAAQ,sBAAqC;IACnE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAEpB,KAAK,CAAC,GAAG;QACd,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,0BAAe,CAAC,CAAA;QAEtD,SAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEzB,IAAI,kBAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,kBAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,IAAA,mBAAW,GAAE,CAAA;QAEnB,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEhB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;;AAGH,kBAAe,iBAAiB,CAAA"}
@@ -1,6 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class DoctorCommand extends BaseCommand<typeof DoctorCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- }
6
- export default DoctorCommand;
@@ -1,20 +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
- // istanbul ignore file
7
- const base_command_1 = __importDefault(require("../base-command"));
8
- const doctor_1 = require("../utils/doctor");
9
- class DoctorCommand extends base_command_1.default {
10
- static description = '检查运行环境';
11
- async run() {
12
- const doctorInfo = await (0, doctor_1.generateDoctorInfo)(this.projectDir, this.config.pjson);
13
- doctorInfo.forEach((item) => {
14
- console.log(item);
15
- });
16
- await this.cleanup();
17
- }
18
- }
19
- exports.default = DoctorCommand;
20
- //# sourceMappingURL=doctor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";;;;;AAAA,uBAAuB;AACvB,mEAAyC;AACzC,4CAAoD;AAEpD,MAAM,aAAc,SAAQ,sBAAiC;IAC3D,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;IAEtB,KAAK,CAAC,GAAG;QACd,MAAM,UAAU,GAAG,MAAM,IAAA,2BAAkB,EACzC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAClB,CAAA;QAED,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;;AAGH,kBAAe,aAAa,CAAA"}
@@ -1,7 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class GenerateCommand extends BaseCommand<typeof GenerateCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- private generate;
6
- }
7
- export default GenerateCommand;
@@ -1,100 +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
- const path_1 = __importDefault(require("path"));
7
- const core_1 = require("@oclif/core");
8
- const fs_extra_1 = __importDefault(require("fs-extra"));
9
- const base_command_1 = __importDefault(require("../base-command"));
10
- const generator_1 = require("../generator");
11
- const config_1 = require("../config");
12
- const linter_1 = require("../utils/linter");
13
- const utils_1 = require("../utils");
14
- class GenerateCommand extends base_command_1.default {
15
- static description = '生成规则';
16
- async run() {
17
- if (!this.flags['skip-lint']) {
18
- const result = await (0, linter_1.checkAndFix)(this.projectDir);
19
- if (!result) {
20
- throw new Error('JS 语法检查不通过,请根据提示修改文件(参考 https://url.royli.dev/SeB6m)');
21
- }
22
- }
23
- if (this.flags.output) {
24
- (0, config_1.setConfig)('output', this.flags.output);
25
- }
26
- await this.generate(this.flags['skip-fail'], this.flags['cache-snippet']);
27
- await this.cleanup();
28
- }
29
- async generate(skipFail, cacheSnippet) {
30
- this.ora.info('开始生成规则');
31
- const config = this.surgioConfig;
32
- const artifactList = config.artifacts;
33
- const distPath = config.output;
34
- const remoteSnippetsConfig = config.remoteSnippets || [];
35
- const remoteSnippetList = await (0, utils_1.loadRemoteSnippetList)(remoteSnippetsConfig, cacheSnippet);
36
- const templateEngine = (0, generator_1.getEngine)(config.templateDir, {
37
- clashCore: config.clashConfig?.clashCore,
38
- });
39
- await fs_extra_1.default.mkdirp(distPath);
40
- for (const artifact of artifactList) {
41
- this.ora.start(`正在生成规则 ${artifact.name}`);
42
- try {
43
- const artifactInstance = new generator_1.Artifact(config, artifact, {
44
- remoteSnippetList,
45
- });
46
- artifactInstance.once('initProvider:end', () => {
47
- this.ora.text = `已处理 Provider ${artifactInstance.initProgress}/${artifactInstance.providerNameList.length}...`;
48
- });
49
- await artifactInstance.init();
50
- const result = artifactInstance.render(templateEngine);
51
- const destFilePath = path_1.default.join(config.output, artifact.name);
52
- if (artifact.destDir) {
53
- fs_extra_1.default.accessSync(artifact.destDir, fs_extra_1.default.constants.W_OK);
54
- await fs_extra_1.default.writeFile(path_1.default.join(artifact.destDir, artifact.name), result);
55
- }
56
- else {
57
- await fs_extra_1.default.writeFile(destFilePath, result);
58
- }
59
- if (artifact.destDirs) {
60
- for (const destDir of artifact.destDirs) {
61
- fs_extra_1.default.accessSync(destDir, fs_extra_1.default.constants.W_OK);
62
- await fs_extra_1.default.promises.writeFile(path_1.default.join(destDir, artifact.name), result);
63
- }
64
- }
65
- this.ora.succeed(`规则 ${artifact.name} 生成成功`);
66
- }
67
- catch (err) {
68
- this.ora.fail(`规则 ${artifact.name} 生成失败`);
69
- // istanbul ignore next
70
- if (skipFail && err instanceof Error) {
71
- console.error(err.stack || err);
72
- }
73
- else {
74
- throw err;
75
- }
76
- }
77
- }
78
- this.ora.succeed('规则生成成功');
79
- }
80
- }
81
- GenerateCommand.flags = {
82
- output: core_1.Flags.string({
83
- char: 'o',
84
- description: '生成规则的目录',
85
- }),
86
- 'cache-snippet': core_1.Flags.boolean({
87
- default: false,
88
- description: '缓存远程片段',
89
- }),
90
- 'skip-fail': core_1.Flags.boolean({
91
- default: false,
92
- description: '跳过生成失败的 Artifact',
93
- }),
94
- 'skip-lint': core_1.Flags.boolean({
95
- default: false,
96
- description: '跳过代码检查',
97
- }),
98
- };
99
- exports.default = GenerateCommand;
100
- //# sourceMappingURL=generate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import BaseCommand from '../base-command';
2
- declare class LintCommand extends BaseCommand<typeof LintCommand> {
3
- static description: string;
4
- run(): Promise<void>;
5
- }
6
- export default LintCommand;
@@ -1,37 +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
- // istanbul ignore file
7
- const core_1 = require("@oclif/core");
8
- const base_command_1 = __importDefault(require("../base-command"));
9
- const linter_1 = require("../utils/linter");
10
- class LintCommand extends base_command_1.default {
11
- static description = '运行 JS 语法检查';
12
- async run() {
13
- let result;
14
- if (this.flags.fix) {
15
- result = await (0, linter_1.checkAndFix)(this.projectDir);
16
- }
17
- else {
18
- result = await (0, linter_1.check)(this.projectDir);
19
- }
20
- if (!result) {
21
- console.warn('⚠️ JS 语法检查不通过,请根据提示修改文件(可添加参数 --fix 自动修复部分错误, 参考 https://url.royli.dev/SeB6m)');
22
- process.exit(1);
23
- }
24
- else {
25
- console.log('✅ JS 语法检查通过');
26
- }
27
- await this.cleanup();
28
- }
29
- }
30
- LintCommand.flags = {
31
- fix: core_1.Flags.boolean({
32
- default: false,
33
- description: '自动修复部分 Lint 错误',
34
- }),
35
- };
36
- exports.default = LintCommand;
37
- //# sourceMappingURL=lint.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/commands/lint.ts"],"names":[],"mappings":";;;;;AAAA,uBAAuB;AACvB,sCAAmC;AAEnC,mEAAyC;AACzC,4CAAoD;AAEpD,MAAM,WAAY,SAAQ,sBAA+B;IACvD,MAAM,CAAC,WAAW,GAAG,YAAY,CAAA;IAE1B,KAAK,CAAC,GAAG;QACd,IAAI,MAAM,CAAA;QAEV,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,IAAA,cAAK,EAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACvC,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CACV,gFAAgF,CACjF,CAAA;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;QAC7B,CAAC;QAED,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;;AAGH,WAAW,CAAC,KAAK,GAAG;IAClB,GAAG,EAAE,YAAK,CAAC,OAAO,CAAC;QACjB,OAAO,EAAE,KAAK;QACd,WAAW,EAAE,gBAAgB;KAC9B,CAAC;CACH,CAAA;AAED,kBAAe,WAAW,CAAA"}