f1rq.ovh/node_modules/@vercel/nft/out/utils/binary-locators.js
2025-03-24 22:56:10 +01:00

89 lines
3.1 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.pregyp = void 0;
exports.nbind = nbind;
const path_1 = __importDefault(require("path"));
const graceful_fs_1 = __importDefault(require("graceful-fs"));
// pregyp
const versioning = require('@mapbox/node-pre-gyp/lib/util/versioning.js');
const napi = require('@mapbox/node-pre-gyp/lib/util/napi.js');
const pregypFind = (package_json_path, opts) => {
const package_json = JSON.parse(graceful_fs_1.default.readFileSync(package_json_path).toString());
versioning.validate_config(package_json, opts);
var napi_build_version;
if (napi.get_napi_build_versions(package_json, opts)) {
napi_build_version = napi.get_best_napi_build_version(package_json, opts);
}
opts = opts || {};
if (!opts.module_root)
opts.module_root = path_1.default.dirname(package_json_path);
var meta = versioning.evaluate(package_json, opts, napi_build_version);
return meta.module;
};
exports.pregyp = { default: { find: pregypFind }, find: pregypFind };
// nbind
// Adapted from nbind.js
function makeModulePathList(root, name) {
return [
[root, name],
[root, 'build', name],
[root, 'build', 'Debug', name],
[root, 'build', 'Release', name],
[root, 'out', 'Debug', name],
[root, 'Debug', name],
[root, 'out', 'Release', name],
[root, 'Release', name],
[root, 'build', 'default', name],
[
root,
process.env['NODE_BINDINGS_COMPILED_DIR'] || 'compiled',
process.versions.node,
process.platform,
process.arch,
name,
],
];
}
function findCompiledModule(basePath, specList) {
var resolvedList = [];
var ext = path_1.default.extname(basePath);
for (var _i = 0, specList_1 = specList; _i < specList_1.length; _i++) {
var spec = specList_1[_i];
if (ext == spec.ext) {
try {
spec.path = eval('require.resolve(basePath)');
return spec;
}
catch (err) {
resolvedList.push(basePath);
}
}
}
for (var _a = 0, specList_2 = specList; _a < specList_2.length; _a++) {
var spec = specList_2[_a];
for (var _b = 0, _c = makeModulePathList(basePath, spec.name); _b < _c.length; _b++) {
var pathParts = _c[_b];
var resolvedPath = path_1.default.resolve.apply(path_1.default, pathParts);
try {
spec.path = eval('require.resolve(resolvedPath)');
}
catch (err) {
resolvedList.push(resolvedPath);
continue;
}
return spec;
}
}
return null;
}
function nbind(basePath = process.cwd()) {
const found = findCompiledModule(basePath, [
{ ext: '.node', name: 'nbind.node', type: 'node' },
{ ext: '.js', name: 'nbind.js', type: 'emcc' },
]);
return found;
}