Comparing version 0.8.0 to 0.8.1
@@ -68,12 +68,10 @@ var fs = require('fs'), | ||
arr.forEach(function(m) { | ||
var src; | ||
if (m.duplicateOf) { | ||
// would be pointless to lazy eval these modules. | ||
src = this.encloseModule(m); | ||
buffer.push(this.defineModule(m)); | ||
} else if (m.id in lazyEval) { | ||
src = this.escapeModule(m); | ||
buffer.push(this.defineLazyEvaluatedModule(m)); | ||
} else { | ||
src = this.encloseModule(m); | ||
buffer.push(this.defineModule(m)); | ||
} | ||
buffer.push(this.makeDefine(m, src)); | ||
}, this); | ||
@@ -80,0 +78,0 @@ |
@@ -42,11 +42,14 @@ var util = require('util'), | ||
p.escapeModule = escapeModule; | ||
function escapeModule(m) { | ||
var ast = this.getModuleAst(m); | ||
return ["string", this.generateCode(ast)]; | ||
p.defineModule = defineModule; | ||
function defineModule(m) { | ||
var args = [this.getModuleIdAst(m), this.encloseModule(m)]; | ||
return getFunctionCallStatementAst("define", args); | ||
} | ||
p.makeDefine = makeDefine; | ||
function makeDefine(m, subtree) { | ||
return getFunctionCallStatementAst("define", [this.getModuleIdAst(m), subtree]); | ||
p.defineLazyEvaluatedModule = defineLazyEvaluatedModule; | ||
function defineLazyEvaluatedModule(m) { | ||
var ast = this.getModuleAst(m), | ||
args = [this.getModuleIdAst(m), ["string", this.generateCode(ast)]]; | ||
return getFunctionCallStatementAst("define", args); | ||
} | ||
@@ -53,0 +56,0 @@ |
@@ -31,11 +31,2 @@ var util = require('util'), | ||
(function(p) { | ||
p.makeDefine = makeDefine; | ||
function makeDefine(m, src) { | ||
var output = ''; | ||
output += '\n// module: ' + m.id; | ||
output += '\n// file: ' + m.relativePath; | ||
output += '\ndefine("' + m.id + '", ' + src + ');'; | ||
return output; | ||
} | ||
p.escape = escape; | ||
@@ -71,13 +62,28 @@ function escape(str, inlineSafe) { | ||
p.encloseModule = encloseModule; | ||
function encloseModule(m) { | ||
return 'function(require, exports, module) {\n' + this.getModuleSrc(m) + '\n}'; | ||
p.makeDefine = makeDefine; | ||
function makeDefine(m, src) { | ||
var header = this.getCommentHeader(m), | ||
id = this.getModuleId(m); | ||
return header + 'define("' + id + '", ' + src + ');\n'; | ||
} | ||
p.escapeModule = escapeModule; | ||
function escapeModule(m) { | ||
var body = this.getModuleSrc(m) + '\n//@ sourceURL=' + m.relativePath; | ||
return '"' + this.escape(body, this.config.inlineSafe) + '"'; | ||
p.getCommentHeader = getCommentHeader; | ||
function getCommentHeader(m) { | ||
var output = ''; | ||
output += '// module: ' + m.id + '\n'; | ||
output += '// file: ' + m.relativePath + '\n'; | ||
return output; | ||
} | ||
p.defineModule = defineModule; | ||
function defineModule(m) { | ||
return this.makeDefine(m, 'function(require, exports, module) {\n' + this.getModuleSrc(m) + '}'); | ||
} | ||
p.defineLazyEvaluatedModule = defineLazyEvaluatedModule; | ||
function defineLazyEvaluatedModule(m) { | ||
var body = this.getModuleSrc(m) + this.getSourceUrl(m); | ||
return this.makeDefine(m, '"' + this.escape(body, this.config.inlineSafe) + '"'); | ||
} | ||
p.getModuleSrc = getModuleSrc; | ||
@@ -91,2 +97,7 @@ function getModuleSrc(m) { | ||
p.getSourceUrl = getSourceUrl; | ||
function getSourceUrl(m) { | ||
return '\n//@ sourceURL=' + m.relativePath + '\n'; | ||
} | ||
p.getModuleId = getModuleId; | ||
@@ -99,3 +110,3 @@ function getModuleId(m) { | ||
function renderRequireCall(m) { | ||
return 'require("' + this.getModuleId(m) + '");' | ||
return 'require("' + this.getModuleId(m) + '");\n' | ||
} | ||
@@ -105,5 +116,5 @@ | ||
function renderRuntime() { | ||
return RUNTIME; | ||
return RUNTIME + '\n'; | ||
} | ||
})(Collector.prototype); | ||
@@ -20,7 +20,12 @@ var util = require('util'), | ||
(function(p) { | ||
p.encloseModule = encloseModule; | ||
function encloseModule(m) { | ||
return 'new Function("require", "exports", "module", ' + this.escapeModule(m) + ')'; | ||
p.defineModule = defineModule; | ||
function defineModule(m) { | ||
var body = this.getModuleSrc(m) + this.getSourceUrl(m), | ||
id = this.getModuleId(m), | ||
program = 'define("' + id + '", function(require, exports, module) { ' + body + '});', | ||
header = this.getCommentHeader(m); | ||
return header + 'eval("' + this.escape(program, this.config.inlineSafe) + '");\n' | ||
} | ||
})(DevCollector.prototype); | ||
@@ -5,3 +5,3 @@ { | ||
"main": "./main", | ||
"version": "0.8.0", | ||
"version": "0.8.1", | ||
"dependencies": { | ||
@@ -8,0 +8,0 @@ "module-grapher": ">=0.10.2", |
30371
804