Server : Apache System : Linux 145.162.205.92.host.secureserver.net 5.14.0-611.45.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Apr 1 05:56:53 EDT 2026 x86_64 User : tradze ( 1001) PHP Version : 8.1.34 Disable Function : NONE Directory : /home/tradze/public_html/node-socket/node_modules/shush/ |
var fs = require('fs'),
url = require('url'),
path = require('path'),
caller = require('caller'),
strip = require('strip-json-comments');
function tryParse(file, json) {
var err;
try {
return JSON.parse(json);
} catch (e) {
err = new Error(e.message + ' in ' + file);
err.__proto__ = e.__proto__;
throw err;
}
}
function shush(file) {
var root, abs, json, callingFilePath;
callingFilePath = caller();
/**
* When this module is required from esm, then caller()
* returns a path that's prefixed by `file:`.
* We need to remove it to avoid breakage.
*/
if (callingFilePath.startsWith("file:")) {
callingFilePath = url.fileURLToPath(callingFilePath);
}
// on some occasions file is passed in with file prefix
if (file.startsWith("file:")) {
file = url.fileURLToPath(file);
}
root = path.resolve(callingFilePath);
root = path.dirname(root);
abs = path.resolve(root, file);
abs = require.resolve(abs);
json = fs.readFileSync(abs, 'utf8');
json = strip(json, false);
return tryParse(abs, json);
}
module.exports = shush;