@automattic/vip 2.12.0 → 2.13.0

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 (105) hide show
  1. package/README.md +12 -1
  2. package/dist/bin/vip-cache-purge-url.js +93 -0
  3. package/{package/dist/bin/vip-config.js → dist/bin/vip-cache.js} +6 -3
  4. package/dist/bin/vip-dev-env-import-sql.js +8 -1
  5. package/dist/bin/vip-dev-env-start.js +2 -1
  6. package/dist/bin/vip-dev-env-update.js +1 -0
  7. package/dist/bin/vip.js +1 -1
  8. package/dist/lib/api/cache-purge.js +76 -0
  9. package/dist/lib/dev-environment/dev-environment-lando.js +31 -3
  10. package/dist/lib/envvar/read-file.js +2 -18
  11. package/{package/dist/lib/envvar → dist/lib}/read-file.js +3 -6
  12. package/dist/lib/validations/sql.js +134 -52
  13. package/npm-shrinkwrap.json +79 -79
  14. package/package.json +4 -2
  15. package/package/dist/bin/vip-app-list.js +0 -73
  16. package/package/dist/bin/vip-app.js +0 -76
  17. package/package/dist/bin/vip-config-envvar-delete.js +0 -97
  18. package/package/dist/bin/vip-config-envvar-get-all.js +0 -94
  19. package/package/dist/bin/vip-config-envvar-get.js +0 -79
  20. package/package/dist/bin/vip-config-envvar-list.js +0 -91
  21. package/package/dist/bin/vip-config-envvar-set.js +0 -123
  22. package/package/dist/bin/vip-config-envvar.js +0 -23
  23. package/package/dist/bin/vip-dev-env-create.js +0 -105
  24. package/package/dist/bin/vip-dev-env-destroy.js +0 -56
  25. package/package/dist/bin/vip-dev-env-exec.js +0 -67
  26. package/package/dist/bin/vip-dev-env-import-media.js +0 -51
  27. package/package/dist/bin/vip-dev-env-import-sql.js +0 -83
  28. package/package/dist/bin/vip-dev-env-import.js +0 -32
  29. package/package/dist/bin/vip-dev-env-info.js +0 -61
  30. package/package/dist/bin/vip-dev-env-list.js +0 -46
  31. package/package/dist/bin/vip-dev-env-start.js +0 -77
  32. package/package/dist/bin/vip-dev-env-stop.js +0 -52
  33. package/package/dist/bin/vip-dev-env-update.js +0 -89
  34. package/package/dist/bin/vip-dev-env.js +0 -23
  35. package/package/dist/bin/vip-import-media-abort.js +0 -132
  36. package/package/dist/bin/vip-import-media-status.js +0 -84
  37. package/package/dist/bin/vip-import-media.js +0 -168
  38. package/package/dist/bin/vip-import-sql-status.js +0 -83
  39. package/package/dist/bin/vip-import-sql.js +0 -580
  40. package/package/dist/bin/vip-import-validate-files.js +0 -191
  41. package/package/dist/bin/vip-import-validate-sql.js +0 -34
  42. package/package/dist/bin/vip-import.js +0 -20
  43. package/package/dist/bin/vip-logs.js +0 -232
  44. package/package/dist/bin/vip-search-replace.js +0 -71
  45. package/package/dist/bin/vip-sync.js +0 -191
  46. package/package/dist/bin/vip-whoami.js +0 -67
  47. package/package/dist/bin/vip-wp.js +0 -555
  48. package/package/dist/bin/vip.js +0 -149
  49. package/package/dist/lib/analytics/clients/client.js +0 -1
  50. package/package/dist/lib/analytics/clients/pendo.js +0 -92
  51. package/package/dist/lib/analytics/clients/stub.js +0 -19
  52. package/package/dist/lib/analytics/clients/tracks.js +0 -128
  53. package/package/dist/lib/analytics/index.js +0 -45
  54. package/package/dist/lib/api/app.js +0 -70
  55. package/package/dist/lib/api/feature-flags.js +0 -39
  56. package/package/dist/lib/api/user.js +0 -58
  57. package/package/dist/lib/api.js +0 -136
  58. package/package/dist/lib/app-logs/app-logs.js +0 -70
  59. package/package/dist/lib/cli/apiConfig.js +0 -90
  60. package/package/dist/lib/cli/command.js +0 -606
  61. package/package/dist/lib/cli/envAlias.js +0 -60
  62. package/package/dist/lib/cli/exit.js +0 -33
  63. package/package/dist/lib/cli/format.js +0 -213
  64. package/package/dist/lib/cli/pager.js +0 -52
  65. package/package/dist/lib/cli/progress.js +0 -208
  66. package/package/dist/lib/cli/prompt.js +0 -37
  67. package/package/dist/lib/cli/repo.js +0 -77
  68. package/package/dist/lib/client-file-uploader.js +0 -602
  69. package/package/dist/lib/constants/dev-environment.js +0 -42
  70. package/package/dist/lib/constants/file-size.js +0 -14
  71. package/package/dist/lib/dev-environment/dev-environment-cli.js +0 -508
  72. package/package/dist/lib/dev-environment/dev-environment-core.js +0 -620
  73. package/package/dist/lib/dev-environment/dev-environment-lando.js +0 -330
  74. package/package/dist/lib/dev-environment/types.js +0 -1
  75. package/package/dist/lib/env.js +0 -36
  76. package/package/dist/lib/envvar/api-delete.js +0 -56
  77. package/package/dist/lib/envvar/api-get-all.js +0 -59
  78. package/package/dist/lib/envvar/api-get.js +0 -24
  79. package/package/dist/lib/envvar/api-list.js +0 -60
  80. package/package/dist/lib/envvar/api-set.js +0 -58
  81. package/package/dist/lib/envvar/api.js +0 -104
  82. package/package/dist/lib/envvar/input.js +0 -55
  83. package/package/dist/lib/envvar/logging.js +0 -33
  84. package/package/dist/lib/http/socks-proxy-agent.js +0 -25
  85. package/package/dist/lib/keychain/browser.js +0 -35
  86. package/package/dist/lib/keychain/insecure.js +0 -63
  87. package/package/dist/lib/keychain/keychain.js +0 -1
  88. package/package/dist/lib/keychain/secure.js +0 -36
  89. package/package/dist/lib/keychain.js +0 -36
  90. package/package/dist/lib/media-import/media-file-import.js +0 -34
  91. package/package/dist/lib/media-import/progress.js +0 -86
  92. package/package/dist/lib/media-import/status.js +0 -335
  93. package/package/dist/lib/rollbar.js +0 -35
  94. package/package/dist/lib/search-and-replace.js +0 -203
  95. package/package/dist/lib/site-import/db-file-import.js +0 -46
  96. package/package/dist/lib/site-import/status.js +0 -444
  97. package/package/dist/lib/token.js +0 -132
  98. package/package/dist/lib/tracker.js +0 -96
  99. package/package/dist/lib/validations/is-multi-site-sql-dump.js +0 -59
  100. package/package/dist/lib/validations/is-multi-site.js +0 -99
  101. package/package/dist/lib/validations/line-by-line.js +0 -92
  102. package/package/dist/lib/validations/site-type.js +0 -66
  103. package/package/dist/lib/validations/sql.js +0 -371
  104. package/package/dist/lib/vip-import-validate-files.js +0 -548
  105. package/package/vip.iml +0 -11
