Working AMD Strip. Fishy heuristic, but it works for every test so far.

This commit is contained in:
Alex Sexton
2012-11-08 16:15:53 -06:00
parent 9fe0ea1309
commit 788487b784
4 changed files with 5 additions and 8 deletions

View File

@@ -19,13 +19,12 @@
//Remove AMD ceremony for use without require.js or almond.js
contents = contents.replace(/define\(.*?\{/, '');
if ( contents.match(/return.*[^return]*$/) ) {
contents = contents.replace(/\}\);\s*?$/,'');
if ( !contents.match(/Modernizr\.addTest\(/) && !contents.match(/Modernizr\.addAsyncTest\(/) ) {
//remove last return statement and trailing })
contents = contents.replace(/return.*[^return]*$/,'');
}
else {
contents = contents.replace(/\}\);\s*?$/,'');
}
}
else if ((/require\([^\{]*?\{/).test(contents)) {
contents = contents.replace(/require[^\{]+\{/, '');

View File

@@ -11,7 +11,7 @@ define(['ModernizrProto', 'Modernizr', 'docElement', 'hasOwnProp'], function( Mo
if ( typeof feature == 'object' ) {
for ( var key in feature ) {
if ( hasOwnProp( feature, key ) ) {
Modernizr.addTest( key, feature[ key ] );
addTest( key, feature[ key ] );
}
}
} else {

View File

@@ -165,6 +165,4 @@ require([
// Leak Modernizr namespace
window.Modernizr = Modernizr;
console.dir(window.Modernizr);
});

View File

@@ -2,5 +2,5 @@ var fs = require('fs');
var mod = fs.readFileSync(__dirname + '/dist/modernizr-build.js', 'utf8');
mod = mod.replace('define("modernizr-init", function(){});', '');
mod = mod.replace('define("modernizr-init",[], function(){});', '');
fs.writeFileSync(__dirname + '/dist/modernizr-build.js', ";(function(window, document, undefined){\n" + mod + "\n})(this, document);", 'utf8');