ghost 5.88.2 → 5.89.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 (178) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.89.0.tgz +0 -0
  2. package/components/tryghost-adapter-cache-redis-5.89.0.tgz +0 -0
  3. package/components/tryghost-adapter-manager-5.89.0.tgz +0 -0
  4. package/components/tryghost-announcement-bar-settings-5.89.0.tgz +0 -0
  5. package/components/{tryghost-api-framework-5.88.2.tgz → tryghost-api-framework-5.89.0.tgz} +0 -0
  6. package/components/tryghost-api-version-compatibility-service-5.89.0.tgz +0 -0
  7. package/components/tryghost-audience-feedback-5.89.0.tgz +0 -0
  8. package/components/tryghost-bookshelf-repository-5.89.0.tgz +0 -0
  9. package/components/tryghost-bootstrap-socket-5.89.0.tgz +0 -0
  10. package/components/tryghost-collections-5.89.0.tgz +0 -0
  11. package/components/tryghost-constants-5.89.0.tgz +0 -0
  12. package/components/tryghost-custom-theme-settings-service-5.89.0.tgz +0 -0
  13. package/components/{tryghost-data-generator-5.88.2.tgz → tryghost-data-generator-5.89.0.tgz} +0 -0
  14. package/components/tryghost-domain-events-5.89.0.tgz +0 -0
  15. package/components/tryghost-donations-5.89.0.tgz +0 -0
  16. package/components/tryghost-dynamic-routing-events-5.89.0.tgz +0 -0
  17. package/components/{tryghost-email-addresses-5.88.2.tgz → tryghost-email-addresses-5.89.0.tgz} +0 -0
  18. package/components/tryghost-email-analytics-provider-mailgun-5.89.0.tgz +0 -0
  19. package/components/tryghost-email-analytics-service-5.89.0.tgz +0 -0
  20. package/components/tryghost-email-content-generator-5.89.0.tgz +0 -0
  21. package/components/tryghost-email-events-5.89.0.tgz +0 -0
  22. package/components/{tryghost-email-service-5.88.2.tgz → tryghost-email-service-5.89.0.tgz} +0 -0
  23. package/components/tryghost-email-suppression-list-5.89.0.tgz +0 -0
  24. package/components/tryghost-express-dynamic-redirects-5.89.0.tgz +0 -0
  25. package/components/tryghost-external-media-inliner-5.89.0.tgz +0 -0
  26. package/components/tryghost-extract-api-key-5.89.0.tgz +0 -0
  27. package/components/tryghost-ghost-5.89.0.tgz +0 -0
  28. package/components/tryghost-html-to-plaintext-5.89.0.tgz +0 -0
  29. package/components/tryghost-i18n-5.89.0.tgz +0 -0
  30. package/components/tryghost-importer-handler-content-files-5.89.0.tgz +0 -0
  31. package/components/tryghost-importer-revue-5.89.0.tgz +0 -0
  32. package/components/tryghost-in-memory-repository-5.89.0.tgz +0 -0
  33. package/components/tryghost-job-manager-5.89.0.tgz +0 -0
  34. package/components/tryghost-link-redirects-5.89.0.tgz +0 -0
  35. package/components/tryghost-link-replacer-5.89.0.tgz +0 -0
  36. package/components/tryghost-link-tracking-5.89.0.tgz +0 -0
  37. package/components/tryghost-magic-link-5.89.0.tgz +0 -0
  38. package/components/tryghost-mail-events-5.89.0.tgz +0 -0
  39. package/components/tryghost-mailgun-client-5.89.0.tgz +0 -0
  40. package/components/tryghost-member-attribution-5.89.0.tgz +0 -0
  41. package/components/tryghost-member-events-5.89.0.tgz +0 -0
  42. package/components/tryghost-members-api-5.89.0.tgz +0 -0
  43. package/components/tryghost-members-csv-5.89.0.tgz +0 -0
  44. package/components/tryghost-members-events-service-5.89.0.tgz +0 -0
  45. package/components/tryghost-members-importer-5.89.0.tgz +0 -0
  46. package/components/tryghost-members-offers-5.89.0.tgz +0 -0
  47. package/components/tryghost-members-payments-5.89.0.tgz +0 -0
  48. package/components/tryghost-members-ssr-5.89.0.tgz +0 -0
  49. package/components/tryghost-members-stripe-service-5.89.0.tgz +0 -0
  50. package/components/tryghost-mentions-email-report-5.89.0.tgz +0 -0
  51. package/components/tryghost-milestones-5.89.0.tgz +0 -0
  52. package/components/tryghost-minifier-5.89.0.tgz +0 -0
  53. package/components/tryghost-model-to-domain-event-interceptor-5.89.0.tgz +0 -0
  54. package/components/tryghost-mw-api-version-mismatch-5.89.0.tgz +0 -0
  55. package/components/tryghost-mw-cache-control-5.89.0.tgz +0 -0
  56. package/components/tryghost-mw-error-handler-5.89.0.tgz +0 -0
  57. package/components/tryghost-mw-session-from-token-5.89.0.tgz +0 -0
  58. package/components/tryghost-mw-update-user-last-seen-5.89.0.tgz +0 -0
  59. package/components/tryghost-mw-version-match-5.89.0.tgz +0 -0
  60. package/components/tryghost-mw-vhost-5.89.0.tgz +0 -0
  61. package/components/tryghost-nql-filter-expansions-5.89.0.tgz +0 -0
  62. package/components/tryghost-oembed-service-5.89.0.tgz +0 -0
  63. package/components/tryghost-package-json-5.89.0.tgz +0 -0
  64. package/components/tryghost-post-events-5.89.0.tgz +0 -0
  65. package/components/tryghost-post-revisions-5.89.0.tgz +0 -0
  66. package/components/tryghost-posts-service-5.89.0.tgz +0 -0
  67. package/components/tryghost-recommendations-5.89.0.tgz +0 -0
  68. package/components/tryghost-referrers-5.89.0.tgz +0 -0
  69. package/components/tryghost-security-5.89.0.tgz +0 -0
  70. package/components/tryghost-session-service-5.89.0.tgz +0 -0
  71. package/components/tryghost-settings-path-manager-5.89.0.tgz +0 -0
  72. package/components/tryghost-slack-notifications-5.89.0.tgz +0 -0
  73. package/components/tryghost-staff-service-5.89.0.tgz +0 -0
  74. package/components/tryghost-stats-service-5.89.0.tgz +0 -0
  75. package/components/tryghost-tiers-5.89.0.tgz +0 -0
  76. package/components/tryghost-update-check-service-5.89.0.tgz +0 -0
  77. package/components/tryghost-verification-trigger-5.89.0.tgz +0 -0
  78. package/components/tryghost-version-notifications-data-service-5.89.0.tgz +0 -0
  79. package/components/tryghost-webmentions-5.89.0.tgz +0 -0
  80. package/core/built/admin/assets/admin-x-activitypub/admin-x-activitypub.js +2 -2
  81. package/core/built/admin/assets/admin-x-activitypub/{index-d7494526.mjs → index-f3a8baa8.mjs} +3311 -3252
  82. package/core/built/admin/assets/admin-x-activitypub/{modals-8098b85c.mjs → modals-915e3990.mjs} +182 -191
  83. package/core/built/admin/assets/admin-x-demo/admin-x-demo.js +2 -2
  84. package/core/built/admin/assets/admin-x-demo/{index-5e68f89b.mjs → index-1ef6b7bc.mjs} +10 -9
  85. package/core/built/admin/assets/admin-x-demo/{modals-f789a6c4.mjs → modals-de711744.mjs} +2 -2
  86. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-3601b44e.mjs → CodeEditorView-b15adef3.mjs} +2 -2
  87. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +2 -2
  88. package/core/built/admin/assets/admin-x-settings/{index-0b24e982.mjs → index-027fbe4f.mjs} +2 -2
  89. package/core/built/admin/assets/admin-x-settings/{index-e7c4aa3c.mjs → index-47d489ec.mjs} +115 -114
  90. package/core/built/admin/assets/admin-x-settings/{modals-f8ab7cf2.mjs → modals-226093f6.mjs} +725 -724
  91. package/core/built/admin/assets/{chunk.42.0879e40a4de3db25b177.js → chunk.42.5ad82b3d5f3da077640e.js} +71 -71
  92. package/core/built/admin/assets/{chunk.524.d789401ed18183e69110.js → chunk.524.dbdd496ecac1abd29a9f.js} +5 -5
  93. package/core/built/admin/assets/{chunk.582.50a6bb6ad78373759548.js → chunk.582.fbabcd173cf9a4a554e6.js} +6 -6
  94. package/core/built/admin/assets/codemirror/{codemirror-98996fc475bb3df2b1b82dd701d32bc0.js → codemirror-91774021e5e17ea08db5cd2ed9f3e664.js} +5 -5
  95. package/core/built/admin/assets/{ghost-a9fa385e2a92cc3686349b2dea0249d2.js → ghost-3a72e468a9751efec6313b798b76bf70.js} +105 -94
  96. package/core/built/admin/assets/{vendor-051d43ec47258b77ffd2fcc21a6d8c50.js → vendor-35f20b2f9b6201dcd4a00c8acac98aa6.js} +9 -9
  97. package/core/built/admin/index.html +5 -5
  98. package/core/server/data/migrations/versions/5.89/2024-07-30-19-51-06-backfill-offer-redemptions.js +64 -0
  99. package/core/server/services/members/middleware.js +1 -1
  100. package/core/shared/config/env/config.development.json +12 -0
  101. package/package.json +148 -148
  102. package/yarn.lock +70 -70
  103. package/components/tryghost-adapter-cache-memory-ttl-5.88.2.tgz +0 -0
  104. package/components/tryghost-adapter-cache-redis-5.88.2.tgz +0 -0
  105. package/components/tryghost-adapter-manager-5.88.2.tgz +0 -0
  106. package/components/tryghost-announcement-bar-settings-5.88.2.tgz +0 -0
  107. package/components/tryghost-api-version-compatibility-service-5.88.2.tgz +0 -0
  108. package/components/tryghost-audience-feedback-5.88.2.tgz +0 -0
  109. package/components/tryghost-bookshelf-repository-5.88.2.tgz +0 -0
  110. package/components/tryghost-bootstrap-socket-5.88.2.tgz +0 -0
  111. package/components/tryghost-collections-5.88.2.tgz +0 -0
  112. package/components/tryghost-constants-5.88.2.tgz +0 -0
  113. package/components/tryghost-custom-theme-settings-service-5.88.2.tgz +0 -0
  114. package/components/tryghost-domain-events-5.88.2.tgz +0 -0
  115. package/components/tryghost-donations-5.88.2.tgz +0 -0
  116. package/components/tryghost-dynamic-routing-events-5.88.2.tgz +0 -0
  117. package/components/tryghost-email-analytics-provider-mailgun-5.88.2.tgz +0 -0
  118. package/components/tryghost-email-analytics-service-5.88.2.tgz +0 -0
  119. package/components/tryghost-email-content-generator-5.88.2.tgz +0 -0
  120. package/components/tryghost-email-events-5.88.2.tgz +0 -0
  121. package/components/tryghost-email-suppression-list-5.88.2.tgz +0 -0
  122. package/components/tryghost-express-dynamic-redirects-5.88.2.tgz +0 -0
  123. package/components/tryghost-external-media-inliner-5.88.2.tgz +0 -0
  124. package/components/tryghost-extract-api-key-5.88.2.tgz +0 -0
  125. package/components/tryghost-ghost-5.88.2.tgz +0 -0
  126. package/components/tryghost-html-to-plaintext-5.88.2.tgz +0 -0
  127. package/components/tryghost-i18n-5.88.2.tgz +0 -0
  128. package/components/tryghost-importer-handler-content-files-5.88.2.tgz +0 -0
  129. package/components/tryghost-importer-revue-5.88.2.tgz +0 -0
  130. package/components/tryghost-in-memory-repository-5.88.2.tgz +0 -0
  131. package/components/tryghost-job-manager-5.88.2.tgz +0 -0
  132. package/components/tryghost-link-redirects-5.88.2.tgz +0 -0
  133. package/components/tryghost-link-replacer-5.88.2.tgz +0 -0
  134. package/components/tryghost-link-tracking-5.88.2.tgz +0 -0
  135. package/components/tryghost-magic-link-5.88.2.tgz +0 -0
  136. package/components/tryghost-mail-events-5.88.2.tgz +0 -0
  137. package/components/tryghost-mailgun-client-5.88.2.tgz +0 -0
  138. package/components/tryghost-member-attribution-5.88.2.tgz +0 -0
  139. package/components/tryghost-member-events-5.88.2.tgz +0 -0
  140. package/components/tryghost-members-api-5.88.2.tgz +0 -0
  141. package/components/tryghost-members-csv-5.88.2.tgz +0 -0
  142. package/components/tryghost-members-events-service-5.88.2.tgz +0 -0
  143. package/components/tryghost-members-importer-5.88.2.tgz +0 -0
  144. package/components/tryghost-members-offers-5.88.2.tgz +0 -0
  145. package/components/tryghost-members-payments-5.88.2.tgz +0 -0
  146. package/components/tryghost-members-ssr-5.88.2.tgz +0 -0
  147. package/components/tryghost-members-stripe-service-5.88.2.tgz +0 -0
  148. package/components/tryghost-mentions-email-report-5.88.2.tgz +0 -0
  149. package/components/tryghost-milestones-5.88.2.tgz +0 -0
  150. package/components/tryghost-minifier-5.88.2.tgz +0 -0
  151. package/components/tryghost-model-to-domain-event-interceptor-5.88.2.tgz +0 -0
  152. package/components/tryghost-mw-api-version-mismatch-5.88.2.tgz +0 -0
  153. package/components/tryghost-mw-cache-control-5.88.2.tgz +0 -0
  154. package/components/tryghost-mw-error-handler-5.88.2.tgz +0 -0
  155. package/components/tryghost-mw-session-from-token-5.88.2.tgz +0 -0
  156. package/components/tryghost-mw-update-user-last-seen-5.88.2.tgz +0 -0
  157. package/components/tryghost-mw-version-match-5.88.2.tgz +0 -0
  158. package/components/tryghost-mw-vhost-5.88.2.tgz +0 -0
  159. package/components/tryghost-nql-filter-expansions-5.88.2.tgz +0 -0
  160. package/components/tryghost-oembed-service-5.88.2.tgz +0 -0
  161. package/components/tryghost-package-json-5.88.2.tgz +0 -0
  162. package/components/tryghost-post-events-5.88.2.tgz +0 -0
  163. package/components/tryghost-post-revisions-5.88.2.tgz +0 -0
  164. package/components/tryghost-posts-service-5.88.2.tgz +0 -0
  165. package/components/tryghost-recommendations-5.88.2.tgz +0 -0
  166. package/components/tryghost-referrers-5.88.2.tgz +0 -0
  167. package/components/tryghost-security-5.88.2.tgz +0 -0
  168. package/components/tryghost-session-service-5.88.2.tgz +0 -0
  169. package/components/tryghost-settings-path-manager-5.88.2.tgz +0 -0
  170. package/components/tryghost-slack-notifications-5.88.2.tgz +0 -0
  171. package/components/tryghost-staff-service-5.88.2.tgz +0 -0
  172. package/components/tryghost-stats-service-5.88.2.tgz +0 -0
  173. package/components/tryghost-tiers-5.88.2.tgz +0 -0
  174. package/components/tryghost-update-check-service-5.88.2.tgz +0 -0
  175. package/components/tryghost-verification-trigger-5.88.2.tgz +0 -0
  176. package/components/tryghost-version-notifications-data-service-5.88.2.tgz +0 -0
  177. package/components/tryghost-webmentions-5.88.2.tgz +0 -0
  178. /package/core/built/admin/assets/{chunk.42.0879e40a4de3db25b177.js.LICENSE.txt → chunk.42.5ad82b3d5f3da077640e.js.LICENSE.txt} +0 -0
