ghost 5.63.0 → 5.64.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 (120) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.64.0.tgz +0 -0
  2. package/components/{tryghost-adapter-cache-redis-5.63.0.tgz → tryghost-adapter-cache-redis-5.64.0.tgz} +0 -0
  3. package/components/{tryghost-adapter-manager-5.63.0.tgz → tryghost-adapter-manager-5.64.0.tgz} +0 -0
  4. package/components/tryghost-announcement-bar-settings-5.64.0.tgz +0 -0
  5. package/components/{tryghost-api-framework-5.63.0.tgz → tryghost-api-framework-5.64.0.tgz} +0 -0
  6. package/components/tryghost-api-version-compatibility-service-5.64.0.tgz +0 -0
  7. package/components/{tryghost-audience-feedback-5.63.0.tgz → tryghost-audience-feedback-5.64.0.tgz} +0 -0
  8. package/components/tryghost-bookshelf-repository-5.64.0.tgz +0 -0
  9. package/components/tryghost-bootstrap-socket-5.64.0.tgz +0 -0
  10. package/components/{tryghost-collections-5.63.0.tgz → tryghost-collections-5.64.0.tgz} +0 -0
  11. package/components/{tryghost-constants-5.63.0.tgz → tryghost-constants-5.64.0.tgz} +0 -0
  12. package/components/tryghost-custom-theme-settings-service-5.64.0.tgz +0 -0
  13. package/components/{tryghost-data-generator-5.63.0.tgz → tryghost-data-generator-5.64.0.tgz} +0 -0
  14. package/components/{tryghost-domain-events-5.63.0.tgz → tryghost-domain-events-5.64.0.tgz} +0 -0
  15. package/components/tryghost-donations-5.64.0.tgz +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.64.0.tgz +0 -0
  17. package/components/tryghost-email-analytics-provider-mailgun-5.64.0.tgz +0 -0
  18. package/components/tryghost-email-analytics-service-5.64.0.tgz +0 -0
  19. package/components/{tryghost-email-content-generator-5.63.0.tgz → tryghost-email-content-generator-5.64.0.tgz} +0 -0
  20. package/components/tryghost-email-events-5.64.0.tgz +0 -0
  21. package/components/{tryghost-email-service-5.63.0.tgz → tryghost-email-service-5.64.0.tgz} +0 -0
  22. package/components/tryghost-email-suppression-list-5.64.0.tgz +0 -0
  23. package/components/tryghost-event-aware-cache-wrapper-5.64.0.tgz +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.64.0.tgz +0 -0
  25. package/components/{tryghost-external-media-inliner-5.63.0.tgz → tryghost-external-media-inliner-5.64.0.tgz} +0 -0
  26. package/components/{tryghost-extract-api-key-5.63.0.tgz → tryghost-extract-api-key-5.64.0.tgz} +0 -0
  27. package/components/{tryghost-html-to-plaintext-5.63.0.tgz → tryghost-html-to-plaintext-5.64.0.tgz} +0 -0
  28. package/components/{tryghost-i18n-5.63.0.tgz → tryghost-i18n-5.64.0.tgz} +0 -0
  29. package/components/tryghost-importer-handler-content-files-5.64.0.tgz +0 -0
  30. package/components/{tryghost-importer-revue-5.63.0.tgz → tryghost-importer-revue-5.64.0.tgz} +0 -0
  31. package/components/tryghost-in-memory-repository-5.64.0.tgz +0 -0
  32. package/components/{tryghost-job-manager-5.63.0.tgz → tryghost-job-manager-5.64.0.tgz} +0 -0
  33. package/components/{tryghost-link-redirects-5.63.0.tgz → tryghost-link-redirects-5.64.0.tgz} +0 -0
  34. package/components/tryghost-link-replacer-5.64.0.tgz +0 -0
  35. package/components/{tryghost-link-tracking-5.63.0.tgz → tryghost-link-tracking-5.64.0.tgz} +0 -0
  36. package/components/{tryghost-magic-link-5.63.0.tgz → tryghost-magic-link-5.64.0.tgz} +0 -0
  37. package/components/{tryghost-mail-events-5.63.0.tgz → tryghost-mail-events-5.64.0.tgz} +0 -0
  38. package/components/{tryghost-mailgun-client-5.63.0.tgz → tryghost-mailgun-client-5.64.0.tgz} +0 -0
  39. package/components/{tryghost-member-attribution-5.63.0.tgz → tryghost-member-attribution-5.64.0.tgz} +0 -0
  40. package/components/{tryghost-member-events-5.63.0.tgz → tryghost-member-events-5.64.0.tgz} +0 -0
  41. package/components/{tryghost-members-api-5.63.0.tgz → tryghost-members-api-5.64.0.tgz} +0 -0
  42. package/components/{tryghost-members-csv-5.63.0.tgz → tryghost-members-csv-5.64.0.tgz} +0 -0
  43. package/components/{tryghost-members-events-service-5.63.0.tgz → tryghost-members-events-service-5.64.0.tgz} +0 -0
  44. package/components/{tryghost-members-importer-5.63.0.tgz → tryghost-members-importer-5.64.0.tgz} +0 -0
  45. package/components/{tryghost-members-offers-5.63.0.tgz → tryghost-members-offers-5.64.0.tgz} +0 -0
  46. package/components/tryghost-members-payments-5.64.0.tgz +0 -0
  47. package/components/tryghost-members-ssr-5.64.0.tgz +0 -0
  48. package/components/{tryghost-members-stripe-service-5.63.0.tgz → tryghost-members-stripe-service-5.64.0.tgz} +0 -0
  49. package/components/tryghost-mentions-email-report-5.64.0.tgz +0 -0
  50. package/components/tryghost-milestones-5.64.0.tgz +0 -0
  51. package/components/{tryghost-minifier-5.63.0.tgz → tryghost-minifier-5.64.0.tgz} +0 -0
  52. package/components/tryghost-model-to-domain-event-interceptor-5.64.0.tgz +0 -0
  53. package/components/tryghost-mw-api-version-mismatch-5.64.0.tgz +0 -0
  54. package/components/tryghost-mw-cache-control-5.64.0.tgz +0 -0
  55. package/components/{tryghost-mw-error-handler-5.63.0.tgz → tryghost-mw-error-handler-5.64.0.tgz} +0 -0
  56. package/components/tryghost-mw-session-from-token-5.64.0.tgz +0 -0
  57. package/components/{tryghost-mw-update-user-last-seen-5.63.0.tgz → tryghost-mw-update-user-last-seen-5.64.0.tgz} +0 -0
  58. package/components/tryghost-mw-version-match-5.64.0.tgz +0 -0
  59. package/components/tryghost-mw-vhost-5.64.0.tgz +0 -0
  60. package/components/{tryghost-nql-filter-expansions-5.63.0.tgz → tryghost-nql-filter-expansions-5.64.0.tgz} +0 -0
  61. package/components/tryghost-oembed-service-5.64.0.tgz +0 -0
  62. package/components/{tryghost-package-json-5.63.0.tgz → tryghost-package-json-5.64.0.tgz} +0 -0
  63. package/components/{tryghost-post-events-5.63.0.tgz → tryghost-post-events-5.64.0.tgz} +0 -0
  64. package/components/{tryghost-post-revisions-5.63.0.tgz → tryghost-post-revisions-5.64.0.tgz} +0 -0
  65. package/components/tryghost-posts-service-5.64.0.tgz +0 -0
  66. package/components/{tryghost-recommendations-5.63.0.tgz → tryghost-recommendations-5.64.0.tgz} +0 -0
  67. package/components/tryghost-referrers-5.64.0.tgz +0 -0
  68. package/components/{tryghost-security-5.63.0.tgz → tryghost-security-5.64.0.tgz} +0 -0
  69. package/components/tryghost-session-service-5.64.0.tgz +0 -0
  70. package/components/tryghost-settings-path-manager-5.64.0.tgz +0 -0
  71. package/components/{tryghost-slack-notifications-5.63.0.tgz → tryghost-slack-notifications-5.64.0.tgz} +0 -0
  72. package/components/{tryghost-staff-service-5.63.0.tgz → tryghost-staff-service-5.64.0.tgz} +0 -0
  73. package/components/{tryghost-stats-service-5.63.0.tgz → tryghost-stats-service-5.64.0.tgz} +0 -0
  74. package/components/{tryghost-tiers-5.63.0.tgz → tryghost-tiers-5.64.0.tgz} +0 -0
  75. package/components/{tryghost-update-check-service-5.63.0.tgz → tryghost-update-check-service-5.64.0.tgz} +0 -0
  76. package/components/tryghost-verification-trigger-5.64.0.tgz +0 -0
  77. package/components/{tryghost-version-notifications-data-service-5.63.0.tgz → tryghost-version-notifications-data-service-5.64.0.tgz} +0 -0
  78. package/components/{tryghost-webmentions-5.63.0.tgz → tryghost-webmentions-5.64.0.tgz} +0 -0
  79. package/core/built/admin/assets/{chunk.143.1c5d21facf1f9b9beef9.js → chunk.143.ff0abfe4495f055b0f3d.js} +5 -5
  80. package/core/built/admin/assets/{chunk.178.43b03c9ac011a54262b0.js → chunk.178.3e470522312d6d4ed2e4.js} +4 -4
  81. package/core/built/admin/assets/{ghost-7c3f2de2ec83e591ad9f9db5165b2733.js → ghost-10ff4bcba99e1759098702a12c531352.js} +2 -2
  82. package/core/built/admin/index.html +3 -3
  83. package/core/server/api/endpoints/collections.js +5 -1
  84. package/core/server/data/migrations/versions/5.64/2023-09-19-04-25-40-truncate-stale-built-in-collections-posts.js +12 -0
  85. package/core/server/data/migrations/versions/5.64/2023-09-19-04-34-10-repopulate-built-in-collection-posts.js +69 -0
  86. package/core/server/services/collections/BookshelfCollectionsRepository.js +52 -8
  87. package/package.json +146 -146
  88. package/components/tryghost-adapter-cache-memory-ttl-5.63.0.tgz +0 -0
  89. package/components/tryghost-announcement-bar-settings-5.63.0.tgz +0 -0
  90. package/components/tryghost-api-version-compatibility-service-5.63.0.tgz +0 -0
  91. package/components/tryghost-bookshelf-repository-5.63.0.tgz +0 -0
  92. package/components/tryghost-bootstrap-socket-5.63.0.tgz +0 -0
  93. package/components/tryghost-custom-theme-settings-service-5.63.0.tgz +0 -0
  94. package/components/tryghost-donations-5.63.0.tgz +0 -0
  95. package/components/tryghost-dynamic-routing-events-5.63.0.tgz +0 -0
  96. package/components/tryghost-email-analytics-provider-mailgun-5.63.0.tgz +0 -0
  97. package/components/tryghost-email-analytics-service-5.63.0.tgz +0 -0
  98. package/components/tryghost-email-events-5.63.0.tgz +0 -0
  99. package/components/tryghost-email-suppression-list-5.63.0.tgz +0 -0
  100. package/components/tryghost-event-aware-cache-wrapper-5.63.0.tgz +0 -0
  101. package/components/tryghost-express-dynamic-redirects-5.63.0.tgz +0 -0
  102. package/components/tryghost-importer-handler-content-files-5.63.0.tgz +0 -0
  103. package/components/tryghost-in-memory-repository-5.63.0.tgz +0 -0
  104. package/components/tryghost-link-replacer-5.63.0.tgz +0 -0
  105. package/components/tryghost-members-payments-5.63.0.tgz +0 -0
  106. package/components/tryghost-members-ssr-5.63.0.tgz +0 -0
  107. package/components/tryghost-mentions-email-report-5.63.0.tgz +0 -0
  108. package/components/tryghost-milestones-5.63.0.tgz +0 -0
  109. package/components/tryghost-model-to-domain-event-interceptor-5.63.0.tgz +0 -0
  110. package/components/tryghost-mw-api-version-mismatch-5.63.0.tgz +0 -0
  111. package/components/tryghost-mw-cache-control-5.63.0.tgz +0 -0
  112. package/components/tryghost-mw-session-from-token-5.63.0.tgz +0 -0
  113. package/components/tryghost-mw-version-match-5.63.0.tgz +0 -0
  114. package/components/tryghost-mw-vhost-5.63.0.tgz +0 -0
  115. package/components/tryghost-oembed-service-5.63.0.tgz +0 -0
  116. package/components/tryghost-posts-service-5.63.0.tgz +0 -0
  117. package/components/tryghost-referrers-5.63.0.tgz +0 -0
  118. package/components/tryghost-session-service-5.63.0.tgz +0 -0
  119. package/components/tryghost-settings-path-manager-5.63.0.tgz +0 -0
  120. package/components/tryghost-verification-trigger-5.63.0.tgz +0 -0
