UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

34 lines 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFilteredFileNames = exports.parseAaiIgnoreToArray = void 0; const ignore_1 = require("ignore"); const fs_1 = require("fs"); const logger_1 = require("./logger"); const constants_1 = require("../constants"); const path_1 = require("path"); function createIgnoreObject(rules) { return (0, ignore_1.default)().add(rules); } function parseAaiIgnoreToArray(path) { const aaiIgnorePath = path !== null && path !== void 0 ? path : constants_1.AAI_IGNORE_FILENAME; if (!(0, fs_1.existsSync)(aaiIgnorePath)) { logger_1.logger.info(`${aaiIgnorePath} not found.`); return []; } return (0, fs_1.readFileSync)(aaiIgnorePath, 'utf-8') .split('\n') .filter((line) => { const trimmed = line.trim(); return trimmed && !trimmed.startsWith('#'); }) .map((line) => line.trim()); } exports.parseAaiIgnoreToArray = parseAaiIgnoreToArray; async function getFilteredFileNames(source, ignore) { const allFileNames = await source.walk(); const aaiIgnoreRules = parseAaiIgnoreToArray(); const ignoreChecker = createIgnoreObject(aaiIgnoreRules.concat(ignore)); return allFileNames.filter((file) => !ignoreChecker.ignores((0, path_1.join)(file))); } exports.getFilteredFileNames = getFilteredFileNames; //# sourceMappingURL=ignore.js.map