surgio 3.19.0 → 4.0.0-beta.2

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 (443) hide show
  1. package/bin/dev +5 -9
  2. package/bin/package.json +4 -0
  3. package/bin/run +2 -5
  4. package/build/base-command.d.ts +4 -4
  5. package/build/base-command.js +22 -24
  6. package/build/base-command.js.map +1 -1
  7. package/build/cache/cloudflare.d.ts +1 -0
  8. package/build/cache/cloudflare.js +2 -0
  9. package/build/cache/cloudflare.js.map +1 -0
  10. package/build/cache/configured-store.d.ts +2 -0
  11. package/build/cache/configured-store.js +26 -0
  12. package/build/cache/configured-store.js.map +1 -0
  13. package/build/cache/core.d.ts +2 -0
  14. package/build/cache/core.js +3 -0
  15. package/build/cache/core.js.map +1 -0
  16. package/build/cache/filesystem.d.ts +1 -0
  17. package/build/cache/filesystem.js +2 -0
  18. package/build/cache/filesystem.js.map +1 -0
  19. package/build/cache/index.d.ts +6 -0
  20. package/build/cache/index.js +7 -0
  21. package/build/cache/index.js.map +1 -0
  22. package/build/cache/singleton.d.ts +3 -0
  23. package/build/cache/singleton.js +8 -0
  24. package/build/cache/singleton.js.map +1 -0
  25. package/build/cache/stores/cloudflare-kv.d.ts +33 -0
  26. package/build/cache/stores/cloudflare-kv.js +45 -0
  27. package/build/cache/stores/cloudflare-kv.js.map +1 -0
  28. package/build/cache/stores/filesystem.d.ts +15 -0
  29. package/build/cache/stores/filesystem.js +84 -0
  30. package/build/cache/stores/filesystem.js.map +1 -0
  31. package/build/cache/stores/upstash.d.ts +28 -0
  32. package/build/cache/stores/upstash.js +66 -0
  33. package/build/cache/stores/upstash.js.map +1 -0
  34. package/build/cache/stores/utils.d.ts +5 -0
  35. package/build/cache/stores/utils.js +6 -0
  36. package/build/cache/stores/utils.js.map +1 -0
  37. package/build/cache/ttl-cache.d.ts +24 -0
  38. package/build/cache/ttl-cache.js +154 -0
  39. package/build/cache/ttl-cache.js.map +1 -0
  40. package/build/cache/types.d.ts +16 -0
  41. package/build/cache/types.js +2 -0
  42. package/build/cache/types.js.map +1 -0
  43. package/build/cache/upstash.d.ts +1 -0
  44. package/build/cache/upstash.js +2 -0
  45. package/build/cache/upstash.js.map +1 -0
  46. package/build/commands/check.d.ts +2 -2
  47. package/build/commands/check.js +24 -58
  48. package/build/commands/check.js.map +1 -1
  49. package/build/commands/clean-cache.d.ts +1 -1
  50. package/build/commands/clean-cache.js +16 -21
  51. package/build/commands/clean-cache.js.map +1 -1
  52. package/build/commands/doctor.d.ts +1 -1
  53. package/build/commands/doctor.js +6 -11
  54. package/build/commands/doctor.js.map +1 -1
  55. package/build/commands/generate.d.ts +1 -1
  56. package/build/commands/generate.js +31 -33
  57. package/build/commands/generate.js.map +1 -1
  58. package/build/commands/lint.d.ts +1 -1
  59. package/build/commands/lint.js +9 -14
  60. package/build/commands/lint.js.map +1 -1
  61. package/build/commands/new.d.ts +14 -1
  62. package/build/commands/new.js +252 -25
  63. package/build/commands/new.js.map +1 -1
  64. package/build/commands/subscriptions.d.ts +1 -1
  65. package/build/commands/subscriptions.js +20 -54
  66. package/build/commands/subscriptions.js.map +1 -1
  67. package/build/commands/upload.d.ts +1 -1
  68. package/build/commands/upload.js +21 -74
  69. package/build/commands/upload.js.map +1 -1
  70. package/build/config-normalize.d.ts +102 -0
  71. package/build/config-normalize.js +39 -0
  72. package/build/config-normalize.js.map +1 -0
  73. package/build/config.d.ts +9 -2
  74. package/build/config.js +78 -113
  75. package/build/config.js.map +1 -1
  76. package/build/configurables.d.ts +3 -84
  77. package/build/configurables.js +14 -39
  78. package/build/configurables.js.map +1 -1
  79. package/build/constant/constant.d.ts +26 -26
  80. package/build/constant/constant.js +39 -32
  81. package/build/constant/constant.js.map +1 -1
  82. package/build/constant/env.js +9 -12
  83. package/build/constant/env.js.map +1 -1
  84. package/build/constant/error.js +1 -4
  85. package/build/constant/error.js.map +1 -1
  86. package/build/constant/index.d.ts +3 -3
  87. package/build/constant/index.js +3 -19
  88. package/build/constant/index.js.map +1 -1
  89. package/build/filters/classes.d.ts +1 -1
  90. package/build/filters/classes.js +5 -13
  91. package/build/filters/classes.js.map +1 -1
  92. package/build/filters/filters.d.ts +1 -1
  93. package/build/filters/filters.js +58 -85
  94. package/build/filters/filters.js.map +1 -1
  95. package/build/filters/index.d.ts +2 -2
  96. package/build/filters/index.js +2 -41
  97. package/build/filters/index.js.map +1 -1
  98. package/build/filters/utils.d.ts +1 -1
  99. package/build/filters/utils.js +35 -56
  100. package/build/filters/utils.js.map +1 -1
  101. package/build/generator/artifact.d.ts +78 -72
  102. package/build/generator/artifact.js +71 -281
  103. package/build/generator/artifact.js.map +1 -1
  104. package/build/generator/index.d.ts +4 -3
  105. package/build/generator/index.js +3 -24
  106. package/build/generator/index.js.map +1 -1
  107. package/build/generator/json-extend.d.ts +20 -0
  108. package/build/generator/json-extend.js +37 -0
  109. package/build/generator/json-extend.js.map +1 -0
  110. package/build/generator/template-filters.d.ts +6 -0
  111. package/build/generator/template-filters.js +104 -0
  112. package/build/generator/template-filters.js.map +1 -0
  113. package/build/generator/template.d.ts +8 -7
  114. package/build/generator/template.js +40 -222
  115. package/build/generator/template.js.map +1 -1
  116. package/build/hooks/init.js +3 -38
  117. package/build/hooks/init.js.map +1 -1
  118. package/build/index.d.ts +66 -65
  119. package/build/index.js +20 -68
  120. package/build/index.js.map +1 -1
  121. package/build/internal.d.ts +4 -3
  122. package/build/internal.js +6 -24
  123. package/build/internal.js.map +1 -1
  124. package/build/misc/deprecation.js +10 -13
  125. package/build/misc/deprecation.js.map +1 -1
  126. package/build/misc/flag_cn.d.ts +53 -53
  127. package/build/misc/flag_cn.js +4 -7
  128. package/build/misc/flag_cn.js.map +1 -1
  129. package/build/project/authoring.d.ts +71 -0
  130. package/build/project/authoring.js +14 -0
  131. package/build/project/authoring.js.map +1 -0
  132. package/build/project/core.d.ts +3 -0
  133. package/build/project/core.js +17 -0
  134. package/build/project/core.js.map +1 -0
  135. package/build/project/editor.d.ts +8 -0
  136. package/build/project/editor.js +243 -0
  137. package/build/project/editor.js.map +1 -0
  138. package/build/project/file.d.ts +5 -0
  139. package/build/project/file.js +20 -0
  140. package/build/project/file.js.map +1 -0
  141. package/build/project/index.d.ts +5 -0
  142. package/build/project/index.js +7 -0
  143. package/build/project/index.js.map +1 -0
  144. package/build/project/internal.d.ts +8 -0
  145. package/build/project/internal.js +9 -0
  146. package/build/project/internal.js.map +1 -0
  147. package/build/project/node.d.ts +14 -0
  148. package/build/project/node.js +51 -0
  149. package/build/project/node.js.map +1 -0
  150. package/build/project/types.d.ts +22 -0
  151. package/build/project/types.js +2 -0
  152. package/build/project/types.js.map +1 -0
  153. package/build/provider/ClashProvider.d.ts +8 -5
  154. package/build/provider/ClashProvider.js +110 -115
  155. package/build/provider/ClashProvider.js.map +1 -1
  156. package/build/provider/CustomProvider.d.ts +3 -3
  157. package/build/provider/CustomProvider.js +52 -58
  158. package/build/provider/CustomProvider.js.map +1 -1
  159. package/build/provider/Provider.d.ts +8 -6
  160. package/build/provider/Provider.js +49 -83
  161. package/build/provider/Provider.js.map +1 -1
  162. package/build/provider/ShadowsocksSubscribeProvider.d.ts +5 -4
  163. package/build/provider/ShadowsocksSubscribeProvider.js +26 -33
  164. package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -1
  165. package/build/provider/ShadowsocksrSubscribeProvider.d.ts +5 -4
  166. package/build/provider/ShadowsocksrSubscribeProvider.js +31 -40
  167. package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -1
  168. package/build/provider/TrojanProvider.d.ts +6 -7
  169. package/build/provider/TrojanProvider.js +35 -48
  170. package/build/provider/TrojanProvider.js.map +1 -1
  171. package/build/provider/V2rayNSubscribeProvider.d.ts +23 -14
  172. package/build/provider/V2rayNSubscribeProvider.js +58 -146
  173. package/build/provider/V2rayNSubscribeProvider.js.map +1 -1
  174. package/build/provider/create-provider.d.ts +4 -0
  175. package/build/provider/create-provider.js +36 -0
  176. package/build/provider/create-provider.js.map +1 -0
  177. package/build/provider/index.d.ts +16 -16
  178. package/build/provider/index.js +19 -51
  179. package/build/provider/index.js.map +1 -1
  180. package/build/provider/node-runtime.d.ts +1 -0
  181. package/build/provider/node-runtime.js +26 -0
  182. package/build/provider/node-runtime.js.map +1 -0
  183. package/build/provider/types.d.ts +11 -14
  184. package/build/provider/types.js +1 -2
  185. package/build/provider/v2rayn-subscription.d.ts +12 -0
  186. package/build/provider/v2rayn-subscription.js +782 -0
  187. package/build/provider/v2rayn-subscription.js.map +1 -0
  188. package/build/runtime/artifact.d.ts +122 -0
  189. package/build/runtime/artifact.js +232 -0
  190. package/build/runtime/artifact.js.map +1 -0
  191. package/build/runtime/dns.d.ts +3 -0
  192. package/build/runtime/dns.js +37 -0
  193. package/build/runtime/dns.js.map +1 -0
  194. package/build/runtime/format.d.ts +4 -0
  195. package/build/runtime/format.js +45 -0
  196. package/build/runtime/format.js.map +1 -0
  197. package/build/runtime/http-client.d.ts +9 -0
  198. package/build/runtime/http-client.js +49 -0
  199. package/build/runtime/http-client.js.map +1 -0
  200. package/build/runtime/index.d.ts +4 -0
  201. package/build/runtime/index.js +2 -0
  202. package/build/runtime/index.js.map +1 -0
  203. package/build/runtime/node.d.ts +8 -0
  204. package/build/runtime/node.js +181 -0
  205. package/build/runtime/node.js.map +1 -0
  206. package/build/runtime/provider-context.d.ts +3 -0
  207. package/build/runtime/provider-context.js +11 -0
  208. package/build/runtime/provider-context.js.map +1 -0
  209. package/build/runtime/public.d.ts +59 -0
  210. package/build/runtime/public.js +2 -0
  211. package/build/runtime/public.js.map +1 -0
  212. package/build/runtime/renderer.d.ts +13 -0
  213. package/build/runtime/renderer.js +38 -0
  214. package/build/runtime/renderer.js.map +1 -0
  215. package/build/runtime/ruleset.d.ts +1 -0
  216. package/build/runtime/ruleset.js +34 -0
  217. package/build/runtime/ruleset.js.map +1 -0
  218. package/build/runtime/snippet-interpreter.d.ts +6 -0
  219. package/build/runtime/snippet-interpreter.js +136 -0
  220. package/build/runtime/snippet-interpreter.js.map +1 -0
  221. package/build/runtime/subscription.d.ts +2 -0
  222. package/build/runtime/subscription.js +18 -0
  223. package/build/runtime/subscription.js.map +1 -0
  224. package/build/runtime/types.d.ts +35 -0
  225. package/build/runtime/types.js +2 -0
  226. package/build/runtime/types.js.map +1 -0
  227. package/build/runtime/user-agent.d.ts +1 -0
  228. package/build/runtime/user-agent.js +3 -0
  229. package/build/runtime/user-agent.js.map +1 -0
  230. package/build/types.d.ts +17 -33
  231. package/build/types.js +4 -10
  232. package/build/types.js.map +1 -1
  233. package/build/utils/clash.d.ts +4 -3
  234. package/build/utils/clash.js +78 -82
  235. package/build/utils/clash.js.map +1 -1
  236. package/build/utils/constant.d.ts +1 -1
  237. package/build/utils/constant.js +1 -17
  238. package/build/utils/constant.js.map +1 -1
  239. package/build/utils/dns.js +17 -35
  240. package/build/utils/dns.js.map +1 -1
  241. package/build/utils/doctor.js +12 -22
  242. package/build/utils/doctor.js.map +1 -1
  243. package/build/utils/env-flag.js +23 -38
  244. package/build/utils/env-flag.js.map +1 -1
  245. package/build/utils/error-helper.d.ts +1 -1
  246. package/build/utils/error-helper.js +28 -34
  247. package/build/utils/error-helper.js.map +1 -1
  248. package/build/utils/errors.d.ts +1 -1
  249. package/build/utils/errors.js +10 -16
  250. package/build/utils/errors.js.map +1 -1
  251. package/build/utils/flag.js +12 -21
  252. package/build/utils/flag.js.map +1 -1
  253. package/build/utils/index.d.ts +13 -78
  254. package/build/utils/index.js +53 -516
  255. package/build/utils/index.js.map +1 -1
  256. package/build/utils/linter.js +53 -24
  257. package/build/utils/linter.js.map +1 -1
  258. package/build/utils/loon.d.ts +3 -2
  259. package/build/utils/loon.js +73 -61
  260. package/build/utils/loon.js.map +1 -1
  261. package/build/utils/module-loader.d.ts +1 -0
  262. package/build/utils/module-loader.js +13 -0
  263. package/build/utils/module-loader.js.map +1 -0
  264. package/build/utils/object-storage.d.ts +16 -0
  265. package/build/utils/object-storage.js +136 -0
  266. package/build/utils/object-storage.js.map +1 -0
  267. package/build/utils/portable.d.ts +27 -0
  268. package/build/utils/portable.js +141 -0
  269. package/build/utils/portable.js.map +1 -0
  270. package/build/utils/quantumult.d.ts +4 -3
  271. package/build/utils/quantumult.js +45 -52
  272. package/build/utils/quantumult.js.map +1 -1
  273. package/build/utils/relayable-url.js +1 -4
  274. package/build/utils/relayable-url.js.map +1 -1
  275. package/build/utils/remote-snippet.d.ts +12 -2
  276. package/build/utils/remote-snippet.js +51 -188
  277. package/build/utils/remote-snippet.js.map +1 -1
  278. package/build/utils/singbox-rules.d.ts +40 -0
  279. package/build/utils/singbox-rules.js +295 -0
  280. package/build/utils/singbox-rules.js.map +1 -0
  281. package/build/utils/singbox.d.ts +5 -3
  282. package/build/utils/singbox.js +210 -149
  283. package/build/utils/singbox.js.map +1 -1
  284. package/build/utils/ss.d.ts +4 -2
  285. package/build/utils/ss.js +58 -21
  286. package/build/utils/ss.js.map +1 -1
  287. package/build/utils/ssr.d.ts +3 -2
  288. package/build/utils/ssr.js +11 -16
  289. package/build/utils/ssr.js.map +1 -1
  290. package/build/utils/subscription.d.ts +3 -2
  291. package/build/utils/subscription.js +14 -41
  292. package/build/utils/subscription.js.map +1 -1
  293. package/build/utils/surfboard.d.ts +4 -3
  294. package/build/utils/surfboard.js +34 -39
  295. package/build/utils/surfboard.js.map +1 -1
  296. package/build/utils/surge.d.ts +4 -3
  297. package/build/utils/surge.js +62 -120
  298. package/build/utils/surge.js.map +1 -1
  299. package/build/utils/time.js +1 -5
  300. package/build/utils/time.js.map +1 -1
  301. package/build/utils/useragent.js +19 -31
  302. package/build/utils/useragent.js.map +1 -1
  303. package/build/utils/v2rayn.d.ts +3 -0
  304. package/build/utils/v2rayn.js +485 -0
  305. package/build/utils/v2rayn.js.map +1 -0
  306. package/build/validators/anytls.d.ts +23 -37
  307. package/build/validators/anytls.js +14 -17
  308. package/build/validators/anytls.js.map +1 -1
  309. package/build/validators/artifact.d.ts +20 -8
  310. package/build/validators/artifact.js +21 -23
  311. package/build/validators/artifact.js.map +1 -1
  312. package/build/validators/common.d.ts +28 -56
  313. package/build/validators/common.js +54 -61
  314. package/build/validators/common.js.map +1 -1
  315. package/build/validators/filter.d.ts +2 -2
  316. package/build/validators/filter.js +3 -6
  317. package/build/validators/filter.js.map +1 -1
  318. package/build/validators/hooks.d.ts +3 -3
  319. package/build/validators/hooks.js +3 -6
  320. package/build/validators/hooks.js.map +1 -1
  321. package/build/validators/http.d.ts +42 -70
  322. package/build/validators/http.js +17 -20
  323. package/build/validators/http.js.map +1 -1
  324. package/build/validators/hysteria2.d.ts +122 -36
  325. package/build/validators/hysteria2.js +19 -14
  326. package/build/validators/hysteria2.js.map +1 -1
  327. package/build/validators/index.d.ts +21 -21
  328. package/build/validators/index.js +21 -37
  329. package/build/validators/index.js.map +1 -1
  330. package/build/validators/masque.d.ts +109 -153
  331. package/build/validators/masque.js +30 -33
  332. package/build/validators/masque.js.map +1 -1
  333. package/build/validators/provider.d.ts +49 -52
  334. package/build/validators/provider.js +30 -34
  335. package/build/validators/provider.js.map +1 -1
  336. package/build/validators/shadowsocks.d.ts +31 -45
  337. package/build/validators/shadowsocks.js +23 -26
  338. package/build/validators/shadowsocks.js.map +1 -1
  339. package/build/validators/shadowsocksr.d.ts +26 -40
  340. package/build/validators/shadowsocksr.js +14 -17
  341. package/build/validators/shadowsocksr.js.map +1 -1
  342. package/build/validators/snell.d.ts +21 -35
  343. package/build/validators/snell.js +12 -15
  344. package/build/validators/snell.js.map +1 -1
  345. package/build/validators/socks5.d.ts +21 -35
  346. package/build/validators/socks5.js +10 -13
  347. package/build/validators/socks5.js.map +1 -1
  348. package/build/validators/surgio-config.d.ts +406 -112
  349. package/build/validators/surgio-config.js +112 -79
  350. package/build/validators/surgio-config.js.map +1 -1
  351. package/build/validators/tailscale.d.ts +25 -39
  352. package/build/validators/tailscale.js +20 -23
  353. package/build/validators/tailscale.js.map +1 -1
  354. package/build/validators/trojan.d.ts +29 -43
  355. package/build/validators/trojan.js +11 -14
  356. package/build/validators/trojan.js.map +1 -1
  357. package/build/validators/trust-tunnel.d.ts +64 -86
  358. package/build/validators/trust-tunnel.js +22 -25
  359. package/build/validators/trust-tunnel.js.map +1 -1
  360. package/build/validators/tuic.d.ts +96 -140
  361. package/build/validators/tuic.js +16 -17
  362. package/build/validators/tuic.js.map +1 -1
  363. package/build/validators/vless.d.ts +70 -84
  364. package/build/validators/vless.js +41 -44
  365. package/build/validators/vless.js.map +1 -1
  366. package/build/validators/vmess.d.ts +80 -94
  367. package/build/validators/vmess.js +59 -62
  368. package/build/validators/vmess.js.map +1 -1
  369. package/build/validators/wireguard.d.ts +35 -49
  370. package/build/validators/wireguard.js +20 -23
  371. package/build/validators/wireguard.js.map +1 -1
  372. package/build/worker/build.d.ts +9 -0
  373. package/build/worker/build.js +120 -0
  374. package/build/worker/build.js.map +1 -0
  375. package/build/worker/config.d.ts +5 -0
  376. package/build/worker/config.js +18 -0
  377. package/build/worker/config.js.map +1 -0
  378. package/build/worker/index.d.ts +4 -0
  379. package/build/worker/index.js +3 -0
  380. package/build/worker/index.js.map +1 -0
  381. package/build/worker/normalize-config.d.ts +3 -0
  382. package/build/worker/normalize-config.js +12 -0
  383. package/build/worker/normalize-config.js.map +1 -0
  384. package/build/worker/precompiled-environment.d.ts +33 -0
  385. package/build/worker/precompiled-environment.js +211 -0
  386. package/build/worker/precompiled-environment.js.map +1 -0
  387. package/build/worker/runtime.d.ts +2 -0
  388. package/build/worker/runtime.js +206 -0
  389. package/build/worker/runtime.js.map +1 -0
  390. package/build/worker/template-engine.d.ts +6 -0
  391. package/build/worker/template-engine.js +22 -0
  392. package/build/worker/template-engine.js.map +1 -0
  393. package/build/worker/types.d.ts +27 -0
  394. package/build/worker/types.js +2 -0
  395. package/build/worker/types.js.map +1 -0
  396. package/package.json +177 -161
  397. package/build/generator/json-template.d.ts +0 -11
  398. package/build/generator/json-template.js +0 -74
  399. package/build/generator/json-template.js.map +0 -1
  400. package/build/provider/BlackSSLProvider.d.ts +0 -12
  401. package/build/provider/BlackSSLProvider.js +0 -103
  402. package/build/provider/BlackSSLProvider.js.map +0 -1
  403. package/build/provider/ShadowsocksJsonSubscribeProvider.d.ts +0 -12
  404. package/build/provider/ShadowsocksJsonSubscribeProvider.js +0 -92
  405. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +0 -1
  406. package/build/provider/SsdProvider.d.ts +0 -40
  407. package/build/provider/SsdProvider.js +0 -150
  408. package/build/provider/SsdProvider.js.map +0 -1
  409. package/build/redis.d.ts +0 -9
  410. package/build/redis.js +0 -63
  411. package/build/redis.js.map +0 -1
  412. package/build/utils/cache.d.ts +0 -23
  413. package/build/utils/cache.js +0 -98
  414. package/build/utils/cache.js.map +0 -1
  415. package/build/utils/http-client.d.ts +0 -3
  416. package/build/utils/http-client.js +0 -60
  417. package/build/utils/http-client.js.map +0 -1
  418. package/build/utils/tmp-helper.d.ts +0 -30
  419. package/build/utils/tmp-helper.js +0 -102
  420. package/build/utils/tmp-helper.js.map +0 -1
  421. package/build/utils/trojan.d.ts +0 -2
  422. package/build/utils/trojan.js +0 -38
  423. package/build/utils/trojan.js.map +0 -1
  424. package/config.d.ts +0 -1
  425. package/config.js +0 -1
  426. package/constant.d.ts +0 -1
  427. package/constant.js +0 -1
  428. package/generator.d.ts +0 -1
  429. package/generator.js +0 -1
  430. package/hygen-template/artifact/new/index.js +0 -68
  431. package/hygen-template/artifact/new/template.ejs.t +0 -18
  432. package/hygen-template/provider/new/index.js +0 -81
  433. package/hygen-template/provider/new/template.ejs.t +0 -25
  434. package/hygen-template/template/new/index.js +0 -13
  435. package/hygen-template/template/new/template.ejs.t +0 -4
  436. package/index.d.ts +0 -1
  437. package/index.js +0 -1
  438. package/internal.d.ts +0 -1
  439. package/internal.js +0 -1
  440. package/provider.d.ts +0 -1
  441. package/provider.js +0 -1
  442. package/utils.d.ts +0 -1
  443. package/utils.js +0 -1
