Investigate JavaScript libraries eg QuickJS-ng, Duktape that could replace the very old Spidermonkey in Oolite.
QuickJS-ng, for example, supports several platforms including MinGW64. This one is actively maintained, supports modern JavaScript and is actually designed to be embedded in other projects unlike Spidermonkey which is specifically tailored to Firefox. Its API has some similarities to the Spidermonkey currently used by Oolite.
If changing library is not possible, try to clean up the Spidermonkey that Oolite uses so that it is far less opaque than it is now effectively locking Oolite permanently to that version. The problem is right now, the only platform for which it builds cleanly is Linux. Windows requires a custom version of the code whose changes are not documented or understood. It has not been built on modern Mac and it may not be possible. Modernisations needed include removing the hard dependency on Python 2 which is obsolete by upgrading all Python 2 code to Python 3.
Investigate JavaScript libraries eg QuickJS-ng, Duktape that could replace the very old Spidermonkey in Oolite.
QuickJS-ng, for example, supports several platforms including MinGW64. This one is actively maintained, supports modern JavaScript and is actually designed to be embedded in other projects unlike Spidermonkey which is specifically tailored to Firefox. Its API has some similarities to the Spidermonkey currently used by Oolite.
If changing library is not possible, try to clean up the Spidermonkey that Oolite uses so that it is far less opaque than it is now effectively locking Oolite permanently to that version. The problem is right now, the only platform for which it builds cleanly is Linux. Windows requires a custom version of the code whose changes are not documented or understood. It has not been built on modern Mac and it may not be possible. Modernisations needed include removing the hard dependency on Python 2 which is obsolete by upgrading all Python 2 code to Python 3.