@automattic/vip 2.36.0-dev.0 → 2.36.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 (129) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/bin/vip-app-list.js +1 -8
  3. package/dist/bin/vip-app.js +3 -10
  4. package/dist/bin/vip-backup-db.js +1 -9
  5. package/dist/bin/vip-backup.js +0 -8
  6. package/dist/bin/vip-cache-purge-url.js +6 -16
  7. package/dist/bin/vip-cache.js +0 -8
  8. package/dist/bin/vip-config-envvar-delete.js +2 -11
  9. package/dist/bin/vip-config-envvar-get-all.js +1 -10
  10. package/dist/bin/vip-config-envvar-get.js +1 -10
  11. package/dist/bin/vip-config-envvar-list.js +1 -10
  12. package/dist/bin/vip-config-envvar-set.js +3 -12
  13. package/dist/bin/vip-config-envvar.js +0 -8
  14. package/dist/bin/vip-config-software-get.js +3 -12
  15. package/dist/bin/vip-config-software-update.js +6 -13
  16. package/dist/bin/vip-config-software.js +0 -8
  17. package/dist/bin/vip-config.js +0 -8
  18. package/dist/bin/vip-dev-env-create.js +6 -13
  19. package/dist/bin/vip-dev-env-destroy.js +3 -10
  20. package/dist/bin/vip-dev-env-exec.js +2 -6
  21. package/dist/bin/vip-dev-env-import-media.js +2 -10
  22. package/dist/bin/vip-dev-env-import-sql.js +3 -11
  23. package/dist/bin/vip-dev-env-import.js +0 -8
  24. package/dist/bin/vip-dev-env-info.js +4 -11
  25. package/dist/bin/vip-dev-env-list.js +3 -11
  26. package/dist/bin/vip-dev-env-logs.js +3 -10
  27. package/dist/bin/vip-dev-env-shell.js +3 -10
  28. package/dist/bin/vip-dev-env-start.js +6 -13
  29. package/dist/bin/vip-dev-env-stop.js +4 -11
  30. package/dist/bin/vip-dev-env-sync-sql.js +4 -12
  31. package/dist/bin/vip-dev-env-sync.js +0 -8
  32. package/dist/bin/vip-dev-env-update.js +5 -12
  33. package/dist/bin/vip-dev-env.js +0 -8
  34. package/dist/bin/vip-export-sql.js +1 -9
  35. package/dist/bin/vip-export.js +0 -8
  36. package/dist/bin/vip-import-media-abort.js +7 -13
  37. package/dist/bin/vip-import-media-status.js +4 -11
  38. package/dist/bin/vip-import-media.js +5 -11
  39. package/dist/bin/vip-import-sql-status.js +5 -12
  40. package/dist/bin/vip-import-sql.js +46 -48
  41. package/dist/bin/vip-import-validate-files.js +3 -10
  42. package/dist/bin/vip-import-validate-sql.js +2 -10
  43. package/dist/bin/vip-import.js +0 -8
  44. package/dist/bin/vip-logout.js +0 -8
  45. package/dist/bin/vip-logs.js +10 -22
  46. package/dist/bin/vip-search-replace.js +2 -9
  47. package/dist/bin/vip-slowlogs.js +6 -16
  48. package/dist/bin/vip-sync.js +0 -7
  49. package/dist/bin/vip-validate-preflight.js +13 -24
  50. package/dist/bin/vip-validate.js +0 -8
  51. package/dist/bin/vip-whoami.js +4 -14
  52. package/dist/bin/vip-wp.js +8 -17
  53. package/dist/bin/vip.js +11 -19
  54. package/dist/commands/backup-db.js +15 -31
  55. package/dist/commands/dev-env-import-sql.js +23 -12
  56. package/dist/commands/dev-env-sync-sql.js +34 -35
  57. package/dist/commands/export-sql.js +27 -39
  58. package/dist/lib/analytics/clients/pendo.js +1 -11
  59. package/dist/lib/analytics/clients/tracks.js +2 -12
  60. package/dist/lib/analytics/index.js +1 -11
  61. package/dist/lib/api/app.js +3 -14
  62. package/dist/lib/api/cache-purge.js +3 -17
  63. package/dist/lib/api/feature-flags.js +1 -11
  64. package/dist/lib/api/http.js +4 -14
  65. package/dist/lib/api/user.js +1 -13
  66. package/dist/lib/api.js +8 -23
  67. package/dist/lib/app-logs/app-logs.js +4 -18
  68. package/dist/lib/app-slowlogs/app-slowlogs.js +4 -18
  69. package/dist/lib/app.js +1 -11
  70. package/dist/lib/backup-storage-availability/backup-storage-availability.js +8 -11
  71. package/dist/lib/backup-storage-availability/docker-machine-not-found-error.js +1 -3
  72. package/dist/lib/cli/apiConfig.js +6 -20
  73. package/dist/lib/cli/command.js +26 -33
  74. package/dist/lib/cli/config.js +4 -11
  75. package/dist/lib/cli/envAlias.js +1 -7
  76. package/dist/lib/cli/exit.js +1 -13
  77. package/dist/lib/cli/format.js +4 -13
  78. package/dist/lib/cli/progress.js +2 -13
  79. package/dist/lib/cli/prompt.js +1 -11
  80. package/dist/lib/client-file-uploader.js +22 -24
  81. package/dist/lib/config/software.js +11 -25
  82. package/dist/lib/constants/dev-environment.js +35 -33
  83. package/dist/lib/constants/file-size.js +5 -11
  84. package/dist/lib/constants/vipgo.js +10 -21
  85. package/dist/lib/dev-environment/dev-environment-cli.js +46 -49
  86. package/dist/lib/dev-environment/dev-environment-configuration-file.js +14 -26
  87. package/dist/lib/dev-environment/dev-environment-core.js +30 -43
  88. package/dist/lib/dev-environment/dev-environment-lando.js +19 -30
  89. package/dist/lib/dev-environment/docker-utils.js +1 -6
  90. package/dist/lib/env.js +2 -13
  91. package/dist/lib/envvar/api-delete.js +1 -11
  92. package/dist/lib/envvar/api-get-all.js +2 -13
  93. package/dist/lib/envvar/api-get.js +2 -12
  94. package/dist/lib/envvar/api-list.js +3 -14
  95. package/dist/lib/envvar/api-set.js +1 -11
  96. package/dist/lib/envvar/api.js +8 -46
  97. package/dist/lib/envvar/input.js +2 -14
  98. package/dist/lib/envvar/logging.js +3 -13
  99. package/dist/lib/envvar/read-file.js +1 -13
  100. package/dist/lib/http/proxy-agent.js +3 -12
  101. package/dist/lib/keychain/insecure.js +1 -11
  102. package/dist/lib/keychain/secure.js +1 -11
  103. package/dist/lib/keychain.js +3 -14
  104. package/dist/lib/logout.js +2 -7
  105. package/dist/lib/media-import/media-file-import.js +4 -12
  106. package/dist/lib/media-import/progress.js +2 -12
  107. package/dist/lib/media-import/status.js +15 -30
  108. package/dist/lib/read-file.js +3 -15
  109. package/dist/lib/search-and-replace.js +9 -21
  110. package/dist/lib/site-import/db-file-import.js +6 -18
  111. package/dist/lib/site-import/status.js +19 -36
  112. package/dist/lib/token.js +5 -16
  113. package/dist/lib/tracker.js +5 -15
  114. package/dist/lib/user-error.js +1 -3
  115. package/dist/lib/utils.js +4 -15
  116. package/dist/lib/validations/is-multi-site-sql-dump.js +1 -3
  117. package/dist/lib/validations/is-multi-site.js +6 -17
  118. package/dist/lib/validations/is-multisite-domain-mapped.js +9 -21
  119. package/dist/lib/validations/line-by-line.js +5 -15
  120. package/dist/lib/validations/site-type.js +4 -15
  121. package/dist/lib/validations/sql.js +33 -15
  122. package/dist/lib/validations/utils.js +1 -3
  123. package/dist/lib/vip-import-validate-files.js +2 -9
  124. package/helpers/check-version.js +1 -0
  125. package/helpers/prepublishOnly.js +2 -1
  126. package/npm-shrinkwrap.json +2586 -2999
  127. package/package.json +30 -34
  128. package/dist/bin/vip-phpmyadmin.js +0 -53
  129. package/dist/commands/phpmyadmin.js +0 -91
