@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,18 +1,19 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.triggerUpdate = exports.promptForUpdate = exports.getUpdateResult = exports.getRunningPhpVersion = exports.formatSoftwareSettings = exports.appQueryFragments = exports.appQuery = void 0;
5
- var _debug = _interopRequireDefault(require("debug"));
6
- var _enquirer = require("enquirer");
7
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
8
- var _promises = require("node:timers/promises");
9
- var _api = _interopRequireDefault(require("../api"));
10
- var _app = require("../app");
11
- var _userError = _interopRequireDefault(require("../user-error"));
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatSoftwareSettings = exports.getUpdateResult = exports.getRunningPhpVersion = exports.triggerUpdate = exports.promptForUpdate = exports.appQueryFragments = exports.appQuery = void 0;
7
+ const debug_1 = __importDefault(require("debug"));
8
+ const enquirer_1 = require("enquirer");
9
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
10
+ const promises_1 = require("node:timers/promises");
11
+ const api_1 = __importDefault(require("../api"));
12
+ const app_1 = require("../app");
13
+ const user_error_1 = __importDefault(require("../user-error"));
13
14
  const UPDATE_PROGRESS_POLL_INTERVAL = 5;
14
- const debug = (0, _debug.default)('@automattic/vip:bin:config-software');
15
- const appQuery = exports.appQuery = `
15
+ const debug = (0, debug_1.default)('@automattic/vip:bin:config-software');
16
+ exports.appQuery = `
16
17
  id,
17
18
  name,
18
19
  type,
@@ -39,7 +40,7 @@ const appQuery = exports.appQuery = `
39
40
  }
40
41
  }
41
42
  }`;
