@testim/testim-cli
Version:
Command line interface for running Testing on you CI
95 lines (75 loc) • 5.2 kB
JavaScript
;
var _getIterator = require('babel-runtime/core-js/get-iterator')['default'];
var _interopRequireDefault = require('babel-runtime/helpers/interop-require-default')['default'];
Object.defineProperty(exports, '__esModule', {
value: true
});
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var COMMAND_TYPES = ['protocol', 'commands'];
/**
* helper to find all implemented commands
*
* @returns {String[]} list of implemented command names
*/
var getImplementedCommands = function getImplementedCommands() {
var commands = {};
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = _getIterator(COMMAND_TYPES), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var commandType = _step.value;
var dir = _path2['default'].join(__dirname, '..', commandType);
var files = _fs2['default'].readdirSync(dir);
var _iteratorNormalCompletion2 = true;
var _didIteratorError2 = false;
var _iteratorError2 = undefined;
try {
for (var _iterator2 = _getIterator(files), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
var filename = _step2.value;
var commandName = filename.slice(0, -3);
/**
* addCommand only there for documentation purposes
*/
if (commandName === 'addCommand') {
continue;
}
commands[commandName] = require(_path2['default'].join(dir, commandName));
}
} catch (err) {
_didIteratorError2 = true;
_iteratorError2 = err;
} finally {
try {
if (!_iteratorNormalCompletion2 && _iterator2['return']) {
_iterator2['return']();
}
} finally {
if (_didIteratorError2) {
throw _iteratorError2;
}
}
}
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator['return']) {
_iterator['return']();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return commands;
};
exports['default'] = getImplementedCommands;
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oZWxwZXJzL2dldEltcGxlbWVudGVkQ29tbWFuZHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztvQkFBaUIsTUFBTTs7OztrQkFDUixJQUFJOzs7O0FBRW5CLElBQU0sYUFBYSxHQUFHLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFBOzs7Ozs7O0FBTzlDLElBQUksc0JBQXNCLEdBQUcsU0FBekIsc0JBQXNCLEdBQWU7QUFDckMsUUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFBOzs7Ozs7O0FBRWpCLDBDQUF3QixhQUFhLDRHQUFFO2dCQUE5QixXQUFXOztBQUNoQixnQkFBSSxHQUFHLEdBQUcsa0JBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUE7QUFDakQsZ0JBQUksS0FBSyxHQUFHLGdCQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQTs7Ozs7OztBQUUvQixtREFBcUIsS0FBSyxpSEFBRTt3QkFBbkIsUUFBUTs7QUFDYix3QkFBSSxXQUFXLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTs7Ozs7QUFLdkMsd0JBQUksV0FBVyxLQUFLLFlBQVksRUFBRTtBQUM5QixpQ0FBUTtxQkFDWDs7QUFFRCw0QkFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxrQkFBSyxJQUFJLENBQUMsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUE7aUJBQy9EOzs7Ozs7Ozs7Ozs7Ozs7U0FDSjs7Ozs7Ozs7Ozs7Ozs7OztBQUVELFdBQU8sUUFBUSxDQUFBO0NBQ2xCLENBQUE7O3FCQUVjLHNCQUFzQiIsImZpbGUiOiJnZXRJbXBsZW1lbnRlZENvbW1hbmRzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcbmltcG9ydCBmcyBmcm9tICdmcydcblxuY29uc3QgQ09NTUFORF9UWVBFUyA9IFsncHJvdG9jb2wnLCAnY29tbWFuZHMnXVxuXG4vKipcbiAqIGhlbHBlciB0byBmaW5kIGFsbCBpbXBsZW1lbnRlZCBjb21tYW5kc1xuICpcbiAqIEByZXR1cm5zIHtTdHJpbmdbXX0gbGlzdCBvZiBpbXBsZW1lbnRlZCBjb21tYW5kIG5hbWVzXG4gKi9cbmxldCBnZXRJbXBsZW1lbnRlZENvbW1hbmRzID0gZnVuY3Rpb24gKCkge1xuICAgIGxldCBjb21tYW5kcyA9IHt9XG5cbiAgICBmb3IgKGxldCBjb21tYW5kVHlwZSBvZiBDT01NQU5EX1RZUEVTKSB7XG4gICAgICAgIGxldCBkaXIgPSBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCBjb21tYW5kVHlwZSlcbiAgICAgICAgbGV0IGZpbGVzID0gZnMucmVhZGRpclN5bmMoZGlyKVxuXG4gICAgICAgIGZvciAobGV0IGZpbGVuYW1lIG9mIGZpbGVzKSB7XG4gICAgICAgICAgICBsZXQgY29tbWFuZE5hbWUgPSBmaWxlbmFtZS5zbGljZSgwLCAtMylcblxuICAgICAgICAgICAgLyoqXG4gICAgICAgICAgICAgKiBhZGRDb21tYW5kIG9ubHkgdGhlcmUgZm9yIGRvY3VtZW50YXRpb24gcHVycG9zZXNcbiAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgaWYgKGNvbW1hbmROYW1lID09PSAnYWRkQ29tbWFuZCcpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb21tYW5kc1tjb21tYW5kTmFtZV0gPSByZXF1aXJlKHBhdGguam9pbihkaXIsIGNvbW1hbmROYW1lKSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb21tYW5kc1xufVxuXG5leHBvcnQgZGVmYXVsdCBnZXRJbXBsZW1lbnRlZENvbW1hbmRzXG4iXX0=