UNPKG

cnpmcore

Version:
96 lines 7.2 kB
"use strict"; 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); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BinaryAdapter = exports.AbstractBinary = exports.BINARY_ADAPTER_ATTRIBUTE = void 0; const tegg_1 = require("@eggjs/tegg"); const platforms = ['darwin', 'linux', 'win32']; exports.BINARY_ADAPTER_ATTRIBUTE = Symbol('BINARY_ADAPTER_ATTRIBUTE'); 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: 30000, 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; } async requestJSON(url, requestHeaders) { const { status, data, headers } = await this.httpclient.request(url, { timeout: 30000, 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 = parseInt(version.modules); // node v6.0.0 moduels 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'], }; } } exports.AbstractBinary = AbstractBinary; __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", Object) ], AbstractBinary.prototype, "logger", void 0); __decorate([ (0, tegg_1.Inject)(), __metadata("design:type", Object) ], AbstractBinary.prototype, "httpclient", void 0); exports.BinaryAdapter = tegg_1.QualifierImplDecoratorUtil.generatorDecorator(AbstractBinary, exports.BINARY_ADAPTER_ATTRIBUTE); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RCaW5hcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9hcHAvY29tbW9uL2FkYXB0ZXIvYmluYXJ5L0Fic3RyYWN0QmluYXJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHNDQUFnRjtBQW1CaEYsTUFBTSxTQUFTLEdBQUcsQ0FBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBVyxDQUFDO0FBRTdDLFFBQUEsd0JBQXdCLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7QUFFM0UsTUFBc0IsY0FBYztJQVVsQyw2REFBNkQ7SUFDN0QsS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUFpQixFQUFFLFdBQXVCO1FBQzFELDBCQUEwQjtJQUM1QixDQUFDO0lBRVMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFXO1FBQ3BDLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO1lBQ25FLE9BQU8sRUFBRSxLQUFLO1lBQ2QsY0FBYyxFQUFFLElBQUk7WUFDcEIsSUFBSSxFQUFFLElBQUk7U0FDWCxDQUFDLENBQUM7UUFDSCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFZLENBQUM7UUFDdEMsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHNGQUFzRixFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3BJLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFUyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQVcsRUFBRSxjQUF1QztRQUM5RSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNuRSxPQUFPLEVBQUUsS0FBSztZQUNkLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLElBQUksRUFBRSxJQUFJO1lBQ1YsT0FBTyxFQUFFLGNBQWM7U0FDeEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhFQUE4RSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDdkgsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGtFQUFrRTtJQUN4RCxLQUFLLENBQUMsbUJBQW1CO1FBQ2pDLE1BQU0sZUFBZSxHQUFhLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsb0NBQW9DLENBQUMsQ0FBQztRQUM5RSxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU87Z0JBQUUsU0FBUztZQUMvQixNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELDZCQUE2QjtZQUM3QixJQUFJLGNBQWMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNyRSxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO2FBQ3RDO1NBQ0Y7UUFDRCxPQUFPLGVBQWUsQ0FBQztJQUN6QixDQUFDO0lBRVMsaUJBQWlCO1FBQ3pCLDRDQUE0QztRQUM1QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRVMsYUFBYSxDQUFDLFlBQStCO1FBQ3JELElBQUksWUFBWSxFQUFFLE9BQU8sRUFBRSxTQUFTO1lBQUUsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUM1RSx3Q0FBd0M7UUFDeEMsT0FBTztZQUNMLEtBQUssRUFBRSxDQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7WUFDakQsTUFBTSxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUU7WUFDbEMsS0FBSyxFQUFFLENBQUUsTUFBTSxFQUFFLEtBQUssQ0FBRTtTQUN6QixDQUFDO0lBQ0osQ0FBQztJQUVTLGFBQWE7UUFDckIsMkVBQTJFO1FBQzNFLE9BQU87WUFDTCxNQUFNLEVBQUUsQ0FBRSxTQUFTLENBQUU7WUFDckIsS0FBSyxFQUFFLENBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBRTtZQUMxQixLQUFLLEVBQUUsQ0FBRSxTQUFTLENBQUU7U0FDckIsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWxGRCx3Q0FrRkM7QUFoRlc7SUFEVCxJQUFBLGFBQU0sR0FBRTs7OENBQ21CO0FBR2xCO0lBRFQsSUFBQSxhQUFNLEdBQUU7O2tEQUMyQjtBQStFekIsUUFBQSxhQUFhLEdBQ3hCLGlDQUEwQixDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxnQ0FBd0IsQ0FBQyxDQUFDIn0=