@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.
- package/assets/dev-env.lando.template.yml.ejs +1 -1
- package/dist/bin/vip-app-deploy-token-generate.js +110 -78
- package/dist/bin/vip-app-deploy-token.js +24 -16
- package/dist/bin/vip-app-deploy-validate.js +45 -41
- package/dist/bin/vip-app-deploy.js +222 -215
- package/dist/bin/vip-app-list.js +59 -43
- package/dist/bin/vip-app.js +97 -66
- package/dist/bin/vip-backup-db.js +36 -29
- package/dist/bin/vip-backup.js +16 -9
- package/dist/bin/vip-cache-purge-url.js +93 -55
- package/dist/bin/vip-cache.js +23 -14
- package/dist/bin/vip-config-envvar-delete.js +74 -73
- package/dist/bin/vip-config-envvar-get-all.js +68 -68
- package/dist/bin/vip-config-envvar-get.js +46 -46
- package/dist/bin/vip-config-envvar-list.js +54 -57
- package/dist/bin/vip-config-envvar-set.js +102 -96
- package/dist/bin/vip-config-envvar.js +38 -24
- package/dist/bin/vip-config-software-get.js +88 -75
- package/dist/bin/vip-config-software-update.js +116 -120
- package/dist/bin/vip-config-software.js +31 -21
- package/dist/bin/vip-config.js +25 -17
- package/dist/bin/vip-db-phpmyadmin.js +40 -39
- package/dist/bin/vip-db.js +13 -12
- package/dist/bin/vip-defensive-mode-configure.js +197 -197
- package/dist/bin/vip-defensive-mode-disable.js +43 -35
- package/dist/bin/vip-defensive-mode-enable.js +47 -38
- package/dist/bin/vip-defensive-mode.js +28 -17
- package/dist/bin/vip-dev-env-create.js +147 -104
- package/dist/bin/vip-dev-env-destroy.js +48 -39
- package/dist/bin/vip-dev-env-envvar-delete.js +60 -49
- package/dist/bin/vip-dev-env-envvar-get-all.js +52 -45
- package/dist/bin/vip-dev-env-envvar-get.js +48 -37
- package/dist/bin/vip-dev-env-envvar-list.js +48 -41
- package/dist/bin/vip-dev-env-envvar-set.js +83 -70
- package/dist/bin/vip-dev-env-envvar.js +38 -23
- package/dist/bin/vip-dev-env-exec.js +81 -74
- package/dist/bin/vip-dev-env-import-media.js +34 -26
- package/dist/bin/vip-dev-env-import-sql.js +65 -51
- package/dist/bin/vip-dev-env-import.js +23 -14
- package/dist/bin/vip-dev-env-info.js +59 -50
- package/dist/bin/vip-dev-env-list.js +34 -31
- package/dist/bin/vip-dev-env-logs.js +59 -49
- package/dist/bin/vip-dev-env-purge.js +71 -63
- package/dist/bin/vip-dev-env-shell.js +82 -71
- package/dist/bin/vip-dev-env-start.js +77 -65
- package/dist/bin/vip-dev-env-stop.js +80 -74
- package/dist/bin/vip-dev-env-sync-sql.js +80 -72
- package/dist/bin/vip-dev-env-sync.js +18 -11
- package/dist/bin/vip-dev-env-update.js +93 -84
- package/dist/bin/vip-dev-env.js +25 -8
- package/dist/bin/vip-edge-workers-build.js +82 -54
- package/dist/bin/vip-edge-workers-delete.js +84 -52
- package/dist/bin/vip-edge-workers-deploy.js +186 -126
- package/dist/bin/vip-edge-workers-disable.js +75 -44
- package/dist/bin/vip-edge-workers-enable.js +86 -54
- package/dist/bin/vip-edge-workers-get.js +108 -88
- package/dist/bin/vip-edge-workers-init.js +83 -53
- package/dist/bin/vip-edge-workers-list.js +89 -54
- package/dist/bin/vip-edge-workers-new.js +98 -69
- package/dist/bin/vip-edge-workers-validate.js +123 -82
- package/dist/bin/vip-edge-workers.js +19 -6
- package/dist/bin/vip-export-sql.js +75 -69
- package/dist/bin/vip-export.js +12 -7
- package/dist/bin/vip-import-media-abort.js +99 -73
- package/dist/bin/vip-import-media-status.js +83 -51
- package/dist/bin/vip-import-media.js +165 -166
- package/dist/bin/vip-import-sql-status.js +75 -45
- package/dist/bin/vip-import-sql.js +536 -596
- package/dist/bin/vip-import-validate-files.js +122 -141
- package/dist/bin/vip-import-validate-sql.js +52 -16
- package/dist/bin/vip-import.js +16 -7
- package/dist/bin/vip-logout.js +17 -13
- package/dist/bin/vip-logs.js +209 -183
- package/dist/bin/vip-search-replace.js +85 -53
- package/dist/bin/vip-slowlogs.js +168 -147
- package/dist/bin/vip-sync.js +163 -133
- package/dist/bin/vip-whoami.js +71 -35
- package/dist/bin/vip-wp.js +506 -549
- package/dist/bin/vip.js +161 -116
- package/dist/commands/backup-db.js +183 -149
- package/dist/commands/dev-env-import-sql.js +162 -117
- package/dist/commands/dev-env-sync-sql.js +372 -330
- package/dist/commands/export-sql.js +441 -425
- package/dist/commands/phpmyadmin.js +232 -212
- package/dist/commands/wp-ssh.js +218 -187
- package/dist/lib/analytics/clients/tracks.js +84 -91
- package/dist/lib/analytics/index.js +27 -27
- package/dist/lib/api/app.js +37 -36
- package/dist/lib/api/cache-purge.js +17 -20
- package/dist/lib/api/constants.js +5 -6
- package/dist/lib/api/edge-workers.js +84 -135
- package/dist/lib/api/error-debug.js +10 -13
- package/dist/lib/api/feature-flags.js +16 -17
- package/dist/lib/api/http.js +47 -48
- package/dist/lib/api/user.js +17 -18
- package/dist/lib/api.js +107 -116
- package/dist/lib/app-logs/app-logs.js +24 -25
- package/dist/lib/app-slowlogs/app-slowlogs.js +23 -24
- package/dist/lib/app-slowlogs/types.js +2 -1
- package/dist/lib/app.js +6 -8
- package/dist/lib/backup-storage-availability/backup-storage-availability.js +119 -119
- package/dist/lib/backup-storage-availability/docker-machine-not-found-error.js +5 -6
- package/dist/lib/cli/apiConfig.js +71 -41
- package/dist/lib/cli/command.js +1120 -873
- package/dist/lib/cli/config.js +29 -29
- package/dist/lib/cli/envAlias.js +35 -50
- package/dist/lib/cli/exit.js +19 -19
- package/dist/lib/cli/format.js +172 -172
- package/dist/lib/cli/progress.js +193 -236
- package/dist/lib/cli/prompt.js +14 -15
- package/dist/lib/cli/runtime-mode.js +5 -6
- package/dist/lib/client-file-uploader.js +489 -641
- package/dist/lib/config/software.js +206 -212
- package/dist/lib/constants/dev-environment.js +40 -37
- package/dist/lib/constants/file-size.js +6 -7
- package/dist/lib/constants/vipgo.js +24 -12
- package/dist/lib/custom-deploy/custom-deploy.js +138 -120
- package/dist/lib/database.js +88 -85
- package/dist/lib/defensive-mode/api.js +41 -46
- package/dist/lib/defensive-mode/cli-helpers.js +40 -40
- package/dist/lib/dev-environment/dev-environment-cli.js +776 -735
- package/dist/lib/dev-environment/dev-environment-configuration-file.js +224 -191
- package/dist/lib/dev-environment/dev-environment-core.js +697 -732
- package/dist/lib/dev-environment/dev-environment-database.js +57 -41
- package/dist/lib/dev-environment/dev-environment-lando.js +734 -666
- package/dist/lib/dev-environment/docker-utils.js +96 -90
- package/dist/lib/dev-environment/env-vars.js +61 -59
- package/dist/lib/dev-environment/lando-loader.js +6 -7
- package/dist/lib/dev-environment/types.js +2 -1
- package/dist/lib/edge-workers/confirmation.js +42 -36
- package/dist/lib/edge-workers/deployment.js +150 -159
- package/dist/lib/edge-workers/index.js +68 -85
- package/dist/lib/edge-workers/location.js +26 -26
- package/dist/lib/edge-workers/output.js +14 -15
- package/dist/lib/edge-workers/project.js +123 -132
- package/dist/lib/edge-workers/toolchains/assemblyscript/constants.js +6 -8
- package/dist/lib/edge-workers/toolchains/assemblyscript/index.js +100 -101
- package/dist/lib/edge-workers/toolchains/assemblyscript/templates.js +31 -33
- package/dist/lib/edge-workers/toolchains/index.js +15 -15
- package/dist/lib/edge-workers/types.js +10 -38
- package/dist/lib/edge-workers/validation.js +161 -150
- package/dist/lib/env.js +16 -17
- package/dist/lib/envvar/api-delete.js +16 -18
- package/dist/lib/envvar/api-get-all.js +15 -19
- package/dist/lib/envvar/api-get.js +8 -9
- package/dist/lib/envvar/api-list.js +16 -21
- package/dist/lib/envvar/api-set.js +20 -19
- package/dist/lib/envvar/api.js +34 -29
- package/dist/lib/envvar/input.js +29 -34
- package/dist/lib/envvar/logging.js +9 -11
- package/dist/lib/envvar/read-file.js +6 -7
- package/dist/lib/http/download-file.js +76 -44
- package/dist/lib/http/proxy-agent.js +37 -40
- package/dist/lib/http/proxy-dispatcher.js +69 -71
- package/dist/lib/keychain/insecure.js +40 -36
- package/dist/lib/keychain/keychain.js +2 -1
- package/dist/lib/keychain/secure.js +16 -15
- package/dist/lib/keychain.js +22 -22
- package/dist/lib/live-backup-copy.js +117 -115
- package/dist/lib/logout.js +17 -19
- package/dist/lib/media-import/config.js +15 -14
- package/dist/lib/media-import/media-file-import.js +9 -13
- package/dist/lib/media-import/progress.js +53 -65
- package/dist/lib/media-import/status.js +241 -256
- package/dist/lib/media-import/utils.js +15 -15
- package/dist/lib/node-version-check.js +16 -16
- package/dist/lib/promise.js +16 -17
- package/dist/lib/read-file.js +48 -16
- package/dist/lib/rechallenge/client.js +37 -43
- package/dist/lib/rechallenge/errors.js +38 -37
- package/dist/lib/rechallenge/flow.js +148 -123
- package/dist/lib/rechallenge/index.js +23 -24
- package/dist/lib/rechallenge/link.js +153 -151
- package/dist/lib/rechallenge/open-browser.js +14 -17
- package/dist/lib/rechallenge/token-cache.js +83 -86
- package/dist/lib/rechallenge/types.js +5 -14
- package/dist/lib/retry.js +93 -129
- package/dist/lib/search-and-replace.js +164 -148
- package/dist/lib/site-import/db-file-import.js +12 -16
- package/dist/lib/site-import/status.js +291 -291
- package/dist/lib/token.js +86 -87
- package/dist/lib/tracker.js +51 -62
- package/dist/lib/types/graphql/rate-limit-exceeded-error.js +2 -1
- package/dist/lib/types.js +2 -1
- package/dist/lib/user-error.js +6 -8
- package/dist/lib/utils.js +81 -87
- package/dist/lib/validations/custom-deploy.js +218 -186
- package/dist/lib/validations/is-multi-site-sql-dump.js +6 -6
- package/dist/lib/validations/is-multi-site.js +83 -50
- package/dist/lib/validations/is-multisite-domain-mapped.js +92 -62
- package/dist/lib/validations/line-by-line.js +78 -46
- package/dist/lib/validations/site-type.js +59 -63
- package/dist/lib/validations/sql-insert-parser.js +415 -0
- package/dist/lib/validations/sql.js +551 -431
- package/dist/lib/validations/utils.js +27 -29
- package/dist/lib/vip-import-validate-files.js +481 -490
- package/dist/lib/wp/helpers.js +41 -45
- package/dist/lib/wp/readline.js +21 -57
- package/dist/lib/xdg-data.js +11 -12
- package/helpers/mark-cli-executable.js +9 -0
- package/node_modules/@apollo/client/CHANGELOG.md +10 -0
- package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs +5 -0
- package/node_modules/@apollo/client/__cjs/cache/inmemory/helpers.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs +2 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs +14 -2
- package/node_modules/@apollo/client/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs +16 -0
- package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/cache/inmemory/policies.d.cts +2 -0
- package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs +3 -2
- package/node_modules/@apollo/client/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs +9 -1
- package/node_modules/@apollo/client/__cjs/core/QueryInfo.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/core/QueryInfo.d.cts +1 -1
- package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs +10 -3
- package/node_modules/@apollo/client/__cjs/core/QueryManager.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.cjs.map +1 -1
- package/node_modules/@apollo/client/__cjs/react/hooks/useFragment.d.cts +42 -43
- package/node_modules/@apollo/client/__cjs/version.cjs +1 -1
- package/node_modules/@apollo/client/cache/inmemory/helpers.js +5 -0
- package/node_modules/@apollo/client/cache/inmemory/helpers.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js +2 -1
- package/node_modules/@apollo/client/cache/inmemory/inMemoryCache.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/key-extractor.js +14 -2
- package/node_modules/@apollo/client/cache/inmemory/key-extractor.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/policies.d.ts +2 -0
- package/node_modules/@apollo/client/cache/inmemory/policies.js +17 -1
- package/node_modules/@apollo/client/cache/inmemory/policies.js.map +1 -1
- package/node_modules/@apollo/client/cache/inmemory/writeToStore.js +3 -2
- package/node_modules/@apollo/client/cache/inmemory/writeToStore.js.map +1 -1
- package/node_modules/@apollo/client/core/QueryInfo.d.ts +1 -1
- package/node_modules/@apollo/client/core/QueryInfo.js +10 -2
- package/node_modules/@apollo/client/core/QueryInfo.js.map +1 -1
- package/node_modules/@apollo/client/core/QueryManager.js +10 -3
- package/node_modules/@apollo/client/core/QueryManager.js.map +1 -1
- package/node_modules/@apollo/client/package.json +1 -1
- package/node_modules/@apollo/client/react/hooks/useFragment.d.ts +42 -43
- package/node_modules/@apollo/client/react/hooks/useFragment.js.map +1 -1
- package/node_modules/@apollo/client/react/hooks-compiled/useFragment.d.ts +42 -43
- package/node_modules/@apollo/client/react/hooks-compiled/useFragment.js.map +1 -1
- package/node_modules/@apollo/client/version.js +1 -1
- package/node_modules/@automattic/vip-search-replace/README.md +6 -1
- package/node_modules/@automattic/vip-search-replace/lib/index.js +46 -14
- package/node_modules/@automattic/vip-search-replace/package.json +1 -1
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@types/node/zlib.d.ts +752 -0
- package/node_modules/check-disk-space/README.md +92 -32
- package/node_modules/check-disk-space/dist/check-disk-space.d.mts +58 -0
- package/node_modules/check-disk-space/dist/check-disk-space.mjs +170 -190
- package/node_modules/check-disk-space/package.json +43 -71
- package/node_modules/cpu-features/build/Makefile +2 -2
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/filesystem.o.d +1 -1
- 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
- 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
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_aarch64_windows.o.d +1 -1
- 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
- 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
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_ppc_linux.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_freebsd.o.d +1 -1
- 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
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_macos.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/impl_x86_windows.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/stack_line_reader.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpu_features/deps/cpu_features/src/string_view.o.d +1 -1
- package/node_modules/cpu-features/build/Release/.deps/Release/obj.target/cpufeatures/src/binding.o.d +157 -145
- package/node_modules/cpu-features/build/Release/cpufeatures.node +0 -0
- package/node_modules/cpu-features/build/Release/obj.target/cpufeatures/src/binding.o +0 -0
- package/node_modules/cpu-features/build/Release/obj.target/cpufeatures.node +0 -0
- package/node_modules/cpu-features/build/config.gypi +100 -31
- package/node_modules/cpu-features/build/cpufeatures.target.mk +14 -14
- package/node_modules/cpu-features/build/deps/cpu_features/cpu_features.target.mk +14 -14
- package/node_modules/ssh2/lib/protocol/crypto/build/Makefile +2 -2
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d.raw +136 -0
- package/node_modules/ssh2/lib/protocol/crypto/build/sshcrypto.target.mk +14 -14
- package/node_modules/undici/docs/docs/api/Interceptors.md +15 -2
- package/node_modules/undici/lib/dispatcher/client-h2.js +78 -3
- package/node_modules/undici/lib/dispatcher/pool-base.js +20 -3
- package/node_modules/undici/package.json +3 -3
- package/node_modules/undici/types/api.d.ts +1 -1
- package/node_modules/undici/types/utility.d.ts +4 -4
- package/package.json +44 -13
- package/dist/lib/analytics/clients/client.js +0 -1
- package/dist/lib/analytics/clients/pendo.js +0 -78
- package/helpers/check-version.js +0 -16
- package/node_modules/check-disk-space/dist/check-disk-space.cjs +0 -210
- package/node_modules/check-disk-space/dist/check-disk-space.d.ts +0 -53
- package/node_modules/fetch-retry/.eslintignore +0 -1
- package/node_modules/fetch-retry/.eslintrc.yml +0 -20
- package/node_modules/fetch-retry/.github/workflows/node.js.yml +0 -32
- package/node_modules/fetch-retry/.husky/pre-commit +0 -6
- package/node_modules/fetch-retry/.nycrc.json +0 -24
- package/node_modules/fetch-retry/.travis.yml +0 -3
- package/node_modules/fetch-retry/LICENSE +0 -21
- package/node_modules/fetch-retry/README.md +0 -128
- package/node_modules/fetch-retry/dist/fetch-retry.umd.js +0 -151
- package/node_modules/fetch-retry/index.d.ts +0 -29
- package/node_modules/fetch-retry/index.js +0 -143
- package/node_modules/fetch-retry/package.json +0 -41
- package/node_modules/fetch-retry/rollup.config.js +0 -12
- package/node_modules/fetch-retry/test/.eslintrc.yml +0 -7
- package/node_modules/fetch-retry/test/integration/index.js +0 -212
- package/node_modules/fetch-retry/test/integration/mock-api/index.js +0 -42
- package/node_modules/fetch-retry/test/unit/index.js +0 -1169
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto/src/binding.o.d +0 -265
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/obj.target/sshcrypto.node.d +0 -1
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/.deps/Release/sshcrypto.node.d +0 -1
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto/src/binding.o +0 -0
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/obj.target/sshcrypto.node +0 -0
- package/node_modules/ssh2/lib/protocol/crypto/build/Release/sshcrypto.node +0 -0
|
@@ -1,30 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
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
|
-
|
|
72
|
-
}
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
@@ -1,31 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
57
|
-
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
4
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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
|
+
};
|