@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,132 +1,132 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
4
6
  exports.BackupStorageAvailability = void 0;
5
- var _checkDiskSpace = _interopRequireDefault(require("check-disk-space"));
6
- var _enquirer = require("enquirer");
7
- var _path = _interopRequireDefault(require("path"));
8
- var _shelljs = require("shelljs");
9
- var _dockerMachineNotFoundError = require("./docker-machine-not-found-error");
10
- var _format = require("../cli/format");
11
- var _xdgData = require("../xdg-data");
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
7
+ const enquirer_1 = require("enquirer");
8
+ const path_1 = __importDefault(require("path"));
9
+ const shelljs_1 = require("shelljs");
10
+ const docker_machine_not_found_error_1 = require("./docker-machine-not-found-error");
11
+ const format_1 = require("../cli/format");
12
+ const xdg_data_1 = require("../xdg-data");
13
13
  const oneGiBInBytes = 1024 * 1024 * 1024;
14
14
  class BackupStorageAvailability {
15
- getDockerStorageKiBRaw() {
16
- return (0, _shelljs.exec)(`docker run --rm alpine df -k`, {
17
- silent: true
18
- }).grep(/\/dev\/vda1/).head({
19
- '-n': 1
20
- }).replace(/\s+/g, ' ').split(' ')[3];
21
- }
22
- getDockerStorageAvailable() {
23
- const kiBLeft = this.getDockerStorageKiBRaw();
24
- if (!kiBLeft || Number.isNaN(Number(kiBLeft))) {
25
- throw new _dockerMachineNotFoundError.DockerMachineNotFoundError();
15
+ getDockerStorageKiBRaw() {
16
+ return (0, shelljs_1.exec)(`docker run --rm alpine df -k`, { silent: true })
17
+ .grep(/\/dev\/vda1/)
18
+ .head({ '-n': 1 })
19
+ .replace(/\s+/g, ' ')
20
+ .split(' ')[3];
26
21
  }
27
- return Number(kiBLeft) * 1024;
28
- }
29
- bytesToHuman(bytes) {
30
- return (0, _format.formatMetricBytes)(bytes);
31
- }
32
- async getStorageAvailableInVipPath() {
33
- const vipDir = _path.default.join((0, _xdgData.xdgData)(), 'vip');
34
- const diskSpace = await (0, _checkDiskSpace.default)(vipDir);
35
- return diskSpace.free;
36
- }
37
- getReserveSpace() {
38
- return oneGiBInBytes;
39
- }
40
- getSqlSize(archiveSize) {
41
- // We estimated that it'd be about 3.5x the archive size.
42
- return archiveSize * 3.5;
43
- }
44
- getArchiveSize(archiveSize) {
45
- return archiveSize;
46
- }
47
- getStorageRequiredInMainMachine(archiveSize) {
48
- return this.getArchiveSize(archiveSize) + this.getSqlSize(archiveSize) + this.getReserveSpace();
49
- }
50
- getStorageRequiredInDockerMachine(archiveSize) {
51
- return this.getSqlSize(archiveSize) + this.getReserveSpace();
52
- }
53
- async isStorageAvailableInMainMachine(archiveSize) {
54
- return (await this.getStorageAvailableInVipPath()) > this.getStorageRequiredInMainMachine(archiveSize);
55
- }
56
- isStorageAvailableInDockerMachine(archiveSize) {
57
- return this.getDockerStorageAvailable() > this.getStorageRequiredInDockerMachine(archiveSize);
58
- }
59
-
60
- // eslint-disable-next-line id-length
61
- async validateAndPromptDiskSpaceWarningForBackupImport(archiveSize) {
62
- const isStorageAvailable = (await this.getStorageAvailableInVipPath()) > this.getArchiveSize(archiveSize);
63
- if (!isStorageAvailable) {
64
- const storageRequired = this.getArchiveSize(archiveSize);
65
- const confirmPrompt = new _enquirer.Confirm({
66
- message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your machine to download this database backup. Do you still want to continue with downloading the database backup?`
67
- });
68
- return {
69
- continue: await confirmPrompt.run(),
70
- isPromptShown: true
71
- };
22
+ getDockerStorageAvailable() {
23
+ const kiBLeft = this.getDockerStorageKiBRaw();
24
+ if (!kiBLeft || Number.isNaN(Number(kiBLeft))) {
25
+ throw new docker_machine_not_found_error_1.DockerMachineNotFoundError();
26
+ }
27
+ return Number(kiBLeft) * 1024;
72
28
  }
73
- return {
74
- continue: true,
75
- isPromptShown: false
76
- };
77
- }
78
-
79
- // eslint-disable-next-line id-length
80
- async validateAndPromptDiskSpaceWarningForDevEnvBackupImport(archiveSize) {
81
- let storageAvailableInMainMachinePrompted = false;
82
-
83
- // there's two prompts, so as long as one prompt is shown, we need to set isPromptShown
84
- let isPromptShown = false;
85
- if (!(await this.isStorageAvailableInMainMachine(archiveSize))) {
86
- const storageRequired = this.getStorageRequiredInMainMachine(archiveSize);
87
- const storageAvailableInVipPath = this.bytesToHuman(await this.getStorageAvailableInVipPath());
88
- const confirmPrompt = new _enquirer.Confirm({
89
- message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your machine to import this database backup. We estimate that you currently have ${storageAvailableInVipPath} of space in your machine.
90
- Do you still want to continue with importing the database backup?
91
- `
92
- });
93
- isPromptShown = true;
94
- storageAvailableInMainMachinePrompted = await confirmPrompt.run();
95
- if (!storageAvailableInMainMachinePrompted) {
96
- return {
97
- continue: false,
98
- isPromptShown
99
- };
100
- }
29
+ bytesToHuman(bytes) {
30
+ return (0, format_1.formatMetricBytes)(bytes);
31
+ }
32
+ async getStorageAvailableInVipPath() {
33
+ const { checkDiskSpace } = await import('check-disk-space');
34
+ const vipDir = path_1.default.join((0, xdg_data_1.xdgData)(), 'vip');
35
+ const diskSpace = await checkDiskSpace(vipDir);
36
+ return diskSpace.free;
37
+ }
38
+ getReserveSpace() {
39
+ return oneGiBInBytes;
40
+ }
41
+ getSqlSize(archiveSize) {
42
+ // We estimated that it'd be about 3.5x the archive size.
43
+ return archiveSize * 3.5;
44
+ }
45
+ getArchiveSize(archiveSize) {
46
+ return archiveSize;
101
47
  }
102
- try {
103
- if (!this.isStorageAvailableInDockerMachine(archiveSize)) {
104
- const storageRequired = this.getStorageRequiredInDockerMachine(archiveSize);
105
- const storageAvailableInDockerMachine = this.bytesToHuman(this.getDockerStorageAvailable());
106
- const confirmPrompt = new _enquirer.Confirm({
107
- message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your Docker machine to import this database backup. We estimate that you currently have ${storageAvailableInDockerMachine} of space in your machine.
108
- Do you still want to continue with importing the database backup?`
109
- });
110
- isPromptShown = true;
48
+ getStorageRequiredInMainMachine(archiveSize) {
49
+ return (this.getArchiveSize(archiveSize) + this.getSqlSize(archiveSize) + this.getReserveSpace());
50
+ }
51
+ getStorageRequiredInDockerMachine(archiveSize) {
52
+ return this.getSqlSize(archiveSize) + this.getReserveSpace();
53
+ }
54
+ async isStorageAvailableInMainMachine(archiveSize) {
55
+ return ((await this.getStorageAvailableInVipPath()) >
56
+ this.getStorageRequiredInMainMachine(archiveSize));
57
+ }
58
+ isStorageAvailableInDockerMachine(archiveSize) {
59
+ return this.getDockerStorageAvailable() > this.getStorageRequiredInDockerMachine(archiveSize);
60
+ }
61
+ // eslint-disable-next-line id-length
62
+ async validateAndPromptDiskSpaceWarningForBackupImport(archiveSize) {
63
+ const isStorageAvailable = (await this.getStorageAvailableInVipPath()) > this.getArchiveSize(archiveSize);
64
+ if (!isStorageAvailable) {
65
+ const storageRequired = this.getArchiveSize(archiveSize);
66
+ const confirmPrompt = new enquirer_1.Confirm({
67
+ message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your machine to download this database backup. Do you still want to continue with downloading the database backup?`,
68
+ });
69
+ return {
70
+ continue: await confirmPrompt.run(),
71
+ isPromptShown: true,
72
+ };
73
+ }
111
74
  return {
112
- continue: await confirmPrompt.run(),
113
- isPromptShown
75
+ continue: true,
76
+ isPromptShown: false,
114
77
  };
115
- }
116
- } catch (error) {
117
- if (error instanceof _dockerMachineNotFoundError.DockerMachineNotFoundError) {
118
- // skip storage available check
78
+ }
79
+ // eslint-disable-next-line id-length
80
+ async validateAndPromptDiskSpaceWarningForDevEnvBackupImport(archiveSize) {
81
+ let storageAvailableInMainMachinePrompted = false;
82
+ // there's two prompts, so as long as one prompt is shown, we need to set isPromptShown
83
+ let isPromptShown = false;
84
+ if (!(await this.isStorageAvailableInMainMachine(archiveSize))) {
85
+ const storageRequired = this.getStorageRequiredInMainMachine(archiveSize);
86
+ const storageAvailableInVipPath = this.bytesToHuman(await this.getStorageAvailableInVipPath());
87
+ const confirmPrompt = new enquirer_1.Confirm({
88
+ message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your machine to import this database backup. We estimate that you currently have ${storageAvailableInVipPath} of space in your machine.
89
+ Do you still want to continue with importing the database backup?
90
+ `,
91
+ });
92
+ isPromptShown = true;
93
+ storageAvailableInMainMachinePrompted = await confirmPrompt.run();
94
+ if (!storageAvailableInMainMachinePrompted) {
95
+ return {
96
+ continue: false,
97
+ isPromptShown,
98
+ };
99
+ }
100
+ }
101
+ try {
102
+ if (!this.isStorageAvailableInDockerMachine(archiveSize)) {
103
+ const storageRequired = this.getStorageRequiredInDockerMachine(archiveSize);
104
+ const storageAvailableInDockerMachine = this.bytesToHuman(this.getDockerStorageAvailable());
105
+ const confirmPrompt = new enquirer_1.Confirm({
106
+ message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your Docker machine to import this database backup. We estimate that you currently have ${storageAvailableInDockerMachine} of space in your machine.
107
+ Do you still want to continue with importing the database backup?`,
108
+ });
109
+ isPromptShown = true;
110
+ return {
111
+ continue: await confirmPrompt.run(),
112
+ isPromptShown,
113
+ };
114
+ }
115
+ }
116
+ catch (error) {
117
+ if (error instanceof docker_machine_not_found_error_1.DockerMachineNotFoundError) {
118
+ // skip storage available check
119
+ return {
120
+ continue: true,
121
+ isPromptShown,
122
+ };
123
+ }
124
+ throw error;
125
+ }
119
126
  return {
120
- continue: true,
121
- isPromptShown
127
+ continue: true,
128
+ isPromptShown,
122
129
  };
123
- }
124
- throw error;
125
130
  }
126
- return {
127
- continue: true,
128
- isPromptShown
129
- };
130
- }
131
131
  }
