@automattic/vip 4.1.6 → 4.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +1 -1
  2. package/dist/bin/vip-app-deploy-token-generate.js +110 -78
  3. package/dist/bin/vip-app-deploy-token.js +24 -16
  4. package/dist/bin/vip-app-deploy-validate.js +45 -41
  5. package/dist/bin/vip-app-deploy.js +222 -215
  6. package/dist/bin/vip-app-list.js +59 -43
  7. package/dist/bin/vip-app.js +97 -66
  8. package/dist/bin/vip-backup-db.js +36 -29
  9. package/dist/bin/vip-backup.js +16 -9
  10. package/dist/bin/vip-cache-purge-url.js +93 -55
  11. package/dist/bin/vip-cache.js +23 -14
  12. package/dist/bin/vip-config-envvar-delete.js +74 -73
  13. package/dist/bin/vip-config-envvar-get-all.js +68 -68
  14. package/dist/bin/vip-config-envvar-get.js +46 -46
  15. package/dist/bin/vip-config-envvar-list.js +54 -57
  16. package/dist/bin/vip-config-envvar-set.js +102 -96
  17. package/dist/bin/vip-config-envvar.js +38 -24
  18. package/dist/bin/vip-config-software-get.js +88 -75
  19. package/dist/bin/vip-config-software-update.js +116 -120
  20. package/dist/bin/vip-config-software.js +31 -21
  21. package/dist/bin/vip-config.js +25 -17
  22. package/dist/bin/vip-db-phpmyadmin.js +40 -39
  23. package/dist/bin/vip-db.js +13 -12
  24. package/dist/bin/vip-defensive-mode-configure.js +197 -197
  25. package/dist/bin/vip-defensive-mode-disable.js +43 -35
  26. package/dist/bin/vip-defensive-mode-enable.js +47 -38
  27. package/dist/bin/vip-defensive-mode.js +28 -17
  28. package/dist/bin/vip-dev-env-create.js +147 -104
  29. package/dist/bin/vip-dev-env-destroy.js +48 -39
  30. package/dist/bin/vip-dev-env-envvar-delete.js +60 -49
  31. package/dist/bin/vip-dev-env-envvar-get-all.js +52 -45
  32. package/dist/bin/vip-dev-env-envvar-get.js +48 -37
  33. package/dist/bin/vip-dev-env-envvar-list.js +48 -41
  34. package/dist/bin/vip-dev-env-envvar-set.js +83 -70
  35. package/dist/bin/vip-dev-env-envvar.js +38 -23
  36. package/dist/bin/vip-dev-env-exec.js +81 -74
  37. package/dist/bin/vip-dev-env-import-media.js +34 -26
  38. package/dist/bin/vip-dev-env-import-sql.js +65 -51
  39. package/dist/bin/vip-dev-env-import.js +23 -14
  40. package/dist/bin/vip-dev-env-info.js +59 -50
  41. package/dist/bin/vip-dev-env-list.js +34 -31
  42. package/dist/bin/vip-dev-env-logs.js +59 -49
  43. package/dist/bin/vip-dev-env-purge.js +71 -63
  44. package/dist/bin/vip-dev-env-shell.js +82 -71
  45. package/dist/bin/vip-dev-env-start.js +77 -65
  46. package/dist/bin/vip-dev-env-stop.js +80 -74
  47. package/dist/bin/vip-dev-env-sync-sql.js +80 -72
  48. package/dist/bin/vip-dev-env-sync.js +18 -11
  49. package/dist/bin/vip-dev-env-update.js +93 -84
  50. package/dist/bin/vip-dev-env.js +25 -8
  51. package/dist/bin/vip-edge-workers-build.js +82 -54
  52. package/dist/bin/vip-edge-workers-delete.js +84 -52
  53. package/dist/bin/vip-edge-workers-deploy.js +186 -126
  54. package/dist/bin/vip-edge-workers-disable.js +75 -44
  55. package/dist/bin/vip-edge-workers-enable.js +86 -54
  56. package/dist/bin/vip-edge-workers-get.js +108 -88
  57. package/dist/bin/vip-edge-workers-init.js +83 -53
  58. package/dist/bin/vip-edge-workers-list.js +89 -54
  59. package/dist/bin/vip-edge-workers-new.js +98 -69
  60. package/dist/bin/vip-edge-workers-validate.js +123 -82
  61. package/dist/bin/vip-edge-workers.js +19 -6
  62. package/dist/bin/vip-export-sql.js +75 -69
  63. package/dist/bin/vip-export.js +12 -7
  64. package/dist/bin/vip-import-media-abort.js +99 -73
  65. package/dist/bin/vip-import-media-status.js +83 -51
  66. package/dist/bin/vip-import-media.js +165 -166
  67. package/dist/bin/vip-import-sql-status.js +75 -45
  68. package/dist/bin/vip-import-sql.js +536 -596
  69. package/dist/bin/vip-import-validate-files.js +122 -141
  70. package/dist/bin/vip-import-validate-sql.js +52 -16
  71. package/dist/bin/vip-import.js +16 -7
  72. package/dist/bin/vip-logout.js +17 -13
  73. package/dist/bin/vip-logs.js +209 -183
  74. package/dist/bin/vip-search-replace.js +85 -53
  75. package/dist/bin/vip-slowlogs.js +168 -147
  76. package/dist/bin/vip-sync.js +163 -133
  77. package/dist/bin/vip-whoami.js +71 -35
  78. package/dist/bin/vip-wp.js +506 -549
  79. package/dist/bin/vip.js +161 -116
  80. package/dist/commands/backup-db.js +183 -149
  81. package/dist/commands/dev-env-import-sql.js +162 -117
  82. package/dist/commands/dev-env-sync-sql.js +372 -330
  83. package/dist/commands/export-sql.js +441 -425
  84. package/dist/commands/phpmyadmin.js +232 -212
  85. package/dist/commands/wp-ssh.js +218 -187
  86. package/dist/lib/analytics/clients/tracks.js +84 -91
  87. package/dist/lib/analytics/index.js +27 -27
  88. package/dist/lib/api/app.js +37 -36
  89. package/dist/lib/api/cache-purge.js +17 -20
  90. package/dist/lib/api/constants.js +5 -6
  91. package/dist/lib/api/edge-workers.js +84 -135
  92. package/dist/lib/api/error-debug.js +10 -13
  93. package/dist/lib/api/feature-flags.js +16 -17
  94. package/dist/lib/api/http.js +47 -48
  95. package/dist/lib/api/user.js +17 -18
  96. package/dist/lib/api.js +107 -116
  97. package/dist/lib/app-logs/app-logs.js +24 -25
  98. package/dist/lib/app-slowlogs/app-slowlogs.js +23 -24
  99. package/dist/lib/app-slowlogs/types.js +2 -1
  100. package/dist/lib/app.js +6 -8
  101. package/dist/lib/backup-storage-availability/backup-storage-availability.js +119 -119
  102. package/dist/lib/backup-storage-availability/docker-machine-not-found-error.js +5 -6
  103. package/dist/lib/cli/apiConfig.js +71 -41
  104. package/dist/lib/cli/command.js +1120 -873
  105. package/dist/lib/cli/config.js +29 -29
  106. package/dist/lib/cli/envAlias.js +35 -50
  107. package/dist/lib/cli/exit.js +19 -19
  108. package/dist/lib/cli/format.js +172 -172
  109. package/dist/lib/cli/progress.js +193 -236
  110. package/dist/lib/cli/prompt.js +14 -15
  111. package/dist/lib/cli/runtime-mode.js +5 -6
  112. package/dist/lib/client-file-uploader.js +489 -641
  113. package/dist/lib/config/software.js +206 -212
  114. package/dist/lib/constants/dev-environment.js +40 -37
  115. package/dist/lib/constants/file-size.js +6 -7
  116. package/dist/lib/constants/vipgo.js +24 -12
  117. package/dist/lib/custom-deploy/custom-deploy.js +138 -120
  118. package/dist/lib/database.js +88 -85
  119. package/dist/lib/defensive-mode/api.js +41 -46
  120. package/dist/lib/defensive-mode/cli-helpers.js +40 -40
  121. package/dist/lib/dev-environment/dev-environment-cli.js +776 -735
  122. package/dist/lib/dev-environment/dev-environment-configuration-file.js +224 -191
  123. package/dist/lib/dev-environment/dev-environment-core.js +697 -732
  124. package/dist/lib/dev-environment/dev-environment-database.js +57 -41
  125. package/dist/lib/dev-environment/dev-environment-lando.js +734 -666
  126. package/dist/lib/dev-environment/docker-utils.js +96 -90
  127. package/dist/lib/dev-environment/env-vars.js +61 -59
  128. package/dist/lib/dev-environment/lando-loader.js +6 -7
  129. package/dist/lib/dev-environment/types.js +2 -1
  130. package/dist/lib/edge-workers/confirmation.js +42 -36
  131. package/dist/lib/edge-workers/deployment.js +150 -159
  132. package/dist/lib/edge-workers/index.js +68 -85
  133. package/dist/lib/edge-workers/location.js +26 -26
  134. package/dist/lib/edge-workers/output.js +14 -15
  135. package/dist/lib/edge-workers/project.js +123 -132
  136. package/dist/lib/edge-workers/toolchains/assemblyscript/constants.js +6 -8
  137. package/dist/lib/edge-workers/toolchains/assemblyscript/index.js +100 -101
  138. package/dist/lib/edge-workers/toolchains/assemblyscript/templates.js +31 -33
  139. package/dist/lib/edge-workers/toolchains/index.js +15 -15
  140. package/dist/lib/edge-workers/types.js +10 -38
  141. package/dist/lib/edge-workers/validation.js +161 -150
  142. package/dist/lib/env.js +16 -17
  143. package/dist/lib/envvar/api-delete.js +16 -18
  144. package/dist/lib/envvar/api-get-all.js +15 -19
  145. package/dist/lib/envvar/api-get.js +8 -9
  146. package/dist/lib/envvar/api-list.js +16 -21
  147. package/dist/lib/envvar/api-set.js +20 -19
  148. package/dist/lib/envvar/api.js +34 -29
  149. package/dist/lib/envvar/input.js +29 -34
  150. package/dist/lib/envvar/logging.js +9 -11
  151. package/dist/lib/envvar/read-file.js +6 -7
  152. package/dist/lib/http/download-file.js +76 -44
  153. package/dist/lib/http/proxy-agent.js +37 -40
  154. package/dist/lib/http/proxy-dispatcher.js +69 -71
  155. package/dist/lib/keychain/insecure.js +40 -36
  156. package/dist/lib/keychain/keychain.js +2 -1
  157. package/dist/lib/keychain/secure.js +16 -15
  158. package/dist/lib/keychain.js +22 -22
  159. package/dist/lib/live-backup-copy.js +117 -115
  160. package/dist/lib/logout.js +17 -19
  161. package/dist/lib/media-import/config.js +15 -14
  162. package/dist/lib/media-import/media-file-import.js +9 -13
  163. package/dist/lib/media-import/progress.js +53 -65
  164. package/dist/lib/media-import/status.js +241 -256
  165. package/dist/lib/media-import/utils.js +15 -15
  166. package/dist/lib/node-version-check.js +16 -16
  167. package/dist/lib/promise.js +16 -17
  168. package/dist/lib/read-file.js +48 -16
  169. package/dist/lib/rechallenge/client.js +37 -43
  170. package/dist/lib/rechallenge/errors.js +38 -37
  171. package/dist/lib/rechallenge/flow.js +148 -123
  172. package/dist/lib/rechallenge/index.js +23 -24
  173. package/dist/lib/rechallenge/link.js +153 -151
  174. package/dist/lib/rechallenge/open-browser.js +14 -17
  175. package/dist/lib/rechallenge/token-cache.js +83 -86
  176. package/dist/lib/rechallenge/types.js +5 -14
  177. package/dist/lib/retry.js +93 -129
  178. package/dist/lib/search-and-replace.js +164 -148
  179. package/dist/lib/site-import/db-file-import.js +12 -16
  180. package/dist/lib/site-import/status.js +291 -291
  181. package/dist/lib/token.js +86 -87
  182. package/dist/lib/tracker.js +51 -62
  183. package/dist/lib/types/graphql/rate-limit-exceeded-error.js +2 -1
  184. package/dist/lib/types.js +2 -1
  185. package/dist/lib/user-error.js +6 -8
  186. package/dist/lib/utils.js +81 -87
  187. package/dist/lib/validations/custom-deploy.js +218 -186
  188. package/dist/lib/validations/is-multi-site-sql-dump.js +6 -6
  189. package/dist/lib/validations/is-multi-site.js +83 -50
  190. package/dist/lib/validations/is-multisite-domain-mapped.js +92 -62
  191. package/dist/lib/validations/line-by-line.js +78 -46
  192. package/dist/lib/validations/site-type.js +59 -63
  193. package/dist/lib/validations/sql-insert-parser.js +415 -0
  194. package/dist/lib/validations/sql.js +551 -431
  195. package/dist/lib/validations/utils.js +27 -29
  196. package/dist/lib/vip-import-validate-files.js +481 -490
  197. package/dist/lib/wp/helpers.js +41 -45
  198. package/dist/lib/wp/readline.js +21 -57
  199. package/dist/lib/xdg-data.js +11 -12
  200. package/helpers/mark-cli-executable.js +9 -0
  201. package/node_modules/@apollo/client/CHANGELOG.md +10 -0
  202. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +5 -0
  203. package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  204. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +2 -1
  205. package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  206. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +14 -2
  207. package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  208. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +16 -0
  209. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
  210. package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +2 -0
  211. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +3 -2
  212. package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  213. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +9 -1
  214. package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
  215. package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +1 -1
  216. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +10 -3
  217. package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
  218. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
  219. package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +42 -43
  220. package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
  221. package/node_modules/@apollo/client/cache/inmemory/helpers.js +5 -0
  222. package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
  223. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +2 -1
  224. package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
  225. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +14 -2
  226. package/node_modules/@apollo/client/cache/inmemory/key-extractor.js.map +1 -1
  227. package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +2 -0
  228. package/node_modules/@apollo/client/cache/inmemory/policies.js +17 -1
  229. package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
  230. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +3 -2
  231. package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
  232. package/node_modules/@apollo/client/core/QueryInfo.d.ts +1 -1
  233. package/node_modules/@apollo/client/core/QueryInfo.js +10 -2
  234. package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
  235. package/node_modules/@apollo/client/core/QueryManager.js +10 -3
  236. package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
  237. package/node_modules/@apollo/client/package.json +1 -1
  238. package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +42 -43
  239. package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
  240. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +42 -43
  241. package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
  242. package/node_modules/@apollo/client/version.js +1 -1
  243. package/node_modules/@automattic/vip-search-replace/README.md +6 -1
  244. package/node_modules/@automattic/vip-search-replace/lib/index.js +46 -14
  245. package/node_modules/@automattic/vip-search-replace/package.json +1 -1
  246. package/node_modules/@types/node/README.md +1 -1
  247. package/node_modules/@types/node/package.json +2 -2
  248. package/node_modules/@types/node/zlib.d.ts +752 -0
  249. package/node_modules/check-disk-space/README.md +92 -32
  250. package/node_modules/check-disk-space/dist/check-disk-space.d.mts +58 -0
  251. package/node_modules/check-disk-space/dist/check-disk-space.mjs +170 -190
  252. package/node_modules/check-disk-space/package.json +43 -71
  253. package/node_modules/cpu-features/build/Makefile +2 -2
  254. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
  255. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_linux_or_android.o.d +1 -1
  256. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_macos_or_iphone.o.d +1 -1
  257. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
  258. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_arm_linux_or_android.o.d +1 -1
  259. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_mips_linux_or_android.o.d +1 -1
  260. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
  261. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
  262. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_linux_or_android.o.d +1 -1
  263. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
  264. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
  265. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
  266. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
  267. package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +157 -145
  268. package/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
  269. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures/src/binding.o +0 -0
  270. package/node_modules/cpu-features/build/Release/obj.target/cpufeatures.node +0 -0
  271. package/node_modules/cpu-features/build/config.gypi +100 -31
  272. package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
  273. package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
  274. package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
  275. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d.raw +136 -0
  276. package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
  277. package/node_modules/undici/docs/docs/api/Interceptors.md +15 -2
  278. package/node_modules/undici/lib/dispatcher/client-h2.js +78 -3
  279. package/node_modules/undici/lib/dispatcher/pool-base.js +20 -3
  280. package/node_modules/undici/package.json +3 -3
  281. package/node_modules/undici/types/api.d.ts +1 -1
  282. package/node_modules/undici/types/utility.d.ts +4 -4
  283. package/package.json +44 -13
  284. package/dist/lib/analytics/clients/client.js +0 -1
  285. package/dist/lib/analytics/clients/pendo.js +0 -78
  286. package/helpers/check-version.js +0 -16
  287. package/node_modules/check-disk-space/dist/check-disk-space.cjs +0 -210
  288. package/node_modules/check-disk-space/dist/check-disk-space.d.ts +0 -53
  289. package/node_modules/fetch-retry/.eslintignore +0 -1
  290. package/node_modules/fetch-retry/.eslintrc.yml +0 -20
  291. package/node_modules/fetch-retry/.github/workflows/node.js.yml +0 -32
  292. package/node_modules/fetch-retry/.husky/pre-commit +0 -6
  293. package/node_modules/fetch-retry/.nycrc.json +0 -24
  294. package/node_modules/fetch-retry/.travis.yml +0 -3
  295. package/node_modules/fetch-retry/LICENSE +0 -21
  296. package/node_modules/fetch-retry/README.md +0 -128
  297. package/node_modules/fetch-retry/dist/fetch-retry.umd.js +0 -151
  298. package/node_modules/fetch-retry/index.d.ts +0 -29
  299. package/node_modules/fetch-retry/index.js +0 -143
  300. package/node_modules/fetch-retry/package.json +0 -41
  301. package/node_modules/fetch-retry/rollup.config.js +0 -12
  302. package/node_modules/fetch-retry/test/.eslintrc.yml +0 -7
  303. package/node_modules/fetch-retry/test/integration/index.js +0 -212
  304. package/node_modules/fetch-retry/test/integration/mock-api/index.js +0 -42
  305. package/node_modules/fetch-retry/test/unit/index.js +0 -1169
  306. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +0 -265
  307. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto.node.d +0 -1
  308. package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/sshcrypto.node.d +0 -1
  309. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
  310. package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
  311. package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
