2014-08-27 21:24:23 -04:00
|
|
|
'use strict';
|
|
|
|
var fs = require('fs');
|
|
|
|
var path = require('path');
|
|
|
|
|
2014-10-27 18:20:55 -04:00
|
|
|
var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n';
|
2014-09-08 20:50:35 -04:00
|
|
|
|
2014-08-27 21:39:41 -04:00
|
|
|
module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) {
|
|
|
|
var destDir = path.dirname(destFilepath);
|
2014-08-27 21:24:23 -04:00
|
|
|
|
2014-08-27 21:39:41 -04:00
|
|
|
function srcPathToDestRequire(srcFilepath) {
|
2014-10-26 03:35:14 -04:00
|
|
|
var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/');
|
2014-08-27 21:54:51 -04:00
|
|
|
return 'require(\'' + requirePath + '\')';
|
2014-08-27 21:39:41 -04:00
|
|
|
}
|
2014-08-27 21:24:23 -04:00
|
|
|
|
2014-09-08 20:50:35 -04:00
|
|
|
var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
|
2014-08-27 21:24:23 -04:00
|
|
|
try {
|
|
|
|
fs.writeFileSync(destFilepath, moduleOutputJs);
|
|
|
|
}
|
|
|
|
catch (err) {
|
|
|
|
grunt.fail.warn(err);
|
|
|
|
}
|
|
|
|
grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
|
|
|
|
};
|