UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

93 lines 7.2 kB
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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