Skip to content
Permalink
Browse files

Unify build script capabilities between branches. Specifically, added…

… a special comment pragma for removing certain lines.
  • Loading branch information...
timmywil committed Oct 15, 2013
1 parent 9628649 commit b24a3d5368ab1243ac43c773b318519da2f0ae7b
Showing with 9 additions and 8 deletions.
  1. +9 −8 build/tasks/build.js
@@ -56,24 +56,25 @@ module.exports = function( grunt ) {

} else {

// Ignore jQuery's return statement (the only necessary one)
// Ignore jQuery's exports (the only necessary one)
if ( name !== "jquery" ) {
contents = contents
.replace( /\s*return\s+[^\}]+(\}\);[^\w\}]*)$/, "$1" );
.replace( /\s*return\s+[^\}]+(\}\);[^\w\}]*)$/, "$1" )
// Multiple exports
.replace( /\s*exports\.\w+\s*=\s*\w+;/g, "" );
}

// Remove define wrappers, closure ends, and empty declarations
contents = contents
.replace( /define\([^{]*?{/, "" )
.replace( rdefineEnd, "" );

// Remove CommonJS-style require calls
// Keep an ending semicolon
// Remove anything wrapped with
// /* ExcludeStart */ /* ExcludeEnd */
// or a single line directly after a // BuildExclude comment
contents = contents
.replace( /(\s+\w+ = )?\s*require\(\s*(")[\w\.\/]+\2\s*\)([,;])/g,
function( all, isVar, quote, commaSemicolon ) {
return isVar && commaSemicolon === ";" ? ";" : "";
});
.replace( /\/\*\s*ExcludeStart\s*\*\/[\w\W]*?\/\*\s*ExcludeEnd\s*\*\//ig, "" )
.replace( /\/\/\s*BuildExclude\n\r?[\w\W]*?\n\r?/ig, "" );

// Remove empty definitions
contents = contents

0 comments on commit b24a3d5

Please sign in to comment.
You can’t perform that action at this time.