@@ -10,8 +10,8 @@ function s(e){var r=o(e)
10
10
  return t(r)}function o(e){if(!t.o(n,e)){var r=new Error("Cannot find module '"+e+"'")
11
11
  throw r.code="MODULE_NOT_FOUND",r}return n[e]}s.keys=function(){return Object.keys(n)},s.resolve=o,e.exports=s,s.id=96616},7456:e=>{"use strict"
12
12
  e.exports=require("@ember/test-waiters")},57498:e=>{"use strict"
13
- e.exports=require("ember-tracked-storage-polyfill")},11975:()=>{},12238:(e,r,t)=>{var n,s
14
- e.exports=(n=_eai_d,s=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?s("_eai_dyn_"+e):s("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return s("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},n("@joeattardi/emoji-button",[],(function(){return t(28936)})),n("@sentry/browser",[],(function(){return t(87396)})),n("@sentry/utils",[],(function(){return t(11380)})),n("@tryghost/color-utils",[],(function(){return t(82485)})),n("@tryghost/helpers",[],(function(){return t(74752)})),n("@tryghost/kg-clean-basic-html",[],(function(){return t(89096)})),n("@tryghost/kg-converters",[],(function(){return t(9138)})),n("@tryghost/kg-parser-plugins",[],(function(){return t(3199)})),n("@tryghost/kg-parser-plugins/lib/cards/softReturn",[],(function(){return t(74557)})),n("@tryghost/limit-service",[],(function(){return t(12336)})),n("@tryghost/members-csv/lib/unparse",[],(function(){return t(91883)})),n("@tryghost/nql",[],(function(){return t(97490)})),n("@tryghost/nql-lang",[],(function(){return t(75420)})),n("@tryghost/string",[],(function(){return t(57348)})),n("@tryghost/timezone-data",[],(function(){return t(28961)})),n("element-resize-detector",[],(function(){return t(87381)})),n("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],(function(){return t(56112)})),n("ember-keyboard",[],(function(){return t(86771)})),n("ember-keyboard/helpers/if-key.js",[],(function(){return t(43481)})),n("ember-keyboard/helpers/on-key.js",[],(function(){return t(66415)})),n("ember-keyboard/modifiers/on-key.js",[],(function(){return t(4146)})),n("ember-keyboard/services/keyboard.js",[],(function(){return t(35466)})),n("ember-modifier",[],(function(){return t(92509)})),n("ember-moment/helpers/-base.js",[],(function(){return t(76465)})),n("ember-moment/helpers/is-after.js",[],(function(){return t(876)})),n("ember-moment/helpers/is-before.js",[],(function(){return t(13971)})),n("ember-moment/helpers/is-between.js",[],(function(){return t(2063)})),n("ember-moment/helpers/is-same-or-after.js",[],(function(){return t(12915)})),n("ember-moment/helpers/is-same-or-before.js",[],(function(){return t(46102)})),n("ember-moment/helpers/is-same.js",[],(function(){return t(71465)})),n("ember-moment/helpers/moment-add.js",[],(function(){return t(64462)})),n("ember-moment/helpers/moment-calendar.js",[],(function(){return t(69021)})),n("ember-moment/helpers/moment-diff.js",[],(function(){return t(95198)})),n("ember-moment/helpers/moment-duration.js",[],(function(){return t(17216)})),n("ember-moment/helpers/moment-format.js",[],(function(){return t(99152)})),n("ember-moment/helpers/moment-from-now.js",[],(function(){return t(16396)})),n("ember-moment/helpers/moment-from.js",[],(function(){return t(48478)})),n("ember-moment/helpers/moment-subtract.js",[],(function(){return t(4647)})),n("ember-moment/helpers/moment-to-date.js",[],(function(){return t(18351)})),n("ember-moment/helpers/moment-to-now.js",[],(function(){return t(94612)})),n("ember-moment/helpers/moment-to.js",[],(function(){return t(91857)})),n("ember-moment/helpers/moment.js",[],(function(){return t(26852)})),n("ember-moment/helpers/now.js",[],(function(){return t(67842)})),n("ember-moment/helpers/unix.js",[],(function(){return t(29700)})),n("ember-moment/helpers/utc.js",[],(function(){return t(71755)})),n("ember-moment/services/moment.js",[],(function(){return t(27475)})),n("fast-deep-equal",[],(function(){return t(64710)})),n("focus-trap",[],(function(){return t(10755)})),n("intersection-observer-admin",[],(function(){return t(77577)})),n("jose",[],(function(){return t(15919)})),n("markdown-it",[],(function(){return t(80516)})),n("markdown-it-footnote",[],(function(){return t(41297)})),n("markdown-it-lazy-headers",[],(function(){return t(72553)})),n("markdown-it-mark",[],(function(){return t(76519)})),n("markdown-it-sub",[],(function(){return t(8830)})),n("markdown-it-sup",[],(function(){return t(55977)})),n("moment-timezone",[],(function(){return t(19127)})),n("papaparse",[],(function(){return t(99112)})),n("raf-pool",[],(function(){return t(42586)})),n("react",[],(function(){return t(11591)})),n("react-dom",[],(function(){return t(96027)})),n("react-dom/client",[],(function(){return t(22609)})),n("semver/functions/coerce",[],(function(){return t(57305)})),n("semver/functions/lt",[],(function(){return t(63721)})),n("semver/functions/parse",[],(function(){return t(62919)})),n("tooltip.js",[],(function(){return t(15028)})),n("tracked-built-ins",["ember-tracked-storage-polyfill"],(function(){return t(98350)})),n("urijs",[],(function(){return t(3491)})),n("validator",[],(function(){return t(2228)})),void n("_eai_dyn_@sentry/browser",[],(function(){return Promise.resolve().then(t.bind(t,87396))})))},73982:function(e,r){window._eai_r=require,window._eai_d=define}},t={}
13
+ e.exports=require("ember-tracked-storage-polyfill")},11975:()=>{},48610:(e,r,t)=>{var n,s
14
+ e.exports=(n=_eai_d,s=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?s("_eai_dyn_"+e):s("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return s("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},n("@joeattardi/emoji-button",[],(function(){return t(28936)})),n("@sentry/browser",[],(function(){return t(87396)})),n("@sentry/utils",[],(function(){return t(11380)})),n("@tryghost/color-utils",[],(function(){return t(82485)})),n("@tryghost/helpers",[],(function(){return t(74752)})),n("@tryghost/kg-clean-basic-html",[],(function(){return t(89096)})),n("@tryghost/kg-converters",[],(function(){return t(9138)})),n("@tryghost/kg-parser-plugins",[],(function(){return t(3199)})),n("@tryghost/kg-parser-plugins/lib/cards/softReturn",[],(function(){return t(74557)})),n("@tryghost/limit-service",[],(function(){return t(12336)})),n("@tryghost/members-csv/lib/unparse",[],(function(){return t(91883)})),n("@tryghost/nql",[],(function(){return t(97490)})),n("@tryghost/nql-lang",[],(function(){return t(75420)})),n("@tryghost/string",[],(function(){return t(57348)})),n("@tryghost/timezone-data",[],(function(){return t(28961)})),n("element-resize-detector",[],(function(){return t(87381)})),n("ember-css-transitions/modifiers/css-transition",["@ember/test-waiters"],(function(){return t(56112)})),n("ember-keyboard",[],(function(){return t(86771)})),n("ember-keyboard/helpers/if-key.js",[],(function(){return t(43481)})),n("ember-keyboard/helpers/on-key.js",[],(function(){return t(66415)})),n("ember-keyboard/modifiers/on-key.js",[],(function(){return t(4146)})),n("ember-keyboard/services/keyboard.js",[],(function(){return t(35466)})),n("ember-modifier",[],(function(){return t(92509)})),n("ember-moment/helpers/-base.js",[],(function(){return t(76465)})),n("ember-moment/helpers/is-after.js",[],(function(){return t(876)})),n("ember-moment/helpers/is-before.js",[],(function(){return t(13971)})),n("ember-moment/helpers/is-between.js",[],(function(){return t(2063)})),n("ember-moment/helpers/is-same-or-after.js",[],(function(){return t(12915)})),n("ember-moment/helpers/is-same-or-before.js",[],(function(){return t(46102)})),n("ember-moment/helpers/is-same.js",[],(function(){return t(71465)})),n("ember-moment/helpers/moment-add.js",[],(function(){return t(64462)})),n("ember-moment/helpers/moment-calendar.js",[],(function(){return t(69021)})),n("ember-moment/helpers/moment-diff.js",[],(function(){return t(95198)})),n("ember-moment/helpers/moment-duration.js",[],(function(){return t(17216)})),n("ember-moment/helpers/moment-format.js",[],(function(){return t(99152)})),n("ember-moment/helpers/moment-from-now.js",[],(function(){return t(16396)})),n("ember-moment/helpers/moment-from.js",[],(function(){return t(48478)})),n("ember-moment/helpers/moment-subtract.js",[],(function(){return t(4647)})),n("ember-moment/helpers/moment-to-date.js",[],(function(){return t(18351)})),n("ember-moment/helpers/moment-to-now.js",[],(function(){return t(94612)})),n("ember-moment/helpers/moment-to.js",[],(function(){return t(91857)})),n("ember-moment/helpers/moment.js",[],(function(){return t(26852)})),n("ember-moment/helpers/now.js",[],(function(){return t(67842)})),n("ember-moment/helpers/unix.js",[],(function(){return t(29700)})),n("ember-moment/helpers/utc.js",[],(function(){return t(71755)})),n("ember-moment/services/moment.js",[],(function(){return t(27475)})),n("fast-deep-equal",[],(function(){return t(64710)})),n("focus-trap",[],(function(){return t(10755)})),n("intersection-observer-admin",[],(function(){return t(77577)})),n("jose",[],(function(){return t(15919)})),n("markdown-it",[],(function(){return t(80516)})),n("markdown-it-footnote",[],(function(){return t(41297)})),n("markdown-it-lazy-headers",[],(function(){return t(72553)})),n("markdown-it-mark",[],(function(){return t(76519)})),n("markdown-it-sub",[],(function(){return t(8830)})),n("markdown-it-sup",[],(function(){return t(55977)})),n("moment-timezone",[],(function(){return t(19127)})),n("papaparse",[],(function(){return t(99112)})),n("raf-pool",[],(function(){return t(42586)})),n("react",[],(function(){return t(11591)})),n("react-dom",[],(function(){return t(96027)})),n("react-dom/client",[],(function(){return t(22609)})),n("semver/functions/coerce",[],(function(){return t(57305)})),n("semver/functions/lt",[],(function(){return t(63721)})),n("semver/functions/parse",[],(function(){return t(62919)})),n("tooltip.js",[],(function(){return t(15028)})),n("tracked-built-ins",["ember-tracked-storage-polyfill"],(function(){return t(98350)})),n("urijs",[],(function(){return t(3491)})),n("validator",[],(function(){return t(2228)})),void n("_eai_dyn_@sentry/browser",[],(function(){return Promise.resolve().then(t.bind(t,87396))})))},9456:function(e,r){window._eai_r=require,window._eai_d=define}},t={}
15
15
  function n(e){var s=t[e]
16
16
  if(void 0!==s)return s.exports
17
17
  var o=t[e]={id:e,loaded:!1,exports:{}}
@@ -28,8 +28,8 @@ var r=(r,t)=>{var s,o,[i,u,m]=t,a=0
28
28
  if(i.some((r=>0!==e[r]))){for(s in u)n.o(u,s)&&(n.m[s]=u[s])
29
29
  if(m)var c=m(n)}for(r&&r(t);a<i.length;a++)o=i[a],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0
30
30
  return n.O(c)},t=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
31
- t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.O(void 0,[237],(()=>n(n.s=73982)))
32
- var s=n.O(void 0,[237],(()=>n(n.s=12238)))
31
+ t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.O(void 0,[237],(()=>n(n.s=9456)))
32
+ var s=n.O(void 0,[237],(()=>n(n.s=48610)))
33
33
  s=n.O(s),__ember_auto_import__=s})()
