UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

163 lines 13.3 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 __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var _ChromeForTestingBinary_instances, _a, _ChromeForTestingBinary_timestamp, _ChromeForTestingBinary_syncDirItems; var ChromeForTestingBinary_1; import { basename } from 'node:path'; import { SingletonProto } from 'egg'; import { BinaryType } from "../../enum/Binary.js"; import { AbstractBinary, BinaryAdapter } from "./AbstractBinary.js"; let ChromeForTestingBinary = ChromeForTestingBinary_1 = _a = class ChromeForTestingBinary extends AbstractBinary { constructor() { super(...arguments); _ChromeForTestingBinary_instances.add(this); _ChromeForTestingBinary_timestamp.set(this, ''); } async initFetch() { this.dirItems = undefined; } async finishFetch(success) { if (success && __classPrivateFieldGet(this, _ChromeForTestingBinary_timestamp, "f") && ChromeForTestingBinary_1.lastTimestamp !== __classPrivateFieldGet(this, _ChromeForTestingBinary_timestamp, "f")) { ChromeForTestingBinary_1.lastTimestamp = __classPrivateFieldGet(this, _ChromeForTestingBinary_timestamp, "f"); } } async fetch(dir) { // use https://github.com/GoogleChromeLabs/chrome-for-testing#json-api-endpoints if (!this.dirItems) { await __classPrivateFieldGet(this, _ChromeForTestingBinary_instances, "m", _ChromeForTestingBinary_syncDirItems).call(this); } return { items: this.dirItems?.[dir] ?? [], nextParams: null }; } }; _ChromeForTestingBinary_timestamp = new WeakMap(); _ChromeForTestingBinary_instances = new WeakSet(); _ChromeForTestingBinary_syncDirItems = async function _ChromeForTestingBinary_syncDirItems() { this.dirItems = {}; this.dirItems['/'] = []; const jsonApiEndpoint = 'https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json'; const { data, status, headers } = await this.httpclient.request(jsonApiEndpoint, { dataType: 'json', timeout: 30_000, followRedirect: true, gzip: true, }); if (status !== 200) { this.logger.warn('[ChromeForTestingBinary.request:non-200-status] url: %s, status: %s, headers: %j, data: %j', jsonApiEndpoint, status, headers, data); return; } __classPrivateFieldSet(this, _ChromeForTestingBinary_timestamp, data.timestamp, "f"); const hasNewData = __classPrivateFieldGet(this, _ChromeForTestingBinary_timestamp, "f") !== ChromeForTestingBinary_1.lastTimestamp; this.logger.info('[ChromeForTestingBinary] remote data timestamp: %j, last timestamp: %j, hasNewData: %s', __classPrivateFieldGet(this, _ChromeForTestingBinary_timestamp, "f"), ChromeForTestingBinary_1.lastTimestamp, hasNewData); if (!hasNewData) { return; } this.dirItems['/'].push({ name: 'known-good-versions-with-downloads.json', date: data.timestamp, size: '-', isDir: false, url: jsonApiEndpoint, }); this.dirItems['/'].push({ name: 'latest-patch-versions-per-build.json', date: data.timestamp, size: '-', isDir: false, url: 'https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build.json', }); this.dirItems['/'].push({ name: 'last-known-good-versions.json', date: data.timestamp, size: '-', isDir: false, url: 'https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json', }); // "timestamp": "2023-09-16T00:21:21.964Z", // "versions": [ // { // "version": "113.0.5672.0", // "revision": "1121455", // "downloads": { // "chrome": [ // { // "platform": "linux64", // "url": "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/113.0.5672.0/linux64/chrome-linux64.zip" // }, // { // "platform": "mac-arm64", // "url": "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/113.0.5672.0/mac-arm64/chrome-mac-arm64.zip" // }, // { // "platform": "mac-x64", // "url": "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/113.0.5672.0/mac-x64/chrome-mac-x64.zip" // }, // { // "platform": "win32", // "url": "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/113.0.5672.0/win32/chrome-win32.zip" // }, // { // "platform": "win64", // "url": "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/113.0.5672.0/win64/chrome-win64.zip" // } // ] // } // }, const versions = data.versions; for (const item of versions) { this.dirItems['/'].push({ name: `${item.version}/`, date: item.revision, size: '-', isDir: true, url: '', }); const versionDir = `/${item.version}/`; if (!this.dirItems[versionDir]) { this.dirItems[versionDir] = []; } for (const category in item.downloads) { const downloads = item.downloads[category]; for (const download of downloads) { const platformDir = `${versionDir}${download.platform}/`; if (!this.dirItems[platformDir]) { this.dirItems[platformDir] = []; this.dirItems[versionDir].push({ name: `${download.platform}/`, date: item.revision, size: '-', isDir: true, url: '', }); } this.dirItems[platformDir].push({ name: basename(download.url), date: data.timestamp, size: '-', isDir: false, url: download.url, }); } } } }; ChromeForTestingBinary.lastTimestamp = ''; ChromeForTestingBinary = ChromeForTestingBinary_1 = __decorate([ SingletonProto(), BinaryAdapter(BinaryType.ChromeForTesting) ], ChromeForTestingBinary); export { ChromeForTestingBinary }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hyb21lRm9yVGVzdGluZ0JpbmFyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2FwcC9jb21tb24vYWRhcHRlci9iaW5hcnkvQ2hyb21lRm9yVGVzdGluZ0JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUloRyxJQUFNLHNCQUFzQixtQ0FBNUIsTUFBTSxzQkFBdUIsU0FBUSxjQUFjO0lBQW5EOzs7UUFFTCw0Q0FBYSxFQUFFLEVBQUM7SUE0SmxCLENBQUM7SUF0SkMsS0FBSyxDQUFDLFNBQVM7UUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFnQjtRQUNoQyxJQUFJLE9BQU8sSUFBSSx1QkFBQSxJQUFJLHlDQUFXLElBQUksd0JBQXNCLENBQUMsYUFBYSxLQUFLLHVCQUFBLElBQUkseUNBQVcsRUFBRSxDQUFDO1lBQzNGLHdCQUFzQixDQUFDLGFBQWEsR0FBRyx1QkFBQSxJQUFJLHlDQUFXLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUF1SUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXO1FBQ3JCLGdGQUFnRjtRQUNoRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sdUJBQUEsSUFBSSwrRUFBYyxNQUFsQixJQUFJLENBQWdCLENBQUM7UUFDN0IsQ0FBQztRQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEs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