diff options
author | Thomas Park <thomas@thomaspark.me> | 2014-06-27 01:07:56 -0400 |
---|---|---|
committer | Thomas Park <thomas@thomaspark.me> | 2014-06-27 01:07:56 -0400 |
commit | f3189e26cff5142e200568a81ef3db608530cc6f (patch) | |
tree | 00efe6915ac2ca82e175dbdcb15085b2e90c5ca6 /bower_components/bootstrap/grunt/bs-raw-files-generator.js | |
parent | 25f107274a4a05e2be8d1c0a7ae77c19f8da5fa9 (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.js | 33 |
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.'); }; |