@@ -1,30 +1,62 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
4
39
  exports.isMultiSiteInSiteMeta = isMultiSiteInSiteMeta;
5
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
6
- var _api = _interopRequireDefault(require("../../lib/api"));
7
- var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
8
- var _tracker = require("../../lib/tracker");
9
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
40
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
41
+ const api_1 = __importDefault(require("../../lib/api"));
42
+ const exit = __importStar(require("../../lib/cli/exit"));
43
+ const tracker_1 = require("../../lib/tracker");
11
44
  const isMultiSite = new WeakMap();
12
45
  async function isMultiSiteInSiteMeta(appId, envId) {
13
- const args = {
14
- 0: appId,
15
- 1: envId
16
- };
17
-
18
- // if we've already been through this, avoid doing it again within the same process
19
- const ret = isMultiSite.get(args);
20
- if ('boolean' === typeof ret) {
21
- return ret;
22
- }
23
- const api = (0, _api.default)();
24
- let res;
25
- try {
26
- res = await api.query({
27
- query: (0, _graphqlTag.default)`
46
+ const args = {
47
+ 0: appId,
48
+ 1: envId,
49
+ };
50
+ // if we've already been through this, avoid doing it again within the same process
51
+ const ret = isMultiSite.get(args);
52
+ if ('boolean' === typeof ret) {
53
+ return ret;
54
+ }
55
+ const api = (0, api_1.default)();
56
+ let res;
57
+ try {
58
+ res = await api.query({
59
+ query: (0, graphql_tag_1.default) `
28
60
  query AppMultiSiteCheck($appId: Int, $envId: Int) {
29
61
  app(id: $appId) {
30
62
  id
@@ -41,32 +73,33 @@ async function isMultiSiteInSiteMeta(appId, envId) {
41
73
  }
42
74
  }
43
75
  `,
44
- variables: {
45
- appId,
46
- envId
47
- }
48
- });
49
- } catch (GraphQlError) {
50
- const track = _tracker.trackEventWithEnv.bind(null, appId, envId);
51
- await track('import_sql_command_error', {
52
- error_type: 'GraphQL-MultiSite-Check-failed',
53
- gql_err: GraphQlError
54
- });
55
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
56
- exit.withError(`StartImport call failed: ${GraphQlError}`);
57
- }
58
- if (Array.isArray(res.data?.app?.environments)) {
59
- const environments = res.data.app.environments;
60
- if (!environments?.length) {
61
- isMultiSite.set(args, false);
62
- return false;
76
+ variables: {
77
+ appId,
78
+ envId,
79
+ },
80
+ });
81
+ }
82
+ catch (GraphQlError) {
83
+ const track = tracker_1.trackEventWithEnv.bind(null, appId, envId);
84
+ await track('import_sql_command_error', {
85
+ error_type: 'GraphQL-MultiSite-Check-failed',
86
+ gql_err: GraphQlError,
87
+ });
88
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
89
+ exit.withError(`StartImport call failed: ${GraphQlError}`);
63
90
  }
64
- // we asked for one result with one appId and one envId, so...
65
- const thisEnv = environments[0];
66
- if (thisEnv.isMultisite || thisEnv.isSubdirectoryMultisite) {
67
- isMultiSite.set(args, true);
68
- return true;
91
+ if (Array.isArray(res.data?.app?.environments)) {
92
+ const environments = res.data.app.environments;
93
+ if (!environments?.length) {
94
+ isMultiSite.set(args, false);
95
+ return false;
96
+ }
97
+ // we asked for one result with one appId and one envId, so...
98
+ const thisEnv = environments[0];
99
+ if (thisEnv.isMultisite || thisEnv.isSubdirectoryMultisite) {
100
+ isMultiSite.set(args, true);
101
+ return true;
102
+ }
69
103
  }
70
- }
71
- return false;
72
- }
104
+ return false;
105
+ }
@@ -1,31 +1,63 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.getPrimaryDomainFromSQL = exports.getPrimaryDomain = void 0;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getPrimaryDomain = exports.maybeSearchReplacePrimaryDomain = exports.getPrimaryDomainFromSQL = void 0;
5
40
  exports.isMultisitePrimaryDomainMapped = isMultisitePrimaryDomainMapped;
6
- exports.maybeSearchReplacePrimaryDomain = void 0;
7
- var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
8
- var _api = _interopRequireDefault(require("../../lib/api"));
9
- var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
10
- var _tracker = require("../../lib/tracker");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
12
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
41
+ const graphql_tag_1 = __importDefault(require("graphql-tag"));
42
+ const api_1 = __importDefault(require("../../lib/api"));
43
+ const exit = __importStar(require("../../lib/cli/exit"));
44
+ const tracker_1 = require("../../lib/tracker");
13
45
  /**
14
46
  * Extracts the domain for site with ID 1 from an INSERT INTO `wp_site` SQL statement
15
47
  *
16
48
  * @param {Array} statements An array of SQL statements
17
49
  * @return {string} The domain
18
50
  */
19
- const getPrimaryDomainFromSQL = statements => {
20
- if (!statements.length) {
21
- return '';
22
- }
23
- const SQL_WP_SITE_DOMAINS_REGEX = /\(1,'([^']+)'/s;
24
- const normalizedSql = statements[0]?.join('').replace(/\s/g, '') ?? '';
25
- const matches = SQL_WP_SITE_DOMAINS_REGEX.exec(normalizedSql);
26
- return matches ? matches[1] : '';
51
+ const getPrimaryDomainFromSQL = (statements) => {
52
+ if (!statements.length) {
53
+ return '';
54
+ }
55
+ const SQL_WP_SITE_DOMAINS_REGEX = /\(1,'([^']+)'/s;
56
+ const normalizedSql = statements[0]?.join('').replace(/\s/g, '') ?? '';
57
+ const matches = SQL_WP_SITE_DOMAINS_REGEX.exec(normalizedSql);
58
+ return matches ? matches[1] : '';
27
59
  };
28
-
60
+ exports.getPrimaryDomainFromSQL = getPrimaryDomainFromSQL;
29
61
  /**
30
62
  * Apply search-replacements to a domain
31
63
  *
@@ -33,17 +65,16 @@ const getPrimaryDomainFromSQL = statements => {
33
65
  * @param {(string | Array)} searchReplace The search-replace pairs
34
66
  * @return {string} The processed domain
35
67
  */
36
- exports.getPrimaryDomainFromSQL = getPrimaryDomainFromSQL;
37
68
  const maybeSearchReplacePrimaryDomain = function (domain, searchReplace) {
38
- if (searchReplace) {
39
- const pairs = Array.isArray(searchReplace) ? searchReplace : [searchReplace];
40
- const domainReplacements = pairs.map(pair => pair.split(','));
41
- const primaryDomainReplacement = domainReplacements.find(pair => pair[0] === domain);
42
- return primaryDomainReplacement?.[1] ?? domain;
43
- }
44
- return domain;
69
+ if (searchReplace) {
70
+ const pairs = Array.isArray(searchReplace) ? searchReplace : [searchReplace];
71
+ const domainReplacements = pairs.map(pair => pair.split(','));
72
+ const primaryDomainReplacement = domainReplacements.find(pair => pair[0] === domain);
73
+ return primaryDomainReplacement?.[1] ?? domain;
74
+ }
75
+ return domain;
45
76
  };
46
-
77
+ exports.maybeSearchReplacePrimaryDomain = maybeSearchReplacePrimaryDomain;
47
78
  /**
48
79
  * Get the primary domain as it will be imported
49
80
  *
@@ -51,12 +82,11 @@ const maybeSearchReplacePrimaryDomain = function (domain, searchReplace) {
51
82
  * @param {(string | Array)} searchReplace The search-replace pairs
52
83
  * @return {string} The replaced domain, or the domain as found in the SQL dump
53
84
  */
54
- exports.maybeSearchReplacePrimaryDomain = maybeSearchReplacePrimaryDomain;
55
85
  const getPrimaryDomain = function (statements, searchReplace) {
56
- const domainFromSQL = getPrimaryDomainFromSQL(statements);
57
- return maybeSearchReplacePrimaryDomain(domainFromSQL, searchReplace);
86
+ const domainFromSQL = (0, exports.getPrimaryDomainFromSQL)(statements);
87
+ return (0, exports.maybeSearchReplacePrimaryDomain)(domainFromSQL, searchReplace);
58
88
  };
59
-
89
+ exports.getPrimaryDomain = getPrimaryDomain;
60
90
  /**
61
91
  * Gets the mapped domains and checks if the primary domain from the provided SQL dump is one of them
62
92
  *
@@ -65,14 +95,13 @@ const getPrimaryDomain = function (statements, searchReplace) {
65
95
  * @param {string} primaryDomain The primary domain found in the provided SQL file
66
96
  * @return {boolean} Whether the primary domain is mapped
67
97
  */
68
- exports.getPrimaryDomain = getPrimaryDomain;
69
98
  async function isMultisitePrimaryDomainMapped(appId, envId, primaryDomain) {
70
- const track = _tracker.trackEventWithEnv.bind(null, appId, envId);
71
- const api = (0, _api.default)();
72
- let res;
73
- try {
74
- res = await api.query({
75
- query: (0, _graphqlTag.default)`
99
+ const track = tracker_1.trackEventWithEnv.bind(null, appId, envId);
100
+ const api = (0, api_1.default)();
101
+ let res;
102
+ try {
103
+ res = await api.query({
104
+ query: (0, graphql_tag_1.default) `
76
105
  query AppMappedDomains($appId: Int, $envId: Int) {
77
106
  app(id: $appId) {
78
107
  id
@@ -90,26 +119,27 @@ async function isMultisitePrimaryDomainMapped(appId, envId, primaryDomain) {
90
119
  }
91
120
  }
92
121
  `,
93
- variables: {
94
- appId,
95
- envId
96
- }
97
- });
98
- } catch (GraphQlError) {
99
- await track('import_sql_command_error', {
100
- error_type: 'GraphQL-MappedDomain-Check-failed',
101
- gql_err: GraphQlError
102
- });
103
- // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
104
- exit.withError(`StartImport call failed: ${GraphQlError}`);
105
- }
106
- if (!Array.isArray(res.data?.app?.environments)) {
107
- return false;
108
- }
109
- const environments = res.data.app.environments;
110
- if (!environments?.length) {
111
- return false;
112
- }
113
- const mappedDomains = environments[0]?.domains?.nodes?.map(domain => domain?.name) ?? [];
114
- return mappedDomains.includes(primaryDomain);
115
- }
122
+ variables: {
123
+ appId,
124
+ envId,
125
+ },
126
+ });
127
+ }
128
+ catch (GraphQlError) {
129
+ await track('import_sql_command_error', {
130
+ error_type: 'GraphQL-MappedDomain-Check-failed',
131
+ gql_err: GraphQlError,
132
+ });
133
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
134
+ exit.withError(`StartImport call failed: ${GraphQlError}`);
135
+ }
136
+ if (!Array.isArray(res.data?.app?.environments)) {
137
+ return false;
138
+ }
139
+ const environments = res.data.app.environments;
140
+ if (!environments?.length) {
141
+ return false;
142
+ }
143
+ const mappedDomains = environments[0]?.domains?.nodes?.map(domain => domain?.name) ?? [];
144
+ return mappedDomains.includes(primaryDomain);
145
+ }
@@ -1,53 +1,85 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.fileLineValidations = fileLineValidations;
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
5
39
  exports.getReadInterface = getReadInterface;
