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) {