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