132
- exports.BackupStorageAvailability = BackupStorageAvailability;
132
+ exports.BackupStorageAvailability = BackupStorageAvailability;
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.DockerMachineNotFoundError = void 0;
5
4
  class DockerMachineNotFoundError extends Error {
6
- constructor() {
7
- super('Docker machine not found');
8
- }
5
+ constructor() {
6
+ super('Docker machine not found');
7
+ }
9
8
  }
10
- exports.DockerMachineNotFoundError = DockerMachineNotFoundError;
9
+ exports.DockerMachineNotFoundError = DockerMachineNotFoundError;
@@ -1,53 +1,83 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
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 });
4
39
  exports.checkFeatureEnabled = checkFeatureEnabled;
5
40
  exports.checkIfUserIsVip = checkIfUserIsVip;
6
41
  exports.exitWhenFeatureDisabled = exitWhenFeatureDisabled;
7
- var exit = _interopRequireWildcard(require("./exit"));
8
- var featureFlags = _interopRequireWildcard(require("../../lib/api/feature-flags"));
9
- var _token = _interopRequireDefault(require("../../lib/token"));
10
- var _tracker = require("../../lib/tracker");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
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); }
42
+ const exit = __importStar(require("./exit"));
43
+ const featureFlags = __importStar(require("../../lib/api/feature-flags"));
44
+ const token_1 = __importDefault(require("../../lib/token"));
45
+ const tracker_1 = require("../../lib/tracker");
13
46
  async function checkFeatureEnabled(featureName, exitOnFalse = false) {
14
- // TODO: eventually let's look at more feature flags coming from the public api,
15
- // for now, let's see if the user of the CLI is VIP
16
- await (0, _tracker.trackEvent)('checkFeatureEnabled_start', {
17
- featureName,
18
- exitOnFalse
19
- });
20
- let isVIP;
21
- try {
22
- const res = await featureFlags.get();
23
- const data = res?.data;
24
- isVIP = Boolean(data?.me?.isVIP);
25
- } catch (err) {
26
- const message = err.toString();
27
- await (0, _tracker.trackEvent)('checkFeatureEnabled_fetch_error', {
28
- featureName,
29
- exitOnFalse,
30
- error: message
31
- });
32
- exit.withError(`Failed to determine if feature is enabled: ${message}`);
33
- }
34
- if (exitOnFalse && isVIP === false) {
35
- exit.withError('The feature you are attempting to use is not currently enabled.');
36
- }
37
- return isVIP === true;
47
+ // TODO: eventually let's look at more feature flags coming from the public api,
48
+ // for now, let's see if the user of the CLI is VIP
49
+ await (0, tracker_1.trackEvent)('checkFeatureEnabled_start', { featureName, exitOnFalse });
50
+ let isVIP;
51
+ try {
52
+ const res = await featureFlags.get();
53
+ const data = res?.data;
54
+ isVIP = Boolean(data?.me?.isVIP);
55
+ }
56
+ catch (err) {
57
+ const message = err.toString();
58
+ await (0, tracker_1.trackEvent)('checkFeatureEnabled_fetch_error', {
59
+ featureName,
60
+ exitOnFalse,
61
+ error: message,
62
+ });
63
+ exit.withError(`Failed to determine if feature is enabled: ${message}`);
64
+ }
65
+ if (exitOnFalse && isVIP === false) {
66
+ exit.withError('The feature you are attempting to use is not currently enabled.');
67
+ }
68
+ return isVIP === true;
38
69
  }
39
-
40
70
  // Because this function is called by trackEvent:
41
71
  // - It cannot directly or indirectly call trackEvent, or it will cause a loop.
42
72
  // - It is mocked globally in jest.setupMocks.js.
43
73
  async function checkIfUserIsVip() {
44
- const token = await _token.default.get();
45
- if (token.valid()) {
46
- const res = await featureFlags.get();
47
- return Boolean(res.data?.me?.isVIP);
48
- }
49
- return false;
74
+ const token = await token_1.default.get();
75
+ if (token.valid()) {
76
+ const res = await featureFlags.get();
77
+ return Boolean(res.data?.me?.isVIP);
78
+ }
79
+ return false;
50
80
  }
51
81
  function exitWhenFeatureDisabled(featureName) {
52
- return checkFeatureEnabled(featureName, true);
53
- }
82
+ return checkFeatureEnabled(featureName, true);
83
+ }