@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,20 +1,53 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- exports.__esModule = true;
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
5
40
  exports.appQuery = void 0;
6
- exports.followLogs = followLogs;
7
41
  exports.getSlowlogs = getSlowlogs;
42
+ exports.followLogs = followLogs;
8
43
  exports.validateInputs = validateInputs;
9
- var _chalk = _interopRequireDefault(require("chalk"));
10
- var _promises = require("timers/promises");
11
- var slowlogsLib = _interopRequireWildcard(require("../lib/app-slowlogs/app-slowlogs"));
12
- var _command = _interopRequireDefault(require("../lib/cli/command"));
13
- var exit = _interopRequireWildcard(require("../lib/cli/exit"));
14
- var _format = require("../lib/cli/format");
15
- var _tracker = require("../lib/tracker");
16
- 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); }
17
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
44
+ const chalk_1 = __importDefault(require("chalk"));
45
+ const promises_1 = require("timers/promises");
46
+ const slowlogsLib = __importStar(require("../lib/app-slowlogs/app-slowlogs"));
47
+ const command_1 = __importDefault(require("../lib/cli/command"));
48
+ const exit = __importStar(require("../lib/cli/exit"));
49
+ const format_1 = require("../lib/cli/format");
50
+ const tracker_1 = require("../lib/tracker");
18
51
  const LIMIT_MIN = 1;
19
52
  const LIMIT_MAX = 500;
20
53
  const ALLOWED_FORMATS = ['csv', 'json', 'table'];
@@ -24,132 +57,112 @@ const MAX_POLLING_DELAY_IN_SECONDS = 300;
24
57
  const exampleUsage = 'vip @example-app.develop slowlogs';
25
58
  const baseUsage = 'vip slowlogs';
