ghost 5.20.0 → 5.21.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 (139) hide show
  1. package/components/{tryghost-adapter-manager-5.20.0.tgz → tryghost-adapter-manager-5.21.0.tgz} +0 -0
  2. package/components/{tryghost-api-framework-5.20.0.tgz → tryghost-api-framework-5.21.0.tgz} +0 -0
  3. package/components/{tryghost-api-version-compatibility-service-5.20.0.tgz → tryghost-api-version-compatibility-service-5.21.0.tgz} +0 -0
  4. package/components/tryghost-audience-feedback-5.21.0.tgz +0 -0
  5. package/components/{tryghost-bootstrap-socket-5.20.0.tgz → tryghost-bootstrap-socket-5.21.0.tgz} +0 -0
  6. package/components/{tryghost-constants-5.20.0.tgz → tryghost-constants-5.21.0.tgz} +0 -0
  7. package/components/tryghost-custom-theme-settings-service-5.21.0.tgz +0 -0
  8. package/components/tryghost-data-generator-5.21.0.tgz +0 -0
  9. package/components/{tryghost-domain-events-5.20.0.tgz → tryghost-domain-events-5.21.0.tgz} +0 -0
  10. package/components/tryghost-email-analytics-provider-mailgun-5.21.0.tgz +0 -0
  11. package/components/tryghost-email-analytics-service-5.21.0.tgz +0 -0
  12. package/components/{tryghost-email-content-generator-5.20.0.tgz → tryghost-email-content-generator-5.21.0.tgz} +0 -0
  13. package/components/{tryghost-express-dynamic-redirects-5.20.0.tgz → tryghost-express-dynamic-redirects-5.21.0.tgz} +0 -0
  14. package/components/tryghost-extract-api-key-5.21.0.tgz +0 -0
  15. package/components/{tryghost-html-to-plaintext-5.20.0.tgz → tryghost-html-to-plaintext-5.21.0.tgz} +0 -0
  16. package/components/{tryghost-job-manager-5.20.0.tgz → tryghost-job-manager-5.21.0.tgz} +0 -0
  17. package/components/tryghost-link-redirects-5.21.0.tgz +0 -0
  18. package/components/tryghost-link-replacer-5.21.0.tgz +0 -0
  19. package/components/tryghost-link-tracking-5.21.0.tgz +0 -0
  20. package/components/{tryghost-magic-link-5.20.0.tgz → tryghost-magic-link-5.21.0.tgz} +0 -0
  21. package/components/tryghost-mailgun-client-5.21.0.tgz +0 -0
  22. package/components/tryghost-member-analytics-service-5.21.0.tgz +0 -0
  23. package/components/tryghost-member-attribution-5.21.0.tgz +0 -0
  24. package/components/tryghost-member-events-5.21.0.tgz +0 -0
  25. package/components/{tryghost-members-analytics-ingress-5.20.0.tgz → tryghost-members-analytics-ingress-5.21.0.tgz} +0 -0
  26. package/components/tryghost-members-api-5.21.0.tgz +0 -0
  27. package/components/tryghost-members-csv-5.21.0.tgz +0 -0
  28. package/components/tryghost-members-events-service-5.21.0.tgz +0 -0
  29. package/components/tryghost-members-importer-5.21.0.tgz +0 -0
  30. package/components/{tryghost-members-offers-5.20.0.tgz → tryghost-members-offers-5.21.0.tgz} +0 -0
  31. package/components/tryghost-members-payments-5.21.0.tgz +0 -0
  32. package/components/tryghost-members-ssr-5.21.0.tgz +0 -0
  33. package/components/tryghost-members-stripe-service-5.21.0.tgz +0 -0
  34. package/components/tryghost-minifier-5.21.0.tgz +0 -0
  35. package/components/{tryghost-mw-api-version-mismatch-5.20.0.tgz → tryghost-mw-api-version-mismatch-5.21.0.tgz} +0 -0
  36. package/components/tryghost-mw-cache-control-5.21.0.tgz +0 -0
  37. package/components/tryghost-mw-error-handler-5.21.0.tgz +0 -0
  38. package/components/{tryghost-mw-session-from-token-5.20.0.tgz → tryghost-mw-session-from-token-5.21.0.tgz} +0 -0
  39. package/components/{tryghost-mw-update-user-last-seen-5.20.0.tgz → tryghost-mw-update-user-last-seen-5.21.0.tgz} +0 -0
  40. package/components/tryghost-mw-vhost-5.21.0.tgz +0 -0
  41. package/components/{tryghost-oembed-service-5.20.0.tgz → tryghost-oembed-service-5.21.0.tgz} +0 -0
  42. package/components/tryghost-package-json-5.21.0.tgz +0 -0
  43. package/components/tryghost-referrers-5.21.0.tgz +0 -0
  44. package/components/{tryghost-security-5.20.0.tgz → tryghost-security-5.21.0.tgz} +0 -0
  45. package/components/{tryghost-session-service-5.20.0.tgz → tryghost-session-service-5.21.0.tgz} +0 -0
  46. package/components/tryghost-settings-path-manager-5.21.0.tgz +0 -0
  47. package/components/{tryghost-staff-service-5.20.0.tgz → tryghost-staff-service-5.21.0.tgz} +0 -0
  48. package/components/{tryghost-stats-service-5.20.0.tgz → tryghost-stats-service-5.21.0.tgz} +0 -0
  49. package/components/tryghost-tiers-5.21.0.tgz +0 -0
  50. package/components/tryghost-update-check-service-5.21.0.tgz +0 -0
  51. package/components/{tryghost-verification-trigger-5.20.0.tgz → tryghost-verification-trigger-5.21.0.tgz} +0 -0
  52. package/components/tryghost-version-notifications-data-service-5.21.0.tgz +0 -0
  53. package/core/boot.js +2 -0
  54. package/core/built/admin/assets/{chunk.143.d245b085ad1efed4ee76.js → chunk.143.9cddfa7bd1a8b9cf3d4b.js} +5 -5
  55. package/core/built/admin/assets/{chunk.178.c45f56ea31775e509497.js → chunk.178.6de14cfdb28df721b66e.js} +4 -4
  56. package/core/built/admin/assets/{chunk.613.c4d89dc2d28c1b20348f.js → chunk.613.695f31829550fb00d43c.js} +351 -420
  57. package/core/built/admin/assets/{chunk.613.c4d89dc2d28c1b20348f.js.LICENSE.txt → chunk.613.695f31829550fb00d43c.js.LICENSE.txt} +0 -0
  58. package/core/built/admin/assets/{ghost-07e4bbf5029630b3c8a8a50c4b9f2d9e.js → ghost-192fee3b46a193df1e65c49a67a7d694.js} +308 -237
  59. package/core/built/admin/assets/ghost-9873519a8ad69b5b23284f0a9e050bc6.css +1 -0
  60. package/core/built/admin/assets/ghost-dark-190bdce42b125c3d4be930bd7599b442.css +1 -0
  61. package/core/built/admin/assets/{vendor-518b03b02df9a55706d150627ef1004f.js → vendor-26cca1d4d56660dc6e915a12ccc3b330.js} +1038 -1003
  62. package/core/built/admin/index.html +6 -6
  63. package/core/cli/generate-data.js +51 -0
  64. package/core/frontend/helpers/ghost_head.js +1 -1
  65. package/core/server/api/endpoints/links.js +2 -1
  66. package/core/server/api/endpoints/tiers-public.js +2 -14
  67. package/core/server/api/endpoints/tiers.js +5 -51
  68. package/core/server/api/endpoints/utils/serializers/input/posts.js +1 -1
  69. package/core/server/api/endpoints/utils/serializers/input/settings.js +1 -0
  70. package/core/server/api/endpoints/utils/serializers/input/tiers.js +18 -27
  71. package/core/server/api/endpoints/utils/serializers/output/mappers/activity-feed-events.js +42 -0
  72. package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +5 -4
  73. package/core/server/api/endpoints/utils/serializers/output/tiers.js +15 -55
  74. package/core/server/data/db/backup.js +17 -10
  75. package/core/server/data/migrations/versions/5.21/2022-10-24-07-23-disable-feedback-enabled.js +20 -0
  76. package/core/server/data/migrations/versions/5.21/2022-10-25-12-05-backfill-missed-products-columns.js +35 -0
  77. package/core/server/data/migrations/versions/5.21/2022-10-26-04-49-add-batch-id-members-created-events.js +7 -0
  78. package/core/server/data/migrations/versions/5.21/2022-10-26-04-49-add-batch-id-subscription-created-events.js +7 -0
  79. package/core/server/data/migrations/versions/5.21/2022-10-26-04-50-member-subscription-created-batch-id.js +72 -0
  80. package/core/server/data/migrations/versions/5.21/2022-10-26-09-32-add-feedback-enabled-column-to-emails.js +7 -0
  81. package/core/server/data/migrations/versions/5.21/2022-10-27-09-50-add-member-track-source-setting.js +8 -0
  82. package/core/server/data/schema/default-settings/default-settings.json +8 -0
  83. package/core/server/data/schema/fixtures/fixture-manager.js +16 -14
  84. package/core/server/data/schema/schema.js +5 -2
  85. package/core/server/models/base/plugins/crud.js +12 -0
  86. package/core/server/models/email.js +1 -0
  87. package/core/server/models/member-click-event.js +13 -0
  88. package/core/server/models/member-created-event.js +23 -0
  89. package/core/server/models/member-paid-subscription-event.js +4 -0
  90. package/core/server/models/member.js +6 -0
  91. package/core/server/models/post.js +1 -1
  92. package/core/server/models/subscription-created-event.js +7 -0
  93. package/core/server/services/mega/feedback-buttons.js +87 -16
  94. package/core/server/services/mega/mega.js +1 -0
  95. package/core/server/services/mega/template.js +3 -0
  96. package/core/server/services/member-attribution/index.js +3 -1
  97. package/core/server/services/members/api.js +2 -0
  98. package/core/server/services/members/service.js +8 -1
  99. package/core/server/services/newsletters/index.js +3 -1
  100. package/core/server/services/newsletters/service.js +11 -1
  101. package/core/server/services/tiers/TierRepository.js +116 -0
  102. package/core/server/services/tiers/index.js +1 -0
  103. package/core/server/services/tiers/service.js +32 -0
  104. package/core/shared/config/defaults.json +1 -1
  105. package/core/shared/labs.js +6 -7
  106. package/ghost.js +1 -0
  107. package/package.json +115 -112
  108. package/yarn.lock +1170 -1097
  109. package/components/tryghost-audience-feedback-5.20.0.tgz +0 -0
  110. package/components/tryghost-custom-theme-settings-service-5.20.0.tgz +0 -0
  111. package/components/tryghost-email-analytics-provider-mailgun-5.20.0.tgz +0 -0
  112. package/components/tryghost-email-analytics-service-5.20.0.tgz +0 -0
  113. package/components/tryghost-extract-api-key-5.20.0.tgz +0 -0
  114. package/components/tryghost-link-redirects-5.20.0.tgz +0 -0
  115. package/components/tryghost-link-replacer-5.20.0.tgz +0 -0
  116. package/components/tryghost-link-tracking-5.20.0.tgz +0 -0
  117. package/components/tryghost-mailgun-client-5.20.0.tgz +0 -0
  118. package/components/tryghost-member-analytics-service-5.20.0.tgz +0 -0
  119. package/components/tryghost-member-attribution-5.20.0.tgz +0 -0
  120. package/components/tryghost-member-events-5.20.0.tgz +0 -0
  121. package/components/tryghost-members-api-5.20.0.tgz +0 -0
  122. package/components/tryghost-members-csv-5.20.0.tgz +0 -0
  123. package/components/tryghost-members-events-service-5.20.0.tgz +0 -0
  124. package/components/tryghost-members-importer-5.20.0.tgz +0 -0
  125. package/components/tryghost-members-payments-5.20.0.tgz +0 -0
  126. package/components/tryghost-members-ssr-5.20.0.tgz +0 -0
  127. package/components/tryghost-members-stripe-service-5.20.0.tgz +0 -0
  128. package/components/tryghost-minifier-5.20.0.tgz +0 -0
  129. package/components/tryghost-mw-cache-control-5.20.0.tgz +0 -0
  130. package/components/tryghost-mw-error-handler-5.20.0.tgz +0 -0
  131. package/components/tryghost-mw-vhost-5.20.0.tgz +0 -0
  132. package/components/tryghost-package-json-5.20.0.tgz +0 -0
  133. package/components/tryghost-referrers-5.20.0.tgz +0 -0
  134. package/components/tryghost-settings-path-manager-5.20.0.tgz +0 -0
  135. package/components/tryghost-tiers-5.20.0.tgz +0 -0
  136. package/components/tryghost-update-check-service-5.20.0.tgz +0 -0
  137. package/components/tryghost-version-notifications-data-service-5.20.0.tgz +0 -0
  138. package/core/built/admin/assets/ghost-dark-363185f15c782b4b8394c5db23984e7f.css +0 -1
  139. package/core/built/admin/assets/ghost-fd0480352bf27e013b2b00a1bf9ffe84.css +0 -1
