ghost 4.42.1 → 4.44.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 (128) hide show
  1. package/content/themes/casper/package.json +2 -3
  2. package/content/themes/casper/partials/post-card.hbs +1 -1
  3. package/core/built/assets/ghost-dark-470c1ef06b10e5c40ad05f3a642eaaea.css +1 -0
  4. package/core/built/assets/{ghost.min-20096eef632760c3a2906e243adbd24b.js → ghost.min-1e7dce606e92a03207d15ae7eb3d3c23.js} +411 -323
  5. package/core/built/assets/ghost.min-d0c17e8314b5583c0df5d05fab3c051c.css +1 -0
  6. package/core/built/assets/{vendor.min-21f79c68a284acb1b70039f3f63e5507.js → vendor.min-fe2c9b1235b4119b5406b788db2db434.js} +88 -82
  7. package/core/frontend/apps/amp/lib/helpers/amp_analytics.js +1 -1
  8. package/core/frontend/apps/amp/lib/helpers/amp_components.js +1 -1
  9. package/core/frontend/apps/amp/lib/helpers/amp_content.js +1 -1
  10. package/core/frontend/apps/amp/lib/helpers/amp_style.js +1 -1
  11. package/core/frontend/apps/amp/lib/router.js +6 -5
  12. package/core/frontend/apps/private-blogging/lib/helpers/input_password.js +1 -1
  13. package/core/frontend/apps/private-blogging/lib/router.js +2 -2
  14. package/core/frontend/helpers/asset.js +1 -1
  15. package/core/frontend/helpers/author.js +1 -1
  16. package/core/frontend/helpers/authors.js +1 -1
  17. package/core/frontend/helpers/body_class.js +1 -1
  18. package/core/frontend/helpers/cancel_link.js +1 -1
  19. package/core/frontend/helpers/concat.js +1 -1
  20. package/core/frontend/helpers/content.js +1 -1
  21. package/core/frontend/helpers/date.js +1 -1
  22. package/core/frontend/helpers/encode.js +1 -1
  23. package/core/frontend/helpers/excerpt.js +1 -1
  24. package/core/frontend/helpers/facebook_url.js +1 -1
  25. package/core/frontend/helpers/foreach.js +2 -2
  26. package/core/frontend/helpers/get.js +1 -1
  27. package/core/frontend/helpers/ghost_foot.js +1 -1
  28. package/core/frontend/helpers/ghost_head.js +1 -1
  29. package/core/frontend/helpers/lang.js +1 -1
  30. package/core/frontend/helpers/link.js +1 -1
  31. package/core/frontend/helpers/link_class.js +1 -1
  32. package/core/frontend/helpers/match.js +1 -1
  33. package/core/frontend/helpers/navigation.js +1 -1
  34. package/core/frontend/helpers/pagination.js +1 -1
  35. package/core/frontend/helpers/plural.js +1 -1
  36. package/core/frontend/helpers/post_class.js +1 -1
  37. package/core/frontend/helpers/prev_post.js +6 -5
  38. package/core/frontend/helpers/products.js +1 -1
  39. package/core/frontend/helpers/reading_time.js +2 -2
  40. package/core/frontend/helpers/t.js +1 -1
  41. package/core/frontend/helpers/tags.js +1 -1
  42. package/core/frontend/helpers/tiers.js +1 -1
  43. package/core/frontend/helpers/title.js +1 -1
  44. package/core/frontend/helpers/twitter_url.js +1 -1
  45. package/core/frontend/helpers/url.js +1 -1
  46. package/core/frontend/meta/url.js +4 -4
  47. package/core/{server/data/schema → frontend/services/data}/checks.js +4 -4
  48. package/core/frontend/services/{routing/helpers → data}/entry-lookup.js +3 -3
  49. package/core/frontend/services/{routing/helpers → data}/fetch-data.js +3 -3
  50. package/core/frontend/services/data/index.js +5 -0
  51. package/core/frontend/services/{rendering.js → handlebars.js} +2 -1
  52. package/core/frontend/services/helpers/handlebars.js +1 -1
  53. package/core/frontend/services/proxy.js +2 -4
  54. package/core/frontend/services/{routing/helpers → rendering}/context.js +0 -0
  55. package/core/frontend/services/{routing/helpers → rendering}/error.js +0 -0
  56. package/core/frontend/services/{routing/helpers → rendering}/format-response.js +1 -1
  57. package/core/frontend/services/{routing/helpers → rendering}/index.js +0 -8
  58. package/core/frontend/services/{routing/helpers → rendering}/render-entries.js +1 -1
  59. package/core/frontend/services/{routing/helpers → rendering}/render-entry.js +1 -1
  60. package/core/frontend/services/{routing/helpers → rendering}/renderer.js +1 -1
  61. package/core/frontend/services/{routing/helpers → rendering}/secure.js +0 -0
  62. package/core/frontend/services/{routing/helpers → rendering}/templates.js +2 -2
  63. package/core/frontend/services/routing/CollectionRouter.js +1 -1
  64. package/core/frontend/services/routing/controllers/channel.js +9 -9
  65. package/core/frontend/services/routing/controllers/collection.js +9 -9
  66. package/core/frontend/services/routing/controllers/email-post.js +5 -6
  67. package/core/frontend/services/routing/controllers/entry.js +6 -6
  68. package/core/frontend/services/routing/controllers/preview.js +5 -6
  69. package/core/frontend/services/routing/controllers/rss.js +4 -3
  70. package/core/frontend/services/routing/controllers/static.js +5 -5
  71. package/core/frontend/services/routing/controllers/unsubscribe.js +2 -2
  72. package/core/frontend/services/routing/index.js +0 -4
  73. package/core/frontend/web/middleware/error-handler.js +2 -2
  74. package/core/server/api/canary/authentication.js +2 -2
  75. package/core/server/api/canary/posts.js +1 -0
  76. package/core/server/api/canary/stats.js +9 -0
  77. package/core/server/api/canary/utils/serializers/output/members.js +8 -0
  78. package/core/server/api/canary/utils/validators/input/index.js +6 -0
  79. package/core/server/api/shared/http.js +52 -51
  80. package/core/server/data/exporter/table-lists.js +1 -0
  81. package/core/server/data/migrations/utils.js +33 -1
  82. package/core/server/data/migrations/versions/4.42/2022-03-21-17-17-add.js +5 -0
  83. package/core/server/data/migrations/versions/4.43/2022-03-28-19-26-recreate-newsletter-table.js +29 -0
  84. package/core/server/data/migrations/versions/4.43/2022-03-29-14-45-add-members-newsletters-table.js +7 -0
  85. package/core/server/data/migrations/versions/4.43/2022-04-01-10-13-add-post-newsletter-relation.js +108 -0
  86. package/core/server/data/migrations/versions/4.43/2022-04-06-09-47-add-type-column-to-paid-subscription-events.js +7 -0
  87. package/core/server/data/migrations/versions/4.43/2022-04-06-14-56-add-email-newsletter-relation.js +8 -0
  88. package/core/server/data/migrations/versions/4.43/2022-04-08-10-45-add-subscription-id-to-mrr-events.js +7 -0
  89. package/core/server/data/migrations/versions/4.44/2022-04-06-15-22-populate-type-column-for-paid-subscription-events.js +21 -0
  90. package/core/server/data/migrations/versions/4.44/2022-04-08-11-54-add-cancelled-events.js +51 -0
  91. package/core/server/data/migrations/versions/4.44/2022-04-11-08-24-add-newsletter-permissions.js +33 -0
  92. package/core/server/data/migrations/versions/4.44/2022-04-11-10-54-add-mrr-to-subscriptions.js +8 -0
  93. package/core/server/data/migrations/versions/4.44/2022-04-12-07-33-fill-mrr.js +29 -0
  94. package/core/server/data/migrations/versions/4.44/2022-04-13-12-00-remove-newsletter-sender-name-not-null-constraint.js +33 -0
  95. package/core/server/data/migrations/versions/4.44/2022-04-15-07-53-add-offer-id-to-subscriptions.js +9 -0
  96. package/core/server/data/schema/commands.js +6 -1
  97. package/core/server/data/schema/fixtures/fixtures.json +26 -1
  98. package/core/server/data/schema/index.js +0 -1
  99. package/core/server/data/schema/schema.js +36 -16
  100. package/core/server/models/base/bookshelf.js +1 -1
  101. package/core/server/models/base/plugins/crud.js +8 -0
  102. package/core/server/models/member.js +21 -1
  103. package/core/server/models/newsletter.js +42 -1
  104. package/core/server/models/post.js +12 -2
  105. package/core/server/models/stripe-customer-subscription.js +4 -0
  106. package/core/server/services/auth/setup.js +21 -8
  107. package/core/server/services/mega/mega.js +3 -1
  108. package/core/server/services/members/api.js +3 -1
  109. package/core/server/services/members/middleware.js +13 -3
  110. package/core/server/services/members/service.js +3 -11
  111. package/core/server/services/members/utils.js +13 -1
  112. package/core/server/services/newsletters/index.js +10 -0
  113. package/core/server/services/newsletters/service.js +24 -0
  114. package/core/server/services/posts/posts-service.js +20 -1
  115. package/core/server/services/slack.js +11 -3
  116. package/core/server/services/stats/lib/members-stats-service.js +30 -34
  117. package/core/server/services/stats/lib/mrr-stats-service.js +154 -0
  118. package/core/server/services/stats/service.js +3 -1
  119. package/core/server/services/stripe/service.js +1 -0
  120. package/core/server/web/admin/views/default-prod.html +4 -4
  121. package/core/server/web/admin/views/default.html +4 -4
  122. package/core/server/web/api/canary/admin/routes.js +1 -0
  123. package/core/shared/config/defaults.json +2 -2
  124. package/package.json +39 -39
  125. package/yarn.lock +410 -369
  126. package/content/themes/casper/assets/css/csscomb.json +0 -240
  127. package/core/built/assets/ghost-dark-a93afb20027060d760ac6d78f115a76f.css +0 -1
  128. package/core/built/assets/ghost.min-ce35ef1b76d9a943ab912c076773b132.css +0 -1
