X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fapp-framework-demo.git;a=blobdiff_plain;f=afb-client%2Fbower_components%2Ffoundation-apps%2Fbin%2Fgulp-dynamic-routing.js;fp=afb-client%2Fbower_components%2Ffoundation-apps%2Fbin%2Fgulp-dynamic-routing.js;h=3dc5350ef9a9ac3c361c770cf03f6c17433ece1e;hp=0000000000000000000000000000000000000000;hb=5b1e6cc132f44262a873fa8296a2a3e1017b0278;hpb=f7d2f9ac4168ee5064580c666d508667a73cefc0 diff --git a/afb-client/bower_components/foundation-apps/bin/gulp-dynamic-routing.js b/afb-client/bower_components/foundation-apps/bin/gulp-dynamic-routing.js new file mode 100644 index 0000000..3dc5350 --- /dev/null +++ b/afb-client/bower_components/foundation-apps/bin/gulp-dynamic-routing.js @@ -0,0 +1,56 @@ +var through = require('through2'); +var gutil = require('gulp-util'); +var fm = require('front-matter'); +var PluginError = gutil.PluginError; +var path = require('path'); +var fs = require('fs'); + +module.exports = function(options) { + var configs = []; + var directory = options.dir || process.cwd(); + + function bufferContents(file, enc, cb) { + var config; + var content; + + if(file.isNull()) return cb(null, file); + + if(file.isBuffer()) { + try { + content = fm(String(file.contents)); + } catch (e) { + return cb(new PluginError('Gulp Dynamic Routing', e)); + } + + if(content.attributes.name) { + file.contents = new Buffer(content.body); + config = content.attributes; + var relativePath = path.relative(directory + path.sep + options.root, file.path); + config.path = relativePath.split(path.sep).join('/'); + configs.push(config); + } + } + + this.push(file); + + return cb(); + } + + function endStream(cb) { + var self = this; + var appPath = options.path; + + configs.sort(function(a, b) { + return a.url < b.url; + }); + + + fs.writeFile(appPath, 'var foundationRoutes = ' + JSON.stringify(configs) + '; \n', function(err) { + if(err) throw err; + cb(); + }); + + } + + return through.obj(bufferContents, endStream); +};