|
|
'use strict'; |
|
|
|
|
|
Object.defineProperty(exports, '__esModule', { |
|
|
value: true |
|
|
}); |
|
|
exports.default = getConfigsOfProjectsToRun; |
|
|
var _getProjectDisplayName = _interopRequireDefault( |
|
|
require('./getProjectDisplayName') |
|
|
); |
|
|
function _interopRequireDefault(obj) { |
|
|
return obj && obj.__esModule ? obj : {default: obj}; |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getConfigsOfProjectsToRun(projectConfigs, opts) { |
|
|
const projectFilter = createProjectFilter(opts); |
|
|
return projectConfigs.filter(config => { |
|
|
const name = (0, _getProjectDisplayName.default)(config); |
|
|
return projectFilter(name); |
|
|
}); |
|
|
} |
|
|
function createProjectFilter(opts) { |
|
|
const {selectProjects, ignoreProjects} = opts; |
|
|
const always = () => true; |
|
|
const selected = selectProjects |
|
|
? name => name && selectProjects.includes(name) |
|
|
: always; |
|
|
const notIgnore = ignoreProjects |
|
|
? name => !(name && ignoreProjects.includes(name)) |
|
|
: always; |
|
|
function test(name) { |
|
|
return selected(name) && notIgnore(name); |
|
|
} |
|
|
return test; |
|
|
} |
|
|
|