42
- const appQueryFragments = exports.appQueryFragments = (0, _graphqlTag.default)`
43
+ exports.appQueryFragments = (0, graphql_tag_1.default) `
43
44
  fragment Software on AppEnvironmentSoftwareSettingsSoftware {
44
45
  name
45
46
  slug
@@ -64,7 +65,7 @@ const appQueryFragments = exports.appQueryFragments = (0, _graphqlTag.default)`
64
65
  }
65
66
  }
66
67
  `;
67
- const updateSoftwareMutation = (0, _graphqlTag.default)`
68
+ const updateSoftwareMutation = (0, graphql_tag_1.default) `
68
69
  mutation UpdateSoftwareSettings(
69
70
  $appId: Int!
70
71
  $envId: Int!
@@ -93,9 +94,9 @@ const updateSoftwareMutation = (0, _graphqlTag.default)`
93
94
  }
94
95
  }
95
96
  }
96
- ${appQueryFragments}
97
+ ${exports.appQueryFragments}
97
98
  `;
98
- const updateJobQuery = (0, _graphqlTag.default)`
99
+ const updateJobQuery = (0, graphql_tag_1.default) `
99
100
  query UpdateJob($appId: Int!, $envId: Int!) {
100
101
  app(id: $appId) {
101
102
  environments(id: $envId) {
@@ -117,9 +118,8 @@ const updateJobQuery = (0, _graphqlTag.default)`
117
118
  }
118
119
  }
119
120
  `;
120
-
121
121
  // Only `config software get php` asks for this: Parker reads it from the environment's Kubernetes pods.
122
- const runningPhpVersionQuery = (0, _graphqlTag.default)`
122
+ const runningPhpVersionQuery = (0, graphql_tag_1.default) `
123
123
  query SoftwareRunningPhpVersion($appId: Int!, $envId: Int!) {
124
124
  app(id: $appId) {
125
125
  environments(id: $envId) {
@@ -133,230 +133,224 @@ const runningPhpVersionQuery = (0, _graphqlTag.default)`
133
133
  }
134
134
  `;
135
135
  const COMPONENT_NAMES = {
136
- wordpress: 'WordPress',
137
- php: 'PHP',
138
- muplugins: 'MU Plugins',
139
- nodejs: 'Node.js'
136
+ wordpress: 'WordPress',
137
+ php: 'PHP',
138
+ muplugins: 'MU Plugins',
139
+ nodejs: 'Node.js',
140
140
  };
141
141
  const MANAGED_OPTION_KEY = 'managed_latest';
142
- const _optionsForVersion = softwareSettings => {
143
- const {
144
- options,
145
- current,
146
- pinned,
147
- slug
148
- } = softwareSettings;
149
- const versionChoices = {
150
- managed: [],
151
- supported: [],
152
- test: [],
153
- deprecated: []
154
- };
155
- for (const option of options) {
156
- if (option.deprecated) {
157
- versionChoices.deprecated.push({
158
- message: `${option.version} (deprecated)`,
159
- value: option.version,
160
- deprecated: option.deprecated
161
- });
162
- } else if (option.unstable) {
163
- versionChoices.test.push({
164
- message: `${option.version} (test)`,
165
- value: option.version,
166
- deprecated: option.deprecated
167
- });
168
- } else {
169
- versionChoices.supported.push({
170
- message: option.version,
171
- value: option.version,
172
- deprecated: option.deprecated
173
- });
142
+ const _optionsForVersion = (softwareSettings) => {
143
+ const { options, current, pinned, slug } = softwareSettings;
144
+ const versionChoices = {
145
+ managed: [],
146
+ supported: [],
147
+ test: [],
148
+ deprecated: [],
149
+ };
150
+ for (const option of options) {
151
+ if (option.deprecated) {
152
+ versionChoices.deprecated.push({
153
+ message: `${option.version} (deprecated)`,
154
+ value: option.version,
155
+ deprecated: option.deprecated,
156
+ });
157
+ }
158
+ else if (option.unstable) {
159
+ versionChoices.test.push({
160
+ message: `${option.version} (test)`,
161
+ value: option.version,
162
+ deprecated: option.deprecated,
163
+ });
164
+ }
165
+ else {
166
+ versionChoices.supported.push({
167
+ message: option.version,
168
+ value: option.version,
169
+ deprecated: option.deprecated,
170
+ });
171
+ }
174
172
  }
175
- }
176
- if (slug === 'wordpress') {
177
- versionChoices.managed.push({
178
- message: 'Managed updates',
179
- value: MANAGED_OPTION_KEY
180
- });
181
- }
182
- const allOptions = [...versionChoices.managed, ...versionChoices.supported, ...versionChoices.test, ...versionChoices.deprecated];
183
- return allOptions.map(option => {
184
- const isActivePinned = option.value === MANAGED_OPTION_KEY && !pinned;
185
- const isActiveVersion = option.value === current.version && pinned;
186
- if (isActivePinned || isActiveVersion) {
187
- return {
188
- message: `Active: ${option.message}`,
189
- value: option.value,
190
- disabled: true
191
- };
173
+ if (slug === 'wordpress') {
174
+ versionChoices.managed.push({
175
+ message: 'Managed updates',
176
+ value: MANAGED_OPTION_KEY,
177
+ });
192
178
  }
193
- return option;
194
- });
179
+ const allOptions = [
180
+ ...versionChoices.managed,
181
+ ...versionChoices.supported,
182
+ ...versionChoices.test,
183
+ ...versionChoices.deprecated,
184
+ ];
185
+ return allOptions.map(option => {
186
+ const isActivePinned = option.value === MANAGED_OPTION_KEY && !pinned;
187
+ const isActiveVersion = option.value === current.version && pinned;
188
+ if (isActivePinned || isActiveVersion) {
189
+ return {
190
+ message: `Active: ${option.message}`,
191
+ value: option.value,
192
+ disabled: true,
193
+ };
194
+ }
195
+ return option;
196
+ });
195
197
  };
196
198
  const _processComponent = (appTypeId, userProvidedComponent) => {
197
- const validComponents = [];
198
- if ((0, _app.isAppWordPress)(appTypeId)) {
199
- validComponents.push('wordpress', 'php', 'muplugins');
200
- } else if ((0, _app.isAppNodejs)(appTypeId)) {
201
- validComponents.push('nodejs');
202
- }
203
- if (userProvidedComponent) {
204
- if (!validComponents.includes(userProvidedComponent)) {
205
- throw new _userError.default(`Component ${userProvidedComponent} is not supported. Use one of: ${validComponents.join(',')}`);
199
+ const validComponents = [];
200
+ if ((0, app_1.isAppWordPress)(appTypeId)) {
201
+ validComponents.push('wordpress', 'php', 'muplugins');
202
+ }
203
+ else if ((0, app_1.isAppNodejs)(appTypeId)) {
204
+ validComponents.push('nodejs');
205
+ }
206
+ if (userProvidedComponent) {
207
+ if (!validComponents.includes(userProvidedComponent)) {
208
+ throw new user_error_1.default(`Component ${userProvidedComponent} is not supported. Use one of: ${validComponents.join(',')}`);
209
+ }
210
+ return Promise.resolve(userProvidedComponent);
211
+ }
212
+ if (validComponents.length === 0) {
213
+ throw new user_error_1.default('No components are supported for this application');
214
+ }
215
+ if (validComponents.length === 1) {
216
+ return Promise.resolve(validComponents[0]);
206
217
  }
207
- return Promise.resolve(userProvidedComponent);
208
- }
209
- if (validComponents.length === 0) {
210
- throw new _userError.default('No components are supported for this application');
211
- }
212
- if (validComponents.length === 1) {
213
- return Promise.resolve(validComponents[0]);
214
- }
215
- const choices = validComponents.map(item => ({
216
- message: COMPONENT_NAMES[item],
217
- value: item
218
- }));
219
- const select = new _enquirer.Select({
220
- message: 'Component to update',
221
- choices
222
- });
223
- return select.run().catch(() => {
224
- throw new _userError.default('Command cancelled by user.');
225
- });
218
+ const choices = validComponents.map(item => ({
219
+ message: COMPONENT_NAMES[item],
220
+ value: item,
221
+ }));
222
+ const select = new enquirer_1.Select({
223
+ message: 'Component to update',
224
+ choices,
225
+ });
226
+ return select.run().catch(() => {
227
+ throw new user_error_1.default('Command cancelled by user.');
228
+ });
226
229
  };
227
230
  const _processComponentVersion = (softwareSettings, component, userProvidedVersion) => {
228
- const versionChoices = _optionsForVersion(softwareSettings[component]);
229
- if (userProvidedVersion) {
230
- const validValues = versionChoices.map(item => item.value);
231
- if (!validValues.includes(userProvidedVersion)) {
232
- throw new _userError.default(`Version ${userProvidedVersion} is not supported for ${COMPONENT_NAMES[component]}. Use one of: ${validValues.join(',')}`);
231
+ const versionChoices = _optionsForVersion(softwareSettings[component]);
232
+ if (userProvidedVersion) {
233
+ const validValues = versionChoices.map(item => item.value);
234
+ if (!validValues.includes(userProvidedVersion)) {
235
+ throw new user_error_1.default(`Version ${userProvidedVersion} is not supported for ${COMPONENT_NAMES[component]}. Use one of: ${validValues.join(',')}`);
236
+ }
237
+ return Promise.resolve(userProvidedVersion);
233
238
  }
234
- return Promise.resolve(userProvidedVersion);
235
- }
236
- const versionSelect = new _enquirer.Select({
237
- message: `Version for ${COMPONENT_NAMES[component]} to upgrade to`,
238
- choices: versionChoices
239
- });
240
- return versionSelect.run().catch(() => {
241
- throw new _userError.default('Command cancelled by user.');
242
- });
239
+ const versionSelect = new enquirer_1.Select({
240
+ message: `Version for ${COMPONENT_NAMES[component]} to upgrade to`,
241
+ choices: versionChoices,
242
+ });
243
+ return versionSelect.run().catch(() => {
244
+ throw new user_error_1.default('Command cancelled by user.');
245
+ });
243
246
  };
244
247
  const promptForUpdate = async (appTypeId, opts, softwareSettings) => {
245
- const component = await _processComponent(appTypeId, opts.component);
246
- const version = await _processComponentVersion(softwareSettings, component, opts.version);
247
- const confirm = opts.force || (
248
- // NOSONAR
249
- await new _enquirer.Confirm({
250
- message: `Are you sure you want to upgrade ${COMPONENT_NAMES[component]} to ${version}?`
251
- }).run().catch(() => {
252
- throw new _userError.default('Command cancelled by user.');
253
- }));
254
- if (confirm) {
255
- return {
256
- component,
257
- version
258
- };
259
- }
260
- throw new _userError.default('Update canceled');
248
+ const component = await _processComponent(appTypeId, opts.component);
249
+ const version = await _processComponentVersion(softwareSettings, component, opts.version);
250
+ const confirm = opts.force || // NOSONAR
251
+ (await new enquirer_1.Confirm({
252
+ message: `Are you sure you want to upgrade ${COMPONENT_NAMES[component]} to ${version}?`,
253
+ })
254
+ .run()
255
+ .catch(() => {
256
+ throw new user_error_1.default('Command cancelled by user.');
257
+ }));
258
+ if (confirm) {
259
+ return {
260
+ component,
261
+ version,
262
+ };
263
+ }
264
+ throw new user_error_1.default('Update canceled');
261
265
  };
262
266
  exports.promptForUpdate = promptForUpdate;
263
- const triggerUpdate = async variables => {
264
- debug('Triggering update', variables);
265
- const api = (0, _api.default)();
266
- return api.mutate({
267
- mutation: updateSoftwareMutation,
268
- variables
269
- });
267
+ const triggerUpdate = async (variables) => {
268
+ debug('Triggering update', variables);
269
+ const api = (0, api_1.default)();
270
+ return api.mutate({ mutation: updateSoftwareMutation, variables });
270
271
  };
271
-
272
+ exports.triggerUpdate = triggerUpdate;
272
273
  /**
273
274
  * The full PHP version running on the environment (e.g. 8.2.35), or null when Parker can't
274
275
  * determine it. Errors fall back to the configured version instead of failing the command.
275
276
  */
276
- exports.triggerUpdate = triggerUpdate;
277
277
  const getRunningPhpVersion = async (appId, envId) => {
278
- try {
279
- const api = (0, _api.default)({
280
- exitOnError: false
281
- });
282
- const result = await api.query({
283
- query: runningPhpVersionQuery,
284
- variables: {
285
- appId,
286
- envId
287
- },
288
- fetchPolicy: 'network-only'
289
- });
290
- return result.data?.app?.environments?.[0]?.softwareSettings?.php?.runningVersion ?? null;
291
- } catch (error) {
292
- debug('Unable to fetch the running PHP version', error);
293
- return null;
294
- }
278
+ try {
279
+ const api = (0, api_1.default)({ exitOnError: false });
280
+ const result = await api.query({
281
+ query: runningPhpVersionQuery,
282
+ variables: { appId, envId },
283
+ fetchPolicy: 'network-only',
284
+ });
285
+ return result.data?.app?.environments?.[0]?.softwareSettings?.php?.runningVersion ?? null;
286
+ }
287
+ catch (error) {
288
+ debug('Unable to fetch the running PHP version', error);
289
+ return null;
290
+ }
295
291
  };
296
292
  exports.getRunningPhpVersion = getRunningPhpVersion;
297
293
  const _getLatestJob = async (appId, envId) => {
298
- const api = (0, _api.default)();
299
- const result = await api.query({
300
- query: updateJobQuery,
301
- variables: {
302
- appId,
303
- envId
304
- },
305
- fetchPolicy: 'network-only'
306
- });
307
- const jobs = result.data?.app?.environments?.[0]?.jobs ?? [];
308
- if (jobs.length) {
309
- return jobs.reduce((prev, current) => (prev?.createdAt || '') > (current?.createdAt || '') ? prev : current);
310
- }
311
- return null;
294
+ const api = (0, api_1.default)();
295
+ const result = await api.query({
296
+ query: updateJobQuery,
297
+ variables: { appId, envId },
298
+ fetchPolicy: 'network-only',
299
+ });
300
+ const jobs = result.data?.app?.environments?.[0]?.jobs ?? [];
301
+ if (jobs.length) {
302
+ return jobs.reduce((prev, current) => (prev?.createdAt || '') > (current?.createdAt || '') ? prev : current);
303
+ }
304
+ return null;
312
305
  };
313
306
  const _getCompletedJob = async (appId, envId) => {
314
- const latestJob = await _getLatestJob(appId, envId);
315
- debug('Latest job result:', latestJob);
316
- if (!latestJob?.inProgressLock) {
317
- return latestJob;
318
- }
319
- debug(`Sleep for ${UPDATE_PROGRESS_POLL_INTERVAL} seconds`);
320
- await (0, _promises.setTimeout)(UPDATE_PROGRESS_POLL_INTERVAL * 1000);
321
- return _getCompletedJob(appId, envId);
307
+ const latestJob = await _getLatestJob(appId, envId);
308
+ debug('Latest job result:', latestJob);
309
+ if (!latestJob?.inProgressLock) {
310
+ return latestJob;
311
+ }
312
+ debug(`Sleep for ${UPDATE_PROGRESS_POLL_INTERVAL} seconds`);
313
+ await (0, promises_1.setTimeout)(UPDATE_PROGRESS_POLL_INTERVAL * 1000);
314
+ return _getCompletedJob(appId, envId);
322
315
  };
323
316
  const getUpdateResult = async (appId, envId) => {
324
- debug('Getting update result', {
325
- appId,
326
- envId
327
- });
328
- const completedJob = await _getCompletedJob(appId, envId);
329
- const success = !completedJob || completedJob.progress?.status === 'success';
330
- if (success) {
317
+ debug('Getting update result', { appId, envId });
318
+ const completedJob = await _getCompletedJob(appId, envId);
319
+ const success = !completedJob || completedJob.progress?.status === 'success';
320
+ if (success) {
321
+ return {
322
+ ok: true,
323
+ };
324
+ }
325
+ const failedStep = completedJob.progress?.steps?.find(step => step?.status === 'failed');
326
+ const error = failedStep
327
+ ? `Failed during step: ${failedStep.name}`
328
+ : 'Software update failed';
331
329
  return {
332
- ok: true
330
+ ok: false,
331
+ errorMessage: error,
333
332
  };
334
- }
335
- const failedStep = completedJob.progress?.steps?.find(step => step?.status === 'failed');
336
- const error = failedStep ? `Failed during step: ${failedStep.name}` : 'Software update failed';
337
- return {
338
- ok: false,
339
- errorMessage: error
340
- };
341
333
  };
342
334
  exports.getUpdateResult = getUpdateResult;
343
335
  const formatSoftwareSettings = (softwareSetting, includes, format) => {
344
- let version = softwareSetting.runningVersion || softwareSetting.current.version;
345
- if (softwareSetting.slug === 'wordpress' && !softwareSetting.pinned) {
346
- version += ' (managed updates)';
347
- }
348
- const result = {
349
- name: softwareSetting.name,
350
- slug: softwareSetting.slug,
351
- version
352
- };
353
- if (includes.includes('available_versions')) {
354
- result.available_versions = _optionsForVersion(softwareSetting).filter(option => !option.deprecated).map(option => option.value);
355
- if (format !== 'json') {
356
- result.available_versions.sort((lhs, rhs) => lhs.localeCompare(rhs));
357
- result.available_versions = result.available_versions.join(',');
336
+ let version = softwareSetting.runningVersion || softwareSetting.current.version;
337
+ if (softwareSetting.slug === 'wordpress' && !softwareSetting.pinned) {
338
+ version += ' (managed updates)';
339
+ }
340
+ const result = {
341
+ name: softwareSetting.name,
342
+ slug: softwareSetting.slug,
343
+ version,
344
+ };
345
+ if (includes.includes('available_versions')) {
346
+ result.available_versions = _optionsForVersion(softwareSetting)
347
+ .filter(option => !option.deprecated)
348
+ .map(option => option.value);
349
+ if (format !== 'json') {
350
+ result.available_versions.sort((lhs, rhs) => lhs.localeCompare(rhs));
351
+ result.available_versions = result.available_versions.join(',');
352
+ }
358
353
  }
359
- }
360
- return result;
354
+ return result;
361
355
  };
362
- exports.formatSoftwareSettings = formatSoftwareSettings;
356
+ exports.formatSoftwareSettings = formatSoftwareSettings;
@@ -1,40 +1,43 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.DEV_ENVIRONMENT_WORDPRESS_VERSION_TTL = exports.DEV_ENVIRONMENT_WORDPRESS_VERSIONS_URI = exports.DEV_ENVIRONMENT_WORDPRESS_CACHE_KEY = exports.DEV_ENVIRONMENT_VERSION = exports.DEV_ENVIRONMENT_SUBCOMMAND = exports.DEV_ENVIRONMENT_RAW_GITHUB_HOST = exports.DEV_ENVIRONMENT_PROMPT_INTRO = exports.DEV_ENVIRONMENT_PHP_VERSIONS = exports.DEV_ENVIRONMENT_NOT_FOUND = exports.DEV_ENVIRONMENT_FULL_COMMAND = exports.DEV_ENVIRONMENT_DEFAULT_PHP_VERSION = exports.DEV_ENVIRONMENT_DEFAULTS = exports.DEV_ENVIRONMENT_COMPONENTS_WITH_WP = exports.DEV_ENVIRONMENT_COMPONENTS = void 0;
5
- const DEV_ENVIRONMENT_SUBCOMMAND = exports.DEV_ENVIRONMENT_SUBCOMMAND = 'dev-env';
6
- const DEV_ENVIRONMENT_FULL_COMMAND = exports.DEV_ENVIRONMENT_FULL_COMMAND = `vip ${DEV_ENVIRONMENT_SUBCOMMAND}`;
7
- const DEV_ENVIRONMENT_PROMPT_INTRO = exports.DEV_ENVIRONMENT_PROMPT_INTRO = 'This is a wizard to help you set up your local dev environment.\n\n' + 'Sensible default values were pre-selected for convenience. ' + 'You may also choose to create multiple environments with different settings using the --slug option.\n\n';
8
- const DEV_ENVIRONMENT_NOT_FOUND = exports.DEV_ENVIRONMENT_NOT_FOUND = 'Environment not found.';
9
- const DEV_ENVIRONMENT_COMPONENTS = exports.DEV_ENVIRONMENT_COMPONENTS = ['appCode', 'muPlugins'];
10
- const DEV_ENVIRONMENT_COMPONENTS_WITH_WP = exports.DEV_ENVIRONMENT_COMPONENTS_WITH_WP = ['wordpress', ...DEV_ENVIRONMENT_COMPONENTS];
11
- const DEV_ENVIRONMENT_RAW_GITHUB_HOST = exports.DEV_ENVIRONMENT_RAW_GITHUB_HOST = 'raw.githubusercontent.com';
12
- const DEV_ENVIRONMENT_WORDPRESS_VERSIONS_URI = exports.DEV_ENVIRONMENT_WORDPRESS_VERSIONS_URI = '/Automattic/vip-container-images/master/wordpress/versions.json';
13
- const DEV_ENVIRONMENT_WORDPRESS_CACHE_KEY = exports.DEV_ENVIRONMENT_WORDPRESS_CACHE_KEY = 'wordpress-versions.json';
14
- const DEV_ENVIRONMENT_WORDPRESS_VERSION_TTL = exports.DEV_ENVIRONMENT_WORDPRESS_VERSION_TTL = 86400; // once per day
15
-
16
- const DEV_ENVIRONMENT_PHP_VERSIONS = exports.DEV_ENVIRONMENT_PHP_VERSIONS = {
17
- '8.2': {
18
- image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.2',
19
- label: '8.2'
20
- },
21
- '8.3': {
22
- image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.3',
23
- label: '8.3'
24
- },
25
- '8.4': {
26
- image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.4',
27
- label: '8.4'
28
- },
29
- '8.5': {
30
- image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.5',
31
- label: '8.5 (experimental)'
32
- }
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEV_ENVIRONMENT_VERSION = exports.DEV_ENVIRONMENT_DEFAULTS = exports.DEV_ENVIRONMENT_DEFAULT_PHP_VERSION = exports.DEV_ENVIRONMENT_PHP_VERSIONS = exports.DEV_ENVIRONMENT_WORDPRESS_VERSION_TTL = exports.DEV_ENVIRONMENT_WORDPRESS_CACHE_KEY = exports.DEV_ENVIRONMENT_WORDPRESS_VERSIONS_URI = exports.DEV_ENVIRONMENT_RAW_GITHUB_HOST = exports.DEV_ENVIRONMENT_COMPONENTS_WITH_WP = exports.DEV_ENVIRONMENT_COMPONENTS = exports.DEV_ENVIRONMENT_NOT_FOUND = exports.DEV_ENVIRONMENT_PROMPT_INTRO = exports.DEV_ENVIRONMENT_FULL_COMMAND = exports.DEV_ENVIRONMENT_SUBCOMMAND = void 0;
4
+ exports.DEV_ENVIRONMENT_SUBCOMMAND = 'dev-env';
5
+ exports.DEV_ENVIRONMENT_FULL_COMMAND = `vip ${exports.DEV_ENVIRONMENT_SUBCOMMAND}`;
6
+ exports.DEV_ENVIRONMENT_PROMPT_INTRO = 'This is a wizard to help you set up your local dev environment.\n\n' +
7
+ 'Sensible default values were pre-selected for convenience. ' +
8
+ 'You may also choose to create multiple environments with different settings using the --slug option.\n\n';
9
+ exports.DEV_ENVIRONMENT_NOT_FOUND = 'Environment not found.';
10
+ exports.DEV_ENVIRONMENT_COMPONENTS = ['appCode', 'muPlugins'];
11
+ exports.DEV_ENVIRONMENT_COMPONENTS_WITH_WP = [
12
+ 'wordpress',
13
+ ...exports.DEV_ENVIRONMENT_COMPONENTS,
14
+ ];
15
+ exports.DEV_ENVIRONMENT_RAW_GITHUB_HOST = 'raw.githubusercontent.com';
16
+ exports.DEV_ENVIRONMENT_WORDPRESS_VERSIONS_URI = '/Automattic/vip-container-images/master/wordpress/versions.json';
17
+ exports.DEV_ENVIRONMENT_WORDPRESS_CACHE_KEY = 'wordpress-versions.json';
18
+ exports.DEV_ENVIRONMENT_WORDPRESS_VERSION_TTL = 86400; // once per day
19
+ exports.DEV_ENVIRONMENT_PHP_VERSIONS = {
20
+ '8.2': {
21
+ image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.2',
22
+ label: '8.2',
23
+ },
24
+ '8.3': {
25
+ image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.3',
26
+ label: '8.3',
27
+ },
28
+ '8.4': {
29
+ image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.4',
30
+ label: '8.4',
31
+ },
32
+ '8.5': {
33
+ image: 'ghcr.io/automattic/vip-container-images/php-fpm:8.5',
34
+ label: '8.5 (experimental)',
35
+ },
33
36
  };
34
- const DEV_ENVIRONMENT_DEFAULT_PHP_VERSION = exports.DEV_ENVIRONMENT_DEFAULT_PHP_VERSION = '8.4';
35
- const DEV_ENVIRONMENT_DEFAULTS = exports.DEV_ENVIRONMENT_DEFAULTS = {
36
- title: 'VIP Dev',
37
- multisite: false,
38
- phpVersion: DEV_ENVIRONMENT_DEFAULT_PHP_VERSION
37
+ exports.DEV_ENVIRONMENT_DEFAULT_PHP_VERSION = '8.4';
38
+ exports.DEV_ENVIRONMENT_DEFAULTS = {
39
+ title: 'VIP Dev',
40
+ multisite: false,
41
+ phpVersion: exports.DEV_ENVIRONMENT_DEFAULT_PHP_VERSION,
39
42
  };
40
- const DEV_ENVIRONMENT_VERSION = exports.DEV_ENVIRONMENT_VERSION = '2.3.4';
43
+ exports.DEV_ENVIRONMENT_VERSION = '2.3.5';
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.TB_IN_BYTES = exports.MB_IN_BYTES = exports.KB_IN_BYTES = exports.GB_IN_BYTES = void 0;
5
- const KB_IN_BYTES = exports.KB_IN_BYTES = 1024;
6
- const MB_IN_BYTES = exports.MB_IN_BYTES = 1024 * KB_IN_BYTES;
7
- const GB_IN_BYTES = exports.GB_IN_BYTES = 1024 * MB_IN_BYTES;
8
- const TB_IN_BYTES = exports.TB_IN_BYTES = 1024 * GB_IN_BYTES;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TB_IN_BYTES = exports.GB_IN_BYTES = exports.MB_IN_BYTES = exports.KB_IN_BYTES = void 0;
4
+ exports.KB_IN_BYTES = 1024;
5
+ exports.MB_IN_BYTES = 1024 * exports.KB_IN_BYTES;
6
+ exports.GB_IN_BYTES = 1024 * exports.MB_IN_BYTES;
7
+ exports.TB_IN_BYTES = 1024 * exports.GB_IN_BYTES;
@@ -1,13 +1,25 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.WORDPRESS_SITE_TYPE_IDS = exports.WORDPRESS_NON_PROD_APPLICATION_TYPE_ID = exports.WORDPRESS_APPLICATION_TYPE_ID = exports.NODEJS_SITE_TYPE_IDS = exports.NODEJS_REDIS_APPLICATION_TYPE_ID = exports.NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID = exports.NODEJS_MYSQL_APPLICATION_TYPE_ID = exports.NODEJS_APPLICATION_TYPE_ID = exports.DATABASE_APPLICATION_TYPE_IDS = void 0;
5
- const WORDPRESS_APPLICATION_TYPE_ID = exports.WORDPRESS_APPLICATION_TYPE_ID = 2;
6
- const WORDPRESS_NON_PROD_APPLICATION_TYPE_ID = exports.WORDPRESS_NON_PROD_APPLICATION_TYPE_ID = 6;
7
- const WORDPRESS_SITE_TYPE_IDS = exports.WORDPRESS_SITE_TYPE_IDS = [WORDPRESS_APPLICATION_TYPE_ID, WORDPRESS_NON_PROD_APPLICATION_TYPE_ID];
8
- const NODEJS_APPLICATION_TYPE_ID = exports.NODEJS_APPLICATION_TYPE_ID = 3;
9
- const NODEJS_MYSQL_APPLICATION_TYPE_ID = exports.NODEJS_MYSQL_APPLICATION_TYPE_ID = 5;
10
- const NODEJS_REDIS_APPLICATION_TYPE_ID = exports.NODEJS_REDIS_APPLICATION_TYPE_ID = 7;
11
- const NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID = exports.NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID = 8;
12
- const NODEJS_SITE_TYPE_IDS = exports.NODEJS_SITE_TYPE_IDS = [NODEJS_APPLICATION_TYPE_ID, NODEJS_MYSQL_APPLICATION_TYPE_ID, NODEJS_REDIS_APPLICATION_TYPE_ID, NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID];
13
- const DATABASE_APPLICATION_TYPE_IDS = exports.DATABASE_APPLICATION_TYPE_IDS = [WORDPRESS_APPLICATION_TYPE_ID, WORDPRESS_NON_PROD_APPLICATION_TYPE_ID, NODEJS_MYSQL_APPLICATION_TYPE_ID, NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID];
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DATABASE_APPLICATION_TYPE_IDS = exports.NODEJS_SITE_TYPE_IDS = exports.NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID = exports.NODEJS_REDIS_APPLICATION_TYPE_ID = exports.NODEJS_MYSQL_APPLICATION_TYPE_ID = exports.NODEJS_APPLICATION_TYPE_ID = exports.WORDPRESS_SITE_TYPE_IDS = exports.WORDPRESS_NON_PROD_APPLICATION_TYPE_ID = exports.WORDPRESS_APPLICATION_TYPE_ID = void 0;
4
+ exports.WORDPRESS_APPLICATION_TYPE_ID = 2;
5
+ exports.WORDPRESS_NON_PROD_APPLICATION_TYPE_ID = 6;
6
+ exports.WORDPRESS_SITE_TYPE_IDS = [
7
+ exports.WORDPRESS_APPLICATION_TYPE_ID,
8
+ exports.WORDPRESS_NON_PROD_APPLICATION_TYPE_ID,
9
+ ];
10
+ exports.NODEJS_APPLICATION_TYPE_ID = 3;
11
+ exports.NODEJS_MYSQL_APPLICATION_TYPE_ID = 5;
12
+ exports.NODEJS_REDIS_APPLICATION_TYPE_ID = 7;
13
+ exports.NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID = 8;
14
+ exports.NODEJS_SITE_TYPE_IDS = [
15
+ exports.NODEJS_APPLICATION_TYPE_ID,
16
+ exports.NODEJS_MYSQL_APPLICATION_TYPE_ID,
17
+ exports.NODEJS_REDIS_APPLICATION_TYPE_ID,
18
+ exports.NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID,
19
+ ];
20
+ exports.DATABASE_APPLICATION_TYPE_IDS = [
21
+ exports.WORDPRESS_APPLICATION_TYPE_ID,
22
+ exports.WORDPRESS_NON_PROD_APPLICATION_TYPE_ID,
23
+ exports.NODEJS_MYSQL_APPLICATION_TYPE_ID,
24
+ exports.NODEJS_MYSQL_REDIS_APPLICATION_TYPE_ID,
25
+ ];