bs-raw-files-generator.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  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, subdirs, exclude) {
  12. var files = {};
  13. exclude = exclude || [];
  14. subdirs.forEach(function(subdir) {
  15. var sub = subdir ? subdir + '/' : '';
  16. fs.readdirSync(type + '/' + sub)
  17. .filter(function (path) {
  18. return new RegExp('\\.' + type + '$').test(path) && exclude.indexOf(sub + path) === -1;
  19. })
  20. .forEach(function (path) {
  21. var fullPath = type + '/' + sub + path;
  22. files[sub + path] = fs.readFileSync(fullPath, 'utf8');
  23. });
  24. });
  25. return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
  26. }
  27. module.exports = function generateRawFilesJs(banner) {
  28. if (!banner) {
  29. banner = '';
  30. }
  31. var files = banner + getFiles('js', ['']) + getFiles('less', ['', 'build'], ['build/jasny-bootstrap.less']);
  32. fs.writeFileSync('docs/assets/js/raw-files.min.js', files);
  33. };