Coder Social home page Coder Social logo

esvu's Introduction

esvu

esvu is your one-stop shop for all implementations of ECMAScript.

Installation

$ npm i -g esvu

esvu will attempt to respect XDG_DATA_HOME, and will fall back to the home directory. You will need to add esvu's bin to your PATH, for example $XDG_DATA_HOME/.esvu/bin or /home/snek/.esvu/bin.

You may override the path entirely by setting the ESVU_PATH environment variable.

Usage

The first time you run esvu, it will ask you which engines you wish to install. After the first run, running esvu will update the engines you selected.

  • $ esvu Update all installed engines, or select engines to install
  • $ esvu install <engine> Install the engine <engine>
  • $ esvu uninstall <engine> Uninstall <engine>
  • $ esvu update <engine> Update <engine>. Like install but the engine must have been previously installed.

If you're using eshost-cli, you can run eshost --configure-esvu after installing engines to make eshost automatically find the installed engines.

Engine Binary Names darwin-x64 darwin-arm64 linux-ia32 linux-x64 linux-arm64 win32-ia32 win32-x64
Boa boa,
engine262 engine262
GraalJS graaljs
Hermes hermes
LibJS serenity-js
JavaScriptCore jsc, javascriptcore
QuickJS quickjs, quickjs-run-test262
SpiderMonkey sm, spidermonkey
V8 v8
XS xs

Some binaries may be exposed as batch/shell scripts to properly handling shared library loading. Some binaries on 64-bit systems may be natively 32-bit.

esvu's People

Contributors

adkaster avatar alimpfard avatar anba avatar dependabot[bot] avatar devsnek avatar gengjiawen avatar iamstolis avatar jasonwilliams avatar jugglinmike avatar patrick-soquet avatar rkirsling avatar whimsfate avatar woess avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esvu's Issues

Fatal error installing Chakra Error: Got 403

$ esvu
esvu ❯ version 1.2.0
Chakra ❯ Checking version...
Chakra ❯ Installing version 1_11_18
Chakra ❯ Downloading https://aka.ms/chakracore/cc_osx_x64_1_11_18
esvu ✖ Fatal error installing Chakra Error: Got 403

This has been preventing install of ChakraCore since at least April 16, because the last successful run of Test262.report's results collection engine was April 15.

GraalJS and QuickJS will not install

Should these engines be included when running esvu --engines=all? Presently they do not install:

$ cat status.json
{
  "selectedEngines": [
    "ch",
    "engine262",
    "jsc",
    "jsshell",
    "v8",
    "xs"
  ],
  "installed": {
    "ch": {
      "version": "1_11_16",
      "binEntries": [
        "chakra"
      ]
    },
    "engine262": {
      "version": "0.0.1-587a1fa64b42201eccc48280a07b36bbb4f40b7e",
      "binEntries": [
        "engine262"
      ]
    },
    "jsc": {
      "version": "257719",
      "binEntries": [
        "javascriptcore",
        "jsc"
      ]
    },
    "jsshell": {
      "version": "74.0b9",
      "binEntries": [
        "sm",
        "spidermonkey"
      ]
    },
    "v8": {
      "version": "8.2.230",
      "binEntries": [
        "v8"
      ]
    },
    "xs": {
      "version": "10.0.0",
      "binEntries": [
        "xs"
      ]
    }
  }
}
rwaldron in ~/.esvu/engines
$ ls
.
├── [drwxr-xr-x rwaldron staff      96 Mar  2 14:25]  ch/
├── [drwxr-xr-x rwaldron staff      96 Mar  2 14:25]  engine262/
├── [drwxr-xr-x rwaldron staff      96 Mar  2 14:25]  jsc/
├── [drwxr-xr-x rwaldron staff     160 Mar  2 14:26]  jsshell/
├── [drwxr-xr-x rwaldron staff     160 Mar  2 14:26]  v8/
└── [drwxr-xr-x rwaldron staff      96 Mar  2 14:26]  xs/

Installing JSC on windows fails