@@ -712,7 +712,7 @@ return{named:new Proxy(c,a),positional:new Proxy([],l)}}:(e,t)=>{var{named:r,pos
712
712
  Object.defineProperty(o,n.CUSTOM_TAG_FOR,{configurable:!1,enumerable:!1,value:e=>G(r,e)}),Object.keys(r).forEach((e=>{Object.defineProperty(o,e,{enumerable:!0,configurable:!0,get:()=>(0,u.valueForRef)(r[e])})}))
713
713
  var s=[]
714
714
  return Object.defineProperty(s,n.CUSTOM_TAG_FOR,{configurable:!1,enumerable:!1,value:e=>Y(i,e)}),i.forEach(((e,t)=>{Object.defineProperty(s,t,{enumerable:!0,configurable:!0,get:()=>(0,u.valueForRef)(e)})})),{named:o,positional:s}}
715
- function X(e){return(0,d.getValue)(e.argsCache)}class Z{constructor(e,t=(()=>c.EMPTY_ARGS)){var r=(0,d.createCache)((()=>t(e)))
715
+ function X(e){return(0,d.getValue)(e.argsCache)}class Z{constructor(e,t=()=>c.EMPTY_ARGS){var r=(0,d.createCache)((()=>t(e)))
716
716
  this.argsCache=r}get named(){return X(this).named||c.EMPTY_NAMED}get positional(){return X(this).positional||c.EMPTY_POSITIONAL}}var ee=(0,s.symbol)("RECOMPUTE_TAG"),te=new b._WeakSet
717
717
  function re(e){return te.has(e)}var ne=e.Helper=o.FrameworkObject.extend({init(){this._super(...arguments),this[ee]=(0,d.createTag)()},recompute(){(0,g.join)((()=>(0,d.dirtyTag)(this[ee])))}})
718
718
  ne.isHelperFactory=!0
@@ -3085,7 +3085,7 @@ if(void 0!==r&&d(r,n))N(r)
3085
3085
  else{R()
3086
3086
  try{e[F]=t()}finally{r=j(),e[z]=r,e[B]=c(r),N(r)}}return e[F]},e.isConst=function(e){H(e,"isConst")
3087
3087
  var t=e[z]
3088
- return function(e,t){0}(),v(t)},e.isConstTag=v,e.isTracking=function(){return null!==S},e.logTrackingStack=void 0,e.resetTracking=function(){for(;A.length>0;)A.pop()
3088
+ return function(){0}(),v(t)},e.isConstTag=v,e.isTracking=function(){return null!==S},e.logTrackingStack=void 0,e.resetTracking=function(){for(;A.length>0;)A.pop()
3089
3089
  S=null,!1},e.setTrackingTransactionEnv=e.runInTrackingTransaction=void 0,e.tagFor=T,e.tagMetaFor=P,e.track=function(e,t){var r
3090
3090
  R(t)
3091
3091
  try{e()}finally{r=j()}return r},e.trackedData=function(e,t){var r=new WeakMap,n="function"==typeof t
@@ -6090,14 +6090,14 @@ Object.keys(r).forEach((n=>{r[n].type&&e.call(t,n,r[n])}))}}function et(e,t,r,n,
6090
6090
  if(void 0===l)throw new Error("adapter.findMany returned undefined, this was very likely a mistake")
6091
6091
  return(l=U(l,t,u)).then((e=>{var n=$(t.serializerFor(r),t,a,e,null,"findMany")
6092
6092
  return t._push(n)}),null,`DS: Extract payload of ${r}`)}function tt(e,t,r,n){var i,o,s=(i=t.data,o=(t,i)=>{var{id:o,type:s}=t
6093
- return function(e,t,r,n,i){var{id:o,type:s}=e
6093
+ return function(e,t,r,n){var{id:i,type:o}=e
6094
6094
  e.relationships||(e.relationships={})
6095
- var{relationships:a}=e,l=function(e,t,r,n){return function({_storeWrapper:e},t,r,n){var{name:i}=r,{modelName:o}=t,s=e.inverseForRelationship(o,i)
6095
+ var{relationships:s}=e,a=function(e,t,r,n){return function({_storeWrapper:e},t,r,n){var{name:i}=r,{modelName:o}=t,s=e.inverseForRelationship(o,i)
6096
6096
  if(s){var{meta:{kind:a}}=e.relationshipsDefinitionFor(n)[s]
6097
- return{inverseKey:s,kind:a}}}(e,t,r,n)}(r,t,n,s)
6098
- if(l){var{inverseKey:u,kind:c}=l,d=a[u]&&a[u].data
6099
- "hasMany"===c&&void 0===d||(a[u]=a[u]||{},a[u].data=function(e,t,{id:r,modelName:n}){var i,o={id:r,type:n}
6100
- return"hasMany"===t?(i=e||[]).push(o):(i=e||{},Ember.assign(i,o)),i}(d,c,t))}}(t,r,e,n),{id:o,type:s}},Array.isArray(i)?i.map(o):o(i)),a={id:r.id,type:r.modelName,relationships:{[n.key]:{meta:t.meta,links:t.links,data:s}}}
6097
+ return{inverseKey:s,kind:a}}}(e,t,r,n)}(r,t,n,o)
6098
+ if(a){var{inverseKey:l,kind:u}=a,c=s[l]&&s[l].data
6099
+ "hasMany"===u&&void 0===c||(s[l]=s[l]||{},s[l].data=function(e,t,{id:r,modelName:n}){var i,o={id:r,type:n}
6100
+ return"hasMany"===t?(i=e||[]).push(o):(i=e||{},Ember.assign(i,o)),i}(c,u,t))}}(t,r,e,n),{id:o,type:s}},Array.isArray(i)?i.map(o):o(i)),a={id:r.id,type:r.modelName,relationships:{[n.key]:{meta:t.meta,links:t.links,data:s}}}
6101
6101
  return Array.isArray(t.included)||(t.included=[]),t.included.push(a),t}function rt(e,t,r,n){var i=t.modelFor(r),o=t.peekAll(r),s=o._createSnapshot(n),a=Ember.RSVP.Promise.resolve().then((()=>e.findAll(t,i,null,s)))
6102
6102
  return(a=U(a,t,"DS: Handle Adapter#findAll of "+i)).then((e=>{var n=$(t.serializerFor(r),t,i,e,null,"findAll")
6103
6103
  return t._push(n),t._didUpdateAll(r),o}),null,"DS: Extract payload of findAll ${modelName}")}var nt,it=a("DEBUG-ts-brand")
@@ -9514,4 +9514,4 @@ e.default=class{constructor(e){if(this._data=new t.default,e)for(let t=0;t<e.len
9514
9514
  return this}get(e){let t=this._data[e]
9515
9515
  return t===r.UNDEFINED_KEY?void 0:t}set(e,t){return this._data[e]=t,this}delete(e){return this._data[e]=r.UNDEFINED_KEY,!0}}}))
9516
9516
 
9517
- //# sourceMappingURL=vendor-1a4f8a4af6641461dc52cf7021eddd2f.map
9517
+ //# sourceMappingURL=vendor-bb6b765916d677a72aa5ce778360bb62.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%22editorUrl%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.88%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%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%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%22eac6431ceb%22%2C%22adminXDemoFilename%22%3A%22admin-x-demo.js%22%2C%22adminXDemoHash%22%3A%22714b89ba9e%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%22452dba3a8c%22%2C%22adminXActivitypubFilename%22%3A%22admin-x-activitypub.js%22%2C%22adminXActivitypubHash%22%3A%22f3467942d6%22%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%22editorUrl%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.89%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%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%2C%22editorFilename%22%3A%22koenig-lexical.umd.js%22%2C%22editorHash%22%3A%22eac6431ceb%22%2C%22adminXDemoFilename%22%3A%22admin-x-demo.js%22%2C%22adminXDemoHash%22%3A%22410344ab78%22%2C%22adminXSettingsFilename%22%3A%22admin-x-settings.js%22%2C%22adminXSettingsHash%22%3A%223cb43eda50%22%2C%22adminXActivitypubFilename%22%3A%22admin-x-activitypub.js%22%2C%22adminXActivitypubHash%22%3A%221bb2638bbe%22%7D" />
12
12
 
