plotly / plotly.js

Open-source JavaScript charting library behind Plotly and Dash
https://plotly.com/javascript/
MIT License
16.85k stars 1.85k forks source link

Special characters in plotly.js causing minification and packaging issues #6797

Open chdominguez opened 9 months ago

chdominguez commented 9 months ago

I have identified an issue in the plotly.js library where special characters, such as σ and μ, are used in a function. This leads to problems during the minification/packaging process, causing certain package managers to fail as they do not correctly interpret these characters.

I found a related issue in the Parcel bundler repository, which has been addressed and fixed. The details can be found here: Parcel Issue #9370

I propose modifying the original plotly.js function to replace the special characters with safer alternatives. Below is the suggested modification:

normal: function(mu, sigma) {
  var n = arguments.length;
  if (n < 2) sigma = 1;
  if (n < 1) mu = 0;
  return function() {
    var x, y, r;
    do {
      x = Math.random() * 2 - 1;
      y = Math.random() * 2 - 1;
      r = x * x + y * y;
    } while (!r || r > 1);
    return mu + sigma * x * Math.sqrt(-2 * Math.log(r) / r);
  };
},

I will try to push a PR myself

alexcjohnson commented 9 months ago

IIRC these characters are in D3 code that we import, not in the plotly.js codebase itself, which may make it harder to edit.

chdominguez commented 9 months ago

I have noticed upon trying to edit the code. This is why I haven't pushed any PR yet. For now I will wait till a parcel.js version is released with the fix to see if the issue is completely gone.

archmoj commented 9 months ago

If you want to open a PR, please fork this repository: https://github.com/plotly/d3 and submit to it.