@automattic/vip 4.1.5 → 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 (1819) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +7 -3
  2. package/config/config.local.json +6 -0
  3. package/dist/bin/vip-app-deploy-token-generate.js +110 -78
  4. package/dist/bin/vip-app-deploy-token.js +24 -16
  5. package/dist/bin/vip-app-deploy-validate.js +45 -41
  6. package/dist/bin/vip-app-deploy.js +222 -215
  7. package/dist/bin/vip-app-list.js +59 -43
  8. package/dist/bin/vip-app.js +97 -66
  9. package/dist/bin/vip-backup-db.js +36 -29
  10. package/dist/bin/vip-backup.js +16 -9
  11. package/dist/bin/vip-cache-purge-url.js +93 -55
  12. package/dist/bin/vip-cache.js +23 -14
  13. package/dist/bin/vip-config-envvar-delete.js +74 -73
  14. package/dist/bin/vip-config-envvar-get-all.js +68 -68
  15. package/dist/bin/vip-config-envvar-get.js +46 -46
  16. package/dist/bin/vip-config-envvar-list.js +54 -57
  17. package/dist/bin/vip-config-envvar-set.js +102 -96
  18. package/dist/bin/vip-config-envvar.js +38 -24
  19. package/dist/bin/vip-config-software-get.js +89 -67
  20. package/dist/bin/vip-config-software-update.js +116 -120
  21. package/dist/bin/vip-config-software.js +31 -21
  22. package/dist/bin/vip-config.js +25 -17
  23. package/dist/bin/vip-db-phpmyadmin.js +40 -39
  24. package/dist/bin/vip-db.js +13 -12
  25. package/dist/bin/vip-defensive-mode-configure.js +197 -197
  26. package/dist/bin/vip-defensive-mode-disable.js +43 -35
  27. package/dist/bin/vip-defensive-mode-enable.js +47 -38
  28. package/dist/bin/vip-defensive-mode.js +28 -17
  29. package/dist/bin/vip-dev-env-create.js +147 -104
  30. package/dist/bin/vip-dev-env-destroy.js +48 -39
  31. package/dist/bin/vip-dev-env-envvar-delete.js +60 -49
  32. package/dist/bin/vip-dev-env-envvar-get-all.js +52 -45
  33. package/dist/bin/vip-dev-env-envvar-get.js +48 -37
  34. package/dist/bin/vip-dev-env-envvar-list.js +48 -41
  35. package/dist/bin/vip-dev-env-envvar-set.js +83 -70
  36. package/dist/bin/vip-dev-env-envvar.js +38 -23
  37. package/dist/bin/vip-dev-env-exec.js +81 -74
  38. package/dist/bin/vip-dev-env-import-media.js +34 -26
  39. package/dist/bin/vip-dev-env-import-sql.js +65 -51
  40. package/dist/bin/vip-dev-env-import.js +23 -14
  41. package/dist/bin/vip-dev-env-info.js +59 -50
  42. package/dist/bin/vip-dev-env-list.js +34 -31
  43. package/dist/bin/vip-dev-env-logs.js +59 -49
  44. package/dist/bin/vip-dev-env-purge.js +71 -63
  45. package/dist/bin/vip-dev-env-shell.js +82 -71
  46. package/dist/bin/vip-dev-env-start.js +77 -65
  47. package/dist/bin/vip-dev-env-stop.js +80 -74
  48. package/dist/bin/vip-dev-env-sync-sql.js +80 -72
  49. package/dist/bin/vip-dev-env-sync.js +18 -11
  50. package/dist/bin/vip-dev-env-update.js +93 -84
  51. package/dist/bin/vip-dev-env.js +25 -8
  52. package/dist/bin/vip-edge-workers-build.js +82 -54
  53. package/dist/bin/vip-edge-workers-delete.js +84 -52
  54. package/dist/bin/vip-edge-workers-deploy.js +186 -126
  55. package/dist/bin/vip-edge-workers-disable.js +75 -44
  56. package/dist/bin/vip-edge-workers-enable.js +86 -54
  57. package/dist/bin/vip-edge-workers-get.js +108 -88
  58. package/dist/bin/vip-edge-workers-init.js +83 -53
  59. package/dist/bin/vip-edge-workers-list.js +89 -54
  60. package/dist/bin/vip-edge-workers-new.js +98 -69
  61. package/dist/bin/vip-edge-workers-validate.js +123 -82
  62. package/dist/bin/vip-edge-workers.js +19 -6
  63. package/dist/bin/vip-export-sql.js +75 -69
  64. package/dist/bin/vip-export.js +12 -7
  65. package/dist/bin/vip-import-media-abort.js +99 -73
  66. package/dist/bin/vip-import-media-status.js +83 -51
  67. package/dist/bin/vip-import-media.js +165 -166
  68. package/dist/bin/vip-import-sql-status.js +75 -45
  69. package/dist/bin/vip-import-sql.js +536 -596
  70. package/dist/bin/vip-import-validate-files.js +122 -141
  71. package/dist/bin/vip-import-validate-sql.js +52 -16
  72. package/dist/bin/vip-import.js +16 -7
  73. package/dist/bin/vip-logout.js +17 -13
  74. package/dist/bin/vip-logs.js +209 -183
  75. package/dist/bin/vip-search-replace.js +85 -53
  76. package/dist/bin/vip-slowlogs.js +168 -147
  77. package/dist/bin/vip-sync.js +163 -133
  78. package/dist/bin/vip-whoami.js +71 -35
  79. package/dist/bin/vip-wp.js +505 -459
  80. package/dist/bin/vip.js +161 -116
  81. package/dist/commands/backup-db.js +183 -149
  82. package/dist/commands/dev-env-import-sql.js +162 -117
  83. package/dist/commands/dev-env-sync-sql.js +372 -330
  84. package/dist/commands/export-sql.js +441 -425
  85. package/dist/commands/phpmyadmin.js +232 -212
  86. package/dist/commands/wp-ssh.js +218 -187
  87. package/dist/lib/analytics/clients/tracks.js +84 -91
  88. package/dist/lib/analytics/index.js +27 -27
  89. package/dist/lib/api/app.js +37 -36
  90. package/dist/lib/api/cache-purge.js +17 -20
  91. package/dist/lib/api/constants.js +5 -6
  92. package/dist/lib/api/edge-workers.js +84 -135
  93. package/dist/lib/api/error-debug.js +10 -13
  94. package/dist/lib/api/feature-flags.js +16 -17
  95. package/dist/lib/api/http.js +47 -48
  96. package/dist/lib/api/user.js +17 -18
  97. package/dist/lib/api.js +107 -116
  98. package/dist/lib/app-logs/app-logs.js +24 -25
  99. package/dist/lib/app-slowlogs/app-slowlogs.js +23 -24
  100. package/dist/lib/app-slowlogs/types.js +2 -1
  101. package/dist/lib/app.js +6 -8
  102. package/dist/lib/backup-storage-availability/backup-storage-availability.js +119 -119
  103. package/dist/lib/backup-storage-availability/docker-machine-not-found-error.js +5 -6
  104. package/dist/lib/cli/apiConfig.js +71 -41
  105. package/dist/lib/cli/command.js +1120 -873
  106. package/dist/lib/cli/config.js +29 -29
  107. package/dist/lib/cli/envAlias.js +35 -50
  108. package/dist/lib/cli/exit.js +19 -19
  109. package/dist/lib/cli/format.js +172 -172
  110. package/dist/lib/cli/progress.js +193 -236
  111. package/dist/lib/cli/prompt.js +14 -15
  112. package/dist/lib/cli/runtime-mode.js +5 -6
  113. package/dist/lib/client-file-uploader.js +492 -615
  114. package/dist/lib/config/software.js +225 -191
  115. package/dist/lib/constants/dev-environment.js +40 -37
  116. package/dist/lib/constants/file-size.js +6 -7
  117. package/dist/lib/constants/vipgo.js +24 -12
  118. package/dist/lib/custom-deploy/custom-deploy.js +138 -120
  119. package/dist/lib/database.js +88 -85
  120. package/dist/lib/defensive-mode/api.js +41 -46
  121. package/dist/lib/defensive-mode/cli-helpers.js +40 -40
  122. package/dist/lib/dev-environment/dev-environment-cli.js +776 -735
  123. package/dist/lib/dev-environment/dev-environment-configuration-file.js +224 -191
  124. package/dist/lib/dev-environment/dev-environment-core.js +697 -732
  125. package/dist/lib/dev-environment/dev-environment-database.js +57 -41
  126. package/dist/lib/dev-environment/dev-environment-lando.js +734 -666
  127. package/dist/lib/dev-environment/docker-utils.js +96 -90
  128. package/dist/lib/dev-environment/env-vars.js +61 -59
  129. package/dist/lib/dev-environment/lando-loader.js +6 -7
  130. package/dist/lib/dev-environment/types.js +2 -1
  131. package/dist/lib/edge-workers/confirmation.js +42 -36
  132. package/dist/lib/edge-workers/deployment.js +150 -159
  133. package/dist/lib/edge-workers/index.js +68 -85
  134. package/dist/lib/edge-workers/location.js +26 -26
  135. package/dist/lib/edge-workers/output.js +14 -15
  136. package/dist/lib/edge-workers/project.js +123 -132
  137. package/dist/lib/edge-workers/toolchains/assemblyscript/constants.js +6 -8
  138. package/dist/lib/edge-workers/toolchains/assemblyscript/index.js +100 -101
  139. package/dist/lib/edge-workers/toolchains/assemblyscript/templates.js +31 -33
  140. package/dist/lib/edge-workers/toolchains/index.js +15 -15
  141. package/dist/lib/edge-workers/types.js +10 -38
  142. package/dist/lib/edge-workers/validation.js +161 -150
  143. package/dist/lib/env.js +16 -17
  144. package/dist/lib/envvar/api-delete.js +16 -18
  145. package/dist/lib/envvar/api-get-all.js +15 -19
  146. package/dist/lib/envvar/api-get.js +8 -9
  147. package/dist/lib/envvar/api-list.js +16 -21
  148. package/dist/lib/envvar/api-set.js +20 -19
  149. package/dist/lib/envvar/api.js +34 -29
  150. package/dist/lib/envvar/input.js +29 -34
  151. package/dist/lib/envvar/logging.js +9 -11
  152. package/dist/lib/envvar/read-file.js +6 -7
  153. package/dist/lib/http/download-file.js +76 -44
  154. package/dist/lib/http/proxy-agent.js +37 -40
  155. package/dist/lib/http/proxy-dispatcher.js +69 -71
  156. package/dist/lib/keychain/insecure.js +40 -36
  157. package/dist/lib/keychain/keychain.js +2 -1
  158. package/dist/lib/keychain/secure.js +16 -15
  159. package/dist/lib/keychain.js +22 -22
  160. package/dist/lib/live-backup-copy.js +117 -115
  161. package/dist/lib/logout.js +17 -19
  162. package/dist/lib/media-import/config.js +15 -14
  163. package/dist/lib/media-import/media-file-import.js +9 -13
  164. package/dist/lib/media-import/progress.js +53 -65
  165. package/dist/lib/media-import/status.js +241 -256
  166. package/dist/lib/media-import/utils.js +15 -15
  167. package/dist/lib/node-version-check.js +16 -16
  168. package/dist/lib/promise.js +16 -17
  169. package/dist/lib/read-file.js +48 -16
  170. package/dist/lib/rechallenge/client.js +37 -43
  171. package/dist/lib/rechallenge/errors.js +38 -37
  172. package/dist/lib/rechallenge/flow.js +148 -123
  173. package/dist/lib/rechallenge/index.js +23 -24
  174. package/dist/lib/rechallenge/link.js +153 -151
  175. package/dist/lib/rechallenge/open-browser.js +14 -17
  176. package/dist/lib/rechallenge/token-cache.js +83 -86
  177. package/dist/lib/rechallenge/types.js +5 -14
  178. package/dist/lib/retry.js +93 -129
  179. package/dist/lib/search-and-replace.js +164 -148
  180. package/dist/lib/site-import/db-file-import.js +12 -16
  181. package/dist/lib/site-import/status.js +291 -291
  182. package/dist/lib/token.js +86 -87
  183. package/dist/lib/tracker.js +51 -62
  184. package/dist/lib/types/graphql/rate-limit-exceeded-error.js +2 -1
  185. package/dist/lib/types.js +2 -1
  186. package/dist/lib/user-error.js +6 -8
  187. package/dist/lib/utils.js +81 -87
  188. package/dist/lib/validations/custom-deploy.js +218 -186
  189. package/dist/lib/validations/is-multi-site-sql-dump.js +6 -6
  190. package/dist/lib/validations/is-multi-site.js +83 -50
  191. package/dist/lib/validations/is-multisite-domain-mapped.js +92 -62
  192. package/dist/lib/validations/line-by-line.js +78 -46
  193. package/dist/lib/validations/site-type.js +59 -63
  194. package/dist/lib/validations/sql-insert-parser.js +415 -0
  195. package/dist/lib/validations/sql.js +551 -431
  196. package/dist/lib/validations/utils.js +27 -29
  197. package/dist/lib/vip-import-validate-files.js +481 -490
  198. package/dist/lib/wp/helpers.js +41 -45
  199. package/dist/lib/wp/readline.js +21 -57
  200. package/dist/lib/xdg-data.js +11 -12
  201. package/helpers/generate-docs.js +9 -3
  202. package/helpers/mark-cli-executable.js +9 -0
  203. package/node_modules/@apollo/client/CHANGELOG.md +42 -0
  204. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs +1 -1
  205. package/node_modules/@apollo/client/__cjs/cache/core/cache.cjs.map +1 -1
  206. package/node_modules/@apollo/client/__cjs/cache/core/cache.d.cts +4 -1
  207. package/node_modules/@apollo/client/__cjs/cache/core/types/Cache.d.cts +5 -0
  208. package/node_modules/@apollo/client/__cjs/cache/inmemory/entityStore.cjs +4 -4
  209. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +5 -0
  210. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  211. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +17 -6
  212. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  213. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.d.cts +3 -1
  214. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +15 -3
  215. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  216. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +21 -5
  217. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
  218. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +2 -0
  219. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs +28 -10
  220. package/node_modules/@apollo/client/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  221. package/node_modules/@apollo/client/__cjs/cache/inmemory/types.d.cts +7 -2
  222. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +32 -16
  223. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  224. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.d.cts +5 -2
  225. package/node_modules/@apollo/client/__cjs/core/ApolloClient.cjs +14 -14
  226. package/node_modules/@apollo/client/__cjs/core/ObservableQuery.cjs +8 -8
  227. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +22 -33
  228. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  229. package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +1 -1
  230. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +22 -15
  231. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
  232. package/node_modules/@apollo/client/__cjs/core/RefetchEventManager.cjs +3 -3
  233. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs +15 -2
  234. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  235. package/node_modules/@apollo/client/__cjs/incremental/handlers/defer20220824.d.cts +5 -1
  236. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs +58 -14
  237. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -1
  238. package/node_modules/@apollo/client/__cjs/incremental/handlers/graphql17Alpha9.d.cts +23 -12
  239. package/node_modules/@apollo/client/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  240. package/node_modules/@apollo/client/__cjs/incremental/types.d.cts +19 -1
  241. package/node_modules/@apollo/client/__cjs/invariantErrorCodes.cjs +64 -58
  242. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  243. package/node_modules/@apollo/client/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  244. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
  245. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +42 -43
  246. package/node_modules/@apollo/client/__cjs/utilities/internal/index.cjs.map +1 -1
  247. package/node_modules/@apollo/client/__cjs/utilities/internal/index.d.cts +0 -1
  248. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs +24 -26
  249. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -1
  250. package/node_modules/@apollo/client/__cjs/utilities/internal/isDeferredFragment.d.cts +1 -1
  251. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs +24 -20
  252. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.cjs.map +1 -1
  253. package/node_modules/@apollo/client/__cjs/utilities/internal/isStreamField.d.cts +1 -1
  254. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  255. package/node_modules/@apollo/client/cache/core/cache.d.ts +4 -1
  256. package/node_modules/@apollo/client/cache/core/cache.js +1 -1
  257. package/node_modules/@apollo/client/cache/core/cache.js.map +1 -1
  258. package/node_modules/@apollo/client/cache/core/types/Cache.d.ts +5 -0
  259. package/node_modules/@apollo/client/cache/core/types/Cache.js.map +1 -1
  260. package/node_modules/@apollo/client/cache/inmemory/entityStore.js +4 -4
  261. package/node_modules/@apollo/client/cache/inmemory/helpers.js +5 -0
  262. package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
  263. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.d.ts +3 -1
  264. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +17 -6
  265. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  266. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +15 -3
  267. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js.map +1 -1
  268. package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +2 -0
  269. package/node_modules/@apollo/client/cache/inmemory/policies.js +22 -6
  270. package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
  271. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js +28 -10
  272. package/node_modules/@apollo/client/cache/inmemory/readFromStore.js.map +1 -1
  273. package/node_modules/@apollo/client/cache/inmemory/types.d.ts +7 -2
  274. package/node_modules/@apollo/client/cache/inmemory/types.js.map +1 -1
  275. package/node_modules/@apollo/client/cache/inmemory/writeToStore.d.ts +5 -2
  276. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +33 -17
  277. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  278. package/node_modules/@apollo/client/core/ApolloClient.js +14 -14
  279. package/node_modules/@apollo/client/core/ObservableQuery.js +8 -8
  280. package/node_modules/@apollo/client/core/QueryInfo.d.ts +1 -1
  281. package/node_modules/@apollo/client/core/QueryInfo.js +23 -34
  282. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  283. package/node_modules/@apollo/client/core/QueryManager.js +22 -15
  284. package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
  285. package/node_modules/@apollo/client/core/RefetchEventManager.js +3 -3
  286. package/node_modules/@apollo/client/incremental/handlers/defer20220824.d.ts +5 -1
  287. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js +15 -2
  288. package/node_modules/@apollo/client/incremental/handlers/defer20220824.js.map +1 -1
  289. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.d.ts +23 -12
  290. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js +58 -14
  291. package/node_modules/@apollo/client/incremental/handlers/graphql17Alpha9.js.map +1 -1
  292. package/node_modules/@apollo/client/incremental/handlers/notImplemented.js +1 -1
  293. package/node_modules/@apollo/client/incremental/types.d.ts +19 -1
  294. package/node_modules/@apollo/client/incremental/types.js.map +1 -1
  295. package/node_modules/@apollo/client/invariantErrorCodes.js +64 -58
  296. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +1 -1
  297. package/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js.map +1 -1
  298. package/node_modules/@apollo/client/package.json +1 -1
  299. package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +42 -43
  300. package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
  301. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +42 -43
  302. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
  303. package/node_modules/@apollo/client/utilities/internal/index.d.ts +0 -1
  304. package/node_modules/@apollo/client/utilities/internal/index.js.map +1 -1
  305. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.d.ts +1 -1
  306. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js +23 -25
  307. package/node_modules/@apollo/client/utilities/internal/isDeferredFragment.js.map +1 -1
  308. package/node_modules/@apollo/client/utilities/internal/isStreamField.d.ts +1 -1
  309. package/node_modules/@apollo/client/utilities/internal/isStreamField.js +23 -19
  310. package/node_modules/@apollo/client/utilities/internal/isStreamField.js.map +1 -1
  311. package/node_modules/@apollo/client/version.js +1 -1
  312. package/node_modules/@automattic/vip-search-replace/README.md +6 -1
  313. package/node_modules/@automattic/vip-search-replace/lib/index.js +46 -14
  314. package/node_modules/@automattic/vip-search-replace/package.json +1 -1
  315. package/node_modules/@types/node/README.md +1 -1
  316. package/node_modules/@types/node/crypto.d.ts +2 -2
  317. package/node_modules/@types/node/dgram.d.ts +1 -1
  318. package/node_modules/@types/node/package.json +2 -2
  319. package/node_modules/@types/node/util.d.ts +6 -3
  320. package/node_modules/@types/node/zlib.d.ts +758 -0
  321. package/node_modules/axios/CHANGELOG.md +62 -0
  322. package/node_modules/axios/README.md +297 -5
  323. package/node_modules/axios/dist/axios.js +728 -170
  324. package/node_modules/axios/dist/axios.min.js +3 -3
  325. package/node_modules/axios/dist/axios.min.js.map +1 -1
  326. package/node_modules/axios/dist/browser/axios.cjs +871 -188
  327. package/node_modules/axios/dist/esm/axios.js +871 -188
  328. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  329. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  330. package/node_modules/axios/dist/node/axios.cjs +1037 -225
  331. package/node_modules/axios/index.d.cts +102 -74
  332. package/node_modules/axios/index.d.ts +100 -68
  333. package/node_modules/axios/lib/adapters/fetch.js +64 -11
  334. package/node_modules/axios/lib/adapters/http.js +140 -67
  335. package/node_modules/axios/lib/adapters/xhr.js +52 -3
  336. package/node_modules/axios/lib/core/Axios.js +43 -20
  337. package/node_modules/axios/lib/core/AxiosError.js +33 -2
  338. package/node_modules/axios/lib/core/AxiosHeaders.js +124 -1
  339. package/node_modules/axios/lib/core/InterceptorManager.js +107 -8
  340. package/node_modules/axios/lib/core/buildFullPath.js +41 -15
  341. package/node_modules/axios/lib/core/dispatchRequest.js +8 -2
  342. package/node_modules/axios/lib/core/mergeConfig.js +19 -4
  343. package/node_modules/axios/lib/core/methodList.js +17 -0
  344. package/node_modules/axios/lib/core/setFormDataHeaders.js +27 -0
  345. package/node_modules/axios/lib/defaults/index.js +2 -1
  346. package/node_modules/axios/lib/env/data.js +1 -1
  347. package/node_modules/axios/lib/helpers/Http2Sessions.js +2 -0
  348. package/node_modules/axios/lib/helpers/HttpStatusCode.js +12 -1
  349. package/node_modules/axios/lib/helpers/combineURLs.js +11 -3
  350. package/node_modules/axios/lib/helpers/composeSignals.js +12 -1
  351. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +115 -54
  352. package/node_modules/axios/lib/helpers/formDataToJSON.js +11 -5
  353. package/node_modules/axios/lib/helpers/fromDataURI.js +5 -4
  354. package/node_modules/axios/lib/helpers/normalizeURLForProtocolCheck.js +24 -0
  355. package/node_modules/axios/lib/helpers/parseHeaders.js +5 -3
  356. package/node_modules/axios/lib/helpers/progressEventReducer.js +4 -4
  357. package/node_modules/axios/lib/helpers/resolveConfig.js +5 -17
  358. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +300 -5
  359. package/node_modules/axios/lib/helpers/throttle.js +3 -2
  360. package/node_modules/axios/lib/helpers/toFormData.js +17 -23
  361. package/node_modules/axios/lib/platform/node/classes/Buffer.js +11 -0
  362. package/node_modules/axios/lib/utils.js +151 -18
  363. package/node_modules/axios/package.json +21 -19
  364. package/node_modules/chalk/package.json +1 -1
  365. package/node_modules/chalk/source/index.js +2 -1
  366. package/node_modules/check-disk-space/README.md +92 -32
  367. package/node_modules/check-disk-space/dist/check-disk-space.d.mts +58 -0
  368. package/node_modules/check-disk-space/dist/check-disk-space.mjs +170 -190
  369. package/node_modules/check-disk-space/package.json +43 -71
  370. package/node_modules/cpu-features/build/Makefile +2 -2
  371. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
  372. 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
  373. 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
  374. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
  375. 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
  376. 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
  377. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
  378. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
  379. 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
  380. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
  381. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
  382. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
  383. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
  384. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +157 -145
  385. package/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
  386. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures/src/binding.o +0 -0
  387. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures.node +0 -0
  388. package/node_modules/cpu-features/build/config.gypi +100 -31
  389. package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
  390. package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
  391. package/node_modules/ejs/README.md +64 -28
  392. package/node_modules/ejs/bin/cli.js +220 -158
  393. package/node_modules/ejs/ejs.js +64 -94
  394. package/node_modules/ejs/ejs.min.js +1 -1
  395. package/node_modules/ejs/jakefile.js +44 -0
  396. package/node_modules/ejs/lib/cjs/ejs.js +64 -63
  397. package/node_modules/ejs/lib/cjs/parseargs.js +129 -77
  398. package/node_modules/ejs/lib/cjs/utils.js +0 -31
  399. package/node_modules/ejs/lib/esm/ejs.js +66 -65
  400. package/node_modules/ejs/lib/esm/parseargs.js +136 -82
  401. package/node_modules/ejs/lib/esm/utils.js +0 -32
  402. package/node_modules/ejs/package.json +3 -2
  403. package/node_modules/ejs/usage.txt +9 -9
  404. package/node_modules/follow-redirects/index.js +10 -1
  405. package/node_modules/follow-redirects/package.json +1 -1
  406. package/node_modules/graphql-ws/dist/client.cjs +28 -13
  407. package/node_modules/graphql-ws/dist/client.js +28 -13
  408. package/node_modules/graphql-ws/dist/index.cjs +1 -1
  409. package/node_modules/graphql-ws/dist/index.d.cts +1 -1
  410. package/node_modules/graphql-ws/dist/index.d.ts +1 -1
  411. package/node_modules/graphql-ws/dist/index.js +1 -1
  412. package/node_modules/graphql-ws/dist/{server-B8ZBs9OC.d.ts → server-BzBeHlSW.d.ts} +26 -1
  413. package/node_modules/graphql-ws/dist/{server-DN5-9C2B.cjs → server-Ce-Z86Ys.cjs} +10 -4
  414. package/node_modules/graphql-ws/dist/{server-ChpuX357.d.cts → server-u6zrlwzL.d.cts} +26 -1
  415. package/node_modules/graphql-ws/dist/{server-DHPI7HHW.js → server-zBhvXJ_Z.js} +10 -4
  416. package/node_modules/graphql-ws/dist/use/@fastify/websocket.cjs +2 -2
  417. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.cts +8 -2
  418. package/node_modules/graphql-ws/dist/use/@fastify/websocket.d.ts +8 -2
  419. package/node_modules/graphql-ws/dist/use/@fastify/websocket.js +2 -2
  420. package/node_modules/graphql-ws/dist/use/bun.cjs +1 -1
  421. package/node_modules/graphql-ws/dist/use/bun.d.cts +2 -2
  422. package/node_modules/graphql-ws/dist/use/bun.d.ts +2 -2
  423. package/node_modules/graphql-ws/dist/use/bun.js +2 -2
  424. package/node_modules/graphql-ws/dist/use/crossws.cjs +16 -4
  425. package/node_modules/graphql-ws/dist/use/crossws.d.cts +6 -1
  426. package/node_modules/graphql-ws/dist/use/crossws.d.ts +6 -1
  427. package/node_modules/graphql-ws/dist/use/crossws.js +16 -4
  428. package/node_modules/graphql-ws/dist/use/deno.d.ts +1 -1
  429. package/node_modules/graphql-ws/dist/use/deno.js +1 -1
  430. package/node_modules/graphql-ws/dist/use/uWebSockets.cjs +2 -2
  431. package/node_modules/graphql-ws/dist/use/uWebSockets.d.cts +8 -2
  432. package/node_modules/graphql-ws/dist/use/uWebSockets.d.ts +8 -2
  433. package/node_modules/graphql-ws/dist/use/uWebSockets.js +2 -2
  434. package/node_modules/graphql-ws/dist/use/ws.cjs +2 -2
  435. package/node_modules/graphql-ws/dist/use/ws.d.cts +8 -2
  436. package/node_modules/graphql-ws/dist/use/ws.d.ts +8 -2
  437. package/node_modules/graphql-ws/dist/use/ws.js +2 -2
  438. package/node_modules/graphql-ws/package.json +3 -3
  439. package/node_modules/graphql-ws/umd/graphql-ws.js +28 -13
  440. package/node_modules/graphql-ws/umd/graphql-ws.min.js +1 -1
  441. package/node_modules/graphql-ws/umd/graphql-ws.min.js.gz +0 -0
  442. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs +522 -495
  443. package/node_modules/js-yaml/dist/browser/js-yaml.esm.min.mjs.map +1 -1
  444. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js +24 -24
  445. package/node_modules/js-yaml/dist/browser/js-yaml.umd.min.js.map +1 -1
  446. package/node_modules/js-yaml/dist/js-yaml.cjs.js +135 -78
  447. package/node_modules/js-yaml/dist/js-yaml.cjs.js.map +1 -1
  448. package/node_modules/js-yaml/dist/js-yaml.mjs +129 -72
  449. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  450. package/node_modules/js-yaml/node_modules/argparse/LICENSE +47 -0
  451. package/node_modules/js-yaml/node_modules/argparse/README.md +89 -0
  452. package/node_modules/js-yaml/node_modules/argparse/lib/_colorize.js +72 -0
  453. package/node_modules/js-yaml/node_modules/argparse/lib/argparse.d.ts +292 -0
  454. package/node_modules/{argparse → js-yaml/node_modules/argparse/lib}/argparse.js +1142 -1029
  455. package/node_modules/js-yaml/node_modules/argparse/lib/difflib.js +190 -0
  456. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/sub.js +4 -4
  457. package/node_modules/{argparse → js-yaml/node_modules/argparse}/lib/textwrap.js +28 -28
  458. package/node_modules/js-yaml/node_modules/argparse/package.json +38 -0
  459. package/node_modules/js-yaml/package.json +12 -12
  460. package/node_modules/lando/.github/dependabot.yml +4 -0
  461. package/node_modules/lando/.github/workflows/build-util-images.yml +1 -1
  462. package/node_modules/lando/.github/workflows/pr-core-tests.yml +4 -2
  463. package/node_modules/lando/.github/workflows/pr-db-tools-tests.yml +4 -2
  464. package/node_modules/lando/.github/workflows/pr-django-tests.yml +4 -2
  465. package/node_modules/lando/.github/workflows/pr-linter.yml +2 -2
  466. package/node_modules/lando/.github/workflows/pr-unit-tests.yml +2 -2
  467. package/node_modules/lando/.node-version +1 -1
  468. package/node_modules/lando/bin/lando.js +3 -83
  469. package/node_modules/lando/config.yml +0 -1
  470. package/node_modules/lando/eslint.config.mjs +4 -0
  471. package/node_modules/lando/examples/django/.lando.yml +1 -1
  472. package/node_modules/lando/examples/django/README.md +1 -1
  473. package/node_modules/lando/examples/django/requirements.txt +1 -1
  474. package/node_modules/lando/examples/sql-export/README.md +5 -0
  475. package/node_modules/lando/lib/app.js +78 -84
  476. package/node_modules/lando/lib/art.js +86 -30
  477. package/node_modules/lando/lib/bootstrap.js +148 -45
  478. package/node_modules/lando/lib/cache.js +14 -15
  479. package/node_modules/lando/lib/cli.js +67 -63
  480. package/node_modules/lando/lib/compose.js +76 -45
  481. package/node_modules/lando/lib/config.js +51 -33
  482. package/node_modules/lando/lib/daemon.js +27 -10
  483. package/node_modules/lando/lib/docker.js +46 -19
  484. package/node_modules/lando/lib/engine.js +131 -144
  485. package/node_modules/lando/lib/env.js +25 -46
  486. package/node_modules/lando/lib/error.js +15 -6
  487. package/node_modules/lando/lib/esm/package.json +3 -0
  488. package/node_modules/lando/lib/esm/string-argv.js +2 -0
  489. package/node_modules/lando/lib/esm/yargs.js +2 -0
  490. package/node_modules/lando/lib/events.js +15 -15
  491. package/node_modules/lando/lib/factory.js +43 -14
  492. package/node_modules/lando/lib/formatters.js +19 -31
  493. package/node_modules/lando/lib/lando.js +59 -48
  494. package/node_modules/lando/lib/logger.js +12 -24
  495. package/node_modules/lando/lib/plugins.js +27 -15
  496. package/node_modules/lando/lib/promise.js +17 -17
  497. package/node_modules/lando/lib/router.js +75 -21
  498. package/node_modules/lando/lib/scan.js +29 -12
  499. package/node_modules/lando/lib/shell.js +44 -20
  500. package/node_modules/lando/lib/user.js +14 -20
  501. package/node_modules/lando/lib/utils.js +87 -44
  502. package/node_modules/lando/lib/yaml.js +11 -9
  503. package/node_modules/lando/node_modules/ansi-regex/index.d.ts +33 -0
  504. package/node_modules/lando/node_modules/ansi-regex/index.js +15 -0
  505. package/node_modules/lando/node_modules/ansi-regex/package.json +61 -0
  506. package/node_modules/lando/node_modules/ansi-regex/readme.md +66 -0
  507. package/node_modules/lando/node_modules/cliui/README.md +26 -6
  508. package/node_modules/lando/node_modules/cliui/build/lib/index.js +2 -2
  509. package/node_modules/lando/node_modules/cliui/build/tsconfig.tsbuildinfo +1 -0
  510. package/node_modules/lando/node_modules/cliui/index.mjs +7 -5
  511. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.d.ts +39 -0
  512. package/node_modules/lando/node_modules/cliui/node_modules/string-width/index.js +82 -0
  513. package/node_modules/lando/node_modules/cliui/node_modules/string-width/license +9 -0
  514. package/node_modules/lando/node_modules/cliui/node_modules/string-width/package.json +64 -0
  515. package/node_modules/lando/node_modules/cliui/node_modules/string-width/readme.md +66 -0
  516. package/node_modules/lando/node_modules/cliui/package.json +21 -32
  517. package/node_modules/lando/node_modules/emoji-regex/LICENSE-MIT.txt +20 -0
  518. package/node_modules/lando/node_modules/emoji-regex/README.md +107 -0
  519. package/node_modules/lando/node_modules/emoji-regex/index.d.ts +3 -0
  520. package/node_modules/lando/node_modules/emoji-regex/index.js +4 -0
  521. package/node_modules/lando/node_modules/emoji-regex/index.mjs +4 -0
  522. package/node_modules/lando/node_modules/emoji-regex/package.json +45 -0
  523. package/node_modules/lando/node_modules/string-width/index.d.ts +39 -0
  524. package/node_modules/lando/node_modules/string-width/index.js +203 -0
  525. package/node_modules/lando/node_modules/string-width/license +9 -0
  526. package/node_modules/lando/node_modules/string-width/package.json +65 -0
  527. package/node_modules/lando/node_modules/string-width/readme.md +66 -0
  528. package/node_modules/lando/node_modules/strip-ansi/index.d.ts +15 -0
  529. package/node_modules/lando/node_modules/strip-ansi/index.js +19 -0
  530. package/node_modules/lando/node_modules/strip-ansi/license +9 -0
  531. package/node_modules/lando/node_modules/strip-ansi/package.json +59 -0
  532. package/node_modules/lando/node_modules/strip-ansi/readme.md +37 -0
  533. package/node_modules/lando/node_modules/yargs/README.md +16 -36
  534. package/node_modules/lando/node_modules/yargs/browser.d.ts +5 -0
  535. package/node_modules/lando/node_modules/yargs/browser.mjs +2 -2
  536. package/node_modules/lando/node_modules/yargs/build/lib/command.js +308 -211
  537. package/node_modules/lando/node_modules/yargs/build/lib/completion-templates.js +28 -9
  538. package/node_modules/lando/node_modules/yargs/build/lib/completion.js +233 -91
  539. package/node_modules/lando/node_modules/yargs/build/lib/middleware.js +51 -16
  540. package/node_modules/lando/node_modules/yargs/build/lib/usage.js +88 -52
  541. package/node_modules/lando/node_modules/yargs/build/lib/utils/apply-extends.js +4 -2
  542. package/node_modules/lando/node_modules/yargs/build/lib/utils/levenshtein.js +9 -1
  543. package/node_modules/lando/node_modules/yargs/build/lib/utils/maybe-async-result.js +17 -0
  544. package/node_modules/lando/node_modules/yargs/build/lib/validation.js +51 -54
  545. package/node_modules/lando/node_modules/yargs/build/lib/yargs-factory.js +1261 -887
  546. package/node_modules/lando/node_modules/yargs/build/lib/yerror.js +3 -1
  547. package/node_modules/lando/node_modules/yargs/index.mjs +4 -2
  548. package/node_modules/lando/node_modules/yargs/lib/platform-shims/browser.mjs +9 -2
  549. package/node_modules/lando/node_modules/yargs/lib/platform-shims/esm.mjs +22 -22
  550. package/node_modules/lando/node_modules/yargs/locales/cs.json +51 -0
  551. package/node_modules/lando/node_modules/yargs/locales/de.json +1 -1
  552. package/node_modules/lando/node_modules/yargs/locales/en.json +4 -0
  553. package/node_modules/lando/node_modules/yargs/locales/fi.json +1 -1
  554. package/node_modules/lando/node_modules/yargs/locales/he.json +55 -0
  555. package/node_modules/lando/node_modules/yargs/locales/ka.json +55 -0
  556. package/node_modules/lando/node_modules/yargs/locales/ko.json +25 -25
  557. package/node_modules/lando/node_modules/yargs/locales/ru.json +6 -1
  558. package/node_modules/lando/node_modules/yargs/locales/uk_UA.json +51 -0
  559. package/node_modules/lando/node_modules/yargs/locales/uz.json +52 -0
  560. package/node_modules/lando/node_modules/yargs/locales/zh_TW.json +50 -46
  561. package/node_modules/lando/node_modules/yargs/package.json +41 -60
  562. package/node_modules/lando/node_modules/yargs-parser/build/lib/index.js +13 -8
  563. package/node_modules/lando/node_modules/yargs-parser/build/lib/yargs-parser.js +21 -12
  564. package/node_modules/lando/node_modules/yargs-parser/package.json +31 -40
  565. package/node_modules/lando/package.json +59 -22
  566. package/node_modules/lando/plugins/lando-compose/index.js +4 -0
  567. package/node_modules/lando/plugins/lando-compose/lib/utils.js +16 -7
  568. package/node_modules/lando/plugins/lando-core/index.js +1 -2
  569. package/node_modules/lando/plugins/lando-core/lib/utils.js +35 -15
  570. package/node_modules/lando/plugins/lando-core/lib/warnings.js +27 -0
  571. package/node_modules/lando/plugins/lando-core/tasks/destroy.js +1 -1
  572. package/node_modules/lando/plugins/lando-core/tasks/rebuild.js +1 -1
  573. package/node_modules/lando/plugins/lando-events/index.js +4 -0
  574. package/node_modules/lando/plugins/lando-events/lib/utils.js +27 -6
  575. package/node_modules/lando/plugins/lando-networking/app.js +2 -2
  576. package/node_modules/lando/plugins/lando-networking/index.js +9 -2
  577. package/node_modules/lando/plugins/lando-networking/test/app.spec.js +87 -0
  578. package/node_modules/lando/plugins/lando-proxy/index.js +6 -1
  579. package/node_modules/lando/plugins/lando-proxy/lib/utils.js +63 -28
  580. package/node_modules/lando/plugins/lando-proxy/lib/warnings.js +10 -0
  581. package/node_modules/lando/plugins/lando-recipes/index.js +4 -0
  582. package/node_modules/lando/plugins/lando-recipes/lib/build.js +22 -4
  583. package/node_modules/lando/plugins/lando-recipes/lib/options.js +42 -66
  584. package/node_modules/lando/plugins/lando-recipes/lib/utils.js +30 -13
  585. package/node_modules/lando/plugins/lando-recipes/lib/warnings.js +5 -0
  586. package/node_modules/lando/plugins/lando-recipes/sources/remote.js +0 -26
  587. package/node_modules/lando/plugins/lando-recipes/tasks/init.js +1 -1
  588. package/node_modules/lando/plugins/lando-services/index.js +4 -0
  589. package/node_modules/lando/plugins/lando-services/lib/utils.js +38 -15
  590. package/node_modules/lando/plugins/lando-sharing/index.js +4 -0
  591. package/node_modules/lando/plugins/lando-sharing/lib/utils.js +28 -5
  592. package/node_modules/lando/plugins/lando-tooling/index.js +5 -0
  593. package/node_modules/lando/plugins/lando-tooling/lib/build.js +5 -2
  594. package/node_modules/lando/plugins/lando-tooling/lib/utils.js +83 -47
  595. package/node_modules/lando/test/cli.spec.js +59 -21
  596. package/node_modules/lando/test/docker.spec.js +24 -28
  597. package/node_modules/lando/test/env.spec.js +8 -0
  598. package/node_modules/lando/test/error.spec.js +1 -1
  599. package/node_modules/lando/test/events.spec.js +6 -7
  600. package/node_modules/lando/test/lando.spec.js +1 -1
  601. package/node_modules/lando/test/plugins.spec.js +2 -3
  602. package/node_modules/lando/test/promise.spec.js +1 -1
  603. package/node_modules/lando/test/scan.spec.js +1 -1
  604. package/node_modules/lando/test/shell.spec.js +19 -2
  605. package/node_modules/lando/test/utils.spec.js +52 -0
  606. package/node_modules/open/index.js +3 -5
  607. package/node_modules/open/package.json +1 -1
  608. package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
  609. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d.raw +136 -0
  610. package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
  611. package/node_modules/string-argv/CHANGELOG.md +38 -0
  612. package/node_modules/string-argv/README.md +96 -50
  613. package/node_modules/string-argv/index.d.ts +2 -0
  614. package/node_modules/string-argv/index.js +55 -35
  615. package/node_modules/string-argv/package.json +50 -40
  616. package/node_modules/undici/README.md +25 -3
  617. package/node_modules/undici/docs/docs/api/CacheStore.md +24 -9
  618. package/node_modules/undici/docs/docs/api/Client.md +11 -6
  619. package/node_modules/undici/docs/docs/api/Dispatcher.md +3 -0
  620. package/node_modules/undici/docs/docs/api/Errors.md +76 -1
  621. package/node_modules/undici/docs/docs/api/H2CClient.md +3 -2
  622. package/node_modules/undici/docs/docs/api/Interceptors.md +28 -8
  623. package/node_modules/undici/docs/docs/api/RedirectHandler.md +13 -10
  624. package/node_modules/undici/docs/docs/index.md +12 -12
  625. package/node_modules/undici/docs/docs/type-map.json +66 -66
  626. package/node_modules/undici/lib/cache/memory-cache-store.js +48 -13
  627. package/node_modules/undici/lib/cache/sqlite-cache-store.js +83 -5
  628. package/node_modules/undici/lib/core/connect.js +10 -4
  629. package/node_modules/undici/lib/core/constants.js +12 -1
  630. package/node_modules/undici/lib/core/errors.js +38 -1
  631. package/node_modules/undici/lib/core/request.js +16 -1
  632. package/node_modules/undici/lib/core/symbols.js +2 -0
  633. package/node_modules/undici/lib/core/util.js +26 -1
  634. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  635. package/node_modules/undici/lib/dispatcher/client-h1.js +116 -80
  636. package/node_modules/undici/lib/dispatcher/client-h2.js +124 -17
  637. package/node_modules/undici/lib/dispatcher/client.js +4 -1
  638. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +3 -2
  639. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +20 -3
  640. package/node_modules/undici/lib/dispatcher/parser-h1.js +1064 -0
  641. package/node_modules/undici/lib/dispatcher/pool-base.js +85 -31
  642. package/node_modules/undici/lib/dispatcher/pool.js +11 -8
  643. package/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -8
  644. package/node_modules/undici/lib/dispatcher/retry-agent.js +10 -0
  645. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +15 -5
  646. package/node_modules/undici/lib/handler/cache-handler.js +153 -15
  647. package/node_modules/undici/lib/handler/deduplication-handler.js +112 -51
  648. package/node_modules/undici/lib/handler/redirect-handler.js +28 -8
  649. package/node_modules/undici/lib/handler/retry-handler.js +44 -11
  650. package/node_modules/undici/lib/interceptor/cache.js +11 -3
  651. package/node_modules/undici/lib/interceptor/decompress.js +22 -9
  652. package/node_modules/undici/lib/interceptor/dns.js +11 -0
  653. package/node_modules/undici/lib/interceptor/response-error.js +72 -28
  654. package/node_modules/undici/lib/milo/LICENSE.md +7 -0
  655. package/node_modules/undici/lib/milo/no-simd.js +1002 -0
  656. package/node_modules/undici/lib/milo/simd.js +1002 -0
  657. package/node_modules/undici/lib/mock/mock-agent.js +11 -0
  658. package/node_modules/undici/lib/mock/snapshot-recorder.js +3 -2
  659. package/node_modules/undici/lib/mock/snapshot-utils.js +3 -2
  660. package/node_modules/undici/lib/util/cache.js +11 -5
  661. package/node_modules/undici/lib/web/cookies/util.js +19 -2
  662. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +69 -15
  663. package/node_modules/undici/lib/web/eventsource/eventsource.js +25 -2
  664. package/node_modules/undici/lib/web/fetch/body.js +47 -38
  665. package/node_modules/undici/lib/web/fetch/formdata-parser.js +12 -4
  666. package/node_modules/undici/lib/web/fetch/headers.js +2 -2
  667. package/node_modules/undici/lib/web/fetch/index.js +8 -4
  668. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  669. package/node_modules/undici/lib/web/websocket/receiver.js +25 -4
  670. package/node_modules/undici/package.json +9 -7
  671. package/node_modules/undici/types/api.d.ts +1 -1
  672. package/node_modules/undici/types/cache-interceptor.d.ts +10 -0
  673. package/node_modules/undici/types/client.d.ts +10 -4
  674. package/node_modules/undici/types/errors.d.ts +16 -1
  675. package/node_modules/undici/types/h2c-client.d.ts +1 -1
  676. package/node_modules/undici/types/interceptors.d.ts +6 -1
  677. package/node_modules/undici/types/utility.d.ts +4 -4
  678. package/node_modules/{fetch-retry → unicode-segmenter}/LICENSE +2 -2
  679. package/node_modules/unicode-segmenter/README.md +324 -0
  680. package/node_modules/unicode-segmenter/_emoji_data.cjs +24 -0
  681. package/node_modules/unicode-segmenter/_emoji_data.d.cts +1 -0
  682. package/node_modules/unicode-segmenter/_emoji_data.d.ts +12 -0
  683. package/node_modules/unicode-segmenter/_emoji_data.js +26 -0
  684. package/node_modules/unicode-segmenter/_general_data.cjs +30 -0
  685. package/node_modules/unicode-segmenter/_general_data.d.cts +1 -0
  686. package/node_modules/unicode-segmenter/_general_data.d.ts +16 -0
  687. package/node_modules/unicode-segmenter/_general_data.js +34 -0
  688. package/node_modules/unicode-segmenter/_grapheme_data.cjs +125 -0
  689. package/node_modules/unicode-segmenter/_grapheme_data.d.cts +1 -0
  690. package/node_modules/unicode-segmenter/_grapheme_data.d.ts +112 -0
  691. package/node_modules/unicode-segmenter/_grapheme_data.js +123 -0
  692. package/node_modules/unicode-segmenter/core.cjs +135 -0
  693. package/node_modules/unicode-segmenter/core.d.cts +1 -0
  694. package/node_modules/unicode-segmenter/core.d.ts +118 -0
  695. package/node_modules/unicode-segmenter/core.js +129 -0
  696. package/node_modules/unicode-segmenter/emoji.cjs +43 -0
  697. package/node_modules/unicode-segmenter/emoji.d.cts +1 -0
  698. package/node_modules/unicode-segmenter/emoji.d.ts +23 -0
  699. package/node_modules/unicode-segmenter/emoji.js +42 -0
  700. package/node_modules/unicode-segmenter/general.cjs +51 -0
  701. package/node_modules/unicode-segmenter/general.d.cts +1 -0
  702. package/node_modules/unicode-segmenter/general.d.ts +26 -0
  703. package/node_modules/unicode-segmenter/general.js +50 -0
  704. package/node_modules/unicode-segmenter/grapheme.cjs +405 -0
  705. package/node_modules/unicode-segmenter/grapheme.d.cts +1 -0
  706. package/node_modules/unicode-segmenter/grapheme.d.ts +64 -0
  707. package/node_modules/unicode-segmenter/grapheme.js +438 -0
  708. package/node_modules/unicode-segmenter/index.cjs +26 -0
  709. package/node_modules/unicode-segmenter/index.d.cts +1 -0
  710. package/node_modules/unicode-segmenter/index.d.ts +4 -0
  711. package/node_modules/unicode-segmenter/index.js +6 -0
  712. package/node_modules/unicode-segmenter/intl-adapter.cjs +124 -0
  713. package/node_modules/unicode-segmenter/intl-adapter.d.cts +1 -0
  714. package/node_modules/unicode-segmenter/intl-adapter.d.ts +62 -0
  715. package/node_modules/unicode-segmenter/intl-adapter.js +113 -0
  716. package/node_modules/unicode-segmenter/intl-polyfill.cjs +17 -0
  717. package/node_modules/unicode-segmenter/intl-polyfill.d.cts +1 -0
  718. package/node_modules/unicode-segmenter/intl-polyfill.d.ts +1 -0
  719. package/node_modules/unicode-segmenter/intl-polyfill.js +16 -0
  720. package/node_modules/unicode-segmenter/package.json +165 -0
  721. package/node_modules/unicode-segmenter/utils.cjs +99 -0
  722. package/node_modules/unicode-segmenter/utils.d.cts +1 -0
  723. package/node_modules/unicode-segmenter/utils.d.ts +64 -0
  724. package/node_modules/unicode-segmenter/utils.js +89 -0
  725. package/package.json +48 -17
  726. package/.buildkite/build-linux.sh +0 -68
  727. package/.buildkite/build-macos-installer.sh +0 -34
  728. package/.buildkite/build-macos.sh +0 -67
  729. package/.buildkite/build-windows-installer.ps1 +0 -65
  730. package/.buildkite/build-windows.ps1 +0 -59
  731. package/.buildkite/fetch-search-replace.sh +0 -65
  732. package/.buildkite/pack-release.sh +0 -26
  733. package/.buildkite/pipeline.yml +0 -81
  734. package/.buildkite/shared-pipeline-vars +0 -16
  735. package/.buildkite/sign-windows.ps1 +0 -21
  736. package/.buildkite/test-windows-installer-download.ps1 +0 -54
  737. package/.buildkite/test_pipeline.py +0 -69
  738. package/.bundle/config +0 -4
  739. package/.editorconfig +0 -11
  740. package/.prettierignore +0 -13
  741. package/.ruby-version +0 -1
  742. package/.sonarcloud.properties +0 -2
  743. package/.xcode-version +0 -1
  744. package/AGENTS.md +0 -101
  745. package/CLAUDE.md +0 -4
  746. package/Gemfile +0 -8
  747. package/Gemfile.lock +0 -377
  748. package/Makefile +0 -293
  749. package/cmd/installer-payload/main.go +0 -19
  750. package/cmd/installer-version/main.go +0 -22
  751. package/cmd/stamp-version/main.go +0 -25
  752. package/cmd/vip-next/auth_bootstrap.go +0 -139
  753. package/cmd/vip-next/auth_bootstrap_test.go +0 -379
  754. package/cmd/vip-next/auth_bypass_wiring_test.go +0 -162
  755. package/cmd/vip-next/cli_error_hook_test.go +0 -91
  756. package/cmd/vip-next/commands/app.go +0 -23
  757. package/cmd/vip-next/commands/app_debug_test.go +0 -89
  758. package/cmd/vip-next/commands/app_deploy.go +0 -217
  759. package/cmd/vip-next/commands/app_deploy_test.go +0 -297
  760. package/cmd/vip-next/commands/app_deploy_validate.go +0 -58
  761. package/cmd/vip-next/commands/app_get.go +0 -293
  762. package/cmd/vip-next/commands/app_get_test.go +0 -226
  763. package/cmd/vip-next/commands/app_list.go +0 -93
  764. package/cmd/vip-next/commands/app_list_test.go +0 -95
  765. package/cmd/vip-next/commands/backup.go +0 -16
  766. package/cmd/vip-next/commands/backup_db.go +0 -137
  767. package/cmd/vip-next/commands/backup_db_test.go +0 -187
  768. package/cmd/vip-next/commands/cache.go +0 -16
  769. package/cmd/vip-next/commands/cache_purge_url.go +0 -90
  770. package/cmd/vip-next/commands/cache_purge_url_test.go +0 -154
  771. package/cmd/vip-next/commands/config.go +0 -17
  772. package/cmd/vip-next/commands/config_debug_test.go +0 -137
  773. package/cmd/vip-next/commands/config_envvar.go +0 -16
  774. package/cmd/vip-next/commands/config_envvar_delete.go +0 -135
  775. package/cmd/vip-next/commands/config_envvar_delete_test.go +0 -140
  776. package/cmd/vip-next/commands/config_envvar_get.go +0 -72
  777. package/cmd/vip-next/commands/config_envvar_get_all.go +0 -58
  778. package/cmd/vip-next/commands/config_envvar_get_all_test.go +0 -83
  779. package/cmd/vip-next/commands/config_envvar_get_test.go +0 -79
  780. package/cmd/vip-next/commands/config_envvar_list.go +0 -70
  781. package/cmd/vip-next/commands/config_envvar_list_test.go +0 -134
  782. package/cmd/vip-next/commands/config_envvar_set.go +0 -162
  783. package/cmd/vip-next/commands/config_envvar_set_test.go +0 -251
  784. package/cmd/vip-next/commands/config_software.go +0 -229
  785. package/cmd/vip-next/commands/config_software_test.go +0 -161
  786. package/cmd/vip-next/commands/config_software_update.go +0 -270
  787. package/cmd/vip-next/commands/config_software_update_test.go +0 -334
  788. package/cmd/vip-next/commands/db.go +0 -16
  789. package/cmd/vip-next/commands/db_phpmyadmin.go +0 -122
  790. package/cmd/vip-next/commands/db_phpmyadmin_test.go +0 -277
  791. package/cmd/vip-next/commands/defensive_mode.go +0 -106
  792. package/cmd/vip-next/commands/defensive_mode_configure.go +0 -150
  793. package/cmd/vip-next/commands/defensive_mode_disable.go +0 -62
  794. package/cmd/vip-next/commands/defensive_mode_enable.go +0 -62
  795. package/cmd/vip-next/commands/defensive_mode_test.go +0 -389
  796. package/cmd/vip-next/commands/devenv.go +0 -49
  797. package/cmd/vip-next/commands/devenv_create_appinfo.go +0 -158
  798. package/cmd/vip-next/commands/devenv_create_appinfo_test.go +0 -29
  799. package/cmd/vip-next/commands/devenv_create_test.go +0 -269
  800. package/cmd/vip-next/commands/devenv_data.go +0 -86
  801. package/cmd/vip-next/commands/devenv_data_confirm_test.go +0 -49
  802. package/cmd/vip-next/commands/devenv_debug_test.go +0 -34
  803. package/cmd/vip-next/commands/devenv_e2e_gate_test.go +0 -17
  804. package/cmd/vip-next/commands/devenv_e2e_test.go +0 -34
  805. package/cmd/vip-next/commands/devenv_envvar.go +0 -186
  806. package/cmd/vip-next/commands/devenv_envvar_test.go +0 -183
  807. package/cmd/vip-next/commands/devenv_exec.go +0 -75
  808. package/cmd/vip-next/commands/devenv_exec_test.go +0 -39
  809. package/cmd/vip-next/commands/devenv_flag_grammar_test.go +0 -241
  810. package/cmd/vip-next/commands/devenv_lifecycle.go +0 -785
  811. package/cmd/vip-next/commands/devenv_logs.go +0 -29
  812. package/cmd/vip-next/commands/devenv_resolve.go +0 -118
  813. package/cmd/vip-next/commands/devenv_resolve_test.go +0 -221
  814. package/cmd/vip-next/commands/devenv_sync.go +0 -256
  815. package/cmd/vip-next/commands/devenv_sync_sites.go +0 -116
  816. package/cmd/vip-next/commands/devenv_sync_sites_test.go +0 -151
  817. package/cmd/vip-next/commands/devenv_sync_test.go +0 -63
  818. package/cmd/vip-next/commands/devenv_telemetry.go +0 -265
  819. package/cmd/vip-next/commands/devenv_telemetry_test.go +0 -322
  820. package/cmd/vip-next/commands/devenv_test.go +0 -60
  821. package/cmd/vip-next/commands/devenv_update.go +0 -207
  822. package/cmd/vip-next/commands/devenv_update_test.go +0 -109
  823. package/cmd/vip-next/commands/devenv_versions_proxy_test.go +0 -133
  824. package/cmd/vip-next/commands/edge_workers.go +0 -197
  825. package/cmd/vip-next/commands/edge_workers_flags.go +0 -56
  826. package/cmd/vip-next/commands/edge_workers_local.go +0 -127
  827. package/cmd/vip-next/commands/edge_workers_mutation.go +0 -130
  828. package/cmd/vip-next/commands/edge_workers_read.go +0 -103
  829. package/cmd/vip-next/commands/edge_workers_test.go +0 -272
  830. package/cmd/vip-next/commands/export.go +0 -16
  831. package/cmd/vip-next/commands/export_sql.go +0 -333
  832. package/cmd/vip-next/commands/export_sql_test.go +0 -321
  833. package/cmd/vip-next/commands/format_env.go +0 -17
  834. package/cmd/vip-next/commands/import.go +0 -19
  835. package/cmd/vip-next/commands/import_debug_test.go +0 -110
  836. package/cmd/vip-next/commands/import_media.go +0 -433
  837. package/cmd/vip-next/commands/import_media_abort.go +0 -76
  838. package/cmd/vip-next/commands/import_media_confirm.go +0 -83
  839. package/cmd/vip-next/commands/import_media_confirm_test.go +0 -249
  840. package/cmd/vip-next/commands/import_media_fetch_test.go +0 -98
  841. package/cmd/vip-next/commands/import_media_status.go +0 -58
  842. package/cmd/vip-next/commands/import_media_test.go +0 -370
  843. package/cmd/vip-next/commands/import_sql.go +0 -1161
  844. package/cmd/vip-next/commands/import_sql_status.go +0 -67
  845. package/cmd/vip-next/commands/import_sql_test.go +0 -746
  846. package/cmd/vip-next/commands/import_validate_files.go +0 -157
  847. package/cmd/vip-next/commands/import_validate_files_test.go +0 -157
  848. package/cmd/vip-next/commands/import_validate_sql.go +0 -207
  849. package/cmd/vip-next/commands/import_validate_sql_test.go +0 -293
  850. package/cmd/vip-next/commands/login.go +0 -53
  851. package/cmd/vip-next/commands/login_test.go +0 -25
  852. package/cmd/vip-next/commands/logout.go +0 -43
  853. package/cmd/vip-next/commands/logout_test.go +0 -158
  854. package/cmd/vip-next/commands/logs.go +0 -169
  855. package/cmd/vip-next/commands/logs_test.go +0 -174
  856. package/cmd/vip-next/commands/nodeflag_aliases.go +0 -59
  857. package/cmd/vip-next/commands/progress_renderer.go +0 -118
  858. package/cmd/vip-next/commands/progress_renderer_test.go +0 -28
  859. package/cmd/vip-next/commands/searchreplace.go +0 -75
  860. package/cmd/vip-next/commands/searchreplace_debug_test.go +0 -82
  861. package/cmd/vip-next/commands/searchreplace_test.go +0 -155
  862. package/cmd/vip-next/commands/slowlogs.go +0 -167
  863. package/cmd/vip-next/commands/slowlogs_test.go +0 -159
  864. package/cmd/vip-next/commands/sqlreport.go +0 -183
  865. package/cmd/vip-next/commands/sqlreport_test.go +0 -66
  866. package/cmd/vip-next/commands/sync.go +0 -189
  867. package/cmd/vip-next/commands/sync_confirm.go +0 -121
  868. package/cmd/vip-next/commands/sync_confirm_test.go +0 -202
  869. package/cmd/vip-next/commands/sync_render.go +0 -207
  870. package/cmd/vip-next/commands/sync_render_test.go +0 -101
  871. package/cmd/vip-next/commands/sync_test.go +0 -148
  872. package/cmd/vip-next/commands/update.go +0 -85
  873. package/cmd/vip-next/commands/update_test.go +0 -49
  874. package/cmd/vip-next/commands/whoami.go +0 -161
  875. package/cmd/vip-next/commands/whoami_debug_test.go +0 -79
  876. package/cmd/vip-next/commands/whoami_test.go +0 -85
  877. package/cmd/vip-next/commands/wp.go +0 -376
  878. package/cmd/vip-next/commands/wp_debug_test.go +0 -32
  879. package/cmd/vip-next/commands/wp_test.go +0 -276
  880. package/cmd/vip-next/debug_args.go +0 -63
  881. package/cmd/vip-next/debug_test.go +0 -122
  882. package/cmd/vip-next/edge_workers_test.go +0 -108
  883. package/cmd/vip-next/flags_node_parity_test.go +0 -434
  884. package/cmd/vip-next/main.go +0 -391
  885. package/cmd/vip-next/main_test.go +0 -202
  886. package/cmd/vip-next/pendo_wiring_test.go +0 -148
  887. package/cmd/vip-next/root.go +0 -211
  888. package/cmd/vip-next/update_bootstrap.go +0 -94
  889. package/cmd/vip-next/update_bootstrap_test.go +0 -85
  890. package/cmd/vip-next/update_integration_test.go +0 -137
  891. package/cmd/vip-next-prerelease/main.go +0 -108
  892. package/cmd/vip-next-prerelease/main_test.go +0 -46
  893. package/dist/lib/analytics/clients/client.js +0 -1
  894. package/dist/lib/analytics/clients/pendo.js +0 -78
  895. package/docs/ARCHITECTURE.md +0 -95
  896. package/docs/BUILD-SIGNING.md +0 -501
  897. package/docs/CHANGELOG.md +0 -1844
  898. package/docs/COMMANDER-MIGRATION.md +0 -45
  899. package/docs/CONTRIBUTING.md +0 -29
  900. package/docs/CUTOVER-BREAKING-CHANGES.md +0 -261
  901. package/docs/DEBUGGING.md +0 -94
  902. package/docs/EDGE-WORKERS.md +0 -256
  903. package/docs/GO-UPDATES.md +0 -97
  904. package/docs/NPM-RELEASE-RECOVERY.md +0 -47
  905. package/docs/RELEASING.md +0 -211
  906. package/docs/SECURITY.md +0 -9
  907. package/docs/SETUP.md +0 -154
  908. package/docs/TESTING.md +0 -67
  909. package/docs/decisions/0001-operation-scoped-elevated-token-reuse.md +0 -87
  910. package/docs/dev-env-windows-wsl-testing.md +0 -191
  911. package/docs/vip-next-vip-command-reference.md +0 -257
  912. package/docs/vip-wp-line-parse-dfa.dot +0 -31
  913. package/eslint.config.js +0 -35
  914. package/fastlane/Fastfile +0 -204
  915. package/fastlane/example.env +0 -8
  916. package/fastlane/test_signing.rb +0 -83
  917. package/go.mod +0 -39
  918. package/go.sum +0 -127
  919. package/helpers/check-version.js +0 -16
  920. package/internal/appctx/app_resolver.go +0 -202
  921. package/internal/appctx/app_resolver_test.go +0 -187
  922. package/internal/appctx/confirm.go +0 -180
  923. package/internal/appctx/confirm_payload_test.go +0 -201
  924. package/internal/appctx/confirm_test.go +0 -120
  925. package/internal/appctx/context.go +0 -94
  926. package/internal/appctx/context_test.go +0 -56
  927. package/internal/appctx/env_resolver.go +0 -110
  928. package/internal/appctx/env_resolver_test.go +0 -215
  929. package/internal/appctx/format.go +0 -72
  930. package/internal/appctx/format_test.go +0 -75
  931. package/internal/appctx/interactive.go +0 -50
  932. package/internal/appctx/interactive_test.go +0 -134
  933. package/internal/appctx/middleware.go +0 -56
  934. package/internal/appctx/middleware_test.go +0 -88
  935. package/internal/appctx/prompts.go +0 -70
  936. package/internal/appctx/prompts_test.go +0 -97
  937. package/internal/appctx/required_args.go +0 -24
  938. package/internal/appctx/required_args_test.go +0 -38
  939. package/internal/appctx/telemetry.go +0 -22
  940. package/internal/appctx/telemetry_test.go +0 -42
  941. package/internal/appctx/wildcard.go +0 -29
  942. package/internal/appctx/wildcard_test.go +0 -53
  943. package/internal/auth/bypass.go +0 -84
  944. package/internal/auth/bypass_test.go +0 -97
  945. package/internal/auth/login.go +0 -156
  946. package/internal/auth/login_test.go +0 -184
  947. package/internal/auth/logout.go +0 -44
  948. package/internal/auth/logout_test.go +0 -78
  949. package/internal/auth/store.go +0 -130
  950. package/internal/auth/store_test.go +0 -339
  951. package/internal/auth/token.go +0 -117
  952. package/internal/auth/token_test.go +0 -90
  953. package/internal/backup/backup.go +0 -194
  954. package/internal/backup/backup_test.go +0 -228
  955. package/internal/cachepurge/cachepurge.go +0 -38
  956. package/internal/cachepurge/cachepurge_test.go +0 -92
  957. package/internal/customdeploy/archive.go +0 -205
  958. package/internal/customdeploy/archive_test.go +0 -174
  959. package/internal/customdeploy/customdeploy.go +0 -91
  960. package/internal/customdeploy/customdeploy_test.go +0 -82
  961. package/internal/debuglog/debuglog.go +0 -85
  962. package/internal/debuglog/debuglog_test.go +0 -44
  963. package/internal/defensivemode/api.go +0 -89
  964. package/internal/defensivemode/api_test.go +0 -122
  965. package/internal/devenv/adapters.go +0 -168
  966. package/internal/devenv/adapters_test.go +0 -44
  967. package/internal/devenv/adopt.go +0 -20
  968. package/internal/devenv/adopt_setup_test.go +0 -30
  969. package/internal/devenv/compose/labels.go +0 -90
  970. package/internal/devenv/compose/labels_test.go +0 -136
  971. package/internal/devenv/compose/project.go +0 -88
  972. package/internal/devenv/compose/project_test.go +0 -148
  973. package/internal/devenv/compose/render.go +0 -54
  974. package/internal/devenv/compose/render_test.go +0 -90
  975. package/internal/devenv/compose/services.go +0 -337
  976. package/internal/devenv/compose/services_test.go +0 -258
  977. package/internal/devenv/compose/testdata/full.golden.yml +0 -265
  978. package/internal/devenv/compose/types.go +0 -97
  979. package/internal/devenv/compose/types_test.go +0 -61
  980. package/internal/devenv/compose/view.go +0 -205
  981. package/internal/devenv/compose/view_test.go +0 -120
  982. package/internal/devenv/configfile.go +0 -300
  983. package/internal/devenv/configfile_test.go +0 -246
  984. package/internal/devenv/create.go +0 -130
  985. package/internal/devenv/create_test.go +0 -98
  986. package/internal/devenv/debug.go +0 -4
  987. package/internal/devenv/debug_test.go +0 -103
  988. package/internal/devenv/devenv.go +0 -434
  989. package/internal/devenv/devenv_test.go +0 -77
  990. package/internal/devenv/devexec.go +0 -140
  991. package/internal/devenv/devexec_test.go +0 -91
  992. package/internal/devenv/devlog/devlog.go +0 -219
  993. package/internal/devenv/devlog/devlog_test.go +0 -112
  994. package/internal/devenv/devterm/devterm.go +0 -65
  995. package/internal/devenv/devterm/devterm_pty.go +0 -58
  996. package/internal/devenv/devterm/devterm_stub.go +0 -20
  997. package/internal/devenv/devterm/devterm_test.go +0 -78
  998. package/internal/devenv/dockercli/capture.go +0 -84
  999. package/internal/devenv/dockercli/capture_test.go +0 -33
  1000. package/internal/devenv/dockercli/compose.go +0 -30
  1001. package/internal/devenv/dockercli/compose_test.go +0 -35
  1002. package/internal/devenv/dockercli/runner.go +0 -214
  1003. package/internal/devenv/dockercli/runner_test.go +0 -157
  1004. package/internal/devenv/dockercli/socket.go +0 -56
  1005. package/internal/devenv/dockercli/socket_test.go +0 -52
  1006. package/internal/devenv/e2e_gate_test.go +0 -17
  1007. package/internal/devenv/e2e_test.go +0 -499
  1008. package/internal/devenv/e2esafety/gate_wiring_test.go +0 -90
  1009. package/internal/devenv/e2esafety/safety.go +0 -52
  1010. package/internal/devenv/e2esafety/safety_test.go +0 -71
  1011. package/internal/devenv/eachenv_test.go +0 -132
  1012. package/internal/devenv/editor.go +0 -82
  1013. package/internal/devenv/editor_test.go +0 -60
  1014. package/internal/devenv/envfile.go +0 -287
  1015. package/internal/devenv/envvar.go +0 -165
  1016. package/internal/devenv/envvar_test.go +0 -178
  1017. package/internal/devenv/hostops/context.go +0 -38
  1018. package/internal/devenv/hostops/context_test.go +0 -24
  1019. package/internal/devenv/hostops/e2e_gate_test.go +0 -17
  1020. package/internal/devenv/hostops/e2e_test.go +0 -429
  1021. package/internal/devenv/hostops/elevate.go +0 -248
  1022. package/internal/devenv/hostops/elevate_message_test.go +0 -35
  1023. package/internal/devenv/hostops/elevate_test.go +0 -111
  1024. package/internal/devenv/hostops/hosts.go +0 -255
  1025. package/internal/devenv/hostops/hosts_test.go +0 -178
  1026. package/internal/devenv/hostops/thumbprint_test.go +0 -57
  1027. package/internal/devenv/hostops/trust.go +0 -115
  1028. package/internal/devenv/hostops/trust_test.go +0 -90
  1029. package/internal/devenv/hostrefresh.go +0 -127
  1030. package/internal/devenv/hostrefresh_test.go +0 -123
  1031. package/internal/devenv/importdata.go +0 -491
  1032. package/internal/devenv/importdata_test.go +0 -142
  1033. package/internal/devenv/importdecompress_test.go +0 -90
  1034. package/internal/devenv/importgate_test.go +0 -166
  1035. package/internal/devenv/importvalidate.go +0 -437
  1036. package/internal/devenv/importvalidate_test.go +0 -293
  1037. package/internal/devenv/info_table.go +0 -165
  1038. package/internal/devenv/info_table_test.go +0 -111
  1039. package/internal/devenv/instancedata/instancedata.go +0 -239
  1040. package/internal/devenv/instancedata/instancedata_test.go +0 -281
  1041. package/internal/devenv/instancedata/testdata/legacy_keys.json +0 -16
  1042. package/internal/devenv/instancedata/testdata/unknown_keys.json +0 -19
  1043. package/internal/devenv/lifecycle/adopt.go +0 -24
  1044. package/internal/devenv/lifecycle/adopt_test.go +0 -43
  1045. package/internal/devenv/lifecycle/health.go +0 -28
  1046. package/internal/devenv/lifecycle/health_test.go +0 -34
  1047. package/internal/devenv/lifecycle/hosts.go +0 -42
  1048. package/internal/devenv/lifecycle/hosts_test.go +0 -41
  1049. package/internal/devenv/lifecycle/migrate.go +0 -44
  1050. package/internal/devenv/lifecycle/migrate_test.go +0 -78
  1051. package/internal/devenv/lifecycle/pull.go +0 -19
  1052. package/internal/devenv/lifecycle/pull_test.go +0 -29
  1053. package/internal/devenv/lifecycle/setup.go +0 -35
  1054. package/internal/devenv/lifecycle/setup_test.go +0 -46
  1055. package/internal/devenv/lifecycle/start.go +0 -132
  1056. package/internal/devenv/lifecycle/start_test.go +0 -350
  1057. package/internal/devenv/lifecycle/teardown.go +0 -32
  1058. package/internal/devenv/lifecycle/teardown_test.go +0 -83
  1059. package/internal/devenv/lifecycle/types.go +0 -86
  1060. package/internal/devenv/lifecycle/waiter.go +0 -49
  1061. package/internal/devenv/lifecycle/waiter_test.go +0 -98
  1062. package/internal/devenv/list.go +0 -49
  1063. package/internal/devenv/list_test.go +0 -24
  1064. package/internal/devenv/logs.go +0 -43
  1065. package/internal/devenv/logs_test.go +0 -28
  1066. package/internal/devenv/materialize.go +0 -44
  1067. package/internal/devenv/materialize_test.go +0 -112
  1068. package/internal/devenv/paths/paths.go +0 -42
  1069. package/internal/devenv/paths/paths_test.go +0 -39
  1070. package/internal/devenv/postimport.go +0 -134
  1071. package/internal/devenv/postimport_test.go +0 -389
  1072. package/internal/devenv/proxy/ca.go +0 -110
  1073. package/internal/devenv/proxy/ca_test.go +0 -111
  1074. package/internal/devenv/proxy/network.go +0 -28
  1075. package/internal/devenv/proxy/network_test.go +0 -68
  1076. package/internal/devenv/proxy/ports.go +0 -104
  1077. package/internal/devenv/proxy/ports_test.go +0 -76
  1078. package/internal/devenv/proxy/proxy.go +0 -143
  1079. package/internal/devenv/proxy/proxy_test.go +0 -149
  1080. package/internal/devenv/proxy/scripts/gen-certs.sh +0 -73
  1081. package/internal/devenv/proxy/spec.go +0 -60
  1082. package/internal/devenv/proxy/spec_test.go +0 -44
  1083. package/internal/devenv/proxy/testhelpers_test.go +0 -7
  1084. package/internal/devenv/proxy_policy_test.go +0 -155
  1085. package/internal/devenv/syncplan.go +0 -573
  1086. package/internal/devenv/syncplan_test.go +0 -256
  1087. package/internal/devenv/syncsql.go +0 -247
  1088. package/internal/devenv/syncsql_repair.go +0 -169
  1089. package/internal/devenv/syncsql_repair_test.go +0 -150
  1090. package/internal/devenv/syncsql_test.go +0 -220
  1091. package/internal/devenv/update.go +0 -87
  1092. package/internal/devenv/update_test.go +0 -47
  1093. package/internal/edgeworkers/api.go +0 -173
  1094. package/internal/edgeworkers/api_test.go +0 -256
  1095. package/internal/edgeworkers/build.go +0 -188
  1096. package/internal/edgeworkers/build_test.go +0 -175
  1097. package/internal/edgeworkers/confirmation.go +0 -72
  1098. package/internal/edgeworkers/deployment.go +0 -156
  1099. package/internal/edgeworkers/deployment_test.go +0 -165
  1100. package/internal/edgeworkers/output.go +0 -131
  1101. package/internal/edgeworkers/output_test.go +0 -98
  1102. package/internal/edgeworkers/project.go +0 -264
  1103. package/internal/edgeworkers/project_test.go +0 -167
  1104. package/internal/edgeworkers/scaffold.go +0 -88
  1105. package/internal/edgeworkers/templates/README.md +0 -25
  1106. package/internal/edgeworkers/templates/edge-workers.json +0 -4
  1107. package/internal/edgeworkers/templates/gitignore +0 -2
  1108. package/internal/edgeworkers/templates/package.json +0 -16
  1109. package/internal/edgeworkers/templates/tsconfig.json +0 -6
  1110. package/internal/edgeworkers/templates/worker.ts +0 -19
  1111. package/internal/edgeworkers/types.go +0 -37
  1112. package/internal/edgeworkers/validation.go +0 -177
  1113. package/internal/envalias/envalias.go +0 -50
  1114. package/internal/envalias/envalias_test.go +0 -147
  1115. package/internal/envvar/envvar.go +0 -253
  1116. package/internal/envvar/envvar_test.go +0 -274
  1117. package/internal/envvar/reload_manifest.go +0 -99
  1118. package/internal/envvar/reload_manifest_test.go +0 -44
  1119. package/internal/envvar/value_confirm.go +0 -26
  1120. package/internal/envvar/value_confirm_test.go +0 -22
  1121. package/internal/exit/exit.go +0 -94
  1122. package/internal/exit/exit_test.go +0 -119
  1123. package/internal/gql/SCHEMA.md +0 -21
  1124. package/internal/gql/client.go +0 -54
  1125. package/internal/gql/client_test.go +0 -71
  1126. package/internal/gql/debug_test.go +0 -79
  1127. package/internal/gql/decoder_compat_helpers_test.go +0 -35
  1128. package/internal/gql/decoder_compat_test.go +0 -78
  1129. package/internal/gql/doc.go +0 -13
  1130. package/internal/gql/edgeworkerinput/input.go +0 -58
  1131. package/internal/gql/edgeworkerinput/input_test.go +0 -52
  1132. package/internal/gql/error.go +0 -163
  1133. package/internal/gql/error_test.go +0 -203
  1134. package/internal/gql/generated.go +0 -10425
  1135. package/internal/gql/genqlient.yaml +0 -26
  1136. package/internal/gql/import_sql_marshal_test.go +0 -69
  1137. package/internal/gql/operation.go +0 -67
  1138. package/internal/gql/operation_test.go +0 -60
  1139. package/internal/gql/operations/app_get.graphql +0 -43
  1140. package/internal/gql/operations/app_list.graphql +0 -9
  1141. package/internal/gql/operations/app_resolve.graphql +0 -37
  1142. package/internal/gql/operations/backup_export_deploy.graphql +0 -123
  1143. package/internal/gql/operations/cachepurge.graphql +0 -6
  1144. package/internal/gql/operations/defensive_mode.graphql +0 -13
  1145. package/internal/gql/operations/dev_env_create.graphql +0 -38
  1146. package/internal/gql/operations/dev_env_sync.graphql +0 -15
  1147. package/internal/gql/operations/edge_workers.graphql +0 -53
  1148. package/internal/gql/operations/envvar.graphql +0 -52
  1149. package/internal/gql/operations/fragments.graphql +0 -5
  1150. package/internal/gql/operations/import_media.graphql +0 -61
  1151. package/internal/gql/operations/import_sql.graphql +0 -135
  1152. package/internal/gql/operations/logs.graphql +0 -22
  1153. package/internal/gql/operations/me.graphql +0 -13
  1154. package/internal/gql/operations/phpmyadmin.graphql +0 -21
  1155. package/internal/gql/operations/slowlogs.graphql +0 -25
  1156. package/internal/gql/operations/software.graphql +0 -53
  1157. package/internal/gql/operations/sync.graphql +0 -51
  1158. package/internal/gql/operations/wp.graphql +0 -37
  1159. package/internal/gql/proxy_test.go +0 -62
  1160. package/internal/gql/rechallenge.go +0 -218
  1161. package/internal/gql/rechallenge_test.go +0 -471
  1162. package/internal/gql/retry.go +0 -130
  1163. package/internal/gql/retry_test.go +0 -230
  1164. package/internal/gql/schema.gql +0 -9337
  1165. package/internal/gql/transport.go +0 -65
  1166. package/internal/gql/transport_helper.go +0 -24
  1167. package/internal/httpproxy/callers_test.go +0 -211
  1168. package/internal/httpproxy/debug_test.go +0 -32
  1169. package/internal/httpproxy/httpproxy.go +0 -315
  1170. package/internal/httpproxy/httpproxy_test.go +0 -435
  1171. package/internal/installer/version.go +0 -41
  1172. package/internal/installer/version_test.go +0 -33
  1173. package/internal/keychain/fallback.go +0 -93
  1174. package/internal/keychain/keychain.go +0 -197
  1175. package/internal/keychain/keychain_select_test.go +0 -34
  1176. package/internal/keychain/keychain_test.go +0 -112
  1177. package/internal/logsapi/logsapi.go +0 -165
  1178. package/internal/logsapi/logsapi_test.go +0 -82
  1179. package/internal/mediaimport/mediaimport.go +0 -26
  1180. package/internal/mediaimport/mediaimport_test.go +0 -46
  1181. package/internal/mediaimport/status.go +0 -162
  1182. package/internal/mediaimport/status_test.go +0 -159
  1183. package/internal/mediaimport/tracker.go +0 -116
  1184. package/internal/mediaimport/tracker_test.go +0 -62
  1185. package/internal/nodeflags/nodeflags.go +0 -130
  1186. package/internal/nodeflags/nodeflags_test.go +0 -138
  1187. package/internal/nodeflags/optionalvalue.go +0 -123
  1188. package/internal/nodeflags/optionalvalue_test.go +0 -158
  1189. package/internal/output/csv.go +0 -178
  1190. package/internal/output/fields.go +0 -22
  1191. package/internal/output/fields_test.go +0 -21
  1192. package/internal/output/ids.go +0 -26
  1193. package/internal/output/ids_test.go +0 -32
  1194. package/internal/output/json.go +0 -113
  1195. package/internal/output/keyvalue.go +0 -35
  1196. package/internal/output/keyvalue_block.go +0 -77
  1197. package/internal/output/keyvalue_block_test.go +0 -95
  1198. package/internal/output/keyvalue_test.go +0 -35
  1199. package/internal/output/ordered.go +0 -44
  1200. package/internal/output/ordered_test.go +0 -42
  1201. package/internal/output/output.go +0 -62
  1202. package/internal/output/output_test.go +0 -400
  1203. package/internal/output/table.go +0 -231
  1204. package/internal/output/table_layout.go +0 -472
  1205. package/internal/output/table_layout_test.go +0 -107
  1206. package/internal/output/table_layout_tty_test.go +0 -63
  1207. package/internal/output/text.go +0 -24
  1208. package/internal/output/text_test.go +0 -31
  1209. package/internal/output/typename.go +0 -35
  1210. package/internal/output/typename_test.go +0 -48
  1211. package/internal/parity/backup_export_deploy_scenario_test.go +0 -285
  1212. package/internal/parity/cache_scenario_test.go +0 -173
  1213. package/internal/parity/command_surface_scenario_test.go +0 -530
  1214. package/internal/parity/defensive_mode_scenario_test.go +0 -133
  1215. package/internal/parity/diff.go +0 -128
  1216. package/internal/parity/diff_test.go +0 -155
  1217. package/internal/parity/differential_test.go +0 -166
  1218. package/internal/parity/edge_workers_build_smoke_test.go +0 -69
  1219. package/internal/parity/edge_workers_cases_test.go +0 -77
  1220. package/internal/parity/edge_workers_debug_test.go +0 -87
  1221. package/internal/parity/edge_workers_differential_test.go +0 -483
  1222. package/internal/parity/edge_workers_prompt_test.go +0 -151
  1223. package/internal/parity/env.go +0 -176
  1224. package/internal/parity/env_test.go +0 -211
  1225. package/internal/parity/envvar_mutation_scenario_test.go +0 -188
  1226. package/internal/parity/harness.go +0 -28
  1227. package/internal/parity/harness_test.go +0 -62
  1228. package/internal/parity/import_media_scenario_test.go +0 -207
  1229. package/internal/parity/import_sql_scenario_test.go +0 -198
  1230. package/internal/parity/import_validate_sql_scenario_test.go +0 -68
  1231. package/internal/parity/keychain.go +0 -538
  1232. package/internal/parity/keychain_test.go +0 -201
  1233. package/internal/parity/m5_differential_test.go +0 -185
  1234. package/internal/parity/m5_scenarios_test.go +0 -225
  1235. package/internal/parity/nodebin.go +0 -120
  1236. package/internal/parity/nodebin_test.go +0 -148
  1237. package/internal/parity/parker.go +0 -491
  1238. package/internal/parity/parker_discovery.go +0 -373
  1239. package/internal/parity/parker_discovery_test.go +0 -267
  1240. package/internal/parity/parker_live_test.go +0 -164
  1241. package/internal/parity/parker_test.go +0 -480
  1242. package/internal/parity/pendo_test.go +0 -122
  1243. package/internal/parity/phpmyadmin_scenario_test.go +0 -214
  1244. package/internal/parity/runner.go +0 -56
  1245. package/internal/parity/runner_test.go +0 -67
  1246. package/internal/parity/scenario.go +0 -82
  1247. package/internal/parity/scenario_test.go +0 -52
  1248. package/internal/parity/surface_differential_test.go +0 -494
  1249. package/internal/parity/sync_scenario_test.go +0 -172
  1250. package/internal/parity/vendored_src_test.go +0 -84
  1251. package/internal/parity/whoami_scenario_test.go +0 -69
  1252. package/internal/parity/wp_scenario_test.go +0 -428
  1253. package/internal/phpmyadmin/client.go +0 -221
  1254. package/internal/phpmyadmin/client_test.go +0 -418
  1255. package/internal/poll/poll.go +0 -85
  1256. package/internal/poll/poll_test.go +0 -136
  1257. package/internal/polling/polling.go +0 -97
  1258. package/internal/polling/polling_test.go +0 -59
  1259. package/internal/rechallenge/browser.go +0 -16
  1260. package/internal/rechallenge/client.go +0 -198
  1261. package/internal/rechallenge/client_test.go +0 -169
  1262. package/internal/rechallenge/errors.go +0 -137
  1263. package/internal/rechallenge/errors_test.go +0 -81
  1264. package/internal/rechallenge/flow.go +0 -232
  1265. package/internal/rechallenge/flow_noninteractive_test.go +0 -285
  1266. package/internal/rechallenge/flow_test.go +0 -217
  1267. package/internal/rechallenge/interactive.go +0 -90
  1268. package/internal/rechallenge/interactive_test.go +0 -106
  1269. package/internal/rechallenge/redact.go +0 -36
  1270. package/internal/rechallenge/redact_test.go +0 -142
  1271. package/internal/rechallenge/tokencache.go +0 -148
  1272. package/internal/rechallenge/tokencache_test.go +0 -139
  1273. package/internal/rechallenge/types.go +0 -100
  1274. package/internal/rechallenge/types_test.go +0 -56
  1275. package/internal/redact/redact.go +0 -99
  1276. package/internal/redact/redact_test.go +0 -80
  1277. package/internal/releasepromotion/buildkite.go +0 -233
  1278. package/internal/releasepromotion/buildkite_test.go +0 -284
  1279. package/internal/releasepromotion/contract.go +0 -165
  1280. package/internal/releasepromotion/contract_test.go +0 -211
  1281. package/internal/releasepromotion/github.go +0 -378
  1282. package/internal/releasepromotion/github_test.go +0 -399
  1283. package/internal/releasepromotion/optional_installers_test.go +0 -87
  1284. package/internal/releasepromotion/promoter.go +0 -134
  1285. package/internal/releasepromotion/promoter_test.go +0 -147
  1286. package/internal/releasepromotion/verify.go +0 -239
  1287. package/internal/releasepromotion/verify_test.go +0 -296
  1288. package/internal/searchreplace/debug_test.go +0 -71
  1289. package/internal/searchreplace/dumpdetails.go +0 -104
  1290. package/internal/searchreplace/dumpdetails_test.go +0 -86
  1291. package/internal/searchreplace/searchreplace.go +0 -261
  1292. package/internal/searchreplace/searchreplace_test.go +0 -250
  1293. package/internal/siteimport/debug_test.go +0 -34
  1294. package/internal/siteimport/siteimport.go +0 -18
  1295. package/internal/siteimport/siteimport_test.go +0 -19
  1296. package/internal/siteimport/sitetype.go +0 -74
  1297. package/internal/siteimport/sitetype_test.go +0 -62
  1298. package/internal/siteimport/status.go +0 -282
  1299. package/internal/siteimport/status_test.go +0 -234
  1300. package/internal/slowlogsapi/slowlogsapi.go +0 -176
  1301. package/internal/slowlogsapi/slowlogsapi_test.go +0 -93
  1302. package/internal/softwaresettings/format.go +0 -192
  1303. package/internal/softwaresettings/format_test.go +0 -123
  1304. package/internal/sqlexport/diskspace.go +0 -36
  1305. package/internal/sqlexport/diskspace_unix.go +0 -24
  1306. package/internal/sqlexport/diskspace_windows.go +0 -26
  1307. package/internal/sqlexport/download.go +0 -75
  1308. package/internal/sqlexport/download_test.go +0 -103
  1309. package/internal/sqlexport/export.go +0 -321
  1310. package/internal/sqlexport/export_test.go +0 -313
  1311. package/internal/sqlexport/format.go +0 -44
  1312. package/internal/sqlexport/livecopy.go +0 -150
  1313. package/internal/sqlexport/livecopy_test.go +0 -273
  1314. package/internal/sqlvalidation/devenv_checks_test.go +0 -134
  1315. package/internal/sqlvalidation/filename.go +0 -30
  1316. package/internal/sqlvalidation/line_by_line.go +0 -91
  1317. package/internal/sqlvalidation/line_by_line_test.go +0 -165
  1318. package/internal/sqlvalidation/multisite.go +0 -31
  1319. package/internal/sqlvalidation/multisite_test.go +0 -34
  1320. package/internal/sqlvalidation/sql.go +0 -510
  1321. package/internal/sqlvalidation/sql_test.go +0 -206
  1322. package/internal/sync/sync.go +0 -246
  1323. package/internal/sync/sync_test.go +0 -253
  1324. package/internal/telemetry/config.go +0 -34
  1325. package/internal/telemetry/default.go +0 -67
  1326. package/internal/telemetry/default_endpoint_test.go +0 -111
  1327. package/internal/telemetry/pendo.go +0 -185
  1328. package/internal/telemetry/pendo_auth_test.go +0 -92
  1329. package/internal/telemetry/pendo_test.go +0 -252
  1330. package/internal/telemetry/scrub.go +0 -90
  1331. package/internal/telemetry/scrub_test.go +0 -131
  1332. package/internal/telemetry/tracker.go +0 -102
  1333. package/internal/telemetry/tracker_test.go +0 -76
  1334. package/internal/telemetry/tracks.go +0 -82
  1335. package/internal/telemetry/tracks_test.go +0 -129
  1336. package/internal/telemetry/uuid.go +0 -50
  1337. package/internal/telemetry/uuid_test.go +0 -90
  1338. package/internal/tui/progress.go +0 -153
  1339. package/internal/tui/progress_test.go +0 -89
  1340. package/internal/tui/progress_tracker.go +0 -299
  1341. package/internal/tui/progress_tracker_test.go +0 -155
  1342. package/internal/update/archive.go +0 -134
  1343. package/internal/update/archive_test.go +0 -132
  1344. package/internal/update/download.go +0 -138
  1345. package/internal/update/download_test.go +0 -32
  1346. package/internal/update/github.go +0 -121
  1347. package/internal/update/install.go +0 -265
  1348. package/internal/update/install_test.go +0 -151
  1349. package/internal/update/lock_unix.go +0 -23
  1350. package/internal/update/lock_windows.go +0 -22
  1351. package/internal/update/native_test.go +0 -70
  1352. package/internal/update/notify.go +0 -91
  1353. package/internal/update/ownership.go +0 -117
  1354. package/internal/update/ownership_test.go +0 -102
  1355. package/internal/update/release.go +0 -120
  1356. package/internal/update/release_test.go +0 -168
  1357. package/internal/update/service.go +0 -197
  1358. package/internal/update/service_test.go +0 -118
  1359. package/internal/update/state.go +0 -116
  1360. package/internal/update/state_test.go +0 -132
  1361. package/internal/upload/debug_test.go +0 -76
  1362. package/internal/upload/filemeta.go +0 -112
  1363. package/internal/upload/filemeta_test.go +0 -94
  1364. package/internal/upload/multipart.go +0 -215
  1365. package/internal/upload/multipart_test.go +0 -210
  1366. package/internal/upload/orchestrate.go +0 -81
  1367. package/internal/upload/parts.go +0 -39
  1368. package/internal/upload/parts_test.go +0 -39
  1369. package/internal/upload/presign.go +0 -103
  1370. package/internal/upload/presign_test.go +0 -128
  1371. package/internal/upload/proxy_test.go +0 -55
  1372. package/internal/upload/putobject.go +0 -92
  1373. package/internal/upload/putobject_test.go +0 -79
  1374. package/internal/upload/retry.go +0 -45
  1375. package/internal/upload/upload.go +0 -22
  1376. package/internal/upload/xmlerror.go +0 -28
  1377. package/internal/validatefiles/files.go +0 -105
  1378. package/internal/validatefiles/files_test.go +0 -143
  1379. package/internal/validatefiles/report.go +0 -172
  1380. package/internal/validatefiles/validatefiles.go +0 -271
  1381. package/internal/validatefiles/validatefiles_test.go +0 -127
  1382. package/internal/version/stamp.go +0 -15
  1383. package/internal/version/stamp_test.go +0 -25
  1384. package/internal/version/version.go +0 -14
  1385. package/internal/version/version_test.go +0 -25
  1386. package/internal/wpshell/parser.go +0 -68
  1387. package/internal/wpshell/parser_test.go +0 -58
  1388. package/internal/wpshell/repl.go +0 -81
  1389. package/internal/wpshell/repl_test.go +0 -71
  1390. package/internal/wpshell/requote.go +0 -13
  1391. package/internal/wpshell/requote_test.go +0 -15
  1392. package/internal/wpssh/debug_test.go +0 -67
  1393. package/internal/wpssh/wpssh.go +0 -124
  1394. package/internal/wpssh/wpssh_test.go +0 -203
  1395. package/internal/wpstream/debug_test.go +0 -116
  1396. package/internal/wpstream/e2e_test.go +0 -178
  1397. package/internal/wpstream/engineio.go +0 -291
  1398. package/internal/wpstream/engineio_test.go +0 -82
  1399. package/internal/wpstream/iostream.go +0 -391
  1400. package/internal/wpstream/iostream_test.go +0 -138
  1401. package/internal/wpstream/run.go +0 -364
  1402. package/internal/wpstream/run_test.go +0 -184
  1403. package/internal/wpstream/socketio.go +0 -435
  1404. package/internal/wpstream/socketio_test.go +0 -402
  1405. package/internal/wpstream/testdata/fixture-server.js +0 -54
  1406. package/make.ps1 +0 -155
  1407. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs +0 -3
  1408. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.cjs.map +0 -1
  1409. package/node_modules/@apollo/client/__cjs/utilities/internal/types/DeferInfo.d.cts +0 -10
  1410. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.d.ts +0 -10
  1411. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js +0 -2
  1412. package/node_modules/@apollo/client/utilities/internal/types/DeferInfo.js.map +0 -1
  1413. package/node_modules/argparse/LICENSE +0 -254
  1414. package/node_modules/argparse/README.md +0 -84
  1415. package/node_modules/argparse/package.json +0 -31
  1416. package/node_modules/check-disk-space/dist/check-disk-space.cjs +0 -210
  1417. package/node_modules/check-disk-space/dist/check-disk-space.d.ts +0 -53
  1418. package/node_modules/fetch-retry/.eslintignore +0 -1
  1419. package/node_modules/fetch-retry/.eslintrc.yml +0 -20
  1420. package/node_modules/fetch-retry/.github/workflows/node.js.yml +0 -32
  1421. package/node_modules/fetch-retry/.husky/pre-commit +0 -6
  1422. package/node_modules/fetch-retry/.nycrc.json +0 -24
  1423. package/node_modules/fetch-retry/.travis.yml +0 -3
  1424. package/node_modules/fetch-retry/README.md +0 -128
  1425. package/node_modules/fetch-retry/dist/fetch-retry.umd.js +0 -151
  1426. package/node_modules/fetch-retry/index.d.ts +0 -29
  1427. package/node_modules/fetch-retry/index.js +0 -143
  1428. package/node_modules/fetch-retry/package.json +0 -41
  1429. package/node_modules/fetch-retry/rollup.config.js +0 -12
  1430. package/node_modules/fetch-retry/test/.eslintrc.yml +0 -7
  1431. package/node_modules/fetch-retry/test/integration/index.js +0 -212
  1432. package/node_modules/fetch-retry/test/integration/mock-api/index.js +0 -42
  1433. package/node_modules/fetch-retry/test/unit/index.js +0 -1169
  1434. package/node_modules/lando/node_modules/cliui/build/index.cjs +0 -302
  1435. package/node_modules/lando/node_modules/cliui/build/lib/string-utils.js +0 -27
  1436. package/node_modules/lando/node_modules/js-yaml/LICENSE +0 -21
  1437. package/node_modules/lando/node_modules/js-yaml/README.md +0 -233
  1438. package/node_modules/lando/node_modules/js-yaml/bin/js-yaml.js +0 -117
  1439. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js +0 -3022
  1440. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.js.map +0 -1
  1441. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js +0 -2
  1442. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.min.js.map +0 -1
  1443. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs +0 -3082
  1444. package/node_modules/lando/node_modules/js-yaml/dist/js-yaml.mjs.map +0 -1
  1445. package/node_modules/lando/node_modules/js-yaml/index.js +0 -44
  1446. package/node_modules/lando/node_modules/js-yaml/lib/common.js +0 -50
  1447. package/node_modules/lando/node_modules/js-yaml/lib/dumper.js +0 -937
  1448. package/node_modules/lando/node_modules/js-yaml/lib/exception.js +0 -51
  1449. package/node_modules/lando/node_modules/js-yaml/lib/index_vite_proxy.tmp.mjs +0 -37
  1450. package/node_modules/lando/node_modules/js-yaml/lib/loader.js +0 -1803
  1451. package/node_modules/lando/node_modules/js-yaml/lib/schema/core.js +0 -9
  1452. package/node_modules/lando/node_modules/js-yaml/lib/schema/default.js +0 -20
  1453. package/node_modules/lando/node_modules/js-yaml/lib/schema/failsafe.js +0 -14
  1454. package/node_modules/lando/node_modules/js-yaml/lib/schema/json.js +0 -17
  1455. package/node_modules/lando/node_modules/js-yaml/lib/schema.js +0 -109
  1456. package/node_modules/lando/node_modules/js-yaml/lib/snippet.js +0 -96
  1457. package/node_modules/lando/node_modules/js-yaml/lib/type/binary.js +0 -122
  1458. package/node_modules/lando/node_modules/js-yaml/lib/type/bool.js +0 -35
  1459. package/node_modules/lando/node_modules/js-yaml/lib/type/float.js +0 -99
  1460. package/node_modules/lando/node_modules/js-yaml/lib/type/int.js +0 -142
  1461. package/node_modules/lando/node_modules/js-yaml/lib/type/map.js +0 -8
  1462. package/node_modules/lando/node_modules/js-yaml/lib/type/merge.js +0 -12
  1463. package/node_modules/lando/node_modules/js-yaml/lib/type/null.js +0 -35
  1464. package/node_modules/lando/node_modules/js-yaml/lib/type/omap.js +0 -45
  1465. package/node_modules/lando/node_modules/js-yaml/lib/type/pairs.js +0 -50
  1466. package/node_modules/lando/node_modules/js-yaml/lib/type/seq.js +0 -8
  1467. package/node_modules/lando/node_modules/js-yaml/lib/type/set.js +0 -29
  1468. package/node_modules/lando/node_modules/js-yaml/lib/type/str.js +0 -8
  1469. package/node_modules/lando/node_modules/js-yaml/lib/type/timestamp.js +0 -88
  1470. package/node_modules/lando/node_modules/js-yaml/lib/type.js +0 -66
  1471. package/node_modules/lando/node_modules/js-yaml/package.json +0 -83
  1472. package/node_modules/lando/node_modules/wrap-ansi/index.js +0 -216
  1473. package/node_modules/lando/node_modules/wrap-ansi/package.json +0 -62
  1474. package/node_modules/lando/node_modules/wrap-ansi/readme.md +0 -91
  1475. package/node_modules/lando/node_modules/yargs/build/index.cjs +0 -2920
  1476. package/node_modules/lando/node_modules/yargs/helpers/index.js +0 -14
  1477. package/node_modules/lando/node_modules/yargs/index.cjs +0 -39
  1478. package/node_modules/lando/node_modules/yargs/yargs +0 -9
  1479. package/node_modules/lando/node_modules/yargs-parser/build/index.cjs +0 -1042
  1480. package/node_modules/lando/plugins/lando-test/index.js +0 -3
  1481. package/node_modules/lando/plugins/lando-test/plugin.yml +0 -2
  1482. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +0 -265
  1483. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto.node.d +0 -1
  1484. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/sshcrypto.node.d +0 -1
  1485. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
  1486. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
  1487. package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
  1488. package/packaging/macos/build-pkg.sh +0 -53
  1489. package/packaging/macos/preinstall +0 -33
  1490. package/packaging/macos/test-install.sh +0 -51
  1491. package/packaging/macos/test_package.py +0 -74
  1492. package/packaging/macos/uninstall.sh +0 -24
  1493. package/packaging/macos/verify-pkg.py +0 -61
  1494. package/packaging/windows/build-msi.ps1 +0 -153
  1495. package/packaging/windows/test-msi.ps1 +0 -225
  1496. package/packaging/windows/verify-msi.ps1 +0 -74
  1497. package/packaging/windows/vip-next.wxs +0 -79
  1498. package/scripts/catalog_script_test.go +0 -123
  1499. package/scripts/vip-next-command-catalog.sh +0 -506
  1500. package/test-utils/undici-mock.js +0 -25
  1501. package/testdata/installer-fixture/main.go +0 -40
  1502. package/testdata/parity/app-deploy-completed.yaml +0 -14
  1503. package/testdata/parity/app-deploy-missing-token.yaml +0 -21
  1504. package/testdata/parity/app-deploy-validate-clean.yaml +0 -11
  1505. package/testdata/parity/app-deploy-validate-missing-themes.yaml +0 -21
  1506. package/testdata/parity/app-get-baseline.yaml +0 -14
  1507. package/testdata/parity/app-get-custom-deploy.yaml +0 -14
  1508. package/testdata/parity/app-get-json.yaml +0 -14
  1509. package/testdata/parity/app-get-not-found.yaml +0 -13
  1510. package/testdata/parity/app-list-baseline.yaml +0 -14
  1511. package/testdata/parity/app-list-csv.yaml +0 -13
  1512. package/testdata/parity/app-list-empty.yaml +0 -13
  1513. package/testdata/parity/app-list-ids.yaml +0 -26
  1514. package/testdata/parity/app-list-json.yaml +0 -13
  1515. package/testdata/parity/app-list-unknown-format.yaml +0 -29
  1516. package/testdata/parity/backup-db-already-in-progress.yaml +0 -15
  1517. package/testdata/parity/backup-db-completed.yaml +0 -14
  1518. package/testdata/parity/backup-db-help.yaml +0 -10
  1519. package/testdata/parity/cache-purge-url-empty.yaml +0 -26
  1520. package/testdata/parity/cache-purge-url-from-file.yaml +0 -21
  1521. package/testdata/parity/cache-purge-url-multi.yaml +0 -19
  1522. package/testdata/parity/cache-purge-url-single.yaml +0 -18
  1523. package/testdata/parity/defensive-mode-enable-with-rechallenge.yaml +0 -20
  1524. package/testdata/parity/edge-workers-artifact-symlink.yaml +0 -8
  1525. package/testdata/parity/edge-workers-bare-location.yaml +0 -8
  1526. package/testdata/parity/edge-workers-bare-path.yaml +0 -8
  1527. package/testdata/parity/edge-workers-bare-type.yaml +0 -8
  1528. package/testdata/parity/edge-workers-build-all.yaml +0 -8
  1529. package/testdata/parity/edge-workers-build-compiler-error.yaml +0 -8
  1530. package/testdata/parity/edge-workers-build-empty.yaml +0 -8
  1531. package/testdata/parity/edge-workers-build-missing-compiler.yaml +0 -8
  1532. package/testdata/parity/edge-workers-build-name-all.yaml +0 -8
  1533. package/testdata/parity/edge-workers-build-one.yaml +0 -8
  1534. package/testdata/parity/edge-workers-delete-force.yaml +0 -8
  1535. package/testdata/parity/edge-workers-delete-rejected.yaml +0 -8
  1536. package/testdata/parity/edge-workers-deploy-active-update-enable.yaml +0 -8
  1537. package/testdata/parity/edge-workers-deploy-active-update.yaml +0 -8
  1538. package/testdata/parity/edge-workers-deploy-all-preparation-failure.yaml +0 -8
  1539. package/testdata/parity/edge-workers-deploy-create-enable.yaml +0 -8
  1540. package/testdata/parity/edge-workers-deploy-create.yaml +0 -8
  1541. package/testdata/parity/edge-workers-deploy-enable-failure.yaml +0 -8
  1542. package/testdata/parity/edge-workers-deploy-inactive-update-enable.yaml +0 -8
  1543. package/testdata/parity/edge-workers-deploy-inactive-update.yaml +0 -8
  1544. package/testdata/parity/edge-workers-deploy-location-clear.yaml +0 -8
  1545. package/testdata/parity/edge-workers-deploy-location-preserve.yaml +0 -8
  1546. package/testdata/parity/edge-workers-deploy-location-replace.yaml +0 -8
  1547. package/testdata/parity/edge-workers-deploy-name-all.yaml +0 -8
  1548. package/testdata/parity/edge-workers-deploy-production-refused.yaml +0 -8
  1549. package/testdata/parity/edge-workers-deploy-production-skip.yaml +0 -8
  1550. package/testdata/parity/edge-workers-deploy-skip-source-create.yaml +0 -8
  1551. package/testdata/parity/edge-workers-deploy-skip-source.yaml +0 -8
  1552. package/testdata/parity/edge-workers-deploy-skip-validate.yaml +0 -8
  1553. package/testdata/parity/edge-workers-deploy-source-empty.yaml +0 -8
  1554. package/testdata/parity/edge-workers-deploy-upload-failure.yaml +0 -8
  1555. package/testdata/parity/edge-workers-disable.yaml +0 -8
  1556. package/testdata/parity/edge-workers-double-dash.yaml +0 -8
  1557. package/testdata/parity/edge-workers-duplicate-names.yaml +0 -8
  1558. package/testdata/parity/edge-workers-enable-production-refused.yaml +0 -8
  1559. package/testdata/parity/edge-workers-enable.yaml +0 -8
  1560. package/testdata/parity/edge-workers-entry-escape.yaml +0 -8
  1561. package/testdata/parity/edge-workers-get-empty-source.yaml +0 -8
  1562. package/testdata/parity/edge-workers-get-missing.yaml +0 -8
  1563. package/testdata/parity/edge-workers-get-no-source.yaml +0 -8
  1564. package/testdata/parity/edge-workers-get-source.yaml +0 -8
  1565. package/testdata/parity/edge-workers-get.yaml +0 -8
  1566. package/testdata/parity/edge-workers-init-invalid-type.yaml +0 -8
  1567. package/testdata/parity/edge-workers-init-nonempty.yaml +0 -8
  1568. package/testdata/parity/edge-workers-init.yaml +0 -8
  1569. package/testdata/parity/edge-workers-json-control-name.yaml +0 -8
  1570. package/testdata/parity/edge-workers-list-csv.yaml +0 -8
  1571. package/testdata/parity/edge-workers-list-empty-json.yaml +0 -8
  1572. package/testdata/parity/edge-workers-list-empty.yaml +0 -8
  1573. package/testdata/parity/edge-workers-list-json.yaml +0 -8
  1574. package/testdata/parity/edge-workers-list-table.yaml +0 -8
  1575. package/testdata/parity/edge-workers-mutation-graphql-error.yaml +0 -8
  1576. package/testdata/parity/edge-workers-mutation-null.yaml +0 -8
  1577. package/testdata/parity/edge-workers-new-invalid-location.yaml +0 -8
  1578. package/testdata/parity/edge-workers-new-invalid-name.yaml +0 -8
  1579. package/testdata/parity/edge-workers-new-location.yaml +0 -8
  1580. package/testdata/parity/edge-workers-new.yaml +0 -8
  1581. package/testdata/parity/edge-workers-read-null.yaml +0 -8
  1582. package/testdata/parity/edge-workers-repeated-path.yaml +0 -8
  1583. package/testdata/parity/edge-workers-repeated-type.yaml +0 -8
  1584. package/testdata/parity/edge-workers-short-equals.yaml +0 -8
  1585. package/testdata/parity/edge-workers-table-control-name.yaml +0 -8
  1586. package/testdata/parity/edge-workers-unicode-order.yaml +0 -8
  1587. package/testdata/parity/edge-workers-validate-all.yaml +0 -8
  1588. package/testdata/parity/edge-workers-validate-invalid.yaml +0 -8
  1589. package/testdata/parity/edge-workers-validate-name-all.yaml +0 -8
  1590. package/testdata/parity/edge-workers-validate-no-artifact.yaml +0 -8
  1591. package/testdata/parity/edge-workers-validate-no-name.yaml +0 -8
  1592. package/testdata/parity/edge-workers-validate-null.yaml +0 -8
  1593. package/testdata/parity/edge-workers-validate.yaml +0 -8
  1594. package/testdata/parity/envvar-delete-baseline.yaml +0 -19
  1595. package/testdata/parity/envvar-delete-prod-cancel.yaml +0 -41
  1596. package/testdata/parity/envvar-delete-typed-mismatch.yaml +0 -44
  1597. package/testdata/parity/envvar-get-baseline.yaml +0 -14
  1598. package/testdata/parity/envvar-get-lowercase-input.yaml +0 -14
  1599. package/testdata/parity/envvar-get-named-help.yaml +0 -24
  1600. package/testdata/parity/envvar-get-not-found.yaml +0 -17
  1601. package/testdata/parity/envvar-getall-baseline.yaml +0 -14
  1602. package/testdata/parity/envvar-getall-empty.yaml +0 -15
  1603. package/testdata/parity/envvar-getall-keyvalue.yaml +0 -22
  1604. package/testdata/parity/envvar-list-baseline.yaml +0 -15
  1605. package/testdata/parity/envvar-list-empty.yaml +0 -15
  1606. package/testdata/parity/envvar-list-ids.yaml +0 -14
  1607. package/testdata/parity/envvar-list-json.yaml +0 -14
  1608. package/testdata/parity/envvar-list-keyvalue.yaml +0 -22
  1609. package/testdata/parity/envvar-set-baseline.yaml +0 -21
  1610. package/testdata/parity/envvar-set-invalid-name.yaml +0 -20
  1611. package/testdata/parity/envvar-set-newrelic-blocked.yaml +0 -21
  1612. package/testdata/parity/envvar-set-prod-cancel.yaml +0 -42
  1613. package/testdata/parity/envvar-set-prod-confirm-skipped.yaml +0 -20
  1614. package/testdata/parity/export-sql-completed.yaml +0 -14
  1615. package/testdata/parity/export-sql-config-conflict.yaml +0 -21
  1616. package/testdata/parity/export-sql-help.yaml +0 -11
  1617. package/testdata/parity/import-media-abort-noninteractive.yaml +0 -19
  1618. package/testdata/parity/import-media-help.yaml +0 -12
  1619. package/testdata/parity/import-media-invalid-archive.yaml +0 -18
  1620. package/testdata/parity/import-media-status-completed.yaml +0 -19
  1621. package/testdata/parity/import-media-status-failed.yaml +0 -18
  1622. package/testdata/parity/import-media-url-completed.yaml +0 -18
  1623. package/testdata/parity/import-sql-bad-extension.yaml +0 -26
  1624. package/testdata/parity/import-sql-help.yaml +0 -12
  1625. package/testdata/parity/import-sql-in-progress.yaml +0 -26
  1626. package/testdata/parity/import-sql-invalid-md5.yaml +0 -27
  1627. package/testdata/parity/import-sql-noninteractive-abort.yaml +0 -20
  1628. package/testdata/parity/import-sql-status-completed.yaml +0 -17
  1629. package/testdata/parity/import-sql-status-no-job.yaml +0 -17
  1630. package/testdata/parity/import-sql-validation-failure.yaml +0 -18
  1631. package/testdata/parity/import-validate-files-clean.yaml +0 -18
  1632. package/testdata/parity/import-validate-files-not-dir.yaml +0 -16
  1633. package/testdata/parity/import-validate-sql-clean.yaml +0 -23
  1634. package/testdata/parity/import-validate-sql-dangerous-stmt.yaml +0 -27
  1635. package/testdata/parity/import-validate-sql-multisite-warn.yaml +0 -23
  1636. package/testdata/parity/logs-baseline.yaml +0 -24
  1637. package/testdata/parity/logs-batch.yaml +0 -24
  1638. package/testdata/parity/logs-empty.yaml +0 -15
  1639. package/testdata/parity/logs-format-json.yaml +0 -15
  1640. package/testdata/parity/logs-limit-100.yaml +0 -24
  1641. package/testdata/parity/phpmyadmin-error.yaml +0 -24
  1642. package/testdata/parity/phpmyadmin-print.yaml +0 -22
  1643. package/testdata/parity/phpmyadmin-silent.yaml +0 -16
  1644. package/testdata/parity/recordings/app-get-baseline/app.json +0 -11
  1645. package/testdata/parity/recordings/app-get-custom-deploy/app.json +0 -8
  1646. package/testdata/parity/recordings/app-get-json/app.json +0 -11
  1647. package/testdata/parity/recordings/app-get-not-found/app.json +0 -1
  1648. package/testdata/parity/recordings/app-list-baseline/apps.json +0 -1
  1649. package/testdata/parity/recordings/app-list-csv/apps.json +0 -1
  1650. package/testdata/parity/recordings/app-list-empty/apps.json +0 -1
  1651. package/testdata/parity/recordings/app-list-json/apps.json +0 -1
  1652. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-1.json +0 -1
  1653. package/testdata/parity/recordings/backup-db-already-in-progress/backup-status-2.json +0 -1
  1654. package/testdata/parity/recordings/backup-db-completed/backup-status-1.json +0 -1
  1655. package/testdata/parity/recordings/backup-db-completed/backup-status-2.json +0 -1
  1656. package/testdata/parity/recordings/backup-db-completed/backup-status-3.json +0 -1
  1657. package/testdata/parity/recordings/cache-purge-url-empty/resolve-app.json +0 -1
  1658. package/testdata/parity/recordings/cache-purge-url-from-file/purge.json +0 -1
  1659. package/testdata/parity/recordings/cache-purge-url-from-file/resolve-app.json +0 -1
  1660. package/testdata/parity/recordings/cache-purge-url-from-file/urls.txt +0 -2
  1661. package/testdata/parity/recordings/cache-purge-url-multi/purge.json +0 -1
  1662. package/testdata/parity/recordings/cache-purge-url-multi/resolve-app.json +0 -1
  1663. package/testdata/parity/recordings/cache-purge-url-single/purge.json +0 -1
  1664. package/testdata/parity/recordings/cache-purge-url-single/resolve-app.json +0 -1
  1665. package/testdata/parity/recordings/config-software-get/resolve-app.json +0 -1
  1666. package/testdata/parity/recordings/config-software-update/resolve-app.json +0 -1
  1667. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-elevated.json +0 -1
  1668. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/mutation-success.json +0 -1
  1669. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-create-session.json +0 -1
  1670. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-exchange.json +0 -1
  1671. package/testdata/parity/recordings/defensive-mode-enable-rechallenge/parker-status-verified.json +0 -1
  1672. package/testdata/parity/recordings/envvar-delete-baseline/delete.json +0 -1
  1673. package/testdata/parity/recordings/envvar-delete-baseline/resolve-app.json +0 -1
  1674. package/testdata/parity/recordings/envvar-delete-prod-cancel/resolve-app.json +0 -1
  1675. package/testdata/parity/recordings/envvar-delete-typed-mismatch/resolve-app.json +0 -1
  1676. package/testdata/parity/recordings/envvar-get-baseline/envvars.json +0 -1
  1677. package/testdata/parity/recordings/envvar-get-baseline/resolve-app.json +0 -1
  1678. package/testdata/parity/recordings/envvar-get-lowercase-input/envvars.json +0 -1
  1679. package/testdata/parity/recordings/envvar-get-lowercase-input/resolve-app.json +0 -1
  1680. package/testdata/parity/recordings/envvar-get-named-help/envvars.json +0 -1
  1681. package/testdata/parity/recordings/envvar-get-named-help/resolve-app.json +0 -1
  1682. package/testdata/parity/recordings/envvar-get-not-found/envvars.json +0 -1
  1683. package/testdata/parity/recordings/envvar-get-not-found/resolve-app.json +0 -1
  1684. package/testdata/parity/recordings/envvar-getall-baseline/envvars.json +0 -1
  1685. package/testdata/parity/recordings/envvar-getall-baseline/resolve-app.json +0 -1
  1686. package/testdata/parity/recordings/envvar-getall-empty/envvars.json +0 -1
  1687. package/testdata/parity/recordings/envvar-getall-empty/resolve-app.json +0 -1
  1688. package/testdata/parity/recordings/envvar-getall-keyvalue/envvars.json +0 -1
  1689. package/testdata/parity/recordings/envvar-getall-keyvalue/resolve-app.json +0 -1
  1690. package/testdata/parity/recordings/envvar-list-baseline/envvars.json +0 -1
  1691. package/testdata/parity/recordings/envvar-list-baseline/resolve-app.json +0 -1
  1692. package/testdata/parity/recordings/envvar-list-empty/envvars.json +0 -1
  1693. package/testdata/parity/recordings/envvar-list-empty/resolve-app.json +0 -1
  1694. package/testdata/parity/recordings/envvar-list-ids/envvars.json +0 -1
  1695. package/testdata/parity/recordings/envvar-list-ids/resolve-app.json +0 -1
  1696. package/testdata/parity/recordings/envvar-list-json/envvars.json +0 -1
  1697. package/testdata/parity/recordings/envvar-list-json/resolve-app.json +0 -1
  1698. package/testdata/parity/recordings/envvar-list-keyvalue/envvars.json +0 -1
  1699. package/testdata/parity/recordings/envvar-list-keyvalue/resolve-app.json +0 -1
  1700. package/testdata/parity/recordings/envvar-set-baseline/add.json +0 -1
  1701. package/testdata/parity/recordings/envvar-set-baseline/resolve-app.json +0 -1
  1702. package/testdata/parity/recordings/envvar-set-baseline/value.txt +0 -1
  1703. package/testdata/parity/recordings/envvar-set-invalid-name/resolve-app.json +0 -1
  1704. package/testdata/parity/recordings/envvar-set-invalid-name/value.txt +0 -1
  1705. package/testdata/parity/recordings/envvar-set-newrelic-blocked/resolve-app.json +0 -1
  1706. package/testdata/parity/recordings/envvar-set-newrelic-blocked/value.txt +0 -1
  1707. package/testdata/parity/recordings/envvar-set-prod-cancel/resolve-app.json +0 -1
  1708. package/testdata/parity/recordings/envvar-set-prod-cancel/value.txt +0 -1
  1709. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/add.json +0 -1
  1710. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/resolve-app.json +0 -1
  1711. package/testdata/parity/recordings/envvar-set-prod-confirm-skipped/value.txt +0 -1
  1712. package/testdata/parity/recordings/export-sql-completed/export-status-1.json +0 -1
  1713. package/testdata/parity/recordings/export-sql-completed/export-status-2.json +0 -1
  1714. package/testdata/parity/recordings/import-media-invalid-archive/file.sql +0 -1
  1715. package/testdata/parity/recordings/import-media-shared/abort-media-import.json +0 -1
  1716. package/testdata/parity/recordings/import-media-shared/env-info.json +0 -1
  1717. package/testdata/parity/recordings/import-media-shared/resolve-app.json +0 -1
  1718. package/testdata/parity/recordings/import-media-shared/start-media-import.json +0 -1
  1719. package/testdata/parity/recordings/import-media-status-completed/progress.json +0 -1
  1720. package/testdata/parity/recordings/import-media-status-failed/progress.json +0 -1
  1721. package/testdata/parity/recordings/import-media-url-completed/progress.json +0 -1
  1722. package/testdata/parity/recordings/import-sql-bad-extension/file.txt +0 -1
  1723. package/testdata/parity/recordings/import-sql-in-progress/env-info.json +0 -1
  1724. package/testdata/parity/recordings/import-sql-in-progress/resolve-app.json +0 -1
  1725. package/testdata/parity/recordings/import-sql-noninteractive-abort/clean.sql +0 -5
  1726. package/testdata/parity/recordings/import-sql-shared/env-info.json +0 -1
  1727. package/testdata/parity/recordings/import-sql-shared/multisite.json +0 -1
  1728. package/testdata/parity/recordings/import-sql-shared/resolve-app.json +0 -1
  1729. package/testdata/parity/recordings/import-sql-status-completed/progress.json +0 -1
  1730. package/testdata/parity/recordings/import-sql-status-no-job/progress.json +0 -1
  1731. package/testdata/parity/recordings/import-sql-validation-failure/dirty.sql +0 -6
  1732. package/testdata/parity/recordings/import-validate-files-clean/config.json +0 -1
  1733. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/a.jpg +0 -1
  1734. package/testdata/parity/recordings/import-validate-files-clean/uploads/2020/06/b.png +0 -1
  1735. package/testdata/parity/recordings/import-validate-sql-clean/clean.sql +0 -17
  1736. package/testdata/parity/recordings/import-validate-sql-dangerous-stmt/dangerous.sql +0 -11
  1737. package/testdata/parity/recordings/import-validate-sql-multisite-warn/multisite.sql +0 -12
  1738. package/testdata/parity/recordings/logs-baseline/logs.json +0 -1
  1739. package/testdata/parity/recordings/logs-baseline/resolve-app.json +0 -1
  1740. package/testdata/parity/recordings/logs-batch/logs.json +0 -1
  1741. package/testdata/parity/recordings/logs-batch/resolve-app.json +0 -1
  1742. package/testdata/parity/recordings/logs-empty/logs.json +0 -1
  1743. package/testdata/parity/recordings/logs-empty/resolve-app.json +0 -1
  1744. package/testdata/parity/recordings/logs-format-json/logs.json +0 -1
  1745. package/testdata/parity/recordings/logs-format-json/resolve-app.json +0 -1
  1746. package/testdata/parity/recordings/logs-limit-100/logs.json +0 -1
  1747. package/testdata/parity/recordings/logs-limit-100/resolve-app.json +0 -1
  1748. package/testdata/parity/recordings/m7c-shared/resolve-app.json +0 -1
  1749. package/testdata/parity/recordings/phpmyadmin-error/enable.json +0 -1
  1750. package/testdata/parity/recordings/phpmyadmin-error/resolve-app.json +0 -1
  1751. package/testdata/parity/recordings/phpmyadmin-print/enable.json +0 -1
  1752. package/testdata/parity/recordings/phpmyadmin-print/generate.json +0 -1
  1753. package/testdata/parity/recordings/phpmyadmin-print/resolve-app.json +0 -1
  1754. package/testdata/parity/recordings/phpmyadmin-print/status.json +0 -1
  1755. package/testdata/parity/recordings/phpmyadmin-silent/enable.json +0 -1
  1756. package/testdata/parity/recordings/phpmyadmin-silent/generate.json +0 -1
  1757. package/testdata/parity/recordings/phpmyadmin-silent/resolve-app.json +0 -1
  1758. package/testdata/parity/recordings/phpmyadmin-silent/status.json +0 -1
  1759. package/testdata/parity/recordings/slowlogs-baseline/resolve-app.json +0 -1
  1760. package/testdata/parity/recordings/slowlogs-baseline/slowlogs.json +0 -1
  1761. package/testdata/parity/recordings/slowlogs-csv/resolve-app.json +0 -1
  1762. package/testdata/parity/recordings/slowlogs-csv/slowlogs.json +0 -1
  1763. package/testdata/parity/recordings/slowlogs-empty/resolve-app.json +0 -1
  1764. package/testdata/parity/recordings/slowlogs-empty/slowlogs.json +0 -1
  1765. package/testdata/parity/recordings/slowlogs-limit-50/resolve-app.json +0 -1
  1766. package/testdata/parity/recordings/slowlogs-limit-50/slowlogs.json +0 -1
  1767. package/testdata/parity/recordings/sync-already-syncing/resolve-app.json +0 -1
  1768. package/testdata/parity/recordings/sync-already-syncing/sync-start.json +0 -1
  1769. package/testdata/parity/recordings/sync-already-syncing/sync-status-1.json +0 -1
  1770. package/testdata/parity/recordings/sync-already-syncing/sync-status-2.json +0 -1
  1771. package/testdata/parity/recordings/sync-baseline/resolve-app.json +0 -1
  1772. package/testdata/parity/recordings/sync-baseline/sync-start.json +0 -1
  1773. package/testdata/parity/recordings/sync-baseline/sync-status-1.json +0 -1
  1774. package/testdata/parity/recordings/sync-baseline/sync-status-2.json +0 -1
  1775. package/testdata/parity/recordings/whoami-baseline/me-response.json +0 -1
  1776. package/testdata/parity/recordings/wp-nodejs-rejected/resolve-app.json +0 -1
  1777. package/testdata/parity/recordings/wp-production-confirm-decline/resolve-app.json +0 -1
  1778. package/testdata/parity/recordings/wp-ssh-happy/resolve-app.json +0 -1
  1779. package/testdata/parity/recordings/wp-websocket-redirect/resolve-app.json +0 -1
  1780. package/testdata/parity/slowlogs-baseline.yaml +0 -18
  1781. package/testdata/parity/slowlogs-csv.yaml +0 -16
  1782. package/testdata/parity/slowlogs-empty.yaml +0 -17
  1783. package/testdata/parity/slowlogs-limit-50.yaml +0 -16
  1784. package/testdata/parity/sync-already-syncing.yaml +0 -20
  1785. package/testdata/parity/sync-baseline.yaml +0 -19
  1786. package/testdata/parity/version-smoke.yaml +0 -14
  1787. package/testdata/parity/whoami-baseline.yaml +0 -14
  1788. package/testdata/parity/wp-help.yaml +0 -12
  1789. package/testdata/parity/wp-nodejs-rejected.yaml +0 -13
  1790. package/testdata/parity/wp-production-confirm-decline.yaml +0 -14
  1791. package/testdata/parity/wp-ssh-happy.yaml +0 -15
  1792. package/testdata/parity/wp-websocket-redirect.yaml +0 -14
  1793. package/testdata/parity-local/app-get-csv.yaml +0 -8
  1794. package/testdata/parity-local/app-get-json.yaml +0 -8
  1795. package/testdata/parity-local/app-get-table.yaml +0 -8
  1796. package/testdata/parity-local/app-list-csv.yaml +0 -8
  1797. package/testdata/parity-local/app-list-json.yaml +0 -8
  1798. package/testdata/parity-local/app-list-table.yaml +0 -8
  1799. package/testdata/parity-local/edge-workers/basic/edge-workers.json +0 -1
  1800. package/testdata/parity-local/edge-workers/basic/workers/headers/assembly/index.ts +0 -1
  1801. package/testdata/parity-local/edge-workers/basic/workers/headers/worker.json +0 -1
  1802. package/testdata/parity-local/edge-workers/two-workers/edge-workers.json +0 -1
  1803. package/testdata/parity-local/edge-workers/two-workers/workers/a/assembly/index.ts +0 -1
  1804. package/testdata/parity-local/edge-workers/two-workers/workers/a/worker.json +0 -1
  1805. package/testdata/parity-local/edge-workers/two-workers/workers/b/assembly/index.ts +0 -1
  1806. package/testdata/parity-local/edge-workers/two-workers/workers/b/worker.json +0 -1
  1807. package/testdata/parity-local/envvar-list-csv.yaml +0 -8
  1808. package/testdata/parity-local/envvar-list-ids.yaml +0 -8
  1809. package/testdata/parity-local/envvar-list-json.yaml +0 -8
  1810. package/testdata/parity-local/envvar-list-keyvalue.yaml +0 -8
  1811. package/testdata/parity-local/envvar-list-table.yaml +0 -8
  1812. package/testdata/parity-local/software-get-csv.yaml +0 -8
  1813. package/testdata/parity-local/software-get-json.yaml +0 -8
  1814. package/testdata/parity-local/software-get-table.yaml +0 -8
  1815. package/testdata/parity-local/whoami.yaml +0 -8
  1816. package/testdata/update-fixture/main.go +0 -62
  1817. package/third_party/go-search-replace/MANIFEST +0 -33
  1818. package/tsconfig.json +0 -25
  1819. /package/node_modules/lando/node_modules/{wrap-ansi → ansi-regex}/license +0 -0
@@ -1,87 +1,82 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.MULTIPART_THRESHOLD = exports.COMPRESS_THRESHOLD = void 0;
5
- exports.checkFileAccess = checkFileAccess;
6
- exports.detectCompressedMimeType = detectCompressedMimeType;
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.unzipFile = exports.getFileHash = exports.MULTIPART_THRESHOLD = exports.COMPRESS_THRESHOLD = void 0;
7
+ exports.parseEtagHeader = parseEtagHeader;
7
8
  exports.fetchWithRetry = fetchWithRetry;
8
- exports.getFileHash = void 0;
9
9
  exports.getFileMeta = getFileMeta;
10
- exports.getFileSize = getFileSize;
11
- exports.getPartBoundaries = getPartBoundaries;
10
+ exports.uploadImportFileToS3 = uploadImportFileToS3;
12
11
  exports.getSignedUploadRequestData = getSignedUploadRequestData;
12
+ exports.checkFileAccess = checkFileAccess;
13
13
  exports.isFile = isFile;
14
- exports.parseEtagHeader = parseEtagHeader;
15
- exports.unzipFile = void 0;
16
- exports.uploadImportFileToS3 = uploadImportFileToS3;
14
+ exports.getFileSize = getFileSize;
15
+ exports.detectCompressedMimeType = detectCompressedMimeType;
16
+ exports.getPartBoundaries = getPartBoundaries;
17
17
  exports.uploadParts = uploadParts;
