ghost 5.8.3 → 5.9.2

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 (113) hide show
  1. package/components/tryghost-adapter-manager-0.0.0.tgz +0 -0
  2. package/components/tryghost-api-framework-0.0.0.tgz +0 -0
  3. package/components/tryghost-bootstrap-socket-0.0.0.tgz +0 -0
  4. package/components/tryghost-custom-theme-settings-service-0.0.0.tgz +0 -0
  5. package/components/tryghost-email-analytics-provider-mailgun-0.0.0.tgz +0 -0
  6. package/components/tryghost-email-analytics-service-0.0.0.tgz +0 -0
  7. package/components/tryghost-job-manager-0.0.0.tgz +0 -0
  8. package/components/tryghost-mailgun-client-0.0.0.tgz +0 -0
  9. package/components/tryghost-member-analytics-service-0.0.0.tgz +0 -0
  10. package/components/tryghost-members-api-0.0.0.tgz +0 -0
  11. package/components/tryghost-members-importer-0.0.0.tgz +0 -0
  12. package/components/tryghost-members-offers-0.0.0.tgz +0 -0
  13. package/components/tryghost-members-payments-0.0.0.tgz +0 -0
  14. package/components/tryghost-members-ssr-0.0.0.tgz +0 -0
  15. package/components/tryghost-members-stripe-service-0.0.0.tgz +0 -0
  16. package/components/tryghost-minifier-0.0.0.tgz +0 -0
  17. package/components/tryghost-mw-cache-control-0.0.0.tgz +0 -0
  18. package/components/tryghost-mw-error-handler-0.0.0.tgz +0 -0
  19. package/components/tryghost-oembed-service-0.0.0.tgz +0 -0
  20. package/components/tryghost-package-json-0.0.0.tgz +0 -0
  21. package/components/tryghost-session-service-0.0.0.tgz +0 -0
  22. package/components/tryghost-settings-path-manager-0.0.0.tgz +0 -0
  23. package/components/tryghost-update-check-service-0.0.0.tgz +0 -0
  24. package/content/themes/casper/README.md +1 -1
  25. package/content/themes/casper/assets/built/portal.min.js +3 -0
  26. package/content/themes/casper/assets/built/screen.css +1 -1
  27. package/content/themes/casper/assets/built/screen.css.map +1 -1
  28. package/content/themes/casper/assets/css/screen.css +119 -37
  29. package/content/themes/casper/package.json +3 -3
  30. package/content/themes/casper/partials/post-card.hbs +3 -1
  31. package/content/themes/casper/post.hbs +7 -7
  32. package/content/themes/casper/yarn.lock +69 -68
  33. package/core/boot.js +2 -0
  34. package/core/built/admin/assets/{chunk.143.cf66fd97f99af03c697f.js → chunk.143.4e4590d80452422483d8.js} +5 -5
  35. package/core/built/admin/assets/{chunk.178.e95388dfcc564cdb1ecc.js → chunk.178.16d88956c09eb76205e0.js} +4 -4
  36. package/core/built/admin/assets/{chunk.351.cbc224ca65c14ef5322d.js → chunk.351.73f27952f867334a8228.js} +3 -3
  37. package/core/built/admin/assets/{chunk.351.cbc224ca65c14ef5322d.js.LICENSE.txt → chunk.351.73f27952f867334a8228.js.LICENSE.txt} +0 -0
  38. package/core/built/admin/assets/{ghost-b469423d0fbe5e40af17b560f7e3cead.css → ghost-0319628ec5dcb83e6968e99eaa629a75.css} +1 -1
  39. package/core/built/admin/assets/{ghost-dark-bcb6f4517a2dfe23a0a280632bfca00c.css → ghost-dark-eada0a988277e84b4c8ead995f912044.css} +1 -1
  40. package/core/built/admin/assets/{ghost-f1d63ad9698b7d38261df6384513c952.js → ghost-f144e03b578116a5d0ed41bceaf2bab8.js} +90 -88
  41. package/core/built/admin/index.html +5 -5
  42. package/core/frontend/helpers/comment_count.js +1 -15
  43. package/core/frontend/helpers/comments.js +4 -16
  44. package/core/frontend/helpers/ghost_head.js +1 -1
  45. package/core/frontend/services/routing/controllers/unsubscribe.js +3 -0
  46. package/core/server/api/endpoints/comments-members.js +23 -1
  47. package/core/server/api/endpoints/index.js +52 -52
  48. package/core/server/api/endpoints/oembed.js +1 -1
  49. package/core/server/api/endpoints/utils/serializers/input/comments.js +18 -0
  50. package/core/server/api/endpoints/utils/serializers/input/db.js +1 -1
  51. package/core/server/api/endpoints/utils/serializers/input/index.js +4 -0
  52. package/core/server/api/endpoints/utils/serializers/input/integrations.js +2 -2
  53. package/core/server/api/{shared → endpoints/utils}/serializers/input/utils/settings-filter-type-group-mapper.js +0 -0
  54. package/core/server/api/{shared → endpoints/utils}/serializers/input/utils/settings-key-group-mapper.js +0 -0
  55. package/core/server/api/{shared → endpoints/utils}/serializers/input/utils/settings-key-type-mapper.js +0 -0
  56. package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +12 -12
  57. package/core/server/api/endpoints/utils/serializers/output/tiers.js +1 -1
  58. package/core/server/api/index.js +0 -2
  59. package/core/server/data/importer/importers/data/settings.js +2 -2
  60. package/core/server/data/migrations/versions/5.9/2022-08-09-08-32-added-new-integration-type.js +24 -0
  61. package/core/server/data/schema/clients/mysql.js +0 -15
  62. package/core/server/data/schema/commands.js +0 -9
  63. package/core/server/data/schema/fixtures/fixtures.json +1 -1
  64. package/core/server/data/schema/schema.js +3 -3
  65. package/core/server/models/base/plugins/user-type.js +1 -9
  66. package/core/server/models/comment.js +96 -15
  67. package/core/server/models/label.js +14 -0
  68. package/core/server/models/newsletter.js +21 -0
  69. package/core/server/models/tag.js +20 -0
  70. package/core/server/models/user.js +20 -0
  71. package/core/server/services/auth/api-key/admin.js +1 -5
  72. package/core/server/services/auth/api-key/content.js +1 -5
  73. package/core/server/services/bulk-email/bulk-email-processor.js +19 -12
  74. package/core/server/services/bulk-email/index.js +1 -17
  75. package/core/server/services/comments/controller.js +9 -0
  76. package/core/server/services/comments/email-templates/new-comment-reply.hbs +3 -3
  77. package/core/server/services/comments/email-templates/new-comment-reply.txt.js +1 -1
  78. package/core/server/services/comments/email-templates/new-comment.hbs +2 -2
  79. package/core/server/services/comments/email-templates/report.hbs +2 -2
  80. package/core/server/services/comments/emails.js +2 -1
  81. package/core/server/services/comments/service.js +16 -3
  82. package/core/server/services/mega/post-email-serializer.js +11 -6
  83. package/core/server/services/permissions/can-this.js +154 -161
  84. package/core/server/services/permissions/parse-context.js +1 -8
  85. package/core/server/services/webhooks/serialize.js +3 -3
  86. package/core/server/web/api/endpoints/admin/routes.js +1 -1
  87. package/core/server/web/api/endpoints/content/routes.js +1 -1
  88. package/core/server/web/comments/routes.js +2 -1
  89. package/core/server/web/shared/middleware/index.js +1 -1
  90. package/core/shared/config/defaults.json +2 -2
  91. package/core/shared/labs.js +0 -1
  92. package/package.json +34 -37
  93. package/yarn.lock +272 -245
  94. package/core/server/api/README.md +0 -130
  95. package/core/server/api/shared/frame.js +0 -95
  96. package/core/server/api/shared/headers.js +0 -152
  97. package/core/server/api/shared/http.js +0 -127
  98. package/core/server/api/shared/index.js +0 -25
  99. package/core/server/api/shared/pipeline.js +0 -259
  100. package/core/server/api/shared/serializers/handle.js +0 -140
  101. package/core/server/api/shared/serializers/index.js +0 -13
  102. package/core/server/api/shared/serializers/input/all.js +0 -41
  103. package/core/server/api/shared/serializers/input/index.js +0 -5
  104. package/core/server/api/shared/serializers/output/index.js +0 -1
  105. package/core/server/api/shared/utils/index.js +0 -5
  106. package/core/server/api/shared/utils/options.js +0 -23
  107. package/core/server/api/shared/validators/handle.js +0 -68
  108. package/core/server/api/shared/validators/index.js +0 -9
  109. package/core/server/api/shared/validators/input/all.js +0 -213
  110. package/core/server/api/shared/validators/input/index.js +0 -5
  111. package/core/server/services/bulk-email/mailgun.js +0 -122
  112. package/core/server/services/oembed.js +0 -346
  113. package/core/server/web/shared/middleware/cache-control.js +0 -43
@@ -15,6 +15,7 @@ production stylesheet in assets/built/screen.css
15
15
  7.2. Members Subscribe Form
16
16
  7.4. Related Posts
17
17
  7.5. Koenig Styles
18
+ 7.6 Comments
18
19
  8. Author Template
19
20
  9. Error Template
20
21
  11. Site Footer
@@ -416,6 +417,35 @@ body:not(.has-cover) .site-header-content:not(.left-aligned) {
416
417
  background: #fff;
417
418
  }
418
419
 
420
+ /* Search
421
+ /* ---------------------------------------------------------- */
422
+
423
+ .gh-search {
424
+ display: inline-flex;
425
+ align-items: center;
426
+ justify-content: center;
427
+ width: 32px;
428
+ height: 32px;
429
+ padding: 0;
430
+ cursor: pointer;
431
+ background-color: transparent;
432
+ border: 0;
433
+ outline: none;
434
+ }
435
+
436
+ .gh-search:hover {
437
+ opacity: 0.9;
438
+ }
439
+
440
+ @media (max-width: 991px) {
441
+ .gh-search {
442
+ position: fixed;
443
+ top: 16px;
444
+ left: 16px;
445
+ z-index: 10;
446
+ }
447
+ }
448
+
419
449
 
420
450
  /* Search
421
451
  /* ---------------------------------------------------------- */
@@ -830,12 +860,27 @@ body:not(.gh-head-open) .gh-burger:hover .gh-burger-inner::after {
830
860
  .post-card-meta {
831
861
  display: flex;
832
862
  align-items: center;
863
+ gap: 6px;
833
864
  margin-top: 12px;
834
865
  padding: 0;
835
866
  font-size: 1.3rem;
836
867
  color: var(--color-secondary-text);
837
868
  }
838
869
 
870
+ .post-card-meta > * {
871
+ display: flex;
872
+ align-items: center;
873
+ gap: 6px;
874
+ }
875
+
876
+ .post-card-meta > * + *:not(script)::before {
877
+ width: 2px;
878
+ height: 2px;
879
+ content: "";
880
+ background-color: var(--color-secondary-text);
881
+ border-radius: 50%;
882
+ }
883
+
839
884
  .post-card-meta .sep {
840
885
  margin: 0 4px;
841
886
  }
@@ -1595,6 +1640,43 @@ iframe.instagram-media + script + :not([id]) {
1595
1640
  }
1596
1641
  }
1597
1642
 
1643
+ /* 7.6. Comments
1644
+ /* ---------------------------------------------------------- */
1645
+ .comments {
1646
+ display: flex;
1647
+ flex-direction: column;
1648
+ align-items: center;
1649
+ margin: 60px 0 44px;
1650
+ }
1651
+
1652
+
1653
+ .comments-head {
1654
+ display: flex;
1655
+ align-items: baseline;
1656
+ justify-content: space-between;
1657
+ margin-bottom: 32px;
1658
+ width: 100%;
1659
+ max-width: 720px;
1660
+ }
1661
+
1662
+ .comments h2 {
1663
+ width: 100%;
1664
+ max-width: 720px;
1665
+ font-weight: 800;
1666
+ font-size: 3.4rem;
1667
+ }
1668
+
1669
+ .comments .comment-count {
1670
+ color: var(--color-midgrey);
1671
+ font-weight: 600;
1672
+ white-space: nowrap;
1673
+ }
1674
+
1675
+ .comments #ghost-comments-root {
1676
+ width: 100%;
1677
+ max-width: 720px;
1678
+ }
1679
+
1598
1680
 
1599
1681
  /* 8. Author Template
1600
1682
  /* ---------------------------------------------------------- */
@@ -2004,48 +2086,48 @@ html.dark-mode .footer-cta-title {
2004
2086
  color: rgba(255, 255, 255, 0.75);
2005
2087
  background: var(--color-darkmode);
2006
2088
  }
2007
-
2089
+
2008
2090
  html.auto-color img {
2009
2091
  opacity: 0.9;
2010
2092
  }
2011
-
2093
+
2012
2094
  html.auto-color kbd {
2013
2095
  background: color-mod(var(--color-darkmode) l(+5%));
2014
2096
  }
2015
-
2097
+
2016
2098
  html.auto-color figcaption a {
2017
2099
  color: #fff;
2018
2100
  }
2019
-
2101
+
2020
2102
  html.auto-color .gh-head {
2021
2103
  background: var(--color-darkmode);
2022
2104
  color: #fff;
2023
2105
  }
2024
-
2106
+
2025
2107
  html.auto-color .gh-burger-box {
2026
2108
  color: #fff;
2027
2109
  }
2028
-
2110
+
2029
2111
  html.auto-color .site-header-content {
2030
2112
  color: #fff;
2031
2113
  }
2032
-
2114
+
2033
2115
  html.auto-color .post-card-image {
2034
2116
  background: var(--color-darkmode);
2035
2117
  }
2036
-
2118
+
2037
2119
  html.auto-color :is(.post-card-tags, .post-card-meta, .article-tag a, .byline-meta-content) {
2038
2120
  color: color-mod(var(--color-secondary-text) l(-22%));
2039
2121
  }
2040
-
2122
+
2041
2123
  html.auto-color .post-card-featured {
2042
2124
  color: #fff;
2043
2125
  }
2044
-
2126
+
2045
2127
  html.auto-color .post-card-title {
2046
2128
  color: #fff;
2047
2129
  }
2048
-
2130
+
2049
2131
  html.auto-color .post-card-excerpt {
2050
2132
  color: var(--color-secondary-text);
2051
2133
  }
@@ -2061,11 +2143,11 @@ html.dark-mode .footer-cta-title {
2061
2143
  html.auto-color .article-title {
2062
2144
  color: #fff;
2063
2145
  }
2064
-
2146
+
2065
2147
  html.auto-color .article-excerpt {
2066
2148
  color: var(--color-secondary-text);
2067
2149
  }
2068
-
2150
+
2069
2151
  html.auto-color .post-full-image {
2070
2152
  background-color: color-mod(var(--color-darkmode) l(+8%));
2071
2153
  }
@@ -2074,107 +2156,107 @@ html.dark-mode .footer-cta-title {
2074
2156
  border-color: var(--color-darkmode);
2075
2157
  background-color: color-mod(var(--color-darkmode) l(+8%));
2076
2158
  }
2077
-
2159
+
2078
2160
  html.auto-color .author-profile-image {
2079
2161
  opacity: 1;
2080
2162
  }
2081
-
2163
+
2082
2164
  html.auto-color .author-profile-image path {
2083
2165
  fill: var(--color-darkmode);
2084
2166
  }
2085
-
2167
+
2086
2168
  html.auto-color .article-byline-meta .author-name a {
2087
2169
  color: #fff;
2088
2170
  }
2089
-
2171
+
2090
2172
  html.auto-color .no-image .author-social-link a {
2091
2173
  color: rgba(255, 255, 255, 0.75);
2092
2174
  }
2093
-
2175
+
2094
2176
  html.auto-color .gh-content > [id] {
2095
2177
  color: rgba(255, 255, 255, 0.9);
2096
2178
  }
2097
-
2179
+
2098
2180
  html.auto-color .gh-content pre {
2099
2181
  background: color-mod(var(--color-darkgrey) l(-8%));
2100
2182
  }
2101
-
2183
+
2102
2184
  html.auto-color .gh-content :not(pre) > code {
2103
2185
  background: color-mod(var(--color-darkgrey) l(+6%));
2104
2186
  border-color: color-mod(var(--color-darkmode) l(+8%));
2105
2187
  color: var(--color-wash);
2106
2188
  }
2107
-
2189
+
2108
2190
  html.auto-color .gh-content a:not(.kg-btn):not(.kg-nft-card-container):not(.kg-product-card-button):not(.kg-header-card-button) {
2109
2191
  color: #fff;
2110
2192
  }
2111
-
2193
+
2112
2194
  html.auto-color .gh-content strong {
2113
2195
  color: #fff;
2114
2196
  }
2115
-
2197
+
2116
2198
  html.auto-color .gh-content em {
2117
2199
  color: #fff;
2118
2200
  }
2119
-
2201
+
2120
2202
  html.auto-color .gh-content code {
2121
2203
  color: #fff;
2122
2204
  background: #000;
2123
2205
  }
2124
-
2206
+
2125
2207
  html.auto-color hr {
2126
2208
  border-top-color: color-mod(var(--color-darkmode) l(+8%));
2127
2209
  }
2128
-
2210
+
2129
2211
  html.auto-color .gh-content hr:after {
2130
2212
  background: color-mod(var(--color-darkmode) l(+8%));
2131
2213
  box-shadow: var(--color-darkmode) 0 0 0 5px;
2132
2214
  }
2133
-
2215
+
2134
2216
  html.auto-color figcaption {
2135
2217
  color: rgba(255, 255, 255, 0.6);
2136
2218
  }
2137
-
2219
+
2138
2220
  html.auto-color .gh-content table td:first-child {
2139
2221
  background-image: linear-gradient(to right, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
2140
2222
  }
2141
-
2223
+
2142
2224
  html.auto-color .gh-content table td:last-child {
2143
2225
  background-image: linear-gradient(to left, var(--color-darkmode) 50%, color-mod(var(--color-darkmode) a(0%)) 100%);
2144
2226
  }
2145
-
2227
+
2146
2228
  html.auto-color .gh-content table th {
2147
2229
  color: rgba(255, 255, 255, 0.85);
2148
2230
  background-color: color-mod(var(--color-darkmode) l(+8%));
2149
2231
  }
2150
-
2232
+
2151
2233
  html.auto-color .gh-content table th,
2152
2234
  html.auto-color .gh-content table td {
2153
2235
  border: color-mod(var(--color-darkmode) l(+8%)) 1px solid;
2154
2236
  }
2155
-
2237
+
2156
2238
  html.auto-color .gh-content input {
2157
2239
  color: color-mod(var(--color-midgrey) l(-30%));
2158
2240
  }
2159
-
2241
+
2160
2242
  html.auto-color .site-archive-header .no-image {
2161
2243
  color: rgba(255, 255, 255, 0.9);
2162
2244
  background: var(--color-darkmode);
2163
2245
  }
2164
-
2246
+
2165
2247
  html.auto-color .kg-header-card.kg-style-dark {
2166
2248
  background: color-mod(var(--color-darkgrey) l(-5%));
2167
2249
  }
2168
-
2250
+
2169
2251
  html.auto-color .kg-header-card.kg-style-light {
2170
2252
  background: color-mod(var(--color-darkgrey) l(+5%));
2171
2253
  }
2172
-
2254
+
2173
2255
  html.auto-color .kg-header-card h2.kg-header-card-header,
2174
2256
  html.auto-color .kg-header-card h3.kg-header-card-subheader {
2175
2257
  color: #fff;
2176
2258
  }
2177
-
2259
+
2178
2260
  html.auto-color .footer-cta-title {
2179
2261
  color: #fff;
2180
2262
  }
@@ -2,7 +2,7 @@
2
2
  "name": "casper",
3
3
  "description": "A clean, minimal default theme for the Ghost publishing platform",
4
4
  "demo": "https://demo.ghost.io",
5
- "version": "5.2.3",
5
+ "version": "5.3.0",
6
6
  "engines": {
7
7
  "ghost": ">=5.0.0"
8
8
  },
@@ -45,11 +45,11 @@
45
45
  "bugs": "https://github.com/TryGhost/Casper/issues",
46
46
  "contributors": "https://github.com/TryGhost/Casper/graphs/contributors",
47
47
  "devDependencies": {
48
- "@tryghost/release-utils": "0.8.0",
48
+ "@tryghost/release-utils": "0.8.1",
49
49
  "autoprefixer": "10.4.7",
50
50
  "beeper": "2.1.0",
51
51
  "cssnano": "5.1.12",
52
- "gscan": "4.31.2",
52
+ "gscan": "4.34.0",
53
53
  "gulp": "4.0.2",
54
54
  "gulp-concat": "2.6.1",
55
55
  "gulp-livereload": "4.0.2",
@@ -66,9 +66,11 @@ which templates loop over to generate a list of posts. --}}
66
66
  <footer class="post-card-meta">
67
67
  <time class="post-card-meta-date" datetime="{{date format="YYYY-MM-DD"}}">{{date}}</time>
68
68
  {{#if reading_time}}
69
- <span class="sep">—</span>
70
69
  <span class="post-card-meta-length">{{reading_time}}</span>
71
70
  {{/if}}
71
+ {{#if @site.comments_enabled}}
72
+ {{comment_count}}
73
+ {{/if}}
72
74
  </footer>
73
75
 
74
76
  </div>
@@ -86,11 +86,11 @@ into the {body} tag of the default.hbs template --}}
86
86
  {{content}}
87
87
  </section>
88
88
 
89
- {{!--
90
- <section class="article-comments gh-canvas">
91
- If you want to embed comments, this is a good place to paste your code!
92
- </section>
93
- --}}
89
+ {{#if comments}}
90
+ <section class="article-comments gh-canvas">
91
+ {{comments}}
92
+ </section>
93
+ {{/if}}
94
94
 
95
95
  </article>
96
96
  </main>
@@ -98,6 +98,7 @@ into the {body} tag of the default.hbs template --}}
98
98
  {{!-- A signup call to action is displayed here, unless viewed as a logged-in member --}}
99
99
  {{#if @site.members_enabled}}
100
100
  {{#unless @member}}
101
+ {{#unless @site.comments_enabled}}
101
102
  {{#if access}}
102
103
  <section class="footer-cta outer">
103
104
  <div class="inner">
@@ -106,12 +107,11 @@ into the {body} tag of the default.hbs template --}}
106
107
  <div class="footer-cta-input">Enter your email</div>
107
108
  <span>Subscribe</span>
108
109
  </a>
109
- {{!-- ^ This looks like a form element, but it's just a link to Portal,
110
- making the form validation and submission much simpler. --}}
111
110
  </div>
112
111
  </section>
113
112
  {{/if}}
114
113
  {{/unless}}
114
+ {{/unless}}
115
115
  {{/if}}
116
116
 
117
117
 
@@ -27,60 +27,50 @@
27
27
  tslib "^2.4.0"
28
28
  undici "^5.1.1"
29
29
 
30
- "@sentry/core@6.19.7":
31
- version "6.19.7"
32
- resolved "https://registry.yarnpkg.com/@sentry/core/-/core-6.19.7.tgz#156aaa56dd7fad8c89c145be6ad7a4f7209f9785"
33
- integrity sha512-tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==
34
- dependencies:
35
- "@sentry/hub" "6.19.7"
36
- "@sentry/minimal" "6.19.7"
37
- "@sentry/types" "6.19.7"
38
- "@sentry/utils" "6.19.7"
30
+ "@sentry/core@7.8.1":
31
+ version "7.8.1"
32
+ resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.8.1.tgz#d11ba7c97766d1e47edf697dbfd47fe4041477d9"
33
+ integrity sha512-PRivbdIzApi/gSixAxozhOBTylSVdw/9VxaStYHd7JJGhs36KXkV8ylpbCmYO4ap7/Ue9/slzwpvPOJJzmzAgA==
34
+ dependencies:
35
+ "@sentry/hub" "7.8.1"
36
+ "@sentry/types" "7.8.1"
37
+ "@sentry/utils" "7.8.1"
39
38
  tslib "^1.9.3"
40
39
 
41
- "@sentry/hub@6.19.7":
42
- version "6.19.7"
43
- resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-6.19.7.tgz#58ad7776bbd31e9596a8ec46365b45cd8b9cfd11"
44
- integrity sha512-y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==
40
+ "@sentry/hub@7.8.1":
41
+ version "7.8.1"
42
+ resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-7.8.1.tgz#bc255c6b8e99a3333e737f189c984c715df504aa"
43
+ integrity sha512-AxwyGyS9Lp4XsURu4t8opa5vZ+NAB6I/n+B/Uix3YZea9z8jdWYAu9vsXSizOrtxekc/i7ZN4bnlNgXVHix0iA==
45
44
  dependencies:
46
- "@sentry/types" "6.19.7"
47
- "@sentry/utils" "6.19.7"
45
+ "@sentry/types" "7.8.1"
46
+ "@sentry/utils" "7.8.1"
48
47
  tslib "^1.9.3"
49
48
 
50
- "@sentry/minimal@6.19.7":
51
- version "6.19.7"
52
- resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-6.19.7.tgz#b3ee46d6abef9ef3dd4837ebcb6bdfd01b9aa7b4"
53
- integrity sha512-wcYmSJOdvk6VAPx8IcmZgN08XTXRwRtB1aOLZm+MVHjIZIhHoBGZJYTVQS/BWjldsamj2cX3YGbGXNunaCfYJQ==
49
+ "@sentry/node@7.8.1":
50
+ version "7.8.1"
51
+ resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.8.1.tgz#9dca7afee2d9ad38fd9756e13439ce09d2f01934"
52
+ integrity sha512-gQHeIip7QudeK1YWrLyZPc7nfirhbVDJ3gfCfL9mLT724Sk8gKd1kcpU1niI+wwIwY7SOpJqX4Oh/F0lRKjzDQ==
54
53
  dependencies:
55
- "@sentry/hub" "6.19.7"
56
- "@sentry/types" "6.19.7"
57
- tslib "^1.9.3"
58
-
59
- "@sentry/node@6.19.7":
60
- version "6.19.7"
61
- resolved "https://registry.yarnpkg.com/@sentry/node/-/node-6.19.7.tgz#32963b36b48daebbd559e6f13b1deb2415448592"
62
- integrity sha512-gtmRC4dAXKODMpHXKfrkfvyBL3cI8y64vEi3fDD046uqYcrWdgoQsffuBbxMAizc6Ez1ia+f0Flue6p15Qaltg==
63
- dependencies:
64
- "@sentry/core" "6.19.7"
65
- "@sentry/hub" "6.19.7"
66
- "@sentry/types" "6.19.7"
67
- "@sentry/utils" "6.19.7"
54
+ "@sentry/core" "7.8.1"
55
+ "@sentry/hub" "7.8.1"
56
+ "@sentry/types" "7.8.1"
57
+ "@sentry/utils" "7.8.1"
68
58
  cookie "^0.4.1"
69
59
  https-proxy-agent "^5.0.0"
70
60
  lru_map "^0.3.3"
71
61
  tslib "^1.9.3"
72
62
 
73
- "@sentry/types@6.19.7":
74
- version "6.19.7"
75
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-6.19.7.tgz#c6b337912e588083fc2896eb012526cf7cfec7c7"
76
- integrity sha512-jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==
63
+ "@sentry/types@7.8.1":
64
+ version "7.8.1"
65
+ resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.8.1.tgz#c00a1ed02ad8f69d3b94fcda91e2d24e0bb3492a"
66
+ integrity sha512-LOoaeBXVI23Kh5SpIbxSRiJ6+eYZXVOFyPFH1T1mGBj95LPwRMqOdg0lUTmFJGBKbDGDB/YNjNnu1kQ7GrXBXw==
77
67
 
78
- "@sentry/utils@6.19.7":
79
- version "6.19.7"
80
- resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-6.19.7.tgz#6edd739f8185fd71afe49cbe351c1bbf5e7b7c79"
81
- integrity sha512-z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==
68
+ "@sentry/utils@7.8.1":
69
+ version "7.8.1"
70
+ resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.8.1.tgz#5d8a7e1c8d834de608ad834cf648d5291c62ba39"
71
+ integrity sha512-isUZjft4HWTOk1Z58KFJ/zzXeFtIJgP82CkYQlW464ZR2WCqPHYlXXXRWZpOHOfMnrf+gWeX9WAGS9rTAdhiSg==
82
72
  dependencies:
83
- "@sentry/types" "6.19.7"
73
+ "@sentry/types" "7.8.1"
84
74
  tslib "^1.9.3"
85
75
 
86
76
  "@sindresorhus/is@^0.14.0":
@@ -161,10 +151,10 @@
161
151
  json-stringify-safe "^5.0.1"
162
152
  lodash "^4.17.21"
163
153
 
164
- "@tryghost/pretty-cli@1.2.28":
165
- version "1.2.28"
166
- resolved "https://registry.yarnpkg.com/@tryghost/pretty-cli/-/pretty-cli-1.2.28.tgz#11d4644b6d2ae4759a7015b66c3949895d92230e"
167
- integrity sha512-2YWNklw2VLcCPtBY0lErzCqejq0mE6w7flQhdZ9WJFm8iXhgUcgJggtr+4Vy9+b2cgobTJyO4xF7IoqSr8ytxg==
154
+ "@tryghost/pretty-cli@1.2.29":
155
+ version "1.2.29"
156
+ resolved "https://registry.yarnpkg.com/@tryghost/pretty-cli/-/pretty-cli-1.2.29.tgz#1484e0aae195f7766d38807e00d5b4094cfb9172"
157
+ integrity sha512-J+rA4D+VFCVG/hBZaPqaD5wXp9A+6TNYEqIYPpREvLpOL+fD5bP4W+xiYHEQa4aQoq0MNm5X7bXmtgxPFfdX+g==
168
158
  dependencies:
169
159
  chalk "^4.1.0"
170
160
  sywac "^1.3.0"
@@ -178,10 +168,10 @@
178
168
  moment "^2.29.1"
179
169
  prettyjson "^1.2.5"
180
170
 
181
- "@tryghost/release-utils@0.8.0":
182
- version "0.8.0"
183
- resolved "https://registry.yarnpkg.com/@tryghost/release-utils/-/release-utils-0.8.0.tgz#2e017e0ed8326252becd9085f97d1dce61984bd6"
184
- integrity sha512-3KbxucGpT5N3km5pYBUAJSEhXkOWkb6ABJ7PU0UtOqfmgQRprenAxf1rcSuQK0K/85ezXamVFNkfjZcy3355Fw==
171
+ "@tryghost/release-utils@0.8.1":
172
+ version "0.8.1"
173
+ resolved "https://registry.yarnpkg.com/@tryghost/release-utils/-/release-utils-0.8.1.tgz#6565e48d903b6b727bd6c8326a345a3a2fce71f1"
174
+ integrity sha512-smSspchAfNW7KL8ERIR1F4CUS2/eB0Ajt6X4Wbx0b4bJ4crJeFAn3wFHM9c20AhNdRacQ3W2PtPO/Sq9jcx1Hg==
185
175
  dependencies:
186
176
  "@tryghost/errors" "^1.2.1"
187
177
  bluebird "^3.7.2"
@@ -244,10 +234,10 @@
244
234
  "@tryghost/root-utils" "^0.3.15"
245
235
  semver "^7.3.5"
246
236
 
247
- "@tryghost/zip@1.1.26":
248
- version "1.1.26"
249
- resolved "https://registry.yarnpkg.com/@tryghost/zip/-/zip-1.1.26.tgz#5e6bafd8157d89ce63d034da477fd4c0511f28c7"
250
- integrity sha512-Gbxjfk2mnd6ae2muIHxk5hquKWQRMXMVrdiXSvb6dm+PmhLw7pMEOXXydvR7hPM3gEQQodYZt652iK/KtsfdgA==
237
+ "@tryghost/zip@1.1.27":
238
+ version "1.1.27"
239
+ resolved "https://registry.yarnpkg.com/@tryghost/zip/-/zip-1.1.27.tgz#604ae4c83dd6eabf61475cc83c6b558233cd0dfe"
240
+ integrity sha512-PokFblvBm90vtwsDJDpwYJ72lDTVj3Ig3epox035R75Dmln0Vl4wjoaeMKOv9xj3RjmXUpry/fINNMEiBX2mNg==
251
241
  dependencies:
252
242
  archiver "^5.0.0"
253
243
  bluebird "^3.7.2"
@@ -2069,17 +2059,16 @@ glob-watcher@^5.0.3:
2069
2059
  normalize-path "^3.0.0"
2070
2060
  object.defaults "^1.1.0"
2071
2061
 
2072
- glob@7.2.3, glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4:
2073
- version "7.2.3"
2074
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
2075
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
2062
+ glob@8.0.3:
2063
+ version "8.0.3"
2064
+ resolved "https://registry.yarnpkg.com/glob/-/glob-8.0.3.tgz#415c6eb2deed9e502c68fa44a272e6da6eeca42e"
2065
+ integrity sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==
2076
2066
  dependencies:
2077
2067
  fs.realpath "^1.0.0"
2078
2068
  inflight "^1.0.4"
2079
2069
  inherits "2"
2080
- minimatch "^3.1.1"
2070
+ minimatch "^5.0.1"
2081
2071
  once "^1.3.0"
2082
- path-is-absolute "^1.0.0"
2083
2072
 
2084
2073
  glob@^6.0.1:
2085
2074
  version "6.0.4"
@@ -2092,6 +2081,18 @@ glob@^6.0.1:
2092
2081
  once "^1.3.0"
2093
2082
  path-is-absolute "^1.0.0"
2094
2083
 
2084
+ glob@^7.0.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4:
2085
+ version "7.2.3"
2086
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
2087
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
2088
+ dependencies:
2089
+ fs.realpath "^1.0.0"
2090
+ inflight "^1.0.4"
2091
+ inherits "2"
2092
+ minimatch "^3.1.1"
2093
+ once "^1.3.0"
2094
+ path-is-absolute "^1.0.0"
2095
+
2095
2096
  global-modules@^1.0.0:
2096
2097
  version "1.0.0"
2097
2098
  resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
@@ -2152,26 +2153,26 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6,
2152
2153
  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
2153
2154
  integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
2154
2155
 
2155
- gscan@4.31.2:
2156
- version "4.31.2"
2157
- resolved "https://registry.yarnpkg.com/gscan/-/gscan-4.31.2.tgz#d8dd1f156f7a59f655625c3422cfd89bb42df8ac"
2158
- integrity sha512-NuFcXRbSUSWOl6FuGPKT24dcepI/oMiUF6EGzMEGbY5ndl6Ba/BZrK9dT7hMHeyaJCn+T4fpxTPQqfXHkM2qcg==
2156
+ gscan@4.34.0:
2157
+ version "4.34.0"
2158
+ resolved "https://registry.yarnpkg.com/gscan/-/gscan-4.34.0.tgz#1835faf795163184fce0aba43b56a4374f75134c"
2159
+ integrity sha512-uITKioTZHoWatKKlV+yI963joF8+shUwaqM+A7DJng5H251YTfrW3cAiCrHyedGhJckrN7XPeEnbpNbTDoWCiw==
2159
2160
  dependencies:
2160
- "@sentry/node" "6.19.7"
2161
+ "@sentry/node" "7.8.1"
2161
2162
  "@tryghost/config" "0.2.9"
2162
2163
  "@tryghost/debug" "0.1.17"
2163
2164
  "@tryghost/errors" "1.2.14"
2164
2165
  "@tryghost/logging" "2.2.3"
2165
- "@tryghost/pretty-cli" "1.2.28"
2166
+ "@tryghost/pretty-cli" "1.2.29"
2166
2167
  "@tryghost/server" "0.1.21"
2167
- "@tryghost/zip" "1.1.26"
2168
+ "@tryghost/zip" "1.1.27"
2168
2169
  bluebird "3.7.2"
2169
2170
  chalk "4.1.2"
2170
2171
  common-tags "1.8.2"
2171
2172
  express "4.18.1"
2172
2173
  express-hbs "2.4.0"
2173
2174
  fs-extra "10.1.0"
2174
- glob "7.2.3"
2175
+ glob "8.0.3"
2175
2176
  lodash "4.17.21"
2176
2177
  multer "1.4.4"
2177
2178
  pluralize "8.0.0"
@@ -3113,7 +3114,7 @@ mimic-response@^1.0.0, mimic-response@^1.0.1:
3113
3114
  dependencies:
3114
3115
  brace-expansion "^1.1.7"
3115
3116
 
3116
- minimatch@^5.1.0:
3117
+ minimatch@^5.0.1, minimatch@^5.1.0:
3117
3118
  version "5.1.0"
3118
3119
  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
3119
3120
  integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
package/core/boot.js CHANGED
@@ -105,11 +105,13 @@ async function initCore({ghostServer, config, bootLogger, frontend}) {
105
105
  // The URLService is a core part of Ghost, which depends on models.
106
106
  debug('Begin: Url Service');
107
107
  const urlService = require('./server/services/url');
108
+ const urlServiceStart = Date.now();
108
109
  // Note: there is no await here, we do not wait for the url service to finish
109
110
  // We can return, but the site will remain in maintenance mode until this finishes
110
111
  // This is managed on request: https://github.com/TryGhost/Ghost/blob/main/core/app.js#L10
111
112
  urlService.init({
112
113
  onFinished: () => {
114
+ bootLogger.metric('url-service', urlServiceStart);
113
115
  bootLogger.log('URL Service Ready');
114
116
  },
115
117
  urlCache: !frontend // hacky parameter to make the cache initialization kick in as we can't initialize labs before the boot