bs-commonjs-generator.js 804 B

123456789101112131415161718192021222324
  1. 'use strict';
  2. var fs = require('fs');
  3. var path = require('path');
  4. var COMMONJS_BANNER = '// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.\n';
  5. module.exports = function generateCommonJSModule(grunt, srcFiles, destFilepath) {
  6. var destDir = path.dirname(destFilepath);
  7. function srcPathToDestRequire(srcFilepath) {
  8. var requirePath = path.relative(destDir, srcFilepath).replace(/\\/g, '/');
  9. return 'require(\'' + requirePath + '\')';
  10. }
  11. var moduleOutputJs = COMMONJS_BANNER + srcFiles.map(srcPathToDestRequire).join('\n');
  12. try {
  13. fs.writeFileSync(destFilepath, moduleOutputJs);
  14. }
  15. catch (err) {
  16. grunt.fail.warn(err);
  17. }
  18. grunt.log.writeln('File ' + destFilepath.cyan + ' created.');
  19. };