From 4481b51992d2e644b9a461645f99dab6abc41c02 Mon Sep 17 00:00:00 2001 From: Hannah Wolfe Date: Thu, 8 Jul 2021 07:10:11 +0100 Subject: [PATCH] Revert "Fixed frontend require in labs" This reverts commit 6fb8736560b51f5fcb8e05f2a165f34308033198. --- core/server/services/labs.js | 31 +++++-------------------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/core/server/services/labs.js b/core/server/services/labs.js index 8d2fe5d993..5bccfc5429 100644 --- a/core/server/services/labs.js +++ b/core/server/services/labs.js @@ -1,19 +1,12 @@ const _ = require('lodash'); const Promise = require('bluebird'); -const SafeString = require('express-hbs').SafeString; +const SafeString = require('../../frontend/services/theme-engine/engine').SafeString; const errors = require('@tryghost/errors'); +const i18n = require('../../shared/i18n'); const logging = require('@tryghost/logging'); -const tpl = require('@tryghost/tpl'); - const settingsCache = require('../../shared/settings-cache'); const config = require('../../shared/config'); -const messages = { - errorMessage: 'The \\{\\{{helperName}\\}\\} helper is not available.', - errorContext: 'The {flagName} flag must be enabled in labs if you wish to use the \\{\\{{helperName}\\}\\} helper.', - errorHelp: 'See {url}' -}; - // NOTE: this allowlist is meant to be used to filter out any unexpected // input for the "labs" setting value const BETA_FEATURES = [ @@ -53,20 +46,6 @@ module.exports.isSet = function isSet(flag) { return !!(labsConfig && labsConfig[flag] && labsConfig[flag] === true); }; -/** - * - * @param {object} options - * @param {string} options.flagKey the interal lookup key of the flag e.g. labs.isSet(matchHelper) - * @param {string} options.flagName the user-facing name of the flag e.g. Match helper - * @param {string} options.helperName Name of the helper to be enabled/disabled - * @param {string} [options.errorMessage] Optional replacement error message - * @param {string} [options.errorContext] Optional replacement context message - * @param {string} [options.errorHelp] Optional replacement help message - * @param {string} [options.helpUrl] Url to show in the help message - * @param {string} [options.async] is the helper async? - * @param {function} callback - * @returns {Promise|Handlebars.SafeString} - */ module.exports.enabledHelper = function enabledHelper(options, callback) { const errDetails = {}; let errString; @@ -77,12 +56,12 @@ module.exports.enabledHelper = function enabledHelper(options, callback) { } // Else, the helper is not active and we need to handle this as an error - errDetails.message = tpl(options.errorMessage || messages.errorMessage, {helperName: options.helperName}), - errDetails.context = tpl(options.errorContext || messages.errorContext, { + errDetails.message = i18n.t(options.errMessagePath || 'warnings.helpers.helperNotAvailable', {helperName: options.helperName}), + errDetails.context = i18n.t(options.errContextPath || 'warnings.helpers.flagMustBeEnabled', { helperName: options.helperName, flagName: options.flagName }); - errDetails.help = tpl(options.errorHelp || messages.errorHelp, {url: options.helpUrl}); + errDetails.help = i18n.t(options.errHelpPath || 'warnings.helpers.seeLink', {url: options.helpUrl}); logging.error(new errors.DisabledFeatureError(errDetails));