34
34
 
35
- //# sourceMappingURL=chunk.143.1c5d21facf1f9b9beef9.map
35
+ //# sourceMappingURL=chunk.143.ff0abfe4495f055b0f3d.map
@@ -1,11 +1,11 @@
1
- var __ember_auto_import__;(()=>{var r={73982:function(r,e){window._eai_r=require,window._eai_d=define},17200:r=>{r.exports=function(){_eai_d
1
+ var __ember_auto_import__;(()=>{var r={9456:function(r,e){window._eai_r=require,window._eai_d=define},58154:r=>{r.exports=function(){_eai_d
2
2
  var r=_eai_r
3
3
  window.emberAutoImportDynamic=function(e){return 1===arguments.length?r("_eai_dyn_"+e):r("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return r("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))}}()}},e={}
4
4
  function t(_){var o=e[_]
5
5
  if(void 0!==o)return o.exports
6
6
  var i=e[_]={exports:{}}
7
- return r[_].call(i.exports,i,i.exports,t),i.exports}t(73982)
8
- var _=t(17200)
7
+ return r[_].call(i.exports,i,i.exports,t),i.exports}t(9456)
8
+ var _=t(58154)
9
9
  __ember_auto_import__=_})()
10
10
 
11
- //# sourceMappingURL=chunk.178.43b03c9ac011a54262b0.map
11
+ //# sourceMappingURL=chunk.178.3e470522312d6d4ed2e4.map
@@ -6581,6 +6581,6 @@ var n=t.default.create({properties:["name","event","targetUrl","secret"],name(e)
6581
6581
  e.default=n})),define("ghost-admin/views/application",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
6582
6582
  var t=Ember.Component.extend({})
6583
6583
  e.default=t})),define("ghost-admin/config/environment",[],(function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),i={default:JSON.parse(decodeURIComponent(t))}
6584
- return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(n){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"5.63",name:"ghost-admin"})
6584
+ return Object.defineProperty(i,"__esModule",{value:!0}),i}catch(n){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"5.64",name:"ghost-admin"})
6585
6585
 
