jsvu icon indicating copy to clipboard operation
jsvu copied to clipboard

Support engine262?

Open leobalter opened this issue 6 years ago • 7 comments

I'd like to have a pre-compiled engine262 available in jsvu. I would use it for projects like the test262.report, similarly to #73 and #72

https://github.com/engine262/engine262

Thanks!

leobalter avatar Jul 23 '19 05:07 leobalter

I'd like to have a pre-compiled engine262 available in jsvu

engine262 is not "compiled" though, so I'm not sure what it would mean to offer "precompiled" engine262 binaries. Perhaps using pkg to create standalone binaries?

I'm open to the idea, but at this point I'm not sure if it makes sense.

@devsnek @timothygu What do you think?

mathiasbynens avatar Jul 23 '19 06:07 mathiasbynens

I think I can generate js bundles. If you're running jsvu you have node so i think that should be enough.

devsnek avatar Jul 23 '19 13:07 devsnek

If you're running jsvu you have node so i think that should be enough.

But then again if you have node, you have npm, so why not just npm install -g engine262? @leobalter?

jsvu is all about getting easy access to JS engine binaries, without having to compile them from source yourself. For engine262 there is no real “binary” and so this doesn’t apply.

mathiasbynens avatar Jul 23 '19 13:07 mathiasbynens

engine262 can be installed from here now: https://github.com/engine262/engine262/packages/66778 or directly downloaded as a tar from https://api.engine262.js.org/download

if jsvu did want to support this, it could grab and unzip the tarball same as other engines.

devsnek avatar Dec 01 '19 04:12 devsnek

I think it would make more sense to include engine262 with jsvu. I'm not sure why there is a difference between downloading an engine262 build tar and a v8 build tar.

devsnek avatar Jan 14 '20 23:01 devsnek

I'm not sure why there is a difference between downloading an engine262 build tar and a v8 build tar.

The difference is what I said above: the current engine262 tars don't include an actual binary.

jsvu makes it easier to install JS engine binaries so you don't have to compile them from source all the time. Conceptually, after installing an engine with jsvu, you can uninstall Node.js and npm and still have the binaries work, because they're standalone binaries. With engine262 this is not the case, because it's not a binary -- it's a JavaScript app that depends on Node.js at runtime.

I'd rather not add non-binaries to jsvu, since they can already easily be installed without the need to compile from source. E.g. for packages published to npm (like engine262 should be), you'd use npm install.

mathiasbynens avatar Jan 15 '20 06:01 mathiasbynens

@mathiasbynens is the idea that anything with a runtime dependency that is not included in the release package should not be distributed by jsvu?

engine262 does have a compile step (because the spec has macros), so it seemed like jsvu ("jsvu makes it easy to install recent versions of various JavaScript engines without having to compile them from source") was the right choice.

devsnek avatar Jan 15 '20 06:01 devsnek