ghost 5.90.0 → 5.90.2

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 (134) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.90.2.tgz +0 -0
  2. package/components/{tryghost-adapter-cache-redis-5.90.0.tgz → tryghost-adapter-cache-redis-5.90.2.tgz} +0 -0
  3. package/components/{tryghost-adapter-manager-5.90.0.tgz → tryghost-adapter-manager-5.90.2.tgz} +0 -0
  4. package/components/tryghost-announcement-bar-settings-5.90.2.tgz +0 -0
  5. package/components/{tryghost-api-framework-5.90.0.tgz → tryghost-api-framework-5.90.2.tgz} +0 -0
  6. package/components/{tryghost-api-version-compatibility-service-5.90.0.tgz → tryghost-api-version-compatibility-service-5.90.2.tgz} +0 -0
  7. package/components/{tryghost-audience-feedback-5.90.0.tgz → tryghost-audience-feedback-5.90.2.tgz} +0 -0
  8. package/components/{tryghost-bookshelf-repository-5.90.0.tgz → tryghost-bookshelf-repository-5.90.2.tgz} +0 -0
  9. package/components/{tryghost-bootstrap-socket-5.90.0.tgz → tryghost-bootstrap-socket-5.90.2.tgz} +0 -0
  10. package/components/tryghost-collections-5.90.2.tgz +0 -0
  11. package/components/tryghost-constants-5.90.2.tgz +0 -0
  12. package/components/{tryghost-custom-theme-settings-service-5.90.0.tgz → tryghost-custom-theme-settings-service-5.90.2.tgz} +0 -0
  13. package/components/{tryghost-data-generator-5.90.0.tgz → tryghost-data-generator-5.90.2.tgz} +0 -0
  14. package/components/tryghost-domain-events-5.90.2.tgz +0 -0
  15. package/components/{tryghost-donations-5.90.0.tgz → tryghost-donations-5.90.2.tgz} +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.90.2.tgz +0 -0
  17. package/components/tryghost-email-addresses-5.90.2.tgz +0 -0
  18. package/components/tryghost-email-analytics-provider-mailgun-5.90.2.tgz +0 -0
  19. package/components/tryghost-email-analytics-service-5.90.2.tgz +0 -0
  20. package/components/{tryghost-email-content-generator-5.90.0.tgz → tryghost-email-content-generator-5.90.2.tgz} +0 -0
  21. package/components/tryghost-email-events-5.90.2.tgz +0 -0
  22. package/components/{tryghost-email-service-5.90.0.tgz → tryghost-email-service-5.90.2.tgz} +0 -0
  23. package/components/tryghost-email-suppression-list-5.90.2.tgz +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.90.2.tgz +0 -0
  25. package/components/{tryghost-external-media-inliner-5.90.0.tgz → tryghost-external-media-inliner-5.90.2.tgz} +0 -0
  26. package/components/tryghost-extract-api-key-5.90.2.tgz +0 -0
  27. package/components/tryghost-ghost-5.90.2.tgz +0 -0
  28. package/components/{tryghost-html-to-plaintext-5.90.0.tgz → tryghost-html-to-plaintext-5.90.2.tgz} +0 -0
  29. package/components/tryghost-i18n-5.90.2.tgz +0 -0
  30. package/components/{tryghost-importer-handler-content-files-5.90.0.tgz → tryghost-importer-handler-content-files-5.90.2.tgz} +0 -0
  31. package/components/tryghost-importer-revue-5.90.2.tgz +0 -0
  32. package/components/tryghost-in-memory-repository-5.90.2.tgz +0 -0
  33. package/components/{tryghost-job-manager-5.90.0.tgz → tryghost-job-manager-5.90.2.tgz} +0 -0
  34. package/components/tryghost-link-redirects-5.90.2.tgz +0 -0
  35. package/components/tryghost-link-replacer-5.90.2.tgz +0 -0
  36. package/components/{tryghost-link-tracking-5.90.0.tgz → tryghost-link-tracking-5.90.2.tgz} +0 -0
  37. package/components/{tryghost-magic-link-5.90.0.tgz → tryghost-magic-link-5.90.2.tgz} +0 -0
  38. package/components/{tryghost-mail-events-5.90.0.tgz → tryghost-mail-events-5.90.2.tgz} +0 -0
  39. package/components/{tryghost-mailgun-client-5.90.0.tgz → tryghost-mailgun-client-5.90.2.tgz} +0 -0
  40. package/components/{tryghost-member-attribution-5.90.0.tgz → tryghost-member-attribution-5.90.2.tgz} +0 -0
  41. package/components/{tryghost-member-events-5.90.0.tgz → tryghost-member-events-5.90.2.tgz} +0 -0
  42. package/components/{tryghost-members-api-5.90.0.tgz → tryghost-members-api-5.90.2.tgz} +0 -0
  43. package/components/tryghost-members-csv-5.90.2.tgz +0 -0
  44. package/components/{tryghost-members-events-service-5.90.0.tgz → tryghost-members-events-service-5.90.2.tgz} +0 -0
  45. package/components/{tryghost-members-importer-5.90.0.tgz → tryghost-members-importer-5.90.2.tgz} +0 -0
  46. package/components/tryghost-members-offers-5.90.2.tgz +0 -0
  47. package/components/tryghost-members-payments-5.90.2.tgz +0 -0
  48. package/components/tryghost-members-ssr-5.90.2.tgz +0 -0
  49. package/components/{tryghost-members-stripe-service-5.90.0.tgz → tryghost-members-stripe-service-5.90.2.tgz} +0 -0
  50. package/components/tryghost-mentions-email-report-5.90.2.tgz +0 -0
  51. package/components/tryghost-milestones-5.90.2.tgz +0 -0
  52. package/components/{tryghost-minifier-5.90.0.tgz → tryghost-minifier-5.90.2.tgz} +0 -0
  53. package/components/tryghost-model-to-domain-event-interceptor-5.90.2.tgz +0 -0
  54. package/components/{tryghost-mw-api-version-mismatch-5.90.0.tgz → tryghost-mw-api-version-mismatch-5.90.2.tgz} +0 -0
  55. package/components/tryghost-mw-cache-control-5.90.2.tgz +0 -0
  56. package/components/tryghost-mw-error-handler-5.90.2.tgz +0 -0
  57. package/components/tryghost-mw-session-from-token-5.90.2.tgz +0 -0
  58. package/components/tryghost-mw-update-user-last-seen-5.90.2.tgz +0 -0
  59. package/components/tryghost-mw-version-match-5.90.2.tgz +0 -0
  60. package/components/tryghost-mw-vhost-5.90.2.tgz +0 -0
  61. package/components/tryghost-nql-filter-expansions-5.90.2.tgz +0 -0
  62. package/components/{tryghost-oembed-service-5.90.0.tgz → tryghost-oembed-service-5.90.2.tgz} +0 -0
  63. package/components/{tryghost-package-json-5.90.0.tgz → tryghost-package-json-5.90.2.tgz} +0 -0
  64. package/components/tryghost-post-events-5.90.2.tgz +0 -0
  65. package/components/tryghost-post-revisions-5.90.2.tgz +0 -0
  66. package/components/{tryghost-posts-service-5.90.0.tgz → tryghost-posts-service-5.90.2.tgz} +0 -0
  67. package/components/tryghost-recommendations-5.90.2.tgz +0 -0
  68. package/components/tryghost-referrers-5.90.2.tgz +0 -0
  69. package/components/{tryghost-security-5.90.0.tgz → tryghost-security-5.90.2.tgz} +0 -0
  70. package/components/{tryghost-session-service-5.90.0.tgz → tryghost-session-service-5.90.2.tgz} +0 -0
  71. package/components/tryghost-settings-path-manager-5.90.2.tgz +0 -0
  72. package/components/tryghost-slack-notifications-5.90.2.tgz +0 -0
  73. package/components/{tryghost-staff-service-5.90.0.tgz → tryghost-staff-service-5.90.2.tgz} +0 -0
  74. package/components/{tryghost-stats-service-5.90.0.tgz → tryghost-stats-service-5.90.2.tgz} +0 -0
  75. package/components/{tryghost-tiers-5.90.0.tgz → tryghost-tiers-5.90.2.tgz} +0 -0
  76. package/components/{tryghost-update-check-service-5.90.0.tgz → tryghost-update-check-service-5.90.2.tgz} +0 -0
  77. package/components/{tryghost-verification-trigger-5.90.0.tgz → tryghost-verification-trigger-5.90.2.tgz} +0 -0
  78. package/components/{tryghost-version-notifications-data-service-5.90.0.tgz → tryghost-version-notifications-data-service-5.90.2.tgz} +0 -0
  79. package/components/{tryghost-webmentions-5.90.0.tgz → tryghost-webmentions-5.90.2.tgz} +0 -0
  80. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +1 -1
  81. package/core/built/admin/assets/admin-x-activitypub/{index-79b91eda.mjs → index-edb9d9cb.mjs} +2 -2
  82. package/core/built/admin/assets/admin-x-activitypub/{modals-25d834a0.mjs → modals-1926c917.mjs} +5 -5
  83. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-821d5b2c.mjs → CodeEditorView-189e8870.mjs} +2 -2
  84. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  85. package/core/built/admin/assets/admin-x-settings/{index-1c47835f.mjs → index-a1f59382.mjs} +6 -6
  86. package/core/built/admin/assets/admin-x-settings/{index-29d842f9.mjs → index-ae06bfa7.mjs} +2 -2
  87. package/core/built/admin/assets/admin-x-settings/{modals-7c030639.mjs → modals-2c4063aa.mjs} +3 -3
  88. package/core/built/admin/assets/{chunk.524.4551f9a844deaa462046.js → chunk.524.387731e090d67354be96.js} +5 -5
  89. package/core/built/admin/assets/{chunk.582.1b3f6a148cd1896c12aa.js → chunk.582.1be7720523de88ffe16b.js} +6 -6
  90. package/core/built/admin/index.html +2 -2
  91. package/core/frontend/services/routing/RouterManager.js +7 -7
  92. package/core/server/services/email-analytics/EmailAnalyticsServiceWrapper.js +8 -37
  93. package/core/server/services/email-analytics/lib/queries.js +21 -117
  94. package/core/shared/config/defaults.json +1 -1
  95. package/package.json +147 -147
  96. package/components/tryghost-adapter-cache-memory-ttl-5.90.0.tgz +0 -0
  97. package/components/tryghost-announcement-bar-settings-5.90.0.tgz +0 -0
  98. package/components/tryghost-collections-5.90.0.tgz +0 -0
  99. package/components/tryghost-constants-5.90.0.tgz +0 -0
  100. package/components/tryghost-domain-events-5.90.0.tgz +0 -0
  101. package/components/tryghost-dynamic-routing-events-5.90.0.tgz +0 -0
  102. package/components/tryghost-email-addresses-5.90.0.tgz +0 -0
  103. package/components/tryghost-email-analytics-provider-mailgun-5.90.0.tgz +0 -0
  104. package/components/tryghost-email-analytics-service-5.90.0.tgz +0 -0
  105. package/components/tryghost-email-events-5.90.0.tgz +0 -0
  106. package/components/tryghost-email-suppression-list-5.90.0.tgz +0 -0
  107. package/components/tryghost-express-dynamic-redirects-5.90.0.tgz +0 -0
  108. package/components/tryghost-extract-api-key-5.90.0.tgz +0 -0
  109. package/components/tryghost-ghost-5.90.0.tgz +0 -0
  110. package/components/tryghost-i18n-5.90.0.tgz +0 -0
  111. package/components/tryghost-importer-revue-5.90.0.tgz +0 -0
  112. package/components/tryghost-in-memory-repository-5.90.0.tgz +0 -0
  113. package/components/tryghost-link-redirects-5.90.0.tgz +0 -0
  114. package/components/tryghost-link-replacer-5.90.0.tgz +0 -0
  115. package/components/tryghost-members-csv-5.90.0.tgz +0 -0
  116. package/components/tryghost-members-offers-5.90.0.tgz +0 -0
  117. package/components/tryghost-members-payments-5.90.0.tgz +0 -0
  118. package/components/tryghost-members-ssr-5.90.0.tgz +0 -0
  119. package/components/tryghost-mentions-email-report-5.90.0.tgz +0 -0
  120. package/components/tryghost-milestones-5.90.0.tgz +0 -0
  121. package/components/tryghost-model-to-domain-event-interceptor-5.90.0.tgz +0 -0
  122. package/components/tryghost-mw-cache-control-5.90.0.tgz +0 -0
  123. package/components/tryghost-mw-error-handler-5.90.0.tgz +0 -0
  124. package/components/tryghost-mw-session-from-token-5.90.0.tgz +0 -0
  125. package/components/tryghost-mw-update-user-last-seen-5.90.0.tgz +0 -0
  126. package/components/tryghost-mw-version-match-5.90.0.tgz +0 -0
  127. package/components/tryghost-mw-vhost-5.90.0.tgz +0 -0
  128. package/components/tryghost-nql-filter-expansions-5.90.0.tgz +0 -0
  129. package/components/tryghost-post-events-5.90.0.tgz +0 -0
  130. package/components/tryghost-post-revisions-5.90.0.tgz +0 -0
  131. package/components/tryghost-recommendations-5.90.0.tgz +0 -0
  132. package/components/tryghost-referrers-5.90.0.tgz +0 -0
  133. package/components/tryghost-settings-path-manager-5.90.0.tgz +0 -0
  134. package/components/tryghost-slack-notifications-5.90.0.tgz +0 -0