JavaScriptCore ❯ Checking version...
esvu ✖ Fatal error installing JavaScriptCore TypeError: Cannot read property '1' of null
    at Function.resolveVersion (...\node_modules\esvu\src\engines\javascriptcore.js:56:23)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Function.install (...\node_modules\esvu\src\installer.js:43:21)
    at async installEngine (...\node_modules\esvu\src\bin.js:120:3)
    at async updateAll (...\node_modules\esvu\src\bin.js:148:7)
    at async main (...\node_modules\esvu\src\bin.js:168:7)

The link to the builds below no longer works:

const body = await fetch('https://build.webkit.org/builders/WinCairo%2064-bit%20WKL%20Release%20%28Build%29?numbuilds=25')

Apparently the site is now an SPA, but the upside is there is an API now:

  • https://build.webkit.org/api/v2/builders returns a list of builders
  • You can request builder info from https://build.webkit.org/api/v2/builders/{builder}
  • You can request builds using https://build.webkit.org/api/v2/builders/{builder}/builds?limit=200&order=-number&property=owners&property=workername&property=got_revision&property=identifier

It looks like the builders esvu depends on are:

  • Apple-Win-10-Release-Build (for win32) - builder: 67
  • WinCairo-64-bit-WKL-Release-Build (for win64) - builder: 27
  • Apple-Catalina-Release-Build (for darwin64) - builder: 54