6
- var _debug = _interopRequireDefault(require("debug"));
7
- var _nodeEvents = require("node:events");
8
- var _promises = require("node:fs/promises");
9
- var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
10
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- const debug = (0, _debug.default)('vip:validations:line-by-line');
40
+ exports.fileLineValidations = fileLineValidations;
41
+ const debug_1 = __importDefault(require("debug"));
42
+ const node_events_1 = require("node:events");
43
+ const promises_1 = require("node:fs/promises");
44
+ const exit = __importStar(require("../../lib/cli/exit"));
45
+ const debug = (0, debug_1.default)('vip:validations:line-by-line');
13
46
  async function getReadInterface(filename) {
14
- let fd;
15
- try {
16
- fd = await (0, _promises.open)(filename);
17
- } catch {
18
- exit.withError('The file at the provided path is either missing or not readable. Please check the input and try again.');
19
- }
20
- return fd.readLines({
21
- encoding: 'binary'
22
- });
47
+ let fd;
48
+ try {
49
+ fd = await (0, promises_1.open)(filename);
50
+ }
51
+ catch {
52
+ exit.withError('The file at the provided path is either missing or not readable. Please check the input and try again.');
53
+ }
54
+ return fd.readLines({
55
+ encoding: 'binary',
56
+ });
23
57
  }
