ghost 5.65.1 → 5.66.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 (160) hide show
  1. package/components/{tryghost-adapter-cache-memory-ttl-5.65.1.tgz → tryghost-adapter-cache-memory-ttl-5.66.0.tgz} +0 -0
  2. package/components/{tryghost-adapter-cache-redis-5.65.1.tgz → tryghost-adapter-cache-redis-5.66.0.tgz} +0 -0
  3. package/components/{tryghost-adapter-manager-5.65.1.tgz → tryghost-adapter-manager-5.66.0.tgz} +0 -0
  4. package/components/{tryghost-announcement-bar-settings-5.65.1.tgz → tryghost-announcement-bar-settings-5.66.0.tgz} +0 -0
  5. package/components/tryghost-api-framework-5.66.0.tgz +0 -0
  6. package/components/{tryghost-api-version-compatibility-service-5.65.1.tgz → tryghost-api-version-compatibility-service-5.66.0.tgz} +0 -0
  7. package/components/{tryghost-audience-feedback-5.65.1.tgz → tryghost-audience-feedback-5.66.0.tgz} +0 -0
  8. package/components/tryghost-bookshelf-repository-5.66.0.tgz +0 -0
  9. package/components/tryghost-bootstrap-socket-5.66.0.tgz +0 -0
  10. package/components/tryghost-collections-5.66.0.tgz +0 -0
  11. package/components/tryghost-constants-5.66.0.tgz +0 -0
  12. package/components/{tryghost-custom-theme-settings-service-5.65.1.tgz → tryghost-custom-theme-settings-service-5.66.0.tgz} +0 -0
  13. package/components/{tryghost-data-generator-5.65.1.tgz → tryghost-data-generator-5.66.0.tgz} +0 -0
  14. package/components/{tryghost-domain-events-5.65.1.tgz → tryghost-domain-events-5.66.0.tgz} +0 -0
  15. package/components/tryghost-donations-5.66.0.tgz +0 -0
  16. package/components/{tryghost-dynamic-routing-events-5.65.1.tgz → tryghost-dynamic-routing-events-5.66.0.tgz} +0 -0
  17. package/components/tryghost-email-analytics-provider-mailgun-5.66.0.tgz +0 -0
  18. package/components/{tryghost-email-analytics-service-5.65.1.tgz → tryghost-email-analytics-service-5.66.0.tgz} +0 -0
  19. package/components/tryghost-email-content-generator-5.66.0.tgz +0 -0
  20. package/components/tryghost-email-events-5.66.0.tgz +0 -0
  21. package/components/{tryghost-email-service-5.65.1.tgz → tryghost-email-service-5.66.0.tgz} +0 -0
  22. package/components/tryghost-email-suppression-list-5.66.0.tgz +0 -0
  23. package/components/tryghost-event-aware-cache-wrapper-5.66.0.tgz +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.66.0.tgz +0 -0
  25. package/components/tryghost-external-media-inliner-5.66.0.tgz +0 -0
  26. package/components/{tryghost-extract-api-key-5.65.1.tgz → tryghost-extract-api-key-5.66.0.tgz} +0 -0
  27. package/components/{tryghost-html-to-plaintext-5.65.1.tgz → tryghost-html-to-plaintext-5.66.0.tgz} +0 -0
  28. package/components/tryghost-i18n-5.66.0.tgz +0 -0
  29. package/components/tryghost-importer-handler-content-files-5.66.0.tgz +0 -0
  30. package/components/{tryghost-importer-revue-5.65.1.tgz → tryghost-importer-revue-5.66.0.tgz} +0 -0
  31. package/components/{tryghost-in-memory-repository-5.65.1.tgz → tryghost-in-memory-repository-5.66.0.tgz} +0 -0
  32. package/components/{tryghost-job-manager-5.65.1.tgz → tryghost-job-manager-5.66.0.tgz} +0 -0
  33. package/components/tryghost-link-redirects-5.66.0.tgz +0 -0
  34. package/components/tryghost-link-replacer-5.66.0.tgz +0 -0
  35. package/components/{tryghost-link-tracking-5.65.1.tgz → tryghost-link-tracking-5.66.0.tgz} +0 -0
  36. package/components/tryghost-magic-link-5.66.0.tgz +0 -0
  37. package/components/tryghost-mail-events-5.66.0.tgz +0 -0
  38. package/components/{tryghost-mailgun-client-5.65.1.tgz → tryghost-mailgun-client-5.66.0.tgz} +0 -0
  39. package/components/{tryghost-member-attribution-5.65.1.tgz → tryghost-member-attribution-5.66.0.tgz} +0 -0
  40. package/components/tryghost-member-events-5.66.0.tgz +0 -0
  41. package/components/tryghost-members-api-5.66.0.tgz +0 -0
  42. package/components/{tryghost-members-csv-5.65.1.tgz → tryghost-members-csv-5.66.0.tgz} +0 -0
  43. package/components/{tryghost-members-events-service-5.65.1.tgz → tryghost-members-events-service-5.66.0.tgz} +0 -0
  44. package/components/{tryghost-members-importer-5.65.1.tgz → tryghost-members-importer-5.66.0.tgz} +0 -0
  45. package/components/{tryghost-members-offers-5.65.1.tgz → tryghost-members-offers-5.66.0.tgz} +0 -0
  46. package/components/{tryghost-members-payments-5.65.1.tgz → tryghost-members-payments-5.66.0.tgz} +0 -0
  47. package/components/{tryghost-members-ssr-5.65.1.tgz → tryghost-members-ssr-5.66.0.tgz} +0 -0
  48. package/components/{tryghost-members-stripe-service-5.65.1.tgz → tryghost-members-stripe-service-5.66.0.tgz} +0 -0
  49. package/components/tryghost-mentions-email-report-5.66.0.tgz +0 -0
  50. package/components/{tryghost-milestones-5.65.1.tgz → tryghost-milestones-5.66.0.tgz} +0 -0
  51. package/components/{tryghost-minifier-5.65.1.tgz → tryghost-minifier-5.66.0.tgz} +0 -0
  52. package/components/tryghost-model-to-domain-event-interceptor-5.66.0.tgz +0 -0
  53. package/components/{tryghost-mw-api-version-mismatch-5.65.1.tgz → tryghost-mw-api-version-mismatch-5.66.0.tgz} +0 -0
  54. package/components/tryghost-mw-cache-control-5.66.0.tgz +0 -0
  55. package/components/{tryghost-mw-error-handler-5.65.1.tgz → tryghost-mw-error-handler-5.66.0.tgz} +0 -0
  56. package/components/tryghost-mw-session-from-token-5.66.0.tgz +0 -0
  57. package/components/tryghost-mw-update-user-last-seen-5.66.0.tgz +0 -0
  58. package/components/{tryghost-mw-version-match-5.65.1.tgz → tryghost-mw-version-match-5.66.0.tgz} +0 -0
  59. package/components/tryghost-mw-vhost-5.66.0.tgz +0 -0
  60. package/components/tryghost-nql-filter-expansions-5.66.0.tgz +0 -0
  61. package/components/tryghost-oembed-service-5.66.0.tgz +0 -0
  62. package/components/{tryghost-package-json-5.65.1.tgz → tryghost-package-json-5.66.0.tgz} +0 -0
  63. package/components/tryghost-post-events-5.66.0.tgz +0 -0
  64. package/components/{tryghost-post-revisions-5.65.1.tgz → tryghost-post-revisions-5.66.0.tgz} +0 -0
  65. package/components/{tryghost-posts-service-5.65.1.tgz → tryghost-posts-service-5.66.0.tgz} +0 -0
  66. package/components/tryghost-recommendations-5.66.0.tgz +0 -0
  67. package/components/tryghost-referrers-5.66.0.tgz +0 -0
  68. package/components/tryghost-security-5.66.0.tgz +0 -0
  69. package/components/tryghost-session-service-5.66.0.tgz +0 -0
  70. package/components/{tryghost-settings-path-manager-5.65.1.tgz → tryghost-settings-path-manager-5.66.0.tgz} +0 -0
  71. package/components/tryghost-slack-notifications-5.66.0.tgz +0 -0
  72. package/components/tryghost-staff-service-5.66.0.tgz +0 -0
  73. package/components/tryghost-stats-service-5.66.0.tgz +0 -0
  74. package/components/tryghost-tiers-5.66.0.tgz +0 -0
  75. package/components/tryghost-update-check-service-5.66.0.tgz +0 -0
  76. package/components/{tryghost-verification-trigger-5.65.1.tgz → tryghost-verification-trigger-5.66.0.tgz} +0 -0
  77. package/components/tryghost-version-notifications-data-service-5.66.0.tgz +0 -0
  78. package/components/tryghost-webmentions-5.66.0.tgz +0 -0
  79. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-2b332315.mjs → CodeEditorView-b1c6a306.mjs} +424 -418
  80. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +2 -2
  81. package/core/built/admin/assets/admin-x-settings/index-02567620.mjs +17406 -0
  82. package/core/built/admin/assets/admin-x-settings/{limit-service-7694c0d4.mjs → limit-service-bf02ec54.mjs} +2 -2
  83. package/core/built/admin/assets/admin-x-settings/{modals-2073207d.mjs → modals-d2fd552b.mjs} +4281 -4177
  84. package/core/built/admin/assets/{chunk.143.c7348acc96d1ce431133.js → chunk.143.f2758c8aac6998f30b19.js} +5 -5
  85. package/core/built/admin/assets/{chunk.178.287163c7606fb9fd3267.js → chunk.178.1dd5d9b6741e78efa75a.js} +4 -4
  86. package/core/built/admin/assets/{chunk.518.396deed1a0c759d1f403.js → chunk.555.ba02d5a0095b4c4a7700.js} +57 -54
  87. package/core/built/admin/assets/{ghost-38746349a72536a92f4d8235a582d716.js → ghost-56045473f2cfd232419a9d27bf8225a5.js} +174 -182
  88. package/core/built/admin/assets/ghost-dark-54c925ac8f527d36132c18af7bef116e.css +1 -0
  89. package/core/built/admin/assets/ghost-f1a535bfec933b08a7a45f607cc245b1.css +1 -0
  90. package/core/built/admin/assets/{vendor-240cd1dbd84a2e07709b867442c41840.js → vendor-5aa07b661eeb443bf7dd2c1de3b3f387.js} +22 -20
  91. package/core/built/admin/index.html +6 -6
  92. package/core/frontend/helpers/recommendations.js +116 -0
  93. package/core/frontend/helpers/tpl/recommendations.hbs +15 -0
  94. package/core/server/adapters/scheduling/scheduling-default.js +8 -8
  95. package/core/server/api/endpoints/recommendations-public.js +2 -1
  96. package/core/server/api/endpoints/utils/serializers/output/utils/clean.js +1 -0
  97. package/core/server/data/migrations/versions/5.66/2023-09-22-14-15-add-recommendation-notifications-column.js +7 -0
  98. package/core/server/data/schema/schema.js +1 -0
  99. package/core/server/lib/image/Gravatar.js +1 -1
  100. package/core/server/lib/image/ImageSize.js +7 -3
  101. package/core/server/lib/request-external.js +9 -0
  102. package/core/server/models/post.js +46 -0
  103. package/core/server/models/user.js +3 -0
  104. package/core/server/services/collections/PostsRepository.js +7 -2
  105. package/core/server/services/comments/CommentsServiceEmails.js +1 -1
  106. package/core/server/services/mentions/BookshelfMentionRepository.js +2 -1
  107. package/core/server/services/mentions/service.js +4 -0
  108. package/core/server/services/recommendations/RecommendationEnablerService.js +1 -1
  109. package/core/server/services/recommendations/RecommendationServiceWrapper.js +68 -8
  110. package/core/server/services/themes/installer.js +1 -1
  111. package/core/server/services/webhooks/WebhookTrigger.js +6 -2
  112. package/core/server/services/xmlrpc.js +3 -1
  113. package/core/shared/labs.js +5 -0
  114. package/package.json +149 -149
  115. package/yarn.lock +283 -158
  116. package/components/tryghost-api-framework-5.65.1.tgz +0 -0
  117. package/components/tryghost-bookshelf-repository-5.65.1.tgz +0 -0
  118. package/components/tryghost-bootstrap-socket-5.65.1.tgz +0 -0
  119. package/components/tryghost-collections-5.65.1.tgz +0 -0
  120. package/components/tryghost-constants-5.65.1.tgz +0 -0
  121. package/components/tryghost-donations-5.65.1.tgz +0 -0
  122. package/components/tryghost-email-analytics-provider-mailgun-5.65.1.tgz +0 -0
  123. package/components/tryghost-email-content-generator-5.65.1.tgz +0 -0
  124. package/components/tryghost-email-events-5.65.1.tgz +0 -0
  125. package/components/tryghost-email-suppression-list-5.65.1.tgz +0 -0
  126. package/components/tryghost-event-aware-cache-wrapper-5.65.1.tgz +0 -0
  127. package/components/tryghost-express-dynamic-redirects-5.65.1.tgz +0 -0
  128. package/components/tryghost-external-media-inliner-5.65.1.tgz +0 -0
  129. package/components/tryghost-i18n-5.65.1.tgz +0 -0
  130. package/components/tryghost-importer-handler-content-files-5.65.1.tgz +0 -0
  131. package/components/tryghost-link-redirects-5.65.1.tgz +0 -0
  132. package/components/tryghost-link-replacer-5.65.1.tgz +0 -0
  133. package/components/tryghost-magic-link-5.65.1.tgz +0 -0
  134. package/components/tryghost-mail-events-5.65.1.tgz +0 -0
  135. package/components/tryghost-member-events-5.65.1.tgz +0 -0
  136. package/components/tryghost-members-api-5.65.1.tgz +0 -0
  137. package/components/tryghost-mentions-email-report-5.65.1.tgz +0 -0
  138. package/components/tryghost-model-to-domain-event-interceptor-5.65.1.tgz +0 -0
  139. package/components/tryghost-mw-cache-control-5.65.1.tgz +0 -0
  140. package/components/tryghost-mw-session-from-token-5.65.1.tgz +0 -0
  141. package/components/tryghost-mw-update-user-last-seen-5.65.1.tgz +0 -0
  142. package/components/tryghost-mw-vhost-5.65.1.tgz +0 -0
  143. package/components/tryghost-nql-filter-expansions-5.65.1.tgz +0 -0
  144. package/components/tryghost-oembed-service-5.65.1.tgz +0 -0
  145. package/components/tryghost-post-events-5.65.1.tgz +0 -0
  146. package/components/tryghost-recommendations-5.65.1.tgz +0 -0
  147. package/components/tryghost-referrers-5.65.1.tgz +0 -0
  148. package/components/tryghost-security-5.65.1.tgz +0 -0
  149. package/components/tryghost-session-service-5.65.1.tgz +0 -0
  150. package/components/tryghost-slack-notifications-5.65.1.tgz +0 -0
  151. package/components/tryghost-staff-service-5.65.1.tgz +0 -0
  152. package/components/tryghost-stats-service-5.65.1.tgz +0 -0
  153. package/components/tryghost-tiers-5.65.1.tgz +0 -0
  154. package/components/tryghost-update-check-service-5.65.1.tgz +0 -0
  155. package/components/tryghost-version-notifications-data-service-5.65.1.tgz +0 -0
  156. package/components/tryghost-webmentions-5.65.1.tgz +0 -0
  157. package/core/built/admin/assets/admin-x-settings/index-4a560e9e.mjs +0 -19693
  158. package/core/built/admin/assets/ghost-761b67711827277b7095ebc7acc5c49f.css +0 -1
  159. package/core/built/admin/assets/ghost-dark-d3f636c30e80bdd7f21d3fb4770073c9.css +0 -1
  160. /package/core/built/admin/assets/{chunk.518.396deed1a0c759d1f403.js.LICENSE.txt → chunk.555.ba02d5a0095b4c4a7700.js.LICENSE.txt} +0 -0
