ghost 4.32.2 → 4.32.3

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 (25) hide show
  1. package/core/built/assets/{ghost-dark-67f6ba8347be37f997b3a7e430b29f72.css → ghost-dark-2667b983b446ac6f511fb82b56fada06.css} +1 -1
  2. package/core/built/assets/{ghost.min-2d5f48403647d1e11805691cc7ad0835.css → ghost.min-5f48095976420b523ec7abc41180fbb8.css} +1 -1
  3. package/core/built/assets/{ghost.min-1f04d5d6f5f8f3739a86d5bc807cbe1c.js → ghost.min-9a259cab83f12017b28661fe40955399.js} +157 -158
  4. package/core/built/assets/img/apple-touch-icon-74680e326a7e87b159d366c7d4fb3d4b.png +0 -0
  5. package/core/built/assets/img/large-ac90af7c93a4b47e8d956fa9fef31d9d.png +0 -0
  6. package/core/built/assets/img/medium-fef07013cffd5c45a655a250912a0ad7.png +0 -0
  7. package/core/built/assets/img/small-b90396925485f17b2ca82c31be42de5f.png +0 -0
  8. package/core/built/assets/img/touch-icon-ipad-2e78629d62ad05746f980f14623dfadb.png +0 -0
  9. package/core/built/assets/img/touch-icon-iphone-93ed4382d391be9180093fd77ce8f410.png +0 -0
  10. package/core/built/assets/{vendor.min-df1ba725edbc456aa45af07d3443403e.js → vendor.min-8556ef9dba3da78758b86c913b517c66.js} +9 -6
  11. package/core/frontend/services/routing/config/canary.js +1 -1
  12. package/core/frontend/services/routing/config/v4.js +1 -1
  13. package/core/frontend/web/site.js +5 -1
  14. package/core/server/models/tag.js +8 -0
  15. package/core/server/web/admin/views/default-prod.html +8 -11
  16. package/core/server/web/admin/views/default.html +8 -11
  17. package/core/server/web/members/app.js +1 -1
  18. package/core/server/web/shared/middleware/cache-control.js +12 -0
  19. package/package.json +28 -28
  20. package/yarn.lock +400 -364
  21. package/core/built/assets/img/large-bf46e150380a4979a7389b45f5bb479d.png +0 -0
  22. package/core/built/assets/img/medium-7359075af28d69523987ff4c0e2067c5.png +0 -0
  23. package/core/built/assets/img/small-42ff134f320b8b5a6eca3781c4e4b2db.png +0 -0
  24. package/core/built/assets/img/touch-icon-ipad-3117c0fa950d0fc43c95becef61f4167.png +0 -0
  25. package/core/built/assets/img/touch-icon-iphone-d2790931c3477664981061ed9fa5242e.png +0 -0
