UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

88 lines 7.94 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; }; import path from 'node:path'; import { SingletonProto } from 'egg'; import binaries from "../../../../config/binaries.js"; import { BinaryType } from "../../enum/Binary.js"; import { AbstractBinary, BinaryAdapter } from "./AbstractBinary.js"; let BucketBinary = class BucketBinary extends AbstractBinary { async initFetch() { // do nothing return; } async fetch(dir, binaryName) { // /foo/ => foo/ const binaryConfig = binaries[binaryName]; const subDir = dir.slice(1); const url = `${binaryConfig.distUrl}?delimiter=/&prefix=${encodeURIComponent(subDir)}`; const xml = await this.requestXml(url); return { items: this.parseItems(xml, dir, binaryConfig), nextParams: null }; } parseItems(xml, dir, binaryConfig) { const items = []; // https://nwjs2.s3.amazonaws.com/?prefix=v0.59.0%2Fx64%2F // https://chromedriver.storage.googleapis.com/?delimiter=/&prefix= // <Contents><Key>2.0/chromedriver_linux32.zip</Key><Generation>1380149859530000</Generation><MetaGeneration>2</MetaGeneration><LastModified>2013-09-25T22:57:39.349Z</LastModified><ETag>"c0d96102715c4916b872f91f5bf9b12c"</ETag><Size>7262134</Size><Owner/></Contents><Contents> // <Contents><Key>v0.59.0/nwjs-v0.59.0-linux-ia32.tar.gz</Key><LastModified>2015-11-02T02:34:18.000Z</LastModified><ETag>&quot;b1b7a52928e9f874bad0cabf7f74ba8e&quot;</ETag><Size>22842</Size><StorageClass>STANDARD</StorageClass></Contents> const fileRe = /<Contents><Key>([^<]+?)<\/Key>(?:<Generation>\d+?<\/Generation>)?(?:<MetaGeneration>\d+?<\/MetaGeneration>)?<LastModified>([^<]+?)<\/LastModified><ETag>[^<]+?<\/ETag><Size>(\d+?)<\/Size>/g; let matchs = xml.matchAll(fileRe); for (const m of matchs) { const fullname = m[1].trim(); // <Key>2.43/</Key> // <Generation>1410297711522000</Generation> // <MetaGeneration>1</MetaGeneration> // <LastModified>2014-09-09T21:21:51.522Z</LastModified> // <ETag>"d41d8cd98f00b204e9800998ecf8427e"</ETag> // <Size>0</Size> // ignore size = 0 dir if (fullname.endsWith('/')) continue; const name = path.basename(fullname); const date = m[2].trim(); const size = Number.parseInt(m[3].trim()); items.push({ name, isDir: false, url: `${binaryConfig.distUrl}${fullname}`, size, date, }); } // <CommonPrefixes><Prefix>v0.59.0/x64/</Prefix></CommonPrefixes> const dirRe = /<CommonPrefixes><Prefix>([^<]+?)<\/Prefix><\/CommonPrefixes>/g; matchs = xml.matchAll(dirRe); for (const m of matchs) { // <Prefix>AWSLogs/</Prefix> // ignore AWSLogs // Download https://node-inspector.s3.amazonaws.com/AWSLogs/077447786745/CloudTrail/us-west-2/2015/12/10/077447786745_CloudTrail_us-west-2_20151210T1015Z_JNWlbeBTILiSzPCq.json.gz status(403) invalid const fullname = m[1].trim(); const name = `${path.basename(fullname)}/`; const fullpath = `${dir}${name}`; if (binaryConfig.ignoreDirs?.includes(fullpath)) continue; let date = '-'; // root dir children, should set date to '2022-04-19T01:00:00Z', sync per hour if (dir === '/') { date = `${new Date().toISOString().split(':', 1)[0]}:00:00Z`; } items.push({ name, isDir: true, url: '', size: '-', date, }); } return items; } }; BucketBinary = __decorate([ SingletonProto(), BinaryAdapter(BinaryType.Bucket) ], BucketBinary); export { BucketBinary }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnVja2V0QmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL2JpbmFyeS9CdWNrZXRCaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFckMsT0FBTyxRQUFvRCxNQUFNLGdDQUFnQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUloRyxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsY0FBYztJQUM5QyxLQUFLLENBQUMsU0FBUztRQUNiLGFBQWE7UUFDYixPQUFPO0lBQ1QsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBVyxFQUFFLFVBQXNCO1FBQzdDLGdCQUFnQjtRQUNoQixNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQyxPQUFPLHVCQUF1QixrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ3ZGLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDOUUsQ0FBQztJQUVTLFVBQVUsQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLFlB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