@@ -0,0 +1,154 @@
1
+ import { defaultDeserialize, defaultSerialize } from '@keyv/serialize';
2
+ export class TtlCache {
3
+ #createStore;
4
+ #inFlight = new Map();
5
+ #prepared;
6
+ #preparing;
7
+ constructor(options = {}) {
8
+ this.#createStore = options.createStore;
9
+ if (options.store) {
10
+ this.#prepared = {
11
+ store: options.store,
12
+ type: options.type ?? 'custom',
13
+ };
14
+ }
15
+ }
16
+ useStore(store, type = 'custom') {
17
+ if (this.#prepared || this.#preparing) {
18
+ throw new Error('Cache store has already been initialized');
19
+ }
20
+ this.#prepared = { store, type };
21
+ }
22
+ async prepare() {
23
+ if (this.#prepared) {
24
+ return this.#prepared;
25
+ }
26
+ if (this.#preparing) {
27
+ return this.#preparing;
28
+ }
29
+ if (!this.#createStore) {
30
+ throw new Error('Cache store is not configured');
31
+ }
32
+ this.#preparing = Promise.resolve(this.#createStore()).then((prepared) => {
33
+ this.#prepared = prepared;
34
+ return prepared;
35
+ });
36
+ try {
37
+ return await this.#preparing;
38
+ }
39
+ finally {
40
+ this.#preparing = undefined;
41
+ }
42
+ }
43
+ async getType() {
44
+ return (await this.prepare()).type;
45
+ }
46
+ async get(key) {
47
+ const { store } = await this.prepare();
48
+ const serialized = await store.get(key);
49
+ if (serialized === undefined) {
50
+ return undefined;
51
+ }
52
+ let entry;
53
+ try {
54
+ entry = defaultDeserialize(serialized);
55
+ }
56
+ catch {
57
+ await this.#deleteBestEffort(store, key);
58
+ return undefined;
59
+ }
60
+ if (!entry || !Object.hasOwn(entry, 'value')) {
61
+ await this.#deleteBestEffort(store, key);
62
+ return undefined;
63
+ }
64
+ if (entry.expires !== undefined && entry.expires <= Date.now()) {
65
+ await this.#deleteBestEffort(store, key);
66
+ return undefined;
67
+ }
68
+ return entry.value;
69
+ }
70
+ async set(key, value, ttl) {
71
+ const { store } = await this.prepare();
72
+ const normalizedTtl = ttl === 0 ? undefined : ttl;
73
+ const expires = normalizedTtl === undefined ? undefined : Date.now() + normalizedTtl;
74
+ if (expires !== undefined && expires <= Date.now()) {
75
+ await store.delete(key);
76
+ return;
77
+ }
78
+ const serialized = defaultSerialize({ value, expires });
79
+ await store.put(key, serialized, { expiresAt: expires });
80
+ }
81
+ async del(key) {
82
+ const { store } = await this.prepare();
83
+ await store.delete(key);
84
+ }
85
+ async reset() {
86
+ const { store } = await this.prepare();
87
+ const keys = [];
88
+ for await (const key of store.list()) {
89
+ keys.push(key);
90
+ }
91
+ await Promise.all(keys.map((key) => store.delete(key)));
92
+ }
93
+ async wrap(key, fn, ttl) {
94
+ const cached = await this.get(key);
95
+ if (cached !== undefined) {
96
+ return cached;
97
+ }
98
+ const existing = this.#inFlight.get(key);
99
+ if (existing) {
100
+ return existing;
101
+ }
102
+ const pending = Promise.resolve(fn()).then(async (value) => {
103
+ const resolvedTtl = typeof ttl === 'function' ? ttl(value) : ttl;
104
+ await this.set(key, value, resolvedTtl);
105
+ return value;
106
+ });
107
+ this.#inFlight.set(key, pending);
108
+ try {
109
+ return await pending;
110
+ }
111
+ finally {
112
+ this.#inFlight.delete(key);
113
+ }
114
+ }
115
+ async keys() {
116
+ const { store } = await this.prepare();
117
+ const keys = [];
118
+ for await (const key of store.list()) {
119
+ if ((await this.get(key)) !== undefined) {
120
+ keys.push(key);
121
+ }
122
+ }
123
+ return keys;
124
+ }
125
+ async mset(entries, ttl) {
126
+ await Promise.all(entries.map(([key, value]) => this.set(key, value, ttl)));
127
+ }
128
+ async mget(...keys) {
129
+ return Promise.all(keys.map((key) => this.get(key)));
130
+ }
131
+ async mdel(...keys) {
132
+ await Promise.all(keys.map((key) => this.del(key)));
133
+ }
134
+ async has(key) {
135
+ return (await this.get(key)) !== undefined;
136
+ }
137
+ async close() {
138
+ if (this.#preparing) {
139
+ await this.#preparing;
140
+ }
141
+ if (this.#prepared) {
142
+ await this.#prepared.store.close();
143
+ }
144
+ }
145
+ async #deleteBestEffort(store, key) {
146
+ try {
147
+ await store.delete(key);
148
+ }
149
+ catch {
150
+ // Logical expiry and corrupt-record handling must still behave as a miss.
151
+ }
152
+ }
153
+ }
154
+ //# sourceMappingURL=ttl-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ttl-cache.js","sourceRoot":"","sources":["../../src/cache/ttl-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAetE,MAAM,OAAO,QAAQ;IACV,YAAY,CAAiC;IAC7C,SAAS,GAAG,IAAI,GAAG,EAA4B,CAAA;IACxD,SAAS,CAA6B;IACtC,UAAU,CAAsC;IAEhD,YAAY,OAAO,GAAoB,EAAE;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAA;QAEvC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,GAAG;gBACf,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,QAAQ;aAC/B,CAAA;QACH,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAc,EAAE,IAAI,GAAc,QAAQ;QACjD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,CAAA;QACxB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAClD,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAA;YACzB,OAAO,QAAQ,CAAA;QACjB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAA;QAC9B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW;QACtB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACtC,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAEvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,KAAgC,CAAA;QACpC,IAAI,CAAC;YACH,KAAK,GAAG,kBAAkB,CAAgB,UAAU,CAAC,CAAA;QACvD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACxC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACxC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACxC,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,GAAW,EAAE,KAAQ,EAAE,GAAY;QAC9C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACtC,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAA;QACjD,MAAM,OAAO,GACX,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAA;QAEtE,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;QAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;QACvD,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACtC,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAa,EAAE,CAAA;QAEzB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChB,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,IAAI,CACR,GAAW,EACX,EAAwB,EACxB,GAAqC;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAA;QACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAsB,CAAA;QAC/B,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzD,MAAM,WAAW,GAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;YAChE,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;YACvC,OAAO,KAAK,CAAA;QACd,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC;YACH,OAAO,MAAM,OAAO,CAAA;QACtB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;QACtC,MAAM,IAAI,GAAa,EAAE,CAAA;QAEzB,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAA4B,EAAE,GAAY;QACnD,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,GAAG,IAAc;QAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAI,GAAG,CAAC,CAAC,CAAC,CAAA;IACzD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,IAAc;QAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,CAAA;IAC5C,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,CAAA;QACvB,CAAC;QAED,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAc,EAAE,GAAW;QACjD,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;QAC5E,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,16 @@
1
+ export interface KvStorePutOptions {
2
+ /** Absolute Unix timestamp in milliseconds used for physical cleanup. */
3
+ expiresAt?: number;
4
+ }
5
+ export interface KvStore {
6
+ get(key: string): Promise<string | undefined>;
7
+ put(key: string, value: string, options?: KvStorePutOptions): Promise<void>;
8
+ delete(key: string): Promise<void>;
9
+ list(prefix?: string): AsyncIterable<string>;
10
+ close(): Promise<void>;
11
+ }
12
+ export type CacheType = 'filesystem' | 'upstash' | 'custom';
13
+ export interface PreparedKvStore {
14
+ store: KvStore;
15
+ type: CacheType;
16
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export * from './stores/upstash.js';
@@ -0,0 +1,2 @@
1
+ export * from './stores/upstash.js';
2
+ //# sourceMappingURL=upstash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upstash.js","sourceRoot":"","sources":["../../src/cache/upstash.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA"}
@@ -1,8 +1,8 @@
1
- import BaseCommand from '../base-command';
1
+ import BaseCommand from '../base-command.js';
2
2
  declare class CheckCommand extends BaseCommand<typeof CheckCommand> {
3
3
  static description: string;
4
4
  static args: {
5
- provider: import("@oclif/core/lib/interfaces/parser").Arg<string, Record<string, unknown>>;
5
+ provider: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
6
6
  };
7
7
  run(): Promise<void>;
8
8
  private getNodeList;
@@ -1,53 +1,16 @@
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 {
1
+ /* istanbul ignore file -- @preserve */
2
+ import path from 'path';
3
+ import { Args, ux } from '@oclif/core';
4
+ import fs from 'fs-extra';
5
+ import inquirer from 'inquirer';
6
+ import BaseCommand from '../base-command.js';
7
+ import { getConfig } from '../config.js';
8
+ import { getProvider } from '../provider/index.js';
9
+ import { loadModuleSync } from '../utils/module-loader.js';
10
+ class CheckCommand extends BaseCommand {
48
11
  static description = '查询 Provider';
49
12
  static args = {
50
- provider: core_1.Args.string({
13
+ provider: Args.string({
51
14
  description: '发起检查的 Provider',
52
15
  required: true,
53
16
  }),
@@ -58,7 +21,7 @@ class CheckCommand extends base_command_1.default {
58
21
  console.log(JSON.stringify(nodeList, null, 2));
59
22
  return;
60
23
  }
61
- const answers = await inquirer_1.default.prompt([
24
+ const answers = await inquirer.prompt([
62
25
  {
63
26
  type: 'list',
64
27
  name: 'node',
@@ -78,20 +41,23 @@ class CheckCommand extends base_command_1.default {
78
41
  await this.cleanup();
79
42
  }
80
43
  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');
44
+ ux.action.start('正在获取 Provider 信息');
45
+ const config = getConfig();
46
+ const definition = this.surgioProject.providers?.[providerName];
47
+ const filePath = path.resolve(config.providerDir, `./${providerName}.js`);
48
+ const file = definition
49
+ ? definition
50
+ : fs.existsSync(filePath)
51
+ ? loadModuleSync(filePath)
52
+ : new Error('找不到该 Provider');
87
53
  if (file instanceof Error) {
88
54
  throw file;
89
55
  }
90
- const provider = await (0, provider_1.getProvider)(providerName, file.default);
56
+ const provider = await getProvider(providerName, file);
91
57
  const { nodeList } = await provider.getNodeListV2();
92
- core_1.ux.action.stop();
58
+ ux.action.stop();
93
59
  return nodeList;
94
60
  }
95
61
  }
96
- exports.default = CheckCommand;
62
+ export default CheckCommand;
97
63
  //# sourceMappingURL=check.js.map
@@ -1 +1 @@
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,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAA;QAEnD,SAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEhB,OAAO,QAAQ,CAAA;IACjB,CAAC;;AAGH,kBAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/commands/check.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import BaseCommand from '../base-command';
1
+ import BaseCommand from '../base-command.js';
2
2
  declare class CleanCacheCommand extends BaseCommand<typeof CleanCacheCommand> {
3
3
  static description: string;
4
4
  run(): Promise<void>;
@@ -1,28 +1,23 @@
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 {
1
+ /* istanbul ignore file -- @preserve */
2
+ import os from 'os';
3
+ import path from 'path';
4
+ import { ux } from '@oclif/core';
5
+ import fs from 'fs-extra';
6
+ import BaseCommand from '../base-command.js';
7
+ import { cleanCaches } from '../cache/singleton.js';
8
+ import { TMP_FOLDER_NAME } from '../constant/index.js';
9
+ class CleanCacheCommand extends BaseCommand {
15
10
  static description = '清除缓存';
16
11
  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);
12
+ const tmpDir = path.join(os.tmpdir(), TMP_FOLDER_NAME);
13
+ ux.action.start('正在清除缓存');
14
+ if (fs.existsSync(tmpDir)) {
15
+ await fs.remove(tmpDir);
21
16
  }
22
- await (0, cache_1.cleanCaches)();
23
- core_1.ux.action.stop();
17
+ await cleanCaches();
18
+ ux.action.stop();
24
19
  await this.cleanup();
25
20
  }
26
21
  }
27
- exports.default = CleanCacheCommand;
22
+ export default CleanCacheCommand;
28
23
  //# sourceMappingURL=clean-cache.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"clean-cache.js","sourceRoot":"","sources":["../../src/commands/clean-cache.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,UAAU,CAAA;AAEzB,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEtD,MAAM,iBAAkB,SAAQ,WAAqC;IACnE,MAAM,CAAC,WAAW,GAAG,MAAM,CAAA;IAEpB,KAAK,CAAC,GAAG;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAA;QAEtD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QAEzB,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACzB,CAAC;QAED,MAAM,WAAW,EAAE,CAAA;QAEnB,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAEhB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;CACF;AAED,eAAe,iBAAiB,CAAA"}
@@ -1,4 +1,4 @@
1
- import BaseCommand from '../base-command';
1
+ import BaseCommand from '../base-command.js';
2
2
  declare class DoctorCommand extends BaseCommand<typeof DoctorCommand> {
3
3
  static description: string;
4
4
  run(): Promise<void>;
@@ -1,20 +1,15 @@
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 {
1
+ /* istanbul ignore file -- @preserve */
2
+ import BaseCommand from '../base-command.js';
3
+ import { generateDoctorInfo } from '../utils/doctor.js';
4
+ class DoctorCommand extends BaseCommand {
10
5
  static description = '检查运行环境';
11
6
  async run() {
12
- const doctorInfo = await (0, doctor_1.generateDoctorInfo)(this.projectDir, this.config.pjson);
7
+ const doctorInfo = await generateDoctorInfo(this.projectDir, this.config.pjson);
13
8
  doctorInfo.forEach((item) => {
14
9
  console.log(item);
15
10
  });
16
11
  await this.cleanup();
17
12
  }
18
13
  }
19
- exports.default = DoctorCommand;
14
+ export default DoctorCommand;
20
15
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,WAAW,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,aAAc,SAAQ,WAAiC;IAC3D,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;IAEtB,KAAK,CAAC,GAAG;QACd,MAAM,UAAU,GAAG,MAAM,kBAAkB,CACzC,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;CACF;AAED,eAAe,aAAa,CAAA"}
@@ -1,4 +1,4 @@
1
- import BaseCommand from '../base-command';
1
+ import BaseCommand from '../base-command.js';
2
2
  declare class GenerateCommand extends BaseCommand<typeof GenerateCommand> {
3
3
  static description: string;
4
4
  run(): Promise<void>;
@@ -1,27 +1,22 @@
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 {
1
+ import path from 'path';
2
+ import { Flags } from '@oclif/core';
3
+ import fs from 'fs-extra';
4
+ import BaseCommand from '../base-command.js';
5
+ import { Artifact, createNodeRenderer } from '../generator/index.js';
6
+ import { setConfig } from '../config.js';
7
+ import { checkAndFix } from '../utils/linter.js';
8
+ import { loadRemoteSnippetList } from '../utils/index.js';
9
+ class GenerateCommand extends BaseCommand {
15
10
  static description = '生成规则';
16
11
  async run() {
17
12
  if (!this.flags['skip-lint']) {
18
- const result = await (0, linter_1.checkAndFix)(this.projectDir);
13
+ const result = await checkAndFix(this.projectDir);
19
14
  if (!result) {
20
15
  throw new Error('JS 语法检查不通过,请根据提示修改文件(参考 https://url.royli.dev/SeB6m)');
21
16
  }
22
17
  }
23
18
  if (this.flags.output) {
24
- (0, config_1.setConfig)('output', this.flags.output);
19
+ setConfig('output', this.flags.output);
25
20
  }
26
21
  await this.generate(this.flags['skip-fail'], this.flags['cache-snippet']);
27
22
  await this.cleanup();
@@ -32,41 +27,44 @@ class GenerateCommand extends base_command_1.default {
32
27
  const artifactList = config.artifacts;
33
28
  const distPath = config.output;
34
29
  const remoteSnippetsConfig = config.remoteSnippets || [];
35
- const remoteSnippetList = await (0, utils_1.loadRemoteSnippetList)(remoteSnippetsConfig, cacheSnippet);
36
- const templateEngine = (0, generator_1.getEngine)(config.templateDir, {
30
+ const remoteSnippetList = await loadRemoteSnippetList(remoteSnippetsConfig, cacheSnippet);
31
+ const renderer = createNodeRenderer(config.templateDir, {
32
+ artifacts: artifactList,
37
33
  clashCore: config.clashConfig?.clashCore,
38
34
  });
39
- await fs_extra_1.default.mkdirp(distPath);
35
+ await fs.mkdirp(distPath);
40
36
  for (const artifact of artifactList) {
41
37
  this.ora.start(`正在生成规则 ${artifact.name}`);
42
38
  try {
43
- const artifactInstance = new generator_1.Artifact(config, artifact, {
39
+ const artifactInstance = new Artifact(config, artifact, {
44
40
  remoteSnippetList,
41
+ renderer,
42
+ providers: this.surgioProject.providers,
45
43
  });
46
44
  artifactInstance.once('initProvider:end', () => {
47
45
  this.ora.text = `已处理 Provider ${artifactInstance.initProgress}/${artifactInstance.providerNameList.length}...`;
48
46
  });
49
47
  await artifactInstance.init();
50
- const result = artifactInstance.render(templateEngine);
51
- const destFilePath = path_1.default.join(config.output, artifact.name);
48
+ const result = artifactInstance.render();
49
+ const destFilePath = path.join(config.output, artifact.name);
52
50
  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);
51
+ fs.accessSync(artifact.destDir, fs.constants.W_OK);
52
+ await fs.outputFile(path.join(artifact.destDir, artifact.name), result);
55
53
  }
56
54
  else {
57
- await fs_extra_1.default.writeFile(destFilePath, result);
55
+ await fs.outputFile(destFilePath, result);
58
56
  }
59
57
  if (artifact.destDirs) {
60
58
  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);
59
+ fs.accessSync(destDir, fs.constants.W_OK);
60
+ await fs.outputFile(path.join(destDir, artifact.name), result);
63
61
  }
64
62
  }
65
63
  this.ora.succeed(`规则 ${artifact.name} 生成成功`);
66
64
  }
67
65
  catch (err) {
68
66
  this.ora.fail(`规则 ${artifact.name} 生成失败`);
69
- // istanbul ignore next
67
+ /* istanbul ignore next -- @preserve */
70
68
  if (skipFail && err instanceof Error) {
71
69
  console.error(err.stack || err);
72
70
  }
@@ -79,22 +77,22 @@ class GenerateCommand extends base_command_1.default {
79
77
  }
80
78
  }
81
79
  GenerateCommand.flags = {
82
- output: core_1.Flags.string({
80
+ output: Flags.string({
83
81
  char: 'o',
84
82
  description: '生成规则的目录',
85
83
  }),
86
- 'cache-snippet': core_1.Flags.boolean({
84
+ 'cache-snippet': Flags.boolean({
87
85
  default: false,
88
86
  description: '缓存远程片段',
89
87
  }),
90
- 'skip-fail': core_1.Flags.boolean({
88
+ 'skip-fail': Flags.boolean({
91
89
  default: false,
92
90
  description: '跳过生成失败的 Artifact',
93
91
  }),
94
- 'skip-lint': core_1.Flags.boolean({
92
+ 'skip-lint': Flags.boolean({
95
93
  default: false,
96
94
  description: '跳过代码检查',
97
95
  }),
98
96
  };
99
- exports.default = GenerateCommand;
97
+ export default GenerateCommand;
100
98
  //# sourceMappingURL=generate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import BaseCommand from '../base-command';
1
+ import BaseCommand from '../base-command.js';
2
2
  declare class LintCommand extends BaseCommand<typeof LintCommand> {
3
3
  static description: string;
4
4
  run(): Promise<void>;