0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Removed more Bluebird usages (#17302)

refs https://github.com/TryGhost/Ghost/issues/14882

- we're nuking our use of Bluebird in favor of native Promises, so this commit removes most of the usage we have in the core module
This commit is contained in:
Daniel Lockyer 2023-07-11 17:07:16 +02:00 committed by GitHub
parent 36b23b49a9
commit afdf555fe0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 26 additions and 44 deletions

View file

@ -1,6 +1,5 @@
const path = require('path');
const _ = require('lodash');
const Promise = require('bluebird');
const errors = require('@tryghost/errors');
const tpl = require('@tryghost/tpl');
const config = require('../../../shared/config');
@ -35,7 +34,7 @@ function getAppByName(name) {
module.exports = {
// Activate a app and return it
activateAppByName: function (name) {
activateAppByName: async function (name) {
const {app, proxy} = getAppByName(name);
// Check for an activate() method on the app.
@ -45,8 +44,9 @@ module.exports = {
}));
}
// Wrapping the activate() with a when because it's possible
// Wrapping the activate() with a Promise because it's possible
// to not return a promise from it.
return Promise.resolve(app.activate(proxy)).return(app);
await Promise.resolve(app.activate(proxy));
return app;
}
};

View file

@ -1,5 +1,4 @@
const _ = require('lodash');
const Promise = require('bluebird');
const url = require('url');
const debug = require('@tryghost/debug')('services:data:entry-lookup');
const routeMatch = require('path-match')();

View file

@ -1,5 +1,4 @@
const downsize = require('downsize');
const Promise = require('bluebird');
const RSS = require('rss');
const urlUtils = require('../../../shared/url-utils');
const {routerManager} = require('../routing');

View file

@ -4,7 +4,6 @@ const serveStatic = require('../../../shared/express').static;
const fs = require('fs-extra');
const path = require('path');
const Promise = require('bluebird');
const moment = require('moment');
const tpl = require('@tryghost/tpl');
const logging = require('@tryghost/logging');

View file

