Possible scope leak in Nashorn
A. Sundararajan
sundararajan.athijegannathan at oracle.com
Thu Dec 5 05:00:34 PST 2013
Please file a bug using web interface. Process explained in this post by
Jim:
http://mail.openjdk.java.net/pipermail/nashorn-dev/2013-December/002515.html
Thanks
-Sundar
On Thursday 05 December 2013 06:14 PM, Tim Fox wrote:
> Oops! Forgot to provide a link to the example...
>
> Here it is:
>
> https://gist.github.com/purplefox/7804105
>
> On 05/12/13 12:42, Tim Fox wrote:
>> Hello Nashorn folks,
>>
>> I've been playing around with Nashorn today, and in particular I've
>> been trying to implement commonJS-like require() functionality, but
>> having some problems. Most probably I am doing something stupid...
>>
>> I'm sure you all know, with commonJS modules you can "require" them
>> from your JS scripts, e.g.
>>
>> var someObject = require("modulename");
>>
>> Then in modulename.js
>>
>> you do your stuff then export the object that ends up being returned
>> from the require, e.g.
>>
>> var someObject = {
>> foo: "bar"
>> }
>>
>> module.exports = someObject;
>>
>> One key thing is that modules have their own scope, so any globals
>> defined in modulename.js shouldn't be visible in the script that
>> requires them, and vice versa.
>>
>> While trying to implement this using Nashorn and running scripts in
>> different scopes I've found it's possible for Nashorn to get confused
>> about what scope it's using, and for scopes to leak from one to another.
>>
>> I created this simple runnable example to demonstrate the issue.
>>
>> I wonder if anyone can advise whether this is a bug, or perhaps I am
>> using the API incorrectly. If the latter, could you advise on the
>> proper way to use the API to implement this kind of functionality.
>>
>> Many thanks
>>
>>
>
More information about the nashorn-dev
mailing list