ghost 5.9.4 → 5.11.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.11.0.tgz +0 -0
- package/components/tryghost-api-framework-5.11.0.tgz +0 -0
- package/components/{tryghost-api-version-compatibility-service-0.0.0.tgz → tryghost-api-version-compatibility-service-5.11.0.tgz} +0 -0
- package/components/tryghost-bootstrap-socket-5.11.0.tgz +0 -0
- package/components/tryghost-constants-5.11.0.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-5.11.0.tgz +0 -0
- package/components/tryghost-domain-events-5.11.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.11.0.tgz +0 -0
- package/components/tryghost-email-analytics-service-5.11.0.tgz +0 -0
- package/components/tryghost-email-content-generator-5.11.0.tgz +0 -0
- package/components/tryghost-express-dynamic-redirects-5.11.0.tgz +0 -0
- package/components/tryghost-extract-api-key-5.11.0.tgz +0 -0
- package/components/tryghost-html-to-plaintext-5.11.0.tgz +0 -0
- package/components/tryghost-job-manager-5.11.0.tgz +0 -0
- package/components/tryghost-magic-link-5.11.0.tgz +0 -0
- package/components/tryghost-mailgun-client-5.11.0.tgz +0 -0
- package/components/tryghost-member-analytics-service-5.11.0.tgz +0 -0
- package/components/tryghost-member-attribution-5.11.0.tgz +0 -0
- package/components/tryghost-member-events-5.11.0.tgz +0 -0
- package/components/tryghost-members-analytics-ingress-5.11.0.tgz +0 -0
- package/components/tryghost-members-api-5.11.0.tgz +0 -0
- package/components/{tryghost-members-csv-0.0.0.tgz → tryghost-members-csv-5.11.0.tgz} +0 -0
- package/components/tryghost-members-events-service-5.11.0.tgz +0 -0
- package/components/tryghost-members-importer-5.11.0.tgz +0 -0
- package/components/tryghost-members-offers-5.11.0.tgz +0 -0
- package/components/tryghost-members-payments-5.11.0.tgz +0 -0
- package/components/tryghost-members-ssr-5.11.0.tgz +0 -0
- package/components/tryghost-members-stripe-service-5.11.0.tgz +0 -0
- package/components/tryghost-minifier-5.11.0.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.11.0.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.11.0.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.11.0.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.11.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-5.11.0.tgz +0 -0
- package/components/tryghost-mw-vhost-5.11.0.tgz +0 -0
- package/components/tryghost-oembed-service-5.11.0.tgz +0 -0
- package/components/tryghost-package-json-5.11.0.tgz +0 -0
- package/components/tryghost-security-5.11.0.tgz +0 -0
- package/components/tryghost-session-service-5.11.0.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.11.0.tgz +0 -0
- package/components/tryghost-update-check-service-5.11.0.tgz +0 -0
- package/components/tryghost-verification-trigger-5.11.0.tgz +0 -0
- package/components/tryghost-version-notifications-data-service-5.11.0.tgz +0 -0
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/built/screen.css.map +1 -1
- package/content/themes/casper/assets/css/screen.css +8 -5
- package/content/themes/casper/package.json +1 -1
- package/core/boot.js +2 -0
- package/core/bridge.js +2 -0
- package/core/built/admin/assets/chunk.143.14589cc066b8120b73e3.js +49 -0
- package/core/built/admin/assets/{chunk.174.eec7f6398cef4c3e2485.js → chunk.174.ae492405065373dbe102.js} +31 -29
- package/core/built/admin/assets/{chunk.178.506264293194a4922091.js → chunk.178.131e85a10d2031148425.js} +4 -4
- package/core/built/admin/assets/{chunk.351.73f27952f867334a8228.js → chunk.579.65e09dd89eec70d059a0.js} +23 -28
- package/core/built/admin/assets/{chunk.351.73f27952f867334a8228.js.LICENSE.txt → chunk.579.65e09dd89eec70d059a0.js.LICENSE.txt} +0 -0
- package/core/built/admin/assets/ghost-1b0d7c731511bb738ec457d2932c43c0.css +1 -0
- package/core/built/admin/assets/{ghost-b441c9cfa2e31453e86460e50ae7e378.js → ghost-40f5bd12d121c54bbc39e7939e78244f.js} +827 -611
- package/core/built/admin/assets/ghost-dark-7b2825a050b0382630180f48aa78ea5d.css +1 -0
- package/core/built/admin/assets/icons/calendar-stroke.svg +1 -0
- package/core/built/admin/assets/icons/ghost-orb-pink.svg +10 -0
- package/core/built/admin/assets/icons/pen-stroke.svg +1 -0
- package/core/built/admin/assets/img/logos/orb-pink-3-a2c52eb9fda9f2401ea706c3f24976ff.png +0 -0
- package/core/built/admin/assets/{vendor-516c9e43b4aeb92079dc1ab92c9ce492.js → vendor-741dc0e4078e044a0c9bfaad104de8b3.js} +85 -78
- package/core/built/admin/index.html +6 -6
- package/core/frontend/helpers/ghost_head.js +4 -0
- package/core/frontend/helpers/search.js +42 -0
- package/core/frontend/services/member-attribution-assets/index.js +4 -0
- package/core/frontend/services/member-attribution-assets/service.js +83 -0
- package/core/frontend/src/member-attribution/.eslintrc +10 -0
- package/core/frontend/src/member-attribution/member-attribution.js +90 -0
- package/core/frontend/web/site.js +3 -0
- package/core/server/adapters/cache/ImageSizesCacheSyncInMemory.js +7 -0
- package/core/server/adapters/cache/SettingsCacheSyncInMemory.js +7 -0
- package/core/server/api/endpoints/comments-members.js +10 -7
- package/core/server/api/endpoints/invites.js +1 -9
- package/core/server/api/endpoints/labels.js +1 -7
- package/core/server/api/endpoints/members.js +3 -13
- package/core/server/api/endpoints/offers.js +2 -2
- package/core/server/api/endpoints/pages.js +2 -10
- package/core/server/api/endpoints/posts.js +11 -10
- package/core/server/api/endpoints/snippets.js +1 -9
- package/core/server/api/endpoints/tags.js +1 -7
- package/core/server/api/endpoints/utils/serializers/input/pages.js +1 -1
- package/core/server/api/endpoints/utils/serializers/input/posts.js +1 -1
- package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +5 -0
- package/core/server/api/endpoints/utils/serializers/output/members.js +2 -1
- package/core/server/api/endpoints/utils/serializers/output/site.js +1 -0
- package/core/server/api/endpoints/utils/serializers/output/utils/clean.js +6 -7
- package/core/server/api/endpoints/webhooks.js +2 -19
- package/core/server/data/exporter/table-lists.js +2 -0
- package/core/server/data/migrations/versions/5.10/2022-08-15-05-34-add-expiry-at-column-to-members-products.js +6 -0
- package/core/server/data/migrations/versions/5.10/2022-08-16-14-25-add-member-created-events-table.js +11 -0
- package/core/server/data/migrations/versions/5.10/2022-08-16-14-25-add-subscription-created-events-table.js +11 -0
- package/core/server/data/migrations/versions/5.10/2022-08-19-14-15-fix-comments-deletion-strategy.js +45 -0
- package/core/server/data/migrations/versions/5.11/2022-08-22-11-03-add-member-alert-settings-columns-to-users.js +21 -0
- package/core/server/data/migrations/versions/5.11/2022-08-23-13-41-backfill-members-created-events.js +32 -0
- package/core/server/data/migrations/versions/5.11/2022-08-23-13-59-fix-page-resource-type.js +22 -0
- package/core/server/data/schema/fixtures/fixtures.json +3 -0
- package/core/server/data/schema/schema.js +24 -2
- package/core/server/lib/image/cached-image-size-from-url.js +52 -28
- package/core/server/lib/image/gravatar.js +8 -7
- package/core/server/lib/image/image-size.js +60 -56
- package/core/server/lib/image/image-utils.js +5 -2
- package/core/server/lib/image/index.js +14 -1
- package/core/server/models/action.js +0 -10
- package/core/server/models/api-key.js +3 -18
- package/core/server/models/base/plugins/actions.js +55 -0
- package/core/server/models/integration.js +3 -0
- package/core/server/models/label.js +3 -18
- package/core/server/models/member-created-event.js +26 -0
- package/core/server/models/member.js +54 -4
- package/core/server/models/offer.js +3 -0
- package/core/server/models/post.js +25 -18
- package/core/server/models/product.js +3 -0
- package/core/server/models/settings.js +4 -0
- package/core/server/models/subscription-created-event.js +30 -0
- package/core/server/models/tag.js +3 -18
- package/core/server/models/user.js +7 -19
- package/core/server/models/webhook.js +3 -0
- package/core/server/services/auth/api-key/admin.js +0 -3
- package/core/server/services/auth/passwordreset.js +0 -3
- package/core/server/services/comments/emails.js +3 -3
- package/core/server/services/explore/service.js +8 -6
- package/core/server/services/member-attribution/index.js +52 -0
- package/core/server/services/members/api.js +3 -1
- package/core/server/services/members/jobs/clean-expired-comped.js +105 -0
- package/core/server/services/members/jobs/index.js +27 -0
- package/core/server/services/members/service.js +14 -8
- package/core/server/services/public-config/site.js +1 -0
- package/core/server/services/route-settings/default-settings-manager.js +19 -17
- package/core/server/services/settings/settings-service.js +1 -1
- package/core/server/services/webhooks/trigger.js +14 -5
- package/core/shared/config/defaults.json +8 -3
- package/core/shared/labs.js +5 -2
- package/package.json +84 -83
- package/yarn.lock +440 -615
- package/components/tryghost-adapter-manager-0.0.0.tgz +0 -0
- package/components/tryghost-api-framework-0.0.0.tgz +0 -0
- package/components/tryghost-bootstrap-socket-0.0.0.tgz +0 -0
- package/components/tryghost-constants-0.0.0.tgz +0 -0
- package/components/tryghost-custom-theme-settings-service-0.0.0.tgz +0 -0
- package/components/tryghost-domain-events-0.0.0.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-0.0.0.tgz +0 -0
- package/components/tryghost-email-analytics-service-0.0.0.tgz +0 -0
- package/components/tryghost-email-content-generator-0.0.0.tgz +0 -0
- package/components/tryghost-express-dynamic-redirects-0.0.0.tgz +0 -0
- package/components/tryghost-extract-api-key-0.0.0.tgz +0 -0
- package/components/tryghost-html-to-plaintext-0.0.0.tgz +0 -0
- package/components/tryghost-job-manager-0.0.0.tgz +0 -0
- package/components/tryghost-magic-link-0.0.0.tgz +0 -0
- package/components/tryghost-mailgun-client-0.0.0.tgz +0 -0
- package/components/tryghost-member-analytics-service-0.0.0.tgz +0 -0
- package/components/tryghost-member-events-0.0.0.tgz +0 -0
- package/components/tryghost-members-analytics-ingress-0.0.0.tgz +0 -0
- package/components/tryghost-members-api-0.0.0.tgz +0 -0
- package/components/tryghost-members-events-service-0.0.0.tgz +0 -0
- package/components/tryghost-members-importer-0.0.0.tgz +0 -0
- package/components/tryghost-members-offers-0.0.0.tgz +0 -0
- package/components/tryghost-members-payments-0.0.0.tgz +0 -0
- package/components/tryghost-members-ssr-0.0.0.tgz +0 -0
- package/components/tryghost-members-stripe-service-0.0.0.tgz +0 -0
- package/components/tryghost-minifier-0.0.0.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-0.0.0.tgz +0 -0
- package/components/tryghost-mw-cache-control-0.0.0.tgz +0 -0
- package/components/tryghost-mw-error-handler-0.0.0.tgz +0 -0
- package/components/tryghost-mw-session-from-token-0.0.0.tgz +0 -0
- package/components/tryghost-mw-update-user-last-seen-0.0.0.tgz +0 -0
- package/components/tryghost-mw-vhost-0.0.0.tgz +0 -0
- package/components/tryghost-oembed-service-0.0.0.tgz +0 -0
- package/components/tryghost-package-json-0.0.0.tgz +0 -0
- package/components/tryghost-security-0.0.0.tgz +0 -0
- package/components/tryghost-session-service-0.0.0.tgz +0 -0
- package/components/tryghost-settings-path-manager-0.0.0.tgz +0 -0
- package/components/tryghost-update-check-service-0.0.0.tgz +0 -0
- package/components/tryghost-verification-trigger-0.0.0.tgz +0 -0
- package/components/tryghost-version-notifications-data-service-0.0.0.tgz +0 -0
- package/core/built/admin/assets/chunk.143.1c158e8ef19f10e5439c.js +0 -41
- package/core/built/admin/assets/ghost-dark-4080c8f100997d4b8947f5da0e7946a1.css +0 -1
- package/core/built/admin/assets/ghost-facfdf4a7d9759c5b681340805f21fd8.css +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const path = require('path');
|
|
2
|
+
const jobsService = require('../../jobs');
|
|
3
|
+
|
|
4
|
+
let hasScheduled = false;
|
|
5
|
+
|
|
6
|
+
module.exports = {
|
|
7
|
+
async scheduleExpiredCompCleanupJob() {
|
|
8
|
+
if (
|
|
9
|
+
!hasScheduled &&
|
|
10
|
+
!process.env.NODE_ENV.startsWith('test')
|
|
11
|
+
) {
|
|
12
|
+
// use a random seconds value to avoid spikes to external APIs on the minute
|
|
13
|
+
const s = Math.floor(Math.random() * 60); // 0-59
|
|
14
|
+
|
|
15
|
+
// Run everyday at 12:05:X AM to clean all expired complimentary subscriptions
|
|
16
|
+
jobsService.addJob({
|
|
17
|
+
at: `${s} 5 0 * * *`,
|
|
18
|
+
job: path.resolve(__dirname, 'clean-expired-comped.js'),
|
|
19
|
+
name: 'clean-expired-comped'
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
hasScheduled = true;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return hasScheduled;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
@@ -6,6 +6,7 @@ const db = require('../../data/db');
|
|
|
6
6
|
const MembersConfigProvider = require('./config');
|
|
7
7
|
const MembersCSVImporter = require('@tryghost/members-importer');
|
|
8
8
|
const MembersStats = require('./stats/members-stats');
|
|
9
|
+
const memberJobs = require('./jobs');
|
|
9
10
|
const createMembersSettingsInstance = require('./settings');
|
|
10
11
|
const logging = require('@tryghost/logging');
|
|
11
12
|
const urlUtils = require('../../../shared/url-utils');
|
|
@@ -148,16 +149,21 @@ module.exports = {
|
|
|
148
149
|
}
|
|
149
150
|
})();
|
|
150
151
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
jobsService.
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
152
|
+
if (!env?.startsWith('testing')) {
|
|
153
|
+
const membersMigrationJobName = 'members-migrations';
|
|
154
|
+
if (!(await jobsService.hasExecutedSuccessfully(membersMigrationJobName))) {
|
|
155
|
+
jobsService.addOneOffJob({
|
|
156
|
+
name: membersMigrationJobName,
|
|
157
|
+
offloaded: false,
|
|
158
|
+
job: stripeService.migrations.execute.bind(stripeService.migrations)
|
|
159
|
+
});
|
|
158
160
|
|
|
159
|
-
|
|
161
|
+
await jobsService.awaitCompletion(membersMigrationJobName);
|
|
162
|
+
}
|
|
160
163
|
}
|
|
164
|
+
|
|
165
|
+
// Schedule daily cron job to clean expired comp subs
|
|
166
|
+
memberJobs.scheduleExpiredCompCleanupJob();
|
|
161
167
|
},
|
|
162
168
|
contentGating: require('./content-gating'),
|
|
163
169
|
|
|
@@ -10,6 +10,7 @@ module.exports = function getSiteProperties() {
|
|
|
10
10
|
logo: settingsCache.get('logo'),
|
|
11
11
|
icon: settingsCache.get('icon'),
|
|
12
12
|
accent_color: settingsCache.get('accent_color'),
|
|
13
|
+
locale: settingsCache.get('locale'),
|
|
13
14
|
url: urlUtils.urlFor('home', true),
|
|
14
15
|
version: ghostVersion.safe
|
|
15
16
|
};
|
|
@@ -38,23 +38,25 @@ class DefaultSettingsManager {
|
|
|
38
38
|
const defaultFilePath = path.join(this.sourceFolderPath, defaultFileName);
|
|
39
39
|
|
|
40
40
|
return Promise.resolve(fs.readFile(destinationFilePath, 'utf8'))
|
|
41
|
-
.catch(
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
41
|
+
.catch((err) => {
|
|
42
|
+
if (err.code === 'ENOENT') {
|
|
43
|
+
// CASE: file doesn't exist, copy it from our defaults
|
|
44
|
+
return fs.copy(
|
|
45
|
+
defaultFilePath,
|
|
46
|
+
destinationFilePath
|
|
47
|
+
).then(() => {
|
|
48
|
+
debug(`'${defaultFileName}' copied to ${this.destinationFolderPath}.`);
|
|
49
|
+
});
|
|
50
|
+
} else {
|
|
51
|
+
// CASE: we might have a permission error, as we can't access the directory
|
|
52
|
+
throw new errors.InternalServerError({
|
|
53
|
+
message: tpl(messages.ensureSettings, {
|
|
54
|
+
path: this.destinationFolderPath
|
|
55
|
+
}),
|
|
56
|
+
err: err,
|
|
57
|
+
context: err.path
|
|
58
|
+
});
|
|
59
|
+
}
|
|
58
60
|
});
|
|
59
61
|
}
|
|
60
62
|
}
|
|
@@ -67,7 +67,7 @@ module.exports = {
|
|
|
67
67
|
* Initialize the cache, used in boot and in testing
|
|
68
68
|
*/
|
|
69
69
|
async init() {
|
|
70
|
-
const cacheStore = adapterManager.getAdapter('cache');
|
|
70
|
+
const cacheStore = adapterManager.getAdapter('cache:settings');
|
|
71
71
|
const settingsCollection = await models.Settings.populateDefaults();
|
|
72
72
|
SettingsCache.init(events, settingsCollection, this.getCalculatedFields(), cacheStore);
|
|
73
73
|
},
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const debug = require('@tryghost/debug')('services:webhooks:trigger');
|
|
2
2
|
const logging = require('@tryghost/logging');
|
|
3
3
|
const ghostVersion = require('@tryghost/version');
|
|
4
|
+
const crypto = require('crypto');
|
|
4
5
|
|
|
5
6
|
class WebhookTrigger {
|
|
6
7
|
/**
|
|
@@ -85,13 +86,21 @@ class WebhookTrigger {
|
|
|
85
86
|
|
|
86
87
|
const reqPayload = JSON.stringify(hookPayload);
|
|
87
88
|
const url = webhook.get('target_url');
|
|
89
|
+
const secret = webhook.get('secret') || '';
|
|
90
|
+
|
|
91
|
+
const headers = {
|
|
92
|
+
'Content-Length': Buffer.byteLength(reqPayload),
|
|
93
|
+
'Content-Type': 'application/json',
|
|
94
|
+
'Content-Version': `v${ghostVersion.safe}`
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
if (secret !== '') {
|
|
98
|
+
headers['X-Ghost-Signature'] = `sha256=${crypto.createHmac('sha256', secret).update(reqPayload).digest('hex')}, t=${Date.now()}`;
|
|
99
|
+
}
|
|
100
|
+
|
|
88
101
|
const opts = {
|
|
89
102
|
body: reqPayload,
|
|
90
|
-
headers
|
|
91
|
-
'Content-Length': Buffer.byteLength(reqPayload),
|
|
92
|
-
'Content-Type': 'application/json',
|
|
93
|
-
'Content-Version': `v${ghostVersion.safe}`
|
|
94
|
-
},
|
|
103
|
+
headers,
|
|
95
104
|
timeout: 2 * 1000,
|
|
96
105
|
retry: 5
|
|
97
106
|
};
|
|
@@ -25,7 +25,11 @@
|
|
|
25
25
|
"active": "Default"
|
|
26
26
|
},
|
|
27
27
|
"cache": {
|
|
28
|
-
"active": "Memory"
|
|
28
|
+
"active": "Memory",
|
|
29
|
+
"settings": "SettingsCacheSyncInMemory",
|
|
30
|
+
"SettingsCacheSyncInMemory": {},
|
|
31
|
+
"imageSizes": "ImageSizesCacheSyncInMemory",
|
|
32
|
+
"ImageSizesCacheSyncInMemory": {}
|
|
29
33
|
}
|
|
30
34
|
},
|
|
31
35
|
"storage": {
|
|
@@ -137,7 +141,7 @@
|
|
|
137
141
|
},
|
|
138
142
|
"portal": {
|
|
139
143
|
"url": "https://cdn.jsdelivr.net/npm/@tryghost/portal@~{version}/umd/portal.min.js",
|
|
140
|
-
"version": "2.
|
|
144
|
+
"version": "2.11"
|
|
141
145
|
},
|
|
142
146
|
"sodoSearch": {
|
|
143
147
|
"url": "https://cdn.jsdelivr.net/npm/@tryghost/sodo-search@~{version}/umd/sodo-search.min.js",
|
|
@@ -150,7 +154,8 @@
|
|
|
150
154
|
"version": "0.9"
|
|
151
155
|
},
|
|
152
156
|
"editor": {
|
|
153
|
-
"url": "https://unpkg.com/@tryghost/koenig-react/dist/umd/koenig-react.min.js"
|
|
157
|
+
"url": "https://unpkg.com/@tryghost/koenig-react/dist/umd/koenig-react.min.js",
|
|
158
|
+
"lexicalUrl": "https://unpkg.com/@tryghost/koenig-lexical-experiment/dist/koenig-lexical.umd.js"
|
|
154
159
|
},
|
|
155
160
|
"tenor": {
|
|
156
161
|
"googleApiKey": null,
|
package/core/shared/labs.js
CHANGED
|
@@ -15,7 +15,9 @@ const messages = {
|
|
|
15
15
|
|
|
16
16
|
// flags in this list always return `true`, allows quick global enable prior to full flag removal
|
|
17
17
|
const GA_FEATURES = [
|
|
18
|
-
'newsletterPaywall'
|
|
18
|
+
'newsletterPaywall',
|
|
19
|
+
'freeTrial',
|
|
20
|
+
'compExpiring'
|
|
19
21
|
];
|
|
20
22
|
|
|
21
23
|
// NOTE: this allowlist is meant to be used to filter out any unexpected
|
|
@@ -28,7 +30,8 @@ const ALPHA_FEATURES = [
|
|
|
28
30
|
'auditLog',
|
|
29
31
|
'urlCache',
|
|
30
32
|
'beforeAfterCard',
|
|
31
|
-
'
|
|
33
|
+
'memberAttribution',
|
|
34
|
+
'searchHelper'
|
|
32
35
|
];
|
|
33
36
|
|
|
34
37
|
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.11.0",
|
|
4
4
|
"description": "The professional publishing platform",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"homepage": "https://ghost.org",
|
|
@@ -52,71 +52,71 @@
|
|
|
52
52
|
"cli": "^1.17.0"
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@sentry/node": "7.
|
|
56
|
-
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-
|
|
55
|
+
"@sentry/node": "7.11.1",
|
|
56
|
+
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.11.0.tgz",
|
|
57
57
|
"@tryghost/admin-api-schema": "4.1.1",
|
|
58
|
-
"@tryghost/api-framework": "file:components/tryghost-api-framework-
|
|
59
|
-
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-
|
|
58
|
+
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.11.0.tgz",
|
|
59
|
+
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.11.0.tgz",
|
|
60
60
|
"@tryghost/bookshelf-plugins": "0.5.0",
|
|
61
|
-
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-
|
|
61
|
+
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.11.0.tgz",
|
|
62
62
|
"@tryghost/color-utils": "0.1.20",
|
|
63
63
|
"@tryghost/config-url-helpers": "1.0.3",
|
|
64
|
-
"@tryghost/constants": "file:components/tryghost-constants-
|
|
65
|
-
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-
|
|
64
|
+
"@tryghost/constants": "file:components/tryghost-constants-5.11.0.tgz",
|
|
65
|
+
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.11.0.tgz",
|
|
66
66
|
"@tryghost/database-info": "0.3.9",
|
|
67
67
|
"@tryghost/debug": "0.1.18",
|
|
68
|
-
"@tryghost/domain-events": "file:components/tryghost-domain-events-
|
|
69
|
-
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-
|
|
70
|
-
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-
|
|
71
|
-
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-
|
|
68
|
+
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.11.0.tgz",
|
|
69
|
+
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.11.0.tgz",
|
|
70
|
+
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.11.0.tgz",
|
|
71
|
+
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.11.0.tgz",
|
|
72
72
|
"@tryghost/errors": "1.2.15",
|
|
73
|
-
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-
|
|
73
|
+
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.11.0.tgz",
|
|
74
74
|
"@tryghost/helpers": "1.1.72",
|
|
75
|
-
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-
|
|
75
|
+
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.11.0.tgz",
|
|
76
76
|
"@tryghost/image-transform": "1.2.2",
|
|
77
|
-
"@tryghost/job-manager": "file:components/tryghost-job-manager-
|
|
77
|
+
"@tryghost/job-manager": "file:components/tryghost-job-manager-5.11.0.tgz",
|
|
78
78
|
"@tryghost/kg-card-factory": "3.1.4",
|
|
79
79
|
"@tryghost/kg-default-atoms": "3.1.3",
|
|
80
80
|
"@tryghost/kg-default-cards": "5.16.3",
|
|
81
|
-
"@tryghost/kg-markdown-html-renderer": "5.1.6",
|
|
82
81
|
"@tryghost/kg-mobiledoc-html-renderer": "5.3.6",
|
|
83
82
|
"@tryghost/limit-service": "1.2.3",
|
|
84
83
|
"@tryghost/logging": "2.2.4",
|
|
85
|
-
"@tryghost/magic-link": "file:components/tryghost-magic-link-
|
|
86
|
-
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-
|
|
87
|
-
"@tryghost/member-
|
|
88
|
-
"@tryghost/
|
|
89
|
-
"@tryghost/members-
|
|
90
|
-
"@tryghost/members-
|
|
91
|
-
"@tryghost/members-
|
|
92
|
-
"@tryghost/members-
|
|
93
|
-
"@tryghost/members-
|
|
84
|
+
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.11.0.tgz",
|
|
85
|
+
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.11.0.tgz",
|
|
86
|
+
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.11.0.tgz",
|
|
87
|
+
"@tryghost/member-events": "file:components/tryghost-member-events-5.11.0.tgz",
|
|
88
|
+
"@tryghost/members-api": "file:components/tryghost-members-api-5.11.0.tgz",
|
|
89
|
+
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.11.0.tgz",
|
|
90
|
+
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.11.0.tgz",
|
|
91
|
+
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.11.0.tgz",
|
|
92
|
+
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.11.0.tgz",
|
|
93
|
+
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.11.0.tgz",
|
|
94
|
+
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.11.0.tgz",
|
|
94
95
|
"@tryghost/metrics": "1.0.15",
|
|
95
|
-
"@tryghost/minifier": "file:components/tryghost-minifier-
|
|
96
|
-
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-
|
|
97
|
-
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-
|
|
98
|
-
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-
|
|
99
|
-
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-
|
|
100
|
-
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-
|
|
96
|
+
"@tryghost/minifier": "file:components/tryghost-minifier-5.11.0.tgz",
|
|
97
|
+
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.11.0.tgz",
|
|
98
|
+
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.11.0.tgz",
|
|
99
|
+
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.11.0.tgz",
|
|
100
|
+
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.11.0.tgz",
|
|
101
|
+
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.11.0.tgz",
|
|
101
102
|
"@tryghost/nodemailer": "0.3.25",
|
|
102
103
|
"@tryghost/nql": "0.9.2",
|
|
103
|
-
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-
|
|
104
|
-
"@tryghost/package-json": "file:components/tryghost-package-json-
|
|
104
|
+
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.11.0.tgz",
|
|
105
|
+
"@tryghost/package-json": "file:components/tryghost-package-json-5.11.0.tgz",
|
|
105
106
|
"@tryghost/pretty-cli": "1.2.30",
|
|
106
107
|
"@tryghost/promise": "0.1.21",
|
|
107
108
|
"@tryghost/request": "0.1.29",
|
|
108
|
-
"@tryghost/
|
|
109
|
-
"@tryghost/
|
|
110
|
-
"@tryghost/
|
|
111
|
-
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-0.0.0.tgz",
|
|
109
|
+
"@tryghost/security": "file:components/tryghost-security-5.11.0.tgz",
|
|
110
|
+
"@tryghost/session-service": "file:components/tryghost-session-service-5.11.0.tgz",
|
|
111
|
+
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.11.0.tgz",
|
|
112
112
|
"@tryghost/social-urls": "0.1.33",
|
|
113
113
|
"@tryghost/stats-service": "0.3.0",
|
|
114
114
|
"@tryghost/string": "0.1.27",
|
|
115
115
|
"@tryghost/tpl": "0.1.18",
|
|
116
|
-
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-
|
|
116
|
+
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.11.0.tgz",
|
|
117
117
|
"@tryghost/url-utils": "4.0.3",
|
|
118
118
|
"@tryghost/validator": "0.1.27",
|
|
119
|
-
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-
|
|
119
|
+
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.11.0.tgz",
|
|
120
120
|
"@tryghost/version": "0.1.16",
|
|
121
121
|
"@tryghost/zip": "1.1.28",
|
|
122
122
|
"amperize": "0.6.1",
|
|
@@ -177,11 +177,11 @@
|
|
|
177
177
|
"xml": "1.0.1"
|
|
178
178
|
},
|
|
179
179
|
"optionalDependencies": {
|
|
180
|
-
"@tryghost/html-to-mobiledoc": "1.8.
|
|
180
|
+
"@tryghost/html-to-mobiledoc": "1.8.10",
|
|
181
181
|
"sqlite3": "5.0.11"
|
|
182
182
|
},
|
|
183
183
|
"devDependencies": {
|
|
184
|
-
"@playwright/test": "1.25.
|
|
184
|
+
"@playwright/test": "1.25.1",
|
|
185
185
|
"@tryghost/express-test": "0.11.2",
|
|
186
186
|
"@tryghost/webhook-mock-receiver": "0.1.2",
|
|
187
187
|
"@types/common-tags": "1.8.1",
|
|
@@ -211,47 +211,48 @@
|
|
|
211
211
|
"@tryghost/logging": "2.2.4",
|
|
212
212
|
"moment": "2.24.0",
|
|
213
213
|
"moment-timezone": "0.5.23",
|
|
214
|
-
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-
|
|
215
|
-
"@tryghost/api-framework": "file:components/tryghost-api-framework-
|
|
216
|
-
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-
|
|
217
|
-
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-
|
|
218
|
-
"@tryghost/constants": "file:components/tryghost-constants-
|
|
219
|
-
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-
|
|
220
|
-
"@tryghost/domain-events": "file:components/tryghost-domain-events-
|
|
221
|
-
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-
|
|
222
|
-
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-
|
|
223
|
-
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-
|
|
224
|
-
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-
|
|
225
|
-
"@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-
|
|
226
|
-
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-
|
|
227
|
-
"@tryghost/job-manager": "file:components/tryghost-job-manager-
|
|
228
|
-
"@tryghost/magic-link": "file:components/tryghost-magic-link-
|
|
229
|
-
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-
|
|
230
|
-
"@tryghost/member-analytics-service": "file:components/tryghost-member-analytics-service-
|
|
231
|
-
"@tryghost/member-
|
|
232
|
-
"@tryghost/
|
|
233
|
-
"@tryghost/members-
|
|
234
|
-
"@tryghost/members-
|
|
235
|
-
"@tryghost/members-
|
|
236
|
-
"@tryghost/members-
|
|
237
|
-
"@tryghost/members-
|
|
238
|
-
"@tryghost/
|
|
239
|
-
"@tryghost/
|
|
240
|
-
"@tryghost/mw-
|
|
241
|
-
"@tryghost/mw-
|
|
242
|
-
"@tryghost/mw-
|
|
243
|
-
"@tryghost/mw-
|
|
244
|
-
"@tryghost/mw-
|
|
245
|
-
"@tryghost/
|
|
246
|
-
"@tryghost/
|
|
247
|
-
"@tryghost/
|
|
248
|
-
"@tryghost/
|
|
249
|
-
"@tryghost/
|
|
250
|
-
"@tryghost/
|
|
251
|
-
"@tryghost/
|
|
252
|
-
"@tryghost/
|
|
253
|
-
"@tryghost/
|
|
254
|
-
"@tryghost/
|
|
255
|
-
"@tryghost/
|
|
214
|
+
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.11.0.tgz",
|
|
215
|
+
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.11.0.tgz",
|
|
216
|
+
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.11.0.tgz",
|
|
217
|
+
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.11.0.tgz",
|
|
218
|
+
"@tryghost/constants": "file:components/tryghost-constants-5.11.0.tgz",
|
|
219
|
+
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.11.0.tgz",
|
|
220
|
+
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.11.0.tgz",
|
|
221
|
+
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.11.0.tgz",
|
|
222
|
+
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.11.0.tgz",
|
|
223
|
+
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.11.0.tgz",
|
|
224
|
+
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.11.0.tgz",
|
|
225
|
+
"@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.11.0.tgz",
|
|
226
|
+
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.11.0.tgz",
|
|
227
|
+
"@tryghost/job-manager": "file:components/tryghost-job-manager-5.11.0.tgz",
|
|
228
|
+
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.11.0.tgz",
|
|
229
|
+
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.11.0.tgz",
|
|
230
|
+
"@tryghost/member-analytics-service": "file:components/tryghost-member-analytics-service-5.11.0.tgz",
|
|
231
|
+
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.11.0.tgz",
|
|
232
|
+
"@tryghost/member-events": "file:components/tryghost-member-events-5.11.0.tgz",
|
|
233
|
+
"@tryghost/members-analytics-ingress": "file:components/tryghost-members-analytics-ingress-5.11.0.tgz",
|
|
234
|
+
"@tryghost/members-api": "file:components/tryghost-members-api-5.11.0.tgz",
|
|
235
|
+
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.11.0.tgz",
|
|
236
|
+
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.11.0.tgz",
|
|
237
|
+
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.11.0.tgz",
|
|
238
|
+
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.11.0.tgz",
|
|
239
|
+
"@tryghost/minifier": "file:components/tryghost-minifier-5.11.0.tgz",
|
|
240
|
+
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.11.0.tgz",
|
|
241
|
+
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.11.0.tgz",
|
|
242
|
+
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.11.0.tgz",
|
|
243
|
+
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.11.0.tgz",
|
|
244
|
+
"@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.11.0.tgz",
|
|
245
|
+
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.11.0.tgz",
|
|
246
|
+
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.11.0.tgz",
|
|
247
|
+
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.11.0.tgz",
|
|
248
|
+
"@tryghost/package-json": "file:components/tryghost-package-json-5.11.0.tgz",
|
|
249
|
+
"@tryghost/members-payments": "file:components/tryghost-members-payments-5.11.0.tgz",
|
|
250
|
+
"@tryghost/security": "file:components/tryghost-security-5.11.0.tgz",
|
|
251
|
+
"@tryghost/session-service": "file:components/tryghost-session-service-5.11.0.tgz",
|
|
252
|
+
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.11.0.tgz",
|
|
253
|
+
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.11.0.tgz",
|
|
254
|
+
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.11.0.tgz",
|
|
255
|
+
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.11.0.tgz",
|
|
256
|
+
"@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.11.0.tgz"
|
|
256
257
|
}
|
|
257
258
|
}
|