@ -14,10 +14,14 @@ module.exports = {
} else {
return Promise.all(
roles.map(async (role) => {
const permissionResult = await canThis(frame.options.context).assign.role(role)
.return(role)
.catch(() => {});
return permissionResult && (permissionResult.name !== 'Owner');
let permissionResult;
try {
await canThis(frame.options.context).assign.role(role);
permissionResult = role;
} catch (err) {
permissionResult = {};
}
return permissionResult && permissionResult.name && (permissionResult.name !== 'Owner');
}))
.then(results => roles.filter((_v, index) => results[index]))
.then((filteredRoles) => {

View file

@ -1,4 +1,3 @@
const Promise = require('bluebird');
const models = require('../../../../models');
module.exports = function before() {

View file

@ -1,5 +1,4 @@
/* eslint-disable ghost/filenames/match-regex */
const Promise = require('bluebird');
module.exports = function afterEach() {
return Promise.resolve();

View file

@ -1,5 +1,4 @@
/* eslint-disable ghost/filenames/match-regex */
const Promise = require('bluebird');
module.exports = function beforeEach() {
return Promise.resolve();

View file

@ -1,5 +1,4 @@
const _ = require('lodash');
const Promise = require('bluebird');
const logging = require('@tryghost/logging');
const errors = require('@tryghost/errors');
const tpl = require('@tryghost/tpl');

View file

@ -1,6 +1,4 @@
const _ = require('lodash');
const Promise = require('bluebird');
const tpl = require('@tryghost/tpl');
const errors = require('@tryghost/errors');
const validator = require('@tryghost/validator');

View file

@ -1,5 +1,4 @@
const sizeOf = require('image-size');
const Promise = require('bluebird');
const _ = require('lodash');
const path = require('path');
const errors = require('@tryghost/errors');
@ -40,12 +39,12 @@ class BlogIcon {
}).height;
}
return resolve({
resolve({
width: dimensions.width,
height: dimensions.height
});
} catch (err) {
return reject(new errors.ValidationError({
reject(new errors.ValidationError({
message: tpl(messages.error, {
file: storagePath,
error: err.message

View file

@ -1,4 +1,3 @@
const Promise = require('bluebird');
const crypto = require('crypto');
const tpl = require('@tryghost/tpl');

View file

@ -3,7 +3,6 @@ const sizeOf = require('image-size');
const probeSizeOf = require('probe-image-size');
const url = require('url');
const path = require('path');
const Promise = require('bluebird');
const _ = require('lodash');
const errors = require('@tryghost/errors');
const tpl = require('@tryghost/tpl');
@ -59,9 +58,9 @@ class ImageSize {
dimensions.height = _.maxBy(dimensions.images, img => img.height).height;
}
return resolve(dimensions);
resolve(dimensions);
} catch (err) {
return reject(err);
reject(err);
}
});
}
@ -113,9 +112,9 @@ class ImageSize {
const extension = (extensionMatch[1] || '').toLowerCase();
if (FETCH_ONLY_FORMATS.includes(extension)) {
return resolve(this._fetchImageSizeFromUrl(imageUrl));
resolve(this._fetchImageSizeFromUrl(imageUrl));
} else {
return resolve(this._probeImageSizeFromUrl(imageUrl));
resolve(this._probeImageSizeFromUrl(imageUrl));
}
});
}
@ -344,12 +343,12 @@ class ImageSize {
}).height;
}
return resolve({
resolve({
width: dimensions.width,
height: dimensions.height
});
} catch (err) {
return reject(new errors.ValidationError({
reject(new errors.ValidationError({
message: tpl(messages.invalidDimensions, {
file: imagePath,
error: err.message

View file

@ -3,7 +3,7 @@ const _ = require('lodash');
const models = require('../../models');
const logging = require('@tryghost/logging');
const errors = require('@tryghost/errors');
const Promise = require('bluebird');
const {sequence} = require('@tryghost/promise');
// Listen to settings.timezone.edited and settings.notifications.edited to bind extra logic to settings, similar to the bridge and member service
const events = require('../../lib/common/events');
@ -46,7 +46,7 @@ events.on('settings.timezone.edited', function (settingModel, options) {
return;
}
await Promise.mapSeries(results, async (post) => {
await sequence(results.map(post => async () => {
const newPublishedAtMoment = moment(post.get('published_at')).add(timezoneOffsetDiff, 'minutes');
/**
@ -73,7 +73,7 @@ events.on('settings.timezone.edited', function (settingModel, options) {
err
}));
}
});
}));
} catch (err) {
logging.error(new errors.InternalServerError({
err: err,

View file

@ -4,7 +4,6 @@
*/
const _ = require('lodash');
const Promise = require('bluebird');
const ObjectId = require('bson-objectid').default;
const errors = require('@tryghost/errors');

View file

@ -1,4 +1,3 @@
const Promise = require('bluebird');
const _ = require('lodash');
const tpl = require('@tryghost/tpl');
const errors = require('@tryghost/errors');

View file

@ -2,7 +2,6 @@
const _ = require('lodash');
const uuid = require('uuid');
const moment = require('moment');
const Promise = require('bluebird');
const {sequence} = require('@tryghost/promise');
const tpl = require('@tryghost/tpl');
const errors = require('@tryghost/errors');

View file

@ -1,6 +1,5 @@
const _ = require('lodash');
const ghostBookshelf = require('./base');
const Promise = require('bluebird');
const tpl = require('@tryghost/tpl');
const errors = require('@tryghost/errors');

View file

@ -1,4 +1,3 @@
const Promise = require('bluebird');
const ghostBookshelf = require('./base');
const ghostVersion = require('@tryghost/version');
let Webhook;

View file

@ -1,6 +1,5 @@
const moment = require('moment-timezone');
const semver = require('semver');
const Promise = require('bluebird');
const _ = require('lodash');
const errors = require('@tryghost/errors');
const ghostVersion = require('@tryghost/version');

View file

@ -1,5 +1,4 @@
const _ = require('lodash');
const Promise = require('bluebird');
const models = require('../../models');
const errors = require('@tryghost/errors');
const tpl = require('@tryghost/tpl');

View file

@ -1,5 +1,4 @@
const _ = require('lodash');
const Promise = require('bluebird');
const models = require('../../models');
const errors = require('@tryghost/errors');
const tpl = require('@tryghost/tpl');

View file

@ -1,5 +1,4 @@
const fs = require('fs-extra');
const Promise = require('bluebird');
const path = require('path');
const debug = require('@tryghost/debug')('frontend:services:settings:ensure-settings');
const tpl = require('@tryghost/tpl');

View file

@ -1,4 +1,3 @@
const Promise = require('bluebird');
const fs = require('fs-extra');
const crypto = require('crypto');
const urlService = require('../url');
@ -120,7 +119,9 @@ class RouteSettings {
function isBlogRunning() {
debug('waiting for blog running');
return Promise.delay(1000)
return new Promise((resolve) => {
setTimeout(resolve, 1000);
})
.then(() => {
debug('waited for blog running');
if (!urlService.hasFinished()) {

View file

@ -1,5 +1,4 @@
const serialize = require('./serialize');
const Promise = require('bluebird');
module.exports = (event, model) => {
const payload = {};

View file

@ -1,5 +1,4 @@
const _ = require('lodash');
const Promise = require('bluebird');
const errors = require('@tryghost/errors');
const logging = require('@tryghost/logging');
const tpl = require('@tryghost/tpl');