@automattic/vip 3.14.1-dev.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.
@@ -93,6 +93,7 @@ services:
93
93
  --user root
94
94
  --domain "http://<%= siteSlug %>.<%= domain %>/"
95
95
  --title "<%= wpTitle %>"
96
+ --wpadmin_password "<%= adminPassword %>"
96
97
  <% if ( multisite ) { %>--ms-domain "<%= siteSlug %>.<%= domain %>" <% if ( multisite === true || multisite === 'subdomain' ) { %>--subdomain <% } %> <% } %>
97
98
 
98
99
  database:
@@ -8,6 +8,7 @@ var exit = _interopRequireWildcard(require("../lib/cli/exit"));
8
8
  var _devEnvironmentCli = require("../lib/dev-environment/dev-environment-cli");
9
9
  var _devEnvironmentConfigurationFile = require("../lib/dev-environment/dev-environment-configuration-file");
10
10
  var _devEnvironmentCore = require("../lib/dev-environment/dev-environment-core");
11
+ var _devEnvironmentDatabase = require("../lib/dev-environment/dev-environment-database");
11
12
  var _devEnvironmentLando = require("../lib/dev-environment/dev-environment-lando");
12
13
  var _tracker = require("../lib/tracker");
13
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); }
@@ -82,6 +83,7 @@ cmd.argv(process.argv, async (arg, opt) => {
82
83
  debug(`WARNING: ${message}`, error.message);
83
84
  console.log(_chalk.default.yellow('Warning:'), message);
84
85
  }
86
+ (0, _devEnvironmentCli.ensureValidPathsInOptions)(opt);
85
87
  let preselectedOptions = opt;
86
88
  let suppressPrompts = false;
87
89
  if (Object.keys(configurationFileOptions).length > 0) {
@@ -91,6 +93,7 @@ cmd.argv(process.argv, async (arg, opt) => {
91
93
  }
92
94
  const instanceData = await (0, _devEnvironmentCli.promptForArguments)(preselectedOptions, defaultOptions, suppressPrompts, true);
93
95
  instanceData.siteSlug = slug;
96
+ instanceData.adminPassword = (0, _devEnvironmentDatabase.generatePassword)();
94
97
  try {
95
98
  await (0, _devEnvironmentCore.createEnvironment)(lando, instanceData, integrationsConfig, envVars);
96
99
  await (0, _devEnvironmentCore.printEnvironmentInfo)(lando, slug, {
@@ -42,6 +42,7 @@ cmd.argv(process.argv, async (arg, opt) => {
42
42
  }
43
43
  const currentInstanceData = (0, _devEnvironmentCore.readEnvironmentData)(slug);
44
44
  debug('Read instance data', currentInstanceData);
45
+ (0, _devEnvironmentCli.ensureValidPathsInOptions)(opt);
45
46
 
46
47
  /** @type {InstanceOptions} */
47
48
  const preselectedOptions = {
@@ -68,7 +69,8 @@ cmd.argv(process.argv, async (arg, opt) => {
68
69
  mediaRedirectDomain: currentInstanceData.mediaRedirectDomain,
69
70
  multisite: false,
70
71
  title: '',
71
- cron: currentInstanceData.cron
72
+ cron: currentInstanceData.cron,
73
+ adminPassword: currentInstanceData.adminPassword
72
74
  };
73
75
  const providedOptions = Object.keys(opt).filter(option => option.length > 1) // Filter out single letter aliases
74
76
  .filter(option => !['debug', 'help', 'slug'].includes(option)); // Filter out options that are not related to instance configuration
@@ -41,18 +41,33 @@ const cancelCommandChar = '\x03';
41
41
  let currentJob = null;
42
42
  let currentOffset = 0;
43
43
  let commandRunning = false;
44
+ const isStdinTty = process.stdin.isTTY;
45
+ const normalizeNewlineStream = new _stream.Transform({
46
+ transform(chunk, encoding, callback) {
47
+ callback(null, chunk.toString().replace(/\r/g, '\n'));
48
+ }
49
+ });
44
50
  const pipeStreamsToProcess = ({
45
51
  stdin,
46
52
  stdout: outStream
47
53
  }) => {
48
- process.stdin.pipe(stdin);
54
+ if (isStdinTty) {
55
+ process.stdin.pipe(normalizeNewlineStream).pipe(stdin);
56
+ } else {
57
+ process.stdin.pipe(stdin);
58
+ }
49
59
  outStream.pipe(process.stdout);
50
60
  };
51
61
  const unpipeStreamsFromProcess = ({
52
62
  stdin,
53
63
  stdout: outStream
54
64
  }) => {
55
- process.stdin.unpipe(stdin);
65
+ if (isStdinTty) {
66
+ process.stdin.unpipe(normalizeNewlineStream);
67
+ normalizeNewlineStream.unpipe(stdin);
68
+ } else {
69
+ process.stdin.unpipe(stdin);
70
+ }
56
71
  outStream.unpipe(process.stdout);
57
72
  };
58
73
  const bindStreamEvents = ({
@@ -352,7 +367,8 @@ const examples = [{
352
367
  output: mutableStdout,
353
368
  terminal: true,
354
369
  prompt: '',
355
- historySize: 0
370
+ historySize: 0,
371
+ crlfDelay: Infinity
356
372
  };
357
373
  if (isSubShell) {
358
374
  subShellSettings.prompt = (0, _chalk.default)`{bold.yellowBright ${promptIdentifier}:}{blue ~}$ `;
@@ -451,16 +467,6 @@ const examples = [{
451
467
  isSubShell
452
468
  });
453
469
  });
454
-
455
- // Fix to re-add the \n character that readline strips when terminal == true
456
- process.stdin.on('data', data => {
457
- // only run this in interactive mode for prompts from WP commands
458
- if (commandRunning && 0 === Buffer.compare(data, Buffer.from('\r'))) {
459
- if (currentJob?.stdinStream) {
460
- currentJob.stdinStream.write('\n');
461
- }
462
- }
463
- });
464
470
  subShellRl.on('SIGINT', async () => {
465
471
  // if we have a 2nd SIGINT, exit immediately
466
472
  if (countSIGINT >= 1) {
@@ -36,4 +36,4 @@ const DEV_ENVIRONMENT_DEFAULTS = exports.DEV_ENVIRONMENT_DEFAULTS = {
36
36
  multisite: false,
37
37
  phpVersion: Object.keys(DEV_ENVIRONMENT_PHP_VERSIONS)[0]
38
38
  };
39
- const DEV_ENVIRONMENT_VERSION = exports.DEV_ENVIRONMENT_VERSION = '2.2.3';
39
+ const DEV_ENVIRONMENT_VERSION = exports.DEV_ENVIRONMENT_VERSION = '2.3.0';
@@ -3,6 +3,7 @@
3
3
  exports.__esModule = true;
4
4
  exports.DEFAULT_SLUG = exports.CONFIGURATION_FOLDER = void 0;
5
5
  exports.addDevEnvConfigurationOptions = addDevEnvConfigurationOptions;
6
+ exports.ensureValidPathsInOptions = ensureValidPathsInOptions;
6
7
  exports.getEnvTrackingInfo = getEnvTrackingInfo;
7
8
  exports.getEnvironmentName = getEnvironmentName;
8
9
  exports.getEnvironmentStartCommand = getEnvironmentStartCommand;
@@ -195,7 +196,7 @@ async function promptForArguments(preselectedOptions, defaultOptions, suppressPr
195
196
  try {
196
197
  const currentUser = await (0, _user.getCurrentUserInfo)(true);
197
198
  isVIPUser = currentUser?.isVIP ?? false;
198
- } catch (err) {
199
+ } catch {
199
200
  isVIPUser = false;
200
201
  }
201
202
  if (suppressPrompts) {
@@ -234,7 +235,8 @@ async function promptForArguments(preselectedOptions, defaultOptions, suppressPr
234
235
  mailpit: false,
235
236
  photon: false,
236
237
  cron: false,
237
- overrides: preselectedOptions.overrides
238
+ overrides: preselectedOptions.overrides,
239
+ adminPassword: preselectedOptions.adminPassword
238
240
  };
239
241
  const promptLabels = {
240
242
  xdebug: 'XDebug',
@@ -320,6 +322,24 @@ async function processComponent(componentType, preselectedValue, defaultValue, s
320
322
  debug(result);
321
323
  return result;
322
324
  }
325
+ function ensureValidPathsInOptions(opt) {
326
+ if (opt.appCode) {
327
+ const result = validateAppCodeLocalPath(`${opt.appCode}`);
328
+ if (!result.result) {
329
+ console.warn(_chalk.default.yellow('Warning:'), result.message);
330
+ delete opt.appCode;
331
+ delete opt.a;
332
+ }
333
+ }
334
+ if (opt.muPlugins) {
335
+ const result = validateMuPluginsLocalPath(`${opt.muPlugins}`);
336
+ if (!result.result) {
337
+ console.warn(_chalk.default.yellow('Warning:'), result.message);
338
+ delete opt.muPlugins;
339
+ delete opt.m;
340
+ }
341
+ }
342
+ }
323
343
  async function validateLocalPath(config, validator, componentName, defaultObject) {
324
344
  while (config.mode === 'local') {
325
345
  const resolvedPath = resolvePath(config.dir ?? '');
@@ -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,7 +1,7 @@
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
5
  var _nodeCrypto = require("node:crypto");
6
6
  var _devEnvironmentCore = require("./dev-environment-core");
7
7
  const generatePassword = () => {
@@ -14,6 +14,7 @@ const generatePassword = () => {
14
14
  }
15
15
  return password;
16
16
  };
17
+ exports.generatePassword = generatePassword;
17
18
  const addAdminUser = async (lando, slug, quiet) => {
18
19
  const instanceData = (0, _devEnvironmentCore.readEnvironmentData)(slug);
19
20
  const password = !instanceData.adminPassword || instanceData.adminPassword === 'password' ? generatePassword() : instanceData.adminPassword;
@@ -174,8 +174,8 @@ async function bootstrapLando() {
174
174
  try {
175
175
  registryResolvable = (await (0, _promises.lookup)('ghcr.io')).address.length > 0 || false;
176
176
  debug('Registry ghcr.io is resolvable');
177
- } catch {
178
- debug('Registry ghcr.io is not resolvable, image pull might be broken.');
177
+ } catch (err) {
178
+ debug('Registry ghcr.io is not resolvable, image pull might be broken. Error: %O', err);
179
179
  registryResolvable = false;
180
180
  }
181
181
  const pull = registryResolvable && (instanceData.pullAfter ?? 0) < Date.now();
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
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@automattic/vip",
3
- "version": "3.14.1-dev.0",
3
+ "version": "3.15.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@automattic/vip",
9
- "version": "3.14.1-dev.0",
9
+ "version": "3.15.0",
10
10
  "hasInstallScript": true,
11
11
  "license": "MIT",
12
12
  "dependencies": {
@@ -21,7 +21,7 @@
21
21
  "cli-columns": "^4.0.0",
22
22
  "cli-table3": "^0.6.3",
23
23
  "configstore": "5.0.1",
24
- "debug": "4.4.0",
24
+ "debug": "4.4.1",
25
25
  "ejs": "^3.1.8",
26
26
  "enquirer": "2.4.1",
27
27
  "fetch-retry": "^6.0.0",
@@ -36,8 +36,8 @@
36
36
  "node-stream-zip": "1.15.0",
37
37
  "open": "^10.0.0",
38
38
  "proxy-from-env": "^1.1.0",
39
- "semver": "7.7.1",
40
- "shelljs": "^0.9.1",
39
+ "semver": "7.7.2",
40
+ "shelljs": "^0.10.0",
41
41
  "socket.io-client": "^4.5.3",
42
42
  "socket.io-stream": "npm:@wearemothership/socket.io-stream@^0.9.1",
43
43
  "socks-proxy-agent": "^5.0.1",
@@ -109,9 +109,9 @@
109
109
  },
110
110
  "devDependencies": {
111
111
  "@automattic/eslint-plugin-wpvip": "0.13.1",
112
- "@babel/cli": "7.27.1",
112
+ "@babel/cli": "7.27.2",
113
113
  "@babel/core": "7.27.1",
114
- "@babel/preset-env": "7.27.1",
114
+ "@babel/preset-env": "7.27.2",
115
115
  "@babel/preset-typescript": "7.27.1",
116
116
  "@jest/globals": "^29.7.0",
117
117
  "@jest/test-sequencer": "^29.7.0",
@@ -321,9 +321,9 @@
321
321
  }
322
322
  },
323
323
  "node_modules/@babel/cli": {
324
- "version": "7.27.1",
325
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.1.tgz",
326
- "integrity": "sha512-uW6vyhrV/YB9f3QFyPX2sMmDTID853+f3rOsTvH9q/FsL+e40GKqdMy5fdnGBvXsk5WiWJuMhR6sl03/x+XqqA==",
324
+ "version": "7.27.2",
325
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz",
326
+ "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==",
327
327
  "dev": true,
328
328
  "license": "MIT",
329
329
  "dependencies": {
@@ -394,9 +394,9 @@
394
394
  }
395
395
  },
396
396
  "node_modules/@babel/compat-data": {
397
- "version": "7.27.1",
398
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz",
399
- "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==",
397
+ "version": "7.27.2",
398
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz",
399
+ "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==",
400
400
  "dev": true,
401
401
  "license": "MIT",
402
402
  "engines": {
@@ -530,13 +530,13 @@
530
530
  }
531
531
  },
532
532
  "node_modules/@babel/helper-compilation-targets": {
533
- "version": "7.27.1",
534
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz",
535
- "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==",
533
+ "version": "7.27.2",
534
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
535
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
536
536
  "dev": true,
537
537
  "license": "MIT",
538
538
  "dependencies": {
539
- "@babel/compat-data": "^7.27.1",
539
+ "@babel/compat-data": "^7.27.2",
540
540
  "@babel/helper-validator-option": "^7.27.1",
541
541
  "browserslist": "^4.24.0",
542
542
  "lru-cache": "^5.1.1",
@@ -1652,14 +1652,15 @@
1652
1652
  }
1653
1653
  },
1654
1654
  "node_modules/@babel/plugin-transform-object-rest-spread": {
1655
- "version": "7.27.1",
1656
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.1.tgz",
1657
- "integrity": "sha512-/sSliVc9gHE20/7D5qsdGlq7RG5NCDTWsAhyqzGuq174EtWJoGzIu1BQ7G56eDsTcy1jseBZwv50olSdXOlGuA==",
1655
+ "version": "7.27.2",
1656
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz",
1657
+ "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==",
1658
1658
  "dev": true,
1659
1659
  "license": "MIT",
1660
1660
  "dependencies": {
1661
- "@babel/helper-compilation-targets": "^7.27.1",
1661
+ "@babel/helper-compilation-targets": "^7.27.2",
1662
1662
  "@babel/helper-plugin-utils": "^7.27.1",
1663
+ "@babel/plugin-transform-destructuring": "^7.27.1",
1663
1664
  "@babel/plugin-transform-parameters": "^7.27.1"
1664
1665
  },
1665
1666
  "engines": {
@@ -2004,14 +2005,14 @@
2004
2005
  }
2005
2006
  },
2006
2007
  "node_modules/@babel/preset-env": {
2007
- "version": "7.27.1",
2008
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.1.tgz",
2009
- "integrity": "sha512-TZ5USxFpLgKDpdEt8YWBR7p6g+bZo6sHaXLqP2BY/U0acaoI8FTVflcYCr/v94twM1C5IWFdZ/hscq9WjUeLXA==",
2008
+ "version": "7.27.2",
2009
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz",
2010
+ "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==",
2010
2011
  "dev": true,
2011
2012
  "license": "MIT",
2012
2013
  "dependencies": {
2013
- "@babel/compat-data": "^7.27.1",
2014
- "@babel/helper-compilation-targets": "^7.27.1",
2014
+ "@babel/compat-data": "^7.27.2",
2015
+ "@babel/helper-compilation-targets": "^7.27.2",
2015
2016
  "@babel/helper-plugin-utils": "^7.27.1",
2016
2017
  "@babel/helper-validator-option": "^7.27.1",
2017
2018
  "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
@@ -2053,7 +2054,7 @@
2053
2054
  "@babel/plugin-transform-new-target": "^7.27.1",
2054
2055
  "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
2055
2056
  "@babel/plugin-transform-numeric-separator": "^7.27.1",
2056
- "@babel/plugin-transform-object-rest-spread": "^7.27.1",
2057
+ "@babel/plugin-transform-object-rest-spread": "^7.27.2",
2057
2058
  "@babel/plugin-transform-object-super": "^7.27.1",
2058
2059
  "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
2059
2060
  "@babel/plugin-transform-optional-chaining": "^7.27.1",
@@ -3806,9 +3807,9 @@
3806
3807
  "dev": true
3807
3808
  },
3808
3809
  "node_modules/@types/node": {
3809
- "version": "22.14.1",
3810
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz",
3811
- "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==",
3810
+ "version": "22.15.18",
3811
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.18.tgz",
3812
+ "integrity": "sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==",
3812
3813
  "license": "MIT",
3813
3814
  "dependencies": {
3814
3815
  "undici-types": "~6.21.0"
@@ -3841,10 +3842,11 @@
3841
3842
  "license": "MIT"
3842
3843
  },
3843
3844
  "node_modules/@types/shelljs": {
3844
- "version": "0.8.15",
3845
- "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.15.tgz",
3846
- "integrity": "sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==",
3845
+ "version": "0.8.16",
3846
+ "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.16.tgz",
3847
+ "integrity": "sha512-40SUXiH0tZfAg/oKkkGF1kdHPAmE4slv2xAmbfa8VtE6ztHYwdpW2phlzHTVdJh5JOGqA3Cx1Hzp7kxFalKHYA==",
3847
3848
  "dev": true,
3849
+ "license": "MIT",
3848
3850
  "dependencies": {
3849
3851
  "@types/glob": "~7.2.0",
3850
3852
  "@types/node": "*"
@@ -5645,9 +5647,10 @@
5645
5647
  "dev": true
5646
5648
  },
5647
5649
  "node_modules/debug": {
5648
- "version": "4.4.0",
5649
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
5650
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
5650
+ "version": "4.4.1",
5651
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
5652
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
5653
+ "license": "MIT",
5651
5654
  "dependencies": {
5652
5655
  "ms": "^2.1.3"
5653
5656
  },
@@ -8068,6 +8071,7 @@
8068
8071
  "version": "1.4.0",
8069
8072
  "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
8070
8073
  "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
8074
+ "license": "MIT",
8071
8075
  "engines": {
8072
8076
  "node": ">= 0.10"
8073
8077
  }
@@ -9698,6 +9702,61 @@
9698
9702
  "integrity": "sha512-Q4+qBFnN4bwGwvtXXzbp4P/4iNk0MaiGAzvQ8OiMtlLjkIKjmNN689uVzShSM0908q7GoFHXIPx4zi75ocoaHw==",
9699
9703
  "license": "MIT"
9700
9704
  },
9705
+ "node_modules/lando/node_modules/cross-spawn": {
9706
+ "version": "6.0.6",
9707
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
9708
+ "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
9709
+ "license": "MIT",
9710
+ "dependencies": {
9711
+ "nice-try": "^1.0.4",
9712
+ "path-key": "^2.0.1",
9713
+ "semver": "^5.5.0",
9714
+ "shebang-command": "^1.2.0",
9715
+ "which": "^1.2.9"
9716
+ },
9717
+ "engines": {
9718
+ "node": ">=4.8"
9719
+ }
9720
+ },
9721
+ "node_modules/lando/node_modules/cross-spawn/node_modules/semver": {
9722
+ "version": "5.7.2",
9723
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
9724
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
9725
+ "license": "ISC",
9726
+ "bin": {
9727
+ "semver": "bin/semver"
9728
+ }
9729
+ },
9730
+ "node_modules/lando/node_modules/execa": {
9731
+ "version": "1.0.0",
9732
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
9733
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
9734
+ "license": "MIT",
9735
+ "dependencies": {
9736
+ "cross-spawn": "^6.0.0",
9737
+ "get-stream": "^4.0.0",
9738
+ "is-stream": "^1.1.0",
9739
+ "npm-run-path": "^2.0.0",
9740
+ "p-finally": "^1.0.0",
9741
+ "signal-exit": "^3.0.0",
9742
+ "strip-eof": "^1.0.0"
9743
+ },
9744
+ "engines": {
9745
+ "node": ">=6"
9746
+ }
9747
+ },
9748
+ "node_modules/lando/node_modules/get-stream": {
9749
+ "version": "4.1.0",
9750
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
9751
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
9752
+ "license": "MIT",
9753
+ "dependencies": {
9754
+ "pump": "^3.0.0"
9755
+ },
9756
+ "engines": {
9757
+ "node": ">=6"
9758
+ }
9759
+ },
9701
9760
  "node_modules/lando/node_modules/glob": {
9702
9761
  "version": "10.4.5",
9703
9762
  "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
@@ -9718,6 +9777,15 @@
9718
9777
  "url": "https://github.com/sponsors/isaacs"
9719
9778
  }
9720
9779
  },
9780
+ "node_modules/lando/node_modules/is-stream": {
9781
+ "version": "1.1.0",
9782
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
9783
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
9784
+ "license": "MIT",
9785
+ "engines": {
9786
+ "node": ">=0.10.0"
9787
+ }
9788
+ },
9721
9789
  "node_modules/lando/node_modules/minimatch": {
9722
9790
  "version": "9.0.5",
9723
9791
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
@@ -9733,6 +9801,78 @@
9733
9801
  "url": "https://github.com/sponsors/isaacs"
9734
9802
  }
9735
9803
  },
9804
+ "node_modules/lando/node_modules/npm-run-path": {
9805
+ "version": "2.0.2",
9806
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
9807
+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
9808
+ "license": "MIT",
9809
+ "dependencies": {
9810
+ "path-key": "^2.0.0"
9811
+ },
9812
+ "engines": {
9813
+ "node": ">=4"
9814
+ }
9815
+ },
9816
+ "node_modules/lando/node_modules/path-key": {
9817
+ "version": "2.0.1",
9818
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
9819
+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
9820
+ "license": "MIT",
9821
+ "engines": {
9822
+ "node": ">=4"
9823
+ }
9824
+ },
9825
+ "node_modules/lando/node_modules/shebang-command": {
9826
+ "version": "1.2.0",
9827
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
9828
+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
9829
+ "license": "MIT",
9830
+ "dependencies": {
9831
+ "shebang-regex": "^1.0.0"
9832
+ },
9833
+ "engines": {
9834
+ "node": ">=0.10.0"
9835
+ }
9836
+ },
9837
+ "node_modules/lando/node_modules/shebang-regex": {
9838
+ "version": "1.0.0",
9839
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
9840
+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
9841
+ "license": "MIT",
9842
+ "engines": {
9843
+ "node": ">=0.10.0"
9844
+ }
9845
+ },
9846
+ "node_modules/lando/node_modules/shelljs": {
9847
+ "version": "0.9.2",
9848
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.9.2.tgz",
9849
+ "integrity": "sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==",
9850
+ "license": "BSD-3-Clause",
9851
+ "dependencies": {
9852
+ "execa": "^1.0.0",
9853
+ "fast-glob": "^3.3.2",
9854
+ "interpret": "^1.0.0",
9855
+ "rechoir": "^0.6.2"
9856
+ },
9857
+ "bin": {
9858
+ "shjs": "bin/shjs"
9859
+ },
9860
+ "engines": {
9861
+ "node": ">=18"
9862
+ }
9863
+ },
9864
+ "node_modules/lando/node_modules/which": {
9865
+ "version": "1.3.1",
9866
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
9867
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
9868
+ "license": "ISC",
9869
+ "dependencies": {
9870
+ "isexe": "^2.0.0"
9871
+ },
9872
+ "bin": {
9873
+ "which": "bin/which"
9874
+ }
9875
+ },
9736
9876
  "node_modules/lando/node_modules/yargs": {
9737
9877
  "version": "16.2.0",
9738
9878
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -11418,9 +11558,9 @@
11418
11558
  "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
11419
11559
  },
11420
11560
  "node_modules/semver": {
11421
- "version": "7.7.1",
11422
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
11423
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
11561
+ "version": "7.7.2",
11562
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
11563
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
11424
11564
  "license": "ISC",
11425
11565
  "bin": {
11426
11566
  "semver": "bin/semver.js"
@@ -11463,141 +11603,18 @@
11463
11603
  }
11464
11604
  },
11465
11605
  "node_modules/shelljs": {
11466
- "version": "0.9.2",
11467
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.9.2.tgz",
11468
- "integrity": "sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==",
11606
+ "version": "0.10.0",
11607
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz",
11608
+ "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==",
11469
11609
  "license": "BSD-3-Clause",
11470
11610
  "dependencies": {
11471
- "execa": "^1.0.0",
11472
- "fast-glob": "^3.3.2",
11473
- "interpret": "^1.0.0",
11474
- "rechoir": "^0.6.2"
11475
- },
11476
- "bin": {
11477
- "shjs": "bin/shjs"
11611
+ "execa": "^5.1.1",
11612
+ "fast-glob": "^3.3.2"
11478
11613
  },
11479
11614
  "engines": {
11480
11615
  "node": ">=18"
11481
11616
  }
11482
11617
  },
11483
- "node_modules/shelljs/node_modules/cross-spawn": {
11484
- "version": "6.0.6",
11485
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
11486
- "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
11487
- "license": "MIT",
11488
- "dependencies": {
11489
- "nice-try": "^1.0.4",
11490
- "path-key": "^2.0.1",
11491
- "semver": "^5.5.0",
11492
- "shebang-command": "^1.2.0",
11493
- "which": "^1.2.9"
11494
- },
11495
- "engines": {
11496
- "node": ">=4.8"
11497
- }
11498
- },
11499
- "node_modules/shelljs/node_modules/execa": {
11500
- "version": "1.0.0",
11501
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
11502
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
11503
- "license": "MIT",
11504
- "dependencies": {
11505
- "cross-spawn": "^6.0.0",
11506
- "get-stream": "^4.0.0",
11507
- "is-stream": "^1.1.0",
11508
- "npm-run-path": "^2.0.0",
11509
- "p-finally": "^1.0.0",
11510
- "signal-exit": "^3.0.0",
11511
- "strip-eof": "^1.0.0"
11512
- },
11513
- "engines": {
11514
- "node": ">=6"
11515
- }
11516
- },
11517
- "node_modules/shelljs/node_modules/get-stream": {
11518
- "version": "4.1.0",
11519
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
11520
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
11521
- "license": "MIT",
11522
- "dependencies": {
11523
- "pump": "^3.0.0"
11524
- },
11525
- "engines": {
11526
- "node": ">=6"
11527
- }
11528
- },
11529
- "node_modules/shelljs/node_modules/is-stream": {
11530
- "version": "1.1.0",
11531
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
11532
- "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
11533
- "license": "MIT",
11534
- "engines": {
11535
- "node": ">=0.10.0"
11536
- }
11537
- },
11538
- "node_modules/shelljs/node_modules/npm-run-path": {
11539
- "version": "2.0.2",
11540
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
11541
- "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
11542
- "license": "MIT",
11543
- "dependencies": {
11544
- "path-key": "^2.0.0"
11545
- },
11546
- "engines": {
11547
- "node": ">=4"
11548
- }
11549
- },
11550
- "node_modules/shelljs/node_modules/path-key": {
11551
- "version": "2.0.1",
11552
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
11553
- "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
11554
- "license": "MIT",
11555
- "engines": {
11556
- "node": ">=4"
11557
- }
11558
- },
11559
- "node_modules/shelljs/node_modules/semver": {
11560
- "version": "5.7.2",
11561
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
11562
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
11563
- "license": "ISC",
11564
- "bin": {
11565
- "semver": "bin/semver"
11566
- }
11567
- },
11568
- "node_modules/shelljs/node_modules/shebang-command": {
11569
- "version": "1.2.0",
11570
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
11571
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
11572
- "license": "MIT",
11573
- "dependencies": {
11574
- "shebang-regex": "^1.0.0"
11575
- },
11576
- "engines": {
11577
- "node": ">=0.10.0"
11578
- }
11579
- },
11580
- "node_modules/shelljs/node_modules/shebang-regex": {
11581
- "version": "1.0.0",
11582
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
11583
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
11584
- "license": "MIT",
11585
- "engines": {
11586
- "node": ">=0.10.0"
11587
- }
11588
- },
11589
- "node_modules/shelljs/node_modules/which": {
11590
- "version": "1.3.1",
11591
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
11592
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
11593
- "license": "ISC",
11594
- "dependencies": {
11595
- "isexe": "^2.0.0"
11596
- },
11597
- "bin": {
11598
- "which": "bin/which"
11599
- }
11600
- },
11601
11618
  "node_modules/side-channel": {
11602
11619
  "version": "1.0.4",
11603
11620
  "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
@@ -13605,9 +13622,9 @@
13605
13622
  }
13606
13623
  },
13607
13624
  "@babel/cli": {
13608
- "version": "7.27.1",
13609
- "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.1.tgz",
13610
- "integrity": "sha512-uW6vyhrV/YB9f3QFyPX2sMmDTID853+f3rOsTvH9q/FsL+e40GKqdMy5fdnGBvXsk5WiWJuMhR6sl03/x+XqqA==",
13625
+ "version": "7.27.2",
13626
+ "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.27.2.tgz",
13627
+ "integrity": "sha512-cfd7DnGlhH6OIyuPSSj3vcfIdnbXukhAyKY8NaZrFadC7pXyL9mOL5WgjcptiEJLi5k3j8aYvLIVCzezrWTaiA==",
13611
13628
  "dev": true,
13612
13629
  "requires": {
13613
13630
  "@jridgewell/trace-mapping": "^0.3.25",
@@ -13657,9 +13674,9 @@
13657
13674
  }
13658
13675
  },
13659
13676
  "@babel/compat-data": {
13660
- "version": "7.27.1",
13661
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz",
13662
- "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==",
13677
+ "version": "7.27.2",
13678
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz",
13679
+ "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==",
13663
13680
  "dev": true
13664
13681
  },
13665
13682
  "@babel/core": {
@@ -13760,12 +13777,12 @@
13760
13777
  }
13761
13778
  },
13762
13779
  "@babel/helper-compilation-targets": {
13763
- "version": "7.27.1",
13764
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz",
13765
- "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==",
13780
+ "version": "7.27.2",
13781
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
13782
+ "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
13766
13783
  "dev": true,
13767
13784
  "requires": {
13768
- "@babel/compat-data": "^7.27.1",
13785
+ "@babel/compat-data": "^7.27.2",
13769
13786
  "@babel/helper-validator-option": "^7.27.1",
13770
13787
  "browserslist": "^4.24.0",
13771
13788
  "lru-cache": "^5.1.1",
@@ -14466,13 +14483,14 @@
14466
14483
  }
14467
14484
  },
14468
14485
  "@babel/plugin-transform-object-rest-spread": {
14469
- "version": "7.27.1",
14470
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.1.tgz",
14471
- "integrity": "sha512-/sSliVc9gHE20/7D5qsdGlq7RG5NCDTWsAhyqzGuq174EtWJoGzIu1BQ7G56eDsTcy1jseBZwv50olSdXOlGuA==",
14486
+ "version": "7.27.2",
14487
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz",
14488
+ "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==",
14472
14489
  "dev": true,
14473
14490
  "requires": {
14474
- "@babel/helper-compilation-targets": "^7.27.1",
14491
+ "@babel/helper-compilation-targets": "^7.27.2",
14475
14492
  "@babel/helper-plugin-utils": "^7.27.1",
14493
+ "@babel/plugin-transform-destructuring": "^7.27.1",
14476
14494
  "@babel/plugin-transform-parameters": "^7.27.1"
14477
14495
  }
14478
14496
  },
@@ -14671,13 +14689,13 @@
14671
14689
  }
14672
14690
  },
14673
14691
  "@babel/preset-env": {
14674
- "version": "7.27.1",
14675
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.1.tgz",
14676
- "integrity": "sha512-TZ5USxFpLgKDpdEt8YWBR7p6g+bZo6sHaXLqP2BY/U0acaoI8FTVflcYCr/v94twM1C5IWFdZ/hscq9WjUeLXA==",
14692
+ "version": "7.27.2",
14693
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.27.2.tgz",
14694
+ "integrity": "sha512-Ma4zSuYSlGNRlCLO+EAzLnCmJK2vdstgv+n7aUP+/IKZrOfWHOJVdSJtuub8RzHTj3ahD37k5OKJWvzf16TQyQ==",
14677
14695
  "dev": true,
14678
14696
  "requires": {
14679
- "@babel/compat-data": "^7.27.1",
14680
- "@babel/helper-compilation-targets": "^7.27.1",
14697
+ "@babel/compat-data": "^7.27.2",
14698
+ "@babel/helper-compilation-targets": "^7.27.2",
14681
14699
  "@babel/helper-plugin-utils": "^7.27.1",
14682
14700
  "@babel/helper-validator-option": "^7.27.1",
14683
14701
  "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
@@ -14719,7 +14737,7 @@
14719
14737
  "@babel/plugin-transform-new-target": "^7.27.1",
14720
14738
  "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
14721
14739
  "@babel/plugin-transform-numeric-separator": "^7.27.1",
14722
- "@babel/plugin-transform-object-rest-spread": "^7.27.1",
14740
+ "@babel/plugin-transform-object-rest-spread": "^7.27.2",
14723
14741
  "@babel/plugin-transform-object-super": "^7.27.1",
14724
14742
  "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
14725
14743
  "@babel/plugin-transform-optional-chaining": "^7.27.1",
@@ -16122,9 +16140,9 @@
16122
16140
  "dev": true
16123
16141
  },
16124
16142
  "@types/node": {
16125
- "version": "22.14.1",
16126
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.14.1.tgz",
16127
- "integrity": "sha512-u0HuPQwe/dHrItgHHpmw3N2fYCR6x4ivMNbPHRkBVP4CvN+kiRrKHWk3i8tXiO/joPwXLMYvF9TTF0eqgHIuOw==",
16143
+ "version": "22.15.18",
16144
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.18.tgz",
16145
+ "integrity": "sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==",
16128
16146
  "requires": {
16129
16147
  "undici-types": "~6.21.0"
16130
16148
  }
@@ -16155,9 +16173,9 @@
16155
16173
  "dev": true
16156
16174
  },
16157
16175
  "@types/shelljs": {
16158
- "version": "0.8.15",
16159
- "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.15.tgz",
16160
- "integrity": "sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==",
16176
+ "version": "0.8.16",
16177
+ "resolved": "https://registry.npmjs.org/@types/shelljs/-/shelljs-0.8.16.tgz",
16178
+ "integrity": "sha512-40SUXiH0tZfAg/oKkkGF1kdHPAmE4slv2xAmbfa8VtE6ztHYwdpW2phlzHTVdJh5JOGqA3Cx1Hzp7kxFalKHYA==",
16161
16179
  "dev": true,
16162
16180
  "requires": {
16163
16181
  "@types/glob": "~7.2.0",
@@ -17455,9 +17473,9 @@
17455
17473
  "dev": true
17456
17474
  },
17457
17475
  "debug": {
17458
- "version": "4.4.0",
17459
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
17460
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
17476
+ "version": "4.4.1",
17477
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
17478
+ "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
17461
17479
  "requires": {
17462
17480
  "ms": "^2.1.3"
17463
17481
  }
@@ -20371,6 +20389,47 @@
20371
20389
  "resolved": "https://registry.npmjs.org/copy-dir/-/copy-dir-1.3.0.tgz",
20372
20390
  "integrity": "sha512-Q4+qBFnN4bwGwvtXXzbp4P/4iNk0MaiGAzvQ8OiMtlLjkIKjmNN689uVzShSM0908q7GoFHXIPx4zi75ocoaHw=="
20373
20391
  },
20392
+ "cross-spawn": {
20393
+ "version": "6.0.6",
20394
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
20395
+ "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
20396
+ "requires": {
20397
+ "nice-try": "^1.0.4",
20398
+ "path-key": "^2.0.1",
20399
+ "semver": "^5.5.0",
20400
+ "shebang-command": "^1.2.0",
20401
+ "which": "^1.2.9"
20402
+ },
20403
+ "dependencies": {
20404
+ "semver": {
20405
+ "version": "5.7.2",
20406
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
20407
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
20408
+ }
20409
+ }
20410
+ },
20411
+ "execa": {
20412
+ "version": "1.0.0",
20413
+ "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
20414
+ "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
20415
+ "requires": {
20416
+ "cross-spawn": "^6.0.0",
20417
+ "get-stream": "^4.0.0",
20418
+ "is-stream": "^1.1.0",
20419
+ "npm-run-path": "^2.0.0",
20420
+ "p-finally": "^1.0.0",
20421
+ "signal-exit": "^3.0.0",
20422
+ "strip-eof": "^1.0.0"
20423
+ }
20424
+ },
20425
+ "get-stream": {
20426
+ "version": "4.1.0",
20427
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
20428
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
20429
+ "requires": {
20430
+ "pump": "^3.0.0"
20431
+ }
20432
+ },
20374
20433
  "glob": {
20375
20434
  "version": "10.4.5",
20376
20435
  "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
@@ -20384,6 +20443,11 @@
20384
20443
  "path-scurry": "^1.11.1"
20385
20444
  }
20386
20445
  },
20446
+ "is-stream": {
20447
+ "version": "1.1.0",
20448
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
20449
+ "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ=="
20450
+ },
20387
20451
  "minimatch": {
20388
20452
  "version": "9.0.5",
20389
20453
  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
@@ -20392,6 +20456,51 @@
20392
20456
  "brace-expansion": "^2.0.1"
20393
20457
  }
20394
20458
  },
20459
+ "npm-run-path": {
20460
+ "version": "2.0.2",
20461
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
20462
+ "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
20463
+ "requires": {
20464
+ "path-key": "^2.0.0"
20465
+ }
20466
+ },
20467
+ "path-key": {
20468
+ "version": "2.0.1",
20469
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
20470
+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw=="
20471
+ },
20472
+ "shebang-command": {
20473
+ "version": "1.2.0",
20474
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
20475
+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
20476
+ "requires": {
20477
+ "shebang-regex": "^1.0.0"
20478
+ }
20479
+ },
20480
+ "shebang-regex": {
20481
+ "version": "1.0.0",
20482
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
20483
+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ=="
20484
+ },
20485
+ "shelljs": {
20486
+ "version": "0.9.2",
20487
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.9.2.tgz",
20488
+ "integrity": "sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==",
20489
+ "requires": {
20490
+ "execa": "^1.0.0",
20491
+ "fast-glob": "^3.3.2",
20492
+ "interpret": "^1.0.0",
20493
+ "rechoir": "^0.6.2"
20494
+ }
20495
+ },
20496
+ "which": {
20497
+ "version": "1.3.1",
20498
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
20499
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
20500
+ "requires": {
20501
+ "isexe": "^2.0.0"
20502
+ }
20503
+ },
20395
20504
  "yargs": {
20396
20505
  "version": "16.2.0",
20397
20506
  "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -21609,9 +21718,9 @@
21609
21718
  "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
21610
21719
  },
21611
21720
  "semver": {
21612
- "version": "7.7.1",
21613
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
21614
- "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="
21721
+ "version": "7.7.2",
21722
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
21723
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA=="
21615
21724
  },
21616
21725
  "set-function-name": {
21617
21726
  "version": "2.0.1",
@@ -21638,94 +21747,12 @@
21638
21747
  "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
21639
21748
  },
21640
21749
  "shelljs": {
21641
- "version": "0.9.2",
21642
- "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.9.2.tgz",
21643
- "integrity": "sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==",
21750
+ "version": "0.10.0",
21751
+ "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.10.0.tgz",
21752
+ "integrity": "sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==",
21644
21753
  "requires": {
21645
- "execa": "^1.0.0",
21646
- "fast-glob": "^3.3.2",
21647
- "interpret": "^1.0.0",
21648
- "rechoir": "^0.6.2"
21649
- },
21650
- "dependencies": {
21651
- "cross-spawn": {
21652
- "version": "6.0.6",
21653
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
21654
- "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
21655
- "requires": {
21656
- "nice-try": "^1.0.4",
21657
- "path-key": "^2.0.1",
21658
- "semver": "^5.5.0",
21659
- "shebang-command": "^1.2.0",
21660
- "which": "^1.2.9"
21661
- }
21662
- },
21663
- "execa": {
21664
- "version": "1.0.0",
21665
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
21666
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
21667
- "requires": {
21668
- "cross-spawn": "^6.0.0",
21669
- "get-stream": "^4.0.0",
21670
- "is-stream": "^1.1.0",
21671
- "npm-run-path": "^2.0.0",
21672
- "p-finally": "^1.0.0",
21673
- "signal-exit": "^3.0.0",
21674
- "strip-eof": "^1.0.0"
21675
- }
21676
- },
21677
- "get-stream": {
21678
- "version": "4.1.0",
21679
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
21680
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
21681
- "requires": {
21682
- "pump": "^3.0.0"
21683
- }
21684
- },
21685
- "is-stream": {
21686
- "version": "1.1.0",
21687
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
21688
- "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ=="
21689
- },
21690
- "npm-run-path": {
21691
- "version": "2.0.2",
21692
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
21693
- "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
21694
- "requires": {
21695
- "path-key": "^2.0.0"
21696
- }
21697
- },
21698
- "path-key": {
21699
- "version": "2.0.1",
21700
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
21701
- "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw=="
21702
- },
21703
- "semver": {
21704
- "version": "5.7.2",
21705
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
21706
- "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g=="
21707
- },
21708
- "shebang-command": {
21709
- "version": "1.2.0",
21710
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
21711
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
21712
- "requires": {
21713
- "shebang-regex": "^1.0.0"
21714
- }
21715
- },
21716
- "shebang-regex": {
21717
- "version": "1.0.0",
21718
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
21719
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ=="
21720
- },
21721
- "which": {
21722
- "version": "1.3.1",
21723
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
21724
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
21725
- "requires": {
21726
- "isexe": "^2.0.0"
21727
- }
21728
- }
21754
+ "execa": "^5.1.1",
21755
+ "fast-glob": "^3.3.2"
21729
21756
  }
21730
21757
  },
21731
21758
  "side-channel": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automattic/vip",
3
- "version": "3.14.1-dev.0",
3
+ "version": "3.15.0",
4
4
  "description": "The VIP Javascript library & CLI",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -108,9 +108,9 @@
108
108
  "homepage": "https://github.com/Automattic/vip#readme",
109
109
  "devDependencies": {
110
110
  "@automattic/eslint-plugin-wpvip": "0.13.1",
111
- "@babel/cli": "7.27.1",
111
+ "@babel/cli": "7.27.2",
112
112
  "@babel/core": "7.27.1",
113
- "@babel/preset-env": "7.27.1",
113
+ "@babel/preset-env": "7.27.2",
114
114
  "@babel/preset-typescript": "7.27.1",
115
115
  "@jest/globals": "^29.7.0",
116
116
  "@jest/test-sequencer": "^29.7.0",
@@ -151,7 +151,7 @@
151
151
  "cli-columns": "^4.0.0",
152
152
  "cli-table3": "^0.6.3",
153
153
  "configstore": "5.0.1",
154
- "debug": "4.4.0",
154
+ "debug": "4.4.1",
155
155
  "ejs": "^3.1.8",
156
156
  "enquirer": "2.4.1",
157
157
  "fetch-retry": "^6.0.0",
@@ -166,8 +166,8 @@
166
166
  "node-stream-zip": "1.15.0",
167
167
  "open": "^10.0.0",
168
168
  "proxy-from-env": "^1.1.0",
169
- "semver": "7.7.1",
170
- "shelljs": "^0.9.1",
169
+ "semver": "7.7.2",
170
+ "shelljs": "^0.10.0",
171
171
  "socket.io-client": "^4.5.3",
172
172
  "socket.io-stream": "npm:@wearemothership/socket.io-stream@^0.9.1",
173
173
  "socks-proxy-agent": "^5.0.1",