ghost 5.25.5 → 5.26.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/components/tryghost-adapter-manager-5.26.1.tgz +0 -0
- package/components/tryghost-api-framework-5.26.1.tgz +0 -0
- package/components/{tryghost-api-version-compatibility-service-5.25.5.tgz → tryghost-api-version-compatibility-service-5.26.1.tgz} +0 -0
- package/components/{tryghost-audience-feedback-5.25.5.tgz → tryghost-audience-feedback-5.26.1.tgz} +0 -0
- package/components/tryghost-bootstrap-socket-5.26.1.tgz +0 -0
- package/components/{tryghost-constants-5.25.5.tgz → tryghost-constants-5.26.1.tgz} +0 -0
- package/components/{tryghost-custom-theme-settings-service-5.25.5.tgz → tryghost-custom-theme-settings-service-5.26.1.tgz} +0 -0
- package/components/{tryghost-data-generator-5.25.5.tgz → tryghost-data-generator-5.26.1.tgz} +0 -0
- package/components/tryghost-domain-events-5.26.1.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.26.1.tgz +0 -0
- package/components/{tryghost-email-analytics-service-5.25.5.tgz → tryghost-email-analytics-service-5.26.1.tgz} +0 -0
- package/components/tryghost-email-content-generator-5.26.1.tgz +0 -0
- package/components/tryghost-email-events-5.26.1.tgz +0 -0
- package/components/{tryghost-email-service-5.25.5.tgz → tryghost-email-service-5.26.1.tgz} +0 -0
- package/components/tryghost-email-suppression-list-5.26.1.tgz +0 -0
- package/components/{tryghost-express-dynamic-redirects-5.25.5.tgz → tryghost-express-dynamic-redirects-5.26.1.tgz} +0 -0
- package/components/tryghost-extract-api-key-5.26.1.tgz +0 -0
- package/components/{tryghost-html-to-plaintext-5.25.5.tgz → tryghost-html-to-plaintext-5.26.1.tgz} +0 -0
- package/components/tryghost-importer-revue-5.26.1.tgz +0 -0
- package/components/tryghost-job-manager-5.26.1.tgz +0 -0
- package/components/{tryghost-link-redirects-5.25.5.tgz → tryghost-link-redirects-5.26.1.tgz} +0 -0
- package/components/tryghost-link-replacer-5.26.1.tgz +0 -0
- package/components/{tryghost-link-tracking-5.25.5.tgz → tryghost-link-tracking-5.26.1.tgz} +0 -0
- package/components/{tryghost-magic-link-5.25.5.tgz → tryghost-magic-link-5.26.1.tgz} +0 -0
- package/components/{tryghost-mailgun-client-5.25.5.tgz → tryghost-mailgun-client-5.26.1.tgz} +0 -0
- package/components/{tryghost-member-attribution-5.25.5.tgz → tryghost-member-attribution-5.26.1.tgz} +0 -0
- package/components/{tryghost-member-events-5.25.5.tgz → tryghost-member-events-5.26.1.tgz} +0 -0
- package/components/tryghost-members-api-5.26.1.tgz +0 -0
- package/components/{tryghost-members-csv-5.25.5.tgz → tryghost-members-csv-5.26.1.tgz} +0 -0
- package/components/{tryghost-members-events-service-5.25.5.tgz → tryghost-members-events-service-5.26.1.tgz} +0 -0
- package/components/{tryghost-members-importer-5.25.5.tgz → tryghost-members-importer-5.26.1.tgz} +0 -0
- package/components/{tryghost-members-offers-5.25.5.tgz → tryghost-members-offers-5.26.1.tgz} +0 -0
- package/components/tryghost-members-payments-5.26.1.tgz +0 -0
- package/components/{tryghost-members-ssr-5.25.5.tgz → tryghost-members-ssr-5.26.1.tgz} +0 -0
- package/components/{tryghost-members-stripe-service-5.25.5.tgz → tryghost-members-stripe-service-5.26.1.tgz} +0 -0
- package/components/tryghost-minifier-5.26.1.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.26.1.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.26.1.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.26.1.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.26.1.tgz +0 -0
- package/components/{tryghost-mw-update-user-last-seen-5.25.5.tgz → tryghost-mw-update-user-last-seen-5.26.1.tgz} +0 -0
- package/components/tryghost-mw-vhost-5.26.1.tgz +0 -0
- package/components/tryghost-oembed-service-5.26.1.tgz +0 -0
- package/components/tryghost-package-json-5.26.1.tgz +0 -0
- package/components/tryghost-referrers-5.26.1.tgz +0 -0
- package/components/tryghost-security-5.26.1.tgz +0 -0
- package/components/{tryghost-session-service-5.25.5.tgz → tryghost-session-service-5.26.1.tgz} +0 -0
- package/components/tryghost-settings-path-manager-5.26.1.tgz +0 -0
- package/components/{tryghost-staff-service-5.25.5.tgz → tryghost-staff-service-5.26.1.tgz} +0 -0
- package/components/tryghost-stats-service-5.26.1.tgz +0 -0
- package/components/{tryghost-tiers-5.25.5.tgz → tryghost-tiers-5.26.1.tgz} +0 -0
- package/components/{tryghost-update-check-service-5.25.5.tgz → tryghost-update-check-service-5.26.1.tgz} +0 -0
- package/components/{tryghost-verification-trigger-5.25.5.tgz → tryghost-verification-trigger-5.26.1.tgz} +0 -0
- package/components/{tryghost-version-notifications-data-service-5.25.5.tgz → tryghost-version-notifications-data-service-5.26.1.tgz} +0 -0
- package/content/themes/casper/assets/built/casper.js +1 -1
- package/content/themes/casper/assets/built/casper.js.map +1 -1
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/built/screen.css.map +1 -1
- package/content/themes/casper/assets/css/screen.css +36 -12
- package/content/themes/casper/assets/js/dropdown.js +3 -2
- package/content/themes/casper/default.hbs +3 -3
- package/content/themes/casper/package.json +1 -1
- package/core/built/admin/assets/{chunk.143.ce979d0e79756c847be1.js → chunk.143.71d8fe57c49a9c5b17b5.js} +5 -5
- package/core/built/admin/assets/{chunk.178.20fd180216b1dde2c738.js → chunk.178.3dd94acfb36b72a9f26d.js} +4 -4
- package/core/built/admin/assets/{chunk.613.7e15b585f6a677d191bb.js → chunk.613.25718fa355a25fc2a7c1.js} +8 -3
- package/core/built/admin/assets/{chunk.613.7e15b585f6a677d191bb.js.LICENSE.txt → chunk.613.25718fa355a25fc2a7c1.js.LICENSE.txt} +0 -0
- package/core/built/admin/assets/{ghost-04991abb5f64c0b3442a093dbfa55a67.js → ghost-5429d972966c85a0a24d766f93db999d.js} +3842 -2892
- package/core/built/admin/assets/{ghost-86cf21b24691d4fe9a73bcf84e5b36fe.css → ghost-830670d910cea64d98ab083aafd1dffd.css} +1 -1
- package/core/built/admin/assets/{ghost-dark-2e0bf27a167574e0b2ca9dce1c9ec188.css → ghost-dark-e9195020925a360d83163e1e87b514a6.css} +1 -1
- package/core/built/admin/assets/{vendor-a5908fe1facfc5cd41d8b915a996bfed.js → vendor-5aae14724f891e36c43786254980485c.js} +1447 -1158
- package/core/built/admin/index.html +6 -6
- package/core/server/data/importer/handlers/json.js +2 -0
- package/core/server/data/importer/handlers/revue.js +44 -0
- package/core/server/data/importer/import-manager.js +22 -10
- package/core/server/data/importer/importers/data/data-importer.js +4 -0
- package/core/server/data/importer/importers/data/posts.js +4 -0
- package/core/server/data/importer/importers/data/revue-subscriber.js +55 -0
- package/package.json +103 -101
- package/yarn.lock +59 -209
- package/components/tryghost-adapter-manager-5.25.5.tgz +0 -0
- package/components/tryghost-api-framework-5.25.5.tgz +0 -0
- package/components/tryghost-bootstrap-socket-5.25.5.tgz +0 -0
- package/components/tryghost-domain-events-5.25.5.tgz +0 -0
- package/components/tryghost-email-analytics-provider-mailgun-5.25.5.tgz +0 -0
- package/components/tryghost-email-content-generator-5.25.5.tgz +0 -0
- package/components/tryghost-email-events-5.25.5.tgz +0 -0
- package/components/tryghost-email-suppression-list-5.25.5.tgz +0 -0
- package/components/tryghost-extract-api-key-5.25.5.tgz +0 -0
- package/components/tryghost-job-manager-5.25.5.tgz +0 -0
- package/components/tryghost-link-replacer-5.25.5.tgz +0 -0
- package/components/tryghost-members-api-5.25.5.tgz +0 -0
- package/components/tryghost-members-payments-5.25.5.tgz +0 -0
- package/components/tryghost-minifier-5.25.5.tgz +0 -0
- package/components/tryghost-mw-api-version-mismatch-5.25.5.tgz +0 -0
- package/components/tryghost-mw-cache-control-5.25.5.tgz +0 -0
- package/components/tryghost-mw-error-handler-5.25.5.tgz +0 -0
- package/components/tryghost-mw-session-from-token-5.25.5.tgz +0 -0
- package/components/tryghost-mw-vhost-5.25.5.tgz +0 -0
- package/components/tryghost-oembed-service-5.25.5.tgz +0 -0
- package/components/tryghost-package-json-5.25.5.tgz +0 -0
- package/components/tryghost-referrers-5.25.5.tgz +0 -0
- package/components/tryghost-security-5.25.5.tgz +0 -0
- package/components/tryghost-settings-path-manager-5.25.5.tgz +0 -0
- package/components/tryghost-stats-service-5.25.5.tgz +0 -0
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<title>Ghost Admin</title>
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%225.
|
|
11
|
+
<meta name="ghost-admin/config/environment" content="%7B%22modulePrefix%22%3A%22ghost-admin%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22%22%2C%22locationType%22%3A%22trailing-hash%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%2C%22Array%22%3Atrue%2C%22String%22%3Atrue%2C%22Function%22%3Afalse%7D%2C%22_APPLICATION_TEMPLATE_WRAPPER%22%3Afalse%2C%22_JQUERY_INTEGRATION%22%3Atrue%2C%22_TEMPLATE_ONLY_GLIMMER_COMPONENTS%22%3Atrue%7D%2C%22APP%22%3A%7B%22version%22%3A%225.26%22%2C%22name%22%3A%22ghost-admin%22%7D%2C%22ember-simple-auth%22%3A%7B%7D%2C%22%40sentry%2Fember%22%3A%7B%22disablePerformance%22%3Atrue%2C%22sentry%22%3A%7B%7D%7D%2C%22ember-cli-mirage%22%3A%7B%22usingProxy%22%3Afalse%2C%22useDefaultPassthroughs%22%3Atrue%7D%2C%22exportApplicationGlobal%22%3Afalse%2C%22ember-load%22%3A%7B%22loadingIndicatorClass%22%3A%22ember-load-indicator%22%7D%7D" />
|
|
12
12
|
|
|
13
13
|
<meta name="HandheldFriendly" content="True" />
|
|
14
14
|
<meta name="MobileOptimized" content="320" />
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
</style>
|
|
38
38
|
|
|
39
39
|
<link integrity="" rel="stylesheet" href="assets/vendor-3e6947aa681f0fb82b193090e520dc73.css">
|
|
40
|
-
<link integrity="" rel="stylesheet" href="assets/ghost-
|
|
40
|
+
<link integrity="" rel="stylesheet" href="assets/ghost-830670d910cea64d98ab083aafd1dffd.css" title="light">
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
</head>
|
|
@@ -56,9 +56,9 @@
|
|
|
56
56
|
|
|
57
57
|
<div id="ember-basic-dropdown-wormhole"></div>
|
|
58
58
|
|
|
59
|
-
<script src="assets/vendor-
|
|
60
|
-
<script src="assets/chunk.613.
|
|
61
|
-
<script src="assets/chunk.143.
|
|
62
|
-
<script src="assets/ghost-
|
|
59
|
+
<script src="assets/vendor-5aae14724f891e36c43786254980485c.js"></script>
|
|
60
|
+
<script src="assets/chunk.613.25718fa355a25fc2a7c1.js"></script>
|
|
61
|
+
<script src="assets/chunk.143.71d8fe57c49a9c5b17b5.js"></script>
|
|
62
|
+
<script src="assets/ghost-5429d972966c85a0a24d766f93db999d.js"></script>
|
|
63
63
|
</body>
|
|
64
64
|
</html>
|
|
@@ -2,6 +2,7 @@ const _ = require('lodash');
|
|
|
2
2
|
const fs = require('fs-extra');
|
|
3
3
|
const tpl = require('@tryghost/tpl');
|
|
4
4
|
const errors = require('@tryghost/errors');
|
|
5
|
+
const debug = require('@tryghost/debug')('importer:handler:data');
|
|
5
6
|
|
|
6
7
|
const messages = {
|
|
7
8
|
invalidJsonFormat: 'Invalid JSON format, expected `{ db: [exportedData] }`',
|
|
@@ -17,6 +18,7 @@ JSONHandler = {
|
|
|
17
18
|
directories: [],
|
|
18
19
|
|
|
19
20
|
loadFile: async function (files, startDir) { // eslint-disable-line no-unused-vars
|
|
21
|
+
debug('loadFile', files);
|
|
20
22
|
// @TODO: Handle multiple JSON files
|
|
21
23
|
const filePath = files[0].path;
|
|
22
24
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const _ = require('lodash');
|
|
2
|
+
const fs = require('fs-extra');
|
|
3
|
+
const debug = require('@tryghost/debug')('importer:handler:revue');
|
|
4
|
+
|
|
5
|
+
const hasIssuesCSV = (files) => {
|
|
6
|
+
return _.some(files, (file) => {
|
|
7
|
+
return file.name.match(/^issues.*?\.csv/);
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const RevueHandler = {
|
|
12
|
+
type: 'revue',
|
|
13
|
+
extensions: ['.csv', '.json'],
|
|
14
|
+
contentTypes: ['application/octet-stream', 'application/json', 'text/plain'],
|
|
15
|
+
directories: [],
|
|
16
|
+
|
|
17
|
+
loadFile: function (files, startDir) {
|
|
18
|
+
debug('loadFile', files);
|
|
19
|
+
const startDirRegex = startDir ? new RegExp('^' + startDir + '/') : new RegExp('');
|
|
20
|
+
const idRegex = /_.*?\./;
|
|
21
|
+
const ops = [];
|
|
22
|
+
const revue = {};
|
|
23
|
+
|
|
24
|
+
if (!hasIssuesCSV(files)) {
|
|
25
|
+
return Promise.resolve();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
_.each(files, function (file) {
|
|
29
|
+
ops.push(fs.readFile(file.path).then(function (content) {
|
|
30
|
+
// normalize the file name
|
|
31
|
+
file.name = file.name.replace(startDirRegex, '').replace(idRegex, '.');
|
|
32
|
+
const name = file.name.split('.')[0];
|
|
33
|
+
|
|
34
|
+
revue[name] = content.toString();
|
|
35
|
+
}));
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
return Promise.all(ops).then(() => {
|
|
39
|
+
return {meta: {revue: true}, revue};
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
module.exports = RevueHandler;
|
|
@@ -7,12 +7,15 @@ const uuid = require('uuid');
|
|
|
7
7
|
const config = require('../../../shared/config');
|
|
8
8
|
const {extract} = require('@tryghost/zip');
|
|
9
9
|
const tpl = require('@tryghost/tpl');
|
|
10
|
+
const debug = require('@tryghost/debug')('import-manager');
|
|
10
11
|
const logging = require('@tryghost/logging');
|
|
11
12
|
const errors = require('@tryghost/errors');
|
|
12
13
|
const ImageHandler = require('./handlers/image');
|
|
14
|
+
const RevueHandler = require('./handlers/revue');
|
|
13
15
|
const JSONHandler = require('./handlers/json');
|
|
14
16
|
const MarkdownHandler = require('./handlers/markdown');
|
|
15
17
|
const ImageImporter = require('./importers/image');
|
|
18
|
+
const RevueImporter = require('@tryghost/importer-revue');
|
|
16
19
|
const DataImporter = require('./importers/data');
|
|
17
20
|
const urlUtils = require('../../../shared/url-utils');
|
|
18
21
|
const {GhostMailer} = require('../../services/mail');
|
|
@@ -48,12 +51,12 @@ class ImportManager {
|
|
|
48
51
|
/**
|
|
49
52
|
* @type {Importer[]} importers
|
|
50
53
|
*/
|
|
51
|
-
this.importers = [ImageImporter, DataImporter];
|
|
54
|
+
this.importers = [ImageImporter, RevueImporter, DataImporter];
|
|
52
55
|
|
|
53
56
|
/**
|
|
54
57
|
* @type {Handler[]}
|
|
55
58
|
*/
|
|
56
|
-
this.handlers = [ImageHandler, JSONHandler, MarkdownHandler];
|
|
59
|
+
this.handlers = [ImageHandler, RevueHandler, JSONHandler, MarkdownHandler];
|
|
57
60
|
|
|
58
61
|
// Keep track of file to cleanup at the end
|
|
59
62
|
/**
|
|
@@ -240,6 +243,8 @@ class ImportManager {
|
|
|
240
243
|
for (const handler of this.handlers) {
|
|
241
244
|
const files = this.getFilesFromZip(handler, zipDirectory);
|
|
242
245
|
|
|
246
|
+
debug('handler', handler.type, files);
|
|
247
|
+
|
|
243
248
|
if (files.length > 0) {
|
|
244
249
|
if (Object.prototype.hasOwnProperty.call(importData, handler.type)) {
|
|
245
250
|
// This limitation is here to reduce the complexity of the importer for now
|
|
@@ -271,17 +276,19 @@ class ImportManager {
|
|
|
271
276
|
* @param {File} file
|
|
272
277
|
* @returns {Promise<ImportData>}
|
|
273
278
|
*/
|
|
274
|
-
processFile(file, ext) {
|
|
275
|
-
const
|
|
279
|
+
async processFile(file, ext) {
|
|
280
|
+
const fileHandlers = _.filter(this.handlers, function (handler) {
|
|
276
281
|
return _.includes(handler.extensions, ext);
|
|
277
282
|
});
|
|
278
283
|
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
});
|
|
284
|
+
const importData = {};
|
|
285
|
+
|
|
286
|
+
await Promise.all(fileHandlers.map(async (fileHandler) => {
|
|
287
|
+
debug('fileHandler', fileHandler.type);
|
|
288
|
+
importData[fileHandler.type] = await fileHandler.loadFile([_.pick(file, 'name', 'path')]);
|
|
289
|
+
}));
|
|
290
|
+
|
|
291
|
+
return importData;
|
|
285
292
|
}
|
|
286
293
|
|
|
287
294
|
/**
|
|
@@ -305,6 +312,7 @@ class ImportManager {
|
|
|
305
312
|
* @returns {Promise<ImportData>}
|
|
306
313
|
*/
|
|
307
314
|
async preProcess(importData) {
|
|
315
|
+
debug('preProcess');
|
|
308
316
|
for (const importer of this.importers) {
|
|
309
317
|
importData = importer.preProcess(importData);
|
|
310
318
|
}
|
|
@@ -321,10 +329,12 @@ class ImportManager {
|
|
|
321
329
|
* @returns {Promise<Object.<string, ImportResult>>} importResults
|
|
322
330
|
*/
|
|
323
331
|
async doImport(importData, importOptions) {
|
|
332
|
+
debug('doImport', this.importers);
|
|
324
333
|
importOptions = importOptions || {};
|
|
325
334
|
const importResults = {};
|
|
326
335
|
|
|
327
336
|
for (const importer of this.importers) {
|
|
337
|
+
debug('importer looking for', importer.type, 'in', Object.keys(importData));
|
|
328
338
|
if (Object.prototype.hasOwnProperty.call(importData, importer.type)) {
|
|
329
339
|
importResults[importer.type] = await importer.doImport(importData[importer.type], importOptions);
|
|
330
340
|
}
|
|
@@ -411,6 +421,8 @@ class ImportManager {
|
|
|
411
421
|
importData = await this.loadFile(file);
|
|
412
422
|
}
|
|
413
423
|
|
|
424
|
+
debug('importFromFile completed file load', importData);
|
|
425
|
+
|
|
414
426
|
const env = config.get('env');
|
|
415
427
|
if (!env?.startsWith('testing') && !importOptions.runningInJob) {
|
|
416
428
|
return jobManager.addJob({
|
|
@@ -14,6 +14,7 @@ const ProductsImporter = require('./products');
|
|
|
14
14
|
const StripeProductsImporter = require('./stripe-products');
|
|
15
15
|
const StripePricesImporter = require('./stripe-prices');
|
|
16
16
|
const CustomThemeSettingsImporter = require('./custom-theme-settings');
|
|
17
|
+
const RevueSubscriberImporter = require('./revue-subscriber');
|
|
17
18
|
const RolesImporter = require('./roles');
|
|
18
19
|
const {slugify} = require('@tryghost/string/lib');
|
|
19
20
|
|
|
@@ -24,6 +25,7 @@ DataImporter = {
|
|
|
24
25
|
type: 'data',
|
|
25
26
|
|
|
26
27
|
preProcess: function preProcess(importData) {
|
|
28
|
+
debug('preProcess');
|
|
27
29
|
importData.preProcessedByData = true;
|
|
28
30
|
return importData;
|
|
29
31
|
},
|
|
@@ -39,12 +41,14 @@ DataImporter = {
|
|
|
39
41
|
importers.stripe_prices = new StripePricesImporter(importData.data);
|
|
40
42
|
importers.posts = new PostsImporter(importData.data);
|
|
41
43
|
importers.custom_theme_settings = new CustomThemeSettingsImporter(importData.data);
|
|
44
|
+
importers.revue_subscribers = new RevueSubscriberImporter(importData.data);
|
|
42
45
|
|
|
43
46
|
return importData;
|
|
44
47
|
},
|
|
45
48
|
|
|
46
49
|
// Allow importing with an options object that is passed through the importer
|
|
47
50
|
doImport: async function doImport(importData, importOptions) {
|
|
51
|
+
debug('doImport');
|
|
48
52
|
importOptions = importOptions || {};
|
|
49
53
|
|
|
50
54
|
if (importOptions.importTag && importData?.data?.posts) {
|
|
@@ -272,7 +272,11 @@ class PostsImporter extends BaseImporter {
|
|
|
272
272
|
|
|
273
273
|
model.mobiledoc = JSON.stringify(mobiledoc);
|
|
274
274
|
model.html = mobiledocLib.mobiledocHtmlRenderer.render(JSON.parse(model.mobiledoc));
|
|
275
|
+
} else if (model.html) {
|
|
276
|
+
model.mobiledoc = JSON.stringify(mobiledocLib.htmlToMobiledocConverter(model.html));
|
|
277
|
+
model.html = mobiledocLib.mobiledocHtmlRenderer.render(JSON.parse(model.mobiledoc));
|
|
275
278
|
}
|
|
279
|
+
|
|
276
280
|
this.sanitizePostsMeta(model);
|
|
277
281
|
});
|
|
278
282
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
const debug = require('@tryghost/debug')('importer:revue-subscriber');
|
|
2
|
+
const BaseImporter = require('./base');
|
|
3
|
+
|
|
4
|
+
const papaparse = require('papaparse');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
const fs = require('fs-extra');
|
|
7
|
+
|
|
8
|
+
const config = require('../../../../../shared/config');
|
|
9
|
+
const models = require('../../../../models');
|
|
10
|
+
|
|
11
|
+
class RevueSubscriberImporter extends BaseImporter {
|
|
12
|
+
constructor(allDataFromFile) {
|
|
13
|
+
super(allDataFromFile, {
|
|
14
|
+
modelName: 'Member',
|
|
15
|
+
dataKeyToImport: 'revue_subscribers'
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
beforeImport() {
|
|
20
|
+
debug('beforeImport');
|
|
21
|
+
return super.beforeImport();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
async doImport(options, importOptions) {
|
|
25
|
+
debug('doImport', this.modelName, this.dataToImport.length);
|
|
26
|
+
|
|
27
|
+
// Don't do anything if there is no data to import
|
|
28
|
+
if (this.dataToImport.length === 0) {
|
|
29
|
+
return Promise.resolve();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// required here rather than top-level to avoid pulling in before it's initialized during boot
|
|
33
|
+
const membersService = require('../../../../services/members');
|
|
34
|
+
|
|
35
|
+
const importLabel = importOptions.importTag ? importOptions.importTag.replace(/^#/, '') : null;
|
|
36
|
+
|
|
37
|
+
const outputFileName = `Converted ${importLabel}.csv`;
|
|
38
|
+
const outputFilePath = path.join(config.getContentPath('data'), '/', outputFileName);
|
|
39
|
+
const csvData = papaparse.unparse(this.dataToImport);
|
|
40
|
+
|
|
41
|
+
const memberImporterOptions = {
|
|
42
|
+
pathToCSV: outputFilePath,
|
|
43
|
+
globalLabels: [{name: importLabel}],
|
|
44
|
+
importLabel: {name: importLabel},
|
|
45
|
+
LabelModel: models.Label,
|
|
46
|
+
forceInline: true
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
await fs.writeFile(outputFilePath, csvData);
|
|
50
|
+
|
|
51
|
+
return membersService.processImport(memberImporterOptions);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
module.exports = RevueSubscriberImporter;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ghost",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.26.1",
|
|
4
4
|
"description": "The professional publishing platform",
|
|
5
5
|
"author": "Ghost Foundation",
|
|
6
6
|
"homepage": "https://ghost.org",
|
|
@@ -58,33 +58,34 @@
|
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@sentry/node": "7.11.1",
|
|
60
60
|
"@tryghost/adapter-base-cache": "0.1.3",
|
|
61
|
-
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.
|
|
61
|
+
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.26.1.tgz",
|
|
62
62
|
"@tryghost/admin-api-schema": "4.2.1",
|
|
63
|
-
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.
|
|
64
|
-
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.
|
|
65
|
-
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.
|
|
63
|
+
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.26.1.tgz",
|
|
64
|
+
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.26.1.tgz",
|
|
65
|
+
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.26.1.tgz",
|
|
66
66
|
"@tryghost/bookshelf-plugins": "0.6.2",
|
|
67
|
-
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.
|
|
67
|
+
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.26.1.tgz",
|
|
68
68
|
"@tryghost/color-utils": "0.1.22",
|
|
69
69
|
"@tryghost/config-url-helpers": "1.0.4",
|
|
70
|
-
"@tryghost/constants": "file:components/tryghost-constants-5.
|
|
71
|
-
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.
|
|
72
|
-
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.
|
|
70
|
+
"@tryghost/constants": "file:components/tryghost-constants-5.26.1.tgz",
|
|
71
|
+
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.26.1.tgz",
|
|
72
|
+
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.26.1.tgz",
|
|
73
73
|
"@tryghost/database-info": "0.3.13",
|
|
74
74
|
"@tryghost/debug": "0.1.20",
|
|
75
|
-
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.
|
|
76
|
-
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.
|
|
77
|
-
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.
|
|
78
|
-
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.
|
|
79
|
-
"@tryghost/email-service": "file:components/tryghost-email-service-5.
|
|
80
|
-
"@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.
|
|
75
|
+
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.26.1.tgz",
|
|
76
|
+
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.26.1.tgz",
|
|
77
|
+
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.26.1.tgz",
|
|
78
|
+
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.26.1.tgz",
|
|
79
|
+
"@tryghost/email-service": "file:components/tryghost-email-service-5.26.1.tgz",
|
|
80
|
+
"@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.26.1.tgz",
|
|
81
81
|
"@tryghost/errors": "1.2.19",
|
|
82
|
-
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.
|
|
82
|
+
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.26.1.tgz",
|
|
83
83
|
"@tryghost/helpers": "1.1.75",
|
|
84
|
-
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.
|
|
84
|
+
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.26.1.tgz",
|
|
85
85
|
"@tryghost/http-cache-utils": "0.1.5",
|
|
86
86
|
"@tryghost/image-transform": "1.2.3",
|
|
87
|
-
"@tryghost/
|
|
87
|
+
"@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.26.1.tgz",
|
|
88
|
+
"@tryghost/job-manager": "file:components/tryghost-job-manager-5.26.1.tgz",
|
|
88
89
|
"@tryghost/kg-card-factory": "3.1.9",
|
|
89
90
|
"@tryghost/kg-default-atoms": "3.1.4",
|
|
90
91
|
"@tryghost/kg-default-cards": "5.18.7",
|
|
@@ -92,48 +93,48 @@
|
|
|
92
93
|
"@tryghost/kg-lexical-html-renderer": "0.0.11",
|
|
93
94
|
"@tryghost/kg-mobiledoc-html-renderer": "5.3.11",
|
|
94
95
|
"@tryghost/limit-service": "1.2.4",
|
|
95
|
-
"@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.
|
|
96
|
-
"@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.
|
|
97
|
-
"@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.
|
|
96
|
+
"@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.26.1.tgz",
|
|
97
|
+
"@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.26.1.tgz",
|
|
98
|
+
"@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.26.1.tgz",
|
|
98
99
|
"@tryghost/logging": "2.3.5",
|
|
99
|
-
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.
|
|
100
|
-
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.
|
|
101
|
-
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.
|
|
102
|
-
"@tryghost/member-events": "file:components/tryghost-member-events-5.
|
|
103
|
-
"@tryghost/members-api": "file:components/tryghost-members-api-5.
|
|
104
|
-
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.
|
|
105
|
-
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.
|
|
106
|
-
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.
|
|
107
|
-
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.
|
|
108
|
-
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.
|
|
109
|
-
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.
|
|
100
|
+
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.26.1.tgz",
|
|
101
|
+
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.26.1.tgz",
|
|
102
|
+
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.26.1.tgz",
|
|
103
|
+
"@tryghost/member-events": "file:components/tryghost-member-events-5.26.1.tgz",
|
|
104
|
+
"@tryghost/members-api": "file:components/tryghost-members-api-5.26.1.tgz",
|
|
105
|
+
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.26.1.tgz",
|
|
106
|
+
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.26.1.tgz",
|
|
107
|
+
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.26.1.tgz",
|
|
108
|
+
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.26.1.tgz",
|
|
109
|
+
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.26.1.tgz",
|
|
110
|
+
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.26.1.tgz",
|
|
110
111
|
"@tryghost/metrics": "1.0.19",
|
|
111
|
-
"@tryghost/minifier": "file:components/tryghost-minifier-5.
|
|
112
|
-
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.
|
|
113
|
-
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.
|
|
114
|
-
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.
|
|
115
|
-
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.
|
|
116
|
-
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.
|
|
112
|
+
"@tryghost/minifier": "file:components/tryghost-minifier-5.26.1.tgz",
|
|
113
|
+
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.26.1.tgz",
|
|
114
|
+
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.26.1.tgz",
|
|
115
|
+
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.26.1.tgz",
|
|
116
|
+
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.26.1.tgz",
|
|
117
|
+
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.26.1.tgz",
|
|
117
118
|
"@tryghost/nodemailer": "0.3.30",
|
|
118
119
|
"@tryghost/nql": "0.11.0",
|
|
119
|
-
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.
|
|
120
|
-
"@tryghost/package-json": "file:components/tryghost-package-json-5.
|
|
120
|
+
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.26.1.tgz",
|
|
121
|
+
"@tryghost/package-json": "file:components/tryghost-package-json-5.26.1.tgz",
|
|
121
122
|
"@tryghost/pretty-cli": "1.2.32",
|
|
122
123
|
"@tryghost/promise": "0.2.1",
|
|
123
124
|
"@tryghost/request": "0.1.33",
|
|
124
|
-
"@tryghost/security": "file:components/tryghost-security-5.
|
|
125
|
-
"@tryghost/session-service": "file:components/tryghost-session-service-5.
|
|
126
|
-
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.
|
|
125
|
+
"@tryghost/security": "file:components/tryghost-security-5.26.1.tgz",
|
|
126
|
+
"@tryghost/session-service": "file:components/tryghost-session-service-5.26.1.tgz",
|
|
127
|
+
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.26.1.tgz",
|
|
127
128
|
"@tryghost/social-urls": "0.1.34",
|
|
128
|
-
"@tryghost/staff-service": "file:components/tryghost-staff-service-5.
|
|
129
|
-
"@tryghost/stats-service": "file:components/tryghost-stats-service-5.
|
|
129
|
+
"@tryghost/staff-service": "file:components/tryghost-staff-service-5.26.1.tgz",
|
|
130
|
+
"@tryghost/stats-service": "file:components/tryghost-stats-service-5.26.1.tgz",
|
|
130
131
|
"@tryghost/string": "0.2.2",
|
|
131
|
-
"@tryghost/tiers": "file:components/tryghost-tiers-5.
|
|
132
|
+
"@tryghost/tiers": "file:components/tryghost-tiers-5.26.1.tgz",
|
|
132
133
|
"@tryghost/tpl": "0.1.20",
|
|
133
|
-
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.
|
|
134
|
+
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.26.1.tgz",
|
|
134
135
|
"@tryghost/url-utils": "4.3.0",
|
|
135
136
|
"@tryghost/validator": "0.1.31",
|
|
136
|
-
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.
|
|
137
|
+
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.26.1.tgz",
|
|
137
138
|
"@tryghost/version": "0.1.18",
|
|
138
139
|
"@tryghost/zip": "1.1.30",
|
|
139
140
|
"amperize": "0.6.1",
|
|
@@ -229,58 +230,59 @@
|
|
|
229
230
|
"@tryghost/logging": "2.3.5",
|
|
230
231
|
"moment": "2.24.0",
|
|
231
232
|
"moment-timezone": "0.5.23",
|
|
232
|
-
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.
|
|
233
|
-
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.
|
|
234
|
-
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.
|
|
235
|
-
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.
|
|
236
|
-
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.
|
|
237
|
-
"@tryghost/constants": "file:components/tryghost-constants-5.
|
|
238
|
-
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.
|
|
239
|
-
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.
|
|
240
|
-
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.
|
|
241
|
-
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.
|
|
242
|
-
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.
|
|
243
|
-
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.
|
|
244
|
-
"@tryghost/email-events": "file:components/tryghost-email-events-5.
|
|
245
|
-
"@tryghost/email-service": "file:components/tryghost-email-service-5.
|
|
246
|
-
"@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.
|
|
247
|
-
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.
|
|
248
|
-
"@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.
|
|
249
|
-
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.
|
|
250
|
-
"@tryghost/
|
|
251
|
-
"@tryghost/
|
|
252
|
-
"@tryghost/link-
|
|
253
|
-
"@tryghost/link-
|
|
254
|
-
"@tryghost/
|
|
255
|
-
"@tryghost/
|
|
256
|
-
"@tryghost/
|
|
257
|
-
"@tryghost/member-
|
|
258
|
-
"@tryghost/
|
|
259
|
-
"@tryghost/members-
|
|
260
|
-
"@tryghost/members-
|
|
261
|
-
"@tryghost/members-
|
|
262
|
-
"@tryghost/members-
|
|
263
|
-
"@tryghost/
|
|
264
|
-
"@tryghost/
|
|
265
|
-
"@tryghost/mw-
|
|
266
|
-
"@tryghost/mw-
|
|
267
|
-
"@tryghost/mw-
|
|
268
|
-
"@tryghost/mw-
|
|
269
|
-
"@tryghost/mw-
|
|
270
|
-
"@tryghost/
|
|
271
|
-
"@tryghost/
|
|
272
|
-
"@tryghost/
|
|
273
|
-
"@tryghost/
|
|
274
|
-
"@tryghost/
|
|
275
|
-
"@tryghost/
|
|
276
|
-
"@tryghost/
|
|
277
|
-
"@tryghost/
|
|
278
|
-
"@tryghost/
|
|
279
|
-
"@tryghost/
|
|
280
|
-
"@tryghost/
|
|
281
|
-
"@tryghost/
|
|
282
|
-
"@tryghost/
|
|
283
|
-
"@tryghost/
|
|
284
|
-
"@tryghost/
|
|
233
|
+
"@tryghost/adapter-manager": "file:components/tryghost-adapter-manager-5.26.1.tgz",
|
|
234
|
+
"@tryghost/api-framework": "file:components/tryghost-api-framework-5.26.1.tgz",
|
|
235
|
+
"@tryghost/api-version-compatibility-service": "file:components/tryghost-api-version-compatibility-service-5.26.1.tgz",
|
|
236
|
+
"@tryghost/audience-feedback": "file:components/tryghost-audience-feedback-5.26.1.tgz",
|
|
237
|
+
"@tryghost/bootstrap-socket": "file:components/tryghost-bootstrap-socket-5.26.1.tgz",
|
|
238
|
+
"@tryghost/constants": "file:components/tryghost-constants-5.26.1.tgz",
|
|
239
|
+
"@tryghost/custom-theme-settings-service": "file:components/tryghost-custom-theme-settings-service-5.26.1.tgz",
|
|
240
|
+
"@tryghost/data-generator": "file:components/tryghost-data-generator-5.26.1.tgz",
|
|
241
|
+
"@tryghost/domain-events": "file:components/tryghost-domain-events-5.26.1.tgz",
|
|
242
|
+
"@tryghost/email-analytics-provider-mailgun": "file:components/tryghost-email-analytics-provider-mailgun-5.26.1.tgz",
|
|
243
|
+
"@tryghost/email-analytics-service": "file:components/tryghost-email-analytics-service-5.26.1.tgz",
|
|
244
|
+
"@tryghost/email-content-generator": "file:components/tryghost-email-content-generator-5.26.1.tgz",
|
|
245
|
+
"@tryghost/email-events": "file:components/tryghost-email-events-5.26.1.tgz",
|
|
246
|
+
"@tryghost/email-service": "file:components/tryghost-email-service-5.26.1.tgz",
|
|
247
|
+
"@tryghost/email-suppression-list": "file:components/tryghost-email-suppression-list-5.26.1.tgz",
|
|
248
|
+
"@tryghost/express-dynamic-redirects": "file:components/tryghost-express-dynamic-redirects-5.26.1.tgz",
|
|
249
|
+
"@tryghost/extract-api-key": "file:components/tryghost-extract-api-key-5.26.1.tgz",
|
|
250
|
+
"@tryghost/html-to-plaintext": "file:components/tryghost-html-to-plaintext-5.26.1.tgz",
|
|
251
|
+
"@tryghost/importer-revue": "file:components/tryghost-importer-revue-5.26.1.tgz",
|
|
252
|
+
"@tryghost/job-manager": "file:components/tryghost-job-manager-5.26.1.tgz",
|
|
253
|
+
"@tryghost/link-redirects": "file:components/tryghost-link-redirects-5.26.1.tgz",
|
|
254
|
+
"@tryghost/link-replacer": "file:components/tryghost-link-replacer-5.26.1.tgz",
|
|
255
|
+
"@tryghost/link-tracking": "file:components/tryghost-link-tracking-5.26.1.tgz",
|
|
256
|
+
"@tryghost/magic-link": "file:components/tryghost-magic-link-5.26.1.tgz",
|
|
257
|
+
"@tryghost/mailgun-client": "file:components/tryghost-mailgun-client-5.26.1.tgz",
|
|
258
|
+
"@tryghost/member-attribution": "file:components/tryghost-member-attribution-5.26.1.tgz",
|
|
259
|
+
"@tryghost/member-events": "file:components/tryghost-member-events-5.26.1.tgz",
|
|
260
|
+
"@tryghost/members-api": "file:components/tryghost-members-api-5.26.1.tgz",
|
|
261
|
+
"@tryghost/members-csv": "file:components/tryghost-members-csv-5.26.1.tgz",
|
|
262
|
+
"@tryghost/members-events-service": "file:components/tryghost-members-events-service-5.26.1.tgz",
|
|
263
|
+
"@tryghost/members-importer": "file:components/tryghost-members-importer-5.26.1.tgz",
|
|
264
|
+
"@tryghost/members-ssr": "file:components/tryghost-members-ssr-5.26.1.tgz",
|
|
265
|
+
"@tryghost/minifier": "file:components/tryghost-minifier-5.26.1.tgz",
|
|
266
|
+
"@tryghost/mw-api-version-mismatch": "file:components/tryghost-mw-api-version-mismatch-5.26.1.tgz",
|
|
267
|
+
"@tryghost/mw-cache-control": "file:components/tryghost-mw-cache-control-5.26.1.tgz",
|
|
268
|
+
"@tryghost/mw-error-handler": "file:components/tryghost-mw-error-handler-5.26.1.tgz",
|
|
269
|
+
"@tryghost/mw-session-from-token": "file:components/tryghost-mw-session-from-token-5.26.1.tgz",
|
|
270
|
+
"@tryghost/mw-update-user-last-seen": "file:components/tryghost-mw-update-user-last-seen-5.26.1.tgz",
|
|
271
|
+
"@tryghost/mw-vhost": "file:components/tryghost-mw-vhost-5.26.1.tgz",
|
|
272
|
+
"@tryghost/oembed-service": "file:components/tryghost-oembed-service-5.26.1.tgz",
|
|
273
|
+
"@tryghost/members-offers": "file:components/tryghost-members-offers-5.26.1.tgz",
|
|
274
|
+
"@tryghost/package-json": "file:components/tryghost-package-json-5.26.1.tgz",
|
|
275
|
+
"@tryghost/members-payments": "file:components/tryghost-members-payments-5.26.1.tgz",
|
|
276
|
+
"@tryghost/referrers": "file:components/tryghost-referrers-5.26.1.tgz",
|
|
277
|
+
"@tryghost/security": "file:components/tryghost-security-5.26.1.tgz",
|
|
278
|
+
"@tryghost/session-service": "file:components/tryghost-session-service-5.26.1.tgz",
|
|
279
|
+
"@tryghost/settings-path-manager": "file:components/tryghost-settings-path-manager-5.26.1.tgz",
|
|
280
|
+
"@tryghost/staff-service": "file:components/tryghost-staff-service-5.26.1.tgz",
|
|
281
|
+
"@tryghost/stats-service": "file:components/tryghost-stats-service-5.26.1.tgz",
|
|
282
|
+
"@tryghost/members-stripe-service": "file:components/tryghost-members-stripe-service-5.26.1.tgz",
|
|
283
|
+
"@tryghost/tiers": "file:components/tryghost-tiers-5.26.1.tgz",
|
|
284
|
+
"@tryghost/update-check-service": "file:components/tryghost-update-check-service-5.26.1.tgz",
|
|
285
|
+
"@tryghost/verification-trigger": "file:components/tryghost-verification-trigger-5.26.1.tgz",
|
|
286
|
+
"@tryghost/version-notifications-data-service": "file:components/tryghost-version-notifications-data-service-5.26.1.tgz"
|
|
285
287
|
}
|
|
286
288
|
}
|