raw-files-generator.js 978 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*!
  2. * Forked from:
  3. * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
  4. * http://getbootstrap.com
  5. * Copyright 2014 Twitter, Inc.
  6. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  7. */
  8. /* jshint node: true */
  9. 'use strict';
  10. var fs = require('fs');
  11. function getFiles(filePaths) {
  12. var files = {};
  13. filePaths
  14. .forEach(function (path) {
  15. files[path] = fs.readFileSync(path, 'utf8');
  16. });
  17. return files;
  18. }
  19. module.exports = function generateRawFilesJs(grunt, jsFilename, files, banner, cssBanner) {
  20. if (!banner) {
  21. banner = '';
  22. }
  23. if (!cssBanner) {
  24. cssBanner = '';
  25. }
  26. var filesJsObject = {
  27. banner: banner,
  28. cssBanner: cssBanner,
  29. files: getFiles(files),
  30. };
  31. var filesJsContent = JSON.stringify(filesJsObject);
  32. try {
  33. fs.writeFileSync(jsFilename, filesJsContent);
  34. }
  35. catch (err) {
  36. grunt.fail.warn(err);
  37. }
  38. grunt.log.writeln('File ' + jsFilename.cyan + ' created.');
  39. };