@automattic/vip 4.1.6 → 4.1.8

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 (311) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +1 -1
  2. package/dist/bin/vip-app-deploy-token-generate.js +110 -78
  3. package/dist/bin/vip-app-deploy-token.js +24 -16
  4. package/dist/bin/vip-app-deploy-validate.js +45 -41
  5. package/dist/bin/vip-app-deploy.js +222 -215
  6. package/dist/bin/vip-app-list.js +59 -43
  7. package/dist/bin/vip-app.js +97 -66
  8. package/dist/bin/vip-backup-db.js +36 -29
  9. package/dist/bin/vip-backup.js +16 -9
  10. package/dist/bin/vip-cache-purge-url.js +93 -55
  11. package/dist/bin/vip-cache.js +23 -14
  12. package/dist/bin/vip-config-envvar-delete.js +74 -73
  13. package/dist/bin/vip-config-envvar-get-all.js +68 -68
  14. package/dist/bin/vip-config-envvar-get.js +46 -46
  15. package/dist/bin/vip-config-envvar-list.js +54 -57
  16. package/dist/bin/vip-config-envvar-set.js +102 -96
  17. package/dist/bin/vip-config-envvar.js +38 -24
  18. package/dist/bin/vip-config-software-get.js +88 -75
  19. package/dist/bin/vip-config-software-update.js +116 -120
  20. package/dist/bin/vip-config-software.js +31 -21
  21. package/dist/bin/vip-config.js +25 -17
  22. package/dist/bin/vip-db-phpmyadmin.js +40 -39
  23. package/dist/bin/vip-db.js +13 -12
  24. package/dist/bin/vip-defensive-mode-configure.js +197 -197
  25. package/dist/bin/vip-defensive-mode-disable.js +43 -35
  26. package/dist/bin/vip-defensive-mode-enable.js +47 -38
  27. package/dist/bin/vip-defensive-mode.js +28 -17
  28. package/dist/bin/vip-dev-env-create.js +147 -104
  29. package/dist/bin/vip-dev-env-destroy.js +48 -39
  30. package/dist/bin/vip-dev-env-envvar-delete.js +60 -49
  31. package/dist/bin/vip-dev-env-envvar-get-all.js +52 -45
  32. package/dist/bin/vip-dev-env-envvar-get.js +48 -37
  33. package/dist/bin/vip-dev-env-envvar-list.js +48 -41
  34. package/dist/bin/vip-dev-env-envvar-set.js +83 -70
  35. package/dist/bin/vip-dev-env-envvar.js +38 -23
  36. package/dist/bin/vip-dev-env-exec.js +81 -74
  37. package/dist/bin/vip-dev-env-import-media.js +34 -26
  38. package/dist/bin/vip-dev-env-import-sql.js +65 -51
  39. package/dist/bin/vip-dev-env-import.js +23 -14
  40. package/dist/bin/vip-dev-env-info.js +59 -50
  41. package/dist/bin/vip-dev-env-list.js +34 -31
  42. package/dist/bin/vip-dev-env-logs.js +59 -49
  43. package/dist/bin/vip-dev-env-purge.js +71 -63
  44. package/dist/bin/vip-dev-env-shell.js +82 -71
  45. package/dist/bin/vip-dev-env-start.js +77 -65
  46. package/dist/bin/vip-dev-env-stop.js +80 -74
  47. package/dist/bin/vip-dev-env-sync-sql.js +80 -72
  48. package/dist/bin/vip-dev-env-sync.js +18 -11
  49. package/dist/bin/vip-dev-env-update.js +93 -84
  50. package/dist/bin/vip-dev-env.js +25 -8
  51. package/dist/bin/vip-edge-workers-build.js +82 -54
  52. package/dist/bin/vip-edge-workers-delete.js +84 -52
  53. package/dist/bin/vip-edge-workers-deploy.js +186 -126
  54. package/dist/bin/vip-edge-workers-disable.js +75 -44
  55. package/dist/bin/vip-edge-workers-enable.js +86 -54
  56. package/dist/bin/vip-edge-workers-get.js +108 -88
  57. package/dist/bin/vip-edge-workers-init.js +83 -53
  58. package/dist/bin/vip-edge-workers-list.js +89 -54
  59. package/dist/bin/vip-edge-workers-new.js +98 -69
  60. package/dist/bin/vip-edge-workers-validate.js +123 -82
  61. package/dist/bin/vip-edge-workers.js +19 -6
  62. package/dist/bin/vip-export-sql.js +75 -69
  63. package/dist/bin/vip-export.js +12 -7
  64. package/dist/bin/vip-import-media-abort.js +99 -73
  65. package/dist/bin/vip-import-media-status.js +83 -51
  66. package/dist/bin/vip-import-media.js +165 -166
  67. package/dist/bin/vip-import-sql-status.js +75 -45
  68. package/dist/bin/vip-import-sql.js +536 -596
  69. package/dist/bin/vip-import-validate-files.js +122 -141
  70. package/dist/bin/vip-import-validate-sql.js +52 -16
  71. package/dist/bin/vip-import.js +16 -7
  72. package/dist/bin/vip-logout.js +17 -13
  73. package/dist/bin/vip-logs.js +209 -183
  74. package/dist/bin/vip-search-replace.js +85 -53
  75. package/dist/bin/vip-slowlogs.js +168 -147
  76. package/dist/bin/vip-sync.js +163 -133
  77. package/dist/bin/vip-whoami.js +71 -35
  78. package/dist/bin/vip-wp.js +506 -549
  79. package/dist/bin/vip.js +161 -116
  80. package/dist/commands/backup-db.js +183 -149
  81. package/dist/commands/dev-env-import-sql.js +162 -117
  82. package/dist/commands/dev-env-sync-sql.js +372 -330
  83. package/dist/commands/export-sql.js +441 -425
  84. package/dist/commands/phpmyadmin.js +232 -212
  85. package/dist/commands/wp-ssh.js +218 -187
  86. package/dist/lib/analytics/clients/tracks.js +84 -91
  87. package/dist/lib/analytics/index.js +27 -27
  88. package/dist/lib/api/app.js +37 -36
  89. package/dist/lib/api/cache-purge.js +17 -20
  90. package/dist/lib/api/constants.js +5 -6
  91. package/dist/lib/api/edge-workers.js +84 -135
  92. package/dist/lib/api/error-debug.js +10 -13
  93. package/dist/lib/api/feature-flags.js +16 -17
  94. package/dist/lib/api/http.js +47 -48
  95. package/dist/lib/api/user.js +17 -18
  96. package/dist/lib/api.js +107 -116
  97. package/dist/lib/app-logs/app-logs.js +24 -25
  98. package/dist/lib/app-slowlogs/app-slowlogs.js +23 -24
  99. package/dist/lib/app-slowlogs/types.js +2 -1
  100. package/dist/lib/app.js +6 -8
  101. package/dist/lib/backup-storage-availability/backup-storage-availability.js +119 -119
  102. package/dist/lib/backup-storage-availability/docker-machine-not-found-error.js +5 -6
  103. package/dist/lib/cli/apiConfig.js +71 -41
  104. package/dist/lib/cli/command.js +1120 -873
  105. package/dist/lib/cli/config.js +29 -29
  106. package/dist/lib/cli/envAlias.js +35 -50
  107. package/dist/lib/cli/exit.js +19 -19
  108. package/dist/lib/cli/format.js +172 -172
  109. package/dist/lib/cli/progress.js +193 -236
  110. package/dist/lib/cli/prompt.js +14 -15
  111. package/dist/lib/cli/runtime-mode.js +5 -6
  112. package/dist/lib/client-file-uploader.js +489 -641
  113. package/dist/lib/config/software.js +206 -212
  114. package/dist/lib/constants/dev-environment.js +40 -37
  115. package/dist/lib/constants/file-size.js +6 -7
  116. package/dist/lib/constants/vipgo.js +24 -12
  117. package/dist/lib/custom-deploy/custom-deploy.js +138 -120
  118. package/dist/lib/database.js +88 -85
  119. package/dist/lib/defensive-mode/api.js +41 -46
  120. package/dist/lib/defensive-mode/cli-helpers.js +40 -40
  121. package/dist/lib/dev-environment/dev-environment-cli.js +776 -735
  122. package/dist/lib/dev-environment/dev-environment-configuration-file.js +224 -191
  123. package/dist/lib/dev-environment/dev-environment-core.js +697 -732
  124. package/dist/lib/dev-environment/dev-environment-database.js +57 -41
  125. package/dist/lib/dev-environment/dev-environment-lando.js +734 -666
  126. package/dist/lib/dev-environment/docker-utils.js +96 -90
  127. package/dist/lib/dev-environment/env-vars.js +61 -59
  128. package/dist/lib/dev-environment/lando-loader.js +6 -7
  129. package/dist/lib/dev-environment/types.js +2 -1
  130. package/dist/lib/edge-workers/confirmation.js +42 -36
  131. package/dist/lib/edge-workers/deployment.js +150 -159
  132. package/dist/lib/edge-workers/index.js +68 -85
  133. package/dist/lib/edge-workers/location.js +26 -26
  134. package/dist/lib/edge-workers/output.js +14 -15
  135. package/dist/lib/edge-workers/project.js +123 -132
  136. package/dist/lib/edge-workers/toolchains/assemblyscript/constants.js +6 -8
  137. package/dist/lib/edge-workers/toolchains/assemblyscript/index.js +100 -101
  138. package/dist/lib/edge-workers/toolchains/assemblyscript/templates.js +31 -33
  139. package/dist/lib/edge-workers/toolchains/index.js +15 -15
  140. package/dist/lib/edge-workers/types.js +10 -38
  141. package/dist/lib/edge-workers/validation.js +161 -150
  142. package/dist/lib/env.js +16 -17
  143. package/dist/lib/envvar/api-delete.js +16 -18
  144. package/dist/lib/envvar/api-get-all.js +15 -19
  145. package/dist/lib/envvar/api-get.js +8 -9
  146. package/dist/lib/envvar/api-list.js +16 -21
  147. package/dist/lib/envvar/api-set.js +20 -19
  148. package/dist/lib/envvar/api.js +34 -29
  149. package/dist/lib/envvar/input.js +29 -34
  150. package/dist/lib/envvar/logging.js +9 -11
  151. package/dist/lib/envvar/read-file.js +6 -7
  152. package/dist/lib/http/download-file.js +76 -44
  153. package/dist/lib/http/proxy-agent.js +37 -40
  154. package/dist/lib/http/proxy-dispatcher.js +69 -71
  155. package/dist/lib/keychain/insecure.js +40 -36
  156. package/dist/lib/keychain/keychain.js +2 -1
  157. package/dist/lib/keychain/secure.js +16 -15
  158. package/dist/lib/keychain.js +22 -22
  159. package/dist/lib/live-backup-copy.js +117 -115
  160. package/dist/lib/logout.js +17 -19
  161. package/dist/lib/media-import/config.js +15 -14
  162. package/dist/lib/media-import/media-file-import.js +9 -13
  163. package/dist/lib/media-import/progress.js +53 -65
  164. package/dist/lib/media-import/status.js +241 -256
  165. package/dist/lib/media-import/utils.js +15 -15
  166. package/dist/lib/node-version-check.js +16 -16
  167. package/dist/lib/promise.js +16 -17
  168. package/dist/lib/read-file.js +48 -16
  169. package/dist/lib/rechallenge/client.js +37 -43
  170. package/dist/lib/rechallenge/errors.js +38 -37
  171. package/dist/lib/rechallenge/flow.js +148 -123
  172. package/dist/lib/rechallenge/index.js +23 -24
  173. package/dist/lib/rechallenge/link.js +153 -151
  174. package/dist/lib/rechallenge/open-browser.js +14 -17
  175. package/dist/lib/rechallenge/token-cache.js +83 -86
  176. package/dist/lib/rechallenge/types.js +5 -14
  177. package/dist/lib/retry.js +93 -129
  178. package/dist/lib/search-and-replace.js +164 -148
  179. package/dist/lib/site-import/db-file-import.js +12 -16
  180. package/dist/lib/site-import/status.js +291 -291
  181. package/dist/lib/token.js +86 -87
  182. package/dist/lib/tracker.js +51 -62
  183. package/dist/lib/types/graphql/rate-limit-exceeded-error.js +2 -1
  184. package/dist/lib/types.js +2 -1
  185. package/dist/lib/user-error.js +6 -8
  186. package/dist/lib/utils.js +81 -87
  187. package/dist/lib/validations/custom-deploy.js +218 -186
  188. package/dist/lib/validations/is-multi-site-sql-dump.js +6 -6
  189. package/dist/lib/validations/is-multi-site.js +83 -50
  190. package/dist/lib/validations/is-multisite-domain-mapped.js +92 -62
  191. package/dist/lib/validations/line-by-line.js +78 -46
  192. package/dist/lib/validations/site-type.js +59 -63
  193. package/dist/lib/validations/sql-insert-parser.js +415 -0
  194. package/dist/lib/validations/sql.js +551 -431
  195. package/dist/lib/validations/utils.js +27 -29
  196. package/dist/lib/vip-import-validate-files.js +481 -490
  197. package/dist/lib/wp/helpers.js +41 -45
  198. package/dist/lib/wp/readline.js +21 -57
  199. package/dist/lib/xdg-data.js +11 -12
  200. package/helpers/mark-cli-executable.js +9 -0
  201. package/node_modules/@apollo/client/CHANGELOG.md +10 -0
  202. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +5 -0
  203. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  204. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +2 -1
  205. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  206. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +14 -2
  207. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  208. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +16 -0
  209. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
  210. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +2 -0
  211. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +3 -2
  212. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  213. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +9 -1
  214. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  215. package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +1 -1
  216. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +10 -3
  217. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
  218. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
  219. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +42 -43
  220. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  221. package/node_modules/@apollo/client/cache/inmemory/helpers.js +5 -0
  222. package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
  223. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +2 -1
  224. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  225. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +14 -2
  226. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js.map +1 -1
  227. package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +2 -0
  228. package/node_modules/@apollo/client/cache/inmemory/policies.js +17 -1
  229. package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
  230. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +3 -2
  231. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  232. package/node_modules/@apollo/client/core/QueryInfo.d.ts +1 -1
  233. package/node_modules/@apollo/client/core/QueryInfo.js +10 -2
  234. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  235. package/node_modules/@apollo/client/core/QueryManager.js +10 -3
  236. package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
  237. package/node_modules/@apollo/client/package.json +1 -1
  238. package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +42 -43
  239. package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
  240. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +42 -43
  241. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
  242. package/node_modules/@apollo/client/version.js +1 -1
  243. package/node_modules/@automattic/vip-search-replace/README.md +6 -1
  244. package/node_modules/@automattic/vip-search-replace/lib/index.js +46 -14
  245. package/node_modules/@automattic/vip-search-replace/package.json +1 -1
  246. package/node_modules/@types/node/README.md +1 -1
  247. package/node_modules/@types/node/package.json +2 -2
  248. package/node_modules/@types/node/zlib.d.ts +752 -0
  249. package/node_modules/check-disk-space/README.md +92 -32
  250. package/node_modules/check-disk-space/dist/check-disk-space.d.mts +58 -0
  251. package/node_modules/check-disk-space/dist/check-disk-space.mjs +170 -190
  252. package/node_modules/check-disk-space/package.json +43 -71
  253. package/node_modules/cpu-features/build/Makefile +2 -2
  254. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
  255. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o.d +1 -1
  256. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o.d +1 -1
  257. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
  258. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o.d +1 -1
  259. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o.d +1 -1
  260. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
  261. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
  262. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o.d +1 -1
  263. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
  264. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
  265. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
  266. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
  267. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +157 -145
  268. package/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
  269. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures/src/binding.o +0 -0
  270. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures.node +0 -0
  271. package/node_modules/cpu-features/build/config.gypi +100 -31
  272. package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
  273. package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
  274. package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
  275. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d.raw +136 -0
  276. package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
  277. package/node_modules/undici/docs/docs/api/Interceptors.md +15 -2
  278. package/node_modules/undici/lib/dispatcher/client-h2.js +78 -3
  279. package/node_modules/undici/lib/dispatcher/pool-base.js +20 -3
  280. package/node_modules/undici/package.json +3 -3
  281. package/node_modules/undici/types/api.d.ts +1 -1
  282. package/node_modules/undici/types/utility.d.ts +4 -4
  283. package/package.json +44 -13
  284. package/dist/lib/analytics/clients/client.js +0 -1
  285. package/dist/lib/analytics/clients/pendo.js +0 -78
  286. package/helpers/check-version.js +0 -16
  287. package/node_modules/check-disk-space/dist/check-disk-space.cjs +0 -210
  288. package/node_modules/check-disk-space/dist/check-disk-space.d.ts +0 -53
  289. package/node_modules/fetch-retry/.eslintignore +0 -1
  290. package/node_modules/fetch-retry/.eslintrc.yml +0 -20
  291. package/node_modules/fetch-retry/.github/workflows/node.js.yml +0 -32
  292. package/node_modules/fetch-retry/.husky/pre-commit +0 -6
  293. package/node_modules/fetch-retry/.nycrc.json +0 -24
  294. package/node_modules/fetch-retry/.travis.yml +0 -3
  295. package/node_modules/fetch-retry/LICENSE +0 -21
  296. package/node_modules/fetch-retry/README.md +0 -128
  297. package/node_modules/fetch-retry/dist/fetch-retry.umd.js +0 -151
  298. package/node_modules/fetch-retry/index.d.ts +0 -29
  299. package/node_modules/fetch-retry/index.js +0 -143
  300. package/node_modules/fetch-retry/package.json +0 -41
  301. package/node_modules/fetch-retry/rollup.config.js +0 -12
  302. package/node_modules/fetch-retry/test/.eslintrc.yml +0 -7
  303. package/node_modules/fetch-retry/test/integration/index.js +0 -212
  304. package/node_modules/fetch-retry/test/integration/mock-api/index.js +0 -42
  305. package/node_modules/fetch-retry/test/unit/index.js +0 -1169
  306. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +0 -265
  307. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto.node.d +0 -1
  308. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/sshcrypto.node.d +0 -1
  309. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
  310. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
  311. package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
