-
Notifications
You must be signed in to change notification settings - Fork 217
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
NODEJS Version #328
Comments
This isn't as straight forward as it seems. Porting NodeJS and its underlying JavaScript engine to iOS is challenging and currently we rely on https://github.com/JaneaSystems/nodejs-mobile which is no longer actively maintained. Codesandbox's Play.js uses a modified version of it but it's still at 12.19.0. I've seen newer versions of NodeJS ported to jailbroken iOS devices but I'm not sure if it's feasible for normal devices. |
I totally understand that. As a former Swift developer, I understand these constraints. If you don't mind, I can look for alternatives that do not require Jailbreaking. On a side-note, what does iOS 15 use for Javascript in the Safari Browser? I am sure we could find something that works in there, or at least some pointers. |
I think it's called JavaScriptCore. Here's a repo that ported v8.11.1 using it https://github.com/mceSystems/node-jsc. I actually have done some research on it. The engine desktop node uses (V8) can actually be compiled for iOS with their JITless mode. See nodejs/node#26758. |
That is good news, I wonder if that can be somewhat applied (like how we cannot install certain modules with the current in-app version), with at least the Active LTS (16.13.2), or at least V16. |
How’s this going? |
Thanks to a pull request at https://github.com/nodejs-mobile/nodejs-mobile/, the included node version is now LTS (16.13.2). |
I just recently learned that the V8 engine has a command line flag for devices that don’t allow executable memory access, or need special security features - and iOS/iPadOS are one of them. The flag is: node --jitless <file> It is very important that the flag goes before the file name, otherwise it won’t use it. |
The current NODEJS version is outdated by a few major versions (12.19.0), with the current version being 17.3.1, and the Active LTS being at 16.13.2
This is causing a message to appear for me in panel,
(node:11915) ExperimentalWarning: The ES module loader is experimental.
, which is prohibiting my programme from running. Thanks!The text was updated successfully, but these errors were encountered: