ghost 4.43.1 → 4.46.0
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-2a278873d60d6a13a4c05a396e5bed5e.js → ghost.min-30e597cb65b62b31a9422ca9c0eb2890.js} +845 -670
- 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-21f79c68a284acb1b70039f3f63e5507.js → vendor.min-97fd438f4772c5ec6bb30ad779b8530e.js} +868 -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/authentication.js +2 -2
- package/core/server/api/canary/members.js +3 -0
- package/core/server/api/canary/newsletters.js +86 -4
- package/core/server/api/canary/posts.js +1 -0
- 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 -2
- package/core/server/api/shared/http.js +1 -1
- 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 +5 -5
- package/core/server/data/migrations/versions/4.44/2022-04-06-15-22-populate-type-column-for-paid-subscription-events.js +21 -0
- package/core/server/data/migrations/versions/4.44/2022-04-08-11-54-add-cancelled-events.js +51 -0
- package/core/server/data/migrations/versions/4.44/2022-04-11-08-24-add-newsletter-permissions.js +33 -0
- package/core/server/data/migrations/versions/4.44/2022-04-11-10-54-add-mrr-to-subscriptions.js +8 -0
- package/core/server/data/migrations/versions/4.44/2022-04-12-07-33-fill-mrr.js +29 -0
- package/core/server/data/migrations/versions/4.44/2022-04-13-12-00-remove-newsletter-sender-name-not-null-constraint.js +33 -0
- package/core/server/data/migrations/versions/4.44/2022-04-15-07-53-add-offer-id-to-subscriptions.js +9 -0
- 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 +85 -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 +32 -1
- package/core/server/data/schema/schema.js +15 -8
- 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 +29 -0
- package/core/server/models/newsletter.js +101 -11
- package/core/server/models/post.js +15 -5
- package/core/server/models/role.js +1 -1
- package/core/server/models/stripe-customer-subscription.js +4 -0
- 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/auth/setup.js +17 -7
- package/core/server/services/mega/email-preview.js +4 -1
- package/core/server/services/mega/mega.js +86 -27
- 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 +7 -12
- 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 +18 -1
- 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 +2 -2
- package/core/shared/labs.js +4 -2
- package/core/shared/settings-cache/public.js +1 -1
- package/package.json +82 -78
- package/yarn.lock +1062 -679
- package/core/built/assets/ghost-dark-1933079797e24ccb8839657020830be5.css +0 -1
- package/core/built/assets/ghost.min-38f3c38c0c6a1864f57079b068a0b0ce.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));
|
|
@@ -128,8 +128,8 @@
|
|
|
128
128
|
"emailAnalytics": true
|
|
129
129
|
},
|
|
130
130
|
"portal": {
|
|
131
|
-
"url": "https://unpkg.com/@tryghost/portal@~1.
|
|
132
|
-
"version": "1.
|
|
131
|
+
"url": "https://unpkg.com/@tryghost/portal@~1.22.0/umd/portal.min.js",
|
|
132
|
+
"version": "1.20"
|
|
133
133
|
},
|
|
134
134
|
"tenor": {
|
|
135
135
|
"publicReadOnlyApiKey": null,
|
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.0",
|
|
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.
|
|
60
|
-
"@tryghost/admin-api-schema": "2.
|
|
61
|
-
"@tryghost/
|
|
62
|
-
"@tryghost/
|
|
63
|
-
"@tryghost/
|
|
64
|
-
"@tryghost/
|
|
65
|
-
"@tryghost/
|
|
58
|
+
"@sentry/node": "6.19.7",
|
|
59
|
+
"@tryghost/adapter-manager": "0.2.29",
|
|
60
|
+
"@tryghost/admin-api-schema": "2.14.0",
|
|
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.
|
|
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.1
|
|
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,25 +152,25 @@
|
|
|
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
|
-
"metascraper": "5.29.
|
|
157
|
-
"metascraper-author": "5.29.
|
|
158
|
-
"metascraper-description": "5.29.
|
|
159
|
-
"metascraper-image": "5.29.
|
|
160
|
-
"metascraper-logo": "5.29.
|
|
161
|
-
"metascraper-logo-favicon": "5.29.
|
|
162
|
-
"metascraper-publisher": "5.29.
|
|
163
|
-
"metascraper-title": "5.29.
|
|
164
|
-
"metascraper-url": "5.29.
|
|
160
|
+
"metascraper": "5.29.3",
|
|
161
|
+
"metascraper-author": "5.29.3",
|
|
162
|
+
"metascraper-description": "5.29.3",
|
|
163
|
+
"metascraper-image": "5.29.3",
|
|
164
|
+
"metascraper-logo": "5.29.3",
|
|
165
|
+
"metascraper-logo-favicon": "5.29.3",
|
|
166
|
+
"metascraper-publisher": "5.29.3",
|
|
167
|
+
"metascraper-title": "5.29.3",
|
|
168
|
+
"metascraper-url": "5.29.3",
|
|
165
169
|
"moment": "2.24.0",
|
|
166
170
|
"moment-timezone": "0.5.23",
|
|
167
171
|
"multer": "1.4.4",
|
|
168
172
|
"mysql2": "2.3.3",
|
|
169
|
-
"nconf": "0.
|
|
173
|
+
"nconf": "0.12.0",
|
|
170
174
|
"node-jose": "2.1.1",
|
|
171
175
|
"oembed-parser": "1.4.9",
|
|
172
176
|
"passport": "0.5.2",
|
|
@@ -175,7 +179,7 @@
|
|
|
175
179
|
"probe-image-size": "7.2.3",
|
|
176
180
|
"rss": "1.2.2",
|
|
177
181
|
"sanitize-html": "2.7.0",
|
|
178
|
-
"semver": "7.3.
|
|
182
|
+
"semver": "7.3.7",
|
|
179
183
|
"stoppable": "1.1.0",
|
|
180
184
|
"tough-cookie": "4.0.0",
|
|
181
185
|
"uuid": "8.3.2",
|
|
@@ -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
|
-
"grunt": "1.
|
|
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
|
}
|