@@ -1,25 +1,50 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.PhpMyAdminCommand = exports.GET_PHP_MY_ADMIN_STATUS_QUERY = exports.GENERATE_PHP_MY_ADMIN_URL_MUTATION = exports.ENABLE_PHP_MY_ADMIN_MUTATION = void 0;
5
- var _chalk = _interopRequireDefault(require("chalk"));
6
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
7
- var _promises = require("node:timers/promises");
8
- var _api = _interopRequireWildcard(require("../lib/api"));
9
- var exit = _interopRequireWildcard(require("../lib/cli/exit"));
10
- var _progress = require("../lib/cli/progress");
11
- var _utils = require("../lib/utils");
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- /**
15
- * External dependencies
16
- */
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
- const GENERATE_PHP_MY_ADMIN_URL_MUTATION = exports.GENERATE_PHP_MY_ADMIN_URL_MUTATION = (0, _graphqlTag.default)`
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
+ exports.PhpMyAdminCommand = exports.ENABLE_PHP_MY_ADMIN_MUTATION = exports.GET_PHP_MY_ADMIN_STATUS_QUERY = exports.GENERATE_PHP_MY_ADMIN_URL_MUTATION = void 0;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
42
+ const promises_1 = require("node:timers/promises");
43
+ const api_1 = __importStar(require("../lib/api"));
44
+ const exit = __importStar(require("../lib/cli/exit"));
45
+ const progress_1 = require("../lib/cli/progress");
46
+ const utils_1 = require("../lib/utils");
47
+ exports.GENERATE_PHP_MY_ADMIN_URL_MUTATION = (0, graphql_tag_1.default) `
23
48
  mutation GeneratePhpMyAdminAccess($input: GeneratePhpMyAdminAccessInput) {
24
49
  generatePHPMyAdminAccess(input: $input) {
25
50
  expiresAt
@@ -27,7 +52,7 @@ const GENERATE_PHP_MY_ADMIN_URL_MUTATION = exports.GENERATE_PHP_MY_ADMIN_URL_MUT
27
52
  }
28
53
  }
