HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/pwa.sports-crowd.com/node_modules/cardinal/settings.js
'use strict'

var path =  require('path')
var fs   =  require('fs')
var utl  =  require('./utl')
var home =  process.env.HOME
var settings

function getSettings(home_) {
  if (settings) return settings
  var settingsJson
  try {
    settingsJson = fs.readFileSync(path.join(home_ || home, '.cardinalrc'), 'utf-8')
  } catch (_) {
    // no .cardinalrc found - not a problem
    return undefined
  }
  try {
    return JSON.parse(settingsJson)
  } catch (e) {
    // Have a .cardinalrc, but something about it is wrong - warn the user
    // Coudn't parse the contained JSON
    console.error(e)
    return undefined
  }
}

// home_ mainly to be used during tests
// Resolves the preferred theme from the .cardinalrc found in the HOME directory
// If it couldn't be resolved, undefined is returned
function resolveTheme(home_) {
  var themePath
  var settings = getSettings(home_)

  if (!settings || !settings.theme) return undefined

  try {
    // allow specifying just the name of a built-in theme or a full path to a custom theme
    themePath = utl.isPath(settings.theme) ? settings.theme : path.join(__dirname, 'themes', settings.theme)

    return require(themePath)
  } catch (e) {
    // Specified theme path is invalid
    console.error(e)
    return undefined
  }
}

module.exports = {
    resolveTheme: resolveTheme
  , getSettings: getSettings
}