rollup 4.27.0 → 4.27.1-1

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.
package/dist/bin/rollup CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
2
  /*
3
3
  @license
4
- Rollup.js v4.27.0
5
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
4
+ Rollup.js v4.27.1-1
5
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
6
6
 
7
7
  https://github.com/rollup/rollup
8
8
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/es/rollup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -16,7 +16,7 @@ import { performance } from 'node:perf_hooks';
16
16
  import { lstat, realpath, readdir, readFile, mkdir, writeFile } from 'node:fs/promises';
17
17
  import * as tty from 'tty';
18
18
 
19
- var version = "4.27.0";
19
+ var version = "4.27.1-1";
20
20
 
21
21
  const comma = ','.charCodeAt(0);
22
22
  const semicolon = ';'.charCodeAt(0);
@@ -3068,7 +3068,7 @@ function getMemberReturnExpressionWhenCalled(members, memberName) {
3068
3068
  class SpreadElement extends NodeBase {
3069
3069
  deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
3070
3070
  if (path.length > 0) {
3071
- this.argument.deoptimizeArgumentsOnInteractionAtPath(interaction, [UnknownKey, ...path], recursionTracker);
3071
+ this.argument.deoptimizeArgumentsOnInteractionAtPath(interaction, UNKNOWN_PATH, recursionTracker);
3072
3072
  }
3073
3073
  }
3074
3074
  hasEffects(context) {
@@ -3368,7 +3368,7 @@ class ObjectEntity extends ExpressionEntity {
3368
3368
  : this.allProperties) {
3369
3369
  property.deoptimizePath(subPath);
3370
3370
  }
3371
- this.prototypeExpression?.deoptimizePath(path.length === 1 ? [...path, UnknownKey] : path);
3371
+ this.prototypeExpression?.deoptimizePath(path.length === 1 ? [path[0], UnknownKey] : path);
3372
3372
  }
3373
3373
  getLiteralValueAtPath(path, recursionTracker, origin) {
3374
3374
  if (path.length === 0) {
@@ -4837,6 +4837,22 @@ class GlobalVariable extends Variable {
4837
4837
  }
4838
4838
  }
4839
4839
 
4840
+ // To avoid infinite recursions
4841
+ const MAX_PATH_DEPTH = 6;
4842
+ // If a path is longer than MAX_PATH_DEPTH, it is truncated so that it is at
4843
+ // most MAX_PATH_DEPTH long. The last element is always UnknownKey
4844
+ const limitConcatenatedPathDepth = (path1, path2) => {
4845
+ const { length: length1 } = path1;
4846
+ const { length: length2 } = path2;
4847
+ return length1 === 0
4848
+ ? path2
4849
+ : length2 === 0
4850
+ ? path1
4851
+ : length1 + length2 > MAX_PATH_DEPTH
4852
+ ? [...path1, ...path2.slice(0, MAX_PATH_DEPTH - 1 - path1.length), 'UnknownKey']
4853
+ : [...path1, ...path2];
4854
+ };
4855
+
4840
4856
  class LocalVariable extends Variable {
4841
4857
  constructor(name, declarator, init,
4842
4858
  /** if this is non-empty, the actual init is this path of this.init */
@@ -4865,11 +4881,13 @@ class LocalVariable extends Variable {
4865
4881
  }
4866
4882
  }
4867
4883
  deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
4868
- if (this.isReassigned) {
4884
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
4869
4885
  deoptimizeInteraction(interaction);
4870
4886
  return;
4871
4887
  }
4872
- recursionTracker.withTrackedEntityAtPath(path, this.init, () => this.init.deoptimizeArgumentsOnInteractionAtPath(interaction, [...this.initPath, ...path], recursionTracker), undefined);
4888
+ recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
4889
+ this.init.deoptimizeArgumentsOnInteractionAtPath(interaction, [...this.initPath, ...path], recursionTracker);
4890
+ }, undefined);
4873
4891
  }
4874
4892
  deoptimizePath(path) {
4875
4893
  if (this.isReassigned ||
@@ -4886,11 +4904,11 @@ class LocalVariable extends Variable {
4886
4904
  this.init.deoptimizePath([...this.initPath, UnknownKey]);
4887
4905
  }
4888
4906
  else {
4889
- this.init.deoptimizePath([...this.initPath, ...path]);
4907
+ this.init.deoptimizePath(limitConcatenatedPathDepth(this.initPath, path));
4890
4908
  }
4891
4909
  }
4892
4910
  getLiteralValueAtPath(path, recursionTracker, origin) {
4893
- if (this.isReassigned) {
4911
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
4894
4912
  return UnknownValue;
4895
4913
  }
4896
4914
  return recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
@@ -4899,7 +4917,7 @@ class LocalVariable extends Variable {
4899
4917
  }, UnknownValue);
4900
4918
  }
4901
4919
  getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
4902
- if (this.isReassigned) {
4920
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
4903
4921
  return UNKNOWN_RETURN_EXPRESSION;
4904
4922
  }
4905
4923
  return recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
@@ -4908,6 +4926,9 @@ class LocalVariable extends Variable {
4908
4926
  }, UNKNOWN_RETURN_EXPRESSION);
4909
4927
  }
