ghost 5.42.0 → 5.42.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/components/tryghost-adapter-cache-memory-ttl-5.42.1.tgz +0 -0
  2. package/components/{tryghost-adapter-cache-redis-5.42.0.tgz → tryghost-adapter-cache-redis-5.42.1.tgz} +0 -0
  3. package/components/{tryghost-adapter-manager-5.42.0.tgz → tryghost-adapter-manager-5.42.1.tgz} +0 -0
  4. package/components/{tryghost-api-framework-5.42.0.tgz → tryghost-api-framework-5.42.1.tgz} +0 -0
  5. package/components/{tryghost-api-version-compatibility-service-5.42.0.tgz → tryghost-api-version-compatibility-service-5.42.1.tgz} +0 -0
  6. package/components/{tryghost-audience-feedback-5.42.0.tgz → tryghost-audience-feedback-5.42.1.tgz} +0 -0
  7. package/components/tryghost-bootstrap-socket-5.42.1.tgz +0 -0
  8. package/components/tryghost-constants-5.42.1.tgz +0 -0
  9. package/components/{tryghost-custom-theme-settings-service-5.42.0.tgz → tryghost-custom-theme-settings-service-5.42.1.tgz} +0 -0
  10. package/components/{tryghost-data-generator-5.42.0.tgz → tryghost-data-generator-5.42.1.tgz} +0 -0
  11. package/components/tryghost-domain-events-5.42.1.tgz +0 -0
  12. package/components/tryghost-dynamic-routing-events-5.42.1.tgz +0 -0
  13. package/components/tryghost-email-analytics-provider-mailgun-5.42.1.tgz +0 -0
  14. package/components/{tryghost-email-analytics-service-5.42.0.tgz → tryghost-email-analytics-service-5.42.1.tgz} +0 -0
  15. package/components/tryghost-email-content-generator-5.42.1.tgz +0 -0
  16. package/components/tryghost-email-events-5.42.1.tgz +0 -0
  17. package/components/{tryghost-email-service-5.42.0.tgz → tryghost-email-service-5.42.1.tgz} +0 -0
  18. package/components/tryghost-email-suppression-list-5.42.1.tgz +0 -0
  19. package/components/tryghost-event-aware-cache-wrapper-5.42.1.tgz +0 -0
  20. package/components/{tryghost-express-dynamic-redirects-5.42.0.tgz → tryghost-express-dynamic-redirects-5.42.1.tgz} +0 -0
  21. package/components/{tryghost-external-media-inliner-5.42.0.tgz → tryghost-external-media-inliner-5.42.1.tgz} +0 -0
  22. package/components/{tryghost-extract-api-key-5.42.0.tgz → tryghost-extract-api-key-5.42.1.tgz} +0 -0
  23. package/components/{tryghost-html-to-plaintext-5.42.0.tgz → tryghost-html-to-plaintext-5.42.1.tgz} +0 -0
  24. package/components/tryghost-i18n-5.42.1.tgz +0 -0
  25. package/components/{tryghost-importer-handler-content-files-5.42.0.tgz → tryghost-importer-handler-content-files-5.42.1.tgz} +0 -0
  26. package/components/{tryghost-importer-revue-5.42.0.tgz → tryghost-importer-revue-5.42.1.tgz} +0 -0
  27. package/components/{tryghost-job-manager-5.42.0.tgz → tryghost-job-manager-5.42.1.tgz} +0 -0
  28. package/components/tryghost-link-redirects-5.42.1.tgz +0 -0
  29. package/components/tryghost-link-replacer-5.42.1.tgz +0 -0
  30. package/components/{tryghost-link-tracking-5.42.0.tgz → tryghost-link-tracking-5.42.1.tgz} +0 -0
  31. package/components/tryghost-magic-link-5.42.1.tgz +0 -0
  32. package/components/tryghost-mailgun-client-5.42.1.tgz +0 -0
  33. package/components/{tryghost-member-attribution-5.42.0.tgz → tryghost-member-attribution-5.42.1.tgz} +0 -0
  34. package/components/tryghost-member-events-5.42.1.tgz +0 -0
  35. package/components/tryghost-members-api-5.42.1.tgz +0 -0
  36. package/components/{tryghost-members-csv-5.42.0.tgz → tryghost-members-csv-5.42.1.tgz} +0 -0
  37. package/components/{tryghost-members-events-service-5.42.0.tgz → tryghost-members-events-service-5.42.1.tgz} +0 -0
  38. package/components/tryghost-members-importer-5.42.1.tgz +0 -0
  39. package/components/tryghost-members-offers-5.42.1.tgz +0 -0
  40. package/components/tryghost-members-payments-5.42.1.tgz +0 -0
  41. package/components/{tryghost-members-ssr-5.42.0.tgz → tryghost-members-ssr-5.42.1.tgz} +0 -0
  42. package/components/{tryghost-members-stripe-service-5.42.0.tgz → tryghost-members-stripe-service-5.42.1.tgz} +0 -0
  43. package/components/{tryghost-mentions-email-report-5.42.0.tgz → tryghost-mentions-email-report-5.42.1.tgz} +0 -0
  44. package/components/{tryghost-milestones-5.42.0.tgz → tryghost-milestones-5.42.1.tgz} +0 -0
  45. package/components/{tryghost-minifier-5.42.0.tgz → tryghost-minifier-5.42.1.tgz} +0 -0
  46. package/components/tryghost-mw-api-version-mismatch-5.42.1.tgz +0 -0
  47. package/components/tryghost-mw-cache-control-5.42.1.tgz +0 -0
  48. package/components/{tryghost-mw-error-handler-5.42.0.tgz → tryghost-mw-error-handler-5.42.1.tgz} +0 -0
  49. package/components/tryghost-mw-session-from-token-5.42.1.tgz +0 -0
  50. package/components/tryghost-mw-update-user-last-seen-5.42.1.tgz +0 -0
  51. package/components/{tryghost-mw-version-match-5.42.0.tgz → tryghost-mw-version-match-5.42.1.tgz} +0 -0
  52. package/components/tryghost-mw-vhost-5.42.1.tgz +0 -0
  53. package/components/{tryghost-oembed-service-5.42.0.tgz → tryghost-oembed-service-5.42.1.tgz} +0 -0
  54. package/components/tryghost-package-json-5.42.1.tgz +0 -0
  55. package/components/{tryghost-posts-service-5.42.0.tgz → tryghost-posts-service-5.42.1.tgz} +0 -0
  56. package/components/tryghost-referrers-5.42.1.tgz +0 -0
  57. package/components/{tryghost-security-5.42.0.tgz → tryghost-security-5.42.1.tgz} +0 -0
  58. package/components/{tryghost-session-service-5.42.0.tgz → tryghost-session-service-5.42.1.tgz} +0 -0
  59. package/components/{tryghost-settings-path-manager-5.42.0.tgz → tryghost-settings-path-manager-5.42.1.tgz} +0 -0
  60. package/components/{tryghost-slack-notifications-5.42.0.tgz → tryghost-slack-notifications-5.42.1.tgz} +0 -0
  61. package/components/{tryghost-staff-service-5.42.0.tgz → tryghost-staff-service-5.42.1.tgz} +0 -0
  62. package/components/{tryghost-stats-service-5.42.0.tgz → tryghost-stats-service-5.42.1.tgz} +0 -0
  63. package/components/{tryghost-tiers-5.42.0.tgz → tryghost-tiers-5.42.1.tgz} +0 -0
  64. package/components/{tryghost-update-check-service-5.42.0.tgz → tryghost-update-check-service-5.42.1.tgz} +0 -0
  65. package/components/tryghost-verification-trigger-5.42.1.tgz +0 -0
  66. package/components/{tryghost-version-notifications-data-service-5.42.0.tgz → tryghost-version-notifications-data-service-5.42.1.tgz} +0 -0
  67. package/components/{tryghost-webmentions-5.42.0.tgz → tryghost-webmentions-5.42.1.tgz} +0 -0
  68. package/core/built/admin/assets/{chunk.143.5883751093d1b6e535c0.js → chunk.143.75bf7cec44ff1be6d281.js} +5 -5
  69. package/core/built/admin/assets/{chunk.178.bc2da086492043bfc5c8.js → chunk.178.da3cd2eb1f532453497d.js} +4 -4
  70. package/core/built/admin/assets/{ghost-744b6bcb745893e43bbdfaed2b931347.js → ghost-edad3e564faafe551e20323d82a23636.js} +10 -9
  71. package/core/built/admin/index.html +2 -2
  72. package/core/frontend/web/middleware/static-theme.js +33 -3
  73. package/package.json +128 -128
  74. package/components/tryghost-adapter-cache-memory-ttl-5.42.0.tgz +0 -0
  75. package/components/tryghost-bootstrap-socket-5.42.0.tgz +0 -0
  76. package/components/tryghost-constants-5.42.0.tgz +0 -0
  77. package/components/tryghost-domain-events-5.42.0.tgz +0 -0
  78. package/components/tryghost-dynamic-routing-events-5.42.0.tgz +0 -0
  79. package/components/tryghost-email-analytics-provider-mailgun-5.42.0.tgz +0 -0
  80. package/components/tryghost-email-content-generator-5.42.0.tgz +0 -0
  81. package/components/tryghost-email-events-5.42.0.tgz +0 -0
  82. package/components/tryghost-email-suppression-list-5.42.0.tgz +0 -0
  83. package/components/tryghost-event-aware-cache-wrapper-5.42.0.tgz +0 -0
  84. package/components/tryghost-i18n-5.42.0.tgz +0 -0
  85. package/components/tryghost-link-redirects-5.42.0.tgz +0 -0
  86. package/components/tryghost-link-replacer-5.42.0.tgz +0 -0
  87. package/components/tryghost-magic-link-5.42.0.tgz +0 -0
  88. package/components/tryghost-mailgun-client-5.42.0.tgz +0 -0
  89. package/components/tryghost-member-events-5.42.0.tgz +0 -0
  90. package/components/tryghost-members-api-5.42.0.tgz +0 -0
  91. package/components/tryghost-members-importer-5.42.0.tgz +0 -0
  92. package/components/tryghost-members-offers-5.42.0.tgz +0 -0
  93. package/components/tryghost-members-payments-5.42.0.tgz +0 -0
  94. package/components/tryghost-mw-api-version-mismatch-5.42.0.tgz +0 -0
  95. package/components/tryghost-mw-cache-control-5.42.0.tgz +0 -0
  96. package/components/tryghost-mw-session-from-token-5.42.0.tgz +0 -0
  97. package/components/tryghost-mw-update-user-last-seen-5.42.0.tgz +0 -0
  98. package/components/tryghost-mw-vhost-5.42.0.tgz +0 -0
  99. package/components/tryghost-package-json-5.42.0.tgz +0 -0
  100. package/components/tryghost-referrers-5.42.0.tgz +0 -0
  101. package/components/tryghost-verification-trigger-5.42.0.tgz +0 -0
