"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const promise_1 = __importDefault(require("../utils/promise")); const ignoreFiles_1 = __importDefault(require("../constants/ignoreFiles")); const DEFAULT_IGNORES = [ // Skip Git stuff ".git/", // Skip OS X meta data ".DS_Store", // Skip stuff installed by plugins "node_modules", // Skip book outputs "_book", // Ignore files in the templates folder "_layouts" ]; /** Parse ignore files @param {Book} @return {Book} */ function parseIgnore(book) { if (book.isLanguageBook()) { return promise_1.default.reject(new Error("Ignore files could be parsed for language books")); } const fs = book.getFS(); let ignore = book.getIgnore(); ignore = ignore.add(DEFAULT_IGNORES); return promise_1.default.serie(ignoreFiles_1.default, (filename) => { return fs.readAsString(filename).then((content) => { ignore = ignore.add(content.toString().split(/\r?\n/)); }, (err) => { return (0, promise_1.default)(); }); }).then(() => { return book.setIgnore(ignore); }); } exports.default = parseIgnore;