Using jQuery as a Chiron module
I've been working on an XHR module loader for the last year and have
been looking into integrating jQuery. I'm hoping to be able to use
jQuery without modification. However, since jQuery explicitly
augments the window object instead of implicitly through the global
context object, a small change would be necessary to make this
possible.
I've attached a patch which should have no impact on the functionality
of the library core as it stands, but would permit jQuery to be used
as a "Chiron" module with no modification hereafter.
In its current form, jQuery adds the |jQuery| and |$| methods to the
|window| object. This patch changes 4 lines so that instead of
augmenting the |window| explicitly, the library implicitly adds them
to the |window| by adding them to |this|. In global scope, |this| is
the same as |window|. However, if someone includes a script with
|modules.js|, |this| is the module object. I've taken care to assure
that the enclosure gets the global context object in outro.js.
This change should have no impact on current deployments. I did a
spot check on the patched version of jquery.js and it appears to work
fine for trivial cases in as both a global script and a module script.
The only difference is that, as a module, the script has no impact on
the window object.
Shall I file a ticket?
Kris Kowal
http://cixar.com/~kris
http://modulesjs.com