Possible scope leak in Nashorn
Tim Fox
timvolpe at gmail.com
Thu Dec 5 05:13:02 PST 2013
Thanks I am trying to submit a bug here:
http://bugreport.sun.com/bugreport/submit_intro.do
as directed in the link your provided, but I can't see any category I
can file it against that seems appropriate for Nashorn...
On 05/12/13 13:00, A. Sundararajan wrote:
> 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