@@ -8,7 +8,7 @@
8
8
  <title>Ghost Admin</title>
9
9
 
10
10
 
11
- <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%224.42%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22moment%22%3A%7B%22includeTimezone%22%3A%22all%22%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%7D" />
11
+ <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%224.44%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22moment%22%3A%7B%22includeTimezone%22%3A%22all%22%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%7D" />
12
12
 
13
13
  <meta name="HandheldFriendly" content="True" />
14
14
  <meta name="MobileOptimized" content="320" />
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
  <link rel="stylesheet" href="assets/vendor.min-ba66b98f7c24fa40e061c7ffc94f4e23.css">
41
- <link rel="stylesheet" href="assets/ghost.min-ce35ef1b76d9a943ab912c076773b132.css" title="light">
41
+ <link rel="stylesheet" href="assets/ghost.min-d0c17e8314b5583c0df5d05fab3c051c.css" title="light">
42
42
 
43
43
 
44
44
 
@@ -56,8 +56,8 @@
56
56
  <div id="ember-basic-dropdown-wormhole"></div>
57
57
 
58
58
 
59
- <script src="assets/vendor.min-21f79c68a284acb1b70039f3f63e5507.js"></script>
60
- <script src="assets/ghost.min-20096eef632760c3a2906e243adbd24b.js"></script>
59
+ <script src="assets/vendor.min-fe2c9b1235b4119b5406b788db2db434.js"></script>
60
+ <script src="assets/ghost.min-1e7dce606e92a03207d15ae7eb3d3c23.js"></script>
61
61
 