@@ -1,104 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.validateName = validateName;
7
- exports.validateNameWithMessage = validateNameWithMessage;
8
- Object.defineProperty(exports, "deleteEnvVar", {
9
- enumerable: true,
10
- get: function () {
11
- return _apiDelete.default;
12
- }
13
- });
14
- Object.defineProperty(exports, "getEnvVar", {
15
- enumerable: true,
16
- get: function () {
17
- return _apiGet.default;
18
- }
19
- });
20
- Object.defineProperty(exports, "getEnvVars", {
21
- enumerable: true,
22
- get: function () {
23
- return _apiGetAll.default;
24
- }
25
- });
26
- Object.defineProperty(exports, "listEnvVars", {
27
- enumerable: true,
28
- get: function () {
29
- return _apiList.default;
30
- }
31
- });
32
- Object.defineProperty(exports, "setEnvVar", {
33
- enumerable: true,
34
- get: function () {
35
- return _apiSet.default;
36
- }
37
- });
38
- exports.appQuery = void 0;
39
-
40
- var _chalk = _interopRequireDefault(require("chalk"));
41
-
42
- var _logging = require("./logging");
43
-
44
- var _apiDelete = _interopRequireDefault(require("./api-delete"));
45
-
46
- var _apiGet = _interopRequireDefault(require("./api-get"));
47
-
48
- var _apiGetAll = _interopRequireDefault(require("./api-get-all"));
49
-
50
- var _apiList = _interopRequireDefault(require("./api-list"));
51
-
52
- var _apiSet = _interopRequireDefault(require("./api-set"));
53
-
54
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
55
-
56
- /**
57
- *
58
- * @format
59
- */
60
-
61
- /**
62
- * External dependencies
63
- */
64
-
65
- /**
66
- * Internal dependencies
67
- */
68
- // Reexport for convenience
69
- // The subquery for environments lets users choose any environment, including production.
70
- const appQuery = `
71
- id
72
- name
73
- environments {
74
- id
75
- appId
76
- name
77
- primaryDomain {
78
- name
79
- }
80
- type
81
- }
82
- organization {
83
- id
84
- name
85
- }
86
- `;
87
- exports.appQuery = appQuery;
88
-
89
- function validateName(name) {
90
- const sanitizedName = name.trim().toUpperCase().replace(/[^A-Z0-9_]/g, '');
91
- return name === sanitizedName && /^[A-Z]/.test(sanitizedName);
92
- }
93
-
94
- function validateNameWithMessage(name) {
95
- (0, _logging.debug)(`Validating environment variable name ${JSON.stringify(name)}`);
96
-
97
- if (!validateName(name)) {
98
- const message = ['Environment variable name must consist of A-Z, 0-9, or _,', 'and must start with an uppercase letter.'].join('\n');
99
- console.log(_chalk.default.bold.red(message));
100
- return false;
101
- }
102
-
103
- return true;
104
- }
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.cancel = cancel;
7
- exports.confirm = confirm;
8
- exports.promptForValue = promptForValue;
9
-
10
- var _chalk = _interopRequireDefault(require("chalk"));
11
-
12
- var _enquirer = require("enquirer");
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- /**
17
- *
18
- * @format
19
- */
20
-
21
- /**
22
- * External dependencies
23
- */
24
-
25
- /**
26
- * Internal dependencies
27
- */
28
- function cancel() {
29
- console.log(_chalk.default.yellow('Command cancelled by user.'));
30
- process.exit();
31
- }
32
-
33
- function confirm(message) {
34
- return new _enquirer.BooleanPrompt({
35
- message
36
- }).run().catch(() => false);
37
- }
38
-
39
- async function promptForValue(message, mustMatch) {
40
- var _response$str;
41
-
42
- const response = await (0, _enquirer.prompt)({
43
- message,
44
- name: 'str',
45
- type: 'input',
46
- validate: input => {
47
- if (mustMatch && input !== mustMatch) {
48
- return `Please type ${mustMatch} to proceed or ESC to cancel`;
49
- }
50
-
51
- return true;
52
- }
53
- });
54
- return ((_response$str = response.str) === null || _response$str === void 0 ? void 0 : _response$str.trim()) || '';
55
- }
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getEnvContext = getEnvContext;
7
- exports.debug = void 0;
8
-
9
- var _debug = _interopRequireDefault(require("debug"));
10
-
11
- var _command = require("../cli/command");
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
-
15
- /**
16
- *
17
- * @format
18
- */
19
-
20
- /**
21
- * External dependencies
22
- */
23
-
24
- /**
25
- * Internal dependencies
26
- */
27
- // Shared debugger.
28
- const debug = (0, _debug.default)('@automattic/vip:bin:config:envvar');
29
- exports.debug = debug;
30
-
31
- function getEnvContext(app, env) {
32
- return `@${app.id}.${(0, _command.getEnvIdentifier)(env)}`;
33
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = createSocksProxyAgent;
7
-
8
- var _socksProxyAgent = _interopRequireDefault(require("socks-proxy-agent"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
-
12
- /**
13
- * External dependencies
14
- */
15
-
16
- /**
17
- * Internal dependencies
18
- */
19
- function createSocksProxyAgent() {
20
- if (!process.env.VIP_PROXY) {
21
- return null;
22
- }
23
-
24
- return new _socksProxyAgent.default(process.env.VIP_PROXY);
25
- }
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- /**
9
- * Internal dependencies
10
- */
11
- class Secure {
12
- getPassword(service) {
13
- return new Promise(resolve => {
14
- const password = window.localStorage.getItem(service);
15
- return resolve(password);
16
- });
17
- }
18
-
19
- setPassword(service, password) {
20
- return new Promise(resolve => {
21
- const set = !!window.localStorage.setItem(service, password);
22
- return resolve(set);
23
- });
24
- }
25
-
26
- deletePassword(service) {
27
- return new Promise(resolve => {
28
- const del = !!window.localStorage.removeItem(service);
29
- return resolve(del);
30
- });
31
- }
32
-
33
- }
34
-
35
- exports.default = Secure;
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- /**
9
- * External dependencies
10
- */
11
- const Configstore = require('configstore');
12
- /**
13
- * Internal dependencies
14
- */
15
-
16
-
17
- class Insecure {
18
- constructor(file) {
19
- this.file = file;
20
- this.configstore = new Configstore(this.file);
21
- }
22
-
23
- getPassword(service) {
24
- return new Promise((resolve, reject) => {
25
- let password = null;
26
-
27
- try {
28
- password = this.configstore.get(service);
29
- } catch (err) {
30
- return reject(err);
31
- }
32
-
33
- return resolve(password);
34
- });
35
- }
36
-
37
- setPassword(service, password) {
38
- return new Promise((resolve, reject) => {
39
- try {
40
- this.configstore.set(service, password);
41
- } catch (err) {
42
- return reject(err);
43
- }
44
-
45
- resolve(true);
46
- });
47
- }
48
-
49
- deletePassword(service) {
50
- return new Promise((resolve, reject) => {
51
- try {
52
- this.configstore.delete(service);
53
- } catch (err) {
54
- return reject(err);
55
- }
56
-
57
- resolve(true);
58
- });
59
- }
60
-
61
- }
62
-
63
- exports.default = Insecure;
@@ -1 +0,0 @@
1
- "use strict";
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _keytar = _interopRequireDefault(require("keytar"));
9
-
10
- var _keychain = _interopRequireDefault(require("./keychain"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
- /**
15
- * External dependencies
16
- */
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
- class Secure {
22
- getPassword(service) {
23
- return _keytar.default.getPassword(service, service);
24
- }
25
-
26
- setPassword(service, password) {
27
- return _keytar.default.setPassword(service, service, password);
28
- }
29
-
30
- deletePassword(service) {
31
- return _keytar.default.deletePassword(service, service);
32
- }
33
-
34
- }
35
-
36
- exports.default = Secure;
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- var _insecure = _interopRequireDefault(require("./keychain/insecure"));
4
-
5
- var _browser = _interopRequireDefault(require("./keychain/browser"));
6
-
7
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
-
9
- /**
10
- * External dependencies
11
- */
12
- const debug = require('debug')('@automattic/vip:keychain');
13
- /**
14
- * Internal dependencies
15
- */
16
-
17
-
18
- let exportValue = {};
19
-
20
- if (typeof window === 'undefined' || typeof window.localStorage === 'undefined') {
21
- // node
22
- try {
23
- // Try using Secure keychain ("keytar") first
24
- const Secure = require("./keychain/secure");
25
-
26
- exportValue = new Secure();
27
- } catch (error) {
28
- debug('Cannot use Secure keychain; falling back to Insecure keychain (Details: %o)', error); // Fallback to Insecure keychain if we can't
29
-
30
- exportValue = new _insecure.default('vip-go-cli');
31
- }
32
- } else {
33
- exportValue = new _browser.default();
34
- }
35
-
36
- module.exports = exportValue;
@@ -1,34 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.currentUserCanImportForApp = currentUserCanImportForApp;
7
- exports.isSupportedApp = exports.SUPPORTED_MEDIA_FILE_IMPORT_SITE_TYPES = exports.MEDIA_IMPORT_FILE_SIZE_LIMIT = void 0;
8
-
9
- var _fileSize = require("../constants/file-size");
10
-
11
- /**
12
- *
13
- * @format
14
- */
15
-
16
- /**
17
- * Internal dependencies
18
- */
19
- const MEDIA_IMPORT_FILE_SIZE_LIMIT = 30 * _fileSize.GB_IN_BYTES;
20
- exports.MEDIA_IMPORT_FILE_SIZE_LIMIT = MEDIA_IMPORT_FILE_SIZE_LIMIT;
21
-
22
- function currentUserCanImportForApp(app) {
23
- // TODO: implement
24
- return !!app;
25
- }
26
-
27
- const SUPPORTED_MEDIA_FILE_IMPORT_SITE_TYPES = ['WordPress'];
28
- exports.SUPPORTED_MEDIA_FILE_IMPORT_SITE_TYPES = SUPPORTED_MEDIA_FILE_IMPORT_SITE_TYPES;
29
-
30
- const isSupportedApp = ({
31
- type
32
- }) => SUPPORTED_MEDIA_FILE_IMPORT_SITE_TYPES.includes(type);
33
-
34
- exports.isSupportedApp = isSupportedApp;
@@ -1,86 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.MediaImportProgressTracker = void 0;
7
-
8
- var _singleLineLog = require("single-line-log");
9
-
10
- var _status = require("./status");
11
-
12
- var _format = require("../cli/format");
13
-
14
- /** @format */
15
-
16
- /**
17
- * External dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
- const PRINT_INTERVAL = process.env.DEBUG ? 5000 : 200; // How often the report is printed. Mainly affects the "spinner" animation.
24
-
25
- class MediaImportProgressTracker {
26
- // Spinnerz go brrrr
27
- // This gets printed before the step status
28
- // This gets printed after the step status
29
- constructor(status) {
30
- this.runningSprite = new _format.RunningSprite();
31
- this.hasFailure = false;
32
- this.status = Object.assign({}, status);
33
- this.prefix = '';
34
- this.suffix = '';
35
- }
36
-
37
- setStatus(status) {
38
- if ('FAILED' === status.status) {
39
- this.hasFailure = true;
40
- }
41
-
42
- this.status = Object.assign({}, status);
43
- }
44
-
45
- startPrinting(prePrintCallback = () => {}) {
46
- this.printInterval = setInterval(() => {
47
- prePrintCallback();
48
- this.print();
49
- }, PRINT_INTERVAL);
50
- }
51
-
52
- stopPrinting() {
53
- if (this.printInterval) {
54
- clearInterval(this.printInterval);
55
- }
56
- }
57
-
58
- print({
59
- clearAfter = false
60
- } = {}) {
61
- if (!this.hasPrinted) {
62
- this.hasPrinted = true;
63
-
64
- _singleLineLog.stdout.clear();
65
- }
66
-
67
- const statusIcon = (0, _status.getGlyphForStatus)(this.status.status, this.runningSprite);
68
- let logs;
69
-
70
- if (this.status.filesProcessed && this.status.filesTotal) {
71
- const progressPercentage = Math.floor(this.status.filesProcessed / this.status.filesTotal * 100);
72
- logs = `Imported Files: ${this.status.filesProcessed}/${this.status.filesTotal} - ${progressPercentage}% ${statusIcon}`;
73
- } // Output the logs
74
-
75
-
76
- (0, _singleLineLog.stdout)(`${this.prefix || ''}${logs || ''}${this.suffix || ''}`);
77
-
78
- if (clearAfter) {
79
- // Break out of the "Single log line" buffer
80
- _singleLineLog.stdout.clear();
81
- }
82
- }
83
-
84
- }
85
-
86
- exports.MediaImportProgressTracker = MediaImportProgressTracker;