26
59
  async function getSlowlogs(arg, opt) {
27
- opt.format ??= 'table';
28
- validateInputs(opt.limit, opt.format);
29
- const trackingParams = getBaseTrackingParams(opt);
30
- await (0, _tracker.trackEvent)('slowlogs_command_execute', trackingParams);
31
- let slowlogs;
32
- try {
33
- slowlogs = await slowlogsLib.getRecentSlowlogs(opt.app.id, opt.env.id, opt.limit);
34
- } catch (error) {
35
- const err = error;
36
- await (0, _tracker.trackEvent)('slowlogs_command_error', {
37
- ...trackingParams,
38
- error: err.message
39
- });
40
- return exit.withError(err.message);
41
- }
42
- await (0, _tracker.trackEvent)('slowlogs_command_success', {
43
- ...trackingParams,
44
- total: slowlogs.nodes.length
45
- });
46
- if (!slowlogs.nodes.length) {
47
- console.error('No logs found');
48
- return;
49
- }
50
- printSlowlogs(slowlogs.nodes, opt.format);
51
- }
52
- async function followLogs(opt) {
53
- let after = null;
54
- let isFirstRequest = true;
55
- // How many times have we polled?
56
- let requestNumber = 0;
57
- const trackingParams = getBaseTrackingParams(opt);
58
-
59
- // Set an initial default delay
60
- let delay = DEFAULT_POLLING_DELAY_IN_SECONDS;
61
- while (true) {
62
- const limit = isFirstRequest ? opt.limit : LIMIT_MAX;
63
- requestNumber++;
64
- trackingParams.request_number = requestNumber;
65
- trackingParams.request_delay = delay;
66
- trackingParams.limit = limit;
60
+ opt.format ??= 'table';
61
+ validateInputs(opt.limit, opt.format);
62
+ const trackingParams = getBaseTrackingParams(opt);
63
+ await (0, tracker_1.trackEvent)('slowlogs_command_execute', trackingParams);
67
64
  let slowlogs;
68
65
  try {
69
- // eslint-disable-next-line no-await-in-loop
70
- slowlogs = await slowlogsLib.getRecentSlowlogs(opt.app.id, opt.env.id, limit, after);
71
-
72
- // eslint-disable-next-line no-await-in-loop
73
- await (0, _tracker.trackEvent)('slowlogs_command_follow_success', {
74
- ...trackingParams,
75
- total: slowlogs.nodes.length
76
- });
77
- } catch (error) {
78
- const err = error;
79
- // eslint-disable-next-line no-await-in-loop
80
- await (0, _tracker.trackEvent)('slowlogs_command_follow_error', {
66
+ slowlogs = await slowlogsLib.getRecentSlowlogs(opt.app.id, opt.env.id, opt.limit);
67
+ }
68
+ catch (error) {
69
+ const err = error;
70
+ await (0, tracker_1.trackEvent)('slowlogs_command_error', { ...trackingParams, error: err.message });
71
+ return exit.withError(err.message);
72
+ }
73
+ await (0, tracker_1.trackEvent)('slowlogs_command_success', {
81
74
  ...trackingParams,
82
- error: err.message
83
- });
84
-
85
- // If the first request fails we don't want to retry (it's probably not recoverable)
86
- if (isFirstRequest) {
87
- console.error(`${_chalk.default.red('Error:')} Failed to fetch slowlogs.`);
88
- break;
89
- }
90
- // Increase the delay on errors to avoid overloading the server, up to a max of 5 minutes
91
- delay += DEFAULT_POLLING_DELAY_IN_SECONDS;
92
- delay = Math.min(delay, MAX_POLLING_DELAY_IN_SECONDS);
93
- console.error(`${_chalk.default.red('Error:')} Failed to fetch slowlogs. Trying again in ${delay} seconds.`);
75
+ total: slowlogs.nodes.length,
76
+ });
77
+ if (!slowlogs.nodes.length) {
78
+ console.error('No logs found');
79
+ return;
94
80
  }
95
- if (slowlogs) {
96
- if (slowlogs.nodes.length) {
97
- printSlowlogs(slowlogs.nodes, opt.format);
98
- }
99
- after = slowlogs.nextCursor;
100
- isFirstRequest = false;
101
-
102
- // Keep a sane lower limit of MIN_POLLING_DELAY_IN_SECONDS just in case something goes wrong in the server-side
103
- delay = Math.max(slowlogs.pollingDelaySeconds || DEFAULT_POLLING_DELAY_IN_SECONDS, MIN_POLLING_DELAY_IN_SECONDS);
81
+ printSlowlogs(slowlogs.nodes, opt.format);
82
+ }
83
+ async function followLogs(opt) {
84
+ let after = null;
85
+ let isFirstRequest = true;
86
+ // How many times have we polled?
87
+ let requestNumber = 0;
88
+ const trackingParams = getBaseTrackingParams(opt);
89
+ // Set an initial default delay
90
+ let delay = DEFAULT_POLLING_DELAY_IN_SECONDS;
91
+ while (true) {
92
+ const limit = isFirstRequest ? opt.limit : LIMIT_MAX;
93
+ requestNumber++;
94
+ trackingParams.request_number = requestNumber;
95
+ trackingParams.request_delay = delay;
96
+ trackingParams.limit = limit;
97
+ let slowlogs;
98
+ try {
99
+ // eslint-disable-next-line no-await-in-loop
100
+ slowlogs = await slowlogsLib.getRecentSlowlogs(opt.app.id, opt.env.id, limit, after);
101
+ // eslint-disable-next-line no-await-in-loop
102
+ await (0, tracker_1.trackEvent)('slowlogs_command_follow_success', {
103
+ ...trackingParams,
104
+ total: slowlogs.nodes.length,
105
+ });
106
+ }
107
+ catch (error) {
108
+ const err = error;
109
+ // eslint-disable-next-line no-await-in-loop
110
+ await (0, tracker_1.trackEvent)('slowlogs_command_follow_error', {
111
+ ...trackingParams,
112
+ error: err.message,
113
+ });
114
+ // If the first request fails we don't want to retry (it's probably not recoverable)
115
+ if (isFirstRequest) {
116
+ console.error(`${chalk_1.default.red('Error:')} Failed to fetch slowlogs.`);
117
+ break;
118
+ }
119
+ // Increase the delay on errors to avoid overloading the server, up to a max of 5 minutes
120
+ delay += DEFAULT_POLLING_DELAY_IN_SECONDS;
121
+ delay = Math.min(delay, MAX_POLLING_DELAY_IN_SECONDS);
122
+ console.error(`${chalk_1.default.red('Error:')} Failed to fetch slowlogs. Trying again in ${delay} seconds.`);
123
+ }
124
+ if (slowlogs) {
125
+ if (slowlogs.nodes.length) {
126
+ printSlowlogs(slowlogs.nodes, opt.format);
127
+ }
128
+ after = slowlogs.nextCursor;
129
+ isFirstRequest = false;
130
+ // Bound server hints before converting to milliseconds: overflowing Node timers run almost immediately.
131
+ delay = Math.min(Math.max(slowlogs.pollingDelaySeconds || DEFAULT_POLLING_DELAY_IN_SECONDS, MIN_POLLING_DELAY_IN_SECONDS), MAX_POLLING_DELAY_IN_SECONDS);
132
+ }
133
+ // eslint-disable-next-line no-await-in-loop
134
+ await (0, promises_1.setTimeout)(delay * 1000);
104
135
  }
105
-
106
- // eslint-disable-next-line no-await-in-loop
107
- await (0, _promises.setTimeout)(delay * 1000);
108
- }
109
136
  }
110
137
  function getBaseTrackingParams(opt) {
111
- return {
112
- command: 'vip slowlogs',
113
- org_id: opt.app.organization.id,
114
- org_sfid: opt.app.organization.salesforceId,
115
- app_id: opt.app.id,
116
- env_id: opt.env.id,
117
- limit: opt.limit,
118
- follow: opt.follow ?? false,
119
- format: opt.format
120
- };
121
- }
122
- function printSlowlogs(slowlogs, format) {
123
- // Strip out __typename
124
- slowlogs = slowlogs.map(log => {
125
- const {
126
- timestamp,
127
- rowsSent,
128
- rowsExamined,
129
- queryTime,
130
- requestUri,
131
- query
132
- } = log;
133
138
  return {
134
- timestamp,
135
- rowsSent,
136
- rowsExamined,
137
- queryTime,
138
- requestUri,
139
- query
139
+ command: 'vip slowlogs',
140
+ org_id: opt.app.organization.id,
141
+ org_sfid: opt.app.organization.salesforceId,
142
+ app_id: opt.app.id,
143
+ env_id: opt.env.id,
144
+ limit: opt.limit,
145
+ follow: opt.follow ?? false,
146
+ format: opt.format,
140
147
  };
141
- });
142
- console.log((0, _format.formatData)(slowlogs, format));
148
+ }
149
+ function printSlowlogs(slowlogs, format) {
150
+ // Strip out __typename
151
+ slowlogs = slowlogs.map(log => {
152
+ const { timestamp, rowsSent, rowsExamined, queryTime, requestUri, query } = log;
153
+ return { timestamp, rowsSent, rowsExamined, queryTime, requestUri, query };
154
+ });
155
+ console.log((0, format_1.formatData)(slowlogs, format));
143
156
  }
144
157
  function validateInputs(limit, format) {
145
- if (!ALLOWED_FORMATS.includes(format)) {
146
- exit.withError(`Invalid format: ${format}. The supported formats are: ${ALLOWED_FORMATS.join(', ')}.`);
147
- }
148
- if (!Number.isInteger(limit) || limit < LIMIT_MIN || limit > slowlogsLib.LIMIT_MAX) {
149
- exit.withError(`Invalid limit: ${limit}. Set the limit to an integer between ${LIMIT_MIN} and ${slowlogsLib.LIMIT_MAX}.`);
150
- }
158
+ if (!ALLOWED_FORMATS.includes(format)) {
159
+ exit.withError(`Invalid format: ${format}. The supported formats are: ${ALLOWED_FORMATS.join(', ')}.`);
160
+ }
161
+ if (!Number.isInteger(limit) || limit < LIMIT_MIN || limit > slowlogsLib.LIMIT_MAX) {
162
+ exit.withError(`Invalid limit: ${limit}. Set the limit to an integer between ${LIMIT_MIN} and ${slowlogsLib.LIMIT_MAX}.`);
163
+ }
151
164
  }
152
- const appQuery = exports.appQuery = `
165
+ exports.appQuery = `
153
166
  id
154
167
  name
155
168
  environments {
@@ -163,24 +176,32 @@ const appQuery = exports.appQuery = `
163
176
  name
164
177
  }
165
178
  `;
166
- const parseLimit = value => Number.parseInt(String(value), 10);
167
- void (0, _command.default)({
168
- appContext: true,
169
- appQuery,
170
- envContext: true,
171
- format: true,
172
- module: 'slowlogs',
173
- usage: baseUsage
174
- }).option('limit', 'Set the maximum number of log entries. Accepts an integer value between 1 and 500.', 500, parseLimit).examples([{
175
- description: 'Retrieve up to 500 of the most recent entries from the MySQL slow query logs in the default format.',
176
- usage: exampleUsage
177
- }, {
178
- description: 'Retrieve up to 50 of the most recent entries from the MySQL slow query logs in the default format.',
179
- usage: `${exampleUsage} --limit=50`
180
- }, {
181
- description: 'Retrieve up to 100 of the most recent entries from the MySQL slow query logs in CSV format.',
182
- usage: `${exampleUsage} --limit=100 --format=csv`
183
- }, {
184
- description: 'Retrieve up to 100 of the most recent entries from the MySQL slow query logs in JSON format.',
185
- usage: `${exampleUsage} --limit=100 --format=json`
186
- }]).argv(process.argv, getSlowlogs);
179
+ const parseLimit = (value) => Number.parseInt(String(value), 10);
180
+ void (0, command_1.default)({
181
+ appContext: true,
182
+ appQuery: exports.appQuery,
183
+ envContext: true,
184
+ format: true,
185
+ module: 'slowlogs',
186
+ usage: baseUsage,
187
+ })
188
+ .option('limit', 'Set the maximum number of log entries. Accepts an integer value between 1 and 500.', 500, parseLimit)
189
+ .examples([
190
+ {
191
+ description: 'Retrieve up to 500 of the most recent entries from the MySQL slow query logs in the default format.',
192
+ usage: exampleUsage,
193
+ },
194
+ {
195
+ description: 'Retrieve up to 50 of the most recent entries from the MySQL slow query logs in the default format.',
196
+ usage: `${exampleUsage} --limit=50`,
197
+ },
198
+ {
199
+ description: 'Retrieve up to 100 of the most recent entries from the MySQL slow query logs in CSV format.',
200
+ usage: `${exampleUsage} --limit=100 --format=csv`,
201
+ },
202
+ {
203
+ description: 'Retrieve up to 100 of the most recent entries from the MySQL slow query logs in JSON format.',
204
+ usage: `${exampleUsage} --limit=100 --format=json`,
205
+ },
206
+ ])
207
+ .argv(process.argv, getSlowlogs);