ghost 5.130.0 → 6.0.0-alpha.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 (274) hide show
  1. package/components/tryghost-i18n-6.0.0-alpha.1.tgz +0 -0
  2. package/core/boot.js +0 -2
  3. package/core/built/admin/assets/admin-x-settings/{CodeEditorView-bO8i1M7l.mjs → CodeEditorView-CA2VVtOE.mjs} +2 -2
  4. package/core/built/admin/assets/admin-x-settings/admin-x-settings.js +1 -1
  5. package/core/built/admin/assets/admin-x-settings/{index-BeD9DTp3.mjs → index-Dl3F40x5.mjs} +2 -2
  6. package/core/built/admin/assets/admin-x-settings/{index-DIak5kz8.mjs → index-KA2tjCkS.mjs} +5 -5
  7. package/core/built/admin/assets/admin-x-settings/{modals-DLPpqlUq.mjs → modals-B0zezufO.mjs} +8130 -8122
  8. package/core/built/admin/assets/{chunk.524.2443bfd380e6da0cbabd.js → chunk.524.996c1c4d269fa6a50e90.js} +7 -7
  9. package/core/built/admin/assets/{chunk.582.434476dff5ddc79ed054.js → chunk.582.75cf44e5d1b925adf16d.js} +9 -9
  10. package/core/built/admin/assets/{chunk.728.214803966b81ffdb1acd.js → chunk.728.985c45ad584b4b91ca60.js} +124 -124
  11. package/core/built/admin/assets/{ghost-5d9c65b5c4ef960a664cd664b2616dea.js → ghost-5a5b2112df68dfaf6813ce38cad16847.js} +28 -29
  12. package/core/built/admin/assets/posts/posts.js +1 -1
  13. package/core/built/admin/assets/stats/stats.js +1 -1
  14. package/core/built/admin/index.html +4 -4
  15. package/core/frontend/helpers/get.js +4 -2
  16. package/core/frontend/helpers/ghost_head.js +71 -77
  17. package/core/frontend/meta/canonical-url.js +1 -7
  18. package/core/frontend/meta/context-object.js +1 -1
  19. package/core/frontend/meta/get-meta.js +1 -4
  20. package/core/frontend/meta/og-image.js +1 -1
  21. package/core/frontend/meta/og-type.js +0 -2
  22. package/core/frontend/meta/schema.js +1 -1
  23. package/core/frontend/meta/twitter-image.js +1 -1
  24. package/core/frontend/meta/url.js +1 -12
  25. package/core/frontend/services/rendering/context.js +0 -8
  26. package/core/server/api/endpoints/index.js +0 -4
  27. package/core/server/api/endpoints/session.js +0 -9
  28. package/core/server/api/endpoints/utils/serializers/input/settings.js +0 -2
  29. package/core/server/api/endpoints/utils/serializers/input/utils/settings-filter-type-group-mapper.js +0 -1
  30. package/core/server/api/endpoints/utils/serializers/input/utils/settings-key-group-mapper.js +0 -1
  31. package/core/server/api/endpoints/utils/serializers/input/utils/settings-key-type-mapper.js +0 -1
  32. package/core/server/api/endpoints/utils/serializers/output/all.js +1 -1
  33. package/core/server/api/endpoints/utils/serializers/output/index.js +0 -4
  34. package/core/server/api/endpoints/utils/serializers/output/mappers/snippets.js +1 -5
  35. package/core/server/api/endpoints/utils/serializers/output/members.js +0 -2
  36. package/core/server/api/endpoints/utils/validators/input/index.js +0 -4
  37. package/core/server/data/importer/importers/data/Base.js +1 -3
  38. package/core/server/data/importer/importers/data/SettingsImporter.js +1 -3
  39. package/core/server/data/migrations/utils/index.js +1 -4
  40. package/core/server/data/migrations/utils/permissions.js +14 -6
  41. package/core/server/data/migrations/utils/settings.js +39 -22
  42. package/core/server/data/migrations/versions/4.47/2022-05-03-15-30-final-v4.js +2 -0
  43. package/core/server/data/migrations/versions/4.47/2022-05-04-10-03-no-op.js +6 -0
  44. package/core/server/data/migrations/versions/5.100/2024-11-06-04-45-15-add-activitypub-integration.js +4 -2
  45. package/core/server/data/migrations/versions/5.113/2025-03-07-12-24-00-add-super-editor.js +4 -2
  46. package/core/server/data/migrations/versions/5.3/2022-07-06-07-58-add-ghost-explore-integration-role.js +4 -2
  47. package/core/server/data/migrations/versions/5.3/2022-07-06-09-17-add-ghost-explore-integration.js +4 -2
  48. package/core/server/data/migrations/versions/5.3/2022-07-06-09-26-add-ghost-explore-integration-api-key.js +4 -2
  49. package/core/server/data/migrations/versions/5.40/2023-03-21-18-42-add-self-serve-integration-role.js +4 -2
  50. package/core/server/data/migrations/versions/5.40/2023-03-21-18-52-add-self-serve-integration.js +4 -2
  51. package/core/server/data/migrations/versions/5.40/2023-03-21-19-02-add-self-serve-integration-api-key.js +4 -2
  52. package/core/server/data/migrations/versions/5.63/2023-09-13-13-03-10-add-ghost-core-content-integration.js +4 -2
  53. package/core/server/data/migrations/versions/5.63/2023-09-13-13-34-11-add-ghost-core-content-integration-key.js +4 -2
  54. package/core/server/data/migrations/versions/6.0/2025-06-20-01-41-54-remove-updated-by-column.js +46 -0
  55. package/core/server/data/migrations/versions/6.0/2025-06-20-13-41-55-remove-created-by-column.js +47 -0
  56. package/core/server/data/migrations/versions/6.0/2025-06-23-09-49-25-add-missing-member-uuids.js +22 -0
  57. package/core/server/data/migrations/versions/6.0/2025-06-23-10-03-26-members-nullable-uuid.js +5 -0
  58. package/core/server/data/migrations/versions/6.0/2025-06-24-09-19-42-use-object-id-for-hardcoded-user-id.js +95 -0
  59. package/core/server/data/migrations/versions/6.0/2025-06-25-15-03-29-remove-amp-from-settings.js +6 -0
  60. package/core/server/data/migrations/versions/6.0/2025-06-30-13-59-10-remove-mail-events-table.js +3 -0
  61. package/core/server/data/migrations/versions/6.0/2025-06-30-14-00-00-update-feature-image-alt-length.js +25 -0
  62. package/core/server/data/schema/default-settings/default-settings.json +0 -13
  63. package/core/server/data/schema/fixtures/FixtureManager.js +128 -5
  64. package/core/server/data/schema/fixtures/fixtures.json +4 -6
  65. package/core/server/data/schema/fixtures/index.js +3 -1
  66. package/core/server/data/schema/schema.js +20 -65
  67. package/core/server/data/seeders/DataGenerator.js +11 -2
  68. package/core/server/data/seeders/importers/EmailsImporter.js +1 -3
  69. package/core/server/data/seeders/importers/LabelsImporter.js +1 -3
  70. package/core/server/data/seeders/importers/MembersImporter.js +0 -1
  71. package/core/server/data/seeders/importers/MembersStripeCustomersImporter.js +1 -2
  72. package/core/server/data/seeders/importers/MembersStripeCustomersSubscriptionsImporter.js +0 -1
  73. package/core/server/data/seeders/importers/PostsImporter.js +0 -1
  74. package/core/server/data/seeders/importers/RolesUsersImporter.js +6 -1
  75. package/core/server/data/seeders/importers/TagsImporter.js +1 -2
  76. package/core/server/data/seeders/importers/UsersImporter.js +1 -2
  77. package/core/server/data/tinybird/README.md +9 -14
  78. package/core/server/models/base/bookshelf.js +8 -1
  79. package/core/server/models/base/plugins/events.js +0 -28
  80. package/core/server/models/base/plugins/user-type.js +10 -36
  81. package/core/server/models/post.js +25 -10
  82. package/core/server/models/relations/authors.js +2 -2
  83. package/core/server/models/settings.js +1 -14
  84. package/core/server/models/user.js +33 -6
  85. package/core/server/services/activitypub/ActivityPubService.js +1 -2
  86. package/core/server/services/activitypub/ActivityPubService.ts +1 -2
  87. package/core/server/services/link-redirection/README.md +1 -1
  88. package/core/server/services/mentions/MentionSendingService.js +1 -1
  89. package/core/server/services/update-check/UpdateCheckService.js +18 -2
  90. package/core/server/services/url/config.js +0 -2
  91. package/core/server/web/api/app.js +4 -0
  92. package/core/server/web/api/endpoints/admin/middleware.js +8 -9
  93. package/core/server/web/api/endpoints/admin/routes.js +0 -2
  94. package/core/server/web/comments/routes.js +3 -0
  95. package/core/server/web/shared/middleware/index.js +4 -0
  96. package/core/server/web/shared/middleware/max-limit-cap.js +27 -0
  97. package/core/server/web/shared/middleware/pretty-urls.js +3 -1
  98. package/core/server/web/shared/middleware/redirect-amp-urls.js +36 -0
  99. package/core/shared/config/defaults.json +2 -0
  100. package/core/shared/config/overrides.json +1 -4
  101. package/core/shared/labs.js +5 -6
  102. package/core/shared/max-limit-cap.js +61 -0
  103. package/package.json +4 -5
  104. package/tsconfig.tsbuildinfo +1 -1
  105. package/yarn.lock +18 -107
  106. package/components/tryghost-i18n-5.130.0.tgz +0 -0
  107. package/core/built/admin/assets/img/amp-d7b72aae3315fda95921fb575dfca100.svg +0 -4
  108. package/core/frontend/apps/amp/index.js +0 -30
  109. package/core/frontend/apps/amp/lib/helpers/amp_analytics.js +0 -32
  110. package/core/frontend/apps/amp/lib/helpers/amp_components.js +0 -48
  111. package/core/frontend/apps/amp/lib/helpers/amp_content.js +0 -214
  112. package/core/frontend/apps/amp/lib/helpers/amp_style.js +0 -8
  113. package/core/frontend/apps/amp/lib/router.js +0 -95
  114. package/core/frontend/apps/amp/lib/views/amp.hbs +0 -1046
  115. package/core/frontend/meta/amp-url.js +0 -14
  116. package/core/server/api/endpoints/mail-events.js +0 -17
  117. package/core/server/api/endpoints/utils/serializers/output/mail-events.js +0 -9
  118. package/core/server/api/endpoints/utils/validators/input/mail-events.js +0 -7
  119. package/core/server/data/migrations/utils/constants.js +0 -3
  120. package/core/server/data/migrations/versions/4.0/01-update-mobiledoc.js +0 -61
  121. package/core/server/data/migrations/versions/4.0/02-add-status-column-to-members.js +0 -11
  122. package/core/server/data/migrations/versions/4.0/03-populate-status-column-for-members.js +0 -81
  123. package/core/server/data/migrations/versions/4.0/04-drop-apps-related-tables.js +0 -10
  124. package/core/server/data/migrations/versions/4.0/05-add-members-subscribe-events-table.js +0 -9
  125. package/core/server/data/migrations/versions/4.0/06-populate-members-subscribe-events-table.js +0 -53
  126. package/core/server/data/migrations/versions/4.0/07-alter-unique-constraint-for-posts-slug.js +0 -7
  127. package/core/server/data/migrations/versions/4.0/08-add-members-login-events-table.js +0 -7
  128. package/core/server/data/migrations/versions/4.0/09-add-members-email-change-events-table.js +0 -9
  129. package/core/server/data/migrations/versions/4.0/10-add-members-status-events-table.js +0 -9
  130. package/core/server/data/migrations/versions/4.0/11-add-members-paid-subscription-events-table.js +0 -12
  131. package/core/server/data/migrations/versions/4.0/12-delete-apps-related-settings-keys.js +0 -16
  132. package/core/server/data/migrations/versions/4.0/13-add-members-payment-events-table.js +0 -10
  133. package/core/server/data/migrations/versions/4.0/14-remove-orphaned-stripe-records.js +0 -36
  134. package/core/server/data/migrations/versions/4.0/15-add-frontmatter-column-to-meta.js +0 -7
  135. package/core/server/data/migrations/versions/4.0/16-refactor-slack-setting.js +0 -96
  136. package/core/server/data/migrations/versions/4.0/17-populate-members-status-events-table.js +0 -41
  137. package/core/server/data/migrations/versions/4.0/18-transform-urls-absolute-to-transform-ready.js +0 -201
  138. package/core/server/data/migrations/versions/4.0/19-remove-labs-members-setting.js +0 -10
  139. package/core/server/data/migrations/versions/4.0/20-refactor-unsplash-setting.js +0 -41
  140. package/core/server/data/migrations/versions/4.0/21-sanitize-email-batches-provider-id.js +0 -8
  141. package/core/server/data/migrations/versions/4.0/22-solve-orphaned-webhooks.js +0 -87
  142. package/core/server/data/migrations/versions/4.0/23-regenerate-posts-html.js +0 -66
  143. package/core/server/data/migrations/versions/4.0/24-add-missing-email-permissions.js +0 -36
  144. package/core/server/data/migrations/versions/4.0/25-populate-members-paid-subscription-events-table.js +0 -129
  145. package/core/server/data/migrations/versions/4.0/26-add-cascade-on-delete.js +0 -76
  146. package/core/server/data/migrations/versions/4.0/27-add-primary-key-brute-migrations-lock.js +0 -9
  147. package/core/server/data/migrations/versions/4.0/28-add-webhook-intergrations-foreign-key.js +0 -16
  148. package/core/server/data/migrations/versions/4.0/29-fix-foreign-key-for-members-stripe-customers-subscriptions.js +0 -35
  149. package/core/server/data/migrations/versions/4.0/30-set-default-accent-color.js +0 -21
  150. package/core/server/data/migrations/versions/4.1/01-fix-backup-content-permission-typo.js +0 -15
  151. package/core/server/data/migrations/versions/4.1/02-add-unique-constraint-for-member-stripe-tables.js +0 -21
  152. package/core/server/data/migrations/versions/4.11/01-add-oauth-user-data.js +0 -12
  153. package/core/server/data/migrations/versions/4.11/02-add-email-verification-required-setting.js +0 -43
  154. package/core/server/data/migrations/versions/4.12/01-add-email-only-column-to-posts-meta-table.js +0 -7
  155. package/core/server/data/migrations/versions/4.12/02-fix-member-statuses.js +0 -39
  156. package/core/server/data/migrations/versions/4.13/01-add-members-stripe-connect-auth-permission-to-administrators.js +0 -6
  157. package/core/server/data/migrations/versions/4.13/02-add-members-products-events-table.js +0 -33
  158. package/core/server/data/migrations/versions/4.14/01-fix-comped-member-statuses.js +0 -73
  159. package/core/server/data/migrations/versions/4.14/02-fix-free-members-status-events.js +0 -61
  160. package/core/server/data/migrations/versions/4.15/01-add-temp-members-analytic-events-table.js +0 -12
  161. package/core/server/data/migrations/versions/4.16/01-add-custom-theme-settings-table.js +0 -9
  162. package/core/server/data/migrations/versions/4.17/01-add-custom-theme-settings-permissions.js +0 -21
  163. package/core/server/data/migrations/versions/4.17/02-add-offers-table.js +0 -19
  164. package/core/server/data/migrations/versions/4.17/03-add-offers-permissions.js +0 -35
  165. package/core/server/data/migrations/versions/4.19/01-add-active-column-to-offers.js +0 -7
  166. package/core/server/data/migrations/versions/4.19/02-add-offer-redemptions-table.js +0 -8
  167. package/core/server/data/migrations/versions/4.2/01-fix-incorrect-mrr-delta-events.js +0 -13
  168. package/core/server/data/migrations/versions/4.20/01-remove-offer-redemptions-table.js +0 -19
  169. package/core/server/data/migrations/versions/4.20/02-remove-offers-table.js +0 -30
  170. package/core/server/data/migrations/versions/4.20/03-add-offers-table.js +0 -21
  171. package/core/server/data/migrations/versions/4.20/04-add-offer-redemptions-table.js +0 -9
  172. package/core/server/data/migrations/versions/4.20/05-remove-not-null-constraint-from-portal-title.js +0 -44
  173. package/core/server/data/migrations/versions/4.22/01-add-is-launch-complete-setting.js +0 -8
  174. package/core/server/data/migrations/versions/4.22/02-update-launch-complete-setting-from-user-data.js +0 -39
  175. package/core/server/data/migrations/versions/4.23/01-truncate-offer-names.js +0 -59
  176. package/core/server/data/migrations/versions/4.3/01-add-products-table.js +0 -9
  177. package/core/server/data/migrations/versions/4.3/02-add-members-products-table.js +0 -8
  178. package/core/server/data/migrations/versions/4.3/03-add-default-product.js +0 -39
  179. package/core/server/data/migrations/versions/4.3/04-attach-members-to-product.js +0 -50
  180. package/core/server/data/migrations/versions/4.3/05-add-stripe-products-table.js +0 -9
  181. package/core/server/data/migrations/versions/4.3/06-add-stripe-prices-table.js +0 -15
  182. package/core/server/data/migrations/versions/4.3/07-add-products-permissions.js +0 -29
  183. package/core/server/data/migrations/versions/4.3/08-migrate-members-signup-setting.js +0 -109
  184. package/core/server/data/migrations/versions/4.3/09-add-price-id-column-to-subscriptions-table.js +0 -10
  185. package/core/server/data/migrations/versions/4.3/10-populate-stripe-price-id-in-subscriptions.js +0 -20
  186. package/core/server/data/migrations/versions/4.33/2022-01-14-11-50-add-type-column-to-products.js +0 -12
  187. package/core/server/data/migrations/versions/4.33/2022-01-14-11-51-add-default-free-tier.js +0 -40
  188. package/core/server/data/migrations/versions/4.33/2022-01-18-09-07-remove-duplicate-offer-redemptions.js +0 -46
  189. package/core/server/data/migrations/versions/4.33/2022-01-19-10-43-add-active-column-to-products-table.js +0 -7
  190. package/core/server/data/migrations/versions/4.34/2022-01-25-13-53-add-welcome-page-url-column-to-products.js +0 -7
  191. package/core/server/data/migrations/versions/4.35/2022-01-20-05-55-add-post-products-table.js +0 -8
  192. package/core/server/data/migrations/versions/4.35/2022-01-30-15-17-set-welcome-page-url-from-settings.js +0 -45
  193. package/core/server/data/migrations/versions/4.35/2022-02-01-11-48-update-email-recipient-filter-column-type.js +0 -19
  194. package/core/server/data/migrations/versions/4.35/2022-02-01-12-03-update-recipient-filter-column-type.js +0 -19
  195. package/core/server/data/migrations/versions/4.35/2022-02-02-10-38-add-default-content-visibility-tiers-setting.js +0 -8
  196. package/core/server/data/migrations/versions/4.35/2022-02-02-13-10-transform-specific-tiers-default-content-visibility.js +0 -147
  197. package/core/server/data/migrations/versions/4.35/2022-02-04-04-34-populate-empty-portal-products.js +0 -60
  198. package/core/server/data/migrations/versions/4.36/2022-02-07-14-34-add-last-seen-at-column-to-members.js +0 -10
  199. package/core/server/data/migrations/versions/4.37/2022-02-21-09-53-backfill-members-last-seen-at-column.js +0 -32
  200. package/core/server/data/migrations/versions/4.38/2022-03-01-08-46-add-visibility-to-tiers.js +0 -11
  201. package/core/server/data/migrations/versions/4.38/2022-03-03-16-12-add-visibility-to-tiers.js +0 -8
  202. package/core/server/data/migrations/versions/4.38/2022-03-03-16-17-drop-tiers-visible-column.js +0 -7
  203. package/core/server/data/migrations/versions/4.39/2022-03-07-10-57-update-free-products-visibility-column.js +0 -66
  204. package/core/server/data/migrations/versions/4.39/2022-03-07-10-57-update-products-visibility-column.js +0 -36
  205. package/core/server/data/migrations/versions/4.4/01-restore-free-members-signup-setting-from-backup.js +0 -99
  206. package/core/server/data/migrations/versions/4.4/02-migrate-members-signup-access.js +0 -126
  207. package/core/server/data/migrations/versions/4.40/2022-03-07-14-37-add-members-cancel-events-table.js +0 -8
  208. package/core/server/data/migrations/versions/4.40/2022-03-15-06-40-add-offers-admin-integration-permission-roles.js +0 -23
  209. package/core/server/data/migrations/versions/4.40/2022-03-15-06-40-add-tiers-admin-integration-permission-roles.js +0 -20
  210. package/core/server/data/migrations/versions/4.42/2022-03-21-17-17-add.js +0 -25
  211. package/core/server/data/migrations/versions/4.42/2022-03-30-15-44-add-newsletter-permissions.js +0 -28
  212. package/core/server/data/migrations/versions/4.43/2022-03-28-19-26-recreate-newsletter-table.js +0 -29
  213. package/core/server/data/migrations/versions/4.43/2022-03-29-14-45-add-members-newsletters-table.js +0 -7
  214. package/core/server/data/migrations/versions/4.43/2022-04-01-10-13-add-post-newsletter-relation.js +0 -108
  215. package/core/server/data/migrations/versions/4.43/2022-04-06-09-47-add-type-column-to-paid-subscription-events.js +0 -7
  216. package/core/server/data/migrations/versions/4.43/2022-04-06-14-56-add-email-newsletter-relation.js +0 -8
  217. package/core/server/data/migrations/versions/4.43/2022-04-08-10-45-add-subscription-id-to-mrr-events.js +0 -7
  218. package/core/server/data/migrations/versions/4.44/2022-04-06-15-22-populate-type-column-for-paid-subscription-events.js +0 -21
  219. package/core/server/data/migrations/versions/4.44/2022-04-08-11-54-add-cancelled-events.js +0 -51
  220. package/core/server/data/migrations/versions/4.44/2022-04-11-08-24-add-newsletter-permissions.js +0 -33
  221. package/core/server/data/migrations/versions/4.44/2022-04-11-10-54-add-mrr-to-subscriptions.js +0 -8
  222. package/core/server/data/migrations/versions/4.44/2022-04-12-07-33-fill-mrr.js +0 -29
  223. package/core/server/data/migrations/versions/4.44/2022-04-13-12-00-remove-newsletter-sender-name-not-null-constraint.js +0 -33
  224. package/core/server/data/migrations/versions/4.44/2022-04-15-07-53-add-offer-id-to-subscriptions.js +0 -9
  225. package/core/server/data/migrations/versions/4.45/2022-04-19-12-23-backfill-subscriptions-offers.js +0 -60
  226. package/core/server/data/migrations/versions/4.45/2022-04-20-11-25-add-newsletter-read-permission.js +0 -9
  227. package/core/server/data/migrations/versions/4.45/2022-04-21-02-55-add-notifications-key-entry-to-settings-table.js +0 -8
  228. package/core/server/data/migrations/versions/4.46/2022-04-13-12-00-add-created-at-newsletters.js +0 -6
  229. package/core/server/data/migrations/versions/4.46/2022-04-13-12-01-add-updated-at-newsletters.js +0 -6
  230. package/core/server/data/migrations/versions/4.46/2022-04-13-12-02-fill-created-at-newsletters.js +0 -19
  231. package/core/server/data/migrations/versions/4.46/2022-04-13-12-03-drop-nullable-created-at-newsletters.js +0 -3
  232. package/core/server/data/migrations/versions/4.46/2022-04-13-12-08-newsletters-show-header-name.js +0 -7
  233. package/core/server/data/migrations/versions/4.46/2022-04-13-12-57-add-uuid-column-to-newsletters.js +0 -8
  234. package/core/server/data/migrations/versions/4.46/2022-04-13-12-58-fill-uuid-for-newsletters.js +0 -19
  235. package/core/server/data/migrations/versions/4.46/2022-04-13-12-59-drop-nullable-uuid-newsletters.js +0 -3
  236. package/core/server/data/migrations/versions/4.46/2022-04-13-13-00-add-default-newsletter.js +0 -92
  237. package/core/server/data/migrations/versions/4.46/2022-04-20-08-39-map-subscribers-to-default-newsletter.js +0 -66
  238. package/core/server/data/migrations/versions/4.46/2022-04-22-07-43-add-newsletter-id-to-subscribe-events.js +0 -9
  239. package/core/server/data/migrations/versions/4.46/2022-04-27-07-59-set-newsletter-id-subscribe-events.js +0 -31
  240. package/core/server/data/migrations/versions/4.47/2022-05-03-15-30-update-newsletter-sending-options.js +0 -34
  241. package/core/server/data/migrations/versions/4.47/2022-05-04-10-03-transform-newsletter-header-image.js +0 -26
  242. package/core/server/data/migrations/versions/4.5/01-add-stripe-price-description-column.js +0 -7
  243. package/core/server/data/migrations/versions/4.5/02-add-product-description-column.js +0 -7
  244. package/core/server/data/migrations/versions/4.5/03-give-label-read-permissions-to-editors.js +0 -14
  245. package/core/server/data/migrations/versions/4.5/04-remove-unique-constraint-from-product-name.js +0 -13
  246. package/core/server/data/migrations/versions/4.5/05-rename-default-product-to-site-title.js +0 -38
  247. package/core/server/data/migrations/versions/4.6/01-remove-comped-status.js +0 -47
  248. package/core/server/data/migrations/versions/4.7/01-add-monthly-price-column-to-products.js +0 -7
  249. package/core/server/data/migrations/versions/4.7/02-add-yearly-price-column-to-products.js +0 -7
  250. package/core/server/data/migrations/versions/4.7/03-add-labs-setting.js +0 -42
  251. package/core/server/data/migrations/versions/4.8/01-add-feature-image-alt-column-to-posts-meta.js +0 -7
  252. package/core/server/data/migrations/versions/4.8/02-add-feature-image-caption-column-to-posts-meta.js +0 -7
  253. package/core/server/data/migrations/versions/4.8/03-add-default-product-portal-products.js +0 -69
  254. package/core/server/data/migrations/versions/4.8/04-migrate-show-newsletter-header-setting.js +0 -124
  255. package/core/server/data/migrations/versions/4.9/01-add-reset-all-passwords-permission.js +0 -11
  256. package/core/server/data/migrations/versions/4.9/02-add-benefits-table.js +0 -9
  257. package/core/server/data/migrations/versions/4.9/03-add-products-benefits-table.js +0 -8
  258. package/core/server/data/migrations/versions/4.9/04-add-member-segment-to-email-batches.js +0 -7
  259. package/core/server/data/migrations/versions/4.9/05-fix-missed-mobiledoc-url-transforms.js +0 -87
  260. package/core/server/data/migrations/versions/4.9/06-add-comped-status.js +0 -47
  261. package/core/server/data/migrations/versions/4.9/07-update-comped-members-status-events.js +0 -39
  262. package/core/server/models/mail-event.js +0 -12
  263. package/core/server/services/mail-events/BookshelfMailEventRepository.js +0 -40
  264. package/core/server/services/mail-events/InMemoryMailEventRepository.js +0 -10
  265. package/core/server/services/mail-events/InMemoryMailEventRepository.ts +0 -8
  266. package/core/server/services/mail-events/MailEvent.js +0 -20
  267. package/core/server/services/mail-events/MailEvent.ts +0 -10
  268. package/core/server/services/mail-events/MailEventRepository.js +0 -2
  269. package/core/server/services/mail-events/MailEventRepository.ts +0 -5
  270. package/core/server/services/mail-events/MailEventService.js +0 -124
  271. package/core/server/services/mail-events/MailEventService.ts +0 -169
  272. package/core/server/services/mail-events/index.js +0 -21
  273. package/core/server/services/mail-events/libraries.d.ts +0 -2
  274. /package/core/built/admin/assets/{chunk.728.214803966b81ffdb1acd.js.LICENSE.txt → chunk.728.985c45ad584b4b91ca60.js.LICENSE.txt} +0 -0
