ghost 5.10.0 → 5.12.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 (161) hide show
  1. package/components/tryghost-adapter-manager-5.12.0.tgz +0 -0
  2. package/components/tryghost-api-framework-5.12.0.tgz +0 -0
  3. package/components/{tryghost-api-version-compatibility-service-0.0.0.tgz → tryghost-api-version-compatibility-service-5.12.0.tgz} +0 -0
  4. package/components/tryghost-bootstrap-socket-5.12.0.tgz +0 -0
  5. package/components/tryghost-constants-5.12.0.tgz +0 -0
  6. package/components/tryghost-custom-theme-settings-service-5.12.0.tgz +0 -0
  7. package/components/tryghost-domain-events-5.12.0.tgz +0 -0
  8. package/components/tryghost-email-analytics-provider-mailgun-5.12.0.tgz +0 -0
  9. package/components/tryghost-email-analytics-service-5.12.0.tgz +0 -0
  10. package/components/tryghost-email-content-generator-5.12.0.tgz +0 -0
  11. package/components/tryghost-express-dynamic-redirects-5.12.0.tgz +0 -0
  12. package/components/tryghost-extract-api-key-5.12.0.tgz +0 -0
  13. package/components/{tryghost-html-to-plaintext-0.0.0.tgz → tryghost-html-to-plaintext-5.12.0.tgz} +0 -0
  14. package/components/tryghost-job-manager-5.12.0.tgz +0 -0
  15. package/components/tryghost-magic-link-5.12.0.tgz +0 -0
  16. package/components/tryghost-mailgun-client-5.12.0.tgz +0 -0
  17. package/components/tryghost-member-analytics-service-5.12.0.tgz +0 -0
  18. package/components/tryghost-member-attribution-5.12.0.tgz +0 -0
  19. package/components/tryghost-member-events-5.12.0.tgz +0 -0
  20. package/components/tryghost-members-analytics-ingress-5.12.0.tgz +0 -0
  21. package/components/tryghost-members-api-5.12.0.tgz +0 -0
  22. package/components/{tryghost-members-csv-0.0.0.tgz → tryghost-members-csv-5.12.0.tgz} +0 -0
  23. package/components/tryghost-members-events-service-5.12.0.tgz +0 -0
  24. package/components/tryghost-members-importer-5.12.0.tgz +0 -0
  25. package/components/tryghost-members-offers-5.12.0.tgz +0 -0
  26. package/components/tryghost-members-payments-5.12.0.tgz +0 -0
  27. package/components/tryghost-members-ssr-5.12.0.tgz +0 -0
  28. package/components/tryghost-members-stripe-service-5.12.0.tgz +0 -0
  29. package/components/tryghost-minifier-5.12.0.tgz +0 -0
  30. package/components/tryghost-mw-api-version-mismatch-5.12.0.tgz +0 -0
  31. package/components/tryghost-mw-cache-control-5.12.0.tgz +0 -0
  32. package/components/tryghost-mw-error-handler-5.12.0.tgz +0 -0
  33. package/components/tryghost-mw-session-from-token-5.12.0.tgz +0 -0
  34. package/components/tryghost-mw-update-user-last-seen-5.12.0.tgz +0 -0
  35. package/components/tryghost-mw-vhost-5.12.0.tgz +0 -0
  36. package/components/tryghost-oembed-service-5.12.0.tgz +0 -0
  37. package/components/tryghost-package-json-5.12.0.tgz +0 -0
  38. package/components/tryghost-security-5.12.0.tgz +0 -0
  39. package/components/tryghost-session-service-5.12.0.tgz +0 -0
  40. package/components/tryghost-settings-path-manager-5.12.0.tgz +0 -0
  41. package/components/tryghost-staff-service-5.12.0.tgz +0 -0
  42. package/components/tryghost-update-check-service-5.12.0.tgz +0 -0
  43. package/components/tryghost-verification-trigger-5.12.0.tgz +0 -0
  44. package/components/tryghost-version-notifications-data-service-5.12.0.tgz +0 -0
  45. package/core/boot.js +2 -0
  46. package/core/built/admin/assets/chunk.143.da85cf08f47cfe520bf6.js +49 -0
  47. package/core/built/admin/assets/{chunk.174.0364e8abdae8210d8e6d.js → chunk.174.ae492405065373dbe102.js} +1 -1
  48. package/core/built/admin/assets/{chunk.178.8a19c35ce1a7cf4249ce.js → chunk.178.29d3fb3dc6811b673a00.js} +4 -4
  49. package/core/built/admin/assets/{chunk.351.ea4a4ff4b40d5f2ad141.js → chunk.579.65e09dd89eec70d059a0.js} +3 -11
  50. package/core/built/admin/assets/{chunk.351.ea4a4ff4b40d5f2ad141.js.LICENSE.txt → chunk.579.65e09dd89eec70d059a0.js.LICENSE.txt} +0 -0
  51. package/core/built/admin/assets/{ghost-ced03a7ac75c3148e0ea7d1bf51e39fc.js → ghost-0526c96b20843697927c1d06a9010197.js} +779 -610
  52. package/core/built/admin/assets/ghost-dark-e4d6987343ee26af534a06c1b9639d97.css +1 -0
  53. package/core/built/admin/assets/ghost-f62b0e78ddcd947273873bdeba4abc3c.css +1 -0
  54. package/core/built/admin/assets/icons/calendar-stroke.svg +1 -0
  55. package/core/built/admin/assets/icons/event-canceled-subscription--feature-attribution.svg +6 -0
  56. package/core/built/admin/assets/icons/event-comment--feature-attribution.svg +3 -0
  57. package/core/built/admin/assets/icons/event-email-delivery-failed--feature-attribution.svg +6 -0
  58. package/core/built/admin/assets/icons/event-logged-in--feature-attribution.svg +5 -0
  59. package/core/built/admin/assets/icons/event-made-a-payment--feature-attribution.svg +7 -0
  60. package/core/built/admin/assets/icons/event-opened-email--feature-attribution.svg +6 -0
  61. package/core/built/admin/assets/icons/event-received-email--feature-attribution.svg +5 -0
  62. package/core/built/admin/assets/icons/event-signed-up--feature-attribution.svg +6 -0
  63. package/core/built/admin/assets/icons/event-started-subscription--feature-attribution.svg +6 -0
  64. package/core/built/admin/assets/icons/event-subscribed-to-email--feature-attribution.svg +8 -0
  65. package/core/built/admin/assets/icons/event-subscriptions--feature-attribution.svg +5 -0
  66. package/core/built/admin/assets/icons/event-unsubscribed-from-email--feature-attribution.svg +5 -0
  67. package/core/built/admin/assets/icons/pen-stroke.svg +1 -0
  68. package/core/built/admin/assets/{vendor-a1ae7a38d5c38fcba5609eed4e37f02a.js → vendor-52613f40d62355e9ac64cbfa211169bb.js} +88 -60
  69. package/core/built/admin/index.html +6 -6
  70. package/core/frontend/helpers/search.js +5 -20
  71. package/core/frontend/meta/get-meta.js +1 -2
  72. package/core/frontend/meta/image-dimensions.js +47 -39
  73. package/core/server/api/endpoints/comments-members.js +10 -7
  74. package/core/server/api/endpoints/invites.js +1 -9
  75. package/core/server/api/endpoints/labels.js +1 -7
  76. package/core/server/api/endpoints/members.js +3 -13
  77. package/core/server/api/endpoints/offers.js +2 -2
  78. package/core/server/api/endpoints/pages.js +2 -10
  79. package/core/server/api/endpoints/posts.js +1 -9
  80. package/core/server/api/endpoints/snippets.js +1 -9
  81. package/core/server/api/endpoints/tags.js +1 -7
  82. package/core/server/api/endpoints/utils/serializers/input/pages.js +1 -1
  83. package/core/server/api/endpoints/utils/serializers/output/members.js +2 -1
  84. package/core/server/api/endpoints/utils/serializers/output/site.js +1 -0
  85. package/core/server/api/endpoints/utils/serializers/output/utils/clean.js +6 -7
  86. package/core/server/api/endpoints/webhooks.js +2 -19
  87. package/core/server/data/migrations/versions/5.11/2022-08-22-11-03-add-member-alert-settings-columns-to-users.js +21 -0
  88. package/core/server/data/migrations/versions/5.11/2022-08-23-13-41-backfill-members-created-events.js +32 -0
  89. package/core/server/data/migrations/versions/5.11/2022-08-23-13-59-fix-page-resource-type.js +22 -0
  90. package/core/server/data/schema/fixtures/fixtures.json +3 -0
  91. package/core/server/data/schema/schema.js +23 -4
  92. package/core/server/lib/image/gravatar.js +8 -7
  93. package/core/server/lib/image/image-size.js +60 -56
  94. package/core/server/models/action.js +6 -19
  95. package/core/server/models/base/plugins/actions.js +26 -3
  96. package/core/server/models/member-created-event.js +10 -2
  97. package/core/server/models/member-paid-subscription-event.js +4 -0
  98. package/core/server/models/member.js +18 -0
  99. package/core/server/models/offer.js +3 -0
  100. package/core/server/models/post.js +2 -3
  101. package/core/server/models/product.js +3 -0
  102. package/core/server/models/settings.js +4 -0
  103. package/core/server/models/subscription-created-event.js +10 -2
  104. package/core/server/models/user.js +41 -7
  105. package/core/server/services/auth/api-key/admin.js +0 -3
  106. package/core/server/services/auth/passwordreset.js +0 -3
  107. package/core/server/services/explore/service.js +7 -6
  108. package/core/server/services/member-attribution/index.js +34 -6
  109. package/core/server/services/members/api.js +4 -0
  110. package/core/server/services/members/service.js +6 -3
  111. package/core/server/services/public-config/site.js +1 -0
  112. package/core/server/services/route-settings/default-settings-manager.js +19 -17
  113. package/core/server/services/staff/index.js +26 -0
  114. package/core/server/services/webhooks/trigger.js +14 -5
  115. package/core/shared/config/defaults.json +3 -2
  116. package/core/shared/labs.js +8 -7
  117. package/package.json +84 -82
  118. package/yarn.lock +101 -123
  119. package/components/tryghost-adapter-manager-0.0.0.tgz +0 -0
  120. package/components/tryghost-api-framework-0.0.0.tgz +0 -0
  121. package/components/tryghost-bootstrap-socket-0.0.0.tgz +0 -0
  122. package/components/tryghost-constants-0.0.0.tgz +0 -0
  123. package/components/tryghost-custom-theme-settings-service-0.0.0.tgz +0 -0
  124. package/components/tryghost-domain-events-0.0.0.tgz +0 -0
  125. package/components/tryghost-email-analytics-provider-mailgun-0.0.0.tgz +0 -0
  126. package/components/tryghost-email-analytics-service-0.0.0.tgz +0 -0
  127. package/components/tryghost-email-content-generator-0.0.0.tgz +0 -0
  128. package/components/tryghost-express-dynamic-redirects-0.0.0.tgz +0 -0
  129. package/components/tryghost-extract-api-key-0.0.0.tgz +0 -0
  130. package/components/tryghost-job-manager-0.0.0.tgz +0 -0
  131. package/components/tryghost-magic-link-0.0.0.tgz +0 -0
  132. package/components/tryghost-mailgun-client-0.0.0.tgz +0 -0
  133. package/components/tryghost-member-analytics-service-0.0.0.tgz +0 -0
  134. package/components/tryghost-member-attribution-0.0.0.tgz +0 -0
  135. package/components/tryghost-member-events-0.0.0.tgz +0 -0
  136. package/components/tryghost-members-analytics-ingress-0.0.0.tgz +0 -0
  137. package/components/tryghost-members-api-0.0.0.tgz +0 -0
  138. package/components/tryghost-members-events-service-0.0.0.tgz +0 -0
  139. package/components/tryghost-members-importer-0.0.0.tgz +0 -0
  140. package/components/tryghost-members-offers-0.0.0.tgz +0 -0
  141. package/components/tryghost-members-payments-0.0.0.tgz +0 -0
  142. package/components/tryghost-members-ssr-0.0.0.tgz +0 -0
  143. package/components/tryghost-members-stripe-service-0.0.0.tgz +0 -0
  144. package/components/tryghost-minifier-0.0.0.tgz +0 -0
  145. package/components/tryghost-mw-api-version-mismatch-0.0.0.tgz +0 -0
  146. package/components/tryghost-mw-cache-control-0.0.0.tgz +0 -0
  147. package/components/tryghost-mw-error-handler-0.0.0.tgz +0 -0
  148. package/components/tryghost-mw-session-from-token-0.0.0.tgz +0 -0
  149. package/components/tryghost-mw-update-user-last-seen-0.0.0.tgz +0 -0
  150. package/components/tryghost-mw-vhost-0.0.0.tgz +0 -0
  151. package/components/tryghost-oembed-service-0.0.0.tgz +0 -0
  152. package/components/tryghost-package-json-0.0.0.tgz +0 -0
  153. package/components/tryghost-security-0.0.0.tgz +0 -0
  154. package/components/tryghost-session-service-0.0.0.tgz +0 -0
  155. package/components/tryghost-settings-path-manager-0.0.0.tgz +0 -0
  156. package/components/tryghost-update-check-service-0.0.0.tgz +0 -0
  157. package/components/tryghost-verification-trigger-0.0.0.tgz +0 -0
  158. package/components/tryghost-version-notifications-data-service-0.0.0.tgz +0 -0
  159. package/core/built/admin/assets/chunk.143.6a3c46a89c731b86a730.js +0 -41
  160. package/core/built/admin/assets/ghost-13baab17b3f54b21f341fb8f36f83110.css +0 -1
  161. package/core/built/admin/assets/ghost-dark-b0500577a42e2770994e6aef0e70f182.css +0 -1
@@ -38,23 +38,25 @@ class DefaultSettingsManager {
38
38
  const defaultFilePath = path.join(this.sourceFolderPath, defaultFileName);
39
39
 
40
40
  return Promise.resolve(fs.readFile(destinationFilePath, 'utf8'))
41
- .catch({code: 'ENOENT'}, () => {
42
- // CASE: file doesn't exist, copy it from our defaults
43
- return fs.copy(
44
- defaultFilePath,
45
- destinationFilePath
46
- ).then(() => {
47
- debug(`'${defaultFileName}' copied to ${this.destinationFolderPath}.`);
48
- });
49
- }).catch((error) => {
50
- // CASE: we might have a permission error, as we can't access the directory
51
- throw new errors.InternalServerError({
52
- message: tpl(messages.ensureSettings, {
53
- path: this.destinationFolderPath
54
- }),
55
- err: error,
56
- context: error.path
57
- });
41
+ .catch((err) => {
42
+ if (err.code === 'ENOENT') {
43
+ // CASE: file doesn't exist, copy it from our defaults
44
+ return fs.copy(
45
+ defaultFilePath,
46
+ destinationFilePath
47
+ ).then(() => {
48
+ debug(`'${defaultFileName}' copied to ${this.destinationFolderPath}.`);
49
+ });
50
+ } else {
51
+ // CASE: we might have a permission error, as we can't access the directory
52
+ throw new errors.InternalServerError({
53
+ message: tpl(messages.ensureSettings, {
54
+ path: this.destinationFolderPath
55
+ }),
56
+ err: err,
57
+ context: err.path
58
+ });
59
+ }
58
60
  });
59
61
  }
60
62
  }
@@ -0,0 +1,26 @@
1
+ class StaffServiceWrapper {
2
+ init() {
3
+ const StaffService = require('@tryghost/staff-service');
4
+
5
+ const config = require('../../../shared/config');
6
+ const logging = require('@tryghost/logging');
7
+ const models = require('../../models');
8
+ const {GhostMailer} = require('../mail');
9
+ const mailer = new GhostMailer();
10
+ const settingsCache = require('../../../shared/settings-cache');
11
+ const urlService = require('../url');
12
+ const urlUtils = require('../../../shared/url-utils');
13
+
14
+ this.api = new StaffService({
15
+ config,
16
+ logging,
17
+ models,
18
+ mailer,
19
+ settingsCache,
20
+ urlService,
21
+ urlUtils
22
+ });
23
+ }
24
+ }
25
+
26
+ module.exports = new StaffServiceWrapper();
@@ -1,6 +1,7 @@
1
1
  const debug = require('@tryghost/debug')('services:webhooks:trigger');
2
2
  const logging = require('@tryghost/logging');
3
3
  const ghostVersion = require('@tryghost/version');
4
+ const crypto = require('crypto');
4
5
 
5
6
  class WebhookTrigger {
6
7
  /**
@@ -85,13 +86,21 @@ class WebhookTrigger {
85
86
 
86
87
  const reqPayload = JSON.stringify(hookPayload);
87
88
  const url = webhook.get('target_url');
89
+ const secret = webhook.get('secret') || '';
90
+
91
+ const headers = {
92
+ 'Content-Length': Buffer.byteLength(reqPayload),
93
+ 'Content-Type': 'application/json',
94
+ 'Content-Version': `v${ghostVersion.safe}`
95
+ };
96
+
97
+ if (secret !== '') {
98
+ headers['X-Ghost-Signature'] = `sha256=${crypto.createHmac('sha256', secret).update(reqPayload).digest('hex')}, t=${Date.now()}`;
99
+ }
100
+
88
101
  const opts = {
89
102
  body: reqPayload,
90
- headers: {
91
- 'Content-Length': Buffer.byteLength(reqPayload),
92
- 'Content-Type': 'application/json',
93
- 'Content-Version': `v${ghostVersion.safe}`
94
- },
103
+ headers,
95
104
  timeout: 2 * 1000,
96
105
  retry: 5
97
106
  };
@@ -141,7 +141,7 @@
141
141
  },
142
142
  "portal": {
143
143
  "url": "https://cdn.jsdelivr.net/npm/@tryghost/portal@~{version}/umd/portal.min.js",
144
- "version": "2.9"
144
+ "version": "2.11"
145
145
  },
146
146
  "sodoSearch": {
147
147
  "url": "https://cdn.jsdelivr.net/npm/@tryghost/sodo-search@~{version}/umd/sodo-search.min.js",
@@ -154,7 +154,8 @@
154
154
  "version": "0.9"
155
155
  },
156
156
  "editor": {
157
- "url": "https://unpkg.com/@tryghost/koenig-react/dist/umd/koenig-react.min.js"
157
+ "url": "https://unpkg.com/@tryghost/koenig-react/dist/umd/koenig-react.min.js",
158
+ "lexicalUrl": "https://unpkg.com/@tryghost/koenig-lexical-experiment/dist/koenig-lexical.umd.js"
158
159
  },
159
160
  "tenor": {
160
161
  "googleApiKey": null,
@@ -15,23 +15,24 @@ const messages = {
15
15
 
16
16
  // flags in this list always return `true`, allows quick global enable prior to full flag removal
17
17
  const GA_FEATURES = [
18
- 'newsletterPaywall'
18
+ 'newsletterPaywall',
19
+ 'freeTrial',
20
+ 'compExpiring',
21
+ 'searchHelper',
22
+ 'emailAlerts'
19
23
  ];
20
24
 
21
25
  // NOTE: this allowlist is meant to be used to filter out any unexpected
22
26
  // input for the "labs" setting value
23
27
  const BETA_FEATURES = [
24
- 'activitypub'
28
+ 'activitypub',
29
+ 'memberAttribution'
25
30
  ];
26
31
 
27
32
  const ALPHA_FEATURES = [
28
33
  'auditLog',
29
34
  'urlCache',
30
- 'beforeAfterCard',
31
- 'freeTrial',
32
- 'memberAttribution',
33
- 'searchHelper',
34
- 'compExpiring'
35
+ 'beforeAfterCard'
35
36
  ];
36
37
 
37
38
  module.exports.GA_KEYS = [...GA_FEATURES];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.10.0",
3
+ "version": "5.12.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -53,70 +53,71 @@
53
53
  },
54
54
  "dependencies": {
55
55
  "@sentry/node": "7.11.1",
56
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-0.0.0.tgz",
56
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.12.0.tgz",
57
57
  "@tryghost/admin-api-schema": "4.1.1",
58
- "@tryghost/api-framework": "file:components/tryghost-api-framework-0.0.0.tgz",
59
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-0.0.0.tgz",
58
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.12.0.tgz",
59
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.12.0.tgz",
60
60
  "@tryghost/bookshelf-plugins": "0.5.0",
61
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-0.0.0.tgz",
61
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.12.0.tgz",
62
62
  "@tryghost/color-utils": "0.1.20",
63
63
  "@tryghost/config-url-helpers": "1.0.3",
64
- "@tryghost/constants": "file:components/tryghost-constants-0.0.0.tgz",
65
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-0.0.0.tgz",
64
+ "@tryghost/constants": "file:components/tryghost-constants-5.12.0.tgz",
65
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.12.0.tgz",
66
66
  "@tryghost/database-info": "0.3.9",
67
67
  "@tryghost/debug": "0.1.18",
68
- "@tryghost/domain-events": "file:components/tryghost-domain-events-0.0.0.tgz",
69
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-0.0.0.tgz",
70
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-0.0.0.tgz",
71
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-0.0.0.tgz",
68
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.12.0.tgz",
69
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.12.0.tgz",
70
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.12.0.tgz",
71
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.12.0.tgz",
72
72
  "@tryghost/errors": "1.2.15",
73
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-0.0.0.tgz",
73
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.12.0.tgz",
74
74
  "@tryghost/helpers": "1.1.72",
75
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-0.0.0.tgz",
75
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.12.0.tgz",
76
76
  "@tryghost/image-transform": "1.2.2",
77
- "@tryghost/job-manager": "file:components/tryghost-job-manager-0.0.0.tgz",
77
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.12.0.tgz",
78
78
  "@tryghost/kg-card-factory": "3.1.4",
79
79
  "@tryghost/kg-default-atoms": "3.1.3",
80
80
  "@tryghost/kg-default-cards": "5.16.3",
81
81
  "@tryghost/kg-mobiledoc-html-renderer": "5.3.6",
82
82
  "@tryghost/limit-service": "1.2.3",
83
83
  "@tryghost/logging": "2.2.4",
84
- "@tryghost/magic-link": "file:components/tryghost-magic-link-0.0.0.tgz",
85
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-0.0.0.tgz",
86
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-0.0.0.tgz",
87
- "@tryghost/member-events": "file:components/tryghost-member-events-0.0.0.tgz",
88
- "@tryghost/members-api": "file:components/tryghost-members-api-0.0.0.tgz",
89
- "@tryghost/members-csv": "file:components/tryghost-members-csv-0.0.0.tgz",
90
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-0.0.0.tgz",
91
- "@tryghost/members-importer": "file:components/tryghost-members-importer-0.0.0.tgz",
92
- "@tryghost/members-offers": "file:components/tryghost-members-offers-0.0.0.tgz",
93
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-0.0.0.tgz",
94
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-0.0.0.tgz",
84
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.12.0.tgz",
85
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.12.0.tgz",
86
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.12.0.tgz",
87
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.12.0.tgz",
88
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.12.0.tgz",
89
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.12.0.tgz",
90
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.12.0.tgz",
91
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.12.0.tgz",
92
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.12.0.tgz",
93
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.12.0.tgz",
94
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.12.0.tgz",
95
95
  "@tryghost/metrics": "1.0.15",
96
- "@tryghost/minifier": "file:components/tryghost-minifier-0.0.0.tgz",
97
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-0.0.0.tgz",
98
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-0.0.0.tgz",
99
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-0.0.0.tgz",
100
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-0.0.0.tgz",
101
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-0.0.0.tgz",
96
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.12.0.tgz",
97
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.12.0.tgz",
98
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.12.0.tgz",
99
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.12.0.tgz",
100
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.12.0.tgz",
101
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.12.0.tgz",
102
102
  "@tryghost/nodemailer": "0.3.25",
103
103
  "@tryghost/nql": "0.9.2",
104
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-0.0.0.tgz",
105
- "@tryghost/package-json": "file:components/tryghost-package-json-0.0.0.tgz",
104
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.12.0.tgz",
105
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.12.0.tgz",
106
106
  "@tryghost/pretty-cli": "1.2.30",
107
107
  "@tryghost/promise": "0.1.21",
108
108
  "@tryghost/request": "0.1.29",
109
- "@tryghost/security": "file:components/tryghost-security-0.0.0.tgz",
110
- "@tryghost/session-service": "file:components/tryghost-session-service-0.0.0.tgz",
111
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-0.0.0.tgz",
109
+ "@tryghost/security": "file:components/tryghost-security-5.12.0.tgz",
110
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.12.0.tgz",
111
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.12.0.tgz",
112
112
  "@tryghost/social-urls": "0.1.33",
113
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.12.0.tgz",
113
114
  "@tryghost/stats-service": "0.3.0",
114
115
  "@tryghost/string": "0.1.27",
115
116
  "@tryghost/tpl": "0.1.18",
116
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-0.0.0.tgz",
117
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.12.0.tgz",
117
118
  "@tryghost/url-utils": "4.0.3",
118
119
  "@tryghost/validator": "0.1.27",
119
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-0.0.0.tgz",
120
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.12.0.tgz",
120
121
  "@tryghost/version": "0.1.16",
121
122
  "@tryghost/zip": "1.1.28",
122
123
  "amperize": "0.6.1",
@@ -181,7 +182,7 @@
181
182
  "sqlite3": "5.0.11"
182
183
  },
183
184
  "devDependencies": {
184
- "@playwright/test": "1.25.0",
185
+ "@playwright/test": "1.25.1",
185
186
  "@tryghost/express-test": "0.11.2",
186
187
  "@tryghost/webhook-mock-receiver": "0.1.2",
187
188
  "@types/common-tags": "1.8.1",
@@ -211,48 +212,49 @@
211
212
  "@tryghost/logging": "2.2.4",
212
213
  "moment": "2.24.0",
213
214
  "moment-timezone": "0.5.23",
214
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-0.0.0.tgz",
215
- "@tryghost/api-framework": "file:components/tryghost-api-framework-0.0.0.tgz",
216
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-0.0.0.tgz",
217
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-0.0.0.tgz",
218
- "@tryghost/constants": "file:components/tryghost-constants-0.0.0.tgz",
219
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-0.0.0.tgz",
220
- "@tryghost/domain-events": "file:components/tryghost-domain-events-0.0.0.tgz",
221
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-0.0.0.tgz",
222
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-0.0.0.tgz",
223
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-0.0.0.tgz",
224
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-0.0.0.tgz",
225
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-0.0.0.tgz",
226
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-0.0.0.tgz",
227
- "@tryghost/job-manager": "file:components/tryghost-job-manager-0.0.0.tgz",
228
- "@tryghost/magic-link": "file:components/tryghost-magic-link-0.0.0.tgz",
229
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-0.0.0.tgz",
230
- "@tryghost/member-analytics-service": "file:components/tryghost-member-analytics-service-0.0.0.tgz",
231
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-0.0.0.tgz",
232
- "@tryghost/member-events": "file:components/tryghost-member-events-0.0.0.tgz",
233
- "@tryghost/members-analytics-ingress": "file:components/tryghost-members-analytics-ingress-0.0.0.tgz",
234
- "@tryghost/members-api": "file:components/tryghost-members-api-0.0.0.tgz",
235
- "@tryghost/members-csv": "file:components/tryghost-members-csv-0.0.0.tgz",
236
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-0.0.0.tgz",
237
- "@tryghost/members-importer": "file:components/tryghost-members-importer-0.0.0.tgz",
238
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-0.0.0.tgz",
239
- "@tryghost/minifier": "file:components/tryghost-minifier-0.0.0.tgz",
240
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-0.0.0.tgz",
241
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-0.0.0.tgz",
242
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-0.0.0.tgz",
243
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-0.0.0.tgz",
244
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-0.0.0.tgz",
245
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-0.0.0.tgz",
246
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-0.0.0.tgz",
247
- "@tryghost/members-offers": "file:components/tryghost-members-offers-0.0.0.tgz",
248
- "@tryghost/package-json": "file:components/tryghost-package-json-0.0.0.tgz",
249
- "@tryghost/members-payments": "file:components/tryghost-members-payments-0.0.0.tgz",
250
- "@tryghost/security": "file:components/tryghost-security-0.0.0.tgz",
251
- "@tryghost/session-service": "file:components/tryghost-session-service-0.0.0.tgz",
252
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-0.0.0.tgz",
253
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-0.0.0.tgz",
254
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-0.0.0.tgz",
255
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-0.0.0.tgz",
256
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-0.0.0.tgz"
215
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.12.0.tgz",
216
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.12.0.tgz",
217
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.12.0.tgz",
218
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.12.0.tgz",
219
+ "@tryghost/constants": "file:components/tryghost-constants-5.12.0.tgz",
220
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.12.0.tgz",
221
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.12.0.tgz",
222
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.12.0.tgz",
223
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.12.0.tgz",
224
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.12.0.tgz",
225
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.12.0.tgz",
226
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.12.0.tgz",
227
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.12.0.tgz",
228
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.12.0.tgz",
229
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.12.0.tgz",
230
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.12.0.tgz",
231
+ "@tryghost/member-analytics-service": "file:components/tryghost-member-analytics-service-5.12.0.tgz",
232
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.12.0.tgz",
233
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.12.0.tgz",
234
+ "@tryghost/members-analytics-ingress": "file:components/tryghost-members-analytics-ingress-5.12.0.tgz",
235
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.12.0.tgz",
236
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.12.0.tgz",
237
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.12.0.tgz",
238
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.12.0.tgz",
239
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.12.0.tgz",
240
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.12.0.tgz",
241
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.12.0.tgz",
242
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.12.0.tgz",
243
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.12.0.tgz",
244
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.12.0.tgz",
245
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.12.0.tgz",
246
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.12.0.tgz",
247
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.12.0.tgz",
248
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.12.0.tgz",
249
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.12.0.tgz",
250
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.12.0.tgz",
251
+ "@tryghost/security": "file:components/tryghost-security-5.12.0.tgz",
252
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.12.0.tgz",
253
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.12.0.tgz",
254
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.12.0.tgz",
255
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.12.0.tgz",
256
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.12.0.tgz",
257
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.12.0.tgz",
258
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.12.0.tgz"
257
259
  }
258
260
  }