@automattic/vip 3.14.0 → 3.15.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 (46) hide show
  1. package/assets/dev-env.lando.template.yml.ejs +1 -0
  2. package/dist/bin/vip-app-deploy.js +1 -2
  3. package/dist/bin/vip-app.js +1 -2
  4. package/dist/bin/vip-cache-purge-url.js +1 -2
  5. package/dist/bin/vip-dev-env-create.js +4 -2
  6. package/dist/bin/vip-dev-env-update.js +3 -1
  7. package/dist/bin/vip-import-media-abort.js +1 -2
  8. package/dist/bin/vip-import-media-status.js +1 -2
  9. package/dist/bin/vip-import-sql-status.js +1 -2
  10. package/dist/bin/vip-import-sql.js +1 -2
  11. package/dist/bin/vip-import-validate-sql.js +1 -2
  12. package/dist/bin/vip-logs.js +1 -2
  13. package/dist/bin/vip-search-replace.js +1 -2
  14. package/dist/bin/vip-slowlogs.js +1 -2
  15. package/dist/bin/vip-validate-preflight.js +1 -2
  16. package/dist/bin/vip-whoami.js +1 -2
  17. package/dist/bin/vip-wp.js +20 -15
  18. package/dist/bin/vip.js +1 -2
  19. package/dist/commands/backup-db.js +1 -2
  20. package/dist/commands/dev-env-import-sql.js +1 -2
  21. package/dist/commands/dev-env-sync-sql.js +1 -2
  22. package/dist/commands/export-sql.js +1 -2
  23. package/dist/commands/phpmyadmin.js +1 -2
  24. package/dist/commands/wp-ssh.js +1 -2
  25. package/dist/lib/api.js +7 -1
  26. package/dist/lib/cli/apiConfig.js +1 -2
  27. package/dist/lib/cli/command.js +1 -2
  28. package/dist/lib/constants/dev-environment.js +1 -1
  29. package/dist/lib/custom-deploy/custom-deploy.js +1 -2
  30. package/dist/lib/dev-environment/dev-environment-cli.js +22 -2
  31. package/dist/lib/dev-environment/dev-environment-configuration-file.js +1 -2
  32. package/dist/lib/dev-environment/dev-environment-core.js +20 -38
  33. package/dist/lib/dev-environment/dev-environment-database.js +21 -2
  34. package/dist/lib/dev-environment/dev-environment-lando.js +8 -4
  35. package/dist/lib/dev-environment/docker-utils.js +2 -2
  36. package/dist/lib/read-file.js +1 -2
  37. package/dist/lib/search-and-replace.js +1 -2
  38. package/dist/lib/site-import/status.js +1 -2
  39. package/dist/lib/validations/custom-deploy.js +1 -2
  40. package/dist/lib/validations/is-multi-site.js +1 -2
  41. package/dist/lib/validations/is-multisite-domain-mapped.js +1 -2
  42. package/dist/lib/validations/line-by-line.js +1 -2
  43. package/dist/lib/validations/sql.js +1 -2
  44. package/docs/CHANGELOG.md +35 -0
  45. package/npm-shrinkwrap.json +1406 -1290
  46. package/package.json +9 -9
@@ -101,7 +101,7 @@ async function stopEnvironment(lando, slug) {
101
101
  }
102
102
  await (0, _devEnvironmentLando.landoStop)(lando, instancePath);
103
103
  }
