allow Cordova's module runtime to be replaced with a different runtime
----------------------------------------------------------------------

                 Key: CB-341
                 URL: https://issues.apache.org/jira/browse/CB-341
             Project: Apache Callback
          Issue Type: Wish
          Components: CordovaJS
            Reporter: Patrick Mueller
            Assignee: Filip Maj
            Priority: Minor


I don't think there's a given use case for this right now, but we might see one 
in a future Cordova that ships it's plugins as CJS modules, externally.  Today 
the "batteries provided" plugins use the module runtime in a protected way, 
which is fine as we ship a single "cordova-x.y.z.js" as our release (we do not 
ship CJS modules externally).

Once we do ship CJS modules externally, folks might want to do a "build" which 
uses some other "compliant" runtime.  Eg, almond, requirejs, or Dojo.  See some 
discussion here: 

    http://callback.markmail.org/thread/wjcop7sg67hmqdcq

Some folks working on Dojo have expressed some interest in seeing something 
like this work, so I figured I'd go ahead and plant a stake in the ground, for 
the work that will need to happen at Cordova, and for other module runtime devs 
to follow along with.

At this point, the only work I see us doing is nailing down what are runtime 
requirements for our module system are.  They are basically CJS modules, with 
the simple AMD define(moduleId, factoryFunction) API added - no plugins or any 
of that jazz from "the AMD spec".  But we should be more specific.  By having 
some kind of test harness that would easily allow someone to test their AMD 
runtime being used by Cordova's modules.  

Seems like most AMD impls should work out of the box with this, but it turns 
out they don't; see the above email thread for more info.  

We could actually build a test harness for this today, as a new task in the 
Jakefile.  I'd be happy to do this if someone is willing to fix their module 
impl enough to try.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to