bs-raw-files-generator.js 990 B

12345678910111213141516171819202122232425262728293031
  1. /* global btoa: true */
  2. /*!
  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. 'use strict';
  9. var btoa = require('btoa');
  10. var fs = require('fs');
  11. function getFiles(type) {
  12. var files = {};
  13. fs.readdirSync(type)
  14. .filter(function (path) {
  15. return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
  16. })
  17. .forEach(function (path) {
  18. var fullPath = type + '/' + path;
  19. files[path] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
  20. });
  21. return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
  22. }
  23. module.exports = function generateRawFilesJs(banner) {
  24. if (!banner) {
  25. banner = '';
  26. }
  27. var files = banner + getFiles('js') + getFiles('less') + getFiles('fonts');
  28. fs.writeFileSync('docs/assets/js/raw-files.min.js', files);
  29. };