@@ -1,28 +1,18 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.aliasUser = aliasUser;
7
5
  exports.makeCommandTracker = makeCommandTracker;
8
6
  exports.trackEvent = trackEvent;
9
7
  exports.trackEventWithEnv = trackEventWithEnv;
10
8
  var _debug = _interopRequireDefault(require("debug"));
11
- var _index = _interopRequireDefault(require("./analytics/index"));
12
- var _tracks = _interopRequireDefault(require("./analytics/clients/tracks"));
13
9
  var _pendo = _interopRequireDefault(require("./analytics/clients/pendo"));
14
- var _token = _interopRequireDefault(require("../lib/token"));
15
- var _config = _interopRequireDefault(require("../lib/cli/config"));
10
+ var _tracks = _interopRequireDefault(require("./analytics/clients/tracks"));
11
+ var _index = _interopRequireDefault(require("./analytics/index"));
16
12
  var _env = _interopRequireDefault(require("./env"));
13
+ var _config = _interopRequireDefault(require("../lib/cli/config"));
14
+ var _token = _interopRequireDefault(require("../lib/token"));
17
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
- /**
19
- * External dependencies
20
- */
21
-
22
- /**
23
- * Internal dependencies
24
- */
25
-
26
16
  const debug = (0, _debug.default)('@automattic/vip:analytics');
