❤️ Replace the Rhino based JavaScript engine ❤️
rbri opened this issue · 1 comments
HtmlUnit uses a slightly modified version of the latest code of the Rhino (https://github.com/mozilla/rhino) js engine. During the years we also provide many fixes and improvements to the project (https://github.com/mozilla/rhino/commits/master/?author=rbri). Adding support for more modern js syntax is really hard, because Rhino tries to be backward compatible (for good reasons) (eg. mozilla/rhino#1431).
Therefore i like to try to switch to another javascript engine.
This will require time and effort - you can support this via
- Github Sponsoring or
- Polar (see below)
Will use this issue to inform about the progress.
Funding
- You can sponsor this specific effort via a Polar.sh pledge below
- We receive the pledge once the issue is completed & verified
Which engine(s) are you considering?
And will you implement via ports & adapters where users will be able to choose which engine to use, or will you completely switch to a new one?
Would be interesting to be able to hot swap the engine.
For example, if I know a page is not working correctly with Rhino (live scrolling for example), I could hot swap to the other js engine before loading the page, do what I need to do and then hot swap back.
Would allow for slow rollout as people would start using the new engine more and more as you work to refactor and integrate it while adding more js features and fixing issues.