rollup 4.49.0 → 4.50.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.49.0
5
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
4
+ Rollup.js v4.50.1
5
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
6
6
 
7
7
  https://github.com/rollup/rollup
8
8
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -11,7 +11,7 @@ const getLogFilter = filters => {
11
11
  if (filters.length === 0)
12
12
  return () => true;
13
13
  const normalizedFilters = filters.map(filter => filter.split('&').map(subFilter => {
14
- const inverted = subFilter.startsWith('!');
14
+ const inverted = subFilter[0] === '!';
15
15
  if (inverted)
16
16
  subFilter = subFilter.slice(1);
17
17
  const [key, ...value] = subFilter.split(':');
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
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.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -27,7 +27,7 @@ function _mergeNamespaces(n, m) {
27
27
  return Object.defineProperty(n, Symbol.toStringTag, { value: 'Module' });
28
28
  }
29
29
 
30
- var version = "4.49.0";
30
+ var version = "4.50.1";
31
31
 
32
32
  // src/vlq.ts
33
33
  var comma = ",".charCodeAt(0);
@@ -5435,7 +5435,8 @@ class Identifier extends IdentifierBase {
5435
5435
  }
5436
5436
  const { propertyReadSideEffects } = this.scope.context.options
5437
5437
  .treeshake;
5438
- if ((this.included ||=
5438
+ let included = this.included;
5439
+ if ((included ||=
5439
5440
  destructuredInitPath.length > 0 &&
5440
5441
  !context.brokenFlow &&
5441
5442
  propertyReadSideEffects &&
@@ -5445,9 +5446,11 @@ class Identifier extends IdentifierBase {
5445
5446
  this.scope.context.includeVariableInModule(this.variable, EMPTY_PATH, context);
5446
5447
  }
5447
5448
  init.includePath(destructuredInitPath, context);
5448
- return true;
5449
5449
  }
5450
- return false;
5450
+ if (!this.included && included) {
5451
+ this.includeNode(context);
5452
+ }
5453
+ return this.included;
5451
5454
  }
5452
5455
  markDeclarationReached() {
5453
5456
  this.variable.initReached = true;
@@ -6574,8 +6577,11 @@ class RestElement extends NodeBase {
6574
6577
  return this.argument.hasEffectsWhenDestructuring(context, getIncludedPatternPath$1(destructuredInitPath), init);
6575
6578
  }
6576
6579
  includeDestructuredIfNecessary(context, destructuredInitPath, init) {
6577
- return (this.included =
6578
- this.argument.includeDestructuredIfNecessary(context, getIncludedPatternPath$1(destructuredInitPath), init) || this.included);
6580
+ const included = this.argument.includeDestructuredIfNecessary(context, getIncludedPatternPath$1(destructuredInitPath), init);
6581
+ if (!this.included && included) {
6582
+ this.includeNode(context);
6583
+ }
6584
+ return this.included;
6579
6585
  }
6580
6586
  include(context, includeChildrenRecursively) {
6581
6587
  if (!this.included)
@@ -7554,15 +7560,11 @@ class MemberExpression extends NodeBase {
7554
7560
  }
7555
7561
  }
7556
7562
  }
7557
- includeDestructuredIfNecessary(context, destructuredInitPath, init) {
7558
- if ((this.included ||=
7559
- destructuredInitPath.length > 0 &&
7560
- !context.brokenFlow &&
7561
- init.hasEffectsOnInteractionAtPath(destructuredInitPath, NODE_INTERACTION_UNKNOWN_ACCESS, createHasEffectsContext()))) {
7562
- init.include(context, false);
7563
- return true;
7564
- }
7565
- return false;
7563
+ includeDestructuredIfNecessary() {
7564
+ /* istanbul ignore next */
7565
+ this.scope.context.error({
7566
+ message: 'includeDestructuredIfNecessary is currently not supported for MemberExpressions'
7567
+ }, this.start);
7566
7568
  }
7567
7569
  initialise() {
7568
7570
  super.initialise();
@@ -11373,24 +11375,19 @@ class ArrayPattern extends NodeBase {
11373
11375
  includeDestructuredIfNecessary(context, destructuredInitPath, init) {
11374
11376
  let included = false;
11375
11377
  const includedPatternPath = getIncludedPatternPath(destructuredInitPath);
11376
- for (const element of this.elements) {
11378
+ for (const element of [...this.elements].reverse()) {
11377
11379
  if (element) {
11378
- element.included ||= included;
11380
+ if (included && !element.included) {
11381
+ element.includeNode(context);
11382
+ }
11379
11383
  included =
11380
11384
  element.includeDestructuredIfNecessary(context, includedPatternPath, init) || included;
11381
11385
  }
11382
11386
  }
11383
- if (included) {
11384
- // This is necessary so that if any pattern element is included, all are
11385
- // included for proper deconflicting
11386
- for (const element of this.elements) {
11387
- if (element && !element.included) {
11388
- element.included = true;
11389
- element.includeDestructuredIfNecessary(context, includedPatternPath, init);
11390
- }
11391
- }
11387
+ if (!this.included && included) {
11388
+ this.includeNode(context);
11392
11389
  }
11393
- return (this.included ||= included);
11390
+ return this.included;
11394
11391
  }
11395
11392
  markDeclarationReached() {
11396
11393
  for (const element of this.elements) {
@@ -11524,19 +11521,21 @@ class ObjectPattern extends NodeBase {
11524
11521
  }
11525
11522
  includeDestructuredIfNecessary(context, destructuredInitPath, init) {
11526
11523
  if (!this.properties.length)
11527
- return false;
11524
+ return this.included;
11528
11525
  const lastProperty = this.properties.at(-1);
11529
- const lastPropertyIncluded = lastProperty.includeDestructuredIfNecessary(context, destructuredInitPath, init);
11526
+ let included = lastProperty.includeDestructuredIfNecessary(context, destructuredInitPath, init);
11530
11527
  const lastPropertyIsRestElement = lastProperty.type === RestElement$1;
11531
- let included = lastPropertyIsRestElement ? lastPropertyIncluded : false;
11532
11528
  for (const property of this.properties.slice(0, -1)) {
11533
- if (lastPropertyIsRestElement && lastPropertyIncluded) {
11529
+ if (lastPropertyIsRestElement && included && !property.included) {
11534
11530
  property.includeNode(context);
11535
11531
  }
11536
11532
  included =
11537
11533
  property.includeDestructuredIfNecessary(context, destructuredInitPath, init) || included;
11538
11534
  }
11539
- return (this.included ||= included);
11535
+ if (!this.included && included) {
11536
+ this.includeNode(context);
11537
+ }
11538
+ return this.included;
11540
11539
  }
11541
11540
  markDeclarationReached() {
11542
11541
  for (const property of this.properties) {
@@ -11699,13 +11698,16 @@ class AssignmentPattern extends NodeBase {
11699
11698
  if ((included ||= this.right.shouldBeIncluded(context))) {
11700
11699
  this.right.include(context, false);
11701
11700
  if (!this.left.included) {
11702
- this.left.included = true;
11701
+ this.left.includeNode(context);
11703
11702
  // Unfortunately, we need to include the left side again now, so that
11704
11703
  // any declared variables are properly included.
11705
11704
  this.left.includeDestructuredIfNecessary(context, destructuredInitPath, init);
11706
11705
  }
11707
11706
  }
11708
- return (this.included = included);
11707
+ if (!this.included && included) {
11708
+ this.includeNode(context);
11709
+ }
11710
+ return this.included;
11709
11711
  }
11710
11712
  includeNode(context) {
11711
11713
  this.included = true;
@@ -14544,13 +14546,16 @@ class Property extends MethodBase {
14544
14546
  if ((included ||= this.key.hasEffects(createHasEffectsContext()))) {
14545
14547
  this.key.include(context, false);
14546
14548
  if (!this.value.included) {
14547
- this.value.included = true;
14549
+ this.value.includeNode(context);
14548
14550
  // Unfortunately, we need to include the value again now, so that any
14549
14551
  // declared variables are properly included.
14550
14552
  this.value.includeDestructuredIfNecessary(context, path, init);
14551
14553
  }
14552
14554
  }
14553
- return (this.included = included);
14555
+ if (!this.included && included) {
14556
+ this.includeNode(context);
14557
+ }
14558
+ return this.included;
14554
14559
  }
14555
14560
  include(context, includeChildrenRecursively) {
14556
14561
  this.included = true;
@@ -18729,7 +18734,7 @@ class Chunk {
18729
18734
  else if (variable.isNamespace &&
18730
18735
  namespaceInteropHelpersByInteropType[interop(module.id)] &&
18731
18736
  (this.imports.has(variable) ||
18732
- !this.exportNamesByVariable.get(variable)?.every(name => name.startsWith('*')))) {
18737
+ !this.exportNamesByVariable.get(variable)?.every(name => name[0] === '*'))) {
18733
18738
  // We only need to deconflict it if the namespace is actually
18734
18739
  // created as a variable, i.e. because it is used internally or
18735
18740
  // because it is reexported as an object
@@ -18887,7 +18892,7 @@ class Chunk {
18887
18892
  }
18888
18893
  else {
18889
18894
  // handle edge case in Windows
18890
- if (this.inputBase === '/' && !idWithoutExtension.startsWith('/')) {
18895
+ if (this.inputBase === '/' && idWithoutExtension[0] !== '/') {
18891
18896
  return relative$1(this.inputBase, idWithoutExtension.replace(/^[a-zA-Z]:[/\\]/, '/'));
18892
18897
  }
18893
18898
  return relative$1(this.inputBase, idWithoutExtension);
@@ -22841,7 +22846,7 @@ const getIdMatcher = (option) => {
22841
22846
  return () => true;
22842
22847
  }
22843
22848
  if (typeof option === 'function') {
22844
- return (id, ...parameters) => (!id.startsWith('\0') && option(id, ...parameters)) || false;
22849
+ return (id, ...parameters) => (id[0] !== '\0' && option(id, ...parameters)) || false;
22845
22850
  }
22846
22851
  if (option) {
22847
22852
  const ids = new Set();
@@ -22951,7 +22956,7 @@ const getHasModuleSideEffects = (moduleSideEffectsOption) => {
22951
22956
  return (_id, external) => !external;
22952
22957
  }
22953
22958
  if (typeof moduleSideEffectsOption === 'function') {
22954
- return (id, external) => id.startsWith('\0') ? true : moduleSideEffectsOption(id, external) !== false;
22959
+ return (id, external) => id[0] === '\0' ? true : moduleSideEffectsOption(id, external) !== false;
22955
22960
  }
22956
22961
  if (Array.isArray(moduleSideEffectsOption)) {
22957
22962
  const ids = new Set(moduleSideEffectsOption);
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -15,7 +15,7 @@ const getLogFilter = filters => {
15
15
  if (filters.length === 0)
16
16
  return () => true;
17
17
  const normalizedFilters = filters.map(filter => filter.split('&').map(subFilter => {
18
- const inverted = subFilter.startsWith('!');
18
+ const inverted = subFilter[0] === '!';
19
19
  if (inverted)
20
20
  subFilter = subFilter.slice(1);
21
21
  const [key, ...value] = subFilter.split(':');
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
package/dist/native.js CHANGED
@@ -26,6 +26,9 @@ const bindingsByPlatformAndArch = {
26
26
  s390x: { base: 'linux-s390x-gnu', musl: null },
27
27
  x64: { base: 'linux-x64-gnu', musl: 'linux-x64-musl' }
28
28
  },
29
+ openharmony: {
30
+ arm64: { base: 'openharmony-arm64' }
31
+ },
29
32
  win32: {
30
33
  arm64: { base: 'win32-arm64-msvc' },
31
34
  ia32: { base: 'win32-ia32-msvc' },
package/dist/parseAst.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
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.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -512,7 +512,7 @@ async function loadTranspiledConfigFile(fileName, commandOptions) {
512
512
  name: 'external-fallback',
513
513
  resolveId: source => {
514
514
  const looksLikeExternal = (source[0] !== '.' && !path.isAbsolute(source)) || source.slice(-5) === '.json';
515
- return looksLikeExternal ? false : source;
515
+ return looksLikeExternal ? false : null;
516
516
  }
517
517
  });
518
518
  const bundle = await rollup.rollup(inputOptions);
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -42,7 +42,7 @@ function _mergeNamespaces(n, m) {
42
42
 
43
43
  const promises__namespace = /*#__PURE__*/_interopNamespaceDefault(promises);
44
44
 
45
- var version = "4.49.0";
45
+ var version = "4.50.1";
46
46
 
47
47
  function ensureArray$1(items) {
48
48
  if (Array.isArray(items)) {
@@ -9223,7 +9223,8 @@ class Identifier extends IdentifierBase {
9223
9223
  }
9224
9224
  const { propertyReadSideEffects } = this.scope.context.options
9225
9225
  .treeshake;
9226
- if ((this.included ||=
9226
+ let included = this.included;
9227
+ if ((included ||=
9227
9228
  destructuredInitPath.length > 0 &&
9228
9229
  !context.brokenFlow &&
9229
9230
  propertyReadSideEffects &&
@@ -9233,9 +9234,11 @@ class Identifier extends IdentifierBase {
9233
9234
  this.scope.context.includeVariableInModule(this.variable, EMPTY_PATH, context);
9234
9235
  }
9235
9236
  init.includePath(destructuredInitPath, context);
9236
- return true;
9237
9237
  }
9238
- return false;
9238
+ if (!this.included && included) {
9239
+ this.includeNode(context);
9240
+ }
9241
+ return this.included;
9239
9242
  }
9240
9243
  markDeclarationReached() {
9241
9244
  this.variable.initReached = true;
@@ -10350,8 +10353,11 @@ class RestElement extends NodeBase {
10350
10353
  return this.argument.hasEffectsWhenDestructuring(context, getIncludedPatternPath$1(destructuredInitPath), init);
10351
10354
  }
10352
10355
  includeDestructuredIfNecessary(context, destructuredInitPath, init) {
10353
- return (this.included =
10354
- this.argument.includeDestructuredIfNecessary(context, getIncludedPatternPath$1(destructuredInitPath), init) || this.included);
10356
+ const included = this.argument.includeDestructuredIfNecessary(context, getIncludedPatternPath$1(destructuredInitPath), init);
10357
+ if (!this.included && included) {
10358
+ this.includeNode(context);
10359
+ }
10360
+ return this.included;
10355
10361
  }
10356
10362
  include(context, includeChildrenRecursively) {
10357
10363
  if (!this.included)
@@ -11330,15 +11336,11 @@ class MemberExpression extends NodeBase {
11330
11336
  }
11331
11337
  }
11332
11338
  }
11333
- includeDestructuredIfNecessary(context, destructuredInitPath, init) {
11334
- if ((this.included ||=
11335
- destructuredInitPath.length > 0 &&
11336
- !context.brokenFlow &&
11337
- init.hasEffectsOnInteractionAtPath(destructuredInitPath, NODE_INTERACTION_UNKNOWN_ACCESS, createHasEffectsContext()))) {
11338
- init.include(context, false);
11339
- return true;
11340
- }
11341
- return false;
11339
+ includeDestructuredIfNecessary() {
11340
+ /* istanbul ignore next */
11341
+ this.scope.context.error({
11342
+ message: 'includeDestructuredIfNecessary is currently not supported for MemberExpressions'
11343
+ }, this.start);
11342
11344
  }
11343
11345
  initialise() {
11344
11346
  super.initialise();
@@ -12982,24 +12984,19 @@ class ArrayPattern extends NodeBase {
12982
12984
  includeDestructuredIfNecessary(context, destructuredInitPath, init) {
12983
12985
  let included = false;
12984
12986
  const includedPatternPath = getIncludedPatternPath(destructuredInitPath);
12985
- for (const element of this.elements) {
12987
+ for (const element of [...this.elements].reverse()) {
12986
12988
  if (element) {
12987
- element.included ||= included;
12989
+ if (included && !element.included) {
12990
+ element.includeNode(context);
12991
+ }
12988
12992
  included =
12989
12993
  element.includeDestructuredIfNecessary(context, includedPatternPath, init) || included;
12990
12994
  }
12991
12995
  }
12992
- if (included) {
12993
- // This is necessary so that if any pattern element is included, all are
12994
- // included for proper deconflicting
12995
- for (const element of this.elements) {
12996
- if (element && !element.included) {
12997
- element.included = true;
12998
- element.includeDestructuredIfNecessary(context, includedPatternPath, init);
12999
- }
13000
- }
12996
+ if (!this.included && included) {
12997
+ this.includeNode(context);
13001
12998
  }
13002
- return (this.included ||= included);
12999
+ return this.included;
13003
13000
  }
13004
13001
  markDeclarationReached() {
13005
13002
  for (const element of this.elements) {
@@ -13133,19 +13130,21 @@ class ObjectPattern extends NodeBase {
13133
13130
  }
13134
13131
  includeDestructuredIfNecessary(context, destructuredInitPath, init) {
13135
13132
  if (!this.properties.length)
13136
- return false;
13133
+ return this.included;
13137
13134
  const lastProperty = this.properties.at(-1);
13138
- const lastPropertyIncluded = lastProperty.includeDestructuredIfNecessary(context, destructuredInitPath, init);
13135
+ let included = lastProperty.includeDestructuredIfNecessary(context, destructuredInitPath, init);
13139
13136
  const lastPropertyIsRestElement = lastProperty.type === parseAst_js.RestElement;
13140
- let included = lastPropertyIsRestElement ? lastPropertyIncluded : false;
13141
13137
  for (const property of this.properties.slice(0, -1)) {
13142
- if (lastPropertyIsRestElement && lastPropertyIncluded) {
13138
+ if (lastPropertyIsRestElement && included && !property.included) {
13143
13139
  property.includeNode(context);
13144
13140
  }
13145
13141
  included =
13146
13142
  property.includeDestructuredIfNecessary(context, destructuredInitPath, init) || included;
13147
13143
  }
13148
- return (this.included ||= included);
13144
+ if (!this.included && included) {
13145
+ this.includeNode(context);
13146
+ }
13147
+ return this.included;
13149
13148
  }
13150
13149
  markDeclarationReached() {
13151
13150
  for (const property of this.properties) {
@@ -13308,13 +13307,16 @@ class AssignmentPattern extends NodeBase {
13308
13307
  if ((included ||= this.right.shouldBeIncluded(context))) {
13309
13308
  this.right.include(context, false);
13310
13309
  if (!this.left.included) {
13311
- this.left.included = true;
13310
+ this.left.includeNode(context);
13312
13311
  // Unfortunately, we need to include the left side again now, so that
13313
13312
  // any declared variables are properly included.
13314
13313
  this.left.includeDestructuredIfNecessary(context, destructuredInitPath, init);
13315
13314
  }
13316
13315
  }
13317
- return (this.included = included);
13316
+ if (!this.included && included) {
13317
+ this.includeNode(context);
13318
+ }
13319
+ return this.included;
13318
13320
  }
13319
13321
  includeNode(context) {
13320
13322
  this.included = true;
@@ -16153,13 +16155,16 @@ class Property extends MethodBase {
16153
16155
  if ((included ||= this.key.hasEffects(createHasEffectsContext()))) {
16154
16156
  this.key.include(context, false);
16155
16157
  if (!this.value.included) {
16156
- this.value.included = true;
16158
+ this.value.includeNode(context);
16157
16159
  // Unfortunately, we need to include the value again now, so that any
16158
16160
  // declared variables are properly included.
16159
16161
  this.value.includeDestructuredIfNecessary(context, path, init);
16160
16162
  }
16161
16163
  }
16162
- return (this.included = included);
16164
+ if (!this.included && included) {
16165
+ this.includeNode(context);
16166
+ }
16167
+ return this.included;
16163
16168
  }
16164
16169
  include(context, includeChildrenRecursively) {
16165
16170
  this.included = true;
@@ -20222,7 +20227,7 @@ class Chunk {
20222
20227
  else if (variable.isNamespace &&
20223
20228
  namespaceInteropHelpersByInteropType[interop(module.id)] &&
20224
20229
  (this.imports.has(variable) ||
20225
- !this.exportNamesByVariable.get(variable)?.every(name => name.startsWith('*')))) {
20230
+ !this.exportNamesByVariable.get(variable)?.every(name => name[0] === '*'))) {
20226
20231
  // We only need to deconflict it if the namespace is actually
20227
20232
  // created as a variable, i.e. because it is used internally or
20228
20233
  // because it is reexported as an object
@@ -20380,7 +20385,7 @@ class Chunk {
20380
20385
  }
20381
20386
  else {
20382
20387
  // handle edge case in Windows
20383
- if (this.inputBase === '/' && !idWithoutExtension.startsWith('/')) {
20388
+ if (this.inputBase === '/' && idWithoutExtension[0] !== '/') {
20384
20389
  return parseAst_js.relative(this.inputBase, idWithoutExtension.replace(/^[a-zA-Z]:[/\\]/, '/'));
20385
20390
  }
20386
20391
  return parseAst_js.relative(this.inputBase, idWithoutExtension);
@@ -23177,7 +23182,7 @@ const getIdMatcher = (option) => {
23177
23182
  return () => true;
23178
23183
  }
23179
23184
  if (typeof option === 'function') {
23180
- return (id, ...parameters) => (!id.startsWith('\0') && option(id, ...parameters)) || false;
23185
+ return (id, ...parameters) => (id[0] !== '\0' && option(id, ...parameters)) || false;
23181
23186
  }
23182
23187
  if (option) {
23183
23188
  const ids = new Set();
@@ -23287,7 +23292,7 @@ const getHasModuleSideEffects = (moduleSideEffectsOption) => {
23287
23292
  return (_id, external) => !external;
23288
23293
  }
23289
23294
  if (typeof moduleSideEffectsOption === 'function') {
23290
- return (id, external) => id.startsWith('\0') ? true : moduleSideEffectsOption(id, external) !== false;
23295
+ return (id, external) => id[0] === '\0' ? true : moduleSideEffectsOption(id, external) !== false;
23291
23296
  }
23292
23297
  if (Array.isArray(moduleSideEffectsOption)) {
23293
23298
  const ids = new Set(moduleSideEffectsOption);
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
5
5
 
6
6
  https://github.com/rollup/rollup
7
7
 
@@ -1,7 +1,7 @@
1
1
  /*
2
2
  @license
3
- Rollup.js v4.49.0
4
- Wed, 27 Aug 2025 07:24:52 GMT - commit b12c061d27d63062b91c1830a698de53fd6c2067
3
+ Rollup.js v4.50.1
4
+ Sun, 07 Sep 2025 10:51:49 GMT - commit 79d5563ab4787f9425a5fa317bad0d6ae4be480b
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.49.0",
3
+ "version": "4.50.1",
4
4
  "description": "Next-generation ES module bundler",
5
5
  "main": "dist/rollup.js",
6
6
  "module": "dist/es/rollup.js",
@@ -31,7 +31,8 @@
31
31
  "x86_64-pc-windows-msvc",
32
32
  "x86_64-unknown-freebsd",
33
33
  "x86_64-unknown-linux-gnu",
34
- "x86_64-unknown-linux-musl"
34
+ "x86_64-unknown-linux-musl",
35
+ "aarch64-unknown-linux-ohos"
35
36
  ]
36
37
  },
37
38
  "scripts": {
@@ -104,26 +105,27 @@
104
105
  "homepage": "https://rollupjs.org/",
105
106
  "optionalDependencies": {
106
107
  "fsevents": "~2.3.2",
107
- "@rollup/rollup-darwin-arm64": "4.49.0",
108
- "@rollup/rollup-android-arm64": "4.49.0",
109
- "@rollup/rollup-win32-arm64-msvc": "4.49.0",
110
- "@rollup/rollup-freebsd-arm64": "4.49.0",
111
- "@rollup/rollup-linux-arm64-gnu": "4.49.0",
112
- "@rollup/rollup-linux-arm64-musl": "4.49.0",
113
- "@rollup/rollup-android-arm-eabi": "4.49.0",
114
- "@rollup/rollup-linux-arm-gnueabihf": "4.49.0",
115
- "@rollup/rollup-linux-arm-musleabihf": "4.49.0",
116
- "@rollup/rollup-win32-ia32-msvc": "4.49.0",
117
- "@rollup/rollup-linux-loongarch64-gnu": "4.49.0",
118
- "@rollup/rollup-linux-riscv64-gnu": "4.49.0",
119
- "@rollup/rollup-linux-riscv64-musl": "4.49.0",
120
- "@rollup/rollup-linux-ppc64-gnu": "4.49.0",
121
- "@rollup/rollup-linux-s390x-gnu": "4.49.0",
122
- "@rollup/rollup-darwin-x64": "4.49.0",
123
- "@rollup/rollup-win32-x64-msvc": "4.49.0",
124
- "@rollup/rollup-freebsd-x64": "4.49.0",
125
- "@rollup/rollup-linux-x64-gnu": "4.49.0",
126
- "@rollup/rollup-linux-x64-musl": "4.49.0"
108
+ "@rollup/rollup-darwin-arm64": "4.50.1",
109
+ "@rollup/rollup-android-arm64": "4.50.1",
110
+ "@rollup/rollup-win32-arm64-msvc": "4.50.1",
111
+ "@rollup/rollup-freebsd-arm64": "4.50.1",
112
+ "@rollup/rollup-linux-arm64-gnu": "4.50.1",
113
+ "@rollup/rollup-linux-arm64-musl": "4.50.1",
114
+ "@rollup/rollup-android-arm-eabi": "4.50.1",
115
+ "@rollup/rollup-linux-arm-gnueabihf": "4.50.1",
116
+ "@rollup/rollup-linux-arm-musleabihf": "4.50.1",
117
+ "@rollup/rollup-win32-ia32-msvc": "4.50.1",
118
+ "@rollup/rollup-linux-loongarch64-gnu": "4.50.1",
119
+ "@rollup/rollup-linux-riscv64-gnu": "4.50.1",
120
+ "@rollup/rollup-linux-riscv64-musl": "4.50.1",
121
+ "@rollup/rollup-linux-ppc64-gnu": "4.50.1",
122
+ "@rollup/rollup-linux-s390x-gnu": "4.50.1",
123
+ "@rollup/rollup-darwin-x64": "4.50.1",
124
+ "@rollup/rollup-win32-x64-msvc": "4.50.1",
125
+ "@rollup/rollup-freebsd-x64": "4.50.1",
126
+ "@rollup/rollup-linux-x64-gnu": "4.50.1",
127
+ "@rollup/rollup-linux-x64-musl": "4.50.1",
128
+ "@rollup/rollup-openharmony-arm64": "4.50.1"
127
129
  },
128
130
  "dependencies": {
129
131
  "@types/estree": "1.0.8"
@@ -137,9 +139,9 @@
137
139
  "@codemirror/language": "^6.11.3",
138
140
  "@codemirror/search": "^6.5.11",
139
141
  "@codemirror/state": "^6.5.2",
140
- "@codemirror/view": "^6.38.1",
141
- "@eslint/js": "^9.33.0",
142
- "@inquirer/prompts": "^7.8.3",
142
+ "@codemirror/view": "^6.38.2",
143
+ "@eslint/js": "^9.34.0",
144
+ "@inquirer/prompts": "^7.8.4",
143
145
  "@jridgewell/sourcemap-codec": "^1.5.5",
144
146
  "@mermaid-js/mermaid-cli": "^11.9.0",
145
147
  "@napi-rs/cli": "^3.1.5",
@@ -152,26 +154,26 @@
152
154
  "@rollup/plugin-terser": "^0.4.4",
153
155
  "@rollup/plugin-typescript": "^12.1.4",
154
156
  "@rollup/pluginutils": "^5.2.0",
155
- "@shikijs/vitepress-twoslash": "^3.9.2",
157
+ "@shikijs/vitepress-twoslash": "^3.12.1",
156
158
  "@types/mocha": "^10.0.10",
157
159
  "@types/node": "^20.19.11",
158
160
  "@types/picomatch": "^4.0.2",
159
161
  "@types/semver": "^7.7.0",
160
162
  "@types/yargs-parser": "^21.0.3",
161
- "@vue/language-server": "^3.0.5",
163
+ "@vue/language-server": "^3.0.6",
162
164
  "acorn": "^8.15.0",
163
165
  "acorn-import-assertions": "^1.9.0",
164
166
  "acorn-jsx": "^5.3.2",
165
167
  "buble": "^0.20.0",
166
168
  "builtin-modules": "^5.0.0",
167
169
  "chokidar": "^3.6.0",
168
- "concurrently": "^9.2.0",
170
+ "concurrently": "^9.2.1",
169
171
  "core-js": "3.38.1",
170
172
  "cross-env": "^10.0.0",
171
173
  "date-time": "^4.0.0",
172
174
  "es5-shim": "^4.6.7",
173
175
  "es6-shim": "^0.35.8",
174
- "eslint": "^9.33.0",
176
+ "eslint": "^9.34.0",
175
177
  "eslint-config-prettier": "^10.1.8",
176
178
  "eslint-plugin-prettier": "^5.5.4",
177
179
  "eslint-plugin-unicorn": "^60.0.0",
@@ -183,11 +185,11 @@
183
185
  "globals": "^16.3.0",
184
186
  "husky": "^9.1.7",
185
187
  "is-reference": "^3.0.3",
186
- "lint-staged": "^16.1.5",
188
+ "lint-staged": "^16.1.6",
187
189
  "locate-character": "^3.0.0",
188
- "magic-string": "^0.30.17",
189
- "memfs": "^4.36.3",
190
- "mocha": "^11.7.1",
190
+ "magic-string": "^0.30.18",
191
+ "memfs": "^4.38.2",
192
+ "mocha": "^11.7.2",
191
193
  "nodemon": "^3.1.10",
192
194
  "nyc": "^17.1.0",
193
195
  "picocolors": "^1.1.1",
@@ -198,7 +200,7 @@
198
200
  "pretty-bytes": "^7.0.1",
199
201
  "pretty-ms": "^9.2.0",
200
202
  "requirejs": "^2.3.7",
201
- "rollup": "^4.46.3",
203
+ "rollup": "^4.50.0",
202
204
  "rollup-plugin-license": "^3.6.0",
203
205
  "rollup-plugin-string": "^3.0.0",
204
206
  "semver": "^7.7.2",
@@ -210,10 +212,10 @@
210
212
  "terser": "^5.43.1",
211
213
  "tslib": "^2.8.1",
212
214
  "typescript": "^5.9.2",
213
- "typescript-eslint": "^8.40.0",
214
- "vite": "^7.1.2",
215
+ "typescript-eslint": "^8.41.0",
216
+ "vite": "^7.1.4",
215
217
  "vitepress": "^1.6.4",
216
- "vue": "^3.5.18",
218
+ "vue": "^3.5.20",
217
219
  "vue-eslint-parser": "^10.2.0",
218
220
  "vue-tsc": "^2.2.12",
219
221
  "wasm-pack": "^0.13.1",