UNPKG

ionic

Version:

A tool for creating and developing Ionic Framework mobile apps.

94 lines (87 loc) 2.85 kB
// Generated by CoffeeScript 1.9.2 (function() { var JS_EXTENSIONS, endsWith, isArray, path; path = require('path'); JS_EXTENSIONS = [".js", ".coffee", ".coffee.md", ".litcoffee", "._js", "._coffee", ".jsx", ".es", ".es6"]; isArray = function(obj) { return Object.prototype.toString.call(obj) === '[object Array]'; }; endsWith = function(str, suffix) { return str.indexOf(suffix, str.length - suffix.length) !== -1; }; module.exports = function(file, configData, options) { var appliesTo, extension, fileToTest, i, includeExtensions, includeThisFile, j, k, l, len, len1, len2, len3, ref, ref1, regex, regexes, skip; if (configData == null) { configData = {}; } if (options == null) { options = {}; } file = path.resolve(file); skip = false; appliesTo = configData.appliesTo; if ((appliesTo == null) || ((appliesTo.includeExtensions == null) && (appliesTo.excludeExtensions == null) && (appliesTo.regex == null) && (appliesTo.files == null))) { appliesTo = options; } includeExtensions = appliesTo != null ? appliesTo.includeExtensions : void 0; if ((appliesTo != null ? appliesTo.jsFilesOnly : void 0) && !includeExtensions) { includeExtensions = JS_EXTENSIONS; } if (appliesTo.regex != null) { regexes = appliesTo.regex; includeThisFile = false; if (!isArray(regexes)) { regexes = [regexes]; } for (i = 0, len = regexes.length; i < len; i++) { regex = regexes[i]; if (!regex.test) { regex = new RegExp(regex); } if (regex.test(file)) { includeThisFile = true; break; } } if (!includeThisFile) { skip = true; } } else if (appliesTo.files != null) { includeThisFile = false; ref = appliesTo.files; for (j = 0, len1 = ref.length; j < len1; j++) { fileToTest = ref[j]; fileToTest = path.resolve(configData.configDir, fileToTest); if (fileToTest === file) { includeThisFile = true; break; } } if (!includeThisFile) { skip = true; } } else if (appliesTo.excludeExtensions != null) { ref1 = appliesTo.excludeExtensions; for (k = 0, len2 = ref1.length; k < len2; k++) { extension = ref1[k]; if (endsWith(file, extension)) { skip = true; break; } } } else if (includeExtensions != null) { includeThisFile = false; for (l = 0, len3 = includeExtensions.length; l < len3; l++) { extension = includeExtensions[l]; if (endsWith(file, extension)) { includeThisFile = true; break; } } if (!includeThisFile) { skip = true; } } return skip; }; }).call(this);