@@ -10,8 +10,8 @@ return o.unparse(r,{columns:t})}},96616:(e,t,r)=>{var s={"./af":21516,"./af.js":
10
10
  function o(e){var t=n(e)
11
11
  return r(t)}function n(e){if(!r.o(s,e)){var t=new Error("Cannot find module '"+e+"'")
12
12
  throw t.code="MODULE_NOT_FOUND",t}return s[e]}o.keys=function(){return Object.keys(s)},o.resolve=n,e.exports=o,o.id=96616},7456:e=>{"use strict"
13
- e.exports=require("@ember/test-waiters")},11975:()=>{},80167:(e,t,r)=>{var s,o
14
- e.exports=(s=_eai_d,o=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?o("_eai_dyn_"+e):o("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return o("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},s("__v1-addons__early-boot-set__",[],(function(){})),s("@joeattardi/emoji-button",["__v1-addons__early-boot-set__"],(function(){return r(28936)})),s("@sentry/browser",["__v1-addons__early-boot-set__"],(function(){return r(91350)})),s("@sentry/utils",["__v1-addons__early-boot-set__"],(function(){return r(87197)})),s("@tryghost/color-utils",["__v1-addons__early-boot-set__"],(function(){return r(82485)})),s("@tryghost/helpers",["__v1-addons__early-boot-set__"],(function(){return r(74752)})),s("@tryghost/kg-clean-basic-html",["__v1-addons__early-boot-set__"],(function(){return r(89096)})),s("@tryghost/kg-parser-plugins",["__v1-addons__early-boot-set__"],(function(){return r(3199)})),s("@tryghost/kg-parser-plugins/lib/cards/softReturn",["__v1-addons__early-boot-set__"],(function(){return r(74557)})),s("@tryghost/limit-service",["__v1-addons__early-boot-set__"],(function(){return r(12336)})),s("@tryghost/members-csv/lib/unparse",["__v1-addons__early-boot-set__"],(function(){return r(91883)})),s("@tryghost/nql-lang",["__v1-addons__early-boot-set__"],(function(){return r(75420)})),s("@tryghost/string",["__v1-addons__early-boot-set__"],(function(){return r(57348)})),s("@tryghost/timezone-data",["__v1-addons__early-boot-set__"],(function(){return r(28961)})),s("element-resize-detector",["__v1-addons__early-boot-set__"],(function(){return r(87381)})),s("ember-css-transitions/modifiers/css-transition",["__v1-addons__early-boot-set__"],(function(){return r(56112)})),s("ember-keyboard",["__v1-addons__early-boot-set__"],(function(){return r(86771)})),s("ember-keyboard/helpers/if-key.js",["__v1-addons__early-boot-set__"],(function(){return r(43481)})),s("ember-keyboard/helpers/on-key.js",["__v1-addons__early-boot-set__"],(function(){return r(66415)})),s("ember-keyboard/modifiers/on-key.js",["__v1-addons__early-boot-set__"],(function(){return r(4146)})),s("ember-keyboard/services/keyboard.js",["__v1-addons__early-boot-set__"],(function(){return r(35466)})),s("ember-modifier",["__v1-addons__early-boot-set__"],(function(){return r(92509)})),s("ember-moment/helpers/-base.js",["__v1-addons__early-boot-set__"],(function(){return r(76465)})),s("ember-moment/helpers/is-after.js",["__v1-addons__early-boot-set__"],(function(){return r(876)})),s("ember-moment/helpers/is-before.js",["__v1-addons__early-boot-set__"],(function(){return r(13971)})),s("ember-moment/helpers/is-between.js",["__v1-addons__early-boot-set__"],(function(){return r(2063)})),s("ember-moment/helpers/is-same-or-after.js",["__v1-addons__early-boot-set__"],(function(){return r(12915)})),s("ember-moment/helpers/is-same-or-before.js",["__v1-addons__early-boot-set__"],(function(){return r(46102)})),s("ember-moment/helpers/is-same.js",["__v1-addons__early-boot-set__"],(function(){return r(71465)})),s("ember-moment/helpers/moment-add.js",["__v1-addons__early-boot-set__"],(function(){return r(64462)})),s("ember-moment/helpers/moment-calendar.js",["__v1-addons__early-boot-set__"],(function(){return r(69021)})),s("ember-moment/helpers/moment-diff.js",["__v1-addons__early-boot-set__"],(function(){return r(95198)})),s("ember-moment/helpers/moment-duration.js",["__v1-addons__early-boot-set__"],(function(){return r(17216)})),s("ember-moment/helpers/moment-format.js",["__v1-addons__early-boot-set__"],(function(){return r(99152)})),s("ember-moment/helpers/moment-from-now.js",["__v1-addons__early-boot-set__"],(function(){return r(16396)})),s("ember-moment/helpers/moment-from.js",["__v1-addons__early-boot-set__"],(function(){return r(48478)})),s("ember-moment/helpers/moment-subtract.js",["__v1-addons__early-boot-set__"],(function(){return r(4647)})),s("ember-moment/helpers/moment-to-date.js",["__v1-addons__early-boot-set__"],(function(){return r(18351)})),s("ember-moment/helpers/moment-to-now.js",["__v1-addons__early-boot-set__"],(function(){return r(94612)})),s("ember-moment/helpers/moment-to.js",["__v1-addons__early-boot-set__"],(function(){return r(91857)})),s("ember-moment/helpers/moment.js",["__v1-addons__early-boot-set__"],(function(){return r(26852)})),s("ember-moment/helpers/now.js",["__v1-addons__early-boot-set__"],(function(){return r(67842)})),s("ember-moment/helpers/unix.js",["__v1-addons__early-boot-set__"],(function(){return r(29700)})),s("ember-moment/helpers/utc.js",["__v1-addons__early-boot-set__"],(function(){return r(71755)})),s("ember-moment/services/moment.js",["__v1-addons__early-boot-set__"],(function(){return r(27475)})),s("fast-deep-equal",["__v1-addons__early-boot-set__"],(function(){return r(64710)})),s("focus-trap",["__v1-addons__early-boot-set__"],(function(){return r(10755)})),s("intersection-observer-admin",["__v1-addons__early-boot-set__"],(function(){return r(77577)})),s("jose",["__v1-addons__early-boot-set__"],(function(){return r(71882)})),s("markdown-it",["__v1-addons__early-boot-set__"],(function(){return r(80516)})),s("markdown-it-footnote",["__v1-addons__early-boot-set__"],(function(){return r(41297)})),s("markdown-it-lazy-headers",["__v1-addons__early-boot-set__"],(function(){return r(72553)})),s("markdown-it-mark",["__v1-addons__early-boot-set__"],(function(){return r(76519)})),s("markdown-it-sub",["__v1-addons__early-boot-set__"],(function(){return r(8830)})),s("markdown-it-sup",["__v1-addons__early-boot-set__"],(function(){return r(55977)})),s("moment-timezone",["__v1-addons__early-boot-set__"],(function(){return r(19127)})),s("papaparse",["__v1-addons__early-boot-set__"],(function(){return r(99112)})),s("raf-pool",["__v1-addons__early-boot-set__"],(function(){return r(42586)})),s("react",["__v1-addons__early-boot-set__"],(function(){return r(36058)})),s("react-dom",["__v1-addons__early-boot-set__"],(function(){return r(18971)})),s("react-dom/client",["__v1-addons__early-boot-set__"],(function(){return r(79793)})),s("semver/functions/coerce",["__v1-addons__early-boot-set__"],(function(){return r(57305)})),s("semver/functions/lt",["__v1-addons__early-boot-set__"],(function(){return r(63721)})),s("semver/functions/parse",["__v1-addons__early-boot-set__"],(function(){return r(62919)})),s("tooltip.js",["__v1-addons__early-boot-set__"],(function(){return r(15028)})),s("urijs",["__v1-addons__early-boot-set__"],(function(){return r(3491)})),s("validator",["__v1-addons__early-boot-set__"],(function(){return r(2228)})),void s("_eai_dyn_@sentry/browser",[],(function(){return Promise.resolve().then(r.bind(r,91350))})))},88983:function(e,t){window._eai_r=require,window._eai_d=define}},r={}
13
+ e.exports=require("@ember/test-waiters")},11975:()=>{},13669:(e,t,r)=>{var s,o
14
+ e.exports=(s=_eai_d,o=_eai_r,window.emberAutoImportDynamic=function(e){return 1===arguments.length?o("_eai_dyn_"+e):o("_eai_dynt_"+e)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(e){return o("_eai_sync_"+e)(Array.prototype.slice.call(arguments,1))},s("__v1-addons__early-boot-set__",[],(function(){})),s("@joeattardi/emoji-button",["__v1-addons__early-boot-set__"],(function(){return r(28936)})),s("@sentry/browser",["__v1-addons__early-boot-set__"],(function(){return r(91350)})),s("@sentry/utils",["__v1-addons__early-boot-set__"],(function(){return r(87197)})),s("@tryghost/color-utils",["__v1-addons__early-boot-set__"],(function(){return r(82485)})),s("@tryghost/helpers",["__v1-addons__early-boot-set__"],(function(){return r(74752)})),s("@tryghost/kg-clean-basic-html",["__v1-addons__early-boot-set__"],(function(){return r(89096)})),s("@tryghost/kg-parser-plugins",["__v1-addons__early-boot-set__"],(function(){return r(3199)})),s("@tryghost/kg-parser-plugins/lib/cards/softReturn",["__v1-addons__early-boot-set__"],(function(){return r(74557)})),s("@tryghost/limit-service",["__v1-addons__early-boot-set__"],(function(){return r(12336)})),s("@tryghost/members-csv/lib/unparse",["__v1-addons__early-boot-set__"],(function(){return r(91883)})),s("@tryghost/nql-lang",["__v1-addons__early-boot-set__"],(function(){return r(75420)})),s("@tryghost/string",["__v1-addons__early-boot-set__"],(function(){return r(57348)})),s("@tryghost/timezone-data",["__v1-addons__early-boot-set__"],(function(){return r(28961)})),s("element-resize-detector",["__v1-addons__early-boot-set__"],(function(){return r(87381)})),s("ember-css-transitions/modifiers/css-transition",["__v1-addons__early-boot-set__"],(function(){return r(56112)})),s("ember-keyboard",["__v1-addons__early-boot-set__"],(function(){return r(86771)})),s("ember-keyboard/helpers/if-key.js",["__v1-addons__early-boot-set__"],(function(){return r(43481)})),s("ember-keyboard/helpers/on-key.js",["__v1-addons__early-boot-set__"],(function(){return r(66415)})),s("ember-keyboard/modifiers/on-key.js",["__v1-addons__early-boot-set__"],(function(){return r(4146)})),s("ember-keyboard/services/keyboard.js",["__v1-addons__early-boot-set__"],(function(){return r(35466)})),s("ember-modifier",["__v1-addons__early-boot-set__"],(function(){return r(92509)})),s("ember-moment/helpers/-base.js",["__v1-addons__early-boot-set__"],(function(){return r(76465)})),s("ember-moment/helpers/is-after.js",["__v1-addons__early-boot-set__"],(function(){return r(876)})),s("ember-moment/helpers/is-before.js",["__v1-addons__early-boot-set__"],(function(){return r(13971)})),s("ember-moment/helpers/is-between.js",["__v1-addons__early-boot-set__"],(function(){return r(2063)})),s("ember-moment/helpers/is-same-or-after.js",["__v1-addons__early-boot-set__"],(function(){return r(12915)})),s("ember-moment/helpers/is-same-or-before.js",["__v1-addons__early-boot-set__"],(function(){return r(46102)})),s("ember-moment/helpers/is-same.js",["__v1-addons__early-boot-set__"],(function(){return r(71465)})),s("ember-moment/helpers/moment-add.js",["__v1-addons__early-boot-set__"],(function(){return r(64462)})),s("ember-moment/helpers/moment-calendar.js",["__v1-addons__early-boot-set__"],(function(){return r(69021)})),s("ember-moment/helpers/moment-diff.js",["__v1-addons__early-boot-set__"],(function(){return r(95198)})),s("ember-moment/helpers/moment-duration.js",["__v1-addons__early-boot-set__"],(function(){return r(17216)})),s("ember-moment/helpers/moment-format.js",["__v1-addons__early-boot-set__"],(function(){return r(99152)})),s("ember-moment/helpers/moment-from-now.js",["__v1-addons__early-boot-set__"],(function(){return r(16396)})),s("ember-moment/helpers/moment-from.js",["__v1-addons__early-boot-set__"],(function(){return r(48478)})),s("ember-moment/helpers/moment-subtract.js",["__v1-addons__early-boot-set__"],(function(){return r(4647)})),s("ember-moment/helpers/moment-to-date.js",["__v1-addons__early-boot-set__"],(function(){return r(18351)})),s("ember-moment/helpers/moment-to-now.js",["__v1-addons__early-boot-set__"],(function(){return r(94612)})),s("ember-moment/helpers/moment-to.js",["__v1-addons__early-boot-set__"],(function(){return r(91857)})),s("ember-moment/helpers/moment.js",["__v1-addons__early-boot-set__"],(function(){return r(26852)})),s("ember-moment/helpers/now.js",["__v1-addons__early-boot-set__"],(function(){return r(67842)})),s("ember-moment/helpers/unix.js",["__v1-addons__early-boot-set__"],(function(){return r(29700)})),s("ember-moment/helpers/utc.js",["__v1-addons__early-boot-set__"],(function(){return r(71755)})),s("ember-moment/services/moment.js",["__v1-addons__early-boot-set__"],(function(){return r(27475)})),s("fast-deep-equal",["__v1-addons__early-boot-set__"],(function(){return r(64710)})),s("focus-trap",["__v1-addons__early-boot-set__"],(function(){return r(10755)})),s("intersection-observer-admin",["__v1-addons__early-boot-set__"],(function(){return r(77577)})),s("jose",["__v1-addons__early-boot-set__"],(function(){return r(71882)})),s("markdown-it",["__v1-addons__early-boot-set__"],(function(){return r(80516)})),s("markdown-it-footnote",["__v1-addons__early-boot-set__"],(function(){return r(41297)})),s("markdown-it-lazy-headers",["__v1-addons__early-boot-set__"],(function(){return r(72553)})),s("markdown-it-mark",["__v1-addons__early-boot-set__"],(function(){return r(76519)})),s("markdown-it-sub",["__v1-addons__early-boot-set__"],(function(){return r(8830)})),s("markdown-it-sup",["__v1-addons__early-boot-set__"],(function(){return r(55977)})),s("moment-timezone",["__v1-addons__early-boot-set__"],(function(){return r(19127)})),s("papaparse",["__v1-addons__early-boot-set__"],(function(){return r(99112)})),s("raf-pool",["__v1-addons__early-boot-set__"],(function(){return r(42586)})),s("react",["__v1-addons__early-boot-set__"],(function(){return r(36058)})),s("react-dom",["__v1-addons__early-boot-set__"],(function(){return r(18971)})),s("react-dom/client",["__v1-addons__early-boot-set__"],(function(){return r(79793)})),s("semver/functions/coerce",["__v1-addons__early-boot-set__"],(function(){return r(57305)})),s("semver/functions/lt",["__v1-addons__early-boot-set__"],(function(){return r(63721)})),s("semver/functions/parse",["__v1-addons__early-boot-set__"],(function(){return r(62919)})),s("tooltip.js",["__v1-addons__early-boot-set__"],(function(){return r(15028)})),s("urijs",["__v1-addons__early-boot-set__"],(function(){return r(3491)})),s("validator",["__v1-addons__early-boot-set__"],(function(){return r(2228)})),void s("_eai_dyn_@sentry/browser",[],(function(){return Promise.resolve().then(r.bind(r,91350))})))},95673:function(e,t){window._eai_r=require,window._eai_d=define}},r={}
15
15
  function s(e){var o=r[e]
16
16
  if(void 0!==o)return o.exports
17
17
  var n=r[e]={id:e,loaded:!1,exports:{}}
@@ -28,8 +28,8 @@ var t=(t,r)=>{var o,n,[_,a,d]=r,i=0
28
28
  if(_.some((t=>0!==e[t]))){for(o in a)s.o(a,o)&&(s.m[o]=a[o])
29
29
  if(d)var u=d(s)}for(t&&t(r);i<_.length;i++)n=_[i],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0
30
30
  return s.O(u)},r=globalThis.webpackChunk_ember_auto_import_=globalThis.webpackChunk_ember_auto_import_||[]
31
- r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),s.O(void 0,[580],(()=>s(s.s=88983)))
32
- var o=s.O(void 0,[580],(()=>s(s.s=80167)))
31
+ r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),s.O(void 0,[580],(()=>s(s.s=95673)))
32
+ var o=s.O(void 0,[580],(()=>s(s.s=13669)))
33
33
  o=s.O(o),__ember_auto_import__=o})()