6586
- //# sourceMappingURL=ghost-7c3f2de2ec83e591ad9f9db5165b2733.map
6586
+ //# sourceMappingURL=ghost-10ff4bcba99e1759098702a12c531352.map
@@ -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%22cdnUrl%22%3A%22%22%2C%22rootURL%22%3A%22%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%225.63%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22ember-websockets%22%3A%7B%22socketIO%22%3Atrue%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%22cdnUrl%22%3A%22%22%2C%22rootURL%22%3A%22%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%225.64%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22ember-websockets%22%3A%7B%22socketIO%22%3Atrue%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" />
@@ -58,7 +58,7 @@
58
58
 
59
59
  <script src="assets/vendor-f8ce8bd43cf5dad6608f828ab48cee9b.js"></script>
60
60
  <script src="assets/chunk.237.9b7032162949850f6c76.js"></script>
61
- <script src="assets/chunk.143.1c5d21facf1f9b9beef9.js"></script>
62
- <script src="assets/ghost-7c3f2de2ec83e591ad9f9db5165b2733.js"></script>
61
+ <script src="assets/chunk.143.ff0abfe4495f055b0f3d.js"></script>
62
+ <script src="assets/ghost-10ff4bcba99e1759098702a12c531352.js"></script>
63
63
  </body>
