@bconnorwhite/bob
Version:
Bob is a toolkit for TypeScript projects
79 lines (64 loc) • 2.92 kB
JavaScript
;
exports.__esModule = true;
exports.list = list;
exports.listAction = listAction;
exports["default"] = void 0;
var _path = require("path");
var _find = _interopRequireDefault(require("find"));
var _commanderVersion = require("commander-version");
var _package = require("@bconnorwhite/package");
var _structure = require("../structure");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
function list() {
return _list.apply(this, arguments);
}
function _list() {
_list = _asyncToGenerator(function* () {
return (0, _package.getWorkspacePackages)().then( /*#__PURE__*/function () {
var _ref = _asyncToGenerator(function* (packages) {
if (packages) {
var promises = [];
Object.keys(packages).forEach(function (name) {
var promise = new Promise(function (resolve) {
var packageRelative = (0, _path.join)(packages[name].location, (0, _structure.getSourceDir)().relative);
(0, _package.exists)(packageRelative).then(function (result) {
if (result) {
_find["default"].file(/\.tsx?$/, packageRelative, function (files) {
resolve(files);
});
} else {
resolve([]);
}
});
});
promises.push(promise);
});
return Promise.all(promises).then(function (results) {
return results.reduce(function (retval, files) {
return retval.concat(files);
}, []);
});
} else {
return new Promise(function (resolve) {
_find["default"].file(/\.tsx?$/, (0, _structure.getSourceDir)().relative, function (files) {
resolve(files);
});
});
}
});
return function (_x) {
return _ref.apply(this, arguments);
};
}());
});
return _list.apply(this, arguments);
}
function listAction() {
list().then(function (files) {
console.info(files);
});
}
var _default = (0, _commanderVersion.createCommand)("list").description("list files included in build").action(listAction);
exports["default"] = _default;