34
34
 
35
- //# sourceMappingURL=chunk.143.5883751093d1b6e535c0.map
35
+ //# sourceMappingURL=chunk.143.75bf7cec44ff1be6d281.map
@@ -1,10 +1,10 @@
1
- var __ember_auto_import__;(()=>{var r={88983:function(r,e){window._eai_r=require,window._eai_d=define},61691:r=>{var e,_
1
+ var __ember_auto_import__;(()=>{var r={95673:function(r,e){window._eai_r=require,window._eai_d=define},3710:r=>{var e,_
2
2
  r.exports=(e=_eai_d,_=_eai_r,window.emberAutoImportDynamic=function(r){return 1===arguments.length?_("_eai_dyn_"+r):_("_eai_dynt_"+r)(Array.prototype.slice.call(arguments,1))},window.emberAutoImportSync=function(r){return _("_eai_sync_"+r)(Array.prototype.slice.call(arguments,1))},void e("__v1-addons__early-boot-set__",[],(function(){})))}},e={}
3
3
  function _(o){var t=e[o]
4
4
  if(void 0!==t)return t.exports
5
5
  var i=e[o]={exports:{}}
6
- return r[o].call(i.exports,i,i.exports,_),i.exports}_(88983)
7
- var o=_(61691)
6
+ return r[o].call(i.exports,i,i.exports,_),i.exports}_(95673)
7
+ var o=_(3710)
8
8
  __ember_auto_import__=o})()
9
9
 
10
- //# sourceMappingURL=chunk.178.bc2da086492043bfc5c8.map
10
+ //# sourceMappingURL=chunk.178.da3cd2eb1f532453497d.map
@@ -2767,12 +2767,12 @@ class i extends t.default{}e.default=i,Ember._setComponentTemplate(r,i)})),defin
2767
2767
  define("ghost-admin/components/power-select/before-options",["exports","ember-power-select/components/power-select/before-options"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/power-select/no-matches-message",["exports","ember-power-select/components/power-select/no-matches-message"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/power-select/options",["exports","ember-power-select/components/power-select/options"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/power-select/placeholder",["exports","ember-power-select/components/power-select/placeholder"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/power-select/power-select-group",["exports","ember-power-select/components/power-select/power-select-group"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/power-select/search-message",["exports","ember-power-select/components/power-select/search-message"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/power-select/trigger",["exports","ember-power-select/components/power-select/trigger"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/components/react-component",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2768
2768
  const t=Ember.HTMLBars.template({id:"TEJ/hHTJ",block:'{"symbols":[],"statements":[[11,"div"],[4,[38,0],[[32,0,["renderComponent"]]],null],[12],[13]],"hasEval":false,"upvars":["did-insert"]}',moduleName:"ghost-admin/components/react-component.hbs"})
2769
2769
  var r=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())
2770
- e.default=r})),define("ghost-admin/components/settings/analytics",["exports","@glimmer/component","ghost-admin/utils/ghost-paths"],(function(e,t,r){var i,n,a,s,o,l,u,d,c,p,m,h
2770
+ e.default=r})),define("ghost-admin/components/settings/analytics",["exports","@glimmer/component","ghost-admin/utils/ghost-paths","ember-concurrency"],(function(e,t,r,i){var n,a,s,o,l,u,d,c,p,m,h
2771
2771
  function b(e,t,r,i){r&&Object.defineProperty(e,t,{enumerable:r.enumerable,configurable:r.configurable,writable:r.writable,value:r.initializer?r.initializer.call(i):void 0})}function g(e,t,r,i,n){var a={}
2772
2772
  return Object.keys(i).forEach((function(e){a[e]=i[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=r.slice().reverse().reduce((function(r,i){return i(e,t,r)||r}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2773
- const f=Ember.HTMLBars.template({id:"bpiqDM1o",block:'{"symbols":[],"statements":[[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Newsletters"],[13],[2,"\\n "],[10,"section"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Newsletter opens"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Record when a member opens an email\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","email-track-opens"],[14,"data-test-label","email-track-opens"],[12],[2,"\\n "],[11,"input"],[24,1,"email-track-opens"],[16,"checked",[32,0,["settings","emailTrackOpens"]]],[24,"data-test-checkbox","email-track-opens"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleEmailTrackOpens"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Newsletter clicks"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Record when a member clicks on any link in an email\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","email-track-clicks"],[14,"data-test-label","email-track-clicks"],[12],[2,"\\n "],[11,"input"],[24,1,"email-track-clicks"],[16,"checked",[32,0,["settings","emailTrackClicks"]]],[24,"data-test-checkbox","email-track-clicks"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleEmailTrackClicks"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Sources"],[13],[2,"\\n "],[10,"section"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Member sources"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Track the traffic sources and posts that drive the most member growth\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","members-track-sources"],[14,"data-test-label","members-track-sources"],[12],[2,"\\n "],[11,"input"],[24,1,"members-track-sources"],[16,"checked",[32,0,["settings","membersTrackSources"]]],[24,"data-test-checkbox","members-track-sources"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleMembersTrackSources"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Outbound link tagging"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Make it easier for other sites to track the traffic you send them in their analytics\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","outbound-link-tagging"],[14,"data-test-label","outbound-link-tagging"],[12],[2,"\\n "],[11,"input"],[24,1,"outbound-link-tagging"],[16,"checked",[32,0,["settings","outboundLinkTagging"]]],[24,"data-test-checkbox","outbound-link-tagging"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleOutboundLinkTagging"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Posts"],[13],[2,"\\n "],[10,"section"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Export post analytics"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Download a CSV file of all your post data for easy analysis in one place\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[11,"button"],[24,0,"gh-btn"],[24,4,"button"],[4,[38,0],["click",[32,0,["exportData"]]],null],[12],[2,"\\n "],[10,"span"],[12],[2,"Export"],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["on"]}',moduleName:"ghost-admin/components/settings/analytics.hbs"})
2774
- let v=(i=Ember.inject.service,n=Ember.inject.service,a=Ember.inject.service,s=Ember._action,o=Ember._action,l=Ember._action,u=Ember._action,d=Ember._action,c=class extends t.default{constructor(){super(...arguments),b(this,"settings",p,this),b(this,"feature",m,this),b(this,"utils",h,this)}toggleEmailTrackOpens(e){e&&e.preventDefault(),this.settings.emailTrackOpens=!this.settings.emailTrackOpens}exportData(){let e=(0,r.default)().url.api("posts/export"),t=new URLSearchParams
2775
- t.set("limit","all"),this.utils.downloadFile(`${e}?${t.toString()}`)}toggleEmailTrackClicks(e){e&&e.preventDefault(),this.settings.emailTrackClicks=!this.settings.emailTrackClicks}toggleMembersTrackSources(e){e&&e.preventDefault(),this.settings.membersTrackSources=!this.settings.membersTrackSources}toggleOutboundLinkTagging(e){e&&e.preventDefault(),this.settings.outboundLinkTagging=!this.settings.outboundLinkTagging}},p=g(c.prototype,"settings",[i],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=g(c.prototype,"feature",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=g(c.prototype,"utils",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g(c.prototype,"toggleEmailTrackOpens",[s],Object.getOwnPropertyDescriptor(c.prototype,"toggleEmailTrackOpens"),c.prototype),g(c.prototype,"exportData",[o],Object.getOwnPropertyDescriptor(c.prototype,"exportData"),c.prototype),g(c.prototype,"toggleEmailTrackClicks",[l],Object.getOwnPropertyDescriptor(c.prototype,"toggleEmailTrackClicks"),c.prototype),g(c.prototype,"toggleMembersTrackSources",[u],Object.getOwnPropertyDescriptor(c.prototype,"toggleMembersTrackSources"),c.prototype),g(c.prototype,"toggleOutboundLinkTagging",[d],Object.getOwnPropertyDescriptor(c.prototype,"toggleOutboundLinkTagging"),c.prototype),c)
2773
+ const f=Ember.HTMLBars.template({id:"si/Pozx+",block:'{"symbols":[],"statements":[[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Newsletters"],[13],[2,"\\n "],[10,"section"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Newsletter opens"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Record when a member opens an email\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","email-track-opens"],[14,"data-test-label","email-track-opens"],[12],[2,"\\n "],[11,"input"],[24,1,"email-track-opens"],[16,"checked",[32,0,["settings","emailTrackOpens"]]],[24,"data-test-checkbox","email-track-opens"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleEmailTrackOpens"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Newsletter clicks"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Record when a member clicks on any link in an email\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","email-track-clicks"],[14,"data-test-label","email-track-clicks"],[12],[2,"\\n "],[11,"input"],[24,1,"email-track-clicks"],[16,"checked",[32,0,["settings","emailTrackClicks"]]],[24,"data-test-checkbox","email-track-clicks"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleEmailTrackClicks"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Sources"],[13],[2,"\\n "],[10,"section"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Member sources"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Track the traffic sources and posts that drive the most member growth\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","members-track-sources"],[14,"data-test-label","members-track-sources"],[12],[2,"\\n "],[11,"input"],[24,1,"members-track-sources"],[16,"checked",[32,0,["settings","membersTrackSources"]]],[24,"data-test-checkbox","members-track-sources"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleMembersTrackSources"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Outbound link tagging"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Make it easier for other sites to track the traffic you send them in their analytics\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[10,"div"],[14,0,"for-switch"],[12],[2,"\\n "],[10,"label"],[14,0,"switch"],[14,"for","outbound-link-tagging"],[14,"data-test-label","outbound-link-tagging"],[12],[2,"\\n "],[11,"input"],[24,1,"outbound-link-tagging"],[16,"checked",[32,0,["settings","outboundLinkTagging"]]],[24,"data-test-checkbox","outbound-link-tagging"],[24,4,"checkbox"],[4,[38,0],["change",[32,0,["toggleOutboundLinkTagging"]]],null],[12],[13],[2,"\\n "],[10,"span"],[14,0,"input-toggle-component"],[12],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n\\n"],[10,"div"],[14,0,"gh-main-section"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-main-section-header small bn"],[12],[2,"Posts"],[13],[2,"\\n "],[10,"section"],[14,0,"gh-expandable"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-block"],[12],[2,"\\n "],[10,"div"],[14,0,"gh-expandable-header"],[12],[2,"\\n "],[10,"div"],[12],[2,"\\n "],[10,"h4"],[14,0,"gh-expandable-title"],[12],[2,"Export post analytics"],[13],[2,"\\n "],[10,"p"],[14,0,"gh-expandable-description"],[12],[2,"\\n Download a CSV file of your last 1000 posts data for easy analysis in one place\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[8,"gh-task-button",[],[["@buttonText","@successText","@task","@class"],["Export","Exported",[32,0,["exportPostsTask"]],"gh-btn gh-btn-icon"]],null],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n "],[13],[2,"\\n"],[13],[2,"\\n"]],"hasEval":false,"upvars":["on"]}',moduleName:"ghost-admin/components/settings/analytics.hbs"})
2774
+ let v=(n=Ember.inject.service,a=Ember.inject.service,s=Ember.inject.service,o=Ember._action,l=Ember._action,u=Ember._action,d=Ember._action,c=class extends t.default{constructor(){super(...arguments),b(this,"settings",p,this),b(this,"feature",m,this),b(this,"utils",h,this)}toggleEmailTrackOpens(e){e&&e.preventDefault(),this.settings.emailTrackOpens=!this.settings.emailTrackOpens}*exportPostsTask(){let e=(0,r.default)().url.api("posts/export"),t=new URLSearchParams
2775
+ return t.set("limit",1e3),yield this.utils.fetchAndDownloadFile(`${e}?${t.toString()}`),!0}toggleEmailTrackClicks(e){e&&e.preventDefault(),this.settings.emailTrackClicks=!this.settings.emailTrackClicks}toggleMembersTrackSources(e){e&&e.preventDefault(),this.settings.membersTrackSources=!this.settings.membersTrackSources}toggleOutboundLinkTagging(e){e&&e.preventDefault(),this.settings.outboundLinkTagging=!this.settings.outboundLinkTagging}},p=g(c.prototype,"settings",[n],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),m=g(c.prototype,"feature",[a],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),h=g(c.prototype,"utils",[s],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),g(c.prototype,"toggleEmailTrackOpens",[o],Object.getOwnPropertyDescriptor(c.prototype,"toggleEmailTrackOpens"),c.prototype),g(c.prototype,"exportPostsTask",[i.task],Object.getOwnPropertyDescriptor(c.prototype,"exportPostsTask"),c.prototype),g(c.prototype,"toggleEmailTrackClicks",[l],Object.getOwnPropertyDescriptor(c.prototype,"toggleEmailTrackClicks"),c.prototype),g(c.prototype,"toggleMembersTrackSources",[u],Object.getOwnPropertyDescriptor(c.prototype,"toggleMembersTrackSources"),c.prototype),g(c.prototype,"toggleOutboundLinkTagging",[d],Object.getOwnPropertyDescriptor(c.prototype,"toggleOutboundLinkTagging"),c.prototype),c)
2776
2776
  e.default=v,Ember._setComponentTemplate(f,v)})),define("ghost-admin/components/settings/design/general-settings-form",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
2777
2777
  const t=Ember.HTMLBars.template({id:"O3WzWNZ+",block:'{"symbols":["&attrs","@didUpdate"],"statements":[[11,"div"],[24,0,"gh-stack"],[17,1],[12],[2,"\\n "],[8,"settings/form-fields/site-description",[[24,0,"gh-stack-item gh-setting-first"]],[["@didUpdate"],[[32,2]]],null],[2,"\\n "],[8,"settings/form-fields/accent-color",[[24,0,"gh-stack-item gh-setting"]],[["@didUpdate"],[[32,2]]],null],[2,"\\n "],[8,"settings/form-fields/publication-icon",[[24,0,"gh-stack-item gh-setting"]],[["@didUpdate"],[[32,2]]],null],[2,"\\n "],[8,"settings/form-fields/publication-logo",[[24,0,"gh-stack-item gh-setting"]],[["@didUpdate"],[[32,2]]],null],[2,"\\n "],[8,"settings/form-fields/publication-cover",[[24,0,"gh-stack-item gh-setting"]],[["@didUpdate"],[[32,2]]],null],[2,"\\n"],[13]],"hasEval":false,"upvars":[]}',moduleName:"ghost-admin/components/settings/design/general-settings-form.hbs"})
2778
2778
  var r=Ember._setComponentTemplate(t,Ember._templateOnlyComponent())
@@ -5807,13 +5807,14 @@ return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r
5807
5807
  return Object.keys(i).forEach((function(e){a[e]=i[e]})),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=r.slice().reverse().reduce((function(r,i){return i(e,t,r)||r}),a),n&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(n):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(e,t,a),a=null),a}Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5808
5808
  let u=(t=Ember.inject.service,r=Ember._tracked,i=class extends Ember.Service{constructor(){super(...arguments),s(this,"notifications",n,this),s(this,"refreshRequired",a,this),o(this,"isRequired",!1),o(this,"message","")}handleUpgradeNotification(e){let t=Ember.get(e,"message")
5809
5809
  Ember.set(this,"message",Ember.String.htmlSafe(t))}maintenanceAlert(){this.notifications.showAlert("Sorry, Ghost is currently undergoing maintenance, please wait a moment then try again.",{type:"error",key:"api-error.under-maintenance"})}requireUpgrade(){Ember.set(this,"isRequired",!0),this.notifications.showAlert("Ghost has been upgraded, please copy any unsaved data and refresh the page to continue.",{type:"error",key:"api-error.upgrade-required"})}},n=l(i.prototype,"notifications",[t],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),a=l(i.prototype,"refreshRequired",[r],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),i)
5810
- e.default=u})),define("ghost-admin/services/utils",["exports"],(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5811
- class t extends Ember.Service{downloadFile(e){let t=document.getElementById("iframeDownload")
5812
- t||(t=document.createElement("iframe"),t.id="iframeDownload",t.style.display="none",document.body.append(t)),t.setAttribute("src",e)}cleanTrackedUrl(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]
5810
+ e.default=u})),define("ghost-admin/services/utils",["exports","fetch"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5811
+ class r extends Ember.Service{downloadFile(e){let t=document.getElementById("iframeDownload")
5812
+ t||(t=document.createElement("iframe"),t.id="iframeDownload",t.style.display="none",document.body.append(t)),t.setAttribute("src",e)}async fetchAndDownloadFile(e){const r=await(0,t.default)(e),i=await r.blob(),n=document.createElement("a")
5813
+ n.href=window.URL.createObjectURL(i),n.download=/filename="(.*)"/.exec(r.headers.get("Content-Disposition"))[1],document.body.append(n),n.click(),document.body.removeChild(n)}cleanTrackedUrl(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]
5813
5814
  const r=["ref","attribution_id","attribution_type"],i=new URL(e)
5814
5815
  for(const n of r)i.searchParams.delete(n)
5815
5816
  if(!t)return i.toString()
5816
- return(i.host+("/"!==i.pathname||i.search?i.pathname:"")+(i.search?i.search:"")+(i.hash?i.hash:"")).replace(/^www\./,"")}}e.default=t})),define("ghost-admin/services/websockets",["exports","ember-websockets/services/websockets"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/whats-new",["exports","fetch","moment-timezone","ember-concurrency"],(function(e,t,r,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5817
+ return(i.host+("/"!==i.pathname||i.search?i.pathname:"")+(i.search?i.search:"")+(i.hash?i.hash:"")).replace(/^www\./,"")}}e.default=r})),define("ghost-admin/services/websockets",["exports","ember-websockets/services/websockets"],(function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})})),define("ghost-admin/services/whats-new",["exports","fetch","moment-timezone","ember-concurrency"],(function(e,t,r,i){Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0
5817
5818
  var n=Ember.Service.extend({session:Ember.inject.service(),entries:null,changelogUrl:"https://ghost.org/blog/",isShowingModal:!1,_user:null,init(){this._super(...arguments),this.entries=[]},whatsNewSettings:Ember.computed("_user.accessibility",(function(){let e=this.get("_user.accessibility")||"{}"
5818
5819
  return JSON.parse(e).whatsNew})),hasNew:Ember.computed("whatsNewSettings.lastSeenDate","entries.[]",(function(){if(Ember.isEmpty(this.entries))return!1
5819
5820
  let[e]=this.entries,t=this.get("whatsNewSettings.lastSeenDate")||"2019-01-01 00:00:00",i=(0,r.default)(t),n=e.published_at
@@ -6178,4 +6179,4 @@ var t=Ember.Component.extend({})
6178
6179
  e.default=t})),define("ghost-admin/config/environment",[],(function(){try{var e="ghost-admin/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),r={default:JSON.parse(decodeURIComponent(t))}
6179
6180
  return Object.defineProperty(r,"__esModule",{value:!0}),r}catch(i){throw new Error('Could not read config from meta tag with name "'+e+'".')}})),runningTests||require("ghost-admin/app").default.create({version:"5.42",name:"ghost-admin"})
6180
6181
 
6181
- //# sourceMappingURL=ghost-744b6bcb745893e43bbdfaed2b931347.map
6182
+ //# sourceMappingURL=ghost-edad3e564faafe551e20323d82a23636.map
@@ -58,7 +58,7 @@
58
58
 
59
59
  <script src="assets/vendor-fcd4f09ebc985b1bd9ea37bdf7954c18.js"></script>
60
60
  <script src="assets/chunk.580.ca53e3417715b59cfb59.js"></script>
61
- <script src="assets/chunk.143.5883751093d1b6e535c0.js"></script>
62
- <script src="assets/ghost-744b6bcb745893e43bbdfaed2b931347.js"></script>
61
+ <script src="assets/chunk.143.75bf7cec44ff1be6d281.js"></script>
62
+ <script src="assets/ghost-edad3e564faafe551e20323d82a23636.js"></script>
63
63
  </body>
64
64
  </html>
@@ -14,15 +14,45 @@ function isDeniedFile(file) {
14
14
  return deniedFiles.includes(base) || deniedFileTypes.includes(ext);
15
15
  }
16
16
 
17
+ /**
18
+ * Copy from:
19
+ * https://github.com/pillarjs/send/blob/b69cbb3dc4c09c37917d08a4c13fcd1bac97ade5/index.js#L987-L1003
20
+ *
21
+ * Allows V8 to only deoptimize this fn instead of all
22
+ * of send().
23
+ *
24
+ * @param {string} filePath
25
+ * @returns {string|number} returns -1 number if decode decodeURIComponent throws
26
+ */
27
+ function decode(filePath) {
28
+ try {
29
+ return decodeURIComponent(filePath);
30
+ } catch (err) {
31
+ return -1;
32
+ }
33
+ }
34
+
35
+ /**
36
+ *
37
+ * @param {string} file path to a requested file
38
+ * @returns {boolean}
39
+ */
17
40
  function isAllowedFile(file) {
41
+ const decodedFilePath = decode(file);
42
+ if (decodedFilePath === -1) {
43
+ return false;
44
+ }
45
+
46
+ const normalizedFilePath = path.normalize(decodedFilePath);
47
+
18
48
  const allowedFiles = ['manifest.json'];
19
49
  const allowedPath = '/assets/';
20
50
  const alwaysDeny = ['.hbs'];
21
51
 
22
- const ext = path.extname(file);
23
- const base = path.basename(file);
52
+ const ext = path.extname(normalizedFilePath);
53
+ const base = path.basename(normalizedFilePath);
24
54
 
25
- return allowedFiles.includes(base) || (file.startsWith(allowedPath) && !alwaysDeny.includes(ext));
55
+ return allowedFiles.includes(base) || (normalizedFilePath.startsWith(allowedPath) && !alwaysDeny.includes(ext));
26
56
  }
27
57
 
28
58
  function forwardToExpressStatic(req, res, next) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "5.42.0",
3
+ "version": "5.42.1",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -60,41 +60,41 @@
60
60
  "dependencies": {
61
61
  "@sentry/node": "7.11.1",
62
62
  "@tryghost/adapter-base-cache": "0.1.4",
63
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.42.0.tgz",
64
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.42.0.tgz",
63
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.42.1.tgz",
64
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.42.1.tgz",
65
65
  "@tryghost/admin-api-schema": "4.2.2",
66
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.42.0.tgz",
67
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.42.0.tgz",
68
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.42.0.tgz",
66
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.42.1.tgz",
67
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.42.1.tgz",
68
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.42.1.tgz",
69
69
  "@tryghost/bookshelf-plugins": "0.6.4",
70
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.42.0.tgz",
70
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.42.1.tgz",
71
71
  "@tryghost/color-utils": "0.1.23",
72
72
  "@tryghost/config-url-helpers": "1.0.5",
73
- "@tryghost/constants": "file:components/tryghost-constants-5.42.0.tgz",
74
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.42.0.tgz",
75
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.42.0.tgz",
73
+ "@tryghost/constants": "file:components/tryghost-constants-5.42.1.tgz",
74
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.42.1.tgz",
75
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.42.1.tgz",
76
76
  "@tryghost/database-info": "0.3.15",
77
77
  "@tryghost/debug": "0.1.22",
78
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.42.0.tgz",
79
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.42.0.tgz",
80
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.42.0.tgz",
81
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.42.0.tgz",
82
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.42.0.tgz",
78
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.42.1.tgz",
79
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.42.1.tgz",
80
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.42.1.tgz",
81
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.42.1.tgz",
82
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.42.1.tgz",
83
83
  "@tryghost/email-mock-receiver": "0.1.1",
84
- "@tryghost/email-service": "file:components/tryghost-email-service-5.42.0.tgz",
85
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.42.0.tgz",
84
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.42.1.tgz",
85
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.42.1.tgz",
86
86
  "@tryghost/errors": "1.2.24",
87
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.42.0.tgz",
88
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.42.0.tgz",
89
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.42.0.tgz",
87
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.42.1.tgz",
88
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.42.1.tgz",
89
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.42.1.tgz",
90
90
  "@tryghost/helpers": "1.1.76",
91
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.42.0.tgz",
91
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.42.1.tgz",
92
92
  "@tryghost/http-cache-utils": "0.1.7",
93
- "@tryghost/i18n": "file:components/tryghost-i18n-5.42.0.tgz",
93
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.42.1.tgz",
94
94
  "@tryghost/image-transform": "1.2.4",
95
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.42.0.tgz",
96
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.42.0.tgz",
97
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.42.0.tgz",
95
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.42.1.tgz",
96
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.42.1.tgz",
97
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.42.1.tgz",
98
98
  "@tryghost/kg-card-factory": "4.0.6",
99
99
  "@tryghost/kg-default-atoms": "4.0.1",
100
100
  "@tryghost/kg-default-cards": "9.0.0",
@@ -102,55 +102,55 @@
102
102
  "@tryghost/kg-lexical-html-renderer": "0.1.21",
103
103
  "@tryghost/kg-mobiledoc-html-renderer": "6.0.6",
104
104
  "@tryghost/limit-service": "1.2.5",
105
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.42.0.tgz",
106
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.42.0.tgz",
107
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.42.0.tgz",
105
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.42.1.tgz",
106
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.42.1.tgz",
107
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.42.1.tgz",
108
108
  "@tryghost/logging": "2.4.1",
109
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.42.0.tgz",
110
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.42.0.tgz",
111
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.42.0.tgz",
112
- "@tryghost/member-events": "file:components/tryghost-member-events-5.42.0.tgz",
113
- "@tryghost/members-api": "file:components/tryghost-members-api-5.42.0.tgz",
114
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.42.0.tgz",
115
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.42.0.tgz",
116
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.42.0.tgz",
117
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.42.0.tgz",
118
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.42.0.tgz",
119
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.42.0.tgz",
120
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.42.0.tgz",
109
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.42.1.tgz",
110
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.42.1.tgz",
111
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.42.1.tgz",
112
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.42.1.tgz",
113
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.42.1.tgz",
114
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.42.1.tgz",
115
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.42.1.tgz",
116
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.42.1.tgz",
117
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.42.1.tgz",
118
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.42.1.tgz",
119
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.42.1.tgz",
120
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.42.1.tgz",
121
121
  "@tryghost/metrics": "1.0.22",
122
- "@tryghost/milestones": "file:components/tryghost-milestones-5.42.0.tgz",
123
- "@tryghost/minifier": "file:components/tryghost-minifier-5.42.0.tgz",
124
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.42.0.tgz",
125
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.42.0.tgz",
126
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.42.0.tgz",
127
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.42.0.tgz",
128
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.42.0.tgz",
129
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.42.0.tgz",
122
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.42.1.tgz",
123
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.42.1.tgz",
124
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.42.1.tgz",
125
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.42.1.tgz",
126
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.42.1.tgz",
127
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.42.1.tgz",
128
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.42.1.tgz",
129
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.42.1.tgz",
130
130
  "@tryghost/nodemailer": "0.3.32",
131
131
  "@tryghost/nql": "0.11.0",
132
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.42.0.tgz",
133
- "@tryghost/package-json": "file:components/tryghost-package-json-5.42.0.tgz",
134
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.42.0.tgz",
132
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.42.1.tgz",
133
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.42.1.tgz",
134
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.42.1.tgz",
135
135
  "@tryghost/pretty-cli": "1.2.34",
136
136
  "@tryghost/promise": "0.3.2",
137
137
  "@tryghost/request": "0.1.39",
138
- "@tryghost/security": "file:components/tryghost-security-5.42.0.tgz",
139
- "@tryghost/session-service": "file:components/tryghost-session-service-5.42.0.tgz",
140
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.42.0.tgz",
141
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.42.0.tgz",
138
+ "@tryghost/security": "file:components/tryghost-security-5.42.1.tgz",
139
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.42.1.tgz",
140
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.42.1.tgz",
141
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.42.1.tgz",
142
142
  "@tryghost/social-urls": "0.1.35",
143
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.42.0.tgz",
144
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.42.0.tgz",
143
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.42.1.tgz",
144
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.42.1.tgz",
145
145
  "@tryghost/string": "0.2.3",
146
- "@tryghost/tiers": "file:components/tryghost-tiers-5.42.0.tgz",
146
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.42.1.tgz",
147
147
  "@tryghost/tpl": "0.1.22",
148
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.42.0.tgz",
148
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.42.1.tgz",
149
149
  "@tryghost/url-utils": "4.4.0",
150
150
  "@tryghost/validator": "0.2.1",
151
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.42.0.tgz",
151
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.42.1.tgz",
152
152
  "@tryghost/version": "0.1.20",
153
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.42.0.tgz",
153
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.42.1.tgz",
154
154
  "@tryghost/zip": "1.1.32",
155
155
  "amperize": "0.6.1",
156
156
  "analytics-node": "6.2.0",
@@ -247,72 +247,72 @@
247
247
  "@tryghost/logging": "2.4.1",
248
248
  "moment": "2.24.0",
249
249
  "moment-timezone": "0.5.23",
250
- "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.42.0.tgz",
251
- "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.42.0.tgz",
252
- "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.42.0.tgz",
253
- "@tryghost/api-framework": "file:components/tryghost-api-framework-5.42.0.tgz",
254
- "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.42.0.tgz",
255
- "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.42.0.tgz",
256
- "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.42.0.tgz",
257
- "@tryghost/constants": "file:components/tryghost-constants-5.42.0.tgz",
258
- "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.42.0.tgz",
259
- "@tryghost/data-generator": "file:components/tryghost-data-generator-5.42.0.tgz",
260
- "@tryghost/domain-events": "file:components/tryghost-domain-events-5.42.0.tgz",
261
- "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.42.0.tgz",
262
- "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.42.0.tgz",
263
- "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.42.0.tgz",
264
- "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.42.0.tgz",
265
- "@tryghost/email-events": "file:components/tryghost-email-events-5.42.0.tgz",
266
- "@tryghost/email-service": "file:components/tryghost-email-service-5.42.0.tgz",
267
- "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.42.0.tgz",
268
- "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.42.0.tgz",
269
- "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.42.0.tgz",
270
- "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.42.0.tgz",
271
- "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.42.0.tgz",
272
- "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.42.0.tgz",
273
- "@tryghost/i18n": "file:components/tryghost-i18n-5.42.0.tgz",
274
- "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.42.0.tgz",
275
- "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.42.0.tgz",
276
- "@tryghost/job-manager": "file:components/tryghost-job-manager-5.42.0.tgz",
277
- "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.42.0.tgz",
278
- "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.42.0.tgz",
279
- "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.42.0.tgz",
280
- "@tryghost/magic-link": "file:components/tryghost-magic-link-5.42.0.tgz",
281
- "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.42.0.tgz",
282
- "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.42.0.tgz",
283
- "@tryghost/member-events": "file:components/tryghost-member-events-5.42.0.tgz",
284
- "@tryghost/members-api": "file:components/tryghost-members-api-5.42.0.tgz",
285
- "@tryghost/members-csv": "file:components/tryghost-members-csv-5.42.0.tgz",
286
- "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.42.0.tgz",
287
- "@tryghost/members-importer": "file:components/tryghost-members-importer-5.42.0.tgz",
288
- "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.42.0.tgz",
289
- "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.42.0.tgz",
290
- "@tryghost/milestones": "file:components/tryghost-milestones-5.42.0.tgz",
291
- "@tryghost/minifier": "file:components/tryghost-minifier-5.42.0.tgz",
292
- "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.42.0.tgz",
293
- "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.42.0.tgz",
294
- "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.42.0.tgz",
295
- "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.42.0.tgz",
296
- "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.42.0.tgz",
297
- "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.42.0.tgz",
298
- "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.42.0.tgz",
299
- "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.42.0.tgz",
300
- "@tryghost/members-offers": "file:components/tryghost-members-offers-5.42.0.tgz",
301
- "@tryghost/package-json": "file:components/tryghost-package-json-5.42.0.tgz",
302
- "@tryghost/members-payments": "file:components/tryghost-members-payments-5.42.0.tgz",
303
- "@tryghost/posts-service": "file:components/tryghost-posts-service-5.42.0.tgz",
304
- "@tryghost/referrers": "file:components/tryghost-referrers-5.42.0.tgz",
305
- "@tryghost/security": "file:components/tryghost-security-5.42.0.tgz",
306
- "@tryghost/session-service": "file:components/tryghost-session-service-5.42.0.tgz",
307
- "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.42.0.tgz",
308
- "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.42.0.tgz",
309
- "@tryghost/staff-service": "file:components/tryghost-staff-service-5.42.0.tgz",
310
- "@tryghost/stats-service": "file:components/tryghost-stats-service-5.42.0.tgz",
311
- "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.42.0.tgz",
312
- "@tryghost/tiers": "file:components/tryghost-tiers-5.42.0.tgz",
313
- "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.42.0.tgz",
314
- "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.42.0.tgz",
315
- "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.42.0.tgz",
316
- "@tryghost/webmentions": "file:components/tryghost-webmentions-5.42.0.tgz"
250
+ "@tryghost/adapter-cache-memory-ttl": "file:components/tryghost-adapter-cache-memory-ttl-5.42.1.tgz",
251
+ "@tryghost/adapter-cache-redis": "file:components/tryghost-adapter-cache-redis-5.42.1.tgz",
252
+ "@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.42.1.tgz",
253
+ "@tryghost/api-framework": "file:components/tryghost-api-framework-5.42.1.tgz",
254
+ "@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.42.1.tgz",
255
+ "@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.42.1.tgz",
256
+ "@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.42.1.tgz",
257
+ "@tryghost/constants": "file:components/tryghost-constants-5.42.1.tgz",
258
+ "@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.42.1.tgz",
259
+ "@tryghost/data-generator": "file:components/tryghost-data-generator-5.42.1.tgz",
260
+ "@tryghost/domain-events": "file:components/tryghost-domain-events-5.42.1.tgz",
261
+ "@tryghost/dynamic-routing-events": "file:components/tryghost-dynamic-routing-events-5.42.1.tgz",
262
+ "@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.42.1.tgz",
263
+ "@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.42.1.tgz",
264
+ "@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.42.1.tgz",
265
+ "@tryghost/email-events": "file:components/tryghost-email-events-5.42.1.tgz",
266
+ "@tryghost/email-service": "file:components/tryghost-email-service-5.42.1.tgz",
267
+ "@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.42.1.tgz",
268
+ "@tryghost/event-aware-cache-wrapper": "file:components/tryghost-event-aware-cache-wrapper-5.42.1.tgz",
269
+ "@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.42.1.tgz",
270
+ "@tryghost/external-media-inliner": "file:components/tryghost-external-media-inliner-5.42.1.tgz",
271
+ "@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.42.1.tgz",
272
+ "@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.42.1.tgz",
273
+ "@tryghost/i18n": "file:components/tryghost-i18n-5.42.1.tgz",
274
+ "@tryghost/importer-handler-content-files": "file:components/tryghost-importer-handler-content-files-5.42.1.tgz",
275
+ "@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.42.1.tgz",
276
+ "@tryghost/job-manager": "file:components/tryghost-job-manager-5.42.1.tgz",
277
+ "@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.42.1.tgz",
278
+ "@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.42.1.tgz",
279
+ "@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.42.1.tgz",
280
+ "@tryghost/magic-link": "file:components/tryghost-magic-link-5.42.1.tgz",
281
+ "@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.42.1.tgz",
282
+ "@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.42.1.tgz",
283
+ "@tryghost/member-events": "file:components/tryghost-member-events-5.42.1.tgz",
284
+ "@tryghost/members-api": "file:components/tryghost-members-api-5.42.1.tgz",
285
+ "@tryghost/members-csv": "file:components/tryghost-members-csv-5.42.1.tgz",
286
+ "@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.42.1.tgz",
287
+ "@tryghost/members-importer": "file:components/tryghost-members-importer-5.42.1.tgz",
288
+ "@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.42.1.tgz",
289
+ "@tryghost/mentions-email-report": "file:components/tryghost-mentions-email-report-5.42.1.tgz",
290
+ "@tryghost/milestones": "file:components/tryghost-milestones-5.42.1.tgz",
291
+ "@tryghost/minifier": "file:components/tryghost-minifier-5.42.1.tgz",
292
+ "@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.42.1.tgz",
293
+ "@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.42.1.tgz",
294
+ "@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.42.1.tgz",
295
+ "@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.42.1.tgz",
296
+ "@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.42.1.tgz",
297
+ "@tryghost/mw-version-match": "file:components/tryghost-mw-version-match-5.42.1.tgz",
298
+ "@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.42.1.tgz",
299
+ "@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.42.1.tgz",
300
+ "@tryghost/members-offers": "file:components/tryghost-members-offers-5.42.1.tgz",
301
+ "@tryghost/package-json": "file:components/tryghost-package-json-5.42.1.tgz",
302
+ "@tryghost/members-payments": "file:components/tryghost-members-payments-5.42.1.tgz",
303
+ "@tryghost/posts-service": "file:components/tryghost-posts-service-5.42.1.tgz",
304
+ "@tryghost/referrers": "file:components/tryghost-referrers-5.42.1.tgz",
305
+ "@tryghost/security": "file:components/tryghost-security-5.42.1.tgz",
306
+ "@tryghost/session-service": "file:components/tryghost-session-service-5.42.1.tgz",
307
+ "@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.42.1.tgz",
308
+ "@tryghost/slack-notifications": "file:components/tryghost-slack-notifications-5.42.1.tgz",
309
+ "@tryghost/staff-service": "file:components/tryghost-staff-service-5.42.1.tgz",
310
+ "@tryghost/stats-service": "file:components/tryghost-stats-service-5.42.1.tgz",
311
+ "@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.42.1.tgz",
312
+ "@tryghost/tiers": "file:components/tryghost-tiers-5.42.1.tgz",
313
+ "@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.42.1.tgz",
314
+ "@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.42.1.tgz",
315
+ "@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.42.1.tgz",
316
+ "@tryghost/webmentions": "file:components/tryghost-webmentions-5.42.1.tgz"
317
317
  }
318
318
  }
Binary file