@@ -0,0 +1,116 @@
1
+ const {Tier} = require('@tryghost/tiers');
2
+
3
+ /**
4
+ * @typedef {import('@tryghost/tiers/lib/TiersAPI').ITierRepository} ITierRepository
5
+ */
6
+
7
+ /**
8
+ * @implements {ITierRepository}
9
+ */
10
+ module.exports = class TierRepository {
11
+ /** @type {Object} */
12
+ #ProductModel;
13
+
14
+ /** @type {import('@tryghost/domain-events')} */
15
+ #DomainEvents;
16
+
17
+ /**
18
+ * @param {object} deps
19
+ * @param {object} deps.ProductModel Bookshelf Model
20
+ * @param {import('@tryghost/domain-events')} deps.DomainEvents
21
+ */
22
+ constructor(deps) {
23
+ this.#ProductModel = deps.ProductModel;
24
+ this.#DomainEvents = deps.DomainEvents;
25
+ }
26
+
27
+ /**
28
+ * @private
29
+ */
30
+ mapToTier(model) {
31
+ const json = model.toJSON();
32
+ return {
33
+ id: json.id,
34
+ name: json.name,
35
+ slug: json.slug,
36
+ status: json.active ? 'active' : 'archived',
37
+ welcomePageURL: json.welcome_page_url,
38
+ visibility: json.visibility,
39
+ trialDays: json.trial_days,
40
+ description: json.description,
41
+ type: json.type,
42
+ currency: json.currency,
43
+ monthlyPrice: json.monthly_price,
44
+ yearlyPrice: json.yearly_price,
45
+ createdAt: json.created_at,
46
+ updatedAt: json.updated_at,
47
+ benefits: json.benefits.map(item => item.name)
48
+ };
49
+ }
50
+
51
+ /**
52
+ * @param {object} [options]
53
+ * @param {string} [options.filter]
54
+ * @returns {Promise<import('@tryghost/tiers/lib/Tier')[]>}
55
+ */
56
+ async getAll(options = {}) {
57
+ const collection = await this.#ProductModel.findAll({...options, withRelated: ['benefits']});
58
+
59
+ const result = [];
60
+
61
+ for (const model of collection.models) {
62
+ const tier = await Tier.create(this.mapToTier(model));
63
+ result.push(tier);
64
+ }
65
+
66
+ return result;
67
+ }
68
+
69
+ /**
70
+ * @param {import('bson-objectid').default} id
71
+ * @returns {Promise<import('@tryghost/tiers/lib/Tier')>}
72
+ */
73
+ async getById(id) {
74
+ const model = await this.#ProductModel.findOne({id: id.toHexString()}, {withRelated: ['benefits']});
75
+
76
+ return await Tier.create(this.mapToTier(model));
77
+ }
78
+
79
+ /**
80
+ * @param {import('@tryghost/tiers/lib/Tier')} tier
81
+ * @returns {Promise<void>}
82
+ */
83
+ async save(tier) {
84
+ const data = {
85
+ id: tier.id.toHexString(),
86
+ name: tier.name,
87
+ slug: tier.slug,
88
+ active: tier.status === 'active',
89
+ welcome_page_url: tier.welcomePageURL,
90
+ visibility: tier.visibility,
91
+ trial_days: tier.trialDays,
92
+ description: tier.description,
93
+ type: tier.type,
94
+ currency: tier.currency,
95
+ monthly_price: tier.monthlyPrice,
96
+ yearly_price: tier.yearlyPrice,
97
+ created_at: tier.createdAt,
98
+ updated_at: tier.updatedAt,
99
+ benefits: tier.benefits.map(name => ({name}))
100
+ };
101
+
102
+ const existing = await this.#ProductModel.findOne({id: data.id}, {require: false});
103
+
104
+ if (!existing) {
105
+ await this.#ProductModel.add(data);
106
+ } else {
107
+ await this.#ProductModel.edit(data, {
108
+ id: data.id
109
+ });
110
+ }
111
+
112
+ for (const event of tier.events) {
113
+ this.#DomainEvents.dispatch(event);
114
+ }
115
+ }
116
+ };
@@ -0,0 +1 @@
1
+ module.exports = require('./service');
@@ -0,0 +1,32 @@
1
+ class TiersServiceWrapper {
2
+ async init() {
3
+ if (this.api) {
4
+ // Already done
5
+ return;
6
+ }
7
+
8
+ const {TiersAPI} = require('@tryghost/tiers');
9
+ const DomainEvents = require('@tryghost/domain-events');
10
+
11
+ const models = require('../../models');
12
+ const TierRepository = require('./TierRepository');
13
+
14
+ const repository = new TierRepository({
15
+ ProductModel: models.Product,
16
+ DomainEvents
17
+ });
18
+
19
+ const slugService = {
20
+ async generate(input) {
21
+ return models.Product.generateSlug(models.Product, input, {});
22
+ }
23
+ };
24
+
25
+ this.api = new TiersAPI({
26
+ repository,
27
+ slugService
28
+ });
29
+ }
30
+ }
31
+
32
+ module.exports = new TiersServiceWrapper();
@@ -158,7 +158,7 @@
158
158
  },
