appwrite-cli 13.0.0-rc.1 → 13.0.0-rc.3

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 (430) hide show
  1. package/.github/workflows/publish.yml +68 -0
  2. package/CHANGELOG.md +10 -1
  3. package/LICENSE.md +1 -1
  4. package/README.md +3 -3
  5. package/cli.ts +152 -0
  6. package/dist/bundle.cjs +95813 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +145 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/index.d.ts +10 -2
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +7 -142
  14. package/dist/index.js.map +1 -1
  15. package/dist/lib/client.d.ts +2 -3
  16. package/dist/lib/client.d.ts.map +1 -1
  17. package/dist/lib/client.js +57 -45
  18. package/dist/lib/client.js.map +1 -1
  19. package/dist/lib/commands/config.d.ts +562 -0
  20. package/dist/lib/commands/config.d.ts.map +1 -0
  21. package/dist/lib/commands/config.js +416 -0
  22. package/dist/lib/commands/config.js.map +1 -0
  23. package/dist/lib/commands/db.d.ts +34 -0
  24. package/dist/lib/commands/db.d.ts.map +1 -0
  25. package/dist/lib/commands/db.js +247 -0
  26. package/dist/lib/commands/db.js.map +1 -0
  27. package/dist/lib/commands/errors.d.ts +68 -0
  28. package/dist/lib/commands/errors.d.ts.map +1 -0
  29. package/dist/lib/commands/errors.js +72 -0
  30. package/dist/lib/commands/errors.js.map +1 -0
  31. package/dist/lib/commands/generic.d.ts +2 -2
  32. package/dist/lib/commands/generic.d.ts.map +1 -1
  33. package/dist/lib/commands/generic.js +170 -157
  34. package/dist/lib/commands/generic.js.map +1 -1
  35. package/dist/lib/commands/init.d.ts +1 -1
  36. package/dist/lib/commands/init.d.ts.map +1 -1
  37. package/dist/lib/commands/init.js +201 -192
  38. package/dist/lib/commands/init.js.map +1 -1
  39. package/dist/lib/commands/pull.d.ts +105 -3
  40. package/dist/lib/commands/pull.d.ts.map +1 -1
  41. package/dist/lib/commands/pull.js +530 -370
  42. package/dist/lib/commands/pull.js.map +1 -1
  43. package/dist/lib/commands/push.d.ts +106 -0
  44. package/dist/lib/commands/push.d.ts.map +1 -1
  45. package/dist/lib/commands/push.js +1432 -1830
  46. package/dist/lib/commands/push.js.map +1 -1
  47. package/dist/lib/commands/run.d.ts +1 -1
  48. package/dist/lib/commands/run.d.ts.map +1 -1
  49. package/dist/lib/commands/run.js +129 -127
  50. package/dist/lib/commands/run.js.map +1 -1
  51. package/dist/lib/commands/schema.d.ts +59 -0
  52. package/dist/lib/commands/schema.d.ts.map +1 -0
  53. package/dist/lib/commands/schema.js +86 -0
  54. package/dist/lib/commands/schema.js.map +1 -0
  55. package/dist/lib/commands/services/account.d.ts +3 -0
  56. package/dist/lib/commands/services/account.d.ts.map +1 -0
  57. package/dist/lib/commands/services/account.js +328 -0
  58. package/dist/lib/commands/services/account.js.map +1 -0
  59. package/dist/lib/commands/services/console.d.ts +3 -0
  60. package/dist/lib/commands/services/console.d.ts.map +1 -0
  61. package/dist/lib/commands/services/console.js +28 -0
  62. package/dist/lib/commands/services/console.js.map +1 -0
  63. package/dist/lib/commands/services/databases.d.ts +3 -0
  64. package/dist/lib/commands/services/databases.d.ts.map +1 -0
  65. package/dist/lib/commands/services/databases.js +620 -0
  66. package/dist/lib/commands/services/databases.js.map +1 -0
  67. package/dist/lib/commands/services/functions.d.ts +3 -0
  68. package/dist/lib/commands/services/functions.d.ts.map +1 -0
  69. package/dist/lib/commands/services/functions.js +266 -0
  70. package/dist/lib/commands/services/functions.js.map +1 -0
  71. package/dist/lib/commands/services/graphql.d.ts +3 -0
  72. package/dist/lib/commands/services/graphql.d.ts.map +1 -0
  73. package/dist/lib/commands/services/graphql.js +28 -0
  74. package/dist/lib/commands/services/graphql.js.map +1 -0
  75. package/dist/lib/commands/services/health.d.ts +3 -0
  76. package/dist/lib/commands/services/health.d.ts.map +1 -0
  77. package/dist/lib/commands/services/health.js +123 -0
  78. package/dist/lib/commands/services/health.js.map +1 -0
  79. package/dist/lib/commands/services/locale.d.ts +3 -0
  80. package/dist/lib/commands/services/locale.d.ts.map +1 -0
  81. package/dist/lib/commands/services/locale.js +52 -0
  82. package/dist/lib/commands/services/locale.js.map +1 -0
  83. package/dist/lib/commands/services/messaging.d.ts +3 -0
  84. package/dist/lib/commands/services/messaging.d.ts.map +1 -0
  85. package/dist/lib/commands/services/messaging.js +505 -0
  86. package/dist/lib/commands/services/messaging.js.map +1 -0
  87. package/dist/lib/commands/services/migrations.d.ts +3 -0
  88. package/dist/lib/commands/services/migrations.d.ts.map +1 -0
  89. package/dist/lib/commands/services/migrations.js +135 -0
  90. package/dist/lib/commands/services/migrations.js.map +1 -0
  91. package/dist/lib/commands/services/project.d.ts +3 -0
  92. package/dist/lib/commands/services/project.d.ts.map +1 -0
  93. package/dist/lib/commands/services/project.js +54 -0
  94. package/dist/lib/commands/services/project.js.map +1 -0
  95. package/dist/lib/commands/services/projects.d.ts +3 -0
  96. package/dist/lib/commands/services/projects.d.ts.map +1 -0
  97. package/dist/lib/commands/services/projects.js +415 -0
  98. package/dist/lib/commands/services/projects.js.map +1 -0
  99. package/dist/lib/commands/services/proxy.d.ts +3 -0
  100. package/dist/lib/commands/services/proxy.d.ts.map +1 -0
  101. package/dist/lib/commands/services/proxy.js +68 -0
  102. package/dist/lib/commands/services/proxy.js.map +1 -0
  103. package/dist/lib/commands/services/sites.d.ts +3 -0
  104. package/dist/lib/commands/services/sites.d.ts.map +1 -0
  105. package/dist/lib/commands/services/sites.js +250 -0
  106. package/dist/lib/commands/services/sites.js.map +1 -0
  107. package/dist/lib/commands/services/storage.d.ts +3 -0
  108. package/dist/lib/commands/services/storage.d.ts.map +1 -0
  109. package/dist/lib/commands/services/storage.js +175 -0
  110. package/dist/lib/commands/services/storage.js.map +1 -0
  111. package/dist/lib/commands/services/tables-db.d.ts +3 -0
  112. package/dist/lib/commands/services/tables-db.d.ts.map +1 -0
  113. package/dist/lib/commands/services/tables-db.js +613 -0
  114. package/dist/lib/commands/services/tables-db.js.map +1 -0
  115. package/dist/lib/commands/services/teams.d.ts +3 -0
  116. package/dist/lib/commands/services/teams.d.ts.map +1 -0
  117. package/dist/lib/commands/services/teams.js +123 -0
  118. package/dist/lib/commands/services/teams.js.map +1 -0
  119. package/dist/lib/commands/services/tokens.d.ts +3 -0
  120. package/dist/lib/commands/services/tokens.d.ts.map +1 -0
  121. package/dist/lib/commands/services/tokens.js +49 -0
  122. package/dist/lib/commands/services/tokens.js.map +1 -0
  123. package/dist/lib/commands/services/users.d.ts +3 -0
  124. package/dist/lib/commands/services/users.d.ts.map +1 -0
  125. package/dist/lib/commands/services/users.js +312 -0
  126. package/dist/lib/commands/services/users.js.map +1 -0
  127. package/dist/lib/commands/services/vcs.d.ts +3 -0
  128. package/dist/lib/commands/services/vcs.d.ts.map +1 -0
  129. package/dist/lib/commands/services/vcs.js +87 -0
  130. package/dist/lib/commands/services/vcs.js.map +1 -0
  131. package/dist/lib/commands/types.d.ts +1 -1
  132. package/dist/lib/commands/types.d.ts.map +1 -1
  133. package/dist/lib/commands/types.js +53 -57
  134. package/dist/lib/commands/types.js.map +1 -1
  135. package/dist/lib/commands/update.d.ts +1 -1
  136. package/dist/lib/commands/update.d.ts.map +1 -1
  137. package/dist/lib/commands/update.js +69 -69
  138. package/dist/lib/commands/update.js.map +1 -1
  139. package/dist/lib/commands/utils/attributes.d.ts +47 -0
  140. package/dist/lib/commands/utils/attributes.d.ts.map +1 -0
  141. package/dist/lib/commands/utils/attributes.js +514 -0
  142. package/dist/lib/commands/utils/attributes.js.map +1 -0
  143. package/dist/lib/commands/utils/change-approval.d.ts +25 -0
  144. package/dist/lib/commands/utils/change-approval.d.ts.map +1 -0
  145. package/dist/lib/commands/utils/change-approval.js +129 -0
  146. package/dist/lib/commands/utils/change-approval.js.map +1 -0
  147. package/dist/lib/commands/utils/database-sync.d.ts +10 -0
  148. package/dist/lib/commands/utils/database-sync.d.ts.map +1 -0
  149. package/dist/lib/commands/utils/database-sync.js +136 -0
  150. package/dist/lib/commands/utils/database-sync.js.map +1 -0
  151. package/dist/lib/commands/utils/deployment.d.ts +34 -0
  152. package/dist/lib/commands/utils/deployment.d.ts.map +1 -0
  153. package/dist/lib/commands/utils/deployment.js +109 -0
  154. package/dist/lib/commands/utils/deployment.js.map +1 -0
  155. package/dist/lib/commands/utils/error-formatter.d.ts +19 -0
  156. package/dist/lib/commands/utils/error-formatter.d.ts.map +1 -0
  157. package/dist/lib/commands/utils/error-formatter.js +333 -0
  158. package/dist/lib/commands/utils/error-formatter.js.map +1 -0
  159. package/dist/lib/commands/utils/pools.d.ts +16 -0
  160. package/dist/lib/commands/utils/pools.d.ts.map +1 -0
  161. package/dist/lib/commands/utils/pools.js +198 -0
  162. package/dist/lib/commands/utils/pools.js.map +1 -0
  163. package/dist/lib/config.d.ts +41 -40
  164. package/dist/lib/config.d.ts.map +1 -1
  165. package/dist/lib/config.js +264 -239
  166. package/dist/lib/config.js.map +1 -1
  167. package/dist/lib/constants.d.ts +14 -0
  168. package/dist/lib/constants.d.ts.map +1 -0
  169. package/dist/lib/constants.js +19 -0
  170. package/dist/lib/constants.js.map +1 -0
  171. package/dist/lib/emulation/docker.d.ts +4 -12
  172. package/dist/lib/emulation/docker.d.ts.map +1 -1
  173. package/dist/lib/emulation/docker.js +159 -142
  174. package/dist/lib/emulation/docker.js.map +1 -1
  175. package/dist/lib/emulation/utils.d.ts +1 -1
  176. package/dist/lib/emulation/utils.d.ts.map +1 -1
  177. package/dist/lib/emulation/utils.js +55 -58
  178. package/dist/lib/emulation/utils.js.map +1 -1
  179. package/dist/lib/id.d.ts +1 -1
  180. package/dist/lib/id.d.ts.map +1 -1
  181. package/dist/lib/id.js +13 -18
  182. package/dist/lib/id.js.map +1 -1
  183. package/dist/lib/paginate.d.ts +3 -4
  184. package/dist/lib/paginate.d.ts.map +1 -1
  185. package/dist/lib/paginate.js +7 -10
  186. package/dist/lib/paginate.js.map +1 -1
  187. package/dist/lib/parser.d.ts +1 -1
  188. package/dist/lib/parser.d.ts.map +1 -1
  189. package/dist/lib/parser.js +92 -103
  190. package/dist/lib/parser.js.map +1 -1
  191. package/dist/lib/questions.d.ts +1 -1
  192. package/dist/lib/questions.d.ts.map +1 -1
  193. package/dist/lib/questions.js +381 -385
  194. package/dist/lib/questions.js.map +1 -1
  195. package/dist/lib/sdks.d.ts +1 -1
  196. package/dist/lib/sdks.d.ts.map +1 -1
  197. package/dist/lib/sdks.js +39 -30
  198. package/dist/lib/sdks.js.map +1 -1
  199. package/dist/lib/services.d.ts +13 -0
  200. package/dist/lib/services.d.ts.map +1 -0
  201. package/dist/lib/services.js +47 -0
  202. package/dist/lib/services.js.map +1 -0
  203. package/dist/lib/spinner.d.ts +1 -1
  204. package/dist/lib/spinner.d.ts.map +1 -1
  205. package/dist/lib/spinner.js +25 -27
  206. package/dist/lib/spinner.js.map +1 -1
  207. package/dist/lib/type-generation/attribute.d.ts +1 -1
  208. package/dist/lib/type-generation/attribute.d.ts.map +1 -1
  209. package/dist/lib/type-generation/attribute.js +14 -17
  210. package/dist/lib/type-generation/attribute.js.map +1 -1
  211. package/dist/lib/type-generation/languages/csharp.d.ts +1 -1
  212. package/dist/lib/type-generation/languages/csharp.d.ts.map +1 -1
  213. package/dist/lib/type-generation/languages/csharp.js +34 -34
  214. package/dist/lib/type-generation/languages/csharp.js.map +1 -1
  215. package/dist/lib/type-generation/languages/dart.d.ts +1 -1
  216. package/dist/lib/type-generation/languages/dart.d.ts.map +1 -1
  217. package/dist/lib/type-generation/languages/dart.js +57 -57
  218. package/dist/lib/type-generation/languages/dart.js.map +1 -1
  219. package/dist/lib/type-generation/languages/java.d.ts +1 -1
  220. package/dist/lib/type-generation/languages/java.d.ts.map +1 -1
  221. package/dist/lib/type-generation/languages/java.js +35 -35
  222. package/dist/lib/type-generation/languages/java.js.map +1 -1
  223. package/dist/lib/type-generation/languages/javascript.d.ts +1 -1
  224. package/dist/lib/type-generation/languages/javascript.d.ts.map +1 -1
  225. package/dist/lib/type-generation/languages/javascript.js +45 -44
  226. package/dist/lib/type-generation/languages/javascript.js.map +1 -1
  227. package/dist/lib/type-generation/languages/kotlin.d.ts +1 -1
  228. package/dist/lib/type-generation/languages/kotlin.d.ts.map +1 -1
  229. package/dist/lib/type-generation/languages/kotlin.js +35 -35
  230. package/dist/lib/type-generation/languages/kotlin.js.map +1 -1
  231. package/dist/lib/type-generation/languages/language.d.ts.map +1 -1
  232. package/dist/lib/type-generation/languages/language.js +32 -37
  233. package/dist/lib/type-generation/languages/language.js.map +1 -1
  234. package/dist/lib/type-generation/languages/php.d.ts +1 -1
  235. package/dist/lib/type-generation/languages/php.d.ts.map +1 -1
  236. package/dist/lib/type-generation/languages/php.js +34 -34
  237. package/dist/lib/type-generation/languages/php.js.map +1 -1
  238. package/dist/lib/type-generation/languages/swift.d.ts +1 -1
  239. package/dist/lib/type-generation/languages/swift.d.ts.map +1 -1
  240. package/dist/lib/type-generation/languages/swift.js +35 -35
  241. package/dist/lib/type-generation/languages/swift.js.map +1 -1
  242. package/dist/lib/type-generation/languages/typescript.d.ts +1 -1
  243. package/dist/lib/type-generation/languages/typescript.d.ts.map +1 -1
  244. package/dist/lib/type-generation/languages/typescript.js +49 -46
  245. package/dist/lib/type-generation/languages/typescript.js.map +1 -1
  246. package/dist/lib/types.d.ts +38 -108
  247. package/dist/lib/types.d.ts.map +1 -1
  248. package/dist/lib/types.js +1 -2
  249. package/dist/lib/utils.d.ts +3 -0
  250. package/dist/lib/utils.d.ts.map +1 -1
  251. package/dist/lib/utils.js +142 -98
  252. package/dist/lib/utils.js.map +1 -1
  253. package/dist/lib/validations.d.ts.map +1 -1
  254. package/dist/lib/validations.js +2 -6
  255. package/dist/lib/validations.js.map +1 -1
  256. package/dist/package.json +68 -0
  257. package/index.ts +25 -149
  258. package/install.ps1 +2 -2
  259. package/install.sh +1 -1
  260. package/lib/client.ts +261 -220
  261. package/lib/commands/config.ts +494 -0
  262. package/lib/commands/db.ts +324 -0
  263. package/lib/commands/errors.ts +93 -0
  264. package/lib/commands/generic.ts +371 -269
  265. package/lib/commands/init.ts +631 -519
  266. package/lib/commands/pull.ts +827 -453
  267. package/lib/commands/push.ts +2191 -2349
  268. package/lib/commands/run.ts +382 -302
  269. package/lib/commands/schema.ts +122 -0
  270. package/lib/commands/services/account.ts +647 -0
  271. package/lib/commands/services/console.ts +52 -0
  272. package/lib/commands/services/databases.ts +1163 -0
  273. package/lib/commands/services/functions.ts +536 -0
  274. package/lib/commands/services/graphql.ts +50 -0
  275. package/lib/commands/services/health.ts +260 -0
  276. package/lib/commands/services/locale.ts +102 -0
  277. package/lib/commands/services/messaging.ts +1052 -0
  278. package/lib/commands/services/migrations.ts +249 -0
  279. package/lib/commands/services/project.ts +112 -0
  280. package/lib/commands/services/projects.ts +785 -0
  281. package/lib/commands/services/proxy.ts +135 -0
  282. package/lib/commands/services/sites.ts +505 -0
  283. package/lib/commands/services/storage.ts +338 -0
  284. package/lib/commands/services/tables-db.ts +1150 -0
  285. package/lib/commands/services/teams.ts +232 -0
  286. package/lib/commands/services/tokens.ts +94 -0
  287. package/lib/commands/services/users.ts +616 -0
  288. package/lib/commands/services/vcs.ts +165 -0
  289. package/lib/commands/types.ts +145 -118
  290. package/lib/commands/update.ts +189 -159
  291. package/lib/commands/utils/attributes.ts +719 -0
  292. package/lib/commands/utils/change-approval.ts +186 -0
  293. package/lib/commands/utils/database-sync.ts +180 -0
  294. package/lib/commands/utils/deployment.ts +184 -0
  295. package/lib/commands/utils/error-formatter.ts +417 -0
  296. package/lib/commands/utils/pools.ts +355 -0
  297. package/lib/config.ts +766 -687
  298. package/lib/constants.ts +22 -0
  299. package/lib/emulation/docker.ts +277 -216
  300. package/lib/emulation/utils.ts +188 -174
  301. package/lib/id.ts +23 -23
  302. package/lib/paginate.ts +69 -55
  303. package/lib/parser.ts +220 -189
  304. package/lib/questions.ts +1024 -948
  305. package/lib/sdks.ts +84 -51
  306. package/lib/services.ts +72 -0
  307. package/lib/spinner.ts +112 -99
  308. package/lib/type-generation/attribute.ts +15 -14
  309. package/lib/type-generation/languages/csharp.ts +71 -60
  310. package/lib/type-generation/languages/dart.ts +106 -93
  311. package/lib/type-generation/languages/java.ts +69 -58
  312. package/lib/type-generation/languages/javascript.ts +84 -73
  313. package/lib/type-generation/languages/kotlin.ts +71 -60
  314. package/lib/type-generation/languages/language.ts +103 -95
  315. package/lib/type-generation/languages/php.ts +67 -56
  316. package/lib/type-generation/languages/swift.ts +71 -60
  317. package/lib/type-generation/languages/typescript.ts +93 -76
  318. package/lib/types.ts +50 -125
  319. package/lib/utils.ts +304 -233
  320. package/lib/validations.ts +17 -14
  321. package/package.json +31 -22
  322. package/scoop/appwrite.config.json +3 -3
  323. package/tsconfig.json +7 -13
  324. package/.github/workflows/autoclose.yml +0 -11
  325. package/.github/workflows/npm-publish.yml +0 -49
  326. package/dist/lib/commands/account.d.ts +0 -379
  327. package/dist/lib/commands/account.d.ts.map +0 -1
  328. package/dist/lib/commands/account.js +0 -1228
  329. package/dist/lib/commands/account.js.map +0 -1
  330. package/dist/lib/commands/console.d.ts +0 -20
  331. package/dist/lib/commands/console.d.ts.map +0 -1
  332. package/dist/lib/commands/console.js +0 -78
  333. package/dist/lib/commands/console.js.map +0 -1
  334. package/dist/lib/commands/databases.d.ts +0 -732
  335. package/dist/lib/commands/databases.d.ts.map +0 -1
  336. package/dist/lib/commands/databases.js +0 -2196
  337. package/dist/lib/commands/databases.js.map +0 -1
  338. package/dist/lib/commands/functions.d.ts +0 -310
  339. package/dist/lib/commands/functions.d.ts.map +0 -1
  340. package/dist/lib/commands/functions.js +0 -1100
  341. package/dist/lib/commands/functions.js.map +0 -1
  342. package/dist/lib/commands/graphql.d.ts +0 -19
  343. package/dist/lib/commands/graphql.d.ts.map +0 -1
  344. package/dist/lib/commands/graphql.js +0 -77
  345. package/dist/lib/commands/graphql.js.map +0 -1
  346. package/dist/lib/commands/health.d.ts +0 -153
  347. package/dist/lib/commands/health.d.ts.map +0 -1
  348. package/dist/lib/commands/health.js +0 -464
  349. package/dist/lib/commands/health.js.map +0 -1
  350. package/dist/lib/commands/locale.d.ts +0 -53
  351. package/dist/lib/commands/locale.d.ts.map +0 -1
  352. package/dist/lib/commands/locale.js +0 -165
  353. package/dist/lib/commands/locale.js.map +0 -1
  354. package/dist/lib/commands/messaging.d.ts +0 -588
  355. package/dist/lib/commands/messaging.d.ts.map +0 -1
  356. package/dist/lib/commands/messaging.js +0 -2042
  357. package/dist/lib/commands/messaging.js.map +0 -1
  358. package/dist/lib/commands/migrations.d.ts +0 -150
  359. package/dist/lib/commands/migrations.d.ts.map +0 -1
  360. package/dist/lib/commands/migrations.js +0 -524
  361. package/dist/lib/commands/migrations.js.map +0 -1
  362. package/dist/lib/commands/organizations.d.ts +0 -11
  363. package/dist/lib/commands/organizations.d.ts.map +0 -1
  364. package/dist/lib/commands/organizations.js +0 -31
  365. package/dist/lib/commands/organizations.js.map +0 -1
  366. package/dist/lib/commands/project.d.ts +0 -53
  367. package/dist/lib/commands/project.d.ts.map +0 -1
  368. package/dist/lib/commands/project.js +0 -176
  369. package/dist/lib/commands/project.js.map +0 -1
  370. package/dist/lib/commands/projects.d.ts +0 -516
  371. package/dist/lib/commands/projects.d.ts.map +0 -1
  372. package/dist/lib/commands/projects.js +0 -1590
  373. package/dist/lib/commands/projects.js.map +0 -1
  374. package/dist/lib/commands/proxy.d.ts +0 -71
  375. package/dist/lib/commands/proxy.d.ts.map +0 -1
  376. package/dist/lib/commands/proxy.js +0 -240
  377. package/dist/lib/commands/proxy.js.map +0 -1
  378. package/dist/lib/commands/sites.d.ts +0 -296
  379. package/dist/lib/commands/sites.d.ts.map +0 -1
  380. package/dist/lib/commands/sites.js +0 -1046
  381. package/dist/lib/commands/sites.js.map +0 -1
  382. package/dist/lib/commands/storage.d.ts +0 -170
  383. package/dist/lib/commands/storage.d.ts.map +0 -1
  384. package/dist/lib/commands/storage.js +0 -651
  385. package/dist/lib/commands/storage.js.map +0 -1
  386. package/dist/lib/commands/tables-db.d.ts +0 -728
  387. package/dist/lib/commands/tables-db.d.ts.map +0 -1
  388. package/dist/lib/commands/tables-db.js +0 -2198
  389. package/dist/lib/commands/tables-db.js.map +0 -1
  390. package/dist/lib/commands/teams.d.ts +0 -129
  391. package/dist/lib/commands/teams.d.ts.map +0 -1
  392. package/dist/lib/commands/teams.js +0 -403
  393. package/dist/lib/commands/teams.js.map +0 -1
  394. package/dist/lib/commands/tokens.d.ts +0 -48
  395. package/dist/lib/commands/tokens.d.ts.map +0 -1
  396. package/dist/lib/commands/tokens.js +0 -156
  397. package/dist/lib/commands/tokens.js.map +0 -1
  398. package/dist/lib/commands/users.d.ts +0 -382
  399. package/dist/lib/commands/users.d.ts.map +0 -1
  400. package/dist/lib/commands/users.js +0 -1195
  401. package/dist/lib/commands/users.js.map +0 -1
  402. package/dist/lib/commands/vcs.d.ts +0 -92
  403. package/dist/lib/commands/vcs.d.ts.map +0 -1
  404. package/dist/lib/commands/vcs.js +0 -276
  405. package/dist/lib/commands/vcs.js.map +0 -1
  406. package/dist/lib/exception.d.ts +0 -8
  407. package/dist/lib/exception.d.ts.map +0 -1
  408. package/dist/lib/exception.js +0 -16
  409. package/dist/lib/exception.js.map +0 -1
  410. package/lib/commands/account.ts +0 -1867
  411. package/lib/commands/console.ts +0 -112
  412. package/lib/commands/databases.ts +0 -3272
  413. package/lib/commands/functions.ts +0 -1587
  414. package/lib/commands/graphql.ts +0 -110
  415. package/lib/commands/health.ts +0 -753
  416. package/lib/commands/locale.ts +0 -270
  417. package/lib/commands/messaging.ts +0 -2878
  418. package/lib/commands/migrations.ts +0 -754
  419. package/lib/commands/organizations.ts +0 -46
  420. package/lib/commands/project.ts +0 -266
  421. package/lib/commands/projects.ts +0 -2370
  422. package/lib/commands/proxy.ts +0 -357
  423. package/lib/commands/sites.ts +0 -1514
  424. package/lib/commands/storage.ts +0 -919
  425. package/lib/commands/tables-db.ts +0 -3260
  426. package/lib/commands/teams.ts +0 -609
  427. package/lib/commands/tokens.ts +0 -232
  428. package/lib/commands/users.ts +0 -1804
  429. package/lib/commands/vcs.ts +0 -428
  430. package/lib/exception.ts +0 -20
