@dojo/cli
Version:
44 lines • 2.05 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const loadCommands_1 = require("./loadCommands");
const command_1 = require("./command");
const config_1 = require("./config");
function loadExternalCommands(group = process.argv[2]) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const installedCommandLoader = command_1.initCommandLoader(config_1.default.searchPrefixes);
const installedCommandsPaths = yield loadCommands_1.enumerateInstalledCommands(config_1.default, group);
return yield loadCommands_1.loadCommands(installedCommandsPaths, installedCommandLoader);
});
}
exports.loadExternalCommands = loadExternalCommands;
function loadBuiltInCommands() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const builtInCommandLoader = command_1.createBuiltInCommandLoader();
const builtInCommandsPaths = yield loadCommands_1.enumerateBuiltInCommands(config_1.default);
return yield loadCommands_1.loadCommands(builtInCommandsPaths, builtInCommandLoader);
});
}
exports.loadBuiltInCommands = loadBuiltInCommands;
function combineGroupMaps(builtInCommands, installedCommands) {
const combinedCommands = new Map([...installedCommands]);
builtInCommands.forEach((group, groupKey) => {
if (combinedCommands.has(groupKey)) {
combinedCommands.set(groupKey, new Map([...combinedCommands.get(groupKey), ...group]));
}
else {
combinedCommands.set(groupKey, group);
}
});
return combinedCommands;
}
exports.combineGroupMaps = combineGroupMaps;
function loadAllCommands() {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const builtInCommands = yield loadBuiltInCommands();
const installedCommands = yield loadExternalCommands();
return Promise.resolve(combineGroupMaps(builtInCommands, installedCommands));
});
}
exports.default = loadAllCommands;
//# sourceMappingURL=allCommands.js.map