ghost 4.36.3 → 4.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/.c8rc.json +10 -0
  2. package/content/themes/casper/LICENSE +1 -1
  3. package/content/themes/casper/README.md +1 -1
  4. package/content/themes/casper/assets/built/global.css +1 -1
  5. package/content/themes/casper/assets/built/global.css.map +1 -1
  6. package/content/themes/casper/assets/built/screen.css +1 -1
  7. package/content/themes/casper/assets/built/screen.css.map +1 -1
  8. package/content/themes/casper/assets/css/global.css +14 -6
  9. package/content/themes/casper/assets/css/screen.css +9 -1
  10. package/content/themes/casper/package.json +2 -2
  11. package/content/themes/casper/partials/post-card.hbs +1 -1
  12. package/content/themes/casper/post.hbs +18 -19
  13. package/content/themes/casper/yarn.lock +186 -217
  14. package/core/built/assets/ghost-dark-9f760f16230b8bc52e188d6ce28516b0.css +1 -0
  15. package/core/built/assets/{ghost.min-801697772dc605c0dae0abfec54ec591.js → ghost.min-6386b02480494a69c3bfe66206754836.js} +375 -312
  16. package/core/built/assets/ghost.min-f4c59dd57a2136df8b0a34f87c099034.css +1 -0
  17. package/core/built/assets/icons/eye.svg +4 -1
  18. package/core/built/assets/icons/member-add.svg +3 -0
  19. package/core/built/assets/icons/pin.svg +4 -1
  20. package/core/built/assets/{vendor.min-2313642ee897688be83924a38d5e62f1.js → vendor.min-c814d3c4b3f543c4cd5ef3aacd0fc645.js} +40 -36
  21. package/core/frontend/helpers/excerpt.js +7 -4
  22. package/core/frontend/helpers/get.js +4 -0
  23. package/core/frontend/helpers/match.js +12 -0
  24. package/core/frontend/helpers/prev_post.js +11 -1
  25. package/core/frontend/helpers/tiers.js +59 -0
  26. package/core/frontend/helpers/tpl/content-cta.hbs +1 -1
  27. package/core/frontend/services/routing/router-manager.js +1 -1
  28. package/core/frontend/web/site.js +10 -0
  29. package/core/server/api/canary/authentication.js +2 -0
  30. package/core/server/api/canary/index.js +8 -0
  31. package/core/server/api/canary/members.js +2 -1
  32. package/core/server/api/canary/products.js +3 -6
  33. package/core/server/api/canary/tiers-public.js +34 -0
  34. package/core/server/api/canary/tiers.js +120 -0
  35. package/core/server/api/canary/utils/serializers/input/index.js +4 -0
  36. package/core/server/api/canary/utils/serializers/input/tiers.js +36 -0
  37. package/core/server/api/canary/utils/serializers/output/email-posts.js +7 -1
  38. package/core/server/api/canary/utils/serializers/output/index.js +4 -0
  39. package/core/server/api/canary/utils/serializers/output/members.js +5 -0
  40. package/core/server/api/canary/utils/serializers/output/pages.js +9 -2
  41. package/core/server/api/canary/utils/serializers/output/posts.js +8 -2
  42. package/core/server/api/canary/utils/serializers/output/preview.js +7 -1
  43. package/core/server/api/canary/utils/serializers/output/products.js +3 -1
  44. package/core/server/api/canary/utils/serializers/output/tiers.js +212 -0
  45. package/core/server/api/canary/utils/serializers/output/utils/mapper.js +17 -7
  46. package/core/server/api/canary/utils/validators/input/index.js +4 -0
  47. package/core/server/api/canary/utils/validators/input/tiers.js +6 -0
  48. package/core/server/api/v2/settings.js +2 -1
  49. package/core/server/data/db/connection.js +3 -2
  50. package/core/server/data/migrations/init/1-create-tables.js +4 -1
  51. package/core/server/data/migrations/versions/3.29/01-remove-duplicate-subscriptions.js +2 -1
  52. package/core/server/data/migrations/versions/3.29/02-remove-duplicate-customers.js +2 -1
  53. package/core/server/data/migrations/versions/3.29/03-remove-orphaned-customers.js +2 -1
  54. package/core/server/data/migrations/versions/3.29/04-remove-orphaned-subscriptions.js +2 -1
  55. package/core/server/data/migrations/versions/3.29/05-add-member-constraints.js +3 -2
  56. package/core/server/data/migrations/versions/3.39/06-add-email-recipient-index.js +4 -3
  57. package/core/server/data/migrations/versions/4.0/14-remove-orphaned-stripe-records.js +2 -1
  58. package/core/server/data/migrations/versions/4.0/26-add-cascade-on-delete.js +2 -1
  59. package/core/server/data/migrations/versions/4.0/29-fix-foreign-key-for-members-stripe-customers-subscriptions.js +2 -1
  60. package/core/server/data/migrations/versions/4.1/02-add-unique-constraint-for-member-stripe-tables.js +2 -1
  61. package/core/server/data/migrations/versions/4.20/05-remove-not-null-constraint-from-portal-title.js +3 -2
  62. package/core/server/data/migrations/versions/4.33/2022-01-18-09-07-remove-duplicate-offer-redemptions.js +2 -2
  63. package/core/server/data/migrations/versions/4.35/2022-02-01-11-48-update-email-recipient-filter-column-type.js +2 -1
  64. package/core/server/data/migrations/versions/4.35/2022-02-01-12-03-update-recipient-filter-column-type.js +2 -1
  65. package/core/server/data/migrations/versions/4.37/2022-02-21-09-53-backfill-members-last-seen-at-column.js +32 -0
  66. package/core/server/data/migrations/versions/4.38/2022-03-01-08-46-add-visibility-to-tiers.js +11 -0
  67. package/core/server/data/migrations/versions/4.38/2022-03-03-16-12-add-visibility-to-tiers.js +8 -0
  68. package/core/server/data/migrations/versions/4.38/2022-03-03-16-17-drop-tiers-visible-column.js +7 -0
  69. package/core/server/data/schema/clients/index.js +1 -1
  70. package/core/server/data/schema/clients/mysql.js +4 -4
  71. package/core/server/data/schema/commands.js +61 -70
  72. package/core/server/data/schema/{default-settings.json → default-settings/default-settings.json} +0 -0
  73. package/core/server/data/schema/default-settings/index.js +6 -0
  74. package/core/server/data/schema/fixtures/fixtures.json +4 -2
  75. package/core/server/data/schema/schema.js +7 -0
  76. package/core/server/models/product.js +2 -1
  77. package/core/server/services/auth/api-key/admin.js +15 -6
  78. package/core/server/services/auth/setup.js +13 -1
  79. package/core/server/services/email-analytics/lib/event-processor.js +18 -1
  80. package/core/server/services/members/middleware.js +4 -1
  81. package/core/server/services/members/service.js +21 -8
  82. package/core/server/services/route-settings/index.js +1 -1
  83. package/core/server/web/admin/views/default-prod.html +4 -4
  84. package/core/server/web/admin/views/default.html +4 -4
  85. package/core/server/web/api/app.js +3 -0
  86. package/core/server/web/api/canary/admin/middleware.js +2 -0
  87. package/core/server/web/api/canary/admin/routes.js +7 -0
  88. package/core/server/web/api/canary/content/routes.js +1 -0
  89. package/core/server/web/members/app.js +1 -1
  90. package/core/server/web/shared/middleware/uncapitalise.js +2 -2
  91. package/core/shared/config/defaults.json +3 -2
  92. package/core/shared/config/overrides.json +1 -1
  93. package/core/shared/config/utils.js +5 -1
  94. package/core/shared/labs.js +4 -1
  95. package/package.json +62 -61
  96. package/yarn.lock +729 -614
  97. package/core/built/assets/ghost-dark-25e568b14d76f6754fa8279cceb265ba.css +0 -1
  98. package/core/built/assets/ghost.min-75ed7451ca633bae1b345eb57e2c28e0.css +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ghost",
3
- "version": "4.36.3",
3
+ "version": "4.38.1",
4
4
  "description": "The professional publishing platform",
5
5
  "author": "Ghost Foundation",
6
6
  "homepage": "https://ghost.org",
@@ -29,7 +29,7 @@
29
29
  "test": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js --timeout=60000",
30
30
  "test:all": "yarn test:unit && yarn test:integration && yarn test:e2e && yarn lint",
31
31
  "test:debug": "DEBUG=ghost:test* yarn test",
32
- "test:unit": "c8 --reporter text-summary --reporter cobertura mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/unit' --timeout=2000",
32
+ "test:unit": "c8 mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/unit' --timeout=2000",
33
33
  "test:integration": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/integration' --timeout=5000",
34
34
  "test:e2e": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/e2e-api' './test/e2e-frontend' './test/e2e-server' --timeout=10000",
35
35
  "test:regression": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/regression' --timeout=60000",
@@ -39,7 +39,6 @@
39
39
  "test:int:slow": "yarn test:integration --reporter=mocha-slow-test-reporter",
40
40
  "test:e2e:slow": "yarn test:e2e --reporter=mocha-slow-test-reporter",
41
41
  "test:reg:slow": "mocha --require=./test/utils/overrides.js --exit --trace-warnings --recursive --extension=test.js './test/regression' --timeout=60000 --reporter=mocha-slow-test-reporter",
42
- "cov:unit": "c8 report --reporter text --reporter html",
43
42
  "lint:server": "eslint --ignore-path .eslintignore 'core/server/**/*.js' 'core/*.js' '*.js'",
44
43
  "lint:shared": "eslint --ignore-path .eslintignore 'core/shared/**/*.js'",
45
44
  "lint:frontend": "eslint --ignore-path .eslintignore 'core/frontend/**/*.js'",
@@ -56,59 +55,62 @@
56
55
  },
57
56
  "dependencies": {
58
57
  "@nexes/nql": "0.6.0",
59
- "@sentry/node": "6.17.9",
60
- "@tryghost/adapter-manager": "0.2.27",
61
- "@tryghost/admin-api-schema": "2.9.0",
62
- "@tryghost/bookshelf-plugins": "0.3.9",
63
- "@tryghost/bootstrap-socket": "0.2.16",
64
- "@tryghost/color-utils": "0.1.7",
65
- "@tryghost/config-url-helpers": "0.1.4",
66
- "@tryghost/constants": "1.0.1",
58
+ "@sentry/node": "6.18.1",
59
+ "@tryghost/adapter-manager": "0.2.28",
60
+ "@tryghost/admin-api-schema": "2.10.0",
61
+ "@tryghost/bookshelf-plugins": "0.3.10",
62
+ "@tryghost/bootstrap-socket": "0.2.17",
63
+ "@tryghost/color-utils": "0.1.8",
64
+ "@tryghost/config-url-helpers": "0.1.5",
65
+ "@tryghost/constants": "1.0.2",
67
66
  "@tryghost/custom-theme-settings-service": "0.3.1",
68
- "@tryghost/database-info": "0.1.0",
69
- "@tryghost/debug": "0.1.12",
67
+ "@tryghost/database-info": "0.2.4",
68
+ "@tryghost/debug": "0.1.13",
69
+ "@tryghost/domain-events": "0.1.8",
70
70
  "@tryghost/email-analytics-provider-mailgun": "1.0.7",
71
71
  "@tryghost/email-analytics-service": "1.0.5",
72
- "@tryghost/errors": "1.2.2",
73
- "@tryghost/express-dynamic-redirects": "0.2.5",
74
- "@tryghost/helpers": "1.1.56",
75
- "@tryghost/image-transform": "1.0.27",
76
- "@tryghost/job-manager": "0.8.19",
72
+ "@tryghost/errors": "1.2.3",
73
+ "@tryghost/express-dynamic-redirects": "0.2.6",
74
+ "@tryghost/helpers": "1.1.57",
75
+ "@tryghost/image-transform": "1.0.28",
76
+ "@tryghost/job-manager": "0.8.20",
77
77
  "@tryghost/kg-card-factory": "3.1.2",
78
78
  "@tryghost/kg-default-atoms": "3.1.1",
79
79
  "@tryghost/kg-default-cards": "5.16.1",
80
80
  "@tryghost/kg-markdown-html-renderer": "5.1.4",
81
81
  "@tryghost/kg-mobiledoc-html-renderer": "5.3.4",
82
- "@tryghost/limit-service": "1.0.9",
83
- "@tryghost/logging": "2.0.3",
84
- "@tryghost/magic-link": "1.0.19",
85
- "@tryghost/members-api": "5.0.3",
86
- "@tryghost/members-importer": "0.5.2",
87
- "@tryghost/members-offers": "0.10.7",
88
- "@tryghost/members-ssr": "1.0.21",
89
- "@tryghost/members-stripe-service": "0.8.3",
90
- "@tryghost/metrics": "1.0.5",
91
- "@tryghost/minifier": "0.1.10",
92
- "@tryghost/mw-error-handler": "0.1.2",
93
- "@tryghost/mw-session-from-token": "0.1.27",
94
- "@tryghost/nodemailer": "0.3.12",
95
- "@tryghost/package-json": "1.0.15",
96
- "@tryghost/promise": "0.1.14",
97
- "@tryghost/request": "0.1.15",
98
- "@tryghost/root-utils": "0.3.10",
99
- "@tryghost/security": "0.2.14",
100
- "@tryghost/session-service": "0.1.37",
101
- "@tryghost/settings-path-manager": "0.1.3",
102
- "@tryghost/social-urls": "0.1.28",
103
- "@tryghost/string": "0.1.22",
104
- "@tryghost/tpl": "0.1.11",
82
+ "@tryghost/limit-service": "1.0.10",
83
+ "@tryghost/logging": "2.0.4",
84
+ "@tryghost/magic-link": "1.0.20",
85
+ "@tryghost/member-events": "0.4.0",
86
+ "@tryghost/members-api": "5.0.4",
87
+ "@tryghost/members-events-service": "0.3.1",
88
+ "@tryghost/members-importer": "0.5.3",
89
+ "@tryghost/members-offers": "0.10.8",
90
+ "@tryghost/members-ssr": "1.0.22",
91
+ "@tryghost/members-stripe-service": "0.8.4",
92
+ "@tryghost/metrics": "1.0.6",
93
+ "@tryghost/minifier": "0.1.11",
94
+ "@tryghost/mw-error-handler": "0.1.3",
95
+ "@tryghost/mw-session-from-token": "0.1.28",
96
+ "@tryghost/nodemailer": "0.3.13",
97
+ "@tryghost/package-json": "1.0.16",
98
+ "@tryghost/promise": "0.1.15",
99
+ "@tryghost/request": "0.1.16",
100
+ "@tryghost/root-utils": "0.3.11",
101
+ "@tryghost/security": "0.2.15",
102
+ "@tryghost/session-service": "0.1.38",
103
+ "@tryghost/settings-path-manager": "0.1.4",
104
+ "@tryghost/social-urls": "0.1.29",
105
+ "@tryghost/string": "0.1.23",
106
+ "@tryghost/tpl": "0.1.12",
105
107
  "@tryghost/update-check-service": "0.3.1",
106
- "@tryghost/url-utils": "2.0.5",
107
- "@tryghost/validator": "0.1.13",
108
- "@tryghost/verification-trigger": "0.1.4",
109
- "@tryghost/version": "0.1.10",
110
- "@tryghost/vhost-middleware": "1.0.21",
111
- "@tryghost/zip": "1.1.19",
108
+ "@tryghost/url-utils": "2.0.7",
109
+ "@tryghost/validator": "0.1.14",
110
+ "@tryghost/verification-trigger": "0.1.5",
111
+ "@tryghost/version": "0.1.11",
112
+ "@tryghost/vhost-middleware": "1.0.22",
113
+ "@tryghost/zip": "1.1.20",
112
114
  "amperize": "0.6.1",
113
115
  "analytics-node": "6.0.0",
114
116
  "bluebird": "3.7.2",
@@ -127,11 +129,11 @@
127
129
  "express": "4.17.3",
128
130
  "express-brute": "1.0.1",
129
131
  "express-hbs": "2.4.0",
130
- "express-jwt": "6.1.0",
132
+ "express-jwt": "6.1.1",
131
133
  "express-lazy-router": "1.0.4",
132
134
  "express-query-boolean": "2.0.0",
133
135
  "express-session": "1.17.2",
134
- "fs-extra": "10.0.0",
136
+ "fs-extra": "10.0.1",
135
137
  "ghost-storage-base": "1.0.0",
136
138
  "glob": "7.2.0",
137
139
  "got": "9.6.0",
@@ -146,9 +148,9 @@
146
148
  "juice": "8.0.0",
147
149
  "keypair": "1.0.4",
148
150
  "knex": "0.21.21",
149
- "knex-migrator": "4.1.3",
151
+ "knex-migrator": "4.2.2",
150
152
  "lodash": "4.17.21",
151
- "luxon": "2.3.0",
153
+ "luxon": "2.3.1",
152
154
  "mailgun-js": "0.22.0",
153
155
  "metascraper": "5.25.8",
154
156
  "metascraper-author": "5.25.8",
@@ -162,7 +164,7 @@
162
164
  "moment": "2.24.0",
163
165
  "moment-timezone": "0.5.23",
164
166
  "multer": "1.4.4",
165
- "mysql": "2.18.1",
167
+ "mysql2": "2.3.3",
166
168
  "nconf": "0.11.3",
167
169
  "node-jose": "2.1.0",
168
170
  "oembed-parser": "1.4.9",
@@ -184,14 +186,13 @@
184
186
  },
185
187
  "devDependencies": {
186
188
  "@lodder/grunt-postcss": "3.1.1",
187
- "@playwright/test": "1.19.1",
188
- "@tryghost/express-test": "0.5.0",
189
- "@tryghost/jest-snapshot": "0.3.2",
189
+ "@playwright/test": "1.19.2",
190
+ "@tryghost/express-test": "0.6.0",
190
191
  "c8": "7.11.0",
191
192
  "coffeescript": "2.6.1",
192
- "cssnano": "5.0.17",
193
- "eslint": "8.9.0",
194
- "eslint-plugin-ghost": "2.12.0",
193
+ "cssnano": "5.1.0",
194
+ "eslint": "8.10.0",
195
+ "eslint-plugin-ghost": "2.13.0",
195
196
  "grunt": "1.4.1",
196
197
  "grunt-bg-shell": "2.3.3",
197
198
  "grunt-contrib-clean": "2.0.0",
@@ -204,12 +205,12 @@
204
205
  "grunt-subgrunt": "1.3.0",
205
206
  "grunt-update-submodules": "0.4.1",
206
207
  "jwks-rsa": "2.0.5",
207
- "mocha": "9.2.0",
208
+ "mocha": "9.2.1",
208
209
  "mocha-slow-test-reporter": "0.1.2",
209
210
  "mock-knex": "0.4.10",
210
211
  "nock": "13.2.4",
211
212
  "papaparse": "5.3.1",
212
- "postcss": "8.4.6",
213
+ "postcss": "8.4.7",
213
214
  "rewire": "6.0.0",
214
215
  "should": "13.2.3",
215
216
  "sinon": "13.0.1",
@@ -217,7 +218,7 @@
217
218
  "tmp": "0.2.1"
218
219
  },
219
220
  "resolutions": {
220
- "@tryghost/logging": "2.0.3",
221
+ "@tryghost/logging": "2.0.4",
221
222
  "moment": "2.24.0",
222
223
  "moment-timezone": "0.5.23"
223
224
  }