ghost 5.10.1 → 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.
Files changed (126) hide show
  1. package/components/{tryghost-adapter-manager-5.10.1.tgz → tryghost-adapter-manager-5.11.0.tgz} +0 -0
  2. package/components/tryghost-api-framework-5.11.0.tgz +0 -0
  3. package/components/tryghost-api-version-compatibility-service-5.11.0.tgz +0 -0
  4. package/components/tryghost-bootstrap-socket-5.11.0.tgz +0 -0
  5. package/components/tryghost-constants-5.11.0.tgz +0 -0
  6. package/components/tryghost-custom-theme-settings-service-5.11.0.tgz +0 -0
  7. package/components/{tryghost-domain-events-5.10.1.tgz → tryghost-domain-events-5.11.0.tgz} +0 -0
  8. package/components/tryghost-email-analytics-provider-mailgun-5.11.0.tgz +0 -0
  9. package/components/{tryghost-email-analytics-service-5.10.1.tgz → tryghost-email-analytics-service-5.11.0.tgz} +0 -0
  10. package/components/tryghost-email-content-generator-5.11.0.tgz +0 -0
  11. package/components/tryghost-express-dynamic-redirects-5.11.0.tgz +0 -0
  12. package/components/{tryghost-extract-api-key-5.10.1.tgz → tryghost-extract-api-key-5.11.0.tgz} +0 -0
  13. package/components/tryghost-html-to-plaintext-5.11.0.tgz +0 -0
  14. package/components/{tryghost-job-manager-5.10.1.tgz → tryghost-job-manager-5.11.0.tgz} +0 -0
  15. package/components/{tryghost-magic-link-5.10.1.tgz → tryghost-magic-link-5.11.0.tgz} +0 -0
  16. package/components/tryghost-mailgun-client-5.11.0.tgz +0 -0
  17. package/components/tryghost-member-analytics-service-5.11.0.tgz +0 -0
  18. package/components/tryghost-member-attribution-5.11.0.tgz +0 -0
  19. package/components/{tryghost-member-events-5.10.1.tgz → tryghost-member-events-5.11.0.tgz} +0 -0
  20. package/components/tryghost-members-analytics-ingress-5.11.0.tgz +0 -0
  21. package/components/tryghost-members-api-5.11.0.tgz +0 -0
  22. package/components/{tryghost-members-csv-5.10.1.tgz → tryghost-members-csv-5.11.0.tgz} +0 -0
  23. package/components/tryghost-members-events-service-5.11.0.tgz +0 -0
  24. package/components/tryghost-members-importer-5.11.0.tgz +0 -0
  25. package/components/tryghost-members-offers-5.11.0.tgz +0 -0
  26. package/components/tryghost-members-payments-5.11.0.tgz +0 -0
  27. package/components/{tryghost-members-ssr-5.10.1.tgz → tryghost-members-ssr-5.11.0.tgz} +0 -0
  28. package/components/{tryghost-members-stripe-service-5.10.1.tgz → tryghost-members-stripe-service-5.11.0.tgz} +0 -0
  29. package/components/tryghost-minifier-5.11.0.tgz +0 -0
  30. package/components/tryghost-mw-api-version-mismatch-5.11.0.tgz +0 -0
  31. package/components/tryghost-mw-cache-control-5.11.0.tgz +0 -0
  32. package/components/tryghost-mw-error-handler-5.11.0.tgz +0 -0
  33. package/components/tryghost-mw-session-from-token-5.11.0.tgz +0 -0
  34. package/components/tryghost-mw-update-user-last-seen-5.11.0.tgz +0 -0
  35. package/components/{tryghost-mw-vhost-5.10.1.tgz → tryghost-mw-vhost-5.11.0.tgz} +0 -0
  36. package/components/tryghost-oembed-service-5.11.0.tgz +0 -0
  37. package/components/{tryghost-package-json-5.10.1.tgz → tryghost-package-json-5.11.0.tgz} +0 -0
  38. package/components/tryghost-security-5.11.0.tgz +0 -0
  39. package/components/{tryghost-session-service-5.10.1.tgz → tryghost-session-service-5.11.0.tgz} +0 -0
  40. package/components/tryghost-settings-path-manager-5.11.0.tgz +0 -0
  41. package/components/{tryghost-update-check-service-5.10.1.tgz → tryghost-update-check-service-5.11.0.tgz} +0 -0
  42. package/components/tryghost-verification-trigger-5.11.0.tgz +0 -0
  43. package/components/{tryghost-version-notifications-data-service-5.10.1.tgz → tryghost-version-notifications-data-service-5.11.0.tgz} +0 -0
  44. package/core/built/admin/assets/chunk.143.14589cc066b8120b73e3.js +49 -0
  45. package/core/built/admin/assets/{chunk.174.0364e8abdae8210d8e6d.js → chunk.174.ae492405065373dbe102.js} +1 -1
  46. package/core/built/admin/assets/{chunk.178.bb46965ba0483c3e79ae.js → chunk.178.131e85a10d2031148425.js} +4 -4
  47. package/core/built/admin/assets/{chunk.351.ea4a4ff4b40d5f2ad141.js → chunk.579.65e09dd89eec70d059a0.js} +3 -11
  48. package/core/built/admin/assets/{chunk.351.ea4a4ff4b40d5f2ad141.js.LICENSE.txt → chunk.579.65e09dd89eec70d059a0.js.LICENSE.txt} +0 -0
  49. package/core/built/admin/assets/ghost-1b0d7c731511bb738ec457d2932c43c0.css +1 -0
  50. package/core/built/admin/assets/{ghost-ced03a7ac75c3148e0ea7d1bf51e39fc.js → ghost-40f5bd12d121c54bbc39e7939e78244f.js} +745 -566
  51. package/core/built/admin/assets/ghost-dark-7b2825a050b0382630180f48aa78ea5d.css +1 -0
  52. package/core/built/admin/assets/icons/calendar-stroke.svg +1 -0
  53. package/core/built/admin/assets/icons/pen-stroke.svg +1 -0
  54. package/core/built/admin/assets/{vendor-a1ae7a38d5c38fcba5609eed4e37f02a.js → vendor-741dc0e4078e044a0c9bfaad104de8b3.js} +55 -51
  55. package/core/built/admin/index.html +6 -6
  56. package/core/server/api/endpoints/comments-members.js +10 -7
  57. package/core/server/api/endpoints/invites.js +1 -9
  58. package/core/server/api/endpoints/labels.js +1 -7
  59. package/core/server/api/endpoints/members.js +3 -13
  60. package/core/server/api/endpoints/offers.js +2 -2
  61. package/core/server/api/endpoints/pages.js +2 -10
  62. package/core/server/api/endpoints/posts.js +1 -9
  63. package/core/server/api/endpoints/snippets.js +1 -9
  64. package/core/server/api/endpoints/tags.js +1 -7
  65. package/core/server/api/endpoints/utils/serializers/input/pages.js +1 -1
  66. package/core/server/api/endpoints/utils/serializers/output/members.js +2 -1
  67. package/core/server/api/endpoints/utils/serializers/output/site.js +1 -0
  68. package/core/server/api/endpoints/utils/serializers/output/utils/clean.js +6 -7
  69. package/core/server/api/endpoints/webhooks.js +2 -19
  70. package/core/server/data/migrations/versions/5.11/2022-08-22-11-03-add-member-alert-settings-columns-to-users.js +21 -0
  71. package/core/server/data/migrations/versions/5.11/2022-08-23-13-41-backfill-members-created-events.js +32 -0
  72. package/core/server/data/migrations/versions/5.11/2022-08-23-13-59-fix-page-resource-type.js +22 -0
  73. package/core/server/data/schema/fixtures/fixtures.json +3 -0
  74. package/core/server/data/schema/schema.js +3 -0
  75. package/core/server/lib/image/gravatar.js +8 -7
  76. package/core/server/lib/image/image-size.js +60 -56
  77. package/core/server/models/action.js +0 -10
  78. package/core/server/models/base/plugins/actions.js +26 -3
  79. package/core/server/models/member.js +18 -0
  80. package/core/server/models/offer.js +3 -0
  81. package/core/server/models/post.js +2 -3
  82. package/core/server/models/product.js +3 -0
  83. package/core/server/models/settings.js +4 -0
  84. package/core/server/models/user.js +4 -1
  85. package/core/server/services/auth/api-key/admin.js +0 -3
  86. package/core/server/services/auth/passwordreset.js +0 -3
  87. package/core/server/services/explore/service.js +7 -6
  88. package/core/server/services/member-attribution/index.js +34 -6
  89. package/core/server/services/public-config/site.js +1 -0
  90. package/core/server/services/route-settings/default-settings-manager.js +19 -17
  91. package/core/server/services/webhooks/trigger.js +14 -5
  92. package/core/shared/config/defaults.json +3 -2
  93. package/core/shared/labs.js +4 -4
  94. package/package.json +82 -82
  95. package/yarn.lock +92 -109
  96. package/components/tryghost-api-framework-5.10.1.tgz +0 -0
  97. package/components/tryghost-api-version-compatibility-service-5.10.1.tgz +0 -0
  98. package/components/tryghost-bootstrap-socket-5.10.1.tgz +0 -0
  99. package/components/tryghost-constants-5.10.1.tgz +0 -0
  100. package/components/tryghost-custom-theme-settings-service-5.10.1.tgz +0 -0
  101. package/components/tryghost-email-analytics-provider-mailgun-5.10.1.tgz +0 -0
  102. package/components/tryghost-email-content-generator-5.10.1.tgz +0 -0
  103. package/components/tryghost-express-dynamic-redirects-5.10.1.tgz +0 -0
  104. package/components/tryghost-html-to-plaintext-5.10.1.tgz +0 -0
  105. package/components/tryghost-mailgun-client-5.10.1.tgz +0 -0
  106. package/components/tryghost-member-analytics-service-5.10.1.tgz +0 -0
  107. package/components/tryghost-member-attribution-5.10.1.tgz +0 -0
  108. package/components/tryghost-members-analytics-ingress-5.10.1.tgz +0 -0
  109. package/components/tryghost-members-api-5.10.1.tgz +0 -0
  110. package/components/tryghost-members-events-service-5.10.1.tgz +0 -0
  111. package/components/tryghost-members-importer-5.10.1.tgz +0 -0
  112. package/components/tryghost-members-offers-5.10.1.tgz +0 -0
  113. package/components/tryghost-members-payments-5.10.1.tgz +0 -0
  114. package/components/tryghost-minifier-5.10.1.tgz +0 -0
  115. package/components/tryghost-mw-api-version-mismatch-5.10.1.tgz +0 -0
  116. package/components/tryghost-mw-cache-control-5.10.1.tgz +0 -0
  117. package/components/tryghost-mw-error-handler-5.10.1.tgz +0 -0
  118. package/components/tryghost-mw-session-from-token-5.10.1.tgz +0 -0
  119. package/components/tryghost-mw-update-user-last-seen-5.10.1.tgz +0 -0
  120. package/components/tryghost-oembed-service-5.10.1.tgz +0 -0
  121. package/components/tryghost-security-5.10.1.tgz +0 -0
  122. package/components/tryghost-settings-path-manager-5.10.1.tgz +0 -0
  123. package/components/tryghost-verification-trigger-5.10.1.tgz +0 -0
  124. package/core/built/admin/assets/chunk.143.71da0e884297554a8ec4.js +0 -41
  125. package/core/built/admin/assets/ghost-13baab17b3f54b21f341fb8f36f83110.css +0 -1
  126. package/core/built/admin/assets/ghost-dark-b0500577a42e2770994e6aef0e70f182.css +0 -1