27
17
  let analytics = null;
28
18
  async function init() {
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.default = void 0;
7
5
  class UserError extends Error {
8
6
  constructor(message) {
package/dist/lib/utils.js CHANGED
@@ -1,26 +1,15 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getAbsolutePath = getAbsolutePath;
7
5
  exports.makeTempDir = makeTempDir;
8
6
  exports.pollUntil = pollUntil;
7
+ var _debug = _interopRequireDefault(require("debug"));
9
8
  var _fs = _interopRequireDefault(require("fs"));
10
- var _path = _interopRequireDefault(require("path"));
11
- var _os = _interopRequireDefault(require("os"));
12
9
  var _promises = require("node:timers/promises");
13
- var _debug = _interopRequireDefault(require("debug"));
10
+ var _os = _interopRequireDefault(require("os"));
11
+ var _path = _interopRequireDefault(require("path"));
14
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- // @format
16
-
17
- /**
18
- * External dependencies
19
- */
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
13
  const debug = (0, _debug.default)('@automattic/vip:lib:utils');
25
14
 
26
15
  /**
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.sqlDumpLineIsMultiSite = sqlDumpLineIsMultiSite;
7
5
  const SQL_CREATE_TABLE_IS_MULTISITE_REGEX = /^CREATE TABLE `?(wp_\d+_[a-z0-9_]*|wp_blogs)/i;
8
6
  const SQL_CONTAINS_MULTISITE_WP_USERS_REGEX = /`spam` tinyint\(2\)|`deleted` tinyint\(2\)/i;
@@ -1,27 +1,16 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.isMultiSiteInSiteMeta = isMultiSiteInSiteMeta;
7
5
  var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
8
6
  var _api = _interopRequireDefault(require("../../lib/api"));
9
- var _tracker = require("../../lib/tracker");
10
7
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
8
+ var _tracker = require("../../lib/tracker");
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- /**
15
- * External dependencies
16
- */
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
12
  const isMultiSite = new WeakMap();
23
13
  async function isMultiSiteInSiteMeta(appId, envId) {
24
- var _res$data$app;
25
14
  const args = {
26
15
  0: appId,
27
16
  1: envId
@@ -67,9 +56,9 @@ async function isMultiSiteInSiteMeta(appId, envId) {
67
56
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
68
57
  exit.withError(`StartImport call failed: ${GraphQlError}`);
69
58
  }
70
- if (Array.isArray((_res$data$app = res.data.app) === null || _res$data$app === void 0 ? void 0 : _res$data$app.environments)) {
59
+ if (Array.isArray(res.data.app?.environments)) {
71
60
  const environments = res.data.app.environments;
72
- if (!(environments !== null && environments !== void 0 && environments.length)) {
61
+ if (!environments?.length) {
73
62
  isMultiSite.set(args, false);
74
63
  return false;
75
64
  }
@@ -1,26 +1,16 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getPrimaryDomainFromSQL = exports.getPrimaryDomain = void 0;
7
5
  exports.isMultisitePrimaryDomainMapped = isMultisitePrimaryDomainMapped;
8
6
  exports.maybeSearchReplacePrimaryDomain = void 0;
9
7
  var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
10
8
  var _api = _interopRequireDefault(require("../../lib/api"));
11
- var _tracker = require("../../lib/tracker");
12
9
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
10
+ var _tracker = require("../../lib/tracker");
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- /**
17
- * External dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
14
  /**
25
15
  * Extracts the domain for site with ID 1 from an INSERT INTO `wp_site` SQL statement
26
16
  *
@@ -28,12 +18,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
28
18
  * @return {string} The domain
29
19
  */
30
20
  const getPrimaryDomainFromSQL = statements => {
31
- var _statements$;
32
21
  if (!statements.length) {
33
22
  return '';
34
23
  }
35
24
  const SQL_WP_SITE_DOMAINS_REGEX = /\(1,'(.*?)'/s;
36
- const matches = (_statements$ = statements[0]) === null || _statements$ === void 0 ? void 0 : _statements$.join('').replace(/\s/g, '').match(SQL_WP_SITE_DOMAINS_REGEX);
25
+ const matches = statements[0]?.join('').replace(/\s/g, '').match(SQL_WP_SITE_DOMAINS_REGEX);
37
26
  return matches ? matches[1] : '';
38
27
  };
39
28
 
@@ -50,7 +39,7 @@ const maybeSearchReplacePrimaryDomain = function (domain, searchReplace) {
50
39
  const pairs = Array.isArray(searchReplace) ? searchReplace : [searchReplace];
51
40
  const domainReplacements = pairs.map(pair => pair.split(','));
52
41
  const primaryDomainReplacement = domainReplacements.find(pair => pair[0] === domain);
53
- return (primaryDomainReplacement === null || primaryDomainReplacement === void 0 ? void 0 : primaryDomainReplacement[1]) ?? domain;
42
+ return primaryDomainReplacement?.[1] ?? domain;
54
43
  }
55
44
  return domain;
56
45
  };
@@ -78,7 +67,6 @@ const getPrimaryDomain = function (statements, searchReplace) {
78
67
  */
79
68
  exports.getPrimaryDomain = getPrimaryDomain;
80
69
  async function isMultisitePrimaryDomainMapped(appId, envId, primaryDomain) {
81
- var _res$data$app, _environments$;
82
70
  const track = _tracker.trackEventWithEnv.bind(null, appId, envId);
83
71
  const api = await (0, _api.default)();
84
72
  let res;
@@ -115,13 +103,13 @@ async function isMultisitePrimaryDomainMapped(appId, envId, primaryDomain) {
115
103
  // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
116
104
  exit.withError(`StartImport call failed: ${GraphQlError}`);
117
105
  }
118
- if (!Array.isArray((_res$data$app = res.data.app) === null || _res$data$app === void 0 ? void 0 : _res$data$app.environments)) {
106
+ if (!Array.isArray(res.data.app?.environments)) {
119
107
  return false;
120
108
  }
121
109
  const environments = res.data.app.environments;
122
- if (!(environments !== null && environments !== void 0 && environments.length)) {
110
+ if (!environments?.length) {
123
111
  return false;
124
112
  }
125
- const mappedDomains = ((_environments$ = environments[0]) === null || _environments$ === void 0 || (_environments$ = _environments$.domains) === null || _environments$ === void 0 || (_environments$ = _environments$.nodes) === null || _environments$ === void 0 ? void 0 : _environments$.map(domain => domain === null || domain === void 0 ? void 0 : domain.name)) ?? [];
113
+ const mappedDomains = environments[0]?.domains?.nodes?.map(domain => domain?.name) ?? [];
126
114
  return mappedDomains.includes(primaryDomain);
127
115
  }
@@ -1,26 +1,16 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.fileLineValidations = fileLineValidations;
7
5
  exports.getReadInterface = getReadInterface;
8
- var _nodeReadline = require("node:readline");
6
+ var _debug = _interopRequireDefault(require("debug"));
9
7
  var _nodeFs = require("node:fs");
10
8
  var _promises = require("node:fs/promises");
11
- var _debug = _interopRequireDefault(require("debug"));
9
+ var _nodeReadline = require("node:readline");
12
10
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- /**
17
- * External dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
14
  const debug = (0, _debug.default)('vip:validations:line-by-line');
25
15
  async function getReadInterface(filename) {
26
16
  let fd;
@@ -1,29 +1,19 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.siteTypeValidations = void 0;
7
5
  var _debug = _interopRequireDefault(require("debug"));
8
6
  var _tracker = require("../../lib/tracker");
9
- var _isMultiSiteSqlDump = require("../../lib/validations/is-multi-site-sql-dump");
10
7
  var _isMultiSite = require("../../lib/validations/is-multi-site");
8
+ var _isMultiSiteSqlDump = require("../../lib/validations/is-multi-site-sql-dump");
11
9
  var _isMultisiteDomainMapped = require("../../lib/validations/is-multisite-domain-mapped");
12
10
  var _utils = require("../../lib/validations/utils");
13
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
- /**
15
- * External dependencies
16
- */
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
12
  const debug = (0, _debug.default)('vip:vip-import-sql');
23
13
  let isMultiSiteSqlDump = false;
24
14
  let wpSiteInsertStatement;
25
15
  const getWpSiteInsertStatement = (0, _utils.getMultilineStatement)(/INSERT INTO `wp_site`/s);
26
- const siteTypeValidations = {
16
+ const siteTypeValidations = exports.siteTypeValidations = {
27
17
  execute: line => {
28
18
  const lineIsMultiSite = (0, _isMultiSiteSqlDump.sqlDumpLineIsMultiSite)(line);
29
19
  wpSiteInsertStatement = getWpSiteInsertStatement(line);
@@ -74,5 +64,4 @@ const siteTypeValidations = {
74
64
  }
75
65
  }
76
66
  }
77
- };
78
- exports.siteTypeValidations = siteTypeValidations;
67
+ };
@@ -1,25 +1,19 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.validate = exports.staticSqlValidations = exports.getTableNames = void 0;
5
+ exports.validateFilename = validateFilename;
6
+ exports.validateImportFileExtension = void 0;
7
7
  var _chalk = _interopRequireDefault(require("chalk"));
8
+ var _path = _interopRequireDefault(require("path"));
8
9
  var _singleLineLog = require("single-line-log");
9
10
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
11
+ var _clientFileUploader = require("../../lib/client-file-uploader");
10
12
  var _tracker = require("../../lib/tracker");
11
13
  var _lineByLine = require("../../lib/validations/line-by-line");
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- /**
16
- * External dependencies
17
- */
18
-
19
- /**
20
- * Internal dependencies
21
- */
22
-
23
17
  let problemsFound = 0;
24
18
  let lineNum = 1;
25
19
  const tableNames = [];
@@ -32,6 +26,27 @@ function formatWarning(message) {
32
26
  function formatRecommendation(message) {
33
27
  return `${_chalk.default.yellow('Recommendation:')} ${message}`;
34
28
  }
29
+ /**
30
+ * Check if a file has a valid extension
31
+ *
32
+ * @param {string} filename The file extension
33
+ * @returns {boolean} True if the extension is valid
34
+ */
35
+ const validateImportFileExtension = filename => {
36
+ const ext = _path.default.extname(filename).toLowerCase();
37
+ if (!['.sql', '.gz'].includes(ext)) {
38
+ exit.withError('Invalid file extension. Please provide a .sql or .gz file.');
39
+ }
40
+ };
41
+ exports.validateImportFileExtension = validateImportFileExtension;
42
+ function validateFilename(filename) {
43
+ const re = /^[a-z0-9\-_.]+$/i;
44
+
45
+ // Exits if filename contains anything outside a-z A-Z - _ .
46
+ if (!re.test(filename)) {
47
+ exit.withError('Error: The characters used in the name of a file for import are limited to [0-9,a-z,A-Z,-,_,.]');
48
+ }
49
+ }
35
50
  const generalCheckFormatter = check => {
36
51
  const errors = [];
37
52
  const infos = [];
@@ -424,14 +439,17 @@ const postLineExecutionProcessing = async ({
424
439
  extraCheckParams: {}
425
440
  });
426
441
  };
427
- const staticSqlValidations = {
442
+ const staticSqlValidations = exports.staticSqlValidations = {
428
443
  execute: perLineValidations,
429
444
  postLineExecutionProcessing
430
445
  };
431
446
 
432
447
  // For standalone SQL validations
433
- exports.staticSqlValidations = staticSqlValidations;
434
448
  const validate = async (filename, options = DEFAULT_VALIDATION_OPTIONS) => {
449
+ const fileMeta = await (0, _clientFileUploader.getFileMeta)(filename);
450
+ if (fileMeta.isCompressed) {
451
+ exit.withError('Compressed files cannot be validated. Please extract the archive and re-run the command, providing the path to the extracted SQL file.');
452
+ }
435
453
  const readInterface = await (0, _lineByLine.getReadInterface)(filename);
436
454
  options.isImport = false;
437
455
  readInterface.on('line', line => {
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.getMultilineStatement = getMultilineStatement;
7
5
  /**
8
6
  * Get SQL statements matching a supplied pattern from a file stream
@@ -1,19 +1,13 @@
1
1
  "use strict";
2
2
 
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
3
+ exports.__esModule = true;
6
4
  exports.summaryLogs = exports.logErrorsForInvalidFilenames = exports.logErrorsForInvalidFileTypes = exports.logErrorsForIntermediateImages = exports.isFileSanitized = exports.folderStructureValidation = exports.findNestedDirectories = exports.doesImageHaveExistingSource = exports.acceptedExtensions = void 0;
7
5
  var _chalk = _interopRequireDefault(require("chalk"));
8
6
  var _fs = _interopRequireDefault(require("fs"));
9
7
  var _path = _interopRequireDefault(require("path"));
10
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- /**
12
- * External dependencies
13
- */
14
-
15
9
  // Accepted media file extensions
16
- const acceptedExtensions = ['jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp', 'svg', 'tiff', 'tif', 'ico', 'asf', 'asx', 'wmv', 'wmx', 'wm', 'avi', 'divx', 'mov', 'qt', 'mpeg', 'mpg', 'mpe', 'mp4', 'm4v', 'ogv', 'webm', 'mkv', '3gp', '3gpp', '3g2', '3gp2', 'txt', 'asc', 'c', 'cc', 'h', 'srt', 'csv', 'tsv', 'ics', 'rtx', 'css', 'vtt', 'dfxp', 'mp3', 'm4a', 'm4b', 'ra', 'ram', 'wav', 'ogg', 'oga', 'mid', 'midi', 'wma', 'wax', 'mka', 'rtf', 'js', 'pdf', 'class', 'psd', 'xcf', 'doc', 'pot', 'pps', 'ppt', 'wri', 'xla', 'xls', 'xlt', 'xlw', 'mdb', 'mpp', 'docx', 'docm', 'dotx', 'dotm', 'xlsx', 'xlsm', 'xlsb', 'xltx', 'xltm', 'xlam', 'pptx', 'pptm', 'ppsx', 'ppsm', 'potx', 'potm', 'ppam', 'sldx', 'sldm', 'onetoc', ' onetoc2', 'onetmp', 'onepkg', 'oxps', 'xps', 'odt', 'odp', 'ods', 'odg', 'odc', 'odb', 'odf', 'webp', 'wp', 'wpd', 'key', 'numbers', 'pages'];
10
+ const acceptedExtensions = exports.acceptedExtensions = ['jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp', 'svg', 'tiff', 'tif', 'ico', 'asf', 'asx', 'wmv', 'wmx', 'wm', 'avi', 'divx', 'mov', 'qt', 'mpeg', 'mpg', 'mpe', 'mp4', 'm4v', 'ogv', 'webm', 'mkv', '3gp', '3gpp', '3g2', '3gp2', 'txt', 'asc', 'c', 'cc', 'h', 'srt', 'csv', 'tsv', 'ics', 'rtx', 'css', 'vtt', 'dfxp', 'mp3', 'm4a', 'm4b', 'ra', 'ram', 'wav', 'ogg', 'oga', 'mid', 'midi', 'wma', 'wax', 'mka', 'rtf', 'js', 'pdf', 'class', 'psd', 'xcf', 'doc', 'pot', 'pps', 'ppt', 'wri', 'xla', 'xls', 'xlt', 'xlw', 'mdb', 'mpp', 'docx', 'docm', 'dotx', 'dotm', 'xlsx', 'xlsm', 'xlsb', 'xltx', 'xltm', 'xlam', 'pptx', 'pptm', 'ppsx', 'ppsm', 'potx', 'potm', 'ppam', 'sldx', 'sldm', 'onetoc', ' onetoc2', 'onetmp', 'onepkg', 'oxps', 'xps', 'odt', 'odp', 'ods', 'odg', 'odc', 'odb', 'odf', 'webp', 'wp', 'wpd', 'key', 'numbers', 'pages'];
17
11
 
18
12
  /**
19
13
  * Character validation global variables
@@ -23,7 +17,6 @@ const acceptedExtensions = ['jpg', 'jpeg', 'jpe', 'gif', 'png', 'bmp', 'svg', 't
23
17
 
24
18
  // Accepted characters in filenames
25
19
  // eslint-disable-next-line max-len
26
- exports.acceptedExtensions = acceptedExtensions;
27
20
  const acceptedCharacters = ['Non-English characters', '(', ')', '[', ']', '~', '&', '#', '%', '=', '’', `'`, '×', '@', '`', '?', '*', '!', '"', '\\', '<', '>', ':', ';', ',', '/', '$', '|', '`', '{', '}', 'spaces'];
28
21
  const acceptedCharactersSet = new Set(acceptedCharacters); // Prevent duplicates with a Set
29
22
 
@@ -1,4 +1,5 @@
1
1
  const semver = require( 'semver' );
2
+
2
3
  const { name, engines } = require( '../package.json' );
3
4
 
4
5
  const version = engines.node;
@@ -1,6 +1,7 @@
1
- const { minVersion, satisfies, valid } = require( 'semver' );
2
1
  const { exec } = require( 'node:child_process' );
3
2
  const { EOL } = require( 'node:os' );
3
+ const { minVersion, satisfies, valid } = require( 'semver' );
4
+
4
5
  const packageJSON = require( '../package.json' );
5
6
 
6
7
  const config = {