UNPKG

cnpmcore

Version:
153 lines 11.7 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; }; 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 __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var _PrismaBinary_instances, _PrismaBinary_parseItems; Object.defineProperty(exports, "__esModule", { value: true }); exports.PrismaBinary = void 0; const node_path_1 = __importDefault(require("node:path")); 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 PrismaBinary = class PrismaBinary extends AbstractBinary_1.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 = 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_1.default[binaryName]; const subDir = dir.substring(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 }; } }; exports.PrismaBinary = PrismaBinary; _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 = node_path_1.default.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 = `${node_path_1.default.basename(fullname)}/`; items.push({ name, isDir: true, url: '', size: '-', date: new Date().toISOString(), }); } return items; }; exports.PrismaBinary = PrismaBinary = __decorate([ (0, tegg_1.SingletonProto)(), (0, AbstractBinary_1.BinaryAdapter)(Binary_1.BinaryType.Prisma) ], PrismaBinary); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJpc21hQmluYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vYXBwL2NvbW1vbi9hZGFwdGVyL2JpbmFyeS9QcmlzbWFCaW5hcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQTZCO0FBQzdCLHNDQUE2QztBQUM3Qyw4Q0FBK0M7QUFDL0MsMkVBQW1FO0FBQ25FLHFEQUEwRjtBQUluRixJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsK0JBQWM7SUFBekM7OztRQUNHLGFBQVEsR0FFWixFQUFFLENBQUM7SUF3SFQsQ0FBQztJQXRIQyxLQUFLLENBQUMsU0FBUztRQUNiLHNFQUFzRTtRQUN0RSxNQUFNLE1BQU0sR0FBRyw0Q0FBNEMsQ0FBQztRQUM1RCxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRztZQUNuQjtnQkFDRSxJQUFJLEVBQUUsY0FBYztnQkFDcEIsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsSUFBSSxFQUFFLEdBQUc7Z0JBQ1QsS0FBSyxFQUFFLElBQUk7Z0JBQ1gsR0FBRyxFQUFFLEVBQUU7YUFDUjtTQUNGLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNwQyxNQUFNLFdBQVcsR0FBNEIsRUFBRSxDQUFDO1FBQ2hELHlIQUF5SDtRQUN6SCxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbkMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDakQsZ0JBQWdCO1lBQ2hCLElBQUksS0FBSyxHQUFHLENBQUM7Z0JBQUUsU0FBUztZQUN4QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDbkMsb0RBQW9EO1lBQ3BELGlGQUFpRjtZQUNqRixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUMsZUFBZSxFQUFFLENBQUMseUJBQXlCLENBQUM7bUJBQ2xFLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6RCxrRkFBa0Y7WUFDbEYsaUZBQWlGO1lBQ2pGLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLE9BQU87Z0JBQUUsU0FBUztZQUN2QixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDO2dCQUFFLFNBQVM7WUFDcEMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbEMsSUFBSSxFQUFFLEdBQUcsUUFBUSxHQUFHO2dCQUNwQixJQUFJO2dCQUNKLElBQUksRUFBRSxHQUFHO2dCQUNULEtBQUssRUFBRSxJQUFJO2dCQUNYLEdBQUcsRUFBRSxFQUFFO2FBQ1IsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFXLEVBQUUsVUFBc0I7UUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxJQUFJLFdBQVcsRUFBRTtZQUNmLE9BQU8sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQztTQUNqRDtRQUNELGdCQUFnQjtRQUNoQixNQUFNLFlBQVksR0FBRyxrQkFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDaEMsTUFBTSxHQUFHLEdBQUcsR0FBRyxZQUFZLENBQUMsT0FBTyx1QkFBdUIsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUN2RixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSx1QkFBQSxJQUFJLHlEQUFZLE1BQWhCLElBQUksRUFBYSxNQUFNLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDL0QsQ0FBQztDQThERixDQUFBO0FBM0hZLG9DQUFZOzs2REErRFgsTUFBVztJQUNyQixNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFDO0lBQy9CLGNBQWM7SUFDZCxNQUFNO0lBQ04sNENBQTRDO0lBQzVDLG1CQUFtQjtJQUNuQiw4Q0FBOEM7SUFDOUMsT0FBTztJQUNQLHdEQUF3RDtJQUN4RCxnREFBZ0Q7SUFDaEQsZUFBZTtJQUNmLG1EQUFtRDtJQUNuRCx5RkFBeUY7SUFDekYsT0FBTztJQUNQLElBQUk7SUFDSiw0Q0FBNEM7SUFDNUMsbUJBQW1CO0lBQ25CLDhDQUE4QztJQUM5QyxPQUFPO0lBQ1Asd0RBQXdEO0lBQ3hELGdEQUFnRDtJQUNoRCxnQkFBZ0I7SUFDaEIsbURBQW1EO0lBQ25ELG9IQUFvSDtJQUNwSCxPQUFPO0lBQ1Asc0lBQXNJO0lBQ3RJLE1BQU0sT0FBTyxHQUlQLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQzNCLEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFO1FBQ3ZCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdkIsa0JBQWtCO1FBQ2xCLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDO1lBQUUsU0FBUztRQUMzQixNQUFNLElBQUksR0FBRyxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ1QsSUFBSTtZQUNKLEtBQUssRUFBRSxLQUFLO1lBQ1osNkdBQTZHO1lBQzdHLEdBQUcsRUFBRSw4QkFBOEIsUUFBUSxFQUFFO1lBQzdDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSTtZQUNaLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUTtTQUNqQixDQUFDLENBQUM7S0FDSjtJQUNELDhGQUE4RjtJQUM5Rix5SEFBeUg7SUFDekgsTUFBTSxpQkFBaUIsR0FBYSxNQUFNLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDO0lBQ25FLEtBQUssTUFBTSxRQUFRLElBQUksaUJBQWlCLEVBQUU7UUFDeEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQzNDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFDVCxJQUFJO1lBQ0osS0FBSyxFQUFFLElBQUk7WUFDWCxHQUFHLEVBQUUsRUFBRTtZQUNQLElBQUksRUFBRSxHQUFHO1lBQ1QsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFO1NBQy9CLENBQUMsQ0FBQztLQUNKO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO3VCQTFIVSxZQUFZO0lBRnhCLElBQUEscUJBQWMsR0FBRTtJQUNoQixJQUFBLDhCQUFhLEVBQUMsbUJBQVUsQ0FBQyxNQUFNLENBQUM7R0FDcEIsWUFBWSxDQTJIeEIifQ==