24
58
  async function fileLineValidations(appId, envId, fileName, validations, searchReplace) {
25
- const isImport = true;
26
- const readInterface = await getReadInterface(fileName);
27
- debug('Validations: ', validations);
28
- readInterface.on('line', line => {
29
- validations.forEach(validation => {
30
- validation.execute(line);
59
+ const isImport = true;
60
+ const readInterface = await getReadInterface(fileName);
61
+ debug('Validations: ', validations);
62
+ readInterface.on('line', line => {
63
+ validations.forEach(validation => {
64
+ validation.execute(line);
65
+ });
31
66
  });
32
- });
33
- readInterface.on('error', err => {
34
- throw new Error(`Error validating input file: ${err.toString()}`, {
35
- cause: err
67
+ readInterface.on('error', (err) => {
68
+ throw new Error(`Error validating input file: ${err.toString()}`, { cause: err });
36
69
  });
37
- });
38
-
39
- // Block until the processing completes
40
- await (0, _nodeEvents.once)(readInterface, 'close');
41
- return Promise.all(validations.map(validation => {
42
- if (Object.hasOwn(validation, 'postLineExecutionProcessing') && typeof validation.postLineExecutionProcessing === 'function') {
43
- return validation.postLineExecutionProcessing({
44
- fileName,
45
- isImport,
46
- appId,
47
- envId,
48
- searchReplace
49
- });
50
- }
51
- return Promise.resolve();
52
- }));
53
- }
70
+ // Block until the processing completes
71
+ await (0, node_events_1.once)(readInterface, 'close');
72
+ return Promise.all(validations.map((validation) => {
73
+ if (Object.hasOwn(validation, 'postLineExecutionProcessing') &&
74
+ typeof validation.postLineExecutionProcessing === 'function') {
75
+ return validation.postLineExecutionProcessing({
76
+ fileName,
77
+ isImport,
78
+ appId,
79
+ envId,
80
+ searchReplace,
81
+ });
82
+ }
83
+ return Promise.resolve();
84
+ }));
85
+ }
@@ -1,67 +1,63 @@
1
1
  "use strict";
2
-
3
- exports.__esModule = true;
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
4
6
  exports.siteTypeValidations = void 0;
5
- var _debug = _interopRequireDefault(require("debug"));
6
- var _tracker = require("../../lib/tracker");
7
- var _isMultiSite = require("../../lib/validations/is-multi-site");
8
- var _isMultiSiteSqlDump = require("../../lib/validations/is-multi-site-sql-dump");
9
- var _isMultisiteDomainMapped = require("../../lib/validations/is-multisite-domain-mapped");
10
- var _utils = require("../../lib/validations/utils");
11
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
- const debug = (0, _debug.default)('vip:vip-import-sql');
7
+ const debug_1 = __importDefault(require("debug"));
8
+ const tracker_1 = require("../../lib/tracker");
9
+ const is_multi_site_1 = require("../../lib/validations/is-multi-site");
10
+ const is_multi_site_sql_dump_1 = require("../../lib/validations/is-multi-site-sql-dump");
11
+ const is_multisite_domain_mapped_1 = require("../../lib/validations/is-multisite-domain-mapped");
12
+ const utils_1 = require("../../lib/validations/utils");
13
+ const debug = (0, debug_1.default)('vip:vip-import-sql');
13
14
  let isMultiSiteSqlDump = false;
14
15
  let wpSiteInsertStatement;
15
- const getWpSiteInsertStatement = (0, _utils.getMultilineStatement)(/INSERT INTO `wp_site`/s);
16
- const siteTypeValidations = exports.siteTypeValidations = {
17
- execute: line => {
18
- const lineIsMultiSite = (0, _isMultiSiteSqlDump.sqlDumpLineIsMultiSite)(line);
19
- wpSiteInsertStatement = getWpSiteInsertStatement(line);
20
- if (lineIsMultiSite) {
21
- isMultiSiteSqlDump = true;
22
- }
23
- },
24
- postLineExecutionProcessing: async ({
25
- appId,
26
- envId,
27
- searchReplace
28
- }) => {
29
- const isMultiSite = await (0, _isMultiSite.isMultiSiteInSiteMeta)(appId ?? 0, envId ?? 0);
30
- const track = _tracker.trackEventWithEnv.bind(null, appId, envId);
31
- debug(`\nAppId: ${appId} is ${isMultiSite ? 'a multisite.' : 'not a multisite'}`);
32
- debug(`The SQL dump provided is ${isMultiSiteSqlDump ? 'from a multisite.' : 'not from a multisite'}\n`);
33
- if (!isMultiSite && isMultiSiteSqlDump) {
34
- await track('import_sql_command_error', {
35
- error_type: 'not-multisite-with-multisite-sql-dump'
36
- });
37
- throw new Error('You have provided a multisite SQL dump file for import into a single site (non-multisite).');
38
- }
39
- if (isMultiSite && !isMultiSiteSqlDump) {
40
- await track('import_sql_command_error', {
41
- error_type: 'subsite-import-without-subsite-sql-dump'
42
- });
43
- throw new Error('You have requested a subsite SQL import but have not provided a subsite compatible SQL dump.');
44
- }
45
-
46
- // Get Primary Domain
47
- const primaryDomainFromSQL = (0, _isMultisiteDomainMapped.getPrimaryDomain)(wpSiteInsertStatement, searchReplace);
48
-
49
- // Check if Primary Domain exists (empty string does not qualify)
50
- const primaryDomainExists = primaryDomainFromSQL || '' !== primaryDomainFromSQL;
51
-
52
- // Check if primary domain is mapped only if it exists
53
- // Also saves on a call to Parker by checking ahead
54
- if (primaryDomainExists) {
55
- const isPrimaryDomainMapped = await (0, _isMultisiteDomainMapped.isMultisitePrimaryDomainMapped)(appId ?? 0, envId ?? 0, primaryDomainFromSQL);
56
-
57
- // If site is multisite AND the primary domain is exists AND the primary is unmapped
58
- // then throw an error
59
- if (isMultiSite && !isPrimaryDomainMapped) {
60
- await track('import_sql_command_error', {
61
- error_type: 'multisite-import-where-primary-domain-unmapped'
62
- });
63
- throw new Error("This import would set the network's main site domain to " + primaryDomainFromSQL + ', however this domain is not mapped to the target environment. Please replace this domain in your ' + 'import file, or map it to the environment.');
64
- }
65
- }
66
- }
67
- };
16
+ const getWpSiteInsertStatement = (0, utils_1.getMultilineStatement)(/INSERT INTO `wp_site`/s);
17
+ exports.siteTypeValidations = {
18
+ execute: (line) => {
19
+ const lineIsMultiSite = (0, is_multi_site_sql_dump_1.sqlDumpLineIsMultiSite)(line);
20
+ wpSiteInsertStatement = getWpSiteInsertStatement(line);
21
+ if (lineIsMultiSite) {
22
+ isMultiSiteSqlDump = true;
23
+ }
24
+ },
25
+ postLineExecutionProcessing: async ({ appId, envId, searchReplace, }) => {
26
+ const isMultiSite = await (0, is_multi_site_1.isMultiSiteInSiteMeta)(appId ?? 0, envId ?? 0);
27
+ const track = tracker_1.trackEventWithEnv.bind(null, appId, envId);
28
+ debug(`\nAppId: ${appId} is ${isMultiSite ? 'a multisite.' : 'not a multisite'}`);
29
+ debug(`The SQL dump provided is ${isMultiSiteSqlDump ? 'from a multisite.' : 'not from a multisite'}\n`);
30
+ if (!isMultiSite && isMultiSiteSqlDump) {
31
+ await track('import_sql_command_error', {
32
+ error_type: 'not-multisite-with-multisite-sql-dump',
33
+ });
34
+ throw new Error('You have provided a multisite SQL dump file for import into a single site (non-multisite).');
35
+ }
36
+ if (isMultiSite && !isMultiSiteSqlDump) {
37
+ await track('import_sql_command_error', {
38
+ error_type: 'subsite-import-without-subsite-sql-dump',
39
+ });
40
+ throw new Error('You have requested a subsite SQL import but have not provided a subsite compatible SQL dump.');
41
+ }
42
+ // Get Primary Domain
43
+ const primaryDomainFromSQL = (0, is_multisite_domain_mapped_1.getPrimaryDomain)(wpSiteInsertStatement, searchReplace);
44
+ // Check if Primary Domain exists (empty string does not qualify)
45
+ const primaryDomainExists = primaryDomainFromSQL || '' !== primaryDomainFromSQL;
46
+ // Check if primary domain is mapped only if it exists
47
+ // Also saves on a call to Parker by checking ahead
48
+ if (primaryDomainExists) {
49
+ const isPrimaryDomainMapped = await (0, is_multisite_domain_mapped_1.isMultisitePrimaryDomainMapped)(appId ?? 0, envId ?? 0, primaryDomainFromSQL);
50
+ // If site is multisite AND the primary domain is exists AND the primary is unmapped
51
+ // then throw an error
52
+ if (isMultiSite && !isPrimaryDomainMapped) {
53
+ await track('import_sql_command_error', {
54
+ error_type: 'multisite-import-where-primary-domain-unmapped',
55
+ });
56
+ throw new Error("This import would set the network's main site domain to " +
57
+ primaryDomainFromSQL +
58
+ ', however this domain is not mapped to the target environment. Please replace this domain in your ' +
59
+ 'import file, or map it to the environment.');
60
+ }
61
+ }
62
+ },
63
+ };