cnpmcore
Version:
Private NPM Registry for Enterprise
93 lines • 7.2 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
import { Inject, QualifierImplDecoratorUtil } from 'egg';
const platforms = ['darwin', 'linux', 'win32'];
export const BINARY_ADAPTER_ATTRIBUTE = Symbol('BINARY_ADAPTER_ATTRIBUTE');
export class AbstractBinary {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
async finishFetch(_success, _binaryName) {
// do not thing by default
}
async requestXml(url) {
const { status, data, headers } = await this.httpclient.request(url, {
timeout: 30_000,
followRedirect: true,
gzip: true,
});
const xml = data.toString();
if (status !== 200) {
this.logger.warn('[AbstractBinary.requestXml:non-200-status] url: %s, status: %s, headers: %j, xml: %j', url, status, headers, xml);
return '';
}
return xml;
}
// oxlint-disable-next-line typescript-eslint/no-explicit-any
async requestJSON(url, requestHeaders) {
const { status, data, headers } = await this.httpclient.request(url, {
timeout: 30_000,
dataType: 'json',
followRedirect: true,
gzip: true,
headers: requestHeaders,
});
if (status !== 200) {
this.logger.warn('[AbstractBinary.requestJSON:non-200-status] url: %s, status: %s, headers: %j', url, status, headers);
return data;
}
return data;
}
// https://nodejs.org/api/n-api.html#n_api_node_api_version_matrix
async listNodeABIVersions() {
const nodeABIVersions = [];
const versions = await this.requestJSON('https://nodejs.org/dist/index.json');
for (const version of versions) {
if (!version.modules)
continue;
const modulesVersion = Number.parseInt(version.modules);
// node v6.0.0 modules 48 min
if (modulesVersion >= 48 && !nodeABIVersions.includes(modulesVersion)) {
nodeABIVersions.push(modulesVersion);
}
}
return nodeABIVersions;
}
listNodePlatforms() {
// https://nodejs.org/api/os.html#osplatform
return platforms;
}
listNodeArchs(binaryConfig) {
if (binaryConfig?.options?.nodeArchs)
return binaryConfig.options.nodeArchs;
// https://nodejs.org/api/os.html#osarch
return {
linux: ['arm', 'arm64', 's390x', 'ia32', 'x64'],
darwin: ['arm64', 'ia32', 'x64'],
win32: ['ia32', 'x64'],
};
}
listNodeLibcs() {
// https://github.com/lovell/detect-libc/blob/master/lib/detect-libc.js#L42
return {
darwin: ['unknown'],
linux: ['glibc', 'musl'],
win32: ['unknown'],
};
}
}
__decorate([
Inject(),
__metadata("design:type", Function)
], AbstractBinary.prototype, "logger", void 0);
__decorate([
Inject(),
__metadata("design:type", Function)
], AbstractBinary.prototype, "httpclient", void 0);
export const BinaryAdapter = QualifierImplDecoratorUtil.generatorDecorator(AbstractBinary, BINARY_ADAPTER_ATTRIBUTE);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RCaW5hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9hcHAvY29tbW9uL2FkYXB0ZXIvYmluYXJ5L0Fic3RyYWN0QmluYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsMEJBQTBCLEVBQTBDLE1BQU0sS0FBSyxDQUFDO0FBS2pHLE1BQU0sU0FBUyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQVUsQ0FBQztBQWdCeEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFFM0UsTUFBTSxPQUFnQixjQUFjO0lBY2xDLDZEQUE2RDtJQUM3RCxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQWlCLEVBQUUsV0FBdUI7UUFDMUQsMEJBQTBCO0lBQzVCLENBQUM7SUFFUyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQVc7UUFDcEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDbkUsT0FBTyxFQUFFLE1BQU07WUFDZixjQUFjLEVBQUUsSUFBSTtZQUNwQixJQUFJLEVBQUUsSUFBSTtTQUNYLENBQUMsQ0FBQztRQUNILE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQVksQ0FBQztRQUN0QyxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDZCxzRkFBc0YsRUFDdEYsR0FBRyxFQUNILE1BQU0sRUFDTixPQUFPLEVBQ1AsR0FBRyxDQUNKLENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCw2REFBNkQ7SUFDbkQsS0FBSyxD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