159
159
  "portal": {
160
160
  "url": "https://cdn.jsdelivr.net/ghost/portal@~{version}/umd/portal.min.js",
161
- "version": "2.15"
161
+ "version": "2.19"
162
162
  },
163
163
  "sodoSearch": {
164
164
  "url": "https://cdn.jsdelivr.net/ghost/sodo-search@~{version}/umd/sodo-search.min.js",
@@ -20,23 +20,22 @@ const GA_FEATURES = [
20
20
  'compExpiring',
21
21
  'searchHelper',
22
22
  'emailAlerts',
23
- 'fixNewsletterLinks'
23
+ 'fixNewsletterLinks',
24
+ 'sourceAttribution',
25
+ 'memberAttribution',
26
+ 'audienceFeedback'
24
27
  ];
25
28
 
26
29
  // NOTE: this allowlist is meant to be used to filter out any unexpected
27
30
  // input for the "labs" setting value
28
31
  const BETA_FEATURES = [
29
- 'activitypub',
30
- 'sourceAttribution',
31
- 'memberAttribution'
32
+ 'activitypub'
32
33
  ];
33
34
 
34
35
  const ALPHA_FEATURES = [
35
36
  'urlCache',
36
37
  'beforeAfterCard',
37
- 'lexicalEditor',
38
- 'exploreApp',
39
- 'audienceFeedback'
38
+ 'lexicalEditor'
40
39
  ];
41
40
 
42
41
  module.exports.GA_KEYS = [...GA_FEATURES];
package/ghost.js CHANGED
@@ -18,6 +18,7 @@ const command = require('./core/cli/command');
18
18
  switch (mode) {
19
19
  case 'repl':
20
20
  case 'timetravel':
21
+ case 'generate-data':
21
22
  command.run(mode);
22
23
  break;
23
24
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.20.0",
3
+ "version": "5.21.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -54,77 +54,79 @@
54
54
  "dependencies": {
55
55
  "@sentry/node": "7.15.0",
56
56
  "@tryghost/adapter-base-cache": "0.1.2",
57
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.20.0.tgz",
57
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.21.0.tgz",
58
58
  "@tryghost/admin-api-schema": "4.2.0",
59
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.20.0.tgz",
60
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.20.0.tgz",
61
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.20.0.tgz",
62
- "@tryghost/bookshelf-plugins": "0.5.4",
63
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.20.0.tgz",
59
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.21.0.tgz",
60
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.21.0.tgz",
61
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.21.0.tgz",
62
+ "@tryghost/bookshelf-plugins": "0.6.1",
63
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.21.0.tgz",
64
64
  "@tryghost/color-utils": "0.1.21",
65
65
  "@tryghost/config-url-helpers": "1.0.3",
66
- "@tryghost/constants": "file:components/tryghost-constants-5.20.0.tgz",
67
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.20.0.tgz",
68
- "@tryghost/database-info": "0.3.11",
69
- "@tryghost/debug": "0.1.18",
70
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.20.0.tgz",
71
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.20.0.tgz",
72
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.20.0.tgz",
73
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.20.0.tgz",
66
+ "@tryghost/constants": "file:components/tryghost-constants-5.21.0.tgz",
67
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.21.0.tgz",
68
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.21.0.tgz",
69
+ "@tryghost/database-info": "0.3.12",
70
+ "@tryghost/debug": "0.1.19",
71
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.21.0.tgz",
72
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.21.0.tgz",
73
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.21.0.tgz",
74
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.21.0.tgz",
74
75
  "@tryghost/errors": "1.2.18",
75
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.20.0.tgz",
76
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.21.0.tgz",
76
77
  "@tryghost/helpers": "1.1.74",
77
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.20.0.tgz",
78
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.21.0.tgz",
78
79
  "@tryghost/http-cache-utils": "0.1.4",
79
80
  "@tryghost/image-transform": "1.2.2",
80
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.20.0.tgz",
81
- "@tryghost/kg-card-factory": "3.1.5",
81
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.21.0.tgz",
82
+ "@tryghost/kg-card-factory": "3.1.7",
82
83
  "@tryghost/kg-default-atoms": "3.1.4",
83
- "@tryghost/kg-default-cards": "5.18.3",
84
- "@tryghost/kg-lexical-html-renderer": "0.0.9",
85
- "@tryghost/kg-mobiledoc-html-renderer": "5.3.7",
84
+ "@tryghost/kg-default-cards": "5.18.5",
85
+ "@tryghost/kg-lexical-html-renderer": "0.0.10",
86
+ "@tryghost/kg-mobiledoc-html-renderer": "5.3.9",
86
87
  "@tryghost/limit-service": "1.2.3",
87
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.20.0.tgz",
88
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.20.0.tgz",
89
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.20.0.tgz",
88
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.21.0.tgz",
89
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.21.0.tgz",
90
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.21.0.tgz",
90
91
  "@tryghost/logging": "2.3.2",
91
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.20.0.tgz",
92
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.20.0.tgz",
93
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.20.0.tgz",
94
- "@tryghost/member-events": "file:components/tryghost-member-events-5.20.0.tgz",
95
- "@tryghost/members-api": "file:components/tryghost-members-api-5.20.0.tgz",
96
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.20.0.tgz",
97
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.20.0.tgz",
98
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.20.0.tgz",
99
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.20.0.tgz",
100
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.20.0.tgz",
101
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.20.0.tgz",
92
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.21.0.tgz",
93
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.21.0.tgz",
94
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.21.0.tgz",
95
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.21.0.tgz",
96
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.21.0.tgz",
97
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.21.0.tgz",
98
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.21.0.tgz",
99
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.21.0.tgz",
100
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.21.0.tgz",
101
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.21.0.tgz",
102
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.21.0.tgz",
102
103
  "@tryghost/metrics": "1.0.16",
103
- "@tryghost/minifier": "file:components/tryghost-minifier-5.20.0.tgz",
104
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.20.0.tgz",
105
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.20.0.tgz",
106
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.20.0.tgz",
107
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.20.0.tgz",
108
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.20.0.tgz",
104
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.21.0.tgz",
105
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.21.0.tgz",
106
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.21.0.tgz",
107
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.21.0.tgz",
108
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.21.0.tgz",
109
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.21.0.tgz",
109
110
  "@tryghost/nodemailer": "0.3.29",
110
- "@tryghost/nql": "0.9.2",
111
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.20.0.tgz",
112
- "@tryghost/package-json": "file:components/tryghost-package-json-5.20.0.tgz",
111
+ "@tryghost/nql": "0.11.0",
112
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.21.0.tgz",
113
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.21.0.tgz",
113
114
  "@tryghost/pretty-cli": "1.2.31",
114
115
  "@tryghost/promise": "0.1.22",
115
116
  "@tryghost/request": "0.1.31",
116
- "@tryghost/security": "file:components/tryghost-security-5.20.0.tgz",
117
- "@tryghost/session-service": "file:components/tryghost-session-service-5.20.0.tgz",
118
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.20.0.tgz",
117
+ "@tryghost/security": "file:components/tryghost-security-5.21.0.tgz",
118
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.21.0.tgz",
119
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.21.0.tgz",
119
120
  "@tryghost/social-urls": "0.1.33",
120
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.20.0.tgz",
121
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.20.0.tgz",
121
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.21.0.tgz",
122
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.21.0.tgz",
122
123
  "@tryghost/string": "0.2.1",
123
- "@tryghost/tpl": "0.1.18",
124
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.20.0.tgz",
124
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.21.0.tgz",
125
+ "@tryghost/tpl": "0.1.19",
126
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.21.0.tgz",
125
127
  "@tryghost/url-utils": "4.2.0",
126
128
  "@tryghost/validator": "0.1.29",
127
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.20.0.tgz",
129
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.21.0.tgz",
128
130
  "@tryghost/version": "0.1.16",
129
131
  "@tryghost/zip": "1.1.29",
130
132
  "amperize": "0.6.1",
@@ -146,7 +148,7 @@
146
148
  "express": "4.18.2",
147
149
  "express-brute": "1.0.1",
148
150
  "express-hbs": "2.4.0",
149
- "express-jwt": "7.7.5",
151
+ "express-jwt": "7.7.7",
150
152
  "express-lazy-router": "1.0.4",
151
153
  "express-query-boolean": "2.0.0",
152
154
  "express-session": "1.17.3",
@@ -178,27 +180,27 @@
178
180
  "path-match": "1.2.4",
179
181
  "probe-image-size": "7.2.3",
180
182
  "rss": "1.2.2",
181
- "sanitize-html": "2.7.2",
183
+ "sanitize-html": "2.7.3",
182
184
  "semver": "7.3.8",
183
185
  "stoppable": "1.1.0",
184
186
  "uuid": "9.0.0",
185
187
  "xml": "1.0.1"
186
188
  },
187
189
  "optionalDependencies": {
188
- "@tryghost/html-to-mobiledoc": "1.8.16",
190
+ "@tryghost/html-to-mobiledoc": "1.8.19",
189
191
  "sqlite3": "5.1.2"
190
192
  },
191
193
  "devDependencies": {
192
194
  "@playwright/test": "1.27.1",
193
195
  "@tryghost/express-test": "0.11.5",
194
- "@tryghost/webhook-mock-receiver": "0.2.0",
196
+ "@tryghost/webhook-mock-receiver": "0.2.1",
195
197
  "@types/common-tags": "1.8.1",
196
198
  "c8": "7.12.0",
197
199
  "cli-progress": "3.11.2",
198
200
  "cssnano": "5.1.13",
199
- "eslint": "8.25.0",
200
- "html-validate": "7.6.0",
201
- "inquirer": "8.2.4",
201
+ "eslint": "8.26.0",
202
+ "html-validate": "7.7.1",
203
+ "inquirer": "8.2.5",
202
204
  "jwks-rsa": "2.1.5",
203
205
  "mocha": "10.1.0",
204
206
  "mocha-slow-test-reporter": "0.1.2",
@@ -210,63 +212,64 @@
210
212
  "rewire": "6.0.0",
211
213
  "should": "13.2.3",
212
214
  "sinon": "14.0.1",
213
- "supertest": "6.3.0",
215
+ "supertest": "6.3.1",
214
216
  "tmp": "0.2.1"
215
217
  },
216
218
  "resolutions": {
217
219
  "@tryghost/logging": "2.3.2",
218
220
  "moment": "2.24.0",
219
221
  "moment-timezone": "0.5.23",
220
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.20.0.tgz",
221
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.20.0.tgz",
222
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.20.0.tgz",
223
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.20.0.tgz",
224
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.20.0.tgz",
225
- "@tryghost/constants": "file:components/tryghost-constants-5.20.0.tgz",
226
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.20.0.tgz",
227
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.20.0.tgz",
228
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.20.0.tgz",
229
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.20.0.tgz",
230
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.20.0.tgz",
231
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.20.0.tgz",
232
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.20.0.tgz",
233
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.20.0.tgz",
234
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.20.0.tgz",
235
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.20.0.tgz",
236
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.20.0.tgz",
237
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.20.0.tgz",
238
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.20.0.tgz",
239
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.20.0.tgz",
240
- "@tryghost/member-analytics-service": "file:components/tryghost-member-analytics-service-5.20.0.tgz",
241
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.20.0.tgz",
242
- "@tryghost/member-events": "file:components/tryghost-member-events-5.20.0.tgz",
243
- "@tryghost/members-analytics-ingress": "file:components/tryghost-members-analytics-ingress-5.20.0.tgz",
244
- "@tryghost/members-api": "file:components/tryghost-members-api-5.20.0.tgz",
245
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.20.0.tgz",
246
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.20.0.tgz",
247
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.20.0.tgz",
248
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.20.0.tgz",
249
- "@tryghost/minifier": "file:components/tryghost-minifier-5.20.0.tgz",
250
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.20.0.tgz",
251
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.20.0.tgz",
252
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.20.0.tgz",
253
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.20.0.tgz",
254
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.20.0.tgz",
255
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.20.0.tgz",
256
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.20.0.tgz",
257
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.20.0.tgz",
258
- "@tryghost/package-json": "file:components/tryghost-package-json-5.20.0.tgz",
259
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.20.0.tgz",
260
- "@tryghost/referrers": "file:components/tryghost-referrers-5.20.0.tgz",
261
- "@tryghost/security": "file:components/tryghost-security-5.20.0.tgz",
262
- "@tryghost/session-service": "file:components/tryghost-session-service-5.20.0.tgz",
263
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.20.0.tgz",
264
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.20.0.tgz",
265
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.20.0.tgz",
266
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.20.0.tgz",
267
- "@tryghost/tiers": "file:components/tryghost-tiers-5.20.0.tgz",
268
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.20.0.tgz",
269
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.20.0.tgz",
270
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.20.0.tgz"
222
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.21.0.tgz",
223
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.21.0.tgz",
224
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.21.0.tgz",
225
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.21.0.tgz",
226
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.21.0.tgz",
227
+ "@tryghost/constants": "file:components/tryghost-constants-5.21.0.tgz",
228
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.21.0.tgz",
229
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.21.0.tgz",
230
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.21.0.tgz",
231
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.21.0.tgz",
232
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.21.0.tgz",
233
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.21.0.tgz",
234
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.21.0.tgz",
235
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.21.0.tgz",
236
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.21.0.tgz",
237
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.21.0.tgz",
238
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.21.0.tgz",
239
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.21.0.tgz",
240
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.21.0.tgz",
241
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.21.0.tgz",
242
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.21.0.tgz",
243
+ "@tryghost/member-analytics-service": "file:components/tryghost-member-analytics-service-5.21.0.tgz",
244
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.21.0.tgz",
245
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.21.0.tgz",
246
+ "@tryghost/members-analytics-ingress": "file:components/tryghost-members-analytics-ingress-5.21.0.tgz",
247
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.21.0.tgz",
248
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.21.0.tgz",
249
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.21.0.tgz",
250
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.21.0.tgz",
251
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.21.0.tgz",
252
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.21.0.tgz",
253
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.21.0.tgz",
254
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.21.0.tgz",
255
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.21.0.tgz",
256
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.21.0.tgz",
257
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.21.0.tgz",
258
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.21.0.tgz",
259
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.21.0.tgz",
260
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.21.0.tgz",
261
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.21.0.tgz",
262
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.21.0.tgz",
263
+ "@tryghost/referrers": "file:components/tryghost-referrers-5.21.0.tgz",
264
+ "@tryghost/security": "file:components/tryghost-security-5.21.0.tgz",
265
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.21.0.tgz",
266
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.21.0.tgz",
267
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.21.0.tgz",
268
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.21.0.tgz",
269
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.21.0.tgz",
270
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.21.0.tgz",
271
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.21.0.tgz",
272
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.21.0.tgz",
273
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.21.0.tgz"
271
274
  }
272
275
  }