message: Add validation for illogical configuration combinations
diff: @@ -23,6 +23,7 @@ const validateConfig = ({ products = config.get('products'), exitOnFailure = tru
  success = checkMinimumRequiredNumberOfProducts(products) && success
  success = checkUnambiguousMandatorySpecialProducts(products) && success
  success = checkUniqueSpecialOnProducts(products) && success
  + success = checkForIllogicalCombos() && success
  if (success) {
  logger.info(`Configuration ${colors.bold(process.env.NODE_ENV || 'default')} validated (${colors.green('OK')})`)
  } else {
  @@ -85,6 +86,15 @@ const checkUniqueSpecialOnProducts = (products) => {
  return success
  }
  +const checkForIllogicalCombos = (configuration = config.util.toObject()) => {
  + let success = true
  + if (configuration.challenges.restrictToTutorialsFirst && !configuration.hackingInstructor.isEnabled) {
  + logger.warn(`Restricted tutorial mode is enabled while Hacking Instructor is disabled (${colors.red('NOT OK')})`)
  + success = false
  + }
  + return success
  +}
  +
  validateConfig.checkYamlSchema = checkYamlSchema
  validateConfig.checkUnambiguousMandatorySpecialProducts = checkUnambiguousMandatorySpecialProducts
  validateConfig.checkUniqueSpecialOnProducts = checkUniqueSpecialOnProducts
  