Example output for builder 27 looks like this (https://build.webkit.org/api/v2/builders/27/builds?limit=20&order=-number&property=owners&property=workername&property=got_revision&property=identifier):

{
  "builds": [
    {
      "builderid": 27,
      "buildid": 28081,
      "buildrequestid": 44548,
      "complete": true,
      "complete_at": 1614293446,
      "masterid": 1,
      "number": 740,
      "properties": {
        "got_revision": [
          "273514",
          "CheckOutSource"
        ],
        "identifier": [
          "234589@main",
          "Unknown"
        ],
        "owners": [
          [
            "[email protected]"
          ],
          "Build"
        ],
        "workername": [
          "wincairo-wkl-release-build-01",
          "Worker"
        ]
      },
      "results": 0,
      "started_at": 1614293271,
      "state_string": "build successful",
      "workerid": 31
    },
    ...
]

Per the build steps, what gets published to s3 is a zip using .builds[0].properties.got_revision[0] (in this case, 273514), which you can see from the "transfer to s3" step at https://build.webkit.org/#/builders/27/builds/740

What counts as an engine?

Just wondering why Java-based ones like Rhino and Nashorn are missing… might be too old and Nashorn a dead-end, but IMHO they still are valuable script engines.

GraalJS fails to install

See tc39/test262#3703; I thought I'd raise it here as well.

esvu ❯ version 1.2.10
GraalJS ❯ Checking version...
GraalJS ❯ Installing version 22.3.0
GraalJS ❯ Downloading https://github.com/oracle/graaljs/releases/download/vm-22.3.0/graaljs-22.3.0-linux-amd64.tar.gz
progress [----------------------------------------] 0% | ETA: 0s | 0/59452349progress [==========------------------------------] 24% | ETA: 0s | 14352384/59452349progress [===========-----------------------------] 28% | ETA: 0s | 16777216/59452349progress [====================--------------------] 50% | ETA: 0s | 30310400/59452349progress [=============================-----------] 71% | ETA: 0s | 42401792/59452349progress [========================================] 100% | ETA: 0s | 59452349/59452349GraalJS ❯ Extracting /tmp/esvu-9ea49255fad1beb5fb67a9a903903de2
GraalJS ❯ Installing /tmp/esvu-9ea49255fad1beb5fb67a9a903903de2-extracted
GraalJS ❯ Testing...
esvu ✖ Error: Command failed with exit code 255: /home/circleci/.esvu/bin/graaljs -e print("42");
Could not load JVM.
    at makeError (/home/circleci/test262/node_modules/execa/lib/error.js:59:11)
    at handlePromise (/home/circleci/test262/node_modules/execa/index.js:114:26)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async GraalJSInstaller.test (/home/circleci/test262/node_modules/esvu/src/engines/graaljs.js:79:8)
    at async Function.install (/home/circleci/test262/node_modules/esvu/src/installer.js:110:5)
    at async installEngine (/home/circleci/test262/node_modules/esvu/src/bin.js:121:3)
    at async main (/home/circleci/test262/node_modules/esvu/src/bin.js:168:7) {
  shortMessage: 'Command failed with exit code 255: /home/circleci/.esvu/bin/graaljs -e print("42");',
  command: '/home/circleci/.esvu/bin/graaljs -e print("42");',
  exitCode: 255,
  signal: undefined,
  signalDescription: undefined,
  stdout: '',
  stderr: 'Could not load JVM.',
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
esvu ✖ Some engines were not installed.

Exited with code exit status 1

CircleCI received exit code 1

SpiderMonkey versions out of date for non-win* platforms

Buildhub hasn't listed any versions for linux-x86_64, mac, or other non-windows platforms in quite some time - most of them are stuck at 98 or older. However, the build IDs for win{32,64} versions still have corresponding builds at the usual location for the other platforms. This results in needing to manually specify any non-ancient build for SM on other platforms, e.g. esvu install [email protected]#20221108213602 and working with the corresponding paths.

chakratestx.file.core.windows.net not found

I'm seeing this on CircleCI and locally:

esvu ✖ Fatal error installing Chakra FetchError: request to https://chakratestx.file.core.windows.net/chakrashare/share/version.txt?st=2018-03-27T17%3A34%3A00Z&se=2024-03-28T17%3A34%3A00Z&sp=r&sv=2017-04-17&sr=s&sig=7Bg6lPyGEDmkxwFy1gVypmJS8AZLd3YFPdQbIeOOeMA%3D failed, reason: getaddrinfo ENOTFOUND chakratestx.file.core.windows.net
    at ClientRequest.<anonymous> (/home/circleci/project/node_modules/node-fetch/lib/index.js:1461:11)
    at ClientRequest.emit (node:events:365:28)
    at TLSSocket.socketErrorListener (node:_http_client:447:9)
    at TLSSocket.emit (node:events:365:28)
    at emitErrorNT (node:internal/streams/destroy:193:8)
    at emitErrorCloseNT (node:internal/streams/destroy:158:3)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  type: 'system',
  errno: 'ENOTFOUND',
  code: 'ENOTFOUND'
}

I will try to find out where it moved to, if it did.

automatically install jsc deps on windows

jsc depends on a bunch of additional libraries, which are actually included in the zip that is downloaded by esvu. i think all that needs to be done is unzipping it and running a bunch of ps scripts, but more investigation is needed.

xdg conventions on local esvu directory

Ty for esvu. It's useful.

When I can, I like to follow the xdg conventions of my home directory. In the case of esvu, I'd like to put the installed engines in ~/.local/esvu rather than ~/.esvu. Or I might want to put esvu in /opt/esvu for other users to share. So I suggest the following:

  1. if the global environment variable ESVU_PATH has a definition, respect that as the root

  2. otherwise use ~/.esvu

I think the code in common.js would be:

const ESVU_PATH = process.env.ESVU_PATH || path.join(os.homedir(), '.esvu'); // bin is added later

For the linux people, you might want to note that ~{user} isn't expanded.

MacOS 13.2.1: Fatal error installing JavaScriptCore TypeError: Cannot read properties of undefined (reading '0')

I just installed and ran esvu for the first time on my M1 MacBook Pro running Ventura 13.2.1 and it failed installing JavaScriptCore.

Here's my PATH after running the commands below.

PATH=/Users/justingrant/.esvu/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/homebrew/bin:/opt/homebrew/sbin

Here's the output with the failure callstack. Does this problem look familiar?

justingrant@Justins-Laptop portage-stable % npm install esvu -g

added 116 packages in 3s

16 packages are looking for funding
  run `npm fund` for details
justingrant@Justins-Laptop portage-stable % export PATH="${HOME}/.esvu/bin:${PATH}";
justingrant@Justins-Laptop portage-stable % esvu --engines=all;
esvu ❯ version 1.2.11
engine262 ❯ Checking version...
engine262 ! There are external requirements that may need to be installed:
engine262 !   * Node.js - https://nodejs.org/
engine262 ❯ Installing version 0.0.1-09a6842fc709fb97b6303c42946a49a669225b78
engine262 ❯ Downloading https://registry.npmjs.org/@engine262/engine262/-/engine262-0.0.1-09a6842fc709fb97b6303c42946a49a669225b78.tgz
engine262 ❯ Extracting /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-53c37ca3a16f0ed4b902e11be62b4a27.tgz
engine262 ❯ Installing /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-53c37ca3a16f0ed4b902e11be62b4a27.tgz-extracted
engine262 ❯ Testing...
engine262 ✔ Installed with bin entries: engine262
GraalJS ❯ Checking version...
GraalJS ❯ Installing version 22.3.1
GraalJS ❯ Downloading https://github.com/oracle/graaljs/releases/download/vm-22.3.1/graaljs-22.3.1-macos-aarch64.tar.gz
GraalJS ❯ Extracting /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-0638bb255edaddd7a76ac4c8882ee558
GraalJS ❯ Installing /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-0638bb255edaddd7a76ac4c8882ee558-extracted
GraalJS ❯ Testing...
GraalJS ✔ Installed with bin entries: graaljs
JavaScriptCore ❯ Checking version...
esvu ✖ Fatal error installing JavaScriptCore TypeError: Cannot read properties of undefined (reading '0')
    at JavaScriptCoreInstaller.resolveVersion (/opt/homebrew/lib/node_modules/esvu/src/engines/javascriptcore.js:60:56)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async JavaScriptCoreInstaller.install (/opt/homebrew/lib/node_modules/esvu/src/installer.js:45:21)
    at async installEngine (/opt/homebrew/lib/node_modules/esvu/src/bin.js:121:3)
    at async i (/opt/homebrew/lib/node_modules/esvu/src/bin.js:149:7)
    at async updateAll (/opt/homebrew/lib/node_modules/esvu/src/bin.js:160:7)
    at async main (/opt/homebrew/lib/node_modules/esvu/src/bin.js:177:7)
SpiderMonkey ❯ Checking version...
SpiderMonkey ❯ Installing version 113.0a1#20230314094139
SpiderMonkey ❯ Downloading https://archive.mozilla.org/pub/firefox/nightly/2023/03/2023-03-14-09-41-39-mozilla-central/jsshell-mac.zip
SpiderMonkey ❯ Extracting /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-ae8b02d62b47a461b54f3fe7544b317e.zip
SpiderMonkey ❯ Installing /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-ae8b02d62b47a461b54f3fe7544b317e.zip-extracted
SpiderMonkey ❯ Testing...
SpiderMonkey ✔ Installed with bin entries: sm, spidermonkey
V8 ❯ Checking version...
V8 ❯ Installing version 11.3.171
V8 ❯ Downloading https://storage.googleapis.com/chromium-v8/official/canary/v8-mac-arm64-rel-11.3.171.zip
V8 ❯ Extracting /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-0b6ea9bf227c819a887f14d31a6cf9a3.zip
V8 ❯ Installing /var/folders/fr/y1mxnkdd1bq2w74g39kd2_9r0000gn/T/esvu-0b6ea9bf227c819a887f14d31a6cf9a3.zip-extracted
V8 ❯ Testing...
V8 ✔ Installed with bin entries: v8
esvu ✖ Some engines were not installed.

Graaljs version isn't "latest"?

If by default, esvu should be looking for the "latest" version when installing (unless explicitly specified?), then resolveVersion implementation for Graaljs is incorrect. Presently, it's getting 19.x, when the actual "latest" is 21.x (as of right now, that's 21.1.0), which is not a prerelease version.

Fatal error installing both GraalJS and XS (darwin-x64)

v1.2.4

esvu ✖ Fatal error installing GraalJS TypeError: body.filter is not a function
    at Function.resolveVersion (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/engines/graaljs.js:39:10)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Function.install (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/installer.js:43:21)
    at async installEngine (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:121:3)
    at async i (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:149:7)
    at async updateAll (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:160:7)
    at async main (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:177:7)
esvu ✖ Fatal error installing XS TypeError: body.find is not a function
    at Function.resolveVersion (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/engines/xs.js:36:19)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Function.install (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/installer.js:43:21)
    at async installEngine (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:121:3)
    at async i (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:149:7)
    at async updateAll (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:160:7)
    at async main (/Users/rwaldron/.volta/tools/image/packages/esvu/lib/node_modules/esvu/src/bin.js:177:7)

Requirements for engine inclusion?

In particular, is having a binary release required, or is it okay to build from source as part of the install process?
Considering the engine I wish to add (LibJS, the js engine in SerenityOS) does not provide binary releases (as the development pace is far too fast to provide releases in general), is it at all possible to include LibJS in esvu?

LibJS on macOS 10.13.6

When trying to install LibJS I get an error about not loading liblagom-js.0.dylib: load command 0x80000034 is unknown

node src/bin.js --engines libjs
esvu ❯ version 1.2.11
LibJS ❯ Checking version...
LibJS ❯ Installing version 10147417221/495677505
LibJS ❯ Downloading https://nightly.link/serenityos/serenity/suites/10147417221/artifacts/495677505
LibJS ❯ Extracting /var/folders/70/mdncxjgs3tx0lrvr03_7gd_w0000gn/T/esvu-74bf6cc27e73fb2f518098bc7eeac740
LibJS ❯ Installing /var/folders/70/mdncxjgs3tx0lrvr03_7gd_w0000gn/T/esvu-74bf6cc27e73fb2f518098bc7eeac740-extracted
LibJS ❯ Testing...
esvu ✖ Fatal error installing LibJS Error: Command failed with exit code 134: /Volumes/mystuff/dotnet/.local/share/.esvu/bin/serenity-js -c console.log("42")
dyld: Library not loaded: @rpath/liblagom-js.0.dylib
  Referenced from: /Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/js
  Reason: no suitable image found.  Did find:
	/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/../lib/liblagom-js.0.dylib: cannot load 'liblagom-js.0.dylib' (load command 0x80000034 is unknown)
	/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/../lib/liblagom-js.0.dylib: stat() failed with errno=1
/Volumes/mystuff/dotnet/.local/share/.esvu/bin/serenity-js: line 2: 40255 Abort trap: 6           "/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/js" "$@"
    at makeError (/Volumes/mystuff/dotnet/projects/opensource/esvu/node_modules/execa/lib/error.js:59:11)
    at handlePromise (/Volumes/mystuff/dotnet/projects/opensource/esvu/node_modules/execa/index.js:114:26)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async LibJSInstaller.test (/Volumes/mystuff/dotnet/projects/opensource/esvu/src/engines/libjs.js:75:8)
    at async Function.install (/Volumes/mystuff/dotnet/projects/opensource/esvu/src/installer.js:110:5)
    at async installEngine (/Volumes/mystuff/dotnet/projects/opensource/esvu/src/bin.js:121:3)
    at async i (/Volumes/mystuff/dotnet/projects/opensource/esvu/src/bin.js:149:7)
    at async updateAll (/Volumes/mystuff/dotnet/projects/opensource/esvu/src/bin.js:160:7)
    at async main (/Volumes/mystuff/dotnet/projects/opensource/esvu/src/bin.js:177:7) {
  shortMessage: 'Command failed with exit code 134: /Volumes/mystuff/dotnet/.local/share/.esvu/bin/serenity-js -c console.log("42")',
  command: '/Volumes/mystuff/dotnet/.local/share/.esvu/bin/serenity-js -c console.log("42")',
  exitCode: 134,
  signal: undefined,
  signalDescription: undefined,
  stdout: '',
  stderr: 'dyld: Library not loaded: @rpath/liblagom-js.0.dylib\n' +
    '  Referenced from: /Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/js\n' +
    '  Reason: no suitable image found.  Did find:\n' +
    "\t/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/../lib/liblagom-js.0.dylib: cannot load 'liblagom-js.0.dylib' (load command 0x80000034 is unknown)\n" +
    '\t/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/../lib/liblagom-js.0.dylib: stat() failed with errno=1\n' +
    '/Volumes/mystuff/dotnet/.local/share/.esvu/bin/serenity-js: line 2: 40255 Abort trap: 6           "/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/js" "$@"',
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}
esvu ✖ Some engines were not installed.
~/.local/share/.esvu/bin ./serenity-js --version
dyld: Library not loaded: @rpath/liblagom-js.0.dylib
  Referenced from: /Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/js
  Reason: no suitable image found.  Did find:
	/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/../lib/liblagom-js.0.dylib: cannot load 'liblagom-js.0.dylib' (load command 0x80000034 is unknown)
	/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/../lib/liblagom-js.0.dylib: stat() failed with errno=1
./serenity-js: line 2: 43471 Abort trap: 6           "/Volumes/mystuff/dotnet/.local/share/.esvu/engines/libjs/bin/js" "$@"

@ADKaster is it because my OS is too old or are my paths messed up?

My ~/.local/share/.esvu/engines/libjs folder contains the following files:

.
├── bin
│   └── js
└── lib
    ├── liblagom-core.0.0.0.dylib
    ├── liblagom-core.0.dylib
    ├── liblagom-core.dylib
    ├── liblagom-crypto.0.0.0.dylib
    ├── liblagom-crypto.0.dylib
    ├── liblagom-crypto.dylib
    ├── liblagom-js.0.0.0.dylib
    ├── liblagom-js.0.dylib
    ├── liblagom-js.dylib
    ├── liblagom-line.0.0.0.dylib
    ├── liblagom-line.0.dylib
    ├── liblagom-line.dylib
    ├── liblagom-locale.0.0.0.dylib
    ├── liblagom-locale.0.dylib
    ├── liblagom-locale.dylib
    ├── liblagom-regex.0.0.0.dylib
    ├── liblagom-regex.0.dylib
    ├── liblagom-regex.dylib
    ├── liblagom-syntax.0.0.0.dylib
    ├── liblagom-syntax.0.dylib
    ├── liblagom-syntax.dylib
    ├── liblagom-textcodec.0.0.0.dylib
    ├── liblagom-textcodec.0.dylib
    ├── liblagom-textcodec.dylib
    ├── liblagom-unicode.0.0.0.dylib
    ├── liblagom-unicode.0.dylib
    └── liblagom-unicode.dylib

2 directories, 28 files

PS. Great video you made for the SerenityOS December update: https://youtu.be/Q3PyN2Ctrpg?t=2384

Difference to GoogleChromeLabs/jsvu?

Hi.
I just came across esvu. Can you share why you built it and the difference between esvu and jsvu? I notice it supports a couple of different engines. Any other reasons to use one over the other?

Thanks in advance!

PS: perhaps this could be added to the README?

Failed to update JavaScriptCore

Not sure what happened...

➜  ~ esvu update jsc
esvu ❯ version 1.2.3
JavaScriptCore ❯ Checking version...
esvu ✖ TypeError: Cannot read property '1' of null
    at Function.resolveVersion (/Users/hax/.npm-global/lib/node_modules/esvu/src/engines/javascriptcore.js:62:23)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Function.install (/Users/hax/.npm-global/lib/node_modules/esvu/src/installer.js:43:21)
    at async updateEngine (/Users/hax/.npm-global/lib/node_modules/esvu/src/bin.js:127:3)
    at async main (/Users/hax/.npm-global/lib/node_modules/esvu/src/bin.js:162:7)
esvu ✖ Some engines were not installed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.