Simplify promises in cli/api.js (#3198)

This commit is contained in:
Itai Steinherz 2018-09-23 22:14:39 +03:00 committed by CHaBou
parent 51db83c581
commit 27c1893fb8

View file

@ -90,40 +90,32 @@ function getPackageName(plugin) {
function install(plugin, locally) { function install(plugin, locally) {
const array = locally ? getLocalPlugins() : getPlugins(); const array = locally ? getLocalPlugins() : getPlugins();
return new Promise((resolve, reject) => { return existsOnNpm(plugin)
existsOnNpm(plugin)
.then(() => {
if (isInstalled(plugin, locally)) {
return reject(`${plugin} is already installed`);
}
array.push(recast.types.builders.literal(plugin));
save()
.then(resolve)
.catch(err => reject(err));
})
.catch(err => { .catch(err => {
const {statusCode} = err; const {statusCode} = err;
if (statusCode && (statusCode === 404 || statusCode === 200)) { if (statusCode && (statusCode === 404 || statusCode === 200)) {
return reject(`${plugin} not found on npm`); return Promise.reject(`${plugin} not found on npm`);
} }
return reject(`${err.message}\nPlugin check failed. Check your internet connection or retry later.`); return Promise.reject(`${err.message}\nPlugin check failed. Check your internet connection or retry later.`);
}); })
.then(() => {
if (isInstalled(plugin, locally)) {
return Promise.reject(`${plugin} is already installed`);
}
array.push(recast.types.builders.literal(plugin));
return save();
}); });
} }
function uninstall(plugin) { function uninstall(plugin) {
return new Promise((resolve, reject) => {
if (!isInstalled(plugin)) { if (!isInstalled(plugin)) {
return reject(`${plugin} is not installed`); return Promise.reject(`${plugin} is not installed`);
} }
const index = getPlugins().findIndex(entry => entry.value === plugin); const index = getPlugins().findIndex(entry => entry.value === plugin);
getPlugins().splice(index, 1); getPlugins().splice(index, 1);
save() return save();
.then(resolve)
.catch(err => reject(err));
});
} }
function list() { function list() {