diff --git a/tasks/.jshintrc b/tasks/.jshintrc
index 143ea62260..501497c0b4 100644
--- a/tasks/.jshintrc
+++ b/tasks/.jshintrc
@@ -10,10 +10,12 @@
"trailing": true,
"maxlen": 80,
"globals": {
+ "Buffer": false,
"__dirname": false,
"exports": true,
"module": false,
"process": false,
- "require": false
+ "require": false,
+ "setImmediate": false
}
}
diff --git a/tasks/build-examples.js b/tasks/build-examples.js
index 796809da09..9e932f04f6 100644
--- a/tasks/build-examples.js
+++ b/tasks/build-examples.js
@@ -1,4 +1,3 @@
-/*global Buffer */
var path = require('path');
var Metalsmith = require('metalsmith');
@@ -31,27 +30,23 @@ var templatesDir = path.join(__dirname, '..', 'config', 'examples');
* @param {function(Error)} done Called when done (with any error).
*/
function augmentExamples(files, metalsmith, done) {
+ setImmediate(done); // all remaining code is synchronous
for (var filename in files) {
var file = files[filename];
var match = filename.match(markupRegEx);
if (match && filename !== 'index.html') {
if (!file.template) {
- done(new Error('Missing template in YAML front-matter:' + filename));
- return;
+ throw new Error(filename + ': Missing template in YAML front-matter');
}
var id = match[1];
if (file.docs) {
file.docs = marked(file.docs);
}
- if (file.contents) {
- file.contents = new Buffer(marked(file.contents.toString()));
- }
// add js tag and source
var jsFilename = id + '.js';
if (!(jsFilename in files)) {
- done(new Error('No .js file found for ' + filename));
- return;
+ throw new Error('No .js file found for ' + filename);
}
file.js = {
tag: '',
@@ -76,19 +71,16 @@ function augmentExamples(files, metalsmith, done) {
if (isJsRegEx.test(resource)) {
resources[i] = '';
} else if (isCssRegEx.test(resource)) {
- resources[i] = '';
+ resources[i] = '';
} else {
- done(new Error('Invalid value for resource: ' +
- resource + ' is not .js or .css: ' + filename));
- return;
+ throw new Error('Invalid value for resource: ' +
+ resource + ' is not .js or .css: ' + filename);
}
}
file.extra_head = resources.join('\n');
}
}
}
- done();
}
function main(callback) {