From aefbfaf057da43f57afa1e8a34bdba1ddb2d0a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samy=20Pess=C3=A9?= Date: Mon, 31 Mar 2014 22:45:45 -0700 Subject: [PATCH] Move getFiles to fs module --- lib/generate/fs.js | 34 ++++++++++++++++++++++++++++++++++ lib/generate/index.js | 37 +------------------------------------ 2 files changed, 35 insertions(+), 36 deletions(-) diff --git a/lib/generate/fs.js b/lib/generate/fs.js index f7ae77208..c43225ef0 100644 --- a/lib/generate/fs.js +++ b/lib/generate/fs.js @@ -1,8 +1,42 @@ var Q = require("q"); var fs = require("fs"); var fsExtra = require("fs-extra"); +var Ignore = require("fstream-ignore"); + +var getFiles = function(path) { + var d = Q.defer(); + + // Our list of files + var files = []; + + var ig = Ignore({ + path: path, + ignoreFiles: ['.ignore', '.gitignore'] + }); + + // Add extra rules to ignore common folders + ig.addIgnoreRules([ + '.git/' + ], '__custom_stuff'); + + // Push each file to our list + ig.on('child', function (c) { + files.push( + c.path.substr(c.root.path.length + 1) + (c.props.Directory === true ? '/' : '') + ); + }); + + ig.on('end', function() { + d.resolve(files); + }); + + ig.on('error', d.reject); + + return d.promise; +} module.exports = { + list: getFiles, readFile: Q.denodeify(fs.readFile), writeFile: Q.denodeify(fs.writeFile), mkdirp: Q.denodeify(fsExtra.mkdirp), diff --git a/lib/generate/index.js b/lib/generate/index.js index 35ee4f4fa..b9d3d9beb 100644 --- a/lib/generate/index.js +++ b/lib/generate/index.js @@ -2,47 +2,12 @@ var Q = require("q"); var _ = require("lodash"); var path = require("path"); -var Ignore = require("fstream-ignore"); var fs = require("./fs"); var parse = require("../parse"); var template = require("./template"); - -function getFiles(path) { - var d = Q.defer(); - - // Our list of files - var files = []; - - var ig = Ignore({ - path: path, - ignoreFiles: ['.ignore', '.gitignore'] - }); - - // Add extra rules to ignore common folders - ig.addIgnoreRules([ - '.git/' - ], '__custom_stuff'); - - // Push each file to our list - ig.on('child', function (c) { - files.push( - c.path.substr(c.root.path.length + 1) + (c.props.Directory === true ? '/' : '') - ); - }); - - ig.on('end', function() { - d.resolve(files); - }); - - ig.on('error', d.reject); - - return d.promise; -} - - var generate = function(root, output, options) { var files, summary, navigation, tpl; @@ -66,7 +31,7 @@ var generate = function(root, output, options) { // List all files in the repository .then(function() { - return getFiles(root); + return fs.list(root); }) // Check repository is valid