@wavemaker/angular-app 11.14.1-16.6412 → 11.14.1-16.6418

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.
@@ -99707,11 +99707,11 @@ const getRowActionAttrs = attrs => {
99707
99707
  return tmpl;
99708
99708
  };
99709
99709
 
99710
- const $RAF$1 = window.requestAnimationFrame;
99710
+ const $RAF = window.requestAnimationFrame;
99711
99711
  const $RAFQueue = [];
99712
99712
  const invokeLater = fn => {
99713
99713
  if (!$RAFQueue.length) {
99714
- $RAF$1(() => {
99714
+ $RAF(() => {
99715
99715
  $RAFQueue.forEach(f => f());
99716
99716
  $RAFQueue.length = 0;
99717
99717
  });
@@ -100253,83 +100253,223 @@ const getFnForEventExpr = (expr) => {
100253
100253
  return fnExecutor(expr, ExpressionType.Action);
100254
100254
  };
100255
100255
 
100256
+ // Constants
100257
+ const WIDGET_ID_REGEX = /^(widget-[^_]+)/;
100258
+ const WIDGET_PROPERTY_REGEX = /^widget-[^_]+_(.+)$/;
100259
+ const ARRAY_INDEX_PLACEHOLDER = '[$i]';
100260
+ const ARRAY_INDEX_ZERO = '[0]';
100256
100261
  const registry = new Map();
100257
100262
  const watchIdGenerator = new IDGenerator('watch-id-');
100258
- const FIRST_TIME_WATCH = {};
100259
- Object.freeze(FIRST_TIME_WATCH);
100263
+ const FIRST_TIME_WATCH = Object.freeze({});
100264
+ /**
100265
+ * Extracts widget ID from identifier (e.g., "widget-id23_eventsource" -> "widget-id23")
100266
+ */
100267
+ const getWidgetId = (identifier) => {
100268
+ if (!identifier || typeof identifier !== 'string') {
100269
+ return null;
100270
+ }
100271
+ const match = identifier.match(WIDGET_ID_REGEX);
100272
+ return match ? match[1] : null;
100273
+ };
100274
+ /**
100275
+ * Extracts property name from identifier (e.g., "widget-id23_eventsource" -> "eventsource")
100276
+ */
100277
+ const getPropertyName = (identifier) => {
100278
+ if (!identifier || typeof identifier !== 'string') {
100279
+ return identifier;
100280
+ }
100281
+ const match = identifier.match(WIDGET_PROPERTY_REGEX);
100282
+ return match ? match[1] : identifier;
100283
+ };
100284
+ /**
100285
+ * Array consumer wrapper for array-based expressions
100286
+ */
100260
100287
  const arrayConsumer = (listenerFn, restExpr, newVal, oldVal) => {
100261
- let data = newVal, formattedData;
100262
- if (_.isArray(data)) {
100263
- formattedData = data.map(function (datum) {
100264
- return findValueOf(datum, restExpr);
100265
- });
100266
- // If resulting structure is an array of array, flatten it
100267
- if (_.isArray(formattedData[0])) {
100268
- formattedData = _.flatten(formattedData);
100269
- }
100270
- listenerFn(formattedData, oldVal);
100288
+ if (!isArray(newVal)) {
100289
+ return;
100290
+ }
100291
+ let formattedData = newVal.map(datum => findValueOf(datum, restExpr));
100292
+ // Flatten if result is array of arrays
100293
+ if (isArray(formattedData[0])) {
100294
+ formattedData = flatten$1(formattedData);
100271
100295
  }
100296
+ listenerFn(formattedData, oldVal);
100272
100297
  };
100273
- const getUpdatedWatcInfo = (expr, acceptsArray, listener) => {
100274
- // listener doesn't accept array
100275
- // replace all `[$i]` with `[0]` and return the expression
100276
- let regex = /\[\$i\]/g, $I = '[$i]', $0 = '[0]';
100298
+ /**
100299
+ * Updates watch info for array expressions
100300
+ */
100301
+ const getUpdatedWatchInfo = (expr, acceptsArray, listener) => {
100302
+ const regex = /\[\$i\]/g;
100277
100303
  if (!acceptsArray) {
100278
100304
  return {
100279
- 'expr': expr.replace(regex, $0),
100280
- 'listener': listener
100305
+ expr: expr.replace(regex, ARRAY_INDEX_ZERO),
100306
+ listener
100281
100307
  };
100282
100308
  }
100283
- // listener accepts array
100284
- // replace all except the last `[$i]` with `[0]` and return the expression.
100285
- var index = expr.lastIndexOf($I), _expr = expr.substr(0, index).replace($I, $0), restExpr = expr.substr(index + 5), arrayConsumerFn = listener;
100286
- if (restExpr) {
100287
- arrayConsumerFn = arrayConsumer.bind(undefined, listener, restExpr);
100288
- }
100309
+ const lastIndex = expr.lastIndexOf(ARRAY_INDEX_PLACEHOLDER);
100310
+ const baseExpr = expr.substring(0, lastIndex).replace(ARRAY_INDEX_PLACEHOLDER, ARRAY_INDEX_ZERO);
100311
+ const restExpr = expr.substring(lastIndex + 5);
100312
+ const arrayConsumerFn = restExpr
100313
+ ? arrayConsumer.bind(undefined, listener, restExpr)
100314
+ : listener;
100289
100315
  return {
100290
- 'expr': _expr,
100291
- 'listener': arrayConsumerFn
100316
+ expr: baseExpr,
100317
+ listener: arrayConsumerFn
100292
100318
  };
100293
100319
  };
100320
+ /**
100321
+ * Determines if an expression is static (doesn't need to be watched)
100322
+ */
100323
+ const STATIC_EXPRESSION_NAMES = [
100324
+ "row.getProperty('investment')",
100325
+ "row.getProperty('factsheetLink')",
100326
+ "row.getProperty('isRebalanceEligible')"
100327
+ ];
100328
+ const isStaticExpression = (expr) => {
100329
+ if (typeof expr !== 'string') {
100330
+ return false;
100331
+ }
100332
+ const trimmedExpr = expr.trim();
100333
+ // Expressions that always evaluate to localization strings
100334
+ // if (trimmedExpr.includes('appLocale')) {
100335
+ // return true;
100336
+ // }
100337
+ // Hard-coded static expression names
100338
+ if (STATIC_EXPRESSION_NAMES.includes(trimmedExpr)) {
100339
+ return true;
100340
+ }
100341
+ return false;
100342
+ };
100343
+ /**
100344
+ * Gets the scope type from the scope object
100345
+ */
100346
+ const getScopeType = ($scope) => {
100347
+ if (!$scope) {
100348
+ return null;
100349
+ }
100350
+ if ($scope.pageName)
100351
+ return 'Page';
100352
+ if ($scope.prefabName)
100353
+ return 'Prefab';
100354
+ if ($scope.partialName)
100355
+ return 'Partial';
100356
+ // Check for App scope
100357
+ if ($scope.Variables !== undefined &&
100358
+ $scope.Actions !== undefined &&
100359
+ !$scope.pageName &&
100360
+ !$scope.prefabName &&
100361
+ !$scope.partialName) {
100362
+ return 'App';
100363
+ }
100364
+ if ($scope.constructor?.name === 'AppRef') {
100365
+ return 'App';
100366
+ }
100367
+ return null;
100368
+ };
100369
+ /**
100370
+ * Gets scope name based on scope type
100371
+ */
100372
+ const getScopeName = ($scope, scopeType) => {
100373
+ if (!scopeType || !$scope) {
100374
+ return null;
100375
+ }
100376
+ switch (scopeType) {
100377
+ case 'Prefab': return $scope.prefabName || null;
100378
+ case 'Partial': return $scope.partialName || null;
100379
+ case 'Page': return $scope.pageName || null;
100380
+ default: return null;
100381
+ }
100382
+ };
100383
+ /**
100384
+ * Main watch function
100385
+ */
100294
100386
  const $watch = (expr, $scope, $locals, listener, identifier = watchIdGenerator.nextUid(), doNotClone = false, config = {}, isMuted) => {
100295
- if (expr.indexOf('[$i]') !== -1) {
100296
- let watchInfo = getUpdatedWatcInfo(expr, config && (config.arrayType || config.isList), listener);
100387
+ // Handle array expressions
100388
+ if (expr.includes(ARRAY_INDEX_PLACEHOLDER)) {
100389
+ const watchInfo = getUpdatedWatchInfo(expr, config.arrayType || config.isList || false, listener);
100297
100390
  expr = watchInfo.expr;
100298
100391
  listener = watchInfo.listener;
100299
100392
  }
100393
+ // Handle static expressions
100394
+ if (isStaticExpression(expr)) {
100395
+ try {
100396
+ const fn = $parseExpr(expr);
100397
+ const staticValue = fn($scope, $locals);
100398
+ listener(staticValue, FIRST_TIME_WATCH);
100399
+ }
100400
+ catch (e) {
100401
+ console.warn(`Error evaluating static expression '${expr}':`, e);
100402
+ listener(undefined, FIRST_TIME_WATCH);
100403
+ }
100404
+ return () => { }; // No-op unsubscribe
100405
+ }
100300
100406
  const fn = $parseExpr();
100301
- registry.set(identifier, {
100302
- fn: fn.bind(expr, $scope, $locals),
100407
+ const scopeType = getScopeType($scope);
100408
+ const scopeName = getScopeName($scope, scopeType);
100409
+ const destroyFn = () => $unwatch(identifier);
100410
+ const watchInfo = {
100411
+ fn: fn.bind(null, $scope, $locals),
100303
100412
  listener,
100304
100413
  expr,
100305
100414
  last: FIRST_TIME_WATCH,
100306
100415
  doNotClone,
100307
- isMuted: isMuted
100308
- });
100309
- return () => $unwatch(identifier);
100416
+ isMuted,
100417
+ scopeType,
100418
+ scopeName,
100419
+ destroyFn
100420
+ };
100421
+ // Store in registry
100422
+ const widgetId = getWidgetId(identifier);
100423
+ if (widgetId) {
100424
+ const propertyName = getPropertyName(identifier);
100425
+ if (!registry.has(widgetId)) {
100426
+ registry.set(widgetId, {});
100427
+ }
100428
+ const widgetGroup = registry.get(widgetId);
100429
+ widgetGroup[propertyName] = watchInfo;
100430
+ }
100431
+ else {
100432
+ registry.set(identifier, watchInfo);
100433
+ }
100434
+ return destroyFn;
100310
100435
  };
100311
- const $unwatch = identifier => registry.delete(identifier);
100312
- window.watchRegistry = registry;
100313
- window.__WM_DEBUG_WATCHERS__ = false;
100314
- /*export const $invokeWatchers = (force?: boolean, ignoreMuted?: boolean) => {
100315
- if (force) {
100316
- triggerWatchers(ignoreMuted);
100317
- } else {
100318
-
100319
- if (skipWatchers) {
100320
- skipWatchers = false;
100321
- return;
100436
+ /**
100437
+ * Unwatches a single identifier
100438
+ */
100439
+ const $unwatch = (identifier) => {
100440
+ const widgetId = getWidgetId(identifier);
100441
+ if (widgetId) {
100442
+ const propertyName = getPropertyName(identifier);
100443
+ const widgetGroup = registry.get(widgetId);
100444
+ //@ts-ignore
100445
+ if (widgetGroup && typeof widgetGroup === 'object' && !widgetGroup.fn) {
100446
+ const watchInfo = widgetGroup[propertyName];
100447
+ if (watchInfo) {
100448
+ delete widgetGroup[propertyName];
100449
+ // Clean up empty widget groups
100450
+ if (Object.keys(widgetGroup).length === 0) {
100451
+ registry.delete(widgetId);
100452
+ }
100453
+ return true;
100454
+ }
100322
100455
  }
100323
- debouncedTriggerWatchers();
100324
100456
  }
100325
- };*/
100457
+ // Fallback to direct lookup
100458
+ if (registry.has(identifier)) {
100459
+ registry.delete(identifier);
100460
+ return true;
100461
+ }
100462
+ return false;
100463
+ };
100326
100464
  const $appDigest = (() => {
100327
- return (force) => {
100465
+ return (force = false) => {
100328
100466
  {
100329
100467
  return;
100330
100468
  }
100331
100469
  };
100332
100470
  })();
100471
+ // Export registry for debugging
100472
+ window.watchRegistry = registry;
100333
100473
 
100334
100474
  var ComponentType;
100335
100475
  (function (ComponentType) {
@@ -69,7 +69,7 @@
69
69
  <body>
70
70
  <div class="header">
71
71
  <h1>Angular Project Dependencies Report</h1>
72
- <p class="timestamp">Generated on: 2/12/2026, 8:44:47 PM</p>
72
+ <p class="timestamp">Generated on: 2/18/2026, 5:00:02 PM</p>
73
73
  </div>
74
74
 
75
75
  <div class="section">
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@wavemaker/angular-app",
3
- "version": "11.14.1-16.6412",
3
+ "version": "11.14.1-16.6418",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@wavemaker/angular-app",
9
- "version": "11.14.1-16.6412",
9
+ "version": "11.14.1-16.6418",
10
10
  "dependencies": {
11
11
  "@angular/animations": "18.2.13",
12
12
  "@angular/common": "18.2.13",
@@ -23,12 +23,12 @@
23
23
  "@fullcalendar/list": "6.1.18",
24
24
  "@fullcalendar/timegrid": "6.1.18",
25
25
  "@metrichor/jmespath": "0.3.1",
26
- "@wavemaker/app-ng-runtime": "11.14.1-16.6412",
27
- "@wavemaker/custom-widgets-m3": "11.14.1-16.6412",
26
+ "@wavemaker/app-ng-runtime": "11.14.1-16.6418",
27
+ "@wavemaker/custom-widgets-m3": "11.14.1-16.6418",
28
28
  "@wavemaker/focus-trap": "1.0.1",
29
- "@wavemaker/foundation-css": "11.14.1-16.6412",
29
+ "@wavemaker/foundation-css": "11.14.1-16.6418",
30
30
  "@wavemaker/nvd3": "1.8.15",
31
- "@wavemaker/variables": "11.14.1-16.6412",
31
+ "@wavemaker/variables": "11.14.1-16.6418",
32
32
  "@ztree/ztree_v3": "3.5.48",
33
33
  "acorn": "^8.15.0",
34
34
  "angular-imask": "7.6.1",
@@ -5603,27 +5603,6 @@
5603
5603
  "node": ">=18"
5604
5604
  }
5605
5605
  },
5606
- "node_modules/@isaacs/balanced-match": {
5607
- "version": "4.0.1",
5608
- "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
5609
- "dev": true,
5610
- "license": "MIT",
5611
- "engines": {
5612
- "node": "20 || >=22"
5613
- }
5614
- },
5615
- "node_modules/@isaacs/brace-expansion": {
5616
- "version": "5.0.1",
5617
- "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
5618
- "dev": true,
5619
- "license": "MIT",
5620
- "dependencies": {
5621
- "@isaacs/balanced-match": "^4.0.1"
5622
- },
5623
- "engines": {
5624
- "node": "20 || >=22"
5625
- }
5626
- },
5627
5606
  "node_modules/@isaacs/cliui": {
5628
5607
  "version": "8.0.2",
5629
5608
  "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
@@ -8055,13 +8034,34 @@
8055
8034
  "tinyglobby": "^0.2.14"
8056
8035
  }
8057
8036
  },
8037
+ "node_modules/@ts-morph/common/node_modules/balanced-match": {
8038
+ "version": "4.0.3",
8039
+ "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==",
8040
+ "dev": true,
8041
+ "license": "MIT",
8042
+ "engines": {
8043
+ "node": "20 || >=22"
8044
+ }
8045
+ },
8046
+ "node_modules/@ts-morph/common/node_modules/brace-expansion": {
8047
+ "version": "5.0.2",
8048
+ "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==",
8049
+ "dev": true,
8050
+ "license": "MIT",
8051
+ "dependencies": {
8052
+ "balanced-match": "^4.0.2"
8053
+ },
8054
+ "engines": {
8055
+ "node": "20 || >=22"
8056
+ }
8057
+ },
8058
8058
  "node_modules/@ts-morph/common/node_modules/minimatch": {
8059
- "version": "10.1.2",
8060
- "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==",
8059
+ "version": "10.2.1",
8060
+ "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==",
8061
8061
  "dev": true,
8062
8062
  "license": "BlueOak-1.0.0",
8063
8063
  "dependencies": {
8064
- "@isaacs/brace-expansion": "^5.0.1"
8064
+ "brace-expansion": "^5.0.2"
8065
8065
  },
8066
8066
  "engines": {
8067
8067
  "node": "20 || >=22"
@@ -8981,8 +8981,8 @@
8981
8981
  }
8982
8982
  },
8983
8983
  "node_modules/@wavemaker/app-ng-runtime": {
8984
- "version": "11.14.1-16.6412",
8985
- "integrity": "sha512-pnqu5dn5I1ZxqfvB+MWmPtaEc7dppXNy9Y7z/iEpkqFal8zKOAAmXcPz9LN6wXAyVl8Vyw4dbFnPv3zKm1P5PQ==",
8984
+ "version": "11.14.1-16.6418",
8985
+ "integrity": "sha512-hK+nbBSF5ecqnOzmUHfp++jHkKCtj5Pg+xO+I6nkkcshm5Jh/LGzIJBdGbSQgrUf3xL1wb/bMP9a9CU5gW3PUw==",
8986
8986
  "license": "MIT",
8987
8987
  "engines": {
8988
8988
  "node": ">=18.16.1",
@@ -8990,8 +8990,8 @@
8990
8990
  }
8991
8991
  },
8992
8992
  "node_modules/@wavemaker/custom-widgets-m3": {
8993
- "version": "11.14.1-16.6412",
8994
- "integrity": "sha512-ZW8lETDo63zPHdNQVbaQswT2y0nz/6t+7N15E7xfLBeDUhqqiinPaAGc6WfOj1y07oRWqLJupViTWxVjJ0x+jg==",
8993
+ "version": "11.14.1-16.6418",
8994
+ "integrity": "sha512-IllU6Zq7aHOdPTmphC4Ide3KEKenBqAMgsvac8plF+UqzGLUIzH8t8NdYC+WLnv05RVDK0ASN73CNBSkTKQ+qA==",
8995
8995
  "license": "ISC"
8996
8996
  },
8997
8997
  "node_modules/@wavemaker/focus-trap": {
@@ -9004,8 +9004,8 @@
9004
9004
  }
9005
9005
  },
9006
9006
  "node_modules/@wavemaker/foundation-css": {
9007
- "version": "11.14.1-16.6412",
9008
- "integrity": "sha512-R2uuOmV8UHXhnW+yiFUdC2/BXLtrvZQDg8vOeAiD+gAkqimpIG9/vlPIBAFYUxO9uoeWqCJYSUtVgySohp/dNg==",
9007
+ "version": "11.14.1-16.6418",
9008
+ "integrity": "sha512-HAmdjtu3JzwLWxsc31uvtD6dr0Td6muf+mjrHat21RVIgx+7d1hrKJObZhZW22kTPlS68dVCXTaUOlQhC8ezmQ==",
9009
9009
  "license": "ISC",
9010
9010
  "dependencies": {
9011
9011
  "chroma-js": "^3.1.2"
@@ -9020,8 +9020,8 @@
9020
9020
  }
9021
9021
  },
9022
9022
  "node_modules/@wavemaker/variables": {
9023
- "version": "11.14.1-16.6412",
9024
- "integrity": "sha512-qop5CJLknrnR3up0eICv3lXRrFrkI1HBBcQyTzfmtHI08ETky8KV2u7YrB7dF8OvaURqtgjhuUVagrTxwyJ/Og==",
9023
+ "version": "11.14.1-16.6418",
9024
+ "integrity": "sha512-FEfH+Pl3pM+2cbx+9q1JyCgUBC5g0FtmbjSPQ9Zfi2im56RG+29er0Drh9qUpk+kA+TdRx6RmCa5JL09UWWNqQ==",
9025
9025
  "license": "ISC",
9026
9026
  "dependencies": {
9027
9027
  "@metrichor/jmespath": "^0.3.1",
@@ -10241,8 +10241,8 @@
10241
10241
  }
10242
10242
  },
10243
10243
  "node_modules/caniuse-lite": {
10244
- "version": "1.0.30001769",
10245
- "integrity": "sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==",
10244
+ "version": "1.0.30001770",
10245
+ "integrity": "sha512-x/2CLQ1jHENRbHg5PSId2sXq1CIO1CISvwWAj027ltMVG2UNgW+w9oH2+HzgEIRFembL8bUlXtfbBHR1fCg2xw==",
10246
10246
  "dev": true,
10247
10247
  "funding": [
10248
10248
  {
@@ -12687,6 +12687,21 @@
12687
12687
  "node": ">= 0.6"
12688
12688
  }
12689
12689
  },
12690
+ "node_modules/express/node_modules/qs": {
12691
+ "version": "6.14.2",
12692
+ "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==",
12693
+ "dev": true,
12694
+ "license": "BSD-3-Clause",
12695
+ "dependencies": {
12696
+ "side-channel": "^1.1.0"
12697
+ },
12698
+ "engines": {
12699
+ "node": ">=0.6"
12700
+ },
12701
+ "funding": {
12702
+ "url": "https://github.com/sponsors/ljharb"
12703
+ }
12704
+ },
12690
12705
  "node_modules/express/node_modules/raw-body": {
12691
12706
  "version": "2.5.3",
12692
12707
  "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
@@ -13395,12 +13410,12 @@
13395
13410
  }
13396
13411
  },
13397
13412
  "node_modules/glob": {
13398
- "version": "13.0.2",
13399
- "integrity": "sha512-035InabNu/c1lW0tzPhAgapKctblppqsKKG9ZaNzbr+gXwWMjXoiyGSyB9sArzrjG7jY+zntRq5ZSUYemrnWVQ==",
13413
+ "version": "13.0.5",
13414
+ "integrity": "sha512-BzXxZg24Ibra1pbQ/zE7Kys4Ua1ks7Bn6pKLkVPZ9FZe4JQS6/Q7ef3LG1H+k7lUf5l4T3PLSyYyYJVYUvfgTw==",
13400
13415
  "dev": true,
13401
13416
  "license": "BlueOak-1.0.0",
13402
13417
  "dependencies": {
13403
- "minimatch": "^10.1.2",
13418
+ "minimatch": "^10.2.1",
13404
13419
  "minipass": "^7.1.2",
13405
13420
  "path-scurry": "^2.0.0"
13406
13421
  },
@@ -13445,13 +13460,34 @@
13445
13460
  "dev": true,
13446
13461
  "license": "BSD-2-Clause"
13447
13462
  },
13463
+ "node_modules/glob/node_modules/balanced-match": {
13464
+ "version": "4.0.3",
13465
+ "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==",
13466
+ "dev": true,
13467
+ "license": "MIT",
13468
+ "engines": {
13469
+ "node": "20 || >=22"
13470
+ }
13471
+ },
13472
+ "node_modules/glob/node_modules/brace-expansion": {
13473
+ "version": "5.0.2",
13474
+ "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==",
13475
+ "dev": true,
13476
+ "license": "MIT",
13477
+ "dependencies": {
13478
+ "balanced-match": "^4.0.2"
13479
+ },
13480
+ "engines": {
13481
+ "node": "20 || >=22"
13482
+ }
13483
+ },
13448
13484
  "node_modules/glob/node_modules/minimatch": {
13449
- "version": "10.1.2",
13450
- "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==",
13485
+ "version": "10.2.1",
13486
+ "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==",
13451
13487
  "dev": true,
13452
13488
  "license": "BlueOak-1.0.0",
13453
13489
  "dependencies": {
13454
- "@isaacs/brace-expansion": "^5.0.1"
13490
+ "brace-expansion": "^5.0.2"
13455
13491
  },
13456
13492
  "engines": {
13457
13493
  "node": "20 || >=22"
@@ -14703,8 +14739,8 @@
14703
14739
  "license": "MIT"
14704
14740
  },
14705
14741
  "node_modules/is-wsl": {
14706
- "version": "3.1.0",
14707
- "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
14742
+ "version": "3.1.1",
14743
+ "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==",
14708
14744
  "dev": true,
14709
14745
  "license": "MIT",
14710
14746
  "dependencies": {
@@ -16021,8 +16057,8 @@
16021
16057
  }
16022
16058
  },
16023
16059
  "node_modules/launch-editor": {
16024
- "version": "2.12.0",
16025
- "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==",
16060
+ "version": "2.13.0",
16061
+ "integrity": "sha512-u+9asUHMJ99lA15VRMXw5XKfySFR9dGXwgsgS14YTbUq3GITP58mIM32At90P5fZ+MUId5Yw+IwI/yKub7jnCQ==",
16026
16062
  "dev": true,
16027
16063
  "license": "MIT",
16028
16064
  "dependencies": {
@@ -19618,8 +19654,8 @@
19618
19654
  }
19619
19655
  },
19620
19656
  "node_modules/qs": {
19621
- "version": "6.14.2",
19622
- "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==",
19657
+ "version": "6.15.0",
19658
+ "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
19623
19659
  "dev": true,
19624
19660
  "license": "BSD-3-Clause",
19625
19661
  "dependencies": {
@@ -20133,6 +20169,27 @@
20133
20169
  "node": ">=18"
20134
20170
  }
20135
20171
  },
20172
+ "node_modules/rimraf/node_modules/balanced-match": {
20173
+ "version": "4.0.3",
20174
+ "integrity": "sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==",
20175
+ "dev": true,
20176
+ "license": "MIT",
20177
+ "engines": {
20178
+ "node": "20 || >=22"
20179
+ }
20180
+ },
20181
+ "node_modules/rimraf/node_modules/brace-expansion": {
20182
+ "version": "5.0.2",
20183
+ "integrity": "sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==",
20184
+ "dev": true,
20185
+ "license": "MIT",
20186
+ "dependencies": {
20187
+ "balanced-match": "^4.0.2"
20188
+ },
20189
+ "engines": {
20190
+ "node": "20 || >=22"
20191
+ }
20192
+ },
20136
20193
  "node_modules/rimraf/node_modules/glob": {
20137
20194
  "version": "11.1.0",
20138
20195
  "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==",
@@ -20173,12 +20230,12 @@
20173
20230
  }
20174
20231
  },
20175
20232
  "node_modules/rimraf/node_modules/minimatch": {
20176
- "version": "10.1.2",
20177
- "integrity": "sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==",
20233
+ "version": "10.2.1",
20234
+ "integrity": "sha512-MClCe8IL5nRRmawL6ib/eT4oLyeKMGCghibcDWK+J0hh0Q8kqSdia6BvbRMVk6mPa6WqUa5uR2oxt6C5jd533A==",
20178
20235
  "dev": true,
20179
20236
  "license": "BlueOak-1.0.0",
20180
20237
  "dependencies": {
20181
- "@isaacs/brace-expansion": "^5.0.1"
20238
+ "brace-expansion": "^5.0.2"
20182
20239
  },
20183
20240
  "engines": {
20184
20241
  "node": "20 || >=22"
@@ -22292,8 +22349,8 @@
22292
22349
  }
22293
22350
  },
22294
22351
  "node_modules/undici": {
22295
- "version": "7.21.0",
22296
- "integrity": "sha512-Hn2tCQpoDt1wv23a68Ctc8Cr/BHpUSfaPYrkajTXOS9IKpxVRx/X5m1K2YkbK2ipgZgxXSgsUinl3x+2YdSSfg==",
22352
+ "version": "7.22.0",
22353
+ "integrity": "sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==",
22297
22354
  "dev": true,
22298
22355
  "license": "MIT",
22299
22356
  "engines": {
@@ -23441,8 +23498,8 @@
23441
23498
  }
23442
23499
  },
23443
23500
  "node_modules/webpack-sources": {
23444
- "version": "3.3.3",
23445
- "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
23501
+ "version": "3.3.4",
23502
+ "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==",
23446
23503
  "dev": true,
23447
23504
  "license": "MIT",
23448
23505
  "engines": {