Special characters in plotly.js causing minification and packaging issues
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
IIRC these characters are in D3 code that we import, not in the plotly.js codebase itself, which may make it harder to edit.
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.
If you want to open a PR, please fork this repository: https://github.com/plotly/d3 and submit to it.