canonical
Version:
Canonical code style linter and formatter for JavaScript, SCSS, CSS and JSON.
74 lines (47 loc) • 1.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _map2 = require('lodash/map');
var _map3 = _interopRequireDefault(_map2);
var _uniq2 = require('lodash/uniq');
var _uniq3 = _interopRequireDefault(_uniq2);
var _endsWith2 = require('lodash/endsWith');
var _endsWith3 = _interopRequireDefault(_endsWith2);
var _filter2 = require('lodash/filter');
var _filter3 = _interopRequireDefault(_filter2);
var _globby = require('globby');
var _globby2 = _interopRequireDefault(_globby);
var _resolveAbsolutePath = require('./resolveAbsolutePath');
var _resolveAbsolutePath2 = _interopRequireDefault(_resolveAbsolutePath);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* Resolve an array of glob paths.
*/
exports.default = function (searchPaths) {
var paths = undefined;
var appendPaths = [];
if (searchPaths.length) {
paths = searchPaths;
} else {
paths = ['./'];
}
paths = (0, _filter3.default)(paths, function (pathName) {
var exclude = (0, _endsWith3.default)(pathName, '/') === true;
if (exclude) {
appendPaths.push(pathName + '**/*.js');
appendPaths.push(pathName + '**/*.css');
appendPaths.push(pathName + '**/*.scss');
}
return !exclude;
});
paths = paths.concat(appendPaths);
paths = (0, _uniq3.default)(paths);
paths = _globby2.default.sync(paths);
// @todo Test whether glob.sync can return non-unique file paths.
// paths = _.unique(paths);
paths = (0, _map3.default)(paths, _resolveAbsolutePath2.default);
return paths;
};
module.exports = exports['default'];
//# sourceMappingURL=getTargetPaths.js.map