13
13
  <meta name="HandheldFriendly" content="True" />
14
14
  <meta name="MobileOptimized" content="320" />
@@ -56,9 +56,9 @@
56
56
 
57
57
  <div id="ember-basic-dropdown-wormhole"></div>
58
58
 
59
- <script src="assets/vendor-051d43ec47258b77ffd2fcc21a6d8c50.js"></script>
60
- <script src="assets/chunk.42.0879e40a4de3db25b177.js"></script>
61
- <script src="assets/chunk.524.d789401ed18183e69110.js"></script>
62
- <script src="assets/ghost-a9fa385e2a92cc3686349b2dea0249d2.js"></script>
59
+ <script src="assets/vendor-35f20b2f9b6201dcd4a00c8acac98aa6.js"></script>
60
+ <script src="assets/chunk.42.5ad82b3d5f3da077640e.js"></script>
61
+ <script src="assets/chunk.524.dbdd496ecac1abd29a9f.js"></script>
62
+ <script src="assets/ghost-3a72e468a9751efec6313b798b76bf70.js"></script>
63
63
  </body>
64
64
  </html>
@@ -0,0 +1,64 @@
1
+ // For information on writing migrations, see https://www.notion.so/ghost/Database-migrations-eb5b78c435d741d2b34a582d57c24253
2
+
3
+ const logging = require('@tryghost/logging');
4
+ const DatabaseInfo = require('@tryghost/database-info');
5
+ const {default: ObjectID} = require('bson-objectid');
6
+
7
+ // For DML - data changes
8
+ const {createTransactionalMigration} = require('../../utils');
9
+
10
+ module.exports = createTransactionalMigration(
11
+ async function up(knex) {
12
+ // Backfill missing offer redemptions
13
+ try {
14
+ // Select all subscriptions that have an `offer_id` but don't have a matching row in the `offer_redemptions` table
15
+ logging.info('Selecting subscriptions with missing offer redemptions');
16
+ const result = await knex.raw(`
17
+ SELECT
18
+ mscs.id AS subscription_id,
19
+ mscs.offer_id,
20
+ mscs.start_date AS created_at,
21
+ m.id AS member_id
22
+ FROM
23
+ members_stripe_customers_subscriptions mscs
24
+ LEFT JOIN
25
+ offer_redemptions r ON r.subscription_id = mscs.id
26
+ INNER JOIN
27
+ members_stripe_customers msc ON mscs.customer_id = msc.customer_id
28
+ INNER JOIN
29
+ members m ON msc.member_id = m.id
30
+ WHERE
31
+ mscs.offer_id IS NOT NULL and r.id IS NULL;
32
+ `);
33
+
34
+ // knex.raw() returns a different result depending on the database. We need to handle either case
35
+ let rows = [];
36
+ if (DatabaseInfo.isSQLite(knex)) {
37
+ rows = result;
38
+ } else {
39
+ rows = result[0];
40
+ }
41
+
42
+ // Do the backfil
43
+ if (rows && rows.length > 0) {
44
+ logging.info(`Backfilling ${rows.length} offer redemptions`);
45
+ // Generate IDs for each row
46
+ const offerRedemptions = rows.map((row) => {
47
+ return {
48
+ id: (new ObjectID()).toHexString(),
49
+ ...row
50
+ };
51
+ });
52
+ // Batch insert rows into the offer_redemptions table
53
+ await knex.batchInsert('offer_redemptions', offerRedemptions, 1000);
54
+ } else {
55
+ logging.info('No offer redemptions to backfill');
56
+ }
57
+ } catch (error) {
58
+ logging.error(`Error backfilling offer redemptions: ${error.message}`);
59
+ }
60
+ },
61
+ async function down() {
62
+ // We don't want to un-backfill data, so do nothing here.
63
+ }
64
+ );
@@ -110,7 +110,7 @@ const authMemberByUuid = async function authMemberByUuid(req, res, next) {
110
110
  }
