Skip to content

Commit

Permalink
update AMD regex to reflect CommonJS regex updates (fixes #204)
Browse files Browse the repository at this point in the history
  • Loading branch information
guybedford committed Sep 25, 2014
1 parent 555763b commit 6f9028d
Showing 1 changed file with 3 additions and 22 deletions.
25 changes: 3 additions & 22 deletions lib/extension-amd.js
Expand Up @@ -10,10 +10,10 @@ function amd(loader) {
// AMD Module Format Detection RegEx
// define([.., .., ..], ...)
// define(varName); || define(function(require, exports) {}); || define({})
var amdRegEx = /(?:^\s*|[}{\(\);,\n\?\&]\s*)define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*(("[^"]+"|'[^']+')\s*,|\/\/.*\r?\n|\/\*(.|\s)*?\*\/))*(\s*("[^"]+"|'[^']+')\s*,?)?(\s*(\/\/.*\r?\n|\/\*(.|\s)*?\*\/))*\s*\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;
var amdRegEx = /(?:^|[^$_a-zA-Z\xA0-\uFFFF.])define\s*\(\s*("[^"]+"\s*,\s*|'[^']+'\s*,\s*)?\s*(\[(\s*(("[^"]+"|'[^']+')\s*,|\/\/.*\r?\n|\/\*(.|\s)*?\*\/))*(\s*("[^"]+"|'[^']+')\s*,?)?(\s*(\/\/.*\r?\n|\/\*(.|\s)*?\*\/))*\s*\]|function\s*|{|[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*\))/;
var commentRegEx = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg;

var cjsRequirePre = "(?:^\\s*|[}{\\(\\);,\\n=:\\?\\&]\\s*)";
var cjsRequirePre = "(?:^|[^$_a-zA-Z\\xA0-\\uFFFF.])";
var cjsRequirePost = "\\s*\\(\\s*(\"([^\"]+)\"|'([^']+)')\\s*\\)";

var fnBracketRegEx = /\(([^\)]*)\)/;
Expand Down Expand Up @@ -260,26 +260,7 @@ function amd(loader) {

createDefine(loader);

try {
loader.__exec(load);
}
catch(e) {
if (loader.execute === false && isNode) {
// use a regular expression to pull out deps
var match = load.source.match(amdRegEx);
if (match) {
// named or anonymous
if (match[1] && match[1][0] == '[')
define(match[1].substr(match[1].length - 2), eval(match[2]), function() {});
else if (match[2] && match[2][0] == '[')
define(eval(match[2]), function() {});
else
define(function() {});
}
}
else
throw e;
}
loader.__exec(load);

removeDefine(loader);

Expand Down

0 comments on commit 6f9028d

Please sign in to comment.