@@ -18561,7 +18561,7 @@ if(!((n=e.src.charCodeAt(o++))>=48&&n<=57)){if(41===n||46===n)break
18561
18561
  return-1}if(o-i>=10)return-1}return o<a&&(n=e.src.charCodeAt(o),!r(n))?-1:o}e.exports=function(e,t,n,r){var a,s,l,u,c,d,h,p,f,m,g,b,v,y,_,w,M,k,E,A,j,x,O,C,T,S,L,P,z=!1,R=!0
18562
18562
  if(e.sCount[t]-e.blkIndent>=4)return!1
18563
18563
  if(e.listIndent>=0&&e.sCount[t]-e.listIndent>=4&&e.sCount[t]<e.blkIndent)return!1
18564
- if(r&&"paragraph"===e.parentType&&e.tShift[t]>=e.blkIndent&&(z=!0),(O=o(e,t))>=0){if(h=!0,T=e.bMarks[t]+e.tShift[t],v=Number(e.src.slice(T,O-1)),z&&1!==v)return!1}else{if(!((O=i(e,t))>=0))return!1
18564
+ if(r&&"paragraph"===e.parentType&&e.sCount[t]>=e.blkIndent&&(z=!0),(O=o(e,t))>=0){if(h=!0,T=e.bMarks[t]+e.tShift[t],v=Number(e.src.slice(T,O-1)),z&&1!==v)return!1}else{if(!((O=i(e,t))>=0))return!1
18565
18565
  h=!1}if(z&&e.skipSpaces(O)>=e.eMarks[t])return!1
18566
18566
  if(b=e.src.charCodeAt(O-1),r)return!0
18567
18567
  for(g=e.tokens.length,h?(P=e.push("ordered_list_open","ol",1),1!==v&&(P.attrs=[["start",v]])):P=e.push("bullet_list_open","ul",1),P.map=m=[t,0],P.markup=String.fromCharCode(b),_=t,C=!1,L=e.md.block.ruler.getRules("list"),k=e.parentType,e.parentType="list";_<n;){for(x=O,y=e.eMarks[_],d=w=e.sCount[_]+O-(e.bMarks[t]+e.tShift[t]);x<y;){if(9===(a=e.src.charCodeAt(x)))w+=4-(w+e.bsCount[_])%4
@@ -18642,10 +18642,13 @@ function r(e){switch(e){case 10:case 33:case 35:case 36:case 37:case 38:case 42:
18642
18642
  default:return!1}}e.exports=function(e,t){for(var n=e.pos;n<e.posMax&&!r(e.src.charCodeAt(n));)n++
18643
18643
  return n!==e.pos&&(t||(e.pending+=e.src.slice(e.pos,n)),e.pos=n,!0)}},function(e,t,n){"use strict"
18644
18644
  var r=n(2).isSpace
18645
- e.exports=function(e,t){var n,i,o=e.pos
18646
- if(10!==e.src.charCodeAt(o))return!1
18647
- for(n=e.pending.length-1,i=e.posMax,t||(n>=0&&32===e.pending.charCodeAt(n)?n>=1&&32===e.pending.charCodeAt(n-1)?(e.pending=e.pending.replace(/ +$/,""),e.push("hardbreak","br",0)):(e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0)):e.push("softbreak","br",0)),o++;o<i&&r(e.src.charCodeAt(o));)o++
18648
- return e.pos=o,!0}},function(e,t,n){"use strict"
18645
+ e.exports=function(e,t){var n,i,o,a=e.pos
18646
+ if(10!==e.src.charCodeAt(a))return!1
18647
+ if(n=e.pending.length-1,i=e.posMax,!t)if(n>=0&&32===e.pending.charCodeAt(n))if(n>=1&&32===e.pending.charCodeAt(n-1)){for(o=n-1;o>=1&&32===e.pending.charCodeAt(o-1);)o--
18648
+ e.pending=e.pending.slice(0,o),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0)
18649
+ else e.push("softbreak","br",0)
18650
+ for(a++;a<i&&r(e.src.charCodeAt(a));)a++
18651
+ return e.pos=a,!0}},function(e,t,n){"use strict"
18649
18652
  for(var r=n(2).isSpace,i=[],o=0;o<256;o++)i.push(0)
18650
18653
  "\\!\"#$%&'()*+,./:;<=>?@[]^_`{|}~-".split("").forEach((function(e){i[e.charCodeAt(0)]=1})),e.exports=function(e,t){var n,o=e.pos,a=e.posMax
18651
18654
  if(92!==e.src.charCodeAt(o))return!1
@@ -19523,4 +19526,4 @@ if(!i)return v(e)
19523
19526
  if(!b(i)||v(i).isOlderThan(4)){var o=v(e).getStackTop()
19524
19527
  y(i,new p(o.client,c.a.clone(o.scope)))}return v(i)}catch(t){return v(e)}}(e):v(e)}function b(e){return!!(e&&e.__SENTRY__&&e.__SENTRY__.hub)}function v(e){return e&&e.__SENTRY__&&e.__SENTRY__.hub||(e.__SENTRY__=e.__SENTRY__||{},e.__SENTRY__.hub=new p),e.__SENTRY__.hub}function y(e,t){return!!e&&(e.__SENTRY__=e.__SENTRY__||{},e.__SENTRY__.hub=t,!0)}}]])
19525
19528
 
19526
- //# sourceMappingURL=vendor.min-df1ba725edbc456aa45af07d3443403e.map
19529
+ //# sourceMappingURL=vendor.min-8556ef9dba3da78758b86c913b517c66.map
@@ -54,7 +54,7 @@ module.exports.TAXONOMIES = {
54
54
  },
55
55
  author: {
56
56
  filter: 'authors:\'%s\'',
57
- editRedirect: '#/staff/:slug/',
57
+ editRedirect: '#/settings/staff/:slug/',
58
58
  resource: 'authors'
59
59
  }
60
60
  };
@@ -54,7 +54,7 @@ module.exports.TAXONOMIES = {
54
54
  },
55
55
  author: {
56
56
  filter: 'authors:\'%s\'',
57
- editRedirect: '#/staff/:slug/',
57
+ editRedirect: '#/settings/staff/:slug/',
58
58
  resource: 'authors'
59
59
  }
60
60
  };
@@ -125,7 +125,11 @@ module.exports = function setupSiteApp(options = {}) {
125
125
  siteApp.use(membersService.middleware.loadMemberSession);
126
126
 
127
127
  // /member/.well-known/* serves files (e.g. jwks.json) so it needs to be mounted before the prettyUrl mw to avoid trailing slashes
128
- siteApp.use('/members/.well-known', (req, res, next) => membersService.api.middleware.wellKnown(req, res, next));
128
+ siteApp.use(
129
+ '/members/.well-known',
130
+ shared.middleware.cacheControl('public', {maxAge: 60 * 60 * 24}),
131
+ (req, res, next) => membersService.api.middleware.wellKnown(req, res, next)
132
+ );
129
133
 
130
134
  // setup middleware for internal apps
131
135
  // @TODO: refactor this to be a proper app middleware hook for internal apps
@@ -100,6 +100,14 @@ Tag = ghostBookshelf.Model.extend({
100
100
 
101
101
  ghostBookshelf.Model.prototype.onSaving.apply(this, arguments);
102
102
 
103
+ // Support tag creation with `posts: [{..., tags: [{slug: 'new'}]}]`
104
+ // In that situation we have a slug but no name so validation will fail
105
+ // unless we set one automatically. Re-using slug for name matches our
106
+ // opposite name->slug behaviour.
107
+ if (!newTag.get('name') && newTag.get('slug')) {
108
+ this.set('name', newTag.get('slug'));
109
+ }
110
+
103
111
  // name: #later slug: hash-later
104
112
  if (/^#/.test(newTag.get('name'))) {
105
113
  this.set('visibility', 'internal');
@@ -21,16 +21,13 @@
21
21
  <meta name="apple-mobile-web-app-title" content="Ghost" />
22
22
 
23
23
  <link rel="shortcut icon" href="assets/img/favicon.ico" />
24
- <link rel="apple-touch-icon-precomposed" href="assets/img/touch-icon-iphone-d2790931c3477664981061ed9fa5242e.png" />
25
- <link rel="apple-touch-icon-precomposed" sizes="76x76" href="assets/img/touch-icon-ipad-3117c0fa950d0fc43c95becef61f4167.png" />
26
- <link rel="apple-touch-icon-precomposed" sizes="120x120" href="assets/img/small-42ff134f320b8b5a6eca3781c4e4b2db.png" />
27
- <link rel="apple-touch-icon-precomposed" sizes="152x152" href="assets/img/medium-7359075af28d69523987ff4c0e2067c5.png" />
24
+ <link rel="apple-touch-icon" href="assets/img/apple-touch-icon-74680e326a7e87b159d366c7d4fb3d4b.png" />
28
25
 
29
26
  <meta name="application-name" content="Ghost" />
30
- <meta name="msapplication-TileColor" content="#ffffff" />
31
- <meta name="msapplication-square70x70logo" content="assets/img/small-42ff134f320b8b5a6eca3781c4e4b2db.png" />
32
- <meta name="msapplication-square150x150logo" content="assets/img/medium-7359075af28d69523987ff4c0e2067c5.png" />
33
- <meta name="msapplication-square310x310logo" content="assets/img/large-bf46e150380a4979a7389b45f5bb479d.png" />
27
+ <meta name="msapplication-TileColor" content="#15171A" />
28
+ <meta name="msapplication-square70x70logo" content="assets/img/small-b90396925485f17b2ca82c31be42de5f.png" />
29
+ <meta name="msapplication-square150x150logo" content="assets/img/medium-fef07013cffd5c45a655a250912a0ad7.png" />
30
+ <meta name="msapplication-square310x310logo" content="assets/img/large-ac90af7c93a4b47e8d956fa9fef31d9d.png" />
34
31
 
35
32
  <!-- variables that we don't want postcss-custom-properties to remove -->
36
33
  <style>
@@ -41,7 +38,7 @@
41
38
 
42
39
 
43
40
  <link rel="stylesheet" href="assets/vendor.min-2c8ad32b7960bb605ebc20097fee5ebd.css">
44
- <link rel="stylesheet" href="assets/ghost.min-2d5f48403647d1e11805691cc7ad0835.css" title="light">
41
+ <link rel="stylesheet" href="assets/ghost.min-5f48095976420b523ec7abc41180fbb8.css" title="light">
45
42
 
46
43
 
47
44
 
@@ -59,8 +56,8 @@
59
56
  <div id="ember-basic-dropdown-wormhole"></div>
60
57
 
61
58
 
62
- <script src="assets/vendor.min-df1ba725edbc456aa45af07d3443403e.js"></script>
63
- <script src="assets/ghost.min-1f04d5d6f5f8f3739a86d5bc807cbe1c.js"></script>
59
+ <script src="assets/vendor.min-8556ef9dba3da78758b86c913b517c66.js"></script>
60
+ <script src="assets/ghost.min-9a259cab83f12017b28661fe40955399.js"></script>
64
61
 
65
62
  </body>
66
63
  </html>
@@ -21,16 +21,13 @@
21
21
  <meta name="apple-mobile-web-app-title" content="Ghost" />
22
22
 
23
23
  <link rel="shortcut icon" href="assets/img/favicon.ico" />
24
- <link rel="apple-touch-icon-precomposed" href="assets/img/touch-icon-iphone-d2790931c3477664981061ed9fa5242e.png" />
25
- <link rel="apple-touch-icon-precomposed" sizes="76x76" href="assets/img/touch-icon-ipad-3117c0fa950d0fc43c95becef61f4167.png" />
26
- <link rel="apple-touch-icon-precomposed" sizes="120x120" href="assets/img/small-42ff134f320b8b5a6eca3781c4e4b2db.png" />
27
- <link rel="apple-touch-icon-precomposed" sizes="152x152" href="assets/img/medium-7359075af28d69523987ff4c0e2067c5.png" />
24
+ <link rel="apple-touch-icon" href="assets/img/apple-touch-icon-74680e326a7e87b159d366c7d4fb3d4b.png" />
28
25
 
29
26
  <meta name="application-name" content="Ghost" />
30
- <meta name="msapplication-TileColor" content="#ffffff" />
31
- <meta name="msapplication-square70x70logo" content="assets/img/small-42ff134f320b8b5a6eca3781c4e4b2db.png" />
32
- <meta name="msapplication-square150x150logo" content="assets/img/medium-7359075af28d69523987ff4c0e2067c5.png" />
33
- <meta name="msapplication-square310x310logo" content="assets/img/large-bf46e150380a4979a7389b45f5bb479d.png" />
27
+ <meta name="msapplication-TileColor" content="#15171A" />
28
+ <meta name="msapplication-square70x70logo" content="assets/img/small-b90396925485f17b2ca82c31be42de5f.png" />
29
+ <meta name="msapplication-square150x150logo" content="assets/img/medium-fef07013cffd5c45a655a250912a0ad7.png" />
30
+ <meta name="msapplication-square310x310logo" content="assets/img/large-ac90af7c93a4b47e8d956fa9fef31d9d.png" />
34
31
 
35
32
  <!-- variables that we don't want postcss-custom-properties to remove -->
36
33
  <style>
@@ -41,7 +38,7 @@
41
38
 
42
39
 
43
40
  <link rel="stylesheet" href="assets/vendor.min-2c8ad32b7960bb605ebc20097fee5ebd.css">
44
- <link rel="stylesheet" href="assets/ghost.min-2d5f48403647d1e11805691cc7ad0835.css" title="light">
41
+ <link rel="stylesheet" href="assets/ghost.min-5f48095976420b523ec7abc41180fbb8.css" title="light">
45
42
 
46
43
 
47
44
 
@@ -59,8 +56,8 @@
59
56
  <div id="ember-basic-dropdown-wormhole"></div>
60
57
 
61
58
 
62
- <script src="assets/vendor.min-df1ba725edbc456aa45af07d3443403e.js"></script>
63
- <script src="assets/ghost.min-1f04d5d6f5f8f3739a86d5bc807cbe1c.js"></script>
59
+ <script src="assets/vendor.min-8556ef9dba3da78758b86c913b517c66.js"></script>
60
+ <script src="assets/ghost.min-9a259cab83f12017b28661fe40955399.js"></script>
64
61
 
65
62
  </body>
66
63
  </html>
@@ -38,7 +38,7 @@ module.exports = function setupMembersApp() {
38
38
  membersApp.get('/api/session', middleware.getIdentityToken);
39
39
  membersApp.get('/api/offers/:id', middleware.getOfferData);
40
40
  membersApp.delete('/api/session', middleware.deleteSession);
41
- membersApp.get('/api/site', middleware.getMemberSiteData);
41
+ membersApp.get('/api/site', shared.middleware.cacheControl('public', {maxAge: 30}), middleware.getMemberSiteData);
42
42
 
43
43
  // NOTE: this is wrapped in a function to ensure we always go via the getter
44
44
  membersApp.post('/api/send-magic-link', bodyParser.json(), shared.middleware.brute.membersAuth, (req, res, next) => membersService.api.middleware.sendMagicLink(req, res, next));
@@ -8,6 +8,11 @@
8
8
 
9
9
  const isString = require('lodash/isString');
10
10
 
11
+ /**
12
+ * @param {'public'|'private'} profile Use "private" if you do not want caching
13
+ * @param {object} [options]
14
+ * @param {number} [options.maxAge] The max-age in seconds to use when profile is "public"
15
+ */
11
16
  const cacheControl = (profile, options = {maxAge: 0}) => {
12
17
  const profiles = {
13
18
  public: `public, max-age=${options.maxAge}`,
@@ -20,6 +25,13 @@ const cacheControl = (profile, options = {maxAge: 0}) => {
20
25
  output = profiles[profile];
21
26
  }
22
27
 
28
+ /**
29
+ * @param {import('express').Request} req
30
+ * @param {import('express').Response} res
31
+ * @param {() => void} next
32
+ *
33
+ * @returns {void}
34
+ */
23
35
  return function cacheControlHeaders(req, res, next) {
24
36
  if (output) {
25
37
  res.set({'Cache-Control': output});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "4.32.2",
3
+ "version": "4.32.3",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -57,52 +57,52 @@
57
57
  "@sentry/node": "6.16.1",
58
58
  "@tryghost/adapter-manager": "0.2.26",
59
59
  "@tryghost/admin-api-schema": "2.6.1",
60
- "@tryghost/bookshelf-plugins": "0.3.5",
60
+ "@tryghost/bookshelf-plugins": "0.3.6",
61
61
  "@tryghost/bootstrap-socket": "0.2.15",
62
62
  "@tryghost/color-utils": "0.1.5",
63
63
  "@tryghost/config-url-helpers": "0.1.3",
64
64
  "@tryghost/constants": "1.0.0",
65
65
  "@tryghost/custom-theme-settings-service": "0.3.1",
66
- "@tryghost/debug": "0.1.9",
66
+ "@tryghost/debug": "0.1.10",
67
67
  "@tryghost/email-analytics-provider-mailgun": "1.0.7",
68
68
  "@tryghost/email-analytics-service": "1.0.5",
69
69
  "@tryghost/errors": "1.2.0",
70
- "@tryghost/express-dynamic-redirects": "0.2.2",
70
+ "@tryghost/express-dynamic-redirects": "0.2.3",
71
71
  "@tryghost/helpers": "1.1.54",
72
72
  "@tryghost/image-transform": "1.0.26",
73
73
  "@tryghost/job-manager": "0.8.17",
74
- "@tryghost/kg-card-factory": "3.1.0",
75
- "@tryghost/kg-default-atoms": "3.1.0",
76
- "@tryghost/kg-default-cards": "5.15.11",
77
- "@tryghost/kg-markdown-html-renderer": "5.1.0",
78
- "@tryghost/kg-mobiledoc-html-renderer": "5.3.1",
74
+ "@tryghost/kg-card-factory": "3.1.1",
75
+ "@tryghost/kg-default-atoms": "3.1.1",
76
+ "@tryghost/kg-default-cards": "5.15.12",
77
+ "@tryghost/kg-markdown-html-renderer": "5.1.1",
78
+ "@tryghost/kg-mobiledoc-html-renderer": "5.3.2",
79
79
  "@tryghost/limit-service": "1.0.8",
80
- "@tryghost/logging": "2.0.0",
81
- "@tryghost/magic-link": "1.0.14",
82
- "@tryghost/members-api": "3.0.0",
80
+ "@tryghost/logging": "2.0.1",
81
+ "@tryghost/magic-link": "1.0.15",
82
+ "@tryghost/members-api": "3.0.1",
83
83
  "@tryghost/members-csv": "1.2.2",
84
84
  "@tryghost/members-importer": "0.3.7",
85
- "@tryghost/members-offers": "0.10.3",
86
- "@tryghost/members-ssr": "1.0.16",
87
- "@tryghost/metrics": "1.0.1",
85
+ "@tryghost/members-offers": "0.10.4",
86
+ "@tryghost/members-ssr": "1.0.17",
87
+ "@tryghost/metrics": "1.0.2",
88
88
  "@tryghost/minifier": "0.1.9",
89
89
  "@tryghost/mw-error-handler": "0.1.1",
90
90
  "@tryghost/mw-session-from-token": "0.1.26",
91
- "@tryghost/nodemailer": "0.3.8",
91
+ "@tryghost/nodemailer": "0.3.9",
92
92
  "@tryghost/package-json": "1.0.14",
93
93
  "@tryghost/promise": "0.1.13",
94
- "@tryghost/request": "0.1.10",
95
- "@tryghost/root-utils": "0.3.7",
94
+ "@tryghost/request": "0.1.11",
95
+ "@tryghost/root-utils": "0.3.8",
96
96
  "@tryghost/security": "0.2.13",
97
97
  "@tryghost/session-service": "0.1.36",
98
98
  "@tryghost/settings-path-manager": "0.1.2",
99
99
  "@tryghost/social-urls": "0.1.27",
100
100
  "@tryghost/string": "0.1.21",
101
- "@tryghost/tpl": "0.1.8",
101
+ "@tryghost/tpl": "0.1.9",
102
102
  "@tryghost/update-check-service": "0.3.0",
103
103
  "@tryghost/url-utils": "2.0.4",
104
- "@tryghost/validator": "0.1.9",
105
- "@tryghost/version": "0.1.7",
104
+ "@tryghost/validator": "0.1.10",
105
+ "@tryghost/version": "0.1.8",
106
106
  "@tryghost/vhost-middleware": "1.0.19",
107
107
  "@tryghost/zip": "1.1.18",
108
108
  "amperize": "0.6.1",
@@ -131,9 +131,9 @@
131
131
  "ghost-storage-base": "1.0.0",
132
132
  "glob": "7.2.0",
133
133
  "got": "9.6.0",
134
- "gscan": "4.20.2",
134
+ "gscan": "4.22.0",
135
135
  "html-to-text": "5.1.1",
136
- "image-size": "1.0.0",
136
+ "image-size": "1.0.1",
137
137
  "intl": "1.2.5",
138
138
  "intl-messageformat": "5.4.3",
139
139
  "js-yaml": "4.1.0",
@@ -175,7 +175,7 @@
175
175
  "xml": "1.0.1"
176
176
  },
177
177
  "optionalDependencies": {
178
- "@tryghost/html-to-mobiledoc": "1.8.2",
178
+ "@tryghost/html-to-mobiledoc": "1.8.3",
179
179
  "sqlite3": "5.0.2"
180
180
  },
181
181
  "devDependencies": {
@@ -184,7 +184,7 @@
184
184
  "c8": "7.11.0",
185
185
  "chai": "4.3.4",
186
186
  "coffeescript": "2.6.1",
187
- "cssnano": "5.0.14",
187
+ "cssnano": "5.0.15",
188
188
  "eslint": "7.32.0",
189
189
  "eslint-plugin-ghost": "2.11.0",
190
190
  "expect": "27.4.6",
@@ -203,17 +203,17 @@
203
203
  "mocha": "9.1.3",
204
204
  "mocha-slow-test-reporter": "0.1.2",
205
205
  "mock-knex": "0.4.10",
206
- "nock": "13.2.1",
206
+ "nock": "13.2.2",
207
207
  "papaparse": "5.3.1",
208
208
  "postcss": "8.4.5",
209
209
  "rewire": "5.0.0",
210
210
  "should": "13.2.3",
211
211
  "sinon": "11.1.2",
212
- "supertest": "6.1.6",
212
+ "supertest": "6.2.1",
213
213
  "tmp": "0.2.1"
214
214
  },
215
215
  "resolutions": {
216
- "@tryghost/logging": "2.0.0",
216
+ "@tryghost/logging": "2.0.1",
217
217
  "moment": "2.24.0",
218
218
  "moment-timezone": "0.5.23"
219
219
  }