UNPKG

morbo-cli

Version:

… All tech debt is vermin in the eyes of Morbo!

38 lines (37 loc) 1.58 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var isbinaryfile_1 = __importDefault(require("isbinaryfile")); var minimatch_1 = __importDefault(require("minimatch")); function fileFilterer(_a) { var ignoredDirectories = _a.ignoredDirectories, filesToScan = _a.filesToScan; return function (fileInformation) { var shouldIgnoreDirectory = false; var shouldIgnoreFile = true; var letTheFileThrough; ignoredDirectories.forEach(function (directoryPattern) { if (shouldIgnoreDirectory) return; shouldIgnoreDirectory = minimatch_1.default(fileInformation.path, directoryPattern, { dot: true, }); }); if (!shouldIgnoreDirectory) { filesToScan.forEach(function (filePattern) { if (!shouldIgnoreFile) return; shouldIgnoreFile = !minimatch_1.default(fileInformation.path, filePattern); }); } letTheFileThrough = !(shouldIgnoreDirectory || (!shouldIgnoreDirectory && shouldIgnoreFile)); // Never let binary files through, searching them for comments will make no sense... if (letTheFileThrough && isbinaryfile_1.default.sync(fileInformation.fullPath)) { letTheFileThrough = false; } return letTheFileThrough; }; } exports.default = fileFilterer;