64
64
  </html>
@@ -29,7 +29,11 @@ module.exports = {
29
29
  },
30
30
  permissions: true,
31
31
  query(frame) {
32
- return collectionsService.api.getAll(frame.options);
32
+ return collectionsService.api.getAll({
33
+ filter: frame.options.filter,
34
+ limit: frame.options.limit,
35
+ page: frame.options.page
36
+ });
33
37
  }
34
38
  },
35
39
 
@@ -0,0 +1,12 @@
1
+ const logging = require('@tryghost/logging');
2
+ const {createNonTransactionalMigration} = require('../../utils');
3
+
4
+ module.exports = createNonTransactionalMigration(
5
+ async function up(knex) {
6
+ logging.info('Clearing collections_posts table');
7
+ await knex('collections_posts').truncate();
8
+ },
9
+ async function down() {
10
+ logging.info('Not doing anything - collections_posts table has been truncated');
11
+ }
12
+ );
@@ -0,0 +1,69 @@
1
+ const logging = require('@tryghost/logging');
2
+ const {default: ObjectID} = require('bson-objectid');
3
+ const {createTransactionalMigration} = require('../../utils');
4
+
5
+ const insertPostCollections = async (knex, collectionId, postIds) => {
6
+ logging.warn(`Batch inserting ${postIds.length} collection posts for collection ${collectionId}`);
7
+
8
+ const collectionPosts = postIds.map((postId) => {
9
+ return {
10
+ id: (new ObjectID()).toHexString(),
11
+ collection_id: collectionId,
12
+ post_id: postId,
13
+ sort_order: 0
14
+ };
15
+ });
16
+
17
+ await knex.batchInsert('collections_posts', collectionPosts, 1000);
18
+ };
19
+
20
+ module.exports = createTransactionalMigration(
21
+ async function up(knex) {
22
+ logging.info('Populating built-in collections');
23
+
24
+ const existingLatestCollection = await knex('collections')
25
+ .where({
26
+ slug: 'latest'
27
+ })
28
+ .first();
29
+
30
+ if (!existingLatestCollection) {
31
+ logging.warn('Latest collection does not exists, skipping');
32
+ } else {
33
+ const latestPostsRows = await knex('posts')
34
+ .select('id')
35
+ .where({
36
+ type: 'post'
37
+ });
38
+
39
+ const latestPostsIds = latestPostsRows.map(row => row.id);
40
+
41
+ await insertPostCollections(knex, existingLatestCollection.id, latestPostsIds);
42
+ }
43
+
44
+ const existingFeaturedCollection = await knex('collections')
45
+ .where({
46
+ slug: 'featured'
47
+ })
48
+ .first();
49
+
50
+ if (!existingFeaturedCollection) {
51
+ logging.warn('Featured collection does not exist, skipping');
52
+ } else {
53
+ const featuredPostsRows = await knex('posts')
54
+ .select('id')
55
+ .where({
56
+ featured: true,
57
+ type: 'post'
58
+ });
59
+
60
+ const featuredPostsIds = featuredPostsRows.map(row => row.id);
61
+
62
+ await insertPostCollections(knex, existingFeaturedCollection.id, featuredPostsIds);
63
+ }
64
+ },
65
+ async function down(knex) {
66
+ logging.info('Clearing collections_posts table');
67
+ await knex('collections_posts').truncate();
68
+ }
69
+ );
@@ -28,12 +28,14 @@ module.exports = class BookshelfCollectionsRepository {
28
28
  async getById(id, options = {}) {
29
29
  const model = await this.#model.findOne({id}, {
30
30
  require: false,
31
- withRelated: ['collectionPosts'],
32
31
  transacting: options.transaction
33
32
  });
