canonical
Version:
Canonical code style linter and formatter for JavaScript, SCSS and CSS.
81 lines (52 loc) • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _map = require('lodash/collection/map');
var _map2 = _interopRequireDefault(_map);
var _uniq = require('lodash/array/uniq');
var _uniq2 = _interopRequireDefault(_uniq);
var _endsWith = require('lodash/string/endsWith');
var _endsWith2 = _interopRequireDefault(_endsWith);
var _filter = require('lodash/collection/filter');
var _filter2 = _interopRequireDefault(_filter);
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 }; }
/**
* Uses glob to resolve all file paths recursively.
*
* @param {string[]} searchPaths
* @returns {string[]}
*/
exports.default = searchPaths => {
let appendPaths, paths;
appendPaths = [];
if (searchPaths.length) {
paths = searchPaths;
} else {
paths = ['./'];
}
paths = (0, _filter2.default)(paths, pathName => {
let exclude;
exclude = (0, _endsWith2.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, _uniq2.default)(paths);
paths = _globby2.default.sync(paths);
// @todo Test whether glob.sync can return non-unique file paths.
// paths = _.unique(paths);
// console.log('paths', paths);
paths = (0, _map2.default)(paths, _resolveAbsolutePath2.default);
// console.log('paths', paths);
return paths;
};
//# sourceMappingURL=getTargetPaths.js.map