After noticing that the HyperbolaBSD project, for example, needs to utilize browsers that do not use Rust due to trademark issues, this limits the usage of SpiderMonkey. Other engines obviously cannot be deployed due to incompatibilities with FOSS principles.
But like other browsers have an embeddable JS-engine-only version, why doesn't this project seem to have such? It appears that there's a legitimate interest in a properly principled FOSS JS engine. And I did my research and QuickJS has been discussed here already:
viewtopic.php?f=5&t=22558
However, due to the broad usage of such an engine, I think that ideally all similarly principled projects should use the same solution in order to guarantee compatibility of implementations.
But I interpreted that since Basilisk claims to not use Rust, then it must have a Rust-free implementation of SpiderMonkey, right? But is it available in an embeddable form?
The JS-engine-only version?
Forum rules
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.
This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.
Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
Please keep everything here strictly on-topic.
This board is meant for Pale Moon source code development related subjects only like code snippets, patches, specific bugs, git, the repositories, etc.
This is not for tech support! Please do not post tech support questions in the "Development" board!
Please make sure not to use this board for support questions. Please post issues with specific websites, extensions, etc. in the relevant boards for those topics.
Please keep things on-topic as this forum will be used for reference for Pale Moon development. Expect topics that aren't relevant as such to be moved or deleted.
- FranklinDM
- Add-ons Team
- Posts: 582
- Joined: 2017-01-14, 02:40
- Location: Philippines
- Contact:
Re: The JS-engine-only version?
I'm not exactly sure if embedding UXP's SpiderMonkey is still possible, but a guide is available here.
On the other hand, building SpiderMonkey as standalone application (jsshell) definitely works, but it's been over a year or so since I've last tried doing a build. My goal in doing that back then was to run the tc39/test262 tests locally via CLI. Finding up-to-date documentation about that one is a bit tricky, though.
On the other hand, building SpiderMonkey as standalone application (jsshell) definitely works, but it's been over a year or so since I've last tried doing a build. My goal in doing that back then was to run the tc39/test262 tests locally via CLI. Finding up-to-date documentation about that one is a bit tricky, though.
Re: The JS-engine-only version?
I don't think they do! If you're thinking about projects like electron, that is much more than just the js engine.soundmodel wrote: ↑2023-05-14, 06:35But like other browsers have an embeddable JS-engine-only version
You do realise that this line of thinking is exactly why we ended up with a 95%/5% split between Blink-based browsers and others, right?soundmodel wrote: ↑2023-05-14, 06:35due to the broad usage of such an engine, I think that ideally all similarly principled projects should use the same solution in order to guarantee compatibility of implementations.
A bit more to the point though; browsers' JS engines cannot be seen in isolation as they are intricately interwoven with using DOM. It's definitely possible to use "pure js" functions from the engines themselves but the result can't interact with anything if used in isolation and is likely of very limited practical use in that respect unless you want to use it on some server back-end for computational purposes. The limits of the JS shell are alike.
As an aside, thanks to some great dev work the past months we do have a separate SpiderMonkey library on Windows again going forward so theoretically one could use that dll standalone and embed it in other applications; none of that kind of use is documented though and I'm not sure of the interdependency with other libs in the resulting build, but like I said theoretically it should be possible.
And none of the UXP-based applications use Rust. I've made sure to keep any integration with Rust out of the platform.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite
Re: The JS-engine-only version?
Is that still a consideration? Didn't the Rust foundation backtrack on that?soundmodel wrote: ↑2023-05-14, 06:35After noticing that the HyperbolaBSD project, for example, needs to utilize browsers that do not use Rust due to trademark issues,
https://developers.slashdot.org/story/2 ... mprovement
Or is this a "fool me once" type of situation for HyperbolaBSD?