@@ -0,0 +1,22 @@
1
+ // SDK
2
+ export const SDK_TITLE = 'Appwrite';
3
+ export const SDK_TITLE_LOWER = 'appwrite';
4
+ export const SDK_VERSION = '13.0.0-rc.3';
5
+ export const SDK_NAME = 'Command Line';
6
+ export const SDK_PLATFORM = 'console';
7
+ export const SDK_LANGUAGE = 'cli';
8
+ export const SDK_LOGO = "\n _ _ _ ___ __ _____\n \/_\\ _ __ _ ____ ___ __(_) |_ ___ \/ __\\ \/ \/ \\_ \\\n \/\/_\\\\| '_ \\| '_ \\ \\ \/\\ \/ \/ '__| | __\/ _ \\ \/ \/ \/ \/ \/ \/\\\/\n \/ _ \\ |_) | |_) \\ V V \/| | | | || __\/ \/ \/___\/ \/___\/\\\/ \/_\n \\_\/ \\_\/ .__\/| .__\/ \\_\/\\_\/ |_| |_|\\__\\___| \\____\/\\____\/\\____\/\n |_| |_|\n\n";
9
+
10
+ // CLI
11
+ export const EXECUTABLE_NAME = 'appwrite';
12
+
13
+ // NPM
14
+ export const NPM_PACKAGE_NAME = 'appwrite-cli';
15
+ export const NPM_REGISTRY_URL = `https://registry.npmjs.org/${NPM_PACKAGE_NAME}/latest`;
16
+
17
+ // GitHub
18
+ export const GITHUB_REPO = 'appwrite/appwrite-cli';
19
+ export const GITHUB_RELEASES_URL = `https://github.com/${GITHUB_REPO}/releases`;
20
+
21
+ // API
22
+ export const DEFAULT_ENDPOINT = 'https://cloud.appwrite.io/v1';
@@ -1,265 +1,326 @@
1
- import ignore = require('ignore');
2
- import net = require('net');
3
- import chalk from 'chalk';
4
- import childProcess = require('child_process');
5
- import { localConfig } from '../config';
6
- import path = require('path');
7
- import fs = require('fs');
8
- import { log, error, success } from '../parser';
9
- import { openRuntimesVersion, systemTools, Queue } from './utils';
10
- import { getAllFiles } from '../utils';
11
-
12
- interface FunctionConfig {
13
- $id: string;
14
- runtime: string;
15
- path: string;
16
- entrypoint: string;
17
- commands: string;
18
- ignore?: string;
19
- }
1
+ import ignoreModule from "ignore";
2
+ const ignore: typeof ignoreModule =
3
+ (ignoreModule as any).default ?? ignoreModule;
4
+ import net from "net";
5
+ import chalk from "chalk";
6
+ import childProcess from "child_process";
7
+ import { localConfig } from "../config.js";
8
+ import path from "path";
9
+ import fs from "fs";
10
+ import { log, error, success } from "../parser.js";
11
+ import { openRuntimesVersion, systemTools, Queue } from "./utils.js";
12
+ import { getAllFiles } from "../utils.js";
13
+ import type { FunctionType } from "../commands/config.js";
20
14
 