18
- var _chalk = _interopRequireDefault(require("chalk"));
19
- var _crypto = require("crypto");
20
- var _debug = _interopRequireDefault(require("debug"));
21
- var _fs = require("fs");
22
- var _promises = require("node:fs/promises");
23
- var _promises2 = require("node:stream/promises");
24
- var _nodeTimers = require("node:timers");
25
- var _promises3 = require("node:timers/promises");
26
- var _os = _interopRequireDefault(require("os"));
27
- var _path = _interopRequireDefault(require("path"));
28
- var _stream = require("stream");
29
- var _undici = require("undici");
30
- var _xml2js = require("xml2js");
31
- var _zlib = require("zlib");
32
- var _http = _interopRequireDefault(require("../lib/api/http"));
33
- var _fileSize = require("../lib/constants/file-size");
34
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ const chalk_1 = __importDefault(require("chalk"));
19
+ const crypto_1 = require("crypto");
20
+ const debug_1 = __importDefault(require("debug"));
21
+ const fs_1 = require("fs");
22
+ const promises_1 = require("node:fs/promises");
23
+ const promises_2 = require("node:stream/promises");
24
+ const node_timers_1 = require("node:timers");
25
+ const promises_3 = require("node:timers/promises");
26
+ const os_1 = __importDefault(require("os"));
27
+ const path_1 = __importDefault(require("path"));
28
+ const stream_1 = require("stream");
29
+ const undici_1 = require("undici");
30
+ const xml2js_1 = require("xml2js");
31
+ const zlib_1 = require("zlib");
32
+ const http_1 = __importDefault(require("../lib/api/http"));
33
+ const file_size_1 = require("../lib/constants/file-size");
35
34
  function parseEtagHeader(etag) {
36
- const normalizedEtag = etag.replace(/^W\//u, '').trim();
37
- if (normalizedEtag.startsWith('"') && normalizedEtag.endsWith('"')) {
38
- try {
39
- return JSON.parse(normalizedEtag);
40
- } catch (err) {
41
- debug(`Unable to JSON.parse ETag header, falling back to raw value: ${err.message}`);
35
+ const normalizedEtag = etag.replace(/^W\//u, '').trim();
36
+ if (normalizedEtag.startsWith('"') && normalizedEtag.endsWith('"')) {
37
+ try {
38
+ return JSON.parse(normalizedEtag);
39
+ }
40
+ catch (err) {
41
+ debug(`Unable to JSON.parse ETag header, falling back to raw value: ${err.message}`);
42
+ }
42
43
  }
43
- }
44
- return normalizedEtag.replace(/^"(.*)"$/u, '$1');
44
+ return normalizedEtag.replace(/^"(.*)"$/u, '$1');
45
45
  }
46
- const isStreamBody = body => typeof body?.pipe === 'function';
46
+ const isStreamBody = (body) => typeof body?.pipe === 'function';
47
47
  function createProgressTransform(onChunk) {
48
- return new _stream.Transform({
49
- transform(chunk, _encoding, callback) {
50
- onChunk(chunk);
51
- callback(null, chunk);
52
- }
53
- });
48
+ return new stream_1.Transform({
49
+ transform(chunk, _encoding, callback) {
50
+ onChunk(chunk);
51
+ callback(null, chunk);
52
+ },
53
+ });
54
54
  }
55
55
  function omitUnsupportedFetchHeaders(init) {
56
- if (!init.headers) {
57
- return init;
58
- }
59
- const headers = new _undici.Headers(init.headers);
60
- headers.delete('expect');
61
- return {
62
- ...init,
63
- headers
64
- };
56
+ if (!init.headers) {
57
+ return init;
58
+ }
59
+ const headers = new undici_1.Headers(init.headers);
60
+ headers.delete('expect');
61
+ return { ...init, headers };
65
62
  }
66
63
  function withCauseMessage(err) {
67
- if (!(err instanceof Error)) {
68
- return err;
69
- }
70
- const cause = err.cause;
71
- let causeMessage;
72
- if (cause instanceof Error) {
73
- causeMessage = cause.message;
74
- } else if (typeof cause === 'string') {
75
- causeMessage = cause;
76
- }
77
- if (!causeMessage || err.message.includes(causeMessage)) {
78
- return err;
79
- }
80
- return new Error(`${err.message}: ${causeMessage}`, {
81
- cause: err
82
- });
64
+ if (!(err instanceof Error)) {
65
+ return err;
66
+ }
67
+ const cause = err.cause;
68
+ let causeMessage;
69
+ if (cause instanceof Error) {
70
+ causeMessage = cause.message;
71
+ }
72
+ else if (typeof cause === 'string') {
73
+ causeMessage = cause;
74
+ }
75
+ if (!causeMessage || err.message.includes(causeMessage)) {
76
+ return err;
77
+ }
78
+ return new Error(`${err.message}: ${causeMessage}`, { cause: err });
83
79
  }
84
-
85
80
  /**
86
81
  * Wraps `fetch` with exponential-backoff retries.
87
82
  *
@@ -97,74 +92,67 @@ function withCauseMessage(err) {
97
92
  * once so the underlying error surfaces instead of the misleading undici one.
98
93
  */
99
94
  async function fetchWithRetry(input, init = {}, retries = 3, createBody) {
100
- const bodyIsStream = isStreamBody(init.body);
101
- // Only retry when we can hand `fetch` a fresh, replayable body each attempt.
102
- const maxAttempts = createBody || !bodyIsStream ? retries : 0;
103
- for (let attempt = 0; attempt <= maxAttempts; attempt++) {
104
- const requestInit = createBody ? {
105
- ...init,
106
- body: createBody()
107
- } : {
108
- ...init
109
- };
110
- if (isStreamBody(requestInit.body) && !requestInit.duplex) {
111
- requestInit.duplex = 'half';
95
+ const bodyIsStream = isStreamBody(init.body);
96
+ // Only retry when we can hand `fetch` a fresh, replayable body each attempt.
97
+ const maxAttempts = createBody || !bodyIsStream ? retries : 0;
98
+ for (let attempt = 0; attempt <= maxAttempts; attempt++) {
99
+ const requestInit = createBody
100
+ ? { ...init, body: createBody() }
101
+ : { ...init };
102
+ if (isStreamBody(requestInit.body) && !requestInit.duplex) {
103
+ requestInit.duplex = 'half';
104
+ }
105
+ try {
106
+ // eslint-disable-next-line no-await-in-loop
107
+ return await (0, undici_1.fetch)(input, omitUnsupportedFetchHeaders(requestInit));
108
+ }
109
+ catch (err) {
110
+ if (attempt === maxAttempts) {
111
+ throw withCauseMessage(err);
112
+ }
113
+ // eslint-disable-next-line no-await-in-loop
114
+ await (0, promises_3.setTimeout)(Math.pow(2, attempt) * 1000); // 1000, 2000, 4000
115
+ }
112
116
  }
113
- try {
114
- // eslint-disable-next-line no-await-in-loop
115
- return await (0, _undici.fetch)(input, omitUnsupportedFetchHeaders(requestInit));
116
- } catch (err) {
117
- if (attempt === maxAttempts) {
118
- throw withCauseMessage(err);
119
- }
120
- // eslint-disable-next-line no-await-in-loop
121
- await (0, _promises3.setTimeout)(Math.pow(2, attempt) * 1000); // 1000, 2000, 4000
122
- }
123
- }
124
- throw new Error('unreachable');
117
+ throw new Error('unreachable');
125
118
  }
126
- const debug = (0, _debug.default)('vip:lib/client-file-uploader');
127
-
119
+ const debug = (0, debug_1.default)('vip:lib/client-file-uploader');
128
120
  // Files smaller than COMPRESS_THRESHOLD will not be compressed before upload
129
- const COMPRESS_THRESHOLD = exports.COMPRESS_THRESHOLD = 16 * _fileSize.MB_IN_BYTES;
130
-
121
+ exports.COMPRESS_THRESHOLD = 16 * file_size_1.MB_IN_BYTES;
131
122
  // Files smaller than MULTIPART_THRESHOLD will use `PutObject` vs Multipart Uploads
132
- const MULTIPART_THRESHOLD = exports.MULTIPART_THRESHOLD = 32 * _fileSize.MB_IN_BYTES;
133
-
123
+ exports.MULTIPART_THRESHOLD = 32 * file_size_1.MB_IN_BYTES;
134
124
  // This is how big each part of a Multipart Upload is (except the last / remainder)
135
- const UPLOAD_PART_SIZE = 16 * _fileSize.MB_IN_BYTES;
136
-
125
+ const UPLOAD_PART_SIZE = 16 * file_size_1.MB_IN_BYTES;
137
126
  // How many parts will upload at the same time
138
127
  const MAX_CONCURRENT_PART_UPLOADS = 5;
139
-
140
- // TODO: Replace with a proper definitions once we convert lib/cli/command.js to TypeScript
141
-
142
- const getWorkingTempDir = () => (0, _promises.mkdtemp)(_path.default.join(_os.default.tmpdir(), 'vip-client-file-uploader'));
128
+ // How many times a presigned URL request is retried after a network error, 429 or 5xx
129
+ const SIGNED_REQUEST_RETRIES = 3;
130
+ const getWorkingTempDir = () => (0, promises_1.mkdtemp)(path_1.default.join(os_1.default.tmpdir(), 'vip-client-file-uploader'));
143
131
  const getFileHash = async (fileName, hashType = 'md5') => {
144
- const src = (0, _fs.createReadStream)(fileName);
145
- const dst = (0, _crypto.createHash)(hashType);
146
- try {
147
- await (0, _promises2.pipeline)(src, dst);
148
- return dst.digest().toString('hex');
149
- } catch (err) {
150
- throw new Error(`Could not generate file hash: ${err.message}`, {
151
- cause: err
152
- });
153
- } finally {
154
- src.close();
155
- }
132
+ const src = (0, fs_1.createReadStream)(fileName);
133
+ const dst = (0, crypto_1.createHash)(hashType);
134
+ try {
135
+ await (0, promises_2.pipeline)(src, dst);
136
+ return dst.digest().toString('hex');
137
+ }
138
+ catch (err) {
139
+ throw new Error(`Could not generate file hash: ${err.message}`, {
140
+ cause: err,
141
+ });
142
+ }
143
+ finally {
144
+ src.close();
145
+ }
156
146
  };
157
147
  exports.getFileHash = getFileHash;
158
148
  const gzipFile = async (uncompressedFileName, compressedFileName) => {
159
- try {
160
- await (0, _promises2.pipeline)((0, _fs.createReadStream)(uncompressedFileName), (0, _zlib.createGzip)(), (0, _fs.createWriteStream)(compressedFileName));
161
- } catch (err) {
162
- throw new Error(`Could not compress file: ${err.message}`, {
163
- cause: err
164
- });
165
- }
149
+ try {
150
+ await (0, promises_2.pipeline)((0, fs_1.createReadStream)(uncompressedFileName), (0, zlib_1.createGzip)(), (0, fs_1.createWriteStream)(compressedFileName));
151
+ }
152
+ catch (err) {
153
+ throw new Error(`Could not compress file: ${err.message}`, { cause: err });
154
+ }
166
155
  };
167
-
168
156
  /**
169
157
  * Extract a .gz file and save it to a specified location
170
158
  *
@@ -173,520 +161,409 @@ const gzipFile = async (uncompressedFileName, compressedFileName) => {
173
161
  * @return {Promise} A promise that resolves when the file is unzipped
174
162
  */
175
163
  const unzipFile = async (inputFilename, outputFilename) => {
176
- const mimeType = await detectCompressedMimeType(inputFilename);
177
- const extractFunctions = {
178
- 'application/gzip': {
179
- extractor: _zlib.createGunzip
180
- }
181
- };
182
- const extractionInfo = extractFunctions[mimeType];
183
- if (!extractionInfo) {
184
- throw new Error(`unsupported file format: ${mimeType}`);
185
- }
186
- const source = (0, _fs.createReadStream)(inputFilename);
187
- const destination = (0, _fs.createWriteStream)(outputFilename);
188
- await (0, _promises2.pipeline)(source, extractionInfo.extractor(), destination);
164
+ const mimeType = await detectCompressedMimeType(inputFilename);
165
+ const extractFunctions = {
166
+ 'application/gzip': {
167
+ extractor: zlib_1.createGunzip,
168
+ },
169
+ };
170
+ const extractionInfo = extractFunctions[mimeType];
171
+ if (!extractionInfo) {
172
+ throw new Error(`unsupported file format: ${mimeType}`);
173
+ }
174
+ const source = (0, fs_1.createReadStream)(inputFilename);
175
+ const destination = (0, fs_1.createWriteStream)(outputFilename);
176
+ await (0, promises_2.pipeline)(source, extractionInfo.extractor(), destination);
189
177
  };
190
178
  exports.unzipFile = unzipFile;
191
179
  async function getFileMeta(fileName) {
192
- const fileSize = await getFileSize(fileName);
193
- const basename = _path.default.basename(fileName);
194
- // TODO Validate File basename... encodeURIComponent, maybe...?
195
-
196
- const mimeType = await detectCompressedMimeType(fileName);
197
- // TODO Only allow a subset of Mime Types...?
198
-
199
- const isCompressed = ['application/zip', 'application/gzip'].includes(mimeType);
200
- return {
201
- basename,
202
- fileName,
203
- fileSize,
204
- isCompressed
205
- };
180
+ const fileSize = await getFileSize(fileName);
181
+ const basename = path_1.default.basename(fileName);
182
+ // TODO Validate File basename... encodeURIComponent, maybe...?
183
+ const mimeType = await detectCompressedMimeType(fileName);
184
+ // TODO Only allow a subset of Mime Types...?
185
+ const isCompressed = ['application/zip', 'application/gzip'].includes(mimeType);
186
+ return {
187
+ basename,
188
+ fileName,
189
+ fileSize,
190
+ isCompressed,
191
+ };
206
192
  }
207
- async function uploadImportFileToS3({
208
- app,
209
- env,
210
- fileMeta,
211
- progressCallback,
212
- hashType = 'md5'
213
- }) {
214
- let tmpDir;
215
- try {
216
- tmpDir = await getWorkingTempDir();
217
- } catch (err) {
218
- throw new Error(`Unable to create temporary working directory: ${err.message}`, {
219
- cause: err
220
- });
221
- }
222
- debug(`File ${_chalk.default.cyan(fileMeta.basename)} is ~ ${Math.floor(fileMeta.fileSize / _fileSize.MB_IN_BYTES)} MB\n`);
223
-
224
- // TODO Compression will probably fail over a certain file size... break into pieces...?
225
- // TODO if needed add a flag to bypass auto-compression
226
-
227
- if (!fileMeta.isCompressed && fileMeta.fileSize >= COMPRESS_THRESHOLD) {
228
- // Compress to the temp dir & annotate `fileMeta`
229
- const uncompressedFileName = fileMeta.fileName;
230
- const uncompressedFileSize = fileMeta.fileSize;
231
- fileMeta.basename = fileMeta.basename.replace(/(.gz)?$/i, '.gz');
232
- fileMeta.fileName = _path.default.join(tmpDir, fileMeta.basename);
233
- debug(`Compressing the file to ${_chalk.default.cyan(fileMeta.fileName)} prior to transfer...`);
234
- await gzipFile(uncompressedFileName, fileMeta.fileName);
235
- fileMeta.isCompressed = true;
236
- fileMeta.fileSize = await getFileSize(fileMeta.fileName);
237
- debug(`Compressed file is ~ ${Math.floor(fileMeta.fileSize / _fileSize.MB_IN_BYTES)} MB\n`);
238
- const fewerBytes = uncompressedFileSize - fileMeta.fileSize;
239
- const calculation = `${(fewerBytes / _fileSize.MB_IN_BYTES).toFixed(2)}MB (${Math.floor(100 * fewerBytes / uncompressedFileSize)}%)`;
240
- debug(`** Compression resulted in a ${calculation} smaller file 📦 **\n`);
241
- }
242
- debug(`Calculating file ${hashType} checksum...`);
243
- const checksum = await getFileHash(fileMeta.fileName, hashType);
244
- debug(`Calculated file ${hashType} checksum: ${checksum}\n`);
245
- const result = fileMeta.fileSize < MULTIPART_THRESHOLD ? await uploadUsingPutObject({
246
- app,
247
- env,
248
- fileMeta,
249
- progressCallback
250
- }) : await uploadUsingMultipart({
251
- app,
252
- env,
253
- fileMeta,
254
- progressCallback
255
- });
256
- return {
257
- fileMeta,
258
- checksum,
259
- result
260
- };
193
+ async function uploadImportFileToS3({ app, env, fileMeta, progressCallback, hashType = 'md5', }) {
194
+ let tmpDir;
195
+ try {
196
+ tmpDir = await getWorkingTempDir();
197
+ }
198
+ catch (err) {
199
+ throw new Error(`Unable to create temporary working directory: ${err.message}`, { cause: err });
200
+ }
201
+ debug(`File ${chalk_1.default.cyan(fileMeta.basename)} is ~ ${Math.floor(fileMeta.fileSize / file_size_1.MB_IN_BYTES)} MB\n`);
202
+ // TODO Compression will probably fail over a certain file size... break into pieces...?
203
+ // TODO if needed add a flag to bypass auto-compression
204
+ if (!fileMeta.isCompressed && fileMeta.fileSize >= exports.COMPRESS_THRESHOLD) {
205
+ // Compress to the temp dir & annotate `fileMeta`
206
+ const uncompressedFileName = fileMeta.fileName;
207
+ const uncompressedFileSize = fileMeta.fileSize;
208
+ fileMeta.basename = fileMeta.basename.replace(/(.gz)?$/i, '.gz');
209
+ fileMeta.fileName = path_1.default.join(tmpDir, fileMeta.basename);
210
+ debug(`Compressing the file to ${chalk_1.default.cyan(fileMeta.fileName)} prior to transfer...`);
211
+ await gzipFile(uncompressedFileName, fileMeta.fileName);
212
+ fileMeta.isCompressed = true;
213
+ fileMeta.fileSize = await getFileSize(fileMeta.fileName);
214
+ debug(`Compressed file is ~ ${Math.floor(fileMeta.fileSize / file_size_1.MB_IN_BYTES)} MB\n`);
215
+ const fewerBytes = uncompressedFileSize - fileMeta.fileSize;
216
+ const calculation = `${(fewerBytes / file_size_1.MB_IN_BYTES).toFixed(2)}MB (${Math.floor((100 * fewerBytes) / uncompressedFileSize)}%)`;
217
+ debug(`** Compression resulted in a ${calculation} smaller file 📦 **\n`);
218
+ }
219
+ debug(`Calculating file ${hashType} checksum...`);
220
+ const checksum = await (0, exports.getFileHash)(fileMeta.fileName, hashType);
221
+ debug(`Calculated file ${hashType} checksum: ${checksum}\n`);
222
+ const result = fileMeta.fileSize < exports.MULTIPART_THRESHOLD
223
+ ? await uploadUsingPutObject({ app, env, fileMeta, progressCallback })
224
+ : await uploadUsingMultipart({ app, env, fileMeta, progressCallback });
225
+ return {
226
+ fileMeta,
227
+ checksum,
228
+ result,
229
+ };
261
230
  }
262
-
263
- /**
264
- * @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_Example_3
265
- */
266
-
267
- async function uploadUsingPutObject({
268
- app,
269
- env,
270
- fileMeta: {
271
- basename,
272
- fileContent,
273
- fileName,
274
- fileSize
275
- },
276
- progressCallback
277
- }) {
278
- debug(`Uploading ${_chalk.default.cyan(basename)} to S3 using the \`PutObject\` command`);
279
- const presignedRequest = await getSignedUploadRequestData({
280
- appId: app.id,
281
- envId: env.id,
282
- basename,
283
- action: 'PutObject'
284
- });
285
- const fetchOptions = presignedRequest.options;
286
- fetchOptions.headers = {
287
- ...fetchOptions.headers,
288
- 'Content-Length': `${fileSize}` // This has to be a string
289
- };
290
-
291
- // Build a fresh request body for every attempt. The upload streams the file
292
- // from disk, and a stream can only be consumed once; recreating it per
293
- // attempt lets `fetchWithRetry` retry without reusing a consumed stream
294
- // (which would otherwise throw `... should not be disturbed or locked`).
295
- const createBody = () => {
296
- if (fileContent) {
297
- return fileContent;
298
- }
299
- let readBytes = 0;
300
- const progressTransform = createProgressTransform(data => {
301
- readBytes += data.length;
302
- const percentage = `${Math.floor(100 * readBytes / fileSize)}%`;
303
- debug(percentage);
304
- if (typeof progressCallback === 'function') {
305
- progressCallback(percentage);
306
- }
231
+ async function uploadUsingPutObject({ app, env, fileMeta: { basename, fileContent, fileName, fileSize }, progressCallback, }) {
232
+ debug(`Uploading ${chalk_1.default.cyan(basename)} to S3 using the \`PutObject\` command`);
233
+ const presignedRequest = await getSignedUploadRequestData({
234
+ appId: app.id,
235
+ envId: env.id,
236
+ basename,
237
+ action: 'PutObject',
307
238
  });
308
- return (0, _fs.createReadStream)(fileName).pipe(progressTransform);
309
- };
310
- const response = await fetchWithRetry(presignedRequest.url, fetchOptions, 3, createBody);
311
- if (response.status === 200) {
312
- return 'ok';
313
- }
314
- const result = await response.text();
315
-
316
- // TODO is any additional hardening needed here?
317
- const parser = new _xml2js.Parser({
318
- explicitArray: false,
319
- ignoreAttrs: true
320
- });
321
- let parsedResponse;
322
- try {
323
- parsedResponse = await parser.parseStringPromise(result);
324
- } catch (err) {
325
- throw new Error(`Invalid response from cloud service. ${err.message}`, {
326
- cause: err
239
+ const fetchOptions = presignedRequest.options;
240
+ fetchOptions.headers = {
241
+ ...fetchOptions.headers,
242
+ 'Content-Length': `${fileSize}`, // This has to be a string
243
+ };
244
+ // Build a fresh request body for every attempt. The upload streams the file
245
+ // from disk, and a stream can only be consumed once; recreating it per
246
+ // attempt lets `fetchWithRetry` retry without reusing a consumed stream
247
+ // (which would otherwise throw `... should not be disturbed or locked`).
248
+ const createBody = () => {
249
+ if (fileContent) {
250
+ return fileContent;
251
+ }
252
+ let readBytes = 0;
253
+ const progressTransform = createProgressTransform(data => {
254
+ readBytes += data.length;
255
+ const percentage = `${Math.floor((100 * readBytes) / fileSize)}%`;
256
+ debug(percentage);
257
+ if (typeof progressCallback === 'function') {
258
+ progressCallback(percentage);
259
+ }
260
+ });
261
+ return (0, fs_1.createReadStream)(fileName).pipe(progressTransform);
262
+ };
263
+ const response = await fetchWithRetry(presignedRequest.url, fetchOptions, 3, createBody);
264
+ if (response.status === 200) {
265
+ return 'ok';
266
+ }
267
+ const result = await response.text();
268
+ // TODO is any additional hardening needed here?
269
+ const parser = new xml2js_1.Parser({
270
+ explicitArray: false,
271
+ ignoreAttrs: true,
327
272
  });
328
- }
329
- let Code;
330
- let Message;
331
- if (parsedResponse?.Error) {
332
- ({
333
- Code,
334
- Message
335
- } = parsedResponse.Error);
336
- } else {
337
- Code = `HTTP Error ${response.status}`;
338
- Message = response.statusText;
339
- }
340
- throw new Error(`Unable to upload to cloud storage. ${JSON.stringify({
341
- Code,
342
- Message
343
- })}`);
273
+ let parsedResponse;
274
+ try {
275
+ parsedResponse = (await parser.parseStringPromise(result));
276
+ }
277
+ catch (err) {
278
+ throw new Error(`Invalid response from cloud service. ${err.message}`, {
279
+ cause: err,
280
+ });
281
+ }
282
+ let Code;
283
+ let Message;
284
+ if (parsedResponse?.Error) {
285
+ ({ Code, Message } = parsedResponse.Error);
286
+ }
287
+ else {
288
+ Code = `HTTP Error ${response.status}`;
289
+ Message = response.statusText;
290
+ }
291
+ throw new Error(`Unable to upload to cloud storage. ${JSON.stringify({ Code, Message })}`);
344
292
  }
345
-
346
- /**
347
- * @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html#API_CreateMultipartUpload_ResponseSyntax
348
- */
349
-
350
- async function uploadUsingMultipart({
351
- app,
352
- env,
353
- fileMeta,
354
- progressCallback
355
- }) {
356
- const {
357
- basename
358
- } = fileMeta;
359
- debug(`Uploading ${_chalk.default.cyan(basename)} to S3 using the Multipart API.`);
360
- const presignedCreateMultipartUpload = await getSignedUploadRequestData({
361
- appId: app.id,
362
- envId: env.id,
363
- basename,
364
- action: 'CreateMultipartUpload'
365
- });
366
- const multipartUploadResponse = await fetchWithRetry(presignedCreateMultipartUpload.url, presignedCreateMultipartUpload.options);
367
- const multipartUploadResult = await multipartUploadResponse.text();
368
-
369
- // TODO is any hardening needed here?
370
- const parser = new _xml2js.Parser({
371
- explicitArray: false,
372
- ignoreAttrs: true
373
- });
374
- const parsedResponse = await parser.parseStringPromise(multipartUploadResult);
375
- if ('Error' in parsedResponse) {
376
- const {
377
- Code,
378
- Message
379
- } = parsedResponse.Error;
380
- throw new Error(`Unable to create cloud storage object. Error: ${JSON.stringify({
381
- Code,
382
- Message
383
- })}`);
384
- }
385
- if (!('InitiateMultipartUploadResult' in parsedResponse) || !parsedResponse.InitiateMultipartUploadResult.UploadId) {
386
- throw new Error(`Unable to get Upload ID from cloud storage. Error: ${multipartUploadResult}`);
387
- }
388
- const uploadId = parsedResponse.InitiateMultipartUploadResult.UploadId;
389
- debug({
390
- uploadId
391
- });
392
- const parts = getPartBoundaries(fileMeta.fileSize);
393
- const etagResults = await uploadParts({
394
- app,
395
- env,
396
- fileMeta,
397
- parts,
398
- uploadId,
399
- progressCallback
400
- });
401
- debug({
402
- etagResults
403
- });
404
- return completeMultipartUpload({
405
- app,
406
- env,
407
- basename,
408
- uploadId,
409
- etagResults
410
- });
293
+ async function uploadUsingMultipart({ app, env, fileMeta, progressCallback, }) {
294
+ const { basename } = fileMeta;
295
+ debug(`Uploading ${chalk_1.default.cyan(basename)} to S3 using the Multipart API.`);
296
+ const presignedCreateMultipartUpload = await getSignedUploadRequestData({
297
+ appId: app.id,
298
+ envId: env.id,
299
+ basename,
300
+ action: 'CreateMultipartUpload',
301
+ });
302
+ const multipartUploadResponse = await fetchWithRetry(presignedCreateMultipartUpload.url, presignedCreateMultipartUpload.options);
303
+ const multipartUploadResult = await multipartUploadResponse.text();
304
+ // TODO is any hardening needed here?
305
+ const parser = new xml2js_1.Parser({
306
+ explicitArray: false,
307
+ ignoreAttrs: true,
308
+ });
309
+ const parsedResponse = (await parser.parseStringPromise(multipartUploadResult));
310
+ if ('Error' in parsedResponse) {
311
+ const { Code, Message } = parsedResponse.Error;
312
+ throw new Error(`Unable to create cloud storage object. Error: ${JSON.stringify({ Code, Message })}`);
313
+ }
314
+ if (!('InitiateMultipartUploadResult' in parsedResponse) ||
315
+ !parsedResponse.InitiateMultipartUploadResult.UploadId) {
316
+ throw new Error(`Unable to get Upload ID from cloud storage. Error: ${multipartUploadResult}`);
317
+ }
318
+ const uploadId = parsedResponse.InitiateMultipartUploadResult.UploadId;
319
+ debug({ uploadId });
320
+ const parts = getPartBoundaries(fileMeta.fileSize);
321
+ const etagResults = await uploadParts({
322
+ app,
323
+ env,
324
+ fileMeta,
325
+ parts,
326
+ uploadId,
327
+ progressCallback,
328
+ });
329
+ debug({ etagResults });
330
+ return completeMultipartUpload({
331
+ app,
332
+ env,
333
+ basename,
334
+ uploadId,
335
+ etagResults,
336
+ });
411
337
  }
412
- async function getSignedUploadRequestData({
413
- action,
414
- appId,
415
- basename,
416
- envId,
417
- etagResults,
418
- uploadId = undefined,
419
- partNumber = undefined
420
- }) {
421
- const WPVIP_DEPLOY_TOKEN = process.env.WPVIP_DEPLOY_TOKEN;
422
- const reqOptions = {
423
- method: 'POST',
424
- body: {
425
- action,
426
- appId,
427
- basename,
428
- envId,
429
- etagResults,
430
- partNumber,
431
- uploadId
432
- }
433
- };
434
- if (WPVIP_DEPLOY_TOKEN) {
435
- reqOptions.headers = {
436
- Authorization: `Bearer ${WPVIP_DEPLOY_TOKEN}`
338
+ async function getSignedUploadRequestData({ action, appId, basename, envId, etagResults, uploadId = undefined, partNumber = undefined, }, retries = SIGNED_REQUEST_RETRIES) {
339
+ const WPVIP_DEPLOY_TOKEN = process.env.WPVIP_DEPLOY_TOKEN;
340
+ const reqOptions = {
341
+ method: 'POST',
342
+ body: { action, appId, basename, envId, etagResults, partNumber, uploadId },
437
343
  };
438
- }
439
- const response = await (0, _http.default)('/upload/site-import-presigned-url', reqOptions);
440
- if (response.status !== 200) {
441
- throw new Error((await response.text()) || response.statusText);
442
- }
443
- return response.json();
344
+ if (WPVIP_DEPLOY_TOKEN) {
345
+ reqOptions.headers = {
346
+ Authorization: `Bearer ${WPVIP_DEPLOY_TOKEN}`,
347
+ };
348
+ }
349
+ // A large upload makes one of these requests per part, so a single network blip
350
+ // would otherwise abort the whole upload. The JSON body is re-serialized on every
351
+ // call, so retrying is safe.
352
+ for (let attempt = 0;; attempt++) {
353
+ const isLastAttempt = attempt >= retries;
354
+ let response;
355
+ try {
356
+ // eslint-disable-next-line no-await-in-loop
357
+ response = await (0, http_1.default)('/upload/site-import-presigned-url', reqOptions);
358
+ if (response.status === 200) {
359
+ // Body transport failures must stay inside the retry boundary.
360
+ // eslint-disable-next-line no-await-in-loop
361
+ return (await response.json());
362
+ }
363
+ }
364
+ catch (err) {
365
+ if (err instanceof SyntaxError || isLastAttempt) {
366
+ throw withCauseMessage(err);
367
+ }
368
+ response = undefined;
369
+ }
370
+ const isRetryableStatus = response && (response.status === 429 || response.status >= 500);
371
+ if (response && (!isRetryableStatus || isLastAttempt)) {
372
+ // eslint-disable-next-line no-await-in-loop
373
+ throw new Error((await response.text()) || response.statusText);
374
+ }
375
+ // eslint-disable-next-line no-await-in-loop
376
+ await response?.body?.cancel().catch(err => debug('Response cleanup failed: %s', err));
377
+ // eslint-disable-next-line no-await-in-loop
378
+ await (0, promises_3.setTimeout)(Math.pow(2, attempt) * 1000); // 1000, 2000, 4000
379
+ }
444
380
  }
445
381
  async function checkFileAccess(fileName) {
446
- return (0, _promises.access)(fileName, _fs.constants.R_OK);
382
+ return (0, promises_1.access)(fileName, fs_1.constants.R_OK);
447
383
  }
448
384
  async function isFile(fileName) {
449
- try {
450
- const stats = await (0, _promises.stat)(fileName);
451
- return stats.isFile();
452
- } catch (err) {
453
- debug(`isFile error: ${err.message}`);
454
- return false;
455
- }
385
+ try {
386
+ const stats = await (0, promises_1.stat)(fileName);
387
+ return stats.isFile();
388
+ }
389
+ catch (err) {
390
+ debug(`isFile error: ${err.message}`);
391
+ return false;
392
+ }
456
393
  }
457
394
  async function getFileSize(fileName) {
458
- const stats = await (0, _promises.stat)(fileName);
459
- return stats.size;
395
+ const stats = await (0, promises_1.stat)(fileName);
396
+ return stats.size;
460
397
  }
461
398
  async function detectCompressedMimeType(fileName) {
462
- const ZIP_MAGIC_NUMBER = '504b0304';
463
- const GZ_MAGIC_NUMBER = '1f8b';
464
- const file = await (0, _promises.open)(fileName, 'r');
465
- const {
466
- buffer
467
- } = await file.read(Buffer.alloc(4), 0, 4, 0);
468
- const fileHeader = buffer.toString('hex');
469
- await file.close();
470
- if (ZIP_MAGIC_NUMBER === fileHeader.slice(0, ZIP_MAGIC_NUMBER.length)) {
471
- return 'application/zip';
472
- }
473
- if (GZ_MAGIC_NUMBER === fileHeader.slice(0, GZ_MAGIC_NUMBER.length)) {
474
- return 'application/gzip';
475
- }
476
- return '';
399
+ const ZIP_MAGIC_NUMBER = '504b0304';
400
+ const GZ_MAGIC_NUMBER = '1f8b';
401
+ const file = await (0, promises_1.open)(fileName, 'r');
402
+ const { buffer } = await file.read(Buffer.alloc(4), 0, 4, 0);
403
+ const fileHeader = buffer.toString('hex');
404
+ await file.close();
405
+ if (ZIP_MAGIC_NUMBER === fileHeader.slice(0, ZIP_MAGIC_NUMBER.length)) {
406
+ return 'application/zip';
407
+ }
408
+ if (GZ_MAGIC_NUMBER === fileHeader.slice(0, GZ_MAGIC_NUMBER.length)) {
409
+ return 'application/gzip';
410
+ }
411
+ return '';
477
412
  }
478
413
  function getPartBoundaries(fileSize) {
479
- if (fileSize < 1) {
480
- throw new Error('fileSize must be greater than zero');
481
- }
482
- const numParts = Math.ceil(fileSize / UPLOAD_PART_SIZE);
483
- return new Array(numParts).fill(undefined).map((_numPart, index) => {
484
- const start = index * UPLOAD_PART_SIZE;
485
- const remaining = fileSize - start;
486
- const end = (remaining > UPLOAD_PART_SIZE ? start + UPLOAD_PART_SIZE : start + remaining) - 1;
487
- const partSize = end + 1 - start;
488
- return {
489
- end,
490
- index,
491
- partSize,
492
- start
414
+ if (fileSize < 1) {
415
+ throw new Error('fileSize must be greater than zero');
416
+ }
417
+ const numParts = Math.ceil(fileSize / UPLOAD_PART_SIZE);
418
+ return new Array(numParts).fill(undefined).map((_numPart, index) => {
419
+ const start = index * UPLOAD_PART_SIZE;
420
+ const remaining = fileSize - start;
421
+ const end = (remaining > UPLOAD_PART_SIZE ? start + UPLOAD_PART_SIZE : start + remaining) - 1;
422
+ const partSize = end + 1 - start;
423
+ return { end, index, partSize, start };
424
+ });
425
+ }
426
+ async function uploadParts({ app, env, fileMeta, uploadId, parts, progressCallback, }) {
427
+ let uploadsInProgress = 0;
428
+ const partPercentages = new Array(parts.length).fill(0);
429
+ const partBytesRead = new Array(parts.length).fill(0);
430
+ const readyForPartUpload = () => new Promise(resolve => {
431
+ const canDoInterval = (0, node_timers_1.setInterval)(() => {
432
+ if (uploadsInProgress < MAX_CONCURRENT_PART_UPLOADS) {
433
+ uploadsInProgress++;
434
+ (0, node_timers_1.clearInterval)(canDoInterval);
435
+ resolve();
436
+ }
437
+ }, 300);
438
+ });
439
+ const updateProgress = () => {
440
+ const totalBytesRead = partBytesRead.reduce((sum, bytes) => sum + bytes, 0);
441
+ const percentage = `${Math.floor((100 * totalBytesRead) / fileMeta.fileSize)}%`;
442
+ if (typeof progressCallback === 'function') {
443
+ progressCallback(percentage);
444
+ }
445
+ debug(partPercentages
446
+ .map((partPercentage, index) => {
447
+ const { partSize } = parts[index];
448
+ return `Part # ${index}: ${partPercentage}% of ${(partSize / file_size_1.MB_IN_BYTES).toFixed(2)}MB`;
449
+ })
450
+ .join('\n') +
451
+ `\n\nOverall Progress: ${percentage}% of ${(fileMeta.fileSize / file_size_1.MB_IN_BYTES).toFixed(2)}MB`);
493
452
  };
494
- });
453
+ const updateProgressInterval = (0, node_timers_1.setInterval)(updateProgress, 500);
454
+ const allDone = await Promise.all(parts.map(async (part) => {
455
+ const { index, partSize, start, end } = part;
456
+ // Build a fresh request body for every attempt. A stream can only be
457
+ // consumed once, so recreating the ranged read stream (and its progress
458
+ // PassThrough) per attempt lets `fetchWithRetry` retry without reusing a
459
+ // disturbed/locked stream. Reset this part's progress counters so a retry
460
+ // re-streams the part without double-counting bytes.
461
+ const createBody = () => {
462
+ partBytesRead[index] = 0;
463
+ partPercentages[index] = 0;
464
+ const progressTransform = createProgressTransform(data => {
465
+ partBytesRead[index] += data.length;
466
+ partPercentages[index] = Math.floor((100 * partBytesRead[index]) / partSize);
467
+ });
468
+ return (0, fs_1.createReadStream)(fileMeta.fileName, { start, end }).pipe(progressTransform);
469
+ };
470
+ await readyForPartUpload();
471
+ const uploadResult = await uploadPart({
472
+ app,
473
+ env,
474
+ fileMeta,
475
+ part,
476
+ createBody,
477
+ uploadId,
478
+ });
479
+ uploadsInProgress--;
480
+ return uploadResult;
481
+ }));
482
+ (0, node_timers_1.clearInterval)(updateProgressInterval);
483
+ updateProgress();
484
+ return allDone;
495
485
  }
496
- async function uploadParts({
497
- app,
498
- env,
499
- fileMeta,
500
- uploadId,
501
- parts,
502
- progressCallback
503
- }) {
504
- let uploadsInProgress = 0;
505
- const partPercentages = new Array(parts.length).fill(0);
506
- const partBytesRead = new Array(parts.length).fill(0);
507
- const readyForPartUpload = () => new Promise(resolve => {
508
- const canDoInterval = (0, _nodeTimers.setInterval)(() => {
509
- if (uploadsInProgress < MAX_CONCURRENT_PART_UPLOADS) {
510
- uploadsInProgress++;
511
- (0, _nodeTimers.clearInterval)(canDoInterval);
512
- resolve();
513
- }
514
- }, 300);
515
- });
516
- const updateProgress = () => {
517
- const totalBytesRead = partBytesRead.reduce((sum, bytes) => sum + bytes, 0);
518
- const percentage = `${Math.floor(100 * totalBytesRead / fileMeta.fileSize)}%`;
519
- if (typeof progressCallback === 'function') {
520
- progressCallback(percentage);
521
- }
522
- debug(partPercentages.map((partPercentage, index) => {
523
- const {
524
- partSize
525
- } = parts[index];
526
- return `Part # ${index}: ${partPercentage}% of ${(partSize / _fileSize.MB_IN_BYTES).toFixed(2)}MB`;
527
- }).join('\n') + `\n\nOverall Progress: ${percentage}% of ${(fileMeta.fileSize / _fileSize.MB_IN_BYTES).toFixed(2)}MB`);
528
- };
529
- const updateProgressInterval = (0, _nodeTimers.setInterval)(updateProgress, 500);
530
- const allDone = await Promise.all(parts.map(async part => {
531
- const {
532
- index,
533
- partSize,
534
- start,
535
- end
536
- } = part;
537
-
538
- // Build a fresh request body for every attempt. A stream can only be
539
- // consumed once, so recreating the ranged read stream (and its progress
540
- // PassThrough) per attempt lets `fetchWithRetry` retry without reusing a
541
- // disturbed/locked stream. Reset this part's progress counters so a retry
542
- // re-streams the part without double-counting bytes.
543
- const createBody = () => {
544
- partBytesRead[index] = 0;
545
- partPercentages[index] = 0;
546
- const progressTransform = createProgressTransform(data => {
547
- partBytesRead[index] += data.length;
548
- partPercentages[index] = Math.floor(100 * partBytesRead[index] / partSize);
549
- });
550
- return (0, _fs.createReadStream)(fileMeta.fileName, {
551
- start,
552
- end
553
- }).pipe(progressTransform);
486
+ async function uploadPart({ app, env, fileMeta: { basename }, part, createBody, uploadId, }) {
487
+ const { index, partSize } = part;
488
+ const s3PartNumber = index + 1; // S3 multipart is indexed from 1
489
+ // TODO: handle failures / retries, etc.
490
+ const doUpload = async () => {
491
+ // Get the signed request data from Parker
492
+ const partUploadRequestData = await getSignedUploadRequestData({
493
+ action: 'UploadPart',
494
+ appId: app.id,
495
+ envId: env.id,
496
+ basename,
497
+ partNumber: s3PartNumber,
498
+ uploadId,
499
+ });
500
+ const fetchOptions = partUploadRequestData.options;
501
+ fetchOptions.headers = {
502
+ ...fetchOptions.headers,
503
+ 'Content-Length': `${partSize}`, // This has to be a string
504
+ /**
505
+ * TODO? 'Content-MD5': Buffer.from( ... ).toString( 'base64' ),
506
+ * Content-MD5 has to be base64 encoded.
507
+ * It's the hash of the entire request object & has to be included in the signature,
508
+ * ...so it may not be feasible to include with presigned requests.
509
+ */
510
+ };
511
+ const fetchResponse = await fetchWithRetry(partUploadRequestData.url, fetchOptions, 3, createBody);
512
+ if (fetchResponse.status === 200) {
513
+ const etag = fetchResponse.headers.get('etag');
514
+ if (!etag) {
515
+ throw new Error('Unable to upload file part. Missing ETag response header.');
516
+ }
517
+ return parseEtagHeader(etag);
518
+ }
519
+ const result = await fetchResponse.text();
520
+ // TODO is any hardening needed here?
521
+ const parser = new xml2js_1.Parser({
522
+ explicitArray: false,
523
+ ignoreAttrs: true,
524
+ });
525
+ const parsed = (await parser.parseStringPromise(result));
526
+ const { Code, Message } = parsed.Error;
527
+ throw new Error(`Unable to upload file part. Error: ${JSON.stringify({ Code, Message })}`);
528
+ };
529
+ return {
530
+ ETag: await doUpload(),
531
+ PartNumber: s3PartNumber,
554
532
  };
555
- await readyForPartUpload();
556
- const uploadResult = await uploadPart({
557
- app,
558
- env,
559
- fileMeta,
560
- part,
561
- createBody,
562
- uploadId
563
- });
564
- uploadsInProgress--;
565
- return uploadResult;
566
- }));
567
- (0, _nodeTimers.clearInterval)(updateProgressInterval);
568
- updateProgress();
569
- return allDone;
570
533
  }
571
- async function uploadPart({
572
- app,
573
- env,
574
- fileMeta: {
575
- basename
576
- },
577
- part,
578
- createBody,
579
- uploadId
580
- }) {
581
- const {
582
- index,
583
- partSize
584
- } = part;
585
- const s3PartNumber = index + 1; // S3 multipart is indexed from 1
586
-
587
- // TODO: handle failures / retries, etc.
588
- const doUpload = async () => {
589
- // Get the signed request data from Parker
590
- const partUploadRequestData = await getSignedUploadRequestData({
591
- action: 'UploadPart',
592
- appId: app.id,
593
- envId: env.id,
594
- basename,
595
- partNumber: s3PartNumber,
596
- uploadId
534
+ async function completeMultipartUpload({ app, env, basename, uploadId, etagResults, }) {
535
+ const completeMultipartUploadRequestData = await getSignedUploadRequestData({
536
+ action: 'CompleteMultipartUpload',
537
+ appId: app.id,
538
+ envId: env.id,
539
+ basename,
540
+ uploadId,
541
+ etagResults,
597
542
  });
598
- const fetchOptions = partUploadRequestData.options;
599
- fetchOptions.headers = {
600
- ...fetchOptions.headers,
601
- 'Content-Length': `${partSize}` // This has to be a string
602
- /**
603
- * TODO? 'Content-MD5': Buffer.from( ... ).toString( 'base64' ),
604
- * Content-MD5 has to be base64 encoded.
605
- * It's the hash of the entire request object & has to be included in the signature,
606
- * ...so it may not be feasible to include with presigned requests.
607
- */
608
- };
609
- const fetchResponse = await fetchWithRetry(partUploadRequestData.url, fetchOptions, 3, createBody);
610
- if (fetchResponse.status === 200) {
611
- const etag = fetchResponse.headers.get('etag');
612
- if (!etag) {
613
- throw new Error('Unable to upload file part. Missing ETag response header.');
614
- }
615
- return parseEtagHeader(etag);
616
- }
617
- const result = await fetchResponse.text();
618
-
619
- // TODO is any hardening needed here?
620
- const parser = new _xml2js.Parser({
621
- explicitArray: false,
622
- ignoreAttrs: true
543
+ const completeMultipartUploadResponse = await fetchWithRetry(completeMultipartUploadRequestData.url, completeMultipartUploadRequestData.options);
544
+ if (completeMultipartUploadResponse.status !== 200) {
545
+ // eslint-disable-next-line @typescript-eslint/only-throw-error
546
+ throw await completeMultipartUploadResponse.text();
547
+ }
548
+ /**
549
+ * Processing of a Complete Multipart Upload request could take several minutes to complete.
550
+ * After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response.
551
+ * While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out.
552
+ * Because a request could fail after the initial 200 OK response has been sent, it is important that you check the
553
+ * response body to determine whether the request succeeded.
554
+ * Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests.
555
+ *
556
+ * https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
557
+ */
558
+ const result = await completeMultipartUploadResponse.text();
559
+ const parser = new xml2js_1.Parser({
560
+ explicitArray: false,
561
+ ignoreAttrs: true,
623
562
  });
624
- const parsed = await parser.parseStringPromise(result);
625
- const {
626
- Code,
627
- Message
628
- } = parsed.Error;
629
- throw new Error(`Unable to upload file part. Error: ${JSON.stringify({
630
- Code,
631
- Message
632
- })}`);
633
- };
634
- return {
635
- ETag: await doUpload(),
636
- PartNumber: s3PartNumber
637
- };
563
+ const parsed = (await parser.parseStringPromise(result));
564
+ if ('Error' in parsed) {
565
+ const { Code, Message } = parsed.Error;
566
+ throw new Error(`Unable to complete the upload. Error: ${JSON.stringify({ Code, Message })}`);
567
+ }
568
+ return parsed;
638
569
  }
639
-
640
- /**
641
- * @see https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html#API_CompleteMultipartUpload_ResponseSyntax
642
- */
643
-
644
- async function completeMultipartUpload({
645
- app,
646
- env,
647
- basename,
648
- uploadId,
649
- etagResults
650
- }) {
651
- const completeMultipartUploadRequestData = await getSignedUploadRequestData({
652
- action: 'CompleteMultipartUpload',
653
- appId: app.id,
654
- envId: env.id,
655
- basename,
656
- uploadId,
657
- etagResults
658
- });
659
- const completeMultipartUploadResponse = await fetchWithRetry(completeMultipartUploadRequestData.url, completeMultipartUploadRequestData.options);
660
- if (completeMultipartUploadResponse.status !== 200) {
661
- // eslint-disable-next-line @typescript-eslint/only-throw-error
662
- throw await completeMultipartUploadResponse.text();
663
- }
664
-
665
- /**
666
- * Processing of a Complete Multipart Upload request could take several minutes to complete.
667
- * After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response.
668
- * While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out.
669
- * Because a request could fail after the initial 200 OK response has been sent, it is important that you check the
670
- * response body to determine whether the request succeeded.
671
- * Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests.
672
- *
673
- * https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
674
- */
675
- const result = await completeMultipartUploadResponse.text();
676
- const parser = new _xml2js.Parser({
677
- explicitArray: false,
678
- ignoreAttrs: true
679
- });
680
- const parsed = await parser.parseStringPromise(result);
681
- if ('Error' in parsed) {
682
- const {
683
- Code,
684
- Message
685
- } = parsed.Error;
686
- throw new Error(`Unable to complete the upload. Error: ${JSON.stringify({
687
- Code,
688
- Message
689
- })}`);
690
- }
691
- return parsed;
692
- }