@@ -1,14 +1,9 @@
1
1
  const _ = require('lodash');
2
2
  const debug = require('@tryghost/debug')('services:email-analytics');
3
3
  const db = require('../../../data/db');
4
- const logging = require('@tryghost/logging');
5
- const {default: ObjectID} = require('bson-objectid');
6
4
 
7
5
  const MIN_EMAIL_COUNT_FOR_OPEN_RATE = 5;
8
6
 
9
- /** @typedef {'email-analytics-latest-opened'|'email-analytics-latest-others'|'email-analytics-missing'|'email-analytics-scheduled'} EmailAnalyticsJobName */
10
- /** @typedef {'delivered'|'opened'|'failed'} EmailAnalyticsEvent */
11
-
12
7
  module.exports = {
13
8
  async shouldFetchStats() {
14
9
  // don't fetch stats from Mailgun if we haven't sent any emails
@@ -16,124 +11,33 @@ module.exports = {
16
11
  return emailCount && emailCount.count > 0;
17
12
  },
18
13
 
19
- /**
20
- * Retrieves the timestamp of the last seen event for the specified email analytics events.
21
- * @param {EmailAnalyticsJobName} jobName - The name of the job to update.
22
- * @param {EmailAnalyticsEvent[]} [events=['delivered', 'opened', 'failed']] - The email analytics events to consider.
23
- * @returns {Promise<Date|null>} The timestamp of the last seen event, or null if no events are found.
24
- */
25
- async getLastEventTimestamp(jobName, events = ['delivered', 'opened', 'failed']) {
14
+ async getLastSeenEventTimestamp() {
26
15
  const startDate = new Date();
27
-
28
- let maxOpenedAt;
29
- let maxDeliveredAt;
30
- let maxFailedAt;
31
-
32
- const jobData = await db.knex('jobs').select('finished_at', 'started_at').where('name', jobName).first();
33
-
34
- if (jobData) {
35
- debug(`Using job data for ${jobName}`);
36
- const lastJobTimestamp = jobData.finished_at || jobData.started_at;
37
- maxOpenedAt = events.includes('opened') ? lastJobTimestamp : null;
38
- maxDeliveredAt = events.includes('delivered') ? lastJobTimestamp : null;
39
- maxFailedAt = events.includes('failed') ? lastJobTimestamp : null;
40
- } else {
41
- debug(`Job data not found for ${jobName}, using email_recipients data`);
42
- logging.info(`Job data not found for ${jobName}, using email_recipients data`);
43
- if (events.includes('opened')) {
44
- maxOpenedAt = (await db.knex('email_recipients').select(db.knex.raw('MAX(opened_at) as maxOpenedAt')).first()).maxOpenedAt;
45
- }
46
- if (events.includes('delivered')) {
47
- maxDeliveredAt = (await db.knex('email_recipients').select(db.knex.raw('MAX(delivered_at) as maxDeliveredAt')).first()).maxDeliveredAt;
48
- }
49
- if (events.includes('failed')) {
50
- maxFailedAt = (await db.knex('email_recipients').select(db.knex.raw('MAX(failed_at) as maxFailedAt')).first()).maxFailedAt;
51
- }
52
-
53
- // Insert a new job row if it doesn't exist
54
- await db.knex('jobs').insert({
55
- id: new ObjectID().toHexString(),
56
- name: jobName,
57
- started_at: new Date(),
58
- created_at: new Date(),
59
- status: 'started'
60
- }).onConflict('name').ignore();
61
- }
62
-
63
- // Convert string dates to Date objects for SQLite compatibility
64
- [maxOpenedAt, maxDeliveredAt, maxFailedAt] = [maxOpenedAt, maxDeliveredAt, maxFailedAt].map(date => (
65
- date && !(date instanceof Date) ? new Date(date) : date
66
- ));
67
16
 
68
- const lastSeenEventTimestamp = _.max([maxOpenedAt, maxDeliveredAt, maxFailedAt]);
69
- debug(`getLastSeenEventTimestamp: finished in ${Date.now() - startDate}ms`);
17
+ // three separate queries is much faster than using max/greatest (with coalesce to handle nulls) across columns
18
+ let {maxDeliveredAt} = await db.knex('email_recipients').select(db.knex.raw('MAX(delivered_at) as maxDeliveredAt')).first() || {};
19
+ let {maxOpenedAt} = await db.knex('email_recipients').select(db.knex.raw('MAX(opened_at) as maxOpenedAt')).first() || {};
20
+ let {maxFailedAt} = await db.knex('email_recipients').select(db.knex.raw('MAX(failed_at) as maxFailedAt')).first() || {};
70
21
 
71
- return lastSeenEventTimestamp;
72
- },
22
+ if (maxDeliveredAt && !(maxDeliveredAt instanceof Date)) {
23
+ // SQLite returns a string instead of a Date
24
+ maxDeliveredAt = new Date(maxDeliveredAt);
25
+ }
73
26
 
74
- /**
75
- * Sets the timestamp of the last seen event for the specified email analytics events.
76
- * @param {EmailAnalyticsJobName} jobName - The name of the job to update.
77
- * @param {'completed'|'started'} field - The field to update.
78
- * @param {Date} date - The timestamp of the last seen event.
79
- * @returns {Promise<void>}
80
- * @description
81
- * Updates the `finished_at` or `started_at` column of the specified job in the `jobs` table with the provided timestamp.
82
- * This is used to keep track of the last time the job was run to avoid expensive queries following reboot.
83
- */
84
- async setJobTimestamp(jobName, field, date) {
85
- // Convert string dates to Date objects for SQLite compatibility
86
- try {
87
- debug(`Setting ${field} timestamp for job ${jobName} to ${date}`);
88
- const updateField = field === 'completed' ? 'finished_at' : 'started_at';
89
- const status = field === 'completed' ? 'finished' : 'started';
90
- const result = await db.knex('jobs').update({[updateField]: date, updated_at: new Date(), status: status}).where('name', jobName);
91
- if (result === 0) {
92
- await db.knex('jobs').insert({
93
- id: new ObjectID().toHexString(),
94
- name: jobName,
95
- [updateField]: date,
96
- updated_at: date,
97
- status: status
98
- });
99
- }
100
- } catch (err) {
101
- debug(`Error setting ${field} timestamp for job ${jobName}: ${err.message}`);
27
+ if (maxOpenedAt && !(maxOpenedAt instanceof Date)) {
28
+ // SQLite returns a string instead of a Date
29
+ maxOpenedAt = new Date(maxOpenedAt);
102
30
  }
103
- },
104
31
 
105
- /**
106
- * Sets the status of the specified email analytics job.
107
- * @param {EmailAnalyticsJobName} jobName - The name of the job to update.
108
- * @param {'started'|'finished'|'failed'} status - The new status of the job.
109
- * @returns {Promise<void>}
110
- * @description
111
- * Updates the `status` column of the specified job in the `jobs` table with the provided status.
112
- * This is used to keep track of the current state of the job.
113
- */
114
- async setJobStatus(jobName, status) {
115
- debug(`Setting status for job ${jobName} to ${status}`);
116
- try {
117
- const result = await db.knex('jobs')
118
- .update({
119
- status: status,
120
- updated_at: new Date()
121
- })
122
- .where('name', jobName);
123
-
124
- if (result === 0) {
125
- await db.knex('jobs').insert({
126
- id: new ObjectID().toHexString(),
127
- name: jobName,
128
- status: status,
129
- created_at: new Date(),
130
- updated_at: new Date()
131
- });
132
- }
133
- } catch (err) {
134
- debug(`Error setting status for job ${jobName}: ${err.message}`);
135
- throw err;
32
+ if (maxFailedAt && !(maxFailedAt instanceof Date)) {
33
+ // SQLite returns a string instead of a Date
34
+ maxFailedAt = new Date(maxFailedAt);
136
35
  }
36
+
37
+ const lastSeenEventTimestamp = _.max([maxDeliveredAt, maxOpenedAt, maxFailedAt]);
38
+ debug(`getLastSeenEventTimestamp: finished in ${Date.now() - startDate}ms`);
39
+
40
+ return lastSeenEventTimestamp;
137
41
  },
138
42
 
139
43
  async aggregateEmailStats(emailId) {
@@ -174,4 +78,4 @@ module.exports = {
174
78
  .update(updateQuery)
175
79
  .where('id', memberId);
176
80
  }
177
- };
81
+ };
@@ -182,7 +182,7 @@
182
182
  },
183
183
  "portal": {
184
184
  "url": "https://cdn.jsdelivr.net/ghost/portal@~{version}/umd/portal.min.js",
185
- "version": "2.39"
185
+ "version": "2.40"
186
186
  },
187
187
  "sodoSearch": {
188
188
  "url": "https://cdn.jsdelivr.net/ghost/sodo-search@~{version}/umd/sodo-search.min.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.90.0",
3
+ "version": "5.90.2",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -66,44 +66,44 @@
66
66
  "@opentelemetry/sdk-trace-node": "1.25.1",
67
67
  "@sentry/node": "7.119.0",
68
68
  "@tryghost/adapter-base-cache": "0.1.12",
69
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.90.0.tgz",
70
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.90.0.tgz",
69
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.90.2.tgz",
70
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.90.2.tgz",
71
71
  "@tryghost/admin-api-schema": "4.5.5",
72
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.90.0.tgz",
73
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.90.0.tgz",
74
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.90.0.tgz",
75
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.90.0.tgz",
72
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.90.2.tgz",
73
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.90.2.tgz",
74
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.90.2.tgz",
75
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.90.2.tgz",
76
76
  "@tryghost/bookshelf-plugins": "0.6.23",
77
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.90.0.tgz",
78
- "@tryghost/collections": "file:components/tryghost-collections-5.90.0.tgz",
77
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.90.2.tgz",
78
+ "@tryghost/collections": "file:components/tryghost-collections-5.90.2.tgz",
79
79
  "@tryghost/color-utils": "0.2.2",
80
80
  "@tryghost/config-url-helpers": "1.0.12",
81
- "@tryghost/constants": "file:components/tryghost-constants-5.90.0.tgz",
82
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.90.0.tgz",
83
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.90.0.tgz",
81
+ "@tryghost/constants": "file:components/tryghost-constants-5.90.2.tgz",
82
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.90.2.tgz",
83
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.90.2.tgz",
84
84
  "@tryghost/database-info": "0.3.27",
85
85
  "@tryghost/debug": "0.1.32",
86
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.90.0.tgz",
87
- "@tryghost/donations": "file:components/tryghost-donations-5.90.0.tgz",
88
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.90.0.tgz",
89
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.90.0.tgz",
90
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.90.0.tgz",
91
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.90.0.tgz",
86
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.90.2.tgz",
87
+ "@tryghost/donations": "file:components/tryghost-donations-5.90.2.tgz",
88
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.90.2.tgz",
89
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.90.2.tgz",
90
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.90.2.tgz",
91
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.90.2.tgz",
92
92
  "@tryghost/email-mock-receiver": "0.3.8",
93
- "@tryghost/email-service": "file:components/tryghost-email-service-5.90.0.tgz",
94
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.90.0.tgz",
93
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.90.2.tgz",
94
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.90.2.tgz",
95
95
  "@tryghost/errors": "1.3.5",
96
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.90.0.tgz",
97
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.90.0.tgz",
98
- "@tryghost/ghost": "file:components/tryghost-ghost-5.90.0.tgz",
96
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.90.2.tgz",
97
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.90.2.tgz",
98
+ "@tryghost/ghost": "file:components/tryghost-ghost-5.90.2.tgz",
99
99
  "@tryghost/helpers": "1.1.90",
100
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.90.0.tgz",
100
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.90.2.tgz",
101
101
  "@tryghost/http-cache-utils": "0.1.17",
102
- "@tryghost/i18n": "file:components/tryghost-i18n-5.90.0.tgz",
102
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.90.2.tgz",
103
103
  "@tryghost/image-transform": "1.3.0",
104
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.90.0.tgz",
105
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.90.0.tgz",
106
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.90.0.tgz",
104
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.90.2.tgz",
105
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.90.2.tgz",
106
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.90.2.tgz",
107
107
  "@tryghost/kg-card-factory": "5.0.5",
108
108
  "@tryghost/kg-converters": "1.0.6",
109
109
  "@tryghost/kg-default-atoms": "5.0.3",
@@ -113,59 +113,59 @@
113
113
  "@tryghost/kg-lexical-html-renderer": "1.1.18",
114
114
  "@tryghost/kg-mobiledoc-html-renderer": "7.0.6",
115
115
  "@tryghost/limit-service": "1.2.14",
116
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.90.0.tgz",
117
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.90.0.tgz",
118
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.90.0.tgz",
116
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.90.2.tgz",
117
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.90.2.tgz",
118
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.90.2.tgz",
119
119
  "@tryghost/logging": "2.4.18",
120
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.90.0.tgz",
121
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.90.0.tgz",
122
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.90.0.tgz",
123
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.90.0.tgz",
124
- "@tryghost/member-events": "file:components/tryghost-member-events-5.90.0.tgz",
125
- "@tryghost/members-api": "file:components/tryghost-members-api-5.90.0.tgz",
126
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.90.0.tgz",
127
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.90.0.tgz",
128
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.90.0.tgz",
129
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.90.0.tgz",
130
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.90.0.tgz",
131
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.90.0.tgz",
132
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.90.0.tgz",
120
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.90.2.tgz",
121
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.90.2.tgz",
122
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.90.2.tgz",
123
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.90.2.tgz",
124
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.90.2.tgz",
125
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.90.2.tgz",
126
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.90.2.tgz",
127
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.90.2.tgz",
128
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.90.2.tgz",
129
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.90.2.tgz",
130
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.90.2.tgz",
131
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.90.2.tgz",
132
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.90.2.tgz",
133
133
  "@tryghost/metrics": "1.0.34",
134
- "@tryghost/milestones": "file:components/tryghost-milestones-5.90.0.tgz",
135
- "@tryghost/minifier": "file:components/tryghost-minifier-5.90.0.tgz",
136
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.90.0.tgz",
137
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.90.0.tgz",
138
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.90.0.tgz",
139
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.90.0.tgz",
140
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.90.0.tgz",
141
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.90.0.tgz",
142
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.90.0.tgz",
134
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.90.2.tgz",
135
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.90.2.tgz",
136
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.90.2.tgz",
137
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.90.2.tgz",
138
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.90.2.tgz",
139
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.90.2.tgz",
140
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.90.2.tgz",
141
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.90.2.tgz",
142
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.90.2.tgz",
143
143
  "@tryghost/nodemailer": "0.3.45",
144
144
  "@tryghost/nql": "0.12.4",
145
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.90.0.tgz",
146
- "@tryghost/package-json": "file:components/tryghost-package-json-5.90.0.tgz",
147
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.90.0.tgz",
148
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.90.0.tgz",
145
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.90.2.tgz",
146
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.90.2.tgz",
147
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.90.2.tgz",
148
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.90.2.tgz",
149
149
  "@tryghost/pretty-cli": "1.2.44",
150
150
  "@tryghost/promise": "0.3.12",
151
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.90.0.tgz",
151
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.90.2.tgz",
152
152
  "@tryghost/request": "1.0.8",
153
- "@tryghost/security": "file:components/tryghost-security-5.90.0.tgz",
154
- "@tryghost/session-service": "file:components/tryghost-session-service-5.90.0.tgz",
155
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.90.0.tgz",
156
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.90.0.tgz",
153
+ "@tryghost/security": "file:components/tryghost-security-5.90.2.tgz",
154
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.90.2.tgz",
155
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.90.2.tgz",
156
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.90.2.tgz",
157
157
  "@tryghost/social-urls": "0.1.43",
158
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.90.0.tgz",
159
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.90.0.tgz",
158
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.90.2.tgz",
159
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.90.2.tgz",
160
160
  "@tryghost/string": "0.2.12",
161
- "@tryghost/tiers": "file:components/tryghost-tiers-5.90.0.tgz",
161
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.90.2.tgz",
162
162
  "@tryghost/tpl": "0.1.32",
163
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.90.0.tgz",
163
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.90.2.tgz",
164
164
  "@tryghost/url-utils": "4.4.8",
165
165
  "@tryghost/validator": "0.2.14",
166
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.90.0.tgz",
166
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.90.2.tgz",
167
167
  "@tryghost/version": "0.1.30",
168
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.90.0.tgz",
168
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.90.2.tgz",
169
169
  "@tryghost/zip": "1.1.46",
170
170
  "amperize": "0.6.1",
171
171
  "body-parser": "1.20.2",
@@ -267,85 +267,85 @@
267
267
  "jackspeak": "2.1.1",
268
268
  "moment": "2.24.0",
269
269
  "moment-timezone": "0.5.45",
270
- "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.90.0.tgz",
271
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.90.0.tgz",
272
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.90.0.tgz",
273
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.90.0.tgz",
274
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.90.0.tgz",
275
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.90.0.tgz",
276
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.90.0.tgz",
277
- "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.90.0.tgz",
278
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.90.0.tgz",
279
- "@tryghost/collections": "file:components/tryghost-collections-5.90.0.tgz",
280
- "@tryghost/constants": "file:components/tryghost-constants-5.90.0.tgz",
281
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.90.0.tgz",
282
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.90.0.tgz",
283
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.90.0.tgz",
284
- "@tryghost/donations": "file:components/tryghost-donations-5.90.0.tgz",
285
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.90.0.tgz",
286
- "@tryghost/email-addresses": "file:components/tryghost-email-addresses-5.90.0.tgz",
287
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.90.0.tgz",
288
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.90.0.tgz",
289
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.90.0.tgz",
290
- "@tryghost/email-events": "file:components/tryghost-email-events-5.90.0.tgz",
291
- "@tryghost/email-service": "file:components/tryghost-email-service-5.90.0.tgz",
292
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.90.0.tgz",
293
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.90.0.tgz",
294
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.90.0.tgz",
295
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.90.0.tgz",
296
- "@tryghost/ghost": "file:components/tryghost-ghost-5.90.0.tgz",
297
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.90.0.tgz",
298
- "@tryghost/i18n": "file:components/tryghost-i18n-5.90.0.tgz",
299
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.90.0.tgz",
300
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.90.0.tgz",
301
- "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.90.0.tgz",
302
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.90.0.tgz",
303
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.90.0.tgz",
304
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.90.0.tgz",
305
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.90.0.tgz",
306
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.90.0.tgz",
307
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.90.0.tgz",
308
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.90.0.tgz",
309
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.90.0.tgz",
310
- "@tryghost/member-events": "file:components/tryghost-member-events-5.90.0.tgz",
311
- "@tryghost/members-api": "file:components/tryghost-members-api-5.90.0.tgz",
312
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.90.0.tgz",
313
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.90.0.tgz",
314
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.90.0.tgz",
315
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.90.0.tgz",
316
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.90.0.tgz",
317
- "@tryghost/milestones": "file:components/tryghost-milestones-5.90.0.tgz",
318
- "@tryghost/minifier": "file:components/tryghost-minifier-5.90.0.tgz",
319
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.90.0.tgz",
320
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.90.0.tgz",
321
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.90.0.tgz",
322
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.90.0.tgz",
323
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.90.0.tgz",
324
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.90.0.tgz",
325
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.90.0.tgz",
326
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.90.0.tgz",
327
- "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.90.0.tgz",
328
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.90.0.tgz",
329
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.90.0.tgz",
330
- "@tryghost/package-json": "file:components/tryghost-package-json-5.90.0.tgz",
331
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.90.0.tgz",
332
- "@tryghost/post-events": "file:components/tryghost-post-events-5.90.0.tgz",
333
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.90.0.tgz",
334
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.90.0.tgz",
335
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.90.0.tgz",
336
- "@tryghost/referrers": "file:components/tryghost-referrers-5.90.0.tgz",
337
- "@tryghost/security": "file:components/tryghost-security-5.90.0.tgz",
338
- "@tryghost/session-service": "file:components/tryghost-session-service-5.90.0.tgz",
339
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.90.0.tgz",
340
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.90.0.tgz",
341
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.90.0.tgz",
342
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.90.0.tgz",
343
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.90.0.tgz",
344
- "@tryghost/tiers": "file:components/tryghost-tiers-5.90.0.tgz",
345
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.90.0.tgz",
346
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.90.0.tgz",
347
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.90.0.tgz",
348
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.90.0.tgz"
270
+ "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.90.2.tgz",
271
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.90.2.tgz",
272
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.90.2.tgz",
273
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.90.2.tgz",
274
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.90.2.tgz",
275
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.90.2.tgz",
276
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.90.2.tgz",
277
+ "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.90.2.tgz",
278
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.90.2.tgz",
279
+ "@tryghost/collections": "file:components/tryghost-collections-5.90.2.tgz",
280
+ "@tryghost/constants": "file:components/tryghost-constants-5.90.2.tgz",
281
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.90.2.tgz",
282
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.90.2.tgz",
283
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.90.2.tgz",
284
+ "@tryghost/donations": "file:components/tryghost-donations-5.90.2.tgz",
285
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.90.2.tgz",
286
+ "@tryghost/email-addresses": "file:components/tryghost-email-addresses-5.90.2.tgz",
287
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.90.2.tgz",
288
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.90.2.tgz",
289
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.90.2.tgz",
290
+ "@tryghost/email-events": "file:components/tryghost-email-events-5.90.2.tgz",
291
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.90.2.tgz",
292
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.90.2.tgz",
293
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.90.2.tgz",
294
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.90.2.tgz",
295
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.90.2.tgz",
296
+ "@tryghost/ghost": "file:components/tryghost-ghost-5.90.2.tgz",
297
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.90.2.tgz",
298
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.90.2.tgz",
299
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.90.2.tgz",
300
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.90.2.tgz",
301
+ "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.90.2.tgz",
302
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.90.2.tgz",
303
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.90.2.tgz",
304
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.90.2.tgz",
305
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.90.2.tgz",
306
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.90.2.tgz",
307
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.90.2.tgz",
308
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.90.2.tgz",
309
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.90.2.tgz",
310
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.90.2.tgz",
311
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.90.2.tgz",
312
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.90.2.tgz",
313
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.90.2.tgz",
314
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.90.2.tgz",
315
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.90.2.tgz",
316
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.90.2.tgz",
317
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.90.2.tgz",
318
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.90.2.tgz",
319
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.90.2.tgz",
320
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.90.2.tgz",
321
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.90.2.tgz",
322
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.90.2.tgz",
323
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.90.2.tgz",
324
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.90.2.tgz",
325
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.90.2.tgz",
326
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.90.2.tgz",
327
+ "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.90.2.tgz",
328
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.90.2.tgz",
329
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.90.2.tgz",
330
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.90.2.tgz",
331
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.90.2.tgz",
332
+ "@tryghost/post-events": "file:components/tryghost-post-events-5.90.2.tgz",
333
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.90.2.tgz",
334
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.90.2.tgz",
335
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.90.2.tgz",
336
+ "@tryghost/referrers": "file:components/tryghost-referrers-5.90.2.tgz",
337
+ "@tryghost/security": "file:components/tryghost-security-5.90.2.tgz",
338
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.90.2.tgz",
339
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.90.2.tgz",
340
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.90.2.tgz",
341
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.90.2.tgz",
342
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.90.2.tgz",
343
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.90.2.tgz",
344
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.90.2.tgz",
345
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.90.2.tgz",
346
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.90.2.tgz",
347
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.90.2.tgz",
348
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.90.2.tgz"
349
349
  },
350
350
  "nx": {
351
351
  "targets": {
Binary file