@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,79 +1,85 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- var _chalk = _interopRequireDefault(require("chalk"));
5
- var _debug = _interopRequireDefault(require("debug"));
6
- var _command = _interopRequireDefault(require("../lib/cli/command"));
7
- var _devEnvironmentCli = require("../lib/dev-environment/dev-environment-cli");
8
- var _devEnvironmentCore = require("../lib/dev-environment/dev-environment-core");
9
- var _devEnvironmentLando = require("../lib/dev-environment/dev-environment-lando");
10
- var _tracker = require("../lib/tracker");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- const debug = (0, _debug.default)('@automattic/vip:bin:dev-environment');
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const debug_1 = __importDefault(require("debug"));
9
+ const command_1 = __importDefault(require("../lib/cli/command"));
10
+ const dev_environment_cli_1 = require("../lib/dev-environment/dev-environment-cli");
11
+ const dev_environment_core_1 = require("../lib/dev-environment/dev-environment-core");
12
+ const dev_environment_lando_1 = require("../lib/dev-environment/dev-environment-lando");
13
+ const tracker_1 = require("../lib/tracker");
14
+ const debug = (0, debug_1.default)('@automattic/vip:bin:dev-environment');
13
15
  const exampleUsage = 'vip dev-env stop';
14
16
  const usage = 'vip dev-env stop';