4910
4928
  hasEffectsOnInteractionAtPath(path, interaction, context) {
4929
+ if (path.length + this.initPath.length > MAX_PATH_DEPTH) {
4930
+ return true;
4931
+ }
4911
4932
  switch (interaction.type) {
4912
4933
  case INTERACTION_ACCESSED: {
4913
4934
  if (this.isReassigned)
@@ -4952,7 +4973,7 @@ class LocalVariable extends Variable {
4952
4973
  }
4953
4974
  // We need to make sure we include the correct path of the init
4954
4975
  if (path.length > 0) {
4955
- this.init.includePath([...this.initPath, ...path], context, false);
4976
+ this.init.includePath(limitConcatenatedPathDepth(this.initPath, path), context, false);
4956
4977
  this.additionalInitializers?.forEach(initializer => initializer.includePath(UNKNOWN_PATH, context, false));
4957
4978
  }
4958
4979
  }
@@ -5805,6 +5826,10 @@ class ParameterVariable extends LocalVariable {
5805
5826
  entity.deoptimizePath([...this.initPath, field]);
5806
5827
  }
5807
5828
  for (const { interaction, path } of this.deoptimizationInteractions) {
5829
+ if (this.initPath.length + path.length > MAX_PATH_DEPTH) {
5830
+ deoptimizeInteraction(interaction);
5831
+ continue;
5832
+ }
5808
5833
  entity.deoptimizeArgumentsOnInteractionAtPath(interaction, [...this.initPath, ...path], SHARED_RECURSION_TRACKER);
5809
5834
  }
5810
5835
  }
@@ -5871,7 +5896,7 @@ class ParameterVariable extends LocalVariable {
5871
5896
  return this.frozenValue;
5872
5897
  }
5873
5898
  getLiteralValueAtPath(path, recursionTracker, origin) {
5874
- if (this.isReassigned) {
5899
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
5875
5900
  return UnknownValue;
5876
5901
  }
5877
5902
  const knownValue = this.getKnownValue();
@@ -5880,7 +5905,9 @@ class ParameterVariable extends LocalVariable {
5880
5905
  }
5881
5906
  hasEffectsOnInteractionAtPath(path, interaction, context) {
5882
5907
  const { type } = interaction;
5883
- if (this.isReassigned || type === INTERACTION_ASSIGNED) {
5908
+ if (this.isReassigned ||
5909
+ type === INTERACTION_ASSIGNED ||
5910
+ path.length + this.initPath.length > MAX_PATH_DEPTH) {
5884
5911
  return super.hasEffectsOnInteractionAtPath(path, interaction, context);
5885
5912
  }
5886
5913
  return (!(type === INTERACTION_CALLED
@@ -6997,8 +7024,6 @@ function getChainElementLiteralValueAtPath(element, object, path, recursionTrack
6997
7024
  return element.getLiteralValueAtPath(path, recursionTracker, origin);
6998
7025
  }
6999
7026
 
7000
- // To avoid infinite recursions
7001
- const MAX_PATH_DEPTH = 7;
7002
7027
  function getResolvablePropertyKey(memberExpression) {
7003
7028
  return memberExpression.computed
7004
7029
  ? getResolvableComputedPropertyKey(memberExpression.property)
@@ -7123,11 +7148,13 @@ class MemberExpression extends NodeBase {
7123
7148
  if (this.variable) {
7124
7149
  this.variable.deoptimizePath(path);
7125
7150
  }
7126
- else if (!this.isUndefined && path.length < MAX_PATH_DEPTH) {
7151
+ else if (!this.isUndefined) {
7127
7152
  const propertyKey = this.getPropertyKey();
7128
7153
  this.object.deoptimizePath([
7129
7154
  propertyKey === UnknownKey ? UnknownNonAccessorKey : propertyKey,
7130
- ...path
7155
+ ...(path.length < MAX_PATH_DEPTH
7156
+ ? path
7157
+ : [...path.slice(0, MAX_PATH_DEPTH), UnknownKey])
7131
7158
  ]);
7132
7159
  }
7133
7160
  }
@@ -7219,7 +7246,12 @@ class MemberExpression extends NodeBase {
7219
7246
  includePath(path, context, includeChildrenRecursively) {
7220
7247
  if (!this.deoptimized)
7221
7248
  this.applyDeoptimizations();
7222
- this.includeProperties(path, [this.getPropertyKey(), ...path], context, includeChildrenRecursively);
7249
+ this.includeProperties(path, [
7250
+ this.getPropertyKey(),
7251
+ ...(path.length < MAX_PATH_DEPTH
7252
+ ? path
7253
+ : [...path.slice(0, MAX_PATH_DEPTH), UnknownKey])
7254
+ ], context, includeChildrenRecursively);
7223
7255
  }
7224
7256
  includeAsAssignmentTarget(context, includeChildrenRecursively, deoptimizeAccess) {
7225
7257
  if (!this.assignmentDeoptimized)
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/parseAst.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/rollup.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -31,7 +31,7 @@ function _interopNamespaceDefault(e) {
31
31
 
32
32
  const tty__namespace = /*#__PURE__*/_interopNamespaceDefault(tty);
33
33
 
34
- var version = "4.27.0";
34
+ var version = "4.27.1-1";
35
35
 
36
36
  function ensureArray$1(items) {
37
37
  if (Array.isArray(items)) {
@@ -4583,7 +4583,7 @@ function getMemberReturnExpressionWhenCalled(members, memberName) {
4583
4583
  class SpreadElement extends NodeBase {
4584
4584
  deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
4585
4585
  if (path.length > 0) {
4586
- this.argument.deoptimizeArgumentsOnInteractionAtPath(interaction, [UnknownKey, ...path], recursionTracker);
4586
+ this.argument.deoptimizeArgumentsOnInteractionAtPath(interaction, UNKNOWN_PATH, recursionTracker);
4587
4587
  }
4588
4588
  }
4589
4589
  hasEffects(context) {
@@ -4883,7 +4883,7 @@ class ObjectEntity extends ExpressionEntity {
4883
4883
  : this.allProperties) {
4884
4884
  property.deoptimizePath(subPath);
4885
4885
  }
4886
- this.prototypeExpression?.deoptimizePath(path.length === 1 ? [...path, UnknownKey] : path);
4886
+ this.prototypeExpression?.deoptimizePath(path.length === 1 ? [path[0], UnknownKey] : path);
4887
4887
  }
4888
4888
  getLiteralValueAtPath(path, recursionTracker, origin) {
4889
4889
  if (path.length === 0) {
@@ -6352,6 +6352,22 @@ class GlobalVariable extends Variable {
6352
6352
  }
6353
6353
  }
6354
6354
 
6355
+ // To avoid infinite recursions
6356
+ const MAX_PATH_DEPTH = 6;
6357
+ // If a path is longer than MAX_PATH_DEPTH, it is truncated so that it is at
6358
+ // most MAX_PATH_DEPTH long. The last element is always UnknownKey
6359
+ const limitConcatenatedPathDepth = (path1, path2) => {
6360
+ const { length: length1 } = path1;
6361
+ const { length: length2 } = path2;
6362
+ return length1 === 0
6363
+ ? path2
6364
+ : length2 === 0
6365
+ ? path1
6366
+ : length1 + length2 > MAX_PATH_DEPTH
6367
+ ? [...path1, ...path2.slice(0, MAX_PATH_DEPTH - 1 - path1.length), 'UnknownKey']
6368
+ : [...path1, ...path2];
6369
+ };
6370
+
6355
6371
  class LocalVariable extends Variable {
6356
6372
  constructor(name, declarator, init,
6357
6373
  /** if this is non-empty, the actual init is this path of this.init */
@@ -6380,11 +6396,13 @@ class LocalVariable extends Variable {
6380
6396
  }
6381
6397
  }
6382
6398
  deoptimizeArgumentsOnInteractionAtPath(interaction, path, recursionTracker) {
6383
- if (this.isReassigned) {
6399
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
6384
6400
  deoptimizeInteraction(interaction);
6385
6401
  return;
6386
6402
  }
6387
- recursionTracker.withTrackedEntityAtPath(path, this.init, () => this.init.deoptimizeArgumentsOnInteractionAtPath(interaction, [...this.initPath, ...path], recursionTracker), undefined);
6403
+ recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
6404
+ this.init.deoptimizeArgumentsOnInteractionAtPath(interaction, [...this.initPath, ...path], recursionTracker);
6405
+ }, undefined);
6388
6406
  }
6389
6407
  deoptimizePath(path) {
6390
6408
  if (this.isReassigned ||
@@ -6401,11 +6419,11 @@ class LocalVariable extends Variable {
6401
6419
  this.init.deoptimizePath([...this.initPath, UnknownKey]);
6402
6420
  }
6403
6421
  else {
6404
- this.init.deoptimizePath([...this.initPath, ...path]);
6422
+ this.init.deoptimizePath(limitConcatenatedPathDepth(this.initPath, path));
6405
6423
  }
6406
6424
  }
6407
6425
  getLiteralValueAtPath(path, recursionTracker, origin) {
6408
- if (this.isReassigned) {
6426
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
6409
6427
  return UnknownValue;
6410
6428
  }
6411
6429
  return recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
@@ -6414,7 +6432,7 @@ class LocalVariable extends Variable {
6414
6432
  }, UnknownValue);
6415
6433
  }
6416
6434
  getReturnExpressionWhenCalledAtPath(path, interaction, recursionTracker, origin) {
6417
- if (this.isReassigned) {
6435
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
6418
6436
  return UNKNOWN_RETURN_EXPRESSION;
6419
6437
  }
6420
6438
  return recursionTracker.withTrackedEntityAtPath(path, this.init, () => {
@@ -6423,6 +6441,9 @@ class LocalVariable extends Variable {
6423
6441
  }, UNKNOWN_RETURN_EXPRESSION);
6424
6442
  }
6425
6443
  hasEffectsOnInteractionAtPath(path, interaction, context) {
6444
+ if (path.length + this.initPath.length > MAX_PATH_DEPTH) {
6445
+ return true;
6446
+ }
6426
6447
  switch (interaction.type) {
6427
6448
  case INTERACTION_ACCESSED: {
6428
6449
  if (this.isReassigned)
@@ -6467,7 +6488,7 @@ class LocalVariable extends Variable {
6467
6488
  }
6468
6489
  // We need to make sure we include the correct path of the init
6469
6490
  if (path.length > 0) {
6470
- this.init.includePath([...this.initPath, ...path], context, false);
6491
+ this.init.includePath(limitConcatenatedPathDepth(this.initPath, path), context, false);
6471
6492
  this.additionalInitializers?.forEach(initializer => initializer.includePath(UNKNOWN_PATH, context, false));
6472
6493
  }
6473
6494
  }
@@ -7308,6 +7329,10 @@ class ParameterVariable extends LocalVariable {
7308
7329
  entity.deoptimizePath([...this.initPath, field]);
7309
7330
  }
7310
7331
  for (const { interaction, path } of this.deoptimizationInteractions) {
7332
+ if (this.initPath.length + path.length > MAX_PATH_DEPTH) {
7333
+ deoptimizeInteraction(interaction);
7334
+ continue;
7335
+ }
7311
7336
  entity.deoptimizeArgumentsOnInteractionAtPath(interaction, [...this.initPath, ...path], SHARED_RECURSION_TRACKER);
7312
7337
  }
7313
7338
  }
@@ -7374,7 +7399,7 @@ class ParameterVariable extends LocalVariable {
7374
7399
  return this.frozenValue;
7375
7400
  }
7376
7401
  getLiteralValueAtPath(path, recursionTracker, origin) {
7377
- if (this.isReassigned) {
7402
+ if (this.isReassigned || path.length + this.initPath.length > MAX_PATH_DEPTH) {
7378
7403
  return UnknownValue;
7379
7404
  }
7380
7405
  const knownValue = this.getKnownValue();
@@ -7383,7 +7408,9 @@ class ParameterVariable extends LocalVariable {
7383
7408
  }
7384
7409
  hasEffectsOnInteractionAtPath(path, interaction, context) {
7385
7410
  const { type } = interaction;
7386
- if (this.isReassigned || type === INTERACTION_ASSIGNED) {
7411
+ if (this.isReassigned ||
7412
+ type === INTERACTION_ASSIGNED ||
7413
+ path.length + this.initPath.length > MAX_PATH_DEPTH) {
7387
7414
  return super.hasEffectsOnInteractionAtPath(path, interaction, context);
7388
7415
  }
7389
7416
  return (!(type === INTERACTION_CALLED
@@ -8500,8 +8527,6 @@ function getChainElementLiteralValueAtPath(element, object, path, recursionTrack
8500
8527
  return element.getLiteralValueAtPath(path, recursionTracker, origin);
8501
8528
  }
8502
8529
 
8503
- // To avoid infinite recursions
8504
- const MAX_PATH_DEPTH = 7;
8505
8530
  function getResolvablePropertyKey(memberExpression) {
8506
8531
  return memberExpression.computed
8507
8532
  ? getResolvableComputedPropertyKey(memberExpression.property)
@@ -8626,11 +8651,13 @@ class MemberExpression extends NodeBase {
8626
8651
  if (this.variable) {
8627
8652
  this.variable.deoptimizePath(path);
8628
8653
  }
8629
- else if (!this.isUndefined && path.length < MAX_PATH_DEPTH) {
8654
+ else if (!this.isUndefined) {
8630
8655
  const propertyKey = this.getPropertyKey();
8631
8656
  this.object.deoptimizePath([
8632
8657
  propertyKey === UnknownKey ? UnknownNonAccessorKey : propertyKey,
8633
- ...path
8658
+ ...(path.length < MAX_PATH_DEPTH
8659
+ ? path
8660
+ : [...path.slice(0, MAX_PATH_DEPTH), UnknownKey])
8634
8661
  ]);
8635
8662
  }
8636
8663
  }
@@ -8722,7 +8749,12 @@ class MemberExpression extends NodeBase {
8722
8749
  includePath(path, context, includeChildrenRecursively) {
8723
8750
  if (!this.deoptimized)
8724
8751
  this.applyDeoptimizations();
8725
- this.includeProperties(path, [this.getPropertyKey(), ...path], context, includeChildrenRecursively);
8752
+ this.includeProperties(path, [
8753
+ this.getPropertyKey(),
8754
+ ...(path.length < MAX_PATH_DEPTH
8755
+ ? path
8756
+ : [...path.slice(0, MAX_PATH_DEPTH), UnknownKey])
8757
+ ], context, includeChildrenRecursively);
8726
8758
  }
8727
8759
  includeAsAssignmentTarget(context, includeChildrenRecursively, deoptimizeAccess) {
8728
8760
  if (!this.assignmentDeoptimized)
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.27.0
4
- Fri, 15 Nov 2024 10:40:04 GMT - commit c035068dfebeb959a35a8acf3ff008a249e2af73
3
+ Rollup.js v4.27.1-1
4
+ Fri, 15 Nov 2024 15:37:30 GMT - commit 892ce0206dbf4fbf656b2f0563ef803c5e5a0016
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rollup",
3
- "version": "4.27.0",
3
+ "version": "4.27.1-1",
4
4
  "description": "Next-generation ES module bundler",
5
5
  "main": "dist/rollup.js",
6
6
  "module": "dist/es/rollup.js",
@@ -109,24 +109,24 @@
109
109
  "homepage": "https://rollupjs.org/",
110
110
  "optionalDependencies": {
111
111
  "fsevents": "~2.3.2",
112
- "@rollup/rollup-darwin-arm64": "4.27.0",
113
- "@rollup/rollup-android-arm64": "4.27.0",
114
- "@rollup/rollup-win32-arm64-msvc": "4.27.0",
115
- "@rollup/rollup-freebsd-arm64": "4.27.0",
116
- "@rollup/rollup-linux-arm64-gnu": "4.27.0",
117
- "@rollup/rollup-linux-arm64-musl": "4.27.0",
118
- "@rollup/rollup-android-arm-eabi": "4.27.0",
119
- "@rollup/rollup-linux-arm-gnueabihf": "4.27.0",
120
- "@rollup/rollup-linux-arm-musleabihf": "4.27.0",
121
- "@rollup/rollup-win32-ia32-msvc": "4.27.0",
122
- "@rollup/rollup-linux-riscv64-gnu": "4.27.0",
123
- "@rollup/rollup-linux-powerpc64le-gnu": "4.27.0",
124
- "@rollup/rollup-linux-s390x-gnu": "4.27.0",
125
- "@rollup/rollup-darwin-x64": "4.27.0",
126
- "@rollup/rollup-win32-x64-msvc": "4.27.0",
127
- "@rollup/rollup-freebsd-x64": "4.27.0",
128
- "@rollup/rollup-linux-x64-gnu": "4.27.0",
129
- "@rollup/rollup-linux-x64-musl": "4.27.0"
112
+ "@rollup/rollup-darwin-arm64": "4.27.1-1",
113
+ "@rollup/rollup-android-arm64": "4.27.1-1",
114
+ "@rollup/rollup-win32-arm64-msvc": "4.27.1-1",
115
+ "@rollup/rollup-freebsd-arm64": "4.27.1-1",
116
+ "@rollup/rollup-linux-arm64-gnu": "4.27.1-1",
117
+ "@rollup/rollup-linux-arm64-musl": "4.27.1-1",
118
+ "@rollup/rollup-android-arm-eabi": "4.27.1-1",
119
+ "@rollup/rollup-linux-arm-gnueabihf": "4.27.1-1",
120
+ "@rollup/rollup-linux-arm-musleabihf": "4.27.1-1",
121
+ "@rollup/rollup-win32-ia32-msvc": "4.27.1-1",
122
+ "@rollup/rollup-linux-riscv64-gnu": "4.27.1-1",
123
+ "@rollup/rollup-linux-powerpc64le-gnu": "4.27.1-1",
124
+ "@rollup/rollup-linux-s390x-gnu": "4.27.1-1",
125
+ "@rollup/rollup-darwin-x64": "4.27.1-1",
126
+ "@rollup/rollup-win32-x64-msvc": "4.27.1-1",
127
+ "@rollup/rollup-freebsd-x64": "4.27.1-1",
128
+ "@rollup/rollup-linux-x64-gnu": "4.27.1-1",
129
+ "@rollup/rollup-linux-x64-musl": "4.27.1-1"
130
130
  },
131
131
  "dependencies": {
132
132
  "@types/estree": "1.0.6"