UNPKG

cnpmcore

Version:
139 lines 12.9 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; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.PuppeteerBinary = void 0; const tegg_1 = require("@eggjs/tegg"); const Binary_1 = require("../../enum/Binary"); const AbstractBinary_1 = require("./AbstractBinary"); let PuppeteerBinary = class PuppeteerBinary extends AbstractBinary_1.AbstractBinary { async initFetch() { this.dirItems = undefined; } async fetch(dir) { if (!this.dirItems) { const pkgUrl = 'https://registry.npmjs.com/puppeteer'; const data = await this.requestJSON(pkgUrl); this.dirItems = {}; this.dirItems['/'] = []; const chromiumRevisions = new Map(); for (const version in data.versions) { // find chromium versions const pkg = data.versions[version]; const revision = pkg.puppeteer?.chromium_revision ? String(pkg.puppeteer.chromium_revision) : ''; if (revision && !chromiumRevisions.has(revision)) { chromiumRevisions.set(revision, data.time[version]); } } // https://unpkg.com/puppeteer@5.1.0/lib/cjs/revisions.js // https://unpkg.com/puppeteer@latest/lib/cjs/puppeteer/revisions.js // exports.PUPPETEER_REVISIONS = { // chromium: '768783', // firefox: 'latest', // }; const unpkgURL = 'https://unpkg.com/puppeteer-core@latest/lib/cjs/puppeteer/revisions.js'; const text = await this.requestXml(unpkgURL); const m = /chromium:\s+\'(\d+)\'\,/.exec(text); if (m && !chromiumRevisions.has(m[1])) { chromiumRevisions.set(m[1], new Date().toISOString()); } // download LAST_CHANGE // https://github.com/chaopeng/chromium-downloader/blob/master/get-chromium#L28 const LAST_CHANGE_URL = 'https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2FLAST_CHANGE?alt=media'; const lastRevision = await this.requestXml(LAST_CHANGE_URL); if (lastRevision) { chromiumRevisions.set(lastRevision, new Date().toISOString()); } // old versions // v5.0.0 chromiumRevisions.set('756035', data.time['5.0.0']); // v5.2.0 chromiumRevisions.set('768783', data.time['5.2.0']); // v5.2.1 chromiumRevisions.set('782078', data.time['5.2.1']); // v5.3.0 chromiumRevisions.set('800071', data.time['5.3.0']); // v5.4.0 chromiumRevisions.set('809590', data.time['5.4.0']); // v5.5.0 chromiumRevisions.set('818858', data.time['5.5.0']); // v6.0.0 chromiumRevisions.set('843427', data.time['6.0.0']); // "7.0.0" chromiumRevisions.set('848005', data.time['7.0.0']); // https://github.com/puppeteer/puppeteer/blob/v8.0.0/src/revisions.ts#L23 // "8.0.0":"2021-02-26T08:36:50.107Z" chromiumRevisions.set('856583', data.time['8.0.0']); // "9.0.0":"2021-04-21T11:27:32.513Z" chromiumRevisions.set('869685', data.time['9.0.0']); // "10.0.0":"2021-05-31T12:42:27.486Z" chromiumRevisions.set('884014', data.time['10.0.0']); // "11.0.0":"2021-11-03T09:29:12.751Z" chromiumRevisions.set('901912', data.time['11.0.0']); const platforms = ['Linux_x64', 'Mac', 'Mac_Arm', 'Win', 'Win_x64']; for (const platform of platforms) { this.dirItems['/'].push({ name: `${platform}/`, date: new Date().toISOString(), size: '-', isDir: true, url: '', }); this.dirItems[`/${platform}/`] = []; } for (const [revision, date] of chromiumRevisions.entries()) { // https://github.com/puppeteer/puppeteer/blob/eebf452d38b79bb2ea1a1ba84c3d2ea6f2f9f899/src/node/BrowserFetcher.ts#L40 // chrome: { // linux: '%s/chromium-browser-snapshots/Linux_x64/%d/%s.zip', // mac: '%s/chromium-browser-snapshots/Mac/%d/%s.zip', // win32: '%s/chromium-browser-snapshots/Win/%d/%s.zip', // win64: '%s/chromium-browser-snapshots/Win_x64/%d/%s.zip', // }, // root: / for (const platform of platforms) { this.dirItems[`/${platform}/`].push({ name: `${revision}/`, date, size: '-', isDir: true, url: '', }); const name = `${this.archiveName(platform, revision)}.zip`; this.dirItems[`/${platform}/${revision}/`] = [ { name, date, size: '-', isDir: false, url: `https://storage.googleapis.com/chromium-browser-snapshots/${platform}/${revision}/${name}`, ignoreDownloadStatuses: [404], }, ]; } } } return { items: this.dirItems[dir], nextParams: null }; } // https://github.com/puppeteer/puppeteer/blob/eebf452d38b79bb2ea1a1ba84c3d2ea6f2f9f899/src/node/BrowserFetcher.ts#L72 archiveName(platform, revision) { if (platform === 'Linux_x64') return 'chrome-linux'; if (platform === 'Mac' || platform === 'Mac_Arm') return 'chrome-mac'; if (platform === 'Win' || platform === 'Win_x64') { // Windows archive name changed at r591479. return parseInt(revision, 10) > 591479 ? 'chrome-win' : 'chrome-win32'; } return ''; } }; exports.PuppeteerBinary = PuppeteerBinary; exports.PuppeteerBinary = PuppeteerBinary = __decorate([ (0, tegg_1.SingletonProto)(), (0, AbstractBinary_1.BinaryAdapter)(Binary_1.BinaryType.Puppeteer) ], PuppeteerBinary); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVwcGV0ZWVyQmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL2JpbmFyeS9QdXBwZXRlZXJCaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsc0NBQTZDO0FBQzdDLDhDQUErQztBQUMvQyxxREFBMEY7QUFJbkYsSUFBTSxlQUFlLEdBQXJCLE1BQU0sZUFBZ0IsU0FBUSwrQkFBYztJQUtqRCxLQUFLLENBQUMsU0FBUztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQVc7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsTUFBTSxNQUFNLEdBQUcsc0NBQXNDLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7WUFDcEQsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNuQyx5QkFBeUI7Z0JBQ3pCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakcsSUFBSSxRQUFRLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMs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