@node-rs/helper
Advanced tools
Comparing version 0.3.1 to 0.4.0
@@ -1,1 +0,1 @@ | ||
export declare function loadBinding(dirname: string, filename?: string): any; | ||
export declare function loadBinding(dirname: string, filename?: string, packageName?: string): any; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.loadBinding = void 0; | ||
var tslib_1 = require("tslib"); | ||
var fs_1 = require("fs"); | ||
var os_1 = require("os"); | ||
var path_1 = require("path"); | ||
var SupportedPlatforms = new Set(['darwin', 'win32', 'linux']); | ||
function loadBinding(dirname, filename) { | ||
if (filename === void 0) { filename = 'index'; } | ||
var platformName = os_1.platform(); | ||
const fs_1 = require("fs"); | ||
const os_1 = require("os"); | ||
const path_1 = require("path"); | ||
const SupportedPlatforms = new Set(['darwin', 'win32', 'linux']); | ||
function loadBinding(dirname, filename = 'index', packageName) { | ||
const platformName = os_1.platform(); | ||
if (!SupportedPlatforms.has(platformName)) { | ||
throw new TypeError("Unsupported platform: " + platformName + ", only support " + tslib_1.__spread(SupportedPlatforms.values()).join(', ')); | ||
throw new TypeError(`Unsupported platform: ${platformName}, only support for ${[...SupportedPlatforms.values()].join(', ')}`); | ||
} | ||
var bindingFilePath = path_1.join(dirname, filename + "." + platformName + ".node"); | ||
const bindingFilePath = path_1.join(dirname, `${filename}.${platformName}.node`); | ||
const localMuslBindigFilePath = path_1.join(dirname, `${filename}.linux-musl.node`); | ||
const muslExistedInLocal = fs_1.existsSync(localMuslBindigFilePath); | ||
if (platformName === 'linux') { | ||
@@ -20,8 +20,34 @@ try { | ||
} | ||
catch (_a) { | ||
return require(path_1.join(dirname, filename + ".linux-musl.node")); | ||
catch (e1) { | ||
if (muslExistedInLocal) { | ||
try { | ||
return require(localMuslBindigFilePath); | ||
} | ||
catch (e) { | ||
throw new TypeError(`Loading linux musl addon in local path failed: ${e.message}, Loading linux addon in local path failed: ${e1.message}`); | ||
} | ||
} | ||
} | ||
} | ||
if (!fs_1.existsSync(bindingFilePath)) { | ||
throw new TypeError("Could not find binding file on path " + bindingFilePath); | ||
if (!packageName) { | ||
throw new TypeError(`Could not find binding file on path ${bindingFilePath}`); | ||
} | ||
const platformName = os_1.platform(); | ||
try { | ||
return require(`${packageName}-${platformName}`); | ||
} | ||
catch (e1) { | ||
if (platformName === 'linux') { | ||
try { | ||
return require(`${packageName}-linux-musl`); | ||
} | ||
catch (e) { | ||
throw new TypeError(`Loading linux musl addon Error: ${e.message}, Loading linux addon Error: ${e1.message}`); | ||
} | ||
} | ||
else { | ||
throw new TypeError('Not compatible with your platform. Error message: ' + e1.message); | ||
} | ||
} | ||
} | ||
@@ -31,2 +57,2 @@ return require(bindingFilePath); | ||
exports.loadBinding = loadBinding; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEseUJBQStCO0FBQy9CLHlCQUE2QjtBQUM3Qiw2QkFBMkI7QUFFM0IsSUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBa0IsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7QUFFakYsU0FBZ0IsV0FBVyxDQUFDLE9BQWUsRUFBRSxRQUFrQjtJQUFsQix5QkFBQSxFQUFBLGtCQUFrQjtJQUM3RCxJQUFNLFlBQVksR0FBRyxhQUFRLEVBQUUsQ0FBQTtJQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQ3pDLE1BQU0sSUFBSSxTQUFTLENBQ2pCLDJCQUF5QixZQUFZLHVCQUFrQixpQkFBSSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFHLENBQ3JHLENBQUE7S0FDRjtJQUVELElBQU0sZUFBZSxHQUFHLFdBQUksQ0FBQyxPQUFPLEVBQUssUUFBUSxTQUFJLFlBQVksVUFBTyxDQUFDLENBQUE7SUFFekUsSUFBSSxZQUFZLEtBQUssT0FBTyxFQUFFO1FBQzVCLElBQUk7WUFDRixPQUFPLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUNoQztRQUFDLFdBQU07WUFDTixPQUFPLE9BQU8sQ0FBQyxXQUFJLENBQUMsT0FBTyxFQUFLLFFBQVEscUJBQWtCLENBQUMsQ0FBQyxDQUFBO1NBQzdEO0tBQ0Y7SUFFRCxJQUFJLENBQUMsZUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQ2hDLE1BQU0sSUFBSSxTQUFTLENBQUMseUNBQXVDLGVBQWlCLENBQUMsQ0FBQTtLQUM5RTtJQUVELE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUF2QkQsa0NBdUJDIn0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2xvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQkFBK0I7QUFDL0IsMkJBQTZCO0FBQzdCLCtCQUEyQjtBQUUzQixNQUFNLGtCQUFrQixHQUFHLElBQUksR0FBRyxDQUFrQixDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQTtBQUVqRixTQUFnQixXQUFXLENBQUMsT0FBZSxFQUFFLFFBQVEsR0FBRyxPQUFPLEVBQUUsV0FBb0I7SUFDbkYsTUFBTSxZQUFZLEdBQUcsYUFBUSxFQUFFLENBQUE7SUFDL0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUN6QyxNQUFNLElBQUksU0FBUyxDQUNqQix5QkFBeUIsWUFBWSxzQkFBc0IsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ3pHLENBQUE7S0FDRjtJQUVELE1BQU0sZUFBZSxHQUFHLFdBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLElBQUksWUFBWSxPQUFPLENBQUMsQ0FBQTtJQUN6RSxNQUFNLHVCQUF1QixHQUFHLFdBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxRQUFRLGtCQUFrQixDQUFDLENBQUE7SUFDNUUsTUFBTSxrQkFBa0IsR0FBRyxlQUFVLENBQUMsdUJBQXVCLENBQUMsQ0FBQTtJQUU5RCxJQUFJLFlBQVksS0FBSyxPQUFPLEVBQUU7UUFDNUIsSUFBSTtZQUNGLE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO1NBQ2hDO1FBQUMsT0FBTyxFQUFFLEVBQUU7WUFDWCxJQUFJLGtCQUFrQixFQUFFO2dCQUN0QixJQUFJO29CQUNGLE9BQU8sT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUE7aUJBQ3hDO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNWLE1BQU0sSUFBSSxTQUFTLENBQ2pCLGtEQUFrRCxDQUFDLENBQUMsT0FBTywrQ0FBK0MsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUN2SCxDQUFBO2lCQUNGO2FBQ0Y7U0FDRjtLQUNGO0lBRUQsSUFBSSxDQUFDLGVBQVUsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUNoQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxTQUFTLENBQUMsdUNBQXVDLGVBQWUsRUFBRSxDQUFDLENBQUE7U0FDOUU7UUFDRCxNQUFNLFlBQVksR0FBRyxhQUFRLEVBQUUsQ0FBQTtRQUUvQixJQUFJO1lBQ0YsT0FBTyxPQUFPLENBQUMsR0FBRyxXQUFXLElBQUksWUFBWSxFQUFFLENBQUMsQ0FBQTtTQUNqRDtRQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ1gsSUFBSSxZQUFZLEtBQUssT0FBTyxFQUFFO2dCQUM1QixJQUFJO29CQUNGLE9BQU8sT0FBTyxDQUFDLEdBQUcsV0FBVyxhQUFhLENBQUMsQ0FBQTtpQkFDNUM7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsTUFBTSxJQUFJLFNBQVMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLE9BQU8sZ0NBQWdDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFBO2lCQUM5RzthQUNGO2lCQUFNO2dCQUNMLE1BQU0sSUFBSSxTQUFTLENBQUMsb0RBQW9ELEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFBO2FBQ3ZGO1NBQ0Y7S0FDRjtJQUVELE9BQU8sT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFBO0FBQ2pDLENBQUM7QUFsREQsa0NBa0RDIn0= |
{ | ||
"name": "@node-rs/helper", | ||
"version": "0.3.1", | ||
"version": "0.4.0", | ||
"description": "Helper library for node-rs", | ||
@@ -34,3 +34,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "bebd2d0bdbdd45b3eb270d5163eb0377db8cab18" | ||
"gitHead": "02661406422e2c4995a9062a3859138a7b9eb7a7" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
7670
8
62
6