21
15
  export async function dockerStop(id: string): Promise<void> {
22
- const stopProcess = childProcess.spawn('docker', ['rm', '--force', id], {
23
- stdio: 'pipe',
24
- env: {
25
- ...process.env,
26
- DOCKER_CLI_HINTS: 'false'
27
- }
28
- });
29
-
30
- await new Promise<void>((res) => { stopProcess.on('close', res) });
16
+ const stopProcess = childProcess.spawn("docker", ["rm", "--force", id], {
17
+ stdio: "pipe",
18
+ env: {
19
+ ...process.env,
20
+ DOCKER_CLI_HINTS: "false",
21
+ },
22
+ });
23
+
24
+ await new Promise<void>((res) => {
25
+ stopProcess.on("close", res);
26
+ });
31
27
  }
32
28
 
33
- export async function dockerPull(func: FunctionConfig): Promise<void> {
34
- const runtimeChunks = func.runtime.split("-");
35
- const runtimeVersion = runtimeChunks.pop();
36
- const runtimeName = runtimeChunks.join("-");
37
- const imageName = `openruntimes/${runtimeName}:${openRuntimesVersion}-${runtimeVersion}`;
38
-
39
- log('Verifying Docker image ...');
40
-
41
- const pullProcess = childProcess.spawn('docker', ['pull', imageName], {
42
- stdio: 'pipe',
43
- env: {
44
- ...process.env,
45
- DOCKER_CLI_HINTS: 'false'
46
- }
47
- });
48
-
49
- await new Promise<void>((res) => { pullProcess.on('close', res) });
29
+ export async function dockerPull(func: FunctionType): Promise<void> {
30
+ const runtimeChunks = func.runtime.split("-");
31
+ const runtimeVersion = runtimeChunks.pop();
32
+ const runtimeName = runtimeChunks.join("-");
33
+ const imageName = `openruntimes/${runtimeName}:${openRuntimesVersion}-${runtimeVersion}`;
34
+
35
+ log("Verifying Docker image ...");
36
+
37
+ const pullProcess = childProcess.spawn("docker", ["pull", imageName], {
38
+ stdio: "pipe",
39
+ env: {
40
+ ...process.env,
41
+ DOCKER_CLI_HINTS: "false",
42
+ },
43
+ });
44
+
45
+ await new Promise<void>((res) => {
46
+ pullProcess.on("close", res);
47
+ });
50
48
  }
51
49
 
52
- export async function dockerBuild(func: FunctionConfig, variables: Record<string, string>): Promise<void> {
53
- const runtimeChunks = func.runtime.split("-");
54
- const runtimeVersion = runtimeChunks.pop();
55
- const runtimeName = runtimeChunks.join("-");
56
- const imageName = `openruntimes/${runtimeName}:${openRuntimesVersion}-${runtimeVersion}`;
57
-
58
- const functionDir = path.join(localConfig.getDirname(), func.path);
59
-
60
- const id = func.$id;
61
-
62
- const ignorer = ignore.default();
63
- ignorer.add('.appwrite');
64
- if (func.ignore) {
65
- ignorer.add(func.ignore);
66
- } else if (fs.existsSync(path.join(functionDir, '.gitignore'))) {
67
- ignorer.add(fs.readFileSync(path.join(functionDir, '.gitignore')).toString());
68
- }
69
-
70
- const files = getAllFiles(functionDir).map((file) => path.relative(functionDir, file)).filter((file) => !ignorer.ignores(file));
71
- const tmpBuildPath = path.join(functionDir, '.appwrite/tmp-build');
72
- if (!fs.existsSync(tmpBuildPath)) {
73
- fs.mkdirSync(tmpBuildPath, { recursive: true });
50
+ export async function dockerBuild(
51
+ func: FunctionType,
52
+ variables: Record<string, string>,
53
+ ): Promise<void> {
54
+ const runtimeChunks = func.runtime.split("-");
55
+ const runtimeVersion = runtimeChunks.pop();
56
+ const runtimeName = runtimeChunks.join("-");
57
+ const imageName = `openruntimes/${runtimeName}:${openRuntimesVersion}-${runtimeVersion}`;
58
+
59
+ const functionDir = path.join(localConfig.getDirname(), func.path);
60
+
61
+ const id = func.$id;
62
+
63
+ const ignorer = ignore();
64
+ ignorer.add(".appwrite");
65
+ if (func.ignore) {
66
+ ignorer.add(func.ignore);
67
+ } else if (fs.existsSync(path.join(functionDir, ".gitignore"))) {
68
+ ignorer.add(
69
+ fs.readFileSync(path.join(functionDir, ".gitignore")).toString(),
70
+ );
71
+ }
72
+
73
+ const files = getAllFiles(functionDir)
74
+ .map((file) => path.relative(functionDir, file))
75
+ .filter((file) => !ignorer.ignores(file));
76
+ const tmpBuildPath = path.join(functionDir, ".appwrite/tmp-build");
77
+ if (!fs.existsSync(tmpBuildPath)) {
78
+ fs.mkdirSync(tmpBuildPath, { recursive: true });
79
+ }
80
+
81
+ let killInterval: ReturnType<typeof setInterval> | undefined;
82
+
83
+ try {
84
+ for (const f of files) {
85
+ const filePath = path.join(tmpBuildPath, f);
86
+ const fileDir = path.dirname(filePath);
87
+ if (!fs.existsSync(fileDir)) {
88
+ fs.mkdirSync(fileDir, { recursive: true });
89
+ }
90
+
91
+ const sourcePath = path.join(functionDir, f);
92
+ fs.copyFileSync(sourcePath, filePath);
74
93
  }
75
94
 
76
- for(const f of files) {
77
- const filePath = path.join(tmpBuildPath, f);
78
- const fileDir = path.dirname(filePath);
79
- if (!fs.existsSync(fileDir)) {
80
- fs.mkdirSync(fileDir, { recursive: true });
81
- }
95
+ const params: string[] = ["run"];
96
+ params.push("--name", id);
97
+ params.push("-v", `${tmpBuildPath}/:/mnt/code:rw`);
98
+ params.push("-e", "OPEN_RUNTIMES_ENV=development");
99
+ params.push("-e", "OPEN_RUNTIMES_SECRET=");
100
+ params.push("-e", `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
82
101
 
83
- const sourcePath = path.join(functionDir, f);
84
- fs.copyFileSync(sourcePath, filePath);
102
+ for (const k of Object.keys(variables)) {
103
+ params.push("-e", `${k}=${variables[k]}`);
85
104
  }
86
105
 
87
- const params: string[] = [ 'run' ];
88
- params.push('--name', id);
89
- params.push('-v', `${tmpBuildPath}/:/mnt/code:rw`);
90
- params.push('-e', 'OPEN_RUNTIMES_ENV=development');
91
- params.push('-e', 'OPEN_RUNTIMES_SECRET=');
92
- params.push('-e', `OPEN_RUNTIMES_ENTRYPOINT=${func.entrypoint}`);
106
+ params.push(imageName, "sh", "-c", `helpers/build.sh "${func.commands}"`);
93
107
 
94
- for(const k of Object.keys(variables)) {
95
- params.push('-e', `${k}=${variables[k]}`);
96
- }
97
-
98
- params.push(imageName, 'sh', '-c', `helpers/build.sh "${func.commands}"`);
99
-
100
- const buildProcess = childProcess.spawn('docker', params, {
101
- stdio: 'pipe',
102
- cwd: functionDir,
103
- env: {
104
- ...process.env,
105
- DOCKER_CLI_HINTS: 'false'
106
- }
108
+ const buildProcess = childProcess.spawn("docker", params, {
109
+ stdio: "pipe",
110
+ cwd: functionDir,
111
+ env: {
112
+ ...process.env,
113
+ DOCKER_CLI_HINTS: "false",
114
+ },
107
115
  });
108
116
 
109
- buildProcess.stdout.on('data', (data) => {
110
- process.stdout.write(chalk.blackBright(`${data}\n`));
117
+ buildProcess.stdout.on("data", (data) => {
118
+ process.stdout.write(chalk.blackBright(`${data}\n`));
111
119
  });
112
120
 
113
- buildProcess.stderr.on('data', (data) => {
114
- process.stderr.write(chalk.blackBright(`${data}\n`));
121
+ buildProcess.stderr.on("data", (data) => {
122
+ process.stderr.write(chalk.blackBright(`${data}\n`));
115
123
  });
116
124
 
117
- const killInterval = setInterval(() => {
118
- if(!Queue.isEmpty()) {
119
- log('Cancelling build ...');
120
- buildProcess.stdout.destroy();
121
- buildProcess.stdin.destroy();
122
- buildProcess.stderr.destroy();
123
- buildProcess.kill("SIGKILL");
124
- clearInterval(killInterval);
125
- }
125
+ killInterval = setInterval(() => {
126
+ if (!Queue.isEmpty()) {
127
+ log("Cancelling build ...");
128
+ buildProcess.stdout.destroy();
129
+ buildProcess.stdin.destroy();
130
+ buildProcess.stderr.destroy();
131
+ buildProcess.kill("SIGKILL");
132
+ clearInterval(killInterval);
133
+ }
126
134
  }, 100);
127
135
 
128
- await new Promise<void>((res) => { buildProcess.on('close', res) });
136
+ await new Promise<void>((res) => {
137
+ buildProcess.on("close", res);
138
+ });
129
139
 
130
140
  clearInterval(killInterval);
131
- if(!Queue.isEmpty()) {
132
- return;
141
+ killInterval = undefined;
142
+
143
+ if (!Queue.isEmpty()) {
144
+ await dockerStop(id);
145
+ return;
133
146
  }
134
147
 
135
- const copyPath = path.join(localConfig.getDirname(), func.path, '.appwrite', 'build.tar.gz');
148
+ const copyPath = path.join(
149
+ localConfig.getDirname(),
150
+ func.path,
151
+ ".appwrite",
152
+ "build.tar.gz",
153
+ );
136
154
  const copyDir = path.dirname(copyPath);
137
155
  if (!fs.existsSync(copyDir)) {
138
- fs.mkdirSync(copyDir, { recursive: true });
156
+ fs.mkdirSync(copyDir, { recursive: true });
139
157
  }
140
158
 
141
- const copyProcess = childProcess.spawn('docker', ['cp', `${id}:/mnt/code/code.tar.gz`, copyPath], {
142
- stdio: 'pipe',
159
+ const copyProcess = childProcess.spawn(
160
+ "docker",
161
+ ["cp", `${id}:/mnt/code/code.tar.gz`, copyPath],
162
+ {
163
+ stdio: "pipe",
143
164
  cwd: functionDir,
144
165
  env: {
145
- ...process.env,
146
- DOCKER_CLI_HINTS: 'false'
147
- }
166
+ ...process.env,
167
+ DOCKER_CLI_HINTS: "false",
168
+ },
169
+ },
170
+ );
171
+
172
+ await new Promise<void>((res) => {
173
+ copyProcess.on("close", res);
148
174
  });
149
175
 
150
- await new Promise<void>((res) => { copyProcess.on('close', res) });
151
-
152
176
  await dockerStop(id);
177
+ } finally {
178
+ // Clean up interval if still running
179
+ if (killInterval !== undefined) {
180
+ clearInterval(killInterval);
181
+ }
153
182
 
154
- const tempPath = path.join(localConfig.getDirname(), func.path, 'code.tar.gz');
183
+ // Clean up temp files
184
+ const tempPath = path.join(
185
+ localConfig.getDirname(),
186
+ func.path,
187
+ "code.tar.gz",
188
+ );
155
189
  if (fs.existsSync(tempPath)) {
156
- fs.rmSync(tempPath, { force: true });
190
+ fs.rmSync(tempPath, { force: true });
157
191
  }
158
192
 
193
+ // Always clean up tmpBuildPath
159
194
  fs.rmSync(tmpBuildPath, { recursive: true, force: true });
195
+ }
160
196
  }
161
197
 
162
- export async function dockerStart(func: FunctionConfig, variables: Record<string, string>, port: number): Promise<void> {
163
- // Pack function files
164
- const functionDir = path.join(localConfig.getDirname(), func.path);
165
-
166
- const runtimeChunks = func.runtime.split("-");
167
- const runtimeVersion = runtimeChunks.pop();
168
- const runtimeName = runtimeChunks.join("-");
169
- const imageName = `openruntimes/${runtimeName}:${openRuntimesVersion}-${runtimeVersion}`;
170
-
171
- const tool = systemTools[runtimeName];
172
-
173
- const id = func.$id;
174
-
175
- const params: string[] = [ 'run' ];
176
- params.push('--rm');
177
- params.push('--name', id);
178
- params.push('-p', `${port}:3000`);
179
- params.push('-e', 'OPEN_RUNTIMES_ENV=development');
180
- params.push('-e', 'OPEN_RUNTIMES_SECRET=');
198
+ export async function dockerStart(
199
+ func: FunctionType,
200
+ variables: Record<string, string>,
201
+ port: number,
202
+ ): Promise<void> {
203
+ // Pack function files
204
+ const functionDir = path.join(localConfig.getDirname(), func.path);
205
+
206
+ const runtimeChunks = func.runtime.split("-");
207
+ const runtimeVersion = runtimeChunks.pop();
208
+ const runtimeName = runtimeChunks.join("-");
209
+ const imageName = `openruntimes/${runtimeName}:${openRuntimesVersion}-${runtimeVersion}`;
210
+
211
+ const tool = systemTools[runtimeName];
212
+
213
+ const id = func.$id;
214
+
215
+ const params: string[] = ["run"];
216
+ params.push("--rm");
217
+ params.push("--name", id);
218
+ params.push("-p", `${port}:3000`);
219
+ params.push("-e", "OPEN_RUNTIMES_ENV=development");
220
+ params.push("-e", "OPEN_RUNTIMES_SECRET=");
221
+
222
+ for (const k of Object.keys(variables)) {
223
+ params.push("-e", `${k}=${variables[k]}`);
224
+ }
225
+
226
+ params.push(
227
+ "-v",
228
+ `${functionDir}/.appwrite/logs.txt:/mnt/logs/dev_logs.log:rw`,
229
+ );
230
+ params.push(
231
+ "-v",
232
+ `${functionDir}/.appwrite/errors.txt:/mnt/logs/dev_errors.log:rw`,
233
+ );
234
+ params.push(
235
+ "-v",
236
+ `${functionDir}/.appwrite/build.tar.gz:/mnt/code/code.tar.gz:ro`,
237
+ );
238
+ params.push(imageName, "sh", "-c", `helpers/start.sh "${tool.startCommand}"`);
239
+
240
+ const startProcess = childProcess.spawn("docker", params, {
241
+ stdio: "pipe",
242
+ cwd: functionDir,
243
+ env: {
244
+ ...process.env,
245
+ DOCKER_CLI_HINTS: "false",
246
+ },
247
+ });
248
+
249
+ startProcess.stdout.on("data", (data) => {
250
+ process.stdout.write(chalk.blackBright(data));
251
+ });
252
+
253
+ startProcess.stderr.on("data", (data) => {
254
+ process.stdout.write(chalk.blackBright(data));
255
+ });
256
+
257
+ try {
258
+ await waitUntilPortOpen(port);
259
+ } catch (err: any) {
260
+ error(
261
+ "Failed to start function with error: " +
262
+ (err.message ? err.message : err.toString()),
263
+ );
264
+ return;
265
+ }
266
+
267
+ success(`Visit http://localhost:${port}/ to execute your function.`);
268
+ }
181
269
 
182
- for(const k of Object.keys(variables)) {
183
- params.push('-e', `${k}=${variables[k]}`);
184
- }
270
+ export async function dockerCleanup(functionId: string): Promise<void> {
271
+ await dockerStop(functionId);
272
+
273
+ const func = localConfig.getFunction(functionId);
274
+ const appwritePath = path.join(
275
+ localConfig.getDirname(),
276
+ func.path,
277
+ ".appwrite",
278
+ );
279
+ if (fs.existsSync(appwritePath)) {
280
+ fs.rmSync(appwritePath, { recursive: true, force: true });
281
+ }
282
+
283
+ const tempPath = path.join(
284
+ localConfig.getDirname(),
285
+ func.path,
286
+ "code.tar.gz",
287
+ );
288
+ if (fs.existsSync(tempPath)) {
289
+ fs.rmSync(tempPath, { force: true });
290
+ }
291
+ }
185
292
 
186
- params.push('-v', `${functionDir}/.appwrite/logs.txt:/mnt/logs/dev_logs.log:rw`);
187
- params.push('-v', `${functionDir}/.appwrite/errors.txt:/mnt/logs/dev_errors.log:rw`);
188
- params.push('-v', `${functionDir}/.appwrite/build.tar.gz:/mnt/code/code.tar.gz:ro`);
189
- params.push(imageName, 'sh', '-c', `helpers/start.sh "${tool.startCommand}"`);
293
+ function waitUntilPortOpen(port: number, iteration: number = 0): Promise<void> {
294
+ return new Promise((resolve, reject) => {
295
+ const client = new net.Socket();
190
296
 
191
- const startProcess = childProcess.spawn('docker', params, {
192
- stdio: 'pipe',
193
- cwd: functionDir,
194
- env: {
195
- ...process.env,
196
- DOCKER_CLI_HINTS: 'false'
197
- }
198
- });
297
+ client.once("connect", () => {
298
+ client.removeAllListeners("connect");
299
+ client.removeAllListeners("error");
300
+ client.end();
301
+ client.destroy();
302
+ client.unref();
199
303
 
200
- startProcess.stdout.on('data', (data) => {
201
- process.stdout.write(chalk.blackBright(data));
304
+ resolve();
202
305
  });
203
306
 
204
- startProcess.stderr.on('data', (data) => {
205
- process.stdout.write(chalk.blackBright(data));
307
+ client.once("error", async (err) => {
308
+ client.removeAllListeners("connect");
309
+ client.removeAllListeners("error");
310
+ client.end();
311
+ client.destroy();
312
+ client.unref();
313
+
314
+ if (iteration > 100) {
315
+ reject(err);
316
+ } else {
317
+ await new Promise<void>((res) => setTimeout(res, 100));
318
+ waitUntilPortOpen(port, iteration + 1)
319
+ .then(resolve)
320
+ .catch(reject);
321
+ }
206
322
  });
207
323
 
208
- try {
209
- await waitUntilPortOpen(port);
210
- } catch(err: any) {
211
- error("Failed to start function with error: " + (err.message ? err.message : err.toString()));
212
- return;
213
- }
214
-
215
- success(`Visit http://localhost:${port}/ to execute your function.`);
216
- }
217
-
218
- export async function dockerCleanup(functionId: string): Promise<void> {
219
- await dockerStop(functionId);
220
-
221
- const func = localConfig.getFunction(functionId);
222
- const appwritePath = path.join(localConfig.getDirname(), func.path, '.appwrite');
223
- if (fs.existsSync(appwritePath)) {
224
- fs.rmSync(appwritePath, { recursive: true, force: true });
225
- }
226
-
227
- const tempPath = path.join(localConfig.getDirname(), func.path, 'code.tar.gz');
228
- if (fs.existsSync(tempPath)) {
229
- fs.rmSync(tempPath, { force: true });
230
- }
231
- }
232
-
233
- function waitUntilPortOpen(port: number, iteration: number = 0): Promise<void> {
234
- return new Promise((resolve, reject) => {
235
- const client = new net.Socket();
236
-
237
- client.once('connect', () => {
238
- client.removeAllListeners('connect');
239
- client.removeAllListeners('error');
240
- client.end();
241
- client.destroy();
242
- client.unref();
243
-
244
- resolve();
245
- });
246
-
247
- client.once('error', async (err) => {
248
- client.removeAllListeners('connect');
249
- client.removeAllListeners('error');
250
- client.end();
251
- client.destroy();
252
- client.unref();
253
-
254
- if(iteration > 100) {
255
- reject(err);
256
- } else {
257
- await new Promise<void>((res) => setTimeout(res, 100));
258
- waitUntilPortOpen(port, iteration + 1).then(resolve).catch(reject);
259
- }
260
- });
261
-
262
- client.connect({port, host: '127.0.0.1'}, function() {});
263
- });
324
+ client.connect({ port, host: "127.0.0.1" }, function () {});
325
+ });
264
326
  }
265
-