-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is Harmony still considered experimental? #142
Comments
Yes. In fact, the development of the Harmony version of UglifyJS has stopped. Harmony support might need to be removed at some point. |
It could be worth checking out if terser could be used instead of the unmaintained uglify-es for ES6 support. |
Ah this is very good to know; thanks for the reply! |
@lautis can we switch to terser as default ? terser is well maintained and can replace both uglify.js and uglify-harmony.js and many projects like webpack already switched to terser by default. webpack/webpack#8036 |
With my limited programming knowledge (I'm a package maintainer/system administrator), I managed to switch uglify-harmony.js with terser.js. Here is the proof of concept patch https://salsa.debian.org/ruby-team/ruby-uglifier/-/blob/master/debian/patches/005-use-terser.patch |
I'd be happy to replace UglifyJS with Terser. The number of differences is big enough that it'd make sense to release new version as a breaking change with regards to options. There's also terser branch in this repository. |
There is also a gem which already wraps Terser - https://github.com/ahorek/terser-ruby and is compatible with Sprockets |
4d2ab5a introduces ES6 syntax, which Uglifier doesn't support by default [1]. This commit enables the experimental "Harmony mode", along with disabling `mangle` and `compress` as per the usage recommendations [2]. This doesn't seem like a good long-term solution, since development of Harmony mode has stopped and may be removed. This at least allows us to deploy 4d2ab5a for now. Fixes #6008. [1] https://github.com/lautis/uglifier#es6--es2015--harmony-mode [2] https://github.com/lautis/uglifier#usage [3] lautis/uglifier#142 (comment)
4d2ab5a introduces ES6 syntax, which Uglifier doesn't support by default [1]. This commit enables the experimental "Harmony mode", along with disabling `mangle` and `compress` as per the usage recommendations [2]. This doesn't seem like a good long-term solution, since development of Harmony mode has stopped and may be removed. This at least allows us to deploy 4d2ab5a for now. Fixes #6008. [1] https://github.com/lautis/uglifier#es6--es2015--harmony-mode [2] https://github.com/lautis/uglifier#usage [3] lautis/uglifier#142 (comment)
4d2ab5a introduces ES6 syntax, which Uglifier doesn't support by default [1]. This commit enables the experimental "Harmony mode", along with disabling `mangle` and `compress` as per the usage recommendations [2]. This doesn't seem like a good long-term solution, since development of Harmony mode has stopped and may be removed. This at least allows us to deploy 4d2ab5a for now. Fixes #6008. [1] https://github.com/lautis/uglifier#es6--es2015--harmony-mode [2] https://github.com/lautis/uglifier#usage [3] lautis/uglifier#142 (comment)
Hello,
We are using Uglifier in a large production application and are running into es6 issues (similar to #127) that are solved by using harmony. We are hesitant to adopt experimental technology though and are curious why harmony is labeled as experimental and what is remaining or planned to do to take it out of that state.
Any information would be very helpful!
Thanks!
The text was updated successfully, but these errors were encountered: