ghost 4.18.0 → 4.20.1

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 (237) hide show
  1. package/.eslintrc.js +9 -8
  2. package/Gruntfile.js +1 -1
  3. package/PRIVACY.md +3 -0
  4. package/content/adapters/README.md +2 -2
  5. package/core/boot.js +17 -12
  6. package/core/bridge.js +9 -1
  7. package/core/built/assets/{chunk.3.b80d3e1e6b8556aaff3c.js → chunk.3.777d43e2ce954ba8b2f5.js} +25 -25
  8. package/core/built/assets/codemirror/{codemirror-21a09582262987037db73b152fb35f7c.js → codemirror-d25c379b87ec8b33d54ac7149bc0b6ae.js} +14 -14
  9. package/core/built/assets/ghost-dark-20e2892d4f30d0d1183c9ac725ea37d0.css +1 -0
  10. package/core/built/assets/{ghost.min-88d647a008a5b1dd678a89ae1e55c038.js → ghost.min-26e427944e719b616b8dc7fbb3bbd2f9.js} +709 -422
  11. package/core/built/assets/ghost.min-57e46fd3b1145ecf2cbd185a13611f3b.css +1 -0
  12. package/core/built/assets/icons/arrow-left-small.svg +0 -4
  13. package/core/built/assets/icons/paintbrush.svg +10 -1
  14. package/core/built/assets/icons/post.svg +3 -1
  15. package/core/built/assets/img/footer-marketplace-bg-572b6c6486a7e26316954d599eaa9f30.png +0 -0
  16. package/core/built/assets/img/marketing/offers-1-f2e1b653c4d5bb90eea9d7a2862530f9.jpg +0 -0
  17. package/core/built/assets/img/marketing/offers-2-28a225d34cc39d133748431536961d00.jpg +0 -0
  18. package/core/built/assets/img/marketing/offers-3-2094c91ab21a16c37fbe6ec16c140160.jpg +0 -0
  19. package/core/built/assets/img/themes/Alto-f4db5af43ca9771c7ac1f754de3ddf2f.png +0 -0
  20. package/core/built/assets/img/themes/Bulletin-57d45b992ff0e26e0acdce7ed4cccd67.png +0 -0
  21. package/core/built/assets/img/themes/Casper-c7e784d7188cc5d7f097d9b6c97b0263.jpg +0 -0
  22. package/core/built/assets/img/themes/Dawn-be81aa8c8caae8fcfb5d5fbec823fdcc.png +0 -0
  23. package/core/built/assets/img/themes/Digest-d3467ac22a290e1ad3a543014758286e.png +0 -0
  24. package/core/built/assets/img/themes/Dope-6f8e0bbc199ce4af9a60859e9e6a74ad.png +0 -0
  25. package/core/built/assets/img/themes/Ease-9c279ea6cec3c0f1823f81c9dd24b116.png +0 -0
  26. package/core/built/assets/img/themes/Edge-0258906309e11fd075a1d9880aa09b20.png +0 -0
  27. package/core/built/assets/img/themes/Edition-d8f508e93bc24bdf2716ae6f8b3d44f8.png +0 -0
  28. package/core/built/assets/img/themes/Editorial-a25a4a34c04dedd858bd5e05ef388b1c.jpg +0 -0
  29. package/core/built/assets/img/themes/Journal-accf0031bbae0919900a049061e65a04.png +0 -0
  30. package/core/built/assets/img/themes/London-3f07efcee9e5bfb9a33827064eb77e70.jpg +0 -0
  31. package/core/built/assets/img/themes/Massively-06edf00108429f7fb8e65f190fba34fe.jpg +0 -0
  32. package/core/built/assets/img/themes/Ruby-11a53c62015612f4b3aca8f503121225.png +0 -0
  33. package/core/built/assets/img/themes/Wave-86e8044c2d76cb57a9030e4c24ac9520.png +0 -0
  34. package/core/built/assets/simplemde/{simplemde-232f69d126310434489071a1891e6d8b.js → simplemde-3ffc0ec9e9fecf29b9a499db678c9e65.js} +14 -14
  35. package/core/built/assets/{vendor.min-7dc7cf9c92175ebfb9cea95c120ee8a7.js → vendor.min-af502ac4142871500fc424f6a5a254ec.js} +2206 -1859
  36. package/core/frontend/apps/amp/lib/router.js +1 -1
  37. package/core/frontend/helpers/match.js +17 -23
  38. package/core/frontend/meta/author-url.js +1 -1
  39. package/core/frontend/meta/url.js +1 -1
  40. package/core/{server → frontend}/public/favicon.ico +0 -0
  41. package/core/{server → frontend}/public/ghost.css +0 -0
  42. package/core/{server → frontend}/public/ghost.min.css +0 -0
  43. package/core/{server → frontend}/public/robots.txt +0 -0
  44. package/core/{server → frontend}/public/sitemap.xsl +0 -0
  45. package/core/frontend/services/proxy.js +1 -1
  46. package/core/frontend/services/rendering.js +1 -1
  47. package/core/frontend/services/routing/CollectionRouter.js +3 -49
  48. package/core/frontend/services/routing/ParentRouter.js +1 -4
  49. package/core/frontend/services/routing/StaticPagesRouter.js +3 -5
  50. package/core/frontend/services/routing/StaticRoutesRouter.js +4 -6
  51. package/core/frontend/services/routing/TaxonomyRouter.js +4 -5
  52. package/core/frontend/services/routing/controllers/collection.js +2 -2
  53. package/core/frontend/services/routing/controllers/email-post.js +2 -2
  54. package/core/frontend/services/routing/controllers/entry.js +2 -2
  55. package/core/frontend/services/routing/controllers/preview.js +2 -2
  56. package/core/frontend/services/routing/index.js +6 -12
  57. package/core/frontend/services/routing/registry.js +13 -0
  58. package/core/frontend/services/routing/router-manager.js +185 -0
  59. package/core/frontend/services/rss/generate-feed.js +2 -2
  60. package/core/frontend/services/theme-engine/i18n/i18n.js +267 -28
  61. package/core/frontend/services/theme-engine/i18n/index.js +1 -1
  62. package/core/frontend/services/theme-engine/i18n/theme-i18n.js +73 -0
  63. package/core/frontend/web/index.js +1 -0
  64. package/core/{server/web/site → frontend/web}/middleware/handle-image-sizes.js +4 -4
  65. package/core/{server/web/site → frontend/web}/middleware/index.js +0 -0
  66. package/core/{server/web/site → frontend/web}/middleware/redirect-ghost-to-admin.js +3 -3
  67. package/core/{server/web/site → frontend/web}/middleware/serve-favicon.js +6 -6
  68. package/core/{server/web/site → frontend/web}/middleware/serve-public-file.js +2 -2
  69. package/core/{server/web/site → frontend/web}/middleware/static-theme.js +3 -3
  70. package/core/frontend/web/routes.js +13 -0
  71. package/core/{server/web/site/app.js → frontend/web/site.js} +12 -16
  72. package/core/server/adapters/storage/LocalFileStorage.js +35 -39
  73. package/core/server/adapters/storage/index.js +12 -2
  74. package/core/server/api/canary/custom-theme-settings.js +2 -2
  75. package/core/server/api/canary/images.js +1 -1
  76. package/core/server/api/canary/oembed.js +2 -2
  77. package/core/server/api/canary/offers.js +29 -1
  78. package/core/server/api/canary/posts-public.js +6 -2
  79. package/core/server/api/canary/products.js +6 -2
  80. package/core/server/api/canary/tags-public.js +6 -2
  81. package/core/server/api/canary/users.js +9 -4
  82. package/core/server/api/canary/utils/serializers/output/custom-theme-settings.js +2 -2
  83. package/core/server/api/canary/utils/serializers/output/notifications.js +1 -0
  84. package/core/server/api/canary/utils/serializers/output/settings.js +2 -3
  85. package/core/server/api/canary/utils/serializers/output/utils/url.js +1 -1
  86. package/core/server/api/canary/utils/validators/input/oembed.js +4 -1
  87. package/core/server/api/canary/utils/validators/input/passwordreset.js +8 -3
  88. package/core/server/api/canary/utils/validators/input/settings.js +5 -4
  89. package/core/server/api/canary/utils/validators/input/setup.js +6 -2
  90. package/core/server/api/canary/utils/validators/input/users.js +6 -2
  91. package/core/server/api/canary/utils/validators/input/webhooks.js +8 -3
  92. package/core/server/api/v2/images.js +1 -1
  93. package/core/server/api/v2/utils/serializers/output/authentication.js +9 -4
  94. package/core/server/api/v2/utils/serializers/output/notifications.js +1 -0
  95. package/core/server/api/v2/utils/serializers/output/users.js +5 -3
  96. package/core/server/api/v2/utils/serializers/output/utils/url.js +1 -1
  97. package/core/server/api/v2/utils/validators/input/images.js +11 -6
  98. package/core/server/api/v2/utils/validators/input/invitations.js +14 -6
  99. package/core/server/api/v2/utils/validators/input/invites.js +6 -2
  100. package/core/server/api/v2/utils/validators/input/oembed.js +6 -2
  101. package/core/server/api/v2/utils/validators/input/passwordreset.js +8 -3
  102. package/core/server/api/v2/utils/validators/input/settings.js +10 -4
  103. package/core/server/api/v2/utils/validators/input/setup.js +6 -2
  104. package/core/server/api/v2/utils/validators/input/users.js +5 -2
  105. package/core/server/api/v3/authentication.js +6 -2
  106. package/core/server/api/v3/authors-public.js +6 -2
  107. package/core/server/api/v3/email.js +9 -4
  108. package/core/server/api/v3/images.js +1 -1
  109. package/core/server/api/v3/integrations.js +7 -3
  110. package/core/server/api/v3/invites.js +6 -3
  111. package/core/server/api/v3/labels.js +10 -5
  112. package/core/server/api/v3/memberSigninUrls.js +5 -2
  113. package/core/server/api/v3/oembed.js +2 -2
  114. package/core/server/api/v3/pages-public.js +5 -2
  115. package/core/server/api/v3/pages.js +6 -3
  116. package/core/server/api/v3/posts-public.js +5 -3
  117. package/core/server/api/v3/posts.js +7 -3
  118. package/core/server/api/v3/preview.js +5 -3
  119. package/core/server/api/v3/session.js +7 -3
  120. package/core/server/api/v3/settings.js +8 -3
  121. package/core/server/api/v3/slugs.js +5 -4
  122. package/core/server/api/v3/utils/serializers/output/authentication.js +10 -4
  123. package/core/server/api/v3/utils/serializers/output/notifications.js +1 -0
  124. package/core/server/api/v3/utils/serializers/output/settings.js +2 -3
  125. package/core/server/api/v3/utils/serializers/output/users.js +6 -2
  126. package/core/server/api/v3/utils/serializers/output/utils/url.js +1 -1
  127. package/core/server/api/v3/utils/validators/input/images.js +12 -7
  128. package/core/server/api/v3/utils/validators/input/invitations.js +14 -6
  129. package/core/server/api/v3/utils/validators/input/invites.js +6 -2
  130. package/core/server/api/v3/utils/validators/input/oembed.js +6 -2
  131. package/core/server/api/v3/utils/validators/input/passwordreset.js +8 -3
  132. package/core/server/api/v3/utils/validators/input/settings.js +5 -4
  133. package/core/server/api/v3/utils/validators/input/setup.js +6 -2
  134. package/core/server/api/v3/utils/validators/input/users.js +6 -2
  135. package/core/server/api/v3/utils/validators/input/webhooks.js +8 -3
  136. package/core/server/data/exporter/table-lists.js +2 -1
  137. package/core/server/data/importer/handlers/image.js +1 -1
  138. package/core/server/data/importer/importers/image.js +1 -1
  139. package/core/server/data/migrations/init/1-create-tables.js +7 -8
  140. package/core/server/data/migrations/init/2-create-fixtures.js +8 -8
  141. package/core/server/data/migrations/versions/4.19/01-add-active-column-to-offers.js +7 -0
  142. package/core/server/data/migrations/versions/4.19/02-add-offer-redemptions-table.js +8 -0
  143. package/core/server/data/migrations/versions/4.20/01-remove-offer-redemptions-table.js +19 -0
  144. package/core/server/data/migrations/versions/4.20/02-remove-offers-table.js +30 -0
  145. package/core/server/data/migrations/versions/4.20/03-add-offers-table.js +21 -0
  146. package/core/server/data/migrations/versions/4.20/04-add-offer-redemptions-table.js +9 -0
  147. package/core/server/data/migrations/versions/4.20/05-remove-not-null-constraint-from-portal-title.js +41 -0
  148. package/core/server/data/schema/fixtures/utils.js +150 -143
  149. package/core/server/data/schema/schema.js +15 -3
  150. package/core/server/frontend/ghost.min.css +1 -0
  151. package/core/server/lib/image/blog-icon.js +10 -10
  152. package/core/server/lib/image/image-size.js +5 -5
  153. package/core/server/lib/image/image-utils.js +4 -4
  154. package/core/server/lib/image/index.js +1 -2
  155. package/core/server/lib/mobiledoc.js +3 -2
  156. package/core/server/models/action.js +7 -4
  157. package/core/server/models/base/plugins/overrides.js +19 -6
  158. package/core/server/models/custom-theme-setting.js +56 -1
  159. package/core/server/models/index.js +4 -45
  160. package/core/server/models/member.js +5 -0
  161. package/core/server/models/offer-redemption.js +10 -0
  162. package/core/server/models/user.js +2 -1
  163. package/core/server/overrides.js +6 -2
  164. package/core/server/run-update-check.js +0 -3
  165. package/core/server/services/adapter-manager/config.js +1 -0
  166. package/core/server/services/adapter-manager/index.js +9 -5
  167. package/core/server/services/adapter-manager/options-resolver.js +18 -0
  168. package/core/server/services/bulk-email/bulk-email-processor.js +6 -2
  169. package/core/server/services/bulk-email/mailgun.js +1 -1
  170. package/core/server/services/custom-theme-settings.js +10 -4
  171. package/core/server/services/invites/index.js +0 -2
  172. package/core/server/services/invites/invites.js +5 -5
  173. package/core/server/services/mail/GhostMailer.js +18 -10
  174. package/core/server/services/mega/mega.js +3 -3
  175. package/core/server/services/mega/post-email-serializer.js +2 -2
  176. package/core/server/services/members/api.js +3 -4
  177. package/core/server/services/members/emails/signin.js +1 -1
  178. package/core/server/services/members/emails/signup.js +1 -1
  179. package/core/server/services/members/emails/subscribe.js +1 -1
  180. package/core/server/services/members/middleware.js +10 -0
  181. package/core/server/services/members/service.js +2 -1
  182. package/core/server/services/notifications/index.js +1 -1
  183. package/core/server/services/notifications/notifications.js +40 -35
  184. package/core/server/services/oembed.js +4 -9
  185. package/core/server/services/offers/service.js +16 -6
  186. package/core/server/services/permissions/public.js +6 -2
  187. package/core/server/services/route-settings/route-settings.js +1 -1
  188. package/core/server/services/settings/index.js +3 -1
  189. package/core/server/services/settings/settings-bread-service.js +42 -20
  190. package/core/server/services/slack.js +1 -1
  191. package/core/server/services/themes/activate.js +2 -2
  192. package/core/server/services/themes/activation-bridge.js +6 -6
  193. package/core/server/services/themes/storage.js +1 -1
  194. package/core/{frontend → server}/services/url/Queue.js +0 -0
  195. package/core/{frontend → server}/services/url/Resource.js +0 -0
  196. package/core/{frontend → server}/services/url/Resources.js +2 -2
  197. package/core/{frontend → server}/services/url/UrlGenerator.js +14 -14
  198. package/core/{frontend → server}/services/url/UrlService.js +12 -15
  199. package/core/{frontend → server}/services/url/Urls.js +1 -1
  200. package/core/{frontend → server}/services/url/configs/canary.js +0 -0
  201. package/core/{frontend → server}/services/url/configs/v2.js +0 -0
  202. package/core/{frontend → server}/services/url/configs/v3.js +0 -0
  203. package/core/{frontend → server}/services/url/configs/v4.js +0 -0
  204. package/core/{frontend → server}/services/url/index.js +0 -0
  205. package/core/server/services/xmlrpc.js +1 -1
  206. package/core/server/update-check.js +3 -3
  207. package/core/server/web/admin/controller.js +11 -0
  208. package/core/server/web/admin/views/default-prod.html +4 -4
  209. package/core/server/web/admin/views/default.html +4 -4
  210. package/core/server/web/api/app.js +8 -9
  211. package/core/server/web/members/app.js +1 -0
  212. package/core/server/web/oauth/app.js +4 -2
  213. package/core/server/web/parent/backend.js +3 -3
  214. package/core/server/web/parent/frontend.js +2 -2
  215. package/core/server/web/shared/middlewares/api/spam-prevention.js +0 -2
  216. package/core/server/web/shared/middlewares/custom-redirects.js +0 -8
  217. package/core/server/web/shared/middlewares/maintenance.js +1 -1
  218. package/core/server/web/well-known.js +10 -10
  219. package/core/shared/config/defaults.json +2 -2
  220. package/core/shared/config/overrides.json +1 -1
  221. package/core/shared/express.js +10 -0
  222. package/core/shared/html-to-plaintext.js +2 -2
  223. package/core/shared/labs.js +14 -6
  224. package/loggingrc.js +10 -0
  225. package/package.json +60 -57
  226. package/yarn.lock +1317 -914
  227. package/core/built/assets/ghost-dark-13627f10941a7dbb2b12e1d41dc51c34.css +0 -1
  228. package/core/built/assets/ghost.min-d9cbfb4eb2db8915fcd2bf2416218616.css +0 -1
  229. package/core/built/assets/img/themes/London-68501c8ab797de7f2851cf9ea0a28e26.jpg +0 -0
  230. package/core/frontend/services/routing/bootstrap.js +0 -114
  231. package/core/server/public/404-ghost.png +0 -0
  232. package/core/server/public/404-ghost@2x.png +0 -0
  233. package/core/server/web/site/index.js +0 -1
  234. package/core/server/web/site/routes.js +0 -9
  235. package/core/shared/i18n/i18n.js +0 -312
  236. package/core/shared/i18n/index.js +0 -6
  237. package/core/shared/i18n/translations/en.json +0 -675
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "4.18.0",
3
+ "version": "4.20.1",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -29,7 +29,7 @@
29
29
  "test": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js --timeout=60000",
30
30
  "test:all": "yarn test:unit && yarn test:integration && yarn test:e2e && yarn lint",
31
31
  "test:debug": "DEBUG=ghost:test* yarn test",
32
- "test:unit": "c8 --all -n 'core/{*.js,frontend,server,shared}' --reporter text-summary mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/unit' --timeout=2000",
32
+ "test:unit": "c8 --all -n 'core/{*.js,frontend,server,shared}' --reporter text-summary --reporter cobertura mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/unit' --timeout=2000",
33
33
  "test:integration": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/integration' --timeout=5000",
34
34
  "test:e2e": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/e2e-api' './test/e2e-frontend' './test/e2e-server' --timeout=10000",
35
35
  "test:regression": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/regression' --timeout=60000",
@@ -55,54 +55,55 @@
55
55
  "dependencies": {
56
56
  "@nexes/nql": "0.6.0",
57
57
  "@sentry/node": "6.13.3",
58
- "@tryghost/adapter-manager": "0.2.17",
58
+ "@tryghost/adapter-manager": "0.2.18",
59
59
  "@tryghost/admin-api-schema": "2.6.0",
60
- "@tryghost/bookshelf-plugins": "0.3.1",
61
- "@tryghost/bootstrap-socket": "0.2.12",
60
+ "@tryghost/bookshelf-plugins": "0.3.4",
61
+ "@tryghost/bootstrap-socket": "0.2.13",
62
62
  "@tryghost/color-utils": "0.1.2",
63
- "@tryghost/config-url-helpers": "0.1.2",
64
- "@tryghost/constants": "0.1.11",
65
- "@tryghost/custom-theme-settings-service": "0.1.0",
66
- "@tryghost/debug": "0.1.5",
67
- "@tryghost/email-analytics-provider-mailgun": "1.0.2",
68
- "@tryghost/email-analytics-service": "1.0.2",
69
- "@tryghost/errors": "0.2.16",
70
- "@tryghost/express-dynamic-redirects": "0.1.0",
63
+ "@tryghost/config-url-helpers": "0.1.3",
64
+ "@tryghost/constants": "0.1.12",
65
+ "@tryghost/custom-theme-settings-service": "0.3.0",
66
+ "@tryghost/debug": "0.1.9",
67
+ "@tryghost/email-analytics-provider-mailgun": "1.0.4",
68
+ "@tryghost/email-analytics-service": "1.0.3",
69
+ "@tryghost/errors": "0.2.17",
70
+ "@tryghost/express-dynamic-redirects": "0.2.1",
71
71
  "@tryghost/helpers": "1.1.52",
72
- "@tryghost/image-transform": "1.0.16",
73
- "@tryghost/job-manager": "0.8.10",
72
+ "@tryghost/image-transform": "1.0.17",
73
+ "@tryghost/job-manager": "0.8.11",
74
74
  "@tryghost/kg-card-factory": "3.0.4",
75
75
  "@tryghost/kg-default-atoms": "3.0.0",
76
76
  "@tryghost/kg-default-cards": "5.0.7",
77
77
  "@tryghost/kg-markdown-html-renderer": "5.0.5",
78
78
  "@tryghost/kg-mobiledoc-html-renderer": "5.1.1",
79
- "@tryghost/limit-service": "0.6.4",
80
- "@tryghost/logging": "0.1.7",
81
- "@tryghost/magic-link": "1.0.13",
82
- "@tryghost/members-api": "2.1.1",
83
- "@tryghost/members-csv": "1.1.7",
84
- "@tryghost/members-importer": "0.3.3",
85
- "@tryghost/members-offers": "0.4.2",
86
- "@tryghost/members-ssr": "1.0.14",
87
- "@tryghost/mw-session-from-token": "0.1.25",
88
- "@tryghost/nodemailer": "0.3.3",
89
- "@tryghost/package-json": "1.0.5",
90
- "@tryghost/promise": "0.1.12",
91
- "@tryghost/request": "0.1.5",
92
- "@tryghost/root-utils": "0.3.4",
93
- "@tryghost/security": "0.2.12",
94
- "@tryghost/session-service": "0.1.27",
79
+ "@tryghost/limit-service": "0.6.5",
80
+ "@tryghost/logging": "0.2.2",
81
+ "@tryghost/magic-link": "1.0.14",
82
+ "@tryghost/members-api": "2.4.1",
83
+ "@tryghost/members-csv": "1.1.8",
84
+ "@tryghost/members-importer": "0.3.4",
85
+ "@tryghost/members-offers": "0.10.1",
86
+ "@tryghost/members-ssr": "1.0.15",
87
+ "@tryghost/metrics": "0.2.6",
88
+ "@tryghost/mw-session-from-token": "0.1.26",
89
+ "@tryghost/nodemailer": "0.3.6",
90
+ "@tryghost/package-json": "1.0.6",
91
+ "@tryghost/promise": "0.1.13",
92
+ "@tryghost/request": "0.1.8",
93
+ "@tryghost/root-utils": "0.3.7",
94
+ "@tryghost/security": "0.2.13",
95
+ "@tryghost/session-service": "0.1.28",
95
96
  "@tryghost/social-urls": "0.1.26",
96
97
  "@tryghost/string": "0.1.20",
97
- "@tryghost/tpl": "0.1.5",
98
- "@tryghost/update-check-service": "0.2.3",
98
+ "@tryghost/tpl": "0.1.8",
99
+ "@tryghost/update-check-service": "0.2.4",
99
100
  "@tryghost/url-utils": "2.0.2",
100
- "@tryghost/validator": "0.1.5",
101
- "@tryghost/version": "0.1.4",
102
- "@tryghost/vhost-middleware": "1.0.18",
103
- "@tryghost/zip": "1.1.17",
101
+ "@tryghost/validator": "0.1.8",
102
+ "@tryghost/version": "0.1.7",
103
+ "@tryghost/vhost-middleware": "1.0.19",
104
+ "@tryghost/zip": "1.1.18",
104
105
  "amperize": "0.6.1",
105
- "analytics-node": "5.1.0",
106
+ "analytics-node": "5.1.2",
106
107
  "bluebird": "3.7.2",
107
108
  "body-parser": "1.19.0",
108
109
  "bookshelf": "1.2.0",
@@ -120,13 +121,14 @@
120
121
  "express-brute": "1.0.1",
121
122
  "express-hbs": "2.4.0",
122
123
  "express-jwt": "6.1.0",
124
+ "express-lazy-router": "1.0.4",
123
125
  "express-query-boolean": "2.0.0",
124
126
  "express-session": "1.17.2",
125
127
  "fs-extra": "10.0.0",
126
128
  "ghost-storage-base": "0.0.6",
127
129
  "glob": "7.2.0",
128
130
  "got": "9.6.0",
129
- "gscan": "4.3.1",
131
+ "gscan": "4.9.0",
130
132
  "html-to-text": "5.1.1",
131
133
  "image-size": "1.0.0",
132
134
  "intl": "1.2.5",
@@ -135,33 +137,34 @@
135
137
  "jsonpath": "1.1.1",
136
138
  "jsonwebtoken": "8.5.1",
137
139
  "juice": "8.0.0",
138
- "keypair": "1.0.3",
140
+ "keypair": "1.0.4",
139
141
  "knex": "0.21.21",
140
142
  "knex-migrator": "4.0.5",
141
143
  "lodash": "4.17.21",
144
+ "luxon": "2.0.2",
142
145
  "mailgun-js": "0.22.0",
143
- "metascraper": "5.24.8",
144
- "metascraper-author": "5.24.8",
145
- "metascraper-description": "5.24.8",
146
- "metascraper-image": "5.24.8",
147
- "metascraper-logo": "5.24.8",
148
- "metascraper-logo-favicon": "5.24.8",
149
- "metascraper-publisher": "5.24.8",
150
- "metascraper-title": "5.24.8",
151
- "metascraper-url": "5.24.8",
146
+ "metascraper": "5.24.9",
147
+ "metascraper-author": "5.24.9",
148
+ "metascraper-description": "5.24.9",
149
+ "metascraper-image": "5.24.9",
150
+ "metascraper-logo": "5.24.9",
151
+ "metascraper-logo-favicon": "5.24.9",
152
+ "metascraper-publisher": "5.24.9",
153
+ "metascraper-title": "5.24.9",
154
+ "metascraper-url": "5.24.9",
152
155
  "moment": "2.24.0",
153
156
  "moment-timezone": "0.5.23",
154
157
  "multer": "1.4.3",
155
158
  "mysql": "2.18.1",
156
159
  "nconf": "0.11.3",
157
160
  "node-jose": "2.0.0",
158
- "oembed-parser": "1.4.8",
161
+ "oembed-parser": "1.4.9",
159
162
  "passport": "0.5.0",
160
163
  "passport-google-oauth": "2.0.0",
161
164
  "path-match": "1.2.4",
162
165
  "probe-image-size": "5.0.0",
163
166
  "rss": "1.2.2",
164
- "sanitize-html": "2.5.1",
167
+ "sanitize-html": "2.5.2",
165
168
  "semver": "7.3.5",
166
169
  "stoppable": "1.1.0",
167
170
  "tough-cookie": "4.0.0",
@@ -173,12 +176,12 @@
173
176
  "sqlite3": "5.0.2"
174
177
  },
175
178
  "devDependencies": {
176
- "@lodder/grunt-postcss": "3.0.1",
179
+ "@lodder/grunt-postcss": "3.1.0",
177
180
  "c8": "7.10.0",
178
181
  "coffeescript": "2.6.1",
179
182
  "cssnano": "5.0.8",
180
183
  "eslint": "7.32.0",
181
- "eslint-plugin-ghost": "2.6.0",
184
+ "eslint-plugin-ghost": "2.7.0",
182
185
  "grunt": "1.4.1",
183
186
  "grunt-bg-shell": "2.3.3",
184
187
  "grunt-contrib-clean": "2.0.0",
@@ -190,13 +193,13 @@
190
193
  "grunt-shell": "3.0.1",
191
194
  "grunt-subgrunt": "1.3.0",
192
195
  "grunt-update-submodules": "0.4.1",
193
- "jwks-rsa": "2.0.4",
194
- "mocha": "9.1.2",
196
+ "jwks-rsa": "2.0.5",
197
+ "mocha": "9.1.3",
195
198
  "mocha-slow-test-reporter": "0.1.2",
196
199
  "mock-knex": "0.4.10",
197
- "nock": "13.1.3",
200
+ "nock": "13.1.4",
198
201
  "papaparse": "5.3.1",
199
- "postcss": "8.3.9",
202
+ "postcss": "8.3.11",
200
203
  "rewire": "5.0.0",
201
204
  "should": "13.2.3",
202
205
  "sinon": "11.1.2",