62
62
  </body>
63
63
  </html>
@@ -8,7 +8,7 @@
8
8
  <title>Ghost Admin</title>
9
9
 
10
10
 
11
- <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%224.42%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22moment%22%3A%7B%22includeTimezone%22%3A%22all%22%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%7D" />
11
+ <meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%2F%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%224.44%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22moment%22%3A%7B%22includeTimezone%22%3A%22all%22%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%7D" />
12
12
 
13
13
  <meta name="HandheldFriendly" content="True" />
14
14
  <meta name="MobileOptimized" content="320" />
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
  <link rel="stylesheet" href="assets/vendor.min-ba66b98f7c24fa40e061c7ffc94f4e23.css">
41
- <link rel="stylesheet" href="assets/ghost.min-ce35ef1b76d9a943ab912c076773b132.css" title="light">
41
+ <link rel="stylesheet" href="assets/ghost.min-d0c17e8314b5583c0df5d05fab3c051c.css" title="light">
42
42
 
43
43
 
44
44
 
@@ -56,8 +56,8 @@
56
56
  <div id="ember-basic-dropdown-wormhole"></div>
57
57
 
58
58
 
59
- <script src="assets/vendor.min-21f79c68a284acb1b70039f3f63e5507.js"></script>
60
- <script src="assets/ghost.min-20096eef632760c3a2906e243adbd24b.js"></script>
59
+ <script src="assets/vendor.min-fe2c9b1235b4119b5406b788db2db434.js"></script>
60
+ <script src="assets/ghost.min-1e7dce606e92a03207d15ae7eb3d3c23.js"></script>
61
61
 