package/yarn.lock CHANGED
@@ -10005,23 +10005,6 @@ amdefine@>=0.0.4:
10005
10005
  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
10006
10006
  integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==
10007
10007
 
10008
- amperize@0.6.1:
10009
- version "0.6.1"
10010
- resolved "https://registry.yarnpkg.com/amperize/-/amperize-0.6.1.tgz#b90079db6d66d4dd33e6584ef88c4df493ed7e03"
10011
- integrity sha512-g36E/XJ5N98VyKh4opL894rlrBejh7aS6emet0HpLKg9IHfbXM3vDMBgwsTQO9M/kY+NZ9mpQU3SW9w8FDM6gw==
10012
- dependencies:
10013
- async "^3.0.1"
10014
- domutils "^2.0.0"
10015
- emits "^3.0.0"
10016
- htmlparser2 "^4.0.0"
10017
- image-size "^0.8.1"
10018
- lodash "^4.17.11"
10019
- probe-image-size "^5.0.0"
10020
- request "^2.83.0"
10021
- request-promise "^4.2.4"
10022
- uuid "^7.0.1"
10023
- validator "^12.0.0"
10024
-
10025
10008
  animejs@3.2.2:
10026
10009
  version "3.2.2"
10027
10010
  resolved "https://registry.yarnpkg.com/animejs/-/animejs-3.2.2.tgz#59be98c58834339d5847f4a70ddba74ac75b6afc"
@@ -10528,7 +10511,7 @@ async@^2.4.1:
10528
10511
  dependencies:
10529
10512
  lodash "^4.17.14"
10530
10513
 
10531
- async@^3.0.0, async@^3.0.1, async@^3.2.3, async@^3.2.6:
10514
+ async@^3.0.0, async@^3.2.3, async@^3.2.6:
10532
10515
  version "3.2.6"
10533
10516
  resolved "https://registry.yarnpkg.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce"
10534
10517
  integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==
@@ -11593,7 +11576,7 @@ blank-object@^1.0.1:
11593
11576
  resolved "https://registry.yarnpkg.com/blank-object/-/blank-object-1.0.2.tgz#f990793fbe9a8c8dd013fb3219420bec81d5f4b9"
11594
11577
  integrity sha512-kXQ19Xhoghiyw66CUiGypnuRpWlbHAzY/+NyvqTEdTfhfQGH1/dbEMYiXju7fYKIFePpzp/y9dsu5Cu/PkmawQ==
11595
11578
 
11596
- bluebird@^3.1.1, bluebird@^3.4.1, bluebird@^3.4.6, bluebird@^3.5.0, bluebird@^3.5.5, bluebird@^3.7.2:
11579
+ bluebird@^3.1.1, bluebird@^3.4.1, bluebird@^3.4.6, bluebird@^3.5.5, bluebird@^3.7.2:
11597
11580
  version "3.7.2"
