Version: 1.0.01.0.21.0.31.0.41.0.51.0.61.0.71.0.81.0.91.0.101.0.111.0.121.0.131.0.141.0.151.0.161.0.171.0.181.0.191.0.201.0.211.0.221.0.231.0.241.0.251.1.11.2.11.2.21.2.31.2.41.2.51.3.11.4.01.4.11.4.21.5.02.0.02.0.12.0.22.0.33.0.03.0.13.0.23.0.33.0.43.0.53.0.63.0.73.0.83.0.93.0.103.0.113.0.123.0.133.0.143.0.153.1.03.1.13.1.23.1.33.1.43.1.53.1.64.0.04.0.14.0.24.0.34.0.45.0.05.0.15.0.25.0.35.1.05.1.15.1.25.1.35.1.45.1.55.1.65.1.75.1.85.1.96.0.06.0.16.0.26.0.36.0.46.0.56.0.66.0.76.0.86.0.96.0.116.0.126.0.136.0.146.0.156.0.166.0.176.0.186.0.196.0.207.0.07.0.17.0.27.0.37.0.57.0.67.0.77.0.87.0.97.0.107.0.117.0.127.0.137.0.147.0.157.0.167.0.177.0.187.0.197.1.07.2.07.2.17.3.0
/**
* Require a module if possible.
* @memberof module:coz/lib
* @function _requireSafely
* @param {string} name - Name to require
* @private
*/
'use strict'
const path = require('path')
/** @lends _requireSafely */
function _requireSafely (name) {
let requirable = !!name && (typeof name === 'string')
if (!requirable) {
return null
}
try {
require.resolve(name)
return require(name)
} catch (e) {
let resolved = path.resolve(name)
if (resolved !== name) {
return _requireSafely(resolved)
} else {
module.exports = _requireSafely;