15
- const examples = [{
16
- usage: `${exampleUsage} --slug=example-site`,
17
- description: 'Stop a local environment named "example-site".'
18
- }, {
19
- usage: `${exampleUsage} --all`,
20
- description: 'Stops all local environments.'
21
- }];
22
- (0, _command.default)({
23
- usage
24
- }).option('slug', 'A unique name for a local environment. Default is "vip-local".', undefined, _devEnvironmentCli.processSlug).option('all', 'Stop all local environments.').examples(examples).argv(process.argv, async (arg, opt) => {
25
- debug('Args: ', arg, 'Options: ', opt);
26
-
27
- /** @type {Record< string, unknown >} */
28
- let trackingInfo;
29
- /** @type {string[]} */
30
- let environments;
31
- /** @type {string|undefined} */
32
- let logSlug;
33
- if (opt.all) {
34
- trackingInfo = {
35
- all: true
36
- };
37
- environments = (0, _devEnvironmentCore.getAllEnvironmentNames)();
38
- logSlug = undefined;
39
- } else {
40
- const slug = await (0, _devEnvironmentCli.getEnvironmentName)(opt);
41
- trackingInfo = (0, _devEnvironmentCli.getEnvTrackingInfo)(slug);
42
- environments = [slug];
43
- logSlug = slug;
44
- }
45
- const lando = await (0, _devEnvironmentLando.bootstrapLando)({
46
- logFile: (0, _devEnvironmentCli.getDevEnvLogFile)(logSlug)
47
- });
48
- (0, _devEnvironmentCli.validateDependencies)(lando);
49
- await (0, _tracker.trackEvent)('dev_env_stop_command_execute', trackingInfo);
50
- for (const slug of environments) {
51
- try {
52
- // eslint-disable-next-line no-await-in-loop
53
- await (0, _devEnvironmentCore.stopEnvironment)(lando, slug);
54
- const message = _chalk.default.green('✓') + ` environment "${slug}" stopped.\n`;
55
- console.log(message);
56
- } catch (error) {
57
- let err;
58
- if (!(error instanceof Error)) {
59
- err = new Error(error?.toString());
60
- } else {
61
- err = error;
62
- }
63
- process.exitCode = 1;
64
- const errorTrackingInfo = {
65
- ...trackingInfo,
66
- failure: err.message,
67
- stack: err.stack
68
- };
69
-
70
- // trackEvent does not throw
71
- // eslint-disable-next-line no-await-in-loop
72
- await (0, _tracker.trackEvent)('dev_env_stop_command_error', errorTrackingInfo);
73
- console.error(_chalk.default.red('Error:'), err.message.replace('ERROR: ', ''));
17
+ const examples = [
18
+ {
19
+ usage: `${exampleUsage} --slug=example-site`,
20
+ description: 'Stop a local environment named "example-site".',
21
+ },
22
+ {
23
+ usage: `${exampleUsage} --all`,
24
+ description: 'Stops all local environments.',
25
+ },
26
+ ];
27
+ (0, command_1.default)({
28
+ usage,
29
+ })
30
+ .option('slug', 'A unique name for a local environment. Default is "vip-local".', undefined, dev_environment_cli_1.processSlug)
31
+ .option('all', 'Stop all local environments.')
32
+ .examples(examples)
33
+ .argv(process.argv, async (arg, opt) => {
34
+ debug('Args: ', arg, 'Options: ', opt);
35
+ /** @type {Record< string, unknown >} */
36
+ let trackingInfo;
37
+ /** @type {string[]} */
38
+ let environments;
39
+ /** @type {string|undefined} */
40
+ let logSlug;
41
+ if (opt.all) {
42
+ trackingInfo = { all: true };
43
+ environments = (0, dev_environment_core_1.getAllEnvironmentNames)();
44
+ logSlug = undefined;
74
45
  }
75
- }
76
- if (process.exitCode === 0) {
77
- await (0, _tracker.trackEvent)('dev_env_stop_command_success', trackingInfo);
78
- }
79
- });
46
+ else {
47
+ const slug = await (0, dev_environment_cli_1.getEnvironmentName)(opt);
48
+ trackingInfo = (0, dev_environment_cli_1.getEnvTrackingInfo)(slug);
49
+ environments = [slug];
50
+ logSlug = slug;
51
+ }
52
+ const lando = await (0, dev_environment_lando_1.bootstrapLando)({ logFile: (0, dev_environment_cli_1.getDevEnvLogFile)(logSlug) });
53
+ (0, dev_environment_cli_1.validateDependencies)(lando);
54
+ await (0, tracker_1.trackEvent)('dev_env_stop_command_execute', trackingInfo);
55
+ for (const slug of environments) {
56
+ try {
57
+ // eslint-disable-next-line no-await-in-loop
58
+ await (0, dev_environment_core_1.stopEnvironment)(lando, slug);
59
+ const message = chalk_1.default.green('✓') + ` environment "${slug}" stopped.\n`;
60
+ console.log(message);
61
+ }
62
+ catch (error) {
63
+ let err;
64
+ if (!(error instanceof Error)) {
65
+ err = new Error(error?.toString());
66
+ }
67
+ else {
68
+ err = error;
69
+ }
70
+ process.exitCode = 1;
71
+ const errorTrackingInfo = {
72
+ ...trackingInfo,
73
+ failure: err.message,
74
+ stack: err.stack,
75
+ };
76
+ // trackEvent does not throw
77
+ // eslint-disable-next-line no-await-in-loop
78
+ await (0, tracker_1.trackEvent)('dev_env_stop_command_error', errorTrackingInfo);
79
+ console.error(chalk_1.default.red('Error:'), err.message.replace('ERROR: ', ''));
80
+ }
81
+ }
82
+ if (process.exitCode === 0) {
83
+ await (0, tracker_1.trackEvent)('dev_env_stop_command_success', trackingInfo);
84
+ }
85
+ });
@@ -1,34 +1,43 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- var _devEnvSyncSql = require("../commands/dev-env-sync-sql");
5
- var _command = _interopRequireDefault(require("../lib/cli/command"));
6
- var _devEnvironmentCli = require("../lib/dev-environment/dev-environment-cli");
7
- var _devEnvironmentLando = require("../lib/dev-environment/dev-environment-lando");
8
- var _liveBackupCopy = require("../lib/live-backup-copy");
9
- var _tracker = require("../lib/tracker");
10
- var _userError = _interopRequireDefault(require("../lib/user-error"));
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const dev_env_sync_sql_1 = require("../commands/dev-env-sync-sql");
8
+ const command_1 = __importDefault(require("../lib/cli/command"));
9
+ const dev_environment_cli_1 = require("../lib/dev-environment/dev-environment-cli");
10
+ const dev_environment_lando_1 = require("../lib/dev-environment/dev-environment-lando");
11
+ const live_backup_copy_1 = require("../lib/live-backup-copy");
12
+ const tracker_1 = require("../lib/tracker");
13
+ const user_error_1 = __importDefault(require("../lib/user-error"));
12
14
  const usage = 'vip dev-env sync sql';
13
- const examples = [{
14
- usage: `vip @example-app.develop dev-env sync sql --slug=example-site`,
15
- description: 'Sync the entire database of the develop environment in the "example-app" application to a local environment named "example-site".'
16
- }, {
17
- usage: `vip @example-app.develop dev-env sync sql --slug=example-site --table=wp_posts --table=wp_comments`,
18
- description: 'Sync only the wp_posts and wp_comments tables from the database of the develop environment to a local environment named "example-site".'
19
- }, {
20
- usage: `vip @example-app.develop dev-env sync sql --slug=example-site --table=wp_posts,wp_comments`,
21
- description: 'Use comma-separated syntax to specify that only the wp_posts and wp_comments tables are synced.'
22
- }, {
23
- usage: `vip @example-app.develop dev-env sync sql --slug=example-site --site-id=2 --site-id=3`,
24
- description: 'Sync only the tables related to network site ID 2 and network site ID 3.'
25
- }, {
26
- usage: `vip @example-app.develop dev-env sync sql --slug=example-site --site-id=2,3`,
27
- description: 'Use comma-separated syntax to specify that only the tables related to network site ID 2 and network site ID 3 are synced.'
28
- }, {
29
- usage: `vip @example-app.develop dev-env sync sql --slug=example-site --config-file=~/dev-env-sync-config.json`,
30
- description: 'Reference a local configuration file that specifies the data to sync to a local environment.'
31
- }];
15
+ const examples = [
16
+ {
17
+ usage: `vip @example-app.develop dev-env sync sql --slug=example-site`,
18
+ description: 'Sync the entire database of the develop environment in the "example-app" application to a local environment named "example-site".',
19
+ },
20
+ {
21
+ usage: `vip @example-app.develop dev-env sync sql --slug=example-site --table=wp_posts --table=wp_comments`,
22
+ description: 'Sync only the wp_posts and wp_comments tables from the database of the develop environment to a local environment named "example-site".',
23
+ },
24
+ {
25
+ usage: `vip @example-app.develop dev-env sync sql --slug=example-site --table=wp_posts,wp_comments`,
26
+ description: 'Use comma-separated syntax to specify that only the wp_posts and wp_comments tables are synced.',
27
+ },
28
+ {
29
+ usage: `vip @example-app.develop dev-env sync sql --slug=example-site --site-id=2 --site-id=3`,
30
+ description: 'Sync only the tables related to network site ID 2 and network site ID 3.',
31
+ },
32
+ {
33
+ usage: `vip @example-app.develop dev-env sync sql --slug=example-site --site-id=2,3`,
34
+ description: 'Use comma-separated syntax to specify that only the tables related to network site ID 2 and network site ID 3 are synced.',
35
+ },
36
+ {
37
+ usage: `vip @example-app.develop dev-env sync sql --slug=example-site --config-file=~/dev-env-sync-config.json`,
38
+ description: 'Reference a local configuration file that specifies the data to sync to a local environment.',
39
+ },
40
+ ];
32
41
  const appQuery = `
33
42
  id,
34
43
  name,
@@ -44,48 +53,47 @@ const appQuery = `
44
53
  isMultisite
45
54
  }