104
- async function createEnvironment(lando, instanceData, integrationsConfig, envVars) {
104
+ function createEnvironment(lando, instanceData, integrationsConfig, envVars) {
105
105
  const slug = instanceData.siteSlug;
106
106
  integrationsConfig ??= {};
107
107
  debug('Will process an environment', slug, 'with instanceData for creation: ', instanceData);
@@ -109,11 +109,11 @@ async function createEnvironment(lando, instanceData, integrationsConfig, envVar
109
109
  debug('Instance path for', slug, 'is:', instancePath);
110
110
  const alreadyExists = _nodeFs.default.existsSync(instancePath);
111
111
  if (alreadyExists) {
112
- throw new Error('Environment already exists.');
112
+ return Promise.reject(new Error('Environment already exists.'));
113
113
  }
114
114
  const preProcessedInstanceData = preProcessInstanceData(instanceData);
115
115
  debug('Will create an environment', slug, 'with instanceData: ', preProcessedInstanceData);
116
- await prepareLandoEnv(lando, preProcessedInstanceData, instancePath, integrationsConfig, envVars);
116
+ return prepareLandoEnv(lando, preProcessedInstanceData, instancePath, integrationsConfig, envVars);
117
117
  }
118
118
  async function updateEnvironment(lando, instanceData) {
119
119
  const slug = instanceData.siteSlug;
@@ -130,50 +130,32 @@ async function updateEnvironment(lando, instanceData) {
130
130
  }
131
131
  function preProcessInstanceData(instanceData) {
132
132
  const newInstanceData = {
133
- ...instanceData
133
+ ...instanceData,
134
+ xdebugConfig: instanceData.xdebugConfig ?? '',
135
+ mariadb: instanceData.mariadb ?? '',
136
+ elasticsearch: instanceData.elasticsearch || false,
137
+ // NOSONAR
138
+ php: instanceData.php ?? _devEnvironment.DEV_ENVIRONMENT_PHP_VERSIONS[Object.keys(_devEnvironment.DEV_ENVIRONMENT_PHP_VERSIONS)[0]].image,
139
+ xdebug: Boolean(instanceData.xdebug),
140
+ phpmyadmin: Boolean(instanceData.phpmyadmin),
141
+ photon: Boolean(instanceData.photon),
142
+ cron: Boolean(instanceData.cron),
143
+ mailpit: Boolean(instanceData.mailpit),
144
+ pullAfter: instanceData.pullAfter ?? 0,
145
+ autologinKey: (0, _uuid.v4)(),
146
+ adminPassword: instanceData.adminPassword ?? 'password',
147
+ version: _devEnvironment.DEV_ENVIRONMENT_VERSION,
148
+ overrides: instanceData.overrides ?? ''
134
149
  };
135
150
  if (instanceData.mediaRedirectDomain && !/^http/.exec(instanceData.mediaRedirectDomain)) {
136
151
  // We need to make sure the redirect is an absolute path
137
152
  newInstanceData.mediaRedirectDomain = `https://${instanceData.mediaRedirectDomain}`;
138
153
  }
139
154
 
140
- // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing
141
- newInstanceData.elasticsearch = instanceData.elasticsearch || false; // NOSONAR
142
-
143
- newInstanceData.php = instanceData.php || _devEnvironment.DEV_ENVIRONMENT_PHP_VERSIONS[Object.keys(_devEnvironment.DEV_ENVIRONMENT_PHP_VERSIONS)[0]].image;
144
-
145
- // FIXME: isNaN supports only number in TypeScript, actually, because isNaN('123') returns false despite being a string
155
+ // isNaN supports only number in TypeScript, actually, because isNaN('123') returns false despite being a string
146
156
  if (isNaN(instanceData.wordpress.tag)) {
147
157
  newInstanceData.wordpress.tag = 'trunk';
148
158
  }
149
- if (!newInstanceData.xdebugConfig) {
150
- newInstanceData.xdebugConfig = '';
151
- }
152
- if (!newInstanceData.xdebug) {
153
- newInstanceData.xdebug = false;
154
- }
155
- if (!newInstanceData.phpmyadmin) {
156
- newInstanceData.phpmyadmin = false;
157
- }
158
- if (!newInstanceData.photon) {
159
- newInstanceData.photon = false;
160
- }
161
- if (!newInstanceData.cron) {
162
- newInstanceData.cron = false;
163
- }
164
-
165
- // Mailpit migration
166
- newInstanceData.mailpit ??= false;
167
-
168
- // MariaDB migration
169
- if (!newInstanceData.mariadb) {
170
- newInstanceData.mariadb = undefined;
171
- }
172
-
173
- // newInstanceData
174
- newInstanceData.autologinKey = (0, _uuid.v4)();
175
- newInstanceData.version = _devEnvironment.DEV_ENVIRONMENT_VERSION;
176
- newInstanceData.overrides = instanceData.overrides ?? '';
177
159
  return newInstanceData;
178
160
  }
179
161
  async function destroyEnvironment(lando, slug, removeFiles) {
@@ -1,11 +1,30 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.reIndexSearch = exports.flushCache = exports.executeQuery = exports.dataCleanup = exports.addAdminUser = void 0;
4
+ exports.reIndexSearch = exports.generatePassword = exports.flushCache = exports.executeQuery = exports.dataCleanup = exports.addAdminUser = void 0;
5
+ var _nodeCrypto = require("node:crypto");
5
6
  var _devEnvironmentCore = require("./dev-environment-core");
7
+ const generatePassword = () => {
8
+ const chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_';
9
+ const passwordLength = 12;
10
+ let password = '';
11
+ for (let idx = 0; idx < passwordLength; idx++) {
12
+ const randomIndex = (0, _nodeCrypto.randomInt)(0, chars.length);
13
+ password += chars[randomIndex];
14
+ }
15
+ return password;
16
+ };
17
+ exports.generatePassword = generatePassword;
6
18
  const addAdminUser = async (lando, slug, quiet) => {
7
- const addUserArg = ['wp', 'dev-env-add-admin', '--username=vipgo', '--password=password', '--skip-plugins', '--skip-themes'].concat(quiet ? ['--quiet'] : []);
19
+ const instanceData = (0, _devEnvironmentCore.readEnvironmentData)(slug);
20
+ const password = !instanceData.adminPassword || instanceData.adminPassword === 'password' ? generatePassword() : instanceData.adminPassword;
21
+ const addUserArg = ['wp', 'dev-env-add-admin', '--username=vipgo', `--password=${password}`, '--skip-plugins', '--skip-themes'].concat(quiet ? ['--quiet'] : []);
8
22
  await (0, _devEnvironmentCore.exec)(lando, slug, addUserArg);
23
+ // eslint-disable-next-line security/detect-possible-timing-attacks
24
+ if (password !== instanceData.adminPassword) {
25
+ instanceData.adminPassword = password;
26
+ await (0, _devEnvironmentCore.writeEnvironmentData)(slug, instanceData);
27
+ }
9
28
  };
10
29
  exports.addAdminUser = addAdminUser;
11
30
  const dataCleanup = async (lando, slug, quiet) => {
@@ -29,8 +29,7 @@ var _devEnvironmentCore = require("./dev-environment-core");
29
29
  var _dockerUtils = require("./docker-utils");
30
30
  var _devEnvironment = require("../constants/dev-environment");
31
31
  var _userError = _interopRequireDefault(require("../user-error"));
32
- 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); }
33
- 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 && {}.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; }
32
+ 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); }
34
33
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
35
34
  /**
36
35
  * This file will hold all the interactions with lando library
@@ -163,8 +162,10 @@ async function bootstrapLando() {
163
162
  try {
164
163
  const socket = await (0, _dockerUtils.getDockerSocket)();
165
164
  const config = await getLandoConfig();
165
+ debug('Docker socket: %j', socket);
166
166
  if (socket) {
167
167
  config.engineConfig = await (0, _dockerUtils.getEngineConfig)(socket);
168
+ debug('Engine config: %j', config.engineConfig);
168
169
  }
169
170
  const lando = new _lando.default(config);
170
171
  lando.events.once('pre-engine-build', async data => {
@@ -174,7 +175,7 @@ async function bootstrapLando() {
174
175
  registryResolvable = (await (0, _promises.lookup)('ghcr.io')).address.length > 0 || false;
175
176
  debug('Registry ghcr.io is resolvable');
176
177
  } catch (err) {
177
- debug('Registry ghcr.io is not resolvable, image pull might be broken.');
178
+ debug('Registry ghcr.io is not resolvable, image pull might be broken. Error: %O', err);
178
179
  registryResolvable = false;
179
180
  }
180
181
  const pull = registryResolvable && (instanceData.pullAfter ?? 0) < Date.now();
@@ -316,7 +317,10 @@ async function landoInfo(lando, instancePath, options = {}) {
316
317
  }
317
318
  appInfo['Login URL'] = loginUrl;
318
319
  appInfo['Default username'] = 'vipgo';
319
- appInfo['Default password'] = 'password';
320
+
321
+ // Get the stored password from instance data
322
+ const instanceData = (0, _devEnvironmentCore.readEnvironmentData)(appInfo.slug);
323
+ appInfo['Default password'] = instanceData.adminPassword || 'password'; // NOSONAR
320
324
  }
321
325
  if (!options.suppressWarnings && hasWarnings) {
322
326
  let message = _chalk.default.bold.yellow('The following services have failed health checks:\n');
@@ -40,7 +40,7 @@ async function canReadWrite(what) {
40
40
  // eslint-disable-next-line no-bitwise
41
41
  await (0, _promises.access)(what, _nodeFs.constants.R_OK | _nodeFs.constants.W_OK);
42
42
  return true;
43
- } catch (err) {
43
+ } catch {
44
44
  return false;
45
45
  }
46
46
  }
@@ -72,7 +72,7 @@ async function getDockerSocket() {
72
72
  process.env.DOCKER_HOST = `unix://${socketPath}`;
73
73
  return socketPath;
74
74
  }
75
- } catch (err) {
75
+ } catch {
76
76
  // Do nothing
77
77
  }
78
78
  }
@@ -4,8 +4,7 @@ exports.__esModule = true;
4
4
  exports.readFromFile = readFromFile;
5
5
  var _promises = require("node:fs/promises");
6
6
  var exit = _interopRequireWildcard(require("../lib/cli/exit"));
7
- 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); }
8
- 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 && {}.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; }
7
+ 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); }
9
8
  async function readFromFile(path) {
10
9
  try {
11
10
  const data = await (0, _promises.readFile)(path, 'utf-8');
@@ -15,8 +15,7 @@ var exit = _interopRequireWildcard(require("../lib/cli/exit"));
15
15
  var _prompt = require("../lib/cli/prompt");
16
16
  var _clientFileUploader = require("../lib/client-file-uploader");
17
17
  var _tracker = require("../lib/tracker");
18
- 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); }
19
- 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 && {}.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; }
18
+ 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); }
20
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
20
  const debug = (0, _debug.default)('@automattic/vip:lib:search-and-replace');
22
21
  function getReadAndWriteStreams({
@@ -10,8 +10,7 @@ var _dbFileImport = require("./db-file-import");
10
10
  var _api = _interopRequireDefault(require("../../lib/api"));
11
11
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
12
12
  var _format = require("../../lib/cli/format");
13
- 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); }
14
- 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 && {}.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
+ 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); }
15
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
15
  /* eslint-disable complexity */
