Skip to content

Commit 4a90bce

Browse files
committed
Update grunt:selector task to handle new Sizzle EXPOSE block
1 parent 7fae98c commit 4a90bce

File tree

1 file changed

+36
-3
lines changed

1 file changed

+36
-3
lines changed

grunt.js

Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,10 +156,43 @@ module.exports = function( grunt ) {
156156
api: file.read( files[0] ),
157157
src: file.read( files[1] )
158158
},
159-
compiled;
159+
compiled, parts;
160+
161+
/**
162+
163+
sizzle-jquery.js -> sizzle between "EXPOSE" blocks,
164+
replace define & window.Sizzle assignment
165+
166+
167+
// EXPOSE
168+
if ( typeof define === "function" && define.amd ) {
169+
define(function() { return Sizzle; });
170+
} else {
171+
window.Sizzle = Sizzle;
172+
}
173+
// EXPOSE
174+
175+
Becomes...
176+
177+
Sizzle.attr = jQuery.attr;
178+
jQuery.find = Sizzle;
179+
jQuery.expr = Sizzle.selectors;
180+
jQuery.expr[":"] = jQuery.expr.pseudos;
181+
jQuery.unique = Sizzle.uniqueSort;
182+
jQuery.text = Sizzle.getText;
183+
jQuery.isXMLDoc = Sizzle.isXML;
184+
jQuery.contains = Sizzle.contains;
185+
186+
*/
187+
188+
// Break into 3 pieces
189+
parts = sizzle.src.split("// EXPOSE");
190+
// Replace the if/else block with api
191+
parts[1] = sizzle.api;
192+
// Rejoin the pieces
193+
compiled = parts.join("");
194+
160195

161-
// sizzle-jquery.js -> sizzle after "EXPOSE", replace window.Sizzle
162-
compiled = sizzle.src.replace( "window.Sizzle = Sizzle;", sizzle.api );
163196
verbose.write("Injected sizzle-jquery.js into sizzle.js");
164197

165198
// Write concatenated source to file

0 commit comments

Comments
 (0)