mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-03 08:39:29 +08:00
88 lines
3.1 KiB
Text
88 lines
3.1 KiB
Text
"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;
|