29
54
  `;
30
- const GET_PHP_MY_ADMIN_STATUS_QUERY = exports.GET_PHP_MY_ADMIN_STATUS_QUERY = (0, _graphqlTag.default)`
55
+ exports.GET_PHP_MY_ADMIN_STATUS_QUERY = (0, graphql_tag_1.default) `
31
56
  query PhpMyAdminStatus($appId: Int!, $envId: Int!) {
32
57
  app(id: $appId) {
33
58
  environments(id: $envId) {
@@ -38,7 +63,7 @@ const GET_PHP_MY_ADMIN_STATUS_QUERY = exports.GET_PHP_MY_ADMIN_STATUS_QUERY = (0
38
63
  }
39
64
  }
40
65
  `;
41
- const ENABLE_PHP_MY_ADMIN_MUTATION = exports.ENABLE_PHP_MY_ADMIN_MUTATION = (0, _graphqlTag.default)`
66
+ exports.ENABLE_PHP_MY_ADMIN_MUTATION = (0, graphql_tag_1.default) `
42
67
  mutation EnablePhpMyAdmin($input: EnablePhpMyAdminInput) {
43
68
  enablePHPMyAdmin(input: $input) {
44
69
  success
@@ -46,200 +71,195 @@ const ENABLE_PHP_MY_ADMIN_MUTATION = exports.ENABLE_PHP_MY_ADMIN_MUTATION = (0,
46
71
  }
47
72
  `;
48
73
  async function generatePhpMyAdminAccess(envId) {
49
- // Disable global error handling so that we can handle errors ourselves
50
- (0, _api.disableGlobalGraphQLErrorHandling)();
51
- const api = (0, _api.default)();
52
- const resp = await api.mutate({
53
- mutation: GENERATE_PHP_MY_ADMIN_URL_MUTATION,
54
- variables: {
55
- input: {
56
- environmentId: envId
57
- }
58
- }
59
- });
60
-
61
- // Re-enable global error handling
62
- (0, _api.enableGlobalGraphQLErrorHandling)();
63
- return resp.data?.generatePHPMyAdminAccess?.url ?? '';
74
+ // Disable global error handling so that we can handle errors ourselves
75
+ (0, api_1.disableGlobalGraphQLErrorHandling)();
76
+ const api = (0, api_1.default)();
77
+ const resp = await api.mutate({
78
+ mutation: exports.GENERATE_PHP_MY_ADMIN_URL_MUTATION,
79
+ variables: {
80
+ input: {
81
+ environmentId: envId,
82
+ },
83
+ },
84
+ });
85
+ // Re-enable global error handling
86
+ (0, api_1.enableGlobalGraphQLErrorHandling)();
87
+ return resp.data?.generatePHPMyAdminAccess?.url ?? '';
64
88
  }
65
89
  async function enablePhpMyAdmin(envId) {
66
- // Disable global error handling so that we can handle errors ourselves
67
- (0, _api.disableGlobalGraphQLErrorHandling)();
68
- const api = (0, _api.default)();
69
- await api.mutate({
70
- mutation: ENABLE_PHP_MY_ADMIN_MUTATION,
71
- variables: {
72
- input: {
73
- environmentId: envId
74
- }
75
- }
76
- });
77
-
78
- // Re-enable global error handling
79
- (0, _api.enableGlobalGraphQLErrorHandling)();
90
+ // Disable global error handling so that we can handle errors ourselves
91
+ (0, api_1.disableGlobalGraphQLErrorHandling)();
92
+ const api = (0, api_1.default)();
93
+ await api.mutate({
94
+ mutation: exports.ENABLE_PHP_MY_ADMIN_MUTATION,
95
+ variables: {
96
+ input: {
97
+ environmentId: envId,
98
+ },
99
+ },
100
+ });
101
+ // Re-enable global error handling
102
+ (0, api_1.enableGlobalGraphQLErrorHandling)();
80
103
  }
81
104
  async function getPhpMyAdminStatus(appId, envId) {
82
- // Disable global error handling so that we can handle errors ourselves
83
- (0, _api.disableGlobalGraphQLErrorHandling)();
84
- const api = (0, _api.default)();
85
- const resp = await api.query({
86
- query: GET_PHP_MY_ADMIN_STATUS_QUERY,
87
- variables: {
88
- appId,
89
- envId
90
- },
91
- fetchPolicy: 'network-only'
92
- });
93
-
94
- // Re-enable global error handling
95
- (0, _api.enableGlobalGraphQLErrorHandling)();
96
- return resp.data?.app?.environments?.[0]?.phpMyAdminStatus?.status ?? '';
105
+ // Disable global error handling so that we can handle errors ourselves
106
+ (0, api_1.disableGlobalGraphQLErrorHandling)();
107
+ const api = (0, api_1.default)();
108
+ const resp = await api.query({
109
+ query: exports.GET_PHP_MY_ADMIN_STATUS_QUERY,
110
+ variables: { appId, envId },
111
+ fetchPolicy: 'network-only',
112
+ });
113
+ // Re-enable global error handling
114
+ (0, api_1.enableGlobalGraphQLErrorHandling)();
115
+ return resp.data?.app?.environments?.[0]?.phpMyAdminStatus?.status ?? '';
97
116
  }
98
- class MyProgressTracker extends _progress.ProgressTracker {
99
- constructor(steps, silent) {
100
- super(steps);
101
- this.silent = silent;
102
- }
103
- setSilent(silent) {
104
- this.silent = silent;
105
- }
106
- print() {
107
- if (!this.silent) {
108
- super.print();
109
- }
110
- }
111
- startPrinting(prePrintCallback) {
112
- if (!this.silent) {
113
- super.startPrinting(prePrintCallback);
114
- }
115
- }
116
- stopPrinting() {
117
- if (!this.silent) {
118
- super.stopPrinting();
119
- }
120
- }
121
- stepRunning(stepId, additionalInfo) {
122
- if (!this.silent) {
123
- super.stepRunning(stepId, additionalInfo);
124
- }
125
- }
126
- stepSuccess(stepId, additionalInfo) {
127
- if (!this.silent) {
128
- super.stepSuccess(stepId, additionalInfo);
129
- }
130
- }
131
- stepFailed(stepId, additionalInfo) {
132
- if (!this.silent) {
133
- super.stepFailed(stepId, additionalInfo);
134
- }
135
- }
117
+ class MyProgressTracker extends progress_1.ProgressTracker {
118
+ silent;
119
+ constructor(steps, silent) {
120
+ super(steps);
121
+ this.silent = silent;
122
+ }
123
+ setSilent(silent) {
124
+ this.silent = silent;
125
+ }
126
+ print() {
127
+ if (!this.silent) {
128
+ super.print();
129
+ }
130
+ }
131
+ startPrinting(prePrintCallback) {
132
+ if (!this.silent) {
133
+ super.startPrinting(prePrintCallback);
134
+ }
135
+ }
136
+ stopPrinting() {
137
+ if (!this.silent) {
138
+ super.stopPrinting();
139
+ }
140
+ }
141
+ stepRunning(stepId, additionalInfo) {
142
+ if (!this.silent) {
143
+ super.stepRunning(stepId, additionalInfo);
144
+ }
145
+ }
146
+ stepSuccess(stepId, additionalInfo) {
147
+ if (!this.silent) {
148
+ super.stepSuccess(stepId, additionalInfo);
149
+ }
150
+ }
151
+ stepFailed(stepId, additionalInfo) {
152
+ if (!this.silent) {
153
+ super.stepFailed(stepId, additionalInfo);
154
+ }
155
+ }
136
156
  }
137
157
  class PhpMyAdminCommand {
138
- silent;
139
- steps = {
140
- ENABLE: 'enable',
141
- GENERATE: 'generate'
142
- };
143
- progressTracker;
144
- constructor(app, env, track = async () => {}, silent = false) {
145
- this.app = app;
146
- this.env = env;
147
- this.track = track;
148
- this.silent = silent;
149
- this.progressTracker = new MyProgressTracker([{
150
- id: this.steps.ENABLE,
151
- name: 'Enabling phpMyAdmin for this environment'
152
- }, {
153
- id: this.steps.GENERATE,
154
- name: 'Generating access link'
155
- }], silent);
156
- }
157
- log(msg) {
158
- if (!this.silent) {
159
- console.log(msg);
160
- }
161
- }
162
- stopProgressTracker() {
163
- this.progressTracker.print();
164
- this.progressTracker.stopPrinting();
165
- }
166
- async openUrl(url) {
167
- const {
168
- default: open
169
- } = await import('open');
170
- return open(url, {
171
- wait: false
172
- });
173
- }
174
- async getStatus() {
175
- return getPhpMyAdminStatus(this.app.id, this.env.id);
176
- }
177
- async maybeEnablePhpMyAdmin() {
178
- const status = await this.getStatus();
179
- if (!['running', 'enabled'].includes(status)) {
180
- await enablePhpMyAdmin(this.env.id);
181
- await (0, _utils.pollUntil)(this.getStatus.bind(this), 1000, sts => sts === 'running');
182
-
183
- // Additional 30s for LB routing to be updated
184
- await (0, _promises.setTimeout)(30_000);
185
- }
186
- }
187
- async run({
188
- print = false
189
- } = {}) {
190
- if (!this.app.id) {
191
- exit.withError('No app was specified');
192
- }
193
- if (!this.env.id) {
194
- exit.withError('No environment was specified');
195
- }
196
- if (!this.silent) {
197
- const message = 'Note: PHPMyAdmin sessions are read-only. If you run a query that writes to DB, it will fail.';
198
- console.log(_chalk.default.yellow(message));
199
- }
200
- this.progressTracker.startPrinting();
201
- try {
202
- this.progressTracker.stepRunning(this.steps.ENABLE);
203
- await this.maybeEnablePhpMyAdmin();
204
- this.progressTracker.stepSuccess(this.steps.ENABLE);
205
- } catch (err) {
206
- this.progressTracker.stepFailed(this.steps.ENABLE);
207
- const error = err;
208
- void this.track('error', {
209
- error_type: 'enable_pma',
210
- error_message: error.message,
211
- stack: error.stack
212
- });
213
- this.stopProgressTracker();
214
- if (error.graphQLErrors?.find(gqlError => gqlError.message === 'Unauthorized')) {
215
- exit.withError('You do not have sufficient permission to access phpMyAdmin for this environment.');
216
- }
217
- exit.withError('Failed to enable phpMyAdmin. Please try again. If the problem persists, please contact support.');
218
- }
219
- let url;
220
- try {
221
- this.progressTracker.stepRunning(this.steps.GENERATE);
222
- url = await generatePhpMyAdminAccess(this.env.id);
223
- this.progressTracker.stepSuccess(this.steps.GENERATE);
224
- } catch (err) {
225
- this.progressTracker.stepFailed(this.steps.GENERATE);
226
- const error = err;
227
- void this.track('error', {
228
- error_type: 'generate_pma_url',
229
- error_message: error.message,
230
- stack: error.stack
231
- });
232
- this.stopProgressTracker();
233
- exit.withError(`Failed to generate phpMyAdmin URL: ${error.message}`);
234
- }
235
- this.stopProgressTracker();
236
- if (print) {
237
- // Output only the URL to stdout for scripting/automation use
238
- console.log(url);
239
- } else {
240
- void this.openUrl(url);
241
- this.log('phpMyAdmin is opened in your default browser.');
242
- }
243
- }
158
+ app;
159
+ env;
160
+ track;
161
+ silent;
162
+ steps = {
163
+ ENABLE: 'enable',
164
+ GENERATE: 'generate',
165
+ };
166
+ progressTracker;
167
+ constructor(app, env, track = async () => { }, silent = false) {
168
+ this.app = app;
169
+ this.env = env;
170
+ this.track = track;
171
+ this.silent = silent;
172
+ this.progressTracker = new MyProgressTracker([
173
+ { id: this.steps.ENABLE, name: 'Enabling phpMyAdmin for this environment' },
174
+ { id: this.steps.GENERATE, name: 'Generating access link' },
175
+ ], silent);
176
+ }
177
+ log(msg) {
178
+ if (!this.silent) {
179
+ console.log(msg);
180
+ }
181
+ }
182
+ stopProgressTracker() {
183
+ this.progressTracker.print();
184
+ this.progressTracker.stopPrinting();
185
+ }
186
+ async openUrl(url) {
187
+ const { default: open } = await import('open');
188
+ return open(url, { wait: false });
189
+ }
190
+ async getStatus() {
191
+ return getPhpMyAdminStatus(this.app.id, this.env.id);
192
+ }
193
+ async maybeEnablePhpMyAdmin() {
194
+ const status = await this.getStatus();
195
+ if (!['running', 'enabled'].includes(status)) {
196
+ await enablePhpMyAdmin(this.env.id);
197
+ await (0, utils_1.pollUntil)(this.getStatus.bind(this), 1000, (sts) => sts === 'running');
198
+ // Additional 30s for LB routing to be updated
199
+ await (0, promises_1.setTimeout)(30_000);
200
+ }
201
+ }
202
+ async run({ print = false } = {}) {
203
+ if (!this.app.id) {
204
+ exit.withError('No app was specified');
205
+ }
206
+ if (!this.env.id) {
207
+ exit.withError('No environment was specified');
208
+ }
209
+ if (!this.silent && this.env.isK8sResident !== false) {
210
+ let message = 'Note: phpMyAdmin sessions may be read-only. Queries that write to the database may fail.';
211
+ if (this.env.isK8sResident === true) {
212
+ message =
213
+ 'Note: phpMyAdmin sessions are read-only. If you run a query that writes to DB, it will fail.';
214
+ }
215
+ console.log(chalk_1.default.yellow(message));
216
+ }
217
+ this.progressTracker.startPrinting();
218
+ try {
219
+ this.progressTracker.stepRunning(this.steps.ENABLE);
220
+ await this.maybeEnablePhpMyAdmin();
221
+ this.progressTracker.stepSuccess(this.steps.ENABLE);
222
+ }
223
+ catch (err) {
224
+ this.progressTracker.stepFailed(this.steps.ENABLE);
225
+ const error = err;
226
+ void this.track('error', {
227
+ error_type: 'enable_pma',
228
+ error_message: error.message,
229
+ stack: error.stack,
230
+ });
231
+ this.stopProgressTracker();
232
+ if (error.graphQLErrors?.find(gqlError => gqlError.message === 'Unauthorized')) {
233
+ exit.withError('You do not have sufficient permission to access phpMyAdmin for this environment.');
234
+ }
235
+ exit.withError('Failed to enable phpMyAdmin. Please try again. If the problem persists, please contact support.');
236
+ }
237
+ let url;
238
+ try {
239
+ this.progressTracker.stepRunning(this.steps.GENERATE);
240
+ url = await generatePhpMyAdminAccess(this.env.id);
241
+ this.progressTracker.stepSuccess(this.steps.GENERATE);
242
+ }
243
+ catch (err) {
244
+ this.progressTracker.stepFailed(this.steps.GENERATE);
245
+ const error = err;
246
+ void this.track('error', {
247
+ error_type: 'generate_pma_url',
248
+ error_message: error.message,
249
+ stack: error.stack,
250
+ });
251
+ this.stopProgressTracker();
252
+ exit.withError(`Failed to generate phpMyAdmin URL: ${error.message}`);
253
+ }
254
+ this.stopProgressTracker();
255
+ if (print) {
256
+ // Output only the URL to stdout for scripting/automation use
257
+ console.log(url);
258
+ }
259
+ else {
260
+ void this.openUrl(url);
261
+ this.log('phpMyAdmin is opened in your default browser.');
262
+ }
263
+ }
244
264
  }
245
- exports.PhpMyAdminCommand = PhpMyAdminCommand;
265
+ exports.PhpMyAdminCommand = PhpMyAdminCommand;