Skip to content

Commit

Permalink
Abnormal termination when CSS compilation fails.
Browse files Browse the repository at this point in the history
  • Loading branch information
toolness committed Jan 16, 2013
1 parent 80c2f3d commit ba88096
Showing 1 changed file with 20 additions and 21 deletions.
41 changes: 20 additions & 21 deletions bin/build-require.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -4,21 +4,19 @@ var requirejs = require('requirejs'),
requireConfig = require('../js/require-config'), requireConfig = require('../js/require-config'),
rootDir = resolve(__dirname, '..', 'js'), rootDir = resolve(__dirname, '..', 'js'),
name = 'friendlycode', name = 'friendlycode',
out = resolve(rootDir, 'friendlycode-built.js'); cssIn = resolve(rootDir, "..", "css", "friendlycode.css"),
cssOut = resolve(rootDir, "..", "css", "friendlycode-built.css"),
jsOut = resolve(rootDir, 'friendlycode-built.js');


function optimize(done) { var bailOnError = function(err) {
requirejs.optimize(generateConfig(), done, function(err) { process.stderr.write(err.toString());
process.stderr.write(err.toString()); process.exit(1);
process.exit(1); };
});
}

exports.rootDir = rootDir;


var generateConfig = exports.generateConfig = function() { var generateConfig = exports.generateConfig = function() {
var config = { var config = {
name: name, name: name,
out: out, out: jsOut,
// use none optimize for debugging // use none optimize for debugging
optimize: "none", optimize: "none",
// optimize: 'uglify', // optimize: 'uglify',
Expand All @@ -36,32 +34,33 @@ var generateConfig = exports.generateConfig = function() {
QuerySelector: true QuerySelector: true
} }
}); });
}, }
// TODO above config setting is temporary, it shuould use mainConfigFile // TODO: Consider using mainConfigFile here. For more info, see:
// https://github.com/toolness/friendlycode/pull/112#issuecomment-6625412 // https://github.com/mozilla/friendlycode/pull/112#issuecomment-6625412
// mainConfigFile: "./js/main.js",
}; };
Object.keys(requireConfig).forEach(function(name) { Object.keys(requireConfig).forEach(function(name) {
config[name] = requireConfig[name]; config[name] = requireConfig[name];
}); });
config.baseUrl = rootDir; config.baseUrl = rootDir;
return config; return config;
} };

exports.rootDir = rootDir;


if (!module.parent) { if (!module.parent) {
console.log("Generating", out); console.log("Generating", jsOut);


optimize(function (buildResponse) { requirejs.optimize(generateConfig(), function (buildResponse) {
// buildResponse is just a text output of the modules // buildResponse is just a text output of the modules
// included. // included.
console.log("Done. About " + buildResponse.split('\n').length + console.log("Done. About " + buildResponse.split('\n').length +
" modules are inside the generated JS file."); " modules are inside the generated JS file.");
requirejs.optimize({ requirejs.optimize({
cssIn: "css/friendlycode.css", cssIn: cssIn,
out: "css/friendlycode-built.css" out: cssOut
}, function() { }, function() {
console.log("Optimized CSS."); console.log("Optimized CSS.");
process.exit(); process.exit();
}); }, bailOnError);
}); }, bailOnError);
} }

0 comments on commit ba88096

Please sign in to comment.