@@ -1,3 +1,7 @@
1
+ const DomainEvents = require('@tryghost/domain-events');
2
+ const {MentionCreatedEvent} = require('@tryghost/webmentions');
3
+ const logging = require('@tryghost/logging');
4
+
1
5
  class RecommendationServiceWrapper {
2
6
  /**
3
7
  * @type {import('@tryghost/recommendations').RecommendationRepository}
@@ -24,6 +28,11 @@ class RecommendationServiceWrapper {
24
28
  */
25
29
  service;
26
30
 
31
+ /**
32
+ * @type {import('@tryghost/recommendations').IncomingRecommendationService}
33
+ */
34
+ incomingRecommendationService;
35
+
27
36
  init() {
28
37
  if (this.repository) {
29
38
  return;
@@ -40,7 +49,9 @@ class RecommendationServiceWrapper {
40
49
  RecommendationService,
41
50
  RecommendationController,
42
51
  WellknownService,
43
- BookshelfClickEventRepository
52
+ BookshelfClickEventRepository,
53
+ IncomingRecommendationService,
54
+ IncomingRecommendationEmailRenderer
44
55
  } = require('@tryghost/recommendations');
45
56
 
46
57
  const mentions = require('../mentions');
@@ -75,26 +86,75 @@ class RecommendationServiceWrapper {
75
86
  wellknownService,
76
87
  mentionSendingService: mentions.sendingService,
77
88
  clickEventRepository: this.clickEventRepository,
78
- subscribeEventRepository: this.subscribeEventRepository,
79
- mentionsApi: mentions.api
89
+ subscribeEventRepository: this.subscribeEventRepository
80
90
  });
91
+
92
+ const mail = require('../mail');
93
+ const mailer = new mail.GhostMailer();
94
+ const emailService = {
95
+ async send(to, subject, html, text) {
96
+ return mailer.send({
97
+ to,
98
+ subject,
99
+ html,
100
+ text
101
+ });
102
+ }
103
+ };
104
+
105
+ this.incomingRecommendationService = new IncomingRecommendationService({
106
+ mentionsApi: mentions.api,
107
+ recommendationService: this.service,
108
+ emailService,
109
+ async getEmailRecipients() {
110
+ const users = await models.User.getEmailAlertUsers('recommendation-received');
111
+ return users.map((model) => {
112
+ return {
113
+ email: model.email,
114
+ slug: model.slug
115
+ };
116
+ });
117
+ },
118
+ emailRenderer: new IncomingRecommendationEmailRenderer({
119
+ staffService: require('../staff')
120
+ })
121
+ });
122
+
81
123
  this.controller = new RecommendationController({
82
124
  service: this.service
83
125
  });
84
126
 
85
- // eslint-disable-next-line no-console
86
- this.service.init().catch(console.error);
127
+ this.service.init().catch(logging.error);
128
+ this.incomingRecommendationService.init().catch(logging.error);
129
+
130
+ const PATH_SUFFIX = '/.well-known/recommendations.json';
131
+
132
+ function isRecommendationUrl(url) {
133
+ return url.pathname.endsWith(PATH_SUFFIX);
134
+ }
87
135
 
88
136
  // Add mapper to WebmentionMetadata
89
137
  mentions.metadata.addMapper((url) => {
90
- const p = '/.well-known/recommendations.json';
91
- if (url.pathname.endsWith(p)) {
138
+ if (isRecommendationUrl(url)) {
92
139
  // Strip p
93
140
  const newUrl = new URL(url.toString());
94
- newUrl.pathname = newUrl.pathname.slice(0, -p.length);
141
+ newUrl.pathname = newUrl.pathname.slice(0, -PATH_SUFFIX.length);
95
142
  return newUrl;
96
143
  }
97
144
  });
145
+
146
+ const labs = require('../../../shared/labs');
147
+
148
+ // Listen for incoming webmentions
149
+ DomainEvents.subscribe(MentionCreatedEvent, async (event) => {
150
+ if (labs.isSet('recommendations')) {
151
+ // Check if this is a recommendation
152
+ if (event.data.mention.verified && isRecommendationUrl(event.data.mention.source)) {
153
+ logging.info('[INCOMING RECOMMENDATION] Received recommendation from ' + event.data.mention.source);
154
+ await this.incomingRecommendationService.sendRecommendationEmail(event.data.mention);
155
+ }
156
+ }
157
+ });
98
158
  }
99
159
  }
100
160
 
@@ -41,7 +41,7 @@ const installFromGithub = async (ref) => {
41
41
  headers: {
42
42
  accept: 'application/vnd.github.v3+json'
43
43
  },
44
- encoding: null
44
+ responseType: 'buffer'
45
45
  });
