summaryrefslogtreecommitdiff
path: root/bower_components/bootstrap/grunt/bs-raw-files-generator.js
diff options
context:
space:
mode:
authorThomas Park <thomas@thomaspark.me>2014-06-27 01:07:56 -0400
committerThomas Park <thomas@thomaspark.me>2014-06-27 01:07:56 -0400
commitf3189e26cff5142e200568a81ef3db608530cc6f (patch)
tree00efe6915ac2ca82e175dbdcb15085b2e90c5ca6 /bower_components/bootstrap/grunt/bs-raw-files-generator.js
parent25f107274a4a05e2be8d1c0a7ae77c19f8da5fa9 (diff)
3.1.1 -> 3.2.0
Diffstat (limited to 'bower_components/bootstrap/grunt/bs-raw-files-generator.js')
-rw-r--r--bower_components/bootstrap/grunt/bs-raw-files-generator.js33
1 files changed, 24 insertions, 9 deletions
diff --git a/bower_components/bootstrap/grunt/bs-raw-files-generator.js b/bower_components/bootstrap/grunt/bs-raw-files-generator.js
index b5b33093..ec8c5314 100644
--- a/bower_components/bootstrap/grunt/bs-raw-files-generator.js
+++ b/bower_components/bootstrap/grunt/bs-raw-files-generator.js
@@ -1,31 +1,46 @@
-/* global btoa: true */
/*!
* Bootstrap Grunt task for generating raw-files.min.js for the Customizer
* http://getbootstrap.com
* Copyright 2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
+
+/* global btoa: true */
+
'use strict';
-var btoa = require('btoa');
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';
}
-module.exports = function generateRawFilesJs(banner) {
+module.exports = function generateRawFilesJs(grunt, banner) {
if (!banner) {
banner = '';
}
- var files = banner + getFiles('js') + getFiles('less') + getFiles('fonts');
- fs.writeFileSync('docs/assets/js/raw-files.min.js', files);
+ 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);
+ }
+ catch (err) {
+ grunt.fail.warn(err);
+ }
+ grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');
};