@@ -144,9 +144,6 @@ function doReset(options, tokenParts, settingsAPI) {
144
144
  updatedUser.set('status', 'active');
145
145
  return updatedUser.save(options);
146
146
  })
147
- .catch(errors.ValidationError, (err) => {
148
- return Promise.reject(err);
149
- })
150
147
  .catch((err) => {
151
148
  if (errors.utils.isGhostError(err)) {
152
149
  return Promise.reject(err);
@@ -26,18 +26,19 @@ module.exports = class ExploreService {
26
26
  const totalMembers = await this.MembersService.stats.getTotalMembers();
27
27
  const mrrStats = await this.StatsService.getMRRHistory();
28
28
 
29
- const {description, icon, title, url, accent_color: accentColor} = this.PublicConfigService.site;
29
+ const {description, icon, title, url, accent_color: accentColor, locale} = this.PublicConfigService.site;
30
30
 
31
31
  const exploreProperties = {
32
32
  version: ghostVersion.full,
33
- totalMembers,
34
- mrrStats,
33
+ total_members: totalMembers,
34
+ mrr_stats: mrrStats,
35
35
  site: {
36
36
  description,
37
37
  icon,
38
38
  title,
39
39
  url,
40
- accentColor
40
+ accent_color: accentColor,
41
+ locale
41
42
  },
42
43
  stripe: {
43
44
  configured: this.StripeService.api.configured,
@@ -46,10 +47,10 @@ module.exports = class ExploreService {
46
47
  };
47
48
 
48
49
  const mostRecentlyPublishedPost = await this.PostsService.getMostRecentlyPublishedPost();
49
- exploreProperties.mostRecentlyPublishedAt = mostRecentlyPublishedPost?.get('published_at') || null;
50
+ exploreProperties.most_recently_published_at = mostRecentlyPublishedPost?.get('published_at') || null;
50
51
 
51
52
  const owner = await this.UserModel.findOne({role: 'Owner', status: 'all'});
52
- exploreProperties.ownerEmail = owner?.get('email') || null;
53
+ exploreProperties.owner_email = owner?.get('email') || null;
53
54
 
54
55
  return exploreProperties;
55
56
  }
@@ -1,23 +1,51 @@
1
1
  const urlService = require('../url');
2
2
  const labsService = require('../../../shared/labs');
3
+ const DomainEvents = require('@tryghost/domain-events');
4
+ const urlUtils = require('../../../shared/url-utils');
3
5
 
4
6
  class MemberAttributionServiceWrapper {
5
7
  init() {
6
- if (this.service) {
8
+ if (this.eventHandler) {
7
9
  // Prevent creating duplicate DomainEvents subscribers
8
10
  return;
9
11
  }
10
12
 
11
- const MemberAttributionService = require('@tryghost/member-attribution');
13
+ // Wire up all the dependencies
14
+ const {MemberAttributionService, UrlTranslator, AttributionBuilder, EventHandler} = require('@tryghost/member-attribution');
12
15
  const models = require('../../models');
13
16
 
14
- // For now we don't need to expose anything (yet)
17
+ const urlTranslator = new UrlTranslator({
18
+ urlService,
19
+ urlUtils,
20
+ models: {
21
+ Post: models.Post,
22
+ User: models.User,
23
+ Tag: models.Tag
24
+ }
25
+ });
26
+
27
+ const attributionBuilder = new AttributionBuilder({urlTranslator});
28
+
29
+ // Expose the service
15
30
  this.service = new MemberAttributionService({
16
- MemberCreatedEvent: models.MemberCreatedEvent,
17
- SubscriptionCreatedEvent: models.SubscriptionCreatedEvent,
18
- urlService,
31
+ models: {
32
+ MemberCreatedEvent: models.MemberCreatedEvent,
33
+ SubscriptionCreatedEvent: models.SubscriptionCreatedEvent
34
+ },
35
+ attributionBuilder,
36
+ labsService
37
+ });
38
+
39
+ // Listen for events and store them in the database
40
+ this.eventHandler = new EventHandler({
41
+ models: {
42
+ MemberCreatedEvent: models.MemberCreatedEvent,
43
+ SubscriptionCreatedEvent: models.SubscriptionCreatedEvent
44
+ },
45
+ DomainEvents,
19
46
  labsService
20
47
  });
48
+ this.eventHandler.subscribe();
21
49
  }
22
50
  }
23
51
 
@@ -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({code: 'ENOENT'}, () => {
42
- // CASE: file doesn't exist, copy it from our defaults
43
- return fs.copy(
44
- defaultFilePath,
45
- destinationFilePath
46
- ).then(() => {
47
- debug(`'${defaultFileName}' copied to ${this.destinationFolderPath}.`);
48
- });
49
- }).catch((error) => {
50
- // CASE: we might have a permission error, as we can't access the directory
51
- throw new errors.InternalServerError({
52
- message: tpl(messages.ensureSettings, {
53
- path: this.destinationFolderPath
54
- }),
55
- err: error,
56
- context: error.path
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
  }
@@ -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
  };
@@ -141,7 +141,7 @@
141
141
  },
142
142
  "portal": {
143
143
  "url": "https://cdn.jsdelivr.net/npm/@tryghost/portal@~{version}/umd/portal.min.js",
144
- "version": "2.9"
144
+ "version": "2.11"
145
145
  },
146
146
  "sodoSearch": {
147
147
  "url": "https://cdn.jsdelivr.net/npm/@tryghost/sodo-search@~{version}/umd/sodo-search.min.js",
@@ -154,7 +154,8 @@
154
154
  "version": "0.9"
155
155
  },
156
156
  "editor": {
157
- "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"
158
159
  },
159
160
  "tenor": {
160
161
  "googleApiKey": null,
@@ -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,10 +30,8 @@ const ALPHA_FEATURES = [
28
30
  'auditLog',
29
31
  'urlCache',
30
32
  'beforeAfterCard',
31
- 'freeTrial',
32
33
  'memberAttribution',
33
- 'searchHelper',
34
- 'compExpiring'
34
+ 'searchHelper'
35
35
  ];
36
36
 
37
37
  module.exports.GA_KEYS = [...GA_FEATURES];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.10.1",
3
+ "version": "5.11.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -53,70 +53,70 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@sentry/node": "7.11.1",
56
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.10.1.tgz",
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-5.10.1.tgz",
59
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.10.1.tgz",
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-5.10.1.tgz",
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-5.10.1.tgz",
65
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.10.1.tgz",
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-5.10.1.tgz",
69
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.10.1.tgz",
70
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.10.1.tgz",
71
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.10.1.tgz",
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-5.10.1.tgz",
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-5.10.1.tgz",
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-5.10.1.tgz",
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
81
  "@tryghost/kg-mobiledoc-html-renderer": "5.3.6",
82
82
  "@tryghost/limit-service": "1.2.3",
83
83
  "@tryghost/logging": "2.2.4",
84
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.10.1.tgz",
85
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.10.1.tgz",
86
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.10.1.tgz",
87
- "@tryghost/member-events": "file:components/tryghost-member-events-5.10.1.tgz",
88
- "@tryghost/members-api": "file:components/tryghost-members-api-5.10.1.tgz",
89
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.10.1.tgz",
90
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.10.1.tgz",
91
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.10.1.tgz",
92
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.10.1.tgz",
93
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.10.1.tgz",
94
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.10.1.tgz",
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",
95
95
  "@tryghost/metrics": "1.0.15",
96
- "@tryghost/minifier": "file:components/tryghost-minifier-5.10.1.tgz",
97
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.10.1.tgz",
98
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.10.1.tgz",
99
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.10.1.tgz",
100
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.10.1.tgz",
101
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.10.1.tgz",
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",
102
102
  "@tryghost/nodemailer": "0.3.25",
103
103
  "@tryghost/nql": "0.9.2",
104
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.10.1.tgz",
105
- "@tryghost/package-json": "file:components/tryghost-package-json-5.10.1.tgz",
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",
106
106
  "@tryghost/pretty-cli": "1.2.30",
107
107
  "@tryghost/promise": "0.1.21",
108
108
  "@tryghost/request": "0.1.29",
109
- "@tryghost/security": "file:components/tryghost-security-5.10.1.tgz",
110
- "@tryghost/session-service": "file:components/tryghost-session-service-5.10.1.tgz",
111
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.10.1.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-5.10.1.tgz",
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-5.10.1.tgz",
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",
@@ -181,7 +181,7 @@
181
181
  "sqlite3": "5.0.11"
182
182
  },
183
183
  "devDependencies": {
184
- "@playwright/test": "1.25.0",
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,48 +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-5.10.1.tgz",
215
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.10.1.tgz",
216
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.10.1.tgz",
217
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.10.1.tgz",
218
- "@tryghost/constants": "file:components/tryghost-constants-5.10.1.tgz",
219
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.10.1.tgz",
220
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.10.1.tgz",
221
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.10.1.tgz",
222
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.10.1.tgz",
223
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.10.1.tgz",
224
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.10.1.tgz",
225
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.10.1.tgz",
226
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.10.1.tgz",
227
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.10.1.tgz",
228
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.10.1.tgz",
229
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.10.1.tgz",
230
- "@tryghost/member-analytics-service": "file:components/tryghost-member-analytics-service-5.10.1.tgz",
231
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.10.1.tgz",
232
- "@tryghost/member-events": "file:components/tryghost-member-events-5.10.1.tgz",
233
- "@tryghost/members-analytics-ingress": "file:components/tryghost-members-analytics-ingress-5.10.1.tgz",
234
- "@tryghost/members-api": "file:components/tryghost-members-api-5.10.1.tgz",
235
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.10.1.tgz",
236
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.10.1.tgz",
237
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.10.1.tgz",
238
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.10.1.tgz",
239
- "@tryghost/minifier": "file:components/tryghost-minifier-5.10.1.tgz",
240
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.10.1.tgz",
241
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.10.1.tgz",
242
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.10.1.tgz",
243
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.10.1.tgz",
244
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.10.1.tgz",
245
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.10.1.tgz",
246
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.10.1.tgz",
247
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.10.1.tgz",
248
- "@tryghost/package-json": "file:components/tryghost-package-json-5.10.1.tgz",
249
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.10.1.tgz",
250
- "@tryghost/security": "file:components/tryghost-security-5.10.1.tgz",
251
- "@tryghost/session-service": "file:components/tryghost-session-service-5.10.1.tgz",
252
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.10.1.tgz",
253
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.10.1.tgz",
254
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.10.1.tgz",
255
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.10.1.tgz",
256
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.10.1.tgz"
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"
257
257
  }
258
258
  }