cnpmcore
Version:
62 lines • 5.26 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 __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NodeBinary = void 0;
const tegg_1 = require("@eggjs/tegg");
const Binary_1 = require("../../enum/Binary");
const binaries_1 = __importDefault(require("../../../../config/binaries"));
const AbstractBinary_1 = require("./AbstractBinary");
let NodeBinary = class NodeBinary extends AbstractBinary_1.AbstractBinary {
async initFetch() {
// do nothing
return;
}
async fetch(dir, binaryName) {
const binaryConfig = binaries_1.default[binaryName];
const url = `${binaryConfig.distUrl}${dir}`;
const html = await this.requestXml(url);
// <a href="v9.8.0/">v9.8.0/</a> 08-Mar-2018 01:55 -
// <a href="v9.9.0/">v9.9.0/</a> 21-Mar-2018 15:47 -
// <a href="index.json">index.json</a> 17-Dec-2021 23:16 219862
// <a href="index.tab">index.tab</a> 17-Dec-2021 23:16 136319
// <a href="node-0.0.1.tar.gz">node-0.0.1.tar.gz</a> 26-Aug-2011 16:22 2846972
// <a href="node-v14.0.0-nightly20200119b318926634-linux-armv7l.tar.xz">node-v14.0.0-nightly20200119b318926634-linux-ar..></a> 19-Jan-2020 06:07 18565976
const re = /<a href="([^\"]+?)"[^>]*?>[^<]+?<\/a>\s+?([\w\-]+? \w{2}\:\d{2})\s+?(\d+|\-)/ig;
const matchs = html.matchAll(re);
const items = [];
for (const m of matchs) {
const name = m[1];
const isDir = name.endsWith('/');
const fileUrl = isDir ? '' : `${url}${name}`;
const date = m[2];
const size = m[3];
if (size === '0')
continue;
if (binaryConfig.ignoreFiles?.includes(`${dir}${name}`))
continue;
items.push({
name,
isDir,
url: fileUrl,
size,
date,
ignoreDownloadStatuses: binaryConfig.options?.ignoreDownloadStatuses,
});
}
return { items, nextParams: null };
}
};
exports.NodeBinary = NodeBinary;
exports.NodeBinary = NodeBinary = __decorate([
(0, tegg_1.SingletonProto)(),
(0, AbstractBinary_1.BinaryAdapter)(Binary_1.BinaryType.Node)
], NodeBinary);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTm9kZUJpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvTm9kZUJpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxzQ0FBNkM7QUFDN0MsOENBQStDO0FBQy9DLDJFQUFtRTtBQUNuRSxxREFBMEY7QUFJbkYsSUFBTSxVQUFVLEdBQWhCLE1BQU0sVUFBVyxTQUFRLCtCQUFjO0lBQzVDLEtBQUssQ0FBQyxTQUFTO1FBQ2IsYUFBYTtRQUNiLE9BQU87SUFDVCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUsVUFBc0I7UUFDN0MsTUFBTSxZQUFZLEdBQUcsa0JBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQyxNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLGlIQUFpSDtRQUNqSCxpSEFBaUg7UUFDakgsb0hBQW9IO1FBQ3BILG1IQUFtSDtRQUNuSCwySEFBMkg7UUFDM0gsdUtBQXVLO1FBQ3ZLLE1BQU0sRUFBRSxHQUFHLGdGQUFnRixDQUFDO1FBQzVGLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakMsTUFBTSxLQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRTtZQUN0QixNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNsQixJQUFJLElBQUksS0FBSyxHQUFHO2dCQUFFLFNBQVM7WUFDM0IsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQztnQkFBRSxTQUFTO1lBRWxFLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSTtnQkFDSixLQUFLO2dCQUNMLEdBQUcsRUFBRSxPQUFPO2dCQUNaLElBQUk7Z0JBQ0osSUFBSTtnQkFDSixzQkFBc0IsRUFBRSxZQUFZLENBQUMsT0FBTyxFQUFFLHNCQUFzQjthQUNyRSxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDRixDQUFBO0FBdkNZLGdDQUFVO3FCQUFWLFVBQVU7SUFGdEIsSUFBQSxxQkFBYyxHQUFFO0lBQ2hCLElBQUEsOEJBQWEsRUFBQyxtQkFBVSxDQUFDLElBQUksQ0FBQztHQUNsQixVQUFVLENBdUN0QiJ9