11598
11581
  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
11599
11582
  integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -14852,7 +14835,7 @@ deep-is@^0.1.3, deep-is@~0.1.3:
14852
14835
  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
14853
14836
  integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
14854
14837
 
14855
- deepmerge@^4.0.0, deepmerge@^4.2.2:
14838
+ deepmerge@^4.2.2:
14856
14839
  version "4.3.1"
14857
14840
  resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
14858
14841
  integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
@@ -15175,7 +15158,7 @@ domhandler@^2.3.0:
15175
15158
  dependencies:
15176
15159
  domelementtype "1"
15177
15160
 
15178
- domhandler@^3.0.0, domhandler@^3.3.0:
15161
+ domhandler@^3.3.0:
15179
15162
  version "3.3.0"
15180
15163
  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.3.0.tgz#6db7ea46e4617eb15cf875df68b2b8524ce0037a"
15181
15164
  integrity sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==
@@ -15219,7 +15202,7 @@ domutils@^1.5.1, domutils@^1.7.0:
15219
15202
  dom-serializer "0"
15220
15203
  domelementtype "1"
15221
15204
 
15222
- domutils@^2.0.0, domutils@^2.4.2, domutils@^2.5.2:
15205
+ domutils@^2.4.2, domutils@^2.5.2:
15223
15206
  version "2.8.0"