111
111
 
112
112
  throw new errors.UnauthorizedError({
113
- messsage: tpl(messages.missingUuid)
113
+ message: tpl(messages.missingUuid)
114
114
  });
115
115
  }
116
116
 
@@ -1,5 +1,17 @@
1
1
  {
2
2
  "url": "http://localhost:2368",
3
+ "mail": {
4
+ "from": "test@example.com",
5
+ "transport": "SMTP",
6
+ "options": {
7
+ "host": "127.0.0.1",
8
+ "port": 1025,
9
+ "auth": {
10
+ "user": "user",
11
+ "pass": "unsecure"
12
+ }
13
+ }
14
+ },
3
15
  "database": {
4
16
  "client": "sqlite3",
5
17
  "connection": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.88.2",
3
+ "version": "5.89.0",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -69,44 +69,44 @@
69
69
  "@opentelemetry/sdk-trace-node": "1.25.1",
70
70
  "@sentry/node": "7.118.0",
71
71
  "@tryghost/adapter-base-cache": "0.1.12",
72
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.88.2.tgz",
73
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.88.2.tgz",
72
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.89.0.tgz",
73
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.89.0.tgz",
74
74
  "@tryghost/admin-api-schema": "4.5.5",
75
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.88.2.tgz",
76
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.88.2.tgz",
77
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.88.2.tgz",
78
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.88.2.tgz",
75
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.89.0.tgz",
76
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.89.0.tgz",
77
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.89.0.tgz",
78
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.89.0.tgz",
79
79
  "@tryghost/bookshelf-plugins": "0.6.19",
80
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.88.2.tgz",
81
- "@tryghost/collections": "file:components/tryghost-collections-5.88.2.tgz",
80
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.89.0.tgz",
81
+ "@tryghost/collections": "file:components/tryghost-collections-5.89.0.tgz",
82
82
  "@tryghost/color-utils": "0.2.2",
83
83
  "@tryghost/config-url-helpers": "1.0.12",
84
- "@tryghost/constants": "file:components/tryghost-constants-5.88.2.tgz",
85
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.88.2.tgz",
86
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.88.2.tgz",
84
+ "@tryghost/constants": "file:components/tryghost-constants-5.89.0.tgz",
85
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.89.0.tgz",
86
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.89.0.tgz",
87
87
  "@tryghost/database-info": "0.3.24",
88
88
  "@tryghost/debug": "0.1.30",
89
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.88.2.tgz",
90
- "@tryghost/donations": "file:components/tryghost-donations-5.88.2.tgz",
91
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.88.2.tgz",
92
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.88.2.tgz",
93
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.88.2.tgz",
94
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.88.2.tgz",
89
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.89.0.tgz",
90
+ "@tryghost/donations": "file:components/tryghost-donations-5.89.0.tgz",
91
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.89.0.tgz",
92
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.89.0.tgz",
93
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.89.0.tgz",
94
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.89.0.tgz",
95
95
  "@tryghost/email-mock-receiver": "0.3.6",
96
- "@tryghost/email-service": "file:components/tryghost-email-service-5.88.2.tgz",
97
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.88.2.tgz",
96
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.89.0.tgz",
97
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.89.0.tgz",
98
98
  "@tryghost/errors": "1.3.2",
99
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.88.2.tgz",
100
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.88.2.tgz",
101
- "@tryghost/ghost": "file:components/tryghost-ghost-5.88.2.tgz",
99
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.89.0.tgz",
100
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.89.0.tgz",
101
+ "@tryghost/ghost": "file:components/tryghost-ghost-5.89.0.tgz",
102
102
  "@tryghost/helpers": "1.1.90",
103
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.88.2.tgz",
103
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.89.0.tgz",
104
104
  "@tryghost/http-cache-utils": "0.1.15",
105
- "@tryghost/i18n": "file:components/tryghost-i18n-5.88.2.tgz",
105
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.89.0.tgz",
106
106
  "@tryghost/image-transform": "1.3.0",
107
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.88.2.tgz",
108
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.88.2.tgz",
109
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.88.2.tgz",
107
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.89.0.tgz",
108
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.89.0.tgz",
109
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.89.0.tgz",
110
110
  "@tryghost/kg-card-factory": "5.0.4",
111
111
  "@tryghost/kg-converters": "1.0.5",
112
112
  "@tryghost/kg-default-atoms": "5.0.3",
@@ -116,59 +116,59 @@
116
116
  "@tryghost/kg-lexical-html-renderer": "1.1.12",
117
117
  "@tryghost/kg-mobiledoc-html-renderer": "7.0.4",
118
118
  "@tryghost/limit-service": "1.2.14",
119
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.88.2.tgz",
120
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.88.2.tgz",
121
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.88.2.tgz",
119
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.89.0.tgz",
120
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.89.0.tgz",
121
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.89.0.tgz",
122
122
  "@tryghost/logging": "2.4.15",
123
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.88.2.tgz",
124
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.88.2.tgz",
125
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.88.2.tgz",
126
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.88.2.tgz",
127
- "@tryghost/member-events": "file:components/tryghost-member-events-5.88.2.tgz",
128
- "@tryghost/members-api": "file:components/tryghost-members-api-5.88.2.tgz",
129
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.88.2.tgz",
130
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.88.2.tgz",
131
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.88.2.tgz",
132
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.88.2.tgz",
133
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.88.2.tgz",
134
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.88.2.tgz",
135
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.88.2.tgz",
123
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.89.0.tgz",
124
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.89.0.tgz",
125
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.89.0.tgz",
126
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.89.0.tgz",
127
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.89.0.tgz",
128
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.89.0.tgz",
129
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.89.0.tgz",
130
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.89.0.tgz",
131
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.89.0.tgz",
132
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.89.0.tgz",
133
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.89.0.tgz",
134
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.89.0.tgz",
135
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.89.0.tgz",
136
136
  "@tryghost/metrics": "1.0.34",
137
- "@tryghost/milestones": "file:components/tryghost-milestones-5.88.2.tgz",
138
- "@tryghost/minifier": "file:components/tryghost-minifier-5.88.2.tgz",
139
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.88.2.tgz",
140
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.88.2.tgz",
141
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.88.2.tgz",
142
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.88.2.tgz",
143
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.88.2.tgz",
144
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.88.2.tgz",
145
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.88.2.tgz",
137
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.89.0.tgz",
138
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.89.0.tgz",
139
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.89.0.tgz",
140
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.89.0.tgz",
141
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.89.0.tgz",
142
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.89.0.tgz",
143
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.89.0.tgz",
144
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.89.0.tgz",
145
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.89.0.tgz",
146
146
  "@tryghost/nodemailer": "0.3.42",
147
147
  "@tryghost/nql": "0.12.3",
148
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.88.2.tgz",
149
- "@tryghost/package-json": "file:components/tryghost-package-json-5.88.2.tgz",
150
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.88.2.tgz",
151
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.88.2.tgz",
148
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.89.0.tgz",
149
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.89.0.tgz",
150
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.89.0.tgz",
151
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.89.0.tgz",
152
152
  "@tryghost/pretty-cli": "1.2.42",
153
153
  "@tryghost/promise": "0.3.10",
154
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.88.2.tgz",
154
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.89.0.tgz",
155
155
  "@tryghost/request": "1.0.5",
156
- "@tryghost/security": "file:components/tryghost-security-5.88.2.tgz",
157
- "@tryghost/session-service": "file:components/tryghost-session-service-5.88.2.tgz",
158
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.88.2.tgz",
159
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.88.2.tgz",
156
+ "@tryghost/security": "file:components/tryghost-security-5.89.0.tgz",
157
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.89.0.tgz",
158
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.89.0.tgz",
159
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.89.0.tgz",
160
160
  "@tryghost/social-urls": "0.1.43",
161
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.88.2.tgz",
162
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.88.2.tgz",
161
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.89.0.tgz",
162
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.89.0.tgz",
163
163
  "@tryghost/string": "0.2.12",
164
- "@tryghost/tiers": "file:components/tryghost-tiers-5.88.2.tgz",
164
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.89.0.tgz",
165
165
  "@tryghost/tpl": "0.1.30",
166
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.88.2.tgz",
166
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.89.0.tgz",
167
167
  "@tryghost/url-utils": "4.4.8",
168
168
  "@tryghost/validator": "0.2.11",
169
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.88.2.tgz",
169
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.89.0.tgz",
170
170
  "@tryghost/version": "0.1.28",
171
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.88.2.tgz",
171
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.89.0.tgz",
172
172
  "@tryghost/zip": "1.1.43",
173
173
  "amperize": "0.6.1",
174
174
  "body-parser": "1.20.2",
@@ -214,7 +214,7 @@
214
214
  "moment": "2.24.0",
215
215
  "moment-timezone": "0.5.45",
216
216
  "multer": "1.4.4",
217
- "mysql2": "3.10.3",
217
+ "mysql2": "3.11.0",
218
218
  "nconf": "0.12.1",
219
219
  "node-jose": "2.2.0",
220
220
  "path-match": "1.2.4",
@@ -270,85 +270,85 @@
270
270
  "jackspeak": "2.1.1",
271
271
  "moment": "2.24.0",
272
272
  "moment-timezone": "0.5.45",
273
- "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.88.2.tgz",
274
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.88.2.tgz",
275
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.88.2.tgz",
276
- "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.88.2.tgz",
277
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.88.2.tgz",
278
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.88.2.tgz",
279
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.88.2.tgz",
280
- "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.88.2.tgz",
281
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.88.2.tgz",
282
- "@tryghost/collections": "file:components/tryghost-collections-5.88.2.tgz",
283
- "@tryghost/constants": "file:components/tryghost-constants-5.88.2.tgz",
284
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.88.2.tgz",
285
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.88.2.tgz",
286
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.88.2.tgz",
287
- "@tryghost/donations": "file:components/tryghost-donations-5.88.2.tgz",
288
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.88.2.tgz",
289
- "@tryghost/email-addresses": "file:components/tryghost-email-addresses-5.88.2.tgz",
290
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.88.2.tgz",
291
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.88.2.tgz",
292
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.88.2.tgz",
293
- "@tryghost/email-events": "file:components/tryghost-email-events-5.88.2.tgz",
294
- "@tryghost/email-service": "file:components/tryghost-email-service-5.88.2.tgz",
295
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.88.2.tgz",
296
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.88.2.tgz",
297
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.88.2.tgz",
298
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.88.2.tgz",
299
- "@tryghost/ghost": "file:components/tryghost-ghost-5.88.2.tgz",
300
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.88.2.tgz",
301
- "@tryghost/i18n": "file:components/tryghost-i18n-5.88.2.tgz",
302
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.88.2.tgz",
303
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.88.2.tgz",
304
- "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.88.2.tgz",
305
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.88.2.tgz",
306
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.88.2.tgz",
307
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.88.2.tgz",
308
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.88.2.tgz",
309
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.88.2.tgz",
310
- "@tryghost/mail-events": "file:components/tryghost-mail-events-5.88.2.tgz",
311
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.88.2.tgz",
312
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.88.2.tgz",
313
- "@tryghost/member-events": "file:components/tryghost-member-events-5.88.2.tgz",
314
- "@tryghost/members-api": "file:components/tryghost-members-api-5.88.2.tgz",
315
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.88.2.tgz",
316
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.88.2.tgz",
317
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.88.2.tgz",
318
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.88.2.tgz",
319
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.88.2.tgz",
320
- "@tryghost/milestones": "file:components/tryghost-milestones-5.88.2.tgz",
321
- "@tryghost/minifier": "file:components/tryghost-minifier-5.88.2.tgz",
322
- "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.88.2.tgz",
323
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.88.2.tgz",
324
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.88.2.tgz",
325
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.88.2.tgz",
326
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.88.2.tgz",
327
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.88.2.tgz",
328
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.88.2.tgz",
329
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.88.2.tgz",
330
- "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.88.2.tgz",
331
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.88.2.tgz",
332
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.88.2.tgz",
333
- "@tryghost/package-json": "file:components/tryghost-package-json-5.88.2.tgz",
334
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.88.2.tgz",
335
- "@tryghost/post-events": "file:components/tryghost-post-events-5.88.2.tgz",
336
- "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.88.2.tgz",
337
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.88.2.tgz",
338
- "@tryghost/recommendations": "file:components/tryghost-recommendations-5.88.2.tgz",
339
- "@tryghost/referrers": "file:components/tryghost-referrers-5.88.2.tgz",
340
- "@tryghost/security": "file:components/tryghost-security-5.88.2.tgz",
341
- "@tryghost/session-service": "file:components/tryghost-session-service-5.88.2.tgz",
342
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.88.2.tgz",
343
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.88.2.tgz",
344
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.88.2.tgz",
345
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.88.2.tgz",
346
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.88.2.tgz",
347
- "@tryghost/tiers": "file:components/tryghost-tiers-5.88.2.tgz",
348
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.88.2.tgz",
349
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.88.2.tgz",
350
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.88.2.tgz",
351
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.88.2.tgz"
273
+ "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.89.0.tgz",
274
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.89.0.tgz",
275
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.89.0.tgz",
276
+ "@tryghost/announcement-bar-settings": "file:components/tryghost-announcement-bar-settings-5.89.0.tgz",
277
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.89.0.tgz",
278
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.89.0.tgz",
279
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.89.0.tgz",
280
+ "@tryghost/bookshelf-repository": "file:components/tryghost-bookshelf-repository-5.89.0.tgz",
281
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.89.0.tgz",
282
+ "@tryghost/collections": "file:components/tryghost-collections-5.89.0.tgz",
283
+ "@tryghost/constants": "file:components/tryghost-constants-5.89.0.tgz",
284
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.89.0.tgz",
285
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.89.0.tgz",
286
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.89.0.tgz",
287
+ "@tryghost/donations": "file:components/tryghost-donations-5.89.0.tgz",
288
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.89.0.tgz",
289
+ "@tryghost/email-addresses": "file:components/tryghost-email-addresses-5.89.0.tgz",
290
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.89.0.tgz",
291
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.89.0.tgz",
292
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.89.0.tgz",
293
+ "@tryghost/email-events": "file:components/tryghost-email-events-5.89.0.tgz",
294
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.89.0.tgz",
295
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.89.0.tgz",
296
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.89.0.tgz",
297
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.89.0.tgz",
298
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.89.0.tgz",
299
+ "@tryghost/ghost": "file:components/tryghost-ghost-5.89.0.tgz",
300
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.89.0.tgz",
301
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.89.0.tgz",
302
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.89.0.tgz",
303
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.89.0.tgz",
304
+ "@tryghost/in-memory-repository": "file:components/tryghost-in-memory-repository-5.89.0.tgz",
305
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.89.0.tgz",
306
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.89.0.tgz",
307
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.89.0.tgz",
308
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.89.0.tgz",
309
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.89.0.tgz",
310
+ "@tryghost/mail-events": "file:components/tryghost-mail-events-5.89.0.tgz",
311
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.89.0.tgz",
312
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.89.0.tgz",
313
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.89.0.tgz",
314
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.89.0.tgz",
315
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.89.0.tgz",
316
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.89.0.tgz",
317
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.89.0.tgz",
318
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.89.0.tgz",
319
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.89.0.tgz",
320
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.89.0.tgz",
321
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.89.0.tgz",
322
+ "@tryghost/model-to-domain-event-interceptor": "file:components/tryghost-model-to-domain-event-interceptor-5.89.0.tgz",
323
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.89.0.tgz",
324
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.89.0.tgz",
325
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.89.0.tgz",
326
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.89.0.tgz",
327
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.89.0.tgz",
328
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.89.0.tgz",
329
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.89.0.tgz",
330
+ "@tryghost/nql-filter-expansions": "file:components/tryghost-nql-filter-expansions-5.89.0.tgz",
331
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.89.0.tgz",
332
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.89.0.tgz",
333
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.89.0.tgz",
334
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.89.0.tgz",
335
+ "@tryghost/post-events": "file:components/tryghost-post-events-5.89.0.tgz",
336
+ "@tryghost/post-revisions": "file:components/tryghost-post-revisions-5.89.0.tgz",
337
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.89.0.tgz",
338
+ "@tryghost/recommendations": "file:components/tryghost-recommendations-5.89.0.tgz",
339
+ "@tryghost/referrers": "file:components/tryghost-referrers-5.89.0.tgz",
340
+ "@tryghost/security": "file:components/tryghost-security-5.89.0.tgz",
341
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.89.0.tgz",
342
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.89.0.tgz",
343
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.89.0.tgz",
344
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.89.0.tgz",
345
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.89.0.tgz",
346
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.89.0.tgz",
347
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.89.0.tgz",
348
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.89.0.tgz",
349
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.89.0.tgz",
350
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.89.0.tgz",
351
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.89.0.tgz"
352
352
  },
353
353
  "nx": {
354
354
  "targets": {