34
33
  if (!model) {
35
34
  return null;
36
35
  }
36
+
37
+ model.collectionPostIds = await this.#fetchCollectionPostIds(model.id, options);
38
+
37
39
  return this.#modelToCollection(model);
38
40
  }
39
41
 
@@ -44,28 +46,63 @@ module.exports = class BookshelfCollectionsRepository {
44
46
  async getBySlug(slug, options = {}) {
45
47
  const model = await this.#model.findOne({slug}, {
46
48
  require: false,
47
- withRelated: ['collectionPosts'],
48
49
  transacting: options.transaction
49
50
  });
51
+
50
52
  if (!model) {
51
53
  return null;
52
54
  }
55
+
56
+ model.collectionPostIds = await this.#fetchCollectionPostIds(model.id, options);
57
+
53
58
  return this.#modelToCollection(model);
54
59
  }
55
60
 
61
+ /**
62
+ * NOTE: we are only fetching post_id column here to save memory on
63
+ * instances with a large amount of posts
64
+ *
65
+ * The method could be further optimized to fetch posts for
66
+ * multiple collections at a time.
67
+ *
68
+ * @param {string} collectionId collection to fetch post ids for
69
+ * @param {Object} options bookshelf options
70
+ *
71
+ * @returns {Promise<Array<{post_id: string}>>}
72
+ */
73
+ async #fetchCollectionPostIds(collectionId, options = {}) {
74
+ const toSelect = options.columns || ['post_id'];
75
+
76
+ const query = this.#relationModel.query();
77
+ if (options.transaction) {
78
+ query.transacting(options.transaction);
79
+ }
80
+
81
+ return await query
82
+ .select(toSelect)
83
+ .where('collection_id', collectionId);
84
+ }
85
+
56
86
  /**
57
87
  * @param {object} [options]
58
88
  * @param {string} [options.filter]
59
89
  * @param {string} [options.order]
90
+ * @param {string[]} [options.withRelated]
60
91
  * @param {import('knex').Transaction} [options.transaction]
61
92
  */
62
93
  async getAll(options = {}) {
63
94
  const models = await this.#model.findAll({
64
95
  ...options,
65
- transacting: options.transaction,
66
- withRelated: ['collectionPosts']
96
+ transacting: options.transaction
67
97
  });
68
98
 
99
+ for (const model of models) {
100
+ // NOTE: Ideally collection posts would be fetching as a part of findAll query.
101
+ // Because bookshelf introduced a massive processing and memory overhead
102
+ // we are fetching collection post ids separately using raw knex query
103
+ model.collectionPostIds = await this.#fetchCollectionPostIds(model.id, options);
104
+ }
105
+
69
106
  return (await Promise.all(models.map(model => this.#modelToCollection(model)))).filter(entity => !!entity);
70
107
  }
71
108
 
@@ -78,6 +115,10 @@ module.exports = class BookshelfCollectionsRepository {
78
115
  }
79
116
 
80
117
  try {
118
+ // NOTE: collectionPosts are not a part of serialized model
119
+ // and are fetched separately to save memory
120
+ const posts = model.collectionPostIds;
121
+
81
122
  return await Collection.create({
82
123
  id: json.id,
83
124
  slug: json.slug,
@@ -86,7 +127,7 @@ module.exports = class BookshelfCollectionsRepository {
86
127
  filter: filter,
87
128
  type: json.type,
88
129
  featureImage: json.feature_image,
89
- posts: json.collectionPosts.map(collectionPost => collectionPost.post_id),
130
+ posts: posts.map(collectionPost => collectionPost.post_id),
90
131
  createdAt: json.created_at,
91
132
  updatedAt: json.updated_at
92
133
  });
@@ -135,8 +176,7 @@ module.exports = class BookshelfCollectionsRepository {
135
176
  {id: data.id},
136
177
  {
137
178
  require: false,
138
- transacting: options.transaction,
139
- withRelated: ['collectionPosts']
179
+ transacting: options.transaction
140
180
  }
141
181
  );
142
182
 
@@ -175,7 +215,11 @@ module.exports = class BookshelfCollectionsRepository {
175
215
  if (collection.type === 'manual') {
176
216
  await this.#relationModel.query().delete().where('collection_id', collection.id).transacting(options.transaction);
177
217
  } else {
178
- const existingRelations = existing.toJSON().collectionPosts;
218
+ const collectionPostsOptions = {
219
+ transaction: options.transaction,
220
+ columns: ['id', 'post_id']
221
+ };
222
+ const existingRelations = await this.#fetchCollectionPostIds(collection.id, collectionPostsOptions);
179
223
 
180
224
  for (const existingRelation of existingRelations) {
181
225
  const found = collectionPostsRelations.find((thing) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.63.0",
3
+ "version": "5.64.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -62,44 +62,44 @@
62
62
  "@extractus/oembed-extractor": "3.2.1",
63
63
  "@sentry/node": "7.69.0",
64
64
  "@tryghost/adapter-base-cache": "0.1.5",
65
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.63.0.tgz",
66
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.63.0.tgz",
65
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.64.0.tgz",
66
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.64.0.tgz",
67
67
  "@tryghost/admin-api-schema": "4.5.1",
68
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.63.0.tgz",
69
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.63.0.tgz",
70
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.63.0.tgz",
71
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.63.0.tgz",
68
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.64.0.tgz",
69
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.64.0.tgz",
70
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.64.0.tgz",
71
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.64.0.tgz",
72
72
  "@tryghost/bookshelf-plugins": "0.6.10",
73
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.63.0.tgz",
74
- "@tryghost/collections": "file:components/tryghost-collections-5.63.0.tgz",
73
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.64.0.tgz",
74
+ "@tryghost/collections": "file:components/tryghost-collections-5.64.0.tgz",
75
75
  "@tryghost/color-utils": "0.1.24",
76
76
  "@tryghost/config-url-helpers": "1.0.6",
77
- "@tryghost/constants": "file:components/tryghost-constants-5.63.0.tgz",
78
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.63.0.tgz",
79
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.63.0.tgz",
77
+ "@tryghost/constants": "file:components/tryghost-constants-5.64.0.tgz",
78
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.64.0.tgz",
79
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.64.0.tgz",
80
80
  "@tryghost/database-info": "0.3.17",
81
81
  "@tryghost/debug": "0.1.24",
82
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.63.0.tgz",
83
- "@tryghost/donations": "file:components/tryghost-donations-5.63.0.tgz",
84
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.63.0.tgz",
85
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.63.0.tgz",
86
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.63.0.tgz",
87
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.63.0.tgz",
82
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.64.0.tgz",
83
+ "@tryghost/donations": "file:components/tryghost-donations-5.64.0.tgz",
84
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.64.0.tgz",
85
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.64.0.tgz",
86
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.64.0.tgz",
87
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.64.0.tgz",
88
88
  "@tryghost/email-mock-receiver": "0.3.1",
89
- "@tryghost/email-service": "file:components/tryghost-email-service-5.63.0.tgz",
90
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.63.0.tgz",
89
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.64.0.tgz",
90
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.64.0.tgz",
91
91
  "@tryghost/errors": "1.2.24",
92
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.63.0.tgz",
93
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.63.0.tgz",
94
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.63.0.tgz",
92
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.64.0.tgz",
93
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.64.0.tgz",
94
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.64.0.tgz",
95
95
  "@tryghost/helpers": "1.1.82",
96
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.63.0.tgz",
96
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.64.0.tgz",
97
97
  "@tryghost/http-cache-utils": "0.1.9",
98
- "@tryghost/i18n": "file:components/tryghost-i18n-5.63.0.tgz",
98
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.64.0.tgz",
99
99
  "@tryghost/image-transform": "1.2.6",
100
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.63.0.tgz",
101
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.63.0.tgz",
102
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.63.0.tgz",
100
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.64.0.tgz",
101
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.64.0.tgz",
102
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.64.0.tgz",
103
103
  "@tryghost/kg-card-factory": "4.0.10",
104
104
  "@tryghost/kg-converters": "0.0.13",
105
105
  "@tryghost/kg-default-atoms": "4.0.3",
@@ -109,59 +109,59 @@
109
109
  "@tryghost/kg-lexical-html-renderer": "0.3.23",
110
110
  "@tryghost/kg-mobiledoc-html-renderer": "6.0.10",
111
111
  "@tryghost/limit-service": "1.2.6",
112
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.63.0.tgz",
113
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.63.0.tgz",
114
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.63.0.tgz",
112
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.64.0.tgz",
113
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.64.0.tgz",
114
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.64.0.tgz",
115
115
  "@tryghost/logging": "2.4.4",
116
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.63.0.tgz",
117
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.63.0.tgz",
118
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.63.0.tgz",
119
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.63.0.tgz",
120
- "@tryghost/member-events": "file:components/tryghost-member-events-5.63.0.tgz",
121
- "@tryghost/members-api": "file:components/tryghost-members-api-5.63.0.tgz",
122
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.63.0.tgz",
123
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.63.0.tgz",
124
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.63.0.tgz",
125
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.63.0.tgz",
126
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.63.0.tgz",
127
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.63.0.tgz",
128
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.63.0.tgz",
116
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.64.0.tgz",
117
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.64.0.tgz",
118
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.64.0.tgz",
119
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.64.0.tgz",
120
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.64.0.tgz",
121
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.64.0.tgz",
122
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.64.0.tgz",
123
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.64.0.tgz",
124
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.64.0.tgz",
125
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.64.0.tgz",
126
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.64.0.tgz",
127
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.64.0.tgz",
128
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.64.0.tgz",
129
129
  "@tryghost/metrics": "1.0.24",
130
- "@tryghost/milestones": "file:components/tryghost-milestones-5.63.0.tgz",
131
- "@tryghost/minifier": "file:components/tryghost-minifier-5.63.0.tgz",
132
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.63.0.tgz",
133
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.63.0.tgz",
134
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.63.0.tgz",
135
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.63.0.tgz",
136
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.63.0.tgz",
137
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.63.0.tgz",
138
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.63.0.tgz",
130
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.64.0.tgz",
131
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.64.0.tgz",
132
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.64.0.tgz",
133
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.64.0.tgz",
134
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.64.0.tgz",
135
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.64.0.tgz",
136
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.64.0.tgz",
137
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.64.0.tgz",
138
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.64.0.tgz",
139
139
  "@tryghost/nodemailer": "0.3.35",
140
140
  "@tryghost/nql": "0.11.0",
141
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.63.0.tgz",
142
- "@tryghost/package-json": "file:components/tryghost-package-json-5.63.0.tgz",
143
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.63.0.tgz",
144
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.63.0.tgz",
141
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.64.0.tgz",
142
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.64.0.tgz",
143
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.64.0.tgz",
144
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.64.0.tgz",
145
145
  "@tryghost/pretty-cli": "1.2.36",
146
146
  "@tryghost/promise": "0.3.4",
147
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.63.0.tgz",
147
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.64.0.tgz",
148
148
  "@tryghost/request": "0.1.39",
149
- "@tryghost/security": "file:components/tryghost-security-5.63.0.tgz",
150
- "@tryghost/session-service": "file:components/tryghost-session-service-5.63.0.tgz",
151
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.63.0.tgz",
152
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.63.0.tgz",
149
+ "@tryghost/security": "file:components/tryghost-security-5.64.0.tgz",
150
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.64.0.tgz",
151
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.64.0.tgz",
152
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.64.0.tgz",
153
153
  "@tryghost/social-urls": "0.1.36",
154
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.63.0.tgz",
155
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.63.0.tgz",
154
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.64.0.tgz",
155
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.64.0.tgz",
156
156
  "@tryghost/string": "0.2.4",
157
- "@tryghost/tiers": "file:components/tryghost-tiers-5.63.0.tgz",
157
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.64.0.tgz",
158
158
  "@tryghost/tpl": "0.1.24",
159
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.63.0.tgz",
159
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.64.0.tgz",
160
160
  "@tryghost/url-utils": "4.4.0",
161
161
  "@tryghost/validator": "0.2.4",
162
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.63.0.tgz",
162
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.64.0.tgz",
163
163
  "@tryghost/version": "0.1.22",
164
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.63.0.tgz",
164
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.64.0.tgz",
165
165
  "@tryghost/zip": "1.1.37",
166
166
  "amperize": "0.6.1",
167
167
  "analytics-node": "6.2.0",
@@ -263,84 +263,84 @@
263
263
  "@tryghost/logging": "2.4.4",
264
264
  "moment": "2.24.0",
265
265
  "moment-timezone": "0.5.23",
266
- "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.63.0.tgz",
267
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.63.0.tgz",
268
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.63.0.tgz",
269
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.63.0.tgz",
270
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.63.0.tgz",
271
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.63.0.tgz",
272
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.63.0.tgz",
273
- "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.63.0.tgz",
274
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.63.0.tgz",
275
- "@tryghost/collections": "file:components/tryghost-collections-5.63.0.tgz",
276
- "@tryghost/constants": "file:components/tryghost-constants-5.63.0.tgz",
277
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.63.0.tgz",
278
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.63.0.tgz",
279
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.63.0.tgz",
280
- "@tryghost/donations": "file:components/tryghost-donations-5.63.0.tgz",
281
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.63.0.tgz",
282
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.63.0.tgz",
283
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.63.0.tgz",
284
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.63.0.tgz",
285
- "@tryghost/email-events": "file:components/tryghost-email-events-5.63.0.tgz",
286
- "@tryghost/email-service": "file:components/tryghost-email-service-5.63.0.tgz",
287
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.63.0.tgz",
288
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.63.0.tgz",
289
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.63.0.tgz",
290
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.63.0.tgz",
291
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.63.0.tgz",
292
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.63.0.tgz",
293
- "@tryghost/i18n": "file:components/tryghost-i18n-5.63.0.tgz",
294
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.63.0.tgz",
295
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.63.0.tgz",
296
- "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.63.0.tgz",
297
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.63.0.tgz",
298
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.63.0.tgz",
299
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.63.0.tgz",
300
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.63.0.tgz",
301
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.63.0.tgz",
302
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.63.0.tgz",
303
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.63.0.tgz",
304
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.63.0.tgz",
305
- "@tryghost/member-events": "file:components/tryghost-member-events-5.63.0.tgz",
306
- "@tryghost/members-api": "file:components/tryghost-members-api-5.63.0.tgz",
307
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.63.0.tgz",
308
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.63.0.tgz",
309
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.63.0.tgz",
310
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.63.0.tgz",
311
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.63.0.tgz",
312
- "@tryghost/milestones": "file:components/tryghost-milestones-5.63.0.tgz",
313
- "@tryghost/minifier": "file:components/tryghost-minifier-5.63.0.tgz",
314
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.63.0.tgz",
315
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.63.0.tgz",
316
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.63.0.tgz",
317
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.63.0.tgz",
318
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.63.0.tgz",
319
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.63.0.tgz",
320
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.63.0.tgz",
321
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.63.0.tgz",
322
- "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.63.0.tgz",
323
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.63.0.tgz",
324
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.63.0.tgz",
325
- "@tryghost/package-json": "file:components/tryghost-package-json-5.63.0.tgz",
326
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.63.0.tgz",
327
- "@tryghost/post-events": "file:components/tryghost-post-events-5.63.0.tgz",
328
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.63.0.tgz",
329
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.63.0.tgz",
330
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.63.0.tgz",
331
- "@tryghost/referrers": "file:components/tryghost-referrers-5.63.0.tgz",
332
- "@tryghost/security": "file:components/tryghost-security-5.63.0.tgz",
333
- "@tryghost/session-service": "file:components/tryghost-session-service-5.63.0.tgz",
334
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.63.0.tgz",
335
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.63.0.tgz",
336
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.63.0.tgz",
337
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.63.0.tgz",
338
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.63.0.tgz",
339
- "@tryghost/tiers": "file:components/tryghost-tiers-5.63.0.tgz",
340
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.63.0.tgz",
341
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.63.0.tgz",
342
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.63.0.tgz",
343
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.63.0.tgz"
266
+ "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.64.0.tgz",
267
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.64.0.tgz",
268
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.64.0.tgz",
269
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.64.0.tgz",
270
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.64.0.tgz",
271
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.64.0.tgz",
272
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.64.0.tgz",
273
+ "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.64.0.tgz",
274
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.64.0.tgz",
275
+ "@tryghost/collections": "file:components/tryghost-collections-5.64.0.tgz",
276
+ "@tryghost/constants": "file:components/tryghost-constants-5.64.0.tgz",
277
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.64.0.tgz",
278
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.64.0.tgz",
279
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.64.0.tgz",
280
+ "@tryghost/donations": "file:components/tryghost-donations-5.64.0.tgz",
281
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.64.0.tgz",
282
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.64.0.tgz",
283
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.64.0.tgz",
284
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.64.0.tgz",
285
+ "@tryghost/email-events": "file:components/tryghost-email-events-5.64.0.tgz",
286
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.64.0.tgz",
287
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.64.0.tgz",
288
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.64.0.tgz",
289
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.64.0.tgz",
290
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.64.0.tgz",
291
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.64.0.tgz",
292
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.64.0.tgz",
293
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.64.0.tgz",
294
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.64.0.tgz",
295
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.64.0.tgz",
296
+ "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.64.0.tgz",
297
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.64.0.tgz",
298
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.64.0.tgz",
299
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.64.0.tgz",
300
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.64.0.tgz",
301
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.64.0.tgz",
302
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.64.0.tgz",
303
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.64.0.tgz",
304
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.64.0.tgz",
305
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.64.0.tgz",
306
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.64.0.tgz",
307
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.64.0.tgz",
308
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.64.0.tgz",
309
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.64.0.tgz",
310
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.64.0.tgz",
311
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.64.0.tgz",
312
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.64.0.tgz",
313
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.64.0.tgz",
314
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.64.0.tgz",
315
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.64.0.tgz",
316
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.64.0.tgz",
317
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.64.0.tgz",
318
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.64.0.tgz",
319
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.64.0.tgz",
320
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.64.0.tgz",
321
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.64.0.tgz",
322
+ "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.64.0.tgz",
323
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.64.0.tgz",
324
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.64.0.tgz",
325
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.64.0.tgz",
326
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.64.0.tgz",
327
+ "@tryghost/post-events": "file:components/tryghost-post-events-5.64.0.tgz",
328
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.64.0.tgz",
329
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.64.0.tgz",
330
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.64.0.tgz",
331
+ "@tryghost/referrers": "file:components/tryghost-referrers-5.64.0.tgz",
332
+ "@tryghost/security": "file:components/tryghost-security-5.64.0.tgz",
333
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.64.0.tgz",
334
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.64.0.tgz",
335
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.64.0.tgz",
336
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.64.0.tgz",
337
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.64.0.tgz",
338
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.64.0.tgz",
339
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.64.0.tgz",
340
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.64.0.tgz",
341
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.64.0.tgz",
342
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.64.0.tgz",
343
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.64.0.tgz"
344
344
  },
345
345
  "nx": {
346
346
  "targets": {