Jint.CommonJS icon indicating copy to clipboard operation
Jint.CommonJS copied to clipboard

MissingMethodException?

Open tedneward opened this issue 6 years ago • 2 comments

Writing a simple VSMac Jint/Jint.CommonJS console app, and I'm running into a MissingMethodException being tossed from this code:

var cjs = engine.CommonJS();
cjs.RegisterInternalModule("console", typeof(Console));

This is with 3.0beta of Jint, if that makes a difference.

The exception looks like:

System.MissingMethodException: "Method not found: 'Jint.Native.JsValue Jint.Native.JsValue.op_Implicit(Jint.Native.Object.ObjectInstance)'."
  at Jint.CommonJS.ModuleLoadingEngine.RegisterInternalModule(String id, Type clrType)\n   at JintExplorer.Program.Main(String[] args) in /Users/tedneward/Projects/JintExplorer/JintExplorer/Program.cs:46

Any insights appreciated, particularly if this is a user bug. (Just started playing with Jint.CJS.)

tedneward avatar May 26 '19 01:05 tedneward

Hi mate,

I believe this library was not compiled against Jint 3.0. I will look at supporting it when it comes out of beta. Alternatively you're more than welcome to submit a PR introducing support for Jint 3.0.

Cheers 👍

tylerjwatson avatar May 27 '19 11:05 tylerjwatson

I took a look at this and it seems it's just this line https://github.com/tylerjwatson/Jint.CommonJS/blob/master/Jint.CommonJS/Module.cs#L103

With Jint 3.0 it wants the second parameter to be a string 'name', then the Func as the third and last required parameter. Just passing fileName as that parameter allowed the project to build and all tests pass. But not sure if that's the value that should really go there.

olliejm avatar Jan 23 '20 08:01 olliejm