Skip to content

Conversation

@melitele
Copy link
Contributor

@melitele melitele commented Sep 19, 2025

Removes use of spread operator per #6429

Launch Checklist

  • Confirm your changes do not include backports from Mapbox projects (unless with compliant license) - if you are not sure about this, please ask!
  • Briefly describe the changes in this PR.
  • Link to related issues.
  • Write tests for all new functionality.

@codecov-commenter
Copy link

codecov-commenter commented Sep 19, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.33%. Comparing base (966f4b9) to head (d447a3c).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1286      +/-   ##
==========================================
+ Coverage   95.32%   95.33%   +0.01%     
==========================================
  Files         114      114              
  Lines        7382     7401      +19     
  Branches     2243     2327      +84     
==========================================
+ Hits         7037     7056      +19     
  Misses        345      345              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@HarelM
Copy link
Collaborator

HarelM commented Sep 19, 2025

Thanks for looking into this!
Were you able to reproduce the issue to make sure this fixes it?

@melitele
Copy link
Contributor Author

melitele commented Sep 19, 2025

Were you able to reproduce the issue to make sure this fixes it?

No. It'll take me some time to create a setup to reproduce it. Hence draft PR.

@melitele melitele marked this pull request as ready for review September 19, 2025 08:35
@melitele
Copy link
Contributor Author

@HarelM The essence of this problem, as summarized by @neodescis is Angular enforcing spread operator substitution.

The change in this PR because is an improvement: it limits the copied properties to the ones Expression.evalute uses, so the performance is constant independent of what else the passed-in object contains.

Reading all the discussion of #6429 there is a very good chance this change will fix it. If you can, test it with the Angular setup you have as it'll take me some time to create one.

@HarelM
Copy link
Collaborator

HarelM commented Sep 19, 2025

Ok, I'll test it later today and let you know.
Thanks for looking into it!

Replaced spread operator in changelog due to esbuild limitations.
@HarelM HarelM enabled auto-merge (squash) September 19, 2025 11:10
@HarelM HarelM merged commit 5010b78 into maplibre:main Sep 19, 2025
6 checks passed
@HarelM
Copy link
Collaborator

HarelM commented Sep 19, 2025

Forgot to thank you for the responsiveness and quick turnaround! THANKS!

@neodescis
Copy link
Contributor

Yes, thank you @melitele!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants