ghost 4.44.0 → 4.46.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.
- package/Gruntfile.js +1 -1
- package/core/boot.js +2 -0
- package/core/built/assets/{chunk.3.6e2ed2d00856e12bd81a.js → chunk.3.52b444495dfcf50afb0b.js} +20 -20
- package/core/built/assets/ghost-dark-155e039c0d991b7af75dea8cd3846b11.css +1 -0
- package/core/built/assets/{ghost.min-1e7dce606e92a03207d15ae7eb3d3c23.js → ghost.min-30e597cb65b62b31a9422ca9c0eb2890.js} +777 -632
- package/core/built/assets/ghost.min-bd8cd0185fd5dfc8291502f801e443e6.css +1 -0
- package/core/built/assets/icons/clock.svg +1 -1
- package/core/built/assets/icons/email-at.svg +1 -0
- package/core/built/assets/icons/email-body.svg +1 -0
- package/core/built/assets/icons/email-footer.svg +1 -0
- package/core/built/assets/icons/email-header.svg +1 -0
- package/core/built/assets/icons/email-member.svg +1 -0
- package/core/built/assets/icons/email-name.svg +1 -0
- package/core/built/assets/icons/member.svg +1 -3
- package/core/built/assets/icons/send-email.svg +1 -1
- package/core/built/assets/img/abstract-2-2937e2902b64360d0cbe4cec8bd8479b.jpg +0 -0
- package/core/built/assets/img/abstract-c52b2f4208e7fd2e7b8abd8b1eec4f7b.jpg +0 -0
- package/core/built/assets/img/community-background-3f501ff1d764d0cb81f7c2cbacfc6503.jpg +0 -0
- package/core/built/assets/img/community-be8c1dcecfb157f2bfba5cababc8e686.jpg +0 -0
- package/core/built/assets/img/newsletter-1-197ae8063dfb2e22278d355198029c9e.jpg +0 -0
- package/core/built/assets/img/newsletter-2-5a2c7693ea9380d4282061302c01267a.jpg +0 -0
- package/core/built/assets/img/resource-1-722f202795856e4a5596c8a3b7bedc43.jpg +0 -0
- package/core/built/assets/{vendor.min-fe2c9b1235b4119b5406b788db2db434.js → vendor.min-97fd438f4772c5ec6bb30ad779b8530e.js} +862 -523
- package/core/frontend/apps/amp/lib/helpers/amp_content.js +2 -3
- package/core/frontend/apps/amp/lib/views/amp.hbs +5 -3
- package/core/frontend/helpers/get.js +1 -1
- package/core/frontend/services/routing/controllers/unsubscribe.js +22 -0
- package/core/frontend/web/middleware/cors.js +56 -0
- package/core/frontend/web/middleware/index.js +1 -0
- package/core/frontend/web/middleware/static-theme.js +8 -8
- package/core/frontend/web/site.js +1 -48
- package/core/server/api/canary/members.js +3 -0
- package/core/server/api/canary/newsletters.js +86 -4
- package/core/server/api/canary/stats.js +11 -2
- package/core/server/api/canary/utils/serializers/input/members.js +22 -0
- package/core/server/api/canary/utils/serializers/output/mappers/pages.js +1 -0
- package/core/server/api/canary/utils/serializers/output/mappers/posts.js +2 -0
- package/core/server/api/canary/utils/serializers/output/members.js +13 -5
- package/core/server/api/v2/utils/serializers/output/utils/mapper.js +2 -0
- package/core/server/api/v3/utils/serializers/output/utils/mapper.js +3 -0
- package/core/server/data/importer/importers/data/settings.js +0 -3
- package/core/server/data/migrations/utils.js +40 -0
- package/core/server/data/migrations/versions/4.43/2022-03-28-19-26-recreate-newsletter-table.js +1 -1
- package/core/server/data/migrations/versions/4.45/2022-04-19-12-23-backfill-subscriptions-offers.js +60 -0
- package/core/server/data/migrations/versions/4.45/2022-04-20-11-25-add-newsletter-read-permission.js +9 -0
- package/core/server/data/migrations/versions/4.45/2022-04-21-02-55-add-notifications-key-entry-to-settings-table.js +8 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-00-add-created-at-newsletters.js +6 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-01-add-updated-at-newsletters.js +6 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-02-fill-created-at-newsletters.js +19 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-03-drop-nullable-created-at-newsletters.js +3 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-08-newsletters-show-header-name.js +7 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-57-add-uuid-column-to-newsletters.js +8 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-58-fill-uuid-for-newsletters.js +19 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-12-59-drop-nullable-uuid-newsletters.js +3 -0
- package/core/server/data/migrations/versions/4.46/2022-04-13-13-00-add-default-newsletter.js +92 -0
- package/core/server/data/migrations/versions/4.46/2022-04-20-08-39-map-subscribers-to-default-newsletter.js +66 -0
- package/core/server/data/migrations/versions/4.46/2022-04-22-07-43-add-newsletter-id-to-subscribe-events.js +9 -0
- package/core/server/data/migrations/versions/4.46/2022-04-27-07-59-set-newsletter-id-subscribe-events.js +31 -0
- package/core/server/data/schema/commands.js +14 -0
- package/core/server/data/schema/default-settings/default-settings.json +4 -0
- package/core/server/data/schema/fixtures/fixtures.json +7 -1
- package/core/server/data/schema/schema.js +8 -3
- package/core/server/models/base/plugins/generate-slug.js +2 -2
- package/core/server/models/email.js +4 -0
- package/core/server/models/label.js +1 -1
- package/core/server/models/member-subscribe-event.js +4 -0
- package/core/server/models/member.js +26 -0
- package/core/server/models/newsletter.js +97 -14
- package/core/server/models/post.js +7 -4
- package/core/server/models/role.js +1 -1
- package/core/server/models/tag.js +1 -1
- package/core/server/models/user.js +1 -1
- package/core/server/services/api-version-compatibility/index.js +29 -0
- package/core/server/services/auth/members/index.js +1 -1
- package/core/server/services/mega/email-preview.js +4 -1
- package/core/server/services/mega/mega.js +83 -26
- package/core/server/services/mega/post-email-serializer.js +17 -14
- package/core/server/services/mega/template.js +24 -3
- package/core/server/services/members/api.js +2 -2
- package/core/server/services/members/middleware.js +69 -2
- package/core/server/services/members/service.js +4 -1
- package/core/server/services/newsletters/emails/verify-email.js +166 -0
- package/core/server/services/newsletters/index.js +14 -7
- package/core/server/services/newsletters/service.js +237 -6
- package/core/server/services/posts/posts-service.js +7 -9
- package/core/server/services/stats/service.js +2 -6
- package/core/server/services/users.js +20 -20
- package/core/server/web/admin/views/default-prod.html +4 -4
- package/core/server/web/admin/views/default.html +4 -4
- package/core/server/web/api/app.js +3 -0
- package/core/server/web/api/canary/admin/app.js +3 -0
- package/core/server/web/api/canary/admin/routes.js +3 -0
- package/core/server/web/api/canary/content/app.js +3 -0
- package/core/server/web/api/middleware/cors.js +1 -1
- package/core/server/web/api/v2/admin/app.js +3 -0
- package/core/server/web/api/v2/content/app.js +3 -0
- package/core/server/web/api/v3/admin/app.js +3 -0
- package/core/server/web/api/v3/content/app.js +3 -0
- package/core/server/web/members/app.js +5 -0
- package/core/shared/config/defaults.json +1 -1
- package/core/shared/labs.js +4 -2
- package/core/shared/settings-cache/public.js +1 -1
- package/package.json +69 -65
- package/yarn.lock +965 -620
- package/core/built/assets/ghost-dark-470c1ef06b10e5c40ad05f3a642eaaea.css +0 -1
- package/core/built/assets/ghost.min-d0c17e8314b5583c0df5d05fab3c051c.css +0 -1
- package/core/server/services/stats/lib/members-stats-service.js +0 -161
- package/core/server/services/stats/lib/mrr-stats-service.js +0 -154
|
@@ -140,6 +140,7 @@ module.exports = function apiRoutes() {
|
|
|
140
140
|
// ## Stats
|
|
141
141
|
router.get('/stats/member_count', mw.authAdminApi, http(api.stats.memberCountHistory));
|
|
142
142
|
router.get('/stats/mrr', mw.authAdminApi, http(api.stats.mrr));
|
|
143
|
+
router.get('/stats/subscriptions', mw.authAdminApi, http(api.stats.subscriptions));
|
|
143
144
|
|
|
144
145
|
// ## Labels
|
|
145
146
|
router.get('/labels', mw.authAdminApi, http(api.labels.browse));
|
|
@@ -313,7 +314,9 @@ module.exports = function apiRoutes() {
|
|
|
313
314
|
router.put('/custom_theme_settings', mw.authAdminApi, http(api.customThemeSettings.edit));
|
|
314
315
|
|
|
315
316
|
router.get('/newsletters', mw.authAdminApi, http(api.newsletters.browse));
|
|
317
|
+
router.get('/newsletters/:id', mw.authAdminApi, http(api.newsletters.read));
|
|
316
318
|
router.post('/newsletters', mw.authAdminApi, http(api.newsletters.add));
|
|
319
|
+
router.put('/newsletters/verifications/', mw.authAdminApi, http(api.newsletters.verifyPropertyUpdate));
|
|
317
320
|
router.put('/newsletters/:id', mw.authAdminApi, http(api.newsletters.edit));
|
|
318
321
|
|
|
319
322
|
return router;
|
|
@@ -6,6 +6,8 @@ const sentry = require('../../../../../shared/sentry');
|
|
|
6
6
|
const shared = require('../../../shared');
|
|
7
7
|
const routes = require('./routes');
|
|
8
8
|
const errorHandler = require('@tryghost/mw-error-handler');
|
|
9
|
+
const versionMissmatchHandler = require('@tryghost/mw-api-version-mismatch');
|
|
10
|
+
const {APIVersionCompatibilityServiceInstance} = require('../../../../services/api-version-compatibility');
|
|
9
11
|
|
|
10
12
|
module.exports = function setupApiApp() {
|
|
11
13
|
debug('Content API canary setup start');
|
|
@@ -27,6 +29,7 @@ module.exports = function setupApiApp() {
|
|
|
27
29
|
|
|
28
30
|
// API error handling
|
|
29
31
|
apiApp.use(errorHandler.resourceNotFound);
|
|
32
|
+
apiApp.use(versionMissmatchHandler(APIVersionCompatibilityServiceInstance));
|
|
30
33
|
apiApp.use(errorHandler.handleJSONResponse(sentry));
|
|
31
34
|
|
|
32
35
|
debug('Content API canary setup end');
|
|
@@ -7,6 +7,8 @@ const shared = require('../../../shared');
|
|
|
7
7
|
const apiMw = require('../../middleware');
|
|
8
8
|
const routes = require('./routes');
|
|
9
9
|
const errorHandler = require('@tryghost/mw-error-handler');
|
|
10
|
+
const versionMissmatchHandler = require('@tryghost/mw-api-version-mismatch');
|
|
11
|
+
const {APIVersionCompatibilityServiceInstance} = require('../../../../services/api-version-compatibility');
|
|
10
12
|
|
|
11
13
|
module.exports = function setupApiApp() {
|
|
12
14
|
debug('Admin API v2 setup start');
|
|
@@ -33,6 +35,7 @@ module.exports = function setupApiApp() {
|
|
|
33
35
|
|
|
34
36
|
// API error handling
|
|
35
37
|
apiApp.use(errorHandler.resourceNotFound);
|
|
38
|
+
apiApp.use(versionMissmatchHandler(APIVersionCompatibilityServiceInstance));
|
|
36
39
|
apiApp.use(errorHandler.handleJSONResponseV2(sentry));
|
|
37
40
|
|
|
38
41
|
debug('Admin API v2 setup end');
|
|
@@ -6,6 +6,8 @@ const sentry = require('../../../../../shared/sentry');
|
|
|
6
6
|
const shared = require('../../../shared');
|
|
7
7
|
const routes = require('./routes');
|
|
8
8
|
const errorHandler = require('@tryghost/mw-error-handler');
|
|
9
|
+
const versionMissmatchHandler = require('@tryghost/mw-api-version-mismatch');
|
|
10
|
+
const {APIVersionCompatibilityServiceInstance} = require('../../../../services/api-version-compatibility');
|
|
9
11
|
|
|
10
12
|
module.exports = function setupApiApp() {
|
|
11
13
|
debug('Content API v2 setup start');
|
|
@@ -27,6 +29,7 @@ module.exports = function setupApiApp() {
|
|
|
27
29
|
|
|
28
30
|
// API error handling
|
|
29
31
|
apiApp.use(errorHandler.resourceNotFound);
|
|
32
|
+
apiApp.use(versionMissmatchHandler(APIVersionCompatibilityServiceInstance));
|
|
30
33
|
apiApp.use(errorHandler.handleJSONResponse(sentry));
|
|
31
34
|
|
|
32
35
|
debug('Content API v2 setup end');
|
|
@@ -7,6 +7,8 @@ const shared = require('../../../shared');
|
|
|
7
7
|
const apiMw = require('../../middleware');
|
|
8
8
|
const routes = require('./routes');
|
|
9
9
|
const errorHandler = require('@tryghost/mw-error-handler');
|
|
10
|
+
const versionMissmatchHandler = require('@tryghost/mw-api-version-mismatch');
|
|
11
|
+
const {APIVersionCompatibilityServiceInstance} = require('../../../../services/api-version-compatibility');
|
|
10
12
|
|
|
11
13
|
module.exports = function setupApiApp() {
|
|
12
14
|
debug('Admin API v3 setup start');
|
|
@@ -33,6 +35,7 @@ module.exports = function setupApiApp() {
|
|
|
33
35
|
|
|
34
36
|
// API error handling
|
|
35
37
|
apiApp.use(errorHandler.resourceNotFound);
|
|
38
|
+
apiApp.use(versionMissmatchHandler(APIVersionCompatibilityServiceInstance));
|
|
36
39
|
apiApp.use(errorHandler.handleJSONResponseV2(sentry));
|
|
37
40
|
|
|
38
41
|
debug('Admin API v3 setup end');
|
|
@@ -6,6 +6,8 @@ const sentry = require('../../../../../shared/sentry');
|
|
|
6
6
|
const shared = require('../../../shared');
|
|
7
7
|
const routes = require('./routes');
|
|
8
8
|
const errorHandler = require('@tryghost/mw-error-handler');
|
|
9
|
+
const versionMissmatchHandler = require('@tryghost/mw-api-version-mismatch');
|
|
10
|
+
const {APIVersionCompatibilityServiceInstance} = require('../../../../services/api-version-compatibility');
|
|
9
11
|
|
|
10
12
|
module.exports = function setupApiApp() {
|
|
11
13
|
debug('Content API v3 setup start');
|
|
@@ -27,6 +29,7 @@ module.exports = function setupApiApp() {
|
|
|
27
29
|
|
|
28
30
|
// API error handling
|
|
29
31
|
apiApp.use(errorHandler.resourceNotFound);
|
|
32
|
+
apiApp.use(versionMissmatchHandler(APIVersionCompatibilityServiceInstance));
|
|
30
33
|
apiApp.use(errorHandler.handleJSONResponse(sentry));
|
|
31
34
|
|
|
32
35
|
debug('Content API v3 setup end');
|
|
@@ -33,6 +33,11 @@ module.exports = function setupMembersApp() {
|
|
|
33
33
|
|
|
34
34
|
// Initializes members specific routes as well as assigns members specific data to the req/res objects
|
|
35
35
|
// We don't want to add global bodyParser middleware as that interfers with stripe webhook requests on - `/webhooks`.
|
|
36
|
+
|
|
37
|
+
// Manage newsletter subscription via unsubscribe link
|
|
38
|
+
membersApp.get('/api/member/newsletters', middleware.getMemberNewsletters);
|
|
39
|
+
membersApp.put('/api/member/newsletters', bodyParser.json({limit: '1mb'}), middleware.updateMemberNewsletters);
|
|
40
|
+
|
|
36
41
|
membersApp.get('/api/member', middleware.getMemberData);
|
|
37
42
|
membersApp.put('/api/member', bodyParser.json({limit: '1mb'}), middleware.updateMemberData);
|
|
38
43
|
membersApp.post('/api/member/email', bodyParser.json({limit: '1mb'}), (req, res) => membersService.api.middleware.updateEmailAddress(req, res));
|
package/core/shared/labs.js
CHANGED
|
@@ -21,12 +21,14 @@ const GA_FEATURES = [
|
|
|
21
21
|
'selectablePortalLinks',
|
|
22
22
|
'membersTableStatus',
|
|
23
23
|
'improvedOnboarding',
|
|
24
|
+
'multipleNewsletters',
|
|
24
25
|
'membersActivityFeed'
|
|
25
26
|
];
|
|
26
27
|
|
|
27
28
|
// NOTE: this allowlist is meant to be used to filter out any unexpected
|
|
28
29
|
// input for the "labs" setting value
|
|
29
30
|
const BETA_FEATURES = [
|
|
31
|
+
'multipleNewslettersUI',
|
|
30
32
|
'activitypub'
|
|
31
33
|
];
|
|
32
34
|
|
|
@@ -36,8 +38,8 @@ const ALPHA_FEATURES = [
|
|
|
36
38
|
'urlCache',
|
|
37
39
|
'beforeAfterCard',
|
|
38
40
|
'tweetGridCard',
|
|
39
|
-
'
|
|
40
|
-
'
|
|
41
|
+
'dashboardV5',
|
|
42
|
+
'publishingFlow'
|
|
41
43
|
];
|
|
42
44
|
|
|
43
45
|
module.exports.GA_KEYS = [...GA_FEATURES];
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* This has been misused - unsplash and slack are incorrectly stored there
|
|
4
4
|
* https://github.com/TryGhost/Ghost/issues/10318
|
|
5
5
|
*
|
|
6
|
-
* This file acts as
|
|
6
|
+
* This file acts as an allowlist for "public" settings
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
module.exports = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghost",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.46.1",
|
|
4
4
|
"description": "The professional publishing platform",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"homepage": "https://ghost.org",
|
|
@@ -51,67 +51,71 @@
|
|
|
51
51
|
"fix": "yarn fix:client && yarn fix:server"
|
|
52
52
|
},
|
|
53
53
|
"engines": {
|
|
54
|
-
"node": "^
|
|
54
|
+
"node": "^14.17.0 || ^16.13.0",
|
|
55
55
|
"cli": "^1.17.0"
|
|
56
56
|
},
|
|
57
57
|
"dependencies": {
|
|
58
|
-
"@sentry/node": "6.19.
|
|
59
|
-
"@tryghost/adapter-manager": "0.2.
|
|
58
|
+
"@sentry/node": "6.19.7",
|
|
59
|
+
"@tryghost/adapter-manager": "0.2.29",
|
|
60
60
|
"@tryghost/admin-api-schema": "2.14.0",
|
|
61
|
-
"@tryghost/
|
|
62
|
-
"@tryghost/
|
|
63
|
-
"@tryghost/
|
|
64
|
-
"@tryghost/
|
|
65
|
-
"@tryghost/
|
|
61
|
+
"@tryghost/api-version-compatibility-service": "0.1.1",
|
|
62
|
+
"@tryghost/bookshelf-plugins": "0.4.1",
|
|
63
|
+
"@tryghost/bootstrap-socket": "0.2.18",
|
|
64
|
+
"@tryghost/color-utils": "0.1.13",
|
|
65
|
+
"@tryghost/config-url-helpers": "0.1.6",
|
|
66
|
+
"@tryghost/constants": "1.0.3",
|
|
66
67
|
"@tryghost/custom-theme-settings-service": "0.3.2",
|
|
67
|
-
"@tryghost/database-info": "0.3.
|
|
68
|
-
"@tryghost/debug": "0.1.
|
|
69
|
-
"@tryghost/domain-events": "0.1.
|
|
68
|
+
"@tryghost/database-info": "0.3.3",
|
|
69
|
+
"@tryghost/debug": "0.1.16",
|
|
70
|
+
"@tryghost/domain-events": "0.1.10",
|
|
70
71
|
"@tryghost/email-analytics-provider-mailgun": "1.0.8",
|
|
71
72
|
"@tryghost/email-analytics-service": "1.0.6",
|
|
72
|
-
"@tryghost/errors": "1.2.
|
|
73
|
-
"@tryghost/express-dynamic-redirects": "0.2.
|
|
74
|
-
"@tryghost/helpers": "1.1.
|
|
75
|
-
"@tryghost/image-transform": "1.0.
|
|
76
|
-
"@tryghost/job-manager": "0.8.
|
|
73
|
+
"@tryghost/errors": "1.2.12",
|
|
74
|
+
"@tryghost/express-dynamic-redirects": "0.2.9",
|
|
75
|
+
"@tryghost/helpers": "1.1.64",
|
|
76
|
+
"@tryghost/image-transform": "1.0.30",
|
|
77
|
+
"@tryghost/job-manager": "0.8.22",
|
|
77
78
|
"@tryghost/kg-card-factory": "3.1.3",
|
|
78
79
|
"@tryghost/kg-default-atoms": "3.1.2",
|
|
79
80
|
"@tryghost/kg-default-cards": "5.16.2",
|
|
80
81
|
"@tryghost/kg-markdown-html-renderer": "5.1.5",
|
|
81
82
|
"@tryghost/kg-mobiledoc-html-renderer": "5.3.5",
|
|
82
|
-
"@tryghost/limit-service": "1.0
|
|
83
|
-
"@tryghost/logging": "2.1.
|
|
84
|
-
"@tryghost/magic-link": "1.0.
|
|
85
|
-
"@tryghost/member-events": "0.4.
|
|
86
|
-
"@tryghost/members-api": "
|
|
87
|
-
"@tryghost/members-events-service": "0.3.
|
|
88
|
-
"@tryghost/members-importer": "0.5.
|
|
89
|
-
"@tryghost/members-offers": "0.
|
|
90
|
-
"@tryghost/members-ssr": "1.0.
|
|
91
|
-
"@tryghost/members-stripe-service": "0.10.
|
|
92
|
-
"@tryghost/metrics": "1.0.
|
|
93
|
-
"@tryghost/minifier": "0.1.
|
|
94
|
-
"@tryghost/mw-
|
|
95
|
-
"@tryghost/mw-
|
|
96
|
-
"@tryghost/
|
|
97
|
-
"@tryghost/
|
|
98
|
-
"@tryghost/
|
|
99
|
-
"@tryghost/
|
|
100
|
-
"@tryghost/
|
|
101
|
-
"@tryghost/
|
|
102
|
-
"@tryghost/
|
|
103
|
-
"@tryghost/
|
|
104
|
-
"@tryghost/
|
|
83
|
+
"@tryghost/limit-service": "1.1.0",
|
|
84
|
+
"@tryghost/logging": "2.1.8",
|
|
85
|
+
"@tryghost/magic-link": "1.0.22",
|
|
86
|
+
"@tryghost/member-events": "0.4.2",
|
|
87
|
+
"@tryghost/members-api": "6.2.3",
|
|
88
|
+
"@tryghost/members-events-service": "0.3.4",
|
|
89
|
+
"@tryghost/members-importer": "0.5.10",
|
|
90
|
+
"@tryghost/members-offers": "0.11.2",
|
|
91
|
+
"@tryghost/members-ssr": "1.0.24",
|
|
92
|
+
"@tryghost/members-stripe-service": "0.10.1",
|
|
93
|
+
"@tryghost/metrics": "1.0.11",
|
|
94
|
+
"@tryghost/minifier": "0.1.13",
|
|
95
|
+
"@tryghost/mw-api-version-mismatch": "0.1.1",
|
|
96
|
+
"@tryghost/mw-error-handler": "0.2.2",
|
|
97
|
+
"@tryghost/mw-session-from-token": "0.1.30",
|
|
98
|
+
"@tryghost/nodemailer": "0.3.22",
|
|
99
|
+
"@tryghost/nql": "0.9.2",
|
|
100
|
+
"@tryghost/package-json": "1.0.19",
|
|
101
|
+
"@tryghost/promise": "0.1.16",
|
|
102
|
+
"@tryghost/request": "0.1.26",
|
|
103
|
+
"@tryghost/root-utils": "0.3.14",
|
|
104
|
+
"@tryghost/security": "0.2.16",
|
|
105
|
+
"@tryghost/session-service": "0.1.40",
|
|
106
|
+
"@tryghost/settings-path-manager": "0.1.5",
|
|
105
107
|
"@tryghost/social-urls": "0.1.29",
|
|
108
|
+
"@tryghost/stats-service": "0.2.1",
|
|
106
109
|
"@tryghost/string": "0.1.23",
|
|
107
|
-
"@tryghost/tpl": "0.1.
|
|
110
|
+
"@tryghost/tpl": "0.1.16",
|
|
108
111
|
"@tryghost/update-check-service": "0.3.2",
|
|
109
112
|
"@tryghost/url-utils": "2.1.0",
|
|
110
|
-
"@tryghost/validator": "0.1.
|
|
111
|
-
"@tryghost/verification-trigger": "0.2.
|
|
112
|
-
"@tryghost/version": "0.1.
|
|
113
|
-
"@tryghost/
|
|
114
|
-
"@tryghost/
|
|
113
|
+
"@tryghost/validator": "0.1.24",
|
|
114
|
+
"@tryghost/verification-trigger": "0.2.1",
|
|
115
|
+
"@tryghost/version": "0.1.14",
|
|
116
|
+
"@tryghost/version-notifications-data-service": "0.1.0",
|
|
117
|
+
"@tryghost/vhost-middleware": "1.0.24",
|
|
118
|
+
"@tryghost/zip": "1.1.23",
|
|
115
119
|
"amperize": "0.6.1",
|
|
116
120
|
"analytics-node": "6.0.0",
|
|
117
121
|
"bluebird": "3.7.2",
|
|
@@ -127,16 +131,16 @@
|
|
|
127
131
|
"cookie-session": "2.0.0",
|
|
128
132
|
"cors": "2.8.5",
|
|
129
133
|
"downsize": "0.0.8",
|
|
130
|
-
"express": "4.
|
|
134
|
+
"express": "4.18.0",
|
|
131
135
|
"express-brute": "1.0.1",
|
|
132
136
|
"express-hbs": "2.4.0",
|
|
133
|
-
"express-jwt": "
|
|
137
|
+
"express-jwt": "7.5.2",
|
|
134
138
|
"express-lazy-router": "1.0.4",
|
|
135
139
|
"express-query-boolean": "2.0.0",
|
|
136
140
|
"express-session": "1.17.2",
|
|
137
|
-
"fs-extra": "10.0
|
|
141
|
+
"fs-extra": "10.1.0",
|
|
138
142
|
"ghost-storage-base": "1.0.0",
|
|
139
|
-
"glob": "
|
|
143
|
+
"glob": "8.0.1",
|
|
140
144
|
"got": "9.6.0",
|
|
141
145
|
"gscan": "4.27.0",
|
|
142
146
|
"html-to-text": "5.1.1",
|
|
@@ -148,10 +152,10 @@
|
|
|
148
152
|
"jsonwebtoken": "8.5.1",
|
|
149
153
|
"juice": "8.0.0",
|
|
150
154
|
"keypair": "1.0.4",
|
|
151
|
-
"knex": "
|
|
152
|
-
"knex-migrator": "4.2.
|
|
155
|
+
"knex": "2.0.0",
|
|
156
|
+
"knex-migrator": "4.2.8",
|
|
153
157
|
"lodash": "4.17.21",
|
|
154
|
-
"luxon": "2.3.
|
|
158
|
+
"luxon": "2.3.2",
|
|
155
159
|
"mailgun-js": "0.22.0",
|
|
156
160
|
"metascraper": "5.29.3",
|
|
157
161
|
"metascraper-author": "5.29.3",
|
|
@@ -183,20 +187,20 @@
|
|
|
183
187
|
},
|
|
184
188
|
"optionalDependencies": {
|
|
185
189
|
"@tryghost/html-to-mobiledoc": "1.8.6",
|
|
186
|
-
"
|
|
190
|
+
"sqlite3": "5.0.6"
|
|
187
191
|
},
|
|
188
192
|
"devDependencies": {
|
|
189
193
|
"@lodder/grunt-postcss": "3.1.1",
|
|
190
|
-
"@playwright/test": "1.
|
|
191
|
-
"@tryghost/express-test": "0.
|
|
192
|
-
"c8": "7.11.
|
|
193
|
-
"coffeescript": "2.
|
|
194
|
+
"@playwright/test": "1.21.1",
|
|
195
|
+
"@tryghost/express-test": "0.10.0",
|
|
196
|
+
"c8": "7.11.2",
|
|
197
|
+
"coffeescript": "2.7.0",
|
|
194
198
|
"cssnano": "5.1.7",
|
|
195
|
-
"eslint": "8.
|
|
199
|
+
"eslint": "8.14.0",
|
|
196
200
|
"eslint-plugin-ghost": "2.13.0",
|
|
197
201
|
"grunt": "1.5.2",
|
|
198
202
|
"grunt-bg-shell": "2.3.3",
|
|
199
|
-
"grunt-contrib-clean": "2.0.
|
|
203
|
+
"grunt-contrib-clean": "2.0.1",
|
|
200
204
|
"grunt-contrib-compress": "2.0.0",
|
|
201
205
|
"grunt-contrib-copy": "1.0.0",
|
|
202
206
|
"grunt-contrib-symlink": "1.0.0",
|
|
@@ -205,21 +209,21 @@
|
|
|
205
209
|
"grunt-shell": "4.0.0",
|
|
206
210
|
"grunt-subgrunt": "1.3.0",
|
|
207
211
|
"grunt-update-submodules": "0.4.1",
|
|
208
|
-
"jwks-rsa": "2.0
|
|
212
|
+
"jwks-rsa": "2.1.0",
|
|
209
213
|
"mocha": "9.2.2",
|
|
210
214
|
"mocha-slow-test-reporter": "0.1.2",
|
|
211
|
-
"mock-knex": "TryGhost/mock-knex#
|
|
215
|
+
"mock-knex": "TryGhost/mock-knex#8ecb8c227bf463c991c3d820d33f59efc3ab9682",
|
|
212
216
|
"nock": "13.2.4",
|
|
213
217
|
"papaparse": "5.3.2",
|
|
214
218
|
"postcss": "8.4.12",
|
|
215
219
|
"rewire": "6.0.0",
|
|
216
220
|
"should": "13.2.3",
|
|
217
|
-
"sinon": "13.0.
|
|
218
|
-
"supertest": "6.2.
|
|
221
|
+
"sinon": "13.0.2",
|
|
222
|
+
"supertest": "6.2.3",
|
|
219
223
|
"tmp": "0.2.1"
|
|
220
224
|
},
|
|
221
225
|
"resolutions": {
|
|
222
|
-
"@tryghost/logging": "2.1.
|
|
226
|
+
"@tryghost/logging": "2.1.8",
|
|
223
227
|
"moment": "2.24.0",
|
|
224
228
|
"moment-timezone": "0.5.23"
|
|
225
229
|
}
|