UNPKG

cnpmcore

Version:

Private NPM Registry for Enterprise

146 lines 11.5 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 _PrismaBinary_instances, _PrismaBinary_parseItems; 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 PrismaBinary = class PrismaBinary extends AbstractBinary { constructor() { super(...arguments); _PrismaBinary_instances.add(this); this.dirItems = {}; } async initFetch() { // https://github.com/cnpm/cnpmcore/issues/473#issuecomment-1562115738 const pkgUrl = 'https://registry.npmjs.com/@prisma/engines'; const data = await this.requestJSON(pkgUrl); const modified = data.time.modified; this.dirItems = {}; this.dirItems['/'] = [ { name: 'all_commits/', date: modified, size: '-', isDir: true, url: '', }, ]; this.dirItems['/all_commits/'] = []; const commitIdMap = {}; // https://list-binaries.prisma-orm.workers.dev/?delimiter=/&prefix=all_commits/61023c35d2c8762f66f09bc4183d2f630b541d08/ for (const version in data.versions) { const major = Number.parseInt(version.split('.', 1)[0]); // need >= 3.0.0 if (major < 3) continue; const date = data.time[version]; const pkg = data.versions[version]; // https://registry.npmjs.com/@prisma/engines/4.14.1 // https://registry.npmjs.com/@prisma/engines/5.7.0 should read from dependencies const enginesVersion = pkg.devDependencies?.['@prisma/engines-version'] || pkg.dependencies?.['@prisma/engines-version'] || ''; // "@prisma/engines-version": "4.14.0-67.d9a4c5988f480fa576d43970d5a23641aa77bc9c" // "@prisma/engines-version": "5.7.0-41.79fb5193cf0a8fdbef536e4b4a159cad677ab1b9" const matched = /\.(\w{30,})$/.exec(enginesVersion); if (!matched) continue; const commitId = matched[1]; if (commitIdMap[commitId]) continue; commitIdMap[commitId] = true; this.dirItems['/all_commits/'].push({ name: `${commitId}/`, date, size: '-', isDir: true, url: '', }); } } async fetch(dir, binaryName) { const existsItems = this.dirItems[dir]; if (existsItems) { return { items: existsItems, nextParams: null }; } // /foo/ => foo/ const binaryConfig = binaries[binaryName]; const subDir = dir.slice(1); const url = `${binaryConfig.distUrl}?delimiter=/&prefix=${encodeURIComponent(subDir)}`; const result = await this.requestJSON(url); return { items: __classPrivateFieldGet(this, _PrismaBinary_instances, "m", _PrismaBinary_parseItems).call(this, result), nextParams: null }; } }; _PrismaBinary_instances = new WeakSet(); _PrismaBinary_parseItems = function _PrismaBinary_parseItems(result) { const items = []; // objects": [ // { // "uploaded": "2023-05-23T15:43:05.772Z", // "checksums": { // "md5": "d41d8cd98f00b204e9800998ecf8427e" // }, // "httpEtag": "\"d41d8cd98f00b204e9800998ecf8427e\"", // "etag": "d41d8cd98f00b204e9800998ecf8427e", // "size": 0, // "version": "7e77b6b8c1d214f2c6be3c959749b5a6", // "key": "all_commits/61023c35d2c8762f66f09bc4183d2f630b541d08/darwin-arm64/.finished" // }, // { // "uploaded": "2023-05-23T15:41:33.861Z", // "checksums": { // "md5": "4822215a13ae372ae82afd12689fce37" // }, // "httpEtag": "\"4822215a13ae372ae82afd12689fce37\"", // "etag": "4822215a13ae372ae82afd12689fce37", // "size": 96, // "version": "7e77b6ba29d4e776023e4fa62825c13a", // "key": "all_commits/61023c35d2c8762f66f09bc4183d2f630b541d08/darwin-arm64/libquery_engine.dylib.node.gz.sha256" // }, // https://list-binaries.prisma-orm.workers.dev/?delimiter=/&prefix=all_commits/61023c35d2c8762f66f09bc4183d2f630b541d08/darwin-arm64/ const objects = result.objects || []; for (const o of objects) { const fullname = o.key; // ignore size = 0 if (o.size === 0) continue; const name = path.basename(fullname); items.push({ name, isDir: false, // https://binaries.prisma.sh/all_commits/2452cc6313d52b8b9a96999ac0e974d0aedf88db/darwin-arm64/prisma-fmt.gz url: `https://binaries.prisma.sh/${fullname}`, size: o.size, date: o.uploaded, }); } // delimitedPrefixes: [ 'all_commits/61023c35d2c8762f66f09bc4183d2f630b541d08/darwin-arm64/' ] // https://list-binaries.prisma-orm.workers.dev/?delimiter=/&prefix=all_commits/61023c35d2c8762f66f09bc4183d2f630b541d08/ const delimitedPrefixes = result.delimitedPrefixes || []; for (const fullname of delimitedPrefixes) { const name = `${path.basename(fullname)}/`; items.push({ name, isDir: true, url: '', size: '-', date: new Date().toISOString(), }); } return items; }; PrismaBinary = __decorate([ SingletonProto(), BinaryAdapter(BinaryType.Prisma) ], PrismaBinary); export { PrismaBinary }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpc21hQmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL2JpbmFyeS9QcmlzbWFCaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBRTdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFckMsT0FBTyxRQUE2QixNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUloRyxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsY0FBYztJQUF6Qzs7O1FBQ0csYUFBUSxHQUVaLEVBQUUsQ0FBQztJQXlIVCxDQUFDO0lBdkhDLEtBQUssQ0FBQyxTQUFTO1FBQ2Isc0VBQXNFO1FBQ3RFLE1BQU0sTUFBTSxHQUFHLDRDQUE0QyxDQUFDO1FBQzVELE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHO1lBQ25CO2dCQUNFLElBQUksRUFBRSxjQUFjO2dCQUNwQixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsR0FBRztnQkFDVCxLQUFLLEVBQUUsSUFBSTtnQkFDWCxHQUFHLEVBQUUsRUFBRTthQUNSO1NBQ0YsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sV0FBVyxHQUE0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