46
55
  `;
47
- (0, _command.default)({
48
- appContext: true,
49
- appQuery,
50
- envContext: true,
51
- requiredArgs: 0,
52
- module: 'dev-env-sync-sql',
53
- usage
54
- }).option('slug', 'A unique name for a local environment. Default is "vip-local".', undefined, _devEnvironmentCli.processSlug).option('table', 'The name of a table to include in the partial database sync. Accepts a string value and can be passed more than once with a different value, or add multiple values in a comma-separated list.').option('site-id', 'The ID of a network site to include in the partial database sync. Accepts an integer value (can be passed more than once with different values), or multiple integer values in a comma-separated list.', undefined, Number.parseInt).option('wpcli-command', 'Run a custom WP-CLI command that has logic to retrieve specific data for the partial database export.').option('config-file', 'A local configuration file that specifies the data to include in the partial database sync. Accepts a relative or absolute path to the file.', undefined).option('force', 'Skip validations.', undefined, _devEnvironmentCli.processBooleanOption).examples(examples).argv(process.argv, async (arg, opt) => {
55
- const {
56
- app,
57
- env,
58
- configFile,
59
- table,
60
- siteId,
61
- wpcliCommand,
62
- ...optRest
63
- } = opt;
64
- const liveBackupCopyCLIOptions = (0, _liveBackupCopy.parseLiveBackupCopyCLIOptions)(configFile, table, siteId, wpcliCommand);
65
- const slug = await (0, _devEnvironmentCli.getEnvironmentName)(optRest);
66
- const trackerFn = (0, _tracker.makeCommandTracker)('dev_env_sync_sql', {
67
- app: app.id,
68
- env: env.uniqueLabel,
69
- slug,
70
- multisite: env.isMultisite
71
- });
72
- await trackerFn('execute');
73
- const lando = await (0, _devEnvironmentLando.bootstrapLando)({
74
- logFile: (0, _devEnvironmentCli.getDevEnvLogFile)(slug)
75
- });
76
- const isUp = (await Promise.all([(0, _devEnvironmentLando.isContainerRunning)(lando, slug, 'php'), (0, _devEnvironmentLando.isContainerRunning)(lando, slug, 'database')])).every(Boolean);
77
- if (!isUp && !opt.force) {
78
- await trackerFn('env_not_running_error', {
79
- errorMessage: 'Environment was not running'
56
+ (0, command_1.default)({
57
+ appContext: true,
58
+ appQuery,
59
+ envContext: true,
60
+ requiredArgs: 0,
61
+ module: 'dev-env-sync-sql',
62
+ usage,
63
+ })
64
+ .option('slug', 'A unique name for a local environment. Default is "vip-local".', undefined, dev_environment_cli_1.processSlug)
65
+ .option('table', 'The name of a table to include in the partial database sync. Accepts a string value and can be passed more than once with a different value, or add multiple values in a comma-separated list.')
66
+ .option('site-id', 'The ID of a network site to include in the partial database sync. Accepts an integer value (can be passed more than once with different values), or multiple integer values in a comma-separated list.', undefined, Number.parseInt)
67
+ .option('wpcli-command', 'Run a custom WP-CLI command that has logic to retrieve specific data for the partial database export.')
68
+ .option('config-file', 'A local configuration file that specifies the data to include in the partial database sync. Accepts a relative or absolute path to the file.', undefined)
69
+ .option('force', 'Skip validations.', undefined, dev_environment_cli_1.processBooleanOption)
70
+ .examples(examples)
71
+ .argv(process.argv, async (arg, opt) => {
72
+ const { app, env, configFile, table, siteId, wpcliCommand, ...optRest } = opt;
73
+ const liveBackupCopyCLIOptions = (0, live_backup_copy_1.parseLiveBackupCopyCLIOptions)(configFile, table, siteId, wpcliCommand);
74
+ const slug = await (0, dev_environment_cli_1.getEnvironmentName)(optRest);
75
+ const trackerFn = (0, tracker_1.makeCommandTracker)('dev_env_sync_sql', {
76
+ app: app.id,
77
+ env: env.uniqueLabel,
78
+ slug,
79
+ multisite: env.isMultisite,
80
80
  });
81
- throw new _userError.default('Environment needs to be started first');
82
- }
83
- const cmd = new _devEnvSyncSql.DevEnvSyncSQLCommand(app, env, slug, lando, trackerFn, liveBackupCopyCLIOptions);
84
- // TODO: There's a function called handleCLIException for dev-env that handles exceptions but DevEnvSyncSQLCommand has its own implementation.
85
- // We should probably use handleCLIException instead?
86
- const didCommandRun = await cmd.run();
87
- if (!didCommandRun) {
88
- console.log('Command canceled by user.');
89
- }
90
- await trackerFn('success');
91
- });
81
+ await trackerFn('execute');
82
+ const lando = await (0, dev_environment_lando_1.bootstrapLando)({ logFile: (0, dev_environment_cli_1.getDevEnvLogFile)(slug) });
83
+ const isUp = (await Promise.all([
84
+ (0, dev_environment_lando_1.isContainerRunning)(lando, slug, 'php'),
85
+ (0, dev_environment_lando_1.isContainerRunning)(lando, slug, 'database'),
86
+ ])).every(Boolean);
87
+ if (!isUp && !opt.force) {
88
+ await trackerFn('env_not_running_error', { errorMessage: 'Environment was not running' });
89
+ throw new user_error_1.default('Environment needs to be started first');
90
+ }
91
+ const cmd = new dev_env_sync_sql_1.DevEnvSyncSQLCommand(app, env, slug, lando, trackerFn, liveBackupCopyCLIOptions);
92
+ // TODO: There's a function called handleCLIException for dev-env that handles exceptions but DevEnvSyncSQLCommand has its own implementation.
93
+ // We should probably use handleCLIException instead?
94
+ const didCommandRun = await cmd.run();
95
+ if (!didCommandRun) {
96
+ console.log('Command canceled by user.');
97
+ }
98
+ await trackerFn('success');
99
+ });
@@ -1,14 +1,21 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- var _command = _interopRequireDefault(require("../lib/cli/command"));
5
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const command_1 = __importDefault(require("../lib/cli/command"));
6
8
  const usage = 'vip dev-env sync';
7
- const examples = [{
8
- usage: `vip @example-app.develop dev-env sync sql --slug=example-site`,
9
- description: 'Sync the entire database of the develop environment in the "example-app" application to a local environment named "example-site".'
10
- }];
11
- (0, _command.default)({
12
- requiredArgs: 1,
13
- usage
14
- }).examples(examples).command('sql', 'Sync the database of a VIP Platform environment to a local environment.').argv(process.argv);
9
+ const examples = [
10
+ {
11
+ usage: `vip @example-app.develop dev-env sync sql --slug=example-site`,
12
+ description: 'Sync the entire database of the develop environment in the "example-app" application to a local environment named "example-site".',
13
+ },
14
+ ];
15
+ (0, command_1.default)({
16
+ requiredArgs: 1,
17
+ usage,
18
+ })
19
+ .examples(examples)
20
+ .command('sql', 'Sync the database of a VIP Platform environment to a local environment.')
21
+ .argv(process.argv);
@@ -1,92 +1,101 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- var _chalk = _interopRequireDefault(require("chalk"));
5
- var _debug = _interopRequireDefault(require("debug"));
6
- var _command = _interopRequireDefault(require("../lib/cli/command"));
7
- var _devEnvironment = require("../lib/constants/dev-environment");
8
- var _devEnvironmentCli = require("../lib/dev-environment/dev-environment-cli");
9
- var _devEnvironmentConfigurationFile = require("../lib/dev-environment/dev-environment-configuration-file");
10
- var _devEnvironmentCore = require("../lib/dev-environment/dev-environment-core");
11
- var _devEnvironmentLando = require("../lib/dev-environment/dev-environment-lando");
12
- var _tracker = require("../lib/tracker");
13
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
- const debug = (0, _debug.default)('@automattic/vip:bin:dev-environment');
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const debug_1 = __importDefault(require("debug"));
9
+ const command_1 = __importDefault(require("../lib/cli/command"));
10
+ const dev_environment_1 = require("../lib/constants/dev-environment");
11
+ const dev_environment_cli_1 = require("../lib/dev-environment/dev-environment-cli");
12
+ const dev_environment_configuration_file_1 = require("../lib/dev-environment/dev-environment-configuration-file");
13
+ const dev_environment_core_1 = require("../lib/dev-environment/dev-environment-core");
14
+ const dev_environment_lando_1 = require("../lib/dev-environment/dev-environment-lando");
15
+ const tracker_1 = require("../lib/tracker");
16
+ const debug = (0, debug_1.default)('@automattic/vip:bin:dev-environment');
15
17
  const exampleUsage = 'vip dev-env update';
16
18
  const usage = 'vip dev-env update';
17
- const examples = [{
18
- usage: `${exampleUsage} --slug=example-site`,
19
- description: 'Update or confirm all settings for the local environment named "example-site" in the setup wizard.'
20
- }, {
21
- usage: `${exampleUsage} --php=8.2 --slug=example-site`,
22
- description: 'Update the PHP version to 8.2 in the `update` command then enter the setup wizard to update or confirm all other settings.\n' + ' * Configuration options that are set in the `update` command will be skipped in the setup wizard.'
23
- }, {
24
- usage: `${exampleUsage} --app-code=/Users/example/Desktop/example-app-code --slug=example-site`,
25
- description: "Update application code to load from a path on the user's local machine for the local environment."
26
- }];
27
- const cmd = (0, _command.default)({
28
- usage
29
- }).option('slug', 'A unique name for a local environment. Default is "vip-local".', undefined, _devEnvironmentCli.processSlug);
30
- (0, _devEnvironmentCli.addDevEnvConfigurationOptions)(cmd);
19
+ const examples = [
20
+ {
21
+ usage: `${exampleUsage} --slug=example-site`,
22
+ description: 'Update or confirm all settings for the local environment named "example-site" in the setup wizard.',
23
+ },
24
+ {
25
+ usage: `${exampleUsage} --php=8.2 --slug=example-site`,
26
+ description: 'Update the PHP version to 8.2 in the `update` command then enter the setup wizard to update or confirm all other settings.\n' +
27
+ ' * Configuration options that are set in the `update` command will be skipped in the setup wizard.',
28
+ },
29
+ {
30
+ usage: `${exampleUsage} --app-code=/Users/example/Desktop/example-app-code --slug=example-site`,
31
+ description: "Update application code to load from a path on the user's local machine for the local environment.",
32
+ },
33
+ ];
34
+ const cmd = (0, command_1.default)({
35
+ usage,
36
+ }).option('slug', 'A unique name for a local environment. Default is "vip-local".', undefined, dev_environment_cli_1.processSlug);
37
+ (0, dev_environment_cli_1.addDevEnvConfigurationOptions)(cmd);
31
38
  cmd.examples(examples);
32
39
  cmd.argv(process.argv, async (arg, opt) => {
33
- const slug = await (0, _devEnvironmentCli.getEnvironmentName)(opt);
34
- const lando = await (0, _devEnvironmentLando.bootstrapLando)({
35
- logFile: (0, _devEnvironmentCli.getDevEnvLogFile)(slug)
36
- });
37
- (0, _devEnvironmentCli.validateDependencies)(lando);
38
- const trackingInfo = (0, _devEnvironmentCli.getEnvTrackingInfo)(slug);
39
- await (0, _tracker.trackEvent)('dev_env_update_command_execute', trackingInfo);
40
- try {
41
- const environmentAlreadyExists = await (0, _devEnvironmentCore.doesEnvironmentExist)((0, _devEnvironmentCore.getEnvironmentPath)(slug));
42
- if (!environmentAlreadyExists) {
43
- throw new Error(_devEnvironment.DEV_ENVIRONMENT_NOT_FOUND);
40
+ const slug = await (0, dev_environment_cli_1.getEnvironmentName)(opt);
41
+ const lando = await (0, dev_environment_lando_1.bootstrapLando)({ logFile: (0, dev_environment_cli_1.getDevEnvLogFile)(slug) });
42
+ (0, dev_environment_cli_1.validateDependencies)(lando);
43
+ const trackingInfo = (0, dev_environment_cli_1.getEnvTrackingInfo)(slug);
44
+ await (0, tracker_1.trackEvent)('dev_env_update_command_execute', trackingInfo);
45
+ try {
46
+ const environmentAlreadyExists = await (0, dev_environment_core_1.doesEnvironmentExist)((0, dev_environment_core_1.getEnvironmentPath)(slug));
47
+ if (!environmentAlreadyExists) {
48
+ throw new Error(dev_environment_1.DEV_ENVIRONMENT_NOT_FOUND);
49
+ }
50
+ const currentInstanceData = (0, dev_environment_core_1.readEnvironmentData)(slug);
51
+ debug('Read instance data', currentInstanceData);
52
+ (0, dev_environment_cli_1.ensureValidPathsInOptions)(opt);
53
+ /** @type {InstanceOptions} */
54
+ const preselectedOptions = {
55
+ title: currentInstanceData.wpTitle,
56
+ multisite: currentInstanceData.multisite,
57
+ ...opt,
58
+ };
59
+ const configurationFileOptions = await (0, dev_environment_configuration_file_1.getConfigurationFileOptions)();
60
+ const finalPreselectedOptions = (0, dev_environment_configuration_file_1.mergeConfigurationFileOptions)(preselectedOptions, configurationFileOptions);
61
+ /** @type {InstanceOptions} */
62
+ const defaultOptions = {
63
+ appCode: currentInstanceData.appCode.dir || currentInstanceData.appCode.tag || 'demo',
64
+ muPlugins: currentInstanceData.muPlugins.dir || currentInstanceData.muPlugins.tag || 'demo',
65
+ wordpress: currentInstanceData.wordpress.tag || 'trunk',
66
+ elasticsearch: currentInstanceData.elasticsearch,
67
+ php: currentInstanceData.php ||
68
+ dev_environment_1.DEV_ENVIRONMENT_PHP_VERSIONS[dev_environment_1.DEV_ENVIRONMENT_DEFAULT_PHP_VERSION].image,
69
+ mariadb: currentInstanceData.mariadb,
70
+ phpmyadmin: currentInstanceData.phpmyadmin,
71
+ xdebug: currentInstanceData.xdebug,
72
+ mailpit: currentInstanceData.mailpit,
73
+ photon: currentInstanceData.photon,
74
+ mediaRedirectDomain: currentInstanceData.mediaRedirectDomain,
75
+ multisite: false,
76
+ title: '',
77
+ cron: currentInstanceData.cron,
78
+ adminPassword: currentInstanceData.adminPassword,
79
+ };
80
+ const suppressPrompts = !process.stdin.isTTY;
81
+ const instanceData = await (0, dev_environment_cli_1.promptForArguments)(finalPreselectedOptions, defaultOptions, suppressPrompts, false);
82
+ instanceData.siteSlug = slug;
83
+ await (0, dev_environment_core_1.updateEnvironment)(lando, instanceData);
84
+ const message = '\n' +
85
+ chalk_1.default.green('✓') +
86
+ ' environment updated. Please start environment again for changes to take effect: ' +
87
+ chalk_1.default.bold(`vip dev-env --slug ${slug} start`);
88
+ console.log(message);
89
+ await (0, tracker_1.trackEvent)('dev_env_update_command_success', trackingInfo);
44
90
  }
45
- const currentInstanceData = (0, _devEnvironmentCore.readEnvironmentData)(slug);
46
- debug('Read instance data', currentInstanceData);
47
- (0, _devEnvironmentCli.ensureValidPathsInOptions)(opt);
48
-
49
- /** @type {InstanceOptions} */
50
- const preselectedOptions = {
51
- title: currentInstanceData.wpTitle,
52
- multisite: currentInstanceData.multisite,
53
- ...opt
54
- };
55
- const configurationFileOptions = await (0, _devEnvironmentConfigurationFile.getConfigurationFileOptions)();
56
- const finalPreselectedOptions = (0, _devEnvironmentConfigurationFile.mergeConfigurationFileOptions)(preselectedOptions, configurationFileOptions);
57
-
58
- /** @type {InstanceOptions} */
59
- const defaultOptions = {
60
- appCode: currentInstanceData.appCode.dir || currentInstanceData.appCode.tag || 'demo',
61
- muPlugins: currentInstanceData.muPlugins.dir || currentInstanceData.muPlugins.tag || 'demo',
62
- wordpress: currentInstanceData.wordpress.tag || 'trunk',
63
- elasticsearch: currentInstanceData.elasticsearch,
64
- php: currentInstanceData.php || _devEnvironment.DEV_ENVIRONMENT_PHP_VERSIONS[_devEnvironment.DEV_ENVIRONMENT_DEFAULT_PHP_VERSION].image,
65
- mariadb: currentInstanceData.mariadb,
66
- phpmyadmin: currentInstanceData.phpmyadmin,
67
- xdebug: currentInstanceData.xdebug,
68
- mailpit: currentInstanceData.mailpit,
69
- photon: currentInstanceData.photon,
70
- mediaRedirectDomain: currentInstanceData.mediaRedirectDomain,
71
- multisite: false,
72
- title: '',
73
- cron: currentInstanceData.cron,
74
- adminPassword: currentInstanceData.adminPassword
75
- };
76
- const suppressPrompts = !process.stdin.isTTY;
77
- const instanceData = await (0, _devEnvironmentCli.promptForArguments)(finalPreselectedOptions, defaultOptions, suppressPrompts, false);
78
- instanceData.siteSlug = slug;
79
- await (0, _devEnvironmentCore.updateEnvironment)(lando, instanceData);
80
- const message = '\n' + _chalk.default.green('✓') + ' environment updated. Please start environment again for changes to take effect: ' + _chalk.default.bold(`vip dev-env --slug ${slug} start`);
81
- console.log(message);
82
- await (0, _tracker.trackEvent)('dev_env_update_command_success', trackingInfo);
83
- } catch (error) {
84
- if ('ENOENT' === error.code) {
85
- const message = 'Environment was created before update was supported.\n\nTo update environment please destroy it and create a new one.';
86
- await (0, _devEnvironmentCli.handleCLIException)(new Error(message), 'dev_env_update_command_error', trackingInfo);
87
- } else {
88
- await (0, _devEnvironmentCli.handleCLIException)(error, 'dev_env_update_command_error', trackingInfo);
91
+ catch (error) {
92
+ if ('ENOENT' === error.code) {
93
+ const message = 'Environment was created before update was supported.\n\nTo update environment please destroy it and create a new one.';
94
+ await (0, dev_environment_cli_1.handleCLIException)(new Error(message), 'dev_env_update_command_error', trackingInfo);
95
+ }
96
+ else {
97
+ await (0, dev_environment_cli_1.handleCLIException)(error, 'dev_env_update_command_error', trackingInfo);
98
+ }
99
+ process.exitCode = 1;
89
100
  }
90
- process.exitCode = 1;
91
- }
92
- });
101
+ });
@@ -1,12 +1,29 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
-
4
- var _command = _interopRequireDefault(require("../lib/cli/command"));
5
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const command_1 = __importDefault(require("../lib/cli/command"));
6
8
  if (process.getuid?.() === 0) {
7
- console.error('This script should not be run as root. Exiting.');
8
- process.exit(1);
9
+ console.error('This script should not be run as root. Exiting.');
10
+ process.exit(1);
9
11
  }
10
- (0, _command.default)({
11
- requiredArgs: 0
12
- }).command('create', 'Create a new local environment.').command('update', 'Update the settings of a local environment.').command('start', 'Start a local environment.').command('stop', 'Stop a local environment.').command('destroy', 'Remove a local environment.').command('info', 'Retrieve information about a local environment.').command('list', 'Retrieve information about all local environments.').command('exec', 'Run a WP-CLI command against a local environment.').command('import', 'Import media or database files to a local environment.').command('shell', 'Create a shell and run commands against a local environment.').command('logs', 'Retrieve logs for a local environment.').command('sync', 'Sync the database of a VIP Platform environment to a local environment.').command('purge', 'Remove all local environments.').command('envvar', 'Manage environment variables for a local environment.').argv(process.argv);
12
+ (0, command_1.default)({
13
+ requiredArgs: 0,
14
+ })
15
+ .command('create', 'Create a new local environment.')
16
+ .command('update', 'Update the settings of a local environment.')
17
+ .command('start', 'Start a local environment.')
18
+ .command('stop', 'Stop a local environment.')
19
+ .command('destroy', 'Remove a local environment.')
20
+ .command('info', 'Retrieve information about a local environment.')
21
+ .command('list', 'Retrieve information about all local environments.')
22
+ .command('exec', 'Run a WP-CLI command against a local environment.')
23
+ .command('import', 'Import media or database files to a local environment.')
24
+ .command('shell', 'Create a shell and run commands against a local environment.')
25
+ .command('logs', 'Retrieve logs for a local environment.')
26
+ .command('sync', 'Sync the database of a VIP Platform environment to a local environment.')
27
+ .command('purge', 'Remove all local environments.')
28
+ .command('envvar', 'Manage environment variables for a local environment.')
29
+ .argv(process.argv);