]> source.dussan.org Git - jquery.git/commitdiff
Update grunt:selector task to handle new Sizzle EXPOSE block
authorRick Waldron <waldron.rick@gmail.com>
Mon, 9 Jul 2012 15:21:35 +0000 (11:21 -0400)
committerRick Waldron <waldron.rick@gmail.com>
Mon, 9 Jul 2012 15:21:35 +0000 (11:21 -0400)
grunt.js

index 93ef7badd0da27cd372a5f9767f736f927cebbb7..086470a12ba812d263f3534166048f16083abbe3 100644 (file)
--- a/grunt.js
+++ b/grunt.js
@@ -156,10 +156,43 @@ module.exports = function( grunt ) {
                                        api: file.read( files[0] ),
                                        src: file.read( files[1] )
                                },
-                               compiled;
+        compiled, parts;
+
+    /**
+
+      sizzle-jquery.js -> sizzle between "EXPOSE" blocks,
+      replace define & window.Sizzle assignment
+
+
+      // EXPOSE
+      if ( typeof define === "function" && define.amd ) {
+        define(function() { return Sizzle; });
+      } else {
+        window.Sizzle = Sizzle;
+      }
+      // EXPOSE
+
+      Becomes...
+
+      Sizzle.attr = jQuery.attr;
+      jQuery.find = Sizzle;
+      jQuery.expr = Sizzle.selectors;
+      jQuery.expr[":"] = jQuery.expr.pseudos;
+      jQuery.unique = Sizzle.uniqueSort;
+      jQuery.text = Sizzle.getText;
+      jQuery.isXMLDoc = Sizzle.isXML;
+      jQuery.contains = Sizzle.contains;
+
+     */
+
+    // Break into 3 pieces
+    parts = sizzle.src.split("// EXPOSE");
+    // Replace the if/else block with api
+    parts[1] = sizzle.api;
+    // Rejoin the pieces
+    compiled = parts.join("");
+
 
-               // sizzle-jquery.js -> sizzle after "EXPOSE", replace window.Sizzle
-               compiled = sizzle.src.replace( "window.Sizzle = Sizzle;", sizzle.api );
                verbose.write("Injected sizzle-jquery.js into sizzle.js");
 
                // Write concatenated source to file