Closed maksverver closed 1 week ago
When you are building the project with Cmake, it requires Qt 6 (I didn't want to spend effort supporting Qt 5 + 6 in CmakeLists.txt), but when using make/qmake both Qt 5 & 6 are supported.
Main reason for supporting <= Qt 5.11 is the compatibility with ReactOS; there I can use Qt 5.6 (!) only. Very very small niche - I know! Most likely all other supported operating systems/distributions should be on Qt >=5.12 or even >=5.15 in the meantime. I didn't check the Qt version at the OS's for a while. I'll check in detail during the next days and if only ReactOS remains with the very old Qt version, I might consider dropping the support for it and allowing ES6.
Thanks for clarifying. I'm not saying that you should get rid of ES5 support if there is a good reason for it, but I am a bit concerned that it's difficult to verify ES5 compliance when only ReactOS still uses an ES5 engine.
For my AI(s), I've tried writing ES5 code (avoiding classes, let, const, arrow functions, etc.) but I've only tested with Qt 6, so if any ES6 code slipped in by mistake, there is essentially no way for me to find out about it.
I have decided to drop support for Qt versions <= 5.11. Qt >= 5.12 is now required, which is required by the oldest supported Ubuntu version (Focal 20.04).
This means, that ES6 is supported - if not even ES7. I didn't find any clear statement in the Qt documentation. Only hint I found is this one.
DummyCPU.js currently contains:
https://github.com/ElTh0r0/stackandconquer/blob/5ebf4a4e51b82eb9c7e2f9ce99f310a91fc62aa4/data/cpu/DummyCPU.js#L37-L38
But the project requires Qt 6 at a minimum, and as far as I can tell, Qt 6 supports ECMAScript 6. So is it really true that CPU implementation should be written in ES5?