bitwiseshiftleft / sjcl

Stanford Javascript Crypto Library
http://bitwiseshiftleft.github.com/sjcl/
Other
7.18k stars 987 forks source link

Bugfix for #378 #381

Open gabbifish opened 5 years ago

gabbifish commented 5 years ago

This PR enforces the use of javascript modules so that issue #378 no longer occurs.

I'm happy to refactor how we add the anonymous function for creating a javascript module. Right now, I include the open tag in the sjcl.js file, and the close tag in the footer.js file. I can also envision other approaches like using echo "}(sjcl));" >> in the makefile to introduce the close tags necessary for making sjcl a javascript module (this would save us the extra footer.js file)

I also added an additional test to ensure that issue #378 is solved, and all other defined tests pass.

Fundamentally, though, I'm not sure why the special code compression included with this library exists--I believe there are now ways to package code for npm without custom compression, and this could make for a cleaner module approach than concatenating all core/ files. Moreover, this would get rid of the u and t minimized function names that causing issue #378 in the first place.