]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
use glob instead of fs.readdirSync since /less now has subdirs
authorChris Rebert <code@rebertia.com>
Wed, 12 Mar 2014 21:01:09 +0000 (14:01 -0700)
committerChris Rebert <code@rebertia.com>
Fri, 28 Mar 2014 18:12:28 +0000 (11:12 -0700)
grunt/bs-raw-files-generator.js
package.json

index 7637da94291d9569043c1095be61eb6bdb1b59ed..ec8c5314e7648abcb383e05f5a99400055c46f4d 100644 (file)
 'use strict';
 var fs = require('fs');
 var btoa = require('btoa');
+var glob = require('glob');
 
 function getFiles(type) {
   var files = {};
-  fs.readdirSync(type)
+  var recursive = (type === 'less');
+  var globExpr = (recursive ? '/**/*' : '/*');
+  glob.sync(type + globExpr)
     .filter(function (path) {
       return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
     })
-    .forEach(function (path) {
-      var fullPath = type + '/' + path;
-      files[path] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
+    .forEach(function (fullPath) {
+      var relativePath = fullPath.replace(/^[^/]+\//, '');
+      files[relativePath] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
     });
   return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
 }
@@ -28,7 +31,10 @@ module.exports = function generateRawFilesJs(grunt, banner) {
   if (!banner) {
     banner = '';
   }
-  var files = banner + getFiles('js') + getFiles('less') + getFiles('fonts');
+  var dirs = ['js', 'less', 'fonts'];
+  var files = banner + dirs.map(getFiles).reduce(function (combined, file) {
+    return combined + file;
+  }, '');
   var rawFilesJs = 'docs/assets/js/raw-files.min.js';
   try {
     fs.writeFileSync(rawFilesJs, files);
index f11a63334989c5b1dbca1d9ad3055275754c4d59..afae79aa12ef2fe5826a57905a2a6c5677f1a9a3 100644 (file)
@@ -32,6 +32,7 @@
   "devDependencies": {
     "btoa": "~1.1.1",
     "canonical-json": "~0.0.4",
+    "glob": "^3.2.9",
     "grunt": "~0.4.4",
     "grunt-autoprefixer": "~0.7.2",
     "grunt-banner": "~0.2.2",