46
46
 
47
47
  await fs.writeFile(downloadPath, response.body);
@@ -101,8 +101,12 @@ class WebhookTrigger {
101
101
  const opts = {
102
102
  body: reqPayload,
103
103
  headers,
104
- timeout: 2 * 1000,
105
- retry: process.env.NODE_ENV?.startsWith('test') ? 0 : 5
104
+ timeout: {
105
+ request: 2 * 1000
106
+ },
107
+ retry: {
108
+ limit: process.env.NODE_ENV?.startsWith('test') ? 0 : 5
109
+ }
106
110
  };
107
111
 
108
112
  logging.info(`Triggering webhook for "${webhook.get('event')}" with url "${url}"`);
@@ -76,7 +76,9 @@ function ping(post) {
76
76
  _.each(pingList, function (pingHost) {
77
77
  const options = {
78
78
  body: pingXML,
79
- timeout: 2 * 1000
79
+ timeout: {
80
+ request: 2 * 1000
81
+ }
80
82
  };
81
83
 
82
84
  const goodResponse = /<member>[\s]*<name>flerror<\/name>[\s]*<value>[\s]*<boolean>0<\/boolean><\/value><\/member>/;
@@ -62,6 +62,11 @@ module.exports.getAll = () => {
62
62
  labs[gaKey] = true;
63
63
  });
64
64
 
65
+ const labsConfig = config.get('labs') || {};
66
+ Object.keys(labsConfig).forEach((key) => {
67
+ labs[key] = labsConfig[key];
68
+ });
69
+
65
70
  labs.members = settingsCache.get('members_signup_access') !== 'none';
66
71
 
67
72
  return labs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.65.1",
3
+ "version": "5.66.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -62,44 +62,44 @@
62
62
  "@extractus/oembed-extractor": "3.2.1",
63
63
  "@sentry/node": "7.70.0",
64
64
  "@tryghost/adapter-base-cache": "0.1.5",
65
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.65.1.tgz",
66
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.65.1.tgz",
65
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.66.0.tgz",
66
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.66.0.tgz",
67
67
  "@tryghost/admin-api-schema": "4.5.1",
68
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.65.1.tgz",
69
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.65.1.tgz",
70
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.65.1.tgz",
71
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.65.1.tgz",
68
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.66.0.tgz",
69
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.66.0.tgz",
70
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.66.0.tgz",
71
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.66.0.tgz",
72
72
  "@tryghost/bookshelf-plugins": "0.6.10",
73
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.65.1.tgz",
74
- "@tryghost/collections": "file:components/tryghost-collections-5.65.1.tgz",
73
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.66.0.tgz",
74
+ "@tryghost/collections": "file:components/tryghost-collections-5.66.0.tgz",
75
75
  "@tryghost/color-utils": "0.1.24",
76
76
  "@tryghost/config-url-helpers": "1.0.6",
77
- "@tryghost/constants": "file:components/tryghost-constants-5.65.1.tgz",
78
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.65.1.tgz",
79
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.65.1.tgz",
77
+ "@tryghost/constants": "file:components/tryghost-constants-5.66.0.tgz",
78
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.66.0.tgz",
79
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.66.0.tgz",
80
80
  "@tryghost/database-info": "0.3.17",
81
81
  "@tryghost/debug": "0.1.24",
82
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.65.1.tgz",
83
- "@tryghost/donations": "file:components/tryghost-donations-5.65.1.tgz",
84
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.65.1.tgz",
85
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.65.1.tgz",
86
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.65.1.tgz",
87
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.65.1.tgz",
82
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.66.0.tgz",
83
+ "@tryghost/donations": "file:components/tryghost-donations-5.66.0.tgz",
84
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.66.0.tgz",
85
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.66.0.tgz",
86
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.66.0.tgz",
87
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.66.0.tgz",
88
88
  "@tryghost/email-mock-receiver": "0.3.1",
89
- "@tryghost/email-service": "file:components/tryghost-email-service-5.65.1.tgz",
90
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.65.1.tgz",
89
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.66.0.tgz",
90
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.66.0.tgz",
91
91
  "@tryghost/errors": "1.2.24",
92
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.65.1.tgz",
93
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.65.1.tgz",
94
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.65.1.tgz",
92
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.66.0.tgz",
93
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.66.0.tgz",
94
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.66.0.tgz",
95
95
  "@tryghost/helpers": "1.1.82",
96
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.65.1.tgz",
96
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.66.0.tgz",
97
97
  "@tryghost/http-cache-utils": "0.1.9",
98
- "@tryghost/i18n": "file:components/tryghost-i18n-5.65.1.tgz",
98
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.66.0.tgz",
99
99
  "@tryghost/image-transform": "1.2.6",
100
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.65.1.tgz",
101
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.65.1.tgz",
102
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.65.1.tgz",
100
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.66.0.tgz",
101
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.66.0.tgz",
102
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.66.0.tgz",
103
103
  "@tryghost/kg-card-factory": "4.0.10",
104
104
  "@tryghost/kg-converters": "0.0.14",
105
105
  "@tryghost/kg-default-atoms": "4.0.3",
@@ -109,59 +109,59 @@
109
109
  "@tryghost/kg-lexical-html-renderer": "0.3.29",
110
110
  "@tryghost/kg-mobiledoc-html-renderer": "6.0.11",
111
111
  "@tryghost/limit-service": "1.2.10",
112
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.65.1.tgz",
113
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.65.1.tgz",
114
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.65.1.tgz",
112
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.66.0.tgz",
113
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.66.0.tgz",
114
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.66.0.tgz",
115
115
  "@tryghost/logging": "2.4.4",
116
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.65.1.tgz",
117
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.65.1.tgz",
118
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.65.1.tgz",
119
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.65.1.tgz",
120
- "@tryghost/member-events": "file:components/tryghost-member-events-5.65.1.tgz",
121
- "@tryghost/members-api": "file:components/tryghost-members-api-5.65.1.tgz",
122
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.65.1.tgz",
123
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.65.1.tgz",
124
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.65.1.tgz",
125
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.65.1.tgz",
126
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.65.1.tgz",
127
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.65.1.tgz",
128
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.65.1.tgz",
116
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.66.0.tgz",
117
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.66.0.tgz",
118
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.66.0.tgz",
119
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.66.0.tgz",
120
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.66.0.tgz",
121
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.66.0.tgz",
122
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.66.0.tgz",
123
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.66.0.tgz",
124
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.66.0.tgz",
125
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.66.0.tgz",
126
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.66.0.tgz",
127
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.66.0.tgz",
128
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.66.0.tgz",
129
129
  "@tryghost/metrics": "1.0.24",
130
- "@tryghost/milestones": "file:components/tryghost-milestones-5.65.1.tgz",
131
- "@tryghost/minifier": "file:components/tryghost-minifier-5.65.1.tgz",
132
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.65.1.tgz",
133
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.65.1.tgz",
134
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.65.1.tgz",
135
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.65.1.tgz",
136
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.65.1.tgz",
137
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.65.1.tgz",
138
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.65.1.tgz",
130
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.66.0.tgz",
131
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.66.0.tgz",
132
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.66.0.tgz",
133
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.66.0.tgz",
134
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.66.0.tgz",
135
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.66.0.tgz",
136
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.66.0.tgz",
137
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.66.0.tgz",
138
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.66.0.tgz",
139
139
  "@tryghost/nodemailer": "0.3.35",
140
140
  "@tryghost/nql": "0.11.0",
141
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.65.1.tgz",
142
- "@tryghost/package-json": "file:components/tryghost-package-json-5.65.1.tgz",
143
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.65.1.tgz",
144
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.65.1.tgz",
141
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.66.0.tgz",
142
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.66.0.tgz",
143
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.66.0.tgz",
144
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.66.0.tgz",
145
145
  "@tryghost/pretty-cli": "1.2.36",
146
146
  "@tryghost/promise": "0.3.4",
147
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.65.1.tgz",
148
- "@tryghost/request": "0.1.39",
149
- "@tryghost/security": "file:components/tryghost-security-5.65.1.tgz",
150
- "@tryghost/session-service": "file:components/tryghost-session-service-5.65.1.tgz",
151
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.65.1.tgz",
152
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.65.1.tgz",
147
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.66.0.tgz",
148
+ "@tryghost/request": "1.0.0",
149
+ "@tryghost/security": "file:components/tryghost-security-5.66.0.tgz",
150
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.66.0.tgz",
151
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.66.0.tgz",
152
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.66.0.tgz",
153
153
  "@tryghost/social-urls": "0.1.36",
154
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.65.1.tgz",
155
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.65.1.tgz",
154
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.66.0.tgz",
155
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.66.0.tgz",
156
156
  "@tryghost/string": "0.2.4",
157
- "@tryghost/tiers": "file:components/tryghost-tiers-5.65.1.tgz",
157
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.66.0.tgz",
158
158
  "@tryghost/tpl": "0.1.24",
159
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.65.1.tgz",
159
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.66.0.tgz",
160
160
  "@tryghost/url-utils": "4.4.0",
161
161
  "@tryghost/validator": "0.2.4",
162
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.65.1.tgz",
162
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.66.0.tgz",
163
163
  "@tryghost/version": "0.1.22",
164
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.65.1.tgz",
164
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.66.0.tgz",
165
165
  "@tryghost/zip": "1.1.37",
166
166
  "amperize": "0.6.1",
167
167
  "analytics-node": "6.2.0",
@@ -203,7 +203,7 @@
203
203
  "keypair": "1.0.4",
204
204
  "knex": "2.4.2",
205
205
  "knex-migrator": "5.1.5",
206
- "lib0": "0.2.85",
206
+ "lib0": "0.2.86",
207
207
  "lodash": "4.17.21",
208
208
  "luxon": "3.4.3",
209
209
  "moment": "2.24.0",
@@ -232,7 +232,7 @@
232
232
  },
233
233
  "devDependencies": {
234
234
  "@actions/core": "1.10.1",
235
- "@playwright/test": "1.38.0",
235
+ "@playwright/test": "1.38.1",
236
236
  "@tryghost/express-test": "0.13.7",
237
237
  "@tryghost/webhook-mock-receiver": "0.2.6",
238
238
  "@types/common-tags": "1.8.2",
@@ -264,84 +264,84 @@
264
264
  "@tryghost/logging": "2.4.4",
265
265
  "moment": "2.24.0",
266
266
  "moment-timezone": "0.5.23",
267
- "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.65.1.tgz",
268
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.65.1.tgz",
269
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.65.1.tgz",
270
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.65.1.tgz",
271
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.65.1.tgz",
272
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.65.1.tgz",
273
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.65.1.tgz",
274
- "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.65.1.tgz",
275
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.65.1.tgz",
276
- "@tryghost/collections": "file:components/tryghost-collections-5.65.1.tgz",
277
- "@tryghost/constants": "file:components/tryghost-constants-5.65.1.tgz",
278
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.65.1.tgz",
279
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.65.1.tgz",
280
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.65.1.tgz",
281
- "@tryghost/donations": "file:components/tryghost-donations-5.65.1.tgz",
282
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.65.1.tgz",
283
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.65.1.tgz",
284
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.65.1.tgz",
285
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.65.1.tgz",
286
- "@tryghost/email-events": "file:components/tryghost-email-events-5.65.1.tgz",
287
- "@tryghost/email-service": "file:components/tryghost-email-service-5.65.1.tgz",
288
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.65.1.tgz",
289
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.65.1.tgz",
290
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.65.1.tgz",
291
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.65.1.tgz",
292
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.65.1.tgz",
293
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.65.1.tgz",
294
- "@tryghost/i18n": "file:components/tryghost-i18n-5.65.1.tgz",
295
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.65.1.tgz",
296
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.65.1.tgz",
297
- "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.65.1.tgz",
298
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.65.1.tgz",
299
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.65.1.tgz",
300
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.65.1.tgz",
301
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.65.1.tgz",
302
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.65.1.tgz",
303
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.65.1.tgz",
304
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.65.1.tgz",
305
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.65.1.tgz",
306
- "@tryghost/member-events": "file:components/tryghost-member-events-5.65.1.tgz",
307
- "@tryghost/members-api": "file:components/tryghost-members-api-5.65.1.tgz",
308
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.65.1.tgz",
309
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.65.1.tgz",
310
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.65.1.tgz",
311
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.65.1.tgz",
312
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.65.1.tgz",
313
- "@tryghost/milestones": "file:components/tryghost-milestones-5.65.1.tgz",
314
- "@tryghost/minifier": "file:components/tryghost-minifier-5.65.1.tgz",
315
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.65.1.tgz",
316
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.65.1.tgz",
317
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.65.1.tgz",
318
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.65.1.tgz",
319
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.65.1.tgz",
320
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.65.1.tgz",
321
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.65.1.tgz",
322
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.65.1.tgz",
323
- "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.65.1.tgz",
324
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.65.1.tgz",
325
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.65.1.tgz",
326
- "@tryghost/package-json": "file:components/tryghost-package-json-5.65.1.tgz",
327
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.65.1.tgz",
328
- "@tryghost/post-events": "file:components/tryghost-post-events-5.65.1.tgz",
329
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.65.1.tgz",
330
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.65.1.tgz",
331
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.65.1.tgz",
332
- "@tryghost/referrers": "file:components/tryghost-referrers-5.65.1.tgz",
333
- "@tryghost/security": "file:components/tryghost-security-5.65.1.tgz",
334
- "@tryghost/session-service": "file:components/tryghost-session-service-5.65.1.tgz",
335
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.65.1.tgz",
336
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.65.1.tgz",
337
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.65.1.tgz",
338
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.65.1.tgz",
339
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.65.1.tgz",
340
- "@tryghost/tiers": "file:components/tryghost-tiers-5.65.1.tgz",
341
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.65.1.tgz",
342
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.65.1.tgz",
343
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.65.1.tgz",
344
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.65.1.tgz"
267
+ "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.66.0.tgz",
268
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.66.0.tgz",
269
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.66.0.tgz",
270
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.66.0.tgz",
271
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.66.0.tgz",
272
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.66.0.tgz",
273
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.66.0.tgz",
274
+ "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.66.0.tgz",
275
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.66.0.tgz",
276
+ "@tryghost/collections": "file:components/tryghost-collections-5.66.0.tgz",
277
+ "@tryghost/constants": "file:components/tryghost-constants-5.66.0.tgz",
278
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.66.0.tgz",
279
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.66.0.tgz",
280
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.66.0.tgz",
281
+ "@tryghost/donations": "file:components/tryghost-donations-5.66.0.tgz",
282
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.66.0.tgz",
283
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.66.0.tgz",
284
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.66.0.tgz",
285
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.66.0.tgz",
286
+ "@tryghost/email-events": "file:components/tryghost-email-events-5.66.0.tgz",
287
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.66.0.tgz",
288
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.66.0.tgz",
289
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.66.0.tgz",
290
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.66.0.tgz",
291
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.66.0.tgz",
292
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.66.0.tgz",
293
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.66.0.tgz",
294
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.66.0.tgz",
295
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.66.0.tgz",
296
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.66.0.tgz",
297
+ "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.66.0.tgz",
298
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.66.0.tgz",
299
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.66.0.tgz",
300
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.66.0.tgz",
301
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.66.0.tgz",
302
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.66.0.tgz",
303
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.66.0.tgz",
304
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.66.0.tgz",
305
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.66.0.tgz",
306
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.66.0.tgz",
307
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.66.0.tgz",
308
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.66.0.tgz",
309
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.66.0.tgz",
310
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.66.0.tgz",
311
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.66.0.tgz",
312
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.66.0.tgz",
313
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.66.0.tgz",
314
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.66.0.tgz",
315
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.66.0.tgz",
316
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.66.0.tgz",
317
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.66.0.tgz",
318
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.66.0.tgz",
319
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.66.0.tgz",
320
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.66.0.tgz",
321
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.66.0.tgz",
322
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.66.0.tgz",
323
+ "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.66.0.tgz",
324
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.66.0.tgz",
325
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.66.0.tgz",
326
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.66.0.tgz",
327
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.66.0.tgz",
328
+ "@tryghost/post-events": "file:components/tryghost-post-events-5.66.0.tgz",
329
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.66.0.tgz",
330
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.66.0.tgz",
331
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.66.0.tgz",
332
+ "@tryghost/referrers": "file:components/tryghost-referrers-5.66.0.tgz",
333
+ "@tryghost/security": "file:components/tryghost-security-5.66.0.tgz",
334
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.66.0.tgz",
335
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.66.0.tgz",
336
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.66.0.tgz",
337
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.66.0.tgz",
338
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.66.0.tgz",
339
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.66.0.tgz",
340
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.66.0.tgz",
341
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.66.0.tgz",
342
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.66.0.tgz",
343
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.66.0.tgz",
344
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.66.0.tgz"
345
345
  },
346
346
  "nx": {
347
347
  "targets": {