62
62
  </body>
63
63
  </html>
@@ -139,6 +139,7 @@ module.exports = function apiRoutes() {
139
139
 
140
140
  // ## Stats
141
141
  router.get('/stats/member_count', mw.authAdminApi, http(api.stats.memberCountHistory));
142
+ router.get('/stats/mrr', mw.authAdminApi, http(api.stats.mrr));
142
143
 
143
144
  // ## Labels
144
145
  router.get('/labels', mw.authAdminApi, http(api.labels.browse));
@@ -128,8 +128,8 @@
128
128
  "emailAnalytics": true
129
129
  },
130
130
  "portal": {
131
- "url": "https://unpkg.com/@tryghost/portal@~1.18.0/umd/portal.min.js",
132
- "version": "1.18"
131
+ "url": "https://unpkg.com/@tryghost/portal@~1.20.0/umd/portal.min.js",
132
+ "version": "1.20"
133
133
  },
134
134
  "tenor": {
135
135
  "publicReadOnlyApiKey": null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "4.42.1",
3
+ "version": "4.44.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -55,23 +55,23 @@
55
55
  "cli": "^1.17.0"
56
56
  },
57
57
  "dependencies": {
58
- "@sentry/node": "6.19.3",
58
+ "@sentry/node": "6.19.6",
59
59
  "@tryghost/adapter-manager": "0.2.28",
60
- "@tryghost/admin-api-schema": "2.12.1",
61
- "@tryghost/bookshelf-plugins": "0.3.15",
60
+ "@tryghost/admin-api-schema": "2.14.0",
61
+ "@tryghost/bookshelf-plugins": "0.3.18",
62
62
  "@tryghost/bootstrap-socket": "0.2.17",
63
63
  "@tryghost/color-utils": "0.1.12",
64
64
  "@tryghost/config-url-helpers": "0.1.5",
65
65
  "@tryghost/constants": "1.0.2",
66
66
  "@tryghost/custom-theme-settings-service": "0.3.2",
67
- "@tryghost/database-info": "0.3.0",
67
+ "@tryghost/database-info": "0.3.1",
68
68
  "@tryghost/debug": "0.1.14",
69
69
  "@tryghost/domain-events": "0.1.9",
70
70
  "@tryghost/email-analytics-provider-mailgun": "1.0.8",
71
71
  "@tryghost/email-analytics-service": "1.0.6",
72
- "@tryghost/errors": "1.2.7",
73
- "@tryghost/express-dynamic-redirects": "0.2.7",
74
- "@tryghost/helpers": "1.1.62",
72
+ "@tryghost/errors": "1.2.10",
73
+ "@tryghost/express-dynamic-redirects": "0.2.8",
74
+ "@tryghost/helpers": "1.1.63",
75
75
  "@tryghost/image-transform": "1.0.29",
76
76
  "@tryghost/job-manager": "0.8.21",
77
77
  "@tryghost/kg-card-factory": "3.1.3",
@@ -80,24 +80,24 @@
80
80
  "@tryghost/kg-markdown-html-renderer": "5.1.5",
81
81
  "@tryghost/kg-mobiledoc-html-renderer": "5.3.5",
82
82
  "@tryghost/limit-service": "1.0.10",
83
- "@tryghost/logging": "2.1.2",
83
+ "@tryghost/logging": "2.1.5",
84
84
  "@tryghost/magic-link": "1.0.21",
85
85
  "@tryghost/member-events": "0.4.1",
86
- "@tryghost/members-api": "5.4.1",
87
- "@tryghost/members-events-service": "0.3.2",
88
- "@tryghost/members-importer": "0.5.6",
86
+ "@tryghost/members-api": "5.9.1",
87
+ "@tryghost/members-events-service": "0.3.3",
88
+ "@tryghost/members-importer": "0.5.8",
89
89
  "@tryghost/members-offers": "0.10.9",
90
90
  "@tryghost/members-ssr": "1.0.23",
91
- "@tryghost/members-stripe-service": "0.9.2",
91
+ "@tryghost/members-stripe-service": "0.10.0",
92
92
  "@tryghost/metrics": "1.0.8",
93
93
  "@tryghost/minifier": "0.1.12",
94
- "@tryghost/mw-error-handler": "0.1.7",
94
+ "@tryghost/mw-error-handler": "0.2.0",
95
95
  "@tryghost/mw-session-from-token": "0.1.28",
96
- "@tryghost/nodemailer": "0.3.17",
96
+ "@tryghost/nodemailer": "0.3.20",
97
97
  "@tryghost/nql": "0.9.1",
98
98
  "@tryghost/package-json": "1.0.18",
99
99
  "@tryghost/promise": "0.1.15",
100
- "@tryghost/request": "0.1.21",
100
+ "@tryghost/request": "0.1.24",
101
101
  "@tryghost/root-utils": "0.3.12",
102
102
  "@tryghost/security": "0.2.15",
103
103
  "@tryghost/session-service": "0.1.38",
@@ -107,15 +107,15 @@
107
107
  "@tryghost/tpl": "0.1.14",
108
108
  "@tryghost/update-check-service": "0.3.2",
109
109
  "@tryghost/url-utils": "2.1.0",
110
- "@tryghost/validator": "0.1.19",
111
- "@tryghost/verification-trigger": "0.1.6",
110
+ "@tryghost/validator": "0.1.22",
111
+ "@tryghost/verification-trigger": "0.2.0",
112
112
  "@tryghost/version": "0.1.12",
113
113
  "@tryghost/vhost-middleware": "1.0.22",
114
114
  "@tryghost/zip": "1.1.22",
115
115
  "amperize": "0.6.1",
116
116
  "analytics-node": "6.0.0",
117
117
  "bluebird": "3.7.2",
118
- "body-parser": "1.19.2",
118
+ "body-parser": "1.20.0",
119
119
  "bookshelf": "1.2.0",
120
120
  "bookshelf-relations": "2.4.0",
121
121
  "brute-knex": "4.0.1",
@@ -138,7 +138,7 @@
138
138
  "ghost-storage-base": "1.0.0",
139
139
  "glob": "7.2.0",
140
140
  "got": "9.6.0",
141
- "gscan": "4.26.1",
141
+ "gscan": "4.27.0",
142
142
  "html-to-text": "5.1.1",
143
143
  "image-size": "1.0.1",
144
144
  "intl": "1.2.5",
@@ -148,25 +148,25 @@
148
148
  "jsonwebtoken": "8.5.1",
149
149
  "juice": "8.0.0",
150
150
  "keypair": "1.0.4",
151
- "knex": "1.0.4",
152
- "knex-migrator": "4.2.5",
151
+ "knex": "1.0.7",
152
+ "knex-migrator": "4.2.6",
153
153
  "lodash": "4.17.21",
154
154
  "luxon": "2.3.1",
155
155
  "mailgun-js": "0.22.0",
156
- "metascraper": "5.28.2",
157
- "metascraper-author": "5.28.2",
158
- "metascraper-description": "5.28.2",
159
- "metascraper-image": "5.28.2",
160
- "metascraper-logo": "5.28.2",
161
- "metascraper-logo-favicon": "5.28.5",
162
- "metascraper-publisher": "5.28.2",
163
- "metascraper-title": "5.28.2",
164
- "metascraper-url": "5.28.2",
156
+ "metascraper": "5.29.3",
157
+ "metascraper-author": "5.29.3",
158
+ "metascraper-description": "5.29.3",
159
+ "metascraper-image": "5.29.3",
160
+ "metascraper-logo": "5.29.3",
161
+ "metascraper-logo-favicon": "5.29.3",
162
+ "metascraper-publisher": "5.29.3",
163
+ "metascraper-title": "5.29.3",
164
+ "metascraper-url": "5.29.3",
165
165
  "moment": "2.24.0",
166
166
  "moment-timezone": "0.5.23",
167
167
  "multer": "1.4.4",
168
168
  "mysql2": "2.3.3",
169
- "nconf": "0.11.3",
169
+ "nconf": "0.12.0",
170
170
  "node-jose": "2.1.1",
171
171
  "oembed-parser": "1.4.9",
172
172
  "passport": "0.5.2",
@@ -175,7 +175,7 @@
175
175
  "probe-image-size": "7.2.3",
176
176
  "rss": "1.2.2",
177
177
  "sanitize-html": "2.7.0",
178
- "semver": "7.3.5",
178
+ "semver": "7.3.7",
179
179
  "stoppable": "1.1.0",
180
180
  "tough-cookie": "4.0.0",
181
181
  "uuid": "8.3.2",
@@ -187,14 +187,14 @@
187
187
  },
188
188
  "devDependencies": {
189
189
  "@lodder/grunt-postcss": "3.1.1",
190
- "@playwright/test": "1.20.1",
191
- "@tryghost/express-test": "0.8.0",
190
+ "@playwright/test": "1.20.2",
191
+ "@tryghost/express-test": "0.8.3",
192
192
  "c8": "7.11.0",
193
193
  "coffeescript": "2.6.1",
194
- "cssnano": "5.1.6",
195
- "eslint": "8.12.0",
194
+ "cssnano": "5.1.7",
195
+ "eslint": "8.13.0",
196
196
  "eslint-plugin-ghost": "2.13.0",
197
- "grunt": "1.4.1",
197
+ "grunt": "1.5.2",
198
198
  "grunt-bg-shell": "2.3.3",
199
199
  "grunt-contrib-clean": "2.0.0",
200
200
  "grunt-contrib-compress": "2.0.0",
@@ -219,7 +219,7 @@
219
219
  "tmp": "0.2.1"
220
220
  },
221
221
  "resolutions": {
222
- "@tryghost/logging": "2.1.2",
222
+ "@tryghost/logging": "2.1.5",
223
223
  "moment": "2.24.0",
224
224
  "moment-timezone": "0.5.23"
225
225
  }