15224
15207
  resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
15225
15208
  integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
@@ -16883,11 +16866,6 @@ ember-truth-helpers@3.1.1, "ember-truth-helpers@^2.1.0 || ^3.0.0", ember-truth-h
16883
16866
  dependencies:
16884
16867
  ember-cli-babel "^7.22.1"
16885
16868
 
16886
- emits@^3.0.0:
16887
- version "3.0.0"
16888
- resolved "https://registry.yarnpkg.com/emits/-/emits-3.0.0.tgz#32752bba95e1707b219562384ab9bb8b1fd62f70"
16889
- integrity sha512-WJSCMaN/qjIkzWy5Ayu0MDENFltcu4zTPPnWqdFPOVBtsENVTN+A3d76G61yuiVALsMK+76MejdPrwmccv/wag==
16890
-
16891
16869
  emittery@^0.13.1:
16892
16870
  version "0.13.1"
16893
16871
  resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad"
@@ -19944,16 +19922,6 @@ htmlparser2@^3.10.1, htmlparser2@^3.9.1:
19944
19922
  inherits "^2.0.1"
19945
19923
  readable-stream "^3.1.1"
19946
19924
 
19947
- htmlparser2@^4.0.0:
19948
- version "4.1.0"
19949
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78"
19950
- integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==
19951
- dependencies:
19952
- domelementtype "^2.0.1"
19953
- domhandler "^3.0.0"
19954
- domutils "^2.0.0"
19955
- entities "^2.0.0"
19956
-
19957
19925
  htmlparser2@^5.0.0:
19958
19926
  version "5.0.1"
19959
19927
  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-5.0.1.tgz#7daa6fc3e35d6107ac95a4fc08781f091664f6e7"
@@ -20248,13 +20216,6 @@ image-size@1.2.1, image-size@^1.0.0:
20248
20216
  dependencies:
20249
20217
  queue "6.0.2"
20250
20218
 
20251
- image-size@^0.8.1:
20252
- version "0.8.3"
20253
- resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.8.3.tgz#f0b568857e034f29baffd37013587f2c0cad8b46"
20254
- integrity sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==
20255
- dependencies:
20256
- queue "6.0.1"
20257
-
20258
20219
  immediate@~3.0.5:
20259
20220
  version "3.0.6"
20260
20221
  resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
@@ -24620,11 +24581,6 @@ next-themes@0.4.6:
24620
24581
  resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.4.6.tgz#8d7e92d03b8fea6582892a50a928c9b23502e8b6"
24621
24582
  integrity sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==
24622
24583
 
24623
- next-tick@^1.0.0:
24624
- version "1.1.0"
24625
- resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
24626
- integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
24627
-
24628
24584
  nice-try@^1.0.4:
24629
24585
  version "1.0.5"
24630
24586
  resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
@@ -27186,17 +27142,6 @@ probe-image-size@7.2.3:
27186
27142
  needle "^2.5.2"
27187
27143
  stream-parser "~0.3.1"
27188
27144
 
27189
- probe-image-size@^5.0.0:
27190
- version "5.0.0"
27191
- resolved "https://registry.yarnpkg.com/probe-image-size/-/probe-image-size-5.0.0.tgz#1b87d20340ab8fcdb4324ec77fbc8a5f53419878"
27192
- integrity sha512-V6uBYw5eBc5UVIE7MUZD6Nxg0RYuGDWLDenEn0B1WC6PcTvn1xdQ6HLDDuznefsiExC6rNrCz7mFRBo0f3Xekg==
27193
- dependencies:
27194
- deepmerge "^4.0.0"
27195
- inherits "^2.0.3"
27196
- next-tick "^1.0.0"
27197
- request "^2.83.0"
27198
- stream-parser "~0.3.1"
27199
-
27200
27145
  proc-log@^3.0.0:
27201
27146
  version "3.0.0"
27202
27147
  resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8"
@@ -27611,13 +27556,6 @@ queue-tick@^1.0.1:
27611
27556
  resolved "https://registry.yarnpkg.com/queue-tick/-/queue-tick-1.0.1.tgz#f6f07ac82c1fd60f82e098b417a80e52f1f4c142"
27612
27557
  integrity sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==
27613
27558
 
27614
- queue@6.0.1:
27615
- version "6.0.1"
27616
- resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.1.tgz#abd5a5b0376912f070a25729e0b6a7d565683791"
27617
- integrity sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==
27618
- dependencies:
27619
- inherits "~2.0.3"
27620
-
27621
27559
  queue@6.0.2:
27622
27560
  version "6.0.2"
27623
27561
  resolved "https://registry.yarnpkg.com/queue/-/queue-6.0.2.tgz#b91525283e2315c7553d2efa18d83e76432fed65"
@@ -28409,24 +28347,7 @@ reqresnext@^1.7.0:
28409
28347
  lodash "^4.17.21"
28410
28348
  setprototypeof "^1.2.0"
28411
28349
 
28412
- request-promise-core@1.1.4:
28413
- version "1.1.4"
28414
- resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f"
28415
- integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==
28416
- dependencies:
28417
- lodash "^4.17.19"
28418
-
28419
- request-promise@^4.2.4:
28420
- version "4.2.6"
28421
- resolved "https://registry.yarnpkg.com/request-promise/-/request-promise-4.2.6.tgz#7e7e5b9578630e6f598e3813c0f8eb342a27f0a2"
28422
- integrity sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==
28423
- dependencies:
28424
- bluebird "^3.5.0"
28425
- request-promise-core "1.1.4"
28426
- stealthy-require "^1.1.1"
28427
- tough-cookie "^2.3.3"
28428
-
28429
- "request@>=2.76.0 <3.0.0", request@^2.83.0:
28350
+ "request@>=2.76.0 <3.0.0":
28430
28351
  version "2.88.2"
28431
28352
  resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
28432
28353
  integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
@@ -30010,11 +29931,6 @@ std-env@^3.3.3, std-env@^3.5.0:
30010
29931
  resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.9.0.tgz#1a6f7243b339dca4c9fd55e1c7504c77ef23e8f1"
30011
29932
  integrity sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==
30012
29933
 
30013
- stealthy-require@^1.1.1:
30014
- version "1.1.1"
30015
- resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
30016
- integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==
30017
-
30018
29934
  stop-iteration-iterator@^1.0.0:
30019
29935
  version "1.0.0"
30020
29936
  resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4"
@@ -31249,14 +31165,6 @@ totalist@^3.0.0:
31249
31165
  resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.0.tgz#4ef9c58c5f095255cdc3ff2a0a55091c57a3a1bd"
31250
31166
  integrity sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==
31251
31167
 
31252
- tough-cookie@^2.3.3, tough-cookie@~2.5.0:
31253
- version "2.5.0"
31254
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
31255
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
31256
- dependencies:
31257
- psl "^1.1.28"
31258
- punycode "^2.1.1"
31259
-
31260
31168
  tough-cookie@^4.0.0, tough-cookie@^4.1.4:
31261
31169
  version "4.1.4"
31262
31170
  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
@@ -31267,6 +31175,14 @@ tough-cookie@^4.0.0, tough-cookie@^4.1.4:
31267
31175
  universalify "^0.2.0"
31268
31176
  url-parse "^1.5.3"
31269
31177
 
31178
+ tough-cookie@~2.5.0:
31179
+ version "2.5.0"
31180
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
31181
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
31182
+ dependencies:
31183
+ psl "^1.1.28"
31184
+ punycode "^2.1.1"
31185
+
31270
31186
  tr46@^2.1.0:
31271
31187
  version "2.1.0"
31272
31188
  resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240"
@@ -32145,11 +32061,6 @@ validator@7.2.0:
32145
32061
  resolved "https://registry.yarnpkg.com/validator/-/validator-7.2.0.tgz#a63dcbaba51d4350bf8df20988e0d5a54d711791"
32146
32062
  integrity sha512-c8NGTUYeBEcUIGeMppmNVKHE7wwfm3mYbNZxV+c5mlv9fDHI7Ad3p07qfNrn/CvpdkK2k61fOLRO2sTEhgQXmg==
32147
32063
 
32148
- validator@^12.0.0:
32149
- version "12.2.0"
32150
- resolved "https://registry.yarnpkg.com/validator/-/validator-12.2.0.tgz#660d47e96267033fd070096c3b1a6f2db4380a0a"
32151
- integrity sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ==
32152
-
32153
32064
  value-or-function@^4.0.0:
32154
32065
  version "4.0.0"
32155
32066
  resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-4.0.0.tgz#70836b6a876a010dc3a2b884e7902e9db064378d"
@@ -32524,10 +32435,10 @@ webpack-virtual-modules@^0.5.0:
32524
32435
  resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c"
32525
32436
  integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==
32526
32437
 
32527
- webpack@5.100.1:
32528
- version "5.100.1"
32529
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.100.1.tgz#d8a7e7761d253b961248ed9ed7661c51698593de"
32530
- integrity sha512-YJB/ESPUe2Locd0NKXmw72Dx8fZQk1gTzI6rc9TAT4+Sypbnhl8jd8RywB1bDsDF9Dy1RUR7gn3q/ZJTd0OZZg==
32438
+ webpack@5.100.2:
32439
+ version "5.100.2"
32440
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.100.2.tgz#e2341facf9f7de1d702147c91bcb65b693adf9e8"
32441
+ integrity sha512-QaNKAvGCDRh3wW1dsDjeMdDXwZm2vqq3zn6Pvq4rHOEOGSaUMgOOjG2Y9ZbIGzpfkJk9ZYTHpDqgDfeBDcnLaw==
32531
32442
  dependencies:
32532
32443
  "@types/eslint-scope" "^3.7.7"
32533
32444
  "@types/estree" "^1.0.8"
@@ -1,4 +0,0 @@
1
- <svg width="256" height="256" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg">
2
- <title>amp</title>
3
- <path d="m171.887 116.28-53.696 89.36h-9.728l9.617-58.227-30.2.047a4.854 4.854 0 0 1-4.855-4.855c0-1.152 1.07-3.102 1.07-3.102l53.52-89.254 9.9.043-9.86 58.317 30.413-.043a4.854 4.854 0 0 1 4.855 4.855c0 1.088-.427 2.044-1.033 2.854l.004.004-.007.001zM128 0C57.306 0 0 57.3 0 128s57.306 128 128 128 128-57.306 128-128S198.7 0 128 0z" fill="#0379C4" fill-rule="evenodd"/>
4
- </svg>
@@ -1,30 +0,0 @@
1
- const path = require('path');
2
-
3
- const router = require('./lib/router');
4
- const urlUtils = require('../../../shared/url-utils');
5
-
6
- // Dirty requires
7
- const settingsCache = require('../../../shared/settings-cache');
8
-
9
- function ampRouter(req, res) {
10
- if (settingsCache.get('amp') === true) {
11
- return router.apply(this, arguments);
12
- } else {
13
- // routeKeywords.amp: 'amp'
14
- let redirectUrl = req.originalUrl.replace(/\/amp\//, '/');
15
-
16
- urlUtils.redirect301(res, redirectUrl);
17
- }
18
- }
19
-
20
- module.exports = {
21
- activate: function activate(ghost) {
22
- // routeKeywords.amp: 'amp'
23
- let ampRoute = '*/amp/';
24
-
25
- ghost.routeService.registerRouter(ampRoute, ampRouter);
26
- ghost.helperService.registerDir(path.resolve(__dirname, './lib/helpers'));
27
- // we use the {{ghost_head}} helper, but call it {{amp_ghost_head}}, so it's consistent
28
- ghost.helperService.registerAlias('amp_ghost_head', 'ghost_head');
29
- }
30
- };
@@ -1,32 +0,0 @@
1
- // # Amp Components Helper
2
- // Usage: `{{amp_analytics}}`
3
- //
4
- // Outputs inline scripts used for analytics
5
- const {settingsCache} = require('../../../../services/proxy');
6
- const {SafeString} = require('../../../../services/handlebars');
7
-
8
- function ampComponents() {
9
- let components = [];
10
-
11
- const ampGtagId = settingsCache.get('amp_gtag_id');
12
- if (ampGtagId) {
13
- components.push(`
14
- <amp-analytics type="gtag" data-credentials="include">
15
- <script type="application/json">
16
- {
17
- "vars" : {
18
- "gtag_id": "${ampGtagId}",
19
- "config" : {
20
- "${ampGtagId}": { "groups": "default" }
21
- }
22
- }
23
- }
24
- </script>
25
- </amp-analytics>
26
- `);
27
- }
28
-
29
- return new SafeString(components.join('\n'));
30
- }
31
-
32
- module.exports = ampComponents;
@@ -1,48 +0,0 @@
1
- // # Amp Components Helper
2
- // Usage: `{{amp_components}}`
3
- //
4
- // Reads through the AMP HTML and adds neccessary scripts
5
- // for each extended component
6
- // If more components need to be added, we can add more scripts.
7
- // Here's the list of all supported extended components: https://www.ampproject.org/docs/reference/extended.html
8
- // By default supported AMP HTML tags (no additional script tag necessary):
9
- // amp-img, amp-ad, amp-embed, amp-video and amp-pixel.
10
- // (less) dirty requires
11
- const {settingsCache} = require('../../../../services/proxy');
12
- const {SafeString} = require('../../../../services/handlebars');
13
-
14
- function ampComponents() {
15
- let components = [];
16
- let html = this.post && this.post.html || this.html;
17
-
18
- if (!html) {
19
- return;
20
- }
21
-
22
- if (html.indexOf('.gif') !== -1) {
23
- components.push('<script async custom-element="amp-anim" src="https://cdn.ampproject.org/v0/amp-anim-0.1.js"></script>');
24
- }
25
-
26
- let iframeCount = (html.match(/(<iframe)(.*?\s*?)(<\/iframe>)/gi) || []).length;
27
- let youtubeCount = (html.match(/(<iframe)(.*?\s*?)(youtu.be\/|youtube(-nocookie)?.com\/(v\/|.*u\/\w\/|embed\/|.*v=))(.*?\s*?)(<\/iframe>)/gi) || []).length;
28
-
29
- if (youtubeCount) {
30
- components.push('<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>');
31
- }
32
-
33
- if (iframeCount > youtubeCount) {
34
- components.push('<script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>');
35
- }
36
-
37
- if (html.indexOf('<audio') !== -1) {
38
- components.push('<script async custom-element="amp-audio" src="https://cdn.ampproject.org/v0/amp-audio-0.1.js"></script>');
39
- }
40
-
41
- if (settingsCache.get('amp_gtag_id')) {
42
- components.push('<script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script>');
43
- }
44
-
45
- return new SafeString(components.join('\n'));
46
- }
47
-
48
- module.exports = ampComponents;
@@ -1,214 +0,0 @@
1
- // # Amp Content Helper
2
- // Usage: `{{amp_content}}`
3
- //
4
- // Turns content html into a safestring so that the user doesn't have to
5
- // escape it or tell handlebars to leave it alone with a triple-brace.
6
- //
7
- // Converts normal HTML into AMP HTML with Amperize module and uses a cache to return it from
8
- // there if available. The cacheId is a combination of `updated_at` and the `slug`.
9
- const {DateTime} = require('luxon');
10
- const errors = require('@tryghost/errors');
11
- const logging = require('@tryghost/logging');
12
-
13
- const {SafeString} = require('../../../../services/handlebars');
14
-
15
- const amperizeCache = {};
16
- let allowedAMPTags = [];
17
- let allowedAMPAttributes = {};
18
- let amperize = null;
19
- let ampHTML = '';
20
- let cleanHTML = '';
21
-
22
- allowedAMPTags = ['html', 'body', 'article', 'section', 'nav', 'aside', 'h1', 'h2',
23
- 'h3', 'h4', 'h5', 'h6', 'header', 'footer', 'address', 'p', 'hr',
24
- 'pre', 'blockquote', 'ol', 'ul', 'li', 'dl', 'dt', 'dd', 'figure',
25
- 'figcaption', 'div', 'main', 'a', 'em', 'strong', 'small', 's', 'cite',
26
- 'q', 'dfn', 'abbr', 'data', 'time', 'code', 'var', 'samp', 'kbd', 'sub',
27
- 'sup', 'i', 'b', 'u', 'mark', 'ruby', 'rb', 'rt', 'rtc', 'rp', 'bdi',
28
- 'bdo', 'span', 'br', 'wbr', 'ins', 'del', 'source', 'track', 'svg', 'g',
29
- 'path', 'glyph', 'glyphref', 'marker', 'view', 'circle', 'line', 'polygon',
30
- 'polyline', 'rect', 'text', 'textpath', 'tref', 'tspan', 'clippath',
31
- 'filter', 'lineargradient', 'radialgradient', 'mask', 'pattern', 'vkern',
32
- 'hkern', 'defs', 'stop', 'use', 'foreignobject', 'symbol', 'desc', 'title',
33
- 'table', 'caption', 'colgroup', 'col', 'tbody', 'thead', 'tfoot', 'tr', 'td',
34
- 'th', 'button', 'noscript', 'acronym', 'center', 'dir', 'hgroup', 'listing',
35
- 'multicol', 'nextid', 'nobr', 'spacer', 'strike', 'tt', 'xmp', 'amp-img',
36
- 'amp-video', 'amp-ad', 'amp-embed', 'amp-anim', 'amp-iframe', 'amp-youtube',
37
- 'amp-pixel', 'amp-audio', 'O:P'];
38
-
39
- allowedAMPAttributes = {
40
- '*': ['itemid', 'itemprop', 'itemref', 'itemscope', 'itemtype', 'accesskey', 'class', 'dir', 'draggable',
41
- 'id', 'lang', 'tabindex', 'title', 'translate', 'aria-*', 'role', 'placeholder', 'fallback', 'lightbox',
42
- 'overflow', 'amp-access', 'amp-access-*', 'i-amp-access-id', 'data-*'],
43
- h1: ['align'],
44
- h2: ['align'],
45
- h3: ['align'],
46
- h4: ['align'],
47
- h5: ['align'],
48
- h6: ['align'],
49
- p: ['align'],
50
- blockquote: ['align'],
51
- ol: ['reversed', 'start', 'type'],
52
- li: ['value'],
53
- div: ['align'],
54
- a: ['href', 'hreflang', 'rel', 'role', 'tabindex', 'target', 'download', 'media', 'type', 'border', 'name'],
55
- time: ['datetime'],
56
- bdo: ['dir'],
57
- ins: ['datetime'],
58
- del: ['datetime'],
59
- source: ['src', 'srcset', 'sizes', 'media', 'type', 'kind', 'label', 'srclang'],
60
- track: ['src', 'default', 'kind', 'label', 'srclang'],
61
- svg: ['*'],
62
- g: ['*'],
63
- glyph: ['*'],
64
- glyphref: ['*'],
65
- marker: ['*'],
66
- path: ['*'],
67
- view: ['*'],
68
- circle: ['*'],
69
- line: ['*'],
70
- polygon: ['*'],
71
- polyline: ['*'],
72
- rect: ['*'],
73
- text: ['*'],
74
- textpath: ['*'],
75
- tref: ['*'],
76
- tspan: ['*'],
77
- clippath: ['*'],
78
- filter: ['*'],
79
- hkern: ['*'],
80
- lineargradient: ['*'],
81
- mask: ['*'],
82
- pattern: ['*'],
83
- radialgradient: ['*'],
84
- stop: ['*'],
85
- vkern: ['*'],
86
- defs: ['*'],
87
- symbol: ['*'],
88
- use: ['*'],
89
- foreignobject: ['*'],
90
- desc: ['*'],
91
- title: ['*'],
92
- table: ['sortable', 'align', 'border', 'bgcolor', 'cellpadding', 'cellspacing', 'width'],
93
- colgroup: ['span'],
94
- col: ['span'],
95
- tr: ['align', 'bgcolor', 'height', 'valign'],
96
- td: ['align', 'bgcolor', 'height', 'valign', 'colspan', 'headers', 'rowspan'],
97
- th: ['align', 'bgcolor', 'height', 'valign', 'colspan', 'headers', 'rowspan', 'abbr', 'scope', 'sorted'],
98
- button: ['disabled', 'name', 'role', 'tabindex', 'type', 'value', 'formtarget'],
99
- // built ins
100
- 'amp-img': ['media', 'noloading', 'alt', 'attribution', 'placeholder', 'src', 'srcset', 'width', 'height', 'layout'],
101
- 'amp-pixel': ['src'],
102
- 'amp-video': ['src', 'srcset', 'media', 'noloading', 'width', 'height', 'layout', 'alt', 'attribution',
103
- 'autoplay', 'controls', 'loop', 'muted', 'poster', 'preload'],
104
- 'amp-embed': ['media', 'noloading', 'width', 'height', 'layout', 'type', 'data-*', 'json'],
105
- 'amp-ad': ['media', 'noloading', 'width', 'height', 'layout', 'type', 'data-*', 'json'],
106
- // extended components we support
107
- 'amp-anim': ['media', 'noloading', 'alt', 'attribution', 'placeholder', 'src', 'srcset', 'width', 'height', 'layout'],
108
- 'amp-audio': ['src', 'width', 'height', 'autoplay', 'loop', 'muted', 'controls'],
109
- 'amp-iframe': ['src', 'srcdoc', 'width', 'height', 'layout', 'frameborder', 'allowfullscreen', 'allowtransparency',
110
- 'sandbox', 'referrerpolicy'],
111
- 'amp-youtube': ['src', 'layout', 'frameborder', 'autoplay', 'loop', 'data-videoid', 'data-live-channelid', 'width', 'height']
112
- };
113
-
114
- function getAmperizeHTML(html, post) {
115
- if (!html) {
116
- return;
117
- }
118
-
119
- let Amperize = require('amperize');
120
-
121
- amperize = amperize || new Amperize();
122
-
123
- let cacheDateTime;
124
- let postDateTime;
125
-
126
- if (amperizeCache[post.id]) {
127
- const {updated_at: ampCacheUpdatedAt} = amperizeCache[post.id];
128
- const {updated_at: postUpdatedAt} = post;
129
-
130
- cacheDateTime = DateTime.fromJSDate(new Date(ampCacheUpdatedAt));
131
- postDateTime = DateTime.fromJSDate(new Date(postUpdatedAt));
132
- }
133
-
134
- if (!amperizeCache[post.id] || cacheDateTime.diff(postDateTime).valueOf() < 0) {
135
- return new Promise((resolve) => {
136
- amperize.parse(html, (err, res) => {
137
- if (err) {
138
- if (err.src) {
139
- // This is a valid 500 GhostError because it means the amperize parser is unable to handle some Ghost HTML.
140
- logging.error(new errors.InternalServerError({
141
- message: `AMP HTML couldn't be parsed: ${err.src}`,
142
- code: 'AMP_PARSER_ERROR',
143
- err: err,
144
- context: post.url,
145
- help: 'Please share this error on GitHub or https://forum.ghost.org'
146
- }));
147
- } else {
148
- logging.error(new errors.InternalServerError({err, code: 'AMP_PARSER_ERROR'}));
149
- }
150
-
151
- // save it in cache to prevent multiple calls to Amperize until
152
- // content is updated.
153
- amperizeCache[post.id] = {updated_at: post.updated_at, amp: html};
154
- // return the original html on an error
155
- return resolve(html);
156
- }
157
-
158
- amperizeCache[post.id] = {updated_at: post.updated_at, amp: res};
159
- return resolve(amperizeCache[post.id].amp);
160
- });
161
- });
162
- }
163
-
164
- return Promise.resolve(amperizeCache[post.id].amp);
165
- }
166
-
167
- module.exports = async function amp_content() { // eslint-disable-line camelcase
168
- let sanitizeHtml = require('sanitize-html');
169
- let cheerio = require('cheerio');
170
-
171
- try {
172
- const response = await getAmperizeHTML(this.html, this);
173
- let $ = null;
174
-
175
- // our Amperized HTML
176
- ampHTML = response ?? '';
177
-
178
- // Use cheerio to traverse through HTML and make little clean-ups
179
- $ = cheerio.load(ampHTML);
180
-
181
- // We have to remove source children in video, as source is allowed for audio,
182
- // but causes validation errors in video, because video will be stripped out.
183
- // @TODO: remove this, when Amperize support video transform
184
- $('video').children('source').remove();
185
- $('video').children('track').remove();
186
-
187
- // Case: AMP parsing failed and we returned the regular HTML,
188
- // then we have to remove remaining, invalid HTML tags.
189
- $('audio').children('source').remove();
190
- $('audio').children('track').remove();
191
-
192
- $('amp-youtube').attr('layout', 'responsive');
193
- $('amp-youtube').attr('height', '350');
194
- $('amp-youtube').attr('width', '600');
195
-
196
- ampHTML = $.html();
197
-
198
- // @TODO: remove this, when Amperize supports HTML sanitizing
199
- cleanHTML = sanitizeHtml(ampHTML, {
200
- allowedTags: allowedAMPTags,
201
- allowedAttributes: allowedAMPAttributes,
202
- selfClosing: ['source', 'track', 'br']
203
- });
204
-
205
- return new SafeString(cleanHTML);
206
- } catch (error) {
207
- logging.error(error);
208
-
209
- // Return an empty safe string
210
- return new SafeString('');
211
- }
212
- };
213
-
214
- module.exports.async = true;
@@ -1,8 +0,0 @@
1
- const {SafeString, escapeExpression} = require('../../../../services/handlebars');
2
-
3
- module.exports = function amp_style(options) { // eslint-disable-line camelcase
4
- if (options.data.site.accent_color) {
5
- const accentColor = escapeExpression(options.data.site.accent_color);
6
- return new SafeString(`:root {--ghost-accent-color: ${accentColor};}`);
7
- }
8
- };