17
16
 
@@ -11,8 +11,7 @@ var _nodeFs = require("node:fs");
11
11
  var _path = _interopRequireDefault(require("path"));
12
12
  var tar = _interopRequireWildcard(require("tar"));
13
13
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
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 && {}.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
+ 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); }
16
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
16
  const errorMessages = {
18
17
  missingThemes: 'Missing `themes` directory from root folder.',
@@ -6,8 +6,7 @@ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
6
6
  var _api = _interopRequireDefault(require("../../lib/api"));
7
7
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
8
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 && {}.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; }
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); }
11
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
11
  const isMultiSite = new WeakMap();
13
12
  async function isMultiSiteInSiteMeta(appId, envId) {
@@ -8,8 +8,7 @@ var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
8
8
  var _api = _interopRequireDefault(require("../../lib/api"));
9
9
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
10
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 && {}.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; }
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); }
13
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
13
  /**
15
14
  * Extracts the domain for site with ID 1 from an INSERT INTO `wp_site` SQL statement
@@ -8,8 +8,7 @@ var _nodeFs = require("node:fs");
8
8
  var _promises = require("node:fs/promises");
9
9
  var _nodeReadline = require("node:readline");
10
10
  var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
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 && {}.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; }
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); }
13
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
13
  const debug = (0, _debug.default)('vip:validations:line-by-line');
15
14
  async function getReadInterface(filename) {
@@ -11,8 +11,7 @@ var exit = _interopRequireWildcard(require("../../lib/cli/exit"));
11
11
  var _clientFileUploader = require("../../lib/client-file-uploader");
12
12
  var _tracker = require("../../lib/tracker");
13
13
  var _lineByLine = require("../../lib/validations/line-by-line");
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 && {}.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
+ 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); }
16
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
16
  let problemsFound = 0;
18
17
  let lineNum = 1;
package/docs/CHANGELOG.md CHANGED
@@ -1,5 +1,40 @@
1
1
  ## Changelog
2
2
 
3
+ ### 3.15.0
4
+
5
+ * chore(deps): update `lando`
6
+ * Add query name to the GraphQL endpoint as a query string by @abdullah
7
+ * build(deps): bump open from 10.1.1 to 10.1.2
8
+ * build(deps-dev): bump the babel group with 4 updates
9
+ * feat(dev-env) randomize vipgo password post-import
10
+ * chore(dev-env): add more Docker-related logging
11
+ * build(deps-dev): bump @types/node from 22.14.1 to 22.15.14
12
+ * build(deps-dev): bump the babel group with 2 updates
13
+ * chore: address Dependabot deprecations
14
+ * feat(dev-env): set random password for `vipgo` user
15
+ * build(deps-dev): bump @types/node from 22.15.14 to 22.15.16
16
+ * fix(wp): handling of CR characters
17
+ * fix(dev-env): validation of `--app-code` and `--mu-plugins` options
18
+ * fix(dev-env): ensure all required peroperties are present for rebuild
19
+ * build(deps): bump actions/dependency-review-action from 4.6.0 to 4.7.0
20
+ * build(deps-dev): bump @types/shelljs from 0.8.15 to 0.8.16
21
+ * build(deps-dev): bump @types/node from 22.15.16 to 22.15.17
22
+ * build(deps): bump actions/dependency-review-action from 4.7.0 to 4.7.1
23
+ * build(deps): bump debug from 4.4.0 to 4.4.1
24
+ * build(deps): bump semver from 7.7.1 to 7.7.2
25
+ * build(deps): bump shelljs from 0.9.2 to 0.10.0
26
+ * build(deps-dev): bump @types/node from 22.15.17 to 22.15.18
27
+
28
+ **Full Changelog**: https://github.com/Automattic/vip-cli/compare/3.14.0...3.15.0
29
+
30
+ ### 3.14.0
31
+
32
+ * build(deps): bump step-security/harden-runner from 2.11.1 to 2.12.0
33
+ * build(deps-dev): bump dockerode from 4.0.5 to 4.0.6
34
+ * Add ability to run WP-CLI commands over SSH
35
+
36
+ **Full Changelog**: https://github.com/Automattic/vip-cli/compare/3.13.0...3.14.0
37
+
3
38
  ### 3.13.0
4
39
 
5
40
  * build(deps): bump Automattic/vip-actions from dbd477b39f2122bf594da2d65dc0ea8ab5fc9bf0 to bb2853ecb6cd7dba2efe589ebb10cf930759fe69