0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-03-11 02:12:21 -05:00

Moved active theme to new theme engine service

refs: bf0823c9a2

- continuing the work of splitting up the theme service into logical components
- this is where it starts to get fiddly as the getActive function in themeService index is required across the frontend/backend mostly due to its use in the getApiVersion method
- for now left one usage of the getActive method in place in ghost-locals middleware ready for the next phase of the refactor, which will move some of the themeService index into a shared location
This commit is contained in:
Hannah Wolfe 2021-04-23 13:22:45 +01:00
parent 8980c3051a
commit 34d2cc1b0b
26 changed files with 147 additions and 147 deletions

View file

@ -3,7 +3,7 @@ const debug = require('ghost-ignition').debug('services:routing:controllers:chan
const {i18n} = require('../../../../server/lib/common');
const errors = require('@tryghost/errors');
const security = require('@tryghost/security');
const themeService = require('../../themes');
const themeEngine = require('../../theme-engine');
const helpers = require('../helpers');
/**
@ -28,7 +28,7 @@ module.exports = function channelController(req, res, next) {
// CASE 1: routes.yaml `limit` is stronger than theme definition
// CASE 2: use `posts_per_page` config from theme as `limit` value
if (res.routerOptions.limit) {
themeService.getActive().updateTemplateOptions({
themeEngine.getActive().updateTemplateOptions({
data: {
config: {
posts_per_page: res.routerOptions.limit
@ -38,7 +38,7 @@ module.exports = function channelController(req, res, next) {
pathOptions.limit = res.routerOptions.limit;
} else {
const postsPerPage = parseInt(themeService.getActive().config('posts_per_page'));
const postsPerPage = parseInt(themeEngine.getActive().config('posts_per_page'));
if (!isNaN(postsPerPage) && postsPerPage > 0) {
pathOptions.limit = postsPerPage;

View file

@ -4,7 +4,7 @@ const {i18n} = require('../../proxy');
const errors = require('@tryghost/errors');
const security = require('@tryghost/security');
const urlService = require('../../url');
const themeService = require('../../themes');
const themeEngine = require('../../theme-engine');
const helpers = require('../helpers');
/**
@ -26,7 +26,7 @@ module.exports = function collectionController(req, res, next) {
// CASE 1: routes.yaml `limit` is stronger than theme definition
// CASE 2: use `posts_per_page` config from theme as `limit` value
if (res.routerOptions.limit) {
themeService.getActive().updateTemplateOptions({
themeEngine.getActive().updateTemplateOptions({
data: {
config: {
posts_per_page: res.routerOptions.limit
@ -36,7 +36,7 @@ module.exports = function collectionController(req, res, next) {
pathOptions.limit = res.routerOptions.limit;
} else {
const postsPerPage = parseInt(themeService.getActive().config('posts_per_page'));
const postsPerPage = parseInt(themeEngine.getActive().config('posts_per_page'));
if (!isNaN(postsPerPage) && postsPerPage > 0) {
pathOptions.limit = postsPerPage;

View file

@ -7,7 +7,7 @@ const _ = require('lodash');
const path = require('path');
const url = require('url');
const config = require('../../../../shared/config');
const themeService = require('../../themes');
const themeEngine = require('../../theme-engine');
const _private = {};
/**
@ -116,7 +116,7 @@ _private.pickTemplate = function pickTemplate(templateList, fallback) {
templateList = [templateList];
}
if (!themeService.getActive()) {
if (!themeEngine.getActive()) {
template = fallback;
} else {
template = _.find(templateList, function (templateName) {
@ -124,7 +124,7 @@ _private.pickTemplate = function pickTemplate(templateList, fallback) {
return;
}
return themeService.getActive().hasTemplate(templateName);
return themeEngine.getActive().hasTemplate(templateName);
});
}

View file

@ -14,10 +14,10 @@
const join = require('path').join;
const _ = require('lodash');
const themeConfig = require('../theme-engine/config');
const themeEngines = require('../theme-engine/engines');
const themeConfig = require('./config');
const themeEngines = require('./engines');
const config = require('../../../shared/config');
const engine = require('../theme-engine/engine');
const engine = require('./engine');
// Current instance of ActiveTheme
let currentActiveTheme;

View file

@ -1,3 +1,4 @@
module.exports = {
loadCoreHelpers: require('./handlebars/helpers').loadCoreHelpers
loadCoreHelpers: require('./handlebars/helpers').loadCoreHelpers,
getActive: require('./active').get
};

View file

@ -1,7 +1,7 @@
const {events, i18n} = require('../../../server/lib/common');
const logging = require('../../../shared/logging');
const errors = require('@tryghost/errors');
const active = require('./active');
const active = require('../theme-engine/active');
function activate(loadedTheme, checkedTheme, error) {
// no need to check the score, activation should be used in combination with validate.check

View file

@ -3,7 +3,7 @@ const {i18n, events} = require('../../../server/lib/common');
const logging = require('../../../shared/logging');
const settingsCache = require('../../../server/services/settings/cache');
const config = require('../../../shared/config');
const active = require('./active');
const active = require('../theme-engine/active');
const jp = require('jsonpath');
const isNil = require('lodash/isNil');

View file

@ -4,7 +4,7 @@ const {i18n: commonI18n} = require('../proxy');
const logging = require('../../../shared/logging');
const errors = require('@tryghost/errors');
const themeLoader = require('./loader');
const active = require('./active');
const active = require('../theme-engine/active');
const activate = require('./activate');
const validate = require('./validate');
const i18n = require('./i18n');

View file

@ -6,7 +6,7 @@ const {i18n} = require('../proxy');
const errors = require('@tryghost/errors');
const settingsCache = require('../../../server/services/settings/cache');
const labs = require('../../../server/services/labs');
const activeTheme = require('./active');
const activeTheme = require('../theme-engine/active');
const preview = require('./preview');
// ### Ensure Active Theme

View file

@ -1,6 +1,6 @@
const _ = require('lodash');
const themeList = require('./list');
const active = require('./active');
const active = require('../theme-engine/active');
const packageJSON = require('../../../server/lib/fs/package-json');
const settingsCache = require('../../../server/services/settings/cache');

View file

@ -2,7 +2,7 @@ const _ = require('lodash');
const path = require('path');
const imageTransform = require('@tryghost/image-transform');
const storage = require('../../../adapters/storage');
const activeTheme = require('../../../../frontend/services/themes/active');
const activeTheme = require('../../../../frontend/services/theme-engine/active');
const config = require('../../../../shared/config');
const SIZE_PATH_REGEX = /^\/size\/([^/]+)\//;

View file

@ -1,7 +1,7 @@
const path = require('path');
const config = require('../../../../shared/config');
const constants = require('@tryghost/constants');
const themeService = require('../../../../frontend/services/themes');
const themeEngine = require('../../../../frontend/services/theme-engine');
const express = require('../../../../shared/express');
function isBlackListedFileType(file) {
@ -19,13 +19,13 @@ function isWhiteListedFile(file) {
}
function forwardToExpressStatic(req, res, next) {
if (!themeService.getActive()) {
if (!themeEngine.getActive()) {
return next();
}
const configMaxAge = config.get('caching:theme:maxAge');
express.static(themeService.getActive().path,
express.static(themeEngine.getActive().path,
{maxAge: (configMaxAge || configMaxAge === 0) ? configMaxAge : constants.ONE_YEAR_MS}
)(req, res, next);
}

View file

@ -8,7 +8,7 @@ const configUtils = require('../../../utils/configUtils');
const urlUtils = require('../../../utils/urlUtils');
const appService = require('../../../../core/frontend/services/apps');
const frontendSettingsService = require('../../../../core/frontend/services/settings');
const themeService = require('../../../../core/frontend/services/themes');
const themeEngine = require('../../../../core/frontend/services/theme-engine');
const siteApp = require('../../../../core/server/web/parent/app');
describe('Integration - Web - Site canary', function () {
@ -28,8 +28,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -397,8 +397,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -516,8 +516,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -577,8 +577,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -679,8 +679,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -765,8 +765,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -923,8 +923,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1040,8 +1040,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1110,8 +1110,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1169,8 +1169,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1355,8 +1355,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(10);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(10);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1605,8 +1605,8 @@ describe('Integration - Web - Site canary', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('canary');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();

View file

@ -8,7 +8,7 @@ const configUtils = require('../../../utils/configUtils');
const urlUtils = require('../../../utils/urlUtils');
const appService = require('../../../../core/frontend/services/apps');
const frontendSettingsService = require('../../../../core/frontend/services/settings');
const themeService = require('../../../../core/frontend/services/themes');
const themeEngine = require('../../../../core/frontend/services/theme-engine');
const siteApp = require('../../../../core/server/web/parent/app');
describe('Integration - Web - Site v2', function () {
@ -28,8 +28,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -397,8 +397,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -514,8 +514,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -575,8 +575,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -677,8 +677,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -763,8 +763,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -921,8 +921,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1038,8 +1038,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1108,8 +1108,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1167,8 +1167,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1353,8 +1353,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(10);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(10);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1603,8 +1603,8 @@ describe('Integration - Web - Site v2', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();

View file

@ -8,7 +8,7 @@ const configUtils = require('../../../utils/configUtils');
const urlUtils = require('../../../utils/urlUtils');
const appService = require('../../../../core/frontend/services/apps');
const frontendSettingsService = require('../../../../core/frontend/services/settings');
const themeService = require('../../../../core/frontend/services/themes');
const themeEngine = require('../../../../core/frontend/services/theme-engine');
const siteApp = require('../../../../core/server/web/parent/app');
describe('Integration - Web - Site v3', function () {
@ -28,8 +28,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -399,8 +399,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -516,8 +516,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -577,8 +577,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -679,8 +679,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -765,8 +765,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -923,8 +923,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1040,8 +1040,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1110,8 +1110,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1169,8 +1169,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1355,8 +1355,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(10);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(10);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -1606,8 +1606,8 @@ describe('Integration - Web - Site v3', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v3');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();

View file

@ -6,7 +6,7 @@ const mockUtils = require('../../utils/mocks');
const configUtils = require('../../utils/configUtils');
const urlUtils = require('../../utils/urlUtils');
const appService = require('../../../core/frontend/services/apps');
const themeService = require('../../../core/frontend/services/themes');
const themeEngine = require('../../../core/frontend/services/theme-engine');
const siteApp = require('../../../core/server/web/parent/app');
describe('Integration - Web - vhosts', function () {
@ -33,8 +33,8 @@ describe('Integration - Web - vhosts', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -152,8 +152,8 @@ describe('Integration - Web - vhosts', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -314,8 +314,8 @@ describe('Integration - Web - vhosts', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();
@ -361,8 +361,8 @@ describe('Integration - Web - vhosts', function () {
return testUtils.integrationTesting.initGhost()
.then(function () {
sinon.stub(themeService.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeService.getActive(), 'config').withArgs('posts_per_page').returns(2);
sinon.stub(themeEngine.getActive(), 'engine').withArgs('ghost-api').returns('v2');
sinon.stub(themeEngine.getActive(), 'config').withArgs('posts_per_page').returns(2);
app = siteApp({start: true});
return testUtils.integrationTesting.urlServiceInitAndWait();

View file

@ -2,7 +2,7 @@ const should = require('should');
const sinon = require('sinon');
const path = require('path');
const configUtils = require('../../../utils/configUtils');
const themeService = require('../../../../core/frontend/services/themes');
const themeEngine = require('../../../../core/frontend/services/theme-engine');
const privateController = require('../../../../core/frontend/apps/private-blogging/lib/router');
describe('Private Controller', function () {
@ -24,7 +24,7 @@ describe('Private Controller', function () {
hasTemplateStub = sinon.stub().returns(false);
hasTemplateStub.withArgs('index').returns(true);
sinon.stub(themeService, 'getActive').returns({
sinon.stub(themeEngine, 'getActive').returns({
hasTemplate: hasTemplateStub
});

View file

@ -7,7 +7,7 @@ const moment = require('moment');
const testUtils = require('../../utils');
const testUrlUtils = require('../../utils/urlUtils');
const configUtils = require('../../utils/configUtils');
const themeService = require('../../../core/frontend/services/themes');
const themeEngine = require('../../../core/frontend/services/theme-engine');
const models = require('../../../core/server/models');
const imageLib = require('../../../core/server/lib/image');
const routing = require('../../../core/frontend/services/routing');
@ -287,7 +287,7 @@ describe('{{ghost_head}} helper', function () {
// @TODO: this is a LOT of mocking :/
sinon.stub(routing.registry, 'getRssUrl').returns('http://localhost:65530/rss/');
sinon.stub(imageLib.imageSize, 'getImageSizeFromUrl').resolves();
sinon.stub(themeService, 'getActive').returns({
sinon.stub(themeEngine, 'getActive').returns({
engine: () => 'v2'
});

View file

@ -3,7 +3,7 @@ const should = require('should');
const sinon = require('sinon');
const testUtils = require('../../../../utils');
const security = require('@tryghost/security');
const themeService = require('../../../../../core/frontend/services/themes');
const themeEngine = require('../../../../../core/frontend/services/theme-engine');
const controllers = require('../../../../../core/frontend/services/routing/controllers');
const helpers = require('../../../../../core/frontend/services/routing/helpers');
@ -44,7 +44,7 @@ describe('Unit - services/routing/controllers/channel', function () {
return secureStub;
});
sinon.stub(themeService, 'getActive').returns({
sinon.stub(themeEngine, 'getActive').returns({
updateTemplateOptions: sinon.stub(),
config: function (key) {
key.should.eql('posts_per_page');
@ -83,7 +83,7 @@ describe('Unit - services/routing/controllers/channel', function () {
});
controllers.channel(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -105,7 +105,7 @@ describe('Unit - services/routing/controllers/channel', function () {
});
controllers.channel(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -128,8 +128,8 @@ describe('Unit - services/routing/controllers/channel', function () {
});
controllers.channel(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeService.getActive().updateTemplateOptions.withArgs({data: {config: {posts_per_page: 3}}}).calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
themeEngine.getActive().updateTemplateOptions.withArgs({data: {config: {posts_per_page: 3}}}).calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -153,7 +153,7 @@ describe('Unit - services/routing/controllers/channel', function () {
controllers.channel(req, res, function (err) {
(err instanceof errors.NotFoundError).should.be.true();
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
renderStub.calledOnce.should.be.false();
@ -176,7 +176,7 @@ describe('Unit - services/routing/controllers/channel', function () {
});
controllers.channel(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.true();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -198,7 +198,7 @@ describe('Unit - services/routing/controllers/channel', function () {
});
controllers.channel(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -221,7 +221,7 @@ describe('Unit - services/routing/controllers/channel', function () {
});
controllers.channel(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledTwice.should.be.true();

View file

@ -3,7 +3,7 @@ const should = require('should');
const sinon = require('sinon');
const testUtils = require('../../../../utils');
const security = require('@tryghost/security');
const themeService = require('../../../../../core/frontend/services/themes');
const themeEngine = require('../../../../../core/frontend/services/theme-engine');
const urlService = require('../../../../../core/frontend/services/url');
const controllers = require('../../../../../core/frontend/services/routing/controllers');
const helpers = require('../../../../../core/frontend/services/routing/helpers');
@ -45,7 +45,7 @@ describe('Unit - services/routing/controllers/collection', function () {
return secureStub;
});
sinon.stub(themeService, 'getActive').returns({
sinon.stub(themeEngine, 'getActive').returns({
updateTemplateOptions: sinon.stub(),
config: function (key) {
key.should.eql('posts_per_page');
@ -89,7 +89,7 @@ describe('Unit - services/routing/controllers/collection', function () {
});
controllers.collection(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -112,7 +112,7 @@ describe('Unit - services/routing/controllers/collection', function () {
});
controllers.collection(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -136,8 +136,8 @@ describe('Unit - services/routing/controllers/collection', function () {
});
controllers.collection(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeService.getActive().updateTemplateOptions.withArgs({data: {config: {posts_per_page: 3}}}).calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
themeEngine.getActive().updateTemplateOptions.withArgs({data: {config: {posts_per_page: 3}}}).calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -162,7 +162,7 @@ describe('Unit - services/routing/controllers/collection', function () {
controllers.collection(req, res, function (err) {
(err instanceof errors.NotFoundError).should.be.true();
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
renderStub.calledOnce.should.be.false();
@ -186,7 +186,7 @@ describe('Unit - services/routing/controllers/collection', function () {
});
controllers.collection(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.true();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -209,7 +209,7 @@ describe('Unit - services/routing/controllers/collection', function () {
});
controllers.collection(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledOnce.should.be.true();
@ -233,7 +233,7 @@ describe('Unit - services/routing/controllers/collection', function () {
});
controllers.collection(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledTwice.should.be.true();
@ -272,7 +272,7 @@ describe('Unit - services/routing/controllers/collection', function () {
});
controllers.collection(req, res, failTest(done)).then(function () {
themeService.getActive.calledOnce.should.be.true();
themeEngine.getActive.calledOnce.should.be.true();
security.string.safe.calledOnce.should.be.false();
fetchDataStub.calledOnce.should.be.true();
secureStub.calledTwice.should.be.true();

View file

@ -2,7 +2,7 @@ const should = require('should');
const sinon = require('sinon');
const testUtils = require('../../../../utils');
const api = require('../../../../../core/server/api');
const themeService = require('../../../../../core/frontend/services/themes');
const themeEngine = require('../../../../../core/frontend/services/theme-engine');
const helpers = require('../../../../../core/frontend/services/routing/helpers');
const controllers = require('../../../../../core/frontend/services/routing/controllers');
@ -47,7 +47,7 @@ describe('Unit - services/routing/controllers/static', function () {
return handleErrorStub;
});
sinon.stub(themeService, 'getActive').returns({
sinon.stub(themeEngine, 'getActive').returns({
config: function (key) {
if (key === 'posts_per_page') {
return postsPerPage;

View file

@ -2,7 +2,7 @@ const should = require('should');
const sinon = require('sinon');
const rewire = require('rewire');
const templates = rewire('../../../../../core/frontend/services/routing/helpers/templates');
const themeService = require('../../../../../core/frontend/services/themes');
const themeEngine = require('../../../../../core/frontend/services/theme-engine');
describe('templates', function () {
let getActiveThemeStub;
@ -76,7 +76,7 @@ describe('templates', function () {
beforeEach(function () {
hasTemplateStub = sinon.stub().returns(false);
getActiveThemeStub = sinon.stub(themeService, 'getActive').returns({
getActiveThemeStub = sinon.stub(themeEngine, 'getActive').returns({
hasTemplate: hasTemplateStub
});
});
@ -122,7 +122,7 @@ describe('templates', function () {
beforeEach(function () {
hasTemplateStub = sinon.stub().returns(false);
getActiveThemeStub = sinon.stub(themeService, 'getActive').returns({
getActiveThemeStub = sinon.stub(themeEngine, 'getActive').returns({
hasTemplate: hasTemplateStub
});
});
@ -258,7 +258,7 @@ describe('templates', function () {
beforeEach(function () {
hasTemplateStub = sinon.stub().returns(false);
getActiveThemeStub = sinon.stub(themeService, 'getActive').returns({
getActiveThemeStub = sinon.stub(themeEngine, 'getActive').returns({
hasTemplate: hasTemplateStub
});
});
@ -308,7 +308,7 @@ describe('templates', function () {
beforeEach(function () {
hasTemplateStub = sinon.stub().returns(false);
getActiveThemeStub = sinon.stub(themeService, 'getActive').returns({
getActiveThemeStub = sinon.stub(themeEngine, 'getActive').returns({
hasTemplate: hasTemplateStub
});
});

View file

@ -1,7 +1,7 @@
const should = require('should');
const sinon = require('sinon');
const errors = require('@tryghost/errors');
const themesService = require('../../../../core/frontend/services/themes');
const themeEngine = require('../../../../core/frontend/services/theme-engine');
const validate = require('../../../../core/frontend/services/settings/validate');
should.equal(true, true);
@ -10,7 +10,7 @@ describe('UNIT: services/settings/validate', function () {
let apiVersion;
before(function () {
sinon.stub(themesService, 'getActive').returns({
sinon.stub(themeEngine, 'getActive').returns({
engine: () => {
return apiVersion;
}

View file

@ -2,9 +2,8 @@ const should = require('should');
const sinon = require('sinon');
const config = require('../../../../core/shared/config');
// is only exposed via themeService.getActive()
const activeTheme = require('../../../../core/frontend/services/themes/active');
// is only exposed via themeEngine.getActive()
const activeTheme = require('../../../../core/frontend/services/theme-engine/active');
const engine = require('../../../../core/frontend/services/theme-engine/engine');
describe('Themes', function () {

View file

@ -2,8 +2,8 @@ const should = require('should');
const sinon = require('sinon');
const hbs = require('../../../../core/frontend/services/theme-engine/engine');
const themeService = require('../../../../core/frontend/services/themes');
// is only exposed via themeService.getActive()
const activeTheme = require('../../../../core/frontend/services/themes/active');
// is only exposed via themeEngine.getActive()
const activeTheme = require('../../../../core/frontend/services/theme-engine/active');
const settingsCache = require('../../../../core/server/services/settings/cache');
const middleware = themeService.middleware;

View file

@ -2,7 +2,7 @@ const should = require('should');
const sinon = require('sinon');
const express = require('../../../../../core/shared/express');
const themeService = require('../../../../../core/frontend/services/themes');
const themeEngine = require('../../../../../core/frontend/services/theme-engine');
const staticTheme = require('../../../../../core/server/web/site/middleware/static-theme');
describe('staticTheme', function () {
@ -15,7 +15,7 @@ describe('staticTheme', function () {
req = {};
res = {};
activeThemeStub = sinon.stub(themeService, 'getActive').returns({
activeThemeStub = sinon.stub(themeEngine, 'getActive').returns({
path: 'my/fake/path'
});