@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,132 +1,132 @@
|
|
|
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.BackupStorageAvailability = void 0;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _xdgData = require("../xdg-data");
|
|
12
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
7
|
+
const enquirer_1 = require("enquirer");
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const shelljs_1 = require("shelljs");
|
|
10
|
+
const docker_machine_not_found_error_1 = require("./docker-machine-not-found-error");
|
|
11
|
+
const format_1 = require("../cli/format");
|
|
12
|
+
const xdg_data_1 = require("../xdg-data");
|
|
13
13
|
const oneGiBInBytes = 1024 * 1024 * 1024;
|
|
14
14
|
class BackupStorageAvailability {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
getDockerStorageAvailable() {
|
|
23
|
-
const kiBLeft = this.getDockerStorageKiBRaw();
|
|
24
|
-
if (!kiBLeft || Number.isNaN(Number(kiBLeft))) {
|
|
25
|
-
throw new _dockerMachineNotFoundError.DockerMachineNotFoundError();
|
|
15
|
+
getDockerStorageKiBRaw() {
|
|
16
|
+
return (0, shelljs_1.exec)(`docker run --rm alpine df -k`, { silent: true })
|
|
17
|
+
.grep(/\/dev\/vda1/)
|
|
18
|
+
.head({ '-n': 1 })
|
|
19
|
+
.replace(/\s+/g, ' ')
|
|
20
|
+
.split(' ')[3];
|
|
26
21
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const vipDir = _path.default.join((0, _xdgData.xdgData)(), 'vip');
|
|
34
|
-
const diskSpace = await (0, _checkDiskSpace.default)(vipDir);
|
|
35
|
-
return diskSpace.free;
|
|
36
|
-
}
|
|
37
|
-
getReserveSpace() {
|
|
38
|
-
return oneGiBInBytes;
|
|
39
|
-
}
|
|
40
|
-
getSqlSize(archiveSize) {
|
|
41
|
-
// We estimated that it'd be about 3.5x the archive size.
|
|
42
|
-
return archiveSize * 3.5;
|
|
43
|
-
}
|
|
44
|
-
getArchiveSize(archiveSize) {
|
|
45
|
-
return archiveSize;
|
|
46
|
-
}
|
|
47
|
-
getStorageRequiredInMainMachine(archiveSize) {
|
|
48
|
-
return this.getArchiveSize(archiveSize) + this.getSqlSize(archiveSize) + this.getReserveSpace();
|
|
49
|
-
}
|
|
50
|
-
getStorageRequiredInDockerMachine(archiveSize) {
|
|
51
|
-
return this.getSqlSize(archiveSize) + this.getReserveSpace();
|
|
52
|
-
}
|
|
53
|
-
async isStorageAvailableInMainMachine(archiveSize) {
|
|
54
|
-
return (await this.getStorageAvailableInVipPath()) > this.getStorageRequiredInMainMachine(archiveSize);
|
|
55
|
-
}
|
|
56
|
-
isStorageAvailableInDockerMachine(archiveSize) {
|
|
57
|
-
return this.getDockerStorageAvailable() > this.getStorageRequiredInDockerMachine(archiveSize);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// eslint-disable-next-line id-length
|
|
61
|
-
async validateAndPromptDiskSpaceWarningForBackupImport(archiveSize) {
|
|
62
|
-
const isStorageAvailable = (await this.getStorageAvailableInVipPath()) > this.getArchiveSize(archiveSize);
|
|
63
|
-
if (!isStorageAvailable) {
|
|
64
|
-
const storageRequired = this.getArchiveSize(archiveSize);
|
|
65
|
-
const confirmPrompt = new _enquirer.Confirm({
|
|
66
|
-
message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your machine to download this database backup. Do you still want to continue with downloading the database backup?`
|
|
67
|
-
});
|
|
68
|
-
return {
|
|
69
|
-
continue: await confirmPrompt.run(),
|
|
70
|
-
isPromptShown: true
|
|
71
|
-
};
|
|
22
|
+
getDockerStorageAvailable() {
|
|
23
|
+
const kiBLeft = this.getDockerStorageKiBRaw();
|
|
24
|
+
if (!kiBLeft || Number.isNaN(Number(kiBLeft))) {
|
|
25
|
+
throw new docker_machine_not_found_error_1.DockerMachineNotFoundError();
|
|
26
|
+
}
|
|
27
|
+
return Number(kiBLeft) * 1024;
|
|
72
28
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
`
|
|
92
|
-
});
|
|
93
|
-
isPromptShown = true;
|
|
94
|
-
storageAvailableInMainMachinePrompted = await confirmPrompt.run();
|
|
95
|
-
if (!storageAvailableInMainMachinePrompted) {
|
|
96
|
-
return {
|
|
97
|
-
continue: false,
|
|
98
|
-
isPromptShown
|
|
99
|
-
};
|
|
100
|
-
}
|
|
29
|
+
bytesToHuman(bytes) {
|
|
30
|
+
return (0, format_1.formatMetricBytes)(bytes);
|
|
31
|
+
}
|
|
32
|
+
async getStorageAvailableInVipPath() {
|
|
33
|
+
const { checkDiskSpace } = await import('check-disk-space');
|
|
34
|
+
const vipDir = path_1.default.join((0, xdg_data_1.xdgData)(), 'vip');
|
|
35
|
+
const diskSpace = await checkDiskSpace(vipDir);
|
|
36
|
+
return diskSpace.free;
|
|
37
|
+
}
|
|
38
|
+
getReserveSpace() {
|
|
39
|
+
return oneGiBInBytes;
|
|
40
|
+
}
|
|
41
|
+
getSqlSize(archiveSize) {
|
|
42
|
+
// We estimated that it'd be about 3.5x the archive size.
|
|
43
|
+
return archiveSize * 3.5;
|
|
44
|
+
}
|
|
45
|
+
getArchiveSize(archiveSize) {
|
|
46
|
+
return archiveSize;
|
|
101
47
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
48
|
+
getStorageRequiredInMainMachine(archiveSize) {
|
|
49
|
+
return (this.getArchiveSize(archiveSize) + this.getSqlSize(archiveSize) + this.getReserveSpace());
|
|
50
|
+
}
|
|
51
|
+
getStorageRequiredInDockerMachine(archiveSize) {
|
|
52
|
+
return this.getSqlSize(archiveSize) + this.getReserveSpace();
|
|
53
|
+
}
|
|
54
|
+
async isStorageAvailableInMainMachine(archiveSize) {
|
|
55
|
+
return ((await this.getStorageAvailableInVipPath()) >
|
|
56
|
+
this.getStorageRequiredInMainMachine(archiveSize));
|
|
57
|
+
}
|
|
58
|
+
isStorageAvailableInDockerMachine(archiveSize) {
|
|
59
|
+
return this.getDockerStorageAvailable() > this.getStorageRequiredInDockerMachine(archiveSize);
|
|
60
|
+
}
|
|
61
|
+
// eslint-disable-next-line id-length
|
|
62
|
+
async validateAndPromptDiskSpaceWarningForBackupImport(archiveSize) {
|
|
63
|
+
const isStorageAvailable = (await this.getStorageAvailableInVipPath()) > this.getArchiveSize(archiveSize);
|
|
64
|
+
if (!isStorageAvailable) {
|
|
65
|
+
const storageRequired = this.getArchiveSize(archiveSize);
|
|
66
|
+
const confirmPrompt = new enquirer_1.Confirm({
|
|
67
|
+
message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your machine to download this database backup. Do you still want to continue with downloading the database backup?`,
|
|
68
|
+
});
|
|
69
|
+
return {
|
|
70
|
+
continue: await confirmPrompt.run(),
|
|
71
|
+
isPromptShown: true,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
111
74
|
return {
|
|
112
|
-
|
|
113
|
-
|
|
75
|
+
continue: true,
|
|
76
|
+
isPromptShown: false,
|
|
114
77
|
};
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
78
|
+
}
|
|
79
|
+
// eslint-disable-next-line id-length
|
|
80
|
+
async validateAndPromptDiskSpaceWarningForDevEnvBackupImport(archiveSize) {
|
|
81
|
+
let storageAvailableInMainMachinePrompted = false;
|
|
82
|
+
// there's two prompts, so as long as one prompt is shown, we need to set isPromptShown
|
|
83
|
+
let isPromptShown = false;
|
|
84
|
+
if (!(await this.isStorageAvailableInMainMachine(archiveSize))) {
|
|
85
|
+
const storageRequired = this.getStorageRequiredInMainMachine(archiveSize);
|
|
86
|
+
const storageAvailableInVipPath = this.bytesToHuman(await this.getStorageAvailableInVipPath());
|
|
87
|
+
const confirmPrompt = new enquirer_1.Confirm({
|
|
88
|
+
message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your machine to import this database backup. We estimate that you currently have ${storageAvailableInVipPath} of space in your machine.
|
|
89
|
+
Do you still want to continue with importing the database backup?
|
|
90
|
+
`,
|
|
91
|
+
});
|
|
92
|
+
isPromptShown = true;
|
|
93
|
+
storageAvailableInMainMachinePrompted = await confirmPrompt.run();
|
|
94
|
+
if (!storageAvailableInMainMachinePrompted) {
|
|
95
|
+
return {
|
|
96
|
+
continue: false,
|
|
97
|
+
isPromptShown,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
try {
|
|
102
|
+
if (!this.isStorageAvailableInDockerMachine(archiveSize)) {
|
|
103
|
+
const storageRequired = this.getStorageRequiredInDockerMachine(archiveSize);
|
|
104
|
+
const storageAvailableInDockerMachine = this.bytesToHuman(this.getDockerStorageAvailable());
|
|
105
|
+
const confirmPrompt = new enquirer_1.Confirm({
|
|
106
|
+
message: `We recommend that you have at least ${this.bytesToHuman(storageRequired)} of free space in your Docker machine to import this database backup. We estimate that you currently have ${storageAvailableInDockerMachine} of space in your machine.
|
|
107
|
+
Do you still want to continue with importing the database backup?`,
|
|
108
|
+
});
|
|
109
|
+
isPromptShown = true;
|
|
110
|
+
return {
|
|
111
|
+
continue: await confirmPrompt.run(),
|
|
112
|
+
isPromptShown,
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (error) {
|
|
117
|
+
if (error instanceof docker_machine_not_found_error_1.DockerMachineNotFoundError) {
|
|
118
|
+
// skip storage available check
|
|
119
|
+
return {
|
|
120
|
+
continue: true,
|
|
121
|
+
isPromptShown,
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
throw error;
|
|
125
|
+
}
|
|
119
126
|
return {
|
|
120
|
-
|
|
121
|
-
|
|
127
|
+
continue: true,
|
|
128
|
+
isPromptShown,
|
|
122
129
|
};
|
|
123
|
-
}
|
|
124
|
-
throw error;
|
|
125
130
|
}
|
|
126
|
-
return {
|
|
127
|
-
continue: true,
|
|
128
|
-
isPromptShown
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
131
|
}
|
|
132
|
-
exports.BackupStorageAvailability = BackupStorageAvailability;
|
|
132
|
+
exports.BackupStorageAvailability = BackupStorageAvailability;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
exports.__esModule = true;
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
exports.DockerMachineNotFoundError = void 0;
|
|
5
4
|
class DockerMachineNotFoundError extends Error {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
constructor() {
|
|
6
|
+
super('Docker machine not found');
|
|
7
|
+
}
|
|
9
8
|
}
|
|
10
|
-
exports.DockerMachineNotFoundError = DockerMachineNotFoundError;
|
|
9
|
+
exports.DockerMachineNotFoundError = DockerMachineNotFoundError;
|
|
@@ -1,53 +1,83 @@
|
|
|
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.checkFeatureEnabled = checkFeatureEnabled;
|
|
5
40
|
exports.checkIfUserIsVip = checkIfUserIsVip;
|
|
6
41
|
exports.exitWhenFeatureDisabled = exitWhenFeatureDisabled;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
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); }
|
|
42
|
+
const exit = __importStar(require("./exit"));
|
|
43
|
+
const featureFlags = __importStar(require("../../lib/api/feature-flags"));
|
|
44
|
+
const token_1 = __importDefault(require("../../lib/token"));
|
|
45
|
+
const tracker_1 = require("../../lib/tracker");
|
|
13
46
|
async function checkFeatureEnabled(featureName, exitOnFalse = false) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
return isVIP === true;
|
|
47
|
+
// TODO: eventually let's look at more feature flags coming from the public api,
|
|
48
|
+
// for now, let's see if the user of the CLI is VIP
|
|
49
|
+
await (0, tracker_1.trackEvent)('checkFeatureEnabled_start', { featureName, exitOnFalse });
|
|
50
|
+
let isVIP;
|
|
51
|
+
try {
|
|
52
|
+
const res = await featureFlags.get();
|
|
53
|
+
const data = res?.data;
|
|
54
|
+
isVIP = Boolean(data?.me?.isVIP);
|
|
55
|
+
}
|
|
56
|
+
catch (err) {
|
|
57
|
+
const message = err.toString();
|
|
58
|
+
await (0, tracker_1.trackEvent)('checkFeatureEnabled_fetch_error', {
|
|
59
|
+
featureName,
|
|
60
|
+
exitOnFalse,
|
|
61
|
+
error: message,
|
|
62
|
+
});
|
|
63
|
+
exit.withError(`Failed to determine if feature is enabled: ${message}`);
|
|
64
|
+
}
|
|
65
|
+
if (exitOnFalse && isVIP === false) {
|
|
66
|
+
exit.withError('The feature you are attempting to use is not currently enabled.');
|
|
67
|
+
}
|
|
68
|
+
return isVIP === true;
|
|
38
69
|
}
|
|
39
|
-
|
|
40
70
|
// Because this function is called by trackEvent:
|
|
41
71
|
// - It cannot directly or indirectly call trackEvent, or it will cause a loop.
|
|
42
72
|
// - It is mocked globally in jest.setupMocks.js.
|
|
43
73
|
async function checkIfUserIsVip() {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
74
|
+
const token = await token_1.default.get();
|
|
75
|
+
if (token.valid()) {
|
|
76
|
+
const res = await featureFlags.get();
|
|
77
|
+
return Boolean(res.data?.me?.isVIP);
|
|
78
|
+
}
|
|
79
|
+
return false;
|
|
50
80
|
}
|
|
51
81
|
function exitWhenFeatureDisabled(featureName) {
|
|
52
|
-
|
|
53
|
-
}
|
|
82
|
+
return checkFeatureEnabled(featureName, true);
|
|
83
|
+
}
|