"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.nbind = exports.pregyp = void 0; 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; } exports.nbind = nbind;