ghost 5.30.1 → 5.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/{tryghost-adapter-manager-5.30.1.tgz → tryghost-adapter-manager-5.32.0.tgz} +0 -0
- package/components/{tryghost-api-framework-5.30.1.tgz → tryghost-api-framework-5.32.0.tgz} +0 -0
- package/components/{tryghost-api-version-compatibility-service-5.30.1.tgz → tryghost-api-version-compatibility-service-5.32.0.tgz} +0 -0
- package/components/{tryghost-audience-feedback-5.30.1.tgz → tryghost-audience-feedback-5.32.0.tgz} +0 -0
- package/components/{tryghost-bootstrap-socket-5.30.1.tgz → tryghost-bootstrap-socket-5.32.0.tgz} +0 -0
- package/components/tryghost-constants-5.32.0.tgz +0 -0
- package/components/{tryghost-custom-theme-settings-service-5.30.1.tgz → tryghost-custom-theme-settings-service-5.32.0.tgz} +0 -0
- package/components/tryghost-data-generator-5.32.0.tgz +0 -0
- package/components/tryghost-domain-events-5.32.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.32.0.tgz +0 -0
- package/components/{tryghost-email-analytics-service-5.30.1.tgz → tryghost-email-analytics-service-5.32.0.tgz} +0 -0
- package/components/{tryghost-email-content-generator-5.30.1.tgz → tryghost-email-content-generator-5.32.0.tgz} +0 -0
- package/components/{tryghost-email-events-5.30.1.tgz → tryghost-email-events-5.32.0.tgz} +0 -0
- package/components/tryghost-email-service-5.32.0.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.32.0.tgz +0 -0
- package/components/{tryghost-express-dynamic-redirects-5.30.1.tgz → tryghost-express-dynamic-redirects-5.32.0.tgz} +0 -0
- package/components/{tryghost-extract-api-key-5.30.1.tgz → tryghost-extract-api-key-5.32.0.tgz} +0 -0
- package/components/{tryghost-html-to-plaintext-5.30.1.tgz → tryghost-html-to-plaintext-5.32.0.tgz} +0 -0
- package/components/tryghost-i18n-5.32.0.tgz +0 -0
- package/components/{tryghost-importer-revue-5.30.1.tgz → tryghost-importer-revue-5.32.0.tgz} +0 -0
- package/components/{tryghost-job-manager-5.30.1.tgz → tryghost-job-manager-5.32.0.tgz} +0 -0
- package/components/tryghost-link-redirects-5.32.0.tgz +0 -0
- package/components/tryghost-link-replacer-5.32.0.tgz +0 -0
- package/components/{tryghost-link-tracking-5.30.1.tgz → tryghost-link-tracking-5.32.0.tgz} +0 -0
- package/components/tryghost-magic-link-5.32.0.tgz +0 -0
- package/components/{tryghost-mailgun-client-5.30.1.tgz → tryghost-mailgun-client-5.32.0.tgz} +0 -0
- package/components/tryghost-member-attribution-5.32.0.tgz +0 -0
- package/components/{tryghost-member-events-5.30.1.tgz → tryghost-member-events-5.32.0.tgz} +0 -0
- package/components/{tryghost-members-api-5.30.1.tgz → tryghost-members-api-5.32.0.tgz} +0 -0
- package/components/{tryghost-members-csv-5.30.1.tgz → tryghost-members-csv-5.32.0.tgz} +0 -0
- package/components/{tryghost-members-events-service-5.30.1.tgz → tryghost-members-events-service-5.32.0.tgz} +0 -0
- package/components/{tryghost-members-importer-5.30.1.tgz → tryghost-members-importer-5.32.0.tgz} +0 -0
- package/components/tryghost-members-offers-5.32.0.tgz +0 -0
- package/components/tryghost-members-payments-5.32.0.tgz +0 -0
- package/components/{tryghost-members-ssr-5.30.1.tgz → tryghost-members-ssr-5.32.0.tgz} +0 -0
- package/components/{tryghost-members-stripe-service-5.30.1.tgz → tryghost-members-stripe-service-5.32.0.tgz} +0 -0
- package/components/{tryghost-minifier-5.30.1.tgz → tryghost-minifier-5.32.0.tgz} +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.32.0.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.32.0.tgz +0 -0
- package/components/{tryghost-mw-error-handler-5.30.1.tgz → tryghost-mw-error-handler-5.32.0.tgz} +0 -0
- package/components/tryghost-mw-session-from-token-5.32.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.32.0.tgz +0 -0
- package/components/tryghost-mw-vhost-5.32.0.tgz +0 -0
- package/components/tryghost-oembed-service-5.32.0.tgz +0 -0
- package/components/tryghost-package-json-5.32.0.tgz +0 -0
- package/components/tryghost-referrers-5.32.0.tgz +0 -0
- package/components/{tryghost-security-5.30.1.tgz → tryghost-security-5.32.0.tgz} +0 -0
- package/components/{tryghost-session-service-5.30.1.tgz → tryghost-session-service-5.32.0.tgz} +0 -0
- package/components/{tryghost-settings-path-manager-5.30.1.tgz → tryghost-settings-path-manager-5.32.0.tgz} +0 -0
- package/components/{tryghost-staff-service-5.30.1.tgz → tryghost-staff-service-5.32.0.tgz} +0 -0
- package/components/{tryghost-stats-service-5.30.1.tgz → tryghost-stats-service-5.32.0.tgz} +0 -0
- package/components/{tryghost-tiers-5.30.1.tgz → tryghost-tiers-5.32.0.tgz} +0 -0
- package/components/tryghost-update-check-service-5.32.0.tgz +0 -0
- package/components/tryghost-verification-trigger-5.32.0.tgz +0 -0
- package/components/{tryghost-version-notifications-data-service-5.30.1.tgz → tryghost-version-notifications-data-service-5.32.0.tgz} +0 -0
- package/components/tryghost-webmentions-5.32.0.tgz +0 -0
- package/content/themes/casper/author.hbs +6 -6
- package/content/themes/casper/package.json +1 -1
- package/core/boot.js +2 -0
- package/core/built/admin/assets/{chunk.143.ab7136d5c88fd7e056e4.js → chunk.143.ad05239cc363254caed7.js} +5 -5
- package/core/built/admin/assets/{chunk.178.663428ba9c9d39ba275c.js → chunk.178.5260f900f09f859bf8ed.js} +4 -4
- package/core/built/admin/assets/{chunk.47.f29250a4560868c21293.js → chunk.47.f231a64fe3fbaba23b84.js} +4 -4
- package/core/built/admin/assets/{chunk.47.f29250a4560868c21293.js.LICENSE.txt → chunk.47.f231a64fe3fbaba23b84.js.LICENSE.txt} +0 -0
- package/core/built/admin/assets/{ghost-23dc524374e35a582886c36f7dacdb05.js → ghost-4571ad33bd158ced8a9f5c13598fdb7f.js} +142 -124
- package/core/built/admin/assets/{ghost-d3e45940f0f1601232d464d0b429d45f.css → ghost-721a7adc4ca642c88e4ac85e1cb8b385.css} +1 -1
- package/core/built/admin/assets/{ghost-dark-c8dc36895dfcbc03f0edd94311c65bfd.css → ghost-dark-fb05eb50e216469c5626356731afa42f.css} +1 -1
- package/core/built/admin/assets/{vendor-fadbf85ad92c591dc4bd3755312b6ddf.js → vendor-0441964c34d58f2aacd5a04bbe240243.js} +34 -37
- package/core/built/admin/index.html +6 -6
- package/core/frontend/helpers/ghost_head.js +1 -1
- package/core/server/api/endpoints/index.js +4 -0
- package/core/server/api/endpoints/mentions.js +33 -0
- package/core/server/api/endpoints/oembed.js +1 -22
- package/core/server/api/endpoints/utils/serializers/input/settings.js +2 -1
- package/core/server/api/endpoints/utils/serializers/output/mappers/emails.js +8 -0
- package/core/server/api/endpoints/utils/serializers/output/mappers/index.js +2 -1
- package/core/server/api/endpoints/utils/serializers/output/mappers/mentions.js +18 -0
- package/core/server/data/exporter/table-lists.js +1 -0
- package/core/server/data/importer/import-manager.js +21 -5
- package/core/server/data/migrations/versions/5.31/2022-12-05-09-56-update-newsletter-subscriptions.js +23 -0
- package/core/server/data/migrations/versions/5.31/2023-01-17-14-59-add-outbound-link-tagging-setting.js +8 -0
- package/core/server/data/migrations/versions/5.31/2023-01-19-07-46-add-mentions-table.js +17 -0
- package/core/server/data/migrations/versions/5.32/2023-01-24-08-00-fix-invalid-tier-expiry-for-paid-members.js +35 -0
- package/core/server/data/migrations/versions/5.32/2023-01-24-08-09-restore-incorrect-expired-tiers-for-members.js +46 -0
- package/core/server/data/schema/default-settings/default-settings.json +10 -0
- package/core/server/data/schema/schema.js +15 -0
- package/core/server/models/base/plugins/actions.js +1 -1
- package/core/server/models/base/plugins/sanitize.js +2 -0
- package/core/server/models/member.js +2 -2
- package/core/server/models/mention.js +9 -0
- package/core/server/models/redirect.js +2 -1
- package/core/server/services/api-version-compatibility/index.js +5 -8
- package/core/server/services/bulk-email/bulk-email-processor.js +7 -4
- package/core/server/services/email-service/wrapper.js +2 -1
- package/core/server/services/email-suppression-list/MailgunEmailSuppressionList.js +1 -1
- package/core/server/services/link-redirection/LinkRedirectRepository.js +2 -1
- package/core/server/services/link-tracking/PostLinkRepository.js +2 -1
- package/core/server/services/mega/post-email-serializer.js +2 -2
- package/core/server/services/member-attribution/index.js +2 -0
- package/core/server/services/mentions/BookshelfMentionRepository.js +117 -0
- package/core/server/services/mentions/MentionController.js +66 -0
- package/core/server/services/mentions/WebmentionMetadata.js +20 -0
- package/core/server/services/mentions/index.js +1 -0
- package/core/server/services/mentions/service.js +77 -0
- package/core/server/services/oembed/index.js +1 -0
- package/core/server/services/{nft-oembed.js → oembed/nft-oembed.js} +0 -0
- package/core/server/services/oembed/service.js +24 -0
- package/core/server/services/{twitter-embed.js → oembed/twitter-embed.js} +0 -0
- package/core/server/services/url/Resources.js +3 -17
- package/core/server/services/url/UrlService.js +3 -3
- package/core/server/web/api/endpoints/admin/routes.js +3 -0
- package/core/server/web/parent/frontend.js +1 -0
- package/core/server/web/webmentions/index.js +1 -0
- package/core/server/web/webmentions/routes.js +18 -0
- package/core/shared/labs.js +6 -3
- package/package.json +114 -110
- package/yarn.lock +616 -76
- package/components/tryghost-constants-5.30.1.tgz +0 -0
- package/components/tryghost-data-generator-5.30.1.tgz +0 -0
- package/components/tryghost-domain-events-5.30.1.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.30.1.tgz +0 -0
- package/components/tryghost-email-service-5.30.1.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.30.1.tgz +0 -0
- package/components/tryghost-link-redirects-5.30.1.tgz +0 -0
- package/components/tryghost-link-replacer-5.30.1.tgz +0 -0
- package/components/tryghost-magic-link-5.30.1.tgz +0 -0
- package/components/tryghost-member-attribution-5.30.1.tgz +0 -0
- package/components/tryghost-members-offers-5.30.1.tgz +0 -0
- package/components/tryghost-members-payments-5.30.1.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.30.1.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.30.1.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.30.1.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.30.1.tgz +0 -0
- package/components/tryghost-mw-vhost-5.30.1.tgz +0 -0
- package/components/tryghost-oembed-service-5.30.1.tgz +0 -0
- package/components/tryghost-package-json-5.30.1.tgz +0 -0
- package/components/tryghost-referrers-5.30.1.tgz +0 -0
- package/components/tryghost-update-check-service-5.30.1.tgz +0 -0
- package/components/tryghost-verification-trigger-5.30.1.tgz +0 -0
|
@@ -21,10 +21,11 @@ class Resources {
|
|
|
21
21
|
* @param {Object} options
|
|
22
22
|
* @param {Object} [options.resources] - resources to initialize with instead of fetching them from the database
|
|
23
23
|
* @param {Object} [options.queue] - instance of the Queue class
|
|
24
|
+
* @param {Object[]} [options.resourcesConfig] - resource config used when handling resource events and fetching
|
|
24
25
|
*/
|
|
25
|
-
constructor({resources = {}, queue} = {}) {
|
|
26
|
+
constructor({resources = {}, queue, resourcesConfig = []} = {}) {
|
|
26
27
|
this.queue = queue;
|
|
27
|
-
this.resourcesConfig =
|
|
28
|
+
this.resourcesConfig = resourcesConfig;
|
|
28
29
|
this.data = resources;
|
|
29
30
|
|
|
30
31
|
this.listeners = [];
|
|
@@ -47,20 +48,6 @@ class Resources {
|
|
|
47
48
|
events.on(eventName, listener);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
/**
|
|
51
|
-
* @description Initialize the resource config. We currently fetch the data straight via the the model layer,
|
|
52
|
-
* but because Ghost supports multiple API versions, we have to ensure we load the correct data.
|
|
53
|
-
*
|
|
54
|
-
* @TODO: https://github.com/TryGhost/Ghost/issues/10360
|
|
55
|
-
*/
|
|
56
|
-
initResourceConfig() {
|
|
57
|
-
if (!_.isEmpty(this.resourcesConfig)) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
this.resourcesConfig = require('./config');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
51
|
/**
|
|
65
52
|
* @description Helper function to initialize data fetching.
|
|
66
53
|
*/
|
|
@@ -440,7 +427,6 @@ class Resources {
|
|
|
440
427
|
|
|
441
428
|
this.listeners = [];
|
|
442
429
|
this.data = {};
|
|
443
|
-
this.resourcesConfig = null;
|
|
444
430
|
}
|
|
445
431
|
|
|
446
432
|
/**
|
|
@@ -8,6 +8,7 @@ const Queue = require('./Queue');
|
|
|
8
8
|
const Urls = require('./Urls');
|
|
9
9
|
const Resources = require('./Resources');
|
|
10
10
|
const urlUtils = require('../../../shared/url-utils');
|
|
11
|
+
const resourcesConfig = require('./config');
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* The url service class holds all instances in a centralized place.
|
|
@@ -17,7 +18,7 @@ const urlUtils = require('../../../shared/url-utils');
|
|
|
17
18
|
class UrlService {
|
|
18
19
|
/**
|
|
19
20
|
*
|
|
20
|
-
* @param {Object} options
|
|
21
|
+
* @param {Object} [options]
|
|
21
22
|
* @param {Object} [options.cache] - cache handler instance
|
|
22
23
|
* @param {Function} [options.cache.read] - read cache by type
|
|
23
24
|
* @param {Function} [options.cache.write] - write into cache by type
|
|
@@ -35,6 +36,7 @@ class UrlService {
|
|
|
35
36
|
// Way too many tests fail if the initialization is removed so leaving it as is for time being
|
|
36
37
|
this.urls = new Urls();
|
|
37
38
|
this.resources = new Resources({
|
|
39
|
+
resourcesConfig: resourcesConfig,
|
|
38
40
|
queue: this.queue
|
|
39
41
|
});
|
|
40
42
|
|
|
@@ -321,12 +323,10 @@ class UrlService {
|
|
|
321
323
|
if (persistedUrls && persistedResources) {
|
|
322
324
|
this.urls.urls = persistedUrls;
|
|
323
325
|
this.resources.data = persistedResources;
|
|
324
|
-
this.resources.initResourceConfig();
|
|
325
326
|
this.resources.initEventListeners();
|
|
326
327
|
|
|
327
328
|
this._onQueueEnded('init');
|
|
328
329
|
} else {
|
|
329
|
-
this.resources.initResourceConfig();
|
|
330
330
|
this.resources.initEventListeners();
|
|
331
331
|
await this.resources.fetchResources();
|
|
332
332
|
// CASE: all resources are fetched, start the queue
|
|
@@ -5,6 +5,7 @@ const apiMw = require('../../middleware');
|
|
|
5
5
|
const mw = require('./middleware');
|
|
6
6
|
|
|
7
7
|
const shared = require('../../../shared');
|
|
8
|
+
const labs = require('../../../../../shared/labs');
|
|
8
9
|
|
|
9
10
|
module.exports = function apiRoutes() {
|
|
10
11
|
const router = express.Router('admin api');
|
|
@@ -31,6 +32,8 @@ module.exports = function apiRoutes() {
|
|
|
31
32
|
router.put('/posts/:id', mw.authAdminApi, http(api.posts.edit));
|
|
32
33
|
router.del('/posts/:id', mw.authAdminApi, http(api.posts.destroy));
|
|
33
34
|
|
|
35
|
+
router.get('/mentions', labs.enabledMiddleware('webmentions'), mw.authAdminApi, http(api.mentions.browse));
|
|
36
|
+
|
|
34
37
|
router.put('/comments/:id', mw.authAdminApi, http(api.comments.edit));
|
|
35
38
|
|
|
36
39
|
// ## Pages
|
|
@@ -18,6 +18,7 @@ module.exports = (routerConfig) => {
|
|
|
18
18
|
frontendApp.use(shared.middleware.urlRedirects.frontendSSLRedirect);
|
|
19
19
|
|
|
20
20
|
frontendApp.lazyUse('/members', require('../members'));
|
|
21
|
+
frontendApp.lazyUse('/webmentions', require('../webmentions'));
|
|
21
22
|
frontendApp.use('/', require('../../../frontend/web')(routerConfig));
|
|
22
23
|
|
|
23
24
|
return frontendApp;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./routes');
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const express = require('../../../shared/express');
|
|
2
|
+
const api = require('../../api').endpoints;
|
|
3
|
+
const {http} = require('@tryghost/api-framework');
|
|
4
|
+
const shared = require('../shared');
|
|
5
|
+
|
|
6
|
+
const bodyParser = require('body-parser');
|
|
7
|
+
|
|
8
|
+
module.exports = function apiRoutes() {
|
|
9
|
+
const router = express.Router('webmentions');
|
|
10
|
+
|
|
11
|
+
// shouldn't be cached
|
|
12
|
+
router.use(shared.middleware.cacheControl('private'));
|
|
13
|
+
|
|
14
|
+
// Webmentions
|
|
15
|
+
router.post('/receive', bodyParser.urlencoded({extended: true, limit: '5mb'}), http(api.mentions.receive));
|
|
16
|
+
|
|
17
|
+
return router;
|
|
18
|
+
};
|
package/core/shared/labs.js
CHANGED
|
@@ -19,20 +19,23 @@ const GA_FEATURES = [
|
|
|
19
19
|
'sourceAttribution',
|
|
20
20
|
'memberAttribution',
|
|
21
21
|
'audienceFeedback',
|
|
22
|
-
'themeErrorsNotification'
|
|
22
|
+
'themeErrorsNotification',
|
|
23
|
+
'emailStability'
|
|
23
24
|
];
|
|
24
25
|
|
|
25
26
|
// NOTE: this allowlist is meant to be used to filter out any unexpected
|
|
26
27
|
// input for the "labs" setting value
|
|
27
28
|
const BETA_FEATURES = [
|
|
28
29
|
'activitypub',
|
|
29
|
-
'
|
|
30
|
+
'emailErrors'
|
|
30
31
|
];
|
|
31
32
|
|
|
32
33
|
const ALPHA_FEATURES = [
|
|
33
34
|
'urlCache',
|
|
34
35
|
'beforeAfterCard',
|
|
35
|
-
'lexicalEditor'
|
|
36
|
+
'lexicalEditor',
|
|
37
|
+
'webmentions',
|
|
38
|
+
'outboundLinkTagging'
|
|
36
39
|
];
|
|
37
40
|
|
|
38
41
|
module.exports.GA_KEYS = [...GA_FEATURES];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghost",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.32.0",
|
|
4
4
|
"description": "The professional publishing platform",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"homepage": "https://ghost.org",
|
|
@@ -58,34 +58,35 @@
|
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@sentry/node": "7.11.1",
|
|
60
60
|
"@tryghost/adapter-base-cache": "0.1.3",
|
|
61
|
-
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.
|
|
61
|
+
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.32.0.tgz",
|
|
62
62
|
"@tryghost/admin-api-schema": "4.2.1",
|
|
63
|
-
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.
|
|
64
|
-
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.
|
|
65
|
-
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.
|
|
63
|
+
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.32.0.tgz",
|
|
64
|
+
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.32.0.tgz",
|
|
65
|
+
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.32.0.tgz",
|
|
66
66
|
"@tryghost/bookshelf-plugins": "0.6.3",
|
|
67
|
-
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.
|
|
67
|
+
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.32.0.tgz",
|
|
68
68
|
"@tryghost/color-utils": "0.1.22",
|
|
69
69
|
"@tryghost/config-url-helpers": "1.0.4",
|
|
70
|
-
"@tryghost/constants": "file:components/tryghost-constants-5.
|
|
71
|
-
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.
|
|
72
|
-
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.
|
|
70
|
+
"@tryghost/constants": "file:components/tryghost-constants-5.32.0.tgz",
|
|
71
|
+
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.32.0.tgz",
|
|
72
|
+
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.32.0.tgz",
|
|
73
73
|
"@tryghost/database-info": "0.3.14",
|
|
74
74
|
"@tryghost/debug": "0.1.21",
|
|
75
|
-
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.
|
|
76
|
-
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.
|
|
77
|
-
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.
|
|
78
|
-
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.
|
|
79
|
-
"@tryghost/email-
|
|
80
|
-
"@tryghost/email-
|
|
75
|
+
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.32.0.tgz",
|
|
76
|
+
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.32.0.tgz",
|
|
77
|
+
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.32.0.tgz",
|
|
78
|
+
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.32.0.tgz",
|
|
79
|
+
"@tryghost/email-mock-receiver": "0.1.0",
|
|
80
|
+
"@tryghost/email-service": "file:components/tryghost-email-service-5.32.0.tgz",
|
|
81
|
+
"@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.32.0.tgz",
|
|
81
82
|
"@tryghost/errors": "1.2.20",
|
|
82
|
-
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.
|
|
83
|
+
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.32.0.tgz",
|
|
83
84
|
"@tryghost/helpers": "1.1.75",
|
|
84
|
-
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.
|
|
85
|
+
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.32.0.tgz",
|
|
85
86
|
"@tryghost/http-cache-utils": "0.1.6",
|
|
86
87
|
"@tryghost/image-transform": "1.2.3",
|
|
87
|
-
"@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.
|
|
88
|
-
"@tryghost/job-manager": "file:components/tryghost-job-manager-5.
|
|
88
|
+
"@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.32.0.tgz",
|
|
89
|
+
"@tryghost/job-manager": "file:components/tryghost-job-manager-5.32.0.tgz",
|
|
89
90
|
"@tryghost/kg-card-factory": "4.0.0",
|
|
90
91
|
"@tryghost/kg-default-atoms": "4.0.0",
|
|
91
92
|
"@tryghost/kg-default-cards": "6.0.0",
|
|
@@ -93,49 +94,50 @@
|
|
|
93
94
|
"@tryghost/kg-lexical-html-renderer": "0.0.11",
|
|
94
95
|
"@tryghost/kg-mobiledoc-html-renderer": "6.0.0",
|
|
95
96
|
"@tryghost/limit-service": "1.2.4",
|
|
96
|
-
"@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.
|
|
97
|
-
"@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.
|
|
98
|
-
"@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.
|
|
97
|
+
"@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.32.0.tgz",
|
|
98
|
+
"@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.32.0.tgz",
|
|
99
|
+
"@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.32.0.tgz",
|
|
99
100
|
"@tryghost/logging": "2.4.0",
|
|
100
|
-
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.
|
|
101
|
-
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.
|
|
102
|
-
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.
|
|
103
|
-
"@tryghost/member-events": "file:components/tryghost-member-events-5.
|
|
104
|
-
"@tryghost/members-api": "file:components/tryghost-members-api-5.
|
|
105
|
-
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.
|
|
106
|
-
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.
|
|
107
|
-
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.
|
|
108
|
-
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.
|
|
109
|
-
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.
|
|
110
|
-
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.
|
|
101
|
+
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.32.0.tgz",
|
|
102
|
+
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.32.0.tgz",
|
|
103
|
+
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.32.0.tgz",
|
|
104
|
+
"@tryghost/member-events": "file:components/tryghost-member-events-5.32.0.tgz",
|
|
105
|
+
"@tryghost/members-api": "file:components/tryghost-members-api-5.32.0.tgz",
|
|
106
|
+
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.32.0.tgz",
|
|
107
|
+
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.32.0.tgz",
|
|
108
|
+
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.32.0.tgz",
|
|
109
|
+
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.32.0.tgz",
|
|
110
|
+
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.32.0.tgz",
|
|
111
|
+
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.32.0.tgz",
|
|
111
112
|
"@tryghost/metrics": "1.0.20",
|
|
112
|
-
"@tryghost/minifier": "file:components/tryghost-minifier-5.
|
|
113
|
-
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.
|
|
114
|
-
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.
|
|
115
|
-
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.
|
|
116
|
-
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.
|
|
117
|
-
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.
|
|
113
|
+
"@tryghost/minifier": "file:components/tryghost-minifier-5.32.0.tgz",
|
|
114
|
+
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.32.0.tgz",
|
|
115
|
+
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.32.0.tgz",
|
|
116
|
+
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.32.0.tgz",
|
|
117
|
+
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.32.0.tgz",
|
|
118
|
+
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.32.0.tgz",
|
|
118
119
|
"@tryghost/nodemailer": "0.3.31",
|
|
119
120
|
"@tryghost/nql": "0.11.0",
|
|
120
|
-
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.
|
|
121
|
-
"@tryghost/package-json": "file:components/tryghost-package-json-5.
|
|
121
|
+
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.32.0.tgz",
|
|
122
|
+
"@tryghost/package-json": "file:components/tryghost-package-json-5.32.0.tgz",
|
|
122
123
|
"@tryghost/pretty-cli": "1.2.33",
|
|
123
124
|
"@tryghost/promise": "0.2.1",
|
|
124
125
|
"@tryghost/request": "0.1.34",
|
|
125
|
-
"@tryghost/security": "file:components/tryghost-security-5.
|
|
126
|
-
"@tryghost/session-service": "file:components/tryghost-session-service-5.
|
|
127
|
-
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.
|
|
126
|
+
"@tryghost/security": "file:components/tryghost-security-5.32.0.tgz",
|
|
127
|
+
"@tryghost/session-service": "file:components/tryghost-session-service-5.32.0.tgz",
|
|
128
|
+
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.32.0.tgz",
|
|
128
129
|
"@tryghost/social-urls": "0.1.34",
|
|
129
|
-
"@tryghost/staff-service": "file:components/tryghost-staff-service-5.
|
|
130
|
-
"@tryghost/stats-service": "file:components/tryghost-stats-service-5.
|
|
130
|
+
"@tryghost/staff-service": "file:components/tryghost-staff-service-5.32.0.tgz",
|
|
131
|
+
"@tryghost/stats-service": "file:components/tryghost-stats-service-5.32.0.tgz",
|
|
131
132
|
"@tryghost/string": "0.2.2",
|
|
132
|
-
"@tryghost/tiers": "file:components/tryghost-tiers-5.
|
|
133
|
+
"@tryghost/tiers": "file:components/tryghost-tiers-5.32.0.tgz",
|
|
133
134
|
"@tryghost/tpl": "0.1.21",
|
|
134
|
-
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.
|
|
135
|
+
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.32.0.tgz",
|
|
135
136
|
"@tryghost/url-utils": "4.3.0",
|
|
136
137
|
"@tryghost/validator": "0.1.31",
|
|
137
|
-
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.
|
|
138
|
+
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.32.0.tgz",
|
|
138
139
|
"@tryghost/version": "0.1.19",
|
|
140
|
+
"@tryghost/webmentions": "file:components/tryghost-webmentions-5.32.0.tgz",
|
|
139
141
|
"@tryghost/zip": "1.1.31",
|
|
140
142
|
"amperize": "0.6.1",
|
|
141
143
|
"analytics-node": "6.2.0",
|
|
@@ -162,7 +164,7 @@
|
|
|
162
164
|
"express-session": "1.17.3",
|
|
163
165
|
"fs-extra": "11.1.0",
|
|
164
166
|
"ghost-storage-base": "1.0.0",
|
|
165
|
-
"glob": "8.0
|
|
167
|
+
"glob": "8.1.0",
|
|
166
168
|
"got": "9.6.0",
|
|
167
169
|
"gscan": "4.36.0",
|
|
168
170
|
"human-number": "2.0.1",
|
|
@@ -174,14 +176,14 @@
|
|
|
174
176
|
"jsonwebtoken": "8.5.1",
|
|
175
177
|
"juice": "8.1.0",
|
|
176
178
|
"keypair": "1.0.4",
|
|
177
|
-
"knex": "2.4.
|
|
179
|
+
"knex": "2.4.1",
|
|
178
180
|
"knex-migrator": "5.1.1",
|
|
179
181
|
"lodash": "4.17.21",
|
|
180
182
|
"luxon": "3.2.1",
|
|
181
183
|
"moment": "2.24.0",
|
|
182
184
|
"moment-timezone": "0.5.23",
|
|
183
185
|
"multer": "1.4.4",
|
|
184
|
-
"mysql2": "3.0.
|
|
186
|
+
"mysql2": "3.0.1",
|
|
185
187
|
"nconf": "0.12.0",
|
|
186
188
|
"node-jose": "2.1.1",
|
|
187
189
|
"oembed-parser": "1.4.9",
|
|
@@ -200,8 +202,7 @@
|
|
|
200
202
|
},
|
|
201
203
|
"devDependencies": {
|
|
202
204
|
"@playwright/test": "1.29.2",
|
|
203
|
-
"@tryghost/express-test": "0.
|
|
204
|
-
"@tryghost/jest-snapshot": "0.4.8",
|
|
205
|
+
"@tryghost/express-test": "0.13.0",
|
|
205
206
|
"@tryghost/webhook-mock-receiver": "0.2.3",
|
|
206
207
|
"@types/common-tags": "1.8.1",
|
|
207
208
|
"c8": "7.12.0",
|
|
@@ -209,7 +210,7 @@
|
|
|
209
210
|
"cssnano": "5.1.14",
|
|
210
211
|
"eslint": "8.32.0",
|
|
211
212
|
"expect": "^29.0.0",
|
|
212
|
-
"html-validate": "7.
|
|
213
|
+
"html-validate": "7.13.1",
|
|
213
214
|
"inquirer": "8.2.5",
|
|
214
215
|
"jwks-rsa": "3.0.1",
|
|
215
216
|
"mocha": "10.2.0",
|
|
@@ -217,7 +218,7 @@
|
|
|
217
218
|
"mock-knex": "TryGhost/mock-knex#8ecb8c227bf463c991c3d820d33f59efc3ab9682",
|
|
218
219
|
"nock": "13.3.0",
|
|
219
220
|
"papaparse": "5.3.2",
|
|
220
|
-
"postcss": "8.4.
|
|
221
|
+
"postcss": "8.4.21",
|
|
221
222
|
"postcss-cli": "10.1.0",
|
|
222
223
|
"rewire": "6.0.0",
|
|
223
224
|
"should": "13.2.3",
|
|
@@ -227,62 +228,65 @@
|
|
|
227
228
|
"toml": "3.0.0"
|
|
228
229
|
},
|
|
229
230
|
"resolutions": {
|
|
231
|
+
"@elastic/elasticsearch": "8.5.0",
|
|
230
232
|
"@tryghost/logging": "2.4.0",
|
|
231
233
|
"moment": "2.24.0",
|
|
232
234
|
"moment-timezone": "0.5.23",
|
|
233
|
-
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.
|
|
234
|
-
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.
|
|
235
|
-
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.
|
|
236
|
-
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.
|
|
237
|
-
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.
|
|
238
|
-
"@tryghost/constants": "file:components/tryghost-constants-5.
|
|
239
|
-
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.
|
|
240
|
-
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.
|
|
241
|
-
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.
|
|
242
|
-
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.
|
|
243
|
-
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.
|
|
244
|
-
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.
|
|
245
|
-
"@tryghost/email-events": "file:components/tryghost-email-events-5.
|
|
246
|
-
"@tryghost/email-service": "file:components/tryghost-email-service-5.
|
|
247
|
-
"@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.
|
|
248
|
-
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.
|
|
249
|
-
"@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.
|
|
250
|
-
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.
|
|
251
|
-
"@tryghost/
|
|
252
|
-
"@tryghost/
|
|
253
|
-
"@tryghost/
|
|
254
|
-
"@tryghost/link-
|
|
255
|
-
"@tryghost/link-
|
|
256
|
-
"@tryghost/
|
|
257
|
-
"@tryghost/
|
|
258
|
-
"@tryghost/
|
|
259
|
-
"@tryghost/member-
|
|
260
|
-
"@tryghost/
|
|
261
|
-
"@tryghost/members-
|
|
262
|
-
"@tryghost/members-
|
|
263
|
-
"@tryghost/members-
|
|
264
|
-
"@tryghost/members-
|
|
265
|
-
"@tryghost/
|
|
266
|
-
"@tryghost/
|
|
267
|
-
"@tryghost/mw-
|
|
268
|
-
"@tryghost/mw-
|
|
269
|
-
"@tryghost/mw-
|
|
270
|
-
"@tryghost/mw-
|
|
271
|
-
"@tryghost/mw-
|
|
272
|
-
"@tryghost/
|
|
273
|
-
"@tryghost/
|
|
274
|
-
"@tryghost/
|
|
275
|
-
"@tryghost/
|
|
276
|
-
"@tryghost/
|
|
277
|
-
"@tryghost/
|
|
278
|
-
"@tryghost/
|
|
279
|
-
"@tryghost/
|
|
280
|
-
"@tryghost/
|
|
281
|
-
"@tryghost/
|
|
282
|
-
"@tryghost/
|
|
283
|
-
"@tryghost/
|
|
284
|
-
"@tryghost/
|
|
285
|
-
"@tryghost/
|
|
286
|
-
"@tryghost/
|
|
235
|
+
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.32.0.tgz",
|
|
236
|
+
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.32.0.tgz",
|
|
237
|
+
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.32.0.tgz",
|
|
238
|
+
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.32.0.tgz",
|
|
239
|
+
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.32.0.tgz",
|
|
240
|
+
"@tryghost/constants": "file:components/tryghost-constants-5.32.0.tgz",
|
|
241
|
+
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.32.0.tgz",
|
|
242
|
+
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.32.0.tgz",
|
|
243
|
+
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.32.0.tgz",
|
|
244
|
+
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.32.0.tgz",
|
|
245
|
+
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.32.0.tgz",
|
|
246
|
+
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.32.0.tgz",
|
|
247
|
+
"@tryghost/email-events": "file:components/tryghost-email-events-5.32.0.tgz",
|
|
248
|
+
"@tryghost/email-service": "file:components/tryghost-email-service-5.32.0.tgz",
|
|
249
|
+
"@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.32.0.tgz",
|
|
250
|
+
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.32.0.tgz",
|
|
251
|
+
"@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.32.0.tgz",
|
|
252
|
+
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.32.0.tgz",
|
|
253
|
+
"@tryghost/i18n": "file:components/tryghost-i18n-5.32.0.tgz",
|
|
254
|
+
"@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.32.0.tgz",
|
|
255
|
+
"@tryghost/job-manager": "file:components/tryghost-job-manager-5.32.0.tgz",
|
|
256
|
+
"@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.32.0.tgz",
|
|
257
|
+
"@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.32.0.tgz",
|
|
258
|
+
"@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.32.0.tgz",
|
|
259
|
+
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.32.0.tgz",
|
|
260
|
+
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.32.0.tgz",
|
|
261
|
+
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.32.0.tgz",
|
|
262
|
+
"@tryghost/member-events": "file:components/tryghost-member-events-5.32.0.tgz",
|
|
263
|
+
"@tryghost/members-api": "file:components/tryghost-members-api-5.32.0.tgz",
|
|
264
|
+
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.32.0.tgz",
|
|
265
|
+
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.32.0.tgz",
|
|
266
|
+
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.32.0.tgz",
|
|
267
|
+
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.32.0.tgz",
|
|
268
|
+
"@tryghost/minifier": "file:components/tryghost-minifier-5.32.0.tgz",
|
|
269
|
+
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.32.0.tgz",
|
|
270
|
+
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.32.0.tgz",
|
|
271
|
+
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.32.0.tgz",
|
|
272
|
+
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.32.0.tgz",
|
|
273
|
+
"@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.32.0.tgz",
|
|
274
|
+
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.32.0.tgz",
|
|
275
|
+
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.32.0.tgz",
|
|
276
|
+
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.32.0.tgz",
|
|
277
|
+
"@tryghost/package-json": "file:components/tryghost-package-json-5.32.0.tgz",
|
|
278
|
+
"@tryghost/members-payments": "file:components/tryghost-members-payments-5.32.0.tgz",
|
|
279
|
+
"@tryghost/referrers": "file:components/tryghost-referrers-5.32.0.tgz",
|
|
280
|
+
"@tryghost/security": "file:components/tryghost-security-5.32.0.tgz",
|
|
281
|
+
"@tryghost/session-service": "file:components/tryghost-session-service-5.32.0.tgz",
|
|
282
|
+
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.32.0.tgz",
|
|
283
|
+
"@tryghost/staff-service": "file:components/tryghost-staff-service-5.32.0.tgz",
|
|
284
|
+
"@tryghost/stats-service": "file:components/tryghost-stats-service-5.32.0.tgz",
|
|
285
|
+
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.32.0.tgz",
|
|
286
|
+
"@tryghost/tiers": "file:components/tryghost-tiers-5.32.0.tgz",
|
|
287
|
+
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.32.0.tgz",
|
|
288
|
+
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.32.0.tgz",
|
|
289
|
+
"@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.32.0.tgz",
|
|
290
|
+
"@tryghost/webmentions": "file:components/tryghost-webmentions-5.32.0.tgz"
|
|
287
291
|
}
|
|
288
292
|
}
|