Improved AMD support when namespace = false
This commit is contained in:
parent
2277764a38
commit
4a4e1734bf
17
tasks/jst.js
17
tasks/jst.js
@ -30,7 +30,10 @@ module.exports = function(grunt) {
|
|||||||
|
|
||||||
grunt.verbose.writeflags(options, 'Options');
|
grunt.verbose.writeflags(options, 'Options');
|
||||||
|
|
||||||
var nsInfo = helpers.getNamespaceDeclaration(options.namespace);
|
var nsInfo;
|
||||||
|
if (options.namespace !== false) {
|
||||||
|
nsInfo = helpers.getNamespaceDeclaration(options.namespace);
|
||||||
|
}
|
||||||
|
|
||||||
this.files.forEach(function(f) {
|
this.files.forEach(function(f) {
|
||||||
var output = f.src.filter(function(filepath) {
|
var output = f.src.filter(function(filepath) {
|
||||||
@ -58,13 +61,18 @@ module.exports = function(grunt) {
|
|||||||
}
|
}
|
||||||
filename = processName(filepath);
|
filename = processName(filepath);
|
||||||
|
|
||||||
|
if (options.amdWrapper && options.namespace === false) {
|
||||||
|
return 'return ' + compiled;
|
||||||
|
}
|
||||||
return nsInfo.namespace+'['+JSON.stringify(filename)+'] = '+compiled+';';
|
return nsInfo.namespace+'['+JSON.stringify(filename)+'] = '+compiled+';';
|
||||||
});
|
});
|
||||||
|
|
||||||
if (output.length < 1) {
|
if (output.length < 1) {
|
||||||
grunt.log.warn('Destination not written because compiled files were empty.');
|
grunt.log.warn('Destination not written because compiled files were empty.');
|
||||||
} else {
|
} else {
|
||||||
|
if (options.namespace !== false) {
|
||||||
output.unshift(nsInfo.declaration);
|
output.unshift(nsInfo.declaration);
|
||||||
|
}
|
||||||
if (options.amdWrapper) {
|
if (options.amdWrapper) {
|
||||||
if (options.prettify) {
|
if (options.prettify) {
|
||||||
output.forEach(function(line, index) {
|
output.forEach(function(line, index) {
|
||||||
@ -72,7 +80,12 @@ module.exports = function(grunt) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
output.unshift("define(function(){");
|
output.unshift("define(function(){");
|
||||||
output.push(" return " + nsInfo.namespace + ";" + lf + "});");
|
if (options.namespace !== false) {
|
||||||
|
// Namespace has not been explicitly set to false; the AMD
|
||||||
|
// wrapper will return the object containing the template.
|
||||||
|
output.push(" return " + nsInfo.namespace + ";" + lf);
|
||||||
|
}
|
||||||
|
output.push("});");
|
||||||
}
|
}
|
||||||
grunt.file.write(f.dest, output.join(grunt.util.normalizelf(options.separator)));
|
grunt.file.write(f.dest, output.join(grunt.util.normalizelf(options.separator)));
|
||||||
grunt.log.writeln('File "' + f.dest + '" created.');
|
grunt.log.writeln('File "' + f.